我们如何处理混合的中文字形/字体?

我们如何处理混合的中文字形/字体?

我们有几个包含中文段落的 Word (docx) 文档。对于中文部分,文档主要使用“MS Mincho”和“MS Gothic”字体。但对于某些字形,文本会更改为“Microsoft JhengHei”字体。

我们如何转换这些文档才能正确显示所有中文字形?

当将文档转换为“tex”(通过 pandoc)时,我们得到以下看似正常的结果:

\documentclass[12pt]{article}
\usepackage{xeCJK}
\setCJKmainfont[]{IPAMincho}
\begin{document}
他向前走了一步,摸了一把脸上的雨水和泪水,等呜咽声从喉咙里咽下去以后,才继续说:
这些年来,我给大家办的事太少了,许多乡亲们直到现在还少吃没穿的,我对不起乡亲们!
\end{document}

但是当转换为“PDF”时(通过 xelatex),某些字符(Microsoft JhengHei)不会显示(黄色)。PDF 如下:

在此处输入图片描述

这些(已标记)是更改为“Microsoft JhengHei”且未在 PDF 中打印的字形:

他向前走了一步,摸了一把脸上的雨水和泪水,等呜咽声从喉咙里咽下去以后,才继续说:
---------------------^----------------^-------^----------------^^^ 
这些年来,我给大家办的事太少了,许多乡亲们直到现在还少吃没穿的,我对不起乡亲们!
^----------^----^-----------^--^^^^-----^--^-------------^----^^^

我们XeTeX 3.14159265-2.6-0.999992 (TeX Live 2020/Debian)在 Debian 11 上使用。

答案1

TeX(及其变体,这里是 XeTeX)旨在排版,而不只是在屏幕上显示某些内容。

因此绝不替换字体系列。在 LaTeX 中,可能会替换缺失的形状或粗细,但始终遵循一些规则。处理文档时,您会得到

Missing character: There is no 脸 (U+8138) in font IPAMincho/OT:script=hani;language=dflt;!

以及其他缺失字符的类似信息。

如果我albatross -b 3 脸在我的机器上运行,我会得到

        __ __           __
.---.-.|  |  |--.---.-.|  |_.----.-----.-----.-----.
|  _  ||  |  _  |  _  ||   _|   _|  _  |__ --|__ --|
|___._||__|_____|___._||____|__| |_____|_____|_____|

                    Unicode code point [4EEC] mapping to 们                    
                                                                               
  Font name                                                                    
  .Hiragino Sans GB Interface                                                  
  .LastResort                                                                  
  .PingFang HK,.蘋方\-港,.苹方\-港                                             
  .PingFang SC,.蘋方\-簡,.苹方\-简                                             
  .PingFang TC,.蘋方\-繁,.苹方\-繁                                             
  AR PL KaitiM GB,文鼎PL简中楷                                               
  AR PL SungtiL GB,文鼎PL简报宋                                              
  Arial Unicode MS                                                             
  FandolFang,FandolFang R                                                      
  FandolHei                                                                    
  FandolKai                                                                    
  FandolSong                                                                   
  GB18030 Bitmap                                                               
  Heiti SC,黑體\-簡,黒体\-簡,Heiti\-간체,黑体\-简                              
  Heiti TC,黑體\-繁,黒体\-繁,Heiti\-번체,黑体\-繁                              
  Hiragino Sans GB,冬青黑體簡體中文,ヒラギノ角ゴ                               
  簡体中文,冬青黑体简体中文,Hiragino Sans GB W3,冬青黑體簡體中文               
  W3,ヒラギノ角ゴ 簡体中文 W3,冬青黑体简体中文 W3                              
  Hiragino Sans GB,冬青黑體簡體中文,ヒラギノ角ゴ                               
  簡体中文,冬青黑体简体中文,Hiragino Sans GB W6,冬青黑體簡體中文               
  W6,ヒラギノ角ゴ 簡体中文 W6,冬青黑体简体中文 W6                              
  PingFang HK,蘋方\-港,苹方\-港                                                
  PingFang SC,蘋方\-簡,苹方\-简                                                
  PingFang TC,蘋方\-繁,苹方\-繁                                                
  Songti SC,宋體\-簡,宋体\-简                                                  
  Songti TC,宋體\-繁,宋体\-繁                                                  
  STSong                                                                       

如果我替换IPAMinchoFandolFang,我会得到

在此处输入图片描述

下面的输出FandolSong改为

在此处输入图片描述

确保中文字体涵盖所需的字符。

相关内容