使用下面的代码将javafx阿拉伯语文本流文本写入屏幕会产生奇怪的字符,看起来单词之间的空格字符会混乱。见下面的截图。
这个问题只发生在我的OS X sierra MacBook上,而不是在debian操作系统上。 用英语空格替换空格没有任何作用。
代码:
short_hadith = " . قَالَ فَصِرْتُ إ ِلَى الَّذِي قَ صلى الله عليه وسلم .";
text1=new Text(sanad_0);
text1.setStyle("-fx-font-size: 59; -fx-fill: white; ");
text2=new Text( short_hadith + "\n");
text2.setStyle("-fx-font-size: 59; -fx-fill: goldenrod ; ");
text3=new Text(hadith_reference + "\n");
text3.setStyle("-fx-font-size: 25; -fx-fill: white; ");
text4 = new Text(ar_moon_notification + "\n");
text4.setStyle("-fx-font-size: 40; -fx-fill: white; ");
text5 = new Text("يرجى ملاحظة أن هذا يقوم على حسابات التقويم");
text5.setStyle("-fx-font-size: 25; -fx-fill: white; ");
hadith_flow.setTextAlignment(TextAlignment.RIGHT);
hadith_flow.setStyle("-fx-line-spacing: 20px; fitToWidth: true;");
hadith_flow.getChildren().addAll(text1, text2,text3, text4);
答案 0 :(得分:2)
字体系列中的问题。如果是默认系统',请将其更改为支持阿拉伯语的任何字体系列,例如:' Arial'。
你可以在CSS文件中添加所有项目,如下所示:
* {
-fx-font-family: 'Arial';
}
我有同样的问题并修复它。