我是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解决它,但找不到解决方案。