Как переключать семейства шрифтов в JavaFX через CSS без поддержки css строковых переменных? - PullRequest
1 голос
/ 21 января 2020

Предполагая, что я назначаю семейство шрифтов, которое я хочу использовать для латинских языков, через CSS всем своим элементам управления пользовательским интерфейсом через

control1. css:

.controlStyleClass > Label {
    -fx-font-family: 'MyLatinFont';
.controlStyleClass > Text {
    -fx-font-family: 'MyBoldLatinFont';
}

и хотите переключиться на другой шрифт, если язык приложения изменен, скажем, на китайский. Вместо того, чтобы менять определение класса стиля для каждого из моих элементов управления пользовательского интерфейса, было бы так просто, если бы я мог просто определить строку шрифта с помощью переменной css:

control1. css:

.controlStyleClass > Label {
    -fx-font-family: selectedFont;
}
.controlStyleClass > Text {
    -fx-font-family: selectedBoldFont;
}

и более поздние версии либо назначьте для моего приложения латиницу. css:

* {
    selectedFont: 'MyLatinFont';
    selectedBoldFont: 'MyBoldLatinFont';
}

или китайский. css

* {
selectedFont: 'MyChineseFont';
    selectedBoldFont: 'MyBoldChineseFont';
}

в качестве таблицы стилей. К сожалению, JavaFX пока что поддерживает только css переменных для чисел и цветов. У кого-нибудь есть хорошая концепция / обходной путь для такого рода обработки шрифтов? Я был бы очень признателен за каждую подсказку ...!

...