【发布时间】:2012-01-11 23:33:42
【问题描述】:
我想知道您将如何导入字体。
我正在尝试使用自定义下载的字体,但由于大多数要运行它的计算机都没有这种字体,因为它不是默认字体。即使他们没有字体,我该如何让字体工作?
我将它用于游戏结束屏幕,需要用它显示分数,并希望分数文本使用相同的字体。这是图片,
万一我电脑上的字体名称是Terminal
编辑:我假设它必须在 java 文件的目录中有字体,并且会有某种使用方式,但我不确定如何使用。还是有更好的办法?
Edit2:我找到了一个很好的教程,但是我需要一些关于如何使用它的帮助...click me for link
编辑3:
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);
错误信息
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
这是我正在尝试的:
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);
编辑4:
File fontfile = new File("TexasLED.ttf");
File.toURI(fontfile).toURL(fontfile);
URL fontUrl = new URL("fontfile");
错误
Error: F:\Computer Science\draw.java:250: toURI() in java.io.File cannot be applied to (java.io.File)
【问题讨论】:
-
您打算如何分发您的游戏:Java Web Start 或特定于平台的本机操作系统安装程序?
-
如果没有找到字体名称,操作系统会尝试找到靠近它的字体名称。它被称为font-substitution
-
@eee 现在将从编译器运行。这是一个学校项目。而且我不希望字体经过替换,否则看起来很难看。
-
@eee 使用
File是对短视问题的短视回答。Font实际上是一个应用程序资源,因此应该是 Jar'd 并通过 URL 访问(并将其转换为InputStream以在createFont()方法中使用)。 -
@Fogest 非法转义字符,嗯...你需要在 Java 中这样设置
"F:\\Computer Science\\Texas LED.ttf"。