(57)【要約】【課題】  マークアップ言語中に記述されたスプレッドシート文書中のセルに対する書式付け情報の処理を容易にする方法を提供する。【解決手段】  複数のスタイルオブジェクトを含むスプレッドシート文書に対して、セル書式付け情報を、マスター書式付け情報を保存するマスタースタイルオブジェクトから取得できる。また、指定されたスタイル情報を、指定されたスタイルを保存するスタイル指定オブジェクトから取得できる。さらに、マスター書式付け情報を無効にできるセル固有の書式付け情報を、セル固有の書式付け情報を含むセル−固有のスタイルオブジェクトから取得できる。指定されたスタイルと、マスタースタイルオブジェクト中の書式付け情報を無効にするセル−固有の書式付け情報と、このセル‐固有の書式付け情報により無効にされていないマスター書式付け情報とを有することのできる、セルに対する統合化セル書式付け情報を、セルフォーマットオブジェクト中に保存できる。【選択図】なし【特許請求の範囲】
【請求項１】
マークアップ言語中に記述されるスプレッドシート文書であって、複数のスタイルオブジェクトを含むスプレッドシート文書中の少なくとも一つのセルに対する書式付け情報を保存するための、プロセッサで実施される方法であって、
前記少なくとも一つのセルに対するマスター書式付け情報を保存するマスタースタイルオブジェクトから、前記少なくとも一つのセルに対するセル書式付け情報を取得する工程と、
前記少なくとも一つのセルに対する指定されたスタイルを保存し、かつ前記セルマスタースタイルオブジェクトを参照するスタイル指定オブジェクトから、前記少なくとも一つのセルに対する指定されたスタイル情報を取得する工程と、
前記少なくとも一つのセルに対するセル固有の書式付け情報を含み、かつ前記マスタースタイルオブジェクトを参照するセル−固有のスタイルオブジェクトから、前記少なくとも一つのセルに対するセル固有の書式付け情報であって、マスター書式付け情報を無効にする当該セル固有の書式付け情報を取得する工程と、
セルフォーマットオブジェクト中の前記少なくとも一つのセルに対する統合化セル書式付け情報であって、前記少なくとも一つのセルに対する指定されたスタイルと、前記マスタースタイルオブジェクト中の書式付け情報を無効にするセル−固有の書式付け情報と、当該セル−固有の書式付け情報によって無効にされていないマスター書式付け情報とを有する、前記セルフォーマットオブジェクト中の前記統合化セル書式付け情報を保存する工程と
を備えたことを特徴とする方法。
【請求項２】
請求項１に記載のプロセッサで実施される方法であって、前記スプレッドシート文書は、ＯＯＸＭＬで記述されていることを特徴とする方法。
【請求項３】
請求項１に記載のプロセッサで実施される方法であって、前記スプレッドシート文書は、ＳＭＬで記述されていることを特徴とする方法。
【請求項４】
請求項１に記載のプロセッサで実施される方法であって、前記方法は、構文解析ツールにより行われることを特徴とする方法。
【請求項５】
請求項１に記載のプロセッサで実施される方法であって、前記セルフォーマットオブジェクトは、前記セルのレンダリングに用いられることを特徴とする方法。
【請求項６】
請求項１に記載のプロセッサで実施される方法であって、
前記少なくとも一つのセルに対する統合化セル書式付け情報を保存した後に、前記プロセッサに接続されたメモリから、前記マスタースタイルオブジェクト、スタイル−指定オブジェクト、及び前記少なくとも一つのセルに対する前記セル−固有のスタイルオブジェクトを削除する工程を備えたことを特徴とする方法。
【請求項７】
請求項１に記載のプロセッサで実施される方法であって、前記スタイル情報には、枠情報、フォント情報、又は塗りつぶし情報のうちの少なくとも一つが含まれることを特徴とする方法。
【請求項８】
請求項１に記載のプロセッサで実施される方法であって、前記方法は、
コンピュータ、
プリンタ、又は
コンピュータに接続されたプリンタ
により行われることを特徴とする方法。
【請求項９】
プロセッサにより実行されるときに、マークアップ言語中に記述されるスプレッドシート文書であって、複数のスタイルオブジェクトを含むスプレッドシート文書中の少なくとも一つのセルに対する書式付け情報を保存するための方法を実行する命令を保存する、コンピュータ可読型媒体であって、前記方法が、
前記少なくとも一つのセルに対するマスター書式付け情報を保存するマスタースタイルオブジェクトから、前記少なくとも一つのセルに対するセル書式付け情報を取得する工程と、
前記少なくとも一つのセルに対する指定されたスタイルを保存し、かつ前記セルマスタースタイルオブジェクトを参照するスタイル指定オブジェクトから、前記少なくとも一つのセルに対する指定されたスタイル情報を取得する工程と、
前記少なくとも一つのセルに対するセル固有の書式付け情報を含み、かつ前記マスタースタイルオブジェクトを参照するセル−固有のスタイルオブジェクトから、前記少なくとも一つのセルに対するセル固有の書式付け情報であって、マスター書式付け情報を無効にする当該セル固有の書式付け情報を取得する工程と、
セルフォーマットオブジェクト中の前記少なくとも一つのセルに対する統合化セル書式付け情報であって、前記少なくとも一つのセルに対する指定されたスタイルと、前記マスタースタイルオブジェクト中の書式付け情報を無効にするセル−固有の書式付け情報と、当該セル−固有の書式付け情報によって無効にされていないマスター書式付け情報とを有する、前記セルフォーマットオブジェクト中の前記統合化セル書式付け情報を保存する工程と
を備えていることを特徴とする媒体。
【請求項１０】
請求項９に記載のコンピュータ可読型媒体であって、前記スプレッドシート文書は、ＯＯＸＭＬで記述されていることを特徴とする媒体。
【請求項１１】
請求項９に記載のコンピュータ可読型媒体であって、前記スプレッドシート文書は、ＳＭＬで記述されていることを特徴とする媒体。
【請求項１２】
請求項９に記載のコンピュータ可読型媒体であって、前記方法は、構文解析ツールにより行われることを特徴とする媒体。
【請求項１３】
請求項９に記載のコンピュータ可読型媒体であって、前記セルフォーマットオブジェクトは、前記セルのレンダリングに用いられることを特徴とする媒体。
【請求項１４】
請求項９に記載のコンピュータ可読型媒体であって、
前記方法が、前記少なくとも一つのセルに対する統合化セル書式付け情報を保存した後に、前記プロセッサに接続されたメモリから、前記マスタースタイルオブジェクト、スタイル−指定オブジェクト、及び前記少なくとも一つのセルに対する前記セル−固有のスタイルオブジェクトを削除する工程を備えていることを特徴とする媒体。
【請求項１５】
請求項９に記載のコンピュータ可読型媒体であって、前記スタイル情報には、枠情報、フォント情報、又は塗りつぶし情報のうちの少なくとも一つが含まれることを特徴とする媒体。
【請求項１６】
請求項９に記載のコンピュータ可読型媒体であって、前記方法は、
コンピュータ、
プリンタ、又は
コンピュータに接続されたプリンタ
により行われることを特徴とする媒体。
【請求項１７】
プロセッサにより実行されるときに、マークアップ言語中に記述されるスプレッドシート文書であって、複数のスタイルオブジェクトを含むスプレッドシート文書中の少なくとも一つのセルに対する書式付け情報を保存するための方法を実行する命令を保存する、コンピュータ可読型メモリであって、前記方法が、
前記少なくとも一つのセルに対するマスター書式付け情報を保存するマスタースタイルオブジェクトから、前記少なくとも一つのセルに対するセル書式付け情報を取得する工程と、
前記少なくとも一つのセルに対する指定されたスタイルを保存し、かつ前記セルマスタースタイルオブジェクトを参照するスタイル指定オブジェクトから、前記少なくとも一つのセルに対する指定されたスタイル情報を取得する工程と、
前記少なくとも一つのセルに対するセル固有の書式付け情報を含み、かつ前記マスタースタイルオブジェクトを参照するセル−固有のスタイルオブジェクトから、前記少なくとも一つのセルに対するセル固有の書式付け情報であって、マスター書式付け情報を無効にする当該セル固有の書式付け情報を取得する工程と、
セルフォーマットオブジェクト中の前記少なくとも一つのセルに対する統合化セル書式付け情報であって、前記少なくとも一つのセルに対する指定されたスタイルと、前記マスタースタイルオブジェクト中の書式付け情報を無効にするセル−固有の書式付け情報と、当該セル−固有の書式付け情報によって無効にされていないマスター書式付け情報とを有する、前記セルフォーマットオブジェクト中の前記統合化セル書式付け情報を保存する工程と
を備えていることを特徴とするメモリ。
【請求項１８】
請求項１７に記載のコンピュータ可読型メモリであって、前記スプレッドシート文書は、ＯＯＸＭＬで記述されていることを特徴とするメモリ。
【請求項１９】
請求項１７に記載のコンピュータ可読型メモリであって、前記スプレッドシート文書は、ＳＭＬで記述されていることを特徴とするメモリ。
【請求項２０】
請求項１７に記載のコンピュータ可読型メモリであって、前記方法は、構文解析ツールにより行われることを特徴とするメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、印刷分野に関し、特に、マークアップ言語を用いて記述されたスプレッドシート用のスタイル−データを処理するためのシステムおよび方法に関する。
【背景技術】
【０００２】
文書処理ソフトウェアにより、ユーザは、多様な種類の文書を簡便に視認、編集、処理、保存および印刷することができる。印刷対象となる文書コンテンツは、多様な方式で記述することが可能であり、例えば、オフィスオープンエクステンシブルマークアップ言語（「ＯＯＸＭＬ」）や、ＸＭＬに基づき主としてスプレッドシートと共に用いられるスプレッドシートマークアップ言語（「ＳＭＬ」）等のマークアップ言語が用いられている。マークアップ言語により、文書にテキスト注釈を付すことが可能となる。記述的マークアップ言語を用いて、文書の部分間における構造的関係を指定することは可能であるが、記述的マークアップ言語からは、文書をどのようにレンダリングするかまたはエンドユーザに提示するかについての命令は何も得られない場合が多い。一方、手続きマークアップ言語および提示マークアップ言語中には、文書コンテンツをどのようにレンダリングすべきかについて詳述する命令が含まれる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
記述的マークアップ言語を用いて記述された文書をレンダリングする場合、文書の部分間における構造的関係に起因して、印刷対象としての最終的なレンダリング可能コンテンツを決定するプロセスが複雑になる可能性がある。スプレッドシートなどの文書の場合、スプレッドシートセルの値は、非常に多数の他のセルに依存し得るため、その複雑性が多種多様に増大し得る。スプレッドシートの要素（例えば、セル、表およびそれらの関連付けられた属性）は、プログラムでオブジェクトとして表されることが多い。そのため、マークアップ言語（例えば、ＯＯＸＭＬ）で指定されているスプレッドシートを印刷するために処理を行う場合、非常に多数のスプレッドシートオブジェクトがメモリ内にロードされる可能性があり、レンダリング後のオブジェクトの外観を決定するために、一以上のオブジェクト（これらは、文書の部分間における構造的関係を反映している）に対するポインタが何度もトラバースし得る。例えば、ＳＭＬや他の多種のＯＯＸＭＬ記述の場合、ページネーション決定が行われてレンダリング開始可能となる前に、通常は全データがメモリにロードされる。
【０００４】
メモリ内に複数のオブジェクトをロードすることと、処理中にポインタのトラバースを繰り返し行うこととは、さらなるメモリリソースの使用と、他の処理における非効率性との一因になり得る。例えば、さらなるメモリが用いられると、プリンタのコストが上昇する可能性があり、処理時にポインタのトラバースが繰り返し行われると、スループット低下の一因になり得る。スプレッドシートとの関係において、スプレッドシートセルや表等の、スプレッドシートオブジェクトと関連付けられたスタイル−データを処理することは、メモリリソースの使用と、処理における非効率性との大きな一因となり得る。従って、メモリリソースをより最適な様態で用いつつ、スプレッドシートオブジェクトと関連付けられたスタイルデータの効率的な処理および印刷を可能にするシステムおよび方法が求められている。
【課題を解決するための手段】
【０００５】
開示の実施形態に基づいて、システムおよび方法が提供される。いくつかの実施形態において、マークアップ言語中に記述されるスプレッドシート文書であって、複数のスタイルオブジェクトを含むスプレッドシート文書中の少なくとも一つのセルに対する書式付け情報を保存するための、プロセッサで実施される方法は、前記少なくとも一つのセルに対するマスター書式付け情報を保存するマスタースタイルオブジェクトから、前記少なくとも一つのセルに対するセル書式付け情報を取得する工程と、前記少なくとも一つのセルに対する指定されたスタイルを保存し、かつ前記セルマスタースタイルオブジェクトを参照するスタイル指定オブジェクトから、前記少なくとも一つのセルに対する指定されたスタイル情報を取得する工程と、前記少なくとも一つのセルに対するセル固有の書式付け情報を含み、かつ前記マスタースタイルオブジェクトを参照するセル−固有のスタイルオブジェクトから、前記少なくとも一つのセルに対するセル固有の書式付け情報であって、マスター書式付け情報を無効にする当該セル固有の書式付け情報を取得する工程と、セルフォーマットオブジェクト中の前記少なくとも一つのセルに対する統合化セル書式付け情報であって、前記少なくとも一つのセルに対する指定されたスタイルと、前記マスタースタイルオブジェクト中の書式付け情報を無効にするセル−固有の書式付け情報と、当該セル−固有の書式付け情報によって無効にされていないマスター書式付け情報とを有する、前記セルフォーマットオブジェクト中の前記統合化セル書式付け情報を保存する工程とを備える。
【０００６】
開示の実施形態はまた、コンピュータ可読型媒体またはコンピュータ可読型メモリを用いてプロセッサによって生成、保存、アクセスまたは改良された方法にも関する。
【０００７】
以下、上記の実施形態および他の実施形態について、以下の図面を参照してさらに説明する。
【図面の簡単な説明】
【０００８】
【図１】マークアップ言語を用いて記述されたスプレッドシートスタイルデータを処理するためのアプリケーションを実行可能な例示的プリンタに接続された例示的コンピュータの高レベルブロック図を示す。
【図２】例示的プロセスフローであり、マークアップ言語で指定された印刷可能データをレンダリングするアプリケーションの一部を実行する方法における工程を示す。
【図３】スプレッドシートセルに対する従来の例示的ＯＯＸＭＬセルフォーマット仕様を示す。
【図４】図３に示された例示的ＯＯＸＭＬスプレッドシートセルフォーマット仕様に対する従来の例示的オブジェクトマッピングを示す。
【図５】ＯＯＸＭＬを用いて記述されたスプレッドシートスタイルデータを処理する方法から帰結されるＯＯＸＭＬスプレッドシートセルに対する例示的オブジェクトのマッピングを、開示の実施形態と一貫した様態で示す。
【発明を実施するための形態】
【０００９】
開示の実施形態の多様な特徴を反映した実施形態によれば、マークアップ言語を用いて記述されたスプレッドシート用のスタイル−データを処理するためのシステムおよび方法が提供される。いくつかの実施形態において、印刷可能なスプレッドシートデータは、マークアップ言語記述の形態をとり得る。例えば、スプレッドシートマークアップ言語データの処理に関する例は、ＯＯＸＭＬまたはＳＭＬの観点から説明する。しかし、記載のシステムおよび方法は、当業者にとって自明の適切な改良により、他のマークアップ言語を用いて記述されたスプレッドシートにも適用可能である。
【００１０】
図１は、マークアップ言語を用いて記述されたスプレッドシートスタイルデータを処理するためのアプリケーションを実行可能な例示的プリンタに接続された例示的コンピュータの高レベルブロック図を示す。一般的に、開示の実施形態に基づいたコンピュータソフトウェアアプリケーションは、コンピュータ、プリンタおよび他の周辺装置のネットワーク上において、展開され得る。これらのコンピュータ、プリンタおよび他の周辺装置は、通信リンクを通じて接続され、従来の通信プロトコルおよび／またはデータポートインターフェースを用いた情報のやり取りが可能になっている。
【００１１】
図１に示すように、例示的システム１００は、コンピュータデバイス１１０を含む。コンピュータデバイス１１０は、接続部１２０を用いてネットワーク１４０を介してプリンタ１７０と通信する。コンピュータデバイス１１０は、コンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、またはネットワーク環境において使用可能な他の任意のコンピュータデバイスであってもよい。コンピュータデバイス１１０は、例えば、ＯＯＸＭＬ等のマークアップ言語を用いて記述された、スプレッドシートまたはワークシートなどの文書の印刷を、プリンタ１７０を用いて行うことを可能にするソフトウェア（図示せず）を実行し得る。
【００１２】
例示的プリンタ１７０は、電子データから物理的文書を生成する種々のデバイスを含む。このようなデバイスを非限定的に挙げると、レーザープリンタ、インクジェットプリンタ、ＬＥＤプリンタがある。例示的プリンタ１７０は、プロッター、ファクシミリ装置、多機能デバイス、デジタルコピー機などの形態をとり得る。いくつかの実施形態において、プリンタ１７０は、コンピュータデバイス１１０から受信した印刷文書を直接印刷することもできる。いくつかの実施形態において、このような配置構成により、コンピュータデバイス１１０によるさらなる処理が有っても（あるいは無くても）文書を直接印刷することが可能となり得る。
【００１３】
いくつかの実施形態において、文書は、ＯＯＸＭＬ等マークアップ言語を用いて記述されてもよく、テキスト、グラフィック、画像のうち一以上を含み得る。いくつかの実施形態において、これらの文書は、ＯＯＸＭＬまたはＳＭＬを用いて記述されたスプレッドシートの形態をとり得る。いくつかの実施形態において、プリンタ１７０は、ＯＯＸＭＬまたはＳＭＬによる記述文書を印刷対象として受信し得る。文書印刷処理は分散させることができる点にも留意されたい。そのため、プリンタ１７０によって文書を物理的に印刷する前に、コンピュータデバイス１１０および／またはプリンタ１７０により、マークアップ言語の構文解析、事前処理、植字、ラスタライゼーション、ハーフトニング、カラーマッチング、および／または他の操作プロセスのような文書印刷処理の一部を行うことができる。
【００１４】
コンピュータデバイス１１０はまた、リムーバブルメディアドライブ（図示せず）も含み得る。リムーバブルメディアドライブの例を挙げると、例えば、３．５インチフロッピードライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤＲＯＭドライブ、ＣＤ±ＲＷまたはＤＶＤ±ＲＷドライブ、ＵＳＢフラッシュドライブ、および／または開示の実施形態に従った他の任意のリムーバブルメディアドライブがある。いくつかの実施形態において、スプレッドシート用スタイルデータを処理するためのソフトウェアアプリケーションの一部をリムーバブルメディアに常駐させ、コンピュータデバイス１１０によって上記リムーバブルメディアドライブを用いて読み出しおよび実行を行ってもよい。
【００１５】
接続部１２０は、ネットワーク１４０を介してコンピュータデバイス１１０およびプリンタ１７０を接続しており、従来の通信プロトコルおよび／またはデータポートインターフェースを用いて有線接続または無線接続として実現され得る。一般的に、接続部１２０は、デバイス間のデータ送信を可能にする任意の通信チャンネルでよい。一実施形態において、例えば、適切な接続を介したデータ送信のためのパラレルポート、シリアルポート、イーサネット、ＵＳＢ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥ、および／または同軸ケーブルポートのような従来のデータポートが設けられ得る。これらの通信リンクは、無線リンクまたは有線リンクであってもよいし、あるいは、上記の多様なデバイス間の通信を可能にする開示の実施形態に従った任意の組み合わせであってもよい。
【００１６】
ネットワーク１４０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）またはインターネットを含み得る。プリンタ１７０は、接続部１２０を通じてネットワーク１４０に接続され得る。いくつかの実施形態において、プリンタ１７０は、コンピュータデバイス１１０に直接接続してもよい。いくつかの実施形態によれば、システム１００は他の周辺装置（図示せず）も含み得る。開示の実施形態に従った、スプレッドシート用スタイルデータを処理するためのコンピュータソフトウェアアプリケーションは、コンピュータ１１０および／またはプリンタ１７０上で展開され得る。例えば、コンピュータデバイス１１０は、スプレッドシート用スタイルデータを処理するためのソフトウェアのうちいくつかの部分を実行してもよく、その場合、他の部分は、開示の実施形態に従ってプリンタ１７０によって実行され得る。
【００１７】
いくつかの実施形態において、プリンタ１７０は、ＣＰＵ１７６、ファームウェア１７１、メモリ１７２、入力／出力ポート１７５、印刷エンジン１７７、および二次記憶装置１７３を接続するバス１７４を含み得る。プリンタ１７０はまた、開示の実施形態に従って、マークアップ言語において指定された印刷可能なスプレッドシートデータをレンダリングするためのアプリケーションの部分を実行することが可能な他の特定用途向け集積回路（ＡＳＩＣ）、および／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）１７８も含み得る。いくつかの実施形態において、プリンタ１７０は、Ｉ／Ｏポート１７５および接続部１２０を用いて、コンピュータデバイス１１０内の二次記憶装置または他のメモリにアクセスすることもできる。いくつかの実施形態において、プリンタ１７０は、プリンタオペレーティングシステム、マークアップ言語構文解析ソフトウェア、ラスタライゼーションルーチン、および他の適切なアプリケーションソフトウェアを含むソフトウェアを実行することもできる。
【００１８】
いくつかの実施形態において、ＣＰＵ１７６は、汎用プロセッサ、専用プロセッサ、または組み込みプロセッサであり得る。ＣＰＵ１７６は、制御情報および命令を含むデータを、メモリ１７２および／またはファームウェア１７１とやり取りすることができる。メモリ１７２は、任意の種類のダイナミックランダムアクセスメモリ（ＤＲＡＭ）であり得る。このようなダイナミックランダムアクセスメモリを非限定的に挙げると、ＳＤＲＡＭまたはＲＤＲＡＭがある。ファームウェア１７１は、命令およびデータを保持し得る。このような命令およびデータを非限定的に挙げると、マークアップ言語構文解析、言語処理、ラスタライゼーションおよびハーフトニングのためのブートアップシーケンスおよび事前規定されたルーチンならびに他のコードがある。いくつかの実施形態において、ファームウェア１７１内のコードおよびデータは、ＣＰＵ１７６によって機能させられる前に、メモリ１７２にコピーされ得る。
【００１９】
ファームウェア１７１内のルーチンは、ＯＯＸＭＬまたはＳＭＬなどのマークアップ言語を用いて記述されたスプレッドシートなどの文書を処理および印刷するためのコードを含み得る。このような文書は、コンピュータデバイス１１０から受信され得る。いくつかの実施形態において、このような処理は、スプレッドシート用スタイル−データの処理を含み得る。ファームウェア１７１はまた、圧縮ルーチンおよびメモリ管理ルーチンを含み得る。いくつかの実施形態において、ファームウェア１７１内のデータおよび命令は、更新可能であってもよい。
【００２０】
いくつかの実施形態において、ＣＰＵ１７６は、命令およびデータに対して機能し、ＡＳＩＣ／ＦＰＧＡ１７８および印刷エンジン１７７に対して制御およびデータを提供して印刷文書を生成し得る。ＦＰＧＡ／ＡＳＩＣ１７８もまた、変換アルゴリズム、圧縮アルゴリズムおよびラスター化アルゴリズムのうち一以上を実行し得る。
【００２１】
一実施形態において、コンピュータデバイス１１０は、マークアップ言語を用いて指定されたスプレッドシートなどの文書中の印刷可能データをプリンタ１７０に送信し得る。その後、プリンタ１７０は、上記マークアップ言語による記述の構文を解析し、スタイル−データを処理するためのルーチンを呼び出し得る。例えば、スタイルデータオブジェクトは、記述された実装方法（implementation）に合致する様態で特定および処理され得る。
【００２２】
いくつかの実施形態において、このマークアップ言語記述の文書から最終的な印刷可能データへの変換プロセスは、中間的な印刷可能データの生成を含み得る。いくつかの実施形態においては、この中間的な印刷可能データは、ディスプレイリストを含む場合があり、このディスプレイリストにより、最終的な印刷可能データの生成が支援され得る。いくつかの実施形態において、ディスプレイリストは、メモリ１７２または二次記憶装置１７３内に保存され得る。例示的二次記憶装置１７３は、内部ハードディスクまたは外部ハードディスク、メモリスティック、またはプリンタ１７０において使用可能な他の任意のメモリ記憶デバイスであってもよい。いくつかの実施形態において、ディスプレイリストは、プリンタ１７０および／またはコンピュータデバイス１１０のうち一以上に常駐し得る。
【００２３】
図２は、例示的プロセスフロー２００を示し、マークアップ言語で規定された印刷可能データをレンダリングするアプリケーションの一部を実行する方法における工程を示す。このプロセスは、工程２１０において、印刷ジョブの開始と共に開始し得る。この印刷ジョブは、いくつかの場合において、ＯＯＸＭＬまたはＳＭＬなどのマークアップ言語で指定されたスプレッドシートであり得る。
【００２４】
工程２２０において、文書２１５に対し、言語およびオブジェクト処理を行うこともできる。例えば、文書中のデータをＯＯＸＭＬ構文解析ツールによって構文解析して、個々のオブジェクトを特定することができる。これらのオブジェクトは、テキストオブジェクト、画像オブジェクトおよびグラフィックオブジェクトに加え、スプレッドシート文書内のスタイルオブジェクトを含み得る。いくつかの実施形態において、ＯＯＸＭＬ構文解析ツールなどのマークアップ言語構文解析ツールおよび他の関連付けられたルーチンにより、言語処理およびオブジェクト事前処理が行われ得る。スプレッドシートの場合、構文解析ツールを用いて、例えば、セル、表、形状、およびスタイルなどの、当該スプレッドシート特有の多様なオブジェクトを特定および処理することも可能である。上記構文解析ツールは、スプレッドシートセルおよび表と関連付けられたスプレッドシートスタイルデータオブジェクトを処理することもでき、これにより、本明細書中に記載される実施形態に従った様式での効率的な印刷が可能となる。
【００２５】
これらの操作のいくつかにより、ディスプレイリスト２２５中のエントリを記述するプリミティブが配置され得る。例示的ディスプレイリスト２２５は、実際に印刷する前のデータ処理における中間工程であってもよく、後続形態に変換する前にさらに構文解析され得る。ディスプレイリスト２２５は、色、不透明度、境界情報および深さなどの情報を含み得る。
【００２６】
ディスプレイリスト表現から物理的媒体上の印刷に適した形態への変換プロセスを、データのラスター化またはラスタライゼーションと呼ぶ場合がある。いくつかの実施形態において、ラスタライゼーションは、工程２３０においてラスター画像プロセッサによって行われ得る。例えば、基本的ラスタライゼーションは、ポリゴンによって記述されることが多い三次元領域をとり、この三次元領域を二次元表面上にレンダリングすることにより、達成され得る。ポリゴンは、三角形の集合として表現することができる。三角形は、三次元空間内の３つの頂点により、表現することができる。１つの頂点は、１点、エッジの端点、またはポリゴンにおける２つのエッジが出会う角部を規定する。そのため、基本的ラスタライゼーションにより、頂点の軌跡（stream）を対応する二次元点に変換し、この変換された二次元三角形を塗りつぶすことができる。ラスタライゼーションの後、上記ラスター化データは、例示的フレームバッファ２５０などのフレームバッファ内に保存され得る。このフレームバッファは、メモリ１７２内に物理的に配置され得る。
【００２７】
工程２３０において、ラスター画像処理（ＲＩＰ）モジュールは、ディスプレイリスト２２５中のオブジェクトを処理し、ラスター化された同等物をフレームバッファ２５０内に生成し得る。いくつかの実施形態において、ラスター画像処理は、プリンタ１７０によって行われ得る。例えば、ラスター画像処理は、プリンタ１７０により、ＣＰＵ１７６、ＡＳＩＣ／ＦＰＧＡ１７８、メモリ１７２および／または二次記憶装置１７３のうちの一以上を用いて行われ得る。ラスター画像処理は、プリンタ１７０により、ソフトウェア、ファームウェアおよび／または専用ハードウェア（例えば、ＡＳＩＣ／ＦＰＧＡ１７８）の何らかの組み合わせを用いて行われ得る。フレームバッファ３５０は、印刷エンジン１７７による印刷媒体上への印刷に適した形態で、印刷オブジェクトの表現を保持し得る。
【００２８】
いくつかの実施形態において、フレームバッファ２５０中のデータは、工程２６０において後処理に供され得る。例えば、ハーフトニング、トラッピングなどの多様な操作を、フレームバッファ２５０中のデータに対して実行することができる。これらの操作の結果、フレームバッファ中のデータは改変され、その結果、後処理されたフレームバッファ２６５が得られる。その後、後処理されたフレームバッファ２６５は、工程２７０において任意のさらなる処理に供され得る。例えば、印刷エンジン１７７は、後処理されたフレームバッファ２６５中における、ラスター化されかつ後処理されたデータを処理し、紙などの印刷媒体上のページに対する印刷可能な画像を形成し得る。
【００２９】
図３は、スプレッドシートセルに対する従来の例示的ＯＯＸＭＬセルフォーマット仕様３００を示す。図３に示すように、例示的スプレッドシート３１０は、セル３１２を含む。セル３１２は、そのロケーション「Ｄ２」（スプレッドシートの列Ｄ／行２）と、ストリング「Ｑ１」で与えられるスプレッドシートセルデータ３１８とによって特定される。１つのセルは、行および列の交点におけるそのロケーションにより、指定することができる。セルは、データを保持することができ、例えば、数値またはテキスト書式設定、アライメント、フォント、色、塗りつぶしおよび枠などの、複数の特性を有し得る。図３に示すように、スプレッドシートセル３１２は、指定されたスタイル「Ａｃｃｅｎｔ１」（「強調１」）及び太線のボックス枠３１３を有し、この指定されたスタイルは、ユーザにより適用されたものである。
【００３０】
セル３１２そのものは、セル参照３２２が「Ｄ２」であることを示すワークシートＸＭＬ記述３２０内の「ｃ」集合によって表現され得る。例示的セル３１２はまた、値ｓ＝「７」のスタイル識別子３２５（属性「ｓ」）と、データタイプ（属性ｔ）とを示し得る。これは、セル３１２が、ｔ＝「ｓ」によって表される「ストリング」タイプのデータを保持していることを示している。セル値属性＜ｖ＞３２１がストリングに対する数であるのかまたはインデックスであるのかを決定するために、セルのデータタイプが調査され得る。セルデータタイプがストリングを示す場合、セルのデータタイプはインデックスであり、数値ではない。図３に示すように、セル値インデックス３２１は、ゼロベースのインデックス共有型ストリング表３３０のインデックスであり、セル３１２のコンテンツのロケーションを示す。セル値インデックス３２１の値は「０」であり、これは、セル値インデックス３２１が共有型ストリング表３３０における最初のエントリであることを示し、セル値インデックス３２１は、「Ｑ１」と示されているセルデータ３３８にマップされている。
【００３１】
スタイル（Ｓｔｙｌｅｓ）は、スプレッドシート中の対象物に適用することができる。セル（Ｃｅｌｌｓ）、表（Ｔａｂｌｅｓ）、セル範囲（Ｃｅｌｌ  ｒａｎｇｅｓ）、ピボット表（ＰｉｖｏｔＴａｂｌｅｓ）、チャート（Ｃｈａｒｔｓ）、及び形状（Ｓｈａｐｅｓ）は、スタイル、テーマ（Ｔｈｅｍｅｓ）、及び直接書式付け（Ｄｉｒｅｃｔ  Ｆｏｒｍａｔｔｉｎｇ）を用いてフォーマットできる。一つのスタイルは、書式付け要素の指定された集合として見ることができる。例えば、セルスタイルは、数のフォーマット、セル位置合わせ、フォント情報、セル枠仕様、色、及び背景／前景塗りつぶしを指定できる。表スタイルは、見出し行等の表の領域に対して書式付け要素を指定できる。一つのスタイルは、色、フォント、及び形状効果を直接に指定することができ、又はこれらの要素は、テーマの定義を参照することにより間接的に参照できる。スタイルにより、より矛盾なく文書を様式化できる。テーマは、一組の色、フォント情報、及び形状に関する効果を定義する。スタイル又は書式付け要素が、一つのテーマを参照することにより、その色、フォント、又は効果を定義する場合は、新しいテーマを選ぶことは、その書式付け要素のための全ての色、フォント、及び効果の切り替えを生じる可能性がある。直接書式付けが適用されたときは、個々の書式付け要素（例えば、太字のフォント）が、指定されたスタイルを選択することにより書式付け要素を集合的に選択する代わりに個別に選択するように用いられてきた。
【００３２】
図３に示すように、スプレッドシート３１０中のセル３１２は、ワークシートＸＭＬ３２０において参照されている指定されたスタイル３２５を用いている。指定されたスタイル３２５の属性値であるｓ＝「７」がワークシートＸＭＬ３２０において参照されているが、これは、指定されたスタイル３２５からｃｅｌｌＸｆｓ中の８番目の＜ｘｆ＞定義３４５への破線によって示すように、ｃｅｌｌＸｆｓまたはセル固有フォーマット３４０の８番目（またはゼロベースで７番目）の＜ｘｆ＞定義３４５が、セル３１２についての直接的セル固有書式設定情報を保持していることを示す。セルスタイル記録（＜ｘｆ＞）は、セルの直接的書式設定について、全てのセル固有書式設定（例えば、数フォーマット、フォント情報、枠および塗りつぶし）を統括する。ｃｅｌｌＸｆｓまたはセル固有フォーマット３４０は、セル３１２についての直接的書式設定要素を指定する。例えば、ｘｆｌｄ３４７に対する属性値は１であり、このことは、セルスタイルＸｆｓ（ＣｅｌｌＳｔｙｌｅＸｆｓ）３５０中の第二の＜ｘｆ＞定義３６７が、書式付け情報をｘｆｌｄ３４７から＜ｘｆ＞定義３６７へ太い実線で示したように保持することを意味する。更に、セルＸｆｓ３４０は、属性値ｂｏｒｄｅｒＩｄ３４３が２で、この枠が属性値ａｐｐｌｙＢｏｒｄｅｒ３４９に対して「１」で示されるように適用され得ることも示す。
【００３３】
セルスタイルＸｆｓ又はセルマスターフォーマット（Ｃｅｌｌ  Ｍａｓｔｅｒ  Ｆｏｒｍａｔ）３６０は、指定されたセルスタイルに対するマスターセルスタイルを表現できる。このセルスタイルＸｆｓ３６０中の第二の定義を表すマスターセルスタイル＜ｘｆ＞記録３６７は、指定されたセルスタイルに対する全てのマスター書式付け（例えば数のフォーマット、フォント情報、及び塗りつぶし）を共に結びつける。太い実線で図３に示されるように、セルスタイルＸｆｓ３６０の内側の＜ｘｆ＞３６７も、指定されたセルスタイルに関する情報を保持しているセルスタイル（ＣｅｌｌＳｔｙｌｅｓ）３５０の定義からゼロベースのインデックスｘｆｌｄ３５７により参照される。マスターセルスタイル記録３６７も、属性値ｂｏｒｄｅｒＩｄ３６３が０であり、「０」により示されるように、属性値ａｐｐｌｙＢｏｒｄｅｒ３６９に対してどの枠も適用できないことを示している。マスターセルスタイル記録３６７は、属性値ｂｏｒｄｅｒＩｄ３６３を０として示し、どんな枠も適用されていないが、これらの設定は、セルＸｆｓ又はセル固有フォーマット３４０中のセル固有の書式付け情報により無効にされ、このことは太い枠（ｂｏｒｄｅｒＩｄ３４３＝「２」）が適用される（ａｐｐｌｙＢｏｒｄｅｒ３４９＝「１」）ことを示す、ことに留意されたい。
【００３４】
セルスタイル３５０は、ワークブック中で用いられる指定されたセルスタイルの集合である。図３に示すように、ユーザは、スプレッドシート３１０中で指定されたスタイル「Ａｃｃｅｎｔ  １」（「強調１」）をセル３１２に適用されるように選択した。この指定されたスタイル「Ａｃｃｅｎｔ  １」は、セルスタイル３５０中に現れ、セルスタイルＸｆｓ３６０中の第二の定義に対応するゼロベースのインデックスｘｆｌｄ３５７を参照する。
【００３５】
図４は、図３に示された例示的ＯＯＸＭＬスプレッドシートセルフォーマット仕様に対する従来の例示的オブジェクトマッピング４００を示す。図４に示すように、セルスタイルオブジェクト４５０は、ユーザにより適用された指定されたスタイル（「Ａｃｃｅｎｔ  １」）を識別し、セルスタイルオブジェクト４５０中のｘｆｌｄ４５７に対する値を保持する。セルスタイルオブジェクト４５０は、指定されたセルスタイルに関する情報を保持し、マスターセル書式付け情報を保持しているオブジェクトを参照することができる。したがって、セルスタイルオブジェクト４５０に対応するセルスタイル定義３５０において、この指定されたスタイルは「Ａｃｃｅｎｔ１」として示され、ｘｆｌｄ３５７は、破線で示すようにセルスタイルＸｆｓ中の第二の定義に対応する値１を有する。属性ｘｆｌｄ４５７の値は、ｘｆｌｄ４５７からｘｆｌｄ４６７まで太い実線により示すように、セルマスターフォーマット情報を保持するセルスタイルＸｆｓオブジェクト４６０中の（ゼロベースの）記録数を示す。
【００３６】
同様に、セルスタイルＸｆｓオブジェクト４６０は、セルマスターフォーマット属性に対する値を含むマスターセルスタイル情報を保持する。特に、セルスタイルＸｆｓオブジェクト４６０の第二の定義は、（図３の）セル３１２のマスターフォーマットに対する値を保持する。したがって、セルスタイルＸｆｓオブジェクト４６０に対応するセルスタイルＸｆｓの定義３６０において、（値［１］を有するとして示される）第二の＜ｘｆ＞記録３６７は、破線で示されるように値「０」を有する（ｂｏｒｄｅｒＩｄ４６３に対応する）ｂｏｒｄｅｒＩｄ３６３を示す。（ａｐｐｌｙＢｏｒｄｅｒ４６９に対応する）属性ａｐｐｌｙＢｏｒｄｅｒ３６９は、何の枠も適用されないことを示す値「０」を有する。属性ｂｏｒｄｅｒＩｄ４６３により保持される値は、セルに対して指定された枠の特性を示す枠オブジェクト表４３０中の記録に対するインデックスである。
【００３７】
さらに、セルＸｆｓオブジェクト４４０は、セル固有フォーマット属性に対する値を含むセル固有の書式付け情報を保持する。図４に示すように、セルＸｆｓオブジェクト４４０は、ｘｆｌｄ４４７からｘｆｌｄ４６７まで太い実線で示すようにセルマスターフォーマットを保持するセルスタイルＸｆｓオブジェクト４６０中の（ゼロベースの）記録数を示すｘｆｌｄ４４７に対する値を保持する。また、セルＸｆｓオブジェクト４４０は、点線で示すセルスタイルＸｆｓ４６０中の属性４６３及び４６９の値を無効にする属性ｂｏｒｄｅｒＩｄ４４３及びａｐｐｌｙＢｏｒｄｅｒ４４９に対する値も保持する。属性ｂｏｒｄｅｒＩｄ４４３により保持される値「２」は、指定された枠の特性を示す枠オブジェクト表４３０中の記録に対するインデックスである。したがって、セルＸｆｓの定義３４０により示されるように、ｂｏｒｄｅｒＩｄ＝２に対応する枠がセル３１２に適用される。
【００３８】
スプレッドシートオブジェクトを処理するための従来の方法において、記述されたオブジェクトに対する種々の参照が印刷中多数回移動させられ、このことが非能率を生じる。さらに、印刷される各セルに対して、様々な表中の属性値は、このセルをレンダリングするために使用される最終的印刷属性を決定するために調べられ、かつ分析される。検査は、スプレッドシート中の各セルが処理されるときに連続的に生じるので、多数のオブジェクト及び表が、印刷中メモリに保存され、メモリ使用の増大を招くこととなる。例えば、ＳＭＬ及び種々の他のＯＯＸＭＬ記述に対して、ページ付け決定がなされレンダリングが開始できる前に、全てのデータが、一般的にはメモリ中にロードされる。従来の処理の間、一つのセルがレンダリングのために処理されるとき、セルマスターフォーマットセルスタイルＸｆｓオブジェクト４６０中で指定されたセル属性値が調べられる。次に、セルＸｆｓオブジェクト４４０中の属性値も、これらの値が、セルスタイルＸｆｓオブジェクト４６０によって以前に設定された何れかの値を無効にするかどうか判断するために調べられる。上の処理は、最終的レンダリングに先立って下流のルーチンによりセルが処理されるとき毎に各セルに対して繰り返され、これによりメモリと処理の非効率の一因となっている。
【００３９】
図５は、開示された実施形態に適合する方法でＯＯＸＭＬを用いて記述されたスプレッドシート用スタイルデータを処理する方法から結果として得られるＯＯＸＭＬスプレッドシートセルに対する例示的なオブジェクトのマッピング５００を示す。例示的なオブジェクトのマッピング５００は、ＯＯＸＭＬスプレッドシート文書２１５に対する言語及びオブジェクト処理工程２２０の間に生成することができる。例えば、例示的なオブジェクトのマッピング５００は、ＯＯＸＭＬ又はＳＭＬを用いて記述されたスプレッドシート中のスタイルオブジェクトを処理するときに構文解析ツールにより生成できる。幾つかの実施の形態においては、例示的なオブジェクトのマッピング５００は、ラスターイメージ処理工程３３０の間に、スタイルを使用するスプレッドシートオブジェクトをレンダリングするために使用できる。
【００４０】
幾つかの実施の形態においては、ＯＯＸＭＬデータが、スプレッドシート等の文書３１５のために読み込まれるとき、マスターセル情報セルスタイルＸｆｓオブジェクト４６０中のセルフォーマット情報が、指定されたセルスタイルセルスタイルオブジェクト４５０中の指定されたセルスタイル情報及びセル固有のスタイルセルＸｆｓオブジェクト４４０中のセル固有の情報と、統合化セルフォーマットオブジェクト５１０が、使用されるセルスタイルのための属性値及び他の書式付け情報を直接示すように、統合化され得る。さらに、幾つかの実施の形態においては、スタイル属性が適用されるべきか（否か）を示すブール代数の（ａｐｐｌｙＢｏｒｄｅｒ、ａｐｐｌｙＦｉｌｌ等の）「ａｐｐｌｙＡｔｔｒｉｂｕｔｅ」属性を取り除くことができ、最終的に適用される属性値は、セルフォーマット（ｃｅｌｌＦｏｒｍａｔｓ）オブジェクト５１０中の適切なレコードに直接指定され得る。
【００４１】
図５に示すように、スプレッドシート３１０中のセル３１２は、ストリング「Ｑ１」により与えられるスプレッドシートセルデータ３１８を用いて、セル参照３２２中のその位置「Ｄ２」により識別される。セル３１２は、ワークシートＸＭＬの定義３２０中で参照される属性値ｓ＝「７」を有する指定されたスタイル３２５を用いる。さらに、スプレッドシートセル３１２は、ユーザにより適用された太線のボックス枠３１３を有する。セル値インデックス３２１は、ゼロベースのインデックス共用型ストリング表３３０へのインデックスであり、セル３１２の内容の位置を示す。セル値インデックス３２１は、それが、値「Ｑ１」有するセルデータ３３８へマッピングする共用型ストリング表３３０中の最初の項目であることを示す値「０」を有する。
【００４２】
図５に示すように、ワークシートＸＭＬ３２０中で参照された指定されたスタイル３２５の属性値ｓ＝「７」は、セルフォーマット５４０の８番目の（又はゼロベースの７番目の）＜ｘｆ＞の定義５４５が、指定されたスタイル３２５からセルフォーマット５４０中の８番目の＜ｘｆ＞定義まで破線により示されるセル３１２のための統合化書式付け情報を保持していることを示す。幾つかの実施の形態においては、統合化フォーマット記録５４５は、セルの書式付けに関する全ての書式付け情報を組み合わせて保存する。幾つかの実施の形態においては、セルフォーマット５４０は、セルスタイル又はセルスタイルＸｆｓへの参照を含まない。幾つかの実施の形態においては、ＯＯＸＭＬ構文解析ツールが、スプレッドシートのＯＯＸＭＬ仕様中の情報を構文解析して、セル３１２に関するスタイル情報をセルスタイルオブジェクト４５０、セルスタイルＸｆｓオブジェクト４６０、及びセルＸｆｓオブジェクト４４０から得ることができる。上のオブジェクトからの情報は、（ｉ）指定されたスタイル情報を保存する、（ｉｉ）重複する又は余分な情報を除去する、（ｉｉｉ）指定されたセル固有の書式付け情報を用いてセルに対するマスタースタイル情報を無効にすることによりセルスタイル属性に対する最終的な値を得る、及び（ｉｖ）（「属性（Ａｔｔｒｉｂｕｔｅ）」が枠、塗りつぶし、フォント等の一つであってもよい）ａｐｐｌｙＡｔｔｒｉｂｕｔｅフラグを除去する、ことにより統合化できる。セル３１２のフォーマットに関する新しい「統合化」記録は、そこで、上の工程（ｉ）ないし（ｉｖ）を適用した後に得られた情報を保存できるセルフォーマットオブジェクト５１０中に生成できる。幾つかの実施の形態においては、セルに対する記録が、指定されたスタイル属性３２５の値に基づいてセルフォーマットオブジェクト５１０中の適切な位置に生成できる。例えば、指定されたスタイル３２５の属性値がｓ＝「７」であれば、統合化セルフォーマットの記録を８番目の記録として生成できる。
【００４３】
幾つかの実施の形態においては、ＸＭＬセルフォーマット記述３４０は、アプリケーションに対してセル３１２のための統合化書式付け要素を指定できる。例えば、ｂｏｒｄｅｒＩｄ５４３に対する属性値が「２」に指定され、Ｓｔｙｌｅ  ｎａｍｅ５４６に対する属性値が「Ａｃｃｅｎｔ  １」に指定される。図５に示すように、セルフォーマットオブジェクト５１０は、セルフォーマットＸＭＬ定義５４０に対応している。したがって、セルフォーマットオブジェクト５１０において、ｆｏｒｍａｔＩＤ５１５が、指定されたスタイル３２５に対応するゼロベースの記録数を識別する。セル３１２に対して、ワークシートＸＭＬ３２０中ｓ＝「７」であり、したがってｆｏｒｍａｔＩＤは値７を有する。同様に、ｓｔｒＮａｍｅ５１６は、指定されたスタイルを「Ａｃｃｅｎｔ１」と識別し、ｂｏｒｄｅｒＩｄ５１３に対して「２」の値を保持する。この属性ｂｏｒｄｅｒＩｄ５１３により保持された値「２」は、太い実線で示されるように、枠オブジェクト表４３０中の記録に対するインデックスである。この枠オブジェクト表４３０中の指定された記録は、指定された枠の特性を示す。したがって、セルフォーマット定義３４０により示されるように、ｂｏｒｄｅｒＩｄ＝２に対応する枠は、破線で示されるように、セル３１２に適用される。幾つかの実施の形態においては、統合化セルフォーマットオブジェクト５１０が、より少ない追従するポインタとより少ないメモリ資源とを用いて、より速いセルページ付け及びレンダリングを可能にする。
【００４４】
本明細書および開示の実施形態の実施を鑑みれば、当業者にとって他の実施方法が明らかである。本明細書および例はひとえに例示的なものとしてみなされるべきであり、その真なる範囲および精神は以下の特許請求の範囲によって示されることが企図される。
【図１】
2011210236.tif 000002
【図２】
2011210236.tif 000003
【図３】
2011210236.tif 000004
【図４】
2011210236.tif 000005
【図５】
2011210236.tif 000006
【外国語明細書】
2011210236000001.pdf
2011210236000002.pdf
2011210236000003.pdf
2011210236000004.pdf