다음을 통해 공유


FontFamily 클래스

정의

관련 글꼴 패밀리를 나타냅니다.

public ref class FontFamily
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.FontFamilyConverter))]
[System.Windows.Localizability(System.Windows.LocalizationCategory.Font)]
public class FontFamily
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.FontFamilyConverter))>]
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Font)>]
type FontFamily = class
Public Class FontFamily
상속
FontFamily
특성

설명

글꼴 패밀리 서체 "Times New Roman", 예: 동일한 제품군 이름, 공유 하는 하지만 다른 기능에서 집합이 합니다. 이러한 기능 차이 Style, 기울임꼴, 및 Weight, 굵게 등입니다.

글꼴
"Times New Roman" 글꼴 패밀리의 멤버인 서체의 예제

및 와 TextBlock같은 Button 대부분의 UI(사용자 인터페이스) 요소는 컨트롤의 텍스트 콘텐츠에 대한 글꼴을 지정하는 데 사용할 수 있는 속성을 제공합니다FontFamily. 해당 속성을 설정 하 여 글꼴 정의 FontFamily 값입니다. 다음 예제에서는 XAML(Extensible Application Markup Language) 및 코드에서 글꼴을 참조하는 방법을 보여 줍니다.

myTextBlock.FontFamily = new FontFamily("Comic Sans MS");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS")
<TextBlock FontFamily="Comic Sans MS">Hello, world</TextBlock>

앞의 예제에서 "MS Sans Comic" 글꼴 참조 되는 라고 하 여 해당 이름을입니다. 또한이 예제에서는 글꼴 가정 시스템 글꼴 컬렉션에 포함 되도록 합니다.

글꼴 대체 디렉터리 지정

WPF(Windows Presentation Foundation) 애플리케이션은 글꼴 참조를 확인하기 위해 시스템 글꼴 컬렉션이 포함된 디렉터리 이외의 디렉터리를 지정할 수 있습니다. 글꼴의 식별 이름은 다음 XAML(Extensible Application Markup Language) 및 코드 예제와 같이 글꼴 참조를 resolve 절대 URI(Uniform Resource Identifier) 값을 지정할 수 있습니다.

// Create a new FontFamily object, using an absolute URI reference.
myTextBlock.FontFamily = new FontFamily("file:///d:/MyFonts/#Pericles Light");
' Create a new FontFamily object, using an absolute URI reference.
myTextBlock.FontFamily = New FontFamily("file:///d:/MyFonts/#Pericles Light")
<TextBlock FontFamily="file:///d:/MyFonts/#Pericles Light">
  Aegean Sea
</TextBlock>

글꼴의 식별 이름은 글꼴 참조를 resolve 기본 URI가 필요한 상대 URI 값을 지정할 수도 있습니다. 개체의 FontFamily 속성은 BaseUri 기본 URI 값에 해당합니다. 다음 코드 예제에서는 기본 URI 값 및 상대 URI 값으로 구성된 글꼴 참조를 만드는 방법을 보여 줍니다.

// Create a new FontFamily object, using a base URI reference and a relative URI reference.
myTextBlock.FontFamily = new FontFamily(new Uri("file:///d:/MyFonts/"), "./#Pericles Light");
' Create a new FontFamily object, using a base URI reference and a relative URI reference.
myTextBlock.FontFamily = New FontFamily(New Uri("file:///d:/MyFonts/"), "./#Pericles Light")

애플리케이션의 일부로 패키지된 글꼴을 참조할 때 기본 URI 값을 사용할 수 있습니다. 예를 들어 기본 URI 값은 애플리케이션 리소스로 패키지된 글꼴을 참조할 수 있는 "pack://application" URI일 수 있습니다. 다음 코드 예제에서는 기본 URI 값 및 상대 URI 값으로 구성된 글꼴 참조를 보여 줍니다.

// The font resource reference includes the base URI reference (application directory level),
// and a relative URI reference.
myTextBlock.FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./resources/#Pericles Light");
' The font resource reference includes the base URI reference (application directory level),
' and a relative URI reference.
myTextBlock.FontFamily = New FontFamily(New Uri("pack://application:,,,/"), "./resources/#Pericles Light")

