Ruby印刷文本,印地语,梵语等语言的字符

时间:2012-12-19 19:22:51

标签: ruby hindi

我想用印地语/梵语编写文本/字符。任何人都可以使用Ruby语言指导我如何实现这一目标?有没有可用于实现此目的的图书馆/宝石?我试图寻找这个,但找不到所需的资源。基本上各种网站用印地语,古吉拉特语,梵语等语言显示其内容,但我想渲染任务是由浏览器使用字体文件完成的。使用编程语言我们如何实现相同?

感谢。

3 个答案:

答案 0 :(得分:1)

关于服务器端语言的问题很多 - 它是关于为数据使用正确的字符编码。 UTF-8是用于支持国际语言的最常用格式。大多数印度都受到保护。浏览器完成所有工作,不需要添加任何字体(除非你真的很喜欢排版)。

उदाहरणकेलिये

请参阅:http://www.unicode.org/standard/supported.html

答案 1 :(得分:0)

您需要使用正确的编码,为了互操作性,它是UTF-8。要在程序中使用UTF-8,您需要在文件顶部添加以下注释:

#encoding: utf-8

然后,您需要使用文本编辑器将印地语或其他语言中的符号插入字符串中,Ruby会很乐意将它们打印出来。

答案 2 :(得分:0)

在ruby中,我们有[] .pack('U *')方法将给定数组的值(作为Unicode值)转换为相应的字符,还有“ XYZ” .unpack('U *'),它向我返回Unicode值每个字符。 执行后,

[2309].pack('U*')

我得到了 让我们通过一个例子来理解它, 我要मिरो में आपके लिए एक नया सिलाई आदेश 然后执行

"मिरो में आपके लिए एक नया सिलाई आदेश".unpack('U*')

这将为我返回上述字符串中每个字符的Unicode值。

[32, 2350, 2375, 2306, 32, 2310, 2346, 2325, 2375, 32, 2354, 2367, 2319, 32, 2319, 2325, 32, 2344, 2351, 2366, 32, 2360, 2367, 2354, 2366, 2312, 32, 2310, 2342, 2375, 2358]

然后重新生成上述印地语字符串,

[2350, 2367, 2352, 2379, 32, 2350, 2375, 2306, 32, 2310, 2346, 2325, 2375, 32, 2354, 2367, 2319, 32, 2319, 2325, 32, 2344, 2351, 2366, 32, 2360, 2367, 2354, 2366, 2312, 32, 2310, 2342, 2375, 2358].pack('U*')

注意:.unpack('U *')返回的unicode是因为我们通过提及'U *'来要求的。此unpack / pack方法也适用于二进制和许多其他形式。

Read more about pack/unpack