국제 언어 환경 설명서

7장 mp를 사용한 인쇄 필터 강화

이 장은 mp 유틸리티를 사용한 인쇄 강화에 대해 설명합니다. 이 장에서는 다음 내용을 설명합니다.

UTF-8에 대한 인쇄

UTF-8로 작성된 텍스트 파일을 포함하는 다양한 입력 파일 형식을 인쇄할 수 있는 향상된 mp 인쇄 필터가 현재 Solaris 환경에서 사용 가능합니다. 이 인쇄 필터는 트루타입과 유형 1 크기 조절 가능 글꼴 및 Solaris 시스템에서 사용할 수 있는 X11 비트맵 글꼴을 사용합니다. 또한 프린터 상주 글꼴을 사용할 수도 있고 X 인쇄 서버 클라이언트 역할을 할 수 있습니다.

유틸리티를 사용하여 표준 포스트스크립트TM로 출력한 뒤 포스트스크립트 프린터로 전송할 수 있습니다. mp 유틸리티는 X 인쇄 서버 클라이언트로 구성할 때 모든 페이지 설명 언어를 출력할 수도 있고 mp는 인쇄 서버의 지원을 받습니다.

유틸리티를 사용하려면 다음 명령을 입력하십시오.

system% mp filename | lp

또한 mp 유틸리티는 stdin 스트림을 받아들이기 때문에 필터로 사용할 수도 있습니다.

system% cat filename | mp | lp

이 유틸리티를 라인 프린터용 인쇄 필터로 설정할 수 있습니다. 예를 들어, 다음 명령 시퀀스는 프린터 서비스 LP에 프린터 lp1mp 형식의 파일만을 받아들인다고 알려줍니다. 이 명령은 또한 프린터 lp1/dev/ttya 포트에 설치합니다. 자세한 내용은 lpadmin(1M) 설명서 페이지를 참조하십시오.

system# lpadmin -p lp1 -v /dev/ttya -I MP
system# accept lp1
system# enable lp1

lpfilter(1M)을 사용하여 필터에 대한 유틸리티를 다음과 같이 추가할 수 있습니다.

system# lpfilter -f lp1 -F pathname 

이 명령은 필터 설명 파일인 pathname을 통해 변환기(이 경우에는 mp)를 사용할 수 있음을 LP에 알려줍니다. pathname contains the following information:

Input types: simple 
Output types: MP
Command: /usr/bin/mp

필터는 /usr/bin/mp를 사용하여 기본 유형 파일 입력을 포스트스크립트 출력으로 변환합니다.

UTF-8 텍스트 파일을 인쇄하려면 다음 명령을 사용하십시오.

system% lp -T MP UTF-8-file

자세한 내용은 mp(1) 설명서 페이지를 참조하십시오.

mp 인쇄 필터 강화 개요

mp 인쇄 필터는 현재 Solaris 릴리스에서 향상되었습니다. 최신 mp 는 로켈의 출력 파일을 만드는 세 개의 다른 모드에서 내부적으로 작동하여 국제 텍스트를 인쇄합니다. 사용 가능한 모드는 다음과 같습니다.

다음 절은 특정 인쇄 방법을 사용하는 시기와 이러한 인쇄 방법에 대하여 mp가 어떤 구성 및 지원 파일을 사용하는지 설명합니다.

로켈 특정 글꼴 구성 파일 mp.conf와 함께 mp 사용하기

만약 -D-P가 명령줄에서 주어지지 않았고, prolog.ps 파일이 /usr/openwin/lib/locale/$LANG/print 또는 /usr/lib/lp/locale/$LANG/mp에도 없다면 로켈 특정 글꼴 구성 파일인 mp.conf를 기본적으로 사용합니다. prolog.ps 파일은 파일의 포스트스크립트 내장 글꼴을 사용하여 mp를 인쇄하게 합니다. prolog.ps 가 로켈이 존재하더라도 -M 옵션을 사용하면 prolog.ps 파일이 무시되고 대신 mp.conf 파일이 사용됩니다.

이 방법은 /usr/lib/lp/locale/$LANG/mp/mp.conf 글꼴 구성 파일을 사용합니다. 대체 글꼴을 사용해야 하는 경우를 제외하고 이 파일을 변경하지 않아도 됩니다. 이 파일은 트루타입, 유형 1 또는pcf 글꼴로 구성될 수 있습니다.

로켈 특정 포스트스크립트 프롤로그 파일과 함께 mp 사용하기

/usr/lib/lp/locale/C/ 디렉토리는 이 인쇄 모드에 공통된 .ps 인쇄 페이지 레이아웃 파일을 포함합니다. 파일을 사용자 정의하는 방법에 대한 설명은 프롤로그 파일 추가 및 사용자 정의에서 제공됩니다.

