Re: 日本語ttfの半角部分の一利用法(たぶん解決・長文)

名前: 大友
日時: 2005-09-09 17:07:06
IPアドレス: 130.34.177.*

uchiyama様、石原様、角藤様、どうもありがとうございました。おかげさまでようやく出 来ました。 以下にOffice XP(Windows)付属のHGフォント、Windows付属のComic Sans MS、みかちゃん フォントの半角英数字を使う方法をまとめます。後日このあたりにでもまとめておく予定です。 (さらに暇があればTeX Wikiにもまとめたいところですが、一通りWebページで書きたい ことを書いてからそれらの記述をWiki用にまとめて書き直したいと考えています。それま で時間がかかると思いますので、Wikiにはそのときまで誰かお願いします。) 出力結果はこちらに置きました。 (フォントをすべて埋め込んであります。) 一見綺麗ですが、厳密な組版を目指すのであればTFMファイルをPLファイルに変換するなど して修正する必要があるかもしれません。 次をダウンロードします。ttf2tfmを含むttf2pkは角藤版pTeXディストリビューション内 に含まれています。(「TeXインストーラ3」を用いてもいいでしょう。) ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/win32/ttf2pk-w32.tar.gz 展開して出てきたbinとshareを適切にコピーします。(たとえば、C:\usr\local以下。) C:\usr\local\share\texmf\fonts\sfd\Unicode.sfdをカレントディレクトリにコピーして きます。その上で、次を実行します。 ttf2tfm C:\WINNT\Fonts\HGRGE.TTC -f 0 hgrge@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRGM.TTC -f 0 hgrgm@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRSMP.TTF hgrsmp@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRGY.TTC -f 0 hgrgy@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRSKP.TTF hgrskp@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRSGU.TTC -f 0 hgrsgu@Unicode@ ttf2tfm C:\WINNT\Fonts\HGRPP1.TTC -f 0 hgrpp1@Unicode@ みかちゃんフォントの場合は ttf2tfm C:\WINNT\Fonts\mikachanALL.TTC -f 0 mika@Unicode@ Comic Sans MSの場合は ttf2tfm C:\WINNT\Fonts\comic.ttf comic@Unicode@ も実行します。ここで、ttcでプロポーショナルフォントを用いたい場合はたいてい「-f 0」 を「-f 1」と指定すればうまくいくと思います。(フォントインデックスは実際にフォン トをダブルクリックすることでわかると思います。) ここで出来た大量のTFMファイルのうち、「〜00.tfm」のファイルをtexmf\fonts\tfm以下 に適当な名前のフォルダを作って分類でもしながらコピーします。(全部コピーしても実 害はありません。) 必要であればmktexlsrを実行します。 ttf2pkをインストールしたのであれば、texmf\fonts\map\ttf2pkにttfonts.mapがあるはず です。ここに -----------ここから------------------------------------------- % RICOH HG fonts (Microsoft Office XP OEM) hgrge@Unicode@ hgrge.ttc FontIndex = 0 hgrgm@Unicode@ hgrgm.ttc FontIndex = 0 hgrsmp@Unicode@ hgrsmp.ttf hgrgy@Unicode@ hgrgy.ttc FontIndex = 0 hgrskp@Unicode@ hgrskp.ttf hgrsgu@Unicode@ hgrsgu.ttc FontIndex = 0 hgrpp1@Unicode@ hgrpp1.ttc FontIndex = 0 % mikachan font mika@Unicode@ mikachanALL.ttc FontIndex = 0 mikap@Unicode@ mikachanALL.ttc FontIndex = 1 % Comic Sans MS comic@Unicode@ comic.ttf Fontindex=0 -----------ここまで------------------------------------------- と記入します。 texmf\fonts\map\dvipdfm\baseには -----------ここから------------------------------------------- % RICOH HG fonts (Microsoft Office XP OEM) hgrge@Unicode@ UniJIS-UCS2-H :0:hgrge.ttc -m <00> hgrgm@Unicode@ UniJIS-UCS2-H :0:hgrgm.ttc -m <00> hgrsmp@Unicode@ UniJIS-UCS2-H hgrsmp.ttf -m <00> hgrgy@Unicode@ UniJIS-UCS2-H :0:hgrgy.ttc -m <00> hgrskp@Unicode@ UniJIS-UCS2-H hgrskp.ttf -m <00> hgrsgu@Unicode@ UniJIS-UCS2-H :0:hgrsgu.ttc -m <00> hgrpp1@Unicode@ UniJIS-UCS2-H :0:hgrpp1.ttc -m <00> % Comic Sans MS comic@Unicode@ UniJIS-UCS2-H comic.ttf -m <00> -----------ここまで------------------------------------------- と記入します。上の設定でUniJIS-UCS2-Hを使っていますが、gs-cjkを使っていない限り通 常は入っていません。そこで、 http://www.ring.gr.jp/pub/text/TeX/ptex-win32/gs/ からadobe-cmaps-200204.zip と acro5-cmaps-2001.zipをダウンロードすることで必要と なるCMapをもらってきます。この中身をtexmf\fonts\cmapにコピーします。 acro5-cmaps-2001.zipの場合は展開先のフォルダに、adobe-cmaps-200204.zipの場合は展開先のフォルダの中のCMapフォルダの中にあります。 上書きするかどうか聞いてきたときは上書きします。mktexlsrを必要に応じて実行しま す。 あとは、ソースファイル中に、たとえばHG角ゴシックEの場合は \DeclareFontFamily{U}{hgrge}{} \DeclareFontShape{U}{hgrge}{m}{n}{% <-> s * hgrge00 }{} \fontencoding{U}\selectfont \fontfamily{hgrge}\selectfont のようにするか、 \font\hgrge=hgrge00 \hgrge のように記述して使います。TFMファイルはたくさんありますが、そのうち00と末尾にあ るものしか使わないようです。あとはplatex, dvipdfmxで処理します。DVIファイルで閲 覧する場合はdvioutで、メニューバーより[Option]→[Setup Parameters]の[Font2]タブ の[TEXSUBF:]という項目に「;^r\sfd\\」を追加して[SAVE]→[OK]とクリックする必要が あるかもしれません。(私は「TeXインストーラ3」を用いたせいか、自動設定されてました。) みかちゃんフォントについては、dvipdfmx処理時に ** WARNING ** Removed 8 null character(s) from fontname --> mikachan ** WARNING ** Removed 10 null character(s) from fontname --> mikachan-P というエラーメッセージが出力されます。 とりあえず以上で、見た目にもあまり崩れのない形で任意の半角英数字フォント の多書体が使えるようです。(他のTrueTypeフォントでもうまくいくかどうかはわかりま せんが。) メトリック上、何か問題や修正すべき点などありましたら、私が暇な時間にTFMファイルの 勉強ついでに修正を試みるかもしれません。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)