日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第1章:ファイルの印刷
第2章:プリント・ジョブの修正ならびにプリント・ジョブおよびキューの状態表示
第3章:給紙トレイおよび排紙トレイの選択
第4章:PostScript ファイルの印刷
第5章:ANSI ファイルの印刷
第6章:日本語テキスト・ファイルの印刷
第7章:Imageインタプリタの使用によるDDIFイメージ・ファイルの印刷
第8章:PCLファイルの印刷
第9章:Proprinterファイルの印刷
第10章:List データ・タイプの使用
第11章:高度なページ・レイアウトの使用
第12章:文書の印刷結果を変更するためのレイアップの使用
第13章:PRINT コマンドでのフォームの使用
第14章:プリント・ジョブでのセットアップ・モジュールの使用
第15章:ファイル・セパレータ・ページの制御
第16章:仕上げオプションの選択
第17章:デバッグのためのエラー・ハンドラの使用
第18章:印刷に関する問題の解決
第19章:プリンタ固有の情報
付録A :システム・メッセージとエラーからの回復
付録B :PRINT コマンド修飾子
付録C :PRINTコマンドのパラメータ
付録D :フォント・カートリッジをエミュレートするためのSoftFontキット
付録E :追加された文字エンコーディング
用語集
索引
PDF
OpenVMS ホーム
日本語HP DECprint Supervisor for OpenVMS

日本語HP DECprint Supervisor for OpenVMS
ユーザーズ・ガイド


目次 索引

付録 E
追加された文字エンコーディング

この章では,次のことについて説明します。

  • 提供されるエンコーディング・ベクタ, 付録 E.1 節

  • エンコーディング・ベクタの例, 付録 E.2 節

  • 追加エンコーディングの使用, 付録 E.3 節

  • プリント・ジョブでのDECMCSエンコーディング・モジュールの指定, 付録 E.4 節

  • サード・パーティ・プリンタのためのISO Latin-1の定義, 付録 E.5 節



E.1 提供されるエンコーディング・ベクタ

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.2 エンコーディング・ベクタの例

例 E-1 では,DECMCSエンコーディング・ベクタの定義方法を示しています。これらのエンコーディング・ベクタの定義方法についての詳しい説明は,『 PostScript Printers Programmer's Supplement 』を参照してください。

エンコーディング・ベクタDECMCSEncodingは,ISOLatin1Encodingというベクタを変更することにより定義されます。

例 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 



E.3 追加エンコーディングの使用

Adobe Standard Encoding以外の文字エンコーディングを使用するには,次の操作を実行します。

  1. 新しいフォントを作成するために,PostScriptプログラムのプロローグで,エンコーディング・ベクタをフォントに適用するプロシージャ,たとえば, encodefont を定義します。findfont を起動する前に,ユーザ・プログラムで encodefont を呼び出すことにより,適切なエンコーディング・ベクタを使用してフォントをエンコーディングします。 encodefont のコードは次のとおりです。

    /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 
    

  2. encodefont プロシージャを使用して新しいフォントを作成します。このプロシージャは3つの引数を必要とします。

    • 新しいフォントの名前

    • エンコーディング・ベクタ

    • 古いフォントの名前


    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エンコーディング・ベクタの定義方法が示されています。

E.4 プリント・ジョブでのDECMCSエンコーディング・モジュールの指定

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で未定義だった文字は定義しません。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.