GROPS(1)

명칭
grops - groff 용 PostScript 드라이버

서식
grops [-glmv] [-b n] [-c n] [-w n] [-F dir] [-P prologue] [ files... ]

명령행 옵션과 파라미터의 사이에 공백을 포함하는 것이 가능합니다.

해설
grops (은)는 GNU troff 의 출력을 PostScript 로 변환합니다. 통상 grops (은)는 groff 명령을 -Tps 옵션 첨부로 기동했을 때에 기동됩니다. (groff 의 디폴트입니다. ) 파일을 지정하지 않으면 grops (은)는 표준 입력을 읽습니다. 파일명 - (을)를 지정해도, grops (은)는 표준 입력을 읽습니다. PostScript 출력은 표준 출력에 씁니다. grops (을)를 groff (으)로부터 기동하는 경우, groff -P 에 의해, 옵션을 grops 에 건네줄 수 있습니다.

옵션

-bn 불량인 스풀러와 프레뷰아를 위한 대처를 합니다. 통상, grops 하 Document Structuring Conventions version 3.0 을 채우는 출력을 생성합니다. 치 n (은)는, 불량 프로그램이 수리 가능한 출력을 grops 하지만 실시하도록(듯이) 제어합니다. 값 0 은 grops 에 아무것도 대처하지 않게 시킵니다. %%BeginDocumentSetup (와)과 %%EndDocumentSetup 의 코멘트를 생성해서는 안 되는 경우 1 을 더합니다; 초기 버젼의 TranScript 는 %%EndProlog 코멘트와 최초의 %%Page 코멘트와의 사이에 혼란 당했으므로, 이것이 필요합니다. 인클루드 된 파일로 %! (으)로부터 시작되는 행을 없애지 않으면 안 될 때에는 2 를 더합니다; Sun 의 pageview 프레뷰아로 필요합니다. 인클루드 된 파일로부터 %%Page, %%Trailer, %%EndProlog 코멘트를 없애지 않으면 안 될 때에는 4 를 더합니다; %%BeginDocument (와)과 %%EndDocument 의 코멘트를 이해하지 않는 스풀러에 대해서 필요합니다. PostScript 출력의 최초의 행이 %! PS-Adobe-3. 0 (은)는 아니고 %! PS-Adobe-2. 0 (이)가 아니면 안될 때에는 8 을 더합니다; Sun 의 Newsprint 를 페이지역순을 요구하는 프린터와 함께 사용할 때에 필요합니다. 기본값은

        broken n

    명령을 DESC 파일에 기술하는 것으로 지정 가능합니다. 그렇지 않은 경우는 기본값은 0 입니다.

-cn 각 페이지를 n 부씩 인쇄합니다.

-g  페이지장을 예측합니다. 페이지장을 예측하는 PostScript 코드를 생성합니다. 이미지 area가 수직 위치에서 페이지의 중심으로 있을 때 마셔, 예측은 올바를 것입니다. 이 옵션에 의해, 변경 없음으로 letter (8.5×11)로 A4 의 양쪽 모두에 인쇄 가능한 문서를 생성 가능합니다.

-l  문서를 landscape 형식에서 인쇄합니다.

-m  문서에 대해 수동 피드를 유효하게 합니다.

-Fdir
    서문, 폰트, 디바이스 기술 파일의 검색 패스 전에, 디렉토리 dir/devname (을)를 추가합니다. name (은)는 디바이스명이며, 통상 ps 입니다.

-Pprologue-file
    (폰트 패스중의) 파일 prologue-file (을)를, 디폴트의 서문 파일 prologue 대신에, 서문으로서 사용합니다. 본옵션은, 환경 변수 GROPS_PROLOGUE 에 우선합니다.

-wn 선의 굵기를 M 의 가로폭 (em)의 1000 분의 n 에서 묘화 합니다.

-v  버젼 번호를 표시합니다.

