Oss*_*ama 2 javafx arabic textflow
使用下面的代码将 javafx 阿拉伯语文本流文本写入屏幕会产生奇怪的字符,单词之间的空格字符似乎变得混乱。请参阅下面的屏幕截图。
\n\n这个问题只发生在我的 OS X sierra MacBook 上,而不是 debian 操作系统上。\n用英文空格替换空格不会执行任何操作。
\n\n\n\n代码:
\n\nshort_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);\nRun Code Online (Sandbox Code Playgroud)\n
小智 5
字体系列的问题。如果它是默认的“系统”,请将其更改为任何支持阿拉伯语言的字体系列,例如:“Arial”。
您可以在 CSS 文件中添加所有项目,如下所示:
* {
-fx-font-family: 'Arial';
}
我有同样的问题并修复它。