У меня наконец-то получилось. Помимо изменения семейства шрифтов, вы должны использовать правильный файл шрифта для JavaFX, так как большинство распространяемых параметров не работают ...
Кроме того, они изменили имена значков (хорошо, правда?) , как показано в документации по обновлению , поэтому вы должны обновлять их один за другим.
Из веб-дистрибутива работают только файлы шрифтов с именем xx-solid-900.xx
. Кажется, что оба расширения woff
и tiff
работают, но woff2
не работает.
Я также пробовал дистрибутив для настольного компьютера, который имеет гораздо большие файлы, и работал только Font Awesome 5 Free-Solid-900.otf
.
Вот значок пера (Unicode f303
), который я нашел в версии 5, отображенной в вышеуказанном приложении:
Sharper !!
Для справки, окончательный исходный код:
import javafx.application.Application
import javafx.scene.Scene
import javafx.scene.control.Label
import javafx.scene.layout.VBox
import javafx.scene.text.Font
import javafx.stage.Stage
class App extends Application {
static final String PENCIL = "\uf303"
@Override
void start(Stage primaryStage) throws Exception {
def root = new VBox(10)
root.children.with {
add new Label('My icon')
add new Label(PENCIL).with {
it.style = '-fx-font-family: "Font Awesome 5 Free";' +
'-fx-font-size: 24px;' +
'-fx-text-fill: red'
it
}
}
def scene = new Scene(root, 100, 140)
primaryStage.with {
it.scene = scene
it.title = "FontAwesome Demo"
centerOnScreen()
show()
}
}
static void main(String[] args) {
Font.loadFont(App.getResource("/fa-solid-900.woff").toExternalForm(), 12)
launch(App, args)
}
}