FontFamily 가 태그에서 특성으로 지정되면 기본 URI 값이 항상 암시됩니다. 해당 값은 XAML 페이지의 URI입니다. 암시적 기본 URI 값은 글꼴의 위치를 가져오기 위해 식별 이름 문자열의 상대 URI 값과 함께 사용됩니다. 다음 XAML(Extensible Application Markup Language) 예제에서 상대 URI 값은 기본 URI 값의 "현재 폴더"를 의미하는 "./" 표기법을 사용합니다.

<TextBlock FontFamily="./resources/#Pericles Light">
  Aegean Sea
</TextBlock>

WPF 애플리케이션은 글꼴을 콘텐츠 항목, 리소스 항목 또는 라이브러리 리소스 항목으로 패키지할 수 있습니다. 자세한 내용은 애플리케이션과 함께 글꼴 패키징을 참조하세요.

글꼴 대체 (fallback)

클라이언트 애플리케이션에서 선택한 글꼴이 아닌 글꼴의 자동 대체 글꼴 대체 (fallback)를 가리킵니다. 두 가지 기본 글꼴 대체 (fallback)가 호출 하는 이유:

  • 클라이언트 애플리케이션에서 지정 된 글꼴을 시스템에 존재 하지 않습니다.

  • 클라이언트 애플리케이션에서 지정 된 글꼴에서 텍스트를 렌더링 하는 데 필요한 문자를 포함 하지 않습니다.

WPF에서 글꼴 대체 메커니즘은 기본 대체 글꼴 패밀리인 "전역 사용자 인터페이스"를 대체 글꼴로 사용합니다. 이 글꼴 파일 이름이 "GlobalUserInterface.CompositeFont"는 합성 글꼴을으로 정의 됩니다. 복합 글꼴에 대 한 자세한 내용은이 항목의 합성 글꼴 섹션을 참조 합니다.

WPF 글꼴 대체 메커니즘은 이전 Win32 글꼴 대체 기술을 대체합니다.

코드에서 글꼴 대체 (fallback) 시퀀스를 정의합니다.

대체 글꼴을 정의할 수 있는 코드에서 글꼴 대체 (fallback) 시퀀스를 정의할 수 있습니다. 만들 때를 FontFamily 개체, 여러 글꼴에 대 한 쉼표로 구분 된 제품군 이름을 입력 합니다 String "체, Verdana"와 같은 매개 변수입니다. 이 경우 "Comic San MS" 서체의 문자를 사용할 수 없는 경우 "Verdana" 서체의 문자 모양은 사용 됩니다. "Comic San MS" 나 "Verdana"에 필요한 문자 모양의 경우 대체 글꼴 패밀리 서체의 "Global User Interface"는 기본적으로 사용 됩니다.

다음 예제에서는 XAML(Extensible Application Markup Language) 및 코드에서 글꼴 대체 시퀀스를 정의하는 방법을 보여 줍니다.

myTextBlock.FontFamily = new FontFamily("Comic Sans MS, Verdana");
myTextBlock.FontFamily = New FontFamily("Comic Sans MS, Verdana")
<TextBlock FontFamily="Comic Sans MS, Verdana">Hello, world</TextBlock>

대체 (fallback) 시퀀스에 있는 글꼴 중 하나는 글꼴 위치를 지정할 수 있습니다. 다음 예제에서는 "Pericles Light"를 애플리케이션 리소스로 참조 및 "Verdana" 시스템 글꼴 컬렉션 구성원으로 참조 됩니다.

myTextBlock.FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./resources/#Pericles Light, Verdana");
myTextBlock.FontFamily = New FontFamily(New Uri("pack://application:,,,/"), "./resources/#Pericles Light, Verdana")
<TextBlock FontFamily="./resources/#Pericles Light, Verdana">Aegean Sea</TextBlock>

복합 글꼴

WPF 플랫폼은 전체 범위 다국어 글꼴을 생성하고 누락된 문자 모양이 표시되지 않도록 하는 복합 글꼴 기능을 제공합니다. 복합 글꼴은 Win32 글꼴 연결, 글꼴 대체, 글꼴 바인딩, 글꼴 연결 및 EUDC(최종 사용자 정의 문자) 메커니즘을 대체합니다.

