Win32 텍스트 API 비교
Win32 애플리케이션 코드를 마이그레이션하는 개발자의 경우 다음 표에는 Win32 텍스트 API 및 DirectWrite 대략적 API가 나와 있습니다.
GDI 텍스트 호출 | 설명 | 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에서 글꼴을 처리하는 데 사용되는 애플리케이션 정의 콜백 함수입니다. | 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 글꼴의 문자에 대한 윤곽선 또는 비트맵을 가져옵니다. | 문자 모양 메트릭 -- 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::Release |
RemoveFontResource | 시스템 글꼴 테이블에서 파일의 글꼴을 제거합니다. | 해당 없음 |
RemoveFontResourceEx | 시스템 글꼴 테이블에서 개인 또는 열거할 수 없는 글꼴을 제거합니다. | 해당 없음 |
SetMapperFlags | 논리 글꼴을 실제 글꼴에 매핑하는 데 사용되는 알고리즘을 변경합니다. | 해당 없음 |
SetTextAlign | 디바이스 컨텍스트에 대한 텍스트 맞춤 플래그를 설정합니다. | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | 문자 간 간격을 설정합니다. | 해당 없음 |
SetTextColor | 디바이스 컨텍스트의 텍스트 색을 설정합니다. | 애플리케이션은 그리기 호출 중 하나에서 색 지정을 처리해야 합니다. |
SetTextJustification | 시스템에서 문자열의 나누기 문자에 추가해야 하는 공간의 크기를 지정합니다. | 해당 없음. 이 릴리스에서는 근거 및 문자 간격이 지원되지 않습니다. |
TabbedTextOut | 지정된 값으로 탭을 확장하여 위치에 문자열을 씁니다. | IDWriteTextLayout::D raw |
TextOut | 위치에 문자열을 씁니다. | IDWriteTextLayout::D raw |