사용법
R, I, B, BI (으)로 불리는 스타일이 폰트 위치 1 에서 4 까지 mount 됩니다. 폰트는 패밀리 A, BM, C, H, HN, N, P, T 에 정리해 이러한 스타일중에 멤버를 가집니다:

AR  AvantGarde-Book

AI  AvantGarde-BookOblique

AB  AvantGarde-Demi

ABI AvantGarde-DemiOblique

BMR Bookman-Light

BMI Bookman-LightItalic

BMB Bookman-Demi

BMBI
    Bookman-DemiItalic

CR  Courier

CI  Courier-Oblique

CB  Courier-Bold

CBI Courier-BoldOblique

HR  Helvetica

HI  Helvetica-Oblique

HB  Helvetica-Bold

HBI Helvetica-BoldOblique

HNR Helvetica-Narrow

HNI Helvetica-Narrow-Oblique

HNB Helvetica-Narrow-Bold

HNBI
    Helvetica-Narrow-BoldOblique

NR  NewCenturySchlbk-Roman

NI  NewCenturySchlbk-Italic

NB  NewCenturySchlbk-Bold

NBI NewCenturySchlbk-BoldItalic

PR  Palatino-Roman

PI  Palatino-Italic

PB  Palatino-Bold

PBI Palatino-BoldItalic

TR  Times-Roman

TI  Times-Italic

TB  Times-Bold

TBI Times-BoldItalic

패밀리의 멤버가 아닌 이하의 폰트도 있습니다:

ZCMI
    ZapfChancery-MediumItalic

SS 및 S (으)로 불리는 특별한 폰트도 있습니다. Zapf Dingbats 는 ZD (으)로서 역버젼의 ZapfDingbats (심볼이 역방향)는 ZDR (으)로서 사용 가능합니다; 이러한 폰트의 대부분의 캐릭터는 이름이 없기 때문에, \N 에서 액세스하지 않으면 되지 않습니다.

grops 하 \X escape sequence에 의해 생성된 여러가지 X 명령을 이해합니다; grops 하 ps: 태그로부터 시작되는 명령만을 번역합니다:

\X'ps: exec code'
    code 안의 임의의 PostScript 명령을 실행합니다. code 실행전에 PostScript 의 현재 위치는 \X 의 위치로 설정됩니다. 원점은 페이지의 좌상이 되어, y 좌표는 페이지를 내리면(자) 증가합니다. 프로시쟈 u (은)는, groff 의 단위를 유효한 좌표계의 것으로 변경하도록(듯이) 정의됩니다. 예를 들면,

        .nr x 1i
        \X'ps: exec \nx u 0 rlineto stroke'

    (은)는 1 인치장의 수평선을 묘화 합니다. code (은)는 그라픽스테이트를 변경 할 수 있습니다만, 페이지의 종단까지 밖에 계속하지 않습니다. def (와)과 mdef 에 의해 지정되는 정의를 포함한 사전은, 사전 스택의 머리에 있겠지요. 당신의 코드가 이 사전에 정의를 부가한다면, \X'ps mdef n' (을)를 사용해, 그것을 위한 공간을 할당할 필요가 있습니다. 정의는 페이지의 끝까지 밖에 계속하지 않습니다. \Y escape sequence를 매크로를 이름 붙이는 인수와 함께 사용하면(자), code (을)를 복수행에 건너게 할 수가 있습니다. 예를 들면,

        .nr x 1i
        .de y
        ps: exec
        \nx u 0 rlineto
        stroke
        ..
        \Yy

    (은)는 1 인치장의 수평선을 묘화 하는 다른 방법입니다.

\X'ps: file name'
    exec 명령와 같습니다만, 코드를 파일 name (으)로부터 읽습니다.

