PDF 文件中的字形(字符)名称是如何确定的?

PDF 文件中的字形(字符)名称是如何确定的?

PDF 文件内部使用字形名称. 例如, PDF 文件中出现的( U+2248;TeX )名称可能是。\approxapproxequal

可以通过以下方式在 TeX 生成的 PDF 文件中找到此类名称:

  1. 使用以下方式编译 TeX 代码\pdfcompresslevel=0
  2. 将生成的 PDF 文件作为文本文件进行检查,并
  3. 寻找以 开头的行/CharSet

(信息取自Ulrike Fischer 的回答其他地方,提供了更多信息)。

显然,字形名称与字体相关。那么它们是由字体决定的吗?所有字体格式都使用这样的名称吗?哪些字体格式使用文本名称?所有 PDF 文件中的所有字形都有这样的名称吗?

PDF 文件中的字形名称是如何确定的?谁决定了现有的?它们是用来做什么的?(为什么 PDF 不通过数字来引用字形?显然有些读者依赖字形名称(请参阅下面关于超链接检测的问题链接),因此 PDF 格式或一些读者一些对这些名称的假设。使用名称中介肯定是有原因的。也许这与 Unicode 相对于 PDF 的年代有关。)对于 (La)TeX 用户来说,关于这个主题还有什么需要了解的?

对我来说,PDF 字形名称的问题出现在这里:

类似的问题是如何找到 \pdfglyphtounicode 所需的正确字形名称,但这一主题还有更多的内容需要讨论。

答案1

据我了解,字形名称由字体决定。(请注意“字形”一词的使用;字符和字形是相关的,但不能互换。但那是另一个故事。)

据我了解,字体提供的名称取决于字体的供应商——它们可能在某种程度上是“有意义的”(例如,ascii字母,unicode,描述性名称,...)或者它们可能只是供应商的内部代码,就像金属类型时代的情况一样(如旧的monotype技术符号列表所示)。

事情可能会改变,但是......不要屏住呼吸。

除了 ulrike 所说的,unicode 还使用名称和数字。这里一个重要(但可能不相关的一点)是,一旦分配了名称和数字,它们永远不会改变,即使这个名字被证明是错误的,或者只是不明智的。

第二点是,有些字形不是必须由一个唯一的unicode命名。unicode应该定义意义,而不是形状。“变体”字形(具有相同的含义但不同的形状)可以用多个 unicode 表示,主要有两种方式:

  • 通过使用组合变音符号,如(U+2264) 和 U+20D2\nvarleq的复合符号\leq,“组合长垂直覆盖”;几乎没有任何由垂直取消否定的关系由单个 unicode 表示,除非 unicode 分配的基本原则发生变化,否则这将保持常态。

  • 通过添加定义的“变体选择器”(U+FE00)来指定认可(即 unicode 官方规定)无法通过添加组合变音符号来修改的变体,例如\lvertneqq(小于但不等于,仅等号的垂直否定,U+2268,U+FE00)。

Unicode 技术报告 #25,数学的 unicode 支持,在第 2.17 和 2.18 节(第 26 页及后续页面)中讨论了这些方法。

相关内容