Domanda

Sto tentando di visualizzare del testo nel mio programma usando (diciamo) Windows GDI e alcuni dei caratteri Unicode vengono visualizzati come caselle? Che succede?

Vedi anche: Che cosa significa significa quando il mio testo viene visualizzato come punti interrogativi?

È stato utile?

Soluzione

Di solito, ciò significa che il carattere unicode specificato non è disponibile in quel tipo di carattere. Prova a cambiare i caratteri in uno di quelli multinazionali, dovrebbe andare via.

Altri suggerimenti

(immagine della maglietta da http://www.cafepress.com/nucleartacos.163046834)

L'immagine sopra rappresenta una modalità di errore comune dei sistemi di visualizzazione del testo che non tengono conto dell'intera gamma di caratteri Unicode. Su piattaforme Windows, i caratteri che non possono essere rappresentati utilizzando nessuno dei caratteri disponibili sono rappresentati con un rettangolo aperto.

In Windows ci sono 2 problemi di visualizzazione comuni che si verificano quando si tenta di visualizzare caratteri Unicode:

  1. il testo appare talvolta come punti interrogativi

    • Ciò si verifica quando i dati Unicode vengono convertiti in una codifica del set di caratteri a 8 bit (o caratteri tecnicamente multi-byte) di solito tramite la tabella codici di sistema (ma è possibile specificare altre tabelle codici nelle chiamate di conversione). Se il set di caratteri di destinazione a 8 bit non include i caratteri necessari, tutti i caratteri non rappresentabili nel set di caratteri di destinazione vengono convertiti in punti interrogativi.
  2. il testo appare talvolta come caselle

    • Questo è un problema con il font che non ha il glpyh per un personaggio particolare. Le caselle vengono visualizzate in caso di mancata corrispondenza tra i caratteri Unicode nel documento e quelli supportati dal carattere. In particolare, le caselle rappresentano i caratteri non supportati dal carattere selezionato.

L'affare è che il testo che si sta tentando di visualizzare includa caratteri non supportati nel carattere che si sta utilizzando. Il carattere casella è il carattere di sostituzione predefinito per il testo Unicode che non ha un glifo nel carattere.

Su Windows, se stai provando a visualizzare il testo in una gamma di lingue diverse, usa un font come Arial Unicode MS - questo include glifi per una vasta gamma di lingue diverse. È un "minimo comune denominatore" font - i glifi saranno generalmente lì, ma generalmente manca di carattere e alcuni dei glifi appariranno un po 'strani l'uno accanto all'altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top