使用 TikZ 和 xeCJK 时,我遇到了一个非常奇怪的问题。我设法从原始资料中提取了这个 MWE:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage{tikz}
\usepackage{xeCJK}
\newCJKfontfamily\hiraganaFont[AutoFakeBold=1]{NanumMyeongjo}
\begin{document}
{\hiraganaFont \textbfる}\tikz{}
\end{document}
(polyglossia
/defaultlanguage
只是为了让 xeCJK(我相信)保持安静。)
症状:
输出为
る.
(平假名,句点;句点以文档默认字体设置,而不是 CJK 字体;当Scale
CJK 字体定义中存在 时,句点不受影响)。预期输出为る
,不包含句点。点保留当在命令内部绘制线条时
\tikz{}
。它看起来位于图片原点的右侧(即图片“内部”)。点保留当
\tikz{}
命令位于る
和之间时}
。点保留当
\tikz{}
命令转变为tikzpicture
环境时。点保留交换 CJK 字体时。
点消失当 AutoFakeBold 设置为 时
0
。点消失何时
\textbf
被删除(或者\bf
就此而言,无论它们的区别是什么)。点消失只要将非空白、非 CJK 字形放置在平假名后面,无论是在围绕假名的括号内还是括号外。
我还没有设法使用自定义环境来使点出现。
从诊断结果来看,xeCJK 的假加粗功能和 TikZ 似乎以某种奇怪的方式相互作用。
有任何想法吗?
答案1
(这不是一个答案,抱歉。)
这与 CJK 脚本无关。我猜这是 的一个错误fontspec
。
测试此文件:
\documentclass{article}
\usepackage{tikz}[2011/06/07 v2.10-cvs (rcs-revision 1.81)]
\usepackage{fontspec}[2013/03/16 v2.3a Font selection for XeLaTeX and LuaLaTeX]
\newfontfamily\testfont[FakeBold=1]{Latin Modern Roman}
\begin{document}
{\testfont X}\tikz{}
\end{document}
但问题依然存在。
也许你可以请约瑟夫赖特看看这个。