JPH0739190B2 - 記号発生装置 - Google Patents

記号発生装置

Info

Publication number
JPH0739190B2
JPH0739190B2 JP62228692A JP22869287A JPH0739190B2 JP H0739190 B2 JPH0739190 B2 JP H0739190B2 JP 62228692 A JP62228692 A JP 62228692A JP 22869287 A JP22869287 A JP 22869287A JP H0739190 B2 JPH0739190 B2 JP H0739190B2
Authority
JP
Japan
Prior art keywords
scan
symbol
escape
memory
font
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.)
Expired - Lifetime
Application number
JP62228692A
Other languages
English (en)
Other versions
JPS63134257A (ja
Inventor
ルビン・ドミングゲイス、ジュニア
デヴイト・アーネスト・フインレイ
ステフイン・デイル・ハンナ
ヘサス・カブレラ・ロペス
デヴイド・クレイグ・ステイヴンソン
ドナルド・ワード・ゼガフス、ジュニア
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS63134257A publication Critical patent/JPS63134257A/ja
Publication of JPH0739190B2 publication Critical patent/JPH0739190B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、印刷装置等のイメージ作成装置に関し、さら
に具体的には、一層複雑な全点アドレス可能型装置の多
くの属性を有する、そのような印刷装置用のベース・ラ
イン型文字発生機構に関するものである。
B.従来技術 従来技術の電子写真式印刷装置が米国特許第39991680
号、第4000486号および第4079458号に示されている。
これらの参考文献は、基本的な電子写真式印刷装置のみ
ならず、その印刷装置をどのように使用すればいわゆる
縦長モードまたは横長モードのいずれかで文書を効果的
に印刷できるかについても記載している。特に、第4079
458号の第2図および第3図を参照のこと。すなわち、
縦長モードでは、英数字または他の記号(以後、単に記
号と呼ぶ)の列が文書の短辺に平行であり、一方、横長
モードでは、英数字または記号の列が文書の長辺に平行
である。これらおよび他の従来技術の装置は、少なくと
も、明白に記載されている限りでは、縦長モードでは、
連続走査線が文書を左から右に横切って進む点で、柔軟
性に欠けるように思われる。横長モードでは、連続走査
線は文書の上から下に進むが、さらに柔軟性が望まれる
場合がある。
たとえば、縦長モード印刷に関しては、従来技術に記載
された走査線は文書の長辺に平行である。しかし、走査
線の方向(上から下またはその逆)、および走査線が進
む方向は必ずしも一定ではない。縦長モードでは、少な
くとも8つのケースを規定することができる。(4つの
ケースでは、走査線は書類の長辺の方向であり、残りの
4つのケースでは、走査線は書類の短辺の方向にあ
る)。走査線と書類の向きの間の関係がどうであれ、連
続走査線は左から右、または右から左のいずれにも進む
ことができる。さらに、左から右に進む場合、走査線自
体は文書の上から下、または下から上のいずれに進むこ
ともできる。同様に、右から左に進む場合も、走査線は
上から下、または下から上のいずれにも進むことができ
る。
横長モード印刷でも、同じ8つのケースが存在する。し
たがって、文書上の記号行に対する走査線の方向と、記
号行の方向に対する連続走査線の進行方向の組合せは8
通りある。これらは、便宜的に次のように項目分けする
ことができる。
あるケースでは、走査線は文書の記号行に垂直に進み、
文書の下から上に進む、この場合、連続走査線は左から
右に進む。
別のケースでは、走査線が文書の上から下に進む点だけ
が上記のケースと異なる。
さらに別のケースでは、走査線はやはり記号行に垂直に
進み、文書の下から上に進む。しかし、連続走査線は右
から左に進む。
さらに別のケースでは、走査線はやはり記号行に垂直に
進み、文書の上から下に進み、連続走査線は右から左に
進む。
別の方法では、走査線は記号行に平行である。そのよう
なケースでは、走査線は左から右に進み、連続走査線は
上から下に進む。
別の配列では、走査線は右から左に進み、連続走査線は
上から下に進む。
さらに別の配列では、走査線は左から右に進み、連続走
査線は下から上に進む。
最後に、最後の配列では走査線は右から左に進み、連続
走査線は下から上に進む。
C.発明が解決しようとする問題点 従来技術の電子写真式印刷装置は全点アドレス可能(AP
A)印刷装置とベース・ライン印刷装置に分けられる。A
PA印刷装置は、柔軟性があるため、記号や図形の寸法ま
たは配置にほとんど制約がないことがしばしばであり、
予想されるように、柔軟性を備えるためにこれらの機械
は複雑になる。ベース・ライン印刷装置はすべての記号
または図形を幾つかの概念上の平行ベース・ラインの1
本に関連づけなければならない。一般的には、ベース・
ライン印刷装置用のフォント(または記号定義)は一定
寸法の記号または図形を含み、通常は、少なくともフォ
ントの高さ(ベース・ラインに垂直な寸法)がすべての
記号で等しい。この制約のため、ベース・ライン印刷装
置のアーキテクチャは通常あまり複雑ではない。
D.問題点を解決するための手段 本発明は、上記8つのケースのうちの任意のものにおい
て印刷を行なうことが可能な電子写真式印刷装置のため
の文字発生装置に関するものである。このような文字発
生装置の重要な利点は、それが員位の印刷装置によっ
て、すなわち、用紙の給送等に関する印刷装置の制限に
関係なく、使用可能であることであり、その文字発生装
置は単に1つの対応する印刷コマンドを使用することに
より適応可能である。
代表的な電子写真式印刷装置は複数の文字または図形
(以後、まとめて記号と呼ぶ)を再生するようになって
いる。多くの場合、これらの記号は行に配列される(た
とえば、文書内における英数字の通常の行)。全体的ま
たは部分的に文字内に図形が入っている文書の場合でさ
え、異なる図形を、平行な行に沿って配列された比較的
簡単な構成要素のライブラリに分解することができる。
したがって、そのような電子写真式印刷装置に対する第
1の要件は異なる記号の「ライブラリ」である。この明
細書の以下の部分では、「ライブラリ」をフォントまた
はフォント・メモリと呼ぶことにする。したがって、フ
ォントは、異なる各記号ごとに少なくとも1つの項目を
有し、そのような項目は関連する記号のビット・マップ
(または、ビット・マップのその他の符号化されたバー
ジョン)から成るか、またはそれを含む。文書の各走査
で1つまたは複数の記号と交差する可能性があり、特定
の走査によってどの記号が交差されるかは、文書のどの
範囲で走査が行なわれるか、および文書のどこにそれぞ
れの記号があるかによって決まる。印刷ケースに応じ
て、特定の走査線と交差する各記号が異なる行のもので
あることも、また、特定の走査線と交差する各記号が単
一の行のものであることもあり得る。いずれの場合も、
各記号のビット・マップは複数の走査線上にある。した
がって、電子写真式印刷装置は、印刷されているケース
に応じて、各記号のビット・マップを探し出すことがで
きるように、その一部が走査線上に現われている各記号
を識別しなければならない。さらに、選択された走査線
に対応する記号の部分を識別しなければならず、次に、
各記号のビット・マップの関連部分を、他の記号ビット
・マップの部分および文書の境界に対して適切な相対的
位置関係で、走査線に沿って探し出さなければならな
い。一般的には、縦長および横長印刷モードでは、特定
の記号を垂直の方向から見る。すなわち、一般的に、縦
長モードの印刷では、走査線はHの長辺に平行であり、
一方、横長モードの印刷では、走査線はHの長辺に垂直
である。適用範囲を明確に限定するために、「通常」お
よび「回転」印刷ケースと呼ぶことにする。通常印刷ケ
ースでは、走査線は、たとえば、H文字の長辺に平行で
あり、回転印刷ケースでは、走査線はそれに対して垂直
である。ある種の電子写真式印刷装置では、異なる各記
号に対してそれぞれ1つのビット・マップがある。ビッ
ト・マップは、横長モードと縦長モード印刷のいずれが
実行されているかに応じて、ビット・マップに記憶され
たままのビット・シーケンス、または少なくとも90゜回
転されたビット・シーケンスを選択的に発生するように
アドレスされ、または処理される。以下に説明する本発
明の一実施例によれば、各記号はフォント中に2つの項
目を有する。一方の項目は通常印刷用であり、他方の項
目は回転印刷用である。フォント中のこれら2つの項目
の一方が他方に対して90゜回転されている点を除いて同
じであることは、当業者ならすぐに理解できるはずであ
る。印刷エレメントが非対称な(長方形対正方形または
円)印刷装置という特殊ケースでは、フォントは、単な
る回転以上の違いがあることもあり得る。
E.作用 明確さを期して、幾つかの用語を以下のように定義す
る。
走査線:2進データ信号のオン/オフ切換えにより、記号
ビット・マップがそれに沿って再生される個々の線。通
常印刷の場合の走査線は、ベース・ラインに垂直であ
り、回転印刷の場合は、走査線はベース・ラインに平行
である。
ベース・ライン:記号ビット・マップがそれぞれに対し
て基準づけされる回転印刷時の走査線のうちの選択され
た1本。通常印刷では、ベース・ラインは、記号位置が
それに対して基準づけされる走査線に垂直な概念上の線
である。
記号:複数個集まって文書を記述する、便宜的な単位表
示。英数字および句読点図形はそれ自体が記号であり、
その他のもっと大きな図形は複数のより小さな記号から
構成される。
追加の記号:1つの行内の第1の記号に続く第2、第3、
・・・の記号。
行または記号行:イメージまたは文書における記号、た
とえば、文字または句読点図形を一列に配列したもの。
任意の特定文書の印刷を実行するためベース・ライン文
字発生機構を実現するには、フォントによって与えられ
る異なる各記号のビット・マップに加えて、異なる3種
の情報が必要である。第1の種類の情報は、印刷される
文書に現われる記号の表示と、それが現われる(明示的
または暗示的)順序または配置である。すなわち、さら
に具体的にいうと、英数字文書の場合、この情報は、各
英数字を関連する任意のスペースおよび句読点図形等と
共に順に識別する。この情報はもちろん文書固有のもの
である。すなわち、印刷されるそれぞれの文書ごとに異
なる。必要な第2の組の情報も文書固有のものであり、
カラム位置エスケープ(CPE)テーブルである。(エス
ケープという用語はタイプライタの分野から借用したも
のであり、文字の幅を指す。)このテーブルは、文書の
異なる各記号行に対する項目を含んでいる。各項目は3
つの部分からなり、第1の部分は行上の第1の記号を識
別する。この識別は実際には、その行の第1の位置にあ
る特定の記号を識別するための第1の種類の情報を記憶
する、そのメモリの記憶位置のアドレスである。CPEテ
ーブル内の情報の第2の部分は、その文字に対するエス
ケープ値(文字を印刷するために使用されるある一貫し
た測定単位による距離)である。各記号行に対するCPE
内の情報の第3のすなわち最後の部分は、その特定の行
に割り振られた文書の高さである。
文字発生機構はまた、(文書固有ではなく)フォント固
有の情報を含んでいる。フォント固有情報は2つの形式
で与えられる。アドレス・エスケープ・テーブルは、各
記号ごとに2つの項目、すなわち、通常の記号に対する
項目と、回転された記号に対する項目を有する。こうし
た各項目は3つの成分を有する。第1の成分は、(以下
で考察する)第2のテーブルに対するポインタである。
他の2つの成分は、直交する方向、すなわち、走査線に
平行な方向と垂直な方向での記号の寸法を定義する。し
たがって、たとえば、通常モードで、走査方向に4単
位、それと垂直な方向に3単位のスペースを割り振られ
る文字は、回転モードでは、走査方向に3単位、それと
垂直な方向に4単位を割り振られることになる。フォン
ト固有情報の第2の形式は、ビット・マップ・テーブル
またはフォントである。ビット・マップ・テーブルは、
各記号ごとに2つの項目、すなわち、通常モードに対す
る項目と、回転モードに対する項目を含む。各ビット・
マップは、アドレス・エスケープ・テーブルに含まれる
ポインタに対応するアドレスにある。別の方法では、ア
ドレス・エスケープ・テーブルおよびビット・マップ・
テーブルが、それぞれ各記号ごとに単一項目を有し、幾
つかの記号が他の記号と回転関係にあるものと考えるこ
とができる。
本発明による文字発生機構は、7つの主要構成要素を含
む。これらの構成要素のうちの2つは、(上記の第1の
種類の情報を表わすデータを記憶する)ページ・バッフ
ァおよびカラム位置エスケープ(CPE)メモリである。
これらの記憶域には文書固有の情報がロードされる。さ
らに2つの主要構成要素は、アドレス・エスケープ・テ
ーブルとフォント・メモリである。
第5の主要構成要素は、走査アセンブリ論理(SAL)で
ある。この論理は、(文書固有情報を再生すべき特定の
ケースを表わす)印刷コマンドを供給されると、まずそ
の特定ケースに応じてCPEテーブルにアクセスする。CPE
テーブルからの情報(具体的には、ページ・バッファ・
アドレス)を使って、ページ・バッファがアクセスされ
る。ページ・バッファ内の情報は、アドレス・エスケー
プ・テーブル内の特定の位置を識別する。このテーブル
は、フォント・テーブル内の特定の位置を識別するため
アクセスされる。走査アセンブリ論理は、この情報に基
づいて、フォント・テーブルからビット・シーケンスを
抽出し始め、ビット・シーケンスが抽出されるに従って
(異なる記号のビット・マップ)、CPEテーブルが変更
され、ページ・バッファ内の異なる位置がアドレスされ
て、アドレス・エスケープ・テーブル内の異なる位置
と、フォント・テーブルからのビット・マップの対応す
る異なる部分からの読取りを指示する。フォント・テー
ブルから抽出されたデータは、第6の主要構成要素であ
る、整列機構に逐次供給され、そこで、ビット・シーケ
ンスに対して変更が加えられる。これらの変更とは、下
線表示を加え(必要な場合)、隣接する記号行上の隣接
する記号の間にブランク・スペースを加え、必要なら
ば、使用されるビット・マップを制限することなどであ
る。整列機構の出力は、ブランク部分および下線ビット
が挿入された、フォント・テーブルからのビット・シー
ケンスの一部分から成るビット・シーケンスである。こ
の複合シーケンスが走査バッファ(第7の構成要素)に
供給され、そこで、逐次方式で記憶されて、走査バッフ
ァは次に(印刷されている特定のケースに応じて)通常
のまたは逆の順序で読み取られて、印刷装置を駆動する
ためのビット・シーケンスを発生する。また走査バッフ
ァが読み取られる方式が、選択された倍率をもたらすよ
うに制御される。
CPEテーブル・ページ・バッファおよびアドレス・エス
ケープ・テーブルの協働動作によって、フォント基準ア
ドレス(FRA)が発生される。FRAは、それが特定の記号
に対する基準アドレスであることから、印刷すべき特定
の記号を識別する。SALは、印刷のケースに応じて、FRA
にあるまたはFRAからあるオフセット(FRA+ESC−1)
の所にあるフォントにアクセスする。一般的には、単一
走査の場合でさえ、単一アクセスでは十分なデータを発
生するのに不十分なので、SALはフォントに対する追加
のアドレスを発生する。追加の各アドレスはFAF+nESC
の形式である(ただし、FAFは元のアクセスであり、n
は2番目のアクセスのとき1で、その後の、各アクセス
ごとに1ずつ増分される)。抽出されたデータの量は、
文字の寸法および行の高さと連続的に比較される。抽出
されたデータの量が行高と等しいか、または、それを超
える場合は、超過データは無視され、次の記号がアクセ
スされる。データの量が文字の寸法を超える(が行高は
超えない)場合は、超過データは無視され、行高まで充
填ビットが発生される。その後で、次の記号がアクセス
される。
通常印刷では、個々の記号が個々の記号行上にあるの
で、CPEポインタは増分されて、次の記号に到達する。
回転印刷では、ページ・バッファ・ポインタは増分され
るが、CPEポインタは増分されない。
記号に対する走査が完了すると、エスケープ・フィール
ドを反映するCPE項目が記号の残りの未走査部分の反映
するように書き直される。連続走査の後、記号が完全に
走査されたことを示すまでエスケープ・フィールドが減
分されると、印刷のケースに応じて、ページ・バッファ
・ポインタが増分または減分される。通常印刷では、変
更されたページ・バッファ・ポインタがCPEテーブルに
再書込みされる。通常印刷では、CPEポインタは各走査
後にリセットされる。回転印刷では、記号行の行高が完
全に走査されたとき、CPEポインタが増分される。
一意的に識別できる異なるケースが8つあるが、走査ア
センブリ論理は4つのケースしか処理しない。走査アセ
ンブリ論理によって処理される4種のケースの各々につ
いて、走査バッファは2つの方向のいずれかで読み取る
ことができ(これらの方向の一方は、走査バッファが書
き込まれた方向と同じであり、もう一方の方向はそれと
逆の順序である)、したがって、異なる印刷ケースの数
に2を掛けて、8つの異なる印刷ケースの処理能力が得
られる。
走査アセンブリ論理によって処理される4つの異なるケ
ースのうち、異なるフォントの各々について2つのケー
スがある(さらに、一方が他方に対して90゜回転された
2つのフォントがある)。2つの異なるケース(2つの
異なるフォントの各々に対して)は、走査がフォントの
一端から開始できるか、または他端から開始できるかと
いう点で異なり、走査が「上」から始まるか、または
「下」から始まるかによって、走査は「下方」または
「上方」に進む。したがって、フォント・メモリにアド
レスするとき、特定の記号が最初にアクセスされるアド
レスは、印刷ケースによって決まり、フォントの後続部
分を検索するためそのアドレスが変更される方式も印刷
ケースによって決まる。
上記で示したように、フォントは2つの方向に別々に拡
大することができる(提示フォントと呼ぶ)。拡大はペ
ージ単位で処理される(すなわち、ページ上のすべての
文字は同じ大きさに拡大される)。走査方向に垂直な方
向でのフォントの拡大は、次のように処理される。通
常、特定の走査のためのデータを含む2進ビット・スト
リームが走査バッファに入力され、印刷装置を駆動する
ため(たとえば、レーザ・ビームを変調するため)走査
バッファの内容が読み取られる。走査方向に垂直の方向
にフォントを拡大するには、走査バッファが1回書き込
まれた後、再書込みされる前に2回以上読み取られる。
たとえば、走査方向に垂直なフォントの寸法の2倍にす
るには、走査バッファが書き込まれ、次に、別の走査の
ためのデータを再書込みされる前に2回読み取られる。
フォントを4倍に拡大するには、走査バッファが1回書
き込まれ、再び再書込みされる前に、続けて4回読み取
られる。
走査方向に平行な方向のフォントの拡大は異なるやり方
で処理される。フォントが走査の方向に拡大されないケ
ースでは、走査バッファ内の各ビットが、レコード内の
所定の数のペルの状態を決定する。この所定の数は1、
2などでよい。フォントが走査方向に平行な方向に2倍
に拡大するときは、走査バッファ内の各ビットが、1倍
のケースの倍のペル数を制御する。同様に、走査方向に
平行な方向にフォントを4倍拡大するには、走査バッフ
ァ内の各ビットを使って、所定数の4倍のペルが制御さ
れる。
F.実施例 第1A図は、本発明の装置および方法が使用される方式を
示す。さらに具体的には、本発明の文字発生機構100
は、直列2進ストリームを印刷装置200または他のイメ
ージ形成装置に供給することができる。印刷装置200を
使用する場合、印刷装置は文書300等の物理レコードを
出力する。印刷装置200は、2進信号ストリームで駆動
されて、印刷されたレコードを作成するものならどのよ
うな印刷装置でもよい。実際に構成された一実施例で
は、印刷装置200はレーザー・ビームを使ってイメージ
を電子写真ドラム上に書き、そのイメージが静電写真法
を用いてレコードに変換された。そのような印刷装置の
1つはションバーグ(Schomburg)の米国特許第4000486
号の第1図に示されている。上述のように、文字発生機
構100は文書固有情報およびフォント固有情報の両方を
必要とし、どちらもプロセッサ400から供給される。一
般的には、フォント固有情報は永久的または半永久的で
あり、一方、文書固有情報は端末500等の外部装置から
供給することができ、外部装置はプロセッサ400に直接
結合されるか、または通信リンク等で間接的にプロセッ
サ400に結合される。
第1B図は文字発生機構100のブロック・ダイヤグラムで
ある。さらに具体的には、文字発生機構100は印刷コマ
ンド・レジスタ105、走査アセンブリ論理110および整列
機構120を備えている。整列機構120の出力は、走査バッ
ファ130に結合される。走査バッファの出力は直列2進
ストリームであり、印刷装置200または他のイメージ形
成装置がそれを使用して、所望のイメージを作成する。
走査アセンブリ論理110は、メモリ内に格納された複数
のテーブルにアクセスする。テーブルには(フォント固
有情報を含む)フォント・メモリ140と、アドレス/エ
スケープ・メモリ150に含まれるアドレス/エスケープ
・テーブルがある。アドレス/エスケープ・テーブル
は、ページ・バッファと協働する。アドレス/エスケー
プ・テーブルは、フォント固有情報も含み、ページ・バ
ッファ160は文書固有情報を含む。さらに、走査アセン
ブリ論理110はカラム位置エスケープ・メモリ170に含ま
れるカラム位置エスケープ・テーブルと協働する。カラ
ム位置エスケープ・メモリ170およびページ・バッファ1
60は共に、「プロセッサから」と記された、両構成要素
に通じる実線で示されるように、プロセッサ400によっ
て書き込まれる。フォント・メモリ140および(フォン
ト固有情報を含む)アドレス・エスケープ・メモリ150
は、永久的(ROM等)または半永久的でよく、後者の場
合は、これらのメモリもプロセッサ400から書き込むこ
とができる。
ページ・バッファ160、アドレス/エスケープ・メモリ1
70およびフォント・メモリ140は、イメージの作成中変
更されないままであるのに対して、カラム位置エスケー
プ・メモリ170は、プロセッサ400から書き込まれた後、
イメージ提示中に変更または修正することができる。こ
の後者の機能は線171で示され、この線171を使って走査
アセンブリ論理110はカラム位置エスケープ・メモリ170
に書き込むことこできる。
第11図ないし第18図は8つの異なる印刷ケースを示すも
ので、1つの図が1つのケースを示す。各図は一般的な
文書を示し、そのケースが「通常」であるのか、または
「回転」であるのかを示す複数の記号行SRも示してあ
る。第11図ないし第18図をみると、走査方向(SD1また
はSD2)と記号行SRの間の関係が、「通常」モード(第1
1図ないし第14図)では、2つの方向は垂直であるが、
「回転」モード(第15図ないし第18図)では、2つの方
向は平行であることを示していることが分かる。
第1の印刷ケースを第11図に示す。この印刷ケースで
は、走査方向SD1は下から上と考えることができ、走査
進行方向(SP1)は左から右と考えることができる。第
2の印刷ケース(第12図)は、走査進行方向(SP2)が
右から左である点が第1の印刷ケースと異なる。第13図
に示す第3の印刷ケースは、走査方向が逆、すなわち、
SD2が上から下(第11図の逆)である点が第11図の印刷
ケースと異なる。最後に、第4の印刷ケースを第14図に
示す。第14図は、走査方向が逆である点以外は第12図と
同じであり、第12図では、走査方向が下から上であるの
に対して、第17図では、走査方向(SD2)は上から下に
なっている。
以下に説明するように、本発明の文字発生機構は、第11
図の印刷ケースから第12図の印刷ケースに進むとき、そ
のアドレス指定モードを変更し、第11図および第12図の
印刷ケース用のCPEテーブルは異なっている。やはり、
以下に説明するように、この文字発生機構は、印刷エレ
メントを作動するため(たとえばレーザー・ビームを変
調するため)に使用できる2進信号ストリームを発生す
る。2進信号ストリームを用いて印刷エレメントを変調
する直前に、信号ストリームを走査バッファに入力さ
れ、さらに、一定の順序で走査バッファに書き込まれ
る。第11図および第12図に示す印刷ケースでは、走査バ
ッファは、それが書き込まれた順序と同じ順序で読み取
ることができる。第13図および第14図(走査方向反転)
の印刷ケースを処理するには、走査バッファが読み取ら
れる方向が反転され、したがって、走査バッファは、書
き込まれた順序と逆の順序で読み取られる。したがっ
て、第13図の印刷ケースの場合、文字発生機構は(走査
バッファを読み取る点まで)、第11図の印刷ケースと同
じに作動し、第13図の印刷ケースが実行されるとき、走
査バッファの読取り方向が回転される。また、第12図お
よび第14図の印刷ケースにも同じ関係があてはまること
が認められる。たとえば、唯一の相違は、第14図の印刷
ケースでは、走査バッファが、書き込まれた順序と逆の
順序で読み取られることである。
第5の印刷ケースを第15図に示す。第15図ないし第18図
に示す印刷ケースは、走査方向(SD1またはSD2)が記号
行RSと平行なので、「回転」と考えられる。第15図と第
16図の印刷ケースの相違点は、第16図での走査進行方向
(SP2)が第15図の走査進行方向(SP1)と逆であること
である。第17図の印刷ケースと第15図の印刷ケースの唯
一の相違点は、走査方向が反対であることである。第15
図と第17図の印刷ケースの関係は第11図と第13図の印刷
ケースの関係と同じである。たとえば、第13図および第
17図の印刷ケースの場合では走査バッファは、それが書
き込まれる順序と逆の順序で読み取られるが、第11図お
よび第15図の印刷ケースでは、走査バッファは、それが
書き込まれた順序と同じ順序で読み取ることができる。
第12図と第14図の印刷ケースの場合と同様に、第16図と
第18図の印刷ケースの唯一の相違点は、走査バッファが
読み取られる方向が、第16図で読み取られる方向と比べ
て、第18図では反転されていることである。
本発明の文字発生機構の具体的な1つの利点は、どんな
要件の印刷装置にも使用できることである。すなわち、
印刷装置によっては、走査方向、進行方向および記号行
に対する関係が特定の1組またはわずか2、3組に限定
されているものもある。明らかなように、この文字発生
機構はこれらの要素のどの組合せにも使用することがで
きる。
第2図は第1B図の分解部品配列図であり、カラム位置エ
スケープ・メモリ170とページ・バッファ160と走査アセ
ンブリ論理(SAL)110を備えたアドレス・エスケープ・
メモリ150との間の協働を示す。
さらに具体的には、第2図に示すように、カラム位置エ
スケープ・テーブルを記憶するカラム位置エスケープ・
メモリ170は各記号行に対する3つのデータを含む。プ
ロセッサ400によって最初にロードされたとき、カラム
位置エスケープ・テーブルは、関連する記号行にある最
初の文字を表わすページ・バッファ160のアドレスを識
別するための、ページ・バッファ・ポインタまたはアド
レス(UCP15−0)を含んでいる。印刷の進行に従い、
異なる記号を連続的にアドレスするようにアドレスが変
更される。通常印刷では、変更されたアドレスはCPEテ
ーブルに再書込みされ、回転印刷では、変更されたアド
レスは、以下に説明する理由で再書込みされない。カラ
ム位置エスケープ・テーブルまたは、プロセッサ400に
よって書き込まれた、エスケープ値(UCE58−51)を供
給する。これはヌル値であるが、印刷の実施中にこのフ
ィールドは初期設定され、次に増分される。カラム位置
エスケープ・テーブル行高(ULH08−01)も供給する。
ページ・バッファ・アドレスまたはポインタは、ページ
・バッファ160内その位置を識別し、その内容は関連す
る行にある最初の記号を識別する。その記号は、もちろ
ん、最初走査進行方向によって決まる。したがって、CP
Eの内容は(同じ文書で)印刷ケースが異なると違って
くる。初期設定後のエスケープ値は、その特定の記号と
関連する現在のエスケープを識別する。たとえば、現在
のエスケープは、まだ走査されていない記号の部分を定
義する。通常印刷では、エスケープは記号行に平行に測
定され、回転印刷では、記号列に垂直に測定が行なわれ
る。行高は、その行と関連するベース・ラインと次のベ
ース・ラインの間の距離を識別するか、または、最初の
行である場合には、そのベース・ラインと関連する文書
またはイメージの部分を識別する。
ページ・バッファ160は、下線の存在および種類の表
示、ならびに記号を識別するためのフォント・ビットと
コード・ビットの組合せを含めて、各記号ごとに3つの
情報を含み、この組合せをアドレス・エスケープ・ポイ
ンタと呼ぶことができる。明らかなように、異なる下線
コードは、選択的に配置された1本または2本の下線を
生成する。
フォントおよびコード情報は組み合わされて、アドレス
・エスケープ・メモリ150にアドレスするためのポイン
タとして使用される。アドレス・エスケープ・メモリ15
0は各記号に対して3つの情報を記憶する。アドレス・
エスケープ・メモリ150は、フォント基準アドレス(FR
A)と、走査方向に垂直(PERP)および平行(PAR)な文
字寸法を示す情報を記憶する。
第2図は、走査アセンブリ論理(SAL)を、SAL111、SAL
112、SAL113、SAL114およびSAL115を含む5つの構成要
素に分解して示す。
第2図に示すように、ページ・バッファ・ポインタ(UC
P15−0)が読み取られると、そのポインタはSAL111に
入力され、その出力が、ポインタをカラム位置エスケー
プ・テーブルに再書込みさせる。通常印刷ケースの場合
に任意の特定行の書込み中、選択された時間に、カラム
位置エスケープ・テーブルに再書込みされたページ・バ
ッファ・ポインタは、メモリから読み取られたものと同
じではない。上述のように、プロセッサ400は、当初そ
の行に最初の記号(この記号は「第1に」印刷ケースに
よって決まる)のページ・バッファ・ポインタを有する
カラム位置エスケープ・テーブルの書込みを行なうこと
ができる。しかし、その行が書き込まれるにつれて、カ
ラム位置エスケープ・テーブルは変更されて、カラム位
置エスケープ・テーブルから読み取られたペーシ・バッ
ファが書込み中の記号を識別するようになる。同様に、
最初にプロセッサ400により書き込まれたときのカラム
位置エスケープ・テーブルは、最初の信号に対するヌル
・エスケープ値を含んでいた。この値は初期設定され、
その後増分的に変更される。記号エスケープは、SAL113
に対する1つの入力であり、もう一方の入力は、書込み
中のフォント記号の具体的な寸法から導かれる。SAL113
は、それぞれの走査時にCPE170によりUCE出力を増分的
に変更することにより、現在のエスケープを再書込みす
る。このときは、記号を書き込む過程で、カラム位置エ
スケープ・テーブルが現在のエスケープ値を出力させ
る。ページ・バッファ・ポインタが変更されると、カラ
ム位置エスケープ・テーブルの現在のエスケープ値も、
次の記号に対するエスケープを示すように変更できる。
回転印刷ケースでは、エスケープは変更されるが、ペー
ジ・バッファ・ポインタは再書込みされない。
ページ・バッファ160の出力は、アドレス・エスケープ
・メモリ150に対するポインタとして使用される。アド
レス・エスケープ・メモリ150の1つの出力、FRAはSAL1
14の入力である。SAL114はまた、現在の行高(ULH08−0
1)に対応する入力ならびに現在のエスケープ値(UCE58
−51)を受け取る。これをその記号の寸法値と一緒に使
って、フォント・メモリ140がアドレスされる。この方
法では、記号に対する最初のアクセスが決定されるだけ
でなく、記号が書き込まれるに従って、後続アドレスも
SAL114によってアドレスされる。
フォント・メモリ140の出力は、SAL115の出力と共に、
整列機構120に印加される。SAL115への一方の入力は、
ページ・バッファ160から読み取られた下線の存在およ
び種類である。SAL115へのもう一方の入力は、行高に対
する記号の相対的寸法を示す。このことは、整列機構12
0に、記号によって占められていない行高の部分を「充
填」させるか、または行高を超える記号があればそれを
切断させる。
装置またはその動作方法についてさらに説明する前に、
フォント・メモリ140の構成について説明する。フォン
ト・メモリ140は、印刷可能なすべての文字または記号
のドット・パターンを含むことができる。ここで説明す
る実施例では、このフォント情報は未加工のすなわち符
号化されていない形である。この情報は、本発明の精神
および範囲内で、符号化された形で記憶できることも明
らかなはずである。このメモリは事実上2進であり、し
たがって、記憶されている2つの2進信号の一方が黒い
点を印刷させ、他方は印刷させない。実際に構成された
一実施例では、メモリ140は32ビットのワードにアドレ
スし、読み取ることができる。32ビット長は記号の1つ
の構成要素を表わすアドレスの一方のディメンションを
特徴づける。スライスのもう一方のディメンションは、
記号を完全に読み取るために必要な走査数である。特定
の文字または記号に対応するビット・パターンを読み取
る過程で、1回の走査は数個のスライスから成り、整列
機構120(フォント・メモリ140から供給される)は、フ
ォント・メモリから読み取られたデータの幾つか、また
はすべてを使用することができる。やはり後で説明する
が、フォント・メモリ140を読み取った結果として印刷
される記号は実際には、印刷されたとき、種々の寸法を
とる。すなわち、印刷される記号を、記憶された記号と
比べて拡大することができる。実際に構成された本発明
の一実施例では、拡大は2倍または4倍にすることがで
き、どちらの拡大選択(2つの方向で別々)もページ全
体に対して有効であるが、拡大はいずれの方向でも別々
に適用することができる。
第3A図は、単一文字「P」に対してフォント・メモリ14
0に記憶することができるデータの概略図である。第3A
図の斜線で陰影を付けた領域は、点が印刷される位置を
示す。第3A図からわかるように、この文字は、走査方向
に垂直に、かつ走査進行方向に平行に向いた5つのスラ
イスから成る。文字AAは、フォント基準アドレス(FR
A)、すなわち、基準スライスの基準ワードのアドレス
位置を識別し、(基準スライスおよびその他のスライス
の)他の各ワードはFRAに基準づけられる。先に説明し
たように、フォント・メモリ140の実際には、各項目ご
とに複数の32ビット・ワードを含んでおり、第3B図では
説明のためこうしたワードを複数識別した。第3B図で識
別されたそれぞれのワードの相対位置は、第3A図の記号
に対するそれらの相対位置に対応する。各ワードは英数
字SXWYで識別され、文字Xは各スライスを表わす値、た
とえば、(スライス1ないし5に対応する)AないしE
をとることができ、文字Yは、スライス当たりnワード
を表わす値1ないしnをとることができる。メモリ140
自体は、第3C図に示すような編成である。第3C図は、2
つのカラムを有するテーブルを示し、第1のカラムはア
ドレス(ADDR)を識別し、第2のカラムはメモリのその
記憶位置の内容を識別する。メモリ140に記憶されたデ
ータは、第2のカラムに対応する。すなわち、第3C図に
示すように、記憶位置FRAnには32ビット・ワードSAW1が
ある。次の記憶位置(FRA+1)は、32ビット・ワードS
AW2を含む。走査時の文字の幅はそのエスケープESCに関
連している。すなわち、メモリ・アドレスFRA+ESCに、
スライス2の最初のワードSBW1があり、FRA+4*ESCに
スライス5の最初のワードSEW1がある。32ビット・ワー
ドの使用は、もちろん一例である。文字または記号を定
義するため使用されるスライスの数は、文字または記号
の寸法およびスライス当たりのビット数によって決ま
る。
以上のことから明らかなように、走査が左から右に進む
ケースでは、フォント・メモリ140をFRAから読み取り始
め、最初の走査で、その「カラム」の各ワード(SAW1、
SBW1、…SEW1)を読み取る。この記号の次の走査で、平
行カラムSAW2、SBW2等内の隣接するワードを読み取るこ
とができる。後で説明するように、エスケープの現在値
をFRAおよび特定の印刷ケースと共に使用して、任意の
走査で読み取るべき現在の「カラム」を探し出すことが
できる。
走査が右から左に進むケースでは、FRAでフォントをア
ドレスするのではなく、FRA+ESC−1でフォントをアド
レスしてSAWnを読み取る。その後で、最初の走査で引き
続いて、そのカラム内の他の各ワード、すなわち、SBW
n、SCWn等を読み取る。次の走査では、平行カラム、た
とえば、SAWn−1、SBWn−1等内の隣接するワードを読
み取ることができる。これらは、第3A図の「通常」フォ
ントにより処理される2つのケースにすぎない。すなわ
ち、フォントのアドレス指定は1つの走査方向(SAW1−
SBW1−SCW1−等)をもたらす。
「回転」文字を処理するには、第3D図に示すような異な
るフォントを使用する。この場合、走査アセンブリ論理
にも2つの異なるケースがある。左から右に、もっと記
述的にいうと、上から下に、FRAが存在するカラム(A
A)からフォントの読取りを開始することができる。そ
の場合、SAW1、SBW1等を読み取る。次の走査で、SAW2、
SBW2、SCW2等を読み取る。もう一方のケースでは、フォ
ントの反対の端(FRA+ESC−1)から開始して、SAWn、
SBWn、SCWn等を読み取ることができる。次の走査で、SA
Wn−1、SBWn−1等を読み取る。したがって、「通常」
フォントと同様に、合計2つのケースがある。
文書を作成する際に、走査線が記号を横切る順に、共通
走査線上にある記号に対するフォントにアクセスしなけ
ればならない。走査が進むに従って、順々に適切な信号
にアクセスしなければならない。第5A図は、典型的なベ
ース・ライン上にある複数の記号または文字ボックスC1
ないしC7を示したものである。第5A図に示すように、各
文字ボックスは固有のエスケープe1および固有の高さh1
を有することができるが、このことはもちろん不可欠で
はない。第5A図には、図示した典型的なベース・ライン
に対する行高LHも示す。文字ボックスC1の場合、第5A図
に、その文字を構成する4つのスライスが示されてお
り、さらに、文字ボックスC1の区域と行高LHの間に(長
さf1)のブランク、すなわち白いスペースがあることも
示されている。後で説明するように、文字ボックスC1を
走査する過程で、文字ボックスC1の走査が完了した後
で、文字発生機構は、行高LHまでの距離f1だけブランク
・スペースを充填する。したがって、異なる高さの文字
ボックスに必要な充填スペースは必ず異なることも明ら
かである。文字ボックスC4の場合、第5A図では、文字高
h4が行高LHよりも大きいことが示されている。後で説明
するように、文字発生機構は、行高LHに対応する文字ボ
ックスC4の部分を走査し、次に、文字ボックスC4の超過
部分を切り取る。すなわち、第5A図の斜線領域に対応す
るフォント・メモリを含むビット・パターンは整列機構
120に渡されない。
第5B図は、回転ページ、すなわち、走査方向がベース・
ラインに平行である場合の複数の典型的ベース・ライン
を示している点以外は、第5A図と同じである。通常印刷
ではなずページ・バッファ・ポインタがCPEに再書込み
され、「回転」印刷ではなぜそれが不必要であるかが、
第5B図から明らかなはずである。通常印刷(第5A図)で
は、1本の走査線が複数の記号行を横切る。走査線が記
号行のどこにあるかを識別するため、ページ・バッファ
・ポインタが更新されて、各記号行内で走査を追跡す
る。通常印刷では、指定された行に戻る前に他の記号行
で操作し、CPEテーブルからデータが位置追跡のために
抽出されるので、更新されたポインタをCPEテーブルに
再書込みしなければならない。回転印刷では、走査線は
1つの記号行内にある。その行内で、ページ・バッファ
・ポインタを増分することはできるが、PBポインタをCP
Eテーブルに再書込みする必要はない。ただし、次の列
に進む前に1つの記号行の印刷を完了するので、エスケ
ープ・フィールドを再書込みする。
第5C図および表1は、カラム位置エスケープ・テーブル
と、文書の作成過程でそのテーブルから供給されるそれ
ぞれの出力との相互作用に関するものである。第5C図で
は、2本の典型的ベース・ラインB1およびB2が示されて
おり、文字C51ないしC59がベース・ラインB1上に示さ
れ、文字C61ないしC69がベース・ラインB2上にある。第
5C図は、各文字に対するエスケープが可変であり、一方
のベース・ライン上である文字のエスケープがもう一方
のベース・ライン上である文字のエスケープと適合また
は一致する必要はないことを具体的に示している。第5C
図にはまた、ベース・ラインB1およびB2と交差する8つ
の連続する走査線S1ないしS8も示されている。走査線S1
ないしS8は、実際に使用されるずっと多くの走査線の代
表である。たとえば、文字C51は走査線S1ないしS3と交
差するが、文字C61は走査線S1およびS2としか交差しな
いことに注目されたい。
走査線はベース・ラインに垂直なので、第5C図は、「回
転」操作ではなく「通常」操作と呼ばれているものを示
している。各走査線は文書内のすべてのベース・ライン
と交差するが、表1は、走査中の異なる時点でのカラム
位置エスケープ・テーブルの出力を表わすため設けられ
た。(表1の各カラムによって識別される)異なる各時
点ごとに、PBA(ページ・バッファ・アドレス)でのカ
ラム位置エスケープ・テーブルの出力、UCE(文字エス
ケープ)およびULH(行高)がそれぞれ別々の行に示さ
れている。
ULH出力は、走査線がどのベース・ライン内にあるかに
応じて、B2LH(B2の高さ)かB1LH(B1の高さ)のいずれ
かになることに留意されたい。走査線がベース・ライン
B2に領域内にある間は、PBA出力はベース・ラインB2上
にある当該の文字を識別し、同様に、走査がベース・ラ
インB1の領域内にあるときは、PBA出力は、ベース・ラ
インB1上にある関連する文字のペーズ・バッファ・アド
レスを識別する。
したがって、走査線S1がベース・ラインB2の領域内に進
むとき、PBA出力は文字C61に対応し、その走査線がベー
ス・ラインB2の領域を出て、ベース・ラインB1の領域に
入るとき、PBA出力は文字C51のそれに切り換わる。走査
S2についても同じ動作があてはまる。この効果は、CPE
テーブル内の異なる項目をアドレスすることにより実現
される。しかし、走査S3に達したとき、走査線がベース
・ラインB2の領域内にあるときは、PBA出力は(以前の
出力であったC61でなく)C62となることに留意された
い。この理由については、後で説明する。同様に、走査
S4では、B1の領域に対するPBA出力はこのとき、最初のC
51ではなくてC52である。
次にUCE行を参照すると、文字C61に対する最初の走査で
は、エスケープ値はC61Eとして識別され、これは文字C6
1に対するエスケープに対応することに留意されたい。C
PEテーブルにはエスケープに対する空白フィールドが書
き込まれる。エスケープ・フィールドは、記号の最初の
走査中に初期設定される。しかし、走査S2では、UCEの
値はC61Emである。添字mは、この値がその元の値C61E
から変更されたものであることを示す。S2がベース・ラ
インB1の領域にあるときも同じことがあてはまり、UCE
出力はC51Emである。文字C51に対するエスケープ値は最
初はC51Eであった。
さらに具体的には、やはり第2図を参照すると、CPEテ
ーブルは各ベース・ラインに対するフィールドを記憶す
る。これらのフィールドは第2図で識別されている。た
とえば、ベース・ラインB1については、CPE項目はそれ
ぞれC51(文字C51のページ・バッファ・アドレス)、C5
1E(この文字に対するエスケープ値)およびB1LH(この
ベース・ラインに対する行高)である。表1のUCE行の
カラムS2/B1を参照すると、その文字に対するUCE項目が
変更されたことが明らかである。この変更された項目
は、以下に説明するように、SAL113によって計算され、
CPEカメラ170に再書込みされる。通常は、ページ・バッ
ファ・アドレスは未変更の形で再書込みされる。しか
し、その文字のエスケープを完了するために必要な何回
かの走査が実行されたとき、エスケープ値が変更されて
その事実を示すことになる。(後で説明する一実施例で
は、変更されたエスケープ値が1にまで減分されたとき
にその指示が出る)。その時点で、ページ・バッファ・
アドレスが変更され、このようにして、PBAが(ベース
・ラインB2に対する)その最初の値C61からC62(カラム
S3/B2参照)に変わる。
走査が左から右に進む場合(すなわち、走査S1が時間的
に走査S2に先行する場合)、ある文字エスケープを完了
したとき、PBAを増分しなければならない。しかし、走
査が右から左に進むときは、文字のエスケープを完了し
たとき、PBAを1だけ減分しなければならない。
第5D図および表2は、「回転」状態での動作を示す点を
除けば、第5C図および表1と同様である。第5D図にはベ
ース・ラインB3およびB4が示されているが、ベース・ラ
インB3は文字C71ないしC79と関連し、ベース・ラインB4
は文字C81ないしC89と関連している。「回転」ケースで
は、各走査はこのとき(第5C図に示す場合とは違って)
ベース・ラインと平行である。
第5D図は、走査S10ないしS13がベース・ラインB3の領域
を占有し、他の走査(S14ないしS17)がベース・ライン
B4の領域にあることを示す。
文字発生機構が適正に動作するためには、走査S12が、
たとえば、文字C79からC78に進むとき、ページ・バッフ
ァ・アドレスは変更されなければならない。このこと
は、量CH(A/Eメモリ150からの)走査の進行の程度と比
較することにより監視される。
表3および表4に、それぞれCPEメモリ170とページ・バ
ッファ(PB)メモリ160の内容を示す。前に示したよう
に、カラム位置エスケープ・メモリは3つのフィールド
を有し、最初のフィールドには、ページ・バッファ・ア
ドレスまたはポインタ(PBA)がある。CPEは、特定の走
査進行方向に従ってある行の最初の文字に対応するペー
ジ・バッファ内の位置をPBAが識別するようにフォーマ
ット化されている。すなわち、左から右への進行では、
その行の最も左側の文字であり、右から左への進行で
は、最も右側の文字である、CPEの第2のフィールドはU
CE(エスケープ)項目である。このフィールドは0に初
期設定され、後で説明するように、特定の文字が初めて
走査されるとき、文字エスケープがアドレス/エスケー
プ・メモリから読み取られ、CPEに書き込まれる。文字
が走査されるたびに、UCE項目が減分される。(UCEの値
が1まで減分されて)文字が完全に走査されると、CPE
メモリ内のページ・バッファ・アドレスは、増分/減分
されて、その行の次の文字を走査する準備ができる。CP
Eの最後のフィールド・ULHは行高(記号行の高さ)を識
別し、したがって、行高は個々の行(記号行)ごとに異
なるようにすることができる。
表4は一般的なページ・バッファの内容(ならびにアド
レス指定)を示す。ページ・バッファの内容は3つの異
なる構成要素、すなわち、US(下線)、フォントおよび
コードとして識別される。実際には、フォントおよびコ
ードは、アドレス・エスケープ・メモリにアドレスする
よう組み合わされ、したがって、この2つのセクション
は複合アドレスまたはポインタ項目として扱われる。ペ
ージ・バッファ・メモリのアドレスをCPEメモリの内容
と比較することにより、第1の行をページ・バッファ・
アドレスPBA1ないし22から延びるものとして識別し、第
2の行をPBA23ないし45から延びるものとして、また第
3の線をPBA46なしい69から延びるものとして識別する
ことができ、以下同様である。
アドレス指定の要約 第5A図を参照しながら、フォント・アドレス指定がどう
いうやり方で処理されるかについて以下に説明する。最
初に、走査が左から右に進む通常のケースをとり上げ
る。最初の記号行を印刷するために、CPUメモリ170はこ
の記号行の3つのデータ・フィールド、すなわち、PB
A、エスケープおよびLHを出力する。PBAフィールドは、
この記号行の最初の文字C1を表わす、ページ・バッファ
160内のアドレスを識別する。ページ・バッファは実際
上の2のフィールドを有し、第1のフィールドUSは下線
の種類および位置を識別し、第2のフィールドはアドレ
ス・エスケープ・メモリ150内の位置を識別または指示
する。アドレス・エスケープ・メモリ150は、3つのフ
ィールドを含み、1つはフォント基準アドレス(FRA)
であり、他の2つのフィールドはこの記号の寸法を識別
する。特定の印刷ケース(通常の左から右への走査進行
方向)であるため、フォントはFRAでアドレスされ、SAW
1(第3B図参照)を表わす32ビット・ワードが読み取ら
れて、整列機構を介して走査バッファに転送される。走
査アセンブリ論理はアドレス・エスケープ・メモリの他
の2つのフィールドにアクセスできるので、この走査の
ために余分にフォント・データが必要だと判断する。し
たがって、ワードSBW1がアドレスされるように、印刷ケ
ースに応じてフォント・アドレス指定が、(この記号に
対するエスケープに対応する量だけ)変更される。フォ
ントから読み取られたデータは整列機構を介して走査バ
ッファに送られる。この動作が継続されて、連続的にSC
W1、SDW1およびSEW1がアドレスされる。5つのワードが
すべて読み取られた後で、走査アセンブリ論理は、有効
な文字高が完了されたと判断する。しかし、走査アセン
ブリ論理は、フォントから既に読み取られたデータの量
を行高と比較することにより、次のベース・ラインに達
するまでに充填しなければならない量f1(第5A図参照)
を決定することができる。この情報が整列機構120に供
給され、そこで適当な充填ビットが追加される。(アド
レス・エスケープ・メモリ150から読み取られた)エス
ケープ・フィールドが次に走査アセンブリ論理から結合
され、カラム位置エスケープ・メモリ170に書き込まれ
る。したがって、カラム位置エスケープ・メモリ内のこ
の項目が次にアクセスされるとき、ページ・バッファ・
アドレスおよび行高フィールドは、CPEメモリ170が最初
にアクセスされたときこのフィールドに含まれていたフ
ィールドと同じになる。しかし、エスケープ・フィール
ドは、最初にアクセスされたときは空白フィールドであ
ったが、このとき記号のエスケープ値が記憶される。こ
の時点で、走査方向における次の記号行に対するデータ
の抽出を開始することができる。このことは、次の項目
にアクセスするようにCPEメモリ170に対するポインタを
増分することにより実行される。次の項目および後続の
項目が、既に説明した方法とまったく同じ方法で処理さ
れる。走査が終了するまでこの走査が継続される。この
時点で、CPEメモリ170に対するポインタがリセットされ
て、元の項目、すなわち、最初の記号行に対する項目を
指すようになる。
その後で、次の走査データが、前述の方法と同じ方法で
組み立てられるが、相違点が2つある。第1に、次の走
査では、フォントの最初の「カラム」、すなわち、SAW1
ないしSEW1を読み取ることを臨まず、SAW2ないしSEW2を
読み取りたい。以下に説明するように(式1ないし4参
照)、SAW2を探し出すため、FRAが現在のエスケープだ
け変更される。そこから、既に述べたのとまったく同じ
やり方でSBW2、SCW2などにアクセスする。アドレス指定
は、CPEからのエスケープ・フィールドに応じて、所望
のフォント・アドレスを正しく計算する。エスケープ・
フィールドが連続走査時に変更されるので、当該のフォ
ント・カラムがアクセスされる。もう1つの相違点は、
文字の2回目の走査の終りに、エスケープ値が、CPEメ
モリ170に書き込まれる前に、減分されることである。
その結果、文字の最後の走査に達したとき、CPEメモリ1
70から読み取られたエスケープ値は、走査の直前に1に
なる。このことは、文字に対する走査のその部分が発生
した後で、CPE項目が再書込みされるとき、書き込まれ
るエスケープ値は空白であり、ページ・バッファ・アド
レスが変更されることを示す。通常印刷ケースでは、変
更は値1であり、左から右への走査では、この変更によ
り古い値が増分される。このため、CPE項目(特にPBAフ
ィールド)がこのときその記号行の次の文字を指すこと
ができる。
走査が左から右でなく、右から左に進む印刷ケースの場
合、アドレス指定に相違点が2つある。第1に、最初の
フォントにアクセスするとき、アドレス・エスケープ・
テーブルはFRAをもたらすが、フォントに対する最初の
アクセスはFRAにおいてではなく、FRA+ESC−1に対応
する値に対して行なわれる。第3B図には、右から左への
走査進行の場合にフォントから読み取られる最初のワー
ドがSAWnであることが示されている。同じ走査が読み取
られる次のワードはSBWnであり、次はSCWn、以下同様で
ある。次の走査で、SAWn−1にアクセスする。すなわ
ち、走査間でフォントのアドレス指定を増分するのでは
なく、走査間でフォント・アドレス指定を減分する。CP
Eのエスケープ・フィールドの変更値が、それぞれの走
査でのフォント・アドレス指定に対する最初のアクセス
からのずれを決定する。さらに、ある文字のエスケープ
を完了したとき、CPEメモリ170内のページ・バッファ・
アドレス・フィールドが増分されるのではなく、そのフ
ィールドは減分される。
回転印刷ケースでは、相違点が幾つかある。第5B図にそ
れらの相違点が必要なことを示す。第1に、通常印刷ケ
ースでは、フォントは、記号行から記号行に(走査の方
向に)進むことにより、2つの連続した記号に対してア
ドレスされ、したがって、各記号に必然的に、直前の記
号とは異なる記号行に置かれる。このため、通常印刷ケ
ースでは、各記号がアクセスされた後で、CPEメモリ170
に対するポインタを増分することが必要となる。回転ケ
ースでは、そういうことはまったくない。回転印刷ケー
スでは(第5B図参照)、走査線は特定の記号行の文字と
順次交差する。特定の走査線が、たとえば、文字11、1
2、13、14および15と順に交差することができる。した
がって、特定の記号からのデータをアクセスした後で、
CPEポインタを増分せず、ページ・バッファ・ポインタ
を増分して、その記号行の次の文字にアクセスする。も
う1つの相違点は次の通りである。通常印刷ケースで
は、その走査に対する特定の記号からのデータへのアク
セスを完了した後で、記号の高さと行高の左を決定する
ことにより、どのくらい充填すべきかを決定する。その
決定は、その記号に対してフォントがアクセスされた後
で行なわれる。回転印刷ケースでは、走査進行方向に応
じて、フォント・データの前に充填データを置かなけれ
ばならないことがある。したがって、回転印刷ケースで
は、CPEテーブルのポインタに対応する位置にアクセス
する。これによってページ・バッファ・アドレスが識別
され、そのアドレスから、アドレス・エスケープ・テー
ブル、および最終的には、フォントにアドレスすること
ができる。しかし、データを出力する前に、走査が文字
ボックスの「内側」にあるのか、それとも「外側」にあ
るのかを調べなければならない。これには、行高と文字
高の差を出し、印刷ケースならびに現在のエスケープを
調べることが必要である。
走査線が文字ボックス内にあると文字発生機構が判断す
ると、処理は通常ケースの場合と非常に類似したものに
なる。さらに具体的には、CPEメモリ内のPBAフィールド
を使って、PBメモリからアドレス・エスケープ・メモリ
に対するポインタが抽出される。これによって、フォン
ト基準アドレス(FRA)がもたらされる。印刷ケース
(第3B図参照)に応じて、フォントはFRAまたはアドレ
スFRA+ESC−1のいずれかでアクセスされる。いずれの
場合にも、特定されたフォント・アドレスある32ビット
・ワードが抽出されて、整列機構に送られる。次に、デ
ータ・「カラム」を読み取るためフォントが連続的にア
クセスされる。すべての有効データが出力されると、最
初にCPEメモリから抽出されたPBAフィールドは、次の文
字をアドレスするため単に増分される。新しい文字がア
ドレスされるたびに、もう一度戻って、走査線が文字ボ
ックスの内側にあるか、それとも外側にあるかを知るた
め検査を行ない、既に述べたように続行する。
通常印刷では、下線ビットを表わすデータが整列機構で
付加される。このことについて以下に説明する。しか
し、回転印刷ケースでは、下線は走査方向と平行であ
る。回転印刷ケースでは下線を実現するには、SAL論理
は、所望の各下線表示ごとに、下線を表わすのに必要な
期間の間、整列機構に対するその出力を強制的に黒にす
る。実際に構成された実施例では、数種類の異なった下
線があった。USコードで具体的な種類を識別した。すな
わち、所望の下線を表わすためSALが整列機構を強制的
に黒にする間に、選択された1つまたは1組の走査線が
識別された。
回転印刷ケースでは、走査が完了したとき、その走査線
が含まれる記号行も完了したかどうか判断しなければな
らない。完成していない場合には、(記号行の最初の文
字を指す)最初のCPE項目に戻り、既に述べた手順を反
復しなければならない。記号行も完成していた場合は、
CPEポインタを増分し、次のCPE項目を抽出する。したが
って、通常印刷では走査ごとに1回CPEテーブル全体を
構成し、回転印刷では、ページごとに1回CPEテーブル
を横断する。
通常印刷ケースでも回転印刷ケースでも、前述の処理に
より、通常印刷の2つのケース、回転印刷の2つのケー
ス、合計4つのケースで印刷を行なうことが可能であ
る。この印刷能力は、走査バッファが読み取られる方向
を制御することにより、2倍に増大する。既に説明した
ように、走査バッファに、整列機構からのデータが所定
の順序で書き込まれる。しかし、前述の4つの印刷ケー
スのいずれの場合でも、走査バッファは、書き込まれた
のと同じ順序、またはそれと逆の順序のいずれでも読み
取ることができる。
第1B図および第2図に示すように、整列機構120はフォ
ト・メモリ140からのデータ・ストリームならびに走査
アセンブリ論理110からの情報を受け取る。フォント・
メモリーは一度に32ビットを読み取るよう制約されてい
るが、整列機構は、フォント・メモリから受け取った32
ビットすべてを受け入れる必要も、または走査バッファ
に送る必要もない。たとえば、アドレス・エスケープ・
メモリは走査方向における文字の寸法を識別する。フォ
ントからの各取り出しごとに、一定数のデータ・ビット
が供給される。SALは残った文字高と取出しの差を出し
て、有効な高さを決定する。この差が取出しよりも小さ
い場合、超過分は無視される。CPEメモリは記号行の高
さを識別する。整列機構は、この情報を用いて、データ
・ストリーム(走査時のフォント取り出しの和)がこの
行高を超えた場合に、フォント・メモリから受け取った
32ビット・ワードのビットの一部を抑制することができ
る。行高が文字高を超える限り、走査アセンブリ論理は
白で充填させよと信号を供給する。走査アセンブリ論理
はまた、下線の表わす情報を整列機構に供給する。(走
査方向が下線表示に対して垂直である)通常印刷では、
この情報によって32ビット・ワード内の2、3のビット
が黒に制御される。実際に制御されるビットの数とそれ
らのビットの位置は、選択された下線の種類によって決
まる。回転印刷ケースでは、走査アセンブリ論理は、
(回転印刷ケースでは、下線は走査方向に平行であるの
で)黒いビットのストリームを強制せよとの制御信号を
整列機構に供給する。
実際に構成された一実施例では、フォント・メモリは32
ビット・ワードをもたらし、走査バッファは16ビット・
ワードを受け入れた。整列機構はこの変換を処理し、フ
ォント・メモリから受け取った32個のデータ・ビットの
どれが有効であるかを判定し、それを再整列させて走査
バッファに16ビット・ワードを供給した。
この時点で説明する価値のある文字発生機構のもう1つ
の機能は、提示フォントまたは拡大機能の使用である。
拡大を行なわない場合、最終出力、すなわち、特定の記
号を表わす印刷レコードの寸法と、その記号を表わすた
めフォント・メモリで使用されるビットの数との比は一
定である。拡大機能の目的はこの比を増大させることで
ある。実際に構成された一実施例では、その比は、ペー
ジ単位で、直交する両方向で別々に選択的に2倍または
4倍に拡大することができる。すなわち、特定のページ
上のすべての記号は同じ倍率になる。どちらの方向で
も、拡大機能は走査バッファで実現される。走査バッフ
ァは、完全な走査を記憶するよう構成され、実際に、走
査バッファ用に保留されたメモリは2回の完全な走査を
記憶することができる。便宜上、これらをSA(完全な走
査を記憶することができる容量を有する走査バッファ
A)およびSB(同じ容量を有する走査バッファB)と呼
ぶことができる。SAおよびSBは、文字発生機構がたとえ
ばSAを書き込む間に、SBが読み取られて、たとえばレー
ザー・ビームを変調するため使用される所望の2進スト
リームを供給することができるよう制御される。SAに完
全な走査を表わすデータが書き込まれたものと仮定し
て、拡大機構について説明する。拡大機能は走査バッフ
ァを読み取ることによって実現されるので、次に説明す
る例は、書き込まれたばかりのSAを読み取ることに関す
るものである。データは2つのステップまたは2段で直
列化され、最初に、好都合な例(たとえば、16ビット)
が走査バッファから読み取られ、この16ビットが直列化
される。それに続いて、次の16ビットの列が読み取ら
れ、直列化され、以下同様である。走査方向に垂直な方
向で1倍以外の拡大を希望すると仮定すると、SAの読取
り完了後に、2回目の読取りで同じ走査が生成するよう
にSAを再読取りする。これにより、もちろん、記号の寸
法が走査方向に垂直な方向で拡大される。寸法を4倍に
するには、SAを4回読み取る。
走査方向での拡大は別のやり方で処理される。16ビット
がSAから読み取られたとき、それらの16ビットは出力レ
コード内の一定数のペルを制御する。便宜上、各ビット
が2個のレベルを制御するものと仮定することができ
る。これは1倍と考えられる。2倍に拡大する場合は、
各ビットが2つのペルを制御するのではなく、4つのペ
ルを制御するように直列化を構成する。これを行なうに
は、16ビットすべてを直列化せずに、16ビットを各々8
ビットからなる2つのグループに分割し、最初に第1の
グループを直列化し、次に第2のグループを直列化す
る。4倍の拡大を行なうには、16ビットを各々4ビット
からなる4つのグループに分割し、4回の列の操作で直
列化する。したがって、2つの異なる方向での拡大は独
立した操作であり、したがって、それら2つの方向で倍
率を別々に選択できることが明らかなはずである。本発
明の一実施例では、1倍、2倍および4倍の拡大が実施
できるが、同様の拡大手法を使って、一方または両方の
方向で他の整数倍に拡大できることも明らかなはずであ
る。
第4図はカラム位置エスケープ・メモリ170に対するア
ドレス指定機構のブロック・ダイヤグラムである。既に
述べたように、通常印刷モードであるか、それとも回転
印刷モードであるかによって、(カラム位置エスケープ
・メモリに記憶された)カラム位置エスケープ・テーブ
ルは異なる方式で使用される。回転印刷モードでは、カ
ラム位置エスケープ・テーブルは、個々の記号行ごとに
1つの項目を有する。その記号行の印刷を開始するとき
その項目がアクセスされ、記号行全体の印刷が完了する
までCPEアドレス(項目の記憶位置)は増分されない。
印刷完了の時点で、CPEテーブル・アドレスが増分され
て、CPEテーブル内の次の項目がアクセスされる。この
方式でCPEテーブルの増分が完了したとき、1ページの
印刷を終了したことになる。したがって、回転印刷モー
ドでのテーブル・アドレス指定は、比較的簡単であり、
すなわち、選択された時点でアドレスが単に増分され
る。
しかし、通常印刷では、アドレス指定はもう少し複雑で
ある。通常印刷では、CPEテーブルは、回転モード印刷
の場合と同じ形であり、すなわち、各記号行ごとに3部
分からなる1つの項目となる。各記号は多数の走査を必
要とし、1回の走査は多数の記号の記号行を横切るの
で、走査が記号列を横切って進むたびにCPEテーブル・
アドレスが増分され、もちろん、1つの記号について記
号行が複数回走査される。特定の記号行のどこにいるが
追跡するため、その記号行に対するCPEテーブル項目を
再書込みする。さらに、文字発生機構はパイプライン化
されているので、直前の記号行に対するデータを再書込
みする前に、特定の記号行からデータを実際に読み取る
ことができる。第4図は、カラム位置エスケープ・メモ
リに対するアドレス指定装置を示すブロック・ダイヤグ
ラムである。さらに具体的には、一対のラッチ173、174
を使用することができ、その両方の出力がマルチプレク
サ175に送られる。マルチプレクサ175の出力はラッチ17
6に供給され、ラッチ176からCPEアドレス指定が得られ
る。ラッチ176の出力は増分装置172にフィード・バック
され、装置172は適当な時期に、走査進行方向と走査中
の記号の寸法との間の関係に応じて制御される。動作に
当たって、CPEテーブル内の最初の項目に対するアドレ
スがラッチ173に供給されるものと仮定する。マルチプ
レクサ175を適当に制御することにより、そのアドレス
をラッチ176に転送することができる。ラッチ176は実際
には、CPEメモリ170にアドレスするため使用される。記
号行の走査が完了したとき、(ラッチ176にある)アド
レスが(増分されずに)ラッチ174内に供給され、同じ
量が増分されてラッチ173に入れられる。したがって、C
PEテーブルの次の項目を読み取る必要があるとき、ラッ
チ173にある変更された内容を使い、それがマルチプレ
クサ175を介して供給され、ラッチ176に記憶されて、CP
Eテーブルが実際にアドレスされる。最後に述べたアド
レス指定処理に続いて、直前の記号行に対するCPEテー
ブルの直前の項目を再書込みすることが適当であるとき
は、ラッチ174内のデータを使用する。そのアドレスが
現在ラッチ173に入っている記号行の走査が終了する
と、同じ走査が反復される。リセット信号がCPEアドレ
ス指定構造をリセットする。通常印刷では、各走査の終
りでリセット信号を使用する。
第4図の装置をどうすればもっと簡単な回転モード・ア
ドレス指定に使用できるかも明らかなはずである。回転
印刷では、リセット信号はページ全体の走査の終りでの
み使用される。
第4図の装置の見地からは、通常モード印刷と回転モー
ド印刷の唯一の相違点は、CPEアドレスの順次増分の間
の時間間隔である。通常モード印刷では、この信号は記
号1個につき1回現われ、回転モード印刷では、完全な
記号行の走査全体の間に1回現われる。
詳細な説明 文字発生機構および関連する走査アセンブリ論理は、そ
れぞれ1500ナノ秒周期の2つのサイクル・クロックで動
作する。2つのクロックのうち、第1のクロックはRPAF
*またはPRAS*と呼ばれ、第2のものはRPBF*またはRPBS*
と呼ばれる。文字ボックスまたは記号は、2つ以上のフ
ォント・データ・「スライス」から構成できる(すなわ
ち、文字ボックスが走査方向では32ビットよりも大き
い)ので、走査アセンブリ論理は2組のクロックを発生
する。RPAF*およびRPBF*は文字の任意の走査について最
初のフォント・アドレスの生成中のみ使用される(すな
わち、これらのクロックは文字ボックス1個当たり走査
1回につき1回使用される)。一方、RPAS*およびRPBS*
は、フォント・アドレスを生成する各クロック・サイク
ルごとに発生される。プロセッサはいつでも文字発生機
構メモリの1つからサイクルを要求し、それにより、15
00ナノ秒周期の間、走査アセンブリ論理が刻時するのを
中断させることができる。したがって、有効な高さ(残
った文字高)が0を超えるものと判断することにより、
RPAS*およびRPBS*の追加のサイクルが発生される。有効
高が0になる(走査線が文字ボックスから離れる)ま
で、この処理が継続する。
すべてのフォント・アドレス指定はパイプライン化され
ている。すなわち、数個の文字が一度に、ただし、異な
る処理段で処理される。第6図に示すように、すべての
刻時およびデータ転送は、8MHzクロックを表わす信号F8
M(第6図の一番上の線)と同期される。第3および第
4の線はそれぞれクロックRPAS*およびRPBS*を示す。そ
れらはそれぞれ1サイクル当たり4つのタイム・スライ
スを有する。RPAS*は奇数番目のタイム・スライス
(1、3、5および7)に関連し、RPBS*は偶数番目の
タイム・スライス(2、4、6および8)に関連する。
タイム・スライス0(すなわち、直前サイクルのタイム
・スライス8)の間、CPEテーブルからのデータは、有
効である。タイム・スライス1の間は、ページ・バッフ
ァ160に対するアドレス指定が有効である。タイム・ス
ライス2の間は、ページ・バッファ160からのデータが
有効である。タイム・スライス4の間は、アドレス・エ
スケープ・テーブル(A/E)からのデータ出力が有効で
ある。タイム・スライス5の間は、CREテーブルに書き
込むべきデータが有効である。タイム・スライス6の間
にデータが実際に書き込まれる。タイム・スライス7の
間は、フォント・メモリ140のアドレス指定が有効であ
り、タイム・スライス8の間は、フォント・メモリから
整列機構120に送られるデータが有効である。
第7図は、SAL要素111、112および要素114の一部分のさ
らに詳細なブロック・ダイヤグラムである。さらに具体
的には、走査アセンブリ論理111は、信号UCP00*−15*
含むカラム位置エスケープ・メモリ170のPBA出力を他の
幾つかの信号と共に入力として受け取る。第7図にそれ
らの他の信号が具体的に示されている。SAL要素111の出
力は、カラム位置エスケープ・メモリ170に戻る信号UCP
00*−15*入力である。SAL要素112も入力UCP00*−15*
受け取る。その出力は、第7図でRCP100*−15*として示
されているページ・バッファ・アドレスである。最後
に、第7図に示した構成要素の最後の出力は信号RFA701
*−16、すなわち、フォント・メモリ140に対するアドレ
ス指定である。これらの信号を展開させるため、NANDゲ
ート1110ないし1114を含む論理要素が、数個の(タイミ
ング用)ラッチ1115ないし1122、増分装置1123および主
要論理構成要素、加算器/減算器1124と共に使用され
る。この回路を用いると、ある状況下でCPE170(PBAお
よびエスケープの両方)に書き戻されたデータを変更す
ることができ、必要に応じて適当な状況下で、FRAアド
レスが文字幅(CW)または文字エスケープ(CE)信号と
相互作用して、それぞれのケースのもとで種々のメモリ
に正しくアドレスすることができる。加算器/減算器11
24は、制御信号LTORGHT(左から右)、CREINCR(CPEのP
BAフィールドを増分する)、FPASS7*(文字の最初のパ
スを示す)およびXA(クロック)に基づいて入力データ
を処理する。
最初の制御信号は、プロセッサ400によって書きこまれ
た(レジスタ105内の)印刷コマンドから得られ、(印
刷ケースが実行中であることを示す)文書全体の走査の
間不変である。制御信号CPEINCRは第10B図の回路によっ
て計算される。制御信号FPASS7*は第9B図で計算され
る。
第9A図および第9B図(第9B図が第9A図の右側にくるよう
に並べる)、第10A図および第10B図(第10B図が第10A図
の右側にくるように並べる)は、SAL要素113および115
ならびに要素SAL114の残りの部分のさらに詳細なブロッ
ク・ダイヤフラムを示す。さらに具体的には、SAL要素1
13は、CPEメモリ170に再書込みされる変更された文字エ
スケープ量を生成する。この信号はマルチプレクサ1192
(第10B図)の出力として発生される。SAL要素113への
入力の1つは、CPE170から読み取られた信号UCE58−51
であり、その入力がラッチ1165(第10A図)に印加され
る。ラッチ1167、1168はその量を遅延させ、それをCWお
よびLHと共にマルチプレクサ1193(第10B図)に入力す
る。したがって、CWまたはCEのいずれか(最初の走査の
ときCW、後続の走査ではCE)がマルチプレクサ1193を通
過する。この量が減算回路1198によって減分されて、再
書込みされる修正されたエスケープを形成する。
SAL要素114および115に対する入力はいくつもある。整
列機構120に印加されるSAL要素115の付属出力は有効高
信号(VH1*−5*)と、白(WHITE*)であり、すべて第9
B図に示すハードウェアから発生され、さらに、出力BLA
CK*および下線信号(US0*−1*、USA*−B*、US2*−3*
およびUSC*−D*)がすべて第10B図の回路で発生され
る。
カラム位置データ・バス(その出力はNANDゲート1113で
ある)は、走査アセンブリ論理が必要とするページ・バ
ッファ・アドレスを計算するが、通常モードまたは回転
モードのいずれでも動作する。信号ROTCHAR11は、通常
モードで、また走査アセンブリ論理が「回転」走査に対
する最初のアドレス指定の計算を行なっているときの回
転モードで0である。ROTCHAR1*が0のとき、走査アセ
ンブリ論理はCPEメモリ170(UCP00*−15*)の出力をラ
ッチ1116にロードすることができる。このラッチされた
ページ・バッファ・アドレスは次に(NANDゲート1113を
介して)チップから出る。
通常印刷では、UCP00*−15*データは、タイム・スライ
ス5までパイプラインから出力され、次に、更新された
現在のエスケープ(UCE51*−58*)と共にCPEメモリ170
に書き戻される。
UCP00*−15*は、特定の行に対するエスケープが1に等
しいとき、その行について1が(LTORGHT信号に応じ
て)加算または減算され、したがって次の走査で、走査
アセンブリ論理が、その信号行に印刷される次の文字に
アクセスすることができる。このことは、加算器/減算
器1124に対するCPEINCR入力を発生する論理1199(第10B
図)で実行される。CPUEへの書込みはタイム・スライス
5まで遅延されるので、1つのCPEアドレスを用いてUCP
00*−15*およびUCE51*−58*の両方のデータ・バスに書
き込むことができる。
回転印刷では、UCP00*−15*バスは前と同様に、ただし
走査の最初の文字についてのみロードされる。必要とさ
れる各順次ページ・バッファ・アドレスは、前のアドレ
スを(増分回路を用いて)増分または減分することによ
って得られる。回転印刷では、UCP00*−15*バスはCPEに
書き戻されないが、現在のエスケープは書き戻される。
通常印刷では、CPEメモリ・アドレスは、新しい記号と
出会うたびに、1だけ増分される。回転印刷では、CPE
メモリ・アドレスは、現在のエスケープが1に等しく
(文字全体の走査完了)、かつ新しい記号行を印刷しな
ければならない(1行の走査完了)ときだけ増分され
る。フォント・アドレスを発生するパイプライン(その
出力はラッチ1121である)は次の3つのモードのうちの
1つで動作する。
a)左から右への走査で、1つの文字に対するフォント
・データの最初の32ビット・スライスに対して、 b)右から左への走査で、1つの文字に対するフォント
・データの最初の32ビット・スライスに対して(このモ
ードでは、アドレス・エスケープ・メモリから導き出さ
れたFRAが、右から左への走査に対するフォンに正しく
アドレスするように変更される)、 c)左から右または右から左への走査で、1つの文字に
対するフォント・データの第2、第3などの32ビット・
スライスに対して(このモードでは、ESC増分を加える
だけで次の有効フォント・アドレスが得られる)。
モード(c)では、前のクロック・サイクルに対してモ
ード(a)または(b)のいずれかを用いて計算された
フォント・アドレスに、文字幅が加えられ、次にそれが
ラッチ1120に記憶される。このデータはラッチ1121でラ
ッチ・アップされ、加算器/減算器1124およびフォント
・メモリにフィード・バックされる。
モード(a)では、フォント・アドレスは次のように計
算される。
FA=FRA5+CW5−CE5′ (1) すなわち、FA(フォント・アドレス)は、FRA5(サイク
ル・タイム5におけるフォント基準アドレス)+CW5
(サイクル・タイム5における現在の幅)−CE5′(サ
イクル・タイム5における現在のエスケープ)を計算す
ることによって求められる。現在のエスケープは文字幅
に初期設定されるので、最初の文字走査では FA=FRA5+CW5−CE5′は FRA5+CW5−CW5=FRA5 (2) とも表わせる。
後続の各走査時に、量CE5′は前の走査と比較して変更
され、したがってフォントのそれぞれの「カラム」が順
次アドレスされる。
モード(b)では、フォント・アドレスは次のように計
算される。
FA=FRA+CE5′−1 (3) ただし、CE5′はモード(a)における「通常」印刷ま
たは「回転」印刷に対する現在のエスケープである。し
たがって、走査が右から左へ進むときの最初の走査で
は、FA=FRA+CW−1=(第3A図に関連して)FRA+ESC
−1またはSAWnである。モード(b)の回転印刷では、
CE5′=CE+CW+LHである。したがって、モード(b)
の回転印刷では次の通りである。
FA=FRA5+CW5−LH5 +CE5−1 (4) モード(a)または(b)は、印刷コマンドの機能を識
別するLTORGHT制御信号に基づいて選択される。
以上のことを表5に要約する。
繰り返すと、(第3A図に示した)通常モードでは、FRA
でフォント・メモリのアクセスが開始される。これによ
って最初の「スライス」がアドレスされ、走査方向で継
続して、2番目のスライスにアクセスしなければなら
ず、それはFRA+ESCである。第7図を参照すると、FRA
は加算器1124への1つの入力であり、もう1つの入力
は、CW0*−7*に対応するESC値である。したがって、ど
のようにフォント・アドレスが得られるかは明らかなは
ずである。最初は、フォント・アドレスはFRAであり、
同じ走査の後続のスライスについては、必要なだけのス
ライスに対するCW値を加えるだけでよい。必要とされる
スライスの数は、文字高からスライスの寸法(32ビッ
ト)を継続的に減算することによって発生される。文字
高の情報は(アドレス・エスケープ・メモリA/Eから)
受信装置1132(第9A図)に供給され、ラッチ1129、1130
を介して遅延され、加算器1134にフィード・バックされ
る。加算器1134に対するもう一方の入力「32D」は32ビ
ットに対応し、したがって加算器の出力は残りの文字高
である。これがマルチプレクサ1140を介して再循環され
る。加算器1134が事実上負の結果を生じたときは、その
信号がCH6LTO(0よりも小さい文字高)として送られ、
文字が完全に走査されたことを示す。信号CH6LTOはマル
チプレクサ1162に供給され、WHITE*としてラッチ・アッ
プされる。これによって行高が強制的に白にされ、また
は充填される。したがって、1つの文字内のすべてのス
ライスを走査したとき、次のベース・ラインまで白が充
填される。次のベース・ラインにいつ到達するかは行高
によって決まる。マルチプレクサ1141に対する入力の1
つはLH40−47であるので、その入力が使用可能になった
とき、信号B0*−7*が行高となる。同時に、マルチプレ
クサ1138に対する入力の1つは32ビット・スライスであ
り、その入力が使用可能になったとき、信号A0*−7*
10進数32(すなわち、32D)に対応する。それが比較機
構1164で比較され、AがBよりも大きいときは、信号AG
TBが活動化される。これによってLH5LEOが発生され、行
高が走査されて、次の行が開始できることを示す。この
信号はクロック信号FPASSを制御して、(次の信号を開
始するには、その記号に対するもう1つのクロック・サ
イクル、すなわち、もう1つのスライスまたはRPAF、RP
BFが必要であることを示す)。次のベース・ラインを開
始するには、通常モードでは、先に説明したように、CP
Eメモリ・ポインタが増分される。
左から右でなく右から左に走査する場合、文字高および
行高に関して同じ走査が用いられることは明らかなはず
である。相違点は、最初にフォント・メモリからアドレ
スされるとき、FRAでアクセスされず、FRA+ESC−1
(表5の2番目の行または第3A図のアドレスA′A′)
でアクセスされることである。次のスライス・アドレス
ではモード(c)のアルゴリズム、すなわち、前のアド
レス+CW0*−7*(文字幅)が使用される。次の走査で
は、最初のスライスがFRA+ESC−1(元のアドレス)−
1でアドレスされ、後続のスライスは、前と同様に、CW
0*−7*を単に加えることだけでアドレスされる。
第2の走査および後続の走査でも、同じ操作が適用され
る。ただし、CE5′値は適当なフォント・「カラム」が
アドレスされるように継続的に変更される。
要約を続けると、(第3D図に示した)回転モードでは、
(左から右への走査進行方向の場合)フォント・メモリ
がFRAでアクセスが開始される。これによって最初の
「スライス」がアドレスされる。走査方向で継続して、
第2のスライスにアクセスしなければならず、それはFR
A+ESCである。第7図を参照すると、FRAは加算器124に
対する1つの入力であり、もう1つの入力は、CW0*−7
*に対応するESC値である。したがって、フォント・アド
レスがどのように得られるかは明らかなはずである。最
初は、フォント・アドレスはFRAであり、同じ走査の後
続のスライスについては、必要なだけのスライスに対す
るCW値を加えるだけである。必要とされるスライスの数
は、文字高からスライスの寸法(32ビット)を継続的に
減算することによって発生される。文字高の情報は(ア
ドレス・エスケープ・メモリA/Eから)受信装置1132
(第9A図)に供給され、ラッチ1129、1130を介して遅延
され、加算器1134にフィード・バックされる。
加算器に対するもう一方の入力「32D」は32ビットに対
応し、したがって加算器の出力は残りの文字高である。
これがマルチプレクサ1140を介して再循環される。「通
常」モードについて既に説明したのと同じ操作によっ
て、文字の走査がいつ完了するかが決定される。通常モ
ードでは、走査進行方向がどうであれ、走査線がベース
・ラインに達すると、走査線は文字ボックスのすぐ内側
にあり(第3A図)、走査線が文字ボックスを出た後、次
のベース・ラインに到達する前に、充填処理が行なわれ
る。(走査がベース・ラインに平行な)回転印刷では、
充填処理は、走査進行方向(第3D図参照)に応じて、走
査線が文字ボックスを通過した後、次のスペース・ライ
ンに進む前(通常印刷と同様)、または、走査線がベー
ス・ラインを通過した後、文字ボックスに到達する前に
行なわれる。
通常印刷モードと回転印刷モードのもう1つの相違点は
次の通りである。通常印刷では、文字高(CH)と行高
(LH)が1本のパイプラインで相互作用し(たとえば、
いつ「充填」するかを決定し、)、現在のエスケープと
文字幅が相互に作用して(いつ文字のエスケープが完了
して、次の文字にアクセスするためPBAを増分しなけれ
ばならなくなるかを決定する)。回転印刷では、文字高
(CH)は多かれ少なかれ孤立したパイプラインであり、
実際、文字高および行高が同じである場合は、通常印刷
とまったく同様に働く。第3D図にこの説明の根拠が示さ
れている。すなわち、走査方向に沿って、文字ボックス
は文字高に等しく、したがって、文字ボックスの走査を
終わるとすぐ、次の文字にアクセスしなければならない
(すなわち、「充填」はまったくない)。しかし、回転
モード印刷では、文字幅のエスケープ(CE)、下線およ
び行高(LH)が相互に作用する。既に述べたように、下
線は、信号BLACK*を強制的に0にすることによって実現
される。白の充填(文字ボックスの頂部から行高まで)
は、信号WHITE*を0にセットすることによって実施され
る。回転印刷では、エスケープ値(最初は、CPEテーブ
ルの空白フィールドであった)が(通常印刷の場合のよ
うに文字幅ではなく)行高に初期設定された。
回転モードで、左から右へ印刷する場合、CEがCWよりも
大きい場合にCWよりも大きい間だけ、「充填」が行なわ
れる。CEがCWに等しくなると、文字ボックスに到達した
わけであり、フォント・データ(第3D図参照)の出力を
開始することができる。一方、右から左へ印刷する場
合、CEが行高と文字幅の間の左よりも小さい場合にその
差よりも小さい間に限って、「充填」を行なわなければ
ならない。同様に、左から右への印刷の場合、CEが小さ
いとき、下線が付加される。回転モードで右から左へ印
刷する場合、1+(行高とCEの差)が小さい場合に、下
線が有効である。
回転モードでのSALの動作を説明するため、第22図およ
び第23図を参照する。これらの図はそれぞれ、回転印刷
における2つの異なるケースでの文字に対する走査方向
と走査進行方向を示す。第22図はLTORGHT(すなわち、
上から下)に対応し、第23図はLTORGHT*(すなわち、下
から上)に対応する。回転モードでは、文字幅(CW)、
文字エスケープ(CE)および行高(LH)がすべて相互に
作用する。さらに、現在のエスケープ(CE)は常に行高
LHで初期設定される。第10B図を参照すると、マルチプ
レクサ1193はLH40−47をUCE51*−58*に渡すことができ
る。
第22図を参照すると、LHがCWよりも大きい場合は、白を
充填しなければならない領域にいることにまず気がつ
く。したがって、比較機構1164(第9B図)がこれらの量
CWおよびCEを比較する。後者はLHに初期設定されてい
る。A≧Bの場合、比較機構1164のAGTB出力が活動化さ
れ、マルチプレクサ1161に供給されWHITE*となる。この
信号は、CEが減分されてCWより小さくなるまで、この状
態に留まり、CEがCWより小さくなったとき、フォント・
メモリからのデータの抽出が開始できる。
LTORGHT*モードでは、CE≦(LH−CW)の場合、白を強制
しなければならない。もちろん、CEはLHに初期設定され
るので、最初の数回の走査では、この不等式は成立せ
ず、特定の記号行の走査の終りに近くになって初めてこ
の不等式が成立する。同じ比較機構1164がこの機能を実
行し、そのA0*−7*入力は同じ(マルチプレクサ1138か
らの)CE信号である。しかし、この場合には、入力B0*
−7*はマルチプレクサ1141に供給される加算器1135の
出力である。第9A図から明らかなように、加算器1135の
出力は信号LH5−CW5である。AGTB信号が活動化される
と、(LTOR*が存在するとき)マルチプレクサ1162に供
給され、WHITE*を発生する。簡単に言えば、第23図の場
合については、行高と文字幅の間の差はもちろん一定で
ある。現在のエスケープCEはLHに初期設定されるが、記
号行の走査が進むにつれて減分される。この処理中、LH
とCWの間の差が現在のエスケープに等しくなった時点
で、文字の走査が完了する。その後で、CEが正である間
に限って、白が充填される。CEが1まで減分されたとき
は、最後の走査であり、すなわち、記号行はまもなく完
了する。
第19図は、整列機構120と文字発生機構出力の間にあっ
て、一般に走査バッファと呼ばれる文字発生機構の部分
のブロック・ダイヤグラムである。走査バッファ130
は、それぞれ完全な一走査を定義するデータを記憶する
ことができる2つのバッファ(FSU1およびFSU2)を含
む。印刷中、バッファ1および2によって実行される機
能は、一方のバッファが整列機構120から書き込まれて
いる間に、他方のバッファが読み取られるように、交互
に行なわれる。ここで説明する本発明の一実施例では、
各バッファは、一対のチップを含み、バッファ1がチッ
プ1311と1312を含み、バッファ2がチップ1321と1322を
含んていた。各バッファは専用のアドレス・カウンタに
よってアドレスされ、バッファ1用のアドレス・カウン
タはカウンタ1313と1314から構成され、バッファ2用の
アドレス・カウンタはカウンタ1323と1324から構成され
る。カウンタおよびバッファに対する制御は、制御チッ
プ1331および1332と比較チップ1340によって実施され
る。(整列機構120から書き込まれる)書込み機能のた
めにあるバッファが選択されると、関連するアドレス・
カウンタが、0からページ長に対応する値までカウント
・アップするよう制御される。関連するカウンタ対を正
しく制御するため、ページ長の値が比較回路1340に供給
される。4つの印刷ケースでは、比較回路1340に供給さ
れるページ長の値は実際のページ長であり、他の4つの
印刷ケース(走査方向がページ長に垂直)では、比較回
路1340に供給される値は実際にはページ幅である。
読取り機能のためにあるバッファが選択されると、関連
するアドレス・カウンタが、走査方向に応じて(第11図
ないし第18図参照)、0からページ長(または幅)まで
カウント・アップするか、または、ページ長から0まで
カウント・ダウンすることができる。カウンタがカウン
ト・アップでなくカウント・ダウンするときは、走査バ
ッファは逆の順序で読み取られる。こうすると、走査方
向を反転させる効果が生じる。
既に述べたように、本発明の掲示フォント機能を用いる
と、印刷されるフォントは走査方向に平行、または走査
方向に垂直のいずれかに拡大することができる。フォン
トを走査方向に垂直に拡大するためには、走査バッファ
は、新しいデータを再書込みされる前に、2回以上読み
取られる。たとえば、フォントの寸法を走査方向に垂直
に2倍するには、走査バッファは、再書込みされる前に
2回読み取られる。フォントを4倍に拡大するには、走
査バッファは、再書込みされる前に、4回読み取られ
る。この機能は、アドレス指定カウンタと、実行すべき
機能を選択する2進信号とを制御することにより、制御
ブロック1331−1332で処理される。
既に述べたように、フォントは走査方向に平行な方向に
も拡大することができる。この機能を実施するには、走
査バッファ内の各ビットを使って1倍の場合のビット制
御よりも多くのペルを制御しなければならない。この機
能は、以下に説明するように、ラッチ1360および拡大ブ
ロック1370によって実施される。
データが走査バッファから読み取られると、マルチプレ
クサ1351ないし1354を介してラッチ1360に供給される。
ラッチ1360に対する入力は16ビット幅のデータ・バスで
あり、ラッチ1360の出力は8ビット幅のデータ・バスで
あり、これは拡大ブロック1370に対する入力を形成す
る。ラッチ1360の1つの機能は、16個の入力ビットを、
それぞれ8ビットから成る2つの出力ビット・グループ
に分割することである。拡大ブロック1370の出力も8ビ
ット幅である。しかし、拡大ブロック1370の出力におけ
る8ビットは以下のものによって駆動することができ
る。
1)8入力ビット(拡大しない、すなわち1倍の場
合)。または、 2)入力における4ビットのみ(一対の出力ビットが単
一ビットによって制御される)。この場合は各8ビット
が8出力ビットからなる2つのグループを時間順に発生
する。または、 3)8出力ビットを2入力ビットのみから導くことがで
き、したがって、2入力ビットがそれぞれ4出力ビット
を制御する。この場合は、もちろん、8入力ビットは、
それぞれ8出力ビットから成る4つのグループに時間順
に変換される。
第20A図はラッチ1360と拡大ブロック1370のさらに詳細
なブロック・ダイヤグラムである。
第20A図に示すように、16ビット・データ・バスが16ビ
ット・マスタ・レジスタ1361に対する入力を形成する。
マスタ・レジスタ1361は、16ビットを並行してマルチプ
レクサ1362に供給する。マルチプレクサ1362は2つの8
ビット出力を有し、第1の出力はスレーブ・レジスタB1
363に供給され、第2の出力はマルチプレクサ1364に供
給される。マルチプレクサ1364に対するもう1つの入力
は、スレーブ・レジスタB1363の8出力ビットによって
供給される。マルチプレクサ1364の8出力ビットはスレ
ーブ・レジスタA1371に対する入力である。スレーブ・
レジスタAの出力は、拡大機能ブロック1372に供給さ
れ、ブロック1372の出力(8ビット)はドライバ1373に
供給され、ドライバ1373は8出力ビットのバスを駆動す
る。第20A図には示さないが、8ビット出力バスを直列
化するための直列化装置が文字発生機構に含まれてい
る。マルチプレクサ1362に対する16入力ビットD0ないし
D15は2つの方法のいずれかで出力することができる。
ビット0−7はマルチプレクサ1364を介してスレーブ・
レジスタA1371に出力することができ、ビット8−15は
スレーブ・レジスタB1363に出力することができる。後
の8ビットは続いてマルチプレクサ1364を介してスレー
ブ・レジスタA1371に入力される。これは、すべてが共
通の走査方向を有する4つの印刷ケースでの動作モード
である。走査方向が反転される印刷ケースでは、動作は
次のように変更される。ビット15−8はマルチプレクサ
1364を介して逆の順序でスレーブ・レジスタA1371に出
力される。すなわち、スレーブ・レジスタAのビット0
−7がマスタ・レジスタ1361からのビット15−8に対応
する。もう一方の8ビット、すなわち、マスタ・レジス
タのビット0−7はスレーブ・レジスタB1363に(やは
り、逆の順序で)入力され、そこで、これらのビット0
−7は、スレーブ・レジスタ・ビット0−7がマスタ・
レジスタ・ビット7−0に対応するように、後でマルチ
プレクサ1364を介してスレーブ・レジスタA1371に(依
然として逆の順序で)供給することができる。したがっ
て、この動作は逆走査の助けとなり、これを走査バッフ
ァ・アドレス・カウンタのカウント・アップおよびカウ
ント・ダウンする能力と一緒にすると、走査方向を反転
させる能力がもたらされる。第20B図ないし第20D図に、
拡大機能1372に対する3つの異なるケースを示す。1倍
のケースでは、スレーブ・レジスタ1371の8ビットを使
ってドライバ1373の8ビットを制御する。これによって
もちろん1倍の拡大がもたらされるが、それを第20B図
に示す。
第20C図に、2倍の拡大が拡大機能1372を使ってどのよ
うにして実現されるかを示す。第1段で、拡大機能1372
は、第20C1図に示すようなスレーブ・レジスタ1371とド
ライバ1373の間の結合をもたらす。すなわち、スレーブ
・レジスタ1371の最初の4ビットがそれぞれドライバ13
73の2ビットを駆動する。その後で、拡大機能1372は、
スレーブ・レジスタ1371の出力とドライバ1373の間の結
合を第20C図に示すような結合に変更する。すなわち、
スレーブ・レジスタ1371のまだ使用されていないビット
を使ってドライバ1373を制御し、この場合も、スレーブ
・レジスタ1371の各ビットがドライバ1373の2ビットを
駆動する。
最後に、第20D図は、4倍の場合に拡大機能1372によっ
てもたらされる結合の一部分を示す。第20D1図に示すよ
うに、SAレジスタ1371の出力ビットの1/4を使ってドラ
イバ1373を制御し、スレーブ・レジスタ1371の各ビット
がドライバ1373の4ビットを駆動する。その後で、拡大
機能1372は、スレーブ・レジスタ1371からの異なる一対
のビットでドライバ1373を制御するように変更される。
第20D2図に、スレーブ・レジスタ1371の最後の一対のビ
ットを使ってドライバ1371を制御する4倍の拡大での拡
大機能の最終段階を示すが、この場合も、使用されるス
レーブ・レジスタの各ビットがドライバ1373の4ビット
を駆動する。したがって、異なる状態を進むことによ
り、拡大機能がフォントの寸法を(走査の方向に)2ま
たは4倍にすることができることは明らかなはずであ
る。ここに開示した原則を用いることにより、他の整数
倍も実現できることは明らかなはずである。
整列機構120を第21図に詳細なブロック・ダイヤグラム
の形で示す。整列機構120の主な機能は、32ビット幅の
フォント・メモリからのイメージ・データの受取りに応
じて、そのイメージ・データを、走査バッファに記憶す
るのに適した16ビット幅のデータに整列させることであ
る。整列機構はまた下線を発生し、必要に応じて、選択
された領域を白で充填することができる。
一般的な場合では、フォントからの各取出しは32ビット
幅のデータから成る。ただし、最後の「スライス」が完
全な32ビットでない場合、そのデータは32ビット幅より
も小さくてもよい。一般に、フォントは32個のデータ・
ビットをもたらし、かつ走査バッファは一度に16ビット
しか受け入れないので、整列機構120は、それが受け取
る32ビット・ワードごとに走査バッファに2つの16ビッ
ト・ワードを供給することができる。
フォントからの有効データは、走査バッファに送られな
い限り、最終余剰ラッチ1209内に留まる。さらに、この
最終余剰の長さが、LRラッチ1230に保持される(この量
の計算方法については説明する)。SAL論理は、量「有
効高」を整列機構に送る。全体の高さ(高さラッチ1240
への入力)は、文字ボックスがどのくらい高いかを示
す。整列機構が16ビットの文字データを出力するたび
に、比較機構1254は高さを16ずつ減分し、信号HGT16*
発生する。最終余剰に基づいて、回転制御1210がラッチ
1204および1205を動作させて、入力データを所定の形で
整列するように「回転」させる。さらに具体的には、最
終余剰の長さに対するスペースができるように、データ
がシフトされる。レジスタ1204は0、2または4ビット
による回転をもたらし、レジスタ1205は0、6または12
ビットによる回転をもたらす。したがって、2のステッ
プにおいて、0ビットと14ビットの間のどのような回転
も実現することができる。回転された新しいデータは、
レジスタ1206で最終余剰1209と組み合わされ、ラッチ12
07にラッチされる。最終余剰と有効な新データの長さの
和が16よりも大きい場合は、完全な16ビットを走査バッ
ファに出力することができ、これらの16ビットはこのと
きラッチ1207に常駐する。データが16番目のビットを超
えて回転される限り、L1ラッチ1209の底部まで回転され
て、新しい最終余剰になる。全フォント・データが16ビ
ットよりも大きい場合は、第2のサイクルが実行され
る。全体の高さが16ビットよりも大きい場合は、「最
後」の最終余剰であろうとなかろうと最終余剰があり、
最終余剰ラッチが常駐する。第2のサイクルで、16ビッ
トのデータがある場合は、出力ラッチ1207を介して走査
バッファに供給される。最終余剰と入力データの和が16
ビット幅でない場合は、最終余剰はL1ラッチ1209に残さ
れ、フォント・データの残りの部分は上向きに回転さ
れ、L1ラッチ1209内の旧最終剰余の上にラッチされ、両
者の和が最終余剰の新しい長さとなる。
計算論理を図の下方に示す。レジスタ1230からの最終余
剰を使って、回転論理1210、ラッチL1クロック制御1212
および新旧選択制御1214が制御される。全体の高さがラ
ッチ1240に入力され、比較機構1254の出力は、高さが16
よりも大きいかどうかを示す。大きい場合は、第2のサ
イクルが必要となる。高さラッチ1240からのもう1つの
出力が加算器1251に供給され、そこで、最終余剰に加算
される。この和がマルチプレクサ1215に入力され、ま
た、減算器1252にも入力され、そこで、和と量16の間の
差が計算される。減算器1252の出力はマルチプレクサ12
15に対するもう1つの入力を形成する。さらに、比較機
構1253が減算器1252の出力と量16の間の差を求め、その
出力がL1ラッチ・クロク制御1212で使用されると共に、
マルチプレクサ1215に対するもう1つの入力になる。
整列機構120はまたフォント・データを選択的に白く
し、フォント・データに下線を引くためそれを黒くする
機能を実行する。これらの機能は、下記のように優先順
位に従って降順に実行される。
全体の高さ すべて黒 下線 すべて白 有効高さ 有効高さが全体の高さよりも小さい場合は、両者の間の
領域が白で充填される。WHITE*はこの充填領域の範囲を
示し、ラッチ1202を充填するため使用される。
レジスタ1220内のUS*コードによって識別される下線ビ
ットが、レジスタ1203、1205内の当該のビットを制御す
る。これにより、様々な種類(1本または2本)の下線
を種々の位置に引くことができる。
以上、本明細書では、印刷ヘッドに対する用紙の向きや
給紙方向等に関して印刷装置にどんな制限があろうと
も、広範な種類の印刷装置で使用できる汎用文字発生機
構の一実施例について説明した。この文字発生機構は、
2進信号ストリームの構成が走査方向と走査進行方向の
どのような組合せをとることもできる2進信号ストリー
ムをもたらすことができる点で、すなわち、8つの可能
な印刷ケースがすべてこの文字発生機構で処理される点
で、こうした印刷装置の制限に拘束されない。しかし、
上述のように、特定の選択された印刷コマンドに従って
CPEテーブルをフォーマット化することはもちろん必要
である。すなわち、同じ文書が、印刷コマンドに応じて
異なるCPEテーブルをもつことになる。当業者なら、本
明細書を見れば了解できるように、頭記の特許請求の範
囲に従って解釈される本発明の精神および範囲から逸脱
することなく多くの変更を加えることができる。
【図面の簡単な説明】
第1A図は、本発明の文字発生機構100が実際にどのよう
に使用されるかを示すブロック・ダイヤグラムである。 第1B図は文字発生機構100のブロック・ダイヤグラムで
ある。 第2図は、第1B図に対応するさらに詳細なブロック・ダ
イヤグラムである。 第3A図ないし第3C図は通常の文字に対するフォント・メ
モリの典型的な項目を示すもので、第3A図は、文字のド
ット・パターンがどのようにスライスに分解されるかを
示し、第3B図は、種々のワードがどのように第3A図の表
示に対応するかを示し、第3C図は、第3B図で識別された
それらのワードがどのようにメモリに実際に記憶される
かを示す説明図である。 第3D図は、第3A図に対応し、文字がどのように「回転」
形式で記憶されるかを示すブロック・ダイヤグラムであ
る。 第4図はCPEテーブルに対するアドレス構造のブロック
・ダイヤグラムである。 第5A図および第5B図は、それぞれ通常ケースおよび回転
ケースでのベース・ラインに対する例示的な文字ボック
スを示し、第5C図は「通常」処理を示し、第5D図は「回
転」処理を示す説明図である。 第6図は、一般的なクロック速度に対する異なるデータ
項目のシステム・タイミング・ダイヤグラムである。 第7図は走査アセンブリ論理の一部分の詳細なブロック
・ダイヤグラムである。 第8図は第7図に関連するタイミング・ダイヤグラムで
ある。 第9A図および第9B図(第9B図が第9A図の右側になるよう
に並べる)と第10A図および第10B図(第10B図が第10A図
の右側になるように並べる)は、走査アセンブリ論理の
残りの構成要素のさらに詳細なブロック・ダイヤグラム
である。 第11図ないし第18図は、本発明によって実現される8つ
の印刷ケースと、これらの印刷ケース間の関係を示す説
明図である。 第19図、および第20A図、第20B図、第20C1図、第20C2
図、第20D1図、第20D2図はバッファ130と関連する回路
のブロック・ダイヤグラムである。 第21図は整列機構120のブロック・ダイヤグラムであ
る。 第22図および第23図は、2つの回転印刷モードで白の充
填を開始および終了するために使用されるそれぞれの基
準の説明図である。 100……文字発生機構、105……印刷コマンド・レジス
タ、110……走査アセンブリ論理、120……整列機構、13
0……走査バッファ、140……フォント・メモリ、150…
…アドレス/エスケープ・メモリ、160……ページ・バ
ッファ、170……カラム位置エスケープ・メモリ、200…
…印刷装置、400……プロセッサ、500……端末。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ステフイン・デイル・ハンナ アメリカ合衆国コロラド州ボルダー、イサ ケ・ドライブ1550番地 (72)発明者 ヘサス・カブレラ・ロペス アメリカ合衆国コロラド州ロングモント、 サウス・ジヤデスン・ストリート1318番地 (72)発明者 デヴイド・クレイグ・ステイヴンソン アメリカ合衆国コロラド州ロングモント、 マクイントツシユ・ドライブ3015番地 (72)発明者 ドナルド・ワード・ゼガフス、ジュニア アメリカ合衆国ケンタツキー州ニコレスヴ イル、ヴイセウツド124番地 (56)参考文献 特開 昭61−89051(JP,A) 特開 昭58−110255(JP,A) 特開 昭57−108975(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】相次ぐ記号行に沿ってラスタ形式で走査さ
    れて出力装置上の相次ぐ記号行に像として形成されるべ
    き記号を発生する装置であって、前記走査線が前記行に
    平行で左から右にもしくは右から左に向いておりかつ相
    次ぐ走査線が上から下へもしくは下から上へと進行して
    いく、または前記走査線が前記記号行に垂直で上から下
    にもしくは下から上に向いておりかつ相次ぐ走査線が右
    から左へもしくは左から右へと進行していく装置におい
    て、 アドレス・エスケープ・ポインタを各々含む前記記号の
    情報を所定の順序で格納するページ・バッファと、 前記記号行の各々に対して前記行内の第1番目の記号に
    対するページ・バッファ・ポインタおよび前記記号行を
    表現するために割り当てられた領域を識別する行高デー
    タを指定するカラム位置エスケープ・メモリと、 フォント・ポインタおよび前記記号に割り当てられた直
    交する2方向の寸法を示すレコードを異なる記号毎に格
    納するアドレス・エスケープ・メモリと、 前記記号のグラフィック表現を与えるレコードを各記号
    毎に格納するフォント・メモリと、 記号行、走査線の向きおよび走査線の進行方向の間の特
    定の関係を指定するプリント・コマンドに応答して前記
    カラム位置エスケープ・メモリにアクセスして前記ペー
    ジ・バッファ・ポインタにより選択された行に対して最
    初の記号を識別する第1の手段と、 前記第1の手段に応答して前記アドレス・エスケープ・
    ポインタを含む前記ページ・バッファ内の対応するレコ
    ードにアクセスする第2の手段と、 前記第2の手段に応答して前記アドレス・エスケープ・
    メモリおよび前記フォント・メモリにアクセスして対応
    するグラフィック表現の所定の部分を選択し、かつ前記
    グラフィック表現の前記部分に関連した出力情報を導出
    するための第3の手段と、 前記プリント・コマンド、前記第2の手段および前記第
    3の手段に応答して追加の記号に対する出力情報を追加
    的に導出するためのアドレス手段と、 より成る記号発生装置。
JP62228692A 1986-11-10 1987-09-14 記号発生装置 Expired - Lifetime JPH0739190B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US929030 1986-11-10
US06/929,030 US4893257A (en) 1986-11-10 1986-11-10 Multidirectional scan and print capability

Publications (2)

Publication Number Publication Date
JPS63134257A JPS63134257A (ja) 1988-06-06
JPH0739190B2 true JPH0739190B2 (ja) 1995-05-01

Family

ID=25457208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62228692A Expired - Lifetime JPH0739190B2 (ja) 1986-11-10 1987-09-14 記号発生装置

Country Status (4)

Country Link
US (1) US4893257A (ja)
EP (1) EP0267415B1 (ja)
JP (1) JPH0739190B2 (ja)
DE (1) DE3786526T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179636A (en) * 1988-03-08 1993-01-12 Canon Kabushiki Kaisha Recording apparatus
JPH02298993A (ja) * 1989-03-06 1990-12-11 Xerox Corp 画像生成装置
DE69230054T2 (de) * 1991-07-09 2000-03-30 Canon K.K., Tokio/Tokyo Verfahren und Vorrichtung für die Verarbeitung von Bildern
EP0569758A3 (en) * 1992-05-15 1995-03-15 Eastman Kodak Co Method and device for producing and storing three-dimensional characters and for three-dimensional typesetting.
JP2839819B2 (ja) * 1993-05-28 1998-12-16 株式会社東芝 不揮発性半導体記憶装置
US5561777A (en) * 1993-08-30 1996-10-01 Xerox Corporation Process for sequentially reading a page from an image memory in either of two directions
US5829953A (en) 1996-01-19 1998-11-03 International Billing Services, Inc. Billing statement system
US6142956A (en) * 1996-11-25 2000-11-07 Symbiosis Corporation Proximal actuation handle for a biopsy forceps instrument having irrigation and aspiration capabilities
US7305617B2 (en) * 2000-02-12 2007-12-04 Adobe Systems Incorporated Method for aligning text to baseline grids and to CJK character grids
US7894094B2 (en) * 2003-09-26 2011-02-22 Xerox Corporation System and method for image rotation
US7450268B2 (en) * 2004-07-02 2008-11-11 Hewlett-Packard Development Company, L.P. Image reproduction

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2447464C3 (de) * 1973-10-23 1978-06-01 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Zeichengenerator-Steuerschaltung für einen optischen Drucker
DE2430762A1 (de) * 1974-06-26 1976-01-15 Gruner & Jahr Verfahren zur informationsverarbeitung fuer die herstellung einer druckform und vorrichtung zur durchfuehrung des verfahrens
US3999168A (en) * 1974-11-11 1976-12-21 International Business Machines Corporation Intermixed pitches in a buffered printer
US3976982A (en) * 1975-05-12 1976-08-24 International Business Machines Corporation Apparatus for image manipulation
US4035781A (en) * 1976-05-03 1977-07-12 Xerox Corporation Signal priority logic for serial printer
US4079458A (en) * 1976-08-11 1978-03-14 Xerox Corporation High resolution character generator
FR2443335A1 (fr) * 1978-12-06 1980-07-04 Cii Honeywell Bull Dispositif de commande d'enregistrement pour machine a enregistrement par points
US4566002A (en) * 1979-03-30 1986-01-21 Canon Kabushiki Kaisha Data output apparatus capable of rotating data output therefrom relative to data input thereto
FR2480545A1 (fr) * 1980-04-10 1981-10-16 Micro Consultants Ltd Dispositif et procede pour imprimer un deplacement angulaire a une image de television
JPS5776649A (en) * 1980-10-31 1982-05-13 Toshiba Corp Picture information display device
JPS57108975A (en) * 1980-12-26 1982-07-07 Hitachi Ltd Character pattern information processing system
JPS5878279A (ja) * 1981-11-04 1983-05-11 Nippon Digital Kenkyusho:Kk ワ−ドプロセツサ−及びコンピユ−タにおけるプリント方法
JPS58110255A (ja) * 1981-12-25 1983-06-30 Hitachi Ltd プリンタ制御装置
JPS58121486A (ja) * 1982-01-13 1983-07-19 Fujitsu Ltd 縦型プリンタ
US4519047A (en) * 1982-03-22 1985-05-21 Sperry Corporation Printer with positional tabbing
US4590585A (en) * 1982-08-13 1986-05-20 International Business Machines Character generator for raster printer
EP0157254B1 (en) * 1984-03-16 1990-08-08 Ascii Corporation Video display control system
US4655622A (en) * 1984-08-29 1987-04-07 Kabushiki Kaisha Toshiba Printer control apparatus
JPH078588B2 (ja) * 1984-09-25 1995-02-01 キヤノン株式会社 画像処理装置
US4627097A (en) * 1984-10-26 1986-12-02 International Business Machines Corporation Method and apparatus for improved printing in a selected orientation
US4658430A (en) * 1984-12-27 1987-04-14 International Business Machines Corp. System for rotating binary images
US4953102A (en) * 1985-03-30 1990-08-28 Mita Industrial Co., Ltd. Method for producing character patterns
US4694405A (en) * 1985-07-09 1987-09-15 Office Automation Systems, Inc. Laser printer controller data alignment device

Also Published As

Publication number Publication date
US4893257A (en) 1990-01-09
EP0267415A3 (en) 1989-11-29
DE3786526T2 (de) 1994-02-17
EP0267415B1 (en) 1993-07-14
JPS63134257A (ja) 1988-06-06
EP0267415A2 (en) 1988-05-18
DE3786526D1 (de) 1993-08-19

Similar Documents

Publication Publication Date Title
JPH0661958B2 (ja) 記号発生装置
JPH0739190B2 (ja) 記号発生装置
KR930002351B1 (ko) 돗트프린터에있어서의더블바이트문자인자방법
US5471676A (en) Character data compressing method and character modifying method
JPH01136770A (ja) プリンタ
US5345548A (en) Character display apparatus for displaying multiple-font characters with high speed
EP0448725B1 (en) Character data compression method and character modification method
JPH05181454A (ja) 表示方式、その制御回路および表示装置
JPH02500695A (ja) 点順次で印刷されるデータの水平ラインプロセッサ
JPS59214893A (ja) 文字フオント縮小方式
JP2564513B2 (ja) プリンタ制御装置
JP3060349B2 (ja) 印刷制御装置、印刷制御方法、及び、印刷装置
JPS59125485A (ja) プリンタ装置のペ−ジ・メモリ
JPH0371028B2 (ja)
JP3054157B2 (ja) 文字処理装置および文字処理方法
JPH07115493B2 (ja) 縦横変換印刷方法
JPH06223058A (ja) 日本語処理装置
JPH0729448B2 (ja) プリンタ制御装置
JP2612402B2 (ja) 表示制御方法
JPH08153092A (ja) 文書処理装置
JP2901860B2 (ja) 文字データの生成方法
JPH04135867A (ja) 印刷装置
JPH1021226A (ja) 文書作成装置における印刷条件設定方法,文書作成装置及び記憶媒体
JPS61120755A (ja) プリンタ
JPH0538686U (ja) 電子機器