Xdialog는 UTF-8을 출력하지 못합니까?

GunSmoke의 이미지

안녕하세요. GunSmoke입니다.
크노픽스 메뉴(펭귄 아이콘)의 프로그램에서 메시지를 한글화해보고 있습니다만 잘 안되는군요.

Xdialog를 사용해서 출력되는 메시지를 한글로 바꾸고 싶은데요. Xdialog 명령으로 출력되는 메시지가 저장되어 있는 파일은 UTF-8 형식이며 knoppix도 UTF-8환경에서 동작중입니다. 그런데 단순히 메시지만 한글로 바꿔서 그런지 첨부된 파일처럼 한글 부분이 깨져서 나오는 것을 확인할 수 있습니다.

터미널을 하나 열고 다음과 같이 무식하게 Xdialog 명령을 내려보니 이번에는 두번째 첨부파일처럼 한글이 깨져서 나타납니다.

Quote:

root@knoppix[/]# Xdialog --msgbox "신재훈" 15 45

Xdialog에서 UTF-8 인코딩은 사용할 수 없나요? 어떻게 해결할 수 있는 방안 없습니까?
File attachments: 
첨부파일 크기
Image icon ss2.png6.15 KB
Image icon ss1.png6 KB
Image icon Xdialog_font.png2.54 KB
Image icon xmms_font.png36.06 KB
Image icon aaa.png6.44 KB
Image icon ss1.png5.3 KB
Image icon xdialog-gtk1.png5.37 KB
Image icon ss1.png5.13 KB
Image icon sss1.png4.71 KB
Image icon ssss1.png7.27 KB
익명 사용자의 이미지

sudo apt-get install zenity
zenity --info --info-text "가나다"

익명 사용자의 이미지

zenity 설치후 gdialog --msgbox "가나다"도 되긴 되네요..

GunSmoke의 이미지

굳이 gdialog 등을 설치하지 않고서 knoppix의 기본 데스크탑인 KDE 내에서 문제를 해결하고 싶습니다. Xdialog 내에서는 UTF-8을 제대로 출력할 수 없는 것입니까?

아, 어제 밤에 동일한 UTF-8환경의 ubuntu리눅스에서도 똑같이 Xdialog를 설치해서 확인해보니 같은 문제가 발생하는 것을 확인할 수 있었습니다. zenity를 설치하면 gdialog뿐만 아니라 Xdialog에서도 문제가 해결되는 것일까요?

大逆戰

atie의 이미지

우분투에서 Xsession의 실행을 비교해 보면 이렇습니다.

diff /etc/X11/Xsession /etc/gdm/Xsession | grep zenity

>     if [ -n "$zenity" ]; then
>       "$zenity" --info --text "`gettextfunc "$MESSAGE"`"
>     if [ -n "$zenity" ]; then
>       "$zenity" --info --text "`gettextfunc "$MESSAGE"`"
> # Note that this should only go to zenity dialogs which always expect utf8
> zenity=`which zenity 2>/dev/null`
>   if [ -n "$zenity" ] ; then
>     "$zenity" --info --text "`gettextfunc "This is the failsafe xterm session.  Windows now have focus only if you have your cursor above them.  To get out of this mode type 'exit' in the window in the upper left corner"`"
> if [ -n "$zenity" ] ; then
>       "$zenity" --info --text "`gettextfunc "I could not start your session and so I have started the failsafe xterm session.  Windows now have focus only if you have your cursor above them.  To get out of this mode type 'exit' in the window in the upper left corner"`"

diff /etc/X11/Xsession /etc/kde3/kdm/Xsession | grep zenity
하면 아무 결과가 없고요. 따라서 kdm에서 Xsession을 실행할 때는 zenity를 쓰지 않는다는 말이 되는군요. 그래서 위의 문제가 있는게 아닌가 싶습니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

익명 사용자의 이미지

cat /usr/bin/gdialog를 해보시면 GTK2로 된 zenity를 호출하는 perl스크립트임을 아실 수 있습니다.

ldd `which Xdialog`를 해본 결과 Xdialog는 GTK1을 쓰는 것 같았습니다. GTK1이라고 해서 UTF-8을 못 다룰 이유는 없을 것 같지만, Xdialog의 소스를 보고 원인을 파악할 내공은 안되는지라 아쉽지만 더는 도움을 못 드릴 것 같습니다.

GunSmoke의 이미지

그렇다면 KDE에서 Xdialog로 출력하는 모든 메시지 창을 gdialog로 출력하게하고 시스템에 zenity를 설치해야 하는 것일까요?
Xdialog를 이용해서 쉽게 출력할 수 있는 방법은 없나보군요. 혹시 gnome 환경의 gdialog처럼 KDE에서 기본적으로 사용되는 dialog는 없나요?

大逆戰

익명 사용자의 이미지

kdebase-bin에 kdialog가 있는 모양입니다만 아직 실행못해봤습니다.

익명 사용자의 이미지

제 경우에는 Xdialog에서도 한글이 제대로 표현됩니다.
글꼴 설정에 문제가 있는 거 같습니다.

아마도
제대로 한을 포함하고 있는 -*- ... -iso10646-1 인 글꼴이 있어야 할 듯합니다.[/code]

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
익명 사용자의 이미지

제대로 한을 -> 제대로 한글을

익명 사용자의 이미지

혹시나 하고 ldd /usr/bin/Xdialog 해 보니 역시 Xdialog는 gtk1 프로그램입니다.

따라서 이 문제는 "xmms에서 한글이 제대로 안 깨어져요"와 동일한 문제로 보입니다. 해결 방법도 동일하겠지요.

익명 사용자의 이미지

xmms에서 한글이 제대로 안 깨어져요 ==> xmms에서 한글이 깨져서 보여요.

-_-;;;

cronex의 이미지

Anonymous wrote:
xmms에서 한글이 제대로 안 깨어져요 ==> xmms에서 한글이 깨져서 보여요.

-_-;;;

그냥 로그인을 하심이 어떠실지???

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

GunSmoke의 이미지

Anonymous wrote:
혹시나 하고 ldd /usr/bin/Xdialog 해 보니 역시 Xdialog는 gtk1 프로그램입니다.

따라서 이 문제는 "xmms에서 한글이 제대로 안 깨어져요"와 동일한 문제로 보입니다. 해결 방법도 동일하겠지요.

헉... xmms에서 한글을 제대로 표현하지 못해서 bmp로 대체했는데;;;; 그렇다면 결국은 은돋움 문제인가요... kdialog를 사용할 수 있는 방안에 대해 연구해봐야겠네요

大逆戰

GunSmoke의 이미지

Anonymous wrote:
제 경우에는 Xdialog에서도 한글이 제대로 표현됩니다.
글꼴 설정에 문제가 있는 거 같습니다.

아마도
제대로 한을 포함하고 있는 -*- ... -iso10646-1 인 글꼴이 있어야 할 듯합니다.[/code]

아... 그리고 손님!
예제에서 보여주신 제대로 한글을 포함하고 있는 -*- ... -iso10646-1 인 글꼴은 어떤 글꼴입니까??

大逆戰

익명 사용자의 이미지

2005년10월31일 1:29의 손님입니다. 이런 것도 될까요?

http://chem.skku.ac.kr/~wkpark/baekmuk/iso10646/

GunSmoke의 이미지

