M+ OUTLINE FONTS グリフの合成について

グリフを正しい位置で合成するためにはアンカーポイントの設定が必要です。

CVSにアンカーポイントに対応するためのスクリプトをコミットしました。
アンカーポイントについては、fontforgeに説明があります。
http://fontforge.sourceforge.net/ja/overview.html#Anchors

アンカーポイントのデータは、
mplus_outline_fonts/svg.d/latin_proportional1/anchors
mplus_outline_fonts/svg.d/latin_clear1/anchors
に置いてあります。現在のデータは数文字分だけですが、JIS X 0213の字のため
のデータが含まれています。

Re: 結合文字対応スクリプト (M+ OUTLINE FONTS 612) - M+ FONTS - SourceForge.JP

アンカーポイントをまだ設定していないグリフはただしく合成できません。

æ̀ ɔ̀ ɔ́ ʌ̀ ʌ́ ə̀ ə́ ɚ̀ ɚ́
OK: â ĉ ê
NG: b̂    d̂

f:id:mandel59:20131219012341p:plain

anchorsファイルは次のような、グリフ名とウェイトごとのアンカーポイントの座標が並んだファイルになっています。

@lookup marklookup1 \mark
@lookupflag IgnoreLigatures
@script DFLT
@script latn
@script grek
@script cyrl
@markClass @Top
#########|---black--|---heavy--|---bold---|--medium--|--regular-|---light--|---thin---|
#########|   x |  y |   x |  y |   x |  y |   x |  y |   x |  y |   x |  y |   x |  y |
gravecomb   500  590   500  590   500  590   500  590   500  590   500  590   500  590
acutecomb   500  590   500  590   500  590   500  590   500  590   500  590   500  590
uni0302     500  590   500  590   500  590   500  590   500  590   500  590   500  590
tildecomb   500  590   500  590   500  590   500  590   500  590   500  590   500  590
uni0304     500  590   500  590   500  590   500  590   500  590   500  590   500  590
uni0306     500  590   500  590   500  590   500  590   500  590   500  590   500  590

FontForgeからアンカーポイントを確認できます。

f:id:mandel59:20131219013748p:plain