만약 -D 또는 -P가 명령줄에서 주어지지 않았고, /usr/openwin/lib/locale/$LANG/print/prolog.ps가 존재하면 prolog.ps 파일이 출력을 위해 미리 결정됩니다. .ps 프롤로그 페이지의 인쇄 스타일에 따라 레이아웃 파일도 출력을 위해 미리 결정됩니다.

이 인쇄 방법은 포스트스크립트 글꼴 파일만 사용합니다. prolog.ps 파일의 사용자 정의는 프롤로그 파일 추가 및 사용자 정의에서 설명됩니다.

Xprt(X 인쇄 서버) 클라이언트로 mp 사용하기

mp를 Xprt 클라이언트로 사용하면 mp는 Xprt 인쇄 서비스가 지원하는 네트워크에 연결된 모든 프린터의 출력을 인쇄할 수 있습니다. Xprt 클라이언트로서 mp는 포스트스크립트 및 PCL의 여러 버전을 지원합니다.

Xprt 클라이언트는 다음 규척을 바탕으로 Xprt 서버에 대하여 연결을 시도합니다

mp.conf구성 파일을 사용하는 지역화

구성 파일은 글꼴 항목 또는 글꼴 그룹 항목을 추가 또는 변경하는 유연성을 제공합니다.

시스템 기본 구성 파일은 /usr/lib/lp/locale/$LANG/mp/mp.conf이며 여기서 $LANG은 인쇄가 이루어지는 로켈의 로켈 환경 변수입니다. -u config.file path 옵션과 함께 개인 구성 파일을 지정할 수 있습니다.

호환용 문자로 코드화된 슬러 또는 변수 그림 문자를 표현 형식이라고 합니다. mp.conf 파일은 로켈의 코드 포인트를 그 코드 포인트를 인쇄하는데 사용되는 글꼴의 코드화된 표현 형식으로 매핑하는데 주로 사용됩니다.

중간 코드 포인트는 넓은 문자이거나 이식 가능 레이아웃 서비스(PLS) 레이어의 출력일 수 있습니다. 복잡한 텍스트 레이아웃 인쇄를 위해서는 중간 코드 포인트가 PLS 출력이어야 합니다. mp가 생성한 기본 중간 코드는 PLS 출력입니다.

현재 지원되는 글꼴 형식은 PCF(Portable Compiled Format), TrueType 및 Type1 형식입니다. 시스템 상주 및 프린터 상주 Type1 글꼴이 모두 지원됩니다. mp.conf 구성 파일의 형식과 내용에 대하여 다음 정보를 기억하십시오.

mp.conf 파일의 다른 부분은 다음을 포함합니다.

글꼴 별명 짓기

mp.conf 파일의 글꼴 별명 짓기 부분은 인쇄에 사용되는 각 글꼴의 별명을 정의하는데 사용됩니다. 이 절의 각 행은 다음과 같은 형식입니다.

FontNameAlias font-alias-name font-type font-path 			
font-alias-name

글꼴 이름 별명 짓기의 일반적인 규약은 글꼴의 코드화/스크립트 Roman, Bold, Italic 또는 BoldItalic (R, B, I 또는 BI)인지를 나타내는 문자가 뒤에 오도록 지정하는 것입니다.

예를 들어, /usr/openwin/lib/X11/fonts/75dpi/courR18.pcf.Z, 이것은 iso88591 로마 글꼴이기 때문에 별명 iso88591R이 할당될 수 있습니다.

font-type

가능한 값은 .pcf 글꼴에 대하여 PCF, Adobe Type1 글꼴에 대하여 Type1, TrueType 글꼴에 대하여 TrueType을 지정합니다. 이러한 세 가지 글꼴 종류만 이 mp.config 파일에서 구성될 수 있습니다.

font-path

글꼴 파일에 절대 경로 이름을 부여합니다. 유형1 프린터 상주 글꼴에 대해서는 Helvetica와 같은 글꼴 이름을 지정합니다.

예를 들어,

FontNameAlias   prnHelveticaR   Type1   Helvetica
입니다.

글꼴 그룹 정의

동일한 유형의 글꼴을 조합하여 글꼴 그룹을 형성할 수 있습니다. 글꼴 그룹의 형식은 다음과 같습니다.

keyword

FontGroup.

fontgroupname

글꼴의 그룹 이름

GroupType

글꼴 유형동일한 유형의 글꼴(PCF, Type1, TrueType)에 대해서만 글꼴 그룹을 만드십시오.

Roman

글꼴 그룹의 로마 글꼴 이름

Bold

글꼴 그룹의 굵은체 글꼴 이름

Italic

글꼴 그룹의 기울임꼴 글꼴 이름

BoldItalic