2005년10월31일 1:29의 손님, 말씀해주신 백묵글꼴은 knoppix에서도 사용되고 있습니다. 시스템의 글꼴을 바꿔서 테스트해보도록 하겠습니다. 감사합니다.

大逆戰

익명 사용자의 이미지

제 경우 Gulim.ttc를 xorg의 freetype 모튤을 써서 사용하고 있습니다.

xorg.conf에서

Section "Module"
        Load    "freetype"     # "xtt"가 아님니다.
        ...
EndSection

fonts.dir 의 내용

fn=0:ds=n:ai=0.0:Gulim.ttc -microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso10646-1
fn=0:ds=n:ai=0.0:Gulim.ttc -microsoft-gulim-medium-r-normal--0-0-0-0-p-0-iso8859-1
fn=0:ds=n:ai=0.0:Gulim.ttc -microsoft-gulim-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0
fn=0:ds=n:ai=0.3:Gulim.ttc -microsoft-gulim-medium-i-normal--0-0-0-0-p-0-iso10646-1
fn=0:ds=n:ai=0.3:Gulim.ttc -microsoft-gulim-medium-i-normal--0-0-0-0-p-0-iso8859-1
fn=0:ds=n:ai=0.3:Gulim.ttc -microsoft-gulim-medium-i-normal--0-0-0-0-p-0-ksc5601.1987-0
fn=0:ds=y:ai=0.0:Gulim.ttc -microsoft-gulim-bold-r-normal--0-0-0-0-p-0-iso10646-1
fn=0:ds=y:ai=0.0:Gulim.ttc -microsoft-gulim-bold-r-normal--0-0-0-0-p-0-iso8859-1
fn=0:ds=y:ai=0.0:Gulim.ttc -microsoft-gulim-bold-r-normal--0-0-0-0-p-0-ksc5601.1987-0
fn=0:ds=y:ai=0.3:Gulim.ttc -microsoft-gulim-bold-i-normal--0-0-0-0-p-0-iso10646-1
fn=0:ds=y:ai=0.3:Gulim.ttc -microsoft-gulim-bold-i-normal--0-0-0-0-p-0-iso8859-1
fn=0:ds=y:ai=0.3:Gulim.ttc -microsoft-gulim-bold-i-normal--0-0-0-0-p-0-ksc5601.1987-0

~/.gtkrc 또는 ~/.gtkrc.mine 또는 /etc/gtk/gtkrc 에서

style "gtk-default-ko" {
       fontset = "-microsoft-gulim-medium-r-normal-*-*-90-*-*-p-*-iso10646-1,\
                  -microsoft-gulim-medium-r-normal-*-*-90-*-*-p-*-iso8859-1,\
                  -microsoft-gulim-medium-r-normal-*-*-90-*-*-p-*-ksc5601.1987-0,\
                  *"
}
class "GtkWidget" style "gtk-default-ko"

xorg의 freetype모듈이 예전의 xtt모듈의 기능을 모두 흡수했습니다.
굳이 윈도우의 gulim.ttc를 꺼리지 않는다면, 이 방법을 좋을듯 합니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
GunSmoke의 이미지

Anonymous wrote:
제 경우 Gulim.ttc를 xorg의 freetype 모튤을 써서 사용하고 있습니다.
...
굳이 윈도우의 gulim.ttc를 꺼리지 않는다면, 이 방법을 좋을듯 합니다.

깔끔한 gulim.ttc를 어찌 꺼릴 수 있겠습니까? 하지만 개인적인 용도가 아닌 한글지원이 가능한 형태로 배포하기 위한 목적에서 knoppix를 remastering하는 것이니 함부로 사용해서는 안되지 않겠습니까?

음... 다음버전부터는 은글꼴이 아닌, AA 기능을 꺼도 깔끔하고 이쁜 공개 글꼴을 찾아봐야겠습니다.

大逆戰

segfault의 이미지

kdialog 쓰세요.

GunSmoke의 이미지

sigsegv wrote:
kdialog 쓰세요.

옳으신 말씀입니다만 knoppix는 기본적으로 kde 외에 다른 데스크탑 환경 fluxbox, twm, icewm, xfce 등을 지원합니다. 각각의 환경에서도 동일한 프로그램을 사용할 수 있게 하려면 Xdialog를 생각하지 않을 수가 없네요....

한편으로는 솔직히 다른 데스크탑 환경 거의 사용하지 않으실텐데... 그냥 다른 환경 고려하지 말고 kdialog를 사용해버리자는 강한 유혹이... :twisted:

大逆戰

GunSmoke의 이미지

GunSmoke wrote:
sigsegv wrote:
kdialog 쓰세요.

옳으신 말씀입니다만 knoppix는 기본적으로 kde 외에 다른 데스크탑 환경 fluxbox, twm, icewm, xfce 등을 지원합니다. 각각의 환경에서도 동일한 프로그램을 사용할 수 있게 하려면 Xdialog를 생각하지 않을 수가 없네요....

한편으로는 솔직히 다른 데스크탑 환경 거의 사용하지 않으실텐데... 그냥 다른 환경 고려하지 말고 kdialog를 사용해버리자는 강한 유혹이... :twisted:

음... Xdialog와 kdialog간의 사용법이 많이 다르군요... knoppix 메뉴에 있는 스크립트들은 Xdialog로 출력할 수 있게끔 만들어져 있는데 이것을 kdialog 형식으로 바꾸려고 하니 이것도 만만치 않은 작업이네요. 어휴... 역시 혼자 하는 일이라...

ps. 만일 이번 코드페스트에 참가할 수 있다면 knoppix 메뉴에 있는 Xdialog를 이용하는 프로그램들을 kdialog 형식으로 바꾸는 한글지원 프로젝트라도 해보겠는데... 제주에 살다보니 그러지도 못하고 무척 아쉽네요;;;

大逆戰

익명 사용자의 이미지

zenity 설치 후의 gdialog는 zenity용 wrapper이듯, 가짜 Xdialog를 만들면 어떨까요? Xdialog용 커맨드라인이 kdialog용으로 번역되게요.

GunSmoke의 이미지

GunSmoke wrote:
sigsegv wrote:
kdialog 쓰세요.

옳으신 말씀입니다만 knoppix는 기본적으로 kde 외에 다른 데스크탑 환경 fluxbox, twm, icewm, xfce 등을 지원합니다. 각각의 환경에서도 동일한 프로그램을 사용할 수 있게 하려면 Xdialog를 생각하지 않을 수가 없네요....

한편으로는 솔직히 다른 데스크탑 환경 거의 사용하지 않으실텐데... 그냥 다른 환경 고려하지 말고 kdialog를 사용해버리자는 강한 유혹이... :twisted:

앗... 어떤 분이 남기신 답변이 방금까지 있었는데... 뭐라도 홀린 기분이군요. 어쨌든 위의 제 답변은 착오에 의한 것입니다. fluxbox 등에서도 (물론 Xdialog보다 느리긴 하지만) kdialog가 동작하는 것을 확인했습니다.

大逆戰

GunSmoke의 이미지

Anonymous wrote:
zenity 설치 후의 gdialog는 zenity용 wrapper이듯, 가짜 Xdialog를 만들면 어떨까요? Xdialog용 커맨드라인이 kdialog용으로 번역되게요.

아까 몇시간동안 Xdialog로 만들어진 스크립트를 kdialog로 변환하려고 노력해봤는데 의외로 많은 부분 kdialog와 Xdialog가 다른 점이 많더군요. 특히 Xdialog로 출력할 때 사용하는 쉘 변수를 kdialog에서는 제대로 인식하지 못하는 부분이 문제가 되었습니다. 이런 점을 미루어볼 때 손님의 아이디어는 실현이 쉽지 않을 것으로 생각됩니다.

예를 하나 들면 이런 점인데요.
$DIALOG --inputbox "$MESSAGE6 $DV" 10 45 ${IP:-192.168.0.1}" 2>"$TMP" || bailout 1
Xdialog에서는 위의 내용이 높이 10, 너비 45, 기본 메시지 192.168.0.1을 출력해서 입력상자가 출력되고 입력 내용은 변수 IP에 저장됩니다. 하지만 kdialog에서는 "메시지" 이후의 10을 기본 메시지로 출력해버린다는 점이 문제입니다. 그리고 몇차례 테스트 결과 변수에 값이 제대로 저장되지도 않는 듯 합니다.

大逆戰

익명 사용자의 이미지

zenity에는 높이나 너비용 옵션이 없는 것 같습니다. gdialog wrapper에서는 높이나 너비 옵션이 번환되지 않고 무시됩니다. 아마 kdialog도 비슷하지 않을까 생각합니다.

변수 저장은 아마 stdout, stderr으로 어떤 정보가 들어가느냐의 차이 때문이 아닐까 생각합니다. gdialog의 perl script의 마지막 부분을 보시면 예전 gdialog와 새 zenity가 서로 다른 곳으로 정보를 보낸다는 듯한 내용이 보입니다.

GunSmoke의 이미지

Anonymous wrote:
zenity에는 높이나 너비용 옵션이 없는 것 같습니다. gdialog wrapper에서는 높이나 너비 옵션이 번환되지 않고 무시됩니다. 아마 kdialog도 비슷하지 않을까 생각합니다.

변수 저장은 아마 stdout, stderr으로 어떤 정보가 들어가느냐의 차이 때문이 아닐까 생각합니다. gdialog의 perl script의 마지막 부분을 보시면 예전 gdialog와 새 zenity가 서로 다른 곳으로 정보를 보낸다는 듯한 내용이 보입니다.

오늘 집에서 zenity와 gdialog에 대해 연구를 좀 해봐야겠습니다. 어휴... 또 펄이네...

大逆戰

GunSmoke의 이미지

절망적입니다.

먼저 폰트를 바꾸고 설정을 달리해서 Xdialog를 테스트해봤지만 역시 안되는 것은 마찬가지였습니다. KDE 환경에서는 또 다른 변수가 있나봅니다.

knoppix의 창시자 klaus knopper로부터 Xdialog 대신 kdialog를 사용하려면 스크립트를 처음부터 다시 짜야한다는 충고를 들었습니다. 재미있군요. 스크립트에 Xdialog를 사용한 이유는 dialog와 사용법이 거의 같았기 때문이랍니다. 만일 kdialog와 사용법이 같았다면 그냥 kdialog를 썼을 것이라고 얘기하는군요.

딱 하나 성공한 사례는 앞에서 '손님'이 추천해주신 gdialog를 사용하는 방법입니다. 일단 이걸 사용할 수 있으려면 zenity를 넣고 다시 리마스터링해야겠고... 뭐 이게 문제가 아니라 역시 약간씩은 어색한 점이 있다는 겁니다. 아래 그림을 봐 주시기바랍니다.
1. 타이틀이 이상하다.
2. 'eth0의 주소를 입력하십시오.' 이런 식으로 메시지가 출력되어야 하는데...
3. OK 버튼과 Cancel 버튼의 위치는 바뀌는게 어떨까?
등등... 결국은 메시지 창 하나씩 손 볼 필요가 있겠군요ㅠ_ㅠ

ps. 제발 Xdialog에서 UTF-8 한글 지원할 수 있게 누가 좀 만들어 주세요!!!!

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

大逆戰

익명 사용자의 이미지

GunSmoke wrote:
절망적입니다.

먼저 폰트를 바꾸고 설정을 달리해서 Xdialog를 테스트해봤지만 역시 안되는 것은 마찬가지였습니다. KDE 환경에서는 또 다른 변수가 있나봅니다.

knoppix의 창시자 klaus knopper로부터 Xdialog 대신 kdialog를 사용하려면 스크립트를 처음부터 다시 짜야한다는 충고를 들었습니다. 재미있군요. 스크립트에 Xdialog를 사용한 이유는 dialog와 사용법이 거의 같았기 때문이랍니다. 만일 kdialog와 사용법이 같았다면 그냥 kdialog를 썼을 것이라고 얘기하는군요.

딱 하나 성공한 사례는 앞에서 '손님'이 추천해주신 gdialog를 사용하는 방법입니다. 일단 이걸 사용할 수 있으려면 zenity를 넣고 다시 리마스터링해야겠고... 뭐 이게 문제가 아니라 역시 약간씩은 어색한 점이 있다는 겁니다. 아래 그림을 봐 주시기바랍니다.
1. 타이틀이 이상하다.
2. 'eth0의 주소를 입력하십시오.' 이런 식으로 메시지가 출력되어야 하는데...
3. OK 버튼과 Cancel 버튼의 위치는 바뀌는게 어떨까?
등등... 결국은 메시지 창 하나씩 손 볼 필요가 있겠군요ㅠ_ㅠ

ps. 제발 Xdialog에서 UTF-8 한글 지원할 수 있게 누가 좀 만들어 주세요!!!!


Xdialog는 자체 글꼴을 쓰지 않는 이상, FontConfig 혹은 전통적 X11의 방법을 쓸것입니다. 저 위의 스크린샷을 보니 어떤 분은 Xdialog가 잘 되는 것으로 나오고 있습니다.

아마도 X11의 글꼴 설정을 쓰는 것 같으며, X11용 글꼴 설정이라면, fonts.dir 등등을 만들어줘야 합니다.

이미 해결하셨죠?

GunSmoke의 이미지

Anonymous wrote:
Xdialog는 자체 글꼴을 쓰지 않는 이상, FontConfig 혹은 전통적 X11의 방법을 쓸것입니다. 저 위의 스크린샷을 보니 어떤 분은 Xdialog가 잘 되는 것으로 나오고 있습니다.

아마도 X11의 글꼴 설정을 쓰는 것 같으며, X11용 글꼴 설정이라면, fonts.dir 등등을 만들어줘야 합니다.

이미 해결하셨죠?

Xdialog의 개발자 Thierry Godefroy로부터 다음과 같은 메일을 받았습니다.

Quote:
GTK+ (GTK v1.x) does not support UTF-8. Only GTK2 does, and Xdialog is
not designed to use GTK2. Sorry, but you may only use 8 bit character
sets with Xdialog (and any GTK+ software).

해결은 했는데... '전통적인 X11 fonts.dir 설정방법', FontConfig에 대해 잘 몰라서 Xdialog를 수정한 것이 아니라 http://bbs.kldp.org/viewtopic.php?t=66897에서 볼 수 있듯이 gdialog를 이용해서 출력방법을 바꾸어놨습니다. 노가다 한 거죠 뭐. :oops: Xdialog와 gdialog 출력방법이 서로 다른 부분이 좀 있어서 고생깨나 했습니다.

大逆戰

wkpark의 이미지

