#java #css #javafx #fonts
Вопрос:
Я пытаюсь загрузить шрифт .ttf в свое приложение JavaFX. Это моя структура проекта:
main
- java
- - Application.java
- resources
- - fonts
- - - static
- - - - Raleway-Thin.ttf
- - - - Ralewy-Regular.ttf
- - - - ...
- - - Raleway-VairableFont_wght.ttf
- - main.css
В Linux все работало нормально при загрузке статических шрифтов start(Stage stage)
вот так:
Font.loadFont(getClass.getResourceAsStream("fonts/static/Raleway-Thin.ttf"), 12);
... //Here I load all types I need
и ссылаться на них main.css
вот так:
.button {
-fx-font-family: 'Raleway Thin', sans-serif;
}
В Windows шрифт выглядит плохо:
Он действительно загружает шрифт, он действительно полужирный, но выглядит очень некрасиво.
Я попробовал следующее и с удовольствием расскажу обо всем более подробно, если это необходимо:
- Загрузите переменную Font_wgth с
Font.loadFonts(...)
помощью . Это был бы лучший способ, но он загружается толькоRaleway Thin
при этом. Думаю, для этого мне понадобится.ttc
файл. Кроме того, он по-прежнему имеет пикселизацию. - Я попробовал использовать тег css
@font-face
. Это не решило проблему с пикселизированным текстом. - Я попытался изменить второй аргумент
size
Font.loadFont()
, я действительно не понимаю его цели, даже после прочтения документации.
Что может вызвать это и как я могу это решить? Я не могу полагаться на то, что пользователь установил шрифт в системе.