[질문] 프린터드라이버를 만들려면..

elecguy의 이미지

안녕하세요.
저는 프린터 콘트롤러와 드라이버를 만드는 회사에 근무하고 있습니다.
그 동안 리눅스에서는 HP용프린터드라이버로 출력해왔습니다.

개인적으로 리눅스용 프린터드라이버를 만들어 보고 싶은데..
어디서부터 시작해야할지 감이 잡히질 않네요?
lpr 이 나을지? CUPS 가 나을지..?
조언을 듣고 싶습니다.

mach의 이미지

목표를 보다 분명하게 하심이 좋습니다. 이를 테면 "특정 프로그램 소스코드를 이쁘고 보기좋게 출력해주는 프로그램"이라던가 하는식으로요.

프린터 드라이버를 만드신다면, 프린터의 제어 언어도 중요하지만, 포맷팅도 고려하셔야 합니다.
일반 텍스트 파일을 출력한다면 그리 어려운 작업이 아니지만, 한장짜리가 아닌 여러 장을 가지는, 그리고, 그래픽을 포함하는 문서를 출력하는 드라이버를 만드는 것은 쉬운작업이 아닙니다.
전면 그래픽이라면 오히려 쉬울 수도 있지만, 스크립트형태(예를들어 ~.doc)같은 파일을 출력하려면 고민좀 해야되지요. 또한, 포스트스크립파일등을 출력하는것도 고민좀 해야합니다. 페이지네이션등에서요. 심지어 단순 텍스트를 출력할때도 영문의 경우 'i'자와 같은 경우 kernning(글자간격조정)을 고려해야합니다.(요즘 프린터는 이것도 자동 지원할는지 모르겠습니다) 고민할게 한두가지가 아닙니다.

* 참고자료로 ghostscript를 추천합니다. postscript드라이버와 폰트드라이버 및 디스플레이 디바이스와 각종 프린터용 디바이스드라이버를 제공하는 오픈소스 프로그램입니다. 저는 오래전에 이 프로그램에서 type1폰트 드라이버를 추출해서 사용했었던 적이 있었습니다. 아주 훌륭한 프로그램이라고 생각합니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

elecguy의 이미지

참고로, 현재 회사에서 윈도용 프린터드라이버를 만들고 있습니다. HP PCL 호환이고요.
대부분의 얘플리케이션을 지원하는 프린터드라이버를 만들고 싶습니다.
폰트 커닝 이나 디더링 등은 이미 익숙합니다.

폐인, 노가다 그 끝은..?

댓글 달기

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