Tekenbreedten
Toepassingen moeten gegevens van tekenbreedte ophalen wanneer ze taken uitvoeren, zoals het aanpassen van tekenreeksen aan pagina- of kolombreedten. Er zijn vier functies die een toepassing kan gebruiken om gegevens over de tekenbreedte op te halen. Met twee van deze functies wordt de breedte van tekens opgehaald en worden met twee van deze functies werkelijke gegevens voor tekenbreedte opgehaald.
Een toepassing kan de functies GetCharWidth32 en GetCharWidthFloat gebruiken om de voorbreedte voor afzonderlijke tekens of symbolen in een tekenreeks op te halen. De breedte van de voorloop is de afstand tussen de cursor op een videoweergave of de afdrukkop op een printer, voordat het volgende teken in een tekenreeks wordt afgedrukt. De functie GetCharWidth32 retourneert de voorbreedte als een geheel getal. Als er meer precisie is vereist, kan een toepassing de functie GetCharWidthFloat- gebruiken om waarden voor de breukverloopbreedte op te halen.
Een toepassing kan werkelijke tekenbreedtegegevens ophalen met behulp van de GetCharABCWidths en GetCharABCWidthsFloat--functies. De functie GetCharABCWidthsFloat werkt met alle lettertypen. De GetCharABCWidths-functie werkt alleen met TrueType- en OpenType-lettertypen. Zie Raster-, Vector-, TrueType- en OpenType-lettertypenvoor meer informatie over TrueType- en OpenType-lettertypen.
In de volgende afbeelding ziet u de drie onderdelen van een tekenbreedte:
De A-afstand is de breedte die moet worden toegevoegd aan de huidige positie voordat het teken wordt geplaatst. De B-afstand is de breedte van het teken zelf. De C-afstand is de witruimte rechts van het teken. De totale breedte wordt bepaald door de som van A+B+C te berekenen. De tekencel is een imaginaire rechthoek die elk teken of symbool in een lettertype omsluit. Omdat tekens de tekencel kunnen overhangen of onderhangen, kan een van de A- en C-stappen een negatief getal zijn.