Вы можете установить только BaseFont
для поля. Это, в частности, означает, что те свойства из вашего FontFactory.getFont
вызова, которые просто становятся частью возвращенного Font
, а не базового BaseFont
, не находятся в базовом шрифте, который вы получаете с помощью fontZh.getBaseFont()
, и, следовательно, не являются установить в поле.
Среди свойств, которые теряются таким образом, в частности, информация о стиле, такая как itali c или полужирный (если файл шрифта, на который есть ссылка, уже is it c или полужирный, или указанное семейство шрифтов зарегистрировано шрифтовым или itali c файлом шрифта) и цветом.
(вы говорите, что в вашем тесте цвет является правильным ; если это так, то это не из-за его переноса через шрифт. Поскольку вы не показываете достаточно кода для хорошего анализа, я могу только догадываться; я бы предположил, что цвет либо является значением по умолчанию для начала или установите его с помощью другой инструкции.)
Таким образом, если вы хотите, чтобы в текстовом поле использовался шрифт полужирный или itali c, вы должны использовать базовый шрифт, который р выдает файл шрифта, который уже содержит aws символов в желаемой комбинации жирного и итальянского c, например, в случае Century Gothi c используйте GOTHICBI.TTF
вместо GOTHIC.TTF
. Я не знаю, есть ли у вас такой вариант «微軟 正 黑ustoms».
Если вы хотите установить цвет шрифта поля, вы можете сделать это, установив его в поле, т.е.
field.setTextColor(BC);
перед построением словаря полей с помощью field.getTextField()
.