NVDA ソースコード Read Me

オリジナル版:NVDA 2011.1beta1 ソースコードの Readme

暫定日本語訳:2011-02-01 西本卓也

訳注:日本語版に必要な外部パッケージについては http://ja.nishimotz.com/nvdajp_devinstaller をご参照ください。

このドキュメントでは、NVDAのソースコードを準備して使用する方法について説明します。NVDAの詳細については、NVDAのWebサイトを参照してください: http://www.nvda-project.org/

依存するパッケージ

NVDAのソースを正しく実行するには、以下に述べる複数の外部パッケージが必要です。下記の説明におけるディレクトリはすべて、NVDAのソース配布のルートからの相対パスです。ディレクトリが存在していない場合は新たにディレクトリを作成してください。

Windowsの64ビットバージョンを実行している場合は、指定がない限り、32ビットと64ビットのバージョンの両方を提供するすべての依存パッケージについて、32ビットバージョンをインストールする必要があります。

一般的な依存関係:

  • Pythonの2.7バージョン2.7.0またはそれ以降:http://www.python.org/
  • comtypes、バージョン0.6.2またはそれ以降:http://www.sourceforge.net/projects/comtypes/
  • wxPython 2.8 Unicode(Python 2.7用)、バージョン2.8.11.0またはそれ以降:http://www.wxpython.org/
  • Python Windows拡張機能(Python 2.7)、214またはそれ以降のビルド:http://www.sourceforge.net/projects/pywin32/
  • espeak バージョン1.44.03以降の Windows dll:
    • 公式Webサイト:http://espeak.sourceforge.net/
    • Windows DLLは構築するため注意が必要です。そこで、ビルド済みのバージョンが http://www.nvda-project.org/3rdParty/ に利便性のために用意されています。
    • source\synthDrivers ディレクトリに espeak.dll と espeak-data をコピーしてください。
  • espeak 追加音声:http://www.nvda-project.org/espeak-variants/
    • source\synthDrivers ディレクトリにアーカイブを解凍
  • IAccessible2 バージョン1.1.0.0またはそれ以降:http://www.linuxfoundation.org/en/Accessibility/IAccessible2
    • マージされたIDLをダウンロードして、include\Ia2\ia2.idl としてコピーしてください。
    • プロキシDLLとタイプライブラリも必要です。
    • source\typelibs ディレクトリに ia2.tlb をコピーしてください。
    • 32ビットバージョンのプロキシDLLを source\lib ディレクトリにコピーして、IAccessible2Proxy.dll とリネームしてください。
    • 64ビットバージョンのプロキシDLLを source\lib64 ディレクトリにコピーして IAccessible2Proxy.dll とリネームしてください。
  • ConfigObj、バージョン4.6.0またはそれ以降:
  • liblouis、バージョン2.1.1以降、Windows dllおよびPythonバインディング:
    • 公式Webサイト:http://code.google.com/p/liblouis/
    • ビルド済みバージョンが http://www.nvda-project.org/3rdParty/ にて利便性のために提供されています。
    • louis Pythonパッケージディレクトリを source ディレクトリの中にコピーしてください。
    • liblouis dllを source ディレクトリの中にコピーしてください。
    • liblouis変換テーブルを source\louis\tables ディレクトリの中にコピーしてください。
      • ビルド済みのバージョンでは、この作業はすでに行われています。
  • NVDAメディア(画像や音声):http://www.nvda-project.org/nvda-media/
    • アーカイブをNVDAソースのルートにて解凍してください。
  • 多くのシステム上に存在しないシステムDLL: mfc90.dll, msvcp90.dll, msvcr90.dll, Microsoft.VC90.CRT.manifest:
    • これらのファイルがない場合、利便性のために、すべてのファイルは http://www.nvda-project.org/3rdParty/system-dlls.7z に含まれています。
    • これらのファイルは、source ディレクトリの中、またはWindowsのsystem32ディレクトリの中にコピーしてください。
  • Adobe Acrobatのアクセシビリティインターフェイス、バージョン9.1またはそれ以降:
  • アドビFlashAccessibilityインターフェイスのタイプライブラリ:http://www.nvda-project.org/3rdParty/FlashAccessibility.tlb
    • FlashAccessibility.tlb を source\typelibs ディレクトリの中にコピーしてください。
  • txt2tags、バージョン2.5またはそれ以降:http://txt2tags.sourceforge.net/
    • txt2tags Pythonスクリプトを txt2tags.py とリネームして、グローバル Python site-packagesディレクトリにをコピーしてください。(訳注 c:\Python27\lib\site-packages)
  • Microsoft Windows SDK バージョン7.0:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en
    • 32ビットおよび64ビットの両方のライブラリとツールをインストールする必要があります。
  • MinHook、バージョン1.1.0またはそれ以降:http://www.codeproject.com/KB/winsdk/LibMinHook.aspx
    • ソースアーカイブをダウンロードしてください。
      • ファイル名は MinHook_110_src.zip のようなもので、正しいバージョンに応じた名前です。
      • ダウンロードするためにはCodeProjectの上のアカウントが必要になります。
    • libMinHookディレクトリを抽出してNVDAのincludeディレクトリの中に置いてください。
  • Boost C++ライブラリ、バージョン1.42またはそれ以降:
    • http://www.boostpro.com/download から最新のWindowsインストーラをダウンロードできます。
    • インストーラの「コンポーネント」画面で、少なくともデフォルトで選択されているものをすべて(そのとき何が選択されているかにかかわらず)インストールしてください。
    • NVDAはBoostのヘッダーだけを使用しています。コンパイル済みライブラリは必要ありません。
  • SCons、バージョン2.0.0またはそれ以降:http://www.scons.org/
    • sconsのコマンド(scons.bat)は、Pythonをインストールしたディレクトリ内のscriptsディレクトリにインストールされます。任意の場所でsconsを実行できるように、PATH環境変数にそのscriptsディレクトリを追加する必要があります。このReadmeファイルの残りの部分では、この方法でSConsが実行できると仮定します。

