HackGen + Ligature (Fira Code)
https://gyazo.com/b16cf87adb24133d5faca93f2c38219f
Ricty Inspired な日本語対応プログラムフォント
リガチャ対応は難しいらしい
リガチャが美しいプログラミングフォント
え!! HackGen でリガチャを!?
https://gyazo.com/81c39f4ea44175389f9d82b46f0fcc55
Add ligatures to any coding font!
いろんなフォントに Fira Code からリガチャを持ってくれるくん
手順
Releases から zip でダウンロードすることもできるが、後続のバージョンに追従するために git で clone する Submodule の clone を忘れずに
git submodule init と git submodule update
Ubuntu だと python-fontforge と書かれているが、bionic (18.04LTS) にしかないらしい
ので、候補で出てきた python3-fontforge をインストールする
code:sh
sudo apt install python3-fontforge
HackGen の build フォルダから Ligaturizer の fonts/HackGen にシンボリックリンクを張る
Ligaturizer の build.py の prefixed_fonts リストに "fonts/HackGen/*" を追記する
Ligaturizer で make を実行
Ligaturizer の fonts/output/ に LigaHack-*.ttf ができている
できたフォントをインストール
Ubuntu だと ~/.fonts にシンボリックリンクを張るのが楽
(2022/12/08 追記) ~/.fonts ではなく $HOME/.local/share/fonts を使いましょう
設定する
OS のデフォルト等幅フォント
Ubuntu だと GNOME Tweaks (gnome-tweaks ) の Fonts の Monospace Font を設定するのがよさそう
Liga HackGenNerd Regular にした
ターミナル
Ubuntu の Terminal (gnome-terminal) だと各プロファイルごとに設定する
Liga HackGenNerdConsole Regular にした
かったが、Liga HackGenNerdConsole が Bold しかビルドされなかった
どうして 📞😺 また調べてみる
ので、Liga HackGenNerd Regular にした
エディタ
VSCode だと設定から font family で検索するといろいろ出てくる
Liga HackGenNerd Regular にした
editor.fontLigatures を true にするのを忘れないように
ブラウザのデフォルト等幅フォント
Chrome だとchrome://settings/fonts の Fixed-width font から設定できる
Liga HackGenNerd Regular にした
感想
HackGen 最高! リガチャ最高!
リガチャのグリフを Fira Code からもってきているので、たまにリガチャ部分とそうでない部分の形の違いが気になる箇所があった
例
HTML の閉じタグと開きタグの < と > https://gyazo.com/7287c0a9b3331a77b69d5bd52e5593a2
Markdown の見出しが 1 つの場合と複数の場合 https://gyazo.com/2aa72ddda902e0602ab9bf4f24293d0a
Ligaturizer は ligatures.py を編集することでリガチャを無効化できるので、気になる人は無効化するとよさそう
無効化すると Fira Code からグリフを持ってこないで、元々持っているグリフを使うことになる
作者の方からコメントされていた
code:text
あのイーハトーヴォのすきとおった風、
夏でも底に冷たさをもつ青いそら、
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890 ! @ # $ % % ^ & * - _ = + ~
( ) { } < > \ | / ? ; : , . '' ""
<- 全角スペースが見える
ー (長音) 一 (漢数字1)
がぎぐげご ざじずぜぞ だぢづでど
ガギグゲゴ ザジズゼゾ ダヂヅデド
ばびぶべぼ バビブベボ
ぱぴぷぺぽ パピプペポ
ゔ ヴ ヷヸヹヺ
++ -- /= && || ||=
-> => :: __
== === != !==
<= >= <=> /* */