글꼴 그룹의 굵은 기울임 글꼴 이름.

그룹을 만들려면 로마 글꼴 항목만 필요합니다. 굵은체, 기울임꼴 및 굵은 기울임 글꼴은 선택적입니다. 다른 유형의 글꼴은 예를 들어, 우편/뉴스 기사의 헤더 행을 표시하는데 사용됩니다. 로마 글꼴만 정의되면 다른 글꼴 대신 사용됩니다.

매핑 부분

mp.conf 파일의 매핑 부분은 로켈에서 중간 코드 범위를 글꼴 그룹에 매핑합니다. 이 절의 각 행에 대한 형식은 다음과 같습니다.

keyword

MapCode2글꼴.

range_start

0x로 시작되는 4바이트 16진수 값. 하나 이상의 글꼴 그룹에 매핑되는 코드 범위의 시작을 나타냅니다.

range_end

매핑될 코드 범위의 끝을 나타냅니다. 단일 중간 코드 포인트가 대상 글꼴에 매핑될 때는 '-' 값만 가능합니다.

group

표현 형식이 인쇄될 Type1, PCF 또는 TrueType 글꼴 그룹.

연관 부분

mp.conf 파일의 연관 부분은 각 글꼴을 글꼴 코드화의 표현 형식에 중간 코드 포인트를 매핑하는 공유 객체와 연관시킵니다. 이 절의 각 행에 대한 형식은 다음과 같습니다.

keyword

CnvCode2Font.

font alias name

글꼴에 정의된 별명

mapping function

중간 코드를 받아들이고 글꼴 코드화의 표현 형식을 반환하면 이것은 그림 문자 색인을 얻고 그림 문자를 그리는 데 사용됩니다.

파일 경로 매핑 함수

매핑 기능을 포함하는 .so 파일 이름dumpcs를 사용하여 EUC 로켈의 중간 코드 세트를 찾을 수 있습니다.


주 –

mp(1)이 사용하는 현재 트루타입 엔진은 형식 4와 PlatformID 3 cmap만 다룰 수 있습니다. Microsoft .ttf 파일만 구성할 수 있습니다. 추가로, 문자 맵 코드화인 트루타입 글꼴 엔진이 제대로 작동하기 위해 유니코드 또는 기호여야 합니다. Solaris 환경의 .ttf 글꼴 대부분은 이러한 제약을 준수하기 때문에 mp.conf 파일 내에서 Solaris 소프트웨어의 모든 트루타입 글꼴을 매핑할 수 있습니다.


PCF 유형1 X Logical Fonts Description (XLFD)에 해당하는 글꼴에 매핑하는 공유 객체를 작성할 수 있습니다. 그런 다음 중간 코드 범위에서 XLFD이 지정하는 코드화로 매핑하는 공유 객체를 작성할 수 있습니다. 예를 들면 다음과 같습니다.

-monotype-arial-bold-r-normal-bitmap-10-100-75-75-p-54-iso8859-8

해당 PCF 글꼴은 다음과 같습니다.

/usr/openwin/lib/locale/iso_8859_8/X11/fonts/75dpi/ariabd10.pcf.Z

이 글꼴은 ISO 8859-8로 코드화되므로 공유 객체는 중간 코드와 해당 ISO 8859-8 코드 포인트 사이를 매핑해야 합니다.

XLFD가 있는 트루타입 글꼴의 경우

-monotype-arial-medium-r-normal--0-0-0-0-p-0-iso8859-8

해당 글꼴은 다음과 같습니다.

/usr/openwin/lib/locale/iso_8859_8/X11/fonts/TrueType/arial__h.ttf

이전 트루타입 글꼴의 cmap 코드화가 유니코드로 되어 있기 때문에 중간 코드와 유니코드 사이를 매핑해야 합니다. 트루타입 글꼴의 예제에서 히브리 문자(PLS 레이어가 만듬)에 해당하는 en_US.UTF-8 로켈 예제 중간 코드가 0xe50000e9라고 가정합니다. 글꼴이 유니코드로 코드화되기 때문에 0xe50000e9를 전달할 때 출력이 유니코드의 표현 형식에 해당하는 방식으로 해당 .so 모듈 내에서 함수를 설계하십시오. 현재 예제는 0x000005d9입니다.

매핑 함수에 대한 함수 프로토타입은 다음과 같아야 합니다.

unsigned int function(unsigned int inter_code_pt)

다음은 mp.conf에서 사용할 수 있는 선택적 키워드/값 쌍입니다.

PresentationForm        WC/PLSOutput

기본값은 PLSOutput입니다. 사용자가 WC를 지정하면 생성되는 중간 코드는 넓은 문자입니다. CTL 인쇄의 경우 이 기본값이 사용되어야 합니다.

로켈이 비CTL 로켈이고 키보드 값이 PLSOutput이면 해당 값은 무시되고 대신 mp(1)가 넓은 문자 코드를 생성합니다.

로켈이 CTL을 지원하는 경우 다음 표에 나열된 선택적 키워드/값 쌍을 사용할 수 있습니다. 이러한 변수는 테이블의 중간 열에 주어진 모든 가능한 값을 가정할 수 있습니다.

표 7–1 선택적 키워드/값 쌍

선택적 키워드 

선택적 값 

기본값 

방향

ORIENTATION_LTR/

ORIENTATION_RTL/

ORIENTATION_CONTEXTUAL

ORIENTATION_LTR

숫자

NUMERALS_NOMINAL/

NUMERALS_NATIONAL/

NUMERALS_CONTEXTUAL

NUMERALS_NOMINAL

TextShaping

TEXT_SHAPED/

TEXT_NOMINAL/

TEXT_SHFORM1/

TEXT_SHFORM2/

TEXT_SHFORM3/

TEXT_SHFORM4

TEXT_SHAPED

프린터 상주 글꼴을 추가하는 방법

다음 절차의 예제는 새로운 PCF, 트루타입 또는 유형1 프린터 상주 글꼴을 구성 파일에 추가하는 방법을 보여줍니다.

이 절차를 완료하여 현재 구성된 글꼴을 대체합니다. 첫번째 두 단계에서 범위 0x00000021 - 0x0000007f에 문자를 표시하는 데 사용되는 PCF 글꼴은 트루타입 글꼴로 대체됩니다.

  1. 새 글꼴을 추가하기 전에 다음과 같이 현재 구성된 글꼴에 해당하는 구성 파일에서 다양한 구성 요소를 찾으십시오.

    FontNameAlias iso88591R  PCF  /usr/openwin/lib/X11/fonts/75dpi/courR18PCF.Z
    FontNameAlias iso88591B  PCF  /usr/openwin/lib/X11/fonts/75dpi/courB18PCF.Z
    .
    .
    .
    FontGroup       iso88591         PCF       iso88591R iso88591B
    .
    .
    .
    MapCode2Font    0x00000020      0x0000007f      iso88591
    .
    .
    .
    CnvCode2Font iso88591R _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so
    CnvCode2Font iso88591B _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so

    예를 들어, /usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf 글꼴을 en_US.UTF-8 로켈에 매핑할 수 있습니다. HG-MinchoL.ttf은 유니코드 트루타입 글꼴 파일이기 때문에 .so 모듈 매핑 기능을 사용하여 직접 받는 ucs-2 코드 포인트로 돌아갑니다.

    unsigned short _ttfjis0201(unsigned short ucs2) {
                     return(ucs2);
             }
    1. ttfjis0201.c 파일에 매핑을 저장합니다.

    2. 공유 객체 파일을 작성합니다.

      cc -G -Kpic -o ttfjis0201.so ttfjis0201.c
  2. /usr/openwin/lib/locale/ja/X11/fonts/75dpi/gotmrk20.pcf.Z와 같은 PCF 파일을 매핑하려면 /usr/openwin/lib/locale/ja/X11/fonts/75dpi/fonts.dir 파일의 XLFD에 해당하는 다음 코드화를 확인하십시오.

    -sun-gothic-medium-r-normal--22-200-75-75-c-100-jisx0201.1976-0
    1. jisx0201은 코드화이기 때문에 ucs-2에서 jisx0201로 매핑되는 공유 객체를 준비하십시오. .so 모듈을 작성하기 위한 매핑 테이블을 얻으십시오. 유니코드 로켈의 경우 ftp.unicode.org/pub/MAPPINGS/ 디렉토리의 유니코드에 대한 문자 세트 매핑을 찾으십시오.

    2. 이 매핑을 사용하여 xu2jis0201.c 파일을 작성하십시오.

      unsigned short _xu2jis0201(unsigned short ucs2) {
                               if(ucs2 >= 0x20 && ucs2 <= 0x7d )
                                       return (ucs2);
                               if(ucs2==0x203e)
                                       return (0x7e);
                               if(ucs2 >= 0xff61 && ucs2 <= 0xff9f)
                                       return (ucs2 - 0xff60 + 0xa0);
                              return(0);
                       }
    3. 매핑 파일을 작성할 때 모든 usc—2jisx0201 케이스에 포함시키십시오.

      cc  -G -o xu2jis0201.so xu2jis0201.c

공유 객체 파일을 작성하는 방법

다음 절차의 예제는 공유 객체 파일을 작성하는 방법을 보여줍니다.

  1. 글꼴을 추가하려면 mp.conf 파일의 섹션에 해당하는 다음 예제의 행을 편집하십시오.

    다음 예제는 트루타입 글꼴을 추가하는 방법을 보여줍니다. .so 경로는 xu2jis0201.so 파일을 가리킵니다.

    FontNameAlias   jis0201R TrueType /home/fn/HG-Minchol.ttf
    FontGroup     jis0201 TrueType jis0201R
    MapCode2Font  0x0020 	0x007f  jis0201
    CnvCode2Font   jis0201R 	 _ttfjis0201 <.so path>

    주 –

    PCF 글꼴을 추가하려면 키워드를 트루타입에서 PCF로 변경하십시오.


  2. 변경된 mp.conf 파일로 mp 명령을 호출하여 범위 0x0020-0x007f를 새 글꼴에서 인쇄하십시오.

    다른 일본어 문자 범위도 동일하게 매핑합니다.예를 들어so 파일은, 0x0000FF61에서 0x0000FF9F범위를 매핑할 수 있습니다.


    주 –

    역방향 호환성을 유지하려면 /usr/openwin/lib/locale/$LANG/print/prolog.ps 파일을 사용하여 현재 로켈에서 출력을 작성할 수 있습니다. prolog.ps 파일을 사용할 때 구성 파일이 필요합니다.


/usr/lib/lp/locale/en_US.UTF-8/mp 디렉토리에서 예제 mp.conf 파일을 찾을 수 있습니다.

프롤로그 파일 추가 및 사용자 정의

프롤로그 파일은 다음 두 가지 주요한 범주로 나눌 수 있습니다.

포스트스크립트 파일 사용자 정의

포스트스크립트 파일은 다음 범주로 나뉩니다.

Locale-Dependent prolog Files

prolog.ps 파일은 흔히 사용되지 않는 글꼴을 설정하기 위해 사용됩니다. 응용프로그램은 인쇄를 위해 미리 정의된 포스트스크립트 글꼴 이름을 사용합니다. 프롤로그 파일은 데스크 세트 캘린더 관리자 및 mp에 대하여 최소한 다음 글꼴 이름을 정의해야 합니다.

다음 예제는 지정된 특정한 로컬 문자를 인쇄하기 위해 다음 글꼴을 사용합니다.

100 100 moveto
/LC_Times-Roman findfont 24 scale font setfont
(Any text string in your locale) show 

Solaris 지역화 키트는 일본어 환경에 대해 예제 prolog.ps 파일을 제공합니다. 대신, 이 파일은 /usr/openwin/lib/locale/ja/print/ 디렉토리에 있습니다.

다음 예제는 기존 prolog.ps 파일에서 복합 글꼴을 추가 또는 변경하는 방법을 보여줍니다.

%
(Foo-Fine) makecodeset12 
(Base-Font) makeEUCfont
%

예를 들어, LC_Base-Font라는 복합 글꼴을 정의할 수 있습니다. LC_Base-Font는 로켈 문자 세트와 Base-Font를 포함하는 Foo-Fine 글꼴의 복합입니다. 글꼴을 추가 또는 변경하기 위해서는 포스트스크립트 프로그래밍에 대한 깊이 있는 지식이 필요하지 않습니다.

prolog.ps 파일을 작성하는 최선의 방법은 예제 버전을 연구하는 것입니다. prolog.ps의 예에서는 두 가지 루틴 즉,makecodeset12makeEUCfont이 작성되어야 합니다. 루틴 makecodeset12는 로컬 글꼴 코드화 정보를 설정합니다. 이 루틴은 로컬에 따라 다릅니다. 루틴 makeEUCfont는 기반 글꼴과 로컬 글꼴을 조합하여 복합 글꼴을 형성합니다. 프롤로그 파일의 작성자는 makecodeset12makeEUCfont를 작성하기 위해 포스트스크립트를 잘 알고 있어야 합니다.

prolog.ps 파일 지원은 역방향 호환성을 위해서만 유지됩니다. 로컬에 대한 인쇄 출력을 생성하기 위해 새로운 prolog.ps 파일을 작성하지 마십시오. 대신 mp.conf를 사용하십시오.

prolog.ps 파일의 경로는 다음과 같습니다.

/usr/openwin/lib/locale/$LANG/print/prolog.ps

공통 포스트스크립트 프롤로그 파일

공통 프롤로그 파일은 mp.common.ps 입니다.

모든 다른 페이지 레이아웃 프롤로그 파일은 이 파일을 포함해야 합니다.

mp.common.ps 파일은 /usr/lib/lp/locale/C/mp/ 디렉토리에 상주합니다. 이 파일은 글꼴을 표준 코드화에서 ISO 8859–1 코드화로 다시 코드화하는 포스트스크립트 루틴을 포함합니다. .reencodeISO 루틴은 인쇄 레이아웃 프롤로그 파일에서 호출되어 글꼴 코드화를 변경합니다. 보통 이 프롤로그 파일은 사용자 정의가 필요하지 않습니다. 사용자가 자신의 프롤로그 파일을 작성 중이면 환경 변수 PROLOGUE가 수정된 프롤로그 파일을 포함하는 디렉토리를 가리키도록 설정합니다.

인쇄 레이아웃 프롤로그 파일

인쇄 레이아웃 프롤로그 파일, mp.*.ps 파일은 인쇄용 페이지 레이아웃을 제어하는 루틴을 포함합니다. 사용자 이름, 인쇄 날짜, 페이지 번호가 있는 인쇄 페이지의 헤더 및 푸터 외에 프롤로그 파일은 다른 정보를 제공할 수 있습니다. 예를 들어, 프롤로그 파일은 유효 인쇄 영역 크기와 가로 및 세로 인쇄 모드를 제공할 수 있습니다.

인쇄 레이아웃 프롤로그 파일은 다음과 같습니다.

표준 기능 세트가 모든 프롤로그 파일에서 정의되어야 합니다. 함수는 새 인쇄 페이지가 시작, 인쇄 페이지가 종료 또는 새 열이 종료될 때 호출됩니다. 이러한 함수의 구현은 인쇄 출력의 인쇄 속성을 정의합니다.

다음 포스트스크립트 변수는 mp 바이너리에 의해 런타임에 정의됩니다. 모든 인쇄 레이아웃 파일은 사용자 이름, 주제, 인쇄 시간과 같은 동적 정보를 인쇄하기 위해 이러한 변수를 사용할 수 있습니다. 변수에서 취해진 정보는 일반적으로 인쇄 페이지의 헤더 또는 푸터에 나타납니다.

User

시스템 passwd 파일에서 얻은 mp를 실행하는 사용자의 이름

MailFor

인쇄할 항목의 유형 이름을 보유하는데 사용되는 변수. 이 변수의 가능한 값은 다음과 같습니다.

  • Listing for– - 입력이 텍스트 파일일 때

  • Mail for– - 입력이 우편 파일일 때

  • Article from– - 입력이 새 그룹의 항목일 때

Subject

우편 및 뉴스 헤더에서 취해진 주제- s 옵션을 사용하여 일반 텍스트 파일은 물론 우편 및 뉴스 파일에 주제를 강제할 수 있습니다.

Timenow

헤더와 푸터에 나타나는 인쇄 시간이 정보는 localtime() 함수에서 취해집니다.

다음 함수는 프롤로그 파일의 인쇄 레이아웃에서 구현됩니다. 이러한 모든 함수는 부속 함수를 사용할 수 있습니다.

endpage

사용법: page_number endpage

인쇄된 페이지의 맨아래에 도달하면 호출됩니다. 이 함수는 페이지의 그래픽 컨텍스트를 복원하고 showpage를 실행합니다. 일부 prolog 파일에서는 헤더 및 푸터 정보가 컬럼별 모드가 아닌 페이지별 모드에서 표시됩니다. 이 함수를 구현하여 헤더 및 푸터 회색조 lozenges를 표시하는 부속 함수를 호출할 수 있습니다.

newpage

사용법: page_number newpage

새 페이지가 시작할 때 실행될 루틴 또는 명령수직 인쇄 모드 설정, 인쇄 그래픽 컨텍스트 저장 및 페이지 좌표 변환은 이러한 루틴 기능의 일부입니다.

endcol

사용법: page_number col_number endcol

헤더 및 푸터 정보를 표시하고 새 인쇄 위치로 이동하는 등에 사용됩니다.

새 인쇄 레이아웃 프롤로그 파일 추가를 위해 인쇄 레이아웃 프롤로그 파일 내부에서 다음 변수를 정의해야 합니다.

NumCols

인쇄 페이지의 열 수. 기본값은 2입니다.

PrintWidth

인치 단위 인쇄 영역 너비. 기본값은 6입니다.

PrintHeight

인치 단위 인쇄 영역 높이. 기본값은 9입니다.

.xpr Files

파일은 기본적으로 /usr/lib/lp/locale/C/mp/ 에 위치합니다. .xpr 파일은 mp.common.ps 파일을 제외하고 각 포스트스크립트 프롤로그 레이아웃 파일에 해당합니다. MP_PROLOGUE 환경 변수를 정의하여 대체 프롤로그 디렉토리를 정의할 수 있습니다.

파일은 키워드/값 쌍으로 작동합니다. #로 시작하는 행은 주석으로 간주됩니다. 공백은 명시적으로 진술된 경우를 제외하고 다른 토큰을 분리합니다. 각 .xpr 파일의 세 개의 주 부분은 다음 키워드 쌍으로 묶입니다.

