0

用户在注册表单中输入他的详细信息。所以用户可以输入英文或阿拉伯文。我的要求是如果他输入阿拉伯文,我需要检测并将字体和方向设置为 RTL。如果它的英文它会显示为它是。我知道如何设置字体。但我不知道如何设置字符串的方向。它应该只改变阿拉伯语的方向。

BaseFont bf = BaseFont.createFont("C:\\WINDOWS\\Fonts\\ARIALUNI.TTF",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 10, 0);
String arab="آزمايش";
document.add(new Chunk(arab, font));

上面的代码将阿拉伯文本反向写入pdf中。我如何设置该字符串的方向?所以简而言之,我的要求是正确写入字符串值,如果它来自 LTR 的英文,如果它来自 RTL 的阿拉伯语。有人可以帮我解决这个问题吗?谢谢。

4

1 回答 1

0

您可以检查此正则表达式的结果:

“[\u0600-\u06FF,\u0590-\u05FF]”

如果结果为真,则字符串“包含”一个 RTL 单词(阿拉伯语/波斯语/希伯来语)

于 2012-05-13T19:48:35.513 回答