brltty点字ディスプレイドライバを使用するには:

  • brlapiのPythonバインディング(Python 2.7用)、バージョン0.5.5またはそれ以降。Windows用のbrltty、バージョン4.2-2またはそれ以降と一緒に配布されています:
    • http://brl.thefreecat.org/brltty/ でWindows用brlttyをダウンロードできます。
    • brlapiのPythonバインディングは、brlttyのインストールディレクトリで見つけることができます。brlapi-x.y.z.exeのような名前が付けられています。

アルバBC640/680点字ディスプレイドライバを使用するには:

MDV Lilli点字ディスプレイドライバを使用するには:

ハンディテック点字ディスプレイドライバを使用するには:

Baum 点字ディスプレイドライバを使用するには:

NVDAのバイナリバージョンをビルドするには:

ポータブルなアーカイブを構築するには:

インストーラをビルドするには:

  • Nulsoftインストールシステム、バージョン2.42またはそれ以降:http://nsis.sourceforge.net/
  • NSIS UACプラグイン バージョン0.0.11d以降:http://nsis.sourceforge.net/UAC_plug-in
    • ANSIビルド UAC.dll(アーカイブの release\a の中にあります)を installer ディレクトリの中にコピーしてください。

ソースツリーの準備

NVDAのソースコードを実行する前に、ソースツリーを準備する必要があります。 コマンドプロンプトを開いて、NVDAのソース配布物のルートディレクトリに移動して下記を実行してください:

scons source
comtypesの変更や新しい言語ファイルのバージョンが追加されるたびにこれを再度行う必要があります。

ソースコードを実行する

ソースコードからNVDAのを起動するには、source ディレクトリにあるnvda.pywを実行します。

NVDAをビルドする

NVDAのビルドされたバイナリは、Pythonや他のすべてのNVDAが依存するファイルがない環境で実行できます(私たちは、スナップショットやリリースでこの方法を使っています)。

バイナリアーカイブおよびバンドルは、NVDAのソース配布のルートにてsconsを実行して作成することができます。下記のいずれかをビルドするためには、コマンドプロンプトを開き、このディレクトリに移動します。

非アーカイブのバイナリ(解凍されたポータブルアーカイブに相当)のビルドを作成するには:

scons dist
これにより dist ディレクトリにビルドが作成されます。

ポータブルなアーカイブを作成するには:

scons portable
アーカイブが output ディレクトリに配置されます。

インストーラをビルドするには:

scons installer
インストーラは output ディレクトリに配置されます。

オプションとしてコマンドラインに変数を与えることにより、ビルドをカスタマイズできます:

  • version :ビルドのバージョン
  • release :リリース版であるかどうか
  • publisher :ビルドの発行者
  • certfile:実行可能ファイルに署名する証明書ファイルを指定します。証明書は、pfx形式にする必要があり、秘密鍵が含まれていなくてはなりません。
  • certPassword:署名証明書の秘密鍵のパスワードを入力します。省略した場合、パスワードなしが想定されます。
  • outputDir:最終的なビルドのアーカイブなどが置かれるディレクトリを指定します。
  • targetArchitectures:NVDAがサポートする対象アーキテクチャ。可能な値は、all, x86およびx86_64です。これは一般的にデフォルトのままにしておく必要があります。

たとえば、特定のバージョンのインストーラをビルドするには:

scons installer version=test1