'한글출력'에 해당되는 글. 1건

  1. 2007/05/23 Silverlight에서 한글 쉽고, 가볍게 사용하기 (13)
사용자 삽입 이미지

Silverlight 구현 예제보기

여기에서는....
XPS기술을 사용하여 Silverlight에서 한글을 쉽고, 저용량으로 쓰는 방법을 설명한다.



Silverlight가 1.0 Beta가 Release되면서 부터 한글을 그나마 지원하기 시작했다.
WPF/e Dec. CTP 버전에서는 사용이 거의 불가능에 가까웠는데 그에 비하면 많이 진보했다. ^^

Silverlight에서도 한글을 대충써도 잘 나오면 좋겠지만 아쉽게도 현재 버전에서는 그렇지 않다. 그래서 사용할 수 있는 방법으로는 Glyph로 처리하는 방법TextBlock으로 처리하는 방법이 있다. 여기서 소개하는 방법도 큰 맥락에서보면 Glyph로 처리하는 방법과 다르지 않지만 엄청나게 큰 폰트의 용량을 줄이는 방법과 편집을 쉽게 할 수 있는 방법이다.



먼저 예제를 만든 과정을 Step별로 정리 해보면..
----

#1. Microsoft Office를 열고 원하는 한글을 자유롭게 입력한다.
     (저는 Powerpoint을 열고, 아래와 같이 한글, 두글 시리즈를 적었습니다. )

사용자 삽입 이미지


#2. 만들어진 문서를 XPS로 저장한다. (아래 그림참조)
사용자 삽입 이미지


#3. 저장된 XPS파일의 압축을 푼다. ( XPS파일은 Zip Archive 파일이다. )
     압축이 풀린 파일에서 생성된 \Resources\*odttf파일을 Silverlight 프로젝트에 추가한다.
     압축이 풀린 파일에서 \Documents\1\Pages\1.fpage 파일을 연다.
사용자 삽입 이미지

파일에서 해당되는 부분을 Copy한 후 Silverlight Project에 한글을 출력할 부분에 적당히 Paste한다.

#4. 붙여진 <Glyphs>에서 BidiLevel 속성을 제거하고, FontUri를 프로젝트에 맞게 수정한다.

#5. 잘 나오는지 Test 해본다. 끝.

-------------------------------------------

설명이 조금 필요한데....
XPS 문서 포맷은 Adobe의 PDF처럼 Microsoft에서 인쇄/출판용 포맷으로 제작된 스펙이다.
XPS 스펙을 보면 알 수 있겠지만 XPS에서 문서의 구성은 WPF에서 사용하는 XAML의 Subset으로 구성되어 있다. Silverlight에서도 XAML을 사용하기 때문에 XPS의 결과물인 XAML을 사용할 수 있게 되는 것이다. 하지만 아쉽게도 이 두XAML이 완벽하게 Compatibility를 가지진 않아서 XPS 결과물을 직접 쓰긴 그렇고 약간 가공해서 쓰다보니 위와 같은 번거러운(?) 절차가 필요하게 되었다.

odttf인 것도 생소할 수도 있는데 XPS로 문서를 출력하면 문서에 사용되는 폰트를 뽑아서 XPS에 저장한다. 이때 만들어 주는 임시 폰트 파일이 odttf파일이다. 따라서 일반 ttf보다 용량이 훨씬 작게 되는 것이다.



예제 소스 다운로드:
Posted by U_Seung