JPH07175807A - 文書処理言語におけるページ選択の処理方法及び装置 - Google Patents

文書処理言語におけるページ選択の処理方法及び装置

Info

Publication number
JPH07175807A
JPH07175807A JP6277543A JP27754394A JPH07175807A JP H07175807 A JPH07175807 A JP H07175807A JP 6277543 A JP6277543 A JP 6277543A JP 27754394 A JP27754394 A JP 27754394A JP H07175807 A JPH07175807 A JP H07175807A
Authority
JP
Japan
Prior art keywords
page
data structure
processing
entry
selection data
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.)
Granted
Application number
JP6277543A
Other languages
English (en)
Other versions
JP3605155B2 (ja
Inventor
Motoyama Tetsurou
モトヤマ テツロウ
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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
Priority claimed from US08/158,674 external-priority patent/US5448691A/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JPH07175807A publication Critical patent/JPH07175807A/ja
Application granted granted Critical
Publication of JP3605155B2 publication Critical patent/JP3605155B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【目的】 階層構造化ページ記述言語において選択され
たページを効率的に処理する。 【構成】 文書の様々な階層レベルを管理するためにス
タック202が使用される。ページを選択する階層レベ
ルは対応したFIFOデータ構造350を持ち、同FI
FOデータ構造は様々な階層レベルの選択されたページ
の管理に利用される。FIFOデータ構造は選択された
ページのレンジの開始ページと終了ページのペアを格納
する。一つの選択されたページのレンジの処理後、この
ページのレンジはFIFOデータ構造350からポップ
オフされる。一つの階層レベルの処理の終了時、この階
層レベルに対応したスタック202中のエントリーがポ
ップオフされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、テキスト、グラフィッ
ク成分及び/またはイメージのある文書のコンピュータ
制御による印刷、表示、その他の出力(presentation)
に係り、特に、階層構造化ページ記述言語における選択
されたページの処理方法及び装置に関する。
【0002】なお、本出願は、米国特許出願第08/0
87,571号(1993年7月2日受理,”Method
and System to Handle Context of Interpretation
ina Document Processing Language”)の一部継続
出願であり、当該米国特許出願第08/087,571
号は米国特許出願第07/931,808号(1992
年8月11日受理,”A Method and System to Han
dle DictionaryGeneration and Context Declarati
on in a Document ProcessingLanguage”)の一部継
続出願であり、当該米国特許出願第07/931,80
8号は、米国特許出願第07/876,601号(19
92年4月30日受理,”Method and Apparatus to
Manage Picture and Pageset for DocumentProces
sing”)及び米国特許出願第07/879,251号
(1992年4月30日受理,”Method and System
to Handle Inclusion of ExternalFiles into a D
ocument Processing Language”)の一部継続出願で
あり、当該各米国特許出願は引用により本明細書に組み
込まれる。
【0003】
【従来の技術】一つの標準化ページ記述言語(SPD
L)が提案され、国際標準化機構(ISO)で国際規格
として開発中である。この草案は、ISO/IEC D
IS 10180:”Information Processing Text-
Communication Standard PageDescription Langua
ge”として知られ、ニューヨークの米国規格協会(AN
SI)より入手可能であるが、ここに引用することによ
っ本明細書に組み込まれる。この草案の現行版は199
1年3月付である。
【0004】階層的に構造化されたページ記述言語の一
つの利点は、文書のあるページあるいは部分だけを印刷
し、あるいは出力のための処理をしたい時に、文書全体
の処理をする必要はなく、当該印刷したい部分より階層
の高い部分だけを処理すればよいことである。これに対
し、ポストスクリプト(PostScript)のような一般的
なページ記述言語は、希望する部分を印刷できるように
するには、その前に、当該部分より前の部分全体の処理
を必要とする。これは、文書が大きくなった場合、処理
時間及び通信時間が非常に大きくなる可能性がある。
【0005】現行草案に述べられているSPDL規格に
従うシステムに必要とされる機能の一つは、文書生成命
令(Document Production Instruction)でページ選
択(page selection)を行なうことである。しかし、ペ
ージがネストされ、出力すべきページを様々な階層レベ
ルから選択する必要がある場合には、ネストされたレベ
ルの選択されたページの管理が煩雑になることがある。
【0006】1991年3月付SPDL草案のセクショ
ン6.6は、SPDLに使用される高レベル構造エレメ
ントについて記述している。本セクションに述べられて
いる3つの主要機能エレメントのうち、本発明はピクチ
ャー(picture)とページセット(pageset)を対象にし
ている。草案のSPDL規格の述べるところによれば、
ピクチャーは、単一のエンティティ(entity)と見做し
得る一つのイメージを記述する。このイメージは、1ペ
ージ分のイメージでもよいし、ページの部分的なイメー
ジでもよい。ページセットは、0個または1個以上のペ
ージを記述する。
【0007】ページはそれ自体のSPDL構造エレメン
トを持たないが、他のピクチャーに従属しないピクチャ
ーはページとして定義される。さて、図1に様々なペー
ジの例が示されている。図1に示されている各ピクチャ
ーは、ピクチャー116を別にすれば、一つのページで
ある。ピクチャー116以外の全てのピクチャーはペー
ジセットにのみ従属し、他のピクチャーには従属してい
ない。したがって、ピクチャー104,106,11
2,114,118,122,124,126,13
2,134はそれぞれ、ページと見做される。SPDL
にはピクチャー及びページセット構造エレメントについ
て詳細な要件があるが、これらの詳細は本発明を理解す
る上で重要でない。
【0008】本出願人は、階層構造化ページ記述言語に
おいてSPDLで要求されるようなページ選択をする従
来システムを全く知らない。Adobe Systems社による
ポストスクリプトは、ページ選択の機能を持たない。X
erox社のインタープレス(Interpress)はページ選択
命令を持っており、これについてはSimon &Shuster
社発行”Interpress The Source Book”(198
8)のpp.352−−354に述べられている。しかし
ながら、本出願人は、インタープレスで記述された文書
の階層構造とページ選択命令との相互作用を明らかにす
る従来技術を知らない。
【0009】
【発明が解決しようとする課題】本発明の一つの目的
は、階層構造化ページ記述言語におけるページ選択処理
を効率的に行なう手段を提供することである。
【0010】
【課題を解決するための手段】本発明は、上記目的及び
その他の目的を達成するため、ページ選択処理のために
スタック及びFIFOデータ構造を利用する。以下、本
発明の構成を後記実施例と関連付けるため少しく具体的
に述べる。
【0011】文書の各階層レベルは、ピクチャー/ペー
ジセットスタック(picture/pageset stack)内に置か
れた1つの対応エントリーを持つ。ピクチャー/ページ
セットスタック内の当該エントリーは、1個または2個
以上のポインタである。各階層レベルの1つのポインタ
は、文書の処理中に用いられる各種パラメータに関連し
た情報を持つ1つのページセット/ピクチャープロロー
グデータ構造(pageset/picture prologue data struc
ture)を指す。ページセット/ピクチャープロローグデ
ータ構造の一つのエントリーは、一つのページ選択デー
タ構造(pageselect data structure)を指すポインタ
である。ページ選択データ構造は、どのページが処理中
であるかを示すページインデックス用のエントリー、選
択ページレンジFIFOデータ構造(selection page r
ange FIFO datastructure)へのポインタ、及びペ
ージの選択があったかを示すエントリーを有する。
【0012】選択ページレンジFIFOデータ構造は2
つのカラムを持ち、そのうちの左側のカラムはレンジの
開始ページを示し、右側のカラムはレンジの終了ページ
を示す。1ページしか選択されていないときは、選択さ
れたページの開始ページと終了ページは両方とも、当該
選択されたページのページ番号になる。
【0013】普通、ページセット/ピクチャープロロー
グデータ構造のページ選択データ構造へのポインタはヌ
ル(null)を指している。しかし、ページセット構造エ
レメント内のページ選択が処理されている時には、ペー
ジ選択データ構造へのポインタは、ヌルではなく、ある
ページ選択データ構造を指す。あるページが処理すべく
選択される時に、選択ページレンジFIFOデータ構造
は、ある特定の階層レベルのどのページが選択されたか
を管理する。一つの選択されたページが処理された後、
当該ページが単一のページであるか、あるいはページレ
ンジの終わりのページであるならば、選択ページレンジ
FIFOデータ構造の一つのエントリーがポップされ
る。
【0014】
【作用】図1に、様々な階層レベルに選択ページを有す
るSPDL文書の例が示されているが、この階層構造の
最高位のページセットであるページセット102は、ペ
ージ1,3,5,7,8が出力すべく選択されている。
ページセット108は、ページ2,3が印刷すべく選択
されている。したがって、ページセット102の選択さ
れたページ3を出力しようとする時には、どのピクチャ
ーがページ3であるか確認するため、ページ1に相当す
るピクチャー104、ページ2に相当するピクチャー1
06、及びページセット108を調べなければならな
い。ページセット108はページ2,3だけが選択され
ているので、ピクチャー112はページセット102の
ページ3ではない。ページセット108の最初のページ
は、ページ番号2で、これはピクチャー114に相当す
る。よって、ページセット102のページ3は、ピクチ
ャー114である。
【0015】本発明によれば、かかる階層構造を有する
文書のページ選択処理を、スタックとFIFOデータ構
造を用いて効率的に行なうことができる。なお、スタッ
ク及び各種データ構造とページ選択処理との関係につい
ては、後記実施例に関する記述中において詳細に説明す
る。
【0016】
【実施例】さて添付図面を参照するが、複数の図にわた
って同一の参照番号は同一部または対応部を示してい
る。図1に、ページ選択命令を含むSPDL文書の例が
示されているが、図1の意図するところは、本発明が解
決する問題点を明確に理解できるよう、SPDL文書内
の主要な構造エレメントを示すことである。なお、図1
の構造は完全なSPDL文書を示さず、主要な階層構造
エレメントの一部を示しているに過ぎない。
【0017】図1において、ページセット102はペー
ジ1,3,5,7,8が選択されており、ページセット
108はページ2,3が選択されており、ページセット
120はページ1,2,3,6が選択されていることが
分かる。ページは、他のどのピクチャーにも従属しない
ピクチャー構造エレメントである。例えば、ピクチャー
104,106,112,114,118,122,1
24,126,128,132,134は、それぞれペ
ージである。しかし、ピクチャー116は、ピクチャー
114に従属しているのでページではない。
【0018】ページセット102はページ1,3,5,
7,8が選択されている。ページ1はピクチャー104
に相当し、ページ2(選択されていない)はピクチャー
106に相当する。図1において、ピクチャーを囲むブ
ロックの右上隅に記された数字は、ページセット102
に対するページ番号を示す。各ピクチャーのブロックの
右下隅に記した数字は、当該ピクチャーの直ぐ上のペー
ジセットに対するページ番号を示す。ページセット10
2の連続した選択ページを確認するためには、ページセ
ット108のページを処理しなければならない。ページ
セット108はページ2,3が選択されているが、これ
らのページはピクチャー114,118にそれぞれ相当
する。ページセット102の選択されたピクチャー3
は、ページセット108の最初の選択されたページであ
るピクチャー114に相当する。ピクチャー118は、
ページセット108の選択されたページ3に対応し、か
つページセット102のページ4(選択されていない)
に対応する。
【0019】ページセット102の選択されたページ
5,7,8を確定するには、ページセット120を処理
しなければならない。ページセット120はページ1,
2,3,6が選択されている。これらのページはそれぞ
れピクチャー122,124,126,134に相当す
る。ピクチャー122はページセット102の選択され
たページ5に相当し、ピクチャー126はページセット
102の選択されたページ7に相当する。ページセット
102の選択されたページ8を確定するためには、ペー
ジセット120及びページセット130の選択されたペ
ージを処理しなければならない。ページセット130は
ページ選択がない。デフォルトで、ページセット130
の全ページが選択される。しかし、ページセット120
は、ページ1,2,3,6のページ選択を有する。ピク
チャー132,134の左上隅に記された数字はページ
セット120に対するページ番号を示している。ピクチ
ャー134は、ページセット120の選択されたページ
6に相当し、かつページセット102の選択されたペー
ジ8に相当する。
【0020】ページセット102についてページ1,2
だけが選択されているならば、ページ選択処理は単純
で、ピクチャー104,106を選択することになる。
しかし、ページ選択命令のネストにより、処理は複雑化
する。文書の選択されたページ及び階層レベルの管理に
使用されるデータ構造について、次に説明する。
【0021】図2はピクチャー/ページセットスタック
(picture/pageset stack)202及びページセット/ピ
クチャープロローグデータ構造(pageset/picture prol
oguedata structure)250を示す。処理されている文
書の各階層レベルは、ピクチャー/ページセットスタッ
ク202にエントリー204のような一つのエントリー
をプッシュさせる。ピクチャー/ページセットスタック
のエントリー204は、プロローグデータ構造へのポイ
ンタ206とCCIデータ構造へのポインタ208を含
んでいる。CCIデータ構造へのポインタは、コンテン
ト(content)部の処理中でなければヌルを指しており、
その後、あるCCIデータ構造を指す。CCIデータ構
造及びCCIデータ構造へのポインタの働きに関する知
識は本発明を理解する上で重要ではないが、CCIデー
タ構造の詳細な説明は本出願人による係属中の米国特許
出願第08/087,571(1993年7月2日受
理,”Method and System to Handle Context of In
terpretation in a DocumentProcessing Languag
e”)に見ることができる。ページセット/ピクチャー
プロローグデータ構造250は、文書を処理するために
用いられる各種パラメータに関する情報を記憶してい
る。ページセット/ピクチャープロローグデータ構造に
おける本発明に関係したエントリーは、ページ選択デー
タ構造へのポインタ252である。このポインタは、ペ
ージセット内のページ選択が処理されている時にはある
ページ選択データ構造を指すが、それ以外の時にはヌル
を指す。ピクチャー/ページセットスタック及びページ
セット/ピクチャープロローグデータ構造の働きの詳細
な説明は、本出願人による係属中の米国特許出願第08
/087,571(1993年7月2日受理,”Metho
d and System to HandleContext of Interpretation
in a Document Processing Language”)に見るこ
とができ、当該特許出願は引用により本明細書に組み込
まれる。
【0022】文書生成命令(Document Production In
struction;”DPI”)は、従属のページ選択命令を
持つことができるSPDL構造エレメントである。DP
Iは、媒体指定、アボートポリシー(abort policy)、
フィニシング(finishing)、コピー数、ページ選択等
の種々の生成関連命令を制御する。ページ選択命令は開
始ページと終了ページを示す整数ペアの系列からなる。
例えば、ページ選択命令は(1,2),(5,9),
(11,11)のようなペアを持つことができる。上記
ペアにおいて、(1,2)は最初にリストされているの
で最初に処理されるべきである。したがって、後入れ先
出し(Last-In First-Out;LIFO)データ構造
ではなく、先入れ先出し(First-In First-Out;F
IFO)データ構造(後述)を用いるのが好ましい。し
かし、本発明はFIFOデータ構造だけに限定されるも
のではない。図2に示されたページセット/ピクチャー
プロローグデータ内にDPIのためのエントリーが存在
することがあるが、これは本発明を理解する上で重要で
はないので示されていない。
【0023】ページ選択命令はDPI命令であるので、
ページセット/ピクチャープロローグデータ250(プ
ロローグデータ構造とも呼ぶ)のページ選択データ構造
へのポインタ252は、ページ選択データ構造を含むか
参照するDPIデータ構造へのポインタともなり得る。
したがって、図2に示されたデータ構造は典型例と考え
るべきである。
【0024】SPDLエレメントであるピクチャービギ
ン(picture begin)またはページセットビギン(pages
et begin)に出会った時に、プロローグデータ構造25
0のページ選択データ構造へのポインタ252はヌルに
設定される。ピクチャーの処理中には、ページ選択デー
タ構造へのポインタはヌルを指したままである。しか
し、ページセット内のページ選択が処理される時には、
ページ選択データ構造へのポインタ252は、後述のよ
うに、あるページ選択データ構造を指す。DPI構造エ
レメント中にページ選択構造エレメントが存在しない時
は、ページ選択データ構造へのポインタ252はヌルで
あり、デフォルトで全ての従属ページが選択される。
【0025】図3は、ページセット/ピクチャープロロ
ーグデータ構造250のページ選択データ構造へのポイ
ンタ252により指されるページ選択データ構造302
を示している。ページ選択データ構造は、ページセット
構造エレメント内でページ選択構造エレメントに出会っ
た時に生成される。ページインデックス(page index)
304はページセット中の特定のページ位置を管理す
る。ページ選択データ構造の生成時に、ページインデッ
クスはゼロに設定される。選択ページレンジFIFOデ
ータ構造へのポインタ306は、選択ページレンジFI
FOデータ構造350を指す。ページが全然選択されな
いと(すなわち、ページ選択構造エレメントがページが
選択されないことを特に指示すると)、ポインタ306
はヌルを指し、選択ページレンジFIFOデータ構造は
生成されない。PROC_PAGESETエントリー308の内容
は”YES”または”NO”の値(value)である。選
択ページレンジFIFOデータ構造(以下、選択ページ
レンジFIFOと呼ぶ)へのポインタ306がヌルを指
しページが全然選択されないことを示しているときに
は、PROC_PAGESETは”NO”である。選択ページレンジ
FIFOへのポインタ306がヌルでなく、ある選択ペ
ージレンジFIFOを指すときは、PROC_PAGESETは”Y
ES”である。なお、実際的には、PROC_PAGESETエント
リー308は直接的にポインタ306に対応するので、
ページ選択データ構造内にPROC_PAGESETエントリーを設
ける必要はない。しかし、このPROC_PAGESETエントリー
は、前述の如く、本発明プロセスの動作説明を簡単にす
る。
【0026】選択ページレンジFIFO350の中には
左カラムと右カラムがある。左カラムは、1つのレンジ
の開始ページが入っており、その右カラムには同レンジ
の終了ページが入っている。例えば、ページ選択コマン
ドによりページ1〜3が選択されたとすると、エントリ
ー351にはページ1が、エントリー352にはページ
3が、それぞれ入ることになる。ある1つのページ、例
えばページ4が選択されると、カラムの開始ページと対
応した終了ページが両方とも同一ページ(この場合はペ
ージ4)を記憶することになろう。選択ページレンジF
IFOは、最初に処理されるページ(例えばページ1)
が同データ構造に初めにプッシュされ、そして、最初に
同データ構造よりポップされる(すなわち、最初に入っ
たページは最初に出ていくページである)という点で、
FIFOデータ構造である。しかし、FIFOデータ構
造と機能的に等価な動作をする別種のデータ構造を使用
することも可能である。
【0027】ページ選択レンジFIFO350のトップ
エントリーには選択された最低ページ番号が入ってお
り、そのボトムエントリーには最高ページ番号が入って
いる。選択されたページが処理される時に、同FIFO
のトップエントリーに相当する最低ページ番号がポップ
されて処理される。ページセットによりページが全く選
択されなければ、選択ページレンジFIFOを生成する
必要はない。
【0028】図4は、ページに出会った時(他のピクチ
ャーに従属しないピクチャービギンに出会った時)に呼
び出されるプロセスを示している。パーサー(parser)
/文法解析プロセス(parsing process)は、まずピク
チャーの始まりのためのタグの存在を確かめることによ
ってページが存在するか判定する。ピクチャービギンに
出会った後は、pic_levelを調べることにより、そのピ
クチャーがページであるか判定することができる(すな
わち、他のピクチャーに従属しないピクチャーはページ
である)。これについては、本出願人による係属中の米
国特許出願第07/876,601号(1992年4月
30日受理)に述べられており、当該出願は引用するこ
とによって本明細書に組み込まれる。
【0029】SPDL文書の新たなページ(他のピクチ
ャーに従属しないピクチャー)に出会った時に、図4の
プロセスが呼び出される。ステップ400は、ページセ
ットがあるか判定する。1ページ文書の場合を別にすれ
ば、ページは常にページセットの一部である。したがっ
て、1ページ文書があって、そのページがページセット
の一部でないときには、処理の流れはステップ400か
らステップ408に進み、そのページが処理されるべき
であることを表示する。それ以外の場合は、ページセッ
トがあるので処理の流れはステップ400よりステップ
401へ進む。ステップ401は、直ぐ上位のページセ
ットに対するページ選択データ構造へのポインタがヌル
であるか判定する。それがヌルであれば、ページセット
内の全ページが選択され、処理の流れはステップ404
に進み、ここで図5及び図6に示すページ選択チェック
ルーチンにおいて付加的な処理が行なわれるが、これに
ついては後述する。直ぐ上位のページセットに対するペ
ージ選択データ構造へのポインタがヌルでなければ、処
理の流れはステップ402に進みPROC_PAGESETが”N
O”であるか判定される。PROC_PAGESETが”NO”であ
れば、処理の流れはステップ412に進み、リターンコ
ードにより現在のページがスキップされるべきであるこ
とを表示する。その理由は、PROC_PAGESETが”NO”の
時には、全然ページが選択されていないので、当該ペー
ジをスキップしなければならないからである。
【0030】ステップ402でPROC_PAGESETは”NO”
でないと判定されたときには、処理の流れはステップ4
04へ進み、図5及び図6に示したページ選択チェック
ルーチンが呼び出される。
【0031】図5に示すプロセスにおいて、ステップ5
02は直ぐ上位のページセット(すなわち処理中のペー
ジの直ぐ上のページセット)をカレント・ページセット
(current pageset)に設定する。したがって、直ぐ上
位のページセットに関するデータ構造が、チェック及び
処理されるデータ構造となる。
【0032】ステップ504はカレント・ページセット
のプロローグデータ構造内のページ選択データ構造への
ポインタを読み出す。ステップ506で、このポインタ
がヌルであると判定されたときには(すなわち、全ペー
ジが選択される)、処理の流れは図6に示すプロセスB
へ進む。このページ選択データ構造へのポインタがヌル
でないときには、処理の流れはステップ508に進み、
ページ選択データ構造302内のPROC_PAGESET308
が”YES”であるか判定される。PROC_PAGESETが”Y
ES”でなければ、ページは全然選択されず、したがっ
て、ステップ514は現在のページが選択されない旨の
表示を呼出プロセスへ返す。PROC_PAGESETが”YES”
ならば、ステップ510でページインデックスが1だけ
インクリメントされる。前述のように、各ページ選択デ
ータ構造が生成される時に、ページインデックスは初期
値の0であり、選択されたページが処理されるに従って
ページ毎にページインデックスはインクリメントされ
る。
【0033】ステップ512は、ページインデックスが
選択ページレンジFIFOのトップにある開始ページと
終了ページの範囲内であるか判定する。ページインデッ
クスが、この開始ページと終了ページの範囲内でないと
きには、当該ページは選択されていないので、ステップ
514がpage_select=”NO”を返す。ページインデ
ックスが選択ページレンジFIFOのトップにある開始
ページと終了ページの範囲内であるときには、処理の流
れは図6に示すプロセスCへ進む。
【0034】図6において、ステップ516はページイ
ンデックスがFIFOのトップエントリーの終了ページ
と等しいか判定する。等しくないときには、当該ページ
セットの他のページを処理しなければならないので、処
理の流れはステップ524へ進む。ページインデックス
がFIFOのトップエントリーの終了ページと等しいと
きには、当該処理中のレンジは終了したので、ステップ
518が選択ページレンジFIFOのトップエントリー
をポップする。
【0035】次に、ステップ520は選択ページレンジ
FIFOがヌルであるか判定する。ヌルであるならば、
選択ページレンジFIFOにはエントリーが残っていな
いので、ステップ522はPROC_PAGESETを”NO”に設
定する。また、選択ページレンジFIFOはもはや存在
しないので、選択ページレンジFIFOへのポインタは
ヌルを指す。図5のステップ506、図6のステップ5
16,520,522よりステップ524に進むが、こ
のステップは、ピクチャー/ページセットスタックにほ
かのページセットがあるか(すなわち、現在のページの
階層構造における当該ページの直ぐ上位のページセット
よりも上位のページセットが存在するか)判定する。存
在しないときには、ページが選択されるので、カレント
・ページの処理は終了しpage_select=”YES”が呼
出プロセスへ返される。処理されるべき他のページセッ
トが存在するときは、ステップ528が今処理を終えた
ページセットより階層的に上にある次のページセットを
カレント・ページセットに設定し、処理の流れは図5に
示されたステップ504へ進む。
【0036】図5及び図6に示したプロセスの終了後、
図4のステップ406が実行され、返されたpage_selec
t変数を調べることによって該ページが選択されている
か判定する。選択されているときにはステップ408が
当該ページの処理を続けるリターンコードを設定し、選
択されていないときにはステップ412が現在ページの
処理をスキップするリターンコードを設定する。
【0037】本発明に用いられるデータ構造及び処理に
ついて述べたが、次に、本発明により図の構造を処理す
る間に生成されるデータ構造について述べる。図7は、
図1のページセット102の処理後のデータ構造を示
す。ピクチャー/ページセットスタック202のプロロ
ーグデータ構造へのポインタ206はプロローグデータ
構造250を指す。プロローグデータ構造250のペー
ジ選択データ構造へのポインタ252は、ページ選択デ
ータ構造302を指す。当該ページセットがまだ全然処
理されていない時には、ページ選択データ構造302の
ページインデックスは0に設定されている。ポインタ3
06が指す選択ページレンジFIFO350は、ページ
1,3,5,7,8が選択されていることを表わしてい
る。ポインタ306がヌルを指さないので、ページ選択
データ構造302のPROC_PAGESETエントリー308は図
7に示されるように”YES”に設定されている。
【0038】次に図1のピクチャー104に出会い、一
つのエントリーがピクチャー/ページセットスタック2
02に格納され、そのプロローグデータ構造へのポイン
タ210はプロローグデータ構造260を指し、またC
CIデータ構造へのポインタ212はヌルを指す。プロ
ローグデータ構造260はピクチャー104のために生
成されたものであり、また、エレメント104はピクチ
ャーであるから、ページ選択データ構造を指すポインタ
262はヌルを指すよう設定される。
【0039】そして、図4に示したプロセスが呼び出さ
れる。ページセット102があるので、処理の流れはス
テップ400からステップ401へ進む。ステップ40
1で、ページ選択データ構造へのポインタ252がヌル
ではないと判定されるので、処理の流れはステップ40
2へ進む。ステップ402において、ページ選択データ
構造302内のPROC_PAGESET308が”NO”でないの
で、図5及び図6に示すプロセスが呼び出される。
【0040】図5において、ステップ502はページセ
ット102をカレント・ページセットに設定し、ステッ
プ502はページセット102のページ選択データ構造
へのポインタ252を読み出す。そして、ステップ50
6はポインタ252がヌルでないと判定するので、次に
ステップ508FPROC_PAGESET308を調べ、ステップ
510はページインデックスを1にインクリメントす
る。このデータ構造が図8に示されている。
【0041】ステップ512はページインデックス(=
1)が選択ページレンジFIFO350のトップにある
開始ページ1と終了ページ1の間にあると判定する。そ
して、処理の流れはステップ516へ進み、ページイン
デックスがFIFOのトップにある終了ページと等しい
と判定する。したがって、ステップ518において選択
ページレンジFIFO350のトップエントリーがポッ
プされ、当該データ構造は図9に示す如くになる。
【0042】ステップ520が選択ページレンジFIF
Oがヌルでないと判定し、処理の流れはステップ524
へ進む。ピクチャー/ページセットスタックには他の上
位のページセットが存在しないので、ステップ526は
ページ選択変数PAGE_SELECT=”YES”を返す。処理
の流れは図4のステップ406に戻り、ステップ408
が処理継続のコードを返す。したがって、ピクチャー1
04を構成している構造エレメント(図示されていない
が、トークンシーケンスエレメントに見られるコンテン
ト部等)が処理される。
【0043】ピクチャー104とそれに従属したエレメ
ント(図示されていない)の処理が終わると、ピクチャ
ー104に対応したプロローグデータ構造は削除され、
ピクチャー/ページセットスタックよりポインタ21
0,212を含むエントリーがポップされる。
【0044】次に、ピクチャー106が処理される。プ
ロローグデータ構造260を指すポインタ210とヌル
を指すポインタ212を有する、ピクチャー106対応
のエントリーがピクチャー/ページセットスタック20
2に格納される。なお、本例においては、特定の階層レ
ベルの特定のデータ構造は、処理全体を通して同一の参
照番号を持ち、このことは他の構造エレメントが処理さ
れるとしても同様である。例えば、ピクチャー104,
106は同一の階層レベルにあるので、それらピクチャ
ーに関するピクチャー/ページセットスタック及びプロ
ローグデータ構造上のエントリーは同一の参照番号を持
つ。
【0045】ピクチャー106の処理時に、処理の流れ
はステップ400からステップ402へ進み、PROC_PAG
ESET308は”YES”であると判定する。そこで処理
の流れは図5に示したプロセスへ進み、ステップ502
でページセット102がカレント・ページセットに設定
される。ステップ504がページ選択データ構造へのポ
インタ252を読み出し、ステップ506がポインタ2
52がヌルでないと判定する。ステップ508がPROC_P
AGESET308が”YES”であると判定するので、図1
0に示されるように、ページインデックス304は1か
ら2にインクリメントされる。
【0046】ステップ512は、ページインデックス3
04が選択ページレンジFIFO350のトップエント
リーの開始ページと終了ページの間にはないと判定する
ので、処理の流れはステップ514へ進み、PAGE_SELEC
Tは”NO”に設定される。処理の流れは図4のステッ
プ406へ進む。ピクチャー106に相当するページは
選択されていないので、ステップ412は、ピクチャー
106相当ページがスキップされるべきことを表示する
リターンコードを設定する。よって、ピクチャー106
に従属したエレメント(図示されていない)は処理され
ず、ピクチャー/ページセットスタック202よりポイ
ンタ210,212を持つエントリーがポップされる。
【0047】次に、ページセット108が処理され、ポ
インタ210,212を持つ一つのエントリーがピクチ
ャー/ページセットスタック202にプッシュされる。
ページ選択データ構造を指すポインタ262はページ選
択データ構造312を指すが、このページ選択データ構
造は、エレメント108がページセットであるのでデフ
ォルト値を持っている。ページセット108のページ
2,3が選択されていることを表わす選択ページレンジ
FIFO360が生成される。このようなデータ構造が
図11に示されている。
【0048】つぎに、ピクチャー112に相当するペー
ジが処理される。ポインタ214,216を持つ一つの
エントリーがピクチャー/ページセットスタック202
に格納される。ポインタ214はプロローグデータ構造
270を指すが、該データ構造のポインタ272はヌル
を指しておりページ選択データ構造を指さない。これ
は、エレメント112がピクチャーであるからである。
図4のプロセスが呼び出され、処理の流れはステップ4
00,401,402からステップ404へ進み、図5
及び図6に示すプロセスが呼び出される。
【0049】図5において、ステップ502はページセ
ット108をカレント・ページセットに設定する。ステ
ップ504はページ選択データ構造へのポインタ262
を読み出し、ステップ506は同ポインタ262がヌル
でないと判定する。ステップ508はPROC_PAGESET31
8がヌルでないと判定し、ページインデックス314を
0から1へインクリメントする。このようなデータ構造
が図12に示されている。
【0050】ステップ512はページインデックス31
4が選択ページレンジFIFO360のトップエントリ
ーの開始ページと終了ページの間にないと判定するの
で、ステップ514がPAGE_SELECT=”NO”を返す。
ステップ406は該ページが選択されていないと判定す
るので、ステップ412は該ページをスキップするリタ
ーンコードを設定する。そして、プロローグデータ構造
270が削除され、ピクチャー/ページセットスタック
よりポインタ214,216を持つエントリーがポップ
される。
【0051】次に、ピクチャー114が処理され、ポイ
ンタ214,216を持つ一つのエントリーがピクチャ
ー/ページセットスタック202にプッシュされる。プ
ロローグデータ構造へのポインタ214はプロローグデ
ータ構造270を指す。このプロローグデータ構造のポ
インタ272は、エレメント114がピクチャーである
ので、ヌルを指しページ選択データ構造を指さない。そ
して、図4に示したプロセスが呼び出され、処理の流れ
は図5のステップ506へ進み、ポインタ262はヌル
でないと判定される。ステップ508はPROC_PAGESET3
18が”YES”であると判定するので、ステップ51
0でページインデックス314が1から2にインクリメ
ントされる。そして、ステップ512はページインデッ
クス314が2と3の間であると判定するので、処理の
流れは図6に示したプロセスCに進む。
【0052】図6において、ステップ516はページイ
ンデックス314がFIFO360のトップの終了ペー
ジである3でないと判定し、処理の流れはステップ52
4へ進む。ステップ524は別のページセット(ピクチ
ャー/ページセットスタック202のボトムエントリー
に対応するページセット102)があると判定するの
で、ステップ528がピクチャー/ページセットスタッ
ク202のボトムエントリーに対応するページセットを
カレント・ページセットに設定する。
【0053】処理の流れはステップ502へ進みポイン
タ252が取得され、ステップ508はPROC_PAGESETが
ヌルでないと判定する。したがって、ページインデック
ス304は2から3へインクリメントされる。この時の
データ構造は図13に示す通りである。
【0054】処理の流れはステップ516へ進み、同ス
テップはページインデックス304がFIFO350の
トップの終了ページ3に等しいと判定し、したがって、
ステップ518で選択ページレンジFIFO350のト
ップエントリーがポップされる。この時、データ構造は
図14に示す如くである。
【0055】ステップ520は選択ページレンジFIF
Oがヌルでないと判定し、処理の流れはステップ524
へ進み、同ステップがこれ以上のページセットがピクチ
ャー/ページセットスタックにないと判定するので、ス
テップ526はPAGE_SELECT=”YES”を返す。図4
のステップ406は該ページが選択されていると判定
し、したがってステップ408は処理を継続させるリタ
ーンコードを設定し、ピクチャー114の下のピクチャ
ー116等の構造エレメントが処理される。ピクチャー
114とピクチャー116の処理後に、プロローグデー
タ構造270が削除され、ピクチャー/ページセットス
タックよりポインタ214,215を持つトップエント
リーがポップされる。
【0056】次にピクチャー118が処理される。ピク
チャー118と出会った時に、ピクチャー/ページセッ
トスタック202に、ポインタ214,216を持つ一
つのエントリーがプッシュされる。ポインタ214は生
成されたプロローグデータ構造270を指す。図4に示
すプロセスが呼び出され、そして処理の流れは図5及び
図6へ進み、ページセット108がカレント・ページセ
ットに設定され、ページ選択データ構造へのポインタ2
62が調べられ、ステップ506は同ポインタがヌルで
ないと判定する。ステップ508はPROC_PAGESET318
が”YES”であると判定し、ページインデックス31
4はステップ510で2から3へとインクリメントされ
る。ステップ512はページインデックス314がFI
FO360の2と3の間であると判定し、処理の流れは
ステップ516へ進み、同ステップはページインデック
スがFIFO360の終了ページであると判定する。処
理の流れはステップ518へ進み、ここでページ選択デ
ータ構造312の選択ページレンジFIFO360より
トップエントリーがポップされる。このエントリーは当
該FIFOに残っていた唯一のエントリーであるので、
該FIFOはヌルであり、したがって、ステップ522
はPROC_PAGESET318を”NO”に設定する。ステップ
524は、さらにページセット(ページセット102に
対応するページセット)があると判定するので、ステッ
プ528はピクチャー・/ページセットスタック202
のボトムエントリーに相当するページセット102に対
応するページセットをカレント・ページセットに設定す
る。
【0057】処理の流れはステップ504に進みポイン
タ252を読み出し、そしてステップ506はポインタ
252がヌルでないと判定する。ステップ508はPROC
_PAGESET308を調べ、それが”YES”であると判定
するので、ページインデックス304は3から4へイン
クリメントされる。この時、データ構造は図15に示す
とおりである。
【0058】ステップ512はページインデックス30
4が開始ページ5と終了ページ5の間ではないと判定す
る。したがって、ステップ514はPAGE_SELECT=”N
O”を返し、ステップ412はピクチャー118がスキ
ップされるべきことを表示するリターンコードを設定す
る。
【0059】ページセット108の下にはもう構造エレ
メントが存在しないので、ページセット108の処理は
終わる。その結果、プロローグデータ構造260とペー
ジ選択データ構造312が消去され、ピクチャー/ペー
ジセットスタック202上のポインタ210,212を
持つエントリーはポップされる。
【0060】次にページセット120が処理される。ペ
ージ1,2,3,6が選択されたページセット120に
出会った時に、ポインタ210,212を持つ一つのエ
ントリーがピクチャー/ページセットスタック202に
格納される。プロローグデータ構造260が生成され、
そのページ選択データ構造へのポインタ262で生成さ
れたページ選択データ構造312を指す。このページ選
択データ構造312は、ページインデックス314=
0、PROC_PAGESET=”YES”(ページが選択されてい
ることを示している)、2つのエントリーを有する選択
ページレンジFIFO360を持つ。このFIFOの最
初のエントリーはページ1が選択されたレンジの開始ペ
ージで、ページ3が終了ページであることを示し、2番
目のエントリーはページ6が選択されていることを示
す。データ構造は図16に示すとおりである。
【0061】次にピクチャー122が処理され、したが
って、ポインタ214,216を持つ一つのエントリー
がピクチャー/ページセットスタック202にプッシュ
される。エレメント122はピクチャーであるので、プ
ロローグデータ構造270のページ選択データ構造への
ポインタ272はヌルを指す。次に、図4に示したプロ
セスが呼び出され、そして処理の流れは図5及び図6に
示したプロセスに進んでページセット120がカレント
・ページセットに設定され、ステップ504がポインタ
262を読み出し、ステップ502がポインタ262は
ヌルでないと判定する。ステップ508がPROC_PAGESET
=”YES”であると判定するので、ページインデック
ス314は0から1にインクリメントされる。ステップ
512がページインデックス314は選択ページレンジ
FIFO360のトップエントリーにある開始ページと
終了ページの範囲であると判定し、処理の流れは図6の
ステップ516に進む。
【0062】ステップ516がページインデックスは終
了ページではないと判定し、処理の流れはステップ52
4に進み、同ステップはピクチャー/ページセットスタ
ック202にさらにページセット(ページセット102
に対応するページセット)があると判定する。ステップ
528でページセット102に対応するページセットが
カレント・ページセットに設定され、処理の流れは図5
のステップ504へ進む。ステップ504はポインタ2
52を読み出し、ステップ506は同ポインタがヌルで
ないと判定する。ステップ508はPROC_PAGESET308
が”YES”であると判定し、したがってステップ51
0はページインデックス304を4から5へインクリメ
ントする。この時、データ構造は図17に示すとおりで
ある。
【0063】ステップ512はページインデックス30
4がFIFO350のトップエントリーの開始ページと
終了ページの範囲内であると判定し、ステップ516は
ページインデックス304がFIFO350の終了ペー
ジと等しいと判定する。したがって、ステップ518は
ページレンジFIFO350のトップエントリーをポッ
プする。FIFO350はヌルでないので、処理の流れ
はステップ520からステップ524へ進み、ピクチャ
ー/ページセットスタック202にはもうページセット
がないと判定しステップ526はpage_select=”YE
S”を返す。
【0064】ステップ406は該ページが選択されてい
ると判定し、ステップ408は該ページの処理を継続す
るリターンコードを設定する。ピクチャー122の処理
後、プロローグデータ構造が削除され、ピクチャー/ペ
ージセットスタック202上のポインタ214,216
に対応するエントリーがポップされる。
【0065】次に、ピクチャー124が処理され、ポイ
ンタ214,216を持つ一つのエントリーがスタック
にプッシュされ、またプロローグデータ構造270が生
成される。図4に示したプロセスが呼び出され、そして
処理の流れは図5へ進み、ステップ508はPROC_PAGES
ET318が”YES”であると判定し、ページインデッ
クス314は1から2にインクリメントされ、データ構
造は図18に示すようになる。
【0066】ピクチャー124の処理後、ピクチャー1
26が処理され、ページインデックス314は2から3
へインクリメントされ、ページインデックス304は6
から7へインクリメントされ、データ構造は図19に示
す如くとなる。
【0067】ページセット130及びピクチャー13
2,134の処理についての説明は、簡略化のため省略
する。これら構造エレメントの処理は、図4乃至図6に
示したフローチャートを用いて、前述の構造エレメント
に対する処理と同様に行なわれるからである。なお、ペ
ージセット130が処理される時には、格別に選択され
たページはないので、デフォルトで各ページが選択され
る。したがって、ページセット130に対するプロロー
グデータ構造のページ選択データ構造へのポインタはヌ
ルを指すことになる。図5のステップ506に進むと、
処理の流れは図6のステップ524へ進む。ページセッ
ト130に対してはページ選択データ構造も選択ページ
レンジFIFOもないので、ページセット130の処理
の間、ステップ508〜522はスキップされる。
【0068】図20はネットワークとそれに接続された
各種装置を示しており、それらのいずれも本発明を使用
できる。ネットワーク714に接続されるプリンタ70
2は、プリンタコントローラ706とプリントエンジン
704を有する。ワークステーション708、並びにプ
リンタ712に接続されたプリントサーバー710も、
ネットワーク714に接続されている。
【0069】図21はプリンタ702のプリンタコント
ローラ706の詳細を示している。このプリンタコント
ローラ706はホストインターフェイス726を介して
ホスト728に接続される。ホスト728はどのような
コンピュータでもよく、場合によってはワークステーシ
ョン708であってもよい。ワークステーション708
は、例えばネットワーク714、シリアルプリンタケー
ブル、パラレルプリンタケーブルを介し、ホスト728
に接続される。プリンタコントローラ706はCPU7
20、RAM722、本発明のプロセスを実現するRO
M724、プリントエンジンインターフェイス732、
これらのプリンタコントローラ要素を接続するシステム
バス730も含む。プリントエンジンインターフェイス
732はラスタライズしたイメージデータを、ビデオ及
びその他の信号としてプリントエンジン704へ出力す
る。
【0070】図22はワークステーション708の構成
を示す。ワークステーション708はCPU750、R
AM752、ROM754、キーボード758及びマウ
ス760と接続された入力コントローラ756を含む。
プリントエンジンインターフェイス764がプリントエ
ンジン762に直接接続され、同エンジンはプリントエ
ンジンインターフェイス764により送られて来るラス
タライズされたイメージデータのビデオ・制御信号を受
信する。ワークステーション708はさらに、ハードデ
ィスク768及びフロッピードライブ770に接続され
たディスクコントローラ772、ネットワーク714
(例えばEthernet,登録商標)との接続のための通信
コントローラ774、外部ハードディスク780に例え
ばSCSIバスにより接続されかつプリンタ778に例
えばRS−232ケーブルにより接続されたI/Oコン
トローラ776を含む。ワークステーション708は、
CRT784と接続されたディスプレイコントローラ7
82も含む。システムバス766はワークステーション
内部の各エレメントを接続する。
【0071】処理し印刷すべきSPDLファイルは、ワ
ークステーション708によって直接作成することがで
き、あるいは、まずワークステーション708により作
成してから例えばハードディスク708もしくは78
0、フロッピードライブ770またはRAM752のい
ずれかに格納することができる。その後、このSPDL
ファイルをCPU750により印刷処理することがで
き、SPDLファイルをラスタライズされたイメージデ
ータへ加工し、このイメージデータはバス766を介し
てプリントエンジンインターフェイス764へ送られ、
最終的にビデオ制御信号の形でプリントエンジン762
へ送られることにより同イメージがプリントエンジン7
62により印刷される。
【0072】図23に示されたプリントサーバー710
の基本構成はワークステーション708と非常に似てい
る。プリントサーバー710はネットワーク714より
送られて来たSPDLファイルを通信コントローラ81
8で受信する。CPU800は、本発明のプロセスに従
って、受信したファイルがバイナリもしくはクリアテキ
ストのSPDLフォーマットまたは他のエンコーディン
グフォーマットのいずれであるかを判定する。次に、こ
のファイルはCPUにより処理れさ、システムバス81
4を介しプリンタインターフェイス816へ、そしてプ
リンタ712へ送られる。CPU800は文書を様々な
フォーマットへ加工できる。例えば、SPDL文書をポ
ストスクリプト表現に加工してプリンタ712へ送るこ
とができる(プリンタ712がポストスクリプト互換で
あるとして)。あるいは、CPU800はSPDLファ
イルをいずれかのエスケープ型言語へ加工することがで
きる。例えば、ヒューレットパッカード(HP)社のレ
ーザージェット(登録商標)シリーズプリンタのネイテ
ィブ言語(例えばPCL)に加工することができ、当然
この場合にはプリンタ712がHPレーザージェット互
換であると仮定することができる。また、CPU800
によりSPDL文書を、ドットマトリクスプリンタ、イ
ンクジェットプリンタ、サーマルプリンタ、その他のラ
スター可能プリンタに使用されるフォーマットへ加工す
ることも可能である。また、CPU800によりSPD
L文書をラスターイメージに加工し、このイメージデー
タをプリンタ712内部のプリントエンジンへ送ること
も可能である。
【0073】明らかなように、以上の説明に照らし、本
発明の様々な修正及び変形が可能である。例えば、本発
明は特定のシンタックスのページ記述言語に限定される
ものではなく、本明細書に述べたと同様の機能を達成す
るページ記述言語に対して使用できる。さらに、ピクチ
ャー/ページセットスタックは、一続きのリンクリスト
を用いて等価なものを実現し得る。また、選択ページレ
ンジFIFOデータ構造は、最高ページ番号を最初にプ
ッシュし、最低ページ番号を最後にプッシュするスタッ
クを用いて等価なものを実現することもできる。したが
って、このスタックからページがポップされる時、この
ポッピングは本明細書で説明したところのFIFOデー
タ構造からのポッピングと同等である。さらに、FIF
Oデータ構造は、一続きのリンクリストを用いて等価な
ものを実現することもできる。
【0074】なお、付記するならば、以下の方法及び装
置並びにその変形は、本発明に含まれるものである。
【0075】(1) ページセット及びページを含む階
層構造化文書処理言語を処理する方法であって、該ペー
ジセットはゼロ個以上のページ及びゼロ個以上のページ
セットからなり、該ページセットの少なくとも一つは選
択されたページを持ち、該方法は以下のステップからな
る:ページ及びページセットの一つが処理される都度、
ピクチャー/ページセットスタック手段に一つのエント
リーをプッシュするステップ;選択されたページを持つ
ページセットが処理される時に、該選択されたページの
ためのエントリーを持つ、該ピクチャー/ページセット
手段により参照されるページ選択データ構造を生成する
ステップ; 及び該選択されたページを処理し、該処理
したページを該ページの処理後に該ページ選択データ構
造より除去するステップ。
【0076】(2) 上記(1)の方法において、該ペ
ージ選択データ構造の生成ステップが、FIFOデータ
構造の該ページ選択データ構造を生成する。
【0077】(3) ページセット及びページを含む階
層構造化文書処理言語を処理する装置であって、該ペー
ジセットはゼロ個以上のページ及びゼロ個以上のページ
セットからなり、該ページセットの少なくとも一つは選
択されたページを持ち、該装置は以下の手段を具備して
なる:ページ及びページセットの一つが処理される都
度、ピクチャー/ページセットスタック手段に一つのエ
ントリーをプッシュする手段;選択されたページを持つ
ページセットが処理される時に、該選択されたページの
ためのエントリーを持つ、該ピクチャー/ページセット
手段により参照されるページ選択データ構造を生成する
手段; 及び該選択されたページを処理し、該処理した
ページを、該ページの処理後に該ページ選択データ構造
より除去する手段。
【0078】(4) 上記(3)の装置において、該ペ
ージ選択データ構造の生成手段が、FIFOデータ構造
の該ページ選択データ構造を生成する。
【0079】(5) ページセット及びページを含む階
層レベルを有する階層構造化文書処理言語を処理する方
法であって、該ページセットは該ページセット内にネス
トされたゼロ個以上のページ及びゼロ個以上のページセ
ットからなり、各ページは対応したページセットに従属
し、該ページセットの少なくとも一つは選択されたペー
ジを持ち、該方法は以下のステップからなる:ページ及
びページセットの一つに出会う都度、該階層レベルの管
理用のスタック手段に一つのエントリーをプッシュする
ステップ;該ページセットの一つの該選択されたページ
のためのエントリーを持つ、該スタック手段により参照
されるページ選択データ構造を、選択されたページを持
つページセットの該少なくとも一つのそれぞれを処理す
る時に、生成するステップ、ここにおいて各生成された
ページ選択データ構造は該ページセットの一つ及びその
ページに対応する;以下のステップを行なって該ページ
を処理するステップ:最低階層レベルに対応するページ
数カウンタをインクリメントするステップ;該ページ数
カウンタの値が最低階層レベルページ選択データ構造の
エントリーに対応するか判定するステップ;該ページ数
カウンタの値が該最低階層レベルページ選択データ構造
中のエントリーに対応する時に、ページセットを含む該
最低階層レベルより上のページセットを含む各階層レベ
ルについて、以下のステップを行なうステップ:該階層
構造内の最後に処理された階層レベルより高い、より高
い階層レベルのページ数に対応する、より高いページ数
カウンタの値をインクリメントするステップ;該より高
いページ数カウンタの値が、該処理中のページセットに
対応する該ページ選択データ構造中のより高い一つのペ
ージ選択データ構造のエントリーに対応するか判定し、
該より高いページ数カウンタの値が該ページ選択データ
構造中のより高い一つのページ選択データ構造のエント
リーに対応するならば、ページセットを含む次に高い階
層レベルに対して、より高いページ数カウンタをインク
リメントするステップ、及び該より高いページ数カウン
タの値が該ページ選択データ構造中のより高い一つのペ
ージ選択データ構造のエントリーに対応するか判定する
ステップを、最高レベルのページセットに出会うか、ま
たは該より高いページ数カウンタの値が、該より高いペ
ージ選択データ構造のエントリーに対応しなくなるま
で、繰り返すステップ。
【0080】(6) 上記(5)の方法において、該ペ
ージ選択データ構造の生成ステップが、FIFOデータ
構造のページ選択データ構造を生成する。
【0081】(7) ページセット及びページを含む階
層レベルを有する階層構造化文書処理言語を処理する装
置であって、該ページセットは該ページセット内にネス
トされたゼロ個以上のページ及びゼロ個以上のページセ
ットからなり、各ページは対応したページセットに従属
し、該ページセットの少なくとも一つは選択されたペー
ジを持ち、該装置は以下の手段を具備してなる:ページ
及びページセットの一つに出会う都度、該階層レベルの
管理用のスタック手段に一つのエントリーをプッシュす
る手段;該ページセットの一つの該選択されたページの
ためのエントリーを持つ、該スタック手段により参照さ
れるページ選択データ構造を、選択されたページを持つ
ページセットの該少なくとも一つのそれぞれを処理する
時に、生成する手段、ここにおいて各生成されたページ
選択データ構造は該ページセットの一つ及びそのページ
に対応する;以下のステップを行なって該ページを処理
する第1の処理手段:最低階層レベルに対応するページ
数カウンタをインクリメントするステップ;該ページ数
カウンタの値が最低階層レベルページ選択データ構造の
エントリーに対応するか判定するステップ;該ページ数
カウンタの値が該最低階層レベルページ選択データ構造
のエントリーに対応する時に、以下のステップを行なう
ことにより、ページセットを含む該最低階層レベルより
上のページセットを含む各階層レベルを処理する第2の
処理手段;該階層構造内の最後に処理された階層レベル
より高い、より高い階層レベルのページ数に対応する、
より高いページ数カウンタの値をインクリメントするス
テップ;該より高いページ数カウンタの値が、該処理中
のページセットに対応する該ページ選択データ構造中の
より高い一つのページ選択データ構造のエントリーに対
応するか判定し、該より高いページ数カウンタの値が該
ページ選択データ構造中のより高い一つのページ選択デ
ータ構造のエントリーに対応するならば、ページセット
を含む次に高い階層レベルに対して、より高いページ数
カウンタをインクリメントするステップ、及び該より高
いページ数カウンタの値が該ページ選択データ構造中の
より高い一つのページ選択データ構造のエントリーに対
応するか判定するステップを、最高レベルのページセッ
トに出会うか、または該より高いページ数カウンタの値
が、該より高いページ選択データ構造のエントリーに対
応しなくなるまで、繰り返すステップ。
【0082】(8) 上記(7)の装置において、該ペ
ージ選択データ構造の生成手段が、FIFOデータ構造
のページ選択データ構造を生成する。
【0083】(9) ページセット及びページを含む階
層レベルを有する階層構造化文書処理言語を処理する装
置であって、該ページセットは該ページセット内にネス
トされたゼロ個以上のページ及びゼロ個以上のページセ
ットからなり、各ページは対応したページセットに従属
し、該ページセットの少なくとも一つは選択されたペー
ジを持ち、該装置は以下の手段を具備してなる:該ペー
ジセットのためのエントリーを含む、該階層レベルを管
理するために用いられるスタック手段;選択されたペー
ジを含む各ページセットのための、それぞれが該スタッ
ク手段内の対応エントリーにより参照されるページ選択
データ構造;該ページ選択データ構造のそれぞれに対応
した、対応ページセットのページ数をカウントするため
のカウンタ。
【0084】(10) 上記(9)の装置において、該
ページ選択データ構造のそれぞれはFIFOデータ構造
である。
【0085】
【発明の効果】実施例に関連して詳細に述べたことから
明らかなように、本発明によれば、スタックとFIFO
データ構造を用いることによって、階層構造を有する文
書のページ選択処理を効率的に行なうことができ、その
結果、文書の印刷その他出力のための処理の効率を向上
できる等の効果を得られる。
【図面の簡単な説明】
【図1】様々な階層レベルに選択ページを有するSPD
L文書の例を示す図である。
【図2】本発明に用いられるピクチャー/ページセット
スタック及びページセット/ピクチャープロローグデー
タ構造を示す図である。
【図3】選択ページレンジFIFOデータ構造を指すペ
ージ選択データ構造を示す図である。
【図4】一つのページに出会うたびに当該ページが処理
すべく選択されているか判定するために本発明で用いら
れるプロセスを示すフローチャートである。
【図5】あるページが処理すべく選択されていることを
判定するため図2に示したプロセスにより呼び出される
ページ選択チェックルーチンの一部を示すフローチャー
トである。
【図6】図5に示したページ選択チェックルーチンの残
りの部分を示すフローチャートである。
【図7】図1のページセット102の処理後のデータ構
造を示す図である。
【図8】図1のピクチャー104に出会った時のデータ
構造を示す図である。
【図9】図1のピクチャー104の処理中のデータ構造
を示す図である。
【図10】図1のピクチャー106の処理後のデータ構
造を示す図である。
【図11】図1のページセット108の処理後のデータ
構造を示す図である。
【図12】図1のピクチャー112の処理後のデータ構
造を示す図である。
【図13】図1のピクチャー114の処理後のデータ構
造を示す図である。
【図14】図1のピクチャー114に続く処理時のデー
タ構造を示す図である。
【図15】図1のピクチャー118の処理後のデータ構
造を示す図である。
【図16】図1のページセット120の処理時のデータ
構造を示す図である。
【図17】図1のピクチャー122の処理時のデータ構
造を示す図である。
【図18】図1のピクチャー124の処理後のデータ構
造を示す図である。
【図19】図1のピクチャー126の処理後のデータ構
造を示す図である。
【図20】本発明を利用するためのコンピュータネット
ワークを示すブロック図である。
【図21】本発明を利用するためのプリンタコントロー
ラを示すブロック図である。
【図22】本発明を利用するためのワークステーション
を示すブロック図である。
【図23】本発明を利用するためのプリントサーバを示
すブロック図である。
【符号の説明】
102,108,120,130 ページセット 104,106,112,114,116,118 ピ
クチャー 122,124,126,128,132,134 ピ
クチャー 202 ピクチャー/ページセットスタック 250,260,270 ページセット/ピクチャープ
ロローグデータ構造 252,302,312 ページ選択データ構造 350,360 選択ページレンジFIFOデータ構造 702 プリンタ 704 プリントエンジン 706 プリンタコントローラ 708 ワークステーション 710 プリントサーバー 712 プリンタ 714 ネットワーク 720 CPU 722 RAM 724 ROM 726 ホストインターフェイス 728 ホスト 732 プリントエンジンインターフェイス 750 CPU 752 RAM 754 ROM 756 入力コントローラ 758 キーボード 760 マウス 762 プリントエンジン 764 プリントエンジンインターフェイス 766 システムバス 768 ハードディスク 770 フロッピードライブ 772 ディスクコントローラ 774 通信コントローラ 776 I/Oコントローラ 778 プリンタ 780 ハードディスク 782 ディスプレイコントローラ 784 CRT 800 CPU 802 RAM 804 ROM 806 入力コントローラ 808 キーボード 810 ディスクコントローラ 812 ハードディスク 814 システムバス 816 プリンタインターフェイス 818 通信コントローラ 820 I/Oコントローラ 822 SCSI装置 824 ディスプレイコントローラ 826 CRT

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ページセット及びページを含む階層構造
    化文書処理言語を処理する方法であって、ここにおい
    て、該ページセットはゼロ個以上のページ及びゼロ個以
    上のページセットからなり、該ページセットの少なくと
    も一つは選択されたページを持ち、 ページ及びページセットの一つが処理される都度、ピク
    チャー/ページセットスタック手段に一つのエントリー
    をプッシュするステップ、 選択されたページを持つページセットが処理される時
    に、該選択されたページのためのエントリーを持つ、該
    ピクチャー/ページセット手段により参照されるページ
    選択データ構造を生成するステップ、及び該選択された
    ページを処理し、該処理したページを該ページの処理後
    に該ページ選択データ構造より除去するステップ、を有
    してなる文書処理言語におけるページ選択の処理方法。
  2. 【請求項2】 ページセット及びページを含む階層構造
    化文書処理言語を処理する装置であって、ここにおい
    て、該ページセットはゼロ個以上のページ及びゼロ個以
    上のページセットからなり、該ページセットの少なくと
    も一つは選択されたページを持ち、 ページ及びページセットの一つが処理される都度、ピク
    チャー/ページセットスタック手段に一つのエントリー
    をプッシュする手段、 選択されたページを持つページセットが処理される時
    に、該選択されたページのためのエントリーを持つ、該
    ピクチャー/ページセット手段により参照されるページ
    選択データ構造を生成する手段、及び該選択されたペー
    ジを処理し、該処理したページを、該ページの処理後に
    該ページ選択データ構造より除去する手段、を具備して
    なる文書処理言語におけるページ選択の処理装置。
  3. 【請求項3】 ページセット及びページを含む階層レベ
    ルを有する階層構造化文書処理言語を処理する方法であ
    って、ここにおいて、該ページセットは該ページセット
    内にネストされたゼロ個以上のページ及びゼロ個以上の
    ページセットからなり、各ページは対応したページセッ
    トに従属し、該ページセットの少なくとも一つは選択さ
    れたページを持ち、 ページ及びページセットの一つに出会う都度、該階層レ
    ベルの管理用のスタック手段に一つのエントリーをプッ
    シュするステップ、 該ページセットの一つの該選択されたページのためのエ
    ントリーを持つ、該スタック手段により参照されるペー
    ジ選択データ構造を、選択されたページを持つページセ
    ットの該少なくとも一つのそれぞれを処理する時に、生
    成するステップ、を有し、ただし、各生成されたページ
    選択データ構造は該ページセットの一つ及びそのページ
    に対応し、さらに、次のステップ最低階層レベルに対応
    するページ数カウンタをインクリメントするステップ、 該ページ数カウンタの値が最低階層レベルページ選択デ
    ータ構造のエントリーに対応するか判定するステップ、 該ページ数カウンタの値が該最低階層レベルページ選択
    データ構造中のエントリーに対応する時に、ページセッ
    トを含む該最低階層レベルより上のページセットを含む
    各階層レベルについて、以下のステップを行なうステッ
    プ、 該階層構造内の最後に処理された階層レベルより高い、
    より高い階層レベルのページ数に対応する、より高いペ
    ージ数カウンタの値をインクリメントするステップ、 該より高いページ数カウンタの値が、該処理中のページ
    セットに対応する該ページ選択データ構造中のより高い
    一つのページ選択データ構造のエントリーに対応するか
    判定し、該より高いページ数カウンタの値が該ページ選
    択データ構造中のより高い一つのページ選択データ構造
    のエントリーに対応するならば、ページセットを含む次
    に高い階層レベルに対して、より高いページ数カウンタ
    をインクリメントするステップ、及び、該より高いペー
    ジ数カウンタの値が該ページ選択データ構造中のより高
    い一つのペーージ選択データ構造のエントリーに対応す
    るか判定するステップを、最高レベルのページセットに
    出会うか、または該より高いページ数カウンタの値が、
    該より高いページ選択データ構造のエントリーに対応し
    なくなるまで、繰り返すステップ、を行なって該ページ
    を処理するステップ、を有してなる文書処理言語におけ
    るページ選択の処理方法。
  4. 【請求項4】 ページセット及びページを含む階層レベ
    ルを有する階層構造化文書処理言語を処理する装置であ
    って、ここにおいて、該ページセットは該ページセット
    内にネストされたゼロ個以上のページ及びゼロ個以上の
    ページセットからなり、各ページは対応したページセッ
    トに従属し、該ページセットの少なくとも一つは選択さ
    れたページを持ち、 ページ及びページセットの一つに出会う都度、該階層レ
    ベルの管理用のスタック手段に一つのエントリーをプッ
    シュする手段、 該ページセットの一つの該選択されたページのためのエ
    ントリーを持つ、該スタック手段により参照されるペー
    ジ選択データ構造を、選択されたページを持つページセ
    ットの該少なくとも一つのそれぞれを処理する時に、生
    成する手段、を具備し、ただし、各生成されたページ選
    択データ構造は該ページセットの一つ及びそのページに
    対応し、かつ、次のステップ最低階層レベルに対応する
    ページ数カウンタをインクリメントするステップ、 該ページ数カウンタの値が最低階層レベルページ選択デ
    ータ構造のエントリーに対応するか判定するステップ、
    を行なって該ページを処理する第1の処理手段、 該ページ数カウンタの値が該最低階層レベルページ選択
    データ構造のエントリーに対応する時に、次のステップ 該階層構造内の最後に処理された階層レベルより高い、
    より高い階層レベルのページ数に対応する、より高いペ
    ージ数カウンタの値をインクリメントするステップ;該
    より高いページ数カウンタの値が、該処理中のページセ
    ットに対応する該ページ選択データ構造中のより高い一
    つのページ選択データ構造のエントリーに対応するか判
    定し、該より高いページ数カウンタの値が該ページ選択
    データ構造中のより高い一つのページ選択データ構造の
    エントリーに対応するならば、ページセットを含む次に
    高い階層レベルに対して、より高いページ数カウンタを
    インクリメントするステップ、及び該より高いページ数
    カウンタの値が該ページ選択データ構造中のより高い一
    つのページ選択データ構造のエントリーに対応するか判
    定するステップを、最高レベルのページセットに出会う
    か、または該より高いページ数カウンタの値が、該より
    高いページ選択データ構造のエントリーに対応しなくな
    るまで、繰り返すステップ、を行なうことにより、ペー
    ジセットを含む該最低階層レベルより上のページセット
    を含む各階層レベルを処理する第2の処理手段、を具備
    してなる文書処理言語におけるページ選択の処理装置。
  5. 【請求項5】 ページセット及びページを含む階層レベ
    ルを有する階層構造化文書処理言語を処理する装置であ
    って、ここにおいて、該ページセットは該ページセット
    内にネストされたゼロ個以上のページ及びゼロ個以上の
    ページセットからなり、各ページは対応したページセッ
    トに従属し、該ページセットの少なくとも一つは選択さ
    れたページを持ち、 該ページセットのためのエントリーを含む、該階層レベ
    ルを管理するために用いられるスタック手段、 選択されたページを含む各ページセットのための、それ
    ぞれが該スタック手段内の対応エントリーにより参照さ
    れるページ選択データ構造、 該ページ選択データ構造のそれぞれに対応した、対応ペ
    ージセットのページ数をカウントするためのカウンタ、
    を具備してなる文書処理言語のページ選択の処理装置。
JP27754394A 1993-11-29 1994-11-11 階層構造文書化処理方法 Expired - Fee Related JP3605155B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/158674 1993-11-28
US08/158,674 US5448691A (en) 1992-04-30 1993-11-29 Method and apparatus for processing page selection in a document processing language

Publications (2)

Publication Number Publication Date
JPH07175807A true JPH07175807A (ja) 1995-07-14
JP3605155B2 JP3605155B2 (ja) 2004-12-22

Family

ID=22569196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27754394A Expired - Fee Related JP3605155B2 (ja) 1993-11-29 1994-11-11 階層構造文書化処理方法

Country Status (1)

Country Link
JP (1) JP3605155B2 (ja)

Also Published As

Publication number Publication date
JP3605155B2 (ja) 2004-12-22

Similar Documents

Publication Publication Date Title
EP0538059B1 (en) System and method for document processing
US6407821B1 (en) Method and apparatus for printing documents including embedded print objects with an intelligent printing system
US5506985A (en) Method and apparatus for format conversion of a hierarchically structured page description language document
US6538760B1 (en) Method and apparatus for generating a production print stream from files optimized for viewing
US5422992A (en) Method and system to handle state variables in a document processing language
US5438650A (en) Method and system to recognize encoding type in document processing language
US7882432B2 (en) Information processing apparatus having font-information embedding function, information processing method therefor, and program and storage medium used therewith
US6650431B1 (en) Processing documents with multiple output devices
US6934909B2 (en) Identifying logical elements by modifying a source document using marker attribute values
US5319748A (en) Method and apparatus to manage picture and pageset for document processing
US20080309972A1 (en) Image processing device, image forming device, image processing method, image forming method, program, and computer readable recording medium on which the program is recorded
US20080225336A1 (en) Method and System to Allow Printing Compression of Documents
US5446837A (en) Method and system to process resources in a document processing language
US5483629A (en) Method and system to handle dictionaries in a document processing language
JPH09114611A (ja) 印刷処理装置および方法
US5448691A (en) Method and apparatus for processing page selection in a document processing language
US20090147308A1 (en) Information processing apparatus print control method, and storage medium
US6476938B1 (en) Print control system and method
US8988692B2 (en) Information processing apparatus, information processing method, and storage medium
US5765006A (en) Method and system to process external entities in a document processing language
US5436627A (en) Method and system for processing mixed binary length encodings containing definite and indefinite length formats
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
US8619284B2 (en) Method and apparatus for including converted drawing commands in a print data file
JP3605155B2 (ja) 階層構造文書化処理方法
US7973956B2 (en) High speed printing method and apparatus

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121008

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees