説明

印刷可能データのレンダリングに関するシステムおよび方法

【課題】既存の植字アプリケーションでサポートされていないオブジェクトを含み得るマークアップ言語で書かれた文書を既存の植字アプリケーションを用いてレンダリングする方法の提供。
【解決手段】文書を構文解析し、植字アプリケーションによってネイティブにサポートされていないオブジェクトを特定し、特定されたオブジェクトに関するバウンディングボックス情報を含む情報を抽出する工程を含む。植字アプリケーションは呼び出され、植字アプリケーションには特定されたオブジェクトに関するバウンディングボックス情報と特定されたオブジェクトを無視せよとの命令が付与される。植字アプリケーションの出力が構文解析され、特定されたオブジェクトに対応するレイアウト情報が決定され、特定されたオブジェクトは対応するレイアウト情報を用いて処理される。開示の方法によりTeX植字アプリケーションをOOXML中で指定される文書と共に使用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、印刷分野に関し、特に、マークアップ言語によって記述された印刷可能データのレンダリングに関するシステムおよび方法に関する。
【背景技術】
【0002】
文書処理ソフトウェアにより、ユーザは、文書の視認、編集、処理、保存および印刷を簡便に行うことができる。しかし、文書が印刷可能な状態になる前の段階での文書コンテンツは、マークアップ言語で記述されていることが多い。マークアップ言語により、文書のテキスト注釈が得られる。文書の部分間の構造的関係を指定するために記述的マークアップ言語を用いることができるものの、当該文書をどのようにレンダリングしてエンドユーザに提示するかについての命令は全く得られないことが多い。一方、手続きマークアップ言語および提示マークアップ言語中には、文書コンテンツをどのようにレンダリングすべきかについて詳述する命令が含まれる場合がある。
【0003】
記述的マークアップ言語を用いて記述された文書をレンダリングする場合、植字プログラムを用いて、当該文書をどのようにしてユーザに提示するかを決定することができる。例えば、TeXなどの植字システムを用いて、最終提示前に文書を植字し、印刷可能なデータの、1ページ上におけるフォーマットおよび位置を指定することができる。植字システムは、未フォーマットのテキストおよびコマンドを入力として受け取り、フォーマットされた(レイアウトされた)テキストを出力として生成することができる。しかし、オフィスオープンエクステンシブルマークアップ言語(「OOXML」)などの現在におけるマークアップ言語には、植字システムによって処理できない印刷可能データの記述が含まれる可能性があるため、現在の状況では、文書のレンダリング用途のために植字システムを用いると問題が発生する可能性がある。例えば、植字システムによるベクトルグラフィックおよび画像データの処理が不可能な場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
OOXMLなどのマークアップ言語によって記述できる多様な印刷可能オブジェクトを既存の植字システムで処理できない場合、現実面では既存の植字システムの使用が制限され得る。加えて、植字に関連する複雑性に起因して、マークアップ言語中の新規オブジェクトに対応する新しい植字ソフトウェアを開発するのは高コストでありかつ非現実的かもしれない。そのため、マークアップ言語内に存在する、既存の植字システムでは通常処理しないであろう非テキストオブジェクトおよび他のオブジェクトのレンダリングを、当該植字システムによって処理可能にするためのシステムおよび方法が必要とされている。
【課題を解決するための手段】
【0005】
開示される実施形態に基づいて、マークアップ言語内に規定されている印刷可能データを既存の植字システムを用いてレンダリングするためのシステムおよび方法が提示される。いくつかの実施形態において、文書中の少なくとも1つのページを植字アプリケーションを用いてレンダリングする方法であって、前記文書はマークアップ言語を用いて記述され、前記マークアップ言語は、前記植字アプリケーションによってネイティブにサポートされていないオブジェクトを含み、前記方法は、前記文書を構文解析して、前記植字アプリケーションによってネイティブにサポートされていない少なくとも1つのオブジェクトを特定し、前記特定されたオブジェクトに関するバウンディングボックス情報を含む情報を抽出する工程と、前記植字アプリケーションを呼び出す工程であって、前記植字アプリケーションには、前記特定されたオブジェクトに関するバウンディングボックス情報と、前記特定されたオブジェクトを無視せよとの命令とが付与される、工程と、前記植字アプリケーションの出力を構文解析して、前記特定されたオブジェクトに関するレイアウト情報と、前記特定されたオブジェクトとを相関付ける工程と、前記特定されたオブジェクトに対応するレイアウト情報を用いて前記特定されたオブジェクトを処理する工程とを含み得る。
【0006】
開示される実施形態は、コンピュータ可読媒体またはコンピュータ可読メモリを用いてプロセッサによって生成、保存、アクセスまたは改変された方法にも関する。
【0007】
上記および他の実施形態について、以下の図面を参照してさらに説明する。
【図面の簡単な説明】
【0008】
【図1】図1は、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのシステム中の例示的構成要素を示すブロック図である。
【図2】図2は、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのアプリケーションを実行することが可能な例示的プリンタの高レベルブロック図を示す。
【図3】図3は、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのアプリケーションの一部を実行する方法における工程を示す例示的プロセスフローを示す。
【図4】図4は、OOXML文書をTeX植字アプリケーションを用いて処理する例示的方法を示すフローチャートを示す。
【図5】図5は、例示的方法400において用いられる非TeXオブジェクトを処理する工程450の詳細を示すフローチャートを示す。
【発明を実施するための形態】
【0009】
開示される実施形態の多様な特徴を反映する実施態様に従って、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのシステムおよび方法が提示される。いくつかの実施形態において、上記印刷可能データは、文書におけるマークアップ言語記述の形態をとり得る。例えば、文書はOOXMLを用いて記述されてもよく、上記技術を用いた文書をTeXなどの植字ソフトウェアを用いてレンダリングし得る。これらの技術は、当業者にとって自明の多様な様態で拡張することができる。従来のシステムにおいて、植字ソフトウェアは、マークアップ言語によってサポートされた一以上のオブジェクトをサポートしない場合がある点に留意されたい。例えば、TeXは、OOXMLを用いて記述され得るベクトルグラフィックスオブジェクトおよび画像オブジェクトの植字を単独ではサポートしない。
【0010】
図1は、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのシステム中の構成要素を示すブロック図を示す。開示の実施形態に基づいたコンピュータソフトウェアアプリケーションは、図1に示すように、コンピュータのネットワーク上で展開され得る。これらのコンピュータは、従来の通信プロトコルおよび/またはデータポートインターフェースを介した情報のやりとりを可能にする通信リンクを通じて接続される。
【0011】
図1に示すように、例示的システム100は、計算装置110およびサーバ130を含むコンピュータを含む。さらに、計算装置110およびサーバ130は、ネットワーク140を通過し得る接続120を介して通信し得る。ネットワーク140は、一例においてインターネットであってもよい。計算装置110は、コンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、またはネットワーク環境において使用することが可能な他の任意の計算装置であってもよい。サーバ130は、計算装置110および他のデバイス(図示せず)へ接続することが可能なプラットフォームであってもよい。計算装置110およびサーバ130は、プリンタ170を用いた文書の印刷を可能にするソフトウェア(図示せず)を実行し得る。
【0012】
例示的プリンタ170は、電子データから物理的文書を生成する種々のデバイスを含む。このようなデバイスを非限定的に挙げると、レーザプリンタ、インクジェットプリンタ、LEDプリンタがある。例示的プリンタ170は、プロッター、ファクシミリ装置、多機能デバイス、デジタルコピー機などの形態をとり得る。いくつかの実施形態において、プリンタ170は、接続120を介して計算装置110またはサーバ130から受信された文書を直接印刷することもできる。いくつかの実施形態において、このような配置構成により、計算装置110またはサーバ130によるさらなる処理が有っても(あるいは無くても)文書を直接印刷することが可能になり得る。いくつかの実施形態において、文書は、OOXMLなどのマークアップ言語を用いて記述されてもよく、テキスト、グラフィックおよび画像の一以上を含み得る。いくつかの実施形態において、プリンタ170は、文書のOOXML記述を印刷対象として受信し得る。文書印刷処理は分散させることが可能である点にも留意されたい。よって、プリンタ170によって文書を物理的に印刷する前に、計算装置110、サーバ130および/またはプリンタにより、マークアップ言語の構文解析、事前処理、植字、ラスタライゼーション、ハーフトーニング、カラーマッチングおよび/または他の操作プロセスのような文書印刷処理の一部を行うことができる。
【0013】
計算装置110は、リムーバブルメディアドライブ150も含む。リムーバブルメディアドライブ150は、例えば、3.5インチフロッピードライブ、CD−ROMドライブ、DVDROMドライブ、CD±RWまたはDVD±RWドライブ、USBフラッシュドライブおよび/または開示の実施形態に従った他の任意のリムーバブルメディアドライブを含み得る。いくつかの実施形態において、ソフトウェアアプリケーションの一部をリムーバブルメディアに内在させ、計算装置110によってリムーバブルメディアドライブ150を用いて上記ソフトウェアアプリケーションの読み出しおよび実行を行ってもよい。
【0014】
接続120は、計算装置110、サーバ130およびプリンタ170を接続し、従来の通信プロトコルおよび/またはデータポートインターフェースを用いて有線または無線接続として実行され得る。一般的に、接続120は、デバイス間のデータ送信を可能にするものであれば任意の通信チャンネルでよい。一実施形態において、例えば、上記デバイスに、適切な接続を介したデータ送信のためのパラレルポート、シリアルポート、イーサネット、USB、SCSI、FIREWIREおよび/または同軸ケーブルポートのような従来のデータポートが設けられ得る。これらの通信リンクは、無線リンクまたは有線リンクであってもよいし、あるいは、上記の多様なデバイス間の通信を可能にする開示の実施形態に従った任意の組み合わせであってもよい。
【0015】
ネットワーク140は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)またはインターネットを含み得る。プリンタ170は、接続120を通じてネットワーク140に接続され得る。いくつかの実施形態において、プリンタ170は、計算装置110および/またはサーバ130に直接接続してもよい。システム100は、いくつかの実施形態に従って、他の周辺デバイス(図示せず)も含み得る。開示の実施形態に従ったコンピュータソフトウェアアプリケーションが、図1に示すように、例示的コンピュータのうち何れかにおいて展開され得る。例えば、計算装置110は、サーバ130から直接ダウンロード可能なソフトウェアを実行し得る。開示の実施形態に従って、上記アプリケーションの一部をプリンタ170によって実行してもよい。
【0016】
図2は、マークアップ言語中に規定された印刷可能なデータを既存の植字システムを用いてレンダリングするためのアプリケーションを実行することが可能な例示的プリンタ170の高レベルブロック図を示す。いくつかの実施形態において、プリンタ170は、CPU176、ファームウェア171、メモリ172、入力/出力ポート175、印刷エンジン177および二次記憶装置173を接続するバス174を含み得る。プリンタ170はまた、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのアプリケーションの一部を開示の実施形態に従った様態で実行することが可能な他の特定用途向け集積回路(ASIC)および/またはフィールドプログラマブルゲートアレイ(FPGA)178も含み得る。いくつかの実施形態において、プリンタ170はまた、I/Oポート175および接続120を用いて計算装置110中の二次記憶装置または他のメモリにアクセスし得る。いくつかの実施形態において、プリンタ170は、プリンタオペレーティングシステム、文書構文解析ソフトウェア、ラスタライゼーションおよび植字ソフトウェアおよび他の適切なアプリケーションソフトウェアを含むソフトウェアも実行し得る。いくつかの実施形態において、プリンタ170は、選択肢のうち、用紙サイズ、出力トレイ、色選択および印字解像度をユーザが構成できるようにし得る。
【0017】
いくつかの実施形態において、CPU176は、汎用プロセッサ、専用プロセッサまたは組み込みプロセッサであり得る。CPU176は、制御情報および命令などのデータをメモリ172および/またはファームウェア171とやりとりすることができる。メモリ172は、任意の種類のダイナミックランダムアクセスメモリ(「DRAM」)であり得る。このようなダイナミックランダムアクセスメモリを非限定的に挙げると、SDRAMまたはRDRAMがある。ファームウェア171は、命令およびデータを保持し得る。このような命令およびデータを非限定的に挙げると、文書構文解析、言語処理、ラスタライゼーション、植字およびハーフトーニング、ルーチンならびに他のコードのためのブートアップシーケンスおよび事前規定されたルーチンがある。いくつかの実施形態において、ファームウェア171中のコードおよびデータは、CPU176によって機能させられる前にメモリ172にコピーされ得る。ファームウェア171中のルーチンは、OOXMLなどのマークアップ言語を用いて記述された文書を処理および印刷するためのコードを含み得る。上記文書は、計算装置110から受信され得る。いくつかの実施形態において、ファームウェア171は、TeXなどの既存の植字プログラムを呼び出すルーチンと、ディスプレイリストを適切なピックスマップに生成およびラスター化し、該ピックスマップをメモリ172内に保存するルーチンとを含み得る。ファームウェア171はまた、圧縮ルーチンおよびメモリ管理ルーチンも含み得る。いくつかの実施形態において、ファームウェア171中のデータおよび命令は更新可能である。
【0018】
いくつかの実施形態において、CPU176は、命令およびデータに対して機能し、ASIC/FPGA178および印刷エンジン177に対して制御およびデータを提供して印刷文書を生成し得る。いくつかの実施形態において、ASIC/FPGA178もまた、印刷エンジン177に対して制御およびデータを提供し得る。FPGA/ASIC178はまた、変換アルゴリズム、圧縮アルゴリズムおよびラスター化アルゴリズムのうち一以上を実行し得る。
【0019】
いくつかの実施形態において、計算装置110は、マークアップ言語を用いて指定された文書中の印刷可能データをプリンタ170に送信し得る。その後、プリンタ170は、マークアップされた前記文書を構文解析してテキストオブジェクトおよび他の非テキストオブジェクトを抽出するルーチンを呼び出し得る。非テキストオブジェクトは、ベクトルグラフィックおよび画像オブジェクトを含み得る。その後、プリンタ170は、上記印刷可能データを印刷可能データの最終形態にレンダリングし、この最終形態に従って印刷するための植字ルーチンおよび他のグラフィックスライブラリルーチンを呼び出すことにより、上記テキストおよび非テキストオブジェクトを処理し得る。この最終形態は、ピックスマップの形態をとり得る。いくつかの実施形態において、このマークアップ言語記述の文書から最終的な印刷可能データへの変換プロセスは、オブジェクトのディスプレイリストを含む中間的な印刷可能データの生成を含み得る。
【0020】
いくつかの実施形態において、ディスプレイリストは、一以上のグラフィックスオブジェクトおよび画像データオブジェクトを保持し得る。いくつかの実施形態において、ディスプレイリスト中のオブジェクトは、ユーザ文書中の類似するオブジェクトに対応し得る。いくつかの実施形態において、ディスプレイリストは、中間的なまたは最終的な印刷可能データの生成を支援し得る。いくつかの実施形態において、ディスプレイリストおよび/またはピックスマップは、メモリ172または二次記憶装置173内に保存され得る。例示的な二次記憶装置173は、内部または外部ハードディスク、メモリスティック、またはプリンタ170内において使用することが可能な他の任意のメモリ保存デバイスであり得る。いくつかの実施形態において、上記ディスプレイリストは、プリンタ170、計算装置110およびサーバ130のうち一以上に内在し得る。ディスプレイリストおよび/またはピックスマップを保存するためのメモリは、専用メモリを含んでいてもよいし、あるいは、汎用メモリの一部またはいくつかの実施形態によるその組み合わせを形成してもよい。いくつかの実施形態において、メモリは、必要に応じてディスプレイリストおよび/またはピックスマップを保持するように、動的に割り当てられ得る。いくつかの実施形態において、ディスプレイリストおよび/またはピックスマップの保存のために割り当てられたメモリは、処理後に動的にリリースされ得る。
【0021】
図3は、マークアップ言語中に規定された印刷可能データを既存の植字システムを用いてレンダリングするためのアプリケーションの一部を実行する方法における工程を示す例示的プロセスフロー300を示す。このプロセスでは、先ず工程310において印刷ジョブが開始され得る。この印刷ジョブは、いくつかの場合において、OOXMLなどのマークアップ言語で指定された文書であり得る。
【0022】
工程320において、文書315に対し、言語およびオブジェクト処理も行われ得る。例えば、上記文書中のデータは、OOXML構文解析ツールによって構文解析され、これにより、個々のオブジェクト(例えば、テキスト、画像およびグラフィック)が特定され得る。OOXML構文解析は、オブジェクトの位置決めおよび範囲に関する何らかの予備情報を得るためにも用いられ得る。例えば、上記文書中の印刷可能データは、テキストデータ、画像データおよびグラフィックデータとしてカテゴリー分けされ得る。
【0023】
一実施形態において、上記グラフィックまたは画像データを表現するために、内部オブジェクトが生成され得る。このオブジェクトは、OOXMLによって提供されかつ上記構文解析ツールによって抽出されたグラフィックまたは画像に関する情報を含み得る。例えば、OOXMLは、幾何学的変換を提供し、グラフィックオブジェクトに関する色情報に対し塗りつぶしおよびストロークを行い、ネイティブ画像データを保持しているファイルを特定するためのファイル名を提供し得る。既存の植字アプリケーションが構文解析ツールによって特定された一以上のオブジェクトを独立して処理することができないかまたはこのようなオブジェクトをネイティブに サポートしていない場合、これらのオブジェクトに関する情報を上記植字アプリケーションから隠蔽してもよいし、あるいは、上記オブジェクトを無視するよう上記植字アプリケーションに命令してもよい。この場合、上記植字アプリケーションに対し、上記オブジェクトのバウンディングボックスをレイアウト計算のために付与すればよい。いくつかの実施形態において、上記植字アプリケーションは、隠蔽された上記オブジェクトに関する情報を上記入力文書からコピーし、出力中にその情報をコピーするだけである。
【0024】
例えば、文書がOOXMLで記述され、かつ、植字アプリケーションとしてTeXが用いられる場合、TeXが独立して処理することが不可能なOOXMLオブジェクトが特定され、「■special」コマンド内にカプセル化され得る。「非TeX」オブジェクトという用語は、TeXが独立して処理することが不可能なオブジェクトまたはTeXがネイティブにサポートしていないオブジェクトを指す。TeXが呼び出された際に、カプセル化された上記非TeXオブジェクトに関するバウンディングボックス情報をTeXに提供してもよい。このバウンディングボックス情報は、TeXによって行われるレイアウト計算において用いられ得る。その結果、TeXは、上記の多様な非TeXオブジェクトの位置を決定することができるが、上記オブジェクトそのものは直接処理しない。当業者であれば、利用可能な特徴および言語構成概念を用いて、上記した方法を他の植字言語に容易に適用することができる。TeXが上記「■special」コマンドと遭遇した場合、TeXは、上記カプセル化部分を自身が生成した出力へと転送するだけであり、さらなる処理は行わない。
【0025】
上記植字アプリケーションによって生成された出力にさらなる構文解析を行って、上記植字アプリケーションによって処理されないオブジェクトに関するレイアウト情報と、上記オブジェクトそのものとを相関付けることができる。この「■special」コマンドは、TeXに対し、そのカプセル化部分内の情報を無視または軽視するよう命令する。かかる「■special」コマンドのカプセル化部分は、上記オブジェクトに対するポインタなどの参照情報を含み得る。このポインタを用いて、TeXによって提供されたレイアウト情報と、オブジェクトそのものとを相関付けることができる。
【0026】
これらの動作の結果、ディスプレイリスト325中のグラフィックスオブジェクトを記述するグラフィックプリミティブが配置され得る。いくつかの実施形態において、言語処理およびオブジェクト事前処理は、OOXML構文解析ツールなどのマークアップ言語構文解析ツールと、他の関連付けられたルーチンとにより、行われ得る。例示的ディスプレイリスト325は、データ処理において実際の印刷の前の中間工程であってもよく、後続形態にさらに変換される前に構文解析にかけられ得る。ディスプレイリスト325は、ディスプレイリストオブジェクトに対する色、不透明度、境界情報、および深さなどの情報を含み得る。
【0027】
ディスプレイリスト表現から物理的媒体上への印刷に適した形態への変換プロセスを、データのラスター化またはラスタライゼーションと呼ぶ場合がある。いくつかの実施形態において、ラスタライゼーションは、工程330においてラスター画像プロセッサによって行われ得る。例えば、基本的なラスタライゼーションは、典型的にはポリゴンによって記述されている三次元領域をとり、この三次元領域を二次元表面上にレンダリングすることにより、達成され得る。ポリゴンは、三角形の集合として表すことができる。三角形は、三次元空間中の3つの頂点により表され得る。1つの頂点は、1点、エッジの端点、またはポリゴンにおける2つのエッジが出会う角部を規定する。そのため、基本的ラスタライゼーションにより、頂点の軌跡(stream)を対応する二次元点に変換し、この変換された二次元三角形を塗りつぶすことができる。ラスタライゼーションの後、上記ラスター化データは、例示的フレームバッファ350などのフレームバッファ内に保存され得る。このフレームバッファは、メモリ172内に物理的に配置され得る。
【0028】
工程330において、ラスター画像処理(RIP)モジュールは、ディスプレイリスト325中のオブジェクトを処理し、ラスター化された同等物をフレームバッファ350内に生成し得る。いくつかの実施形態において、ラスター画像処理は、プリンタ170によって行われ得る。例えば、ラスター画像処理は、プリンタ170により、CPU176、ASIC/FPGA178、メモリ172および/または二次記憶装置173のうち一以上を用いて行われ得る。ラスター画像処理は、プリンタ170により、ソフトウェア、ファームウェア、および/または専用ハードウェア(例えば、ASIC/FPGA178)の何らかの組み合わせにより、行われ得る。フレームバッファ350は、印刷エンジン177による印刷媒体上への印刷に適した形態で印刷オブジェクトの表現を保持し得る。
【0029】
いくつかの実施形態において、フレームバッファ350中のデータは、工程360において後処理に供され得る。例えば、ハーフトーニング、トラッピングなどの多様な操作を、フレームバッファ350中のデータに対して行うことができる。これらの操作の結果、フレームバッファ中のデータが改変され、その結果、後処理されたフレームバッファ365が得られる。その後、後処理されたフレームバッファ365は、工程370において任意のさらなる処理に供され得る。例えば、印刷エンジン177は、フレームバッファ365内のラスター化されかつ後処理されたデータを処理し、紙などの印刷媒体上のページの印刷可能な画像を形成し得る。
【0030】
図4は、TeX植字アプリケーションを用いてOOXML文書を処理するための例示的方法400を示すフローチャートを示す。当業者にとって明らかであるように、方法400はひとえに説明目的のために示すものであり、他のマークアップ言語および/または他の植字アプリケーションを用いて記述された文書にもこの方法が適用可能である点に留意されたい。一実施形態において、例示的方法400は、言語およびオブジェクト処理工程320の一部として行われ得る。いくつかの実施形態において、例示的方法400の一部は、ラスター画像処理工程330の間に行われ得る。一般的に、方法400は、印刷システムパラメータおよび実行詳細、ならびに用いられるマークアップ言語および植字アプリケーションに応じて、多様な様態で実行され得る。
【0031】
OOXMLを用いて記述され得る文書がプリンタ170に送信されると、例示的方法400が呼び出され得る。いくつかの実施形態において、文書中のOOXMLデータは、工程410において構文解析され得る。例えば、構文解析ルーチンは、構文解析されたOOXMLデータ415を生成する際に、TeXによる処理が可能なデータを特定するとともに、他の非TeXデータも特定し得る。例えば、文書中の印刷可能データは、テキスト、画像およびグラフィックデータとしてカテゴリー分けされ得る。TeXデータは、TeXによる処理が可能なテキストなどのデータを含み得る。一方、非TeXデータは、TeXによる独立的処理が不可能である可能性のあるグラフィックスオブジェクトおよび画像オブジェクトなどのデータを指す。グラフィックスデータは、高レベルグラフィック(「HLG」)データを含み得る。このような高レベルグラフィックは、基礎となるグラフィックスプリミティブから構築され得る。
【0032】
上記OOXML記述により、グラフィックオブジェクトに対する幾何学的変換、塗りつぶしおよびストローク色情報を得ることもでき、ネイティブ画像データを保持するファイルを特定するファイル名が得られ得る。構文解析ルーチンにより、上記OOXML記述からこの情報が抽出され、オブジェクトの位置決めおよび上記非TeXオブジェクトの範囲に関する何らかの予備情報が得られ得る。
【0033】
構文解析されたOOXMLデータ415が工程420において処理されて、TeX植字アプリケーションに対するTeX入力425が生成され得る。一実施形態において、TeX入力425は、グラフィックまたは画像データを表すように生成された内部オブジェクトを含み得る。このオブジェクトは、工程410において上記構文解析ツールによって抽出されたグラフィックスまたは画像データに関する情報を含み得る。例えば、グラフィック、画像および他の非TeXオブジェクトに対するポインタが、TeX入力425中の「■special」コマンドを用いてカプセル化され得る。この「■special」コマンドは、カプセル化部分内の情報を無視するようTeXに命令する。すなわち、オブジェクトに対するポインタは、「■special{text}」などのTeXコマンドを用いてカプセル化され得る。ここで、「{text}」は、任意の文字列(すなわち、プレーンテキスト中のもの)であり得る。従って、「{text}」を用いて、文字列として書かれたポインタを指すことができる。加えて、上記カプセル化オブジェクトそれぞれに対するバウンディングボックスに関する情報は、TeXへ送ることができるよう、カプセル化部分の外部のTeX入力425内において生成され得る。
【0034】
工程430において、上記TeX入力が処理され得る。例えば、上記TeX植字アプリケーションが呼び出され、TeX入力425上で動作して、TeX出力435を生成するよう命令され得る。Texは、TeX入力425中のテキストオブジェクトを処理および植字し得る。加えて、TeXは、上記カプセル化オブジェクトそれぞれのバウンディングボックスに関する情報をレイアウト計算において利用し得る。その結果、TeXは、多様な非TeXオブジェクトの位置を決定し得るが、オブジェクトそのものは直接処理しない。TeXは、上述したように、TeXおよび非TeXオブジェクトの処理後、TeX出力435を生成し得る。
【0035】
工程440において、TeX出力435が構文解析され得る。TeX出力構文解析ツールは、上記「/special」コマンド内に埋め込まれたポインタまたは他のオブジェクト参照情報を用いて、TeXによって生成されたレイアウト情報と、対応する非TeXオブジェクトとを関連づけ得る。工程450において、任意のHLGオブジェクトを含む非TeXオブジェクトが、関連付けられたレイアウト情報445と共に個々に処理され得る。例えば、画像オブジェクトの場合、該画像オブジェクト内に埋め込まれたファイル名を用いて、ネイティブ画像データが読み出され得る。グラフィックスオブジェクトおよびHLGオブジェクトは、グラフィックスライブラリを呼び出すことによっても処理され得る。例えば、グラフィックスオブジェクトは、上記オブジェクトに対して「塗りつぶし」操作および「ストローク」操作を行うことにより、処理され得る。これらの操作の結果、ディスプレイリスト325内に配置されているグラフィックスオブジェクトを記述するグラフィックプリミティブが得られ得る。
【0036】
図5は、例示的方法400において用いられる非TeXオブジェクトを処理するための工程450の詳細を示すフローチャートである。いくつかの実施形態において、HLGオブジェクト445を含む非TeXオブジェクトと関連付けられたレイアウト情報を用いて、任意のHLGオブジェクトを含む非TeXオブジェクトの位置を工程451において設定することができる。工程453において、画像オブジェクト、グラフィックスオブジェクトおよびHLGオブジェクトが処理され得る。例えば、画像オブジェクトについて、該画像オブジェクト中に埋め込まれているファイル名を用いてネイティブ画像データが読み出され得る。適切なグラフィックスライブラリを読み出すことにより、グラフィックスオブジェクトおよびHLGオブジェクトも処理され得る。その結果、ディスプレイリスト325内に配置されているオブジェクトを記述するグラフィックプリミティブが得られ得る。次に、工程454において、後で削除するものとしてマーク付けされていないオブジェクトが削除され得る。例えば、色オブジェクト、塗りつぶしパターンなどの特定の属性を処理時に再利用し、後で削除するものとしてマーク付けすることができ、これにより、レンダリングプロセスを高速化することができる。他のオブジェクトを迅速に削除することで、メモリの空き容量を増やすことができる。
【0037】
当業者にとって、本明細書および開示の実施形態の実施を鑑みれば、他の実施様態が明らかである。本明細書および例はひとえに例示的なものであり、その真なる範囲および精神は以下の特許請求の範囲によって示されることが意図される。

