JP2613958B2 - 文書編集装置 - Google Patents

文書編集装置

Info

Publication number
JP2613958B2
JP2613958B2 JP2135122A JP13512290A JP2613958B2 JP 2613958 B2 JP2613958 B2 JP 2613958B2 JP 2135122 A JP2135122 A JP 2135122A JP 13512290 A JP13512290 A JP 13512290A JP 2613958 B2 JP2613958 B2 JP 2613958B2
Authority
JP
Japan
Prior art keywords
line
character
layout information
editing
text layout
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 - Fee Related
Application number
JP2135122A
Other languages
English (en)
Other versions
JPH0433052A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2135122A priority Critical patent/JP2613958B2/ja
Priority to US07/705,038 priority patent/US5287443A/en
Publication of JPH0433052A publication Critical patent/JPH0433052A/ja
Application granted granted Critical
Publication of JP2613958B2 publication Critical patent/JP2613958B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】 <産業上の利用分野> 本発明は計算機を利用した組版システム(CTS)、デ
スクトップパブリッシングシステム(DTP)、文書処理
ワークステーションあるいはワードプロセッサなどの文
書編集装置に関する。
<従来の技術> 上述のような文書編集装置では、一般に、文字列ある
いは文字列を囲むための枠等を挿入または削除する、あ
るいは、文字や枠のサイズを変更するなどの文書の編集
操作を行うと、編集対象の文字列等が挿入、削除あるい
はそのサイズが変更されるのに伴って、編集対象文字列
以降の編集対象外であった文字列についても、組版をや
り直さなければならない。
例えば、一文字挿入された場合を考えると、挿入され
た文字だけでなく、挿入された文字を含む行の挿入され
た文字以降の文字列をその表示位置を変えて再び表示し
直す(再文字表示する)。更に、その行から文字が溢れ
た場合には、その段落のそれ以降の文字列を再文字表示
し、もしこれによって行が増加した場合には、それ以降
のすべての文字列を再文字表示しなければならない。
従来、この再文字表示は編集前の位置に在った画面上
の文字の領域を一旦白く塗ってしまうことによって消去
した後、編集の結果の新しい位置にICメモリや外部記憶
装置から取り出したフォントのラスターイメージを画面
上に表示することによって行っていた。
<発明が解決しようとする課題> 従来の文書編集装置では、上述の再文字表示の処理を
編集の結果表示位置が変わって文字すべてに対して実行
するため、操作者による編集指示から編集結果の表示を
完了するまでの時間(レスポンスタイム)が長いという
問題があった。特に、多種類の書体や多くの文字サイズ
を扱い得る高機能文書編集装置では、使用頻度の低い文
字のフォントまでを含めて総てのフォントのラスターイ
メージをICメモリなどの内部記憶装置に持つことは、ハ
ードウエアの経済的な利用という面から非現実的である
ため、外部記憶装置に記憶しておいたり、アウトライン
などのベクターフォントの形式で持つことが多い。こう
いった装置では、外部記憶装置から各文字フォントのラ
スターイメージを読み出して拡大あるいは縮小したり、
あるいは、ベクターフォントを展開することなどによっ
てラスターイメージを得て、文字表示を行わなければな
らない。従ってこのような文書編集装置で上述のような
再文字表示を行うことは、表示系での負荷が大きくレス
ポンスタイムが長くならざるを得なかった。
マルチウインドウの機能を支援する装置で、他のウイ
ンドウで隠れていた部分の表示内容をラスターイメージ
で記憶装置に保存しておき、元の画面に復旧する際に、
記憶しておいたラスターイメージを表示することによっ
て、レスポンスタイムの短縮を図った装置がある。しか
し、こういった装置においても、編集に伴う再文字表示
は上述のように、編集の結果の新しい位置にICメモリや
外部記憶装置から取り出したフォントのラスターイメー
ジを画面上に表示しているために、再文字表示にかかる
レスポンスタイムの長さの問題は改善されていない。
そこで本発明の目的は、文書編集時に文字フォントの
ラスターイメージを得て再文字表示する文字の個数を減
らすことにより、新たに文字フォントのラスターイメー
ジを得て文字表示する時間を節約し、編集時の表示の高
速化を達成することにある。
<課題を解決するための手段> 上記目的を達成するために、本発明の文書編集装置
は、文書データを記憶する文書データ記憶部と、前記文
書データ記憶部に記憶された文書データを表示装置に表
示する際の行の配置に、文字移動と再文字表示と処理不
要とを示す処理フラグを行単位ごとに関連付けて表すテ
キストレイアウト情報を編集操作の前と後とに分けてそ
れぞれ記憶するテキストレイアウト情報記憶部と、前記
文書データ記憶部に記憶された文書データを前記テキス
トレイアウト情報記憶部に記憶された編集前のテキスト
レイアウト情報に基づいて表示装置に表示するためのイ
メージデータを記憶する表示イメージ記憶部と、入力装
置から入力される操作者の指示にしたがって前記テキス
トレイアウト情報記憶部に記憶された編集前のテキスト
レイアウト情報と前記文書データ記憶部に記憶された文
書データとから編集後のテキストレイアウト情報を作成
して前記テキストレイアウト情報記憶部に記憶するとと
もに前記文書データ記憶部に記憶されている文書データ
を更新する編集部と、前記テキストレイアウト情報記憶
部に記憶された編集前のテキストレイアウト情報と編集
後のテキストレイアウト情報とを比較し、前記処理フラ
グに基づいて、行の配置の変化のあった行のみを文字移
動処理または再文字表示処理して、前記表示イメージ記
憶部の内容を更新する処理部とを備えたことを特徴とす
る。
また本発明に係る文書処理装置は、前記テキストレイ
アウト情報記憶部が編集前テキストレイアウト情報と編
集後テキストレイアウト情報とを区別するためのポイン
タを備え、前記編集部が、前記処理部による前記イメー
ジ記憶部の内容の更新処理終了後、前記ポインタを切り
替えて編集後テキストレイアウト情報を編集前テキスト
レイアウト情報として更新することを特徴とする。
<作用> 文書データ記憶部に記憶された文書データを表示装置
に表示する際の行の配置に、文字移動と再文字表示と処
理不要とを示す処理フラグを行単位ごとに関連付けて表
すテキストレイアウト情報を、編集操作の前と後とに分
けてそれぞれを編集前テキストレイアウト情報及び編集
後テキストレイアウト情報としてテキストレイアウト情
報記憶部に記憶する。表示装置に表示するイメージデー
タはテキストレイアウト情報記憶部に記憶された編集前
テキストレイアウト情報に基づいて構成されて表示イメ
ージ記憶部に記憶されている。入力装置から入力される
操作者の指示にしたがって、編集部が、テキストレイア
ウト情報記憶部に記憶されている編集前のテキストレイ
アウト情報と文書データ記憶部に記憶されている文書デ
ータとから編集後のテキストレイアウト情報を作成して
テキストレイアウト情報記憶部に記憶すると同時に文書
データ記憶部に記憶されている文書データを更新する。
その後処理部によって、テキストレイアウト情報記憶部
に記憶されている編集前テキストレイアウト情報と編集
後テキストレイアウト情報とを比較し、前記処理フラグ
に基づいて、行の配置の変化のあった行のみを文字移動
処理または再文字表示処理して、表示イメージ記憶部の
内容を更新する。
<実施例> 以下、本発明を図面を用いて説明する。
第1図は本発明に係る文書編集装置の一実施例のブロ
ック図である。
第1図において符号4は文書データ記憶部であって編
集の対象となる文書データが保存されている。操作者は
ディスプレイ10に表示されたテキストを見ながら、入力
装置1を通して文書編集装置に、文字列の挿入や削除、
属性の変更あるいは枠の設定、削除、移動などの編集指
示を与える。この編集指示を受けて編集部2は各テキス
トのディスプレイ10上でのレイアウト位置を求める。表
示処理部3は編集に伴う再表示処理を行う。ディスプレ
イ10上に表示されているイメージは表示イメージ記憶部
8に記憶されている。この表示イメージ記憶部8は編集
しているページ全体のラスターイメージまたは表示装置
の編集用に与えられた領域(ウィンドウ)のラスターイ
メージを保持しており、ウィンドウバッファとも呼ばれ
る。表示イメージ記憶部8は表示イメージ管理部7によ
って管理される。符号9は表示装置制御部であり、表示
イメージ記憶部8の内容を画面、ウィンドウの大きさ、
重なりなどを考慮してディスプレイ10に表示する。編集
操作前のディスプレイ10上の各テキストの配置情報が編
集前テキストレイアウト情報記憶部6に、編集後の各テ
キストの配置情報が編集後テキストレイアウト情報記憶
部5にそれぞれ保持されている。編集前テキストレイア
ウト情報記憶部6の情報から、ディスプレイ10上に現在
表示されている各文字列のラスターイメージが表示イメ
ージ記憶部8のどこに保持されているかを知ることがで
きる。また、編集後テキストレイアウト情報記憶部5の
情報により、再表示するべきテキストあるいは新しく表
示するべきテキストに関して、その位置、文字サイズな
どの属性を知ることができる。編集部2は編集前テキス
トレイアウト情報記憶部6の内容および文書データ記憶
部4の内容を基にして、編集後テキストレイアウト情報
記憶部5に保持される編集後テキストレイアウト情報の
作成および文書データ記憶部4の文書データの変更を行
う。
使用領域管理部11には処理の最初に編集前テキストレ
イアウト情報記憶部6の内容から再表示前の再表示対象
となっている行の領域を登録する。その後、テキストの
再表示処理が進むに従って、文字列の転送、削除がある
度に転送元の行や削除した行に関する情報をこの使用領
域管理部11から消去して行く。これによってイメージ転
送処理を合理的に進めることができる。
さらに、複数の行あるいは文字を一度に転送あるいは
削除すると1行ずつあるいは1文字ずつ描画するよりも
描画回数が少なくなって描画ルーチンの負荷を軽くする
ことができ、再表示ルーチンの高速化につながる。この
ために本文書処理装置では行転送バッファ12、行削除バ
ッファ13、文字転送バッファ14及び文字削除バッファ15
を備えている。
第2図は本発明の一実施例における編集の流れを説明
する図である。同図のq1において操作者の編集指示によ
り編集部2が、q2において、編集処理を行い、その結果
のテキストのレイアウトを求める。このとき、再組版し
たテキストに関して、レイアウト結果を編集後テキスト
レイアウト情報記憶部5に記憶する。このとき、新しい
編集後(編集結果)のテキストレイアウト情報を編集後
テキストレイアウト情報記憶部5に、編集前のテキスト
レイアウト情報を編集前テキストレイアウト情報記憶部
6にそれぞれ保持する。続いて、同図のq3において、表
示処理部3が編集後テキストレイアウト情報記憶部5の
内容と編集前テキストレイアウト情報記憶部6の内容に
より、再表示処理を行う。
再表示処理の概略フローチャートを第3図に示す。同
図のr1において再表示テキストを「文字列消去する部
分」、「新たに文字列表示する部分」、「イメージ移動
処理する部分」、「再文字表示処理する部分」及び「処
理不要な部分」に分割する。ここで「文字消去する部
分」とは、文字列の削除編集により削除されたテキス
ト、あるいは文字列や枠の挿入によりその画面/ページ
よりはみ出したテキストなどであり、編集前テキストレ
イアウト情報よりその領域を求め、表示イメージ記憶部
8のイメージ情報より消去する必要がある部分である。
また「新たに文字列表示する部分」とは、文字列の挿入
編集により挿入されたテキスト、あるいは文字列や枠の
削除などによりその画面/ページに新たに入ってきたテ
キストなどであり、編集後テキストレイアウト情報より
その位置を求め、文字列表示する必要がある。書体や文
字サイズなど属性変更編集の対象になった文字列などは
「文字列消去する部分」でかつ「新たに文字列表示する
部分」である。編集対象外または編集対象文字列で属性
が変化しなかったテキストでありかつ編集前も編集後も
この画面/ページにあるテキストは、位置が変化したテ
キストと変化しなかったテキストに分けられる。位置が
変化しなかったテキストは「処理不要な部分」であり、
何もする必要がない。位置が変化したテキストは、表示
イメージ記憶部8内において「イメージ移動処理する部
分」と「再文字表示する部分」に分けられる。この「再
文字表示する部分」は、同図r2で、「文字列消去する部
分」および「新たに文字列表示する部分」の両方に登録
する。
このイメージ移動で処理するか、再文字表示で処理す
るかの判断は、イメージ移動の処理時間、再文字表示の
処理時間および、イメージ移動を段落単位、レイアウト
行単位、文字列又は文字単位、あるいはこれらの複合で
行うかなどに依存する。より細かい単位で、できるだけ
多くをイメージ移動で処理しようとすると、処理方法が
複雑になる。したがって、その判断は、文字表示の処理
速度、イメージ移動の処理速度、処理方法の複雑さおよ
び編集前テキストレイアウト情報記憶部6、編集後テキ
ストレイアウト情報記憶部5の記憶容量等を考慮して決
定する必要がある。次にr3で、まず「文字列消去する部
分」をイメージ領域から消去する。このとき、小さな領
域ごとにイメージ消去することによるオーバーヘッドを
減らし、より高速化するために、消去すべきイメージ領
域をまとめてブロック化する。続いてr4、r5、r6で「イ
メージ移動処理する部分」を処理する。すなわち、イメ
ージ領域移動の順序を決定し、その順序でイメージ移動
する。このとき、小さな領域ごとにイメージ移動するこ
とによるオーバーヘッドを減らし、より高速化するため
に、r5で移動すべきイメージ領域をまとめてブロック化
する。このとき、表示イメージ記憶部8に、編集前の表
示イメージと編集後の表示イメージの両方を保持するこ
とができる系では、イメージ移動の順序は考慮する必要
がなく、処理も非常に簡単化できる。また、このような
系では「再文字表示処理する部分」をなくし、すべてを
「イメージ移動処理する部分」にすることができる。次
に、「新たに文字列表示する部分」のテキストを、新た
に文字のラスターイメージを得て表示処理を行う。最後
に、編集前テキストレイアウト情報を編集後テキストレ
イアウト情報として更新する。
編集による変更が少なく、影響がある段落で収まり、
行の増減がなければ、影響のある行からその段落の最後
までのテキストだけを再組版および再表示するだけで済
む。また、たとえ行が増加または減少した場合でも編集
対象となったテキスト以外の多くのテキストが文字列の
再位置決め処理(再組版)の必要がなく、レイアウト行
の移動で済む。特に、編集対象のテキストを含む段落以
外でかつ、レイアウト行の長さを短くする要因、すなわ
ち段領域の(全部ではなく)一部にかかるような枠がな
い場合には、レイアウト行の移動だけで済む。このレイ
アウト行の移動で処理した行は、表示もイメージ移動で
済む。
第11図の例では同図(a)のような文書の▲印の箇所
に5文字追加した場合を示している。このとき、編集結
果を示す同図(b)において、符号111の付された行は
レイアウト行の移動で済んだ行であり、符号112の付さ
れた行は再位置決め処理する必要があった行を表してい
る。このレイアウト行の移動で済むかどうかの判断は、
編集前の行の領域と同じ形状の領域を確保できるかどう
か、すなわち、編集前の行と同じ長さを確保できるかど
うかで決めることができる。ただし、ある段落のある行
でレイアウト行の移動では処理できず再位置決め処理が
必要になると、それ以降のその段落の各行も再位置決め
処理が必要になる。
編集前テキストレイアウト情報記憶部6に記憶される
編集前テキストレイアウト情報の構造を第4図(a)
に、編集後テキストレイアウト情報記憶部5に記憶され
る編集後テキストレイアウト情報の構造を第4図(b)
に、それぞれ示す。第4図(a)の編集前テキストレイ
アウト情報において符号41は行の位置であり、行の基準
点(例えば、左下の点)の座標を示す。42は行の高さ
で、43は行の長さを示す。符号44の処理フラッグは消去
すべき行か、イメージ移動すべき行かを示すフラッグで
ある。文字列情報45は文字コードの他に文字表示に必要
な書体あるいはサイズなどの文字属性、文字の送りなど
の情報を持っている。第4図(b)の編集後テキストレ
イアウト情報の処理フラッグ54の内容は、文字表示する
行かイメージ移動すべき行かを示している。編集部2は
操作者の指示に従って文書データ記憶部4の文書データ
と編集前テキストレイアウト情報記憶部6の編集前テキ
ストレイアウト情報とを入力として、文書データと編集
後テキストレイアウト情報をそれぞれの記憶部に出力
し、以下の情報を編集部2から表示処理部3に渡す。
(1)編集後テキストレイアウト情報(第4図(b)) 実際に再組版を行った範囲のみ、すなわち、属性の変
化あるいは位置の変化のあった範囲のテキストについて
のみこのレイアウト情報を持つ。この情報は第4図
(b)のように行単位で扱う。この情報が空のとき新た
に文字列表示およびイメージ移動処理をする必要がない
(文末のテキストを行単位で文字列削除編集した時な
ど、この編集後テキストレイアウト情報が空である場合
がある)。
(2)再組版対象範囲(第4図(c)) 編集前テキストレイアウト情報に対してスタート行、
エンド行の組。編集前のテキストについて、再組版を行
った範囲、すなわち、属性の変化あるいは位置の変化の
あったテキストの範囲を示す。文字列編集では、一般に
は、操作者が実際に編集指示した範囲の先頭の行がスタ
ート行であるが、行頭/行末禁則文字などの関係で前の
行にも影響を与えた場合には前の行がスタート行にな
る。
例えば、第12図のように(a)から(b)へまたは
(b)から(a)へ文字列の書体および飾り属性を変更
した時には、その属性変更編集の対象になった文字列を
含む行が再組版対象範囲となる。
第13図では第2行目の「、」が行頭禁則文字であり
「が」(符号131)が前の行より追出し処理されてお
り、第1行目の字間が他の行より広くなっている。この
文書より「、」を削除すると(b)のように「が」が前
の行に戻り、その行の字間が変わるため再組版対象範囲
は前の行(第1行目)がスタート行になる。
第14図は第3行目の「(」が行末禁則文字であ
り「(」が前の行より追出し処理されており、第2行目
の字間が他の行より広くなっている。この文書より符号
141の文字列を削除すると(b)のように前の行に1文
字戻り、その行の字間が変わるため、再組版対象範囲は
前の行(第2行目)がスタート行になる。枠の作成、削
除、サイズ変更、移動などの枠編集の場合は、編集によ
り行の長さが変化した最も文頭よりの行から始まる。終
わりは、属性または位置が変化した最後の行またはその
画面あるいはページの最後の行(すなわち、編集前テキ
ストレイアウト情報内の最後の行)である。
例えば、第15図(a)は符号151のような枠を作成す
るときの再組版対象範囲のスタート行とエンド行を示し
ている。また、第15図(b)は符号152の枠を削除する
ときの再組版対象範囲を示している。
また、第16図は161で示す枠を162で示す位置に移動す
る場合の再組版対象範囲を示している。文書の最後に文
字列を入力した場合などで、前後のテキストなどに影響
を与えなかった時、これが空になる場合がある。
(3)編集前テキストレイアウト情報(第4図(a)) 編集前テキストレイアウト情報の再組版対象範囲につ
いて、処理フラッグを(文字消去またはイメージ移動
に)セットする。
(4)テキスト消去領域(第4図(d)) テキストを消去すべき領域であり、左上の座標:(X
1,Y1)、右下の座標:(X2、Y2)の組。これは枠移動編
集などを行ったとき、その枠内に写真イメージや他のテ
キストなどがあり、その枠内容の移動を優先するため、
その枠の移動先の領域のテキストが消去されることを示
す。枠移動編集の対象の枠内容が空の場合や、枠の内容
より外のテキスト優先する場合には、この領域は不要で
ある。
(5)イメージ移動の方向(第4図(e)) イメージ移動が文頭から文末方向への移動(→)のみ
か,逆に文末から文頭方向への移動(←)のみか、ある
いは、その両方向の混合(→←、←→)が必要か、さも
なければイメージ移動処理が存在しないかを示す(この
情報は処理を高速化するためのフラッグであって、この
情報がなくても、処理上問題はない。)イメージ移動の
方向(順序)は以下のようにして決定する。文字列の挿
入、複写、文字列置換、文字サイズ変更などの文字列編
集でその領域(行)が増加した場合、または文字間、行
間などの体裁(書式)変更を行い文字間、行間が増加し
た場合、枠作成・枠サイズ変更により文字列が影響を受
け、その領域(行)が増加した場合には文頭から文末方
向へ移動(→)のみで済む。逆に文字列の削除、文字列
置換、文字サイズ変更などの文字列編集で、その領域
(行)が減少した場合、または、文字間、行間など体裁
(書式)変更を行い文字間、行間が減少した場合、枠削
除・枠サイズ変更により文字列が影響を受け、その領域
(行)が減少した場合には、文末から文頭方向への移動
(←)のみで済む。これらの編集で領域(行)の増減が
ない場合は、イメージ移動する行が存在しない。文字列
の移動の場合や枠の移動の場合には、一般に、一方向の
みの移動では一部しか移動できず両方向のイメージ移動
が必要である。
さて、編集部で再位置決め処理をおこなった行には編
集前テキストレイアウト情報の処理フラッグ44が文字消
去に、編集後テキストレイアウト情報の処理フラッグ54
が文字表示にセットされている。また、レイアウト行の
移動で処理した行には、編集前テキストレイアウト情報
の処理フラッグ44がイメージ移動に、編集後テキストレ
イアウト情報の処理フラッグ54もイメージ移動にセット
されている。
文字列の挿入・複写、テキスト呼び出し(読み込み)
などにより、新しく出現した行についての、編集後テキ
ストレイアウト情報の処理フラッグ54は文字表示にセッ
トされている(このテキストに対する編集前テキストレ
イアウト情報は存在しない)。文字列の削除・切り取り
などにより削除された行についての編集前テキストレイ
アウト情報の処理フラッグ44は文字消去にセットされて
いる(このテキストに対する編集後テキストレイアウト
情報は存在しない)。
文字列の挿入・複写、枠の挿入などの編集操作によ
り、その画面/ページよりはみ出したテキスト(行)に
ついては、編集前テキストレイアウト情報の処理フラッ
グ44が文字消去にセットされる(このテキストに対する
編集後テキストレイアウト情報は存在しない)。文字列
の削除・切り取り、枠の削除などの編集操作によりその
画面/ページに新たに入ってきたキテスト(行)につい
ては、編集後テキストレイアウト情報の処理フラッグ54
が文字表示にセットされる(このテキストに対する編集
前テキストレイアウト情報は存在しない)。
第17図のように、段抜き見出し175を作成した場合あ
るいは段抜き見出し用の枠を作成した場合にはテキスト
の流れ方が変わる。テキストは171、172、173、174の順
で流れるている。このとき各行は、再組版時には、レイ
アウト行の移動で済むが、再表示をイメージ移動でしよ
うとすると172と173とのイメージの交換が必要であり、
少なくとも一方の一部あるいは全部を退避または消去す
る必要がある。この処理例では、一方のテキストをすべ
て消去し、他方のイメージ移動の後に、文字列表示する
方法を採用する。また、消去&文字列表示する側の選択
は消去&文字列表示の処理時間の少ない方を選ぶのがよ
いが、この例では簡単のために、文書の先頭側を優先
し、イメージ移動で処理する場合について述べる。
すなわち、この消去&文字列表示するテキストを、次
のような手順で決定する。第18図(a)のテキストの流
れ(図中に丸印で囲んだ数字が流れる順序を示す)が第
18図(b)(図中に四角で囲んだ数字が流れる順序を示
す)のように変更されたとき、第19図のように、編集前
の順序と編集後の順序を比較し、編集前の順序が編集後
の順序よりも大きいとき、その領域(第18図の領域19
1、192)内の編集前の文字列が消去&文字列表示するテ
キストになる。
第20図のようにテキストの流れを変える枠201が同図
(a)から(b)へと移動編集された場合、この手順に
従えば、第21図の領域211、212内の編集前の文字列が消
去&文字列表示テキストになる。
この消去&文字列表示するテキストは編集部2で求め
られ、その結果が、再組版をレイアウト行の移動で処理
したのにもかかわらず、編集前テキストレイアウト情報
の処理フラッグ44が文字消去に、編集後テキストレイア
ウト情報の処理フラッグ54が文字表示にセットされる。
つぎに、第5図から第10図のフローチャートに従って
表示処理の手順を説明する。
(1)枠移動にともない枠の表示内容のイメージ移動が
優先されるときなど、テキスト消去領域が存在する場
合、テキスト消去領域に対する処理(s1)を行う。すな
わち、再組版対象範囲の編集前テキストレイアウト情報
をサーチして処理フラッグ44がイメージ移動になってい
る行で、かつテキスト消去領域にかかっている行があれ
ば、編集前テキストレイアウト情報のその行の処理フラ
ッグを文字消去に、その行に対応する編集後テキストレ
イアウト情報の行の処理フラッグ54を文字表示に変更す
る。
(2)消去対象になっている行について、文字列消去処
理(s2)をおこなう。すなわち、再組版対象範囲の編集
前テキストレイアウト情報を前から順に調べて、処理フ
ラッグ44が文字消去になっている行のラスターイメージ
を表示イメージ記憶部8から消去する。このとき、高速
化のために連続する行はできる限りまとめてブロック化
し、その領域をイメージ消去する。枠の削除、枠のサイ
ズ変更、枠移動などの編集により枠の表示内容のイメー
ジを消去する必要がある場合には、ここで、その領域の
イメージ消去をおこなう。
(3)枠移動編集などにともないイメージ移動すべき枠
内容がある場合には、その枠内容イメージの移動処理
(s3)をおこなう。
(4)文字列のイメージ移動処理(s4)をおこなう。第
6図にイメージ移動処理の詳細を示す。イメージ移動で
処理すべきテキスト(行)がある場合、文頭方向への移
動処理(t1)と文末方向への移動処理(t2)の2回に分
けておこなう。これは、イメージ移動により未移動(後
で移動予定)のイメージを消去(崩壊)することを避け
るためである。ただし、イメージ移動の方向が文頭から
文末方向への移動のみのときは文頭方向への移動処理を
省略し、また文末から文頭方向への移動のみのときは文
末方向への移動処理を省略する。文頭方向への移動処理
を第7図に文末方向への移動処理を第8図に示す。ま
た、第9図にブロック化の処理を第10図にブロックのイ
メージ移動の処理を示す。文頭方向への移動処理では、
編集後テキストレイアウト情報および編集前テキストレ
イアウト情報の先頭の行から順に(第7図のu2、u4、u
6、u8)イメージ移動処理する各行について編集後テキ
ストレイアウト情報内の行位置と編集前テキストレイア
ウト情報内の行位置を比較して、文頭方向への移動であ
ればブロック化(第7図のu7)し、ブロック単位でイメ
ージ移動(第7図のu3、u5及び第9図のw2)する。連続
する行のみのブロック化を仮定しているため、イメージ
移動する行が不連続になる場合にはその時点でブロック
のイメージ移動を行う(u3、u5)。また、終了前にはバ
ッファに残っているブロックのイメージ移動を行う(u
9)。第9図中のバッファ内容とブロック化が可能であ
るための条件(w1)は現在ブロック化しようとしている
行とバッファに登録されている一つ前の行とが同じ段に
あり、行長が一致し(これはブロック化を矩形領域に限
定している場合の制約であり、ブロックとして多角形が
許される場合などはこの制約は不要である)、かつ行間
が編集後テキストレイアウト情報と編集前テキストレイ
アウト情報との間で一致することである。
文末方向への移動処理では、編集後テキストレイアウ
ト情報および編集前テキストレイアウト情報の最後の行
から順に(v2、v4、v6、v8)、処理する以外は、文頭方
向への移動処理とほぼ同様である(第8図参照)。
(5)残りの表示されていない行について、文字列表示
処理(s5)する。すなわち、編集後テキストレイアウト
情報を前から順に調べて、処理フラッグ54が文字表示に
なっている行について、個々の文字のフォントのラスタ
ーイメージを得て文字列の表示処理をする。枠への図版
の貼り付け、枠のサイズ変更、枠移動などの編集によ
り、枠の内容を表示(または再表示)する必要がある場
合には、ここで、枠内容の表示をおこなう。
(6)最後に、編集結果の画面/ページに合わせて編集
前テキストレイアウト情報を更新する。すなわち、編集
前テキストレイアウト情報の再組版対象範囲を編集後テ
キストレイアウト情報で置き換える。
この更新は、テキストレイアウト情報記憶部にポイン
タを設けて、このポインタを編集部によって切り替える
ことによって行う。これによって編集後テキストレイア
ウト情報記憶部5の内容と編集前テキストレイアウト情
報記憶部6の内容とを物理的に入れ換えることなく、編
集後のテキストレイアウト情報を編集前テキストレイア
ウト情報として容易に更新することができる。
以上の処理により、従来技術に比べ、編集時に、文字列
の再位置決め処理を行うテキストの減少による高速化、
個々の文字のフォントのラスターイメージを得て、表示
処理するテキストの減少による高速化が達成できる。
次に第35図と第36図の例を用いて、さらに具体的な実
施例を以下に説明する。
第35図は編集前の表示状態を示しており、横書き2段
組で中央に枠を配置してある。この中央の枠を操作者に
よって2文字分左に移動して、第36図のように編集する
場合を例にとる。
操作者が入力装置1を通して編集操作を指示すると編
集部2は編集前テキストレイアウト情報記憶部6に記憶
されている編集前テキストレイアウト情報と文書データ
記憶部4に記憶されている文書データとを元に編集後テ
キストレイアウト情報記憶部5に記憶する編集後テキス
トレイアウト情報を作り出す。第35図及び第36図の下辺
及び左辺に記した数字はこのページ上でのX座標及びY
座標を表している。また、図中に実線で囲んだ部分は、
各々の囲みの右上部に丸で囲んで示した数字の順で一括
して処理される。
第22図から第34図に本実施例のフローチャートを示
す。この手順に従って転送を実行して行くと符号351を
付した領域から352の領域までを転送処理することにな
る。
本実施例での編集前テキストレイアウト情報は第37
図、編集後レイアウトテキスト情報は第38図のようにな
っている。両図において、符号371から3710及び符号381
から3811はそれぞれ1つの行を表しており、この中にX
座標、Y座標、行長、行高、行に含まれている文字数、
処理フラグを格納している領域がある。ただし、座標は
第41図のように行の左下の位置の座標を記憶してある。
また、3711と3812は文書データ記憶部4の中の文書デー
タであって、各文字について文字送りなどを格納してお
く文字属性領域と処理フラグの領域で構成されており、
図面の理解を容易にするために各図面に図示しているが
実態としては同じものである。なお、 は改行を表す制御コードである。初期状態は各行、各文
字に対する処理フラグはすべてOFFになっている。
第39図は使用領域管理部11の初期状態である。この情
報は第22図g1の処理で第37図編集前テキストレイアウト
情報の行情報から作り出す。第22図は再表示するために
用いるデータ領域を初期化するルーチンである。g1でそ
の時点で表示されているすべての行を編集前の状態で使
用領域管理部11に登録しておく。段落の最後に改行コー
ドが入っている行のように、実際の文字列の長さがテキ
ストを配置する流し領域の幅(テキストを配置すること
のできる最大の長さ)より小さい行(第35図の353等)
は流し領域の幅を登録し、前半の文書の後ろから前に転
送する処理の中で逆方向への転送をできるだけしないよ
うに防いでおく。g2、g3、g4、g5で行転送、行削除、文
字転送、文字削除で使うバッファをクリアする。
具体的には、第37図の編集前のレイアウト情報のなか
の行の情報のX座標、Y座標、行高を取り出す。行長は
流し領域の幅(ここでは100)を入れておき、これらを
ポインタでつないで、第39図のようにする。この結果、
第43図に示すように各領域が使用領域管理部11に登録さ
れる。また、行転送、行削除、文字転送、文字削除で使
うバッファは左上、右下の座標をすべて0にしておく。
第23図は再表示をする処理の前半部分のフローチャー
トである。この部分で文書の先頭に遠い方から近い方へ
の転送と転送で処理できない文字の削除を行う。
まず、a2で実際に編集した文字列の表示を画面から削
除し、さらに削除した領域は使用領域管理部11からも消
去する。a3からa16で編集操作によって移動した行また
は文字を文書の先頭に近い行から遠い方へ順に転送で処
理できるかどうかチェックする。a3にて編集文字列の先
頭の行の情報(行の座標、行長、行高、先頭の文字を指
すポインタ)を編集前テキストレイアウト情報記憶部6
からLに取り出す。a4でLに対応するL′を編集後レイ
アウト情報記憶部8から取り出し、a5で転送で処理でき
るか否か調べる。
再組版処理の範囲は編集部2によって定められる。つ
まり、開始位置は文字列の挿入、削除、属性変更の起こ
った行であり、また、枠作成や枠移動などをしたときは
その枠操作によって影響を受ける行の最も文書の先頭に
近い行である。終了位置は編集操作の影響がある範囲の
最後の位置である。例えば再組版処理は編集操作によっ
て起こった文字列の増加が、段落の切れ目の改行した後
に空白が広く空いていれば、この位置で行の増加がなく
なり再組版処理も終了する。ところが空白が狭いと順に
次の段落にも影響して再配置処理をし、最悪の場合その
ページの最後まで再組版処理しなければならない。
具体的には第35図の352を含む行が再組版処理のスタ
ート行であって、第37図の編集前のテキストレイアウト
情報の374がこれに相当するのでこの情報をLに入れ
る。そして、第38図の編集後のレイアウト情報の中の38
1に保持されている行の座標、行長、行高、先頭の文字
を指すポインタ等のデータをL′に入れて、次の式を満
たすまで編集後テキストレイアウト情報中の381から順
に382、383へとL′へ入れる情報を変化させる。
(Lの行の先頭の文字を指すポインタ)≧(L′の行の
先頭の文字を指すポインタ) かつ (Lの行の先頭の文字を指すポインタ)≦(L′の行の
先頭の文字を指すポインタ)+(L′の行に含まれてい
る文字数) この結果384がL′に入った時点で上の式が満足され
る。そしてa7で行L′の位置の表示イメージ記憶部8に
文字が存在しているかどうか使用領域管理部11で管理し
ているデータを調べる。具体的には、まず、第39図の先
頭の391から392、393へと順に注目し(注目している行
をlとする)、すべての行について次の式を満たせば行
L′の位置にはウインドウバッファで文字が存在してい
ないことになる。
((L′のX座標)+(L′の行長)<(lのX座標)
または(L′のX座標)>(lのX座標)+(lの行
長) かつ、 ((L′のY座標)−(L′の行高)<(lのY座標)
または(L′のY座標)>(lのY座標)−(lの行
高)) 第35図の354の処理のときはL′に3811の情報が、ま
たこの時点で第39図の使用領域管理部からは399の情報
が第31図j6で消去されているので上の条件を満たす。
文字が存在しなければ転送できるのでa8の行転送処理
をする。そうでないときは文書の先頭に近い方から遠い
ほうへの転送処理となるので、この行はメインの後半で
処理できるようにa10で未処理マークをつける。
a5で転送できないと判断したときはa12で文字単位で
処理するルーチンへ飛び、a13で行に文字単位で処理し
たマークを付けておく。具体的には未処理マークや文字
単位処理マークは行Lを取り出した元の行情報(例えば
374がLに入っているときは374)の処理フラグの中の各
のフィールドをONの状態にすることによってマークをつ
ける。またa8の行転送処理では、連続して転送できる行
はまとめて転送するための情報を行転送バッファ12に記
憶している。具体的には行転送バッファ12は第40図
(a)のように、領域の左上と右下の座標を記憶してい
る。この行転送バッファ12には未転送の転送すべき連続
した行が保存されているのでa8の行転送処理に入らない
ときはたまっている行転送バッファ12のデータを吐き出
させる必要があり、この処理を第23図a9及びa11で行
う。
a14で次の行を調べるためにLに今調べた行の次の行
を編集前テキストレイアウト情報情報記憶部6からとり
だして入れ、a15で処理しなければならない最後の行の
処理が終わったかどうかを判断する。具体的には、次の
行を指すポインタをたどり、次の行の情報をLに入れ
て、最後の行かどうかの判断を行う。つまり、エンド行
は3710を指しているので、処理し終わった行が3710かど
うか調べれば良い。この判断でまだ、終わっていなけれ
ばa4の処理に戻る。
最後に、a16で行転送処理で使っている行転送バッフ
ァ12にデータがあれば吐き出させる。
第24図は再表示をするメイン部の後半部分である。こ
の部分でメイン部の前半とは反対に文書の先頭に近い方
から遠い方への転送と、新しく発生した文字および転送
で処理できない文字の表示を行う。また、複数の文字お
よび行が互いに位置が入れ代わるようなときは一部を削
除および表示で再表示を行い、残りを転送で再表示す
る。行が互いに入れ代わる場合というのは、先に第17図
で説明したような場合である。
まずb1で表示しているページから表示していないペー
ジに移動してしまった行の表示を削除し、使用領域管理
部11からその行の情報を消去する。
そしてb2からb13で前半部分とは逆に、編集操作によ
って移動した文字を文書の先頭に遠い行から近い方へ順
に転送で処理できるかとうかチェックする。まず、b2に
て移動文字列の最後の行の座標、行長、行高、先頭の文
字を指すポインタ等の情報を編集前テキストレイアウト
情報記憶部6からLに取り出す。具体的にはエンド行の
情報3710を指しているので、3710の情報をLに入れる。
b3で未処理のマークが付いているかどうかを調べ、マー
クが付いている行についてだけb4からb11までの処理を
する。次に、b4で文字単位処理マークがあるかどうか調
べ、ないときは行単位で処理する。b5で行Lに対する編
集後の位置がa7と同様に使用領域管理部11で他のどの文
字にも重なっていないかどうか調べる。具体的にはま
ず、第39図の先頭の391から392、393へと順に注目し
(注目している行をlとする)、すべての行について次
の式を満たせば行L′の位置の表示イメージ記憶部8に
は文字が存在していないことになる。
((L′のX座標)+(L′の行長)<(lのX座標)
または(L′のX座標)>(lのX座標)+(lの行
長)) かつ ((L′のY座標)−(L′の行高)<(lのY座標)
または(L′のY座標)>(lのY座標)−(lの行
高)) 第35図の355の処理のときはL′に第46図の情報が、
またこの時点で第39図の使用領域管理部11からはこの領
域を指し示していた情報が第25図c6で消去されているの
で上の条件を満たす。もし重なっていなければb7の行転
送処理を行う。重なっていれば転送では処理できない行
なのでb9でこの行を削除しておく。
また、b4で行単位で処理できないと判断するとb11の
文字単位の処理を行う。
ここでも第23図a8、a9、a11と同様に行転送を行転送
バッファ12を用いてb7、b8、b10で行う。また、行削除
処理も行転送処理と同様に行削除バッファ13を用いて連
続した行はまとめて削除する。具体的には、行削除バッ
ファは第45図(c)のように領域の左上と右下の座標を
記憶しているだけである。b9の行削除処理に入らないと
きは、行削除バッファ12を吐き出させることが必要であ
り、この処理をb6、b10で行っている。
b12で次の行(文の流れる順序では前の行になる)を
調べるために、Lに今調べた行の前の行を編集前テキス
トレイアウト情報記憶部6から取り出して入れ、b13で
処理しなければならない最初の行の処理が終わったかを
判断する。具体的には、1つの前の行をLに入れて、ス
タート行の情報が374を指しているので、処理し終わっ
た行が374かどうか比較する。判断の結果、まだ処理が
終わっていなければb3の処理に戻る。そして、b14で行
転送バッファ12及び行削除のバッファ13にたまっている
データがあれば吐き出させる。
最後に、b15で編集後テキストレイアウト情報記憶部
5に記憶されている編集後のテキストレイアウト情報を
調べ、まだ表示していない行や文字を表示する。表示し
ているかどうかは編集後テキストレイアウト情報に、行
単位に転送したときは行に、文字単位に転送したときは
文字に表示済マークがつけであるので、編集後テキスト
レイアウト情報の中の情報(381から3811)及び文字列
(3812)を先頭から順に処理フラグの領域を調べて、表
示済マークの付いていない行や文字はまだ表示していな
い行あるいは文字であると判断してこれらを表示する。
第25図は行を転送するためのバッファを取り扱う処理
である。行転送は複数の行を一度に転送すると描画ルー
チンの負荷が軽くなり、転送処理が高速になるのでバッ
ファを用いてできるだけ広い範囲をためておくようにす
る。
まずc1で保存されている領域があるかどうかを調べ、
あればc2で今処理している行Lが保存している領域と接
しているかどうかを調べる。以下の条件をすべて満たす
時、2つの領域が接していると判断する。
(1)行Lの開始位置のX座標と行転送バッファ12内の
保存領域の左端(縦書きの場合は上端)のX座標とが等
しい。ここでX座標とは文字の並んでいる方向の座標、
つまり、横書きの場合は横方向、縦書きの場合は縦方向
の座標を表す。
(2)行Lの終了位置のX座標と行転送バッファ12内の
保存領域の右端(縦書きの場合は下端)のX座標とが等
しい。
(3)行Lと行転送バッファ12内の保存領域の間の行送
りまたは行間が編集前と編集後とで等しい。
もし接していないときはc3で行転送バッファ12内の保
存領域を一旦転送させてしまい、c4で行転送バッファ12
をクリアする。c5で行Lを行転送バッファ12に付け加
え、c6で転送元の行を使用領域管理部11で管理している
行情報から消去し、編集後のテキストレイアウト情報に
表示済マークを付けておく。
具体的には、第35図の356、357の文字列の編集前テキ
ストレイアウト情報が第42図(a)、編集後テキストレ
イアウト情報が第42図(b)である。ここで421、422が
編集前の357に、423が編集前の356に、424、425が編集
後の356に、426が編集後の356に対応する行にそれぞれ
相当する。行転送バッファ12は、357の下の行が入れら
れると第44図(a)のようになる。次にLに357の上の
行(第42図(a)の符号421)の情報が入れられ、上で
述べた条件を調べるとすべて満たしているのでc5及びc6
を実行し、行転送バッファ12は第44図(b)のようにな
る。
第26図は行転送バッファ12を吐き出させるルーチンで
ある。d1で行転送バッファ12にデータがあるか調べ、あ
ればd2で行転送バッファ12に保存されている領域を転送
する命令を描画ルーチンに送る。
第27図は行を削除するための行削除バッファ13を取り
扱う処理である。行転送処理と同様の処理をする。削除
についても複数の行を一度に削除することによって、表
示イメージ管理部7の負荷が軽くなり削除処理の高速化
になる。まず、e1で保存されている領域があるかどうか
を調べ、あればe2で今処理している行Lが保存している
領域と接しているかどうかを調べる。接しているかどう
かの判断条件は、行転送処理の判断条件の(1)、
(2)を満たせば良い。
もし接していないときはe3で保存領域を一旦削除して
しまいe4で行削除バッファ13をクリアする。最後にe5で
行Lを行削除バッファ13に付け加え、e6で削除した行は
使用領域管理部11で管理している行の情報から消去す
る。
第28図は行削除バッファ13を吐き出させるルーチンで
ある。f1で行削除バッファ13にデータがあるか調べ、あ
れば、f2で行削除バッファ13の領域を削除する命令(削
除する左上及び右下の座標をパラメータとする命令)を
表示イメージ管理部7に送る。表示イメージ管理部7は
指定された領域にあたる表示イメージ記憶部8の領域を
クリアする。クリアした結果は表示装置制御部9を通じ
てディスプレイ10で操作者が確認できる。
第29図は文字単位で転送処理するルーチンの前半部分
である。この部分で現在処理している行Lの中の文字に
ついて文書の先頭に遠い方から近い方への転送と転送で
きない文字の削除を行う。
h1からh13で編集操作によって移動した文字を行の先
頭から末尾の順に転送で処理できるかとうかチェックす
る。
まずh1で行Lの先頭文字を文書データ中の文字列情報
(3711)からCに文字コード、文字属性(文字送り、文
字幅、文字高、文字変形など)及び処理フラグを取り出
す。また文字の座標は、行の座標と各文字の属性として
入っている文字送りを行頭からCまで加算して計算する
(第40図(b)参照)。h2で行Lの文字をすべて調べた
かどうかチェックし、まだのときはh2からh13のループ
を回る。まず、h3で転送できるかどうか調べる。転送で
きない文字というのは禁則処理で全角から半角に置き換
えられている文字あるいはその逆の場合の文字や、編集
後には必要無くなったハイフンなどでありこれ以外の文
字はすべて転送で処理できる。
転送処理が必要でない文字はh5からh10の間の処理を
行う必要がないので、h4でチェックして分岐する。h5で
文字Cに対応する編集後の文字の位置に、現在の表示イ
メージ記憶部8に文字が存在しているかどうかを使用領
域管理部11で管理しているデータで調べる(Cに対応す
る編集後の文字をC′とする)。具体的には、第39図の
先頭の391から392、393へと順に注目し(注目している
行をlとする)、すべての行について次の式を満たせば
表示イメージ記憶部8上の行L′に対応する位置には文
字が存在していない。
((C′のX座標)+(C′の文字幅)<(lのX座
標)または(C′のX座標)>(lのX座標)+(lの
行長) かつ、 ((C′のY座標)−(C′の文字高)<(lのY座
標)または(C′のY座標)>(lのY座標)−(lの
行高)) つまり、第35図の351の文字「a」は編集後のX座標
が130、Y座標が100、文字幅が10、文字高が10であるの
で、上の式でチェックして使用領域管理部11に管理して
いる領域と重なっていないことがわかる。
文字が無ければ転送できるのでh7の文字転送処理をす
る。そうでないときは文書の先頭に近い方から遠いほう
への転送であり、この文字はメインの後半で呼び出され
る文字単位処理の後半部分で処理できるようにh9で文字
Cに未処理マークを付け、h10で対象となっている行L
にも未処理マークを付ける。文字の未処理マークは3711
の処理フラグの領域に、行の未処理マークはLに該当す
る行情報の処理フラグの領域に付ける。
h3で転送できないと判断したときはh12で文字Cを削
除してしまう。また行転送処理、行削除処理と同様に文
字転送バッファ14及び文字削除バッファ15を用いて連続
している文字はまとめて転送あるいは削除する。このた
め文字転送処理あるいは文字削除処理に入らないときは
文字転送バッファ14、文字削除バッファ15にたまってい
るデータを吐き出させる必要があり、この処理をh6、h
8、h11で行う。
文字転送バッファ14は第44図(c)のように編集前と
編集後の領域の左上と右下の点の座標を記憶し、文字削
除バッファ15は第45図(a)のように編集前の領域の左
上と右下の点の座標を記憶しておく。たとえば、第35図
の351の文字列のうち「a」だけが文字転送バッファ14
に入っているときは第45図(b)のようになる。
h13で次の行を調べるために、Cに今調べた文字の次
の文字を編集前テキストレイアウト情報記憶部6から取
り出して入れ、行Lの文字すべてに対して処理が終わっ
たかどうかを判断するためにh2に戻る。この判断は行L
に含まれている文字数と、このh2を通った回数を比較す
ることによって行う。
すべての文字に対して処理が終わるとh14で文字転送
バッファ14及び文字削除バッファ15にたまっているデー
タがあれば吐き出させる。
最後にh15で、行Lに実際に入っている文字列の長さ
が流し幅より短いときは9の使用領域管理部11に流し幅
を行の長さとして登録してあるので、これを文字列の長
さに修正する。
具体的には第35図の358の行は、h15で処理が行われる
のであるが、まず第39図の先頭から行の座標を比較して
399が358の行であることをみつける。そして、399の行
長を行Lの行長(この場合は50)に変更する。
第30図は文字単位で転送処理するルーチンの後半部分
である。この部分で現在処理している行Lの中の文字に
ついて文書の先頭に近い方から遠い方への転送と転送で
きない文字の削除を行う。このときの転送で処理できな
い文字というのは複数の文字が互いに位置が入れ代わる
よう場合であって、この場合はすべてを転送で処理する
ことができないため、一部を削除した後文字表示を行っ
て、再表示を行う。
ilからi9で文字単位表示前半とは逆に、編集操作によ
って移動した文字の転送ができるかどうかを対象となっ
ている行Lの末尾文字から順に先頭文字までチェックす
る。まず、ilにて行Lの末尾の文字を編集前テキストレ
イアウト情報記憶部6のデータからCに取り出す。i2で
行Lの文字をすべて調べたかどうかチェックし、まだ調
べていないときはi2からi9のループを回る。
i3で文字Cに未処理のマークが付いているかどうかを
調べ、付いている文字についてだけi4からi8までの処理
をする。次に、i4で文字Cに対する編集後の位置がh5と
同様に使用領域管理部11で表示イメージ記憶部8上の文
字と重なっているかどうか調べる(Cに対応する編集後
の文字をC′とする)。具体的には第39図の先頭の391
から392、393へと順に注目し(注目している行をlとす
る)、すべての行について次の式を満たせば表示イメー
ジ記憶部8の行L′に対応した位置には文字が存在して
いない。
((C′のX座標)+(C′の文字幅)<(lのX座
標)または(C′のX座標)>(lのX座標)+(lの
行長) かつ ((C′のY座標)−(C′の文字高)<(lのY座
標)または(C′のY座標)>(lのY座標)−(lの
行高)) 例えば第35図の359の文字「g」は編集後のX座標が1
90、Y座標が100、文字幅が10、文字高が10であるの
で、上の式でチェックして使用領域管理部11に管理して
いる領域と重なっていないことがわかる。(使用領域管
理部11の初期の状態では、この位置に文字列が存在して
いることになっているが、h15の処理によってi4では使
用領域管理部11の領域と重なっていない状態になる。) もし重なっていなければi6の文字転送処理を行う。重
なっているときは転送では処理できない文字であるので
i8でこの文字を削除する。
ここでも第29図h6、h7、h8、h11、h12と同様に文字転
送バッファ14および文字削除バッファ15を用いてi5、i
6、i7、i8で行う。
i9で前の文字を調べるためにCに今調べた文字の前の
文字を編集前テキストレイアウト情報記憶部6から取り
出して入れ、行Lの文字すべてに対して処理が終わった
かどうかを判断するためにi2に戻る。
すべての文字に対して処理が終わるとi10で文字転送
バッファ14、文字削除バッファ15にたまっているデータ
があれば吐き出させる。
第31図は文字単位で転送するためのバッファを取り扱
う処理である。ここの処理は第25図の行単位で転送する
ためのバッファを取り扱う処理とほぼ同様である。ま
ず、j1で保存されている領域があるかどうかを調べ、あ
ればj2で今処理している文字Cが保存している領域と接
しているかどうかを調べる。接しているかどうかの判断
は、文字Cと保存領域の間の文字送りまたは字間が編集
前と編集後で等しいかどうかを調べればよい。
第35図の351の文字列のうち「a」だけが文字転送バ
ッファ14に入っているとき、文字転送バッファ14は第45
図(b)のようになっている。そして次の文字「b」が
Cに入ったときの、j2での判断は、編集前の「b」のX
座標が160、編集後の「b」の座標が140であるので編集
前と編集後の字送りが両方とも10となって等しいことが
わかる。
もし接していないときはj3で保存領域を一旦転送させ
てしまい、j4で文字転送バッファ14をクリアする。最後
にj5で文字Cを文字転送バッファ14に付け加え、j6で転
送元の文字は使用領域管理部11で管理している情報から
消去し、編集後のテキストレイアウト情報に表示済マー
クを付ける。
第32図は文字単位の転送バッファを吐き出させるルー
チンである。k1で文字転送バッファ14にデータがあるか
調べ、あればk2で文字転送バッファの領域を転送する命
令を表示イメージ管理部7に送る。
第33図は文字単位で削除するためのバッファを取り扱
う処理である。n1で文字Cを文字削除バッファ15に付け
加え、n2で削除した文字は使用領域管理部11で管理して
いる情報から消去する。
第34図は文字単位の削除バッファを吐き出させるルー
チンである。m1で文字削除バッファ15にデータがあるか
調べ、あればm2で文字削除バッファ15の領域を削除する
命令を表示イメージ管理部7に送る。
以上の手順で再表示を実現できるが転送速度と削除及
び表示速度との差があまりない装置においては次のこと
を考慮することにより、一層高速にすることができる。
小さな単位で転送、削除、表示を行うと描画回数が多
くなり、オーバーヘッドが大きくなるので、ある文字数
以下では、転送処理を行わずに一括して削除及び表示で
再表示を実現した方が速くなる。
さらに、処理を簡単化し、また、記憶領域を節約する
ために文字単位で転送する処理を省略して行単位で処理
できるとき以外は削除及び表示で行うこともできる。
編集前の表示イメージと編集後の表示イメージとを別
の記憶領域で記憶できる装置においては転送先に文字が
あるかどうかの判断がなくなり、文字の削除や表示イメ
ージ記憶部8に関する使用領域の管理の必要なくなる。
この場合には文書の前から順に転送処理を行うだけで再
表示を実現できる。
<発明の効果> 以上、説明したように本発明は、文書データ記憶部に
記憶された文書データを表示装置に表示する際の行の配
置に、文字移動と再文字表示と処理不要とを示す処理グ
ラフを行単位ごとに関連付けて表すテキストレイアウト
情報を、編集操作の前と後とに分けてそれぞれを編集前
テキストレイアウト情報及び編集後テキストレイアウト
情報としてテキストレイアウト情報記憶部に記憶し、表
示装置に表示するイメージデータは編集前テキストレイ
アウト情報に基づいて構成されて表示イメージ記憶部に
記憶し、入力装置から入力される操作者の指示にしたが
って編集前のテキストレイアウト情報と文書データとか
ら編集後のテキストレイアウト情報を作成し、その後処
理部によって、この編集前テキストレイアウト情報と編
集後テキストレイアウト情報とを比較し、前記処理フラ
グに基づいて、行の配置の変化のあった行のみを文字移
動処理または再文字表示処理して、表示イメージ記憶部
の内容を更新するので、組版時の個々の文字のレイアウ
ト位置を決める文字数を大幅に減少することができ、ま
た表示時の新たに文字フォントのラスターイメージを得
ることによる表示処理をする文字数が大幅に減少するた
め、文書編集時の(再)組版・(再)表示が非常に高速
に行えるという利点を有する。
さらに、イメージ消去および移動のブロック化によ
り、それらの処理の回数が減り、それら処理に付随する
オーバーヘッドによる処理速度の低下を少なくできる。
また、テキストの流れる順序が変わる場合にも、イメー
ジの移動による表示処理が可能になるため、このような
場合でも、(再)表示が高速に行えるという利点を有す
る。
【図面の簡単な説明】
第1図は本発明に係る文書編集装置の一実施例のブロッ
ク図、第2図は編集の流れを説明する図、第3図は再表
示処理の流れを説明する図、第4図は各データの構造を
示す図、第5図、第6図、第7図、第8図、第9図、第
10図は表示処理の詳細な流れを説明する図、第11図、第
12図、第13図、第14図、第15図、第16図、第17図、第18
図、第19図、第20図、第21図は編集例を説明する図、第
22図、第23図、第24図、第25図、第26図、第27図、第28
図、第29図、第30図、第31図、第32図、第33図、第34図
は本発明の他の実施例の処理の流れを説明する図、第35
図、第36図は文字のレイアウト状態を示す図、第37図、
第38図、第39図、第40図、第41図、第42図、第43図、第
44図、第45図、第46図は各データの構造を説明する図で
ある。 1……入力装置、2……編集部、3……表示処理部、4
……文書データ記憶部、5……編集後テキストレイアウ
ト情報記憶部、6……編集前テキストレイアウト情報記
憶部、7……表示イメージ管理部、8……表示イメージ
記憶部、9……表示装置制御部、10……ディスプレイ、
11……使用領域管理部、12……行転送バッファ、13……
行削除バッファ、14……文字転送バッファ、15……文字
削除バッファ。
フロントページの続き (72)発明者 久保 登 大阪府大阪市阿倍野区長池町22番22号 シャープ株式会社内 (56)参考文献 特開 昭58−146931(JP,A) 特開 昭61−77980(JP,A) 特開 昭63−23188(JP,A) 特開 昭63−100493(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】文書データを記憶する文書データ記憶部
    と、 前記文書データ記憶部に記憶された文書データを表示装
    置に表示する際の行の配置に、文字移動と再文字表示と
    処理不要とを示す処理フラグを行単位ごとに関連付けて
    表すテキストレイアウト情報を編集操作の前と後とに分
    けてそれぞれ記憶するテキストレイアウト情報記憶部
    と、 前記文書データ記憶部に記憶された文書データを前記テ
    キストレイアウト情報記憶部に記憶された編集前のテキ
    ストレイアウト情報に基づいて表示装置に表示するため
    のイメージデータを記憶する表示イメージ記憶部と、 入力装置から入力される操作者の指示にしたがって前記
    テキストレイアウト情報記憶部に記憶された編集前のテ
    キストレイアウト情報と前記文書データ記憶部に記憶さ
    れた文書データとから編集後のテキストレイアウト情報
    を作成して前記テキストレイアウト情報記憶部に記憶す
    るとともに前記文書データ記憶部に記憶されている文書
    データを更新する編集部と、 前記テキストレイアウト情報記憶部に記憶された編集前
    のテキストレイアウト情報と編集後のテキストレイアウ
    ト情報とを比較し、前記処理フラグに基づいて、行の配
    置の変化のあった行のみを文字移動処理または再文字表
    示処理して、前記表示イメージ記憶部の内容を更新する
    処理部とを備えたことを特徴とする文書編集装置。
  2. 【請求項2】前記テキストレイアウト情報記憶部が編集
    前テキストレイアウト情報と編集後テキストレイアウト
    情報とを区別するためのポインタを備え、前記編集部
    が、前記処理部による前記イメージ記憶部の内容の更新
    処理終了後、前記ポインタを切り替えて編集後テキスト
    レイアウト情報を編集前テキストレイアウト情報として
    更新することを特徴とする請求項1記載の文書編集装
    置。
JP2135122A 1990-05-24 1990-05-24 文書編集装置 Expired - Fee Related JP2613958B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2135122A JP2613958B2 (ja) 1990-05-24 1990-05-24 文書編集装置
US07/705,038 US5287443A (en) 1990-05-24 1991-05-21 Apparatus for editing documents adapted to reduce a process time of refreshing the documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2135122A JP2613958B2 (ja) 1990-05-24 1990-05-24 文書編集装置

Publications (2)

Publication Number Publication Date
JPH0433052A JPH0433052A (ja) 1992-02-04
JP2613958B2 true JP2613958B2 (ja) 1997-05-28

Family

ID=15144339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2135122A Expired - Fee Related JP2613958B2 (ja) 1990-05-24 1990-05-24 文書編集装置

Country Status (2)

Country Link
US (1) US5287443A (ja)
JP (1) JP2613958B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390354A (en) * 1991-03-15 1995-02-14 Itt Corporation Computerized directory pagination system and method
JPH05181769A (ja) * 1991-12-28 1993-07-23 Nec Corp 文書データ管理システム
US5412771A (en) * 1992-02-07 1995-05-02 Signature Software, Inc. Generation of interdependent font characters based on ligature and glyph categorizations
US5553217A (en) * 1993-09-23 1996-09-03 Ricoh Company, Ltd. Document layout using tiling
US5953733A (en) 1995-06-22 1999-09-14 Cybergraphic Systems Ltd. Electronic publishing system
US5875427A (en) * 1996-12-04 1999-02-23 Justsystem Corp. Voice-generating/document making apparatus voice-generating/document making method and computer-readable medium for storing therein a program having a computer execute voice-generating/document making sequence
US6078934A (en) * 1997-07-09 2000-06-20 International Business Machines Corporation Management of a document database for page retrieval
JP4053115B2 (ja) * 1997-09-22 2008-02-27 富士通株式会社 文書画像データの記憶制御方式
US6731309B1 (en) 1998-08-28 2004-05-04 Corel Corporation Real time preview
US6426751B1 (en) * 1999-04-01 2002-07-30 Adobe Systems Incorporated Font feature file processing
WO2001059604A1 (en) * 2000-02-12 2001-08-16 Adobe Systems Incorporated Method for determining line leading in accordance with traditional japanese practices
US6993709B1 (en) 2000-02-12 2006-01-31 Adobe Systems Incorporated Smart corner move snapping
WO2001059576A1 (en) * 2000-02-12 2001-08-16 Adobe Systems Incorporated Text grid creation tools
US7071941B2 (en) * 2000-02-12 2006-07-04 Adobe Systems Incorporated Method for calculating CJK emboxes in fonts
US7305617B2 (en) * 2000-02-12 2007-12-04 Adobe Systems Incorporated Method for aligning text to baseline grids and to CJK character grids
US6928611B2 (en) * 2000-09-25 2005-08-09 Adobe Systems Incorporated Setting text composition spacing amount
JP3795784B2 (ja) * 2000-09-25 2006-07-12 アドビ システムズ, インコーポレイテッド アイコン表示付き文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
JP4101491B2 (ja) * 2000-09-25 2008-06-18 アドビ システムズ, インコーポレイテッド 合成フォント編集装置、合成フォント編集プログラム及びそれを記録した記録媒体
US7296227B2 (en) 2001-02-12 2007-11-13 Adobe Systems Incorporated Determining line leading in accordance with traditional Japanese practices
US7167274B2 (en) * 2001-09-28 2007-01-23 Adobe Systems Incorporated Line leading from an arbitrary point
US7039862B2 (en) 2002-05-10 2006-05-02 Adobe Systems Incorporated Text spacing adjustment
US7123261B2 (en) * 2002-12-26 2006-10-17 Adobe Systems Incorporated Coordinating grid tracking and mojikumi spacing of Japanese text
US20040125107A1 (en) * 2002-12-26 2004-07-01 Mccully Nathaniel M. Coordinating grid tracking and mojikumi spacing of Japanese text
US7594171B2 (en) 2004-10-01 2009-09-22 Adobe Systems Incorporated Rule-based text layout
US7831908B2 (en) * 2005-05-20 2010-11-09 Alexander Vincent Danilo Method and apparatus for layout of text and image documents
US7949951B1 (en) * 2007-01-17 2011-05-24 Adobe Systems Incorporated Selectively limiting paragraph recomposition
KR20130080515A (ko) * 2012-01-05 2013-07-15 삼성전자주식회사 디스플레이 장치 및 그 디스플레이 장치에 표시된 문자 편집 방법.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58119076A (ja) * 1982-01-08 1983-07-15 Toshiba Corp 画像編集装置
JPS58146931A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd デイスプレイ装置
JPH06105392B2 (ja) * 1986-10-17 1994-12-21 株式会社日立製作所 図形表示方式
JP2695802B2 (ja) * 1987-11-16 1998-01-14 株式会社日立製作所 電子ファイル装置
US5122953A (en) * 1988-08-31 1992-06-16 Canon Kabushiki Kaisha Word processor for automatically defining the position, size, and form of a symbol and formula

Also Published As

Publication number Publication date
JPH0433052A (ja) 1992-02-04
US5287443A (en) 1994-02-15

Similar Documents

Publication Publication Date Title
JP2613958B2 (ja) 文書編集装置
US4785296A (en) Method and system for displaying image data
US4912669A (en) Document-editing system
EP0051857A1 (en) Method for editing document
JPH02240782A (ja) 図形処理装置
JPH04148475A (ja) 文書処理方法及び装置
JPS6017487A (ja) 文書作成装置の行ピツチ自動設定方法
JP2001216292A (ja) レイアウト画像編集装置及びレイアウト画像編集方法
JP2651136B2 (ja) 文書処理方法
JPH0969098A (ja) 文書作成装置
EP0360501B1 (en) A text-editing apparatus with real time display function
JP2621486B2 (ja) 文書編集方法およびその装置
JPH1069480A (ja) 文書処理方法及び文書処理装置、記憶媒体
JP4062332B2 (ja) 罫線の処理方法およびその装置
JPH0465423B2 (ja)
JP4466780B2 (ja) 文字列と罫線の混在処理方法およびその装置
JP3476857B2 (ja) 文書処理装置
JP2004288220A (ja) 文書作成装置
JPH08293033A (ja) 情報処理装置
JPH03291748A (ja) 表データ作成制御方法及びデータ処理装置
JPH1115824A (ja) 文書編集装置および文書編集方法ならびに文書編集プログラムを記録した記録媒体
JPS63263558A (ja) 画像処理システム
JPH031271A (ja) インデント文字の自動設定方法
JPH0573546A (ja) 文章編集装置
JPH0377127A (ja) 表罫線表示制御方法及びその装置並びにデータ処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080227

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees