在相同字号下,一个汉字的长度相当于几个ex?

发布于 2021-04-01 15:26:22

在相同字号下,一个汉字的长度相当于几个ex?(一个汉字的长度相当于几个x的长度?)

查看更多

关注者
0
被浏览
2.5k
3 个回答
拿了橘子跑啊
拿了橘子跑啊 2021-04-01
这家伙很懒,什么也没写!

你这个问题问得不清楚。

  1. 我把这里的 长度 理解成字符的宽度。
  2. ex这个长度单位最初在定义的时候并不是字符 x宽度,而是字符 x高度。所以一个汉字的长度相当于几个ex一个汉字的长度相当于几个 x 的长度 并不是同一个答案。
  3. emex 这两个单位最初定义时确实是当前字体字号下 M 字符的宽度x 字符的高度,但现在通常是在字体文件里指定这两个相对长度的精确值,当然,它们会随字号大小而改变。
  4. ctex 宏集中,em 这个单位长度被定义为和一个汉字字符等宽,即\ziju为0时,1em = \ccwd,这个长度和 M 的宽度还是有一定的差别的。

这几个长度单位数值可以通过 \printlen 宏包换算显示出来。下面的例子文件给出了这几个长度的数值。x 字符的高度我一时想不起什么方式来获得了,用了个比较傻的方法。

\documentclass{ctexart}
\usepackage{printlen,graphicx}
\uselengthunit{bp}
\newlength\widthofx
\newlength\heightofx
\newlength\widthofM
\settowidth\widthofx{x}
\settowidth\heightofx{\rotatebox{90}{x}}
\settowidth\widthofM{M}
\begin{document}
  \begin{tabular}{l|r}
    \hline
    1em  & \printlength{1em} \\
    \hline
    1ex  & \printlength{1ex} \\
    \hline
    ccwd  & \printlength{\ccwd} \\
    \hline
    width of x  & \printlength{\widthofx} \\
    \hline
    height of x  & \printlength{\heightofx} \\
    \hline
    width of M  & \printlength{\widthofM} \\
    \hline
  \end{tabular}
\end{document}

image.png

如果您有什么不同意见,您是对的,我是错的。
这家伙很懒,什么也没写!
\documentclass{ctexart}
\usepackage{calc}
\begin{document}
  \the\ccwd/\the\widthof{x}
\end{document}
逆天小白兔
逆天小白兔 2021-04-01
这家伙很懒,什么也没写!
\documentclass{ctexart}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\begin{document}

\ExplSyntaxOn
\fp_eval:n {\dim_ratio:nn {\ccwd}{1ex}}\par

\fp_eval:n {\dim_ratio:nn {1ex}{1pt}}\par

\fp_eval:n {\dim_ratio:nn {1em}{1pt}}\par

\fp_eval:n {\dim_ratio:nn {1cm}{1pt}}\par

\ExplSyntaxOff
\end{document}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览