Karakterszélességek
Az alkalmazásoknak karakterszélességű adatokat kell lekérniük, amikor olyan feladatokat hajtanak végre, mint például a szöveg sztringjeinek illesztése az oldal- vagy oszlopszélességekhez. Az alkalmazás négy függvényt használhat karakterszélességű adatok lekérésére. Ezen függvények közül kettő lekéri a karakterelőirány szélességét, két pedig a tényleges karakterszélességű adatokat.
Az alkalmazások a GetCharWidth32 és GetCharWidthFloat függvényekkel lekérhetik az egyes karakterek vagy szimbólumok előreszélesítését egy szöveges sztringben. Az előszélesség az a távolság, amelyet a kurzornak egy videokijelzőn vagy a nyomtatón lévő nyomtatófejnek előre kell haladnia, mielőtt a következő karaktert szöveges sztringben nyomtatja. A GetCharWidth32 függvény az előreszélesítést egész számként adja vissza. Ha nagyobb pontosságra van szükség, az alkalmazások a GetCharWidthFloat függvényt használhatják a tört előreszélességű értékek lekéréséhez.
Az alkalmazások a GetCharABCWidths és GetCharABCWidthsFloat függvények használatával lekérhetik a tényleges karakterszélességű adatokat. A GetCharABCWidthsFloat függvény minden betűtípussal működik. A GetCharABCWidths függvény csak TrueType és OpenType betűtípusokkal működik. A TrueType és az OpenType betűtípusokról további információt a Raszter, Vektor, TrueType és OpenType betűtípusokcímű témakörben talál.
Az alábbi ábra egy karakterszélesség három összetevőjét mutatja be:
Az A térköz az a szélesség, amelyet a karakter elhelyezése előtt hozzá kell adni az aktuális pozícióhoz. A B térköz maga a karakter szélessége. A C térköz a karakter jobb oldalán lévő fehér térköz. A teljes előlegszélesség az A+B+C összegének kiszámításával határozható meg. A karaktercella egy képzeletbeli téglalap, amely minden karaktert vagy szimbólumot körülvesz egy betűtípusban. Mivel a karakterek túlnyúlhatnak vagy alulhangosíthatják a karaktercellát, az A és a C növekmény egyaránt negatív szám lehet.