Udostępnij przez


Szerokości i wysokości łańcucha

Oprócz pobierania danych o szerokości znaków dla poszczególnych znaków aplikacje muszą również obliczyć szerokość i wysokość całych ciągów. Dwie funkcje pobierają pomiary szerokości i wysokości ciągów: GetTextExtentPoint32i GetTabbedTextExtent. Jeśli ciąg nie zawiera znaków tabulacji, aplikacja może użyć funkcji GetTextExtentPoint32, aby pobrać szerokość i wysokość określonego ciągu. Jeśli ciąg zawiera znaki tabulacji, aplikacja powinna wywołać funkcję GetTabbedTextExtent.

Aplikacje mogą używać funkcji GetTextExtentExPoint do operacji zawijania wyrazów. Ta funkcja zwraca liczbę znaków z określonego ciągu, które mieszczą się w określonym obszarze.

Rosnąco czcionki i malejąco

Niektóre aplikacje określają odstęp między wierszami tekstu o różnych rozmiarach, używając maksymalnej wysokości nadkreski i podkreski czcionki. Aplikacja może pobrać te wartości, wywołując funkcję GetTextMetrics, a następnie sprawdzając pola tmAscent i tmDescent struktury TEXTMETRIC.

Maksymalne wznoszenia i spadki różnią się od typograficznych wznoszeń i zniżek. W czcionkach TrueType i OpenType, typograficzne wznoszenie i zejście odnoszą się zazwyczaj do górnej części glify "f" i dolnej części glify "g". Aplikacja może pobrać wartości wysokości litery (ascender) i zstępnej (descender) dla fontu TrueType lub OpenType, wywołując funkcjęGetOutlineTextMetrics i sprawdzając wartości w elementach otmMacAscent i otmMacDescent struktury OUTLINETEXTMETRIC.

Na poniższej ilustracji przedstawiono różnicę między wertykalnymi wartościami miar tekstu zwracanymi w strukturach NEWTEXTMETRIC i OUTLINETEXTMETRIC. (Nazwy rozpoczynające się od otm są elementami członkowskimi struktury OUTLINETEXTMETRIC).

ilustracja przedstawiająca kontrast wartości metryki tekstowej z wartościami metryk tekstu konspektu

Wymiary czcionki

Aplikacja może pobrać fizyczne wymiary czcionki TrueType lub OpenType, wywołując funkcję GetOutlineTextMetrics. Aplikacja może pobrać fizyczne wymiary dowolnej innej czcionki, wywołując funkcję GetTextMetrics. Aby określić wymiary urządzenia wyjściowego, aplikacja może wywołać funkcję GetDeviceCaps. getDeviceCaps zwraca zarówno wymiary fizyczne, jak i logiczne.

Logiczny cal to miara używana przez system do prezentowania czytelnych czcionek na ekranie i wynosi od około 30 do 40 procent większy niż fizyczny cal. Użycie cali logicznych wyklucza dokładne dopasowanie danych wyjściowych ekranu i drukarki. Deweloperzy powinni pamiętać, że tekst na ekranie nie jest po prostu skalowaną wersją tekstu, która będzie wyświetlana na stronie, szczególnie w przypadku włączenia grafiki do tekstu.