jasper-reports
Font-extensions
Ricerca…
Creazione e utilizzo delle estensioni dei caratteri
Crea un'estensione di carattere usando l'IDE. Consultare la documentazione di iReport o Jaspersoft Studio per i dettagli. L'estensione del carattere può anche essere creata manualmente .
Quali sono le estensioni dei caratteri?
Usando un textElement puoi specificare un font (se non viene specificato il carattere predefinito SansSerif )
<textElement>
<font fontName="DejaVu Sans"/>
</textElement>
Per calcolare la metrica dei caratteri (per interruzioni di linea, allineamento, ecc.) E renderizzare correttamente il carattere , il carattere deve essere mappato nella JVM (Java virtual macchine). È possibile installare il file di font direttamente sulla JVM, ma questo non è un incoraggiamento
Dalla guida definitiva di JasperReport:
Incoraggiamo vivamente le persone a utilizzare solo caratteri derivati da estensioni di caratteri, poiché questo è l'unico modo per assicurarsi che i caratteri siano disponibili per l'applicazione quando i report vengono eseguiti in fase di runtime. L'uso dei caratteri di sistema comporta sempre il rischio che i report non funzionino correttamente quando vengono distribuiti su una nuova macchina che potrebbe non avere quei font installati
Estensione di carattere predefinita
JasperReports fornisce un'estensione carattere predefinita (vedi distribuzione maven jasperreports-fonts.jar). Aggiungendo questo a classpath puoi usare i seguenti fontName senza creare la tua estensione font
DejaVu Sans
DejaVu Serif
DejaVu Sans Mono
Problemi comuni
Problemi da considerare quando si usano i font in pdf (itext):
Quando si esporta in PDF, se il testo non viene reso correttamente (parti mancanti, caratteri non mostrati, non avvolti o dimensionati correttamente), le estensioni dei caratteri sono probabilmente mancanti.
L'attuale
.tffsupportato ( OpenType ) e il font può effettivamente renderizzare il personaggio? Non tutti i font rendono tutti i caratteri inUTF-8.La codifica corretta è passata a iText? In caso di dubbi (o in generale) utilizzare la codifica
Identity-Hè consigliabile per gli standard PDF più recenti e offre la possibilità di combinare diverse codifiche.Il carattere è incorporato in modo che un PDF condiviso tra i computer possa visualizzare il contenuto anche se il carattere non è installato? Se il carattere non è uno dei 14 caratteri standard di tipo 1, incorpora sempre questo carattere.
Nota che la versione di iText usata da jasper report non renderà tutti i font ( problema di ligaturizer ), puoi testare il font ttf e la codifica direttamente vedi Come posso testare se il mio font è reso correttamente in pdf?