Apr 6, 2026

Write Japanese and Chinese in LuaTeX

\RequirePackage[OT1]{fontenc} \documentclass{article} \usepackage{fullpage} \usepackage{paralist} \usepackage{unicode-math} \setromanfont{TeX Gyre Termes} \setsansfont{TeX Gyre Heros} \setmonofont{TeX Gyre Cursor}[Ligatures=NoCommon] \setmathfont{TeX Gyre Termes Math} \usepackage{luatexja} \usepackage{luatexja-ruby} \usepackage{luatexja-fontspec} % Japanese as default \setmainjfont{Noto Serif CJK JP} % Chinese as default % \setmainjfont{Noto Serif CJK SC} \newjfontfamily\jjp{Noto Serif CJK JP} \newjfontfamily\jsc{Noto Serif CJK SC} \begin{document} Because of Han Unification, Japanese and Chinese need different typesetting. Notice the different glyph for 直 in: \begin{compactenum} \item Japanese: 直します \textbf{直します} \item Chinese: \jsc{直截了当 \textbf{直截了当}} \end{compactenum} \end{document}

To quote from https://okumuralab.org/tex/mod/forum/discuss.php?d=3576:

Noto CJKのバリアブル版には「CFF版」と「TTF版」の2種類がありますが、LuaTeX(+luaotfload)で使った場合、「TTF版」ではエラーが発生せず「CFF版」だとloca table not foundのエラーが発生するようです。

In NixOS, it seems that using noto-fonts-cjk-serif-static instead of noto-fonts-cjk-serif solves the issue.