按照PDF格式规范的规定,内嵌字体可以采用自己的编码,这个编码可以与常规字符编码不一样。 而在复制、另存为文本的时候,需要能够将自定义编码转换成Unciode,才能正常复制、另存为,否则直接用自己的编码,到了别的程序后就是所谓的“乱码”。
将自定义编码转换成Unicode,靠的是在字体定义中的说明。对于一楼贴出来的PDF,在字体说明中有/ToUnicode段,说明自定义编码与Unicode的对应关系,因此复制、另存为应该没有问题。在Acrobat 9中刚开始复制可能出来的是乱码,另存为txt后再复制,出来的就是正常文字了。
有的pdf在中文嵌入式字体中没有说明编码,也没有/ToUnicode段,所以PDF浏览器不知道如何将文字编码转换成Unicode,出来的自然是乱码。其他的字体有/Encoding /WinAnsiEncoding说明,即使用ANSI编码,因此对于字母、数字,PDF浏览器知道该如何转换成Unicode,出来的就不是乱码。