GunSmoke wrote:
Anonymous wrote:
Xdialog는 자체 글꼴을 쓰지 않는 이상, FontConfig 혹은 전통적 X11의 방법을 쓸것입니다. 저 위의 스크린샷을 보니 어떤 분은 Xdialog가 잘 되는 것으로 나오고 있습니다.

아마도 X11의 글꼴 설정을 쓰는 것 같으며, X11용 글꼴 설정이라면, fonts.dir 등등을 만들어줘야 합니다.

이미 해결하셨죠?

Xdialog의 개발자 Thierry Godefroy로부터 다음과 같은 메일을 받았습니다.

Quote:
GTK+ (GTK v1.x) does not support UTF-8. Only GTK2 does, and Xdialog is
not designed to use GTK2. Sorry, but you may only use 8 bit character
sets with Xdialog (and any GTK+ software).

해결은 했는데... '전통적인 X11 fonts.dir 설정방법', FontConfig에 대해 잘 몰라서 Xdialog를 수정한 것이 아니라 http://bbs.kldp.org/viewtopic.php?t=66897에서 볼 수 있듯이 gdialog를 이용해서 출력방법을 바꾸어놨습니다. 노가다 한 거죠 뭐. :oops: Xdialog와 gdialog 출력방법이 서로 다른 부분이 좀 있어서 고생깨나 했습니다.


개발자가 잘못 알고있네요. gtk+1.x도 UTF-8에서 잘 됩니다.

X11에서 UTF8을 제대로 지원하기 시작한지가 몇년 안되기 때문에 Xdialog 개발자가 잘 모르는 것 같습니다. (XFree86, X.org 최근 버전은 모두 UTF-8을 잘 지원합니다)
따라서 Xdialog가 스스로 글꼴관리를 하지 않는 이상 Xdialog도 잘 됩니다. ^^;;

온갖 참된 삶은 만남이다 --Martin Buber

GunSmoke의 이미지

wkpark wrote:
개발자가 잘못 알고있네요. gtk+1.x도 UTF-8에서 잘 됩니다.

X11에서 UTF8을 제대로 지원하기 시작한지가 몇년 안되기 때문에 Xdialog 개발자가 잘 모르는 것 같습니다. (XFree86, X.org 최근 버전은 모두 UTF-8을 잘 지원합니다)
따라서 Xdialog가 스스로 글꼴관리를 하지 않는 이상 Xdialog도 잘 됩니다. ^^;;

OTL

대체 이게 뭔 조화랍니까!!!

wkpark님, 어떻게 하면 Xdialog에서 UTF-8 한글이 제대로 나올까요? 그렇다면 최신 버전의 XFree86, X.org라야 제대로 나오는 건가요???

ps. wkpark님, xdialog_AT_free.fr 이 주소로 메일 보내셔서 잘못 알고 계시다고 한 말씀 해주세요. ( 아님 영작 능력을 더 길러 몇년 후에 제가 직접 보내든가... :oops: )

大逆戰

wkpark의 이미지

GunSmoke wrote:
wkpark wrote:
개발자가 잘못 알고있네요. gtk+1.x도 UTF-8에서 잘 됩니다.

X11에서 UTF8을 제대로 지원하기 시작한지가 몇년 안되기 때문에 Xdialog 개발자가 잘 모르는 것 같습니다. (XFree86, X.org 최근 버전은 모두 UTF-8을 잘 지원합니다)
따라서 Xdialog가 스스로 글꼴관리를 하지 않는 이상 Xdialog도 잘 됩니다. ^^;;

OTL

대체 이게 뭔 조화랍니까!!!

wkpark님, 어떻게 하면 Xdialog에서 UTF-8 한글이 제대로 나올까요? 그렇다면 최신 버전의 XFree86, X.org라야 제대로 나오는 건가요???

ps. wkpark님, xdialog_AT_free.fr 이 주소로 메일 보내셔서 잘못 알고 계시다고 한 말씀 해주세요. ( 아님 영작 능력을 더 길러 몇년 후에 제가 직접 보내든가... :oops: )


최신은 아니고요, Redhat 9.0즈음부터 잘 되던것으로 기억합니다.
UTF-8로 배포판 기본 설정이 변하던 시점이었죠.

예전의 X11 글꼴 설정방식은 자바 1.4.x(1.5말고)의 글꼴 설정과도 관련있습니다. Live CD에 자바도 포함시키실 예정이라면 X11글꼴 설정도 하셔야 하겠고, 이게 잘 되면 Xdialog에서도 잘 될것으로 생각됩니다. :)

gtk+1.x도 X11의 글꼴 설정과 관련이 있던 것으로 기억합니다.

http://coffeenix.net/board_print.php?bd_code=520
위 링크에 전통적인 트루타입 글꼴 쓰는 방법중에 하나인
xtt모듈로 트루타입 글꼴을 X11글꼴 설정방법이 있는것 같군요.
그러나 xtt는 요즘 배포판에 들어있지 않은 경우가 많습니다.

freetype모듈로 설정하는 것은 이보다 더 간단하며, 요즘 나오는 대부분의 일반적인 배포판은 freetype모듈을 쓰도록 되어있습니다.

온갖 참된 삶은 만남이다 --Martin Buber

GunSmoke의 이미지

wkpark wrote:
최신은 아니고요, Redhat 9.0즈음부터 잘 되던것으로 기억합니다.
UTF-8로 배포판 기본 설정이 변하던 시점이었죠.

예전의 X11 글꼴 설정방식은 자바 1.4.x(1.5말고)의 글꼴 설정과도 관련있습니다. Live CD에 자바도 포함시키실 예정이라면 X11글꼴 설정도 하셔야 하겠고, 이게 잘 되면 Xdialog에서도 잘 될것으로 생각됩니다. :)

gtk+1.x도 X11의 글꼴 설정과 관련이 있던 것으로 기억합니다.

http://coffeenix.net/board_print.php?bd_code=520
위 링크에 전통적인 트루타입 글꼴 쓰는 방법중에 하나인
xtt모듈로 트루타입 글꼴을 X11글꼴 설정방법이 있는것 같군요.
그러나 xtt는 요즘 배포판에 들어있지 않은 경우가 많습니다.

freetype모듈로 설정하는 것은 이보다 더 간단하며, 요즘 나오는 대부분의 일반적인 배포판은 freetype모듈을 쓰도록 되어있습니다.

freetype 모듈을 이용한 방법이란 freetype 패키지가 설치되어 있는지 확인하고 만약 설치되어 있다면 말씀해주신 링크http://coffeenix.net/board_print.php?bd_code=520의 /etc/lib/X11/XF86Config 설정에서 Load "freetype"으로 바꿔주는 것만 하면 되는 것입니까?

font.dir의 길고 복잡한 설정 내용에는 변경할 것이 없나요?

죄송합니다만 한가지 더 여쭈어보겠습니다.(제가 리눅스 font에 대해 모르는 것이 너무 많아서 그렇습니다. 자꾸 귀찮게 해드리는 것 같아 정말 죄송합니다.)
말씀해주신 링크의 font.dir은 MS Windows 굴림, 바탕체에 대한 내용입니다. 이것을 은돋움에 반영하려면 단순히 Gulim이라는 것을 UnDotum으로만 바꾸면 될까요?

