本文主要是介绍PDF格式分析(六十七) Text 文字——字符编码( Character Encoding),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
字体编码是字符代码和字形描述之间的关联关系,对于程序员来说,字符编码非常熟悉,经常遇到的乱码问题,基本上都是字符编码不正确造成的。
本章节将描述用于简单PDF字体的字符编码方案。复合字体(Type 0)使用字符映射来达到相同的目的,后续章节会介绍到。
除 Type 3 字体外,每个字体程序应具有内置(built-in)编码。
一些字符集由256个以上的字符组成,包括连字、重音字符和高质量排版或非拉丁文字系统所需的其他符号。不同的编码可以选择同一字符集的不同子集。
拉丁文字体程序中,常用的字体编码被称为StandardEncoding,或Adobe标准编码。StandardEncoding编码作为默认编码。Mac OS和Windows系统上用于拉丁文字体的常规编码,分别命名为MacRomanEncoding和WinAnsiEncoding。MacExpertEncoding编码被应用与“expert”字体,该类字体包含用于复杂排版的字符。
在PDF中,根据字体的所有字符是否都是标准拉丁字符集的成员,字体分为非符号字体和符号字体。PDF格式中,使用字体描述符字典中的Flags的值来体现;标准的14种字体中,有两个符号字体,分别是Symbol和ZapfDingbats。
字体程序的内置编码,通过在PDF字体字典中Encoding条目来取代。编码值取决于字体类型。Encoding的值,可以是名称编码(MacRomanEncoding、
这篇关于PDF格式分析(六十七) Text 文字——字符编码( Character Encoding)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!