vfontmap

Takanori Uchiyama uchiy****@appi*****
2005年 9月 23日 (金) 18:45:59 JST


From: Nobuyuki Tsuchimura <tutim****@nn*****>
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



Xdvi-users メーリングリストの案内
Back to archive index