Tex_GS_Defoma の変更点 - アールメカブ

アールメカブ


Tex_GS_Defoma の変更点


[[Texの備忘録]]

以下,[[ここ:http://longrange.cocolog-nifty.com/blog/2008/12/ghostscript-ubu.html]]の引用

---------------
日本語表示に必要なpackage

* gs-cjk-resource [#x03cb156]
* cmap-adobe-japan1 [#l9b36586]
* cmap-adobe-japan2 [#f2b75f24]
 gs-cjk-resource 
 cmap-adobe-japan1 
 cmap-adobe-japan2 

intrepidではこれらを導入しても日本語が表示できない。

[対処]

CIDFont用の設定ファイルcidfmapは

* /usr/share/ghostscript/8.61/lib/cidfmap [#ha536b13]
* /var/lib/defoma/gs.d/dirs/fonts/cidfmap [#i89fc5ec]
 /usr/share/ghostscript/8.61/lib/cidfmap
 /var/lib/defoma/gs.d/dirs/fonts/cidfmap 

と2箇所に存在するが、後者のdefoma以下のcidfmapは読み込まない。

hardyではdefoma以下の

* /var/lib/defoma/gs.d/dirs/fonts/Fontmap [#cc7e87e1]
* /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap [#l96918d6]
 /var/lib/defoma/gs.d/dirs/fonts/Fontmap 
 /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap 

が読まれているが、8.10(intrepid)では、

* /var/lib/defoma/gs.d/dirs/fonts/Fontmap [#x0f9f3be]
 /var/lib/defoma/gs.d/dirs/fonts/Fontmap 

のみ。

元々、ghostscriptではCIDFnmapなどという設定ファイルは使わなくなったはずで、
これは古いcjk patchの名残りであろうか。

intrepidでは/var/lib/defoma/gs.d/dirs/fonts/CIDFnmap を読まなくなっために、
日本語が表示できなくなったみたい。/usr/share/ghostscript/8.63/lib/cidfmapを修正すると
日本語が表示できるようになる。(/var/lib/defoma/gs.d/dirs/fonts/cidfmapの内容をコピー)

正しい解決法は/var/lib/defoma/gs.d/dirs/fonts/cidfmapを読みこむようにghostscriptを修正することだが、
詳細は不明。

[未解決]

defomaによるフォント設定との関係がわからない。

[補足] Ghostscriptでの日本語フォントの扱い

** CID Fontの扱い方 [#n131311c]

CID Fontの扱い方
http://www.ghostscript.com/doc/current/Use.htm#CIDFontSubstitution

CID Font ResourceとCMapを組み合わせて利用し、Postscript文書のなかでは、
/CIDFont-CMap findfont
といった命令を用いる。

CID Font Resourceは/Resource/CIDFontの下に置く。通常のFont検索パスでは
見つけられない。

** CID Font substitution [#mfea2f66]
CID Font substitution 

CID Fontの置き換えとTrueTypeでの代用。

ghostscriptの設定ファイルlib/cidfmapで指定する。

(1) 簡単な置換
/Substituted /Original ;
行末に必ず空白を開けて;

(2) Truetypeフォントで置き換え
/Substituted << keys&values >> ;

Key Type Description
/Path string TrueTypeフォントファイルへのパス情報。絶対パスでもよいが、-dSAFER
オプションが指定されているときには、許可された場所にフォントファイルを置かなくてはいけない。
/FileType name 必ず /TrueType.
/SubfontID integer (省略可)
TTC等のフォントコレクション内のインデックス。Pathの指定先がコレクションでないときは無視される。コレクション内の最初のフォントのインデックスはゼロ。省略時はゼロ。
/CSI array of 2 or 3 elements (必須)
CIDSystemInfoを構築するための情報。2つの要素が指定されたとき、最初の要素はOrderingをあらわす文字列、2番めはSupplementをあらわす数値。
3つの要素が指定されたとき、最初の要素はRegistryをあらわす文字列、2、3番めはOrderingとSupplement。

例

/MS-Mincho << /FileType /TrueType /Path
(C:/WINDOWS/fonts/msmincho.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> ;
/Ryumin-Light /MS-Mincho ;