如何在Java中使用自定义字体?

我用Java编写了一个程序,它使用一种特殊的字体,默认情况下在任何操作系统上都不存在。

在Java中是否可以将这种特殊字体添加到操作系统中?例如,在Windows中,将此字体复制到特殊的Fonts文件夹。

如果有可能,怎么样?


白猪掌柜的
浏览 1667回答 3
3回答

鸿蒙传说

如果在包中包含字体文件(otf,ttf等),则可以通过此处描述的方法在应用程序中使用该字体:Oracle Java SE 6:java.awt.FontOracle 提供了一个教程,显示了这个示例:try {     GraphicsEnvironment ge =          GraphicsEnvironment.getLocalGraphicsEnvironment();     ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf")));} catch (IOException|FontFormatException e) {     //Handle exception}我可能会在某种资源加载器中将其包装起来,但是每次要使用它时都不会从包中重新加载文件。与原始问题更密切相关的答案是将字体安装为应用程序安装过程的一部分。该过程取决于您选择的安装方法。如果它不是桌面应用程序,您将不得不查看提供的链接。

慕标琳琳

我是这样做的!//create the fonttry {    //create the font to use. Specify the size!    Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("Fonts\\custom_font.ttf")).deriveFont(12f);    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();    //register the font    ge.registerFont(customFont);} catch (IOException e) {    e.printStackTrace();} catch(FontFormatException e) {    e.printStackTrace();}//use the fontyourSwingComponent.setFont(customFont);

德玛西亚99

在Java教程中,您需要创建一个新字体并在图形环境中注册它:GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf")));完成此步骤后,字体在调用时可用getAvailableFontFamilyNames(),并可在字体构造函数中使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java