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

위에서부터 각각 굴림체, 돋움체, 맑은 고딕체로 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


티스토리 툴바