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.