만일 은글꼴을 이 방법을 통해서 적용할 수 없다면 결국 백묵 글꼴 밖에 없다는 얘기인데 백묵 글꼴은 font.dir을 어떻게 설정해야 하나요?

大逆戰

wkpark의 이미지

xtt와 freetype 모듈은 설정에서 많이 차이납니다.

X설정:
/etc/X11/xorg.conf (혹은 XFree86.config ?)

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "fbdevhw"
        Load  "glx"
        Load  "vnc"
        Load  "record"
        [b]Load  "freetype"[/b]
        Load  "type1"
        Load  "dri"
EndSection

X11에서는 글꼴이 설치된 디렉토리에서 "mkfontdir"을 실행하면 fonts.dir이 만들어지게 되고, fonts.dir이 있어야 X11에서 글꼴을 처리할 수 있게 됩니다.

그런데 TTF글꼴일 경우는 "ttmkfdir"을 먼저 실행시켜 fonts.scale을 만든 후에, "mkfontdir"을 실행해야지 정상적으로 fonts.dir을 만드실 수 있습니다.

이때, ttmkfdir로 만들어지는 fonts.scale은 보통 잘 만들어지는게 아니라 트루타입에 있는 정보를 바탕으로 generate하는 것이므로 만약, 글꼴에 이 정보가 제대로 들어있지 않으면 fonts.scale을 다듬는 과정을 거치거나 fonts.dir을 직접 만들게 됩니다. (보통은 스크립트로 처리한다거나..)

그런 다음, xset fp rehash(?)와 xlsfonts명령으로 은글꼴이 제대로 올라갔는지 확인하실 수 있습니다.

(freetype글꼴 모듈은 xtt설정보다 단순합니다.)

온갖 참된 삶은 만남이다 --Martin Buber

GunSmoke의 이미지

wkpark wrote:
xtt와 freetype 모듈은 설정에서 많이 차이납니다.

X설정:
/etc/X11/xorg.conf (혹은 XFree86.config ?)

Section "Module"
        Load  "dbe"
        Load  "extmod"
        Load  "fbdevhw"
        Load  "glx"
        Load  "vnc"
        Load  "record"
        [b]Load  "freetype"[/b]
        Load  "type1"
        Load  "dri"
EndSection

X11에서는 글꼴이 설치된 디렉토리에서 "mkfontdir"을 실행하면 fonts.dir이 만들어지게 되고, fonts.dir이 있어야 X11에서 글꼴을 처리할 수 있게 됩니다.

그런데 TTF글꼴일 경우는 "ttmkfdir"을 먼저 실행시켜 fonts.scale을 만든 후에, "mkfontdir"을 실행해야지 정상적으로 fonts.dir을 만드실 수 있습니다.

이때, ttmkfdir로 만들어지는 fonts.scale은 보통 잘 만들어지는게 아니라 트루타입에 있는 정보를 바탕으로 generate하는 것이므로 만약, 글꼴에 이 정보가 제대로 들어있지 않으면 fonts.scale을 다듬는 과정을 거치거나 fonts.dir을 직접 만들게 됩니다. (보통은 스크립트로 처리한다거나..)

그런 다음, xset fp rehash(?)와 xlsfonts명령으로 은글꼴이 제대로 올라갔는지 확인하실 수 있습니다.

(freetype글꼴 모듈은 xtt설정보다 단순합니다.)

크노픽스에서 사용하는 은글꼴은 데비안 소스리스트에서 패키지형식으로 설치한 것입니다.

먼저 xlsfonts 명령으로 확인 결과 백묵 글꼴의 경우 시스템에 잘 설치되어 있지만 은글꼴은 확인할 수 없었습니다. 그래서 wkpark님의 방법대로 fonts.dir을 만들고 이를 바탕으로 xset fp rehash 명령을 내렸습니다. 결과는 아무 변동 없음.....
이번에는 xset fp /usr/share/fonts/truetype/unfont(은글꼴 경로) 이렇게 명령을 내렸습니다. 결과는 기존의 폰트 정보가 몽땅 사라지고 은글꼴과 관련된 내용만 남아있는 것이었습니다.
이상태에서 Xdialog를 실행하니 결과는

Quote:

Gtk-ERROR **: Unable to load default font.
aborting...
Aborted

혹시 재부팅하면 될 듯 싶어 (라이브 CD라는 특성상 시스템을 종료하면 모든게 원점으로 돌아가니) 세션만 종료해서 다시 시작했습니다. 웬걸 xlsfonts 결과는 앞에서 작업한 것들이 몽땅 처음 상태로 초기화, 아... 크노픽스는 X를 시작하면서 어떤 스크립트에 의해 지정된 글꼴 설정을 적용하나보군!
어쨌든 낙담하고 있던 터에 이 쓰레드에 있는 글 중에 .gtkrc와 관련된 내용을 발견. 여기서 백묵 글꼴은 제대로 설치되어 있기 때문에 이 정보를 추가해 봤습니다.
/home/knoppix/.gtkrc의 내용

style "gtk-default-ko" {
fontset = "-baekmuk-batang-bold-r-normal--0-0-75-75-m-0-ksx1001.1998-0,\
*"
}
class "GtkWidget" style "gtk-default-ko"

결과는 아래 스크린 샷처럼 충격적입니다.

자. 이제 은글꼴만 이쁘게 출력하면 됩니다. 시스템에 은글꼴이 제대로 설치되지 않는 이유는 무엇일까요? wkpark님, 한번만 더 도와주시면 이 산을 넘을 수 있을것 같습니다!

ps. 지난 몇 주 동안 이걸 몰라서 gdialog니 kdialog니 온갖 방법으로 번역된 메시지를 출력방법을 변경해가며 해왔던 노력들이 온통 바보 짓이 되고 말았습니다. 이걸 조금만 일찍 알았다면 노력의 반에 반은 다른 곳에 쓸 수 있었을텐데... 그렇다고해서 Xdialog의 개발자를 탓할 생각은 없습니다. 애초에 리눅스의 글꼴 시스템에 대한 무지에서 작업을 시작한 것 부터가 잘못되었다는 생각입니다. 저 자신에게 너무나 화가 나고... 뭐라고 말씀드리지 못할만큼 복잡한 심정입니다.
어쨌든 은돋움이 제대로 출력된다면 (만일 은돋움을 제대로 출력할 수 없다해도 백묵을 사용해서라도) 다시 gdialog로 바꿔놓은 메스크립트들을 Xdialog로 바꿔놓도록 하겠습니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

大逆戰

wkpark의 이미지

보시는 것은 백묵 글꼴이 아닌 그냥 대우 글꼴같습니다.

xset fp rehash 할 때, 은글꼴 경로가 없었던 것 같군요.

