Win32 텍스트 API 비교

Win32 애플리케이션 코드를 마이그레이션하는 개발자의 경우 다음 표에는 Win32 텍스트 API와 DirectWrite 해당하는 근사치가 나와 있습니다.

GDI 텍스트 호출 Description DirectWrite 동등
AddFontMemResourceEx 시스템 글꼴 테이블에 포함된 글꼴을 추가합니다. CreateCustomFontFileReference + CreateCustomFontCollection
AddFontResource 시스템 글꼴 테이블에 글꼴 리소스를 추가합니다. 동등한 항목은 없습니다. AddFontResource 는 GDI 글꼴 설치 단계의 일부로 시스템 글꼴 컬렉션에 추가합니다. DirectWrite 시스템 글꼴 컬렉션을 미리 채우고 업데이트를 자동으로 모니터링하므로 설치가 필요하지 않습니다.
AddFontResourceEx 시스템 글꼴 테이블에 개인 또는 열거할 수 없는 글꼴을 추가합니다. 위와 동일
CreateFont 논리적 글꼴을 만듭니다. 애플리케이션은 논리적 글꼴 대신 글꼴 속성 집합(예: 패밀리 이름, 가중치, 스타일, 늘이기 및 크기)을 지정하여 IDWriteTextFormat을 만들 수 있습니다. 글꼴 열거가 필요한 앱만 IDWriteFontCollection을 통해 IDWriteFont에 액세스합니다.
CreateFontIndirect 구조체에서 논리 글꼴을 만듭니다. 위와 동일
CreateFontIndirectEx 구조체에서 논리 글꼴을 만듭니다. 위와 동일
Drawtext 서식이 지정된 텍스트를 사각형에 그립니다. IDWriteTextLayout::D raw
DrawTextEx 서식이 지정된 텍스트를 사각형에 그립니다. IDWriteTextLayout::D raw
EnumFontFamExProc EnumFontFamiliesEx와 함께 글꼴을 처리하는 데 사용되는 애플리케이션 정의 콜백 함수입니다. IDWriteFactory::GetSystemFontCollection을 통해 IDWriteFontCollection 인터페이스
EnumFontFamiliesEx 시스템의 모든 글꼴을 특정 특성으로 열거합니다. IDWriteFactory::GetSystemFontCollection을 통해 IDWriteFontCollection 인터페이스
ExtTextOut 문자열을 그립니다. IDWriteTextLayout::D raw 또는 IDWriteRenderBitmapTarget::D rawGlyphRun
GetAspectRatioFilterEx 가로 세로 비율 필터에 대한 설정을 가져옵니다. N/A
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 글꼴의 문자에 대한 윤곽선 또는 비트맵을 가져옵니다. 문자 모양 메트릭 -- IDWriteFontFace::GetDesignGlyphMetrics, 실제 개요 정보 --IDwriteFontFace::GetGlyphRunOutline, 문자 모양 비트맵, IDWriteRenderBitmapRenderTarget::D rawGlyphRun
GetKerningPairs 글꼴의 문자 커닝 쌍을 가져옵니다. 레이아웃의 입력 속성을 통해 허용되는 커닝(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:: 연결된 개체의 릴리스
RemoveFontResource 시스템 글꼴 테이블에서 파일의 글꼴을 제거합니다. 해당 없음
RemoveFontResourceEx 시스템 글꼴 테이블에서 개인 또는 열거할 수 없는 글꼴을 제거합니다. 해당 없음
SetMapperFlags 논리 글꼴을 실제 글꼴에 매핑하는 데 사용되는 알고리즘을 변경합니다. 해당 없음
SetTextAlign 디바이스 컨텍스트에 대한 텍스트 맞춤 플래그를 설정합니다. IDWriteTextFormat::SetTextAlignment
SetTextCharacterExtra 문자 간 간격을 설정합니다. N/A
SetTextColor 디바이스 컨텍스트의 텍스트 색을 설정합니다. 애플리케이션은 그리기 호출 중 하나에서 색 지정을 처리해야 합니다.
SetTextJustification 시스템에서 문자열의 나누기 문자에 추가해야 하는 공간의 크기를 지정합니다. 해당 없음. 이 릴리스에서는 근거 및 문자 간격이 지원되지 않습니다.
TabbedTextOut 지정한 값으로 탭을 확장하여 위치에 문자열을 씁니다. IDWriteTextLayout::D raw
TextOut 위치에 문자열을 씁니다. IDWriteTextLayout::D raw