Why people say "Emacs is the best operating system"
people say "Emacs is the best operating system" :en:emacs:font:linux:terminal:terminator: It's becasue Emacs has great documentation and enough APIs.
Emacs manual even helps me even on non-Emacs stuff.
When configuring the font for Terminator (a terminal emulator) I find its manual is NOT clear. The manual doesn't explain what is "Pango font name". But Emacs manual provides all I need.
fc-list
is to list installed fonts. Since terminal use Mono font, I can type below command:
fc-list | grep Mono
The output is like:
/usr/share/fonts/urw-fonts/n022003l.pfb: Nimbus Mono L:style=Regular /usr/share/fonts/urw-fonts/n022024l.pfb: Nimbus Mono L:style=Bold Oblique /usr/share/fonts/liberation-fonts/LiberationMono-Regular.ttf: Liberation Mono:style=Regular /usr/share/fonts/urw-fonts/n022004l.pfb: Nimbus Mono L:style=Bold /usr/share/fonts/liberation-fonts/LiberationMono-BoldItalic.ttf: Liberation Mono:style=Bold Italic /usr/share/fonts/liberation-fonts/LiberationMono-Bold.ttf: Liberation Mono:style=Bold /usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc: 文泉驿等宽正黑,文泉驛等寬正黑,WenQuanYi Zen Hei Mono:style=Medium,中等 /usr/share/fonts/liberation-fonts/LiberationMono-Italic.ttf: Liberation Mhttp://blog.binchen.org/posts/why-people-say-emacs-is-the-best-operating-system.htmlono:style=Italic /usr/share/fonts/urw-fonts/n022023l.pfb: Nimbus Mono L:style=Regular Oblique
Since Emacs manual explains the meaning of output, I know the font name "WenQuanYi Zen Hei Mono" is the key component of "Pango font name"
Because the manual also gives the details of other components of "Pango font name", the final "~/.config/terminator/config" is like:
[profiles]
[[default]]
use_system_font = False
# @see emacs manual for tools and explanation of font formats
# https://www.gnu.org/software/emacs/manual/html_node/emacs/GTK-Resource-Basics.html
# https://www.gnu.org/software/emacs/manual/html_node/emacs/Fonts.html#Fonts
font = WenQuanYi Zen Hei Mono 16
API
I create a new Emacs plugin which lists file names containing Chinese characters. At beginning I use Emacs API "find-name-dired". It uses the GNU find as the backend. But there is some integration issue on Linux. Chinese file names are displayed as garbled text in Emacs. I guess there is some decode/encode error between the interaction of Emacs process and GNU find process because Chinese files are fine on OS X.
Emacs has enough APIs. Later I found another pure Lisp API "find-lisp-find-dired". Problem solved.