2003년 4월 9일 수요일

한텀 한글폰트 사용하기(Hanterm, korean font), 한글화

한글화
http://kldp.org/~mindgame/unix/hangul/
http://kldp.org/~eunjea/redhat61.php3

~/.bash_profile 이나 /etc/profile
LANG=ko_KR.eucKR
LC_ALL=ko_KR.eucKR
export LANG LC_ALL

--------------------------------------------
linux 폰트 목록 확인하는 법, 한텀 한글폰트

cd /usr/share/fonts

각 subdirectory의 fonts.dir 파일을 vi로 열어본다.

xlsfonts 명령을 이용

ex) hanterm -hfn *gothic*
------------------------------------------
.Xdefaults 파일 내용
------------------------------------------
!
! 한텀의 리소스를 정의해주는 파일입니다.
! 각줄의 맨 앞자가 '!'이면 그 줄을 무시됩니다.
! 그 줄의 맨 끝자가 '\'이면 다음 줄은 현재 줄에 이어진것임을 의미합니다.
! 리눅스상에서는 이 파일은 /usr/X11R6/lib/X11/app-defaults/Hanterm
! (sunos4.x나 solaris를 쓰신다면 /usr/openwin/lib/X11/app-defaults/Hanterm)
! 이라는 이름으로 복사되어있어야하고 만약 개인적인 설정을
! 원하신다면 아래에서 적절한 부분을 개개인의 홈디렉토리밑에있는
! .Xdefaults파일이나 .Xresources 파일에 첨가하시면 됩니다.
! 만약 개인 리소스파일디렉토리를 따로 가지고 싶으시다면
! XUSERFILESEARCHPATH나 XAPPLESDIR을 자신의 리소스 파일들이 보관되어
! 디렉토리로 설정해주시면 hanterm등이 이를 참조하게 만들수있습니다.
! 자세한 사항을 X 매뉴월이나 참고서적을 참고하십시요.
! 기본적으로 이 한텀은 XFree에서 나온 xterm을 기반으로하였기때문에
! 그곳의 xterm에서 사용하는 거의 모든 리소스 설정을 지원합니다. 거기에
! 대한 추가 정보는 xterm의 매뉴월을 참조하십시요.
! 황 치덕(cdhwang@sr.hei.co.kr)
!
Hanterm*iconName: 한텀
Hanterm*title: 한텀
Hanterm*hangulKeyboard: 2
Hanterm*hangulFont: *-gulim*-medium-r-normal--16-*-*-*-*-*-ksc5601.1987-0
!Hanterm*hangulFont: -daewoo-mincho-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0
Hanterm*Font:-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1

!메뉴에서 한글을 보기위해서는 아래가 반드시 필요합니다.
!또한 hanterm실행시 LANG변수가 ko로 설정되어있어야합니다.
Hanterm*international: True

Hanterm*eightBitInput: False

!한텀에서 키맵을 정의해주는 부분입니다.
!다른 여러 callback들을 아시고싶으시면 source중의 charproc.c파일을
!들여다보시기바랍니다. 거기에 기본 키맵이 정의되어있읍니다.
!만약 기존 한텀의 키맵을 원하시면 아랫부분들의 코멘트를 없애주시면 됩니다.
!Hanterm*VT100.Translations: #override \n\
!       !Ctrl                   <Btn4Down>:     scroll-back(1,halfpage) \n\
!       !Lock Ctrl              <Btn4Down>:     scroll-back(1,halfpage) \n\
!       !Lock @Num_Lock Ctrl    <Btn4Down>:     scroll-back(1,halfpage) \n\
!       ! @Num_Lock Ctrl        <Btn4Down>:     scroll-back(1,halfpage) \n\
!                               <Btn4Down>:     scroll-back(5,line)     \n\
!       !Ctrl                   <Btn5Down>:     scroll-forw(1,halfpage) \n\
!       !Lock Ctrl              <Btn5Down>:     scroll-forw(1,halfpage) \n\
!       !Lock @Num_Lock Ctrl    <Btn5Down>:     scroll-forw(1,halfpage) \n\
!       ! @Num_Lock Ctrl        <Btn5Down>:     scroll-forw(1,halfpage) \n\
!                               <Btn5Down>:     scroll-forw(5,line)     \n\
!       <KeyPress> F3:                          toggle-chat()           \n\
!       <KeyPress> F9:                          hanja-input()           \n\
!       <KeyPress> F7:                          code-input()            \n\
!       <KeyPress> F2:                          change-code()           \n\
!       ~Meta <KeyPress> BackSpace:             string(0x7F)            \n\
!       ~Shift <KeyPress> Delete:               string(0x04)            \n\
!       c  <KeyPress> Tab:                      string(0x1b) string("[\t")      \n\
!       Meta <KeyPress> BackSpace:              string(0x1b) string(0x7F)       \n\

