윈도우즈처럼 글꼴 설정하기
제목 : 윈도우즈처럼 글꼴 설정하기
( 본 문서에서는, 기본적으로 sudo 가 설치되있다고 가정합니다. )
1. 폰트 설치
(1) 네이버 사전체를 내려받습니다.
$ wget <a href="http://cndic.naver.com/font.nhn?menu=downloadt " rel="nofollow">http://cndic.naver.com/font.nhn?menu=downloadt </a>
위 명령어가 제대로 되지 않는 경우 다음 페이지에서 직접 받습니다.
http://cndic.naver.com/font.nhn
(2) 네이버 사전체를 추가합니다.
$ tar xvfz naverdic.tgz $ sudo mkdir /usr/share/fonts/truetype/naver $ sudo mv naverdic.ttf /usr/share/fonts/truetype/naver $ sudo fc-cache -v
2. X 폰트 설정 초기화
(1) 설명
$ man fonts.conf
로 설명을 읽어보면, 핵심 폰트 설정파일은 fonts.conf 이고 나머지는 conventional 한 이름인 것을 알 수 있습니다.
대부분의 경우 fonts.conf 는 conf.d 를 불러오고 conf.d 에서 ~/.fonts.conf 를 불러오는 구조로 되어있을 겁니다.
(2) 설정파일 백업
fonts.conf 와 conf.d 의 이름을 바꾸면, X 폰트의 설정은 모두 인식되지 않게 됩니다.
$ cd /etc/fonts/ $ mv fonts.conf fonts.conf_backup $ mv conf.d conf.d_backup
3. X 폰트 설정하기
(1) fonts.conf
/etc/fonts/fonts.conf 파일을 다음과 같이 작성합니다.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/fonts.conf file to configure system font access --> <fontconfig> <!-- 폰트 디렉터리 설정 --> <dir>/usr/share/fonts</dir> <dir>~/.fonts</dir> <!-- 폰트 캐쉬 디렉터리 설정 --> <cachedir>/var/cache/fontconfig</cachedir> <cachedir>~/.fontconfig</cachedir> <!-- 폰트 설정파일 불러오기 --> <include ignore_missing="yes">conf.d</include> </fontconfig>
이는 이해하기 좋게 가장 기본적인 것만 적은 것이고,
좀 더 좋은 fonts.conf 를 첨부하니 이를 사용하면 됩니다.
$ sudo mv fonts.conf /etc/fonts/
폰트의 위치가 /usr/share/fonts/ 외에 다른 곳에 있다면
<dir>경로명</dir>
과 같은 식으로 추가하면 됩니다.
(2) conf.d
위에서 conf.d 를 추가해주었으니 그곳에 설정파일을 추가할 수 있습니다.
$ cd /etc/fonts/ $ sudo mkdir conf.d
(3) 50-user.conf
/etc/fonts/conf.d/50-user.conf 파일을 다음과 같이 작성합니다.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/conf.avail/50-user.conf file to configure system font access --> <fontconfig> <!-- 개별 유저의 폰트 설정파일 불러오기 --> <include ignore_missing="yes">~/.fonts.conf</include> </fontconfig>
이제 ~/.fonts.conf 에 개별 유저의 설정파일을 둘 수 있습니다.
(4) 90-synthetic.conf
그런데 네이버 사전체 같이 폰트 파일내에 볼드체나 이탤릭체가 구현되지 않은 경우에는
xserver 에서 (정확히는 fontconfig 에서) 원래 글꼴을 변형시켜 사용하도록 지정해야 합니다.
이를 위한 설정파일이 아래 첨부된 90-synthetic.conf 파일입니다.
저장해서 /etc/fonts/conf.d/ 에 옮겨놓습니다.
$ sudo mv 90-systheic.conf /etc/fonts/conf.d/
(5) ~/.fonts.conf
파이어폭스같은 프로그램은 기본적으로 sans-serif, serif, monospace 를 사용하지만
실제로 존재하는 폰트명은 아닙니다.
이를 위해 alias 를 해줄 수도 있지만, 그보다는 다음과 같이 match & append 하겠습니다.
이와 같은 방식은 나중에 혹시라도 영문/일본어/중국어 등의 글꼴을 섞어서 쓰는 경우에 더욱 융통성이 있습니다.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/fonts.conf file to configure system font access --> <fontconfig> <match target="pattern" > <test qual="any" name="family" compare="eq"> <string>serif</string> </test> <edit name="family" mode="append" binding="strong"> <string>Naver Dictionary</string> </edit> </match> <match target="pattern" > <test qual="any" name="family" compare="eq"> <string>sans-serif</string> </test> <edit name="family" mode="append" binding="strong"> <string>Naver Dictionary</string> </edit> </match> <match target="pattern" > <test qual="any" name="family" compare="eq"> <string>monospace</string> </test> <edit name="family" mode="append" binding="strong"> <string>Naver Dictionary</string> </edit> </match> </fontconfig>
4. 데스크탑 환경 폰트 설정하기
아마 이글을 읽는 대다수는 GNOME 을 데스크탑으로 사용할 것입니다.
GNOME 의 기본 글꼴을 설정하는 메뉴가 있으니, 그곳에서 설정을 해야 합니다.
그런데, 예를 들어 XFCE 에서 GNOME 의 프로그램을 사용하는 경우와 같이
글꼴 설정 메뉴를 이용할 수 없는 경우에는 gconf-editor 를 사용하면 됩니다.
$ gconf-editor
/desktop/gnome/interface 에서 font_name, document_font_name,
monospace_font_name 의 값을 바꾸면 됩니다.
( 이것은 GNOME 의 버전에 따라 다를 수도 있습니다. )
5. 파이어폭스 폰트 설정하기
(1) 설명
파이어폭스의 글꼴설정파일은 ~/.mozilla/firefox/XXXXXX.default/chrome/ 에 있습니다.
( 참고 : XXXXXX 부분은 사용자에 따라 다르게 설정된 임의의 문자열입니다. )
userChrome.css 는 UI 의 글꼴을 설정하고,
userContent.css 는 인터넷 페이지의 글꼴을 설정합니다.
(2) 설정하기
userChrome.css 를 다음과 같이 편집합니다.
* { font-family: Naver Dictionary !important; font-size: 10pt !important; }
userContent.css 를 다음과 같이 편집합니다.
* { font-family: Naver Dictionary !important; }
6. 설정 완료된 화면
Ubuntu 7.10 (Gutsy Gibbon) 의 XFCE4 에서 설정완료된 화면을 첨부합니다.
첨부 | 파일 크기 |
---|---|
FontSettingLikeWindows.tgz | 2.64 KB |
FontSettingLikeWindows.png | 136.54 KB |
인용:$ cd /etc/fonts/$
위와 같은 방법은 자기자신이 fontconfig의 설정에 정통하였다면 몰라도 일반적인 사용자에게 권할만한 방법이 못됩니다.
설정을 변경하려면 fontconfig의 프레임워크 내에서 제공하는 방법을 쓰는 것이 좋습니다.
시스템 전체에 적용시키려면 /etc/fonts/local.conf를, 현재 사용자에게만 적용시키려면 $HOME/.fonts.conf 를 작성해서 필요한 옵션을 추가하는 것이 제일 좋습니다.
----
Do not feed troll!
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
동감~
동감~
저런식으로 세팅해두면 나중에 백업하고 복원시, 감당 못합니다.
네, 지적
네, 지적 감사합니다.
글꼴설정 조금 바꾸는 수준이라면 fonts.conf 와 conf.d 는 바꾸지 않는 것이 좋습니다.
하지만,
1.
local.conf 와 .fonts.conf 만 바꾸는 것만으로는 원하는 결과를 얻는다는 것을 장담할 수 없습니다.
배포판에 따라 글꼴설정이 제각각인 현재 상황에서
배포판에 관계없이 동일한 결과를 얻기 위해서는 위 방법이 최선입니다.
배포판에 관계없이 설정할 수 있는 더 좋은 방법이 있으면 알려주세요 :)
2.
게다가, "배포판에서 자동으로 설정해주는 것" 에 만족하지 않고
"자신이 이것저것 만져가며 직접 설정해주는 것" 에서 더 많은 것을 배울 수 있을 거라고 봅니다.
그래서 "윈도우처럼 글꼴설정하기" 에 그치지 않고,
"fonts.conf 의 완전한 이해" 라는 더욱 큰 것을 얻을 수 있기를 바랍니다.
3. fonts.conf 가 조금 잘못 설정되더라도 (심지어는 없어져도) ,
실제로는 큰 문제 없이 잘 동작합니다. (글꼴이 엉뚱하게 바뀔뿐)
설사 잘 안되더라도, single 로 부팅해서 백업한 것으로 복원하면 됩니다.
틀린 방법은
틀린 방법은 아니지만 권장하고 싶은 방법도 아닙니다.
~/.fonts.conf에서 바꾸지 못하는 전역 설정이 있습니까?
왜 /etc 아래를 건드립니까?
물론 시스템에 전역적으로 적용해야 할 경우도 분명 있습니다. 그러나 전역으로 적용하고 싶은 경우라 하더라도 기존의 conf.d의 내용을 전부 빼버리고 50-user, 90-synthethic 등 만을 적용하는 것은 좋지 않아 보입니다.
지금 현재 제 conf.d 디렉토리에 내용입니다. 모두다 필수적으로 필요한 설정이라고 할 수는 없겠으나 그렇다고 다 필요없다고 할 수도 없습니다. 네이버 사전체를 기본 글꼴로 사용하기 위해서는 65-nonlatin.conf 파일을 직접 수정하거나 66-nonlatin.conf 정도로 따로 복사해서 수정하는 것이 좀 더 바람직하게 전역 설정하는 것이 아닌가 합니다.
예전에는 /etc/fonts/fonts.conf, /etc/fonts/local.conf 두가지 파일이 전역 설정에 이용되었습니다.
최근 버전의 fontconfig에서는 기존의 /etc/fonts/fonts.conf 파일을 잘게 쪼개어 분산시키는 형태를 취했습니다. fonts.conf가 여전히 가장 처음 읽어들여지는 파일이긴 하지만 기존에 있던 내용들이 conf.d 쪽으로 분리되어 빠지게 되었습니다.
/etc/fonts/conf.avail 디렉토리에 내용별로 분리된 각각의 설정 파일이 존재합니다.
그 중 세가지 파일만 인용해봤는데 위 파일들을 /etc/fonts/conf.d 디렉토리로 링크 시키면 해당 파일의 내용이 적용되게 됩니다.
10-autohint.conf 파일을 링크시키면 autohint가 전역적으로 켜지고 그렇지 않으면 기본값 꺼진 상태로 있겠죠. 서브 픽셀 렌더링을 사용하면 10-sub-pixel-rgb.conf를 아니라면 10-no-sub-pixel.conf 파일을 링크하면 됩니다.
여러분이 원하는 설정을 전역적으로 적용하고자 할 경우 /etc/fonts/conf.avail 디렉토리에서 적당한 파일을 선택하여 /etc/fonts/conf.d 디렉토리로 링크하거나 혹은 그 반대로 삭제해서 적용할 수 있습니다.
그런 경우도 아니라면 /etc/fonts/local.conf ~/.fonts.conf 파일을 이용해서 얼마든지 맘대로 설정을 조절할 수 있습니다.
--
마잇
--
마잇
마잇님, 좋은 글
마잇님, 좋은 글 감사합니다.
제 글에는 몇 가지 내용이 빠져서, 신경이 쓰였는데
(요즘 배포판의 fonts.conf의 설정방식, /etc 밑은 안 건드리는 것이 권장된다는 점,
왜 네이버 사전체를 쓰는가, 등등)
다른 분들이 메꿔주시는군요. (이 부분은 감사드립니다.)
"왜 /etc 아래를 건드리는가" 에 대해서는 위에서 언급했으나 좀 더 설명드리자면,
1.
대부분의 경우 /etc/fonts/fonts.conf 에서는 매우 필수적인 설정만 들어가기 때문에
그렇게 볼 수도 있지만,
모든 배포판에서, /etc/fonts/fonts.conf 에서 원치 않는 되돌릴 수 없는 설정이 없을 것이라는 보장이 있습니까.
예를들어, (듣도보도 못한 배포판인) Linux XP 의 /etc/fonts/fonts.conf 에 어떤 내용이 있을지 알리가 없지 않습니까.
그럴리는 없겠지만, alias 라도 설정돼있다면
(이거는 배포판 정책에 따라 얼마든지 바뀔수도 있습니다.)
alias 를 취소하고 원래대로 바꿀 수 있는 방법이 있으면 알려주세요.
2.
이렇듯, 버전이 바뀌면, 정책에 따라 설정하는 방식은 얼마든지 바뀔 수 있습니다.
"배포판에서 자동으로 설정해주는대로 사용하는 것" 이 편하지만
"fonts.conf 를 이해해서 나만의 설정을 만드는 것" 이 배포판을 바꿀 일이 생기는 경우에
더 융통성이 있습니다.
3.
어차피 GNOME (또는 KDE,Xfce) 에서 글꼴설정을 하고 있다면 십중팔구 데스크탑용으로 쓰는 건데,
자신이 일반사용자면서 동시에 root라면, /etc 를 수정하지 말아야할 이유도 없습니다.
---------------------------------------------------------------------------------
이 정도면, 이 글을 읽는 분들도 상황을 충분히 이해하셨을테니 판단은 각자에게 맡기고 싶습니다.
그리고 중요한 것은 "배포판에 관계없이 적용가능한 일반적인 방법" 이라는 점입니다.
이점을 고려하지 않으시고 답글 달아주신 분들께는 조금 섭섭한 마음이 듭니다.
인용: 모든
어떤 내용이 있을지 예측하기 힘들정도로 사용자 친화적이지 않은 배포판은 아마 사람들이 안쓸거기 때문에 신경안써도 될것같습니다. :)
언급하셨다시피 이건 정책적인 문제입니다. 그리고 우분투의 정책 같은 경우에는 님께서 원하시는 방법은 제공하지 않습니다. (페도라는 안써본지 오래되서 어떻게 되는지 모르겠군요. 젠투는 별다른 설정없이 모두 사용자에게 맡기는 정책이라;; )
하지만 꼭 원하신다면 /etc/fonts/conf.d/99-ThisIsRuleZ.conf 같은걸 추가하시면 될겁니다. fontconfig 2.3 이상 사용하는 배포판이면 대부분 이걸로 해결됩니다.
그런데 왜 꼭 sans를 alias걸어야 하는지 의문이 드는군요. fontconfig를 지원하는 프로그램이면 대부분 글꼴 설정을 지원합니다. 원하는 글꼴이 있으면 해당 글꼴을 선택하면 되는거죠.
----
Do not feed troll!
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
제가 이해하고
제가 이해하고 있기에는 ~/.fonts.conf로는 되돌릴 수 없는 설정이라는 것이 /etc/fonts/fonts.conf에 있을 수 있는지 의문입니다. 사용자별 설정이 전역설정을 덮어쓰는 관례가 fontconfig 에서도 그대로 통용됩니다.
제가 처음에 올린 내용은 '배포본에서 설정해주는 데로 사용하는 것'이 아닌 fontconfig 시스템을 이해하고 그에 맞는 방법을 설명한 것입니다.
man fonts-conf의 내용을 읽어보고 /etc/fonts/fonts.conf의 파일을 읽어보면 자연스레
fonts.conf -> conf.d -> local.conf, ~/.fonts.conf
와 같은 흐름을 알 수 있습니다.
redneval님의 글 내용이 틀린 내용은 아니나 굳이 이런 비판을 하는 이유는 fontconfig 시스템을 이해하지 못한 사용자가 그대로 따라할 경우 예기치 못한 결과를 가져올수 있기 때문입니다.
데비안이나 우분투 사용자는 redneval님 글 중에 나오는 mv conf.d conf.d.backup 같은 명령으로 /etc/fonts/language-selector.conf라는 파일의 내용이 무시되게 됩니다. 한글을 기본 언어로 선택한 경우 이 파일을 열어보시면 각 한글 글꼴별로 나름 최적의 설정을 적용해 놓은 것을 볼 수 있습니다.
conf.d(conf.avail)의 내용은 각 배포본에서 천차만별 중구난방으로 꾸며놓은 곳이 아닙니다. fontconfig 패키지에서 새로운 관례로 자리 잡을 수 있도록 기존 구성에 개선된 변화를 준 것이며 각 배포본들도 이를 대부분 그대로 따르고 있습니다.
데비안과 우분투의 경우 이 관례를 잘 따르면서 52-language-selector.conf 파일을 추가시켜서 나름대로의 설정을 잘 적용시키고 있습니다.
redneval님의 alias 설정도 이미 65-nonlatin.conf 파일에 적용되어 있는 내용입니다. 다만 기본값은 백묵 바탕, 돋움으로 되어 있을 뿐이죠.
66-nonlatin2.conf 혹은 66-naverdic.conf 정도의 파일 수정이면 끝날일을 기존 설정을 깡그리 무시하고 바닥부터 시작해야 할 이유가 있을까요?
--
마잇
--
마잇
개인적 경험으로는
개인적 경험으로는 51-local.conf 나 52-language-selector.conf
50-user.conf 보다 나중에 적용되기 때문에 문제가 생길 수 있습니다.
특히 우분투 같은 경우 52-language-selector.conf 의 순서는
너무 잘못 정하지 않았나 싶더군요. 제가 설정한 것의 일부를 그냥 되돌려 버리더군요.
우분투를 사용할 때는 user.conf 를 53이나 54쯤으로 두고 썼었습니다.
--
perl -e's@@JEON Myoung-jin@;sub man{s| _|her e|}
sub see{s;^;Just;;u;s;e ;Perl ;;to;print$_,$/}$uperMan=M;
s=^....=U are not=;s~$uperMan~~;&admitIt;s=U are = A=;s|young|_|;&man;
sub admitIt{say;ye;s!-\w+! Hacker!};see U'
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
데비안하고
데비안하고 우뿡투하고 조금 다른 부분이 있죠.
가끔 한쪽에서 잘 되던 방법이 알 되기도 한답니다.
---------------------------------------------------------------------------------------------------------------------------------------------
댓글 달기