[Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing

zatarra

Nuovo Utente
29 Mar 2018
2
0
1
43
Ciao a tutti.
Qualcuno sa spiegarmi perché, quando stampo il contenuto di un JFrame (o, a dire il vero, qualsiasi componente swing) ciò che ottengo su stampante o PDF non è ciò che vedo a video?
Per stampare ho provato un sacco di soluzioni trovate sul web, ma grossomodo tutte si basano su Graphics2D e print.
In pratica gli elementi grafici sono tutti correttamente stampati, ma i testi non appaiono come li vedo a video: le spaziature tra i caratteri sono distorte, risultano molto ravvicinati, con l'aumentare della grandezza del font talmente tanto da sovrapporsi...
Ciò è totalmente indipendente dalla stampante che utilizzo (sia essa fisica che su file PDF).
Come posso ottenere una stampa fedele a ciò che vedo a video senza stampare l'immagine (altrimenti se qualcuno stampa su PDF non può copiare i contenuti)?
Ho già provato a cambiare font, ma non sembra dipendere da quello.

Per farvi un esempio: ho un pulsante con questo testo

Limite perdita
di carico

che, rimpiazzo con la lingua inglese con

Pressure drop
limit

Bene, se stampo l'inglese la spaziatura tra Pressure e drop ad occhio sembra corretta (non so dire se è esattamente come in video ma ci somiglia) invece stampando in italiano Limiteperdita sono praticamente appiccicati come se non ci fosse alcuno spazio (sulla stampante, ovviamente a video lo spazio si vede).

Sono l'unico ad avere questi problemi con i testi?
Grazie in anticipo per le risposte.

PS: nella stessa applicazione ho implementato un esportazione in PDF che utilizza PDFWriter e PDFTemplate e qui il problema della distorsione non si presenta pur utilizzando comunque Graphics2D... Credo a questo punto che il problema stia nel passare la grafica che è generata correttamente alla stampante...