THotPDF.CMapResourcePath Property
设置在已加载文档文本提取期间用于定位标准 CMap 集合的根目录;留空则使用自动资源查找
声明
property CMapResourcePath: TFileName read FCMapResourcePath write SetCMapResourcePath;
单元
HPDFDoc
参数
| 名称 | 用途 |
|---|---|
| 此成员不暴露显式参数 | |
返回值
返回已配置的 CMap 集合根目录
使用说明
- 内置了完整的 UniJIS、UniGB、UniCNS 和 UniKS 的 UCS2 与 UTF16 水平及垂直映射,包括补充 Unicode 标量,因此这些标准 Unicode CMap 不需要外部资源目录
- 配置的目录必须包含
Adobe-GB1-6\CMap这类集合文件夹 - 当资源存放在可执行文件相对查找位置之外时,在已加载文本提取之前设置该属性
- 每次赋值都会清空已加载字体解码器缓存,重新赋同一路径也不例外
- 外部 CMap 文件已变更、且进程级已解析资源缓存也需要刷新时,先调用
HPDFClearCMapCaches再重新赋值该属性 - 已解析的标准映射和 CID 表按其解析出的根目录与映射名缓存,因此两个资源根目录可以安全地提供同名但不同的映射
- 进程级标准 CMap 资源缓存可安全并发访问,排序后的字符与范围映射则采用对数查找
- 一字节到四字节的编码空间都按原样保留,包括合法的三字节编码空间
- 全部 182 张额外内置编码映射都已内建,包括 GBK、EUC、Big5 和 Shift-JIS 变体等遗留映射、继承的竖排覆盖,以及 UTF8 和 UTF32 codespace
- Type0 文本操作数使用精确的一到四字节编码 codespace,保留混合宽度以及 UTF32 中的前导零字节
- 显式资源目录仍可覆盖标准映射;空的 loader 路径直接选择内建表,不再读取环境中的集合文件
- 畸形十六进制数据、无效代理对序列、倒置范围、超大显式范围和溢出的目标值都会得到处理,不会无界分配,也不会产生回绕映射