Ruby 中的 Unicode 变体选择器
Unicode Variation Selectors in Ruby
如何为 Ruby 字符串文字中的 unicode 代码点编码 "Variation Selector"?
背景:
我使用 prawn
gem 渲染 PDF,其中我使用的字体有一些字形,我需要使用变体选择器对其进行编码。代码点是 \u0031
。我读到我需要附加变体选择器,但它似乎不起作用,例如"\u{0031FE02}"
、"\u{0031}\u{FE02}"
或 "\u0031FE02"
。
答案可能令人失望:ruby 一切都很好,但您的目标系统可能无法正确绘制生成的字符。看(Ubuntu 15.04):
▶ "\u{0061}\u{0300}"
#⇒ "à" # perfect
▶ "\u{0061}\u{fe10}"
#⇒ "a︐" # uhmmm, at least she tried
▶ "\u{0061}\u{fe02}"
#⇒ "a︂" # disgusting
不幸的是,操作系统对不同变体选择器的支持仍然非常有限。您可以尝试查看您的系统是否能够在此处正确绘制组合:http://unicode-table.com/en/#variation-selectors
如何为 Ruby 字符串文字中的 unicode 代码点编码 "Variation Selector"?
背景:
我使用 prawn
gem 渲染 PDF,其中我使用的字体有一些字形,我需要使用变体选择器对其进行编码。代码点是 \u0031
。我读到我需要附加变体选择器,但它似乎不起作用,例如"\u{0031FE02}"
、"\u{0031}\u{FE02}"
或 "\u0031FE02"
。
答案可能令人失望:ruby 一切都很好,但您的目标系统可能无法正确绘制生成的字符。看(Ubuntu 15.04):
▶ "\u{0061}\u{0300}"
#⇒ "à" # perfect
▶ "\u{0061}\u{fe10}"
#⇒ "a︐" # uhmmm, at least she tried
▶ "\u{0061}\u{fe02}"
#⇒ "a︂" # disgusting
不幸的是,操作系统对不同变体选择器的支持仍然非常有限。您可以尝试查看您的系统是否能够在此处正确绘制组合:http://unicode-table.com/en/#variation-selectors