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 件のコメント:
コメントを投稿