!!!参考 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, この値は無視されることが多いので高さと深さで調整する {{a_img wiki.cgi?action=ATTACH&page=%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%B9%E7%C0%AE&file=textpg%5Fintro%5F2x%2Ejpg,textpg_intro_2x.jpg,"target=_blank","style='width:300px;'"}} !!ベースにするフォント(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 +文字の位置調整 ++高さと深さを変更したことで、上がはみだしているためフォント全体を移動する ++全てのフォントを選択 ++エレメント -> 変形 -> 移動 +++Origin:グリフの原点 +++移動: X:0 Y:-240 (1521-高さを変更する前に記録したおいた高さ) +同様にBold、Italic、BoldItalicを作成 ++Italicは必要に応じて少し傾ける ++エレメント -> 変形 -> 回転 +++Origin:グリフの原点 +++回転: 3度 時計回り ++エレメント -> フォント情報 -> 一般情報 +++イタリックの傾き -11度 +TTF名の設定 ++エレメント -> フォント情報 -> TTF名 +++ファミリー、サブファミリー、フルネームを右クリックして、PostScript名と揃えるを選択 !!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」にすると良いみたい。 {{category2 ツール,フォント}}