윈터보드를 이용해서 시스템 폰트 교체하기

윈터보드 테마에는 info.plist라는 파일이 들어갑니다. 이 파일은 주로 스프링 보드 상의 요소, 특히 택스트 요소의 형태를 설정하는 용도로 사용 되는 파일입니다. 이 택스트 스타일을 지정하는 코드는 CSS를 사용합니다. 특히 CSS의 속성 중하 나인 font-famliy 를 사용하게 되면 폰트를 교체할수 있는데요, 이 점을 활용해서 시스템 폰트를 바꿀수 있습니다.


이 방법이 좋은 점은 벽돌이 된다던지, 아니면 무한 리스프링에 빠진다던지 하는 일이 없이 간편하게 적용이 가능하며, 윈터보드에서 테마를 끔으로써 간편하게 원본 폰트로 되돌아 갈 수 있습니다.


사용자 폰트를 추가하지 않고 교체하는 방법은 시스템 폰트 리스트(http://est0que.tistory.com/811)에 있는 폰트중 원하는 것을 하나 골라서 기본 폰트 속성을 바꿔주면 됩니다.


폰트가 적용되는 요소는 BadgeStyle,CalendarIconDateStyle,CalendarIconDayStyle,DockedIconLabelStyle,UndockedIconLabelStyle,TimeStyle 입니다.


윈터보드에서 제공하는 info.plist의 주요기능으로 폰트스왑 기능이 있습니다. FontName 속성이 바로 그 역할을 하는데요, FontName -원하는 시스템폰트 이름 을 사용해서 폰트를 바꿀수 있습니다. iOS의 시스템 기본폰트는 Helvetica와 Helvetica Neue 입니다.


다음예제는 시스템폰트 전체를 Futura로 바꾸는 코드입니다.


<key>FontName-.Lock Clock</key>

<string>Futura-Medium</string>

<key>FontName-Helvetica</key>

<string>Futura-Medium</string>

<key>FontName-Helvetica-Bold</key>

<string>Futura-Medium</string>

<key>FontName-HelveticaNeue</key>

<string>Futura-Medium</string>

<key>FontName-HelveticaNeue-Bold</key>

<string>Futura-Medium</string>



시스템 전체에 Futura 폰트가 적용된 모습입니다. 다만 이 방법의 한계로는 Apple Gothic SD Neo와 Helvetica Neue UI가 바뀌지 않습니다. iOs6.x 이후로 폰트구조가 바뀌어서 그런데요, 4.x 이전은 완벽하게 바뀝니다. iOS 5.x이상의 영문폰트나 iOS 6.x 이상의 영문,한글 폰트는 어쩔수 없이 Helvetica Neue 파일만 수동으로 교채를 해줘야 합니다.


별도로 외부에서 폰트파일을 추가해서 바꾸는 방법은 심화편에서 다루도록 하겠습니다.

심화편: http://est0que.tistory.com/1188