M+フォントの行間を手動で設定する方法

あらすじ M+ FONTS の行送り設定について

M+フォントをfontforgeで編集する。エレメント(E)>フォント情報(F)>OS/2>メトリック を開いて、オフセットを指定のチェックを外して絶対値を指定する。Win Ascent/Decent がWindows用、hheaテーブルでの高さ/深さがMac用の設定。両方に同じ値を指定すればいいと思うけど、hheaテーブルでの深さは符号が逆で負の値を指定する。

次のfontforgeスクリプトでも同様の設定ができる。各数値は現時点でのM+ 1p Regularの値にした。適宜変える。M+のビルド時に指定したいときは /scripts/set_fontnames.tmpl の末尾にでも追記すればよい。

SetOS2Value("WinAscentIsOffset"   , 0)
SetOS2Value("WinDescentIsOffset"  , 0)
SetOS2Value("HHeadAscentIsOffset" , 0)
SetOS2Value("HHeadDescentIsOffset", 0)
SetOS2Value("WinAscent"   , 1075)
SetOS2Value("WinDescent"  ,  320)
SetOS2Value("HHeadAscent" , 1075)
SetOS2Value("HHeadDescent", -320)
SetOS2Value("HHeadLineGap",   90)