Up: 目次   [Index]


アラビア語のサポート

*arabic.txt*    For Vim バージョン 8.1.  Last change: 2019 May 05


                  VIMリファレンスマニュアル       by Nadim Shaikli

アラビア語サポート (オプション & マッピング)

right-to-left (右橫書き) とアラビア語マッピングを使用するには、Vim を |+arabic| 機能付きでコンパイルする必要があります。

これらの機能は Nadim Shaikli <nadim-at-arabeyes.org> によつて作成されました。

このファイルは GUI の Vim で以下の設定をして表示するのが最適です:

:set encoding=utf-8
:set arabicshape

はじめに

アラビア語はいくつかの特殊な機能を必要とする言語です。文字は右から左へ向かふのでスクリーン上でもそのやうに表示する必要があります (つまり右から左へ表示する)。

アラビア語は文字變形 (shaping) も必要とします。文字を書く位置によつて同じ文字でも別の字形になります (單語の最初、中、最後、または單獨で書くかで變はる)。アラビア語は二種類の文字合成も必要とします。場合によつては、1 つの文字に他の文字を最大 2 つまで重ねる (合成、composing) か、2 つの文字を 1 つの文字に置換する (結合、combining) かします。

アラビア語を適切に表示するには ISO-8859-6 (U+0600-U+06FF) のフォントに加へて Presentation Form-B (U+FE70-U+FEFF) のフォントも必要です。これらはいはゆる ISO-10646-1 フォントのサブセットです。

コマンド、プロンプト、ヘルプファイルはアラビア語にはなりません。したがつてユーザーインターフェイスは標準の Vi インターフェイスのままです。

特徵

アラビア語フォント

VIM は固定幅フォントを使ひます。アラビア語には ISO-8859-6 と Presentation Form-B のフォントが必要です (Form-B 無しではアラビア語は使用できない)。フォントを探す際にはいはゆる ’ISO-10646-1’ フォントを探してください。インターネットを檢索するか www.arabeyes.org を見て必要なアラビア語フォントを手に入れてください。

フォントのインストール

X ウィンドウシステム (Unix/Linux) でのフォントのインストール

システムによつて違ひますが、アラビア語フォントのファイルを適當なディレクトリにコピーします。そのアラビア語フォントをコピーしたディレクトリに移動して次のコマンドを實行します:

% mkfontdir
% xset +fp path_name_of_arabic_fonts_directory

使用方法

實際に Vim でアラビア語を使用する前に、しなければならない設定がいくつかあります。

アラビア語フォントを設定する

適切なエンコーディングを設定する

アラビア語に適したエンコーディングを設定するには次のコマンドを .vimrc ファイルに追加します。

:set encoding=utf-8

(このコマンドを VIM ウィンドウで直接實行しないでください)

簡單に言へば ’:set encoding=utf-8’ を .vimrc ファイルに書くだけです。

アラビア語を UTF-8 以外のエンコーディングで使用すると次の警告メッセージが表示されます。

Arabic requires UTF-8, do ’:set encoding=utf-8’

アラビア語設定の有效化 [近道]

手つ取り早く設定するには、コマンドラインから次のやうにして VIM を起動するか、

% vim -A my_utf8_arabic_file ...

または VIM の中で次のコマンドを實行して ’arabic’ を有效にします

:set arabic

これが最も簡單な方法です。’termbidi’ が有效化されてゐなければ、次の設定が實行されます:

  1. 適切なキーマップを設定する
  2. 合成文字を一度で削除できるやうにする
  3. rightleft モードを有效にする
  4. rightleftcmd モードを有效にする (コマンドラインに作用する)
  5. arabicshape モードを有效にする (表示文字を變更する)

.vimrc ファイルに ’:set arabic’ を書いておくこともできます。

次のコマンドでアラビア語サポートを無效化できます

:set noarabic

コマンドによつて有效にされた設定がすべてリセットされます。他のバッファに影響があるやうなグローバル設定は變更されません。簡單に言へば ’noarabic’ コマンドによつて次の設定が實行されます:

  1. キーマップ切替をリセットする
  2. 合成文字を一度で削除できる機能を無效化にする
  3. rightleft モードを無效化する

Note:
arabic’ コマンドは ’termbidi’ を見て端末が雙方向テキスト (bi-directional, bidi) をサポートしてゐるかどうかを考慮します (例へば "mlterm" がサポートしてゐます)。

