能在java和windows平台上使用支持所有语言的字体JTextArea
吗?我在谷歌搜索,但没有找到任何帮助。在java中所有语言支持的字体windows上的JTextArea
textArea = new JTextArea();
textArea.setFont(new Font("Arial", Font.PLAIN, 12));
能在java和windows平台上使用支持所有语言的字体JTextArea
吗?我在谷歌搜索,但没有找到任何帮助。在java中所有语言支持的字体windows上的JTextArea
textArea = new JTextArea();
textArea.setFont(new Font("Arial", Font.PLAIN, 12));
为此,您需要一个Unicode。对于所有语言,这种字体的大小可能在20 MB左右。
您可以在您的应用程序中提供字体。所需要的是注册字体(i.a.与Windows)。
//Font font = Font.createFont(Font.TRUETYPE_FONT, new File("code2000.ttf"))
Font font = Font.createFont(Font.TRUETYPE_FONT,
getResourceAsStream("/code2000.ttf"))
GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
genv.registerFont(font);
有Arial Unicode MS,但这不是免费的。但是,有足够的免费完整的Unicode字体。
我敢肯定,注册字体并非绝对必要,除非其他代码打算按名称引用它(例如在Font构造函数中,在Font.getFont方法,TextAttribute.FAMILY,StyleConstants.Family或在启用了HTML的Swing组件的CSS中)。对于单个JTextArea,新的Font对象可以传递给textArea.setFont。 – VGR
@VGR是的,名称查找适用于逻辑字体名称(旧java),系统字体名称和注册字体名称。后者需要为应用程序提供字体。 –
这真的不清楚你在问什么。请尝试解释你想要达到的目标以及卡住的位置。 – germi
@germi我认为他想让输入的不仅仅是英文,还有其他语言的Windows平台。 – Blip
@Rafiq你有什么特定的语言? – Blip