Hanterm*VT100.Translations: #override \
        ~Ctrl ~Shift Meta <KeyPress> c:         toggle-chat()   \n\
        Ctrl ~Shift ~Meta <KeyPress> F3:        toggle-chat()   \n\
        Ctrl ~Shift ~Meta <KeyPress> F9:        hanja-input()   \n\
        Ctrl ~Shift ~Meta <KeyPress> space:     hanja-input()   \n\
        Ctrl ~Shift ~Meta <KeyPress> F10:       code-input()    \n\
        Ctrl ~Shift ~Meta <KeyPress> F11:       change-code()   \n\
        ~Ctrl Shift ~Meta <KeyPress> space:     toggle-hangul() \n\
        <KeyPress> Hangul:                      toggle-hangul() \n\
        <KeyPress> Hangul_Hanja:                hanja-input()   \n\

!This can be useful if you have an IntelliMouse. It maps the button
!event generated by the wheel
Hanterm*VT100*translations: #override \n\
        !Ctrl                   <Btn4Down>:     scroll-back(1,halfpage) \n\
        !Lock Ctrl              <Btn4Down>:     scroll-back(1,halfpage) \n\
        !Lock @Num_Lock Ctrl    <Btn4Down>:     scroll-back(1,halfpage) \n\
        ! @Num_Lock Ctrl        <Btn4Down>:     scroll-back(1,halfpage) \n\
                                <Btn4Down>:     scroll-back(5,line)     \n\
        !Ctrl                   <Btn5Down>:     scroll-forw(1,halfpage) \n\
        !Lock Ctrl              <Btn5Down>:     scroll-forw(1,halfpage) \n\
        !Lock @Num_Lock Ctrl    <Btn5Down>:     scroll-forw(1,halfpage) \n\
        ! @Num_Lock Ctrl        <Btn5Down>:     scroll-forw(1,halfpage) \n\
                                <Btn5Down>:     scroll-forw(5,line)

!이정균님에 의한 scroll patch를 한텀시작시 작동시킬지를 결정해줍니다.
!실행도중변경은 ctrl + mouse2에서 뜨는 메뉴에서 하십시요.
!설정되어있은 경우 기본값은 거짓입니다.
Hanterm*nowChatScroll: True

! Status
!Hanterm*statusHangulLabel: [한글]
!Hanterm*statusEnglishLabel: [영어]
!Hanterm*statusWansungLabel: [완성]
!Hanterm*statusJohabLabel: [조합]
!Hanterm*statusSebyolLabel: [세벌식]
!Hanterm*statusDubyolLabel: [두벌식]

!맨 아랫줄에서 세벌식,두벌식표시를 없핼려면 아래줄에서 '!'을 없앱니다.
!명령행에서는 -nsk을 입력하시면 이 효과를 었을수있습니다.
!Hanterm*noStatusKbd: true
!맨 아랫줄에서 완성형,조합형표시를 없앨려면 아래줄에서 '!'을 없앱니다.
!명령행에서는 -nsc을 입력하시면 이 효과를 었을수있습니다.
!Hanterm*noStatusCode: true

!한글모드에서 esc 키가 들어왔을때 영문모드로 자동전환할건지를 정해줍니다.
!기본값은 true
Hanterm*escHangulToggle: true

!한영폰트의 descent가 서로 다를때 이를 그대로 출력할건지 아니면
!한글폰트를 이동시켜서 서로 맨 아랫줄에 맞출건지를 정해줍니다.
!가령 -schumacher-clean-bold-r-normal--16-160-75-75-c-80-iso8859-1의 경우
! ascent가 12가 descent가 4가 됩니다. 보통 16픽셀의 한글 폰트는 ascent가
! 14, descent가 2가 됩니다. baseline을 맞출 경우 전체 폰트의 높이는
! 14 + 4가 되어 18픽셀이 되어 너비보다 두 픽셀이 커지고
! 맨 아랫줄을 마출 경우 높이는 16이 됩니다.
!아랫줄의 주석을 제거하면 font에서 제공하는 정보를 가지고 그대로
!출력하게됩니다.
!기본값은 false
!Hanterm*keepBaseLine: true

!줄사이의 간격을 정의해줍니다.
!명령행에서는 -lsp옵션 뒤에 숫자를 정의해줄 수 있습니다.
!기본값은 0
!Hanterm*lineSpace: 2

!메뉴에 쓰일 글꼴을 선택합니다.
Hanterm*SimpleMenu*fontSet: -adobe-helvetica-bold-r-*-12-120-*-iso8859-1,-*-kodig-bold-r-*-12-120-*-ksc5601.1987-0,-*-*-medium-r-normal--12-*,*

Hanterm*SimpleMenu*BackingStore: NotUseful
Hanterm*SimpleMenu*menuLabel.vertSpace:         100
Hanterm*SimpleMenu*HorizontalMargins: 16
Hanterm*SimpleMenu*Sme.height:  16

Hanterm*SimpleMenu*Cursor: left_ptr
Hanterm*mainMenu.Label:  선택사항
Hanterm*mainMenu*securekbd*Label:  키보드 보호
Hanterm*mainMenu*allowsends*Label:  SendEvent 허용하기
Hanterm*mainMenu*logging*Label:  로그 파일만들기
Hanterm*mainMenu*redraw*Label:  화면 다시 그리기
Hanterm*mainMenu*suspend*Label:  STOP 시그널 보내기
Hanterm*mainMenu*continue*Label:  CONT 시그널 보내기
Hanterm*mainMenu*interrupt*Label:  INT 시그널 보내기
Hanterm*mainMenu*hangup*Label:  HUP 시그널 보내기
Hanterm*mainMenu*terminate*Label:  TERM 시그널 보내기
Hanterm*mainMenu*kill*Label:  KILL 시그널 보내기
Hanterm*mainMenu*quit*Label:  종료
Hanterm*mainMenu*eightBit*Label: 8-Bit Controls

Hanterm*vtMenu.Label:  VT 선택사항
Hanterm*vtMenu*scrollbar*Label:  화면이동창
Hanterm*vtMenu*jumpscroll*Label:  Jump Scroll 사용
Hanterm*vtMenu*nowchat*Label: 나우 채팅모드
Hanterm*vtMenu*reversevideo*Label:  화면 반전
Hanterm*vtMenu*autowrap*Label:  Enable Auto Wraparound
Hanterm*vtMenu*reversewrap*Label:  Enable Reverse Wraparound
Hanterm*vtMenu*autolinefeed*Label:  자동 Linefeed
Hanterm*vtMenu*appcursor*Label:  Enable Application Cursor Keys
Hanterm*vtMenu*appkeypad*Label:  Enable Application Keypad
Hanterm*vtMenu*scrollkey*Label:  Scroll to Bottom on Key Press
Hanterm*vtMenu*scrollttyoutput*Label:  Scroll to Bottom on Tty Output
Hanterm*vtMenu*allow132*Label:  80/132 컬럼 전환허용
Hanterm*vtMenu*cursesemul*Label:  Curses 효과내기
Hanterm*vtMenu*visualbell*Label:  시각 경고음 사용
Hanterm*vtMenu*marginbell*Label:  마진 경고음 사용
Hanterm*vtMenu*altscreen*Label:  Show Alternate Screen
Hanterm*vtMenu*activeicon*Label: Enable Active Icon
Hanterm*vtMenu*softreset*Label:  Do Soft Reset
Hanterm*vtMenu*hardreset*Label:  Do Full Reset
Hanterm*vtMenu*clearsavedlines*Label:  Reset and Clear Saved Lines
Hanterm*vtMenu*tekshow*Label:  Tek 윈도우 보기
Hanterm*vtMenu*tekmode*Label:  Tek 모드로 전환
Hanterm*vtMenu*vthide*Label:  VT 윈도우 숨김

