Маленькие заглавные буквы в Java

Чтобы поменять буквы на заглавные, есть .toUpperCase(), Чтобы изменить буквы в нижний регистр, есть .toLowerCase(),

Есть ли способ, чтобы слова появлялись в маленьких заглавных буквах?

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

2 ответа

Smallcaps - это свойство шрифта - java в основном слеп к нему. Так что просто конвертируйте регистр на стороне Java, как вам нравится, и используйте правильные fornts на стороне внешнего интерфейса (например, CSS на веб-странице)

String всегда просто String, Он не содержит данных о том, какая у него высота шрифта или что-то в этом роде. Маленькие колпачки на самом деле просто вещь для показа. Единственный способ получить информацию о SmallCaps в строку - это если вы играете со странным языковым стандартом и используете некоторые toUpperCase(yourStrangeLocale) ( https://docs.oracle.com/javase/8/docs/api/java/lang/String.html). Но даже в этом случае вы бы смешивали свойства отображения с "необработанными" свойствами данных.

На мой взгляд, ваш лучший путь вперед - это string.toUpperCase() а затем для каждого предложения сделать .charAt(0) и увеличить размер шрифта для этого символа.


Редактировать как Unicode было упомянуто в комментариях.

Если ваша система поддерживает Unicode, то вы можете просто ввести Unicode-символы для вашего текста, так как Unicode фактически определяет отдельные символы для них. В Java до сих пор нет никакого метода для получения этих символов, поскольку они не содержат никакого дополнительного значения, а не выделения, как курсив и полужирный, не имеют никакого значения в String,

Что вы можете сделать, если вы не хотите использовать capitilize и изменять размер шрифта, это написать свой собственный String toSmallCaps(String input) метод, в который вы переходите char-for-char и заменяете его аналогом unicode-smallcaps. Вот список кодов: http://www.calcresult.com/reference/text/unicode-list.html

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