2

我正在尝试在我的 node.js 服务器上生成包含从右到左文本的图像。

我目前正在使用节点画布(基于“Cairo”),但如果其他库能做到这一点,请提出建议。

要清楚:

  1. 我需要支持才能编写从右到左的文本
  2. 实际字体与这个问题无关,字体的方向也无关。EG:我不介意在我的软件中倒写单词,只要它们会在图像中从右到左显示。(例如不支持希伯来语,如果我写“תודה”这个词,它将改为“התוד”。这个我可以处理,问题是段落方向。)
4

1 回答 1

2

这是解决问题的方法:

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
        ;
}
于 2016-03-07T11:12:35.743 回答