社長ブログ

50. 日本語フォントの埋め込み

現在、PDFに日本語フォントの埋め込みを行うプログラムを
開発中です。
IBM i5/OSも CPYSPLFコマンドによって無料で
スプールをPDFに変換する機能はありますが
フォントを埋めこむという機能まではありません。
また他社製品などでもPDF化の製品はあるようですが
日本語フォントを埋め込みをサポートしている製品は
ないようです。
それもそのはず。PDFにフォントを埋めこむという作業は
TruTypeフォントを作成するのに等しいかそれ以上に
難易度の高い作業です。
_

■なぜ日本語フォントの埋め込みが必要か?

PDFへの日本語フォントの埋め込みが必要な理由は
フォントが全く搭載されていないプリンタが
存在するからです。
あまり知られていませんがフォントは有償の
ライセンス・ソフトウェアです。
1台のプリンタにつき2万円~5万円くらいする
高価なソフトウェアです。
プリンタ・メーカーは価格競争で勝ち抜くために
フォントを搭載していないプリンタも
発売したのです。
これにPDFで印刷しようとするとPDFにフォントが
埋め込まれていないと印刷することができません。
_

■Windows経由であればフォントがなくても問題なし

Windowsのプリンタ・ドライバ経由での印刷であれば
Windows内に搭載されているフォントを利用して
印刷できますので問題ありません。
しかしIBM iからの直接印刷となれば話は別です。
IBM iにはフォントの搭載はありません。
ただし正確に言えばAFPのためにいくつかの
フォントは搭載されていますがこれらのフォントを
PDFに埋め込めるような製品はIBMのCPYSPLFも含めて
ありません。
このフォントの目的はAFPのスプールに使用するための
ものであってPDFに組み込まれる機能はありません。

※ IBMはGO LICPGM 43.追加フォント で
/QIBM/ProdData/OS400/Fonts/TTFonts にフォントを提供しています。

この中にIBMゴシックとIBM明朝はフォントとして利用可能です。
i5/OS Ver7.1~7.5であれば事前にインストールされています。
Ver6.1であっても手動でCDからインストールすることができます。
_

■日本語フォントの埋め込みが難しい理由

もちろんこの日本語フォントの埋め込みの仕様は
英文でしか公開されていません。しかも埋め込みの方法という仕様はなく
PDFの仕様に基づいて埋め込みする方法を模索しなければなりません。
これを弊社の優秀な技術者が下記の資料を調べて行いました。

ISO 32000-2:2020 Document management — Portable document format — Part 2: PDF 2.0

これは基本ですが有料サイトです。この他にも

■CMap
埋め込むフォントの、文字コード変換テーブルの仕様
Adobe CMap and CIDFont Files Specification Ver1.0

■TrueType Reference
TrueTypeフォント(.ttf)の仕様

■OpenType Specification Ver 1.9
TrueType Collectionファイル(.ttc)の仕様

さらにコード変換も多くのPDFはShiftJISまでへの
変換で済みますが日本語フォントを作成するには
EBCDIC->UTF-8->UCS2またはUCS-8と2段階の変換が
必要なだけでなくUCS2への変換はみたこともないような
APIを駆使する必要があります。
さらに日本語フォントへの埋め込みには
20段階~30段階の変換作業を必要とします。
これまでスプールをMS-EMFなどMicsrosoft仕様に
変換したり仕様のないTELNET通信なども実現してきましたし
LINEやIBM Watsonとの通信も実現してきましたが
今回の日本語フォントの埋め込みほど骨の折れる
難易度の高い開発はありませんでした。
仕様の壁は次から次へと出てきますので

・一体いつ終わるのか?

・本当に実現できるのか?

_

という疑問がいつもわいてきました。
これを執筆している背景には幸いあともう少しでできるかも
知れないというところまで来たということです。
しかしプログラムは完成するとしても本当に正しく製品として
動作するのかどうかというとまだ実用的なタフ・テストが
相当かかるはずです。

theWINDOWSライターの開発には丸一年かかりました。
それに比べればマシなのですが難易度という点では
それ以上のものを感じます。

■ 今後10年以上はSpoolライターVer5.0が独走します

さて日本語フォントの埋め込みはSpoolライターVer5.0の
追加オプシションとしてリリースする予定ですが
難易度の高い開発であったにせよ
目的はやはりお客さまの利益です。

日本語フォントの埋め込みによって得られる利点というのは
フォントの搭載のない安いプリンタにでも印刷できるという点が
最大のメリットです。
これを高価な料金にしてしまえばお客さまの得られるメリットは
半減してしまいます。
開発に労力がかかっているからといって高価な価格設定を
することはできません。
開発工数を料金に反映させているわけではありません。

従って社内での協議では比較的リーズナブルな価格設定に
抑える方向で調整しています。
国内ではスプールをPDF化できますというだけで
高額な価格と高額な保守料をとっているソフト会社もあります。
一方でスプールの電子帳票化製品から撤退した企業も
数社あります。
_

今週中には機能の見込みはできるのではないかと
予想しています。
仕様の解析だけでも大変だったのですが
今後10年以上はこの機能を他社が作れることは
ないだろうと予想しています。
オープン系でもAdobeが既にフォントの組込み機能を提供して
いますので他社があえてこんな難しいことに挑戦する会社は
現れないでしょう。
フォントの組込みが必要なのは他のプラットフォームから
PDF化する必要のあるIBMだけです。

しかも米国では英語のみの仕様ですからフォントの搭載のないプリンタであっても
英語だけはサポートしています。
従って米国でフォントの見込みが必要になることはありません。
これは日本だけの問題なのです。
従って欧米のソフト会社がフォントの組込みを開発することは
あり得ません。

■ 日本語フォント埋め込みは必須の機能に

今後はスプールを単にPDF化するだけでは駄目で
フォントの埋め込みができるということは他社製品との
大きな差別化になると思います。
Windowsのプリンタ・ドライバ慶友の印刷では
この問題はありませんでした。
今後はIBM iからの直接印刷に大半の企業は移行していくと
予想されますがこれは直接印刷で初めて浮き彫りになってきた
問題です。
次に日本語フォントの埋め込みが可能になると
フォントの搭載のない安価なプリンタが売れます。
それを見た他のブリンタ・メーカーもフォント搭載のない
安価なプリンタの発売を一斉に仕掛けてくるでしょう。
こうして日本語フォントの組込みはより必須な機能と
なっていくでしょう。
_

最高の技術をお求めならSpoolライターVer5.0
お選びください。これ以上はありません。