如何在同一文档中使用重音拉丁字母 + 俄语 + 日语?

如何在同一文档中使用重音拉丁字母 + 俄语 + 日语?

我发现这个答案我也参考了我发布的链接先前的问题

我想到的是以下几点:

\documentclass{book}
\usepackage{luatexja-fontspec}
\usepackage{iftex}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX}}
\setmainfont{Noto Serif}
\setsansfont{Noto Sans}
\setmonofont{Noto Sans Mono}
\usepackage[english, russian]{babel}
\begin{document}

\begin{tabular}{lll}
  鮫     & 私が見た & 魚\\
  акула  & видела & рыбу\\
  scùàlò & vìde   & péscè\\
\end{tabular}

\end{document}

它的西里尔文渲染效果比较丑陋(不过我不知道日文渲染效果有多好)。

在此处输入图片描述

如果我不包含该包的话会更好luatexja-fontspec,但代价是完全不显示日文字符,

在此处输入图片描述

很有趣的是,当我写这个问题时,我发现浏览器对字体有更清晰的认识(除了它不会将日文字符呈现为等宽字符;但这不是我想要做的):

在此处输入图片描述

答案1

luatexja 将字符分为两类。默认情况下,西里尔字母被视为 JAchar。您可以将其更改为 ALchar:

\documentclass{book}
\usepackage{luatexja-fontspec}
\ltjsetparameter{jacharrange={-2}} %range 2 is now ALchar
\usepackage{iftex}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX}}
\setmainfont{Noto Serif} \setsansfont{Noto Sans} \setmonofont{Noto Sans Mono} 
\usepackage[english, russian]{babel}
\begin{document}

\begin{tabular}{lll}
  鮫     & 私が見た & 魚\\
  акула  & видела & рыбу\\
  scùàlò & vìde   & péscè\\
\end{tabular}

\end{document}

在此处输入图片描述

答案2

尽管 Ulrike 解决了您的 MWE 问题,但如果您只是需要日语中的一些单词或短语,您可以按照以下方法操作:

\documentclass{book}
\usepackage[english, russian]{babel}
\babelprovide[onchar=ids fonts]{japanese}
\babelfont{rm}{Noto Serif}
\babelfont[japanese]{rm}{IPAexMincho}
\babelfont{sf}{Noto Sans}
\babelfont{tt}{Noto Sans Mono}

\begin{document}

\begin{tabular}{lll}
  鮫     & 私が見た & 魚\\
  акула  & видела & рыбу\\
  scùàlò & vìde   & péscè\\
\end{tabular}

\end{document}

编辑。输出与 Ulrike 的答案相同。

相关内容