1

使用下面的代码将 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);
4

1 回答 1

4

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

您可以像这样在 CSS 文件中添加所有项目: * { -fx-font-family: 'Arial'; }

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

于 2017-08-14T08:42:39.543 回答