TL; DR: C'è un modo per dire a ReportLab di utilizzare un carattere specifico e il fallback a un altro se mancano glifi per alcuni caratteri? In alternativa, Conoscete un font TrueType condensato che contiene i glifi per tutte le lingue europee, ebraico, russo, cinese, giapponese e arabo?ReportLab: funziona con caratteri cinesi/Unicode
Ho creato report con ReportLab e ho riscontrato problemi con il rendering di stringhe contenenti caratteri cinesi. Il font che ho utilizzato è DejaVu Sans Condensed, che non contiene i glifi per il cinese (tuttavia, contiene cirillico, ebraico, arabo e tutti i tipi di Umlauts per il supporto linguistico europeo - il che lo rende piuttosto versatile e di cui ho bisogno di tanto in tanto)
Cinese, tuttavia, non è supportato dal tipo di carattere e non sono stato in grado di trovare un carattere TrueType che supporti TUTTE le lingue e soddisfi i nostri requisiti di progettazione grafica. Come soluzione temporanea, ho fatto in modo che i report per i clienti cinesi usassero un font completamente diverso, contenente solo glifi in inglese e cinese, sperando che i caratteri in altre lingue non fossero presenti nelle stringhe. Tuttavia questo è, per ovvi motivi, goffo e rompe il disegno grafico, dal momento che non è DejaVu Sans, attorno al quale è stato progettato l'intero look & feel.
Quindi la domanda è, come gestire la necessità di supportare più lingue in un documento e mantenere l'utilizzo di un carattere specificato per ciascuna lingua. Ciò è reso più complicato dal fatto che a volte le stringhe contengono un mix di lingue, quindi determinare quale font ONE dovrebbe essere usato per ogni stringa non è un'opzione.
C'è un modo per dire a ReportLab di utilizzare un carattere specifico e il fallback a un altro se mancano glifi per alcuni caratteri? Ho trovato vaghi accenni nei documenti che dovrebbe essere possibile, anche se potrei capirlo in modo errato.
In alternativa, conosci un font TrueType condensato che contiene i glifi per tutte le lingue europee, ebraico, russo, cinese, giapponese e arabo?
Grazie.
Non so una risposta completa, ma credo che l'utilizzo di font unicode [link] https://en.wikipedia.org/wiki/Unicode_font dovrebbe aiutarti a mostrare i caratteri in molte lingue – bmbigbang