CJK 字符“一”未垂直居中

CJK 字符“一”未垂直居中

我正在使用 XeLaTeX 和 Tikz 创建汉字训练表,但不知何故,字符“一”似乎没有垂直居中,而且位置太高。首先,我以为是字体问题,但它似乎在其他所有情况下都居中(我已经在 Gimp 和 Chromium 中测试过书写)。此外,每种 CJK 字体都会发生这种情况。我同时使用两种字体,但我相信使用任何 CJK 字体都会得到相同的结果。

\documentclass{article}

\usepackage{tikz}
\usepackage{xeCJK}
\setCJKmainfont{Noto Sans Mono CJK JP}
\newCJKfontfamily\drawingKanji{Chihaya Jyun}

\newcommand{\kanjiRow}[1]{
  \resizebox{\textwidth}{!}{
    \begin{tikzpicture}[font=\drawingKanji, text centered]

      % Main Frame
      \draw[line width=1.6pt, rounded corners=4pt] (0, 0) rectangle (14, 6);

      % Horizontal lines
      \draw (0,2) -- (14,2);
      \draw (0,4) -- (14,4);

      % Vertical lines
      \draw (2,0) -- (2,6);
      \draw (4,0) -- (4,6);
      \draw (6,0) -- (6,6);
      \draw (8,0) -- (8,6);
      \draw (10,0) -- (10,6);
      \draw (12,0) -- (12,6);

      % Grid Top
      \draw[dashed, opacity=.5] (0,5) -- (14,5);
      \draw[dashed, opacity=.5] (1,4) -- (1,6);
      \draw[dashed, opacity=.5] (3,4) -- (3,6);
      \draw[dashed, opacity=.5] (5,4) -- (5,6);
      \draw[dashed, opacity=.5] (7,4) -- (7,6);
      \draw[dashed, opacity=.5] (9,4) -- (9,6);
      \draw[dashed, opacity=.5] (11,4) -- (11,6);
      \draw[dashed, opacity=.5] (13,4) -- (13,6);

      % Grid Bottom
      \draw(0,1) -- (14,1);
      \draw (1,0) -- (1,2);
      \draw (3,0) -- (3,2);
      \draw (5,0) -- (5,2);
      \draw (7,0) -- (7,2);
      \draw (9,0) -- (9,2);
      \draw (11,0) -- (11,2);
      \draw (13,0) -- (13,2);

      % Big Characters 
      \draw (1,5) node[scale=5, font=\CJKfamily{Noto Sans CJK JP}]{#1};
      \draw (3,5) node[scale=5, opacity=.2, inner sep=0pt]{#1};
      \draw (5,5) node[scale=5, opacity=.15]{#1};
      \draw (7,5) node[scale=5, opacity=.12]{#1};
      \draw (9,5) node[scale=5, opacity=.08]{#1};
      \draw (11,5) node[scale=5, opacity=.04]{#1};

      % Small characters
      \draw (0.5,1.5) node[scale=2, font=\CJKfamily{Noto Sans CJK JP}]{#1};
      \draw (0.5,0.5) node[scale=2, opacity=.2]{#1};
      \draw (1.5,1.5) node[scale=2, opacity=.15]{#1};
      \draw (1.5,0.5) node[scale=2, opacity=.12]{#1};
      \draw (2.5,1.5) node[scale=2, opacity=.08]{#1};
      \draw (2.5,0.5) node[scale=2, opacity=.04]{#1};

    \end{tikzpicture}
  }
}

\begin{document}
  \kanjiRow{時}
  \kanjiRow{一}
\end{document}

编辑:我发现我可以通过将两个字符封装在 fbox 中来将其缩小到字体问题(与我之前的想法相反):

\fbox{\fbox{一}\fbox{時}}

产生

并将问题连接到这个

不过,我仍不确定如何将其置于中心。

相关内容