우분투에서 한글 맨페이지를 보자!

밑의 방법은 groff-utf8이 추가적으로 필요하다.
이것 없이 한글 맨페이지를 보는 방법은 http://blog.haz3.com/115 를 참고하길 바람
-----
우분투 기본 한글 로케일은 ko_KR.UTF8 이다. 그래서 한글 맨페이지(manpages-ko)를 볼때는 깨져서 제대로 볼 수 없다. 그래서 UTF8환경에서 한글 맨페이지를 보려면 어떻게 해야할까? 라고 우분투채널의 강분도님이 의문을 주셨다. ㅡ0ㅡ (이때부터 삽질의 시작이.. ㅠㅠ)
그래서 구글링은 한 결과 groff-utf8이라는게 있단다. 이게 뭐냐면 맨페이지 포맷터랄까? html의 각종 태그를 포맷팅해서 브라우져에서 이뿌게 보여주는 것 처럼 맨페이지도 일종의 문법을 가지고 있고, 이뿌게 보여주기 위해 포맷팅을 하는 것이다. 이때 utf8의 경우는 제대로 동작하지 못하는 것 같다. 그래서 groff-utf8이라는 것이 조금 도와준다랄까?
gorff-utf8페이지에 있는 것처럼 커맨드창에서 실행하면 잘 되지만, man 명령어로 보면 utf8이 아닌 ascii8로 인코딩을 하게 된다. 따라서 약간의 man(우분투 man-db 패키지) 소스의 수정이 필요하고 그 내용은 다음과 같다.

패치내용 보기


그리고 /etc/manpath.config 에 다음을 추가한다.
...
#DEFINE         nroff   /usr/bin/nroff -mandoc
DEFINE  nroff   /usr/bin/groff-utf8 -mandoc
#DEFINE         eqn     /usr/bin/eqn
...

이것으로 man-db에 대한 패치및 설정은 끝나고, groff-utf8을 설치 및 약간의 수정이 필요하다.
groff-utf8페이지에서 소스를 받아 설치한다.
$ wget http://www.haible.de/bruno/gnu/groff-utf8.tar.gz
$ tar xvfz groff-utf8.tar.gz
$ cd groff-utf8
$ make
$ make install PREFIX=/usr

/usr/bin에 설치하고 다른 곳에 설치하고 싶다면 PREFIX를 /usr/local 등으로 바꿔도 된다. 또한 manpath.config 내용도 수정이 필요하다.

이렇게 하면 한글 맨페이지를 제대로 보여주게 된다. 하지만 번역이 안된 영문페이지는 오류를 보여주게 되는데, 이럴 경우는 /usr/bin/groff-utf8을 다음과 같이 수정한다.
#case "$device" in
#  "") echo "$0: missing device" 1>&2; exit 1;;
#  utf8 | html) ;;
#  *) echo "$0: unsupported device '$device'" 1>&2; exit 1;;
#esac
#
#GROFF_COMMAND_PREFIX=u8_${device}_
#export GROFF_COMMAND_PREFIX
# We use -s (invocation of soelim), because it's easier to stuff the u8_prep
# pass into soelim than into troff, because the command-line option parsing of
# soelim is simpler.
case "$device" in
  utf8 | html) GROFF_COMMAND_PREFIX=u8_${device}_ groff -s "$@" | \
                                   u8_${device}_postp;;
  *) groff -s "$@";;
esac

위 과정을 적용하여 우분투 Gutgy 패키지를 만들어 두었다. 내용은 man-db에 패치를 적용하고 groff-utf8을 넣어두었다. Gutsy저장소를 사용하면 바로 업데이트 할 수 있다.
패키지: man-db_2.4.4-3+utf8_i386.deb
저장소 사용법: http://blog.haz3.com/107
이 방법은 그냥 편법을 써서 되도록만 하였고 실제 소스에 패치를 반영하기에는 무리가 있다. 제대로 동작하기 위해서는 groff-utf8이 기본적으로 제공되는 패키지가 아니기 때문에 groff의 수정도 필요할 것 같다.

참고: groff-utf8

Posted by 헤즈

2007/12/17 14:13 2007/12/17 14:13
Response
No Trackback , 6 Comments
RSS :
http://blog.haz3.com/rss/response/114

Trackback URL : http://blog.haz3.com/trackback/114

« Previous : 1 : ... 102 : 103 : 104 : 105 : 106 : 107 : 108 : 109 : 110 : ... 217 : Next »

블로그 이미지

행복... 하길.

- 헤즈

Notices

Archives

Authors

  1. 헤즈

Calendar

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Site Stats

Total hits:
118018
Today:
21
Yesterday:
52