[Tex/LaTex] Standard CJK fonts for LaTeX

cjkfonts

TUG maintains an extensive catalogue of fonts at http://www.tug.dk/FontCatalogue/allfonts.html . Is there also one maintained for CJK fonts? I've been using XeLaTeX on OS X with my own fonts, mostly proprietary, but I'm moving a lot of my work to Ubuntu and would like to try a more standard set of open-source CJK fonts. One concern is finding a single font that covers essentially all of the CJK code points, rare as well as common, with reasonably presentable glyphs.

Thanks for any suggestions.

Best Answer

You have many choices since you're already using XeLaTeX. :) There's a nice compilation of List of CJK fonts on Wikipedia. FOSS fonts are labelled as such in this list.

As for "a single font that covers essentially all of the CJK code points, rare as well as common", choices are more limited there.

[Updated; it's 2020 now!] AFAIK there is no single .TTF or .OTF that does that (I guess the file size would be too big). You may want to go for Noto Serif CJK SC, Noto Serif CJK TC, Noto Sans CJK SC, Noto Sans CJK TC. (They are also known as Source Hans Serif/Sans, 思源宋体/黑体)

There are also font projects that distribute two separate font files, which together will cover the entire CJK codepoint range. Two open-source fonts that do that, that I'm aware of, are:

Then using a recent version of XeCJK (as outlined in this answer to your earlier question) (example below uses Han Nom):

\documentclass{article}

\usepackage[fallback]{xeCJK}
\setCJKmainfont{HAN NOM A}
\setCJKfallbackfamilyfont{rm}{HAN NOM B}
% NOTE: "rm" for \setCJKmainfont, "sf" for \setCJKsansfont, "tt" for  \setCJKmonofont
%       and others for \setCJKfamilyfont.

\begin{document}
漢字源𣴑
\end{document}

As @LeoLiu stated, the kanjis in Hanazono look very 'japanified'. Han Nom looks much better for Chinese text hanzi (to my eyes anyway). Nevertheless, you didn't mention if you're working on Chinese text specifically: you just said "CJK". In any case, both Hanazono and Han Nom contain glyphs for hiragana and katakana, but unfortunately not hangul.