복합 글꼴 패밀리를 통해 애플리케이션에 사용할 수는 FontFamilyTypeface 생성자와 마찬가지로 다른 글꼴 패밀리입니다. 각 복합 글꼴 패밀리, 이름이 고,으로 다른 글꼴을 사용 하 여 제공할 수 있습니다 여러 언어에 해당 이름의 지역화 된 변형입니다.

다음 태그 예제에서는 디스크 파일로 합성 글꼴 패밀리를 정의할 수 있는 방법을 보여 줍니다. 이 파일은 다른 설치된 글꼴과 마찬가지로 기본 Windows 글꼴 디렉터리에 저장하거나 이름으로 패밀리를 참조할 때 해당 URI를 포함하여 모든 위치에서 참조할 수 있습니다.

다음 예제에서는 글꼴 패밀리 태그는 ". CompositeFont"파일입니다.

<FontFamily
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composite-font"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:System="clr-namespace:System;assembly=mscorlib"
    Baseline="0.9"
    LineSpacing="1.2">

    <!-- Name mapping -->
    <FontFamily.FamilyNames>
        <System:String x:Key="en-US">Global User Interface</System:String>
    </FontFamily.FamilyNames>

    <!-- Faces to report in font chooser UI -->
    <FontFamily.FamilyTypefaces>
        <FamilyTypeface
            Weight="Normal" Stretch="Normal" Style="Normal"
            UnderlinePosition="-0.1" UnderlineThickness="0.05"
            StrikethroughPosition="0.3" StrikethroughThickness="0.05"
            CapsHeight="0.5" XHeight="0.3" />

        <FamilyTypeface
            Weight="Bold" Stretch="Normal" Style="Normal"
            UnderlinePosition="-0.1" UnderlineThickness="0.05"
            StrikethroughPosition="0.3" StrikethroughThickness="0.05"
            CapsHeight="0.5" XHeight="0.3" />
    </FontFamily.FamilyTypefaces>

    <!-- Character to family lookups (in lookup order) -->
    <FontFamily.FamilyMaps>

        <!--
            Basic Latin                 0000-007F
            Latin-1 Supplement          0080-00FF
            Latin Extended-A            0100-017F
            Latin Extended-B            0180-024F
            IPA Extensions              0250-02AF
            Spacing Modifier Letters    02B0-02FF 
            Combining Diacritics Marks  0300-036F 
            Greek and Coptic            0370-03FF
            Cyrillic                    0400-04FF 
            Cyrillic Supplement         0500-052F 
            Phonetic Extensions         1D00-1D7F
            Latin Extended Additional   1E00-1EFF
            Greek Extended              1F00-1FFF
            Alpha Pres Forms Latin      FB00-FB0F -->
        <!-- CHS -->    
        <FontFamilyMap
            Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
            Language="zh-Hans"
            Target="Times New Roman"
            Scale="1.0" />
        <!-- CHT -->    
        <FontFamilyMap
            Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
            Language="zh-Hant"
            Target="Times New Roman"
            Scale="1.0" />
        <!-- Other (include JA and KO) -->    
        <FontFamilyMap
            Unicode="0000-052F, 1D00-1FFF, FB00-FB0F"
            Target="Comic Sans MS, Verdana"
            Scale="4.0" />

        <!--
            Armenian                    0530-058F    
            Georgian                    10D0-10FF
            Alpha Pres Forms Armenian   FB10-FB1C -->
        <FontFamilyMap
            Unicode="0530-058F, 10D0-10FF, FB10-FB1C"
            Target="Sylfaen"
            Scale="1.0" />

        <!-- Other FontFamilyMap elements defined ... --> 

    </FontFamily.FamilyMaps>

</FontFamily>

다음 네 가지 합성 글꼴 WPF 설치의 일부로 기본 Windows 글꼴 디렉터리에 나타납니다.

글꼴 참고
GlobalMonospace.CompositeFont 라틴 문자에 대 한 예를 들어, "Courier New"에 고정 폭 글꼴을 사용 하 여 텍스트를 렌더링 합니다.
GlobalSanSerif.CompositeFont 예를 들어, "Arial" 라틴 문자에 대 한 san serif 글꼴을 사용 하 여 텍스트를 렌더링 합니다.
GlobalSerif.CompositeFont 라틴 문자에 대 한 예를 들어 "Times New Roman" serif 글꼴을 사용 하 여 텍스트를 렌더링 합니다.
GlobalUserInterface.CompositeFont 라틴 문자에 대 한 예를 들어 "Times New Roman" 기본 글꼴을 사용 하 여 텍스트를 렌더링 합니다.

