はじめに
InkscapeとFontforgeを使ってフォント(TTFなど)を作ります。
使用するもの
書いてあるVer.などはこちらで導入した環境。
変換スクリプトのインストール
-
サイトからZIPでダウンロード。展開。
-
サイトに書いてある通り、コマンドプロンプト(DOS窓)でインストール。
-
npm install -g svg2sfd
いろいろ必要なパッケージがあれば自動的に取得するらしい。
-
インストール後、nodeとか打って「コマンドが見つからない」以外のエラーが出ればOK。
変換元SVGデータの作成
サンプルとして置いてあるsvgファイルをベースにするのがいいかもしれない。
ドキュメント設定
-
ページ カスタムサイズ(16384x10240 px)
-
グリッド 128x128 px、メイングリッド8ごと
文字はメイングリッドのマスごとに1文字デザインし、パスのidで割り当てる文字コードを指定する。
もしすでにあるフォントを参照しながら文字コードを設定する場合、
Fontforgeの「表示」→「グリフへのラベル付け」→「Unicodeによる」を選ぶと作業しやすい。
Inkscapeのキャンバスから、グルーピングした1文字ずつ選択し、XMLエディタでidを選択、文字コード入力、Ctrl+Enter。
文字コードは16進数4桁。たぶん大小文字は関係ない。
その他
svgファイルをテキストで開くかXMLエディタで要素を追加していく。
-
ルートにあるsvgノード(id="svg2")に以下の属性を追加
-
sfdSplineFontDB="3.0"
-
sfdEncoding="ISO8859-1"
-
sfdPadding="50"
-
sfdDescent="256"
-
svg(id=svg2)→sodipodi:namedview(id=base)→inkscape:grid のidを変更
-
パスがぶらさがっているinkscape:g要素を開く
-
gタグの開きと閉じのタグ行を削除。<path **>がルートの<svg>にぶら下がるように修正する
変換
変換成功とか出ないのでわかりにくい…
Fontforgeでフォントファイル化
まだ試していないのでまだ勘。
-
出力されたsfdファイルをFontforgeで開く
-
エンコーディングやフォント名、ファミリ名など設定してTFFなどご所望の形式で出力
最終更新:2016年08月28日 17:56