QT版本 4.8.7 本人用qlibemf 开源库渲染EMF文件到QPrinter 生产PDF文件 出现以下问题
生成的EXE执行程序,在XP系统合成的PDF
WIN7系统合成的PDF
查询乱码的对应unicode二进制数据为
原始EMF文件EMR记录的十六进制数据 其中划横线对应相应文字发现并无问题,但WIN7的PDF所有乱码中文的十六进制数据 第一个字节总与原始EMR记录差6 比如 'EA4E' 与‘E44E’中EA-E4=6 ,所有乱码文字都是同样规律,怪异啊!!
但也存在合成PDF后不会出现乱码,但渲染位置出现问题的EMF文件比如:
WIN7:
XP:
这个文件对应的EMR记录:
54 EMR_EXTTEXTOUTW 54 00 00 00 78 00 00 00-55 00 00 00 02 00 00 00
5E 00 00 00 56 00 00 00-01 00 00 00 00 00 C8 41
00 80 BB 41 60 00 00 00-02 00 00 00 07 00 00 00
4C 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF-5C 00 00 00 EA 4E 68 56
30 52 95 4E 95 5E F6 65-F4 95 00 00 0C 00 00 00
0C 00 00 00 0C 00 00 00-0C 00 00 00 0C 00 00 00
0C 00 00 00 0C 00 00 00-
其中 EA 4E 68 56
30 52 95 4E 95 5E F6 65-F4 95 00 00 对应文字 “仪器到井底时间”