Next: , Previous: Scanning Charsets, Up: Non-ASCII Characters


32.9 文字の変換

変換表(translation table)は、文字群を文字群へ対応付けます。 これらの表は、符号化と復号化、他の目的に使われます。 独自の変換表を指定するコーディングシステムもあります。 他のすべてのコーディングシステムに適用される デフォルトの変換表もあります。

— Function: make-translation-table translations

この関数は、引数translationsに基づいた変換表を返す。 引数translationsの各要素は、 (from . to)の形であり、 文字fromtoへ変換することを意味する。

1つの文字集合全体を同じ次元の別の文字集合へ対応付けることも可能である。 それには、fromに(文字集合を表す)汎用文字を指定する (see Splitting Characters)。 この場合、toも、同じ次元の別の文字集合の汎用文字であること。 こうすると、この変換表は、fromの文字集合の各文字を toの文字集合の対応する文字へ変換する。

復号化では、もとの復号化結果の文字に変換表による変換を適用します。 コーディングシステムに属性character-translation-table-for-decodeが あれば、これは使用する変換表を指定します。 さもなければ、standard-character-translation-table-for-decodenil以外であれば、復号化ではその表を使います。

符号化では、バッファ内の文字に変換表による変換を適用し、 変換結果を実際に符号化します。 コーディングシステムに属性character-translation-table-for-encodeが あれば、これは使用する変換表を指定します。 さもなければ、変数standard-character-translation-table-for-encodeが 使用する変換表を指定します。

— Variable: standard-character-translation-table-for-decode

これは、変換表を指定しないコーディングシステムに対する 復号化時のデフォルトの変換表である。

— Variable: standard-character-translation-table-for-encode

これは、変換表を指定しないコーディングシステムに対する 符号化時のデフォルトの変換表である。