Сравнение API текста Win32

Для тех разработчиков, которые переносят код приложения Win32, в следующей таблице перечислены API-интерфейсы Win32 Text и приблизительные эквиваленты в DirectWrite.

Вызовы текста GDI Описание: эквивалент DirectWrite
AddFontMemResourceEx Добавляет внедренный шрифт в системную таблицу шрифтов. CreateCustomFontFileReference + CreateCustomFontCollection
AddFontResource Добавляет ресурс шрифта в системную таблицу шрифтов. Эквивалента нет. AddFontResource добавляет в коллекцию системных шрифтов в рамках шага установки шрифта GDI. DirectWrite заполняет системную коллекцию шрифтов заранее и автоматически отслеживает обновления, поэтому установка никогда не требуется.
AddFontResourceEx Добавляет в системную таблицу шрифтов частный или не перечисляемый шрифт. То же, что и выше
CreateFont Создает логический шрифт. Вместо логического шрифта приложения могут указать набор свойств шрифта (например, имя семейства, вес, стиль, растяжение и размер) для создания IDWriteTextFormat. Доступ к IDWriteFont через IDWriteFont через IDWriteFontCollection будут доступны только приложениям, которым требуется перечисление шрифта.
CreateFontIndirect Создает логический шрифт из структуры. То же, что и выше
CreateFontIndirectEx Создает логический шрифт из структуры. То же, что и выше
Drawtext Рисует отформатированный текст в прямоугольнике. IDWriteTextLayout::D raw
DrawTextEx Рисует отформатированный текст в прямоугольнике. IDWriteTextLayout::D raw
EnumFontFamExProc Определяемая приложением функция обратного вызова, используемая с EnumFontFamiliesEx для обработки шрифтов. Интерфейс IDWriteFontCollection через IDWriteFactory::GetSystemFontCollection
EnumFontFamiliesEx Перечисляет все шрифты в системе с определенными характеристиками. Интерфейс IDWriteFontCollection через IDWriteFactory::GetSystemFontCollection
ExtTextOut Рисует символьную строку. IDWriteTextLayout::D raw или IDWriteRenderBitmapTarget::D rawGlyphRun
GetAspectRatioFilterEx Возвращает параметр фильтра пропорций. Н/Д
GetCharABCWidths Возвращает ширину последовательных символов из шрифта TrueType. IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsFloat Возвращает ширину последовательных символов из текущего шрифта. IDWriteFontFace::GetDesignGlyphMetrics
GetCharABCWidthsI Возвращает ширину последовательных индексов глифов или массив индексов глифов из шрифта TrueType. IDWriteFontFace::GetDesignGlyphMetrics
GetCharacterPlacement Возвращает сведения о строке символов. IDWriteTextAnalyzer
GetCharWidth32 Возвращает ширину последовательных символов из текущего шрифта. IDWriteFontFace::GetDesignGlyphMetrics или IDWriteTextLayout::GetMetrics
GetCharWidthFloat Возвращает дробную ширину последовательных символов из текущего шрифта. IDWriteFontFace::GetDesignGlyphMetrics или IDWriteTextLayout::GetMetrics
GetCharWidthI Возвращает ширину последовательных индексов глифов или массив индексов глифов из текущего шрифта. IDWriteFontFace::GetDesignGlyphMetrics или IDWriteTextLayout::GetMetrics
GetFontData Возвращает данные метрик для шрифта TrueType. IDWriteFontFace::TryGetFontTable
GetFontLanguageInfo Возвращает сведения о выбранном шрифте для контекста отображения. Н/Д
GetFontUnicodeRanges Указывает, какие символы Юникода поддерживаются шрифтом. цикл IDWriteFont::HasCharacter
GetGlyphIndices Преобразует строку в массив индексов глифов. IDWriteFontFace::GetGlyphIndices
GetGlyphOutline Возвращает контур или растровое изображение для символа в шрифте TrueType. glyph metrics -- IDWriteFontFace::GetDesignGlyphMetrics, фактические сведения о структуре --IDwriteFontFace::GetGlyphRunOutline, если требуется глиф растровых изображений, IDWriteRenderBitmapRenderTarget::D rawGlyphRun
GetKerningPairs Возвращает пары кернинга символов для шрифта. Kerning, разрешенный с помощью типографических свойств макета (DirectWrite выполняет кернинг сам, поэтому нет метода для возврата этих сведений).
GetOutlineTextMetrics Возвращает текстовые метрики для шрифтов TrueType. IDWriteFontFace::GetMetrics
GetRasterizerCaps Указывает, установлены ли шрифты TrueType. (Шрифты TrueType устанавливаются в Windows Vista и Windows 7 по умолчанию.)
GetTabbedTextExtent Вычисляет ширину и высоту символьной строки, включая вкладки. IDWriteTextLayout::GetMetrics
GetTextAlign Возвращает параметр выравнивания текста для контекста устройства. IDWriteTextFormat::GetTextAlignment
GetTextCharacterExtra Возвращает текущий интервал между символами для контекста устройства. Н/Д
GetTextColor Возвращает цвет текста для контекста устройства. Недоступно (DirectWrite не зависит от отрисовки и, следовательно, не знает цвета. Приложения должны отслеживать их самостоятельно.)
GetTextExtentExPoint Возвращает количество символов в строке, которая будет помещаться в пределах пробела. IDWriteTextLayout::GetMetrics
GetTextExtentExPointI Возвращает количество индексов глифов, которые будут помещаться в пределах пространства. IDWriteTextLayout::GetMetrics
GetTextExtentPoint32 Вычисляет ширину и высоту строки текста. IDWriteTextLayout::GetMetrics
GetTextExtentPointI Вычисляет ширину и высоту массива индексов глифов. IDWriteTextLayout::GetMetrics
GetTextFace Возвращает имя шрифта, выбранного в контексте устройства. IDWriteFont::GetFaceNames (возвращает все имена)
GetTextMetrics Заполняет буфер метриками для шрифта. IDWriteFontFace::GetMetrics
PolyTextOut Рисует несколько строк с помощью цветов шрифта и текста в контексте устройства. Н/Д; создание нескольких объектов макета
RemoveFontMemResourceEx Удаляет шрифт, источник которого был внедрен в документ из системной таблицы шрифтов. IUnknown::Release для связанного объекта
RemoveFontResource Удаляет шрифты в файле из системной таблицы шрифтов. Н/Д
RemoveFontResourceEx Удаляет частный или неизменяемый шрифт из системной таблицы шрифтов. Н/Д
SetMapperFlags Изменяет алгоритм, используемый для сопоставления логических шрифтов с физическими шрифтами. Н/Д
SetTextAlign Задает флаги выравнивания текста для контекста устройства. IDWriteTextFormat::SetTextAlignment
SetTextCharacterExtra Задает интервал между символами. Н/Д
SetTextColor Задает цвет текста для контекста устройства. Приложение должен заботиться об указании цвета в одном из вызовов Draw .
SetTextJustification Указывает объем пространства, который система должна добавить к символам разрыва в строке. Недоступно В этом выпуске не поддерживаются выравнивание и интервалы символов.
TabbedTextOut Записывает символьную строку в расположении, расширяя вкладки до указанных значений. IDWriteTextLayout::D raw
TextOut Записывает символьную строку в расположении IDWriteTextLayout::D raw