termbidi’ が利用できる場合は、rightleft のサポートが優れてゐるそちらの使用をお勸めします。

termbidi’ が有效な場合は ’arabic’ はキーマップのみ設定します。

もし、冗長で明示的な方法が好きで、’arabic’ コマンドを使つて近道をしたくないといふ場合は、以下の說明を讀んでください (’:set arabic’ を使用する方はこの節は飛ばして構ひません)。

アラビア語キーマッピングの有效化

アラビア語キーマップを有效可するには (つまり English/Latin キーボードを標準のアラビア語キーボードのやうにするには)、’keymap’ コマンドを "arabic" に設定します。VIM ウィンドウで次のやうに入力します

:set keymap=arabic

keymap’ 設定コマンドを .vimrc ファイルに書くこともできます。言ひ換へれば、.vimrc ファイルに ’:set keymap=arabic’ を含めることができます。

アラビア語のキーマッピングとデフォルト (English) のキーマッピングを切り替へるには、插入モード (または追加/置換モード) で ’CTRL-^’ キーを押します。コマンドラインのモード表示の隣に "Arabic" の文字列が表示され (例: – INSERT Arabic –)、それが現在のキーマップを示します。

合成文字の削除

初期設定では ’delcombine’ オプションは無效化されてゐます。このオプションは LAM_ALEF (LAA) 合成文字內の ALEF を削除し、LAM だけを殘すことを可能にします (つまり合成文字を解除して元の字形に戾す。これは harakat とその合成字形にも關係する)。このオプションを有效化するには VIM ウィンドウで次のやうに入力します

:set delcombine

delcombine’ の設定コマンドを .vimrc ファイルに書くこともできます。言ひ換へれば、.vimrc ファイルに ’:set delcombine’ を含めることができます。

アラビア語 right-to-left モード

初期設定では VIM は left-to-right モードで起動します。’rightleft’ を設定することでウィンドウの方向を變更できます。使用方法は次のとほり。

アラビア語 right-to-left コマンドラインモード

特定のコマンドでは right-to-left モードで編輯ができます。現在對應してゐるのは檢索コマンドだけです。

動作は ’rightleftcmd’ オプションで變更できます。初期設定は "search" で、これは ’rightleft’ がオンになつてゐるウィンドウで檢索コマンドを使ふと right-left モードでの編輯になります。これを無效化するには次のやうにします。

:set rightleftcmd=

再び檢索コマンドでの right-left 編輯を有效化するには次のやうにします。

:set rightleftcmd&

アラビア語字形モード

アラビア語は視覺字形變更 (shaping(文字變形), composing(合成), combining(結合)) を必要としますが、それを有效にするには ’arabicshape’ を設定します。VIM ウィンドウで次のコマンドを實行します。

:set arabicshape

.vimrc ファイルで ’arabicshape’ を設定することもできます。その場合は ’:set arabicshape’ を .vimrc ファイルに書きます。

Keymap/Keyboard

VIM で使用する文字エンコーディングは標準の UTF-8 です。他のエンコーディングの使用は推奬されてゐません。

Note:
UTF-8 はあらゆるものを含むエンコーディングで、アラビア語において唯一サポートされてゐる (そして推奬されてゐる) エンコーディングです (他のプロプライエタリなエンコーディングは非推奬であり使ふべきではありません)。

キーボード

制限

VIM の GUI では Bi-directionality (雙方向性) は正しくサポートされてゐません

(つまりアラビア語とラテン語を同じ行に書いたときに正しく表示されません)。

既知のバグ

既知の小さなバグが 1 つあります。

1. LAM (U+0644) のうしろに haraka (例: Fatha (U+064E)) を入力して、そして ALEF (U+0627) を入力したとき、文字が正しく結合されません。これは 2 つの文字に挾まれた haraka が正しく表示されないために起こります。

WORK-AROUND:
LAM と ALEF の閒に harakats を置かないでください。

一般に、harakats と LAM+ALEF の結合文字が正しく表示されることは期待できません (2 つの文字のうしろに入力したとしてもです)。

これは表示上の問題なので、ファイルを保存するときには正しい情報が書き込まれます。情報は失はれません。

他に既知のバグはありません。


Up: 目次   [Index]