M+ OUTLINE FONTSをストロークフォント化する (1)

M+ OUTLINE FONTS はフリーのアウトラインフォントだ。これをもとにストロークフォントを生成したい。
アウトラインフォントが輪郭(アウトライン)でグリフを表現しているのに対して、ストロークフォントは中心線(ストローク)でグリフを表現する。アウトラインフォントが一般にディスプレイや印刷に用いられるのに対し、ストロークフォントはCADシステムやプロッターなどで使用されているらしい。
ストロークフォントを生成するのに、一番細いウェイト thin のデータを使う。M+ OUTLINE FONTSのcvsリポジトリからデータを持ってきて、スクリプトでグリフごとに分割済みのデータ(フォントを生成するときのwork.d/splitted/thin)を用意する。
アウトラインをストロークに変換する方法:

  1. アウトラインで表現された線の端を探す
  2. アウトラインを2本のパスに分割する
  3. 2本のパスの中間を取る

f:id:mandel59:20120322000450p:plain
ただし、実際のデータには折れ線や交差した線について考えないといけない。
続く