为了账号安全,请及时绑定邮箱和手机立即绑定

将包含混合字体的 word 文档转换为 unicode

将包含混合字体的 word 文档转换为 unicode

萧十郎 2021-09-14 13:52:58
我有一个包含不同字体和不同语言的 Word 文档。一个例子是英文文本和古希腊文的相应翻译。对于古希腊部分,使用了 TrueType 字体(https://fonts2u.com/greek-regular.font)。现在这种方法非常不适合共享这些文件,我想将古希腊部分转换为相应的 unicode 字符。我尝试了 python 包 python-docx 来导入文件。虽然成功导入和查看文件内容,但我找不到只选择古希腊字符并将它们转换为相应的 unicode 字符的方法。我正在考虑使用 TrueType Font 字符映射并找到并用相应的 unicode 字符替换这些字符。但是查看内容我无法只选择古希腊字符。问:有没有办法使用 VBA、python 或导出不同编码的文件将古希腊字符“翻译”为相应的 unicode 字符?
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

哇,听起来很尴尬,复合破碎!

鉴于字体使用其自己的非标准字符编码定义,您可能更容易使用 XML 解析器直接处理文件。我这样做主要是因为这是我最容易选择文本中相关错误编码部分的方式。

就像是:

  1. 打开文件(ElementTree在 Python 中)。请注意,DOCX 文件实际上是一个 ZIP 文件,其中包含一个名为word/document.xml和其他相关图像/杂项的文件(视情况而定)

  2. 使用 xpath 选择器获取所有使用希腊字体的文本实例

  3. 使用您的重新映射代码从损坏的希腊语编码移动到使用真正的 Unicode 字符

  4. 保存文件

您想切换到在其标准 unicode 代码点中使用希腊字符的字体,您可以在原始 XML 中执行此操作,或者只是在 Word 中重新打开文件并在各处设置字体


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信