다음을 통해 공유


텍스트 메트릭

레이아웃, 사용자 지정 글꼴 선택 및 기타 메트릭 집약적인 작업을 지원하기 위해 Windows 8 DirectWrite 서식 있는 텍스트 앱을 개발하는 데 필요할 수 있는 글꼴에 대한 모든 정보를 표현할 수 있는 다양한 새 API가 있습니다.

PANOSE

PANOSE는 서체를 식별하기 위한 시각적 분류 시스템입니다. PANOSE 분류에는 제품군, 세리프 스타일, 가중치, 비율, 대비, 스트로크, 팔 스타일, X 높이 등에 대한 정보가 포함됩니다. 이 정보는 글꼴의 비주얼 스타일을 설명합니다. 이 정보는 비슷한 PANOSE 값을 가진 글꼴이 유사하기 때문에 중요합니다. 이는 글꼴을 사용할 수 없고 앱이 사용 가능한 글꼴로 대체되어야 하는 상황에서 매우 유용합니다. 글꼴의 PANOSE 값을 비교하면 원래 글꼴과 시각적으로 유사한 글꼴을 선택할 수 있습니다.

글꼴에 대한 PANOSE 정보에 액세스하려면 IDWriteFont1 및 IDWriteFontFace1 인터페이스에서 GetPanose 메서드를 사용합니다. 이 메서드는 해당 글꼴에 대한 모든 PANOSE 정보를 포함하는 DWRITE_PANOSE 열거형을 반환합니다.

추가 메트릭

Windows 8 DirectWrite API는 앱에 글꼴에 대한 유용한 정보를 표현하기 위해 다양한 새 메트릭도 지원합니다. 이러한 새 메트릭에는 이 정보가 포함됩니다.

  • 왼쪽, 오른쪽, 위쪽 및 아래쪽 문자 모양 경계 상자 메트릭
  • 위 첨자 및 아래 첨자 요소에 대한 X 및 Y 위치 지정
  • 위 첨자 및 아래 첨자 요소에 대한 X 및 Y 크기 조정 정보입니다.
  • 글꼴에 입력 메트릭이 있는지 여부입니다.

이 정보는 모두 IDWriteFontFace1 및 IDWriteFont1 인터페이스의 새 GetMetrics 메서드를 통해 사용할 수 있습니다. 이 메서드는 이 모든 정보를 포함하는 DWRITE_FONT_METRICS1 구조를 반환합니다.

Caret 메트릭

텍스트 편집 앱을 만들려면 텍스트를 탐색하는 캐럿을 그리는 방법에 대한 정보에 액세스해야 합니다. Windows 8 DirectWrite 이 시나리오에 대한 IDWriteFontFace1IDWriteFont1 인터페이스에 GetCaretMetrics 메서드를 제공합니다. GetCaretMetrics는 기준선을 따라 캐리트에 대한 기울기 및 오프셋에 대한 정보를 포함하는 DWRITE_CARET_METRICS 열거형을 반환합니다.

이 정보는 기울임꼴 텍스트와 함께 해당 캐리트 기울기를 적절하게 사용할 수 있도록 하려는 경우에 특히 유용합니다.

모노스페이스 검색 가능성

사용자가 컴퓨터 코드를 작성할 수 있도록 허용하는 앱은 더 전통적인 글꼴 대신 모노스페이스 글꼴을 사용하는 경우가 많습니다. 따라서 개발과 관련된 앱에서 글꼴 선택을 더 많이 제어할 수 DirectWrite 글꼴이 API를 통해 모노스페이스로 지정되는지 여부를 나타냅니다. IDWriteFontFace1 인터페이스의 IsMonospacedFont 메서드는 글꼴이 모노스페이스인지 여부를 나타내는 부울을 반환합니다.

글꼴 이름 일치

PDF 판독기 같은 서식 있는 텍스트 앱은 콘텐츠의 글꼴을 시스템의 글꼴과 일치시킬 수 있어야 하며, 여러 형식의 글꼴의 전체 이름에 액세스할 수 있어야 합니다. 글꼴을 더 잘 일치시킬 수 있도록 DirectWrite 글꼴에 대한 전체 이름 지정 정보를 여러 형식으로 표현하는 열거형이 포함되어 있습니다.

DWRITE_INFORMATIONAL_STRING_ID 열거형을 사용하여 시스템에서 모든 글꼴의 전체 이름, PostScript 이름 및 PostScript CID 이름을 가져옵니다. 이 정보는 앱의 글꼴을 로컬 시스템의 적절한 글꼴과 일치시켜야 하는 경우에 유용합니다.

문자 모양 어드밴스

IDWriteFontFace1IDWriteFont1 인터페이스의 GetGlyphAdvances 메서드는 고급 정보가 필요한 문자 모양 수와 인덱스를 사용하고 해당 문자 모양에 대한 고급을 반환합니다.

유니코드 범위

자체 글꼴 선택을 처리하려는 앱은 글꼴에서 지원하는 유니코드 범위에 액세스해야 합니다. 이렇게 하면 유니코드 코드 포인트가 글꼴에서 지원되지 않는 경우 앱은 해당 문자 모양을 포함하는 적절한 글꼴을 선택할 수 있습니다. 이 정보가 없으면 앱에서 정보를 표시하는 데 필요한 모든 문자 모양을 포함하지 않는 글꼴을 사용할 수 있습니다.

IDWriteFontFace1IDWriteFont1 인터페이스의 GetUnicodeRanges 메서드는 클라이언트에서 전달된 최대 범위 수를 사용하고 글꼴에서 지원하는 실제 범위를 반환합니다.

EUDC 글꼴 컬렉션

IDWriteFactory1 인터페이스에서 GetEudcFontCollection 메서드를 사용하여 EUDC 글꼴 컬렉션에 액세스합니다. 이 메서드는 GetSystemFontCollection과 동일한 방식으로 작동하지만 대신 EUDC 글꼴 컬렉션에 대한 포인터를 반환합니다.