javafx 阿拉伯语中的奇怪空格字符

Oss*_*ama 2 javafx arabic textflow

使用下面的代码将 javafx 阿拉伯语文本流文本写入屏幕会产生奇怪的字符,单词之间的空格字符似乎变得混乱。请参阅下面的屏幕截图。

\n\n

这个问题只发生在我的 OS X sierra MacBook 上,而不是 debian 操作系统上。\n用英文空格替换空格不会执行任何操作。

\n\n

屏幕截图:\n在此输入图像描述

\n\n

代码:

\n\n
short_hadith = "  \xe2\x80\x8f.\xe2\x80\x8f \xd9\x82\xd9\x8e\xd8\xa7\xd9\x84\xd9\x8e \xd9\x81\xd9\x8e\xd8\xb5\xd9\x90\xd8\xb1\xd9\x92\xd8\xaa\xd9\x8f \xd8\xa5          \xd9\x90\xd9\x84\xd9\x8e\xd9\x89 \xd8\xa7\xd9\x84\xd9\x8e\xd9\x91\xd8\xb0\xd9\x90\xd9\x8a \xd9\x82\xd9\x8e      \xd8\xb5\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd9\x84\xd9\x87 \xd8\xb9\xd9\x84\xd9\x8a\xd9\x87 \xd9\x88\xd8\xb3\xd9\x84\xd9\x85   \xe2\x80\x8f.\xe2\x80\x8f";\ntext1=new Text(sanad_0);\ntext1.setStyle("-fx-font-size: 59; -fx-fill: white; ");\ntext2=new Text( short_hadith + "\\n");\ntext2.setStyle("-fx-font-size: 59; -fx-fill: goldenrod ; ");\ntext3=new Text(hadith_reference + "\\n");\ntext3.setStyle("-fx-font-size: 25; -fx-fill: white; ");\ntext4 = new Text(ar_moon_notification + "\\n");\ntext4.setStyle("-fx-font-size: 40; -fx-fill: white;  ");\ntext5 = new Text("\xd9\x8a\xd8\xb1\xd8\xac\xd9\x89 \xd9\x85\xd9\x84\xd8\xa7\xd8\xad\xd8\xb8\xd8\xa9 \xd8\xa3\xd9\x86 \xd9\x87\xd8\xb0\xd8\xa7 \xd9\x8a\xd9\x82\xd9\x88\xd9\x85 \xd8\xb9\xd9\x84\xd9\x89 \xd8\xad\xd8\xb3\xd8\xa7\xd8\xa8\xd8\xa7\xd8\xaa \xd8\xa7\xd9\x84\xd8\xaa\xd9\x82\xd9\x88\xd9\x8a\xd9\x85");\ntext5.setStyle("-fx-font-size: 25; -fx-fill: white;  ");                \nhadith_flow.setTextAlignment(TextAlignment.RIGHT);\nhadith_flow.setStyle("-fx-line-spacing: 20px; fitToWidth: true;");      \nhadith_flow.getChildren().addAll(text1, text2,text3, text4);\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

字体系列的问题。如果它是默认的“系统”,请将其更改为任何支持阿拉伯语言的字体系列,例如:“Arial”。

您可以在 CSS 文件中添加所有项目,如下所示: * { -fx-font-family: 'Arial'; }

我有同样的问题并修复它。