From uchiyama @ appi.keio.ac.jp Mon Sep 19 17:49:04 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Mon, 19 Sep 2005 17:49:04 +0900 (JST) Subject: =?iso-2022-jp?B?VHJ1ZVR5cGUbJEIlVSUpJXMlSBsoQg==?= =?iso-2022-jp?B?GyRCJE4lMCVqJVUkchsoQkdJRBskQiRHPGhGQCQ5JGsbKEI=?= Message-ID: <20050919.174904.00757396.uchiyama@appi.keio.ac.jp> TrueTypeフォントのグリフを GID で取得する場合. vf2ft.c で FT_Select_Charmap() を呼んではダメみたいです. ここでエラーになります. ということで, 消してしまいましょう. OpenType なフォントでは, あっても なくても差障りはないようです. *** vf2ft.c.org Sun Sep 18 22:04:30 2005 --- vf2ft.c Mon Sep 19 17:38:51 2005 *************** *** 1323,1329 **** fonts[fontsmax].cidv = cidv; switch (encoding) { case ADOBEJAPAN: - ft_error = FT_Select_Charmap(fonts[fontsmax].face, ft_encoding_none); break; default: ft_error = FT_Select_Charmap(fonts[fontsmax].face, ft_encoding_unicode); --- 1323,1328 ---- From tsuchiya @ namazu.org Tue Sep 20 08:19:10 2005 From: tsuchiya @ namazu.org (TSUCHIYA Masatoshi) Date: Tue, 20 Sep 2005 08:19:10 +0900 Subject: =?iso-2022-jp?B?VHJ1ZVR5cGUbJEIlVSUpJXMlSCROJTAlaiVVJHIbKEJH?= =?iso-2022-jp?B?SUQbJEIkRzxoRkAkOSRrGyhC?= In-Reply-To: <20050919.174904.00757396.uchiyama@appi.keio.ac.jp> (Takanori Uchiyama's message of "Mon, 19 Sep 2005 17:49:04 +0900 (JST)") References: <20050919.174904.00757396.uchiyama@appi.keio.ac.jp> Message-ID: <87br2olk7l.fsf@tsuchiya.vaj.namazu.org> >> On Mon, 19 Sep 2005 17:49:04 +0900 (JST) >> uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) said as follows: >TrueTypeフォントのグリフを GID で取得する場合. vf2ft.c で >FT_Select_Charmap() を呼んではダメみたいです. ここでエラーになります. >ということで, 消してしまいましょう. 一応,CHANGES.xdvik-jp に変更記録を残しておいて頂けませんか? -- 土屋 雅稔 ( TSUCHIYA Masatoshi ) From uchiyama @ appi.keio.ac.jp Tue Sep 20 21:17:28 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Tue, 20 Sep 2005 21:17:28 +0900 (JST) Subject: vfontmap In-Reply-To: <20050513180012O.tutimura@nn.iij4u.or.jp> References: <20050412123108S.tutimura@nn.iij4u.or.jp> <87ll7olcd8.fsf@namazu.org> <20050513180012O.tutimura@nn.iij4u.or.jp> Message-ID: <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: vfontmap Date: Fri, 13 May 2005 18:00:12 +0900 > ついでに、TrueType/OpenType フォントも > kpathsearch で探すようにしました。 > 今までは vfontmap に フォントファイル名を > フルパスで書く必要がありましたが、 > teTeX-3.0 (TDS1.1) でフォントの置場も明確に決まったので、 > しかるべき場所から検索するようにしました。 > > $TEXMF/fonts/truetype, $TEXMF/fonts/opentype > といったディレクトリの下に > > # ln -s /usr/X11R6/lib/X11/fonts/TrueType $TEXMF/fonts/truetype/X11 > > のようにしてシンボリックリンクを張っておけば、 > フォントファイル名にはディレクトリ部分はもう不要です。 > もちろん、今までどおりフルパスで指定しても構いません。 古い話で恐縮ですが, 上記, 機能していますでしょうか. %kpsewhich --format="opentype fonts" HiraMinPro-W3.otf /usr/local/teTeX/share/texmf/fonts/opentype/HiraMinPro-W3.otf な状態で, vfontmapが HiraMinPro-W3.otf min nmin tmin jis jis-v だと, フォントをみつけられません. VF_OpenFont() の fontpath に正しく値が入りません. vfontmap.c で, 1行読んだ物の, 最初の文字が / であれば vfname2 に保存 しておいて, 次の行を読んで vfname に vfname2 を渡しています. / で始ま ることが前提ですから, 絶対パスでなければ, 機能しないはずです. 多分, このくらいの修正が必要だと思います. RCS file: /cvsroot/xdvi/xdvik/texk/xdvik/vfontmap.c,v retrieving revision 1.6 diff -r1.6 vfontmap.c 118c118,119 < if (*line == '/') { // font file for vf2ft --- > if(*line == '\0') continue; > if (!isspace(*line)) { // font file for vf2ft -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Tue Sep 20 22:30:01 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Tue, 20 Sep 2005 22:30:01 +0900 Subject: vfontmap In-Reply-To: <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> References: <87ll7olcd8.fsf@namazu.org> <20050513180012O.tutimura@nn.iij4u.or.jp> <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> Message-ID: <20050920223001R.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: Re: vfontmap Date: Tue, 20 Sep 2005 21:17:28 +0900 (JST) Message-ID: <20050920.211728.40585705.uchiyama @ appi.keio.ac.jp> > From: Nobuyuki Tsuchimura > Subject: Re: vfontmap > Date: Fri, 13 May 2005 18:00:12 +0900 > > > ついでに、TrueType/OpenType フォントも > > kpathsearch で探すようにしました。 > > 今までは vfontmap に フォントファイル名を > > フルパスで書く必要がありましたが、 > > teTeX-3.0 (TDS1.1) でフォントの置場も明確に決まったので、 > > しかるべき場所から検索するようにしました。 > > > > $TEXMF/fonts/truetype, $TEXMF/fonts/opentype > > といったディレクトリの下に > > > > # ln -s /usr/X11R6/lib/X11/fonts/TrueType $TEXMF/fonts/truetype/X11 > > > > のようにしてシンボリックリンクを張っておけば、 > > フォントファイル名にはディレクトリ部分はもう不要です。 > > もちろん、今までどおりフルパスで指定しても構いません。 > > 古い話で恐縮ですが, 上記, 機能していますでしょうか. > > %kpsewhich --format="opentype fonts" HiraMinPro-W3.otf > /usr/local/teTeX/share/texmf/fonts/opentype/HiraMinPro-W3.otf > > な状態で, vfontmapが > > HiraMinPro-W3.otf > min > nmin > tmin > jis > jis-v > > だと, フォントをみつけられません. > VF_OpenFont() の fontpath に正しく値が入りません. > > vfontmap.c で, 1行読んだ物の, 最初の文字が / であれば vfname2 に保存 > しておいて, 次の行を読んで vfname に vfname2 を渡しています. / で始ま > ることが前提ですから, 絶対パスでなければ, 機能しないはずです. > > 多分, このくらいの修正が必要だと思います. > > RCS file: /cvsroot/xdvi/xdvik/texk/xdvik/vfontmap.c,v > retrieving revision 1.6 > diff -r1.6 vfontmap.c > 118c118,119 > < if (*line == '/') { // font file for vf2ft > --- > > if(*line == '\0') continue; > > if (!isspace(*line)) { // font file for vf2ft > -- ちょっと待って下さい、これだと、 min HiraMinPro-W3.otf nmin HiraMinPro-W3.otf tmin HiraMinPro-W3.otf jis HiraMinPro-W3.otf jis-v HiraMinPro-W3.otf という書式が通らなくなりませんか。試してないのですが。 今回の変更前ならこの書式が通りましたし、それを狙っています。 フルパスの場合だけ vfname2 にフォント名をストアしてるのは仕様で、 ファイル名だけでも vfname2 にストアする仕様にするなら、 もっと厳しい条件をつけなければ、 VFlib 時代の vfontmapの書式と共存できないと思います。 フォント名だけですむのなら、何回も書いたところで さほど問題ないという認識もありました。 あと、dvipdfmx の書式も意識しています。 現在、井上氏と相談して、dvipdfmx/dvips と xdvi の 和文フォント設定をまとめて面倒をみるよう、 teTeX の updmap コマンドの拡張作業をしています。 http://www.ns.musashi-tech.ac.jp/~inoue/Pages/TeX/updmap.html ↑dvipdfmx と dvips をまとめて面倒をみるところまではできています。 これに xdvi の分も拡張しようということです。 拙作の ptetex3 でもある程度実装済です。 http://www.nn.iij4u.or.jp/~tutimura/tex/ptetex-font.html これがちゃんと動くようになれば、 ユーザや TeX ディストリビュータが、 vfontmap の書式を気にする必要はほとんどなくなります。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Tue Sep 20 23:08:43 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Tue, 20 Sep 2005 23:08:43 +0900 (JST) Subject: vfontmap In-Reply-To: <20050920223001R.tutimura@nn.iij4u.or.jp> References: <20050513180012O.tutimura@nn.iij4u.or.jp> <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> <20050920223001R.tutimura@nn.iij4u.or.jp> Message-ID: <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: vfontmap Date: Tue, 20 Sep 2005 22:30:01 +0900 > > ちょっと待って下さい、これだと、 > > min HiraMinPro-W3.otf > nmin HiraMinPro-W3.otf > tmin HiraMinPro-W3.otf > jis HiraMinPro-W3.otf > jis-v HiraMinPro-W3.otf > > という書式が通らなくなりませんか。試してないのですが。 通らないでしょう. > 今回の変更前ならこの書式が通りましたし、それを狙っています。 結局, VFlib と同じ書式の vfontmap を使うのですか. では, FreeType のときにインストールされる vfontmap.sample は役にたたないです ね. > 現在、井上氏と相談して、dvipdfmx/dvips と xdvi の > 和文フォント設定をまとめて面倒をみるよう、 > teTeX の updmap コマンドの拡張作業をしています。 > http://www.ns.musashi-tech.ac.jp/~inoue/Pages/TeX/updmap.html > ↑dvipdfmx と dvips をまとめて面倒をみるところまではできています。 > これに xdvi の分も拡張しようということです。 > 拙作の ptetex3 でもある程度実装済です。 > http://www.nn.iij4u.or.jp/~tutimura/tex/ptetex-font.html TrueType の GID で呼び出す方法は, 井上さんは pending だとおしゃってい ますが, このままだと TrueType の GID での呼び出しは vfontmap で, それ 以外は updmap でといったことになります. http://www.noup.net/fbbs/sv1/wingmulti.cgi?bbsname=psitau Surrogate Fonts の 26 (HAN NOM は broken font のエラーが返されますが, 他の TrueType では adobejapan の指定で GID でアクセスできる) もっと言えば, adobejapan, cidv, unic のキーワードも, 同一のカテゴリで あるようなものに変更するとか, CMap 名に近いか(同じだと混乱を招くかもし れませんし, 同じ綴なのに, 微妙に異なると気持ち悪いので), 用意に類推で きるものの方がよいように思います. adobejapan は identity-h cidv は identity-v unic は (no idea) あたり? vfontmap の仕様をつめないとダメでしょう. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From uchiyama @ appi.keio.ac.jp Wed Sep 21 02:19:30 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Wed, 21 Sep 2005 02:19:30 +0900 (JST) Subject: vfontmap In-Reply-To: <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> References: <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> <20050920223001R.tutimura@nn.iij4u.or.jp> <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> Message-ID: <20050921.021930.00757395.uchiyama@appi.keio.ac.jp> From: Takanori Uchiyama Subject: Re: vfontmap Date: Tue, 20 Sep 2005 23:08:43 +0900 (JST) > adobejapan は identity-h > cidv は identity-v > unic は (no idea) > あたり? cidv は, JIS だから別の識別子が必要でした. > vfontmap の仕様をつめないとダメでしょう. CMap 名をそのまま使って, xdvi で CMap 名から何のコードに変換するか決め る方法と, CMap 名から抽象化した識別子を使う方法の 2 とおりが考えられる でしょう. CMap名そのままだと, 種類が多いわりに, 実際に xdvi で意味のある違いをだ せるものは少ないでしょう. 本当に CMap 名を使うなら, OpenType フォント を使い, CMap そのものをサポートする必要があるでしょう. しかし, それが 可能になったときに, vfontmap をいじらなくてよいというメリットもありま す. 抽象化した名称を使う場合には, 現実的には, JIS, UNICODE, CID/GID の 3 通りくらい, 場合によっては shift JIS くらいまででしょう. xdvi 固有の問題としては, 縦書きのグリフの取得ができないことです. OpenType なら実装できなくはありませんが(CID で読みだす), TrueType が割 り当てられるかもしれない状況では, コードの共通化ができません. TrueType でも, フォントの仕様上はできるはずですが, FreeType でできるかどうかと いう別の次元の問題があります. いずれにせよ, 縦書き用フォントであること を判別する必要があります. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Fri Sep 23 17:49:55 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Fri, 23 Sep 2005 17:49:55 +0900 Subject: vfontmap In-Reply-To: <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> References: <20050920.211728.40585705.uchiyama@appi.keio.ac.jp> <20050920223001R.tutimura@nn.iij4u.or.jp> <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> <20050921.021930.00757395.uchiyama@appi.keio.ac.jp> Message-ID: <20050923174955Y.tutimura@nn.iij4u.or.jp> 土村です。数日前に送信したつもりが失敗していました。 From: Takanori Uchiyama Subject: Re: vfontmap Date: Tue, 20 Sep 2005 23:08:43 +0900 (JST) Message-ID: <20050920.230843.110060107.uchiyama @ appi.keio.ac.jp> > From: Nobuyuki Tsuchimura > Subject: Re: vfontmap > Date: Tue, 20 Sep 2005 22:30:01 +0900 > > > > > ちょっと待って下さい、これだと、 > > > > min HiraMinPro-W3.otf > > nmin HiraMinPro-W3.otf > > tmin HiraMinPro-W3.otf > > jis HiraMinPro-W3.otf > > jis-v HiraMinPro-W3.otf > > > > という書式が通らなくなりませんか。試してないのですが。 > > 通らないでしょう. > > > 今回の変更前ならこの書式が通りましたし、それを狙っています。 > > 結局, VFlib と同じ書式の vfontmap を使うのですか. では, > FreeType のときにインストールされる vfontmap.sample は役にたたないです > ね. 話が少しかみあってない気がするので、まとめてみます。 vfontmap の書式がいくつかあります。 (1) VFlib min min (2) FreeType フルパス 1行1フォント min /usr/local/share/texmf/dvipdfm/CIDFont/HiraMinPro-W3.otf (3) FreeType ファイル名 1行1フォント min HiraMinPro-W3.otf (4) FreeType フルパス 複数フォントまとめて /usr/local/share/texmf/dvipdfm/CIDFont/HiraMinPro-W3.otf min (5) FreeType ファイル名 複数フォントまとめて HiraMinPro-W3.otf min これらの書式のうち、(1)〜(4) が可能です。 私がちゃんとアナウンスしていなかったのが悪いのですが、 (5) はサポートしていませんでした。 内山さんは (5) をサポートしようということなのですね。 もう CVS ではキャンセルされたので、 了解いただいたということなのかもしれませんが、 内山さんの修正では (1)〜(3) がだめになり、 (4)(5) が有効になるはずです。 (1)〜(5) の全部を有効にする手だてもありますけど、 それほどメリットはないと思って、私は手を抜いていました。 > TrueType の GID で呼び出す方法は, 井上さんは pending だとおしゃってい > ますが, このままだと TrueType の GID での呼び出しは vfontmap で, それ > 以外は updmap でといったことになります. > > http://www.noup.net/fbbs/sv1/wingmulti.cgi?bbsname=psitau > Surrogate Fonts の 26 > > (HAN NOM は broken font のエラーが返されますが, 他の TrueType では > adobejapan の指定で GID でアクセスできる) なるほど、そういう経緯があったのですか。 いろいろアイデアを出していただいてますから、 updmap でフォント設定を集中管理する方向で、 調整していくということで考えたいと思います。 From: Takanori Uchiyama Subject: Re: vfontmap Date: Wed, 21 Sep 2005 02:19:30 +0900 (JST) Message-ID: <20050921.021930.00757395.uchiyama @ appi.keio.ac.jp> > CMap 名をそのまま使って, xdvi で CMap 名から何のコードに変換するか決め > る方法と, CMap 名から抽象化した識別子を使う方法の 2 とおりが考えられる > でしょう. 私の希望では、本当に CMap をサポートしたいと思っています。 CMap というと、ライセンスを問題にされる方がいますが、 互換物をオープンソースの下に書き下ろすことは可能で、 しかも xdvi-jp は jis->unicode テーブルを 既にソースにハードコーディングしてますから、 これを CMap に形式変換すれば、 オープンソースものだけでも機能的な劣化はないと思います。 何か勘違いしてますでしょうか?実装が大変なんでしょうか? ----- 土村 展之 Nobuyuki Tsuchimura From tutimura @ nn.iij4u.or.jp Fri Sep 23 18:25:36 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Fri, 23 Sep 2005 18:25:36 +0900 Subject: =?iso-2022-jp?B?VHJ1ZVR5cGUbJEIlVSUpJXMlSBsoQg==?= =?iso-2022-jp?B?GyRCJE4lMCVqJVUkchsoQkdJRBskQiRHPGhGQCQ5JGsbKEI=?= In-Reply-To: <20050919.174904.00757396.uchiyama@appi.keio.ac.jp> References: <20050919.174904.00757396.uchiyama@appi.keio.ac.jp> <20050513180012O.tutimura@nn.iij4u.or.jp> Message-ID: <20050923182536X.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: TrueTypeフォントのグリフをGIDで取得する Date: Mon, 19 Sep 2005 17:49:04 +0900 (JST) Message-ID: <20050919.174904.00757396.uchiyama @ appi.keio.ac.jp> > TrueTypeフォントのグリフを GID で取得する場合. > vf2ft.c で FT_Select_Charmap() を呼んではダメみたいです. > ここでエラーになります. > ということで, 消してしまいましょう. OpenType なフォントでは, あっても > なくても差障りはないようです. これのおかげで、今までエラーになっていたところが、 無事に実行できるようになったようです。 From: Nobuyuki Tsuchimura Subject: Re: vfontmap Date: Fri, 13 May 2005 18:00:12 +0900 Message-ID: <20050513180012O.tutimura @ nn.iij4u.or.jp> 土村> 今考えている課題です。 土村> 指定されたフォントファイルに含まれている文字セットで 土村> 足りない場合、xdvi はまったく表示せずに終了してしまいます。 土村> 表示できない文字はしょうがないですが、 土村> 表示できる範囲でとりあえず動くようにできたらよいと思っています。 これが無事に実行できるようになり、 表示できない文字は空白のままですが、 とにかく動くようになったようです。 ということで、この件は解決したと思います。 ありがとうございます。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Fri Sep 23 18:45:59 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Fri, 23 Sep 2005 18:45:59 +0900 (JST) Subject: vfontmap In-Reply-To: <20050923174955Y.tutimura@nn.iij4u.or.jp> References: <20050920.230843.110060107.uchiyama@appi.keio.ac.jp> <20050921.021930.00757395.uchiyama@appi.keio.ac.jp> <20050923174955Y.tutimura@nn.iij4u.or.jp> Message-ID: <20050923.184559.00761284.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: vfontmap Date: Fri, 23 Sep 2005 17:49:55 +0900 > 私の希望では、本当に CMap をサポートしたいと思っています。 > CMap というと、ライセンスを問題にされる方がいますが、 > 互換物をオープンソースの下に書き下ろすことは可能で、 > しかも xdvi-jp は jis->unicode テーブルを > 既にソースにハードコーディングしてますから、 > これを CMap に形式変換すれば、 > オープンソースものだけでも機能的な劣化はないと思います。 > 何か勘違いしてますでしょうか?実装が大変なんでしょうか? CMap は, あるコードから別のコードへの変換ではあるのですが, 現状は, ほ とんどがある文字コードから Adobe の内部配列への変換です. CID や中身が PostScriptなフォントでは, 内部配列は, Adobe の配列ですが, TrueType の 配列は, 作成時のツールや作成者の意図に依存してばらばらです. したがって, H とか, UniJIS-UTF16-H といった, 既存の CMap ファイルを使用することは できません. FreeType のライブラリの内, 今 xdvi でつかっているものは, 内部配列でグ リフを取得するものです. TeX で使われるフォントで, 内部配列でそのままグ リフを取得するもののほうが少なく(OTF package の \CID), 通常は, unicode から内部配列の index を取得して, それをつかってグリフを取得しています. この状況では, あるコードから unicode への CMap を作るしかありません. そういう CMap は, dvipdfmx に含まれている EUC-UCS2 が実際にそういう CMap です(「ほとんど」に入らない例外). もし, xdvi で利用するフォントは, Adobe の内部配列のフォントに限るとい う条件をつけるなら, 既存の CMap を使えますし, 縦書きグリフの問題も簡単 に解決できますから, CMap を本当にサポートする意味もあると思います. 実装と言う観点からは, ある CMap ば別の CMap を含むことができる. xdvi では, H と V の差は, 縦書きであることを示す以外の違いがない(CID や OpenType なら, 縦書き用のグリフに約物が割り当てられる違いがある). 本当に dvipdfmx や dvips と同様の CMap を使う利点あるのか疑問です. dvipdfmx では PDF 変換時に CMap のファイルそのものが必要, dvips では PostScript RIP に当該 CMap が内蔵されている, PDF は PostScript からプ ログラミング的な要素がなくなったような近い関係にあるので, 共通の CMap は当然でしょうが, xdvi に適用するのが適当とは, 私は今のところ思えませ ん. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Fri Sep 23 19:00:59 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Fri, 23 Sep 2005 19:00:59 +0900 Subject: vfontmap In-Reply-To: <20050923.184559.00761284.uchiyama@appi.keio.ac.jp> References: <20050921.021930.00757395.uchiyama@appi.keio.ac.jp> <20050923174955Y.tutimura@nn.iij4u.or.jp> <20050923.184559.00761284.uchiyama@appi.keio.ac.jp> Message-ID: <20050923190059X.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: Re: vfontmap Date: Fri, 23 Sep 2005 18:45:59 +0900 (JST) Message-ID: <20050923.184559.00761284.uchiyama @ appi.keio.ac.jp> > dvipdfmx では PDF 変換時に CMap のファイルそのものが必要, dvips では > PostScript RIP に当該 CMap が内蔵されている, PDF は PostScript からプ > ログラミング的な要素がなくなったような近い関係にあるので, 共通の CMap > は当然でしょうが, xdvi に適用するのが適当とは, 私は今のところ思えませ > ん. そうそう、申し遅れているのですが、 今年の6月に出た FreeType 2.1.10 のソースを見ると、 GSUB というキーワードがあります。 これはひょっとすると TrueType フォントの 縦書文字を引くために使えそうな気がしています。 これがうまく動けば、FreeType 2.1.10 以降限定ではありますが、 OpenType フォント、TrueType フォント、 共に縦書フォントをちゃんと手に入れることができると思います。 それには CMap のサポートは必須でしょうか? なくてもなんとかなるのでしょうか? ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Sat Sep 24 00:27:12 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Sat, 24 Sep 2005 00:27:12 +0900 (JST) Subject: vfontmap In-Reply-To: <20050923190059X.tutimura@nn.iij4u.or.jp> References: <20050923174955Y.tutimura@nn.iij4u.or.jp> <20050923.184559.00761284.uchiyama@appi.keio.ac.jp> <20050923190059X.tutimura@nn.iij4u.or.jp> Message-ID: <20050924.002712.00761110.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: vfontmap Date: Fri, 23 Sep 2005 19:00:59 +0900 > そうそう、申し遅れているのですが、 > 今年の6月に出た FreeType 2.1.10 のソースを見ると、 > GSUB というキーワードがあります。 > これはひょっとすると TrueType フォントの > 縦書文字を引くために使えそうな気がしています。 GSUB を利用する高度な API は(見落としていなければ), 用意されていないと 思います. GSUB の存在を確認する API はありますから, GSUB のデータを自 分で解釈するコードを起こすことになるでしょう(FT_OpenType_Validate: OpenType だけと書いてありますが, 手元の Office 2004に付属の MS PMincho.ttf では, GSUB は存在しているようでした). > これがうまく動けば、FreeType 2.1.10 以降限定ではありますが、 > OpenType フォント、TrueType フォント、 > 共に縦書フォントをちゃんと手に入れることができると思います。 > それには CMap のサポートは必須でしょうか? > なくてもなんとかなるのでしょうか? 既存の CMap は関係ないでしょう. あるとしても, 組方向が記述されている部 分を使うくらいでしょう. Adobe 配列の OpenType であれば, CMap をサポー トすれば, GSUB には関係なく縦書のグリフを取得できます. 問題なのは, 内 部配列がばらばらな TrueType フォントです. こちらは, GSUB の解釈が必要 です. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Wed Sep 28 18:35:15 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Wed, 28 Sep 2005 18:35:15 +0900 Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= (Re: vfontmap) Message-ID: <20050928183515O.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: Re: vfontmap Date: Sat, 24 Sep 2005 00:27:12 +0900 (JST) Message-ID: <20050924.002712.00761110.uchiyama @ appi.keio.ac.jp> > > そうそう、申し遅れているのですが、 > > 今年の6月に出た FreeType 2.1.10 のソースを見ると、 > > GSUB というキーワードがあります。 > > これはひょっとすると TrueType フォントの > > 縦書文字を引くために使えそうな気がしています。 > > GSUB を利用する高度な API は(見落としていなければ), 用意されていないと > 思います. GSUB の存在を確認する API はありますから, GSUB のデータを自 > 分で解釈するコードを起こすことになるでしょう(FT_OpenType_Validate: GSUB の資料が Adobe の web site にあったので、 http://partners.adobe.com/public/developer/opentype/index_table_formats.html あたりを見ながら解釈するプログラムを書いてみました。 繁雑で紛らわしいところもありますが、難しいことはなく、 ようやく縦書用の GID が得られるようになりました。 TrueType と OpenType はどちらも同じように扱えそうです。 このプログラム(400行)を xdvi に組み込むのはこれからです。 これで auto_shift() などの 位置合わせコードが不要になるかと言えば、 そう簡単な話でもありません。 GSUB アクセスで縦書フォントを得るには、次の問題があります。 (1) FreeType2.1.10 以降が必須(今年6月に公開されたものなので、 多くの Linux ディストリビューションには含まれてないと思います。) (2) VFlib には効力なし xdvi に組み込むときにどうするか、考えてみました。 (a) freetype2.1.10 以降を必須にする (b) xdvi に freetype2.1.10 を同梱する (c) freetype2.1.9 以前用に GSUB まわりの処理を更に追加する (d) auto_shift() などと共存して、可能な時だけ GSUB にアクセスする (a) これはきっと受け入れられないでしょうね。 (b) いっそのこと、T1lib みたいに、 xdvi に freetype2.1.10 を含めてしまえば話は簡単になりますが、 それもどうかという気もしますし... もっとも、VFlib が本当にいらなくなるのはありがたいです。 (c) FreeType2.1.10 では、FT_OpenType_Validate を使うと 簡単に GSUB テーブルが手に入りました。 この部分を FreeType2.1.9 以前で同等の処理ができるよう、 こちらで実装してしまうという手もありますが、 ちょっと見たところ、面倒そうな気がします。 どうせすぐに obsolete になるソースを書くのは、 馬鹿馬鹿しい気もします。 (d) 無難な選択肢ではありますが、ソース肥大につながるので、 なんとかしたいところです。 どちらにしても vfontmap の書式は、 もう一度考え直した方がよいでしょうね。 今は縦書かどうかを表示する時に判定してますけど、 はやり vfontmap に書いてある方が楽でよいです。 私の知恵ではこのぐらいしか思い付きません。 ご意見いただければ幸いです。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Wed Sep 28 19:23:31 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Wed, 28 Sep 2005 19:23:31 +0900 (JST) Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050928183515O.tutimura@nn.iij4u.or.jp> References: <20050928183515O.tutimura@nn.iij4u.or.jp> Message-ID: <20050928.192331.105899645.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: GSUB による縦書フォント (Re: vfontmap) Date: Wed, 28 Sep 2005 18:35:15 +0900 > (a) freetype2.1.10 以降を必須にする ソースからの make では必須にして, libfreetype.a を static link する. > どちらにしても vfontmap の書式は、 > もう一度考え直した方がよいでしょうね。 > 今は縦書かどうかを表示する時に判定してますけど、 > はやり vfontmap に書いてある方が楽でよいです。 縦・横の区別は, CMap では H か V でつくから, 同様に H や V を識別に使 う. DVI に記録されるコードと FreeType を呼び出すときのコードの対応は, 主に は, この3通り. DVI FreeTypeをよぶとき GID → GID JIS → unicode (→ GID) unicode → unicode (→ GID) 古いフォントだと, unicode の charmap ではなく, shift JIS の charmap か もしれない(多分, 考慮しなくてよい). GID→GID: Identity-H と Identity-V を連想するもの JIS→unicode: JIS を連想するもの + -H or -V のような感じ. unicode→unicode: unicode を連想するもの + -H or -V のような感じ. TTC の index 指定は, dvipdfmx と同様に msminp H :1:msmincho のように, コロンで挟む. FreeType の API を呼ぶときには, FT_New_Face(library, fontpath, 0, &fonts[fontsmax].face ); の 0 の部分を当該 index に変えればよい. ただし, 1 を指定して, プロポーショナルなグリフを使うときには, TFM の場 合と JFM または OFM な場合があります. 現状では, vfontmap に記述されて いるものは, JFM であることが前提除件になっています. この部分の修正, 少々手間かもしれません. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Thu Sep 29 17:55:11 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Thu, 29 Sep 2005 17:55:11 +0900 Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050928.192331.105899645.uchiyama@appi.keio.ac.jp> References: <20050928183515O.tutimura@nn.iij4u.or.jp> <20050928.192331.105899645.uchiyama@appi.keio.ac.jp> Message-ID: <20050929175511D.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: Re: GSUB による縦書フォント Date: Wed, 28 Sep 2005 19:23:31 +0900 (JST) Message-ID: <20050928.192331.105899645.uchiyama @ appi.keio.ac.jp> > > (a) freetype2.1.10 以降を必須にする > > ソースからの make では必須にして, libfreetype.a を static link する. freetype-2.1.10 を手元の環境で make してみました。 結構簡単に make できますね。 Linux だけでなく Solaris 8/9 や FreeBSD 4.7-STABLE でも OK でした。 gcc 2.95.2 なんかの古いものでもコンパイルできてます。 標準の make ではなく、GNU make を要求しますが、 このぐらいは許容範囲でしょう。 freetype-2.1.10 は、インストールはしなくてもよくて、 make しただけで置いておく、 xdvi からはそれを static link する、 ということにしましょうか。 > > どちらにしても vfontmap の書式は、 > > もう一度考え直した方がよいでしょうね。 ... > GID→GID: Identity-H と Identity-V を連想するもの > JIS→unicode: JIS を連想するもの + -H or -V のような感じ. > unicode→unicode: unicode を連想するもの + -H or -V のような感じ. 賛成です。 結局のところ、dvipdfmx の cid-x.map から かなりの表現を輸入するということですね。 今までの vfontmap の表現との対応を考えると、 こんな感じでしょうか。 組み方向 今まで これから H (空白) H V (空白) V H unicode Unicode-H V unicode Unicode-V H adobejapan Identity-H V adobejapan Identity-V V cidv V V tate H Unicode-{H,V} の判定は、先頭3文字の 'Uni' で行えば、 CMap 名の 'UniJIS-UCS2-{H,V}' なんかが来ても大丈夫ですので、 都合いいでしょうか。 dvipdfmx の -s, -e による slant, extend の指定は、 FT_Matrix matrix = { (int)((1<<16)*extend), (int)((1<<16)*slant), 0, 1<<16 }; FT_Set_Transform( face, &matrix, 0 ); で表現できそうですので、このまま採用しましょうか。 もっとも xdvi では、一文字あたりの領域からグリフがはみだすと、 妙なことになってしまいますので、 気持ちだけのサポートということにしたいです。 > TTC の index 指定は, dvipdfmx と同様に > msminp H :1:msmincho > のように, コロンで挟む. > FreeType の API を呼ぶときには, > FT_New_Face(library, fontpath, 0, &fonts[fontsmax].face ); > の 0 の部分を当該 index に変えればよい. face_index もこれでいいですね。 > ただし, 1 を指定して, プロポーショナルなグリフを使うときには, TFM の場 > 合と JFM または OFM な場合があります. 現状では, vfontmap に記述されて > いるものは, JFM であることが前提除件になっています. > この部分の修正, 少々手間かもしれません. やはりフルサポートは先送りですか。 CMap のサポートについても、 実装自体は簡単そうなんですが、ひとまず先送りにします。 OpenType でも GSUB が使えるので、縦書には困らないのですね。 自分で試すまで気付きませんでした。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Thu Sep 29 19:21:55 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Thu, 29 Sep 2005 19:21:55 +0900 (JST) Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050929175511D.tutimura@nn.iij4u.or.jp> References: <20050928183515O.tutimura@nn.iij4u.or.jp> <20050928.192331.105899645.uchiyama@appi.keio.ac.jp> <20050929175511D.tutimura@nn.iij4u.or.jp> Message-ID: <20050929.192155.19256483.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: GSUB による縦書フォント Date: Thu, 29 Sep 2005 17:55:11 +0900 > freetype-2.1.10 は、インストールはしなくてもよくて、 > make しただけで置いておく、 > xdvi からはそれを static link する、 > ということにしましょうか。 それでいいと思います. 一点だけ, インストールしない場合には, ヘッダの整 合性に注意が必要です. make 時に, FreeType 2.1.10 のヘッダを参照するよ うに. 現状, 私は, --prefix=/usr/local/teTeX で FreeType を make install しておいて, OS 付属の FreeType とぶつからないようにしました. xdvi を make するときも --prefix=/usr/local/teTeX なので, 辻褄があいま すので. > > > どちらにしても vfontmap の書式は、 > > > もう一度考え直した方がよいでしょうね。 > ... > > GID→GID: Identity-H と Identity-V を連想するもの > > JIS→unicode: JIS を連想するもの + -H or -V のような感じ. > > unicode→unicode: unicode を連想するもの + -H or -V のような感じ. > > 賛成です。 > 結局のところ、dvipdfmx の cid-x.map から > かなりの表現を輸入するということですね。 そうです. dvipdfmx の cid-x.map に似せておく方が, 統合化が簡単ですし, 人間も分かりやすいでしょう. > 今までの vfontmap の表現との対応を考えると、 > こんな感じでしょうか。 > > 組み方向 今まで これから > H (空白) H > V (空白) V > H unicode Unicode-H > V unicode Unicode-V > H adobejapan Identity-H > V adobejapan Identity-V > V cidv V > V tate H > > Unicode-{H,V} の判定は、先頭3文字の 'Uni' で行えば、 > CMap 名の 'UniJIS-UCS2-{H,V}' なんかが来ても大丈夫ですので、 > 都合いいでしょうか。 CMap 名と同じものは, どうなのか, 検討の余地があるように思います. 現状 では, 組方向と encoding を示すだけの識別子ですが, 将来 CMap をサポート するとしたら, CMap と同じではない方がよいのではないかということと, H は JIS から Adobe-Japan への CMap であるので他のものへの(xdvi では JIS から unicode)対応付けには用いない方がよいのではないかと考えるから です. 将来, CMap を考えるのであれば, 最初から H ではない独自の名前を使ってお いた方がよいと思うのです. Unicode-{H|V}は, OK でしょう. Identity-{H|V}は, この CMap では, コードの変換がないので, 既存の Identity-{H|V}を使っても問題ないので, 他のものとは違って, 既存のものと 同じ名称でかまわないと思います. > dvipdfmx の -s, -e による slant, extend の指定は、 > > FT_Matrix matrix = { (int)((1<<16)*extend), (int)((1<<16)*slant), 0, 1<<16 }; > FT_Set_Transform( face, &matrix, 0 ); > > で表現できそうですので、このまま採用しましょうか。 そのままの採用でよいと思います. 斜体は, 可読性を著しく低下させますから, (分かっている人なら)ほとんど使うことはないとは思いますが, 長体・平体は, 組によっては必要なものですから(新聞). > > ただし, 1 を指定して, プロポーショナルなグリフを使うときには, TFM の場 > > 合と JFM または OFM な場合があります. 現状では, vfontmap に記述されて > > いるものは, JFM であることが前提除件になっています. > > この部分の修正, 少々手間かもしれません. > > やはりフルサポートは先送りですか。 JFM であることの判定だけなら簡単ですが, JFM と TFM/OFM では情報の持ち 方が違うので, JFMを扱っている部分と, TFM を扱っている部分をマージした ようなコードを書くことになると思います. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Thu Sep 29 21:26:39 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Thu, 29 Sep 2005 21:26:39 +0900 Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050929.192155.19256483.uchiyama@appi.keio.ac.jp> References: <20050928.192331.105899645.uchiyama@appi.keio.ac.jp> <20050929175511D.tutimura@nn.iij4u.or.jp> <20050929.192155.19256483.uchiyama@appi.keio.ac.jp> Message-ID: <20050929212639E.tutimura@nn.iij4u.or.jp> 土村です。 From: Takanori Uchiyama Subject: Re: GSUB による縦書フォント Date: Thu, 29 Sep 2005 19:21:55 +0900 (JST) Message-ID: <20050929.192155.19256483.uchiyama @ appi.keio.ac.jp> > うに. 現状, 私は, --prefix=/usr/local/teTeX で FreeType を make > install しておいて, OS 付属の FreeType とぶつからないようにしました. > xdvi を make するときも --prefix=/usr/local/teTeX なので, 辻褄があいま > すので. FreeType を別の場所に install するのも手ですね。 FreeType-2.1.10 以降を必須にされると困る、 と言う方は、早めにご意見お願いします。 VFlib 対応部分や tategaki.c なんかの 位置調節のコードが不要となる、 ちょっと大がかりな修正をしようとしてますので。 そうそう、大改造の前に、私のソースを組み込んで、 ちゃんと GSUB を読み込んで動いているところを 見てもらわないといけませんね。 > 将来, CMap を考えるのであれば, 最初から H ではない独自の名前を使ってお > いた方がよいと思うのです. すいません、前のメールを読み直したら、 JIS-{H,V} のようなものを提案されてたのですね。 私は CMap と同じでも、そんなに問題を感じてないです。 もし CMap をサポートするとなれば、 vfontmap での表記は今のままにしておいて、 OpenType フォントと TrueType フォントで、 アクセス動作を切替えればよいと思っているからです。 OpenType は CMap で得られた AdobeJapan1 で、 TrueType は同様に得られた AdobeJapan1 から、 更に Adobe-Japan1-UCS2 という CMap で Unicode に変換して、 アクセスするということです。 内山さんは、JIS から Unicode への変換は、 EUC-UCS2 を使うことを考えてられるのでしょうか。 まぁ、絶対に {H,V} のほうが良いと言うつもりもありません。 # 私が {H,V} と書いたのは単に見落しです。すいません。 JIS-{H,V} がよいということであれば、それでもいいです。 > JFM であることの判定だけなら簡単ですが, JFM と TFM/OFM では情報の持ち > 方が違うので, JFMを扱っている部分と, TFM を扱っている部分をマージした > ようなコードを書くことになると思います. このへんはさっぱりわかってないので、 おいおい勉強したいと思います。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Thu Sep 29 23:08:39 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Thu, 29 Sep 2005 23:08:39 +0900 (JST) Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050929212639E.tutimura@nn.iij4u.or.jp> References: <20050929175511D.tutimura@nn.iij4u.or.jp> <20050929.192155.19256483.uchiyama@appi.keio.ac.jp> <20050929212639E.tutimura@nn.iij4u.or.jp> Message-ID: <20050929.230839.00737996.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: GSUB による縦書フォント Date: Thu, 29 Sep 2005 21:26:39 +0900 > FreeType-2.1.10 以降を必須にされると困る、 > と言う方は、早めにご意見お願いします。 > VFlib 対応部分や tategaki.c なんかの > 位置調節のコードが不要となる、 > ちょっと大がかりな修正をしようとしてますので。 実は, もっと手をいれることができて, 約物の補正をしている部分を取り除い て, min10.vf や jis.vf などの virtual font 経由で, 約物も含めて全て等 幅で描画できるようになります. dvips や dvipdfmx と同様にです. > すいません、前のメールを読み直したら、 > JIS-{H,V} のようなものを提案されてたのですね。 > > 私は CMap と同じでも、そんなに問題を感じてないです。 > もし CMap をサポートするとなれば、 > vfontmap での表記は今のままにしておいて、 > OpenType フォントと TrueType フォントで、 > アクセス動作を切替えればよいと思っているからです。 > OpenType は CMap で得られた AdobeJapan1 で、 > TrueType は同様に得られた AdobeJapan1 から、 > 更に Adobe-Japan1-UCS2 という CMap で Unicode に変換して、 > アクセスするということです。 OpenType と TrueType の判定が必要ですが, どうしますか. vfontmap に記述 するフォントファイル名から, 拡張子を省略できなくなりせんか. FreeType を介してフォントからデータを取得するので, フォントに直接アクセスする dvipdfmx とは事情が異なります. > 内山さんは、JIS から Unicode への変換は、 > EUC-UCS2 を使うことを考えてられるのでしょうか。 CMap を自前で用意すると理解していましたので, 新たに JIS-UTF16 のような ものです. dvipdfmx が EUC-UCS2 を自前で用意しているようにです. FreeType の API で, 内部配列が何であっても共通に利用するためには, unicode を使うことになるので, unicode に変換する CMap を使うのが自然で あると考えます. unicode への変換を考える場合, Unicode-{H|V} の中身は, 無変換という意味 では, Identity-{H|V}と同じです(これなら, CMap として外にだす意味は薄い). CIDへの変換を考えるなら, 変換先は, Adobe-何なんでしょうか(決められない). OpenType と TrueType を区別するのであれば, OpenType には, 既存の CMap をそのまま使って, Unicode-{H|V} のようなものは使わないことになりません か. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Fri Sep 30 01:25:47 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Fri, 30 Sep 2005 01:25:47 +0900 Subject: =?ISO-2022-JP?B?UmU6IEdTVUIgGyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050929.230839.00737996.uchiyama@appi.keio.ac.jp> References: <20050929175511D.tutimura@nn.iij4u.or.jp> <20050929.192155.19256483.uchiyama@appi.keio.ac.jp> <20050929212639E.tutimura@nn.iij4u.or.jp> <20050929.230839.00737996.uchiyama@appi.keio.ac.jp> Message-ID: 土村です。 05/09/29 に Takanori Uchiyama さんは書きました: > 実は, もっと手をいれることができて, 約物の補正をしている部分を取り除い > て, min10.vf や jis.vf などの virtual font 経由で, 約物も含めて全て等 > 幅で描画できるようになります. dvips や dvipdfmx と同様にです. くどいようで申し訳ないのですが、 これは、vfontmap の書き方で言うと、TFM エントリ名に、 現在は min とか goth とか jis とかたくさん書いていますが、 これらが rml と gbm に置き換えられるということなのでしょうか? そうだとすると、大変嬉しい知らせです。(^^) > OpenType と TrueType の判定が必要ですが, どうしますか. vfontmap に記述 > するフォントファイル名から, 拡張子を省略できなくなりせんか. FreeType > を介してフォントからデータを取得するので, フォントに直接アクセスする > dvipdfmx とは事情が異なります. 拡張子は書いてもらってもよいと思ってました。 私の CMap サポートの目的のひとつは、Unicode では表しきれない、 新旧の JIS の使い分けなんかを想定してましたので、 AdobeJapan-1 でアクセスするつもりでいました。 > CIDへの変換を考えるなら, 変換先は, Adobe-何なんでしょうか(決められない). おっしゃる通りで、AdobeJapan-1 以外に変換する CMap が来た場合、 TrueType フォントにどうやってアクセスすればよいのか、 手だては思い付きません。 元が Unicode なら、Unicode-{H,V} のキーワードが役立ちそうですが。 > > 内山さんは、JIS から Unicode への変換は、 > > EUC-UCS2 を使うことを考えてられるのでしょうか。 > > CMap を自前で用意すると理解していましたので, 新たに JIS-UTF16 のような > ものです. dvipdfmx が EUC-UCS2 を自前で用意しているようにです. ソースから巨大な jis->unicode 変換テーブルを追い出して、 なるべく汎用的な CMap サポートとして取り込みたい、 という私の気持ちをくみ取っていただけたようで嬉しいです。 OpenType フォントに CID か Unicode かどちらでアクセスするか、 私とは異なる想定でいらっしゃるということがわかりましたが、 CMap は今すぐの問題ではないので、先送りでよろしいでしょうか。 で、考えたのですが、やはり xdvi でのキーワード (Unicode-H など)を CMap の名前とは異なるものにしたほうが メリットがあるような気がして来ました。 {H,V} はやめることで合意しますので、 JIS-{H,V} にするか ISO-2202-JP-{H,V} にするか、 もっとよいキーワードがあるか、 というところで相談させていただきたいです。 私は JIS-{H,V} で十分と思っています。 # Unicode-{H,V} の判定も、先頭3文字などとは言わず、 # 完全一致にしましょう。 -- 土村 展之 From uchiyama @ appi.keio.ac.jp Fri Sep 30 07:50:30 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Fri, 30 Sep 2005 07:50:30 +0900 (JST) Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: References: <20050929212639E.tutimura@nn.iij4u.or.jp> <20050929.230839.00737996.uchiyama@appi.keio.ac.jp> Message-ID: <20050930.075030.00739290.uchiyama@appi.keio.ac.jp> From: Nobuyuki Tsuchimura Subject: Re: GSUB による縦書フォント Date: Fri, 30 Sep 2005 01:25:47 +0900 > くどいようで申し訳ないのですが、 > これは、vfontmap の書き方で言うと、TFM エントリ名に、 > 現在は min とか goth とか jis とかたくさん書いていますが、 > これらが rml と gbm に置き換えられるということなのでしょうか? > そうだとすると、大変嬉しい知らせです。(^^) そうです. min10.vf などを経由して, すべて rml を使うことになります. rml.tfm は, 全角等幅の情報をもっていて, 実際に描画に使うフォントと同じ 情報をもちますから, ソース中のメトリックが違うことを補正ルーチンが不要 になります. > > OpenType と TrueType の判定が必要ですが, どうしますか. vfontmap に記述 > > するフォントファイル名から, 拡張子を省略できなくなりせんか. FreeType > > を介してフォントからデータを取得するので, フォントに直接アクセスする > > dvipdfmx とは事情が異なります. > > 拡張子は書いてもらってもよいと思ってました。 > 私の CMap サポートの目的のひとつは、Unicode では表しきれない、 > 新旧の JIS の使い分けなんかを想定してましたので、 > AdobeJapan-1 でアクセスするつもりでいました。 Unicode で表せないものは, CID/GID でグリフにアクセスするしかありません. Adobe-Japan1 に変換したら, OpenType では CID でアクセスすることができ ますが, TrueType では結局 unicode に変換されてしまうのですから, 例え unicode にないグリフを TrueType が持っていてもアクセスできません. TrueType に対しては, GID でアクセスする Identity-{H|V} を使う方が自然 でしょう. GID でアクセスするときには, TrueType では, フォント毎にバラ バラです. しかし, GID でアクセスする用途では, min10 のように実体のない フォントではなく, 特定のフォントを念頭においているはずです. OTF packgae の \CID ように Adobe の配列が前提になっているものを OpenType がないので, しかたなく TrueType で表示する場合には, otf-cjmr-h.vf などを用意して, GID に変換するべきでしょう. > {H,V} はやめることで合意しますので、 > JIS-{H,V} にするか ISO-2202-JP-{H,V} にするか、 > もっとよいキーワードがあるか、 > というところで相談させていただきたいです。 > 私は JIS-{H,V} で十分と思っています。 JIS-{H|V}でよいような気がします. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University From tutimura @ nn.iij4u.or.jp Fri Sep 30 14:53:27 2005 From: tutimura @ nn.iij4u.or.jp (Nobuyuki Tsuchimura) Date: Fri, 30 Sep 2005 14:53:27 +0900 Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050930.075030.00739290.uchiyama@appi.keio.ac.jp> References: <20050929.230839.00737996.uchiyama@appi.keio.ac.jp> <20050930.075030.00739290.uchiyama@appi.keio.ac.jp> Message-ID: <20050930145327S.tutimura@nn.iij4u.or.jp> 土村です。 ft2vert.{c,h} を commit しました。 freetype-2.1.10 を前提として、 GSUB の vrt2/vert feature を読み取り、 縦書フォントの gid を得ることができます。 xdvi とは独立に書いたので、他のアプリでも使えると思います。 現在はわざと大量のデバッグコードをいれてあります。 バグがないとわかれば、シェイプアップします。 また freetype-2.1.9 以前でもエラーにはならないようにしてあります。 ------------ xdvi からもテストで使えるようにしました。 freetype-2.1.10 でビルドして(Makefile は適宜修正して下さい)、 TrueType フォントをご用意下さい。 vfontmap には ----- /usr/X11R6/lib/X11/fonts/TrueType/sazanami-mincho.ttf tmin cidv jisv cidv ----- などと、書いていただいて、縦書の文章を見ます。 OpenType フォントなら正常になるところですが、 TrueType フォントを使っているので、役物や拗音が化けます。 次に vf2ft.c の 1373行からの3行のコメントをはずして 有効にします。代わりに、直前の2行をコメントにします。 (switch 文中の defalt: ラベルの直後です。) この状態で make すると、役物や拗音が正常になるはずです。 CoverageFormat = 1 GlyphCount = 1ea GlyphCount = 1ea などというデバッグ情報も stdout に大量に表示されるはずです。 OpenType フォントで試していただいてもよいですが、 見掛け上の変化はないので、テストとしては面白くありません。 もし文字化けが起こるようだと、 freetype-2.1.10 をちゃんと使えてるかどうか、 確認してください。ヘッダの include とライブラリ freetype-2.1.10/objs/.libs/libfreetype.a をリンクできているかの2点がポイントになります。 手元では、以下のフォントで試しました。 sazanami-gothic.ttf sazanami-mincho.ttf lxgothic.ttc lxgothub.ttc lxmgoth.ttc lxmincho.ttc lxpop.ttc dfbrr7.ttc dffry2.ttc dfkai7.ttc dfminc.ttc dfpost7.ttc さざなみ2書体とリコーの LX 5書体でうまく動いています。 Dyna フォントの DF 5書体には、GSUB テーブルがないようで、 dvipdfmx でも変になります。これはしょうがないでしょう。 --------- ある程度動作確認していただけたら、 →vfontmap の書式変更 →内部処理の簡略化(不要ルーチンの削除) という順序で作業していくのがよいと思います。 ----- 土村 展之 Nobuyuki Tsuchimura From uchiyama @ appi.keio.ac.jp Fri Sep 30 22:12:03 2005 From: uchiyama @ appi.keio.ac.jp (Takanori Uchiyama) Date: Fri, 30 Sep 2005 22:12:03 +0900 (JST) Subject: GSUB =?iso-2022-jp?B?GyRCJEskaCRrPUQ9cSVVJSklcyVIGyhC?= In-Reply-To: <20050930145327S.tutimura@nn.iij4u.or.jp> References: <20050930.075030.00739290.uchiyama@appi.keio.ac.jp> <20050930145327S.tutimura@nn.iij4u.or.jp> Message-ID: <20050930.221203.00740014.uchiyama@appi.keio.ac.jp> Office 2004に付属の MS Micho.ttf, MS PMincho.ttf, MS Gothic.ttf, MS PGothic.ttf, Mac OS Xに付属のヒラギノ6書体で動作確認がとれました. -- Takanori Uchiyama, Ph.D. Dept. Applied Physics & Physico-Informatics, Fac. Science & Technology, KEIO University