\X'ps: def code'
    code 의 PostScript 정의를 prolog부에 둡니다. \X 명령에 대해 최대 1 정의까지입니다. 긴 정의는 복수의 \X 명령에 건너 분할할 수 있습니다; 모든 code 인수는, 개행으로 단락지어져 단순하게 연결됩니다. 정의는, exec 명령 실행시에 사전 스택에 자동적으로 푸쉬 되는 사전에 놓여집니다. \Y escape sequence를 매크로를 이름 붙이는 인수와 함께 사용하면(자), code (을)를 복수행에 건너게 할 수가 있습니다.

\X'ps: mdef n code'
    def (와)과 같습니다만, code 하 n 개까지 정의를 보관 유지 할 수 있습니다. grops (은)는 몇개의 정의를 code 하지만 포함하는지를 알 필요가 있으므로, 이것들을 포함한 적절한 크기의 PostScript 사전 (을)를 생성할 수 있습니다.

\X'ps: import file llx lly urx ury width [ height ]'
    PostScript 그래픽스를 file (으)로부터 임포트 합니다. 인수 llx, lly, urx, ury (은)는, 디폴트의 PostScript 좌표계에 있어서의 그래픽의 바운딘그복스를 줍니다; 모두 정수일 필요가 있습니다; llx (와)과 lly (은)는 그래픽의 좌하의 x y 좌표입니다; urx (와)과 ury (은)는 그래픽의 우상의 x y 좌표입니다; width (와)과 height (은)는 정수이며, groff 의 단위로 그래픽의 폭과 높이를 줍니다. 그래픽은 늘어나고 줄어들어 해, 이 폭과 높이가 되어, 그래픽의 좌하각은 \X 명령에서 관련 지을 수 있었던 장소에 위치합니다. 인수 height 를 생략 하면(자), x y 방향이 동등하게 축척 되어 지정한 폭이 됩니다. \X 명령의 내용은 troff 하지만 해석하지 않는 것에 주의해 주세요; 그래픽을 위한 수직 방향의 공백은 자동적으로 부가되지 않고, width (와)과 height 의 인수에 슬캘링 인디케이터(indicator)를 부가하는 것은 용서되지 않습니다. PostScript 파일이 Adobe Document Structuring Conventions 로부터 완성되어, %%BoundingBox 코멘트를 포함한 경우, psbb 리퀘스트 실행에 의해, groff 중에서 바운딘그복스를 자동적으로 취득 가능합니다.

    -mps 매크로 ( grops 하지만 groff 명령로부터 기동되었을 때에는 자동적으로 로드 됩니다)는, 화상을 용이하게 임포트 할 수 있도록(듯이) 한다 PSPIC 매크로를 인클루드 합니다. 포맷은 이하입니다.

        .PSPIC [ -L | -R | -I n ] file [ width [ height ]]

    file (은)는 화상을 포함한 파일명; width (와)과 height (은)는 요구하는 화상의 가로폭과 높이입니다. 인수 width (와)과 height 에는 슬캘링 인디케이터(indicator)를 붙여도 상관하지 않습니다; 디폴트의 슬캘링 인디케이터(indicator)는 i 입니다. 이 매크로는, 화상의 폭이 width 이하 및 화상의 높이가 height 이하의 범위에 대해, 화상을 x y 방향 동등해 축척 합니다. 디폴트로, 화상은 수평적으로 중심으로 놓여집니다. -L 및 -R (은)는 각각 화상을 왼쪽 맞춤 및 오른쪽 대고 합니다. -I 옵션은, 화상을 n 만 인덴트 합니다.

\X'ps: invis'

