自分はプログラミングをするくせにフォントにはけっこう無頓着で、だいたいデフォルトのまま使っていることが多いです。
最近になってEmacsのフォント設定が完全におかしいというか無効なフォントをしていたことに気づき、なにを指定したら
いいのかなと思って少し調べてみました。
前提としては、Ubuntu Linux 24.04 LTSで使います。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.3 LTS Release: 24.04 Codename: noble $ uname -srvmpio Linux 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
選択肢的にはこのあたりがありそうです。
GitHub - yuru7/HackGen: Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen)
GitHub - yuru7/PlemolJP: IBM Plex Mono と IBM Plex Sans JP を合成したプログラミングフォント PlemolJP (プレモル ジェイピー)
RictyおよびRicty Diminishedが人気だったようですが、今は開発が終了しているようです。
個人的にはaptでインストールできるものがよく、Windows Terminalで使われているCascadia Codeが使えそうだったので
こちらをインストールしてみました。
$ sudo apt install fonts-cascadia-code
fonts-cascadia-code package : Ubuntu
$ apt show fonts-cascadia-code Package: fonts-cascadia-code Version: 2102.03-1 Priority: optional Section: universe/fonts Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 1,561 kB Homepage: https://github.com/microsoft/cascadia-code Download-Size: 149 kB APT-Manual-Installed: yes APT-Sources: http://jp.archive.ubuntu.com/ubuntu noble/universe amd64 Packages Description: monospaced font designed to enhance appearance of Windows Terminal Cascadia Code is a monospaced font shipped by Microsoft. It includes programming ligatures and is intended for use in terminal applications as well as text editors.
Cascadia Codeではリガチャ(合字)に対応しているCascadia Codeと、リガチャを含まないCascadia Monoの2つがあります。
個人的にはまずはCascadia Monoかなと。
Emacsに導入してみたら、見た目がとても変わりました(笑)。
その他、インストールされているフォントを調べるのに使ったコマンド。
$ fc-list
Ubuntu Manpage: fc-list - list available fonts
絞り込みも可能。
$ fc-list 'Ubuntu Sans Mono' /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=ExtraLight /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=SemiBold /usr/share/fonts/truetype/ubuntu/UbuntuSansMono-Italic[wght].ttf: Ubuntu Sans Mono:style=SemiBold Italic /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=Thin /usr/share/fonts/truetype/ubuntu/UbuntuSansMono-Italic[wght].ttf: Ubuntu Sans Mono:style=Bold Italic /usr/share/fonts/truetype/ubuntu/UbuntuSansMono-Italic[wght].ttf: Ubuntu Sans Mono:style=Medium Italic /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=Medium /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=Bold /usr/share/fonts/truetype/ubuntu/UbuntuSansMono-Italic[wght].ttf: Ubuntu Sans Mono /usr/share/fonts/truetype/ubuntu/UbuntuSansMono-Italic[wght].ttf: Ubuntu Sans Mono:style=Italic /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=Regular /usr/share/fonts/truetype/ubuntu/UbuntuSansMono[wght].ttf: Ubuntu Sans Mono:style=Light
GNOME Terminalで使っているフォント。ええ、デフォルトのままです(笑)。
$ gsettings get org.gnome.desktop.interface monospace-font-name 'Ubuntu Sans Mono 13'
こちらはCascadia Monoにしなくてもいいかなと思いました。