用Ruby检测文本的语言脚本

时间:2014-07-07 19:36:34

标签: ruby-on-rails ruby unicode prawn

我们正在使用Prawn来生成PDF,偶尔我们会获得像希伯来语这样从右到左的外语。我可以在Prawn中指定文本方向,但我无法知道有关语言何时需要它。是否可以使用Ruby检测使用Ruby编写的语言文本,以便对使用哪个方向做出适当的决定?

2 个答案:

答案 0 :(得分:3)

使用这个answer中的技术,我能够轻松地测试希伯来语和阿拉伯语(需要Ruby 1.9 +):

if unknown_text.match(/\p{Hebrew}|\p{Arabic}/)
  text_direction = :rtl
end

另一种方法是检查相关文本的Unicode字符范围,如here所述。

答案 1 :(得分:1)

我发现了一颗宝石可能会做你想要的东西。我没有自己使用它的经验,因此您可能需要查看自述文件以了解如何设置或在代码中使用它

https://github.com/peterc/whatlanguage/tree/master