あるロゴの一部を外字フォントにしたいので、Inkscapeでベクター画像作ってくれ と頼まれました。SVGフォントのことは全然わかりませんが、とりあえず作ってみたら「使えねぇ」と怒られてしまいました。
「親切で作ってやったのに、なにさー」と思いましたが、フォントとして登録する図形を作るのには注意することがあるようです。
アウトライン化できてない?
fig-1(左)が最初に作った図形(実際とは違うものですが)をノードツールで選択した状態です。
図形は内側の丸囲み文字と、外側の星型からなっています。
丸囲み文字は、文字部分を透過にするため、円オブジェクトを「パターン」にして、文字のパスとの「差分」をとっています。
フォントにするには、両者のパスを「統合」しないといけないらしいのですが、丸囲み文字のパスが円に沿っていないため、「統合」をすると、fig-1(右)のように星型の一部が消えてしまいます。
fig-1
円に沿うようなパスになってほしいのですが、できそうでできません。そこで、いったんfig-1(左)の図形をpng画像にエクスポートし、それをインポートしたものに対し、「ビットマップのトレース」を行うと、なんとか求めていた形になりました。(fig-2)
fig-2
もうちっと、簡単な方法があるような気がしますが、先方も「これだよ、これ」と満足したようなので今回はこれでよしとします。
外字フォントにするには
今回頼まれたのはここまでですが、この図形を外字フォントとして登録する方法を聞きかじった範囲で載せておきます。
1.InkscapeのSVGフォントエディターで、グリフを一個追加して、マッチング文字列に外字(ここではUnicodeの私用領域)のひとつを割り当てます。
2.作成したSVGフォントを、ttfフォントにコンバート(無料ツールがあるらしい)
しかしながら今回作成した外字はテキストベースでは使えたものの、PDFには出力されなかったそうです。結局イメージ置き換えになったとのこと。(だったら最初のでよかったじゃん)
いつかやってみたいフォント作り
今回の作業は中途半端なものでしたが、フォント作りに多少興味がわきました。でも日本語フリーフォントを作っている人は、膨大な量の文字を一個一個作ってるんでしょうか。だとしたら神ですね。