физические шрифты java?

Я объединяю файлы ttf в файл jar и намерен использовать их в качестве физических шрифтов для рендеринга текста.

Все примеры кодов, которые я видел в Интернете, следующие:

InputStream is=Essai.class.getResourceAsStream(resourcePath);
Font f=Font.createFont(fontFormat, is);

У меня два вопроса по этому коду:

  • Во-первых, один шрифт, скажем, DejaVu, содержит 4 разных файла ttf, по одному на стиль (обычный, полужирный, курсив и полужирный курсив); достаточно ли создать шрифт из одного единственного ttf (любого из 4-х)?

  • #P5# #P6# Итак, мой второй вопрос: следует ли закрыть поток после создания шрифта или оставить его открытым?

person George Casttrey    schedule 22.04.2012    source источник
comment
спасибо, что нашли время ответить. Я не согласен с вашим редактированием, мне нужно, чтобы второй вопрос оставался отмеченным под вторым элементом списка, потому что ... это второй вопрос :-)   -  person George Casttrey    schedule 22.04.2012


Ответы (1)


  1. Я не верю, что загрузка одного варианта загрузит их все. Но тогда это не имеет значения. Java может создать вариант Font с любой комбинацией полужирного шрифта и курсива. Я бы поставил только стандартный Font в банку в первую очередь.
  2. Закройте поток. Многие примеры урезаны ради краткости (хотя, как правило, это плохая идея).
person Andrew Thompson    schedule 22.04.2012
comment
хорошо, нет проблем, я буду иметь это в виду :) Я не верю, что загрузка одного варианта загрузит их все., это правда, я только что проверил это. Я также проверил, выглядят ли варианты, созданные java, так же, как те, которые определены в файлах ttf, и выяснил, что это не так. Варианты, загруженные из соответствующих ttfs, выглядят намного сексуальнее! :П. Теперь проблема в том, что они регистрируются под одним и тем же именем в GraphicsEnvironment, что означает, что я могу правильно использовать только один из них с конструктором шрифта. Но в любом случае я найду способ справиться с этим. Еще раз спасибо за ответ :) я отмечу это решенным - person George Casttrey; 22.04.2012