반응형
안녕하세요 돼지왕왕돼지입니다.
Font에 대한 좋은 글을 발견하여, 정리하여 포스팅 해봅니다.
원작자의 글도 매우 잘 정리되어 있습니다만, 제 방식대로 글을 써보고자 함입니다.
출처 : http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=8706
원작자의 글도 매우 잘 정리되어 있습니다만, 제 방식대로 글을 써보고자 함입니다.
출처 : http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=8706
Font의 종류
Bitmap Font ( 비트맵 폰트 )
폰트 자체가 Bitmap 형식으로 되어 있는 녀석입니다. 화면에 끄냥 뿌려주기만 하면 되는 녀석이라 처리 속도는 매우 빠르지만,
글자의 크기가 커지게 될 경우에는 비트맵을 그저 확장하는 형태로 계단현상 등이 발생합니다.
요즘에는 Font Size 에 따라서, 작은 Font Size의 경우에는 작은 Bitmap 을 사용하고, 큰 Font Size 의 경우에는 큰 Bitmap 을 사용하는 경우도 있지만,글자의 크기가 커지게 될 경우에는 비트맵을 그저 확장하는 형태로 계단현상 등이 발생합니다.
이 부분은 용량적인 부분이 있기 때문에, Mobile Device에서는 적합성이 조금 떨어지던 방법이었죠.
( 이 방법도 요즘의 hardware spec 이라면 충분히 쓸만 하겠죠. )
c:\windows\fonts 에 보시면 아래와 같은 Font 파일들을 본 적 있으시죠?
이 중 A 로 표시된 폰트가 비티맵 폰트입니다.
비트맵 폰트를 보면 더블킬릭하면, Font Size 에 따른 예를 볼 수 있는데, 글자가 커진수록 계단현상이 심해져 이쁘지 않습니다.
외곽선 폰트
컴퓨텅 기술이 발전하면서 이제 계산을 바탕으로 폰트를 생성하는 것이 가능해졌습니다.
백터 그래픽이나 베지에 곡선을 폰트에 적용하여 만드는 "외곽선 폰트"의 형태가 생겼습니다.
이 폰트는 계산을 바탕으로 생성하는 것이기 때문에 Font size 와 상관없이 일정한 품질의 출력을 보장한다는 장점이 있습니다.
Post Script, True Type, Open Type 폰트들이 이 외곽선 폰트에 속합니다.
이 폰트는 계산을 바탕으로 생성하는 것이기 때문에 Font size 와 상관없이 일정한 품질의 출력을 보장한다는 장점이 있습니다.
Post Script, True Type, Open Type 폰트들이 이 외곽선 폰트에 속합니다.
포스트 스크립트( Post Script )
포스트 스크립트는 어도비(Adobe) 사가 개발한 폰트로 Type 1, 2, 3 등 다양한 포맷이 있습니다.
Flash 에서 사용하던 벡터의 개념을 폰트에 적용하여 만든 것입니다. 주로 프린터에 많이 사용된다고 하네요.
트루 타입 ( True Type )
베지에 2차 곡선을 사용하는 폰트로 품질 향상은 크지 않지만, 속도가 빠르다는 장점이 있어 windows 에서 많이 사용되고 있습니다.
Font 중에 "T" 로 표시되어 있는 폰트들이 True Type 입니다.
Font 중에 "T" 로 표시되어 있는 폰트들이 True Type 입니다.
오픈 타입 ( Open Type )
어도비와 MS 사가 손잡고 오픈 타입 폰트를 제작했습니다.
True Type + Post Script = Open Type 으로 볼 수 있죠.
유니코드를 바탕으로한 폰트로, 안드로이드가 채택하고 있는 폰트입니다.
"O" 로 표시되어 있는 녀석들이 Open Type 입니다.
True Type + Post Script = Open Type 으로 볼 수 있죠.
유니코드를 바탕으로한 폰트로, 안드로이드가 채택하고 있는 폰트입니다.
"O" 로 표시되어 있는 녀석들이 Open Type 입니다.
안드로이드의 폰트
1. 기본 폰트 설정
안드로이드 기본 폰트는 Sans , Serif 두 가지 종류가 있습니다.
Mono 는 각 글자의 넓이가 일정한 폰트입니다.
Mono 는 각 글자의 넓이가 일정한 폰트입니다.
글씨체는 view 정의 xml 에서
를 통해서 설정 할 수 있습니다.
typeface="sans"
typeface="serif"
를 통해서 설정 할 수 있습니다.
2. 사용자 정의 폰트 사용하기
안드로이드는 OpenType 의 Font 를 채택하기 때문에 기본적으로는
2012. 11. 9 수정 : OpenType 이 아닌 TrueType 만 추가하여 사용 가능합니다.
OpenType 의 Font 를 구한 후에 assets\fonts\ 에 붙여넣기를 합니다.
다음과 같은 형식으로 typeface 를 설정해주면 됩니다.
TypeFace myNewFace = Typeface.createFromAsset( getAssets(), "fonts/myfont.otf"
TextView textView = findViewById( R.id.textview );
textView.setTypeface( myNewFace );
3. 특정 폰트 Application 전체 적용하기 ( not custom font )
res/values/styles.xml 에 다음과 같이 style 을 만들어줍니다.
<resources>
<style name="newFontStyle">
<item name="android:typeface">serif</item>
</style>
</resource>
요 style 을 application의 theme 란에 적용해주면 됩니다.
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/newFontStyle">
...
4. 사용자 정의 폰트 전체 적용하기
이 부분은 이 글 원 필자 ( 저는 내용을 정리한 것 뿐입니다. 출처는 최상단에 있습니다. ) 도 방법이 없는 것으로 알고 있습니다.
( Framework 에서 기본 font 로 함께 build 하는 것을 제외하고는.. )
저도 방법을 찾게 되면 따로 포스팅 하도록 하겠습니다.
그럼 이만~
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android/안드로이드] framework source eclipse 에 import 하기. (0) | 2012.02.07 |
---|---|
[android/안드로이드] 죽지 않는 service 만들기 ( 사실은.. 지속적인 부활 ) (2) | 2012.02.07 |
[android/안드로이드] 제스처 ( gestures ) 에 대해 알아봅니다. (0) | 2012.02.07 |
[android/안드로이드] live wallpaper 소개. (2) | 2012.02.07 |
[Android/안드로이드] View에 대한 기초지식. (0) | 2012.02.06 |
댓글