我是 Ruby 新手,我正在尝试编写一个脚本(Windows XP 上的 Ruby 1.9.3),它将使用 WIN32OLE 库自动从 InDesign 文档中提取文本。
InDesign 文档包含 ShreeLipi 字体(印度梵文脚本)的文本。我的 Ruby 脚本是:
需要'win32ole'
app = WIN32OLE.new('InDesign.Application')
doc = app.activeDocument
text_frame = doc.textFrames(1)
text = text_frame.contents #=> "emhy ‘hmamOm§Mo ñ‘maH$ emhy {‘b‘ܶo C^mam"
puts text.encoding.name #=> "IBM437"
file = File.open('D:/try.txt','w')
file.puts text
file.close
当我打开同一个文件以使用记事本查看文本时,它显示:
"emhy `hmamOmMo ¤`maH$ emhy {`b`šo C^mam"
我不明白为什么会这样。请帮我改正。我尝试使用 Windows-1252 编码和 ISO-8859-1 来解决它,但找不到解决方案。