Porównanie interfejsu API tekstu Win32
W przypadku tych deweloperów, którzy migrują kod aplikacji Win32, poniższa tabela zawiera listę interfejsów API tekstu Win32 i przybliżony odpowiednik funkcji DirectWrite.
Wywołania tekstu GDI | Opis | Odpowiednik DirectWrite |
---|---|---|
AddFontMemResourceEx | Dodaje osadzoną czcionkę do tabeli czcionek systemowych. | CreateCustomFontFileReference + CreateCustomFontCollection |
AddFontResource | Dodaje zasób czcionki do tabeli czcionek systemowych. | Nie ma odpowiednika. AddFontResource dodaje do kolekcji czcionek systemowych w ramach kroku instalacji czcionek GDI. Funkcja DirectWrite wypełnia kolekcję czcionek systemowych z góry i automatycznie monitoruje aktualizacje, więc instalacja nigdy nie jest potrzebna. |
AddFontResourceEx | Dodaje prywatną lub nieliczalną czcionkę do tabeli czcionek systemowych. | Tak samo jak powyżej |
CreateFont | Tworzy czcionkę logiczną. | Zamiast czcionki logicznej aplikacje mogą określać zestaw właściwości czcionki (na przykład nazwa rodziny, waga, styl, stretch i rozmiar), aby utworzyć IDWriteTextFormat. Tylko aplikacje wymagające wyliczenia czcionki będą uzyskiwać dostęp do IDWriteFont za pośrednictwem IDWriteFontCollection. |
CreateFontIndirect | Tworzy czcionkę logiczną na podstawie struktury. | Tak samo jak powyżej |
createFontIndirectEx | Tworzy czcionkę logiczną na podstawie struktury. | Tak samo jak powyżej |
DrawText | Rysuje sformatowany tekst w prostokątze. | IDWriteTextLayout::D raw |
DrawTextEx | Rysuje sformatowany tekst w prostokątze. | IDWriteTextLayout::D raw |
EnumFontFamExProc | Funkcja wywołania zwrotnego zdefiniowana przez aplikację używana z EnumFontFamiliesEx do przetwarzania czcionek. | interfejs IDWriteFontCollection za pośrednictwem IDWriteFactory::GetSystemFontCollection |
EnumFontFamiliesEx | Wylicza wszystkie czcionki w systemie z pewnymi cechami. | interfejs IDWriteFontCollection za pośrednictwem IDWriteFactory::GetSystemFontCollection |
ExtTextOut | Rysuje ciąg znaków. | IDWriteTextLayout::D raw lub IDWriteRenderBitmapTarget::D rawGlyphRun |
GetAspectRatioFilterEx | Pobiera ustawienie filtru współczynnika proporcji. | N/A |
GetCharABCWidths | Pobiera szerokości kolejnych znaków z czcionki TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsFloat | Pobiera szerokości kolejnych znaków z bieżącej czcionki. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsI | Pobiera szerokość kolejnych indeksów glifów lub tablicę indeksów glifów z czcionki TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharacterPlacement | Pobiera informacje o ciągu znaków. | IDWriteTextAnalyzer |
GetCharWidth32 | Pobiera szerokości kolejnych znaków z bieżącej czcionki. | IDWriteFontFace::GetDesignGlyphMetrics lub IDWriteTextLayout::GetMetrics |
GetCharWidthFloat | Pobiera ułamkowe szerokości kolejnych znaków z bieżącej czcionki. | IDWriteFontFace::GetDesignGlyphMetrics lub IDWriteTextLayout::GetMetrics |
GetCharWidthI | Pobiera szerokości kolejnych indeksów glifów lub tablicy indeksów glifów z bieżącej czcionki. | IDWriteFontFace::GetDesignGlyphMetrics lub IDWriteTextLayout::GetMetrics |
GetFontData | Pobiera dane metryk dla czcionki TrueType. | IDWriteFontFace::TryGetFontTable |
GetFontLanguageInfo | Zwraca informacje o wybranej czcionki dla kontekstu wyświetlania. | N/A |
GetFontUnicodeRanges | Informuje, które znaki Unicode są obsługiwane przez czcionkę. | pętla IDWriteFont::HasCharacter |
GetGlyphIndices | Przekształca ciąg w tablicę indeksów glifów. | IDWriteFontFace::GetGlyphIndices |
GetGlyphOutline | Pobiera konspekt lub mapę bitową dla znaku w czcionki TrueType. | Metryki glyph — IDWriteFontFace::GetDesignGlyphMetrics, rzeczywiste informacje konspektu —IDwriteFontFace::GetGlyphRunOutline, jeśli chcesz map bitowych glyph, IDWriteRenderBitmapRenderTarget::D rawlyphRun |
GetKerningPairs | Pobiera pary kerning znaków dla czcionki. | Kerning dozwolone za pomocą właściwości typograficznego układu (directWrite wykonuje kerning sam, więc nie ma metody zwracania tych informacji). |
GetOutlineTextMetrics | Pobiera metryki tekstowe dla czcionek TrueType. | IDWriteFontFace::GetMetrics |
GetRasterizerCaps | Informuje, czy są zainstalowane czcionki TrueType. | (Czcionki TrueType są instalowane w systemach Windows Vista i Windows 7 domyślnie). |
GetTabbedTextExtent | Oblicza szerokość i wysokość ciągu znaków, w tym tabulatory. | IDWriteTextLayout::GetMetrics |
GetTextAlign | Pobiera ustawienie wyrównania tekstu dla kontekstu urządzenia. | IDWriteTextFormat::GetTextAlignment |
GetTextCharacterExtra | Pobiera bieżące odstępy między znakami dla kontekstu urządzenia. | N/A |
GetTextColor | Pobiera kolor tekstu dla kontekstu urządzenia. | N/A. (DirectWrite jest niezależny od renderowania i dlatego nie zna koloru. Aplikacje muszą śledzić to samodzielnie. |
GetTextExtentExPoint | Pobiera liczbę znaków w ciągu, który mieści się w przestrzeni. | IDWriteTextLayout::GetMetrics |
GetTextExtentExPointI | Pobiera liczbę indeksów glifów, które mieszczą się w przestrzeni. | IDWriteTextLayout::GetMetrics |
GetTextExtentPoint32 | Oblicza szerokość i wysokość ciągu tekstu. | IDWriteTextLayout::GetMetrics |
GetTextExtentPointI | Oblicza szerokość i wysokość tablicy indeksów glifów. | IDWriteTextLayout::GetMetrics |
GetTextFace | Pobiera nazwę czcionki wybranej w kontekście urządzenia. | IDWriteFont::GetFaceNames (Zwraca wszystkie nazwy) |
GetTextMetrics | Wypełnia bufor metrykami dla czcionki. | IDWriteFontFace::GetMetrics |
PolyTextOut | Rysuje kilka ciągów przy użyciu czcionki i kolorów tekstu w kontekście urządzenia. | N/A; tworzenie kilku obiektów układu |
RemoveFontMemResourceEx | Usuwa czcionkę, której źródło zostało osadzone w dokumencie z tabeli czcionek systemowych. | IUnknown::Release w skojarzonym obiekcie |
RemoveFontResource | Usuwa czcionki w pliku z tabeli czcionek systemowych | N/A |
RemoveFontResourceEx | Usuwa prywatną lub nieliczalną czcionkę z tabeli czcionek systemowych. | N/A |
SetMapperFlags | Zmienia algorytm używany do mapowania czcionek logicznych na czcionki fizyczne. | N/A |
SetTextAlign | Ustawia flagi wyrównania tekstu dla kontekstu urządzenia. | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | Ustawia odstęp między znakami. | N/A |
SetTextColor | Ustawia kolor tekstu dla kontekstu urządzenia. | Aplikacja musi zadbać o określenie koloru w jednym z wywołań Draw. |
SetTextJustification | Określa ilość miejsca, jaką system powinien dodać do znaków przerwania w ciągu. | N/A. Uzasadnienie i odstępy między znakami nie są obsługiwane w tej wersji. |
TabbedTextOut | Zapisuje ciąg znaków w lokalizacji, rozwijając karty do określonych wartości. | IDWriteTextLayout::D raw |
TextOut | Zapisuje ciąg znaków w lokalizacji | IDWriteTextLayout::D raw |