특정 키워드/값 쌍은 세 영역에서 사용됩니다. 각 영역은 다음 절에서 설명됩니다.

STARTCOMMON/ENDCOMMON 키워드

STARTCOMMON 키워드 뒤, ENDCOMMON 키워드 앞에 나타나는 모든 키워드/값 쌍은 인쇄 페이지의 일반 등록 정보를 정의합니다. 키워드에 대한 다른 유효한 값은 슬래시(/) 문자를 사용하여 구분됩니다.

ORIENTATION 0/1

0은 수직으로 인쇄가 이루어짐을 뜻하고 1은 수평으로 이루어짐을 뜻합니다.

PAGELENGTH 부호없는 정수

논리적 페이지당 행 수를 나타내는 값

LINELENGTH 부호없는 정수

행당 단일 열 문자 수를 나타내는 값

NUMCOLS unsigned-integer

물리적 페이지당 논리적 페이지 수

HDNGFONTSIZE 부호없는 정수

10포인트 단위의 머리글 글꼴 포인트 크기

BODYFONTSIZE 부호없는 정수

10포인트 단위의 본문 글꼴 포인트

PROLOGDPI 부호없는 정수

현재 .xpr 파일이 작성된 인치당 도트 눈금

YTEXTBOUNDARY 부호없는 정수

y 좌표는 페이지 또는 논리적 페이지(열)의 텍스트 인쇄 경계를 설정합니다. 경계는 텍스트 인쇄가 예상 영역 내에 있는지 확인하는 추가 검사로 사용됩니다. 경계는 해당 글꼴에서 얻은 문자 높이 정보가 잘못되어있기 때문에 복잡한 텍스트 레이아웃 및 EUC 인쇄에 필요합니다.

STARTTEXT 부호없는 정수부호없는 정수

물리적 페이지의 첫번째 논리적 페이지에서 실제 텍스트 인쇄가 시작되는 10포인트 x/y 포인트

PAGESTRING 0/1

1은 페이지 문자열이 머리글의 페이지 수 전에 추가되어야 함을 나타냅니다.

0은 페이지 수만 표시됨을 나타냅니다.

EXTRAHDNGFONT font string 1, font string 2, ... font string n

글꼴 문자열은 X 논리적 글꼴 설명입니다. 쉼표 구분 글꼴 이름 목록에서 키워드 EXTRAHDNGFONT를 구분하는 토큰은 스페이스나 탭이 아닌 " 문자입니다. 글꼴은 머리글이 인쇄될 때 내장 글꼴에 대한 환경 설정이 주어집니다. 일반적으로, EXTRABODYFONT/usr/openwin/server/etc/XpConfig/C/print/models/<model name>/fonts 디렉토리에 구성된 프린터 상주 글꼴을 할당하는데 사용됩니다.

fonts.dir 파일은 프린터 상주 글꼴의 XLFD를 포함합니다.

.xpr 파일에서 글꼴은 일반적으로 다음 예제에서 나타나듯이 지정됩니다.

 "-monotype-Gill Sans-Regular-r-normal- -*-%d-*-*-p-0-iso8859-2" 

%d"가 있을 경우 mp(1)이 .xpr 파일의 현재 머리글 글꼴의 포인트 크기로 바뀝니다. x 해상도와 y 해상도는 *로 지정됩니다. 평균 너비 필드는 0으로 설정되어 가능한 경우 확장 가능 글꼴의 선택을 나타냅니다. 보다 특정한 글꼴 이름을 제공할 수도 있습니다.

EXTRABODYFONT 글꼴 문자열 1, 글꼴 문자열 2, ... 글꼴 문자열 n

글꼴이 페이지 본문 인쇄에 사용된다는 것을 제외하고 EXTRAHDNGFONT와 동일합니다.

XDISPLACEMENT 부호있는/부호없는 정수

x 방향으로 페이지 내용을 이동하기 위해 페이지에 적용될 x 좌표 변위를 제공합니다. 이 변위는 +ve 또는 -ve 값일 수 있습니다.

YDISPLACEMENT 부호있는/부호없는 정수

이동이 y 방향으로 일어난다는 것을 제외하고 x 변위와 동일합니다.

두 키워드는 페이지에서 인쇄된 내용을 이동해야 하는 비표준 여백 너비를 가진 일부 프린터를 다룰 때 유용합니다.

STARTPAGE/ENDPAGE 키워드

이 부분의 키워드 값 쌍은 STARTPAGE ENDPAGE 키워드로 묶입니다. 이 부분은 물리적 페이지에 적용될 그리기 및 머리글 정보를 포함합니다. 물리적 페이지는 많은 논리적 페이지를 포함할 수 있지만 키워드 사이에 포함되는 모든 그리기 루틴은 물리적 페이지에 한 번만 적용됩니다.

