作業メモとか考えた事とか (2002年8月)

トップへ/先月へ/来月


2002/8/1

けえかほおこく

なかなか出ない東風明朝 CID 版の作業途中。今までの進捗と困っている点。

不足文字の作成のために、スクリプト機能を使い始めた。Adobe Japan1-4 が 15000 文字を超えるとは言え、非漢字の大多数、3000 字くらいは自動で補充することができると思う。スクリプトの文法に癖があるので、例を見て書くといい。

一応ここまではできるということで、作業途中の合成文字作成スクリプトを置いておく。まだ一部しかできていないし、バグも多数あると思う。できるだけ早くチュートリアルを書きたい。このスクリプトは随時更新し、完成したら作者に送る予定。標準ライブラリになるといい。変換テーブルはできるだけシンプルにして、variant はスクリプトを使って、ユーザの明示的な操作で補うのが望ましいと思うからだ。

スクリプト中に、RemoveOverlap() がコメントアウトされている行があるのは、無限ループしてしまうから。他にも警告が山ほど出る。作者の George Williams 氏も、この機能はまだ完成度を高める余地があると認めている。どなたかこの辺を追いかけていただけないだろうか。

現在判明している、他の問題点。

  • OpenType CID の CFF 文字列が、壊れている。
  • TTF → CID 変換を行うと、FontBBox が [0 0 0 0] になる
  • 後者は以前パッチを送ったことがある。その時同様、「sf->ascent+sf->decent」が含まれている行を全部取り出して、整数値に全部「.0」を付けて浮動小数点に直せばあっさり直るかも。これさえ解決すれば、各種ツールの拙いパッチワークである CID 化キットをちまちまいじるのを止めて、PfaEdit のスクリプト 1 本で変換するのだが…。

    PfaEdit は大規模で、かつユーザが限られているのでフル活用しようと思うとまずデバッグしなければならないのが現状だ (基本的な部分の安定度は 1 年半前と比べると飛躍的に向上している)。皆さん、私と一緒に地雷を踏んでください。バグを直してくれる人、英語で正確に報告してくれる人ならなお歓迎。

    メニューの日本語化も試しにやってみた。nomen-ja.c を pfaedit/pfaedit ディレクトリに置いて、make すればいい。これもチェックしてくださる方を募集中。

    これから先もしばらく忙しく、自分では手が回らなさそうなのであれこれ書いてみた。あと、スクリプトの文法の改良 (Copy() や Paste() が引数を取れるようにするとか、1文字の中のパス情報をいじれるようにするとか)や、共同開発のための機能 (WebDAV か何かを喋れればな) も時間があればやりたいが、いつになるか分からない。ここに書いてある事はどなたでも、サクっと実現して私に断りなしにどんどん進めてくださって結構です。

    2002/8/5

    昨日のハマリ

    デバッグ中に、元のソースを残しつつ

    #if 0	/* orig */
    	なんかバグっぽい元の処理
    #else	/* kanou */
    	こうすると正しいんじゃないかな
    	fprintf(stderr, "report\n");
    #endif
    

    とやっていた。ところがこの `report' が出力されない。呼出元の元までずっと辿って調べた後で、この #else 部分のみが実行されていないことが判明した。

    よく見ると、

    #if 0	/* orig */
    	original_operation(args);		/* original comment */\
    #else	/* kanou */
    	...
    #endif
    

    となっていた…。

    今 K&R を調べてみたら、トライグラフ → 行の結合 → コメントの空白化 → プリプロセッサ命令 の順でした。10 年前は覚えてた気がするんだがな…。

    メモ: 東風 CID のバグ報告

    「影」の字が出ないという話がある。後で調べなくては。

    とりあえず手元の最新版では、「影」はちゃんと CID 1256 に入っている。

    2002/8/9

    Jug

    インデックスからここにリンクを張れていなかったので修正。ファイル内の記述がずーっと Jug.html になっていた。失礼しました。

    2002/8/11

    (8/18 にリリースされたので http://kappa.allnet.ne.jp/Kochi-CID/ から転記)

    (8/11) 予告

    CID 化キットの最新版が作成されてから、古川さんのオリジナルが 2 回更新されています。また、使用の上での問題点も報告されていますので、手元の改良版をできるだけ早く公開したいと思っています。手元では CID, OTF の出力とインストールの確認まで漕ぎ着けていますが、パッチのオリジナルへのフィードバックや文字の再確認が必要です。次の週末までお待ちください。

    私は、最近作業の主力を PfaEditにシフトさせつつあります。PfaEdit にスクリプト機能が追加されたことにより、フォントフォーマットの低レベルな構造を直接いじる自作スクリプトを改良する意義は薄くなりました (Adobe から発表された OpenType FDK もありますし)。まだ欲しい機能がなかったり動かなかったりすることは多いのですが、今可能な範囲でもかなりの作業ができます。日本語 CID フォントには、かなりの囲みつき文字など、機械的処理に工夫を凝らせば自動作成できる物が多数あります。現時点では 3000 文字ほどが PfaEdit のスクリプトで自動作成されています。

    参考までに、動作確認画面の一例を示します。

    追加文字の例

    2002/8/13

    力不足により不明

    同じ物を同じコンパイラ、OSでコンパイルしているはずなのに、どうして片方ではちゃんとOpenType に変換できて、もう片方では空のファイルが出て来るのか分からん。最適化すると確実にダメというのが、初期化エラーっぽさを漂わせているが。メモリ容量にもシビアに依存しているのだろうか。

    2002/8/18

    CID/OpenType 版東風フォント

    やっと出しました。今回は gs での症状が余計ひどくなっていますが、その出方が露骨なので却って解明しやすそうな気がします。