한글 프린팅을 위한 표준 작업 필요?

이종준의 이미지

아래 글은 제가 삼성 레이져 프린터 드라이버 개발자 분께 문의하여 답변 받은 글입니다. 확실히 현재 리눅스의 문제점은 표준화인듯 싶습니다. 더더욱 중요한 한글 환경에서의 표준도 마련해야 할듯 하구요. 이에 대한 리눅스 개발자분들의 의견을 듣고 싶습니다.
----
레드햇 리눅스에 같이 배포되는 printtool이라고 하는 프린터 설정 유틸리티에 저희회사 프린터에 관한 정보를 추가하는 것입니다.

물론 이 정보는 리눅스가 고스트 스크립트를 부를때 그 옵션을 주기 위한 정보로 사용됩니다. 그러나 실제의 프린터를 위한 데이타 변환은 고스트 스크립트에서 일어나며 불행하게도 이 고스트 스크립트에 새로운 드라이버를 간단한 스크립트로 추가하는 방법이 없습니다. (물론 있기는 합니다만 아주 제한적이라 별로 쓸모가 없습니다.)

그래서 저희가 시디를 배포할때 저희가 업데이트한(저희 드라이버를 추가하고 새로 컴파일한) 고스트 스크립트 패키지를 같이 넣은 것입니다. 그런데 문제는 현재 한글용 리눅스를 배포하는 업체들이 고스트 스크립트에 관한 패키지를 무작위로 변경을 하고 있습니다.

예를 들면 고스트 스크립트를 위한 폰트를 아무렇게나 자신들의 기호에 맞게 변경하여 집어 넣습니다. 그렇게 되면 저희가 배포한 고스트 스크립트는 제대로 동작하지 않게 됩니다. 그리고 또한 문제는 레드햇 7.1에서 printtool이라고 하는 프린터 설정 프로그램을 아예 빼버리고 printconf라고 하는 유틸리티로 대체하였습니다. 물론 저희에게 아무런 통보도 없었죠.

이런 점에서 리눅스 배포업체들은 하드웨어 업체와의 협조가 전혀 없는 관계로 OS와 주변기기와의 호환성이 점차 결여되어 지고 있습니다. 이는 리눅스의 경쟁력을 떨어 뜨리는 원인이 되고 있지요. 저도 MS-Windows를 별로 좋아하지는 않지만 MS 는 그런 점에선 훨씬 나은 전략을 구사하고 있습니다. 간단히 말씀드려서 와우 리눅스 7.1에서 기존의 저희 드라이버는 제대로 동작하지 않을 것이라고 생각합니다. 물론 이는 제가 확인해본 것은 아니지만 (워낙 리눅스의 버전이 다양해서 제가 일일이 체크해보지 못하고 있습니다.) 아마 그럴거라고 생각합니다.

다행스러운 점은 저희 회사에서 금년 중으로 모든 리눅스에 호환 가능하며 어떠한 리눅스 환경에도 구애받지 않는 전혀 새로운 리눅스 드라이버를 개발중에 있다는 것입니다. 물론 5080i에서도 사용할 수 있습니다.

제 생각엔 그때까지는 현재 사용하고 계시는 리눅스 버전을 변경하지 마시고 그냥 사용하는게 프린터 사용을 위해서는 어쩔수 없다고 봅니다.

익명 사용자의 이미지

하드웨어 회사들에게 말해요. 다 통일해서
프린터 생산하라고... 그만큼 지금 토론은
무리한 사항에 대한거 아닐까요?

익명 사용자의 이미지

일처리하는 방식이 뭔가 이상하네요. :)

1. 왜 배포판 업체가 자기들에게 알아서 협조하기를 바라는지.
- 배포판 업체가 어떤 일을 하고 어떤 지위에 있는지 이해를 못 한
것 같습니다...
2. 표준이 없으면 표준을 만들어 가는 역할은 왜 안 하는지.
- 이 바닥이 다 그런거 아닌가요. -- 표준화라는 게 어디 쉽나요.
자기가 알아서 해야지..

비지니스를 하는 사람이 커뮤니티에 대한 이해가 부족한 것 같습니다..
용어부터가 좀 그렇군요. "리눅스 버전을 유지하세요"라든지.. :)

그래도 "리눅스를 지원하지 않습니다"라고 하는 많은 회사들이나, 모
ADSL 사업자처럼 "리눅스 버전이 여러가지라서 드라이버 개발에
시간이..."라는 핑계를 대는 것보다야 낫지만요.

