[README][gs261j.jis 日本語化パッケージ]
[戻る]
Ghostscript version 2.6.1 日本語化パッケージ gs261j
Version 1.0 Jan.11,1994 by 片山紀生
Copyright (C) 1991,1992,1993,1994 Norio Katayama.
○機能
1. Ghostscriptの日本語への拡張
a. 複合フォントのサポート
b. 文字メトリックス(Metrics, Metrics2, CDevProc)のサポート
c. 縦書きモードのサポート
2. 漢字フォントのサポート
a. X11R5 PCFフォントファイルからの読出し
b. X11R4 SNFフォントファイルからの読出し
c. Sony(TM)ベクターフォントファイルからの読出し
d. Zeit(TM)フォーマットフォントファイルからの読出し
作者: 川本琢二(Ext)さん、井上康成(K-ras)さん
e Zeit(TM) JG フォーマットフォントファイルからの読出し
作者: 淺山和典さん
f. 日本語TeX PKフォントファイルからの読出し
3. デバイスドライバ
a. gdevnwp (Sony NWP-533/537 プリンタ)
b. gdevlips (Canon LIPS-II/II+/III プリンタ)
作者: 倉島顕尚さん
c. gdevp201 (NEC PC-PR201 プリンタ)
d. gdevp150 (NEC PC-PR150 プリンタ)
作者: 甲本卓也さん
e. gdevepag (ESC/Page)
作者: 成松 宏さん
f. gdevj100 (Star JJ-100 プリンタ)
作者: 横山和由さん
g. gdev10v (Canon BJ10v プリンタ)
作者: 岩井輝男さん、前田敦司さん、松井孝雄さん
○動作確認
+--------------+-----------------+-----------------+-------------+
| OS | Machine | Compiler | Device |
+--------------+-----------------+-----------------+-------------+
| SunOS 4.1.3 | SPARC Station 2 | cc -O / gcc -O | X11 |
+--------------+-----------------+-----------------+-------------+
○コメント
◇ DJ's GPP を使ってコンパイルするには、淺山和典さんが作られた
『Ghostscript 2.6.1 DJ's GPP 化パッケージ』を利用することで可能です。
PC-VAN のサイエンス SIG (SSCIENCE) や Nifty Serve のソフトウェア工房
(FLABO) から入手できるようになるそうです。
淺山さんのメールアドレスは、NIFTY: GHF01532, PC-VAN: TPM03937 です。
◇ zkfjtex.c など一部のプログラムは char 型が signed char 型であること
を前提としています。そのため、MIPS 系のコンパイラなど char を unsigned
char として処理するコンパイラについては -signed オプションか何かを用い
て char を signed char として処理するように設定して下さい。
◇ X11R5 PCFフォントまたはX11R4 SNFフォントを利用する際、X11環境(サー
バ、共有ライブラリなど)は必要ありません。フォント・ファイルさえ読み込
むことができれば漢字を表示することができます。
◇ 質問、要望、バグリポート、改良案など歓迎します。
JUNET: katayama@nacsis.ac.jp NIFTY: NBB01613
○ご注意
◇この日本語化パッケージには、市販の漢字フォントファイルのデータを読出
す機能が含まれていますが、それらを利用する際には販売元のライセンス規定
にふれぬようご注意下さい。(参照 『○漢字フォントのライセンスについて』)
◇この日本語化パッケージは、オフィシャルなものではありませんから、オリ
ジナルのバックアップを取ってから作業を行なって下さい。
◇このパッケージの使用により生じた問題に関しては、当方では一切責任を負
いかねますのであらかじめご了承願います。
◇このパッケージの複写、修正、再配布は、営利目的でない場合に限り自由に
行なって構いません。
○インストール方法(UNIX)
[1] Ghostscriptのコンパイルとインストール
(1) Ghostscript version 2.6.1 のソースファイルを用意して下さい。
このパッケージは以下のパッチをあてたソースファイルを前提にしています。
ghostscript-2.6.1.fix-01.gz
ghostscript-2.6.1.fix-02.gz
ghostscript-2.6.1.fix-03.gz
ghostscript-2.6.1.fix-04.gz
私はここから手に入れました。
ghostscript-2.6.1.fix-01.gz
ghostscript-2.6.1.fix-02.gz
ghostscript-2.6.1.fix-03.gz
ghostscript-2.6.1.fix-04.gz
(2) ソースファイルを用意したディレクトリで、このパッケージを展開して下
さい。
(3) パッチファイル`gs261j.diff'をオリジナルソースファイルにあてて下さい。
(4) unix-cc.mak, unix-gcc.mak, unix-ansi.mak のいずれかを Makefile に
コピーし、各サイトの環境に合わせて編集して下さい。特に、次の四つの設定
を行なって下さい。
私が変更した箇所です。
#XINCLUDE=-I/usr/local/X/include
XINCLUDE=-I/usr/X11R6/include/X11
#XLIBDIRS=-L/usr/local/X/lib
XLIBDIRS=-L/usr/X11R6/lib
#DEVICE_DEVS=x11.dev
DEVICE_DEVS=x11.dev tiffg3.dev
x11.dev: $(x11_)
$(SHP)gssetdev x11 $(x11_)
# $(SHP)gsaddmod x11 -lib Xt X11 Xext
$(SHP)gsaddmod x11 -lib Xt X11 Xext ICE SM
X11R6では最後の行のICM SM を追加しないとエラーが出る
collect2: ld returned 2 exit status
ld: Undefined symbol
_SmcOpenConnection
_IceProcessMessages
_SmcRequestSaveYourselfPhase2
_SmcCloseConnection
_SmcModifyCallbacks
_SmcInteractRequest
_IceConnectionNumber
_SmcClientID
_SmcInteractDone
_SmcSaveYourselfDone
_SmcGetIceConnection
_SmcDeleteProperties
_SmcSetProperties
1. prefix, exec_prefix, bindir, datadir, gsdatadir マクロによって、
Ghostscript をインストールするディレクトリを指定して下さい。
例) 標準設定の場合
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
datadir = $(prefix)/lib
gsdatadir = $(datadir)/ghostscript
2. 各サイトの環境に合わせて CFLAGS, LDFLAGS, EXTRALIBS, XINCLUDE,
XLIBDIRS マクロを設定して下さい。
3. FEATURE_DEVS に、使いたい漢字フォントに合わせて以下の名前を加えて
下さい。
kfpcf.dev X11R5 PCFフォントファイル
kfsnf.dev X11R4 SNFフォントファイル
kfsony.dev Sonyベクターフォントファイル
kfzeit.dev Zeitフォーマットフォントファイル
kfztbez.dev Zeit JG フォーマットフォントファイル
kfjtex.dev 日本語TeX PKフォントファイル
例) PCFフォントファイル、SNFフォントファイル、Zeitフォーマットフォン
トファイル、Zeit JG フォーマットフォントファイル、日本語TeX PKフォ
ントファイルを使えるようにする場合
FEATURE_DEVS=filter.dev dps.dev level2.dev kanji.dev \
kfpcf.dev kfsnf.dev kfzeit.dev kfztbez.dev kfjtex.dev
Sonyベクターフォントファイルのみを使用する場合
FEATURE_DEVS=filter.dev dps.dev level2.dev kanji.dev \
kfsony.dev
PCFフォントファイル、SNFフォントファイル、Zeitフォーマットフォン
トファイル、Zeit JG フォーマットフォントファイル、日本語TeX PKフォ
ントファイル、Sonyベクターフォントファイルを使えるようにする場合
FEATURE_DEVS=filter.dev dps.dev level2.dev kanji.dev \
kfpcf.dev kfsnf.dev kfzeit.dev kfztbez.dev kfjtex.dev \
kfsony.dev
4. DEVICE_DEVS に、使いたいデバイスドライバを並べて下さい。
例) X11用のデバイスドライバを使うとき
DEVICE_DEVS=x11.dev
このパッケージに含まれているデバイスドライバを使用するときには、
drivers ディレクトリにある各ドライバのドキュメントを参照して下さい。
(5) make コマンドで gs をコンパイルし、make install でインストールして
下さい。
(6) Makefile の gsdatadir マクロによって指定したディレクトリの下に
ghostscript-fonts-2.6.1.tar.gz を展開して下さい。
例) gsdatadir が標準設定の /usr/local/lib/ghostscript であるとき
% cd /usr/local/lib/ghostscript
% gunzip < ghostscript-fonts-2.6.1.tar.gz | tar xvf -
[2] 漢字フォントのコンフィギュレーション
(1) Makefile の gsdatadir マクロによって指定したディレクトリの下に
kanji というサブディレクトリがあるので、そのディレクトリに移動して下さい。
例) gsdatadir が標準設定の /usr/local/lib/ghostscript であるとき
% cd /usr/local/lib/ghostscript
% cd kanji
(2) 下に列挙したテンプレートファイルの中から使いたいフォントに応じて、
いずれかをコピーし kconfig.ps をつくって下さい。
pcf.ps X11R5 PCFフォントファイル用
snf.ps X11R4 SNFフォントファイル用
sony.ps Sonyベクターフォントファイル用
zeit.ps Zeitフォーマットフォントファイル用
ztbez.ps Zeit JG フォーマットフォントファイル用
jtex.ps 日本語TeX PKフォントファイル用
(3) kconfig.ps を各サイトの環境に合わせて編集して下さい。通常、変更し
なければならないのはフォントファイル名だけです。
kconfig.ps の詳細については「○漢字コンフィギュレーションファイルに
ついて」を参照して下さい。
[3] 漢字フォントの表示テスト
サンプルプログラムを gs に実行させ、漢字フォントが正しく表示されるこ
とを確かめて下さい。
hankaku.ps 半角文字の一覧を表示します。
allkanji.ps 全角漢字の一覧を表示します。
fmaptype.ps 複合フォントのフォントマッピングのテストです。
vchars.ps 縦書き文字の一覧を表示します。
article9.ps 日本国憲法の第九条です。
サンプルプログラムは、漢字フォントディレクトリにあるのでディレクトリ
パスを指定する必要はありません。
例) % gs hankaku.ps
(注) マシンの製造元から提供されているSNFファイルを使用した場合、文字が
正しく表示されないことがあります。これは、bdftosnf.h のデフォルト値
#define DEFAULTGLPAD 1
#define DEFAULTBITORDER MSBFirst
#define DEFAULTBYTEORDER MSBFirst
#define DEFAULTSCANUNIT 1
が、SNFファイルのフォーマットと一致してないことが原因と考えられます。
もし、文字の表示が正しくない場合には、zkfsnf.c の37行め〜53行めを変
更してみることをお勧めします。
○漢字コンフィギュレーションファイルについて
このファイルは漢字フォントを定義するためのものです。デフォルトでは、
kconfig.ps という名前のファイルが使われますが、コマンド・オプションに
よって変更することもできます。
[1] 漢字フォントの定義
漢字フォントの定義は次のフォーマットによって行ないます。
フォント名 ユニークID [ フォントファイル名 ] コマンド
◎フォント名
定義する漢字フォントの名前です。標準的な名前は、/Ryumin-Light
と /GothicBBB-Medium の二つです。
◎ユニークID
定義する漢字フォントを識別するための番号です。取り敢えず、
4300000番台から200おきに指定すればよいでしょう。
◎フォントファイル名
使用するフォントファイルの名前です。このフィールドは、コマンド
によって書式が異なります。テンプレートファイルのコメントを参照し
て下さい。
◎コマンド
漢字フォントを定義するためのコマンドです。
例えば、"/usr/lib/X11/fonts/misc/k24.pcf"という名前のX11R5 PCFフォン
トファイルを利用して /Ryumin-Light という漢字フォントを定義するときに
は、次の文を漢字コンフィギュレーションファイルに書いておきます。
/Ryumin-Light 4300000 (/usr/lib/X11/fonts/misc/k24.pcf) pcfkanji
この文を書くことによって、以下の漢字フォントが利用できるようになりま
す。
/Ryumin-Light.r## (## = 21〜7E) 横書きJISコード漢字
/Ryumin-Light.r##v (## = 21, 22, 24, 25) 縦書きJISコード漢字
/Ryumin-Light.sr## (## = 81〜9F, E0〜EA) 横書きシフトJIS漢字
/Ryumin-Light.sr##v (## = 81〜83) 縦書きシフトJIS漢字
/Ryumin-Light.Roman 半角英数
/Ryumin-Light.Hiragana 半角ひらがな
/Ryumin-Light.Katakana 半角カタカナ
/Ryumin-Light.Hankaku 半角英数・ひらがな・カタカナ
/Ryumin-Light.SuppK シフトJIS用半角カタカナ
/Ryumin-Light-H 横書きJISコード漢字
/Ryumin-Light-V 縦書きJISコード漢字
/Ryumin-Light-Ext-H 横書き拡張JISコード漢字
/Ryumin-Light-Ext-V 縦書き拡張JISコード漢字
/Ryumin-Light-EUC-H 横書きEUCコード漢字
/Ryumin-Light-EUC-V 縦書きEUCコード漢字
/Ryumin-Light-RKSJ-H 横書き半角英数・片仮名・シフトJIS漢字
/Ryumin-Light-RKSJ-V 縦書き半角英数・片仮名・シフトJIS漢字
/Ryumin-Light-83pv-RKSJ-H 横書き半角英数・片仮名・シフトJIS漢字
拡張JISコード用の漢字フォントも定義されますが、出力される文字は当然
フォントファイルの内容によって決まります。したがって、フォントファイル
に含まれない文字は表示されませんし、JIS-78になるかJIS-83になるかもフォ
ントファイルに依存します。
[2] 漢字フォントの別名の定義
漢字フォントに別名を定義するときには、copyfont というオペレータを使い
ます。copyfont のフォーマットは次の通りです。
既存のフォント名 別名 copyfont
例えば、/GothicBBB-Medium-83pv-RKSJ-H の別名として /ChuGothicBBB-Medium を
定義するときには、漢字コンフィギュレーションファイルに次のように書きます。
/GothicBBB-Medium-83pv-RKSJ-H /ChuGothicBBB-Medium copyfont
○コマンドオプション
gs コマンドのオプションとして以下のものが使えます。
-dNOKANJI 漢字フォントを定義しなくなります。
-sKCONFIG=pcf.ps 漢字コンフィギュレーションファイルを指定します。
○漢字フォントのライセンスについて
以下は漢字フォントのライセンスについての情報です。参考にして下さい。
◇ Zeit「書体倶楽部」
Zeitファイル用のプログラムを作られた川本さんが問い合わせて下さったと
ころ、「フォントデータの読出しは、ユーザが書体倶楽部を購入しフリーウェ
アによって読出すのであれば構わない」という回答だったそうです。
◇ 大日本印刷「JTeX用フォント」
筑波大学の木本豪さんが大日本印刷に問い合わせて下さったところ、「もと
もとのライセンス契約がTeX用となっているので、新たな形態で使用する場合
大日本印刷の方へ連絡する必要がある」という回答だったそうです。
以下は、木本さんのメールからの引用です。
大日本印刷のフォントを使うにあたっては、
---- ここから ----
「TeX のフォントを GhostScript のソフトウエアで使うために
こうこうします」
という旨のメモを、下記に送ってくれればいいそうです。
〒162-01 新宿区市ヶ谷加賀町 1-1-1
大日本印刷(株) CTS 事業部 CTS 開発本部システム開発第 1 部
斉藤 雅
そうすれば、(すでに大日本印刷の手元にある)使用許諾契約書
に添付しておく、とのことです。
(すでにライセンスを持っていると言う前提で話をしました。)
PK を変換して使うか、GhostScript の方を PK に対応させて
使うか、ということについても、上のメモに実際の使用形態を
書けばどちらでもかまわないそうです。
---- ここまで ----
○謝辞
このパッケージを作成するにあたっては以下の方々にご協力を頂きました。
この場をかりてお礼申し上げます。ありがとうございました。
gs23j10 の開発に協力して下さった方
IMAGICAの井川さん
東工大の鵜飼さん
豊橋技科大の大見嘉弘さん
古河電工の大山哲弥さん
東大の倉島顕尚さん
電通大の桑田正行さん
慶応の中丸幸治さん
富士通国際研の野呂さん
大阪電通大の南野さん
Zeitフォーマットファイル用の漢字フォントプログラムを作られた方
井上康成さん
松下電器の川本琢二さん
Zeit JG フォーマットファイル用の漢字フォントプログラムを作られた方
淺山 和典さん
Canon LIPS-II/II+/III プリンタ用ドライバを作られた方
日本電気の倉島顕尚さん
NEC PC-PR150 プリンタ用ドライバを作られた方
神戸大学の甲本卓也さん
ESC/Page 用ドライバを作られた方
日本電気アイシーマンコンシステム九州LSI開発センターの成松 宏さん
Star JJ-100 プリンタ用ドライバを作られた方
横山和由さん
Canon BJ10v プリンタ用ドライバを作られた方
慶応大学の岩井輝男さん、前田敦司さん、松井孝雄さん
○ファイル・リスト
gs261j.doc ドキュメント(英語)
gs261j.jis ドキュメント(JIS)
gs261j.sj ドキュメント(シフトJIS)
gs261j.euc ドキュメント(EUC)
gs261j.diff Ghostscript Ver. 2.6.1 差分ファイル
zcomp.c 複合フォントオペレータ定義プログラム
kfutil.c 漢字フォントユーティリティプログラム
zkfimpath.c イメージパスオペレータ定義プログラム
zkfpcf.c PCFフォント用オペレータ定義プログラム
zkfsnf.c SNFフォント用オペレータ定義プログラム
zkfsony.c Sony(TM)ベクターフォント用オペレータ定義プログラム
zkfzeit.c Zeit(TM)フォント用オペレータ定義プログラム
zkfztbez.c Zeit(TM) JG フォント用オペレータ定義プログラム
zkfjtex.c 日本語TeX PKフォント用オペレータ定義プログラム
drivers/
gdevnwp/ Sony NWP-533/537 プリンタ用ドライバ
gdevlips/ Canon LIPS-II/II+/III プリンタ用ドライバ
gdevp201/ NEC PC-PR201 プリンタ用ドライバ
gdevp150/ NEC PC-PR150 プリンタ用ドライバ
gdevepag/ ESC/Page 用ドライバ
gdevj100/ Star JJ-100 プリンタ用ドライバ
gdev10v/ Canon BJ10v プリンタ用ドライバ
kanji/
kinit.ps 漢字化用プログラム
metrics2.ps 縦書き用プログラム
kbitmap.ps ビットマップ漢字フォント用プログラム
koutline.ps アウトラインフォント用プログラム
kbase.ps 漢字ベースフォント定義用プログラム
kcomp.ps 漢字複合フォント定義用プログラム
kmapping.ps 漢字JISコードマッピング用プログラム
kfpcf.ps X11R5 PCFフォント用プログラム
kfsnf.ps X11R4 SNFフォント用プログラム
kfsony.ps Sony(TM)ベクターフォント用プログラム
kfzeit.ps Zeit(TM)フォント用プログラム
kfztbez.ps Zeit(TM) JG フォント用プログラム
kfjtex.ps 日本語TeX PKフォント用プログラム
pcf.ps X11R5 PCFフォント用テンプレートファイル
snf.ps X11R4 SNFフォント用テンプレートファイル
sony.ps Sony(TM)ベクターフォント用テンプレートファイル
zeit.ps Zeit(TM)ベクターフォント用テンプレートファイル
ztbez.ps Zeit(TM) JG フォント用テンプレートファイル
jtex.ps 日本語TeX PKフォント用テンプレートファイル
hankaku.ps 半角文字表示サンプル
allkanji.ps 全漢字表示サンプル
fmaptype.ps 複合フォントマッピングサンプル
vchars.ps 縦書き文字のサンプル
article9.ps 縦書き文章のサンプル
include.pcf/ PCFフォント用ヘッダファイルを格納したディレクトリ
include.snf/ SNFフォント用ヘッダファイルを格納したディレクトリ
○バージョンについて
gs23j10 (Oct. 4, 1991)
Ghostscript ver. 2.3用 日本語化パッケージ
gs23j11 (Dec.24, 1991)
漢字フォントファイル名を検索するハッシュルーチンのバグを修正した。
変数名 index と関数名 index とが衝突する問題を回避した。
gs23j12 (Jan.17, 1992)
フォントメトリックスを単一の数値で指定したときエラーが起こるバグを
修正した。
gs24j10 (May.15, 1992)
Ghostscript ver. 2.4.1用 日本語化パッケージ
gs241j11 (Jul. 1, 1992)
gs24j10 のバグを修正した。
gs261j01b (Aug.20, 1993)
Ghostscript ver. 2.6.1用 日本語化パッケージ βバージョン
gs261j10 (Jan.11, 1994)
Ghostscript ver. 2.6.1用 日本語化パッケージ
○差分について
bfont.h
make_composite_font(), make_descender_fonts()のプロトタイプ宣言を追加。
gs_init.ps
オリジナルのフォントオペレータを複合フォントオペレータに置換。
kinit.ps および metrics2.ps を読み込む用に変更。
gs_fonts.ps
QUIET モードで、かつ、フォントファイルが見つからないとき、フォント名を
スタックに残してしまうという不具合の修正。
gschar.c
gs_setcachedevice2 を修正。縦書きフォント(WMode=1)に対応。
gs_setrootfont(), gs_currentrootfont()を定義。
gschar.h
gs_setrootfont(), gs_currentrootfont()のプロトタイプ宣言を追加。
gsfont.c
キャッシュサイズを拡大。
UniqueID を持たないはずの複合フォントを、ベースフォント同様キャッシュ
してしまうという不具合の修正。
gzstate.h
状態として、rootfont を追加。
zchar2.c
zrootfont() が gs_currentrootfont() を使うように変更。
zfont.c
ルートフォントに対応するため、zsetfontを変更。
複合フォントに対して makefont を行なう際、make_composite_font()を呼
ぶように変更。
make_composite_font()を定義。
zfont0.c
zbuildfont0の最後で、make_descender_fonts()を呼ぶように変更。
make_descender_fonts()を定義。
zfont2.c
makefontキャッシュの効率化のため偽UniqueIDを生成するよう変更。
gs.mak
複合フォント機能、漢字フォント機能を追加。
cc-head.mak
gcc-head.mak
ansihead.mak
GS_LIB_DEFAULT に $(gsdatadir)/kanji を追加。
コンパイル・オプションに -DCOMPFONT -DWMODE -DKANJI を追加。
FEATURE_DEVS に kanji.dev kfpcf.dev kfsnf.dev kfzeit.dev kfztbez.dev
kfjtex.dev を追加。
unixhead.mak
暗黙のルール `.c.o' の依存ファイル $(AK) を削除。
unixtail.mak
出力される実行ファイルの名前を `gs' から $(GS)$(XE) に変更。
unix-cc.mak
unix-gcc.mak
unix-ansi.mak
gs.mak, cc-head.mak, gcc-head.mak, ansihead.mak に合わせて変更。