ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WPF Font Family 한글 표시
    C#/WPF 2017. 5. 12. 11:30

    WPF 에서 시스템에 있는 폰트를 ComboBox 를 통해 혹은 List 를 통해 볼 수 있습니다.


    그러나 WPF에서 제공해주는 폰트들은 영어로 표시가 되어 한글 폰트들도 영어 이름으로 나옵니다


    예를 들어 "맑은 고딕" -> "Malgun Gothic" 과 같이 말입니다.


    그래서 한글로 표시해 주는 방법을 찾아보았습니다.



    참고



    먼저 System.Windows.Markup.XmlLanguage 에서 GetLanguage 라는 함수를 통해 

    현재 System 의 언어(System.Globalization.CultureInfo.CurrentUICulture.Name)의 Key를 불러옵니다.

    (우리의 경우 ko-kr)


    그 뒤 Fonts 의 SystemFontFamilies 로 해당 컴퓨터에 있는 Font List로 각 Font들에 접근합니다.


    해당 폰트가 System의 언어 (우리는 ko-kr) Key를 포함하고 있다면 해당 언어 설정의 이름으로 list에 추가합니다.


    System의 언어 Key를 포함하고 있지 않다면 원래의 이름(영어)으로 list에 추가합니다.


    이 List는 영어이름 기준 알파벳 순으로 되어있기 때문에 한글 이름을 포함해서 다시 정렬해 줍니다.



    코드입니다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var cond = System.Windows.Markup.XmlLanguage.GetLanguage
            (System.Globalization.CultureInfo.CurrentUICulture.Name);
     
    listFont = new List<string>();
    foreach (FontFamily font in Fonts.SystemFontFamilies)
    {
        if (font.FamilyNames.ContainsKey(cond))
            listFont.Add(font.FamilyNames[cond]);
        else
            listFont.Add(font.ToString());
    }
     
    listFont.Sort();
     
    cbxFont.ItemsSource = listFont;
    cs



    'C# > WPF' 카테고리의 다른 글

    WPF 폰트(글꼴) 포함 배포  (0) 2017.12.20
    WPF FontDialog  (0) 2017.07.18
    mp3 파일 id3v2 태그 분석  (0) 2017.03.10
    WPF MediaPlayer Volume 사용  (0) 2017.03.10
    WPF Rolling Animation (슬롯머신 같은 애니메이션)  (0) 2017.02.17

    댓글

GiGong