OpenType Feature Tag

OpenType Feature Tagとは

OpenType Feature Tagとは、これに対応するアプリケーションで、自由に字形などを切り替えられるように予めフォントに設定してあるものです。

身近な例では、音引きの「ー」を縦書きで使うと自動的に縦線になったりしますが、縦書きの時だけ違う字形が出る文字も、ちゃんとフォントが縦書き用という'vert'タグと表示用グリフを持っていて、アプリがそれを適切に切り替えることで実現されているのです。

JIS2004では168の漢字に対して例示字形の変更が行われましたが、そのフォントが例えば'jp90'と言う名前のタグに対応している場合、それを選択することでJIS90の字形に変更することが出来ます。

拙作フォント群(Ver.11.50以前のペン字版)でも、例えば“YOzFontN04”と“YOzFontN97”を切り替えることで同様の効果を得ることは出来ましたが、フォントを別のものに変えたくなった場合、どこまでが“JIS2004”フォントでどこまでが“JIS90”フォントかを考えて編集し直す必要がありました。しかしこの'jp90'タグを使った場合、フォントファイルそのものを切り替えたりするのではなく、フォントが内蔵している別字形を選択するようにするものですので、'jp90'に対応してる他のフォントに切り替えたところで全く何の手間も要らずに字形が切り替わったりしてくれます。

必要な環境およびツール

“Windows Vista”か“Windows XP SP2 + .NET Framework 3.0 + Internet Explorer 7”が必要です。

“Windows SDK for .NET Framework 3.0”をダウンロードすると、それに含まれている“XAMLPad”で、とりあえずではありますが、タグによる切替を試すことが出来ます。XAMLのサンプルは、charset.info http://charset.info/ のカスタム変換定義ファイル/字形切り替え機能サンプルなどで入手できます。

対応タグ

現時点での各フォントの対応しているタグについて掲げておきます。

  • ペン字版
    • 04版 …… 'jp90'、'jp83'、'jp78'。デフォルトが'jp04'字形。
    • 97版 …… 'jp04'。デフォルトが'jp90'字形。
  • 毛筆版
    • 04版 …… 'jp90'。デフォルトが'jp04'字形。
    • 97版 …… 'jp04'。デフォルトが'jp90'字形。

'jp78'タグとJIS78との対応

JIS83の改正で、JIS78からコードポイントそのものが変更を加えられた文字が数十文字あります。例えば、JIS78ではShift JISコードで「檜:954F(第1水準)、桧:9E77(第2水準)」だったこの漢字のペアが、JIS83以降では「桧:954F(第1水準)、檜:9E77(第2水準)」に入れ替えられています。ですから、'jp78'タグが、厳密にその文字コードに対してJIS78でどのようなグリフが割り当てられていたのかを再現するためのタグであるとするなら、タグを付けたとたんにこれらの文字は「桧→檜」「檜→桧」となるべきでしょう。

しかし、本フォントは、「'jp78'タグの意義は、そこまでの事を行うためではなく、JIS78に特有で現在使用できなくなっているグリフ(字形)を掘り起こして再度使えるようにする」ためのものと位置づけており、コード入れ替えには対応しないことにしました。これは、Vista標準フォントである「メイリオ」も同様の対応になっているそうです(一部ズレがある!?)ので、特に問題は起こらないものと思います。

コード
入れ替え
鯵鰺 鴬鶯 蛎蠣 撹攪 竃竈 潅灌 諌諫 頚頸 砿礦 蕊蘂 靭靱
賎賤 壷壺 砺礪 梼檮 涛濤 迩邇 蝿蠅 桧檜 侭儘 薮藪 篭籠
字体変更
&移動
尭堯 槙槇 遥遙 瑶瑤

サンプル

“フリーフォント最前線”に掲載している“.gif画像”の元になる“.xamlファイル”(拡張子は“ザムル”と読むらしい)をアップしておきました。“Windows Vista”か“Windows XP SP2 + .NET Framework 3.0 + Internet Explorer 7”で http://yozvox.web.fc2.com/YOzN04.xaml をいったんダウンロードしておいてから開いてみてください。

OpenType Feature Tag対応フォントを作るツール

私が利用させていただいているのは、下記のツールです。

フォントそのものの製作には、下記のツールを用いています。 フォント内に埋め込まれている各種データの作成には、下記のツールを用いています。
Powered by Y.Oz Vox
inserted by FC2 system