Pergunta

Existe uma maneira de ler fontes de tipo aberto em Java da mesma maneira que eu faço com fontes TrueType?

Isso funciona perfeitamente para TTF mas eu não descobrir ainda como fazer o mesmo com fontes de tipo aberto.

Font f = Font.createFont( Font.TRUETYPE_FONT,
new FileInputStream("f.ttf") );

Por favor, note que não pode retransmitir em fontes instaladas. Eu forneço a fonte com o meu programa, mas não deseja instalá-lo em todo o sistema.

Foi útil?

Solução

Eu não acho que há apoio Open Type Font em java (pelo menos não livre), iText alegou ter tal apoio, tentou fazê-lo alguns meses atrás e não funcionou, o que funcionou para mim é um programa chamado FontForge que eu usei para criar um ttf do OTF que eu então utilizado.

Outras dicas

Java OpenType fonte de apoio depende da sua versão do sistema operacional e JDK.

Antes de Java 6, você só pode usar TrueType sabor fontes OpenType. Com Java 6 você pode usar todas as fontes OpenType, mas você não vai beneficiar de recursos avançados tipográficos como ligaduras.

Eu usei uma fonte de conversor para converter o OTF para um TTF arquivo. Existem alguns serviços on-line lá fora (como www.freefontconverter.com ) que fazem o trabalho. Para mim, isso foi uma solução rápida e simples.

Open Type (.otf) da fonte não é suportado no Java 1.6. De java 1,7, é adicionado suporte. Abaixo código funcionou para mim:

Font font = Font.createFont(Font.TRUETYPE_FONT, new File("MyFont.otf"));
font  = font.deriveFont(Font.BOLD, 40);
------
label.setFont(font);

A seguir estão alguns links que justificam sobre este

http://bugs.java.com/view_bug.do?bug_id=6992611 http://docs.oracle.com/javase/7/docs/ WebNotes / adoptionGuide / # balanço

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top