JP2006178622A - 文書変換方法、文書変換装置、及びプログラム - Google Patents

文書変換方法、文書変換装置、及びプログラム Download PDF

Info

Publication number
JP2006178622A
JP2006178622A JP2004369425A JP2004369425A JP2006178622A JP 2006178622 A JP2006178622 A JP 2006178622A JP 2004369425 A JP2004369425 A JP 2004369425A JP 2004369425 A JP2004369425 A JP 2004369425A JP 2006178622 A JP2006178622 A JP 2006178622A
Authority
JP
Japan
Prior art keywords
font
character
document
language
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004369425A
Other languages
English (en)
Inventor
Satoshi Kawahara
聡史 河原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004369425A priority Critical patent/JP2006178622A/ja
Publication of JP2006178622A publication Critical patent/JP2006178622A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】 必要最小限の文字情報を埋め込んだ文書(文字化けを起こさず、かつファイルサイズを抑制した文書)に変換すること。
【解決手段】 文書に使用されている文字のフォントが置換え可能か否かを判別し、文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行うことを特徴とする。
【選択図】 図9

Description

本発明は、文書を変換する文書変換方法、文書変換装置、及びプログラムに関するものである。
近年、コンピュータやモニタの機種、OS、搭載フォントの違いを吸収し、プラットフォームが違っても同じ体裁でページが表示・印刷することが可能な中間フォーマットが広く普及している。中間フォーマットの代表例としてはPDF(Portable Document Format)が挙げられる。
次に、中間フォーマットにおける、搭載フォントの違いを吸収するための技術について述べる。他言語フォントを搭載していないOS上で、他言語フォントを埋め込んでいない中間フォーマットファイルを開くと、文字化けを起こすことがある。例えば、中国語フォントを含む中間フォーマットファイルを、中国語フォントを搭載していない日本語OS上で開くと、中国語フォントが文字化けを起こすことがある。このような搭載フォントの違いを吸収するための技術として、フォントのグラフィック形状を規定するグリフ記述形状を中間フォーマットファイル内に埋め込む「フォント埋め込み」という技術が知られている。(特許文献1)
「フォント埋め込み」を施した中間フォーマットファイルは、フォントのグリフ記述を中間フォーマットファイル内に保持させるため、文字化けの可能性はないがファイルサイズが大きくなってしまう。一方、「フォント埋め込み」を施していない中間フォーマットファイルは、文字化けの可能性があるがファイルサイズは小さくなる。このように、「ファイルサイズ」と「文字化け」はトレードオフの関係にあるといえる。
特開2002−330274号公報
ネットワークを介して中間フォーマットファイルを送信・受信する際に重要なことは、ファイルサイズが小さいこと、かつ閲覧環境において文字化けを起こさずに閲覧が可能なこと、である。つまり、前述のトレードオフの関係を最適化することが重要である。
以下、中国語フォント(例:宋体フォント)にて書かれた文書を日本語フォントしか搭載されていないOS上で閲覧できる中間フォーマットファイルへ変換する場合を例に、説明する。
既存のフォント埋め込み技術では、宋体フォントをすべて埋め込んだ中間フォーマットファイルを作成することができる。しかし、文書内に含まれる宋体フォントすべてを中間フォーマットファイル内に埋め込むため、ファイルサイズが大きくなってしまうという問題点があった。
上記課題を解決するために本発明の文書変換方法は、
文書に使用されている文字のフォントが置換え可能か否かを判別する判別ステップと、
前記判別ステップにより文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別ステップにより文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理ステップとを有することを特徴とする。
また、本発明の文書変換装置は、
文書に使用されている文字のフォントが置換え可能か否かを判別する判別手段と、
前記判別手段により文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別手段により文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理手段とを有することを特徴とする。
また、本発明のプログラムは、
文書に使用されている文字のフォントが置換え可能か否かを判別する判別ステップと、
前記判別ステップにより文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別ステップにより文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
また、本発明の文書変換システムは、
文書変換装置と出力装置とを備える文書変換システムであって、
前記文書変換手段は、文書に使用されている文字のフォントが置換え可能か否かを判別する判別手段と、前記判別手段により文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別手段により文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理手段とを有し、
前記出力装置は、フォントの埋め込まれた文字の場合、埋め込まれたフォントを用いてイメージデータを生成し、フォントの埋め込まれていない文字の場合、出力装置のフォントを用いてイメージデータを生成する生成手段と、前記生成手段により生成されたイメージデータに基づき文字を出力する出力手段とを有することを特徴とする。
本発明によれば、必要最小限の文字情報を埋め込んだ文書(文字化けを起こさず、かつファイルサイズを抑制した文書)に変換することができる。
たとえば、中国語フォントを搭載していない日本語オペレーティングシステム上で文書を閲覧可能な、必要最小限の文字を埋め込んだ文書データを生成することができる。
(第一の実施の形態)
本発明の実施形態では、他国語フォントにて書かれた文書を、他国語フォントを搭載していないOS上で閲覧できる「最適な中間フォーマットファイル」へ変換する方法を提案する。上記「最適な中間フォーマットファイル」とは、「文字化けの可能性が無く、かつファイルサイズを最小限におさえた中間フォーマットファイル」を指す。以下、中国語フォント(例:宋体フォント)にて書かれた文書を日本語フォントしか搭載されていないOS上で閲覧できる中間フォーマットファイルへ変換する場合を例に、説明する。
Unicode(単一の2Bytesの文字コードによって世界の文字の多くを表現しようとする文字コードシステム)のような文字コードでは、中国語でも日本語でも、同一とみなしうる文字には同じコードを割り当てている。例えば、「亜」という文字は中国語フォントにも、日本語フォントにも存在し、Unicodeでは「0x4E9C」で表される。つまり、中国語フォントの中には、日本語フォントへ置き換え可能な文字が多数存在するといえる。
そこで、日本語フォントへ置き換え可能な文字(中国語、日本語双方に存在する文字)は、日本語フォントへ置き換え、置き換え不可能な文字(日本語フォントにしは存在しない文字)は、宋体フォントのまま埋め込む。このようにすることによって「文字化けの可能性が無く、かつファイルサイズを最小限におさえた中間フォーマットファイル」である「最適な中間フォーマットファイル」を生成することが可能となる。
上記置き換えの可・不可の判定は、予め言語毎に用意しておいた文字コード情報テーブルを用いる。詳細については後述する。
(その言語でも存在すれば置き換え可と判断し、存在しなければ置き換え不可と判断する。)
なお、上記例では、中国語と日本語の関係を例に説明したが、例えば、韓国語と日本語、韓国語と中国語、というように他国語間の関係であれば、同様のことが言える。
<ソフトウェアの構成例>
図6(A)は、本発明の第一実施形態に係るファイル変換システムにおけるソフトウェアブロック図である。図6(A)において、ホストコンピュータ601は、パーソナルコンピュータ等の情報処理装置である。ホストコンピュータ601には、ディスプレイ607が接続された画像表示部602、中間言語解析部603、ファイル変換部604、データ入出力部605、データ格納部606等が含まれる。
中間言語解析部603は、中間言語ファイルを解析し、画像表示部602を介してディスプレイ607に表示する。あるいは印刷出力を、データ入出力部605を介してホストコンピュータに接続されたプリンタへ出力する。具体的には、中間言語ファイルとしてPDFファイルを用いた場合におけるアドビ社のアクロバットリーダなどが中間言語解析部603に相当する。
ファイル変換部604では、ホストコンピュータ601から変換対象の文書ファイルを中間フォーマットファイルに変換する。ファイル変換部604は、図6(B)に示すように、アプリケーションデータファイルを印刷処理可能なアプリケーション604−1、グラフィックエンジン604−2、プリンタドライバ604−3から構成される。ここでプリンタドライバは、物理的なデバイスとしてのプリンタを制御するドライバではなく、グラフィックエンジン604−2から入力されるデータ(コマンド)を中間フォーマットのコマンド列に変換して中間フォーマットファイルとして出力するソフトウェアである。
データ入出力部605は、電話回線やLAN等のネットワーク608を介して他のホストコンピュータやプリンタとデータを通信する処理を行う。また、図6(A)ではキーボードやポインティングデバイス等の入出力デバイスもデータ入出力部605に接続されるものとしている。
ホストコンピュータ601と他のホストコンピュータやプリンタとを接続するネットワーク608の形態としては、LAN、インターネットあるいは無線等、通信ができるものであれば、その種類は問わない。
データ格納部606には、不図示の文書処理アプリケーションなどのアプリケーションプログラムにより作成されたアプリケーションデータファイルが保持されている。そのほか、ホストコンピュータのオペレーティングシステムが保持するシステム情報が保存されている。またホストコンピュータの有するこれらソフトウェア資源およびハードウェア資源のデータベースや、本実施形態においてホストコンピュータが参照するデータも保存されている。
<ハードウェアの構成例>
図7はホストコンピュータとして使用可能な情報処理装置の構成を示すハードウェア構成図である。図6(A)のホストコンピュータ601の構成は、図7の構成において、メモリ601bに格納されたプログラムを、CPU601aにより実行することで実現される。また、図7の構成を実現するためのプログラムは、ハードディスク等の外部メモリ601cに格納される。外部メモリ601cは、フレキシブルディスクやCDROM等の取り外し可能な記憶媒体を用いるものであっても良い。また、データ格納部606は、外部メモリ601cの一部領域として実現することができる。
ディスプレイ607には画像が表示され、I/Oインターフェース601dを介してネットワーク608等に接続される。また、キーボードやポインティングデバイス601eにより、オペレータは必要な入力を行う。
<本実施形態の概要>
まず、本実施形態の概要について説明する。ユーザは、まずワードプロセッサや表計算のようなアプリケーションソフトウェアから印刷命令をかける。次に画像処理部602を介してディスプレイ607に図3に示すようなユーザインターフェース301を表示し、ユーザは仕向け地選択ダイアログ302を用いて、仕向け地の決定を行う。ここで示した仕向け地とは、変換後の文書を閲覧する環境を指す。ユーザがOKボタン303を押下することで、ファイル変換処理を開始する。
ファイル変換処理では、ファイル変換部604にて文書を中間フォーマットファイルへの変換する処理を行う。以下、本実施の形態で必要となる「プリンタドライバを用いた印刷制御方法および処理方法」、「一般的な文字描画処理方法」について述べた後、本実施形態の詳細なファイル変換処理について詳細に述べる。
本実施形態によれば、例えば中国語フォントを含む文書を日本語環境にて閲覧したい場合、図3に示すユーザインターフェースにて仕向け地を日本と設定することで、文字コードが日本語に存在する文字はすべて日本語フォントへ置き換え、存在しない文字はすべて中国語フォントのまま埋め込んだ中間フォーマットを、作成することができる。
<プリンタドライバを用いた印刷制御方法および処理方法>
本実施の形態では、ファイル変換の手段として、OSに備わっている印刷機能を利用する。そこで、まずプリンタドライバを用いた印刷制御方法および処理の流れについて説明する。
図1は従来、直接、あるいはネットワーク経由で接続されているプリンタ104に対して印刷指示を行う印刷制御装置としてのパーソナルコンピュータ等の汎用情報処理装置(以下、ホストコンピュータ)において、印刷処理に関わる機能構成を大まかに示した図である。
ホストコンピュータ側では、ワードプロセッサや表計算のようなアプリケーションソフトウェア101(以下、アプリケーション)がWindows(登録商標)のようないわゆる基本ソフト(オペレーティングシステム、以下、OS)の上で動作している。アプリケーション101において印刷を行う場合は、そのプログラム内から、基本ソフトが提供するいくつかのサブシステムのうち、グラフィックエンジン102の機能を用いて行う。グラフィックエンジン102は、例えばWindows(登録商標)では、GDI(Graphic Device Interface)と呼ばれておりディスプレイやプリンタに対する画像情報の処理を司っている。GDIは、ディスプレイやプリンタといった各デバイスの依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタ104に対するこのモジュールはプリンタドライバ103と呼ばれる。プリンタドライバ103では、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を用意する必要がある。アプリケーション101のAPI(Application Programming Interface)コールをGDIがデバイスドライバ用にデータ変換を行い、このDDI関数群が適宜GDIからコールされ所定の印刷処理が実行されるような仕組みになっている。GDIでは、このようにプリンタドライバ103を介してアプリケーション101からの印刷要求をシーケンシャルに処理している。
プリンタドライバ103はその使用用途によりプリンタ出力系とファイル出力系に大別できる。プリンタ出力系とは、システムからDDI関数を介して渡される描画命令を、PDL(Printer Description Language)とよばれる中間フォーマットに変換するものである。プリンタ出力系の中間フォーマット(PDL)は、印刷装置側にPDLの制御コマンドを処理可能なコントローラを搭載するもの向けで、印刷装置側のプリンタ機器で印刷を行う。
一方、ファイル出力系では、印刷装置側にデータを送ることが直接的な目的ではなく、DDI関数から受け取った描画命令を予め定義された中間フォーマット形式に変換し、ホストコンピュータのディスクシステム上に中間フォーマットファイルとして蓄積するものである。この代表的な中間フォーマットにはPDF(Portable Document Format)やSVG(Scalable Vector Graphics)等が存在する。中間フォーマットファイルはホストコンピュータ上のファイルシステム上に保存され、中間フォーマットファイルを解釈可能な特定のアプリケーション101によりホストコンピュータ上で表示され、ユーザの指示により再びグラフィックエンジン102を介して印刷装置に印刷を行うことが可能である。
前述したDDI関数には、印刷の開始を宣言する「ジョブ開始要求」、ページの開始を宣言する「ページ開始要求」、ページ内に記述された文字、図形等を表す「論理描画要求」、ページの終了を宣言する「ページ終了要求」等がある。複数ページの印刷の場合、ページ数の分だけ「ページ開始要求」、「ページ終了要求」が出され、ページ内に含まれる論理描画の分だけ「論理描画要求」が出される。プリンタドライバ103は各要求に対して、PDL,PDF等の中間フォーマット形式に沿ったコマンドを生成する。
<一般的な文字描画方法>
中間フォーマットファイルは、文書を構成するオブジェクトを記述する描画コマンドとオブジェクトの位置やサイズ等を示すオペランドとを含む。描画コマンドは通常、オブジェクトの種類に応じて、文字を出力する「文字系」、ビットマップ等の画像を出力する「イメージ系」、直線や円、四角形等の図形を出力する「グラフィック系」の3種類に大別される。
ここでMicrosoft社のWindows(登録商標)システムの、「文字系」描画コマンドについて説明を行う。図4は、文字描画に必要な情報を表す模式図である。図4は一例であるが、一般的にも文字描画コマンドにはオペランドとして以下の4つのフォント情報が必要である。
(1)文字コード
文字を特定するための情報である。ASCII、ShiftJIS、Unicode等、予め定められたコード体系に従ったコードが用いられる。
(2)フォント属性
文字描画に適応するフェース名、グリフへの修飾を表すイタリック/ボールド指定有無、文字の大きさを表すポイント数等の情報を含む。
(3)描画属性
文字の描画位置や、色、クリップの状態等を表す情報を含む。
(4)フォント形状情報
ゴシックや明朝等のフェース名で指定される文字描画形状を表す情報を含む。文字毎の描画形状情報(グリフと呼ぶ)を有する。フォントの情報形式としては、大きくビットマップフォントとアウトラインフォントに分かれ、TrueType(登録商標)、OpenType(登録商標)等の各種フォーマットが定義されている。
そして、これらの情報全てが揃わなければ、ユーザが意図した通りの文字描画は成立しない。中間フォーマットファイル内の文字描画データには、文字コード・フォント属性・描画属性の3つのフォント情報を用いた文字描画コマンドが含まれるのが普通である。そしてコンピュータ等において文字描画を実行する際、すなわち中間ファーマットファイルを再生する際には、文字描画コマンドに含まれるフォントフェース名をもとに、当該コンピュータを管理するOS(Operation System)が保持している同じフォントフェース名のフォント形状情報を参照し、文字を描画するのが普通である。
しかし、指定されたフォント形状情報が、すべてのコンピュータ環境(OSにより提供される資源と言うこともできる)に存在するとは限らない。言い換えるとユーザが中間フォーマットファイルを作成したコンピュータ環境(中間フォーマットファイル作成環境と呼ぶ。)に存在したフォント形状情報が、文字描画が行われるコンピュータ環境(文字描画実行環境という。)で存在していない場合もあり得る。描画が行われるコンピュータ環境に、アプリケーションデータを作成したユーザが意図したフォントが存在しない場合でも、ユーザが意図したフォントもしくはそれに近い形状のフォントで文字描画を行うために、従来、(1)フォント置き換え、(2)ビットマップ置き換え及び、(3)フォント埋め込みという仕組みが知られている。以下、それぞれの仕組みを用いた場合の描画結果を示す図5を参照して、それぞれの仕組みについて説明する。
(1.フォント置き換え)
文字描画実行環境において、文字描画データ(中間フォーマットファイル)中のフォント属性に近い別のフォントを用いて描画を行う方法である。別のフォントを指定する方法としては、文字描画を行うアプリケーションが予め定義した変換テーブルを用いる方法や、OSが予め定義した変換テーブルを用いる方法が一般的である。文字描画データを作成する際に、通常どおりの文字描画コマンド(文字コード、フォント属性、描画属性)を作成するが、最もデータ量の多いフォント形状情報は必要ないため文字描画データは小さいという利点がある。欠点としては、別のフォントを用いるため図5右最上段に示すように、ユーザが意図していたものとは全く違った形状の文字描画が行われる可能性がある。意図した文字コードに対応したフォントが文字描画実行環境において存在しない場合には、文字として識別不可能な描画が行われることもある。例えば、一般的に欧米で用いられているコンピュータ環境には日本語フォントは存在しない。そのため、中間フォーマットファイルが一般的な日本語対応のOSの下で作成され、中間フォーマットファイルの再生が一般的な欧米の例えば英語対応のOSの下で行われる場合、中間フォーマットファイル作成環境における文字コードに対応したフォントが文字描画実行環境には存在せず、結果として識別不可能な描画が行われてしまう。
(2.ビットマップ置き換え)
文字描画データ(中間フォーマットファイル)を作成する時点で文字描画をビットマップに変換して、文字描画をビットマップ描画に変換する方法である。通常の見た目はユーザが意図した文字描画と同じになる。しかしビットマップであるために図5右中段に示すように拡大/縮小時にビットマップの解像度の影響で文字品位が落ちる場合がある。
(3.フォント埋め込み)
文字描画データ(中間フォーマットファイル)内に、文字描画コマンド(文字コード、フォント属性、描画属性)以外に、フォント形状情報を埋め込ませ、文字描画で使用されるフォント形状情報を文字描画実行環境に持ち込む方法である。文字描画データに埋め込まれたフォント形状情報は、文字描画実行環境において、当該環境により提供されるフォントとして登録され、文字描画データはそのフォントを用いて文字描画される。このため、フォント埋め込みは、文字描画データ内の文字描画コマンドで指定されたフォントが描画実行環境に存在しなくてもユーザが意図した出力を得られるという利点がある。しかし、フォント形状情報を文字描画データ内に埋め込むため、文字描画データ量が大きくなる傾向にある。特に日本語フォントのような文字種の多いフォントを埋め込む場合にこの問題が顕著である。
上記3つの仕組みのうち、(1)のフォント置き換えは、文字描画実行環境で為される処理である。一方、(2)のビットマップ置き換え、(3)のフォント埋め込みは、文字描画データ作成時に為される処理である。また、上記3つの仕組みのうち、どの方法を用いるかは、例えば、ユーザインターフェース上で文字描画データ作成側のユーザがフォント毎指定するのが普通である。
<本実施形態の詳細>
次に、中間フォーマットファイルへの変換を行う本実施形態について図8に示したフローチャートを用いて詳しく述べる。
ファイル変換処理はファイル変換部604にて行われる。まず、アプリケーション604−1が、グラフィックエンジン604−2を介してプリンタドライバ604−3に、対象ファイルを中間フォーマットへ変換する要求を出すことによって変換を開始する(S800)。
アプリケーション604−1は変換ジョブが開始することを、GDI関数を介してグラフィックエンジン604−2に通知する。グラフィックエンジン604−2は通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡す(S801)。
プリンタドライバ604−3は、画像処理部602を介してディスプレイ607に図3に示すようなユーザインターフェース301を表示する。仕向け値の選択欄302には、国・地域一覧が表示されており、ユーザは仕向け地の決定を行う。ここで示した仕向け地とは、変換後の文書を閲覧する環境を指す。ユーザがOKボタン303を押下すると、次の処理へ移行する(S802)。その際、プリンタドライバ604−3は、例えば図2に示したようなLanguageID一覧テーブル201を用いて選択された国名のLanguageID203を取得し、保持しておく。OSはそのシステムの、現在の国設定情報を保持している。例えばWindows(登録商標)オペレーティングシステムであれば、OSはシステムロケールを必ず保持している。このロケールには、言語環境のほか、日付や時刻などの表記方法、通貨の単位などが含まれている。このロケール情報の一つとして国・地域毎に一意に与えられたIDがある。これを本発明ではLanguageIDと呼ぶ。
次に、プリンタドライバ604−3はジョブ開始コマンドを生成する(S803)。
アプリケーション604−1はページが開始することを、GDI関数を介してグラフィックエンジン604−2に通知する。グラフィックエンジン604−2は通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡す(S804)。プリンタドライバ604−3は、ページ開始コマンドを生成する(S805)。
アプリケーション604−1は論理描画要求を、GDI関数を介してグラフィックエンジン604−2に通知する。グラフィックエンジン604−2は通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡す(S806)。プリンタドライバ604−3は、論理描画コマンドを生成する(S807)。
ステップS806、S807は、アプリケーション604−1からのページの終了要求が通知されるまで繰り返される。アプリケーション604−1が、ページが終了することを、GDI関数を介してグラフィックエンジンに通知し、グラフィックエンジン604−2が通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡すと、プリンタドライバ604−3は、ページ終了コマンドを生成する(S809)。
また、ステップS804〜S809は、アプリケーション604−1からのジョブ終了要求が通知されるまで繰り返される。アプリケーション604−1が、ジョブが終了することを、GDI関数を介してグラフィックエンジンに通知し、グラフィックエンジン604−2が通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡すと、プリンタドライバ604−3は、ジョブ終了コマンドを生成する(S811)。
<文字描画の処理手順>
次にステップS806、S807における論理描画処理の内、文字描画コマンドについて図9に示したフローチャートを用いて説明する。図9において、ステップS901はアプリケーションおよびグラフィックスエンジンで行われるステップS806の一部であり、ステップS902〜S911はプリンタドライバで行われるステップS807の一部である。グラフィックスやイメージについても同様に描画処理が行われるが、図9ではそれらは省略した。
アプリケーション604−1は文字描画要求を出す際、文字コード、フォント属性、描画属性を、GDI関数を介してグラフィックエンジン604−2に通知する。グラフィックエンジン604−2は通知されたGDI関数をDDI関数に変換してプリンタドライバ604−3へ引き渡す(S901)。
次に、プリンタドライバ604−3は、GDI関数のパラメータとして受け取ったフォント属性に含まれるフォントフェース名をもとにして、フォントLanguageIDをグラフィックエンジン604−2に問い合わせる。フォントLanguageIDは、例えば、TrueType(商標登録)フォントであれば、TrueTypeフォントテーブル内のNameテーブルに格納されている。Windows(登録商標)でいえば、Windows(登録商標)で利用できるフォントの表である、フォントテーブル内にTrueTypeフォントテーブルがあり、それを参照することで取得可能である(S902)。
次にプリンタドライバ604−3は、ステップ802で取得し、保持しておいた仕向け地LanguageIDを参照することで、仕向け値LanguageIDを取得する(S903)。フォントLanguageIDと仕向け値LanguageIDは、ロケールが一致していれば、同一の値となる。例えば、日本を示すLanguageIDの値は1041であり、日本語フォントを示すフォントLanguageIDも同様に1041と定められている。
次にプリンタドライバ604−3は、フォントLanugageIDと仕向け地LanguageIDとを比較し、一致していなければ、フォントの置き換え、もしくは埋め込みが必要となるためステップS905へ移行する。一方、一致していればフォントを置き換える必要、埋め込む必要がないためステップS911へ移行する(S904)。
プリンタドライバ604−3は、図10(A)、図10(B)に示すような文字コード情報テーブルを、フォント言語用、仕向け地言語用に2つ取得する(S905)。文字コード情報テーブルとは、言語(LanguageID)毎に予め用意しておいたものであり、文字コード毎に1か0の値を保持している。その言語に含まれている文字コードであれば1を、含まれていなければ0を保持している。例えば、「亜」という文字(Unicodeでは文字コード0x4E9C)は日本語には含まれているため、日本語の文字コード情報テーブルの「0x4E9C」には1が、英語には含まれていないため、英語の文字コード情報テーブルの「0x4E9C」には0が格納されている。
次にプリンタドライバ604−3は、取得した2つの文字コード情報テーブルから、フォント置き換え可否判定処理を行う。描画する文字の文字コードが、フォント言語用に取得した文字コード情報テーブルと、仕向け地言語用に取得した文字コード情報テーブル双方において1だった場合、置き換え可能と判定する。逆にどちらか一方が0であった場合、置き換え不可能と判定する(S906)。この方法で判定することによって、描画する文字が仕向け地言語のフォントに含まれるかどうかの判定を行うことができる。本実施の形態では、上記方法によって文字置き換えの可・不可判定を行っているが、例えば図11に示したような文字置き換え判定テーブルを予め用意しておき、それを参照することによって文字置き換えの可・不可を判定しても良い。文字置き換え判定テーブルは、異なる2つの言語間毎に一つ作成する必要がある。例えば、中国語と日本語間の文字置き換え判定テーブルは、前述の日本語用文字コード情報テーブルと中国語用文字コード情報テーブルから作成するものであり、双方の文字コード情報テーブルにおいて1である文字コードには1を、逆にどちらか一方が0であった場合0を保持したテーブルである。文字置き換え判定テーブルを使用する場合、ステップS905、S906の処理の代わりに、該当言語間の文字置き換え判定テーブルを取得し、文字置き換え判定テーブルにおいて1である文字コードを置き換え可能と判定し、0である文字コードを置き換え不可と判定する処理が必要となる。
次にプリンタドライバ604−3は、仕向け値言語のフォントに置き換え不可能であった場合、フォント形状情報の埋め込み処理を行うためにステップS908へ移行し、置き換え可能であった場合、フォント置き換え処理を行うためステップS909へ移行する(S907)。
プリンタドライバ604−3は、フォント属性のフェース名および文字コードをもとに、フォント形状情報をグラフィックエンジン604−2に問い合わせ取得する(S908)。
一方、埋め込み処理の必要がないと判断された文字の場合、置き換えるフォントを指定する必要がある。指定方法としては、予め仕向け値言語毎に決めておく方法や(例:日本語フォントへ置き換える場合はMS明朝、中国語フォントへ置き換える場合は宋体、など)、ユーザインターフェースに言語毎の置き換えフォント候補を表示して、ユーザに決定してもらう方法等が考えられるが、特に方法は問わない(S909)。
次に、プリンタドライバ604−3は、フォント属性のフェース名を、置き換えるフォント名に変更することで、フォントの置き換え行う(S910)。
プリンタドライバ604−3は、埋め込み処理が必要な場合、取得した文字コード、フォント属性、描画属性とフォント形状情報を用いて中間フォーマットに沿った文字描画コマンドを生成する。一方、埋め込み処理の必要がないと判断されたフォントの場合、上記フォント形状情報の取得が必要ないため、文字コード、フォント属性、描画属性を用いて中間フォーマットに沿った文字描画コマンドを生成する(S911)。
以上のようにして、本実施形態の文書処理システムでは、文書ファイル(中間フォーマットファイル)を構成するフォントのフォントLanguageIDと、仕向け地のLanguageIDの文字コード情報テーブルを取得し比較することによって、置き換え可・不可を判定し、置き換え可能であれば、フォント置き換え処理を行い、フォント形状情報を中間フォーマットファイルに埋め込まない。これにより中間フォーマットファイルのサイズを小さく抑えることが可能となる。
<中間フォーマットファイルの再生>
中間フォーマットファイルを再生する再生装置の一般的な動作について述べる。中間フォーマットファイルを再生する再生装置において、中間フォーマットファイルに埋め込まれていないフォントは、文字コード、フェース名を基にシステム(OS)からフォント形状情報を取得し、描画する。その際、指定されたフェース名のフォントがシステムに存在しない場合、前述のフォント置き換え処理が為される。置換え処理で置き換えられたフォントを用いて文字コードをイメージデータに変換する描画処理を行なう。変換されたイメージデータはディスプレイで表示されるか、プリンタエンジンでプリントされる。フォント置き換え処理では、前述のように文字として識別不可能な描画が為されることがある。しかし、本システムによって生成された中間フォーマットファイルにおいて、フォント置き換え処理が為される可能性のあるフォントは、仕向け地LanguageIDとフォントLanguageIDが同一のフォントのみであるため、識別不可能な描画になることはない(同一言語間のフォント置き換え処理では、識別不可能な描画になることはない)。
一方、中間フォーマットファイルにフォントが埋め込まれている場合、埋め込まれているフォントデータを用いてイメージデータへ変換する描画処理を行なう。変換されたイメージデータはディスプレイで表示されるか、プリンタエンジンでプリントされる。システムにそのフォントが存在しなくてもフォント形状情報を中間フォーマットファイル内に保持しているため、描画が可能となる。
以上説明したように本発明の実施の形態によれば、中間フォーマットファイルの生成と閲覧が他国語間にわたる場合において、フォント埋め込みを最適化した中間フォーマットファイルを生成することができる。最適化した中間フォーマットファイルとは、閲覧環境にて文字化けを起こすことがなく、かつファイルサイズを最小限に抑えた中間フォーマットファイルである。そのため、他国語間での、送受信に適した中間フォーマットファイルを生成することが可能となる。
従来の、アプリケーションからの印刷命令をプリンタ制御コマンドへ変換する形式の印刷制御装置の代表的な機能ブロック図である。 本実施の形態における、アプリケーションから中間フォーマットファイルへ変換する処理の一連の流れを示すフローチャートを示す図である。 本実施の形態において用いた、仕向け地の選択を行うための選択画面例を示す図である。 文字描画に必要な情報と、印刷結果を説明する図である。 文字描画においてフォント置き換え処理、ビットマップ置き換え処理が生じた場合の印刷結果の例を示した図である。 本発明の実施形態における文書変換システムのソフトウェアブロック図、ファイル変換部内部のソフトウェアブロック図である。 ホストコンピュータとして使用可能な情報処理装置のハードウェア構成例を示した図である。 本発明の実施形態における、文書変換システムの一連の流れを示すフローチャートを示す図である。 本発明の実施形態における、アプリケーションから文字描画要求かあった時の、プリンタドライバにおける処理について示したフローチャートである。 本発明の実施形態において用いた、文字コード情報テーブル(日本語)(中国語)の一例を示す図である。 本発明の実施形態において用いた、文字置き換え判定テーブル(日本語−中国語間)の一例を示す図である。

