Re: 和文TrueTypeフォントの欧文部分における、フォントサイズごとのTFMを作成する必要性について

名前: 北見 けん
日時: 2005-08-22 12:53:51
IPアドレス: 211.128.71.*

>>37600 ファイルサイズではなくデザインサイズのことですね? PKかTrueTypeかといった形式上の問題ではなく、 デザインサイズごとにプロポーションを細かく調整されたフォントを使うのか、 一つのものを単純に拡大縮小していろいろなサイズに流用するのかの違いだと思います。 後者ならデザインサイズごとのtfmは不要でしょう。 大友さんのやろうとしていることはこれですよね。 %%%%%%%%%%%%%%%%%%%%% 手元にメモを見つけたので載せてみます。参考になるでしょうか。 ttf2tfmで文字幅が正しくないTFMが生成される件についても触れています。 全く整理していないままですが。 %%%%%%%%%%%%%%%%%%%%% 和文フォントの8bit部分を利用する まず tfm に変換。 ttf2tfm c:\windows\fonts\msmincho.TTC -f 1 mspminA.tfm > ttf2tfm.log これだと文字幅がめちゃくちゃなので、ログファイル ttf2tfm.log を見る。 ログファイルの文字幅は正しいのでこれを利用して pl を作る。 pl の作り方 ログファイルの8bit部分を取り出す。 空白の塊をタブ文字に変換。 MS Excel に持ち込んで編集。 width が幅、lly が深さ、ury が高さを表す。 数値を1,000分の1倍する。 文字のコード、幅、高さ、深さだけ残して再びエディタへコピーする。 置換して 検索:^[^\t]+\f\t\f[^\t]+\f\t\f[^\t]+\f\t\f.+\f\n 置き換え:(CHARACTER H \0\n (CHARWD R \2)\n (CHARHT R \4)\n (CHARDP R \6)\n)\n (CHARCTER H コード (CHARWD R 幅) (CHARHT R 高さ) (CHARDP R 深さ) ) とする。 但し、Excel では16進のe0〜e9 までが指数扱いされて壊れてしまうので補正すること。 tftopl mspminA > mspminA.pl によって作っておいた pl に先に加工した分を移入する。 最後に tfm にして出来上がり。 pltotf mspminA 0.0115004I had to round some heights by units. これを C:\usr\local\share\texmf\fonts\tfm 以下 に移して準備完了。 LaTeX で使うには、 \DeclareFontFamily{OT1}{mspminA}{} \DeclareFontShape{OT1}{mspminA}{m}{n}{% <10> mspminA }{} などとしておいて、 \fontfamily{mspminA}\selectfont で使える。 dviout で見るために、 C:\usr\local\share\dviout\map\$user.map に mspminA "MS P明朝" shiftjis のようなエントリを加える。

この書き込みへの返事:

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