使用 CJKutf8 更改汉字显示

使用 CJKutf8 更改汉字显示

我一直在使用 CJKuftf8 将日语添加到一本主要包含拉丁字母的书中。它在大多数情况下运行良好,但我在显示特定的汉字“直”时遇到了问题。编译后,这个汉字总是与预期的不同。

左边是输入的汉字,右边是编译文档中出现的汉字

汉子

我相信所显示的汉字与简体中文对应,但日本当然无法理解。

此外,如果我在日文电脑上使用 pdf 阅读器打开文档并复制汉字,它会复制我想要的字符(左侧的字符)。如果我在非日文电脑上使用 pdf 阅读器打开文档,它会复制错误的汉字。这似乎是 utf8 重叠的问题。是否可以编辑汉字在编译文档中的显示方式?

梅威瑟:

\documentclass{article}

\usepackage{CJKutf8}
\begin{document}
\Huge
\begin{CJK}{UTF8}{min}直\end{CJK}
\end{document}

由于代码中的汉字在其他计算机上的显示可能会有所不同,为了确保万无一失,这里提供了代码的图片。

在此处输入图片描述

更新:这似乎完全是字体问题。在 Word/Libre office 中输入汉字时,汉字会根据所选字体的不同而显示不同。特别是,当使用日文字体(例如 TakaoExMincho)时,它会按预期显示,否则会显示不正确。据我所知,使用时无法更改字体\usepackage{CJKutf8}。有办法解决这个问题吗?

答案1

让我将其作为答案而不是评论发布,因为这对于评论来说太长了。

正如你所说,

我想如果有办法解决问题,我很乐意使用任何选项。

我将提出一种基于 XeLaTeX 的方法。fontspec,并且它提供了\newfontfamily,它定义了一个新的字体切换命令。这是一个简单的例子(我不确定使用的字体是否随 MiKTeX 一起提供,但两者都可以在 CTAN 上使用)。

% XeLaTeX document
\documentclass{article}
\usepackage{fontspec}
\newfontfamily{\jafamily}{ipam.ttf}  % Japanese typeface, which is what you want
\newfontfamily{\cnfamily}{FandolSong-Regular.otf}  % Simplified Chinese typeface
\begin{document}
{\jafamily 直} and {\cnfamily 直}
\end{document}

输出为

赛莱特

另一方面,如果字体系列(CJK环境的第二个参数)设置正确,则 8 位引擎的 LaTeX 也应该能够使用日文字形。

% (pdf)LaTeX document
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{ipxm}直\end{CJK} and \begin{CJK}{UTF8}{gbsn}直\end{CJK}
\end{document}

将产生

pdflatex

如果此示例导致不同的外观,则日文字体似乎未安装在您的 MiKTeX 中(也许会恢复为中文字体?)。

相关内容