我正在尝试在我的 node.js 服务器上生成包含从右到左文本的图像。
我目前正在使用节点画布(基于“Cairo”),但如果其他库能做到这一点,请提出建议。
要清楚:
- 我需要支持才能编写从右到左的文本
- 实际字体与这个问题无关,字体的方向也无关。EG:我不介意在我的软件中倒写单词,只要它们会在图像中从右到左显示。(例如不支持希伯来语,如果我写“תודה”这个词,它将改为“התוד”。这个我可以处理,问题是段落方向。)
我正在尝试在我的 node.js 服务器上生成包含从右到左文本的图像。
我目前正在使用节点画布(基于“Cairo”),但如果其他库能做到这一点,请提出建议。
要清楚:
这是解决问题的方法:
smartReverse: function(str) { // Reverse a string considering english letters and and numbers.
return str // by taking it and
.split(/\s+/) // splitting it into words
.reverse() // and reversing the word order
.map(function(word) {
// and then changing each word
return (/^[0-9\.]+$/.test(word) || /^[a-zA-Z0-9?><;,{}[\]\-_+=!@#$%\^&*|']+$/.test(word)) ? // if it's a number or an english word
word : // into itself
word.split("").reverse().join(""); // or otherwise into its reverse
})
.join(" ") // put it back together
;
}