相关疑难解决方法(0)

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

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

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

如果有可能,怎么样?

java fonts

44
推荐指数
4
解决办法
9万
查看次数

你如何导入字体?

我想知道如何导入字体.

我正在尝试使用自定义下载的字体,但由于大多数计算机将运行此字体,因此它不是默认字体.即使他们没有字体,我怎样才能使字体工作?

我正在将它用于游戏画面,需要用它显示乐谱,并希望乐谱文本是相同的字体.这是图像,

在此输入图像描述

如果重要,我的电脑上的字体名称是 Terminal

编辑:我假设它必须在java文件的目录中有字体,并有一些方法使用它,但我不知道如何.或者,还有更好的方法?

编辑2:我找到了一个很好的教程,如何做到这一点,但需要一些帮助我如何使用这个... 点击我的链接

EDIT3:

URL fontUrl = new URL("http://www.webpagepublicity.com/" + "free-fonts/a/Airacobra%20Condensed.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
g.setFont(font);
Run Code Online (Sandbox Code Playgroud)

错误信息

File: F:\Computer Science\draw.java  [line: 252]
Error: F:\Computer Science\draw.java:252: font is not public in java.awt.Component; cannot be accessed from outside package
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的:

URL fontUrl = new URL("http://img.dafont.com/dl/?f=badaboom_bb");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
g.setFont(font);
Run Code Online (Sandbox Code Playgroud)

Edit4:

File fontfile = new File("TexasLED.ttf");
File.toURI(fontfile).toURL(fontfile);
URL fontUrl = new URL("fontfile");
Run Code Online (Sandbox Code Playgroud)

错误 …

java fonts awt

8
推荐指数
1
解决办法
4万
查看次数

如何检查字体是否存在

我正在使用java.awt.Font,我怎样才能发现系统上是否安装了定义的字体?

具体来说,我有

Font font = new Font("FooBar", 0, 14);
Run Code Online (Sandbox Code Playgroud)

我想发现"font"是否是系统上的有效字体,如果不可用,则默认为更通用的字体.

java fonts awt

3
推荐指数
1
解决办法
5481
查看次数

如何在Graphics2D对象绘制的字符串中添加多种字体

我有一个Graphics2D对象,我想使用它的drawString方法。我可以调用该方法并传递String和(x,y)位置,这非常好。但是,我也可以Graphics2D使用setFont需要Font对象的方法来更改对象的字体。这也很好。不幸的是,这对我来说还不够,因为我打算为我的Font对象定义多个字体文本。

这是我想转移到我的Font对象的文本表示形式:

font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif
Run Code Online (Sandbox Code Playgroud)

我已经看到我可以使用该AttributedCharacterIterator界面来解决我的问题,但是,我不确定应该如何使用它。我已经看到实际上有一个名为的实现AttributedString,它具有一组Attributes,但是我不确定如何创建一个AttributedString对象,该对象可以由的构造Font方法使用,以使我的Graphics2D对象能够识别多种字体并应用他们在我打电话的时候drawString

编辑:

    public static AttributedString getFontByAttributes(String atts, String value)
    {
        String[] attributes = atts.split(",");
        AttributedString attributedString = new AttributedString(value);
        for (int attributeIndex = 0; attributeIndex < attributes.length; attributeIndex++)
        {
            attributedString.addAttribute(TextAttribute.FONT, attributes[attributeIndex].trim());
        }
        return attributedString;
    }
//...
    public void drawTitle(Graphics2D g2d)
{
//...
        g2d.drawString(getFontByAttributes(Settings.titleFontString, Settings.title).getIterator(), Settings.headerWidthOffset, Settings.headerHeightOffset);
//... …
Run Code Online (Sandbox Code Playgroud)

java fonts graphics2d

2
推荐指数
1
解决办法
2263
查看次数

标签 统计

fonts ×4

java ×4

awt ×2

graphics2d ×1