参考
http://slashdot.jp/~A7M/journal/386344
http://www.geocities.jp/poe99/XP/FontForge/page03/index.htm
http://edt1023.sayya.org/fontforge/ja/overview.html
http://fontforge.sourceforge.net/ja/
http://d.hatena.ne.jp/muni62/20050820/1124550339
https://developer.apple.com/library/archive/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html
FontForge
フォントの合成はフリーの FontForge を使うと便利。
Windowsでも利用可能。PortableAppsにポータブル版もある。
Linuxでの利用をオススメする。
ConsolasとMigu1Mの統合
はじめに
※Consolasはライセンス的に取扱注意。
Migu1MをベースにASCII文字をConsolasにする。
高さや深さ、アンダーラインの位置はConsolasに合わせる。
最終的なサイズ
項目 | 設定値 | 備考 |
---|---|---|
Em Size | 2048 | 幅 半角1024、全角2048 |
高さ | 1521 | |
深さ | 527 | |
下線の位置 | -194 | |
下線の太さ | 144 | |
行間 | 300 | Win Ascent、Win Descentは上に200、下に100の行間を開ける。HHeadも同様。 TypoはLine Gapで行間を開ける。 |
Win Ascent | 1721 | 1521 + 200。上に200、下に100の行間を開ける |
Win Descent | 627 | 527 + 100。上に200、下に100の行間を開ける |
Typo Ascent | 1521 | |
Typo Descent | -527 | |
Typo Line Gap | 300 | |
HHead Ascent | 1721 | 1521 + 200。上に200、下に100の行間を開ける |
HHead Descent | -627 | -527 - 100。上に200、下に100の行間を開ける |
HHead Line Gap | 0 | この値は無視されることが多いので高さと深さで調整する |
ベースにするフォント(Migu1M)の調整
- Migu1MをFontForgeで開く
- Em Sizeを変更
- エレメント -> フォント情報 -> 一般情報
- Em Size:2048
- 決定するとサイズが変更される
- エレメント -> フォント情報 -> 一般情報
- 高さ、深さ等の変更
- エレメント -> フォント情報 -> 一般情報
- 高さ:1521(変更する前の高さを記録しておく)
- 深さ:527
- 下線の位置:-194
- Height(下線の太さ):144
- エレメント -> フォント情報 -> 一般情報
- 行間の設定
- エレメント -> フォント情報 ->OS/2 -> メトリック
- Win Ascent:1721(行間を調整のため 1521 + 200)
- Win Descent:627(行間調整のため 527 + 100)
- 組版上の高さ(typo Ascent):1521(この値は一般情報のEm Sizeや高さ、深さに影響するので注意)
- 組版上の深さ(typo Descent):-527
- 組版上の行間(typo Line Gap):300
- HHead Ascent:1721(行間調整のため 1521 + 200)
- HHead Descent:-627(行間調整のため -(527 + 100))
- HHead Line Gap 0
- VHead Column Spacing:0
- エレメント -> フォント情報 ->OS/2 -> 上つき/下つき
- 下付き文字
- サイズ X:1434 Y:1331
- オフセット X:0 Y:287
- 上つき文字
- サイズ X:1434 Y:1331
- オフセット X:0 Y:977
- 取り消し線
- サイズ:102 (太字の場合は194)
- 位置:512
- エレメント -> フォント情報 ->OS/2 -> メトリック
- 文字の位置調整
- 高さと深さを変更したことで、上がはみだしているためフォント全体を移動する
- 全てのフォントを選択
- エレメント -> 変形 -> 移動
- Origin:グリフの原点
- 移動: X:0 Y:-240 (1521-高さを変更する前に記録したおいた高さ)
- 同様にBold、Italic、BoldItalicを作成
- Italicは必要に応じて少し傾ける
- エレメント -> 変形 -> 回転
- Origin:グリフの原点
- 回転: 3度 時計回り
- エレメント -> フォント情報 -> 一般情報
- イタリックの傾き -11度
- TTF名の設定
- エレメント -> フォント情報 -> TTF名
- ファミリー、サブファミリー、フルネームを右クリックして、PostScript名と揃えるを選択
- エレメント -> フォント情報 -> TTF名
Consolasの調整
Em Sizeが既に2048になっているが、一つ一つの文字幅が1126になっているので調整する。
1126の幅のまま1024にする場合
文字のバランスは変わらないが1024をはみ出るため少し窮屈な感じがする
- Regular, Boldの調整
- 全ての文字を選択
- エレメント -> 変形 -> 移動
- 移動 X軸:-51 ( (1126 - 1024) / 2 )
- メトリック -> 幅を設定
- 幅:1024
- Italic、Bold-Italicの調整
- 移動は行わず、幅の調整のみを行う
- メトリック -> 幅を設定
- 幅:1024
1024に収まるように縮小する場合
文字間はあるが少し小さく感じる
- 全ての文字を選択
- エレメント -> 変形 -> 拡大縮小
- Origin:グリフの原点
- 拡大縮小 X:91% Y:100%
- エレメント -> 変形 -> 拡大縮小
2つのフォントを合成する
- ベースにするMigu1M を開く
- Consolasに変更したい文字を選択(ASCII文字を全て選択)して、クリア
- エレメント -> フォントの統合
- Consolasを選択
- Italic、Bold、Bold-Italicも同様に作成
- フォント名に「-Bold」、「-Italic」、「-BoldItalic」を追記する。
SourceCodePro と Migu1M の統合
http://mix-mplus-ipa.sourceforge.jp/
http://sourceforge.net/projects/sourcecodepro.adobe/
流れ
○フォントを準備
・SourceCodePro-Regular.ttf、SourceCodePro-Bold.ttf
・migu-1m-regular.ttf、migu-1m-bold.ttf
○フォントのEmを統一
Emを 1000 で統一する。(半角幅:500、全角幅:1000)
・SourceCodePro の 調整
・メニュー -> File -> 開く で SourceCodePro を開く
・メニュー -> エレメント -> フォント情報
・適当なフォントを表示して右端(幅)を確認する
・たぶん、600 になっているので 500 になるように以下の手順で調整する
・サイズを変更する文字を選択する
・選択する文字はASCII文字全てで良いけど、場合によっては「!"'()*+,-./:;<=>?[\]^`{|}~」などの記号はサイズを変えないほうがいいかも
・メニュー -> エレメント -> 変形 -> 変形
・Orgin:グリフの原点を選択
・拡大縮小を選んで、 X:83.4 Y:100 で実行
・全てのASCII文字を選択する
・メニュー -> メトリック -> 幅を設定
・グリフ幅の設定値:500(関係ない文字を選択しないように注意)
・メニュー -> メトリック -> 幅の中央に
・フォントの情報を編集する
・メニュー -> エレメント -> フォント情報
・名前タブ
・SourceCodePro-Migu1M-Bold とか。
・一般情報タブ
・高さ:750
・深さ:250
・Em Size:1000 (高さ+深さ)
・下線の位置:-100
・Height:50
・メトリック
・Win Ascent:-195
・Win Descent:-90
・hheaの高さのオフセット:-195
・hheaの深さのオフセット:90
・上記以外は、全て 0
・メニュー -> ファイル -> ファイルの出力 で ttf として出力しておく
・migu-1m の 調整
・全角:1000、半角:500 になっているはずなので特に調整は必要ない
・もし調整する場合は SourceCodePro の調整を参考に調整
・メニュー -> ファイル -> ファイルの出力 で ttf として出力しておく
○SourceCodePro に migu-1m を合成(マージ)する
・メニュー -> File -> 開く で 調整した SourceCodePro を開く
・メニュー -> エレメント -> フォントの統合
・調整した migu-1m.ttf を選択する
※すでに登録されている文字は統合の対象にならないので注意
※登録したフォントを削除するには削除する文字を選んで、編集 -> クリア
・フォントの出力
メニュー -> ファイル -> ファイルの出力
○上記の操作を Bold も必要な場合は同じ作業を繰り返す。
※フォント名の最後は「-Bold」にすると良いみたい。
Consolas と IPAG の統合
流れ
○フォントを準備
・Consolasフォント(Conosola.ttf, Consolab.ttf, Consolai,ttf, Consolaz.ttf)
・M+2VM+IPAG-circle.ttf
○フォントのEmを統一
Emを2048で統一する。(半角幅:1024、全角幅:2048)
・Consolas の 調整(標準、ボールド、イタリック、ボールドイタリックの全てを調整する)
・メニュー -> File -> 開く でConsolasを開く
・メニュー -> エレメント -> フォント情報
・一般情報 で Em を確認。 2048じゃなければ、2048に設定
・フォント情報の画面を閉じて、元の画面に戻る
・適当なフォントを表示して右端(幅)を確認する
・もし、幅が 1024 じゃなければ以下の手順でフォントのサイズ調節する
・サイズを変更する文字を選択する
・選択する文字はASCII文字全てで良いけど、場合によっては「!"'()*+,-./:;<=>?[\]^`{|}~」などの記号はサイズを変えないほうがいいかも
・メニュー -> エレメント -> 変形 -> 変形
・Orgin:グリフの原点を選択
・拡大縮小を選んで、 幅が 1024 になるような拡大縮小率を X にだけ入れる。Yは 100% のままで実行
・今度は、全てのASCII文字を選択する
・メニュー -> メトリック -> 幅を設定
・グリフ幅の設定値:1024(この時、文字が登録されていないものを選択していると、スペースが登録されるので注意)
・メニュー -> メトリック -> 幅の中央に
・フォントの情報を編集する
・メニュー -> エレメント -> フォント情報
・名前タブ
・Consolas_IPAG-Bold とか。
・フォント名は最後に「-Bold」を付けることによりボールド用フォントとして認識されるようだ。
・一般情報タブ
・高さ:1521
・深さ:527
・Em Size:2048 (高さ+深さ)
・下線の位置:-626
・Height:144
・2次スプラインをチェック
・OS/2タブ
・その他
・OS/2 Versionを1に設定する <- 他の値を設定すると全角文字の文字間が開きすぎることがある
・メトリック
・Panoseの幅の比率をMonoscapedに変更
・Win Ascent:-200
・粗板上の行間アキ:350
・hheaの高さのオフセット:-200
・hheaテーブルの行間アキ:350
・上記以外は、全て 0
・メニュー -> ファイル -> ファイルの出力 で ttf として出力しておく
・M+2VM+IPAG-circle の 調整
・メニュー -> File -> 開く でConsolasを開く
・メニュー -> エレメント -> フォント情報
・一般情報 で Em を確認。 2048じゃなければ、2048に設定
・フォント情報の画面を閉じて、元の画面に戻る
・適当なフォントを表示して右端(幅)を確認する
・半角文字の幅が 1024、全角の幅が 2048 になっていることを確認する
・メニュー -> ファイル -> ファイルの出力 で ttf として出力しておく
○Consolas に M+2VM+IPAG-circle を合成(マージ)する
・メニュー -> File -> 開く で 調整したConsolasを開く
・メニュー -> エレメント -> フォントの統合
・調整した M+2VM+IPAG-circle.ttf を選択する
※すでに登録されている文字は統合の対象にならないので注意
※登録したフォントを削除するには削除する文字を選んで、編集 -> クリア
・フォントの出力
メニュー -> ファイル -> ファイルの出力
○上記の操作を Bold、Italic、Bold Italic も必要な場合は同じ作業を繰り返す。
※フォント名の最後は「-Bold」「-Italic」「-BoldItalic」にすると良いみたい。
以下、最初にチャレンジした時のメモ
合成の方法(Consolas と IPAG の合成を例に)
流れ
1.合成元ファイルのEmを統一する
今回は2048で統一した。
半角の文字幅は1024
全角の文字幅は2048
2.FontForgeで新規フォントを作成
2.FontForgeでConsolas に IPAGを統合
2.1 メニュー -> File -> 開く で文字幅を調整したConsolasを開く
2.2 メニュー -> エレメント -> フォント情報
基本的にはいじらなくても良いが「OS/2タブのOS/2 Versionは1に修正する
○名前タブ
・フォント名は最後に「-Bold」を付けることによりボールド用フォントとして認識されるようだ。
○一般情報タブ
・高さ:1521
・深さ:527
・Em Size:2048 (高さ+深さ)
・下線の位置:-266
・Height:144
・2次スプラインをチェック
○OS/2タブ
・その他のOS/2 Versionを1に設定する(重要) <- 他の値を設定すると全角文字の文字間が開きすぎることがある
・Panoseの幅の比率をMonoscapedに変更
・Win Ascent、Win Decent、HHead Asscent Offset(hhead の高さ)、HHead Descent Offset(hhead の深さ)を設定
※基本的には全部0。行間を空けたいときは、Ascentを正、Decentを負にする。詰めたいときは逆。
3.合成
メニュー -> エレメント -> フォントの統合(Marge)
・新規フォントにConsolasを統合する
・IPAG を統合する
※すでに登録されている文字は統合の対象にならないので注意
※Consolas の方は全角文字が登録されていないので、Consolas、IPAGの順で登録すれば大丈夫
※登録したフォントを削除するには削除する文字を選んで、編集 -> クリア
4.フォントの出力
メニュー -> ファイル -> ファイルの出力
5.上記の操作を Bold、Italic、Bold Italic も必要な場合は同じ作業を繰り返す。
※フォント名の最後は「-Bold」「-Italic」「-BoldItalic」にすると良いみたい。
[カテゴリ: ツール > フォント]
[通知用URL]
Tweet
最終更新時間:2021年01月12日 21時04分57秒