日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
日本語HP DECprint Supervisor for OpenVMS
|
目次 | 索引 |
この章では,次のことについて説明します。
PostScriptでは,Adobe Standard Encodingベクタを使用してエンコーディング (コード付け) された文字セットが提供されます。PostScriptプログラムがフォントを呼び出す場合には, findfont
オペレータはこのベクタを使用して文字と文字コードを対応づけます。
PostScriptではまた,ISOLatin1Encodingという名前の ISO Latin-1エンコーディング・ベクタも提供されます。これは ISO Latin Alphabet Number 1 Standard (ISO 8859/1)で使用されるエンコーディング方式です。大部分のPostScriptテキスト・フォントでは, ISO Latin-1エンコーディングで使用されるすべての文字が提供されます。 ISO Latin Alphabet Number 1 Standardに含まれている文字の一覧については,『 PostScript Printers Programmer's Supplement 』を参照してください。
Adobe StandardおよびISO Latin-1エンコーディングの他に, DECprint Supervisor ソフトウェアでは DECMCS (DECマルチナショナル文字セット)エンコーディングも提供されます。 DECマルチナショナル文字セットに含まれる文字の一覧については,『 PostScript Printers Programmer's Supplement 』を参照してください。
ISO Latin-1およびDECMCSエンコーディングに含まれる文字は,独立したフォント・メトリックス・ファイル(.AFMファイル)を持ちません(.AFMファイルについての詳しい説明は『 PostScript Printers Programmer's Supplement 』を参照してください)。フォント・メトリックス・ファイルに登録されている文字情報を検索しなければならない場合には,エンコーディングによってではなく,名前で文字を検索してください。
例 E-1 では,DECMCSエンコーディング・ベクタの定義方法を示しています。これらのエンコーディング・ベクタの定義方法についての詳しい説明は,『 PostScript Printers Programmer's Supplement 』を参照してください。
エンコーディング・ベクタDECMCSEncodingは,ISOLatin1Encodingというベクタを変更することにより定義されます。
E.1 提供されるエンコーディング・ベクタ
E.2 エンコーディング・ベクタの例
例 E-1 DECMCSエンコーディング・ベクタの定義 |
---|
%! DECMCSEncoding.PS % % Create DEC Multinational Character Set (MCS) encoding vector. /DECMCSEncoding ISOLatin1Encoding 256 array copy def mark 8#177 8#240 8#244 8#246 8#254 8#255 8#256 8#257 8#264 8#270 8#276 8#320 8#336 8#360 8#376 8#377 counttomark {DECMCSEncoding exch /questionmirror put} repeat % stack now contains mark 8#250 /currency 8#327 /OE 8#335 /Ydieresis 8#367 /oe 8#375 /ydieresis counttomark 2 idiv {DECMCSEncoding 3 1 roll put} repeat % stack now contains mark cleartomark |
Adobe Standard Encoding以外の文字エンコーディングを使用するには,次の操作を実行します。
/encodefont { findfont dup % Get the old font dict maxlength dict begin % Make a new one just as big { 1 index /FID ne % Copy everything but FID { def } { pop pop } ifelse } forall /Encoding exch def % Install the new encoding dup /FontName exch def % new font dict is still current. currentdict definefont % Create the new font. end } bind def |
encodefont
プロシージャは新しい名前とエンコーディングを使用して新しいフォントを作成し,新しいフォントを戻します。新しいフォントに対しては任意の名前を選択できます。古いフォントの名前とエンコーディング・ベクタを含む名前を選択すると適切です。
新しいフォントを作成し,ただちにそのフォントを使用できます。また,新しいフォントを作成した後,プログラムでそのフォントを使用することも可能です。たとえば,ISO Latin-1を使用してエンコーディングされるTimes-Romanフォントを作成し,使用するには,次のコードを使用します。
/Times-Roman-ISOLatin1 ISOLatin1Encoding /Times-Roman encodefont 12 scalefont setfont |
フォントを作成した後,プログラムでそのフォントを使用するには,次のコードを使用します。
/Times-Roman-ISOLatin1 ISOLatin1Encoding /Times-Roman encodefont pop . . . /Times-Roman-ISOLatin1 findfont 12 scalefont setfont |
DECMCSエンコーディングを使用するには,このエンコーディング・ベクタを定義する装置制御ライブラリ・モジュール(LPS$DECMCSENCODING)も指定しなければなりません。 LPS$DECMCSENCODINGモジュールはエンコーディング・ベクタだけを提供します。バージョン40以前のPostScriptで未定義だった文字は定義されません。
例 E-1 では,DECMCSエンコーディング・ベクタの定義方法が示されています。
DECMCSエンコーディング・モジュールを使用するには,次のように指定します。
E.4 プリント・ジョブでのDECMCSエンコーディング・モジュールの指定
$ PRINT/SETUP=(LPS$DECMCSENCODING) filename.PS |
E.5 サード・パーティ・プリンタのためのISO Latin-1の定義
バージョン40以前のPostScriptバージョンの PostScriptプリンタを使用する場合には,このエンコーディングを使用する PostScriptファイルを印刷するために,ISO Latin-1エンコーディング・ベクタを定義しなければなりません。たとえば,PostScriptの以前のバージョンを使用するタイプセッタで印刷するために,ISO Latin-1エンコーディング・ベクタを必要とする PostScriptプログラムがあるとします。
この場合には,encodefont プロシージャを使用できますが, PostScriptプログラムのプロローグでISO Latin-1エンコーディング・ベクタを定義しなければなりません。装置制御ライブラリから LPS$ISOLATIN1ENCODINGモジュールを取り出してください。
$ LIBRARY /EXTRACT=LPS$ISOLATIN1ENCODING - _$ /OUTPUT=ISOLATIN1ENCODING.PS /TEXT SYS$LIBRARY:DCPS$DEVCTL |
LPS$ISOLATIN1ENCODINGモジュールはエンコーディング・ベクタだけを提供します。このモジュールはバージョン40以前のPostScriptで未定義だった文字は定義しません。
目次 | 索引 |
|