XAML 특성 사용

<object FontFamily="fontFamilyName"/>  
- or -  
<object FontFamily="fontFamilyNamesList"/>  
- or -  
<object FontFamily="fontFamilyFolderReference"/>  
- or -  
<object FontFamily="fontFamilyUriReference"/>  

XAML 값

fontFamilyName
글꼴 패밀리 이름을 지정 하는 문자열입니다. 예를 들어 "Arial" 또는 "Century Gothic"입니다.

fontFamilyNamesList
여러 글꼴 패밀리 이름을 지정 하는 문자열을 각각 쉼표로 구분 된 (쉼표 뒤에 있는 공백은 무시 됨). 지정 된 첫 번째 글꼴 패밀리 기본 글꼴 패밀리; 역 후속 글꼴 패밀리 기본 글꼴 패밀리를 적용할 수 없거나 사용할 수 없는 경우에 사용할 대체 (fallback) 제품군으로 사용 됩니다. 예를 들어 "Arial, Century Gothic" Arial 대체 글꼴 패밀리로 Gothic 세기를 사용 하 여 기본 글꼴 패밀리를 지정 합니다.

fontFamilyFolderReference
글꼴, 글꼴 패밀리 이름과 함께 포함 된 폴더를 지정 하는 문자열입니다. 폴더 및 글꼴 패밀리 이름 # 문자로 구분 됩니다. 폴더 참조는 절대적 이거나 상대적일 수 있습니다. 예들 들어 "Custom Fonts\#My Custom Font"입니다.

fontFamilyUriReference
글꼴 패밀리 이름과 함께 글꼴의 URI(Uniform Resource Identifier)를 지정하는 문자열입니다. URI 및 글꼴 패밀리 이름은 # 문자로 구분됩니다. 예들 들어 "http://MyFontServer/Fonts/#My Custom Font"입니다.

생성자

FontFamily()

익명 FontFamily 클래스의 새 인스턴스를 초기화합니다.

FontFamily(String)

지정한 글꼴 패밀리 이름에서 FontFamily 클래스의 새 인스턴스를 초기화합니다.

FontFamily(Uri, String)

지정한 글꼴 패밀리 이름과 선택적인 기본 URI(Uniform Resource Identifier) 값에서 FontFamily 클래스의 새 인스턴스를 초기화합니다.

속성

Baseline

기준선과 문자 셀 맨 위 사이의 거리를 가져오거나 설정합니다.

BaseUri

글꼴 패밀리 이름을 확인하는 데 사용되는 기본 URI(Uniform Resource Identifier)를 가져옵니다.

FamilyMaps

FontFamilyMap 개체의 컬렉션을 가져옵니다.

FamilyNames

CultureInfo 개체의 글꼴 패밀리 이름을 나타내는 FontFamily 값과 문자열의 컬렉션을 가져옵니다.

FamilyTypefaces

FontFamily 개체에 대한 서체의 컬렉션을 가져옵니다.

LineSpacing

FontFamily 개체의 줄 간격 값을 가져오거나 설정합니다. 줄 간격은 이 글꼴의 텍스트에 대해 권장되는 기준선 간의 거리이며 em 크기를 기준으로 합니다.

Source

FontFamily 개체를 생성하는 데 사용되는 글꼴 패밀리 이름을 가져옵니다.

메서드

Equals(Object)

현재 글꼴 패밀리 개체와 지정한 글꼴 패밀리 개체가 같은지 여부를 나타내는 값을 가져옵니다.

GetHashCode()

FontFamily에 대한 해시 함수 역할을 합니다. 해시 알고리즘 및 해시 테이블과 같은 데이터 구조에서 사용하기에 적합합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetTypefaces()

기본 시스템 글꼴 위치에 있는 서체를 나타내는 Typeface 개체의 컬렉션을 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

Source 속성의 값을 반환합니다.

적용 대상

추가 정보