Sdílet prostřednictvím


Šířky a výšky řetězců

Kromě načítání dat o šířce znaků pro jednotlivé znaky musí aplikace také vypočítat šířku a výšku celých řetězců. Dvě funkce získávají měření šířky a výšky řetězce: GetTextExtentPoint32a GetTabbedTextExtent. Pokud řetězec neobsahuje znaky tabulátoru, může aplikace použít funkci GetTextExtentPoint32 k načtení šířky a výšky specifikovaného řetězce. Pokud řetězec obsahuje znaky tabulátoru, aplikace by měla volat funkci GetTabbedTextExtent.

Aplikace mohou použít funkci GetTextExtentExPoint pro operace zalamování textu. Tato funkce vrátí počet znaků ze zadaného řetězce, který se vejde do zadaného prostoru.

Vzestupné a sestupné písmo

Některé aplikace určují rozestupy mezi textovými řádky různých velikostí pomocí maximálního výšky a hloubky písma. Aplikace může tyto hodnoty načíst voláním funkce GetTextMetrics a následnou kontrolou členů tmAscent a tmDescent struktury TEXTMETRIC.

Maximální ascent a sestup se liší od typografického ascentu a sestupu. Ve fontech TrueType a OpenType jsou typografické účaří a sestažení obvykle horní části glyfu f a dolní části glyfu g. Aplikace může načíst typografický horní dotah a dolní dotah pro písmo TrueType nebo OpenType voláním funkce GetOutlineTextMetrics a kontrolou hodnot v otmMacAscent a otmMacDescent členů OUTLINETEXTMETRIC struktury.

Následující obrázek ukazuje rozdíl mezi svislými textovými hodnotami vrácenými v NEWTEXTMETRIC a OUTLINETEXTMETRIC struktury. (Názvy začínající otm jsou členy struktury OUTLINETEXTMETRIC.)

ilustrace znázorňující kontrast hodnot textových metrik s hodnotami metrik osnovy

Rozměry písma

Aplikace může načíst fyzické dimenze písma TrueType nebo OpenType voláním funkce GetOutlineTextMetrics. Aplikace může načíst fyzické rozměry jakéhokoli jiného písma voláním GetTextMetrics funkce. K určení dimenzí výstupního zařízení může aplikace volat funkci GetDeviceCaps. GetDeviceCaps vrátí fyzické i logické rozměry.

Logický palec je jednotka, kterou systém používá k zobrazování čitelných písem na obrazovce, a je přibližně o 30 až 40 procent větší než fyzický palec. Použití logických palců vylučuje přesnou shodu mezi výstupem obrazovky a tiskárny. Vývojáři by měli vědět, že text na obrazovce není jednoduše škálovaná verze textu, která se zobrazí na stránce, zejména pokud jsou grafika začleněna do textu.