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

我有一个包含不同字体和不同语言的 Word 文档。一个例子是英文文本和古希腊文的相应翻译。对于古希腊部分,使用了 TrueType 字体(https://fonts2u.com/greek-regular.font)。现在这种方法非常不适合共享这些文件,我想将古希腊部分转换为相应的 unicode 字符。

我尝试了 python 包 python-docx 来导入文件。虽然成功导入和查看文件内容,但我找不到只选择古希腊字符并将它们转换为相应的 unicode 字符的方法。

我正在考虑使用 TrueType Font 字符映射并找到并用相应的 unicode 字符替换这些字符。但是查看内容我无法只选择古希腊字符。

问:有没有办法使用 VBA、python 或导出不同编码的文件将古希腊字符“翻译”为相应的 unicode 字符?


萧十郎
浏览 220回答 2
2回答

浮云间

哇,听起来很尴尬,复合破碎!鉴于字体使用其自己的非标准字符编码定义,您可能更容易使用 XML 解析器直接处理文件。我这样做主要是因为这是我最容易选择文本中相关错误编码部分的方式。就像是:打开文件(ElementTree在 Python 中)。请注意,DOCX 文件实际上是一个 ZIP 文件,其中包含一个名为word/document.xml和其他相关图像/杂项的文件(视情况而定)使用 xpath 选择器获取所有使用希腊字体的文本实例使用您的重新映射代码从损坏的希腊语编码移动到使用真正的 Unicode 字符保存文件您想切换到在其标准 unicode 代码点中使用希腊字符的字体,您可以在原始 XML 中执行此操作,或者只是在 Word 中重新打开文件并在各处设置字体
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python