>> Edit article
이름
제목
패스워드
다음은 리눅스에서 한글 프린팅을 하는 방법입니다. 대단히 방대한 양이라 간략히 적고자 합니다. 만약 자신이 사용하는 프린터가 Postscript 프린터라면 대단히 유용한 팁이 되리라 보입니다. 특히 리눅스외에 대부분의 BSD계열의 lpr 명령어를 갖는 Unix머신에 있어서는 대단히 효과적인 한글 프린팅 방법이라 믿습니다. 참조하시고, 조언이나 더 좋은 팁이 있으시면 Re부탁드립니다. 그러면 여기부터 시작입니다. >>>>>> 시작 다음은 리눅스에서 한글 프린팅에 관련된 팁을 실고 있습니다. 한글 프린팅에 관해서는 kldp.org에서 한글 프린팅에 관한 설명이 잘 되어 있습니다. 본 팁에서는 기존의 한글 프린팅에 관련된 것을 정리한 것에 불과함을 알려드립니다. 0) 한글 프린팅의 기본적인 개념 한글 프린팅을 하는 방법은 다음과 같이 됩니다. (문서를 한글이 포함되는 postscript 화일로 만들기) --> (한글화된 문서를 프린터로 보내기 위해 필터링) --> (lpr, lp로 프린팅). 위의 과정 중에서 한글화하는 문서를 만드는 툴로는 nh2ps, hpscat과 같은 툴들이 이용되며 netscape의 경우 자체적으로 한글화된 문서로 바꾸어 줍니다. 또한 한글화된 문서를 문서로 보내는 작업은 ghostscript과 magicfilter와 같은 툴을 이용해서 필터링 시키는 작업을 거치게 되는 것입니다. 1) 한글 Ghostscript의 설치. (http://nuclina.hoseo.ac.kr/ps) ghostscript의 한글 패치는 한글 프린팅을 위한 기본적인 작업입니다. 이것에 대해서는 이곳 팁란에 있는 ghostscript 6.x를 까는 방법을 참조하시기 바랍니다. 2) magicfilter의 설치 이것은 ghostscipt를 이용해서 filtering 툴입니다. 많은 필터링 툴이 존재하지만 간편하게 쓸 수 있는 것이 magicfilter입니다. sunsite(ftp://sunsite.unc.edu/pub/Linux/system/printing/magicfilter-1.2.tar.gz) 에서 magicfilter를 받아 오신 후 다음과 같이 하셔서 설치하시면 됩니다. % gunzip -c magicfilter-<ver>.tar.gz | tar xvf - % cd magicfilter-<ver> % configure % make % su # make install # cd filter # cp <사용할 필터> <prefix>/bin ==> Readme를 읽어 보시고 필요한 필터가 카피해서 놓으십시요. 모두 설치하시려면 # make install_filter 하시면 됩니다. <prefix>이라는 말은 magic-filter가 설치되는 디렉토리로 /usr/local이 기본입니다. 만약 HP4 형태의 프린터를 설치한다면 다음과 같이 하면 되겠지요. # cp ljet4-filter /usr/local/bin # cd <prefix>/bin ; chmod 755 <사용할 필터> ==> 위의 예를 들자면 # chmod 755 ljet4-filter ** 기본적으로 magic-filer의 필터들은 paper가 us-letter로 되어 있습니다. (실제는 gs의 기본 세팅이 a4가 아니기 때문입니다.) a4를 쓰기 위해서는 다음과 같이 <사용할 필터>를 바꾸어 주시면 됩니다. # vi <사용할 필터> 0 %! filter /usr/local/bin/gs ... -sPAPERSIZE=a4 -sOutputFile=- - ^^^^^^^^^^^^^^ 이 부분을 첨가 0 04%! filter /usr/local/bin/gs ... -sPAPERSIZE=a4 -sOutputFile=- - ^^^^^^^^^^^^^^ 이 부분을 첨가 3) nh2ps나 hpscat같은 것을 설치합니다. 한글 프린팅을 위해서는 문서를 한글화시킬 수 있는 툴을 써야 합니다. 이러한 툴들은 text 문서를 a2ps 스타일의 문서로 출력해 줍니다. 본인은 nh2ps를 추천하는 바입니다. 미지나 와우의 rpm을 설치하셔도 될 겁니다. (http://www.kr.FreeBSD.org/~cjh) 4) printcap 필터 만들기 이 부분은 printcap에 삽입할 필터를 만드는 부분으로 저의 경우 magicfilter의 ljet4-filter를 printcap에 삽입하기 위해 다음과 같이 필터 스크립트를 만들었습 니다. % cat /usr/local/bin/pclfilter #!/bin/sh PCLFILTER=/usr/local/bin/ljet4-filter ${PCLFILTER} | lpr -Plp % chmod a+rx /usr/local/bin/pclfilter <--- 이 스크립트의 mode를 실행가능하도록 바꾸어 놓습니다. 5) printcap의 설정 시스템에 다음과 같이 lp라는 이름의 프린터가 설치되어 있다고 가정해 봅시다. 다음은 저의 경우입니다. % cat /etc/printcap lp|lp0|OptraT612: :lp=/dev/.lp0: :mx#0: :pw#0: :ph#0: :sh: :lf=/usr/adm/lpd-errs.0: :if=/usr/markvision/bin/marknet_filter: :sd=/var/spool/markvision/vir_queues/lp0: 여기서 한글 프린팅을 담당할 프린터 포트를 설정합니다. 위의 printcap에 아래와 같은 라인을 첨가해 줍니다. lp1|OptraT610_PCL: :lp=/dev/null: :mx#0: :pw#0: :ph#0: :sh: :lf=/usr/adm/lpd-errs.1: :if=/usr/local/bin/pclfilter: :sd=/var/spool/lpd/lp1: 위에 라인에서 lp1| .... 이후에 나오는 것은 프린터 이름으로, 자신이 좋아하는 이름을 설정해 주면 됩니다. 위에서 'lp='로부터 'sh:'까지는 그대로 쓰시고, 'lf='와 'sd='는 자신이 원하는 대로 설정하십시요. 'lf='는 나중에 프린팅 중 발생하는 에러를 기록할 화일을 의미하며 'sd='는 spool directory를 의미합니다. 주의할 점은 원래 lf와 sd라는 화일과 디렉토리가 없다면 만들어 주시기 바랍니다. 즉 저의 경우 # touch /usr/adm/lpd-errs.1 # chown lp.lp /usr/adm/lpd-errs.1 # mkdir -p /var/spool/lpd/lp1 # chown lp.lp /var/spool/lpd/lp1 와 같이 했습니다. 'if=' 항목은 프린터로 들어오는 큐를 필터링하는 항목으로 위에서 정의한 pclfilter라는 것을 설정해 놓았습니다. 이렇게 설정한 후 lpd를 다시 실행시킵니다. # /etc/rc.d/init.d/lpd restart 6) 연습하기 한글이 포함된 문서를 한번 만들어 보십시요. 이를 hangul-test.txt라고 했다고 합니다. 이를 프린팅하기 위해서 다음과 같이 명령어를 내려 보지요. % nh2ps hangul-test.txt | lpr -Plp1 위의 경우처럼 -Plp1을 설정하면 한글 필터링을 걸쳐 프린팅을 해줍니다. 넷스케이프의 경우도 .Xdefault안에 다음과 같이 사용할 폰트만 설정해 놓으면 바로 한글 프린팅이 가능합니다. (Netscape에서 프린팅 시에도 -Plp1과 같은 옵션을 설정해 주어야 합니다.) % cat ~/.Xdefaults Netscape*documentFonts.defaultFont*ks_c_5601-1987.prop: daewoo-gulim-160-scale Netscape*documentFonts.defaultFont*iso-8859-1.prop: monotype-arial-160-scale 그리고 한글이 포함된 ps화일도 -Plp1 옵션으로 매끄럽게 출력하실 수도 있습니다. % lpr <한글이 포함된>.ps -Plp1 또한 pdf화일의 경우 출력시 -Plp1 옵션을 주면 한글 화일이 아니더라도 출력이 가능해집니다. postscript 프린터들의 경우는 이처럼 한글 filtering이 유용할 때가 많습니다. (신형의 PS 프린터들이라면 pdf 출력시 filtering시킬 필요는 없지만요.) 도움이 되었길 빕니다. -- 내 서명???
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved