在我的JLabel
/ JButton
组件等上。我使用HTML格式化文本。除了古吉拉特语之外,这种方法在所有语言中都能很好地工
我使用普通的ASCII字母来编码古吉拉特语字母,例如:
\u0aae\u0ac1\u0ab6\u0acd\u0a95\u0ac7\u0ab2\u0ac0
将解码为:
મુશ્કેલી
当我将文字放在JLabel
:
myJLabel.setText("\u0aae\u0ac1\u0ab6\u0acd\u0a95\u0ac7\u0ab2\u0ac0")
该文本很好地呈现给古吉拉特语。
但是当我为了格式化文本而将html标签合并到它时,它就不再起作用了,并且显示了方框(所有其他语言都用html很好地呈现,包括阿拉伯语和西里尔字母)。一旦我使用带有古吉拉特语字母的html标签,这就不再起作用了,打印方框(未知字符):
myJLabel.setText("<html>\u0aae\u0ac1\u0ab6\u0acd\u0a95\u0ac7\u0ab2\u0ac0<\html>")
我已经使用过我发现的这个问题的几个提示,例如以下几个,但没有成功:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
答案 0 :(得分:2)
使用此代码输出中显示的一种字体:
page-tests1 {
}
ion-row {
text-align: center;
}
.image-title {
position: absolute;
top: 25%;
font-size: 2em;
width: 100%;
font-weight: bold;
color: white;
}
import java.awt.Font;
import java.awt.GraphicsEnvironment;
public class GujaratiFonts {
public static void main(String[] args) {
String gujaratiText
= "\u0aae\u0ac1\u0ab6\u0acd\u0a95\u0ac7\u0ab2\u0ac0";
Font[] fonts = GraphicsEnvironment.
getLocalGraphicsEnvironment().getAllFonts();
int count = 0;
for (Font font : fonts) {
if (font.canDisplayUpTo(gujaratiText) < 0) {
System.out.println(font.getName() + " can print this.");
count++;
}
}
System.out.println("Supported Fonts: \t" + count);
System.out.println("Installed Fonts: \t" + fonts.length);
}
}
除非应用程序。提供适合所显示语言的Arial Unicode MS can print this.
Nirmala UI can print this.
Nirmala UI Bold can print this.
Nirmala UI Semilight can print this.
Supported Fonts: 4
Installed Fonts: 440
,运行该代码和放大器是有意义的。选择已安装的字体,每次应用时都选择。运行即可。安装的字体将随着时间的推移在不同的计算机上发生变化。