안드로이드 폰트설치 앱 만들기



폰트가 디자인의 큰 영역을 차지하는것은 사실이다. 같은 웹페이지더라도 폰트하나에 퀄리티가 확실하게 차이난다. 애플이 IOS에 산돌고딕체를 기본으로 탑제한 이유이기도하다. 안드로이드도 마찬가지다. 이번 넥서스7에는 네이버가 만든 나눔고딕을 기본으로 하고있다.


 


이 처럼 폰트에 따라 디자인이 죽고 산다. 안드로이드는 폰트에 대해 자유자체로 바꿀수 있는 점이 있으며, 삼성 갤럭시 시리즈에는 폰트 변경할 수 있는 설정페이지가 있다. 이외의 폰들이라면 루팅을 하거나 폰트를 바꿔주는 전문적인 앱을 설치 해야된다.


갤럭시 시리즈는 어떤식으로 폰트 설정을 하는 것일까라는 물음과 그 폰트를 설치하기위한 앱은 어떻게 개발하는가에 대한 궁금증이 들었다.


 


정답은 의외로 쉽다. 정해진 패키지명과 APK내부에 정해진 패턴의 폰트파일이 있으면 갤럭시는 자동으로 폰트를 감지하고 OS에서 폰트를 변경 해주는 시스템이다.


 


패키지명은 정해진 이름을 반드시 지켜야 된다. com.monotype.android.font.폰트명 으로 생성해야되며, 패키지명을 따르지 않으면 폰트 인식을 하지 못한다


assets 디렉토리에 정해진 패턴의 파일을 넣으면 된다. 폰트도 저작권이 있는 관계로 네이버에서 무료로 공개한 나눔고딕서체로 테스트를 해보겠다.


 



 


assets에 fonts와 xml 디렉토리는 각각 생성 후 fonts에는 폰트파일을 xml에는 NanumGothic.xml파일을 만든다. 단, 이름은 상관없다. 이제 xml디렉토리에 있는 xml파일을 잠시 살펴보자.


 



<?xml version=”1.0″ encoding=”utf-8″?>
<font displayname=”NanumGothic”>
<sans>
<file>
<filename>NanumGothic.ttf</filename>
<droidname>DroidSans.ttf</droidname>
</file>
<file>
<filename>NanumGothic.ttf</filename>
<droidname>DroidSans-Bold.ttf</droidname>
</file>
</sans>
</font>



 


font displayname은 폰트 선택시 사용할 이름을 적으면 된다. file에 보면 filenamedroidname이 있다.


안드로이드의 기본폰트는 일반 서체인 DroidSans.ttf와 Bold 서체인 DroidSans-Bold.ttf로 구성 되어 있는데, 여기서 filename은 기본폰트를 대체할 폰트파일이름을 적으면된다. fonts 디렉토리에 넣은 폰트파일을 적으면 되고, droidname은 대체당할 기본폰트파일명인 DroidSans.ttf로 설정한다.


 




 


설정-디스플레이-서체 설정에 보면 NanumGothic이 추가 된것을 확인 할 수있다. 한번더 말하는 거지만 삼성 갤럭시 시리즈에서만 작동한다.(다른 제조사도 이와같은 방법으로 OS를 구성했다면 될 수도있다.)





관련된 샘플코드들은 깃허브를 통해서 받아보면된다. 완성된 설치파일도 받아 보면된다.


 


Github – 샘플코드 APK 다운로드