フォント合成の話をしようと思う[fontforge]

この後、記事を新しく書いた。
Emacsを使う場合に限っては、アイコンフォントを詰め込んだ別のフォントを用意してそれを使う方が幸せになります。その方法と言うか設定内容です。
> [Qiita Mac Emacs 27.2 フォント設定 - Qiita ](https://qiita.com/TanukiTam/items/2df29e9b10e84a7d67a6)

**フォントが一つしか設定出来ないアプリを使う場合**は、この下に書いた方法で作った合成フォント使うのは同じです。ぺろぺろぺろぺろ


# Table of Contents

1.  [= フォント合成の話をしようと思う [fontforge][Emacs]](#org16d2c63)
    1.  [ぐるぐるペロペロ](#orgc57de32)
    2.  [ぺろぺろぺろぺろ](#orgb77e70d)
        1.  [うまくいったもの](#orga80a1d8)
    3.  [fontforge をインストールする [Mac]](#orgf1c869b)

<a id="org16d2c63"></a>

# = フォント合成の話をしようと思う [fontforge][Emacs]

ちょっとした事だった。
それまでは何の気にも留めずスルーしていた事が気になり、他の事が手に着かなくなってしまった。

見出し行の見出しマークが表示されないのだ。別に何か問題があったわけじゃない。ただ、あるはずのものが見えない、それだけだ。
この、ほんのちょっとが気になって仕方ない。
この気になる相手が異性であったなら、恋が来たぞとなるやもしれない、が、テキストエディタである。

そんなのいまさら、気にもせず、これまで過ごしていたのに、何故に今になって？
何に対して？
何処に向かって？
うだうだとデモデモダッテと堂々巡りする愚鈍な俺脳をひっぱたいて働かせた。

「これはフォントに抜けがありますね！？」

やる気になれば一瞬でわかった。すごいよ私、よくやったよ私！
それはそうだ。だって、このエディタを設定し、そう言う動作をするようにしたのは私だし。
だが、ここで私のやる気テンションが折れた。
そもそも、やる気など冬の始まりにうんざりするほど食べ飽きた柿を食べる気概のごとく、最初から無いのである。そもそもが、やる気が無かったから今日ここに至るまで放置して来たのだ。

ブラウザをペロペロと舐め、エラーを出している拡張機能を検索した。
Lispはさっぱりわからないんだよね。開いたプログラムソースを横目にうんざりしながら、目を上から下へ滑らせる。

「あー、あったわ、ここだわ、、、、。」

ブラウザでは消えてい行見出し記号が全部見えている。
原因は特殊記号でした。特殊プレイではない。

UTF フォントで使うユニコードの文字コードはわりとガバで、いくらでも文字を詰め込むことが出来るっぽい。
私の認識上では、ふんわりした感じでそうなっている。
だから、フォント界隈の業界人達からすれば、だいたいフォントのその文字コードはその文字あって当たり前。表示できないのは、ちょっと工夫が足りないんじゃないか？とか、言いそうでムカつくのだ。竹槍でチクチクされるのは鬱陶しいのだ。

でもでもそんなこと言われても、ぼくの使っているお気に入りのフォントには、そんなアイコン文字入ってないんだだよね。ちょっと古いからね。
まー、いや、そういう事でした。
業界ではこれが常識、皆が足並み揃えて道具のメンテナンスをするから皆んなが幸せになれる事ってあると思うのよう、俺さんわかります？そう言われているような気がして、おれつらみ。

ま、自分のエディタの設定やらプログラムソースやらを確認すれば、やはり表示できなかった文字が表示できてなくて原因は特定できた。
よ〜し、フォントにアイコンフォントを合成しちゃうぞ！


<a id="orgc57de32"></a>

## ぐるぐるペロペロ

1.  Nerd Fonts Patcherを使って非Nerd-Fontにパッチを当てる方法。 - Qiita <https://qiita.com/Suzukaze31/items/ddcc6d9a0a9da19f6ee3>
2.  Linuxで2つのフォントをマージする方法–Linuxのヒント <https://ciksiti.com/ja/chapters/3480-how-to-merge-two-fonts-in-linux--linux-hint>
3.  FontForgeでMeiryoKe<sub>ConsoleとInconsolataをくっつける</sub> | Misohena Blog <https://misohena.jp/blog/2021-07-18-merge-meiryoke-and-inconsolata-by-font-forge.html>
4.  [nerd-fonts/src/glyphs at master · ryanoasis/nerd-fonts · GitHub](https://github.com/ryanoasis/nerd-fonts/tree/master/src/glyphs)


<a id="orgb77e70d"></a>

## ぺろぺろぺろぺろ


<a id="orga80a1d8"></a>

### うまくいったもの

次のフォント２つ（ボールド入れると作業：２回、使用フォント：３つ）を手作業で合成した。
方法なんかは上に参考リンクを置いてきた。

MeiryoKeConsole650.ttf
MeiryoKeConsoleB650.ttf
Symbols-2048-em Nerd Font Complete.ttf

1.  Windowsパソコンでスクリプトを動かし、meiryoke<sub>console</sub> ttf を作成。それを mac に持ってくる
2.  fontforge を使い ttc フォントパックから、個別フォントをバラバラに取り出す
    ＞ スクリプトがあったので使った
3.  fontforge で MeiryoKe<sub>Console</sub> を開いて、Font info からフォント名とフォントファミリー名を変更
4.  マージ機能をメニューから選び、合成対象のフォントに Nerd フォントを指定する
5.  ジェネレートで ttf としてフォントファイルを書き出して完了

この手順をノーマル体、ボールド体の２回行う。
これで見出しに欠けることなく使えるようになった。


<a id="orgf1c869b"></a>

## fontforge をインストールする [Mac]

Homebrew でインストールする。
絶対、次にインストールする時は手順忘れてる。

    brew upgrade
    brew search fontforge
    brew install fontforge
    
    # インストール後に cask でアプリも入れる？入れない？てメッセージ出てた。
    # 下３つは github にMACでインストール失敗したら入れてね。て書いてあったから先に入れた。
    brew install cmake glib pango gtk+3
    brew install gettext
    brew link gettext
    
    brew install --cask fontforge

これでコマンドライン用とMac用アプリの両方が入った

-   [GitHub - fontforge/fontforge: Free (libre) font editor for Windows, Mac OS X and GNU+Linux](https://github.com/fontforge/fontforge)
-   [FontForge Open Source Font Editor](https://fontforge.org/en-US/)

\### EOF