トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

フォントの合成

参考

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 この値は無視されることが多いので高さと深さで調整する

wiki.cgi?action=ATTACH&page=%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%B9%E7%C0%AE&file=textpg%5Fintro%5F2x%2Ejpg

 ベースにするフォント(Migu1M)の調整

  1. Migu1MをFontForgeで開く
  2. Em Sizeを変更
    1. エレメント -> フォント情報 -> 一般情報
      1. Em Size:2048
      2. 決定するとサイズが変更される
  3. 高さ、深さ等の変更
    1. エレメント -> フォント情報 -> 一般情報
      1. 高さ:1521(変更する前の高さを記録しておく)
      2. 深さ:527
      3. 下線の位置:-194
      4. Height(下線の太さ):144
  4. 行間の設定
    1. エレメント -> フォント情報 ->OS/2 -> メトリック
      1. Win Ascent:1721(行間を調整のため 1521 + 200)
      2. Win Descent:627(行間調整のため 527 + 100)
      3. 組版上の高さ(typo Ascent):1521(この値は一般情報のEm Sizeや高さ、深さに影響するので注意)
      4. 組版上の深さ(typo Descent):-527
      5. 組版上の行間(typo Line Gap):300
      6. HHead Ascent:1721(行間調整のため 1521 + 200)
      7. HHead Descent:-627(行間調整のため -(527 + 100))
      8. HHead Line Gap 0
      9. VHead Column Spacing:0
    2. エレメント -> フォント情報 ->OS/2 -> 上つき/下つき
      1. 下付き文字
      2. サイズ X:1434 Y:1331
      3. オフセット X:0 Y:287
      4. 上つき文字
      5. サイズ X:1434 Y:1331
      6. オフセット X:0 Y:977
      7. 取り消し線
      8. サイズ:102 (太字の場合は194)
      9. 位置:512
  5. 文字の位置調整
    1. 高さと深さを変更したことで、上がはみだしているためフォント全体を移動する
    2. 全てのフォントを選択
    3. エレメント -> 変形 -> 移動
      1. Origin:グリフの原点
      2. 移動: X:0 Y:-240 (1521-高さを変更する前に記録したおいた高さ)
  6. 同様にBold、Italic、BoldItalicを作成
    1. Italicは必要に応じて少し傾ける
    2. エレメント -> 変形 -> 回転
      1. Origin:グリフの原点
      2. 回転: 3度 時計回り
    3. エレメント -> フォント情報 -> 一般情報
      1. イタリックの傾き -11度
  7. TTF名の設定
    1. エレメント -> フォント情報 -> TTF名
      1. ファミリー、サブファミリー、フルネームを右クリックして、PostScript名と揃えるを選択

 Consolasの調整

Em Sizeが既に2048になっているが、一つ一つの文字幅が1126になっているので調整する。

1126の幅のまま1024にする場合

文字のバランスは変わらないが1024をはみ出るため少し窮屈な感じがする

  1. Regular, Boldの調整
    1. 全ての文字を選択
    2. エレメント -> 変形 -> 移動
      1. 移動 X軸:-51 ( (1126 - 1024) / 2 )
    3. メトリック -> 幅を設定
      1. 幅:1024
  2. Italic、Bold-Italicの調整
    1. 移動は行わず、幅の調整のみを行う
    2. メトリック -> 幅を設定
      1. 幅:1024

1024に収まるように縮小する場合

文字間はあるが少し小さく感じる

  1. 全ての文字を選択
    1. エレメント -> 変形 -> 拡大縮小
      1. Origin:グリフの原点
      2. 拡大縮小 X:91% Y:100%

 2つのフォントを合成する

  1. ベースにするMigu1M を開く
  2. Consolasに変更したい文字を選択(ASCII文字を全て選択)して、クリア
  3. エレメント -> フォントの統合
  4. Consolasを選択
  5. Italic、Bold、Bold-Italicも同様に作成
    1. フォント名に「-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]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2021年01月12日 21時04分57秒