エンコーディングメニュー
エンコーディングメニューはフォントビューだけに存在します:
-
エンコーディング変換(R)
-
このメニューには標準およびユーザ定義のサブメニューが付属しています。フォントの現在のエンコーディングにはチェックマークがついています。別の項目を選択することによってエンコーディングを変換できます。
エンコーディングは、2 つの僅かに異なる形式が可能です。それは Unicode の符号位置かグリフ名によって定義することができます。符号位置によって定義されたエンコーディングに変換したときは、それに一致する Unicode 値がエンコーディングスロットに割り当てられます。グリフ名によって定義されたエンコーディングに変換したときは、一致する名前をもつグリフを最初に検索し、見つかった場合はそれを使用します。見つからなかった場合は、グリフ名に対応する Unicode 符号位置 (があれば) を検索し、グリフがあればその名前をエンコーディングによって指定されている名前に変更します。
例:“uni0041”という名前のグリフを含むフォントがあったとして、そのエンコーディングでは U+0041→スロット 65 に対応づけられていたとすると、グリフはスロット 65 に移動します。もし、“A”→スロット 65 への対応づけを行っている別のエンコーディングがあったとすると、(“A”の Unicode 値は U+0041 なので) エンコーディング変換後のグリフはスロット 65 に置かれたままですが、その名前は“A”に変更されます。
-
コンパクト化(C)
-
エンコーディングからすべての隙間を取り除き、全グリフは一繋がりに押し潰されます。
-
エンコーディングを強制(F)
-
上記の …
変換(R)
と同じサブメニューを含みます。このメニューでは、フォント内のグリフが正しい順番に並んでいて、名前の方が間違っていると見なします (これは奇妙に感じますが、よくあることです)。このコマンドは、全てのグリフの名前を、エンコーディングで指定された名前に強制的に変更します。
-
エンコーディングスロットを追加(A)...
-
幾つかの追加スロットをフォントの末尾に追加します。それらはエンコーディングに含まれないグリフ (異体字グリフなど) を定義するのに使用できます。
-
未使用のスロットを削除(U)
-
フォントの末尾にある任意の未使用スロットを削除します。フォントの途中にあるスロットは削除できません。それを行うとエンコーディングが壊れてしまいます。
-
グリフの切り離し(D)
-
選択した全てのエンコーディングスロットを、現在割り当てられているグリフからきりは生します。それらのスロットは未使用のものとマークされます。グリフはフォント内に残ります。文字符号が割り当てられていないだけです (エンコーディング変換を行うと、それらのグリフはまた見えるようになります)。
-
グリフの切り離し・削除(V)...
-
上と同様ですが、切り離されたグリフ (のうち、エンコーディングの他の箇所で使用されていない物) のすべてをフォントから削除します。
-
エンコーディングの名前を追加(N)...
-
ユーザにエンコーディング名を問い合わせ、それを iconv() データベースから検索します。それがあれば、そのエンコーディングをメニューに追加します。
-
エンコーディングを読み込み(L)...
-
ユーザにファイル名を問い合わせ、ユーザ定義のエンコーディングをそのファイルから読み込もうと試みます。
-
フォントから作成(K)...
-
フォントの現在のエンコーディングに (既存の物と重ならない) 名前をつけ、エンコーディングメニューに追加することができます。
-
エンコーディングを削除(C)...
-
ユーザ定義のエンコーディングを一つ削除します。
-
グループ毎の表示(G)...
-
フォントビューに表示されたフォントを、ユーザが定義したグループ (次のコマンドで定義できます) に制限します。
-
グループを定義(E)...
-
相互に何らかの繋がりをもつ (と見ることができる) グリフのグループを定義することができます。
エンコーディングに関する一般的注意
すべてのフォントフォーマットが全てのエンコーディングをサポートするわけではないことにご注意ください。SVG フォントは常に Unicode エンコーディングで出力され、TreuType では Unicode か CJK エンコーディングのどれかを選ぶことができ、Type1 フォントは 1 バイトエンコーディングしかサポートしていないなどです。
CID キー指定フォントではエンコーディングを変更することはできません (本質的にエンコーディングが存在しないため) が、CID→補遺番号を変更 コマンドでレジストリ/順序づけの情報を表示し、補遺番号を変更することができます。
FontForge は、デフォルトで以下のエンコーディングについて知っています。
-
ISO-8859-1 (Latin1) ― 西ヨーロッパの伝統的エンコーディングです。HTTP のデフォルトエンコーディングです。ユーロ記号は含まれません。
-
ISO-8859-15 (Latin9) ― Latin1に代るコードです。ユーロ記号を含んでいます。
-
ISO-8859-2 (Latin2) ― 中央および東ヨーロッパ (チェコ語、ハンガリー語、ポーランド語、ルーマニア語、クロアチア語、スロバキア語、スロベニア語)。
-
-
ISO-8859-3 (Latin3) ― 南ヨーロッパ (エスペラント、マルタ語)
-
ISO-8859-4 (Latin4) ― 北ヨーロッパ (エストニア語、ラトビア語、リトアニア語、グリーンランド語、ラップ語)
-
(Latin5) ― トルコ語
-
ISO-8859-10 (Latin6) ― 北欧諸語 (Latin4 と Latin1 の作り直し)
-
ISO-8859-13 (Latin7) ― その他のバルト諸言語用の文字セット
-
ISO-8859-14 (Latin8) ― ケルト諸語 (ゲール語とウェールズ語)
-
ISO-8859-5 (Cyrillic)
-
ISO-8859-6 (Arabic)
-
ISO-8859-7 (Greek)
-
ISO-8859-8 (Hebrew) ― (およびイディッシュ語)
-
ISO-8859-11 (Thai) ― 別名TIS 620
<ISO-8859-12 はありません>
-
KOI8-R ― キリル文字
-
Macintosh Roman
-
Windows“ANSI”(CodePage1252)
-
Adobe 標準
-
シンボル
-
TeX Base
-
ISO-10646-1 (Unicode, BMP)
-
ISO-10646-1 (Unicode, Full)
-
ISO-10646-? (Unicode, 面を指定)
(unicode の特定の面 (BMP, SMP, SIP など) を 1 つのエンコーディングとして選べます。
-
SJIS
-
JIS 208 ― 日本語の漢字 (最初の 8000 文字)
-
JIS 212 ― 日本語の漢字 (次の 8000 文字)
-
Wansung
-
KSC 5601 ― 韓国語 (これは KS C 5601 の 94×94 バージョンです)
-
Johab
-
GB 2312 ― 簡体字中国語
-
パック形式 GB 2312 ― (正確な名前は不明です。ASCII を 0x80 未満のバイトに割り当て、GB 2312 を 0x8080 だけオフセットした EUC)
-
Big5 ― 繁体字中国語
-
Custom ― 不明なエンコーディング
-
Original ― オリジナルのフォントファイルで使用されているグリフ順
エンコーディングに関する情報源:
Unicode のグリフすべての画像へのインデックス。
FontForge が知っているエンコーディング一覧に新しいエンコーディングを追加することもできます。ユーザ定義のエンコーディング群を操作するためのボタンは 3 つ用意されています。標準のエンコーディングと同様に、これらは文字セットと符号化方式の両方を指定します。エンコーディングは最大 256 項目を含むことができますが、文字セットはそれより大きくても構いません (1024 文字まで)。これは、追加の文字を含むフォントを定義できるということです。PostScript フォントは実行時にエンコーディングを切り替えることができるので、これが役に立つ場合があります。
エンコーディングを読み込む
コマンドを実行すると、エンコーディングをファイルから読み込むことができます。現在のところ、ファイルは Unicode Consortium が ISO 8859 の各エンコーディングを Unicode に対応づけるのに使っているフォーマットか、PostScript のエンコーディング配列でなければなりません。最初の形式は以下のような形です:
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
...
PostScript ファイルは以下のような形です:
/TeXBase1Encoding [
% 00
/.notdef /dotaccent /fi /fl
/fraction /hungarianumlaut /Lslash /lslash
...
] def
PostScript ファイルには複数のエンコーディングを含めることができます。エンコーディングの読み込み処理は賢くありません。このような形で指定されたエンコーディングしか読み込めないので、PostScript で配列を指定する他の無数の方法を試みないでください。
フォントにカスタムエンコーディングがある場合、フォントから作成
メニューが選択できるようになります。これを使って、現在のフォントに対して定義したエンコーディングに名前をつけることができます。
エンコーディングを削除
メニューを選択すると、すべてのカスタムエンコーディングを列挙するリストが表示され、それらを削除することができます。
ここに PostScript エンコーディングファイルの例があります。それには以下のエンコーディングが含まれています:
-
TeXMathItalicEncoding
-
TeXMathSymbolEncoding
-
TeXMathExtensionEncoding
-
IsoLatin ― (これは、ISO-Latin-* フォントのどれかに含まれる文字をすべて指定しています)
-
AdobeExpert ― (これはノンライニング数字、小型大文字、分数、下つき/上つき数字などを含みます。)
-
CodePage1250 ― Microsoft の中央ヨーロッパの諸文字用エンコーディング
-
CodePage1251 ― Microsoft のキリル文字エンコーディング
-
CodePage1252 ― Microsoft の西ヨーロッパ用エンコーディング (Latin1 のスーパーセット)。時に“ANSI”と呼ばれますが、これを定めた ANSI 規格の存在は見つかりません。
-
CodePage1253 ― Microsoft のギリシャ語エンコーディング
-
CodePage1254 ― Microsoft のトルコ語エンコーディング
-
CodePage1255 ― Microsoft のヘブライ語エンコーディング (ISO-8859-8 の拡張)。
-
CodePage1256 ― Microsoft's Arabic encoding
-
CodePage1257 ― Microsoft のバルト諸言語エンコーディング
-
CodePage1258 ― Microsoft のベトナム語エンコーディング
-
CodePage874 ― Microsoft のタイ語エンコーディング
-
MacCentralEuropean
-
MacCyrillic
-
MacGreek
-
MacHebrew
-
US-ASCII ― それ自身ではもはや本当に役立つわけではありませんが、その他ほとんどすべてのエンコーディングの最初の 128 文字を提供します。
その他のメニュー
― 前 ― 目次 ―
次 ―