First you need to find out a fontset for Chinese that will work for emacs. I worked out a decent fontset for Chinese in a scratch buffer. First I ran (set-face-font 'default "fontset-standard"). This fontset was unusable for my day to day emacs usage but had a more legible font for Chinese Characters. Putting my point over a Chinese character I then ran C-u C-x = which displayed information about the character. I got something like Font-Screenshot The highlight shows the fontset used by fontset-standard to display Chinese. In my case this was “xft:-GOOG-Noto Sans CJK KR-normal-normal-normal--16----*-0-iso10646-1”. I then added the following to my .emacs based off the fontset that I found (set-fontset-font (frame-parameter nil 'font) 'han "xft:-GOOG-Noto Sans CJK KR-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1") . Afterwards you can revert to the default fontset by running (set-face-font 'default "fontset-startup") in a buffer. While there are more robust ways to fix the Chinese font on Emacs this should be a quick and easy way to make the change that is good enough. Hopefully saving you the struggle I went through.

If you want to improve your font for more character sets you will need to replace “han” in the set-fontset-font command with the relevant script. To list the available scripts you can look at the help for the variable “script-representative-chars”.