如何更改日文字体

如何更改日文字体

我目前正在处理一个文件,需要在某些英文文本中间显示一些汉字。为此,我CJKuft8根据以下说明使用该包创建了一个新环境:这个帖子

\usepackage{CJKutf8}
\newcommand{\japanese}[1]{\begin{CJK}{UTF8}{ipxm}#1\end{CJK}}

这仍然可以正常工作,但我遇到了一个小问题:我想更改显示汉字的字体(仅日文字符,而不是其余文本),但我不知道如何实现。

我发现答案,但它建议使用 XeLaTeX,但我不熟悉。因为我想使用来源 韩码 JP,这是一种 OpenType Source 字体,我还发现了这里有一个问题,但是有人建议使用 LuaLaTex。

经过这一切之后,我有点困惑,实现我的目标的最佳策略是什么。我应该切换到 XeLaTeX 还是 LuaLaTex?或者我甚至可以在不做太多改变的情况下实现我的目标(目前正在运行pdflatex)?


更多信息: 如果可能的话,我想避免切换到 XeLaTeX 或 LuaLaTeX,因为文件已经很大,有很多导入的包,而且我不知道什么与什么兼容。

答案1

如果您坚持使用 pdfLaTeX,则必须将任意 OpenType/TrueType 字体转换为 Type1 字体并创建映射文件;这需要大量工作和有关“TeX 如何处理字体”的特殊知识。通常,该过程无法自动完成,对于初学者来说太难了。IPAex 字体(=您在上面的 MWE 中将其用作“ipxm”)目前是唯一由日本 TeXnician 贡献的示例,因此我强烈建议使用以下之一:

  1. 将“ipxm”与 pdfLaTeX 结合使用。
  2. 切换到 LuaLaTeX。(LuaLaTeX 在大多数情况下与 pdfLaTeX 兼容)

LuaLaTeX 可以原生处理 OpenType/TrueType 字体。下面是使用日文字体的一个简单示例。(这里我直接使用了 \font 原语,但另一种类似 LaTeX 的解决方案也是可行的)

\documentclass{article}
\usepackage{fontspec}
\font\ipaexm=IPAexMincho % PSName of an arbitrary font
\font\ipaexg=IPAexGothic
\begin{document}
Type your content here.
{\ipaexm 日本語}
{\ipaexg 日本語}
\end{document}

lualatex 示例

答案2

这是使用 的替代 MWE 。不幸的是, 3.22(使用 加载所有日语字体)与2.6h(需要 )babel之间存在不兼容性。我提供了一种解决方法。(此外,Source Han Code JP 不支持日语 OpenType 功能,这很奇怪,但可能无害。)babelScript=JapanesefontspecScript=Kana

由于您想使用 Source Han Code JP(一种 OpenType 字体),因此该文档使用 XeLaTeX 进行编译(并且似乎可以与 LuaLaTeX 一起使用,尽管截至 2018 年,它对非欧洲脚本的支持还比较初级。)

\documentclass[varwidth, preview]{standalone}
\usepackage{fontspec}
\usepackage[english]{babel}

% The Script= setting is broken for Japanese as of August 2018.
% Workaround:
\babelprovide[import=ja, script=Kana]{japanese}

\defaultfontfeatures{Scale=MatchUppercase, Ligatures=TeX}

\babelfont{rm}[
  Scale = 1.0,
  Ligatures={Common, TeX}]{Source Serif Pro}
\babelfont{sf}[Ligatures={Common, TeX}]{Source Sans Pro}
\babelfont{tt}{Source Code Pro}

% Font available at: https://github.com/adobe-fonts/source-han-code-jp
\babelfont[japanese]{rm}[
  Ligatures = {Discretionary, TeX},
  UprightFont = *-Regular ,
  BoldFont = *-Bold ,
  ItalicFont = *-RegularIt ,
  BoldItalicFont = *-BoldIt ,
  Extension = .otf ]{SourceHanCodeJP}

\begin{document}
Text in \foreignlanguage{japanese}{日本語}.
\end{document}

日语文本

相关内容