フォント作成: CalligraphrとFontForgeを使って手書き文字のフォントを作成する方法
フォント作った。
ので、忘れないうちにメモっておく。
↑手書き文字のフォントが作れる、Calligraphrというサイト。
Create a Templateでテンプレを作る。
まずArbitrry charactersで作りたい文字を追加する。
背景の白が溶けてわかりにくいけど、以下スクショ↓
「日本語には対応していない」とサイトには書いてあるんだが、ボックスに入力できる文字は作れるようだった。
「あ」に濁点、のようなものは無理だったけども、だいたいの文字は作れるっぽい。
「あ」に濁点系の文字は、別の文字、カッコの…≪≫みたいな、個人的に使わない文字に割り振ってみた。使わないと思うがな…。
というわけで文字を入力して…
↓作ったテンプレのPDF。
スクショ撮るときに作ったテンプレがたまたま記号類だったのでこういうスクショになったけども、記号ではない文字も当然作れる。
無料版だと、一度に作れる文字は75字まで。
…なんだが、それだとひらがなすらも作りきれない。
濁点、半濁点がついた文字があるから。
というわけで有料版に課金するつもりだった…んだが、有料版でも一度に600字分までしか作れない…。
漢字を作ろうと思うと、600字でも足りない予感がした。
いや、もうそこは「どこまで作るか」という自分のさじ加減ひとつではあるんだけども、常用漢字や、JIS第1水準の範囲の漢字を作ろうと思うとファイルひとつでは足りない。
課金しても一度で全部の文字を作れるわけではない…ということで無料版のままで作ってしまった。
ええと…有料版はいくらなのか。
1か月8ドル、3か月おまとめプランだと16ドル、6か月だと24ドル(2023年12月現在)。
1か月1128円。3か月2256円。6か月3384円。
(2023年12月30日現在)
もう30日やで…。早すぎやで…。
気を抜くと数年タイムスリップしてしまいそうな予感すらあるな…。
日付で黄昏てる場合じゃないんだが。たそがれ。誰そ彼。
お布施の意味でも課金したほうがいいよな~と思うが、一度に600字分作れても、かえってひとつのファイルが大きくなりすぎて使い勝手が悪そうでふんぎりがつかなかった…。
なんだこの言い訳は…。
で、ほかのソフトで、いや手描きでもいいらしいが、ダウンロードしたこのテンプレに文字を描く。
私はクリスタを使って文字を描いた。
その様子をタイムラプスに撮ってGIFにしてみた…のをここで貼ろうかと思ったが、今貼るとゴチャゴチャしすぎかもしれない。
今回のメモでは、フォント作成の流れを最後までざっと書いたほうがいいか。
んでは、実際に文字を作ってるところは別でメモを書くことにする。
文字を描いたら、それをCalligraphrにアップロードしてフォントとして書き出す。
まずはアップロード~。
たまたま長音記号と波線を縦用に描き直したときのファイルがサイトに残ってたのでスクショ。数が3つしかないのは修正用だからで、75字分フルでアップロードしたら当然文字数はもっと多くなる。
ここでBuild Fontを選べばフォントとして書き出せる。
といっても75字分なので、たくさん文字を作ろうと思うと、たくさんファイルを作って統合する必要がある。
ので、Fontforgeというソフトを使って統合した。
これは…、
フォント作成&いろいろ機能がある大助かりフリーソフトなんだが、不具合多いよな?
たぶん…。
たぶん不具合多い…。
……。
Fontforgeでそのままフォント作ることも可能らしいが、不具合があるので、いつフリーズや強制終了するかわからない。
ので、このソフトであまり長時間作業したくない…という個人的感情。
あと、手書き風文字にしたくて画像編集ソフト使いたかったのもあるし。
なので、Fontforgeはファイル統合のみに使うことにした。
それだけだと簡単なんだよな…。
それだけなら。
ベースにするフォントをFontForgeで読み込んで、
エレメント>フォントの統合
で、ちょい足しするほうのフォントを選ぶだけ。簡単カンタン。
と思ったらこのありさま。
ファイル統合自体は簡単だったが、切れてしまった…。
文字の下のほうが切れてるな。
ほかのソフトだと表示できるが、クリスタでは切れる。
という現象が起きた。
最初はベースラインから下が切られてるのかと思ったが、そういうことではなかった。
Fontforgeの
エレメント>フォント情報>OS/2
の、「メトリック」タブ見て自己解決した。
スクショには写ってないが、EMを2048に設定した。
自分で。
エレメント>フォント情報>一般情報
で、EMの大きさと高さ、深さを設定できる。
そこは2048にしてたんやね私…なのにWin AscentとWin Descentの設定するのを忘れていた。
その結果、ベースラインから上が1370、下が84になっていた。
なんでなのかわからん、自動的にそうなっていたとしか言えぬ。
両方足しても1454しかない。
文字自体の大きさは2048あっても、フォントとして表示されるのは1454の範囲だけだったということやね。たぶん。
んだからまあ、設定どおり。
クリスタはたぶんWin AscentとWin Descentを参照するソフトなのだと思うが、設定どおりに表示したら、文字のほうが大きくてハミ出した分が切れてしまったと…。
そういうことらしい。
あ、私が使ってるのがWindows版クリスタだからWin AscentとWin Descentが参照されたのだろうか。
mac系だとhheaの値が参照されることもあるとかどこかで読んだ気がするが、私はWinユーザーなのでよくわからぬ。
原因がわかったのでWin AscentとWin Descentの設定し直した。
Win Ascentを1952、Win Descentを295に。
今度は切れなかった。
ヨシヨシ。
数値がハンパなんだが、特に理由はない。
ほかのフォントはどういう数値で設定してるんだろう?と思って、FontForgeで開いて見てみた。
見た中では、EMが2048のフォントは意外と少なかった。
が、ひとつだけ「このフォントの数値を真似してみようかな」と思えるEM2048なフォントがあったので、その真似をした。
んどうなんだろう、文字のバランスがあってこその数値なのかもしれず、だとしたら数値だけ真似しても意味ないなあとは思う。
が、まあベースラインから上と下をどれくらいにすればいいかよくわからんかったし、どういうふうに設定してもあまり変わらないかな?とも思ったので、真似した。
という、細かい数値の理由。
ひらがなとカタカナを統合したフォントを、TATEditorというソフトで表示してみた。
TATEditorは、表示するフォントを選べる縦書きソフトやね。
Wordを持っていればそれが使えたんだろうけども、私、持ってなかったんや…。
若干文字のあいだが空きすぎな気がするが、いい感じではないか…。と思った。
このときは長音記号の向きを横向きにしていた。横書き用の向きで作っていたんやね。
けど、ソフトのチカラによって縦向きになってる…、す、すばらすぃ。
とか思っていた。
しかし、クリスタで表示しようと思うと、そうはうまくいかなかった。
なんでや。
いや…なんでこんな言葉を打ったのか思い出せんが、まるで私の心中を書いたかのような。そういうことでもないんだが…。
問題は長音記号の向きやね。
横向きぃ~。
まあそらそうよ、横向きに描いてたからね。
いや、本当の初めは縦向きに書いてた。
が、TATEditorで表示してみたら、横向きになってしまった。
こ、これは横向きに書いておけば勝手に回転させてくれるのでは…⁉と思い、横向きに変えてみたら、実際その通りだった。
しかしクリスタにはそれは通じなかった…。
クリスタは縦方向に自動的に回転させてくれない…。
というわけで「縦書き用フォントだから縦に書いてみたが、いや横向きでいいのかと横向きにしてみたら、やっぱり駄目だったので縦に戻した」という…何度目かわからぬ90℃回転処理をした。
さっき貼った長音記号のスクショはそのときの…縦に戻したときのファイルが残っていたんやね…。
Fontforge上で文字を選んで、
エンコーディング>グリフの切り離し・削除
で、文字の削除ができる。
完成済みフォントからグリフを削除して、修正用のフォントファイルを作って統合すれば、一部修正ができる。
「グリフの切り離し」と「グリフの切り離し・削除」という似た名前の操作があるが、まったく別物らしい。ややこしいぃ~。
まあ、FontForge上で微妙な修正ができるのであれば、この操作はしなくていいと思うけども。私はできんかったもので。
縦書きは本当によくわからぬ。
検索すると、Fontforgeの縦書き設定が効かないソフトとしてクリスタが上げられてたりするので、どうなんだろう、Fontforgeの不具合が関係あるんだろうか…よくわからない。
しかし、最初にフォントの試し打ちをしたとき、ふと思ったんだよな。わたくし。
「横書きフォントでも、縦書き用の設定をすれば長音記号を回転させて縦表示ができるのだろうか」と…。
しかしFontforgeの縦書きの設定が、うまくできず。
不具合のせいなのかどうかよくわからない。
「vert Vertical Alternates」というLookupsを追加するところまではできた。
が、その先がよくわからず。
GSUBでIDを探してvertバージョンのグリフを追加するらしいんだが…、
IDって何?
Unicodeとは違うのん??
???
という感じになってしまい、先に進めなくなったのであきらめることにした。
縦向きへの回転は。
あきらめるぼるん。
そもそも私の場合、漫画のフォントとして使おうと思って作ってるので、縦書き用の文字が1種類があればいい。
まれに横書きにするとしても、横書き用フォントを別で作っても構わない。
…いや、そこまで言い切るほどでもないか。
横書きと縦書きの違いは約物だけだと思うので、向きが重要なものは、使わなそうな文字のUnicodeに上書きしてしまえばいいと思った。
具体的には…「ー」を「|」として登録した。登録じゃないか。何というんだかわからんが。
「|」は、¥をシフトキー押しながら押すと出るやつ。
何と呼ぶのかわからんのだけども、まあそれでも大した支障ない。
向き逆なんだけどね。
縦用の長音記号のほうが「|」っぽいんだが。
そうなんだが、使う頻度考えたら逆で登録したほうがよさそうだったのでそうした。
あと、呼び出すときのために、IMEのユーザー辞書に読みを登録した。
これで何とかなるやろ…。たぶん。
ので、ひとつのフォントの中での横書き→縦書き回転設定は、要らないと言えば要らない。
というわけで、縦書き用の向きで文字を作ることにした。
そして回転設定ナシという、何かが原始的な方法で解決した。
解決してるんだろうかこれ。
まだ文字のサイズ変更すると文字間が空きすぎたり詰まり過ぎたりして調整が必要になる、という難点はあるが、まあフォントとして使える程度にはできたかな、という…そういう感じ。
以上、CalligraphrとFontforgeを使ってフォント作成したときのメモ。
長くなった~。やっぱり長いな。
つづく🍉