[Efont-devel] Re: 組み合わせ文字の編集機能を試作中です

Back to archive index

KANOU Hiroki kanou****@khdd*****
2005年 5月 14日 (土) 22:49:49 JST


狩野です。岩井さん、いつもご指摘ありがとうございます。

> > (2) エレメント(L)→フォント情報(F) の「一般」で、文字数を適当に増やす
> 
> エレメント(L)→フォント情報(F) の「エンコーディング」ではないかと思い
> ます。

おっしゃるとおりです。HTML に書くときには直します。

> > (4) 文字に名前をつける。文字編集ウィンドウからエレメント(L)→グリフ情報(I)
> >     を選び、ダイアログの [CLWFK] タブで、「プリミティブ名」に文字の名前を
> >     入力します (日本語が使えます)。
> 
> uim-xim では日本語が入力できないのですが、どの xim server なら入力可能
> でしょうか?

いま試してみたら、環境変数 LANG が「ja」に設定されていて、UI 表示が日本語だと
ダメですね。今まで英語でばかり試していたので気づきませんでした。

LANG が設定されてないか、「C」か、/usr/share/locale に存在する「ja_JP.eucJP」
「ja_JP.SJIS」「ja_JP.UTF-8」のいずれかなら大丈夫でした。「ja」や「ja_JP」、
「ja_JP.EUC」に設定するとダメなようです。

ここに限らず、日本語入力できるはずの場所 (Preference のスクリプトメニュー名とか)
は LANG の設定によっては、すべて入力できなくなるようです。おそらくオリジナルの
FontForge にもこの問題はあると思います。

ちなみに、FreeBSD-5.3, IM は kinput2 でしか試してません。(WM は twm しか確認
していません)。

> 出力されたファイルの最初のコメント文について、fontforge/cvexport.c の
> ExportJointSkel()において
> 
>        if ( sc->clwfk.jointdef!=NULL ) {
>            char *def = u2utf8_copy(sc->clwfk.jointdef);
> 	   fprintf(skel, ";(setq %s '%s)\n", glyphname, def);
> 
> で sc->clwfk.jointdef が適切に初期化されてないので、def にゴミが乗って
> います。

ゼロクリアしている (static か gcalloc() で確保している) ものと思い込んでいたのが
バグの原因でした。自動変数に (ゼロクリアせずに) 確保して値を代入してから構造体ごと
コピーしていたので、最初に memset でクリアするようにしました。

狩野 宏樹  <kanou****@khdd*****>



Efont-devel メーリングリストの案内
Back to archive index