국제 언어 환경 설명서

기존 프롤로그 파일 사용자 정의 및 새 프롤로그 파일 추가하기

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

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

포스트스크립트 파일은 다음 범주 중 하나입니다.

로켈 종속 프롤로그 파일

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는 Foo-Fine의 조합 글꼴이며 Base-Font라는 기반 글꼴입니다. Foo-Fine은 로컬 문자 세트를 포함하는 글꼴입니다. 글꼴을 추가 또는 변경하기 위해서는 심층적인 포스트스크립트 지식이 필요 없습니다.

prolog.ps 파일을 작성하는 최선의 방법은 예제 버전을 연구하는 것입니다. prolog.ps 예제에서 두 개의 루틴 makecodeset12 makeEUCfont을 작성해야 합니다. 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(1) 이진에 의해 런타임시 정의됩니다. 모든 인쇄 레이아웃 파일은 사용자 이름, 주제, 인쇄 시간과 같은 동적 정보를 인쇄하기 위해 이러한 변수를 사용할 수 있습니다. 변수에서 취해진 정보는 일반적으로 인쇄 페이지의 헤더 또는 푸터에 나타납니다.

User

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

MailFor

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

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

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

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

Subject

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

Timenow

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

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

endpage

사용 : page_number endpage

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

newpage

사용 : page_number newpage

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

endcol

사용 : page_number col_number endcol

헤더 및 푸터 표시에 사용됩니다. 새 인쇄 위치로의 이동 등입니다.

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

NumCols

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

PrintWidth

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

PrintHeight

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

.xpr File Customization

파일은 기본적으로 /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 부호없는 정수

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

HDNGFONTSIZE 부호없는 정수

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

BODYFONTSIZE 부호없는 정수

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

PROLOGDPI 부호없는 정수

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

YTEXTBOUNDARY 부호없는 정수

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

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

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

PAGESTRING 0/1

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

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

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

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

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

일반적으로 글꼴은 다음으로 지정됩니다.

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

.xpr 파일에서. "%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 파일 작성하기

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

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

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

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

이 상황에서 다른 두 부분이 필요하지 않습니다.

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

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