字体为null
无法重现故障。
无法重现故障。
1.2.0.4683 不报错误。
我下载github最新版也是三天前的,报错。大概还没更新?
1.2.0.4678 版,点击XObject--X25--命令--第二个绘图状态--文本区--字符串(TJ),这里的字符串4678和4683版都没有解析它 我估计因为字体错误把这句操作符跳过去了
这个是github当前版本提示的错误
这串16进制用另一个字体DecodeSingleCID解析出来是:打好基础 32EC 2A16 2893 48D9
但我不知道怎么挨个试字体
用1.2.0.4683版。
1.2.0.4683不报错并不是它没bug,好像是把错误的操作符吃了,压根就没提示。
请查看结构查看器--XObject--X25--命令--第二个图形状态,滚动条拖到最下面,文本区(BT),第一个Tc,Tw,Tm后面的TJ没了
这是导出的资源内容流,X25的内容流在txt的4281行~5786行。消失的操作符在5768行,结构查看器未显示这行操作符。 资源文本字体null-XObjects.zip
新的4688测试版修复了这个问题,会报告缺少字体的错误。
在X25的Resourrce里面有两个字体C0_0和C0_1,其中一个是可以解析这个TJ文本的。 可否提升TJ解析的字体兼容性,错误信息保持不变,但如果能解析出来的文本就保留这个文本做输出,而不是输出乱码。
也就是说当font为null的时候,读一下X25中的font(或者页面的font)当作默认字体进行尝试。
我找了个省事的办法,在CMapAwareDocumentFont中 InitFont()时,把CMapToUnicode都记下来,这样哪个代码对应哪个汉字就有了个完整的字典 在PaceAndTextCommand中,如果遇到字体为null,就从字典里面的CMap中lookup编码,一般都能找到对应的汉字