泰文扫描件改字:元音和声调符号为什么会错位
简答: 泰文的元音和声调符号不是独立占位的字符,而是叠放在辅音的上方或下方,位置由字体的排版规则决定。只按字符逐个摆放就会错位。EnjoyPDF 先用 HarfBuzz 按字体规则排版,再把结果写入页面。
为什么会错位
泰文一个音节可能由辅音、上元音或下元音、声调符号叠成多层,例如 ที่、นั้น、กู้。这些符号在 Unicode 里是独立字符,但显示时要根据字体里的定位规则,放到辅音的上方或下方,遇到高辅音还要让位。
只会逐个摆放字符的软件,会把符号放在固定位置,于是出现:
- 声调符号和上元音重叠;
- 符号漂到相邻字符上方;
- 下元音和下一行打架;
- 复制出来的文字顺序不对。
泰国用户常说的「สระลอย」「วรรณยุกต์เพี้ยน」说的就是这些情况。
PDF 字符替换工具 的做法
- 识别:泰文扫描件用 PP-OCRv5 泰文模型识别;关键词是泰文时,「自动」会选这个模型。
- 排版:新文字交给 HarfBuzz,按所选字体的 OpenType 规则计算每个符号的位置。
- 写入:排版结果以矢量轮廓写入,同一位置叠加一层不可见的正确文字,所以显示正确,也能搜索和复制。
- 回读:保存时重新识别核对。泰文数字视为与阿拉伯数字等价。
建议
- 扫描分辨率用 300 DPI,旧印本尤其要注意;
- 替换前切到「预览替换效果」,放大查看符号位置;
- 一条替换里不要中文和泰文混写,除非本机有同时包含两种文字的字体。
常见问题
默认用什么泰文字体?
「替换字体:自动」时泰文用 Tahoma,也可以在字体菜单中手动指定本机已安装的其他泰文字体。
泰文扫描件识别准吗?
在新印刷的文档上可用但需要核对;旧印本和低分辨率扫描件仍是实验性。实测字符错误率见语言支持矩阵。
替换后再用其他 PDF 编辑器改这段泰文会怎样?
泰文在文字层里显示为矢量轮廓加不可见文字,其他编辑器再次编辑时看到的是轮廓,不是可编辑文字。
资料来源
- ThaiDocs:แก้ไขตัวอักษรจาก PDF เพี้ยน(修复 PDF 泰文字符错乱) · 查询日期 2026-10-14