드디어 드디어 맑은 고딕 말고도 굴림이나 돋움체를 깔끔하게 볼 수 있어요 ㅠ.ㅜ
백문이 불여일견.

위에서부터 각각 굴림체, 돋움체, 맑은 고딕체로 FontSize="6", 7,8,9,10,11,12,13,14,15,16,20,30 으로 설정한 화면을 캡쳐했어요.

아쉽게도 FontSource 속성은 여전히 설정하고 싶은 모든 Text에 각각 세팅해야 하는 불편이 있지만 혹시 폰트가 없더라도 기본 폰트가 충분한 품질을 뽑아주니 이제 폰트 배포 문제를 덜 고민해도 되겠어요 >_<
우와와와왕ㅋ구우우우우웃ㅋ!!

Posted by gongdo
아... 그간의 삽질을 생각하니 안구에 습기가 차네요.
이렇게 단순한 문제였을 줄이야.

네, 예고했듯이 실버라이트의 TextBlock에서도 한글 폰트를 표시할 수 있다는 사실이 밝혀졌어요! 알려주신 꿍님에게 다시 한번 감사를.

http://gongdo.oranc.co.kr/Silverlight/Samples/ShowMeKorean/Index.html


보시다시피 웹에서도 한글 폰트가 잘 나와요.
하지만 이렇게 하려면 약간 번거로운 Downloader를 사용해야 하고 따라서 반드시 웹서버가 있어야만 동작한다는 문제점도 있어요.
그리고 한글 폰트는 비교적 용량이 큰편이라서 다운로드되기까지 시간이 어느정도 걸리니까 그 동안에는 한글이 ㅁㅁㅁㅁㅁ로 나오겠죠.

그래도 지금까지 동적으로 한글을 표시하는 방법은 Glyphs밖에 없었는데 더 사용하기 편리한 TextBlock에서 한글이 표시된다는 건 고무적인 일이죠!

너무 흥분해서 어떻게 성공했는지 얘기를 안했네요;;
일단은 기존의 Downloader를 사용하는 방법과 동일해요.
Downloader로 폰트 파일을 다운로드 받고 목표 TextBlock의 SetFontSource()메서드로 설정해준 뒤 FontFamily 속성을 폰트이름으로 설정해주면 되죠.

아니? 이거 예전에도 이렇게 해서 실패했잖아욧! 이라고 생각하셨죠?
네 핵심은 폰트이름을 한글로 지정하는게 아니라 영문이름으로 지정해야 한다는 것이에요.

그럼 폰트의 영문 이름은 어떻게 아느냐고요? 자자~ 다 그런 문제 때문에 아래 포스팅에서 WPF로 폰트 이름을 열거하는 애플리케이션을 만들어뒀으니 함께 쓰시면 될거에요.

소스는 워낙 간단해서 별다른 설명 없이 첨부했으니 받아서 테스트 해보세요 :)
Posted by gongdo

웬일로 WPF 포스팅을 하나 싶죠?
사실은 어제 은둔고수 꿍님의 제보로 실버라이트의 TextBlock에 한글 폰트를 설정하여 한글을 표시할 수 있는 방법을 전수받아 왔어요!

그래서 시스템에 폰트가 뭐뭐 설치되어 있는지 좀 알아보려고 내친김에 WPF로 시스템의 폰트 폴더에 있는 모든 폰트패밀리의 경로와 이름을 열거하는 간단한 애플리케이션을 만들어봤어요.



아주 간단한 샘플이지만 LINQ를 활용한 필터도 있어요. 그래봤자 전체적인 코드가 그닥 좋지는 않지만요^^;

관심 있으신 분은 샘플 코드와 실행 파일을 아래에서 다운받아서 해보세요.

FontEnumerator.exe

실행 파일

그리고 곧바로 실버라이트에서 한글을 표시하는 위대한 코드가 나갑니다! 기대하시라!
Posted by gongdo
TAG font, LINQ, WPF


티스토리 툴바