TrueType 字体的 cmap table 中的字符代码是什么
What the character codes are in the cmap table in TrueType fonts
想知道 "character codes" 对于 cmap table in TrueType fonts. Microsoft talks about the Character to Glyph Index Mapping Table 是什么意思,但我不明白字符或字形索引的含义。
想知道是否在字体文件的某处指定了编码,例如Unicode 11.0,然后字符代码等于U+0061
等Unicode代码点] 对于 a
。或者如果字符代码是 "browser" 字符代码(我猜是十进制代码),例如 97
for a
.
基本上想知道如何将键盘字符映射到字体字形,以及它的真正含义。我认为你不太想将 keyboard 代码映射到字体字形,而是像 U+0061
这样的 unicode 代码映射到字体字形,所以如果在 JavaScript (for example) 你可以做 \u03A9
如果你的字体支持,它会给你 Ω
。
试图根据字体文件如何将数学字形 vectors/paths 映射到某种字符或代码来理解字体文件的结构。
简短但可能不需要的答案当然是 "read the OpenType spec. It takes a while",所以稍长但更简单且不太详细的答案是 http://pomax.github.io/CFF-glyphlet-fonts,尽管它跳过了 TTF,所以让我们看一下在这里:
您的输入代码通过任何适用的 CMAP 获得 运行 给定您将字体应用到的上下文,它映射计算机的代码(ascii 代码、unicode 代码点、ISO-2022-jp、你有什么)到字形 ID。具体对于 TTF,该 id 然后用作 "loca" table, which is the "glyph index to data location" table and specifies the byte offset in the "glyf" table for each glyph that the font contains. You then consult the glyf table at that byte offset, and start parsing the bytes as specified by https://docs.microsoft.com/en-us/typography/opentype/spec/glyf
中的数组偏移量
想知道 "character codes" 对于 cmap table in TrueType fonts. Microsoft talks about the Character to Glyph Index Mapping Table 是什么意思,但我不明白字符或字形索引的含义。
想知道是否在字体文件的某处指定了编码,例如Unicode 11.0,然后字符代码等于U+0061
等Unicode代码点] 对于 a
。或者如果字符代码是 "browser" 字符代码(我猜是十进制代码),例如 97
for a
.
基本上想知道如何将键盘字符映射到字体字形,以及它的真正含义。我认为你不太想将 keyboard 代码映射到字体字形,而是像 U+0061
这样的 unicode 代码映射到字体字形,所以如果在 JavaScript (for example) 你可以做 \u03A9
如果你的字体支持,它会给你 Ω
。
试图根据字体文件如何将数学字形 vectors/paths 映射到某种字符或代码来理解字体文件的结构。
简短但可能不需要的答案当然是 "read the OpenType spec. It takes a while",所以稍长但更简单且不太详细的答案是 http://pomax.github.io/CFF-glyphlet-fonts,尽管它跳过了 TTF,所以让我们看一下在这里:
您的输入代码通过任何适用的 CMAP 获得 运行 给定您将字体应用到的上下文,它映射计算机的代码(ascii 代码、unicode 代码点、ISO-2022-jp、你有什么)到字形 ID。具体对于 TTF,该 id 然后用作 "loca" table, which is the "glyph index to data location" table and specifies the byte offset in the "glyf" table for each glyph that the font contains. You then consult the glyf table at that byte offset, and start parsing the bytes as specified by https://docs.microsoft.com/en-us/typography/opentype/spec/glyf
中的数组偏移量