PDF格式分析(六十七) Text 文字——字符编码( Character Encoding)

本文详细介绍了PDF中字体编码的概念,包括Type 1、Type 3和TrueType字体的Encoding特性。字体编码关联字符代码和字形,乱码问题通常由编码错误引起。PDF的StandardEncoding、MacRomanEncoding和WinAnsiEncoding等在不同场景下有不同的应用。同时,文章讨论了TrueType字体的'cmap'结构和确保跨平台显示一致性的准则。
摘要由CSDN通过智能技术生成

字体编码是字符代码和字形描述之间的关联关系,对于程序员来说,字符编码非常熟悉,经常遇到的乱码问题,基本上都是字符编码不正确造成的。

本章节将描述用于简单PDF字体的字符编码方案。复合字体(Type 0)使用字符映射来达到相同的目的,后续章节会介绍到。

除 Type 3 字体外,每个字体程序应具有内置(built-in)编码。

一些字符集由256个以上的字符组成,包括连字、重音字符和高质量排版或非拉丁文字系统所需的其他符号。不同的编码可以选择同一字符集的不同子集。

拉丁文字体程序中,常用的字体编码被称为StandardEncoding,或Adobe标准编码。StandardEncoding编码作为默认编码。Mac OS和Windows系统上用于拉丁文字体的常规编码,分别命名为MacRomanEncodingWinAnsiEncodingMacExpertEncoding编码被应用与“expert”字体,该类字体包含用于复杂排版的字符。

在PDF中,根据字体的所有字符是否都是标准拉丁字符集的成员,字体分为非符号字体和符号字体。PDF格式中,使用字体描述符字典中的Flags的值来体现;标准的14种字体中,有两个符号字体,分别是Symbol和ZapfDingbats。

字体程序的内置编码,通过在PDF字体字典中Encoding条目来取代。编码值取决于字体类型。Encoding的值,可以是名称编码(MacRomanEncoding

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋风之刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值