Unicode のアラビア文字の入力について

あまり明確に書いてあるところがないので、アラビア文字の入力について、混乱しそうな点について書いておきます。特にウルドゥー語ペルシャ語などの入力に関係します。

結論を先に書くと、新規にアラビア文字でテキストを入力するには、Unicode では 0600-06FF 番の文字を使います。Presentation Forms A & B として定義されている、FB50-FDFF と FE70-FEFF は、後方互換性確保のためのもので、新規作成のための使用は非推奨です。

Unicode では、0600-06FF 番のコードポイントにアラビア文字が割り当てられていますが、その他にも

  • 0750-077F (Arabic Supplement)
  • FB50-FDFF (Arabic Presentation Forms-A)
  • FE70-FEFF (Arabic Presentation Forms-B)

などが定義されています。このうち、0750-077F の Arabic Supplement は、その名のとおり600番台に含まれなかった文字(アフリカの言語や古いペルシャ語などの文字)の追加です。これらの文字の使用については、当然ながら何の問題もありません。

混乱をよびそうなのは、Arabic Presentation Forms ですが、これらは後方互換性のためのものであり、新規文書作成のための使用は非推奨であるということが、Unicode コンソーシアムの FAQ ページに明記されています(FAQ - Middle Eastern Scripts and Languages)。

推奨されている600番台では、母音記号付き文字というものは定義されておらず、入力は子音字が基本となります。母音記号を付けたいときには、combining marks と呼ばれる 064E などを、子音の文字の直後に入力します。

ウルドゥー語などのフォントには、600番台ではなく FE70-FEFF に関連づけられたものをよく見かけますが(たとえばUrdu Nastaliq Unicode)、こうした使用のしかたは非推奨なので気をつけねばなりません。もちろん、最近のインプット・メソッドを使ってキーボード入力しているぶんには問題はあまりないでしょう(たぶん)。ありそうなパターンは、キーボードではなく文字コード表からコピー&ペーストしたときに、非推奨のものをコピーしてしまうということでしょう。このようなときにはシステム付属の文字コード表ではなく、Unicode コンソーシアムから文字コード表をダウンロードして使うほうが安全かもしれません(Character Code Charts - Arabic ダウンロード)。

なお、Unicode の基本的なところについては、つぎのページが簡潔にまとまっていて入門に最適です(英語)。