HOME / コンピュータTips / FreeBSD / GhostScriptを美麗にインストール

Date: 2024/10/05 |  このエントリーをはてなブックマークに追加  |  Tags:

コンピュータTips/FreeBSD/GhostScriptを美麗にインストール

2000?/??/??

なにを美麗にインストールするかというと、美しい印刷のための必要最低限のインストールです。

まずは、FreeTypeとVFlibとghostscriptの関係を理解する必要あります。

ghostscriptは、いわゆるpostscriptクローンですが、そのままでは日本語フォントを、まともに使うことはできないと考えてよいと思います(CID Fontを使う方法はありますが、MacのCDを読んだりする必要があるので、ここでは記述しません。要望があったら記述します)。

今でこそ、日本語フォントは主にWindowsで利用するTrueTypeがたくさん出回っています。市販している大日本スクリーンのヒラギノシリーズのフォントを購入すれば、PSプリンタ標準ともいえるモリサワフォントに匹敵するほどの美しいフォントフェイスを利用することが出来ます。

VFlibは日本語フォント周りを管理するためのドライバのようなものだと思えばよいと思います。これで、日本語フォントまわりに、 TrueTypeどころか、書体クラブフォントをはじめ、いろんなフォントを使うことができるようになるのです。歴史的に日本語フォントの実装には苦労があったので、そのためにVFlibにはいろんなフォントを利用するよう実装されています。しかし、要は手っ取り早く、明朝とゴシックなどが綺麗に印刷できれば良いと考えている人が多いと思います。

VFlibはTrueTypeFontを使うことができますが、そのエンジンにはフォントのヒント情報を使うためのコードが無いそうです。ヒント状態がないフォント展開では、たとえばmの3本の縦棒の太さが小さな文字のときに揃わなかったりします。人間の目はバランスに対して厳しいので、そこに違和感を感じてしまいます。

そこで、もう少し賢いFreeTypeをつかいます。FreeTypeはフォントをバラしてビットマップ化するためのライブラリのようなものなので、それだけで日本語フォントを管理する機能はありません。そこで、TrueTypeの展開にFreeTypeを使い、VFlibで日本語フォントを管理するように、ghostscriptをコンパイルします。(注意、ただし全くWindowsと同じ展開をするわけではありません。)

そのままghostscriptをportsでインストールすると、Watanabeフォントを使うことになります。フリーで公開されているフォントに対して意見を言うのは気を引けますが、フォントはアーティファクトですのでやはり美しさで選びたいものです。PortsではFreeTypeを使わないようなので、順を追ってインストールします。

portsでFreeTypeのインストールをする。

/usr/ports/print/freetype/で普通にインストールするだけです。

portsでVFlibのインストールをする。

watanabeフォントをダウンロードすると、時間がかかるのでMakefileを編集して削除します。FreeTypeを使うようにします。

# diff Makefile.org Makefile
13,14c13,14
< DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
< watanabe-vf.tar.Z
---
> DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
> # watanabe-vf.tar.Z
38,40d37
< ${MKDIR} ${PREFIX}/share/fonts/watanabe_font
< tar -C ${PREFIX}/share/fonts/watanabe_font \
< -xzf ${DISTDIR}/watanabe-vf.tar.Z

どのバージョンのdiffかわからないので、短いし手で編集するとよいでしょう。

VFlibでのフォントの指定

/usr/local/share/VFlib/2.25.1/vfontmapにて、truetypeフォントを指定します。truetypeフォントはどこにあってもよいです。細かい指定は、vfontmap内にあります。そこのgothとminを変更します。

たとえば、こんな感じです

min:\
:ft=freetype:\
:ff=/usr/local/share/fonts/dshirmn2.ttc:
goth:\
:ft=freetype:\
:ff=/usr/local/share/fonts/dshirkg2.ttc:

以上は、千都ヒラギノフォントのヒラギノ明朝2とヒラギノ角ゴシック2の指定です。

portsでVFghostscriptをインストールする

/usr/ports/japanese/vfghostscript55/にあります。古いバージョンだと、CIDフォントがつかえません。あたらしいものを使うことをお勧めします。

以上で日本語フォントが美しく印刷可能なghostscriptが出来上がります。日本語ドキュメントをa2psでレーザプリンタに出力したら、モリサワフォントを内蔵したPSプリンタに勝るとも劣らない品質で出力できるでしょう。番外.afmフォントをインストールする

日本語は上記で完璧ですが、courierなどは代理フォントで出力されるため、本物のcourierと違い文字のステム(文字の線の幅)が揃ってないと思います。IllustratorなどをWindowsで使っていれば、そのディレクトリに本物のcourierやHelveticaが入っていると思います。Sun使いならどっかにDisplay PostScriptのためのフォントが入っています。しかし、このフォントの利用に対する規約がどうなっているかわからないので注意はしてください。


予断ですが、英語フォントは法律的にフォントフェイスが著作権で保護できないそうで、別名で同じような形のフォントを作ることができます。ただし、フォントデータそのものはソフトウェアに及ぶ著作権で保護でき、フォント名は商標で保護できるとのこと。代理フォントは拡大したオリジナルフォントのアウトラインを取り、それを縮小したものが多いそうです。そういうデータはフォントのヒント情報がなく、ステム情報などが落ちているために、縮小したときに「m」の三本の線が不ぞろいだったりしてしまいます(もちろんmぐらいあとで編集すればなんとでもなりますが、そういうノウハウはオリジナルを作った人しかないということです)。上記の法律話は法律の専門家ではないので話半分で聞くこと。

英文のType1フォントは、オリジナルを使いたいと思います。

フォントファイル(*.pfb)とメトリックファイル(*.pfm)を、/usr/local/share/ghostscript/fontにコピーする。

/usr/local/share/ghostscript/5.50vflib/Fontmapを書き換える。

持っているファイルによりますが、こんな感じの変更ですむでしょう。

#/Symbol /StandardSymL ;
/Symbol (sy______.pfb) ;
#/Times-Roman /NimbusRomNo9L-Regu ;
#/Times-Italic /NimbusRomNo9L-ReguItal ;
#/Times-Bold /NimbusRomNo9L-Medi ;
#/Times-BoldItalic /NimbusRomNo9L-MediItal ;
/Times-Roman (tir_____.pfb) ;
/Times-Italic (tii_____.pfb) ;
/Times-Bold (tib_____.pfb) ;
/Times-BoldItalic (tibi____.pfb) ;
#/Courier /NimbusMonL-Regu ;
#/Courier-Oblique /NimbusMonL-ReguObli ;
#/Courier-Bold /NimbusMonL-Bold ;
#/Courier-BoldOblique /NimbusMonL-BoldObli ;
/Courier (com_____.pfb) ;
/Courier-Oblique (coo_____.pfb) ;
/Courier-Bold (cob_____.pfb) ;
/Courier-BoldOblique (cobo____.pfb) ;
#/AvantGarde-Book /URWGothicL-Book ;
#/AvantGarde-BookOblique /URWGothicL-BookObli ;
#/AvantGarde-Demi /URWGothicL-Demi ;
#/AvantGarde-DemiOblique /URWGothicL-DemiObli ;
/AvantGarde-Book (agw_____.pfb) ;
/AvantGarde-BookOblique (agwo____.pfb) ;
/AvantGarde-Demi (agd_____.pfb) ;
/AvantGarde-DemiOblique (agdo____.pfb) ;
#/Helvetica /NimbusSanL-Regu ;
#/Helvetica-Oblique /NimbusSanL-ReguItal ;
#/Helvetica-Bold /NimbusSanL-Bold ;
#/Helvetica-BoldOblique /NimbusSanL-BoldItal ;
/Helvetica (hv______.pfb) ;
/Helvetica-Oblique (hvo_____.pfb) ;
/Helvetica-Bold (hvb_____.pfb) ;
/Helvetica-BoldOblique (hvbo____.pfb) ;

Courierだけ変更するだけで、一応a2psの英文字が本物のcourierになります。小さく印刷されるので文字のステムが揃って非常に綺麗です。

<余談>

私は、必要なソフト以外インストールすることがどちらかというと嫌いなタイプです。そういうことを前提に下記を読んでください。

ghostscriptは5.0以降、日本語のCIDフォントをType1フォントと同じ要領で利用することが出来ます。

今回はやりませんでしたが、CIDフォントのファイルが手に入れば、それをインストールすることでVFlibもFreeTypeも必要がなくなります。

しかし、CIDフォントはMacからプリンタにインストールして利用するもので、Macのファイルシステムのなかでしか存在しません。したがって、WindowsやUNIXのように、ファイルの実体を取り出すことは難しいと考えてよいと思います。Display PostScriptを持ったSunのOpenWindowでさえ、日本語フォントは平成明朝と平成ゴシックのTrueTypeです(ただしCID decodeエンジンは持っているようです。)

MacのCDROMを読むことが出来るツールを利用すると、いくつかのCIDフォントはフォントファイルの実体を取り出すことが出来ます。 DynaFontは吸い出すことができ、規定の方法でgs5.50にインストールすると利用することができましたが、個人的にDynaFontを使うことが無いために実験だけ行なって利用しておりません。

ではモリサワフォントを購入してインストールすればモリサワリュウミンとモリサワゴシックBでPSプリンタの出来上がりではないか!と印刷にこだわる人は思うかもしれません。残念ながらモリサワフォントはMacにインストールする際も、ファイルが実体化することがないのです。CDROMには暗号化されて入っているためモリサワフォントのMac版CDROMを買っても、利用することが出来ません。たとえファイルを取り出すことが出来ても、暗号フォント(psにはそういう規格があるのです)になっているので、そのままではghostscriptでは使うことが出来ないのです。

ヒラギノフォントのCID版がMacで発売されたようで、DynaFontのように抽出可能なら、VFlibもTrueTypeも利用せずに日本語フォントが使えるでしょう。Mac用ヒラギノCIDフォントでは試したことがないので何もいえませんが。


コンピュータTips/FreeBSD

Recent Updates

openjdk(SPARC)

SPARC用のJAVA。 最近は新しいバージョンがSPARCでリリースされず、苦労している人も多いのですが、SPARC Solarisの界隈人達がビルドして代わりに使われているものです。 Solaris 11 SPARC jdk builds
»続きを読む

Solaris11のCPU(Critical Patch Unit)の当て方

コンピュータTips/Solaris/Solaris11のCPU(Critical Patch Unit)の当て方

Solaris 11.4には4つのリビジョンがあります。 2024年4月現在、Solaris自体の開発はメンテナンスフェーズになったわけでもなく、SRU毎に、最新機能がモリモリ入っていきます。 GA(Release 版) 一応、無償のOTNライセンスの利用も可能 いわゆる、リリース時点のバージョンのことですが、現在は 利用しません 。 以前は、1〜2年に1度の頻度でリリ …
»続きを読む

Emacs.appで書類(Documents)がアクセス出来ないとき

コンピュータTips/MacOSX/Emacs.appで書類(Documents)がアクセス出来ないとき

Catalina以降の権限問題なので、システム設定のセキュリティとポリシーの中にあるプライバシー内のFull Disk Accessに、Emacs.appと/usr/bin/rubyを入れればすむ。 /usrフォルダを、プライバシーの+から入れるのは、ちょっと面倒なので、あらかじめFinderのお気に入りの中に入れておくと良いでしょう。   rubyが入るのは、Emac …
»続きを読む

SONY WH-1000XM3

自分用メモです。 ノイズキャンセラーの性能が良い。 WH-1000Xのころは、ノイズキャンセラーを有効すると、音は聞こえないのに妙な音圧があったが、それがかなり軽減。個人的には気にならなくなった。 また、WH-1000Xのころは、ノイズキャンセラーを無効にしても、なんか作られたような音が出ていたような気がしたが、割と普通に聞こえる。 USB-Cになったのも良い。飛行機でも使う …
»続きを読む

Catalina(10.15)

Catalina Beta を入れ始めたので、自分用のまとめ。 2019/10/8、Catalinaが振ってきたので製品版用に記載を変えました。 32bitアプリを確認すること。 Activity Monitorで32bitアプリがわかるので、そういうアプリがあるなら代替品を見つけておくこと。 /etc以下のいくつかのファイルをバックアップしておくこと。 /etc …
»続きを読む

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初