Краткий ответ: Да.
Длинный ответ: каждый атрибут немного отличается, но вся эта информация может быть выражена в PDF в целом и в iText [Sharp] в частности.
Вы можете указать кодировку шрифта при его создании, но вы должны делать это так, как понимает iText. В частности, значения кодирования являются строками внутри iText [Sharp]. BaseFont имеет ряд открытых статических строковых членов, которые перечисляют многие из доступных кодировок, включая несколько кодовых страниц, которые будут красиво отображаться в некоторых значениях GdiCharSet. Другие, не так много.
Я обычно предлагаю использовать «Identity-H» и поднабор ваших шрифтов (что происходит автоматически с Identity-H, вы не можете избежать этого, что хорошо), если только вам не нужно поддерживать минимальный размер файла , Существует несколько однобайтовых кодировок, наиболее распространенным из которых является «WinAnsiEncoding», BaseFont.WINANSI
(по умолчанию IIRC). Строка также может быть именем CMap (например, Identity-H).
Обычно CMaps зависят от языка и кодировки. UTF & Japanese, или Big5 (китайская кодировка, насколько я помню), или что там у вас. Identity-H (и Identity-V) вместо этого шрифт специфичны. Они просто отображают значения в потоке контента на индексы глифов в шрифте (которые могут сильно отличаться от одного шрифта к другому или между версиями данного шрифта: именно поэтому вам необходимо встроить подмножества шрифтов Identity- *).
В PDF (и, следовательно, iText [Sharp]), «жирный» и «курсив» являются частью идентификатора шрифта, а не свойством. "Arial-Bold", "Arial-Italic" и др.
Вычеркивание и подчеркивание - это украшения, добавленные после факта (хотя я полагаю, что iText позволит вам установить флаг на уровне шрифта для таких вещей в конструкторе com.itextpdf.text.Font
).
iText не даст вам прямого доступа к высоте, хотя «дескриптор» шрифта позволит вам определить его.
Размер точки также не является свойством, вы устанавливаете его и шрифт (и цвет, по умолчанию черный), прежде чем рисовать какой-либо текст.