vfontcapとkconfig.psの設定について
vfontcapにしろkconfig.psにしろここで行っている設定は、たんに追加しているだけなので、該当部分を自分のvfontcapなりkconfig.psなりに追加してやれば、現在の設定を変えることなく縦書きの設定をくわえることができます。
vfontcapは、vfontcap.jptの1行目から105行目(###EOF)までを切り取って、先頭に貼りつけて下さい。絶対先頭に貼りつけなくてはいけないわけではありませんが、その方が安全です。なぜなら、VFlibのフォントの検索は、vfontcapの先頭からのファーストマッチだからです。ですので、現実的にはありえないと思いますが、同じ名前のフォントが存在するとより後方に記述されたフォントは、VFlibから利用できなくなります。
ここで紹介している縦書き印刷法のキモは、vfontcapにあります。見るとわかりますが、この設定はけっこうたいへんです。単純に寝かせただけでは、うまくいかない文字もあるし、またそのまま使える文字もあります。縦書き用のフォントは、それら数種類のフォントをつぎはぎして構成されています。一応、これらのフォントはそれぞれ調整してありますが、気に入らないときは、それぞれ調整しなおすことができます。
## っ、ッ用
r-watanabe-mincho-tmp|wata-RXY:\
:ft=freetype:ro#3:oy#18:ox#-5:\
:ff=/usr/X11R6/lib/X11/fonts/TrueType/kochi-mincho.ttf:
たとえば上記は、っ、ッ用のフォントで、通常のフォントをro#3…時計回りに90度x3、oy#18…y方向に+18、ox#-5…x方向に-5移動させられています。つまり、このro#、oy#、ox#のパラメータを調整することで各々の文字の位置を調整することができます。フォントによってパラメータの適正値は異なると思われるので、気になるときは再調整してみてください。
また、kochi以外の別なフォントを縦書に対応させたい場合は、まず、kochiのエントリの例に従って各々のエントリを増やしていきます。
## っ、ッ以外の小さい文字
r-watanabe-mincho-tmp2|wata-RXY2:\
:ft=freetype:ro#3:oy#6:ox#-6:\
:ff=/usr/X11R6/lib/X11/fonts/TrueType/watanabe-mincho.ttf:
waDa-RXY2:\
:ft=freetype:ro#3:oy#6:ox#-6:\
:ff=/usr/X11R6/lib/X11/fonts/TrueType/wadalab-gothic.ttf:
pop7-RXY2:\
:ft=freetype:ro#3:oy#6:ox#-6:\
:ff=/home/yoshino/system/fonts/TrueType/fadpop7.ttf:
pop7-RXY2以下があらたに増やしたいフォントのエントリです。-RXY2や-RXYの部分は変えずにその前にそのフォントの名前を付加して下さい。そして、最後のエントリをつくります。最後のエントリは単純に書くのはたいへんでしょうから、コピー&ペーストで一旦コピーし、fA以下に書かれているフォント名を入れ換えていきます。なお、この最後のエントリのフォント名はなんでもかまいません。
### pop7用の縦書き用複合フォント
pop7-pT:\
:ft=compound2:rA=2120-2123:rB=2443-2443,2543-2543:\
:rE=2421-2421,2423-2423,2425-2425,2427-2427,2429-2429:\
:rF=2521-2521,2523-2523,2525-2525,2527-2527,2529-2529:\
:rG=2463-2463,2465-2465,2467-2467,246E-246E,256E-256E:\
:rH=2563-2563,2565-2565,2567-2567:\
:rD=2124-213B,2146-2149,2163-2420,2422-2422,2424-2424,2426-2426:\
:rI=2428-2428,242A-2442,2444-2462:\
:rJ=2464-2464,2466-2466,2468-246D,246F-2520,2522-2522:\
:rK=2524-2524,2526-2526,2528-2528,252A-2542,2544-2562:\
:rL=2142-2143,2564-2564,2566-2566,2568-256D,256F-8000:\
:rC=213F-2140,214A-215B:\
:rM=213C-213E,2141-2141,2144-2145,215C-2162:\
:fA=pop7-ten:fB=pop7-RXY:fC=pop7:fD=pop7-R:fE=pop7-RXY2:\
#ここから以下、フォント名を入れ換る。
:fF=pop7-RXY2:fG=pop7-RXY2:fH=waDa-RXY2:fI=waDa-R:fJ=waDa-R:\
#この行の途中まで書き換えた。
:fK=waDa-R:fL=waDa-R:fM=waDa-2:
上記は、kochi-gTをコピー&ペーストし、fA以下のwadaをpop7に書き換えようとしています。なかなかわかりにくいと思いますが、慣れれば単純作業です。これらの意味は、最初のftは、つぎはぎのフォントを使用することの宣言で、以下はrA、rB、rC…で指定された領域(数字はJISの文字コード)では、fA、fB、fC…のフォントを使用するという意味になります。
できあがったら、ktestで見てみます。
ktest -v /etc/vfontcap -f pop7-pT
-vオプションは、vfontcapを指定します。デフォルトは/etc/vfontcapです。この指定には絶対パスを使って下さい。-f以下は、vfontcapでのフォント名です。当然と言えば当然ですが、RXYやRのついたフォントもktestで確認することができます。
ktest -v /etc/vfontcap -f waDa-RXY
なにか不具合があるときは、こんな感じで調べてみて下さい。
次に、kconfig.psです。これはvfontcapと違い簡単です。まず、VFlibkanjiの最後のエントリをさがします。
/LX-POP--Italic 4304200 (lxpopi) VFlibkanji
この行が、VFlibkanjiの最終行であった場合、この次にエントリを増やしていきます。/以下は、ghostscript内で使われるフォント名です。()内はVFlibでのフォント名です。
最後のVFlibkanjiはVFlibのフォントを使うことを意味しています。で、問題の数字ですが、フォントのID用の値だそうです。これは、各々、200間隔で指定します。ですので、最終行が4304200で終っているこの場合、次のエントリのこの数字は、4304400になります。
VFlibに追加された縦書き用のフォントは、kochi-mTとkochi-gTです。ghostscriptでこの二つのフォントを利用するには、ここにその二つを追加する必要があります。だいたい、下記のようになります。
/LX-POP--Italic 4304200 (lxpopi) VFlibkanji
/kochi-mT 4304400 (kochi-mT) VFlibkanji
/kochi-gT 4304600 (kochi-gT) VFlibkanji
/以下は、ghostscript内で使われるフォント名なので他の名前とダブらない限り、どんな名前をつけてもかまいませんが、ここではわかりやすいようにVFlibでの名前と同じにしてあります。このエントリを追加することで、VFlibのフォントを/以下のフォント名でghostscriptを利用できるようになります。word以外の場合でも、印刷はポストスクリプトが一般的でしょうから、縦書き用のフォントをこうして登録し、そのフォントで印刷させることができれば、縦書き印刷が実現するはずです…?
と、駆け足で説明してきましたが、多くの人には不用な解説だったような気がします。また、これらについて興味を持っている人には不充分な解説だったかとも思います。なんにせよ、一番いいのは原本にあたることでしょう。少々古いのが気になりますが、VFlibのドキュメントは日本語です。あたりまえですが、これにはvfontcapの設定についてすべて書いてありますので、わからないときは参照してみてください。もっとも、私の書き方のせいでわかりにくいということも充分考えられるので、いちいちそれらのドキュメントにあたるより、聞いた方がはやいと思ったときは遠慮なく聞いて下さい。
index.html 飛べ!ペンギン大王 ひとつもどる