\X'ps: endinvis'
    이러한 \X 명령에서 둘러싸인 텍스트와 묘화 커멘드는 출력을 생성하지 않습니다. 이 명령은, troff 의 출력을 grops 그리고 처리하기 전에 보기 위해서(때문에) 있습니다; 프레뷰아가 있는 캐릭터 또는 구조를 표시할 수 없을 때, 이러한 \X 명령로 둘러싸는 것으로, 대신의 캐릭터 또는 구조를 preview용으로 사용할 수 있습니다.

    예를 들면, 표준의 X11 폰트에는 포함되지 않으므로, gxditview 하 \(em 캐릭터를 올바르게 표시할 수 없습니다; 이 문제는 이하의 리퀘스트를 실행하는 것으로써 해결할 수 있습니다.

        .char \(em \X'ps: invis'\
        \Z'\v'-. 25m'\h'. 05m'\D'l . 9m 0'\h'. 05m''\
        \X'ps: endinvis'\(em

    이 경우, gxditview 하 \(em 캐릭터를 표시하지 못하고 선을 긋습니다만, grops 하 \(em 캐릭터를 인쇄해 선을 무시합니다.

grops 에의 입력은 troff (1) 의 출력 형식일 필요가 있습니다. 이것은 groff_out (5) 에 기재되어 있습니다. 또, 사용하는 디바이스에 관한 디바이스 및 폰트의 기술 파일은 사양에 합치할 필요가 있습니다. ps 디바이스에 대해서 제공되고 있는 디바이스 및 폰트의 기술 파일은 완전하게 이 사양에 합치합니다. afmtodit(1) (을)를 사용해 AFM 파일로부터 폰트 파일을 생성 가능합니다. 해상도는, 정수치 한편 sizescale 의 72 배의 배수일 필요가 있습니다. ps 디바이스는 해상도 72000 및 sizescale 1000 을 사용합니다. 디바이스 기술 파일은 명령

    paperlength n

(을)를 포함할 필요가 있습니다. 이것은 생성되는 출력이, 페이지장 n 머신 단위에 적절하고 있는 것을 의미합니다. 각 폰트 기술 파일은 명령

    internalname psname

(을)를 포함할 필요가 있습니다. 이것은 PostScript 에 있어서의 폰트명이 psname 인 것을 의미합니다. 또, 명령

    encoding enc_file

(을)를 포함한 경우도 있습니다. 이것은 PostScript 폰트가 enc_file 에 기재된 encode 방식에서 재차 encode 할 필요가 있는 것을 의미합니다; 이 파일은 이하의 형식의 행의 순차 순서로부터 완성됩니다:

    pschar code

여기서 pschar (은)는 PostScript 에 있어서의 캐릭터명이며, code (은)는 encode에 있어서의 위치를 10 진정수로 나타낸 것입니다. 폰트 파일에 대해 주어지는 각 캐릭터의 코드는, encode 파일에 있어서의 캐릭터의 코드에 대응하는지, 혹은 PostScript 폰트가 재차 encode되어 있지 않은 경우는 디폴트 encode에 있어서의 코드에 대응할 필요가 있습니다. 이 코드를 \N escape sequence와 함께 troff 안으로 사용하는 것으로 캐릭터를 선택 가능합니다. 이것은, 캐릭터가 groff 에서의 이름을 가지지 않아도 가능합니다. 폰트 파일중의 모든 캐릭터는 PostScript 폰트중에 존재하는 것이 필요하고, 폰트 파일중에서 주어지는 폭은 PostScript 폰트로 사용되는 폭에 매치 할 필요가 있습니다. grops (은)는, groff 에 있어서의 이름이 space 인 캐릭터를 공백 (페이지상에 아무것도 표시를 하지 않는다)이다고 하고 있습니다; 이것에 의해, 효율이 좋은 작은 PostScript 출력을 얻을 수 있습니다.

grops (은)는 문서 인쇄에 필요한 다운로드 가능한 폰트를 자동적으로 인클루드 합니다. 요구시에 grops 에 인클루드 되는 다운로드 가능한 모든 폰트는 /usr/share/groff_font/devps/download 에 열거할 필요가 있습니다; 이것은 이하의 형식의 복수의 행으로부터 완성됩니다.

    font filename

여기서 font (은)는 폰트의 PostScript 에 있어서의 이름이며, filename (은)는 폰트를 포함한 파일의 이름입니다; # (으)로부터 시작되는 행과 공행은 무시됩니다; 필드는 탭 혹은 공백에 의해 단락짓습니다; filename 의 검색은, groff 의 폰트 시학 파일의 검색과 같은 방식에서 행해집니다. download 파일 자신도 같은 방식에서 검색됩니다.

다운로드 가능한 폰트 혹은 임포트 된 문서를 포함한 파일이 Adobe Document Structuring Conventions 를 채우는 경우, grops (은)는 파일중의 코멘트를 충분히 해석해, 출력도 이것을 채우도록(듯이) 합니다. 또, download 파일에 열거된 필요한 폰트 리소스 및 파일 리소스를 제공합니다. 또, 리소스간의 의존관계(dependencies)를 취급하는 일도 가능합니다. 예를 들면, 다운로드 가능한 Garamond 폰트 및 다운로드 가능한 Garamond-Outline 폰트가 있어, 후자가 전자에 의존하면(자) 가정하면(자) (대체로, 후자는 전자의 폰트 사전을 카피해 PaintType 를 변경한 것과 정의됩니다), PostScript 문서중에서 Garamond 가 Garamond-Outline 보다 전에 나타날 필요가 있습니다. grops 하지만 이것을 자동적으로 취급하기 위해서(때문에)는, Garamond-Outline 용의 다운로드 가능한 폰트 파일이 Garamond 에 의존하는 것을 Document Structuring Conventions 를 사용해 가리킵니다. 예를 들면 이하와 같이 시작하는 것으로 가리킵니다.

    %! PS-Adobe-3. 0 Resource-Font
    %%DocumentNeededResources: font Garamond
    %%EndComments
    %%IncludeResource: font Garamond

이 경우, Garamond 와 Garamond-Outline 를 download 파일에 열거할 필요가 있습니다. 다운로드 가능한 폰트는, 자신의 이름을 %%DocumentSuppliedResources 코멘트에 포함해 되지 않습니다.

grops 하 %%DocumentFonts 코멘트를 해석하지 않습니다. %%DocumentNeededResources, %%DocumentSuppliedResources, %%IncludeResource, %%BeginResource, %%EndResource 코멘트 (혹은 낡다 %%DocumentNeededFonts, %%DocumentSuppliedFonts, %%IncludeFont, %%BeginFont, %%EndFont 코멘트)는 사용됩니다.

환경 변수

GROPS_PROLOGUE
    foo (으)로 설정되어 있는 경우, grops (은)는 (폰트 패스중의) 파일 foo (을)를 디폴트의 서문 파일 prologue 대신에 사용합니다. 옵션 -P (은)는, 이 환경 변수에 우선합니다.

관련 파일
/usr/share/groff_font/devps/DESC 디바이스 기술 파일.

/usr/share/groff_font/devps/F
    폰트 F 의 폰트 기술 파일.

/usr/share/groff_font/devps/download
    다운로드 가능한 폰트의 리스트.

/usr/share/groff_font/devps/text.enc
    텍스트 폰트용의 encode 방법.

/usr/share/tmac/ps.tmac
    grops 하지만 사용하는 매크로; troffrc 에 의해 자동적으로 로드 됩니다.

/usr/share/tmac/pspic.tmac
    PSPIC 매크로의 정의. ps.tmac (으)로부터 자동적으로 로드 됩니다.

/usr/share/tmac/psold.tmac
    낡은 PostScript 프린터에는 존재하지 않는 캐릭터 (예를 들면 `eth'나 `thorn') 의 사용을 금지하는 매크로.

/usr/share/tmac/tmac.psnew
    tmac.psold 의 효과를 지우는 매크로.

/tmp/gropsXXXXXX
    일시파일.

관련 항목
afmtodit(1), groff(1), troff(1), psbb(1), groff_out(5), groff_font(5), groff_char(7)