はじめに

フォントを作ったので、試しにこのブログで配布してみようと思います。

フォントについて

4方向にそれぞれすぼまったスタイルがあるフォントです。スタイル名はそれぞれ細くなっている方向を指して「上」「下」「左」「右」の4つとなっています。

シュッとした感じで変な形の割には意外と使いやすいんじゃないかなって勝手に思ってます。

ライセンス

ダウンロードページにも書いてありますが、以下のようになっています。

  • M+ FONTSを使用しています
  • 個人/商用ともに利用可能です
  • 利用報告の必要はありません
  • 再配布(Webフォントを含む)は認めておりません
  • 改変は認めておりません
  • ダウンロード/使用について、いかなる保証も行いません
  • 発生したいかなる損害についても、提供側は責任を負いません

使用する場合は必ず守ってください。

ダウンロードページ

こちらから。

おまけ話

せっかくこのブログなので、どうやって作ったかなど技術的な話をしようと思います。

自分でパスを引かないフォント作り

今回のフォント作りは一度も自分でパスを引きませんでした。フォントの確認にGlyphsは使いましたが、そこでもパスは引いていません。

全てプログラムで作成しました。つまり線が描けなくてもコードが書ければフォントが作れるんです!

では、どうやったか順に見ていきましょう。

仕様

元にしている「M+ FONTS」はTTFですが、このフォントでは(PostScript 形式の)OTFに変換してからベースとして使用しています。そのため、このフォントはOpenTypeのフォントです。

登録されているグリフは「M+ FONTS」から足しても引いてもいないので、「M+ FONTS」と同じものです。

グリフの加工

グリフの加工はPythonのスクリプトを作成し、変形を行なっています。

フォントをPythonで扱うにはOpenTypeのままでは少し都合が悪いのでUFO形式に変換してから使用します。UFO形式にしたフォントのグリフに一括で変換をかけるのですが、今回は台形のような変換なのでちょっとややこしい変換を行っています。

普通、移動や回転、拡大縮小などの変形であれば、アフィン変換という計算を用います。こちらであれば、Pythonのスクリプト上でもグリフに対して簡単に計算をしてくれます。しかし、台形にしたいという変換では、アフィン変換は使えません。

そのため、各アンカーポイントについてアフィン変換ではなく、自分で作った行列の計算を行います。今回は台形という比較的簡単な形状に合わせた変換なので、あまり複雑にはなりませんでしたが、波打った変形などでは式がどんどん複雑になると思います。

UFOからOTFに

こちらもPythonから行っています。Glyphsでもできることですが、正直に言うとGlyphsよくわかってなく、どれぐらいちゃんと生成されるかわからなかったのでプログラムで出力しました。そっちの方が僕的には楽だったんです。

OTFを綺麗に

出力したOTFのままでもよかったのですが、フォント名の設定などが不十分な点がありました。そこでOTFから一旦TTXに変換して、TTXを手書きします。笑

今回はnameテーブルに日本語の表記を足しました。なので、フォント名やスタイル名などソフトが対応していれば、ちゃんと日本語で「カクカクゴシック 上」みたいな感じで表示されると思います。

おわりに

せっかくエンジニアなので、それっぽい話を最後に書きましたが、とりあえずフォント使ってみてください!