/* 글꼴 선택 메뉴에서 쓰일 글꼴을 정의합니다. */
Hanterm*fontMenu.Label:  글꼴 선택
Hanterm*fontMenu*fontdefault*Label:     기본 글꼴
Hanterm*fontMenu*font1*Label:   아주 작은 글꼴
Hanterm*fontList1: *-clean-medium-r-normal--10-100-*-c-50-iso8859-1,-*-kodig-medium-r-*-10-*
Hanterm*fontMenu*font2*Label:   작은 글꼴
Hanterm*fontList2: *-clean-medium-r-normal--12-120-*-c-60-iso8859-1,-*-kodig-medium-r-*-12-*
Hanterm*fontMenu*font3*Label:   적당한 크기의 글꼴
Hanterm*fontList3: *-fixed-medium-r-normal--14-*-c-70-iso8859-1,-*-kodig-medium-r-*-14-*
Hanterm*fontMenu*font4*Label:   큰 글꼴
Hanterm*fontList4: *-clean-medium-r-normal--16-160-*-c-80-iso8859-1,-*-kodig-medium-r-*-16-*
Hanterm*fontMenu*font5*Label:   아주 큰 글꼴
Hanterm*fontList5: *-fixed-medium-r-normal--20-200-*-c-100-iso8859-1,-*-kodig-medium-r-*-20-*
Hanterm*fontMenu*font6*Label:   너무나 작은 글꼴
Hanterm*fontList6: nil2,nil2
Hanterm*IconFont:               nil2
Hanterm*fontMenu*fontescape*Label:      Escape Sequence
Hanterm*fontMenu*fontsel*Label: 마우스로 선택된 글꼴


! Enable Colour by default.

Hanterm*VT100*colorMode: on
Hanterm*VT100*dynamicColors: on

! Uncomment this use color for underline attribute
Hanterm*VT100*colorULMode: on
!*VT100*underLine: on

! Uncomment this to use color for the bold attribute
Hanterm*VT100*colorBDMode: on
! 굵은선문자가 주어지지않았을때 글씨를 겹쳐써서 굵은 문자를 나타낼건지를
! 정해줍니다.
! 명령행에서 -nbn옵션을 주면 아래를 off시킨 것과 같은 효과가 나타납니다.
Hanterm*VT100*enBolden: on

!색상을 정의해주는 부분입니다.
!색상을 이름으로 정해줄 수도 있고 각 성분값을 정의해줄수도 있습니다.
!red4와 같은 색의 종류를 알고 싶으시면 showrgb라는 명령을 치면
!색깔의 종류와 이에 해당하는 색상값이 나옵니다.
! #d0d0d0와같은 것은 맨 앞이 빨강색 성분의 크기 그 다음이
! 파란색 성분, 마지막 두자가 녹색성분의 크기입니다.
! 00에서 ff까지 각 성분에 대해 지정해주실수있습니다.
!Hanterm*VT100*color0: black
!Hanterm*VT100*color1: red4
!Hanterm*VT100*color2: green4
!Hanterm*VT100*color3: yellow4
!Hanterm*VT100*color4: blue4
!Hanterm*VT100*color5: magenta4
!Hanterm*VT100*color6: cyan4
!Hanterm*VT100*color7: #d0d0d0
!Hanterm*VT100*color8: gray30
!Hanterm*VT100*color9: #b00000
!Hanterm*VT100*color10: green4
!Hanterm*VT100*color11: yellow4
!Hanterm*VT100*color12: blue4
!Hanterm*VT100*color13: magenta4
!Hanterm*VT100*color14: cyan4
!Hanterm*VT100*color15: #d0d0d0

!다음은 artist@soback.kornet.nm.kr님꼐서 보내주신 VGA기본값입니다.
!이 팔레트를 택하실려면 위 색상값들을 지우시고
!아래에서 코멘트를 없애십시요.
!Hanterm*VT100*color0:  #000000
!Hanterm*VT100*color1:  #B21818
!Hanterm*VT100*color2:  #18B218
!Hanterm*VT100*color3:  #B25418
!Hanterm*VT100*color4:  #1818B2
!Hanterm*VT100*color5:  #B218B2
!Hanterm*VT100*color6:  #18B2B2
!Hanterm*VT100*color7:  #B2B2B2
!Hanterm*VT100*color8:  #686868
!Hanterm*VT100*color9:  #FF5454
!Hanterm*VT100*color10: #54FF54
!Hanterm*VT100*color11: #FFFF54
!Hanterm*VT100*color12: #5454FF
!Hanterm*VT100*color13: #FF54FF
!Hanterm*VT100*color14: #54FFFF
!Hanterm*VT100*color15: #FFFFFF

!다음은 jjack@dreamwiz.com님의 VGA 기본값입니다.
Hanterm*VT100*color0: #000000
Hanterm*VT100*color1: #993333
Hanterm*VT100*color2: #339933
Hanterm*VT100*color3: #999933
Hanterm*VT100*color4: #333399
Hanterm*VT100*color5: #993399
Hanterm*VT100*color6: #339999
Hanterm*VT100*color7: #CCCCCC
Hanterm*VT100*color8: #666666
Hanterm*VT100*color9: #FF9999
Hanterm*VT100*color10: #99FF99
Hanterm*VT100*color11: #FFFF99
Hanterm*VT100*color12: #9999FF
Hanterm*VT100*color13: #FF99FF
Hanterm*VT100*color14: #99FFFF
Hanterm*VT100*color15: #FFFFFF

!굵은 문자를 어떤 색으로 표시할지를 정해줍니다.
Hanterm*VT100*colorBD: #FFFFFF
!밑줄 문자를 어떤 색으로 표시할지를 정해줍니다.
Hanterm*VT100*colorUL: #FFFF99

Hanterm*background: #000000
Hanterm*foreground: #FFFFFF

!커서의 색을 정해줍니다.
Hanterm*vt100.cursorColor:  #FFFF99

!메뉴의 색을 정해줍니다.
Hanterm*SimpleMenu*background:  #CCCCCC
Hanterm*SimpleMenu*foreground:  #000000

! scrollbar setting

!스크롤바를 시작할때 만들것인지를 결정합니다.
Hanterm*ScrollBar: on
!스크롤바를 어느쪽이 놓을건지를 결정합니다.
!on: 오른쪽, off: 왼쪽
Hanterm*rightScrollBar: on

! Xaw3d를 쓰는 경우 스크롤바나 메뉴의 색과 모양을 정해줍니다.
Hanterm*Scrollbar*width: 12
Hanterm*Scrollbar*background: #a0a0c0
Hanterm*shadowWidth: 2
Hanterm*highlightThickness: 0
Hanterm*topShadowContrast: 20
Hanterm*bottomShadowContrash: 55

! misc setting
Hanterm*visualBell:  false
Hanterm*loginShell:  true

Hanterm*saveLines:  2002
Hanterm*scrollTtyOutput:  off
Hanterm*scrollKey:  on
Hanterm*TermName:  xterm-color
--------------------------------------------------

다음 rpm 파일들을 설치한다.
$ rpm -qa|grep font
urw-fonts-2.0-29
XFree86-base-fonts-4.3.0-2
fontconfig-devel-2.1-9
XFree86-ISO8859-15-75dpi-fonts-4.3.0-2
fontconfig-2.1-9
ghostscript-fonts-5.50-9
XFree86-font-utils-4.3.0-2
chkfontpath-1.9.7-1
XFree86-truetype-fonts-4.3.0-2
XFree86-75dpi-fonts-4.3.0-2
XFree86-ISO8859-15-100dpi-fonts-4.3.0-2
ttfonts-ko-1.0.11-26
bitmap-fonts-0.3-2
XFree86-100dpi-fonts-4.3.0-2

댓글 없음:

댓글 쓰기