dwm, dzen, dmenu 한글 폰트 설정하기

vamf12의 이미지

강좌라고 하기에는 상당히 뻘쭘하지만... -_-

xlib에서는 이미 다양한 로케일에 대한 폰트를 지원할 수 있도록 되었있습니다.

XFontSet XCreateFontSet(Display *display, 
<span>char *base_font_name_list</span>, char ***missing_charset_list_return, int *missing_charset_count_return, char **def_string_return); 
void XFreeFontSet(Display *display, XFontSet font_set);

굵게 표신된 부분을 보시면 딱감이 오실 겁니다. 폰트 셋을 설정하는 곳에서 폰트이름을 리스트로 받아 들입니다. 리스트의 구분은 쉼표(,)를 이용해서 하며 빈칸은 무시됩니다. 리스트에서 폰트 쌍을 적절하게 맞춰 주면 리스트에서 적절한 폰트를 알아서 사용하도록 되어 있습니다. 헌데, xlib가 수동적으로 동작 하기 때문에, 폰트 리스트를 로케일 별로 따로 셋팅해줘야 합니다.

우리는 한글을 출력 하고 싶으니, 영어(ascii)폰트와 한글 폰트를 모두 직접 지정해줘야 합니다. (전처음에 영어는 알아서 하겠거니 했는데... 문서를 읽어 봤더니...-_-)

dwm/config.h
#define FONT "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-iso8859-*,\
              -baekmuk-gulim-medium-r-normal-*-11-*-*-*-*-*-ksc5601.1987-*"

iso용과 ks용 폰트를 모두 지정해줘야 합니다.
만약 iso를 생략하고, ks용만 지정하면 iso는 지정되지 않았다고 판단하고, ks용으로 모든 문자를 출력합니다. -_-
#define FONT "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*,\
              -baekmuk-gulim-medium-r-normal-*-11-*-*-*-*-*-ksc5601.1987-*"

만약 이렇게 하시면 iso용이 지정되지 않았기 때문에, 영어가 한글 폰트를 이용해서 출력되는 어이없는 상황을 보시게 될겁니다. ㅎㅎ

이렇게 xft였나.. 였나? 기존에 폰트방식을 이용하는 모든 프로그램에 공통적으로 적용 됩니다.
dmenu와 dzen은 아래처럼 하시면 됩니다.

$dmenu -fn "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-iso8859-*,-baekmuk-gulim-medium-r-normal-*-11-*-*-*-*-*-ksc5601.1987-"
$dzen -fn "-misc-fixed-medium-r-normal-*-13-*-*-*-*-*-iso8859-*,-baekmuk-gulim-medium-r-normal-*-11-*-*-*-*-*-ksc5601.1987-" 

추가적으로 저런식의 폰트 이름을 찾는 것은 xfontsel 프로그램을 이용하면 됩니다. ubuntu/debian은 x11-utils에 포함되어 있습니다.

Forums: 

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.