Claims (16)

  1. 文書に使用されている文字のフォントが置換え可能か否かを判別する判別ステップと、
    前記判別ステップにより文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別ステップにより文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理ステップとを有することを特徴とする文書変換方法。
  2. 文書の出力環境を指定する指定ステップを有し、
    前記判別ステップは、前記指定ステップにより指定された出力環境の言語と文書に使用されているフォントの言語が一致しない場合、文書に使用されている文字のフォントが置換え可能か否かを判別することを特徴とする請求項1記載の文書変換方法。
  3. 前記判別ステップは、文書に使用されているフォントの言語に存在する文字コードと出力環境の言語に存在する文字コードとに基づき判別することを特徴とする請求項1記載の文書変換方法。
  4. 前記判別ステップは、文書に使用されているフォントの言語に存在する文字コードテーブルと出力環境の言語に存在する文字コードテーブルとに基づき判別することを特徴とする請求項1記載の文書変換方法。
  5. 前記判別ステップは、文書に使用されているフォントの言語と出力環境の言語とに存在する文字コードを特定するテーブルに基づき判別することを特徴とする請求項1記載の文書変換方法。
  6. 文書に使用されている文字のフォントが置換え可能か否かを判別する判別手段と、
    前記判別手段により文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別手段により文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理手段とを有することを特徴とする文書変換装置。
  7. 文書の出力環境を指定する指定手段を有し、
    前記判別手段は、前記指定手段により指定された出力環境の言語と文書に使用されているフォントの言語が一致しない場合、文書に使用されている文字のフォントが置換え可能か否かを判別することを特徴とする請求項6記載の文書変換装置。
  8. 前記判別手段は、文書に使用されているフォントの言語に存在する文字コードと出力環境の言語に存在する文字コードとに基づき判別することを特徴とする請求項6記載の文書変換装置。
  9. 前記判別手段は、文書に使用されているフォントの言語に存在する文字コードテーブルと出力環境の言語に存在する文字コードテーブルとに基づき判別することを特徴とする請求項6記載の文書変換装置。
  10. 前記判別手段は、文書に使用されているフォントの言語と出力環境の言語とに存在する文字コードを特定するテーブルに基づき判別することを特徴とする請求項6記載の文書変換装置。
  11. 文書に使用されている文字のフォントが置換え可能か否かを判別する判別ステップと、
    前記判別ステップにより文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別ステップにより文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
  12. 文書の出力環境を指定する指定ステップを有し、
    前記判別ステップは、前記指定ステップにより指定された出力環境の言語と文書に使用されているフォントの言語が一致しない場合、文書に使用されている文字のフォントが置換え可能か否かを判別することを特徴とする請求項11記載のコンピュータ読み取り可能なプログラム。
  13. 前記判別ステップは、文書に使用されているフォントの言語に存在する文字コードと出力環境の言語に存在する文字コードとに基づき判別することを特徴とする請求項11記載のコンピュータ読み取り可能なプログラム。
  14. 前記判別ステップは、文書に使用されているフォントの言語に存在する文字コードテーブルと出力環境の言語に存在する文字コードテーブルとに基づき判別することを特徴とする請求項11記載のコンピュータ読み取り可能なプログラム。
  15. 前記判別ステップは、文書に使用されているフォントの言語と出力環境の言語とに存在する文字コードを特定するテーブルに基づき判別することを特徴とする請求項11記載のコンピュータ読み取り可能なプログラム。
  16. 文書変換装置と出力装置とを備える文書変換システムであって、
    前記文書変換手段は、文書に使用されている文字のフォントが置換え可能か否かを判別する判別手段と、前記判別手段により文書に使用されている文字のフォントが置換え可能でないと判別された場合、置換え可能でないと判別された文字に対応するフォントの埋め込み処理を行い、前記判別手段により文書に使用されている文字のフォントが置換え可能であると判別された場合、置換え可能と判別された文字に対するフォントの置換え処理を行う処理手段とを有し、
    前記出力装置は、フォントの埋め込まれた文字の場合、埋め込まれたフォントを用いてイメージデータを生成し、フォントの埋め込まれていない文字の場合、出力装置のフォントを用いてイメージデータを生成する生成手段と、前記生成手段により生成されたイメージデータに基づき文字を出力する出力手段とを有することを特徴とする文書変換システム。
JP2004369425A 2004-12-21 2004-12-21 文書変換方法、文書変換装置、及びプログラム Withdrawn JP2006178622A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004369425A JP2006178622A (ja) 2004-12-21 2004-12-21 文書変換方法、文書変換装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369425A JP2006178622A (ja) 2004-12-21 2004-12-21 文書変換方法、文書変換装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2006178622A true JP2006178622A (ja) 2006-07-06

Family

ID=36732696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369425A Withdrawn JP2006178622A (ja) 2004-12-21 2004-12-21 文書変換方法、文書変換装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP2006178622A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287333A (ja) * 2007-05-15 2008-11-27 Murata Mach Ltd 印刷制御装置および印刷制御プログラム
JP2010198372A (ja) * 2009-02-25 2010-09-09 Casio Electronics Co Ltd プリンタシステム
JP2013033432A (ja) * 2011-07-06 2013-02-14 Toppan Printing Co Ltd 電子書籍フォーマット変換方法、変換システム
CN112632915A (zh) * 2020-12-25 2021-04-09 万兴科技(湖南)有限公司 文档转换方法、装置、计算机设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287333A (ja) * 2007-05-15 2008-11-27 Murata Mach Ltd 印刷制御装置および印刷制御プログラム
JP2010198372A (ja) * 2009-02-25 2010-09-09 Casio Electronics Co Ltd プリンタシステム
JP2013033432A (ja) * 2011-07-06 2013-02-14 Toppan Printing Co Ltd 電子書籍フォーマット変換方法、変換システム
CN112632915A (zh) * 2020-12-25 2021-04-09 万兴科技(湖南)有限公司 文档转换方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
JP4667280B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4896362B2 (ja) フォントの選択方法
US9013718B2 (en) Print control apparatus, control method thereof, and device driver for converting commands from one format to another
JP4785578B2 (ja) 情報処理装置およびその方法
JP2005332088A (ja) 文書生成装置およびファイル変換システム
JP6157210B2 (ja) 文書変換装置、文書変換方法、及びプログラム
JP2004102618A (ja) 印刷制御装置及び方法、コンピュータプログラム、コンピュータ読み取り可能な記憶媒体、プレビュー装置及び方法、プリンタドライバ及びそのプレビュー方法
JP4903388B2 (ja) プリンタドライバ、印刷制御装置、印刷システムおよび印刷制御方法
JPH1069477A (ja) 文字処理方法及び文字処理装置
JP2006178622A (ja) 文書変換方法、文書変換装置、及びプログラム
JP2008269157A (ja) 印刷処理装置、印刷処理方法、およびプログラム
JP6234417B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2023020591A (ja) 情報処理装置、その制御方法及びプログラム
JP2006227773A (ja) データ処理装置および印刷装置
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2010125810A (ja) 情報処理装置、データ処理方法、プログラム及び記憶媒体
JP2020144807A (ja) 情報処理装置とその制御方法、及びプログラム
JP3870042B2 (ja) 印刷制御装置及び印刷制御方法
JP2004303077A (ja) 情報処理装置及びページ記述言語生成方法、プログラム及び記憶媒体
JPH11203072A (ja) 画像処理装置
JP2002183120A (ja) 印刷システム、情報処理装置及びそれらの編集方法
JP2009289121A (ja) 情報処理装置、出力装置、出力処理方法、及びプログラム
US8756491B2 (en) PDL data processing device
JP2003177904A (ja) 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
JP2007141160A (ja) 印刷制御装置、方法及びプログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304