根据此article,以下CMap bfrange映射有效:
<02> <02> [<0066006C>]
这是否意味着PDF CMap解析器应该识别多字符十六进制并将其解析为02 = [0066, 006C]
?
我无法在PDF规范中找到任何证实此特定格式的内容,与明确提及的startChar endChar [destChar, ...]
和startChar endChar destChar
不同。
答案 0 :(得分:2)
我在PDF规范中找不到任何证实这种特定格式的内容
查看pdf规范ISO 32000-1第9.10.3节 ToUnicode CMaps 示例2:
2 beginbfrange < 0000 >< 005E >< 0020 > < 005F >< 0061 >[ < 00660066 > < 00660069 > < 00660066006C > ] endbfrange
...
&LT; 00 00>到&lt; 00 5E&gt;映射到Unicode值U + 0020到U + 007E接下来是映射的定义,其中每个字符代码表示多个Unicode值:
< 005F > < 0061 > [ < 00660066 > < 00660069 > < 00660066006C > ]
在这种情况下,原始字符代码是连字ff,fi和ffl的字形索引。该条目定义了来自字符代码的映射&lt; 00 5F&gt;,&lt; 0060&gt;和&lt; 00 61>对于绑定中每个字符的Unicode标量值的Unicode值字符串:U + 0066 U + 0066是字符序列ff的Unicode值,U + 0066 U + 0069用于fi,U + 0066 U + 0066 U + 006c表示ff l。