【特許請求の範囲】
【請求項1】
文書中の少なくとも一のページを植字アプリケーションを用いてレンダリングするための、プロセッサによって実行される方法であって、前記文書はマークアップ言語を用いて記述され、前記マークアップ言語は、前記植字アプリケーションによってネイティブにサポートされていないオブジェクトを含み、前記方法は、
前記文書を構文解析して、前記植字アプリケーションによってネイティブにサポートされていない少なくとも一のオブジェクトを特定し、前記特定されたオブジェクトに関するバウンディングボックス情報を含む情報を抽出する工程と、
前記植字アプリケーションを呼び出す工程であって、前記植字アプリケーションには、前記特定されたオブジェクトに関するバウンディングボックス情報と、前記特定されたオブジェクトを無視せよとの命令とが付与される工程と、
前記植字アプリケーションの出力を構文解析して、前記特定されたオブジェクトに対応するレイアウト情報を決定する工程と、
前記特定されたオブジェクトに対応する前記レイアウト情報を用いて、前記特定されたオブジェクトを処理する工程と、を含む。
【請求項2】
前記文書はOOXMLで記述される、請求項1に記載の、プロセッサによって実行される方法。
【請求項3】
前記植字アプリケーションはTeXである、請求項1に記載の、プロセッサによって実行される方法。
【請求項4】
前記植字アプリケーションは、入力された前記特定されたオブジェクトと関連付けられたテキストを前記植字アプリケーションによって生成された前記出力内に複製することにより、前記特定されたオブジェクトを無視せよとの前記命令に応答する、請求項1に記載のプロセッサによって実行される方法。
【請求項5】
前記植字アプリケーションは、前記特定されたオブジェクトに関する前記バウンディングボックス情報に基づいて、前記特定されたオブジェクトについてのレイアウト情報を計算する、請求項1に記載の、プロセッサによって実行される方法。
【請求項6】
前記少なくとも一の特定されたオブジェクトは、グラフィックスオブジェクトまたは画像オブジェクトであり得る、請求項1に記載のプロセッサによって実行される方法。
【請求項7】
前記方法は、
コンピュータ、
プリンタ、または
コンピュータに接続されたプリンタ、
において行われる、請求項1に記載の、プロセッサによって実行される方法。
【請求項8】
前記特定されたオブジェクトに対応するレイアウト情報を用いて前記少なくとも一の特定されたオブジェクトを処理する工程は、
前記ページ上の前記少なくとも一の特定されたオブジェクトの位置を設定する工程と、
前記特定されたオブジェクトが画像オブジェクトである場合、前記少なくとも一の特定されたオブジェクトと関連付けられたファイルからネイティブ画像データを読み出す工程と、
前記特定されたオブジェクトがグラフィックオブジェクトである場合、前記少なくとも一の特定されたオブジェクトを処理するための適切なグラフィックスライブラリルーチンを呼び出す工程と、
前記オブジェクトが再利用される場合、前記少なくとも一の特定されたオブジェクトをマーク付けする工程と、
前記オブジェクトがマーク付けされていない場合、前記少なくとも一の特定されたオブジェクトを削除する工程と、
をさらに含む、請求項1に記載の、プロセッサによって実行される方法。
【請求項9】
前記植字アプリケーションによって提供されるレイアウト情報に基づいて、前記少なくとも一のページを前記少なくとも一の特定されたオブジェクトと共にレンダリングする工程をさらに含む、請求項1に記載の、プロセッサによって実行される方法。
【請求項10】
命令を保存するコンピュータ可読媒体であって、前記命令は、プロセッサによって実行されると、文書中の少なくとも一のページを植字アプリケーションを用いてレンダリングする方法を行い、前記文書はマークアップ言語を用いて記述され、前記マークアップ言語は、前記植字アプリケーションによってネイティブにサポートされていないオブジェクトを含み、前記方法は、
前記文書を構文解析して、前記植字アプリケーションによってネイティブにサポートされていない少なくとも一のオブジェクトを特定し、前記特定されたオブジェクトに関するバウンディングボックス情報を含む情報を抽出する工程と、
前記植字アプリケーションを呼び出す工程であって、前記植字アプリケーションには、前記特定されたオブジェクトに関するバウンディングボックス情報および前記特定されたオブジェクトを無視せよとの命令が付与される工程と、
前記植字アプリケーションの出力を構文解析して、前記特定されたオブジェクトに対応するレイアウト情報を決定する工程と、
前記特定されたオブジェクトに対応する前記レイアウト情報を用いて、前記特定されたオブジェクトを処理する工程と、
を含む、コンピュータ可読媒体。
【請求項11】
前記文書はOOXMLで記述される、請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記植字アプリケーションはTeXである、請求項10に記載のコンピュータ可読媒体。
【請求項13】
前記植字アプリケーションは、入力された前記特定されたオブジェクトと関連付けられたテキストを前記植字アプリケーションによって生成された前記出力内に複製することにより、前記特定されたオブジェクトを無視せよとの前記命令に応答する、請求項10に記載のコンピュータ可読媒体。
【請求項14】
前記植字アプリケーションは、前記特定されたオブジェクトに関する前記バウンディングボックス情報に基づいて、前記特定されたオブジェクトについてのレイアウト情報を計算する、請求項10に記載のコンピュータ可読媒体。
【請求項15】
前記少なくとも一の特定されたオブジェクトは、グラフィックスオブジェクトまたは画像オブジェクトであり得る、請求項10に記載のコンピュータ可読媒体。
【請求項16】
前記方法は、
コンピュータ、
プリンタ、または
コンピュータに接続されたプリンタ、
において行われる、請求項10に記載のコンピュータ可読媒体。
【請求項17】
前記特定されたオブジェクトに対応するレイアウト情報を用いて前記少なくとも一の特定されたオブジェクトを処理する工程は、
前記ページ上の前記少なくとも一の特定されたオブジェクトの位置を設定する工程と、
前記特定されたオブジェクトが画像オブジェクトである場合、前記少なくとも一の特定されたオブジェクトと関連付けられたファイルからネイティブ画像データを読み出す工程と、
前記特定されたオブジェクトがグラフィックオブジェクトである場合、前記少なくとも一の特定されたオブジェクトを処理するための適切なグラフィックスライブラリルーチンを呼び出す工程と、
前記オブジェクトが再利用される場合、前記少なくとも一の特定されたオブジェクトをマーク付けする工程と、
前記オブジェクトがマーク付けされていない場合、前記少なくとも一の特定されたオブジェクトを削除する工程と、
をさらに含む、請求項10に記載のコンピュータ可読媒体。
【請求項18】
命令を保存するコンピュータ可読メモリであって、前記命令は、プロセッサによって実行されると、文書中の少なくとも一のページを植字アプリケーションを用いてレンダリングする方法を行い、前記文書はマークアップ言語を用いて記述され、前記マークアップ言語は、前記植字アプリケーションによってネイティブにサポートされていないオブジェクトを含み、前記方法は、
前記文書を構文解析して、前記植字アプリケーションによってネイティブにサポートされていない少なくとも一のオブジェクトを特定し、前記特定されたオブジェクトに関するバウンディングボックス情報を含む情報を抽出する工程と、
前記植字アプリケーションを呼び出す工程であって、前記植字アプリケーションには、前記特定されたオブジェクトに関するバウンディングボックス情報および前記特定されたオブジェクトを無視せよとの命令が付与される工程と、
前記植字アプリケーションの出力を構文解析して、前記特定されたオブジェクトに対応するレイアウト情報を決定する工程と、
前記特定されたオブジェクトに対応する前記レイアウト情報を用いて前記特定されたオブジェクトを処理する工程と、
を含む、コンピュータ可読メモリ。
【請求項19】
前記文書はOOXMLで記述される、請求項18に記載のコンピュータ可読メモリ。
【請求項20】
前記植字アプリケーションはTeXである、請求項18に記載のコンピュータ可読メモリ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−175629(P2011−175629A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−289645(P2010−289645)
【出願日】平成22年12月27日(2010.12.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.イーサネット
【出願人】(507031918)コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド (157)
【Fターム(参考)】