外字の登録

1. PDF外字テーブルの登録 (CRTPDFTBL)

  • CGU で作成された外字のドット・イメージを PDF 外字テーブル(QUSRTEMP/PDFTBL) に自動的に登録します。
  • PDF 変換では外字は、このPDF外字テーブル(QUSRTEMP/PDFTBL)が参照されて、
    そのドット・イメージがPDF 内に直接、埋め込まれます。
    従って 外字を含むスプールをPDF 変換するためには、
    この PDF外字テーブルへの登録(CRTPDFTBL)を事前に行なっておく必要があります。
    PDF に外字はドット・イメージで埋め込まれますので外字が登録されていない
    Windows PC でも外字を表示/印刷することができるようになります。
  • PDF 外字テーブル(QUSRTEMP/PDFTBL) は、
    最初はこのコマンドの実行によって自動的にライブラリー QUSRTEMP に作成されます。
  • この操作は On the Web の「外字参照の登録」によって ブラウザ・ベースで操作することもできます。

【説明】
DBCSフォント・テーブル
(IGCTBL)
QIGC2424 または QIGC3232 のどちらかを選択して指定してください。
IBM i の外字は 24x24または
32x32 のフォント・サイズとして登録されています。
STRCGU を使って外字の登録状況を調べると自社では、
どちらが登録されているかを知ることができます。
どちらも登録されている場合は 32x32(QIGC3232)を指定したほうが
PDFテーブルの精度が高くなります。
PDF テーブル(TABLE)
ライブラリー
作成するPDFテーブルの名前とライブラリー名を指定してください。
日本語PDFライター(HPT)が参照するのは QUSRTEMP/PDFTBL だけですが
テストや確認用に別の名前やライブラリーを指定することもできます。
あくまで本番用は QUSRTEMP/PDFTBL としてください。

PDF外字テーブルの登録(CRTPDFTBL)の実行に必要な権限

PDF外字テーブルの登録 ( CRTPDFTBL )の実行には特殊権限 *SECADM が必要となります。
これは IBM i コマンド入力上で CRTPDFTBL を実行する場合でも、
あるいはOn the Web によってブラウザから実行される場合であっても
ユーザーの *SECADM 権限が検査されます。
これは IBM i のPDF外字テーブルの上書に対する保護のためです。
自社のすべてのユーザーに *SECADM 権限が不用意に与えられていないかどうかご注意ください。

2. PDF外字テーブルの参照 (PRTPDFTBL)

PDF 外字テーブルの参照 (PRTPDFTBL) は PDFテーブル (QUSRTEMP/PDFTBL)が
正しく登録されているかを表示/印刷によって確認するためのものです。

【解説】
PDF テーブル
ライブラリー
PDF外字テーブルの名前とライブラリーを指定します。
日本語PDFライター(HPT) が参照するのは QUSRTEMP/PDFTBLだけですが、
テスト用に作成されたPDFテーブルも指定することができます。
出力
(*PRINT, *BOTH, *)
出力を印刷(*PRINT) , または表示のみ(*) 、それらの両方(*BOTH)
で出力することを指定します。

表示(*) を指定したときは出力結果は次のように表示されます。

【解説】

漢字コードが 6941 から始まって
最後は登録されているすべての外字が出力されているか確認してください。
また外字数の合計も確認してください。

3.漢字テーブルの変換 (CVTIGCTBL)

漢字テーブルの変換 (CVTIGCTBL) は
IBM の STRFMA(フォント管理援助機能) に代わる機能として
IBM i と Windows PC の外字登録との互換性を保持するための強力な機能を提供します。

  • IBM i に登録済みの外字を Windows PC にダウンロードして
    Windows の外字として登録することができます
  • Windows PC に登録済みの外字を IBM i にアップロードしたものを
    IBM i の外字として登録することができます。
  • 従来のようにIBM STRFMA コマンドや
    Personal Communications の GaijiConv.exe を使用する必要が全くありません。
    しかも外字を Windows から IBM i へアップロードすることもできます。
  • 漢字テーブルの変換 (CVTIGCTBL)は、IBM i 上のコマンド入力行からの操作だけでなく
    On the Web 画面の「外字登録の参照」を使って、マウス操作だけで簡単に操作することもできます。

【解説】

IBM i の外字は QIGC3232 または QIGC2424 という漢字テーブル(*IGCTBL) に
文字作成ユーティリティー(CGU)を使って登録されています。
QIGC3232 は 32x32ビットのビットマップ・イメージであり、
QIGC2424 は 24x24ビットのビットマップ・イメージです。
( 今回の変換の対象となるのは QIGC3232 だけです。)

一方、Windows PC では C:\Windows\Fonts\EUDC.EUF ( または C:\WINNT\Fonts\EUDC.EUF ) に外字エディタを使って外字が64x64ビットのビットマップ・イメージとして登録されています。 ただし Windows の外字を外部から取り込むためには userfont.fon という32x32ビットのビットマップ・イメージ名の形式のファイルからしか取り込むことができません。

パラメータの説明

DBCS フォント・テーブル
( IGCTBL )
漢字テーブルの名前。必ず QIGC3232 と指定してください。
コピー・オプション
( OPTION )
*OUT = IBM i の外字から Windows 外字イメージを出力します。
*IN = Windows外字イメージをIBM i の外字として取り込みます。
選択イメージ
( SELECT )
*USER = ユーザー外字または *ALL
必ず *USER を指定してください。*ALL は無視されます。
ユーザー・フォント
( OUTFILE )
出力するファイル名。
拡張子はタイプを反映していなければなりません。
WIN 外字ファイル
( INFILE )
入力するファイル名。
拡張子はタイプを反映していなければなりません。
タイプ (FON,EUC または BMP)
( IOTYPE )
*FON(フォント), *EUC(ユーザー定義) または *BMP(ビットマップ)

*FON のときは INFILE または OUTFILE は
userfont.fon でなくてはなりません。

*EUC のときは INFILE または OUTFILE は
EUDC.EUF でなくてはなりません。

*BMP のときは INFILE または OUTFILE の拡張子は
.bmp でなくてはなりません。
文字の DBCS 番号
( DBCSNO )
外字番号。 *BMP のときだけに指定する必要があります。

漢字テーブルの変換 (CVTIGCTB) による Windows PC への外字ダウンロード

CVTIGCTBL を使えば 外字テーブル(QIGC3232)を ビットマップ、
userfont.fon または EUDC.EUF として出力することができます。
このうち Windows 外字エディタで取り込むことができるのはuserfont.fon だけです。
( Windows外字エディタで取り込むには必ずこの名前でなければなりません。)

[例1]外字番号 10561 の外字 を ビットマップ 6941.bmp として IFSに出力して保管する。
CVTIGCTBL SELECT(*USER) OUTFILE('/tmp/6941.bmp') IOTYPE(*BMP) DBCSNO(10561)
【注】ビットマップへの入出力は一文字ずつ実行してください。
         複数の外字をひとつのビットマップにまとめて出力することはできません。
[例2]すべての外字を userfont.fon としてIFS に出力する。
CVTIGCTBL IGCTBL(QIGC3232) OPTION(*OUT) SELECT(*USER) IOTYPE(*FON)
[例3]すべての外字を EUDC.EUF としてIFS に出力する。
CVTIGCTBL OPTION(*OUT) SELECT(*USER) OUTFILE('/tmp/EUDC.EUF') IOTYPE(*EUF)

漢字テーブルの変換 (CVTIGCTBL) による
Windows PC からの外字アップロード

IBM i での外字登録と言えば伝統的には、
文字作成ユーティリティー (CGU)を使って外字を作成することでしたが、
Windows が普及した現在では Windows外字エディタを利用するほうが
外字を簡単に作成/編集することができます。
しかし従来では Windows の外字を IBM i にアップロードして
IBM i の外字として登録することはできませんでした。
この漢字テーブルの変換 (CVTIGCTBL) をご利用になれば
Windows からアップロードした外字(64x64)を
IBM i の外字(32x32)に変換して登録することができます。

【説明】

Windows ではユーザー外字は
C:\Windows\Fonts\EUDC.EUF または C:\WINNT\Fonts\EUDC.EUF
という名前のファイルとして保管されています。
( Winエクスプローラや Myコンピュータでは表示させることはできません。)
この EUDC.EUF を Ftpによって IBM i の IFS にアップロードしてから
漢字テーブルの変換 (CVTIGCTBL)を使えば
IBM i の外字テーブル QIGC3232 として登録することができます。
以前のバージョンとして IBM i からダウンロードしておいた userfont.fon があれば
それを IFS にアップロードして CVTIGCTBL を使って外字登録することもできます。
追加で Windows の外字エディタを使って作成したビットマップ・イメージを
アップロードして外字として追加することもできます。

[例1] ユーザー外字 EUDC.EUF を IBM i の外字として登録する。
CVTIGCTBL OPTION(*IN) INFILE('/tmp/EUDC.EUF') IOTYPE(*EUF)
[例2] ユーザーフォント userfont.fon をIBM i の外字として登録する。
CVTIGCTBL IGCTBL(QIGC3232) OPTION(*IN) INFILE('/tmp/userfont.fon') IOTYPE(*FON)
[例3] ビットマップ 6941.bmp を IBM i の漢字番号 10561 として登録する。
CVTIGCTBL IGCTBL(QIGC3232) OPTION(*IN) SELECT(*USER) INFILE('/tmp/6941.bmp') IOTYPE(*BMP) DBCSNO(10561)

漢字テーブルの変換 (CVTIGCTBL)の実行に必要な権限についての注意

漢字テーブルの変換 ( CVTIGCTBL )のコピー・オプション : *IN の実行には
特殊権限 *SECADM が必要となります。
これは IBM i コマンド入力上で CVTIGCTBL を実行する場合でも、
あるいはOn the Web によってブラウザから実行される場合であっても
ユーザーの *SECADM 権限が検査されます。
これは *IN オプションが IBM i の漢字テーブルを上書きしてしまうための保護のためです。
自社のすべてのユーザーに *SECADM 権限が不用意に与えられていないかどうかご注意ください。

いずれの場合にせよ、CVTIGCTBL はこれまでのわかりずらかった
STRCGUSTRFMA を不要なものとして、その役割を終えさせるに十分です。

漢字テーブルの変換 (CVTIGCTBL)をお使いになるためのヒント

外字のダウンロードやアップロードを単純に行いたいだけであれば、
CVTIGCTBL コマンドを5250 エミュレータ画面でお使いになるよりは
On the Web をブラウザに表示して「外字参照の登録」をクリックして
GUI 操作によって行うほうがわかりやすくてはるかに簡単です。
一方、動作原理を実際に理解したいとか、
新しく開発する適用業務の中に CVTIGCTBL コマンドによる
機能を組み込みたい等の高度な利用方法を検討されるのであれば、
コマンド・ラインによる実行に意味あるものとなります。

いずれの場合にせよ、CVTIGCTBL はこれまでのわかりずらかった
STRCGUSTRFMA を不要なものとして、その役割を終えさせるに十分です。