Larghezze carattere
Le applicazioni devono recuperare i dati di larghezza dei caratteri quando eseguono attività quali l'adattamento di stringhe di testo a larghezza di pagina o colonna. Esistono quattro funzioni che un'applicazione può usare per recuperare i dati di larghezza dei caratteri. Due di queste funzioni recuperano la larghezza avanzata dei caratteri e due di queste funzioni recuperano i dati effettivi sulla larghezza dei caratteri.
Un'applicazione può usare le funzioni GetCharWidth32 e GetCharWidthFloat per recuperare la larghezza avanzata per singoli caratteri o simboli in una stringa di testo. La larghezza di avanzamento è la distanza che il cursore su una visualizzazione video o la testa di stampa su una stampante deve avanzare prima di stampare il carattere successivo in una stringa di testo. La funzione GetCharWidth32 restituisce la larghezza avanzata come valore intero. Se è necessaria una maggiore precisione, un'applicazione può usare la funzionegetCharWidthFloatper recuperare i valori di larghezza avanzata frazionaria.
Un'applicazione può recuperare i dati effettivi sulla larghezza dei caratteri usando le funzioni di GetCharABCWidths e GetCharABCWidthsFloat. La funzione GetCharABCWidthsFloat funziona con tutti i tipi di carattere. La funzione GetCharABCWidths funziona solo con i tipi di carattere TrueType e OpenType. Per altre informazioni sui tipi di carattere TrueType e OpenType, vedere Raster, Vector, TrueType e OpenType Fonts.
La figura seguente mostra i tre componenti di una larghezza dei caratteri:
La spaziatura A è la larghezza da aggiungere alla posizione corrente prima di posizionare il carattere. La spaziatura B è la larghezza del carattere stesso. La spaziatura C è lo spazio vuoto a destra del carattere. La larghezza totale dell'avanzamento viene determinata calcolando la somma di A+B+C. La cella di caratteri è un rettangolo immaginario che racchiude ogni carattere o simbolo in un tipo di carattere. Poiché i caratteri possono sovrasporsi o sporgere la cella di caratteri, o entrambi gli incrementi A e C possono essere un numero negativo.