\calligra 和 \textcalligra 中存在虚假空格?

\calligra 和 \textcalligra 中存在虚假空格?

在我看来,\calligra\textcalligra命令在文本前添加了一个虚假的空格。

请看一下这里“书法 E”之前的空白:

\documentclass{article}
\usepackage{calligra}

\begin{document}
\begin{tabular}{|@{}l}
     {\calligra E}\\
     \textcalligra{E}\\
     E
\end{tabular}
\end{document}

在此处输入图片描述

答案1

这是字体设计师的决定。

\documentclass[twocolumn]{article}
\usepackage{calligra}
\usepackage{xcolor}

\begin{document}

\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{0.1pt}

\begin{flushleft}
\calligra
\makeatletter
\@tfor\next:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
  \fbox{\next}\quad
}

\@tfor\next:=abcdefghijklmnopqrstuvwxyz\do{%
  \fbox{\next}\quad
}

\newpage

\makebox[0pt][l]{\color{red}\hspace{0.4em}\smash{\vrule height 10pt depth 11cm width 0.1pt}}%
\@tfor\next:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
  \fbox{\next}\par
}
\end{flushleft}

\end{document}

这是左栏

在此处输入图片描述

如你所见,大多数大写字母都超出了右侧的边界框。只有 J 在左侧稍微突出,但与字母下降部分一样。

如果我们查看右列,其中在边界框左边距右侧 0.4em 处添加了一条红线,我们就会明白原因是什么:

在此处输入图片描述

我猜这是避免重叠的一种尝试,但我同意补救措施比疾病更糟糕。如果“E”在段落中间开始一个句子,但当它开始段落时不可以,那么可能没问题(但事实并非如此)。

在此处输入图片描述

也许您想制作一种虚拟字体来解决边界框问题……

相关内容