Default Font Change in Chrome Browser

I refer to http://www.google.com/support/forum/p/Chrome/thread?tid=389f306a52817110&hl=en.

Modify (or Add) webkit data structure in following file:

  • Windows XP: ..\Documents and Settings\User_Name\Local Settings\Application Data\Google\Chrome\User Data\Default\Preference
  • Mac OS X: $HOME/Users/breadncup/Library/Application Support/Google/Chrome/Default/Preference
"webkit": {
 "webprefs": {
 "default_fixed_font_size": 11,
 "default_font_size": 12,
 "fixed_font_family": "Bitstream Vera Sans Mono",
 "minimum_font_size": 12,
 "minimum_logical_font_siz": 12,
 "sansserif_font_family": "Times New Roman",
 "serif_font_family": "Arial",
 "standard_font_is_serif": false,
 "text_areas_are_resizable": true
 }
 }

emacs 22.3에서 한글/영문 TTF 폰트를 쓰게 하자.

가정 (Assumption):

  • Ubuntu 8.10
  • Emacs 22.3

참조 (Reference):

우선 emacs 22.3에서는 TTF를 직접 지원하지 않습니다. 이것을 X에서 쓰는 Font로 바꾸어 주어야 emacs 22.3에서 TTF 폰트를 쓸 수 있습니다. 다음은 제가 네이버사전체와 Droid Sans Mono TTF를 이용하여 emacs의 Font를 Set Up 하는 예제를 보여줍니다.

  1. 네이버 사전체 다운로드
  2. Droid Sans Mono TTF 다운로드
  3. 다운로드 받은 ttf 파일을 ~/.fonts 디렉토리에 카피하여 둡니다.
  4. 다음을 실행합니다. (추가: 순서가 중요합니다. mkfontscale이 먼저 되어야 하고, 그 다음에 mkfontdir이 되어야 합니다.)
    sudo mkfontscale
    sudo mkfontdir
    sudo fc-cache -fv
  5. /etc/X11/xorg.conf를 다음과 같이 편집합니다.
    Section "Files"
        FontPath "/home/<USRID>/.fonts"
    EndSection
    
    Section "Module"
        Load "freetype"
    EndSection
  6. Rebooting
  7. shell에서 xlsfonts로 폰트를 찾습니다. 저의 경우에는 다음과 같은 폰트를 씁니다. 영문의 기본은 droid sans mono로 쓰고 11 point로 설정을 했습니다. 한국어는 네이버 사전체로 쓰고 폰트크기는 12로 맞추었습니다.
    (set-default-font "-misc-droid sans mono-medium-r-normal--11-0-0-0-m-0-iso8859-1")
    (set-fontset-font "fontset-default" 'korean-ksc5601 "-microsoft-naver dictionary-medium-r-normal--12-0-0-0-p-0-ksc5601.1987-0")
  8. ~/.emacs 에 위를 추가해서 폰트를 쓰도록 했습니다.

다음은 제가 쓰고 있는 현재 이 글의 draft를 emacs에서 쓰고 있는 모습을 보여줍니다.

emacs screen capture with ttf font

emacs에서 폰트를 바꾸는 방법

이것은 emacs에서 GTK와 font-backend가 emacs를 컴파일할 당시에 configure로 잡혀져 있었다는 가정을 합니다.

두가지 방법이 있습니다.

1. ~/.emacs를 이용하는 방법

(set-default-font "-adobe-courier-medium-r-normal--18-180-75-75-m-110-iso8859-1")

2. M-x customize-face RET default RET 를 이용하는 방법

2-1 Font Family에 adobe-courier

2-2 Height에 81

2-3 Width 에 medium

2-4 나머지는 default데로 둡니다. 다음은 제 emacs에서의 모습입니다.

emacs with GTK and font

emacs와 gtk를 이용하여 예쁜 폰트로 쓰도록 컴파일 해보자

우분투 8.10을 쓰고 있다고 가정합니다.

1. GNU 사이트에서 먼저 emacs 소스를 다운 받습니다. (다운로드: GNU MIRRO FTPs)

2. 다음과 같은 library가 emacs를 컴파일하기전에 필요합니다.

apt-get install libgtk2.0-dev libglib2.0-dev libtiff4-dev libgif-dev libungif4-dev pkg-config libpng12-dev libjpeg62-dev

3. emacs 디렉토리에 들어가서 다음과 같이 컴파일하고 인스톨합니다. configure를 끝냈을때, gtk를 이용하는지 확인하고 컴파일과 인스톨을 하도록 합니다.

$ ./configure --with-gtk --enable-font-backend --with-xft --with-x-toolkit=gtk --with-pkg-config=/usr/lib/pkgconfig

$ make clean && make

$ sudo make install

(export PKG_CONFIG_PATH='/usr/lib/pkgconfig')이 혹시 필요할지도 모릅니다.

4. 이제 emacs를 사용하면 됩니다.

ubuntu에서 맑은 고딕체를 쓰기

현재 ubuntu 버전은 8.10입니다.

이 버전에서 clear-type이 적용된 맑은 글꼴을 쓰는 방법을 기술하겠습니다.

1. 우선 맑은 글꼴을 받습니다. (사이트 참조: http://www.gegereka.com/?query=malgun.ttf)

2. 받은 글꼴을 ~/.fonts 디렉토리에 카피합니다. Default로 그 디렉토리가 생성되지 않았을수 있습니다. 이때는 수동으로 .fonts를 생성하여 그 디렉토리에 카피합니다. (우분투 8.10에서는 ~/.fonts에 ttf 파일을 카피하는 것과 동시에 글꼴로 등록이 됩니다.)

3. 적당한 에디터를 이용하여 /etc/fonts/conf.avail/40-nonlatin.conf 를 편집합니다.

3-1. 우분투를 인스톨하고 language support으로 korean으로 선택을 했었다면, 40-nonlatin.conf에 영어가 아닌 다른 언어들에 대한 글꼴이 나와 있습니다. Default로 Serif에는 UnBatang이, Sans-Serif에는 Undotum이 설정되어 있습니다. 이 바로 위에 맑은 고딕 글꼴을 설정해 주면, Serif와 Sans-Serif에 모두 맑은 고딕체를 설정할 수 있습니다.

실은 Sans-Serif는 우리말로 하면, 고딕체이고, Serif는 우리말로 명조체입니다. 맑은 고딕은 고딕체에 해당함으로 사실을 Sans-Serif에만 적용하면 되지만, 명조체까지 바꾸는 것은 개인 취향입니다.

다음은 제 예제를 적어둡니다.

<!--
  Serif faces
 -->
	<alias>
		<family>Nazli</family>
		<family>Lotoos</family>
		<family>Mitra</family>
		<family>Ferdosi</family>
		<family>Badr</family>
		<family>Zar</family>
		<family>Titr</family>
		<family>Jadid</family>
		<family>Kochi Mincho</family>
		<family>AR PL SungtiL GB</family>
		<family>AR PL Mingti2L Big5</family>
		<family>MS 明朝</family>
		<family>Malgun Gothic</family>
		<family>UnBatang</family>
		<family>Baekmuk Batang</family>
		<family>MgOpen Canonica</family>
		<family>Sazanami Mincho</family>
		<family>AR PL ZenKai Uni</family>
		<family>ZYSong18030</family>
		<family>FreeSerif</family>
		<default><family>serif</family></default>
	</alias>
<!--
  Sans-serif faces
 -->
	<alias>
		<family>Arshia</family>
		<family>Elham</family>
		<family>Farnaz</family>
		<family>Nasim</family>
		<family>Sina</family>
		<family>Roya</family>
		<family>Koodak</family>
		<family>Terafik</family>
		<family>Kochi Gothic</family>
		<family>AR PL KaitiM GB</family>
		<family>AR PL KaitiM Big5</family>
		<family>MS ゴシック</family>
		<family>Malgun Gothic</family>
		<family>UnDotum</family>
		<family>Baekmuk Dotum</family>
		<family>SimSun</family>
		<family>MgOpen Modata</family>
		<family>MgOpen Moderna</family>
		<family>Sazanami Gothic</family>
		<family>AR PL ShanHeiSun Uni</family>
		<family>ZYSong18030</family>
		<family>FreeSans</family>
		<default><family>sans-serif</family></default>
	</alias>

위는 40-nonlatin.conf 파일의 일부입니다. 우분투 8.10은 모든 글꼴에 antialiasing을 적용하도록 되어 있기때문에 특별히 clear-type 부분을 손보지는 않아도 됩니다. 참고로 antialiasing을 위한 파일은 10-antialias.conf 에 있습니다.

40-nonlatin.con를 수정하면 자동으로 글꼴이 적용됩니다.

Update1:

아쉽게도 맑은 고딕은 antialiasing이 적용이 되지만, 한글만 있는 폰트라는 것이 아쉽습니다. 다시말해, 한자가 있을 경우는 표현을 하지 못한다는 문제가 있습니다.

우분투에는 한글과 한자가 같이 있는 폰트가 있는데, 은폰트 (은바탕, 은돋음 등)입니다. 이 은폰트는 bold체까지 한자를 지원합니다. 은폰트를 인스톨하셨다면, Firefox등에서 serif를 은고딕등으로 바꾸어 주면, 제대로 된 한자와 한글이 동시에 표현될 수 있습니다.