글꼴 경로를 추가하는 방법은 xset +fp 디렉토리절대경로 (fp+라고 하면 글꼴 경로가 맨 뒤에 붙습니다. 그런 다음에, xset fp rehash 하는 것입니다.
(시스템에 글꼴 경로 추가하는 것은 아실것이고, 개인 사용자가 테스트용으로 위와 같이 할 수 있습니다.)

제가 방금 다음과 같이 해보니 잘 됩니다.

cd ~/.fonts (은글꼴 경로)
ls fonts.dir (확인)
xset fp+ /home/wkpark/.fonts
xset fp rehash
xlsfonts |grep un

혹 실수를 했으면 xset fp default를 합니다.

그런데 Xdialog에서 특정 글꼴을 선택할 수 있는 것은 아닌 것 같고
그냥 gtk+1.x의 기본 설정을 따르는 것 같네요.

(/etc/gtk/gtkrc.ko.utf8을 조금 바꿔 ~/.gtkrc.mine으로 저장한 gtk+1.x 글꼴 설정.

style "gtk-default-ko-utf8" {
       fontset = "-misc-undotum-medium-r-normal--*-100-*-*-*-*-iso10646-1,\
                  -*-gulim*-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -*-kodig-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -*-*-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,\
                  *"
}
class "GtkWidget" style "gtk-default-ko-utf8"

그리고, antialias가 안되어서 모양도 별로인 것 같네요.

백묵 비트맵 글꼴을 사용하거나,
cabextract를 이용해서 라이브시디에 gulimche 혹은 New gulime을 선택적으로 깔게 하는 것도 전통적 X11에서 좀 더 예쁜 글꼴을 보기 위해서는 필요할 것 같습니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

온갖 참된 삶은 만남이다 --Martin Buber

익명 사용자의 이미지

말씀해주신대로 한 결과 ~.gtkrc.mine의 적용은 받지 않더군요. 그래서 ~.gtkrc로 변경하니 또다시 한글이 제대로 출력되지 않았습니다. 아예 gtkrc의 영향을 받지 않는 것과는 또 다르게 깨져 달리 보이는 것으로보아 '어떤' 영향은 받고 있구나라는 추측을 했습니다.
궁금한 것은 제 은글꼴 디렉토리에서 나온 fonts.dir에는 iso10646에 대한 정보가 없다는 점입니다. (원규님의 gtkrc.mine에는 맨 첫줄undotum 정보에 iso10646라고 나와있습니다.) 일단 fonts.dir을 첨부합니다..보시는 것처럼 제 fonts.dir에는 iso8859-1, jisx0201에 대한 정보들만 나와있습니다. 혹시 이 때문에 이러한 문제가 발생하는 것은 아닐까요?

GunSmoke의 이미지

죄송합니다.

76
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoNovel.ttf -misc-UnJamoNovel-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
........... 이런 식입니다.

大逆戰

GunSmoke의 이미지

요렇게 백묵글꼴로 해봤는데요

style "gtk-default-ko" {
       fontset ="-baekmuk-dotum-medium-r-normal--*-100-*-*-*-*-iso10646-1,\
                *"
}
class "GtkWidget" style "gtk-default-ko"

다음과 같이 결과가 나왔습니다. 이것은 제대로 된 백묵글꼴이 나온 것인가요? 이것도 대우체인가요?

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

大逆戰

익명 사용자의 이미지

Anonymous wrote:
말씀해주신대로 한 결과 ~.gtkrc.mine의 적용은 받지 않더군요. 그래서 ~.gtkrc로 변경하니 또다시 한글이 제대로 출력되지 않았습니다. 아예 gtkrc의 영향을 받지 않는 것과는 또 다르게 깨져 달리 보이는 것으로보아 '어떤' 영향은 받고 있구나라는 추측을 했습니다.
궁금한 것은 제 은글꼴 디렉토리에서 나온 fonts.dir에는 iso10646에 대한 정보가 없다는 점입니다. (원규님의 gtkrc.mine에는 맨 첫줄undotum 정보에 iso10646라고 나와있습니다.) 일단 fonts.dir을 첨부합니다..보시는 것처럼 제 fonts.dir에는 iso8859-1, jisx0201에 대한 정보들만 나와있습니다. 혹시 이 때문에 이러한 문제가 발생하는 것은 아닐까요?

그것은 ttmkfdir이 트루타입정보를 판독해서 만들어낸 fonts.scale의 문제입니다. ttmkfdir이 제대로 판독 못한 것이죠.
(아마도 ttmkfdir버전이 다르거나 xorg의 버전이 달라서 그런 것 같습니다. Fedora는 UTF8 배포판 답게, 모든 글꼴에 대한 ttmkfdir 결과에 iso10646-1이 들어가게 자체 패치를 한 것일 수도 있공..)

이 경우는 단순히 fonts.dir을 편집, 수작업으로 추가하면 됩니다.

마지막 스크린샷은 백묵같습니다. 대우는 비트맵이라서, 스케일링하면 무지 안이쁘게 나옵니다. (그리고, iso10646이 없더라도 Xdialog가 작동할겁니다.)

익명 사용자의 이미지

wkpark wrote:

xtt와 freetype 모듈은 설정에서 많이 차이납니다.

약간 논외의 이야기입니다만, 이 부분 약간의 오해의 소지가 있어서 몇자 적어봅니다.

과거 xtt와 freetype모듈이 따로 존재하던 적이 있었습니다만, 현재는 xtt는 Xorg에서 제거되었으며, freetype에 xtt의 기능이 포함되어 있습니다. 즉, 과거 xtt의 설정(fonts.dir에서 fake_italic나 fake_bold를 설정하는 것)을 그대로 두고서는 xorg.conf에서 "freetype"만 로드시켜도 설정이 그대로 먹는다는 말입니다. 기존의 설정법을 바꿀 필요가 없는 거죠.

Quote:

The new FreeType almost perfectly supports TTCap options that are compatible with X-TT 1.4. The Automatic Italic (`ai'), Double Strike (`ds') and Bounding box Width (`bw') options are indispensable in CJKV. For example,

mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
ds=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0208.1990-0
ai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0208.1990-0
ds=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1990-0
bw=0.5:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0201.1976-0
bw=0.5:ds=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0201.1976-0
bw=0.5:ai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0201.1976-0
bw=0.5:ds=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0201.1976-0


http://wiki.x.org/X11R6.8.0/doc/fonts4.html#38

http://x-tt.sourceforge.jp/documentation.html#TTCap

익명 사용자의 이미지

ttmkfdir 보다는 mkfontscale을 사용하시기 바랍니다. 둘다 fonts.scale을 생성해 내죠.

ttmkfdir는 과거 freetype1에 링크된 프로그램으로 알고 있습니다.
mkfontscale는 X.org에 포함된 프로그램입니다.

이미 나온 이야기이지만,
이렇게 만들어진 fonts.scale을 직접 쓰기보다는, 적당히 수정을 거친 후에 fonts.dir을 만드는 것이 좋다고 생각합니다. 한글환경을 위해서는 ISO10646-1, ISO8859-1, KSC로 시작하는 것 정도만 남겨두면 됩니다. 추가로 가짜이탤릭이라든지 가짜볼드를 위한 설정도 추가해 주는 것면 더 좋겠고요.
이렇게 설정된 글꼴을 불러쓸떄 보면, 특별히 dpi를 지정하지 않는한 시스탬의 dpi설정(보통 96dpi)을 따르는 것 같습니다.

GunSmoke의 이미지

Anonymous wrote:
Anonymous wrote:
말씀해주신대로 한 결과 ~.gtkrc.mine의 적용은 받지 않더군요. 그래서 ~.gtkrc로 변경하니 또다시 한글이 제대로 출력되지 않았습니다. 아예 gtkrc의 영향을 받지 않는 것과는 또 다르게 깨져 달리 보이는 것으로보아 '어떤' 영향은 받고 있구나라는 추측을 했습니다.
궁금한 것은 제 은글꼴 디렉토리에서 나온 fonts.dir에는 iso10646에 대한 정보가 없다는 점입니다. (원규님의 gtkrc.mine에는 맨 첫줄undotum 정보에 iso10646라고 나와있습니다.) 일단 fonts.dir을 첨부합니다..보시는 것처럼 제 fonts.dir에는 iso8859-1, jisx0201에 대한 정보들만 나와있습니다. 혹시 이 때문에 이러한 문제가 발생하는 것은 아닐까요?

그것은 ttmkfdir이 트루타입정보를 판독해서 만들어낸 fonts.scale의 문제입니다. ttmkfdir이 제대로 판독 못한 것이죠.
(아마도 ttmkfdir버전이 다르거나 xorg의 버전이 달라서 그런 것 같습니다. Fedora는 UTF8 배포판 답게, 모든 글꼴에 대한 ttmkfdir 결과에 iso10646-1이 들어가게 자체 패치를 한 것일 수도 있공..)

이 경우는 단순히 fonts.dir을 편집, 수작업으로 추가하면 됩니다.

마지막 스크린샷은 백묵같습니다. 대우는 비트맵이라서, 스케일링하면 무지 안이쁘게 나옵니다. (그리고, iso10646이 없더라도 Xdialog가 작동할겁니다.)

크노픽스는 아직도 XF86입니다. 따라서 x.org에 포함되어 있는 mkfontscale를 사용할 수가 없겠군요. 직접 폰트 스케일을 수정하라는 얘기는 그냥 다른거 없이 아래 내용중에서 한줄 복사해서 추가하고 맨 뒤에 있는 iso8859-1을 iso10646-1으로 하나 바꿔주면 된다는 겁니까?

UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0 
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1 
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0 
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-p-0-iso8859-1 

大逆戰

익명 사용자의 이미지

다른 분이 답을 잘 주셨네요.
iso10646-1 뿐만 아니라 제가 올렸던 (fedora core4용 ttmkfdir의 결과) fonts.dir을 참조하셔서 ksx1001, ksc5601.1987 등을 추가하면 됩니다.

atie의 이미지

GunSmoke wrote:
죄송합니다.
76
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoNovel.ttf -misc-UnJamoNovel-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
........... 이런 식입니다.

76이라는 숫자가 중요합니다. 위의 내용대로라면 iso8859-1과 jisx0208.1903-0에 각각 38씩 이라는 것인데 iso10646-1 블럭이 추가되면 76에 38을 더해주어야 합니다.

그런데, 기운 빼는 이야기 될지는 몰라도 이렇게 하는 것이 페도라에서만 가능한 방법일지도 모릅니다. 왜냐면 제가 이전에 한 터미널 에뮬레이터에 xset fp+ / rehash 해서 사용가능한 글꼴을 추가하는 것이 페도라에서는 되었는데 같은 방법으로 우분투에서 했을 때는 동작이 안 되었습니다. 참고만 하시고 직접 크노픽스에서 해 보시길 바랍니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

익명 사용자의 이미지

atie wrote:
GunSmoke wrote:
죄송합니다.
76
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoNovel.ttf -misc-UnJamoNovel-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
........... 이런 식입니다.

76이라는 숫자가 중요합니다. 위의 내용대로라면 iso8859-1과 jisx0208.1903-0에 각각 38씩 이라는 것인데 iso10646-1 블럭이 추가되면 76에 38을 더해주어야 합니다.

그런데, 기운 빼는 이야기 될지는 몰라도 이렇게 하는 것이 페도라에서만 가능한 방법일지도 모릅니다. 왜냐면 제가 이전에 한 터미널 에뮬레이터에 xset fp+ / rehash 해서 사용가능한 글꼴을 추가하는 것이 페도라에서는 되었는데 같은 방법으로 우분투에서 했을 때는 동작이 안 되었습니다. 참고만 하시고 직접 크노픽스에서 해 보시길 바랍니다.


아닙니다. 단지 줄수입니다. (생략되어서 그런 것입니다)

xset fp rehash 역시 X11의 오래된 방법입니다. xlsfonts로 확인해 보시길, (되돌리려면 xset fp default)

$ cat fonts.dir |wc
    139     337    9989
$ head -2 fonts.dir
138
UnBatang.ttf -misc-unbatang-medium-r-normal--0-0-0-0-c-0-ascii-0
atie의 이미지

Anonymous wrote:
atie wrote:
GunSmoke wrote:
죄송합니다.
76
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatang.ttf -misc-UnBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBatangBold.ttf -misc-UnBatang-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnBom.ttf -misc-UnBom-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotum.ttf -misc-UnDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnDotumBold.ttf -misc-UnDotum-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphic.ttf -misc-UnGraphic-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGraphicBold.ttf -misc-UnGraphic-bold-r-normal--0-0-0-0-p-0-iso8859-1
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnGungseo.ttf -misc-UnGungseo-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoBatang.ttf -misc-UnJamoBatang-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
UnJamoDotum.ttf -misc-UnJamoDotum-medium-r-normal--0-0-0-0-p-0-iso8859-1
UnJamoNovel.ttf -misc-UnJamoNovel-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
........... 이런 식입니다.

76이라는 숫자가 중요합니다. 위의 내용대로라면 iso8859-1과 jisx0208.1903-0에 각각 38씩 이라는 것인데 iso10646-1 블럭이 추가되면 76에 38을 더해주어야 합니다.

그런데, 기운 빼는 이야기 될지는 몰라도 이렇게 하는 것이 페도라에서만 가능한 방법일지도 모릅니다. 왜냐면 제가 이전에 한 터미널 에뮬레이터에 xset fp+ / rehash 해서 사용가능한 글꼴을 추가하는 것이 페도라에서는 되었는데 같은 방법으로 우분투에서 했을 때는 동작이 안 되었습니다. 참고만 하시고 직접 크노픽스에서 해 보시길 바랍니다.


아닙니다. 단지 줄수입니다. (생략되어서 그런 것입니다)

xset fp rehash 역시 X11의 오래된 방법입니다. xlsfonts로 확인해 보시길, (되돌리려면 xset fp default)

$ cat fonts.dir |wc
    139     337    9989
$ head -2 fonts.dir
138
UnBatang.ttf -misc-unbatang-medium-r-normal--0-0-0-0-c-0-ascii-0

a.ttf에 jisx0208.1983-0 엔트리가 10개, iso8859-1 엔트리가 10개면 fonts.dir의 첫째줄에 20이 찍힙니다. 여기에 iso10646-1 엔트리 10개를 수 작업으로 추가를 해주면 첫 줄의 20을 30으로 바꾸어 주어야 한다는 뜻입니다.

인용된 글에서도 139라인에 첫 줄이 138이 있는 것 처럼요.

----
I paint objects as I think them, not as I see them.
atie's minipage

익명 사용자의 이미지

gdialog를 그냥 사용하시게 둘걸 그랬습니다 :p

Xdialog는 글꼴이 넘 안예쁘네요

GunSmoke의 이미지

atie wrote:

a.ttf에 jisx0208.1983-0 엔트리가 10개, iso8859-1 엔트리가 10개면 fonts.dir의 첫째줄에 20이 찍힙니다. 여기에 iso10646-1 엔트리 10개를 수 작업으로 추가를 해주면 첫 줄의 20을 30으로 바꾸어 주어야 한다는 뜻입니다.

인용된 글에서도 139라인에 첫 줄이 138이 있는 것 처럼요.

확실히 알았습니다. 도움 주셔서 감사드립니다. 오늘 퇴근하면 집에서 시도해봐야겠군요. 벌써부터 다 된거 같아 기대됩니다.

손님~ Xdialog는 글꼴은 안 이쁘겠지만 그래도 knopper가 의도한 스크립트가 '제대로' 나오기 위해서는 Xdialog를 사용해야 한답니다.

大逆戰

wkpark의 이미지

GunSmoke wrote:
atie wrote:

a.ttf에 jisx0208.1983-0 엔트리가 10개, iso8859-1 엔트리가 10개면 fonts.dir의 첫째줄에 20이 찍힙니다. 여기에 iso10646-1 엔트리 10개를 수 작업으로 추가를 해주면 첫 줄의 20을 30으로 바꾸어 주어야 한다는 뜻입니다.

인용된 글에서도 139라인에 첫 줄이 138이 있는 것 처럼요.

확실히 알았습니다. 도움 주셔서 감사드립니다. 오늘 퇴근하면 집에서 시도해봐야겠군요. 벌써부터 다 된거 같아 기대됩니다.

손님~ Xdialog는 글꼴은 안 이쁘겠지만 그래도 knopper가 의도한 스크립트가 '제대로' 나오기 위해서는 Xdialog를 사용해야 한답니다.


^^ 제가 손님이었구요, 은글꼴이 기존 X11 글꼴 처리방식으로는 antialias를 못하기 때문에 미울수 밖에 없을 것 같고,
백묵 비트맵을 쓰시는 것이 나을 듯 합니다..

온갖 참된 삶은 만남이다 --Martin Buber

익명 사용자의 이미지

wkpark wrote:

^^ 제가 손님이었구요, 은글꼴이 기존 X11 글꼴 처리방식으로는 antialias를 못하기 때문에 미울수 밖에 없을 것 같고,
백묵 비트맵을 쓰시는 것이 나을 듯 합니다..

백묵 비트맵은 어디서 받아서 어떻게 설치해야할까요? 또 처음부터 시작이군요 ㅡ,.ㅜ;;
음... 크노픽스 한글은 기본적으로 (데비안 소스 리스트에서 받아온 ttf-baekmuk 패키지를 포함하고 있습니다.) 이게 있으면, 즉 아래의 경로에 있는 ttf 파일들이 백묵 비트맵입니까?

root@0[knoppix]# cd /usr/share/fonts/truetype/baekmuk/
root@0[baekmuk]# ls
batang.ttf  dotum.ttf  fonts.cache-1  gulim.ttf  hline.ttf
root@0[baekmuk]#  

이걸 이용해서 위와 같은 방법-font.dir을 만들고 이를 등록하고, gtkrc에 반영하는 등의 작업-을 적용하면 될까요?

아니면 또다른 경로에서 백묵 비트맵이라는 글꼴을 받아야 하고 글꼴 디렉토리를 만들어서 위의 작업을 해 주어야 하는 것입니까? 만일 fonts.dir에 iso10646-1가 없다면 하나 또 만들어 주어야 하구요...

GunSmoke의 이미지

앗, 이번에는 제가 손님이었습니다;;;

大逆戰

Prentice의 이미지

xfonts-baekmuk같은 패키지를 찾아보세요.

wkpark의 이미지

아마 xfont-baekmuk은 iso10646-1 인코딩이 아닐겁니다.

이걸 참고해보세요.
http://chem.skku.ac.kr/~wkpark/baekmuk/iso10646/

온갖 참된 삶은 만남이다 --Martin Buber

익명 사용자의 이미지

mkfontscale을 이용해서 만든 fonts.scale에는 iso10646-1 정보가 잘 나오더군요. atie님을 비롯한 손님들이 지적해주신 줄 수에 유의하며 fonts.scale을 수정해서 결국 undotum이 제대로 보이는 Xdialog를 만들어 내었습니다.

쓰레드가 이렇게 길어졌네요. 대부분 제 질문이 투성이구요...
시중에 출판되어 있는 리눅스 관련 서적을 비롯해서 전문 학원 같은 곳에서도 가르쳐주지 않는 것들을 공짜로 배웠습니다. 덕분에 저는 리눅스 글꼴 시스템에 대해 많은 부분을 알게 되었네요.
다들 개인적으로 바쁘실텐데 이렇게 도움을 주셔서 시간을 빼앗은 거 같아 미안한 마음 뿐입니다.

많은 분들, 특히 박원규님을 비롯한 atie님, 손님들 모두 감사드립니다. 빠른 시일 내에 이쁘게 출력되는 Xdialog가 반영된 크노픽스 한글을 공개하도록 하겠습니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
GunSmoke의 이미지

이번에는 말씀해주신 링크에서 사용한 백묵입니다. 이게 백묵 비트맵이군요. 이번에는 fonts.scale을 만들 필요 없이 fonts.dir을 바로 만들어 사용했습니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

大逆戰

wkpark의 이미지

GunSmoke wrote:
이번에는 말씀해주신 링크에서 사용한 백묵입니다. 이게 백묵 비트맵이군요. 이번에는 fonts.scale을 만들 필요 없이 fonts.dir을 바로 만들어 사용했습니다.

*.bdf, *.pcf파일일 때는 그냥 글꼴 디렉토리에서 mkfontdir 하시면 됩니다.

아무튼 수고하셨습니다 ^^

온갖 참된 삶은 만남이다 --Martin Buber

GunSmoke의 이미지

어제... 삘 제대로 받아서 gdialog로 작업했던 스크립트들을 모조리 번역했고 remastering까지 해버렸습니다. 아... 그리고 Xdialog를 그대로 사용할 수 있으니 출력방법이 복잡해서 포기했었던 firewall 스크립트까지 한글이 잘 나오게 만들어놨습니다.
KNOPPIX remastering 과정에서 chroot 환경으로 전환해야하는 부분이 있습니다. 때문에 xset 명령을 내리면 xset : unable to open display "" 이런 메시지가 나타나면서 글꼴의 경로가 인식이 되지 않았습니다.
어쨌든 될대로 해보자는 식으로 (당시 새벽 3시라 출근시간은 다가오고... Jackpot을 기대할 수 밖에 없을만큼 절망적이었습니다.)remastering을 해버렸는데... 의외로 아래 스크린샷과 같은 결과를 볼 수 있었습니다. 라이브 CD내에서 xlsfonts 명령으로 확인해보니 새로 설치한 백묵 비트맵을 찾을 수 없었습니다;;;
제 생각으로는 아마도 .gtkrc에 의해 시스템에 미리 설치된 ttf-baekmuk 패키지에 있는 글꼴이 나와버리는 것 같습니다. 어쨌든 나오니 다행 아니겠습니까;;;;

아, 그리고 아래 삼바에서 잘 나오는 한글 환경은 덤으로... KLDP.net에 사용자 분이 요구하셔서 이번에 제대로 해 놨습니다.
오늘 저녁에 술 마실 일이 없으면 만들어 놓은 이미지를 올리고 KLDP.net에 번역된 스크립트들을 공개하도록 하겠습니다...

ps. 출근을 막 한 9시인데 너무 졸리네요. 어떡하죠?

ps2. 이거 집에서는 스샷이 첨부가 안 되네요. 집에서 이미지, 파일들 다 올리고나서 다시 올릴께요.

大逆戰

댓글 달기

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