2007年9月24日月曜日

戸越フォントの縦書き、再びダメに?

何の気なしに試してみたら、Linux 上では、以前できていた戸越フォントの縦書きが、またできなくなっていることがわかりました。
ClearType がらみで FontForge のバージョンを上げたのが原因かもしれません。
というのも、sfd ファイルを調べてみたら、縦書き(グリフの置換)部分のフォーマットが、以前のバージョンと違っています。以前は「Substitution」というフィールドだったのが、今は「Substitution2」。もしかすると、現状は縦書き未対応とか?? FontForge のサイトに行って調べてみましょう。

...

で、FontForge へ行ってみましたが、ハッキリ未対応ということが書いてあるわけでもなく……。それで、昨日リリースしたフォントを改めて調べてみると、しっかり縦書きができます!
どうも、リリース後の編集で操作をミスしていたようでした。お騒がせでした。

縦書き可能なファイルと比較して、現象として確認できたのは、まず、「Substitution2」の内容が文字化け(というか、本当は日本語化?)していること。
壊れたほうは、こんな感じになっていました:

Substitution2: "'vert' +fiZm+DBNW1dfYjAQXsNrYjAR in +XnNO7lQNMGhyR07uVA0A lookup 0 subtable" uni3041.vert


これは、元来こうであったようです:

Substitution2: "'vert' Vertical Alternates (obs) in Hiragana & Katakana lookup 0 subtable" uni3041.vert


無数にある全 Substitution2 フィールドが文字化けになっていたので、さすがに手作業というわけにはいきません。Python スクリプトでやっつけてしまいました……。テキストファイルって素晴らしい!

それから、この Substitution の設定値は、ファイルの冒頭のほうにある lookup というフィールドで定義しないといけないという構造になっているようです(?)。ここも文字化け(というか日本語)だったので、直しました。しかし、両方同様に文字化けしているんですから、これは今回の問題とは直接関係ないのかもしれません(たぶん……?)。

実際これを直しても、相変わらず縦書きはできません。では、どうやって解決したのかというと、フォントを出力する際のオプションです。「OpenType」にチェックを入れる。これで再び縦書きが有効になりました。

しかし、どうして勝手に文字化け(日本語化)したり、OpenType のチェックが外れてしまったのか……。そのナゾは解けないままです……。

0 件のコメント: