우분투 emacs에서 한글 글꼴 설정 성공하신분 있나요?

bootmeta의 이미지

emacs 설치후 며칠째 한글 글꼴 설정하는 부분에서 헤매고 있습니다.

emacs 21 버전에서는 ucs-mule 패키지가 좀 느린 것 같아서 emacs-snapsho 패키지(version22)를 설치후 기본 한글 입출력에는 문제가 없고 영문 글꼴의 변경 역시 무리 없이 됩니다.

문제는 한글 글꼴의 변경을 하려고 해도 변경되지 않고 default ksc5601 글꼴인 daewoo 명조와 고딕으로만 계속 보여집니다.

xfontsel을 통해 확인을 해보면 네이버 사전체나 다른 한글 truetype글꼴들은 ksc5601대신 유니코드iso10646으로만 표시됩니다.

인터넷에 돌아다니는 많은 문서들은 한글 글꼴이 xfontsel에서 ksc5601로 보여진다는 가정하에서 써있는 것들이 대다수라 제가 겪고 있는 문제에는 도움이 안되는군요.

하도 답답해서 emacs + xft조합으로 free type폰트를 직접지원하게 컴파일도 해봤습니다
그 조합은 그놈 글꼴의 antialis나 힌팅정보가 적용이 안되서 흐릿한 화면이 나오는 결정적인 단점이 있어 포기했습니다.

우분투와 같이 utf8환경에서 저와 같은 문제를 해결하신 분이 있는지 궁금합니다.

