フォント Font Forge 新しいページはコチラ
提供: yonewiki
(→エラー) |
(→不具合) |
||
41行: | 41行: | ||
FontForgeの不具合で半角文字を1文字として考えて、全角は2文字になるみたいな不具合があります。この場合、フォントの設定方法は一文字づつがもっているフォントの文字幅をすべて調整する必要があります。これは不具合とも関係なく実施しなければならない日本語圏特有の手法になります。一文字づつの幅って大変そうって感じですが、複数のフォントを大量に選択した状態で文字幅は設定できます。アウトラインエディタでみたときの細い黒い線がそうです。半角は1024。全角は2048に設定するのが一般的です。一文字の大きさEMは2048となります。文字の高さは、高さと深さを足して2048になっていればよいです。英文字特有のベースラインという考え方がありまして、これを考慮する必要があります。 | FontForgeの不具合で半角文字を1文字として考えて、全角は2文字になるみたいな不具合があります。この場合、フォントの設定方法は一文字づつがもっているフォントの文字幅をすべて調整する必要があります。これは不具合とも関係なく実施しなければならない日本語圏特有の手法になります。一文字づつの幅って大変そうって感じですが、複数のフォントを大量に選択した状態で文字幅は設定できます。アウトラインエディタでみたときの細い黒い線がそうです。半角は1024。全角は2048に設定するのが一般的です。一文字の大きさEMは2048となります。文字の高さは、高さと深さを足して2048になっていればよいです。英文字特有のベースラインという考え方がありまして、これを考慮する必要があります。 | ||
+ | |||
+ | ですから、メニュー[エレメント]-[フォント情報]の[一般情報]のタブは高さ+深さが2048。EM大きさが2048 輪郭を拡大縮小はOn 下線の位置は-256 オーバーラインを意味するHeightは102くらいが一般的です。縦書きメトリックも是非Onにしたいものです。 | ||
+ | |||
+ | |||
+ | [OS/2]のタブにある[その他]タブでOS/2バージョンを1選択することで、不具合を回避して、きちんと文字幅どおりにフォントが構成されます。PFMファミリーの値はセリフでよいです。これが国際標準の扱いに準じた情報です。そのかわり、[Panose]タブでは幅の比率で等幅を選択すると割とうまくいきます。あとはフォント名としての等幅は太字や斜体と同じ扱いで名前を付ければたいていのアプリで分類がうまく作動します。 | ||
+ | |||
+ | |||
+ | しかし、バージョン1を選択してもうまくいかないケースでは、大変ですがttf/otf/ttc/otcフォントファイルを作成してから、バイナリ―をいじる必要が出てきます。実際はfontファイルからcmapなどの情報を抜き出すttxコマンドでフォント情報を取り出して、その情報を編集して、また再結合させるという手順になります。 | ||
+ | |||
+ | |||
+ | ttxの入手は[[PDF_内部構造_テキスト#.2FEncoding|コチラ]]の記事で説明していますので省略します。フォントファイルのあるフォルダへ移動してから以下のコマンドを実行します。$env:windir\Fontsに移動してしまうと、ファイルの操作がやりにくくなるので、フォントフォルダからファイルを作業用にどこかのディレクトリコピーして、そこでやるのがいいと思います。 | ||
+ | |||
+ | |||
+ | ttx -t OS/2 MeiryoKe_Gothic.ttf | ||
+ | |||
+ | |||
+ | のようにするとフォントに含まれるOS/2テーブルという部分が抽出できます。上記の例ではMeiryoKe_Gothic.ttxというファイル名になります。 | ||
+ | |||
+ | |||
+ | 出来上がったttxテキストを開くとxAvgCharWidth=nnnnというようなnに数字が当てられた部分がみつかると思います。ここのnnnnの値を1024のような半角文字の幅に該当する値にして保存します。 | ||
+ | |||
+ | |||
+ | そして | ||
+ | |||
+ | ttx -m MeiryoKe_Gothic.ttf MeiryoKe_Gothic.ttxとして、再度結合して、フォントファイルをインストールします。Windows10だとフォントファイルを右クリックして全ユーザにインストールとかですね。 | ||
+ | |||
+ | |||
+ | これでうまくいくといいのだけど。 | ||
=='''エラー'''== | =='''エラー'''== |