익명 사용자의 이미지

1번은 좀 이해가 갑니다만,

2번은 리눅스의 철학상 표준을 만든다는게 많이 힘든거라고 봅니다.
windows가 GUI를 비롯한 대부분의 것들을 OS에 통합시킨 것이라고
본다면 linux(UNIX)는 여러 툴들의 집합이라고 볼 수 있고
그런 툴들의 다양성이 또 장점이 되는 것이잖아요.

위의 문제에서도 tool 제작자의 문제이니...
위 회사에서 그런걸 직접 제안할 위치가 아닌 것 같군요.
다만 요청을 할 수 있을 것 같지만.

오픈 소스의 장점이 인터페이스 표준에 관한 관심은 오히려 줄이는 것
같기도 하군요.

그리고 모든 사람이 커뮤니티에 대한 이해가 있어야
한다는 생각은 좋은 생각이 아닌 것 같습니다. :-(

익명 사용자의 이미지

흠...

저 역시 집에서 삼성 프린터를 사용하고 있습니다.

모델명 ML-66H+ 말만 들어두 구식 레이저 프린터죠.
저 역시 안된다고 해서 엄청난 삽질을 통한 결과(나중엔 드라이버 하나만 제대로 잡으니 되더라구요) 성공했습니다.

어디서 힌트를 얻었냐면 오토캐드 프린터를 호환할 수 있다는 데서 얻었습니다. 왜냐면 대부분 오토캐드는 hp프린터를 지원합니다. 그리고 삼성 프린터는 hp프린터의 형식을 지원합니다.
때문에 hp호환형식으로 몇번을 잡아보았지만 출력은 되었지만 한글이 깨졌었죠... 나중엔 삼성 홈페이지에 올려 드라이버 달라고 마구 조르다.. 나중에 어디에서
hp non-series 4/5/6 driver를 선택하면 된다고 해서 해봤더니
아주 깨끗하게 잘 인쇄가 되더라구요... 그런데 문제는 그게 아닙니다. 만들어지는 프린터는 대부분 GDI프린터란 사실입니다. 바로 소프트웨어 적으로만
제어가 된다는 게 슬픕니다. 제가 쓰고 있는 기종과 hp 몇몇기종은 하드웨어 제어방식도 조금은 지원하지만 hp를 비롯한 삼성, 큐닉스 등도 하드웨어
적으로 프린터 제어 기능을 하지 않고 있습니다.

흠.. 결과적으로 문제는 프린터의 하드웨어 적 지원이 필요하다고 생각되는 군요....
(9년간 삼성 제품 하나를 끝까지 고집하는 인간이...)

ps. 프린터에 배포폰에 맞추던, 배포본이 프린터에 맞추던 가장 쉬운 방법은 프린트 하는 데 필요한 하드웨어 제어가 필요하다고 봅니다.

익명 사용자의 이미지

움..무슨말입니까?

하드웨어적으로 지원한다는것은.
포스트스크립트 엔진이 들어간 프린터를 뜻하는거고..

포스트스크립트 엔진이 들어간 프린터는 설정이고 나발이고
필요없이 그냥 쓸수 있습니다만...

그렇지 않고선..당빠..어느정도 자체 프린터 전용
언어로 바꿔줘 인쇄를 해야 하는데..
이게 프린터 드라이버의 역할입니다..
삼성은 그 언어가 어디 호환인지 잘 모르지만..
대부분 프린터는 그 언어가 어느정도는 호환이 되게 만듭니다.
즉 hp아니면, 엡손계통으로...

이정도만 해도 리눅스에서는 쓸수는 있습니다만..

이거 말고 완전 소프트웨어 구동 프린터란게 또 있습니다.
윈도그 전용 프린터를 뜻하는건데..

이건 리눅스에서 쓰기 어렵습니다.
그 구분은 명확히 하십시요.

익명 사용자의 이미지

뭔가 잘 못 알고 계시는 군요...

포스트 스크립트가 지원되는 프린터라면 당연히 설정이 필요없겠지만
구식 프린터 중에 하드웨어 스펙을 조금 공개해 놓은 프린터가 있는데
그걸 얘기한 겁니다.

그리고 제가 얘기한 GDI프린터란 윈도우 전용프린터를 다른 말로
부른 말입니다.(헐 옜날 부터 쓰고 있던 말인뎅...)

익명 사용자의 이미지

흠... 요즘 왠만한 프린터는 PCL을 지원하지 않나요? 이것만 이용하더라도 어느 정도는 쓸모가 있는 제품이 나올 것 같습니다만. (물론 HP 프린터가 아니면 그 프린터의 기능을 100% 활용한다는 보장은 못합니다.) 전에 삼성에서 윈도 2000 드라이버를 PCL을 이용해서 낸 적이 있었죠.

(물론 포스트스크립트하고는 다른겁니다. 포스트 스크립트가 지원되는 프린터는 무지 비싸죠.)

익명 사용자의 이미지

역시 삼성은 리눅스에 대해 전혀 모르는군요.

왜 개별 리눅스 배포본 업체와 협력을 하려 합니까?

GS와 협력할수 있는 방안을 모색하면 될것을
GS에 삼성프린터가 포함될수 있게 정보를 주던가
로비를 하던가..돈을 줘 소스를 만들게 하던가
아니면 소스를 만들어 패치를 주던가~~!

GS하나만 잘 되면..모든 리눅스 심지어 유닉스에서도
삼성프린터를 쓸수 있습니다.

어처구니없는 삼성직원의 대답이군요..

원래 삼성직원들 어처구니 없다는건 잘 알지만.

이종준의 이미지

이 답장은 개발자 한분에게 드린겁니다. 고로 삼성의 공식 입장이 아니지요.
너무 삼성을 매도 하는 것이 아닌지...
그래도 삼성의 리눅스지원은 다른 곳보다 났습니다.
삼성의 무선랜 제품군도 리눅스를 지원합니다.
이렇게 유저들이 계속 요구를 해야 한다고 생각이 듭니다. 그래야 개발자 독단? 으로인한 낭비가 줄어들겠지요.
문제는 한글 프린팅 환경이지요...따지고 들어가면 장치 드라이버 개발자인 삼성은 리눅스에서 자사의 제품이 사용되도록 하면 되는 것이 아닌가요? (그게 레드헷이든 데비안이든...)
개발자분의 의견은 국내 배포판 따로 장치 드라이버 개발사 따로 한글 프린팅을 위한 개발이 이루어지므로 이게 어느정도 협의가 있어야 된다는 것 아닐까요?
또..삼성 독자로 GS에 로비를 했다고 치더라고 그때가서는 또 우리와 협의도 없이 했다고 뭐라고 할테고..(어른들은 대부분 그러더군요..- -)

준호의 이미지

여러가지로 생각해 볼 수 있겠는데,

- gs에는 동적으로 드라이버를 추가할 수 없습니다.
- 한글 프린팅 처리를 위해서 사용하느 표준 글꼴 체계가 없습니다.
- de facto standard가 되는 gs에서의 한글 처리 방식이 없습니다.

정도가 문제네요. 제 생각으로는,
드라이버 문제라면

- gs가 동적 모듈로 드라이버 추가를 가능하게 하거나
- 삼성에서 해당 드라이버의 소스를 공개해서 배포본 업체가 자유로이 포함하여 컴파일할 수 있도록 하거나

둘중의 하나만 가능하면 될 것 같습니다. 그리고 gs 드라이버랑 한글 출력이랑은 관계가 없습니다. 한글 글꼴 렌더링하는
부분과 프린터 드라이버와는 분리되어
있기 때문입니다.

또한, gs가 리눅스에서만 돌아가는 것도 아니고, 래드햇 계열에서만 돌아가는 것은 아니며, 출력 설정 도구를 바꾸었다고 해서 프린터 벤더에게 통보해야 할 의무같은것은 더더군다나 없습니다. (그럼 HP는 사전에 통보받았을까요?) 나쁜 생각일지도 모르겠지만, 각종 배포본에서
잘 되는지 테스트는 벤더에서 해야 겠죠.

참고로 엡손은 리눅스용 gs 드라이버의 일부 소스와 설정 도구를 제공하고 있습니다.
스타일러스 프린터와 엡손 레이저 프린터라면 혜택을 받을 수 있겠죠.
한국어 지원도 포함되어 있답니다.
이정도는 해야 하지 않을까 싶군요.

http://www.epkowa.co.jp/english/linux_e/pips_e.html

그리고 한글 출력에 있어서는, 최근에
재미있는 프로젝트가 있습니다. gs-cjk라는 것인데, gs에 소스 수준의 패치와 PS 파일에 패치를 해서 트루타입 글꼴을 CJK 환경에서 CID글꼴로 사용할
수 있도록 하는 것입니다.

http://www.gyve.org/gs-cjk/

이걸 쓰면 문제는 어느정도 해결됩니다.
물론 현재 한글 배포본은 국내에서 만든
여러 패치를 사용하고 있지만...

그리고 더 중요한 것은 표준이 되는
한글 글꼴 이름인데, 이것은 좀 더 논의가 있어야겠죠.

강창수의 이미지

흠.. 표준화에 대한 말에는 동의합니다.

그런데 말꼬리 잡고 늘어지는 것같아서 쓸까말까했는데

이메일 내용에 잼있는 부분이 있군요.

"물론 저희에게 아무런 통보도 없었죠."

언제부터 삼성이 리눅스를 지원했다고 국내리눅스업체들이

삼성에 통보를 하면서 자신들의 배포본을 수정해야 합니까?

그리고 배포본이 프린터 드라이버에 맞춰가야 합니까?

프린터 드라이버가 배포본에 맞춰야 합니까?

삼성 특유의 자만감을 보는 것 같아 씁쓸합니다.

만약 배포본의 설정이 변경되서 사용될 수 없다면

어떻게 수정하면되는지 알려주던가, 수정된 드라이버를

제공하던가 해야하는데 제조회사의 책임이라고 생각됩니다.

처음에 통보이야기가 맘에 남아있어서 인지

자꾸 표준화를 핑계로 자신들의 게으름을 방어할려고

한다는 생각이 드네요..

어쨌든 새로운 드라이버는 리눅스 환경에 구애받지 않는다고

하니 다행이네요.

이종준의 이미지

제생각은 다릅니다.

애써 만든 드라이버가 배포판 업체의 작업에 따라 무용지물이 될수도 있지않습니까?
그래서 FHS같은것이 있겠지요...
음...삼성의 개발자 분 말씀은 게으름이나 거만함이 아닌 개발에 있어서의 효율을 문제삼고 있는 것이 아닌가 싶습니다.
리눅스가 오픈이니 개발에 있어서도 오픈된 상태로 서로 토론되어지고 개발, 발전되야 하지 않겠습니다.
미국 레드헷사의 개발 입장에 따라서 이랬다가 저랬다가 하는 것은 시간 낭비일 뿐이지요...표준이 필요한 곳은 명확히 만들고 지켜져야 한다고 생각이 듭니다.

준호의 이미지

생각하기에 따라 다르겠지만, 가령 ADSL 접속을 위해서
제조사에서 제공하는 커널을 사용해야 한다고만 생각해
보세요. 별로 안좋겠죠? 그런데 제조사는 자기네에 맞춘
커널을 배포본 회사에서 제공하지 않는다고 투덜댈 수
있겠죠.
제조사에서 커널 2.2.19에 맞추어서 개발을 했는데
나는 커널 2.4.5 를 쓰고 싶습니다. 그런데 드라이버는
커널 2.2.19 바이너리밖에 없는 거죠. 누가 문제일까요?

gs도 마찬가지입니다. 배포본 회사에 따라 기본 제공
드라이버가 다르고, 버전이 다르고, 글꼴이 다르고,
설치 위치가 다른데 제조사에서 임의로 컴파일해놓은
바이너리 안쓰면 안된다고 투덜대면 과연 누가 잘못한
것일까요?

하드웨어 제조사에 따라 NDA등으로 인해 소스를 공개할
수 없는 경우도 있겠지만, 최대한 여러가지 환경에 처한
사용자를 배려하는 것이 드라이버 제조사의 책임이 아닐까
생각합니다. 같은 리눅스라도 Debian, Slackware,
Mizios 사용자는 어떻게 해야 할까요.

익명 사용자의 이미지

드라이버를 만든다는 것은 힘들고 시간이 많이 걸리는 작업입니다.
그에 비해서 배포판의 특정 tool 버전업은 간단하죠.
치명적인 버그가 없는한 그 특정 tool의 버전업을
새로운 통합 드라이버가 나오기전까지 고정하는게
드라이버 개발자 뿐만 아니라 누구의 눈에서 보더라도
나은 선택이죠.

그리고 모든 배포판 업체를 말하는게 아니라
특정 배포판 업체와 어떤 식의 교류를 하는 것으로 보이는데...
아닌가? -_-;