----------------------------
~/.emacs설정
----------------------------
(set-language-environment "Korean")
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(setq coding-system-for-read 'utf-8)
(setq-default file-name-coding-system 'utf-8)

----------------------------
~/.Xresources설정
----------------------------

Emacs.Fontset-0:-*-lucida console-*-*-*-*-*-*-*-*-*-*-fontset-lucida17,\
ascii:-*-lucida console-*-*-*-*-*-*-*-*-*-*-iso8859*-*, \
korean-ksc5601:-microsoft-naver dictionary-*-*-*-*-*-*-*-*-*-*-iso10646*-*

Emacs.Font: fontset-lucida17

bootmeta의 이미지

그냥 속편하게 bitmap 폰트 쓰기로 했습니다.

윈도우의 굴림체 폰트를 글꼴 변환기를 이용해서 ksc5607chartset의 bdf화일로 만든 후 다시 우분투에서 pcf화일로 바꾼후 x에 등록해서 하니 기본적인 해결은 됩니다.

emacs가 덩치가 크고 gnu쪽에서 개발하다 보니 아무래도 utf8처리나 true-type지원이 기대에 못미치는 것 같습니다.

상대적으로 vim 쪽은 발빠르게 대응하는 것을 보면 좀 아쉬운 감이 있군요.

fontutil님이 올려두신 글꼴변환기 덕을 톡톡히 봤습니다. 8-)

only2sea의 이미지

저 역시 젠투에서 이것 때문에 고생하고 있었습니다. fontconfig 매뉴얼을 한번 쭉 읽으면 될 것 같지만, 시간이 나지 않아서 계속 못하고 있었습니다. 폰트 설정이 깔끔하게 안 되어서 좀 안타깝습니다. 저도 bootmeta님처럼 여러 이맥스 관련 문서를 찾아보았지만, 제 시스템에 폰트 설정이 제대로 안 되어 있는 것 같아서 어떻게 해 볼수가 없더군요.

혹시 폰트 설정을 하는 것과 관련해서 잘 알고 계신 분이나 참고할 수 있는 쉬운 문서 알고 계신분 계신가요? 몇 가지 문서를 찾기는 했습니다만, 시간이 없어서 아직 못 읽고 있습니다.

이제는 서명에 무엇을 써야하는지 생각해보자.

utpark의 이미지

젠투는 최근 cvs를 사용하세요. 아래의 내용을 참고하십시요.

http://kldp.org/node/76157

only2sea의 이미지

오오... 일단 동작 안 하던 이맥스가 링크해주신 문서에서 링크된 문서대로 --enable-font-backend 옵션을 붙이니 동작하는군요. 이제 조금만 설정을 손 보면 되겠습니다. 감사합니다.

이제는 서명에 무엇을 써야하는지 생각해보자.

only2sea의 이미지

게다가 실행시에 --enable-font-backend 옵션은 현재 emacs.c 소스 코드를 고치지 않는한 기본옵션으로 설정할 수 없다고 되어 있네요.

다른 분들이 써 놓으신 것에는 --enable-font-backend 옵션 없이 하시던데 그건 옛날 브랜치라서 그런 건가요?

어쨌든 잘 되니까 기쁩니다.

이제는 서명에 무엇을 써야하는지 생각해보자.

utpark의 이미지

저도 귀찮아서 alias를 만들어 주었습니다.

bootmeta의 이미지

일단 emacs 21,22버전대는 아직 직접적인 true type이 지원이 안되는 것 같습니다.
특히 21버전은 utf8지원에 문제가 많아서 mule-ucs패키지를 같이 설치하지 않으면 한글 입력과 출력에도 문제가 있습니다.
emacs 22버전은 utf8지원이 강화되어 기본적인 한글 입출력에는 문제가 없습니다.
단 글꼴 지원이 x에서 지원하는 ksc5697 글꼴만 인식해서 우분투같이 utf8로 전환된 환경의 글꼴을 제대로 인식하지 못합니다. (우분투는 true type 글꼴에 대한 코드셋이 ksc5601을 지원하지 않는 것으로 보입니다. 대신 utf8환경의 코드셋 iso10646만 지원됩니다. 실제로 제가 윈도우 true type을 가져와 mkfontalias와 mkfontdir을 수행해서 만든 fonts.alias 파일과 fonts.dir파일을 들여다 보니 iso8859, iso10646 코드셋만 존재하더군요.
emacs 23버전인 cvs-snapshot버전을 xft지원하게 컴파일해서 쓰신다면 복잡한 emacs의 fontset 기술과 달리 쉽게 true type을 쓸 수는 있습니다만 안정성에 문제가 있습니다.(22버전 역시 안정성에 약간 문제가 있어보입니다.)
만일 gentoo에서 x의 truetype 글꼴들이 euc-kr(ksc5601)지원된다면 상관없으나, iso10646만 지원된다면 저처럼 pcf글꼴을 등록해서 사용하실 수 밖에 없을 것 같습니다.
기본적인 emacs에서 ks5601글꼴 설정은 kldp wiki내의 emacs로 검색하시면 될 것 같습니다.
그리고 그외 설정이나 설명은 emacs를 잘 아시는 csink님의 문서들을 kldp내에서 검색하시면 많은 도움이 되실 것 같습니다.

emacs + xft
http://kldp.org/node/71896
http://ideathinking.com/blog/?p=101

truetype->bdf글꼴 변환
http://kldp.org/node/74986

(변환시 나오는 -windows-굴림-*-*-*-*-*-*-*-*-*-*-ksc5601-* 같은 출력은 따로 문서로 저장해 놓으시기 바랍니다.)

bdf(pcf)글꼴 등록법(root권한으로 작업)
http://www.superuser.co.kr/linux/redhat7_2/page09.htm
(/etc/X11/xorg.conf에 글꼴 path를 꼭 추가하셔야 합니다.)
등록이 끝난 후 글꼴 위치의 mkfontdir의 결과로 나오는 fonts.dir을 vi등으로 여시면 아마 굴림과 같은 한글 부분이 깨져 있을 것입니다.
이부분은 직접 저장해 놓은 출력물의 내용을 참조해 수정하시면 됩니다.
아래처럼 ~/.Xresources에 등록(debian계열이 아닌 다른 쪽은 .Xdefault같은 파일에 기술할 수 도 있음)

Emacs.Fontset-0:-*-lucida console-medium-r-*-*-15-*-*-*-*-*-fontset-lucida17,\
ascii:-*-lucida console-medium-r-*-*-15-*-*-*-*-*-iso8859-*, \
korean-ksc5601:--Windows-굴림-medium-r-normal--15-130-96-96-p-170-ksc5601.1987-1

fc-cache후에 다시 x를 restart하시면 됩니다.

only2sea의 이미지

너무나도 상세한 답변 감사드립니다. 이맥스는 22.0.92까지 사용해 봤습니다. 분명이 21버전대보다는 뭔가가 되는 듯 했습니다. 영문 글꼴은 잘 되었습니다. 그런데 한글 글꼴이 못난 글꼴로 나오더라구요. 저는 은글꼴이나 은진류의 true type글꼴들을 쓰고 싶었거든요. 젠투에서 23버전도 하드마스킹 되어 있긴 하지만 portage에서 제공하기는 합니다. 물론 직접 깔아도 되겠지만 패키지 관리자가 관리해주는 목록에 있으니 더 좋지요.

cinsk님의 글 등을 찾아보긴 했었지만 뭔가 해결을 못하고 있었습니다. 비트맵 폰트로 바꾸는 방법은 생각 못해 봤었는데, 한글 ttf 적용하는 것을 실패하면 한번 해 보겠습니다.

덕분에 다시 이맥스 도전해보렵니다. ^^

이제는 서명에 무엇을 써야하는지 생각해보자.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.