INFO: Metriku písma a používat záporná lfHeight

Prohlášení o odmítnutí odpovědnosti pro už nepodporovaný obsah KB

Tento článek byl napsán pro produkty, ke kterým již Microsoft nadále nenabízí podporu. Článek je tedy poskytován „tak, jak je“ a nebude už nadále aktualizován.

Souhrn

V následující ukázce jsou uvedeny nejčastěji používané písmo metriky, včetně výšku znak je vybrán se zápornými hodnotami každého obrázku je následovaný poznámky popisující metriky.
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

O O
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/\
/ \
/ \
_ _ _ _ _ _ _ _ _ /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \|
/ \ | |
_ _ _ _ _ _ _ _ /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|- External Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
|
O O |- Internal Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
| /\
| / \
| / \
| /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Char Height -| / \ / \|
| / \ | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

| |
| O O |
| |
| /\ |
| / \ |
| / \ |- Ascent
Cell Height -| /______\ ___ |
| / \ / \| |
| / \ | | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _
| | |
| | |- Descent
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _

Výška buňky

Toto je vybrán na pozitivní lfHeight v LOGFONT výšku. Je výška písma rastr pro rastrová písma. Je vrácen jako tmHeight struktury TEXTMETRIC z GetTextMetrics().

Výška znaků (Em)

Toto je vybrán na záporná lfHeight v LOGFONT výšku. (To znamená, kartograf se pokusí odpovídají písmo, jehož výška znaků odpovídá absolutní hodnotu požadovanou výšku.)


POZNÁMKA: podle definice se rovná výška buňky minus vnitřní vede Em. Em definuje velikost písma. V režimu mapování MM_TEXT Em souvisí velikost takto:

   Em=dpiY*point_size/72;  // where dpiY is dots per inch in Y direction
DpiY písma se rovná tmDigitizedAspectY ve struktuře TEXTMETRICS .

Vnitřní proklad

Toto je vrácena jako tmInternalLeading struktury TEXTMETRIC z GetTextMetrics() a často, ale ne nutně popisuje kolik místa uvnitř bitmapové písmo pro diakritická znaménka (zvýraznění).

Externí proklad

Toto je vrácena jako tmExternalLeading struktury TEXTMETRIC z GetTextMetrics() a popisuje kolik mezery písma Návrhář očekává, že aplikace ponechat mezi řádky písmo. Není součástí rastrového obrázku a TextOut()není měnit /ExtTextOut()i v režimu NEPRŮHLEDNÝ. Při výstupu více řádků textu, by měly být odděleny řádky (tmHeight + tmExternalLeading).

 Character Width                       Character Width
| |
|-------------| |-------------|
| | / / |
| | / / |
| | / / |
| | / / |
|----------| /----------/ |
| | / / |
| | / / |
| | / / |
| | / / |
|________|
|_____________| |_____________| |
| | Overhang
Character width Character width
(including white space) (including white space)
Overhang = 0 Overhang > 0

Převis

Určuje tmOverhang za řetězec extra šířku, která mohou být přidávána do některých syntetizovaných písem. Při syntéz některé atributy, například tučné nebo kurzíva, GDI nebo zařízení pravděpodobně přidat šířku řetězec na obou jednotlivé znaky a řetězce na základě. Například GDI syntetizuje embolding rozbalování intercharacter mezery a overstriking s posunem a italicizes písmo podle zkosení řetězec.


V obou případech je převis za základní řetězec. Pro tučné řetězce je vzdálenost, o kterou je posunut přepisování. Pro kurzívu řetězce je částka, kterou v minulosti dolní písmo je zkosený horní písmo. tmOverhang umožňuje aplikace k určení, jaká část šířky znaku vrácené GetTextExtent() volání na jeden znak je znak skutečné šířku a kolik za řetězec nadbytečné šířky. Skutečná šířka je v rozsahu méně převis. Jinými slovy tmOverhang je rozdíl mezi šířku znaku při jej je výstup jednotlivě oproti jeho šířka po uvnitř řetězce.


Další informace naleznete v následujících tématech odkaz Windows Software Development Kit:


  • CreateFont() (ve svazku 1 odkaz verze 3.0)
  • TEXTMETRIC (ve svazku 2 odkaz verze 3.0)
Vlastnosti

ID článku: 32667 - Poslední kontrola: 10. 1. 2017 - Revize: 1

Váš názor