유효한 그리기 엔티티는 LINE ARC입니다. XDrawLine()XDrawArc() 함수는 키워드 값에서 실행됩니다.

이 부분 내의 크기는 PROLOGDPI 단위로 매핑됩니다. 각도는 도 단위입니다.

LINE x1 y1 x2 y2

x/y 부호없는 좌표는 선 연결을 위한 포인트 쌍을 정의합니다.

ARC x y 너비 높이 각도1 각도2

x 및 y는 모두 원호 원점을 표현하는 부호없는 정수입니다. 너비 및 높이는 원호의 너비와 높이를 표현하는 부호없는 정수입니다.

USERSTRINGPOS x y

부호없는 좌표는 사용자 정보가 머리글에 인쇄되는 위치를 표시합니다.

TIMESTRINGPOS x y

부호없는 좌표는 인쇄 시간이 머리글에 인쇄되는 위치를 표시합니다.

PAGESTRINGPOS x y

부호없는 좌표는 각 인쇄된 페이지에 대한 페이지 문자열을 인쇄하는 위치를 표시합니다.

SUBJECTSTRINGPOS x y

부호없는 좌표는 페이지의 주제를 인쇄하는 위치를 표시합니다.

STARTFORCEDPAGE/ENDFORCEDPAGE 부분

-n 옵션이 mp에 주어지면 STARTPAGE/ENDPAGE 부분 내에서 모든 장식이 주어집니다. 그러나 -n 옵션이 주어져도 STARTFORCEDPAGE/ENDFORCEDPAGE 부분 내에 포함된 모든 것이 인쇄됩니다.

STARTCOLUMN/ENDCOLUMN 부분

모든 키워드는 이 부분의 항목이 물리적 페이지에 대한 NUMCOLS 횟수에 적용된다는 것을 제외하고 STARTPAGE/ENDPAGE 키워드의 설명과 동일합니다. NUMCOLS이 3이면 물리적 페이지의 인쇄 가능 영역이 셋으로 분할되고 선, 원호 또는 머리글 장식이 페이지당 세 번 나타납니다.

STARTFORCEDCOLUMN/ENDFORCEDCOLUMN 부분

-n 옵션이 mp에 주어지면 STARTCOLUMN/ENDCOLUMN 부분 내에서 주어진 모든 장식이 인쇄되지 않습니다. 그러나 -n 옵션이 주어지지더라도 STARTFORCEDCOLUMN/ENDFORCEDCOLUMN 부분 내에 포함된 모든 것이 인쇄됩니다.

.xpr 파일 작성하기

.xpr 프롤로그 파일을 작성할 때 기본값과 다른 값만 지정해야 합니다.

다음 표 목록은 이러한 값이 STARTCOMMON/ENDCOMMON 부분에 대한 .xpr 파일에 지정되지 않더라도 다른 키워드에 대한 mp 프로그램 기본값입니다.

표 7–2 STARTCOMMON/ENDCOMMON 키워드 값

키워드 

값 

ORIENTATION

0

PAGELENGTH

60

LINELENGTH

80

YTEXTBOUNDARY

3005

NUMCOLS

01

HDNGFONTSIZE

120

PROLOGDPI

300

STARTTEXT

135 280

PAGESTRING

0

STARTPAGE/ENDPAGE STARTCOLUMN/ENDCOLUMN에 묶이는 다른 두 부분을 위해 기본값이 필요하지 않습니다.

장식이 없는 페이지를 작성하려면 세로 형식으로 물리적 페이지당 네 개의 논리적 페이지를 사용합니다. 다음 부분 및 값을 지정합니다.

장식이 없는 페이지를 작성할 때는 다음 두 부분을 지정할 필요가 없습니다.

매개 변수는 인쇄된 페이지에 장식을 두지 않을 때 필요합니다. 모든 좌표는 PROLOGDPI 키워드를 지정하지 않는 한 기본적으로 300dpi 범위입니다. 대상 프린터 해상도가 다르면 .xpr 파일은 프로그램에 의해 해당 해상도에 맞도록 조정됩니다.

.xpr 파일을 작성하기 전에 먼저 용지 크기를 알아야 합니다. 미국 용지의 경우 해상도 300dpi 프린터에 대하여 8.5x11인치, 2550X3300이 전체 크기입니다. 대부분의 프린터는 용지의 맨위 왼쪽 모서리부터 인쇄되지 않습니다. 대신, 물리적 용지 주변에 일부 여백 공간이 할당됩니다. 이것은 0,0에서 인쇄를 하려해도 인쇄는 페이지의 맨위 왼쪽 모서리에서 이루어지지 않음을 뜻합니다. 새 .xpr 파일을 작성할 때 이 제한을 고려하십시오.