JavaFX игнорирует вес и стиль из пользовательских шрифтов

Когда я делаю 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 загрузил мой шрифт С учетом всех стилей и весов (или, по крайней мере, чтобы он пытался получить их)?

РЕДАКТИРОВАТЬ: используется fount: Peque Script (я знаю, 5 минут назад он не был в обслуживании) Некоторые другие шрифты, найденные в Интернете, как этот или этот

1 ответ

Я пробовал со случайным и работает, я думаю, это из-за шрифта, который вы используете, он может не иметь веса, какой шрифт вы используете? (не могу комментировать).

Изменить: я провел небольшое исследование, и я обнаружил, что только один (индивидуальный / объединенный) стиль присутствует в файле ".tff", даже если это богатый файл. Если вы берете пример шрифта "consolas", существует 4 типа (обычный / курсив / полужирный / полужирный курсив), эти типы используются вместе, но в отдельных файлах. Я надеюсь, что это ответило на ваш вопрос.

Другие вопросы по тегам