【问题标题】:JavaFX ignores weight and style from custom fontsJavaFX 忽略自定义字体的粗细和样式
【发布时间】:2017-04-05 03:20:18
【问题描述】:

当我用这样的代码让 javafx 加载字体时:

font = Font.loadFont(getClass().getClassLoader().getResource("gui/font.ttf").toExternalForm(), 25);

并在成功加载后,将其应用于文本

text.setFont(font);

文本显示正确的字体但是,当我尝试对其应用一些样式或权重时,例如

text.setStyle("-fx-font-weight: bold;");

text.setStyle("-fx-font-style: italic;");

没有任何变化。 即使使用 SceneBuilder,我也试过了,但它在那里也不起作用。 我该怎么做才能让 java 加载我的字体以及所有样式和权重(或者至少让它尝试派生它们)?

编辑:使用的源:Peque Script(我知道,5 分钟前它没有进行维护) 网上找到的一些其他字体,如thisthis

【问题讨论】:

    标签: java css javafx fonts font-style


    【解决方案1】:

    我尝试了一个随机的并且正在工作,我认为这是由于您使用的字体,它可能没有重量,您使用的是什么字体? (无法评论)。

    编辑: 我做了一些研究,发现“.tff”文件中只有一种(个人/联合)样式,即使它是一个丰富的文件。如果以“consolas”字体为例,有 4 种类型(Normal/Italic/Bold/Bold-Italic),这些类型一起使用,但在单独的文件中。我希望这能回答你的问题。

    【讨论】:

    • 是的,但是在 java.awt.Font 中有一些东西可以派生字体,而且它在其他所有普通的 api/应用程序中,没有任何方法可以派生粗体或斜体吗? (即使它应该自己做)
    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 2014-03-26
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多