JPS62250085A - 文字キヤラクタの再生方式 - Google Patents
文字キヤラクタの再生方式Info
- Publication number
- JPS62250085A JPS62250085A JP9390586A JP9390586A JPS62250085A JP S62250085 A JPS62250085 A JP S62250085A JP 9390586 A JP9390586 A JP 9390586A JP 9390586 A JP9390586 A JP 9390586A JP S62250085 A JPS62250085 A JP S62250085A
- Authority
- JP
- Japan
- Prior art keywords
- character
- characters
- common
- horizontal
- vertical
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/246—Generation of individual character patterns of ideographic or arabic-like characters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Dot-Matrix Printers And Others (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の技術分野]
本発明は、日本語ワードプロセッサあるいは日本語処理
機能を備えた電子計算機等の情報処理装置に用いられる
キャラクタ発生器における文字キャラクタの再生方式に
関する。
機能を備えた電子計算機等の情報処理装置に用いられる
キャラクタ発生器における文字キャラクタの再生方式に
関する。
[従来技術とその問題点]
日本語ワードプロセッサあるいは日本語処理機能を備え
た電子計算機等の情報処理装置においては、表示用文字
あるいは印字用文字の文字パターンを発生させるために
キャラクタ発生器を備えている。このキャラクタ発生器
は、一般にROMにより構成されているが、従来ではJ
ISに定められた各文字に対応する文字パターンを記憶
するようにしているので、ROMの容量が非常に大きく
なる。例えば1文字をr32X32ドツト」と構成とし
た場合、1文字でr32X32=1024ビツト」、約
1Mビット必要とし、3000字を記憶するには 32X32X3000岬3Mビット 必要とする。上記のように従来のキャラクタ発生方法で
は、キャラクタ発生器のROM容量が非常に大きくなり
、小型化する場合に問題となると共にコストも非常に高
くなる。
た電子計算機等の情報処理装置においては、表示用文字
あるいは印字用文字の文字パターンを発生させるために
キャラクタ発生器を備えている。このキャラクタ発生器
は、一般にROMにより構成されているが、従来ではJ
ISに定められた各文字に対応する文字パターンを記憶
するようにしているので、ROMの容量が非常に大きく
なる。例えば1文字をr32X32ドツト」と構成とし
た場合、1文字でr32X32=1024ビツト」、約
1Mビット必要とし、3000字を記憶するには 32X32X3000岬3Mビット 必要とする。上記のように従来のキャラクタ発生方法で
は、キャラクタ発生器のROM容量が非常に大きくなり
、小型化する場合に問題となると共にコストも非常に高
くなる。
[発明の目的]
本発明は上記の点に鑑みてなされたもので、キャラクタ
発生器のメモリ(ROM)容量を著しく減少し得ると共
に文字キャラクタの再生を確実にでき、情報処理機器の
小型化に有利であると共にコストの低下を図り得る文字
キャラクタの再生方式を提供することを目的とする。
発生器のメモリ(ROM)容量を著しく減少し得ると共
に文字キャラクタの再生を確実にでき、情報処理機器の
小型化に有利であると共にコストの低下を図り得る文字
キャラクタの再生方式を提供することを目的とする。
[発明の要点]
本発明は、漢字等の字体を部首別に分離すると共に上記
部首を含む字体を共通部に分離して共通キャラクタを構
成し、かつ、この共通キャラクタに対して縦フラグエリ
ア及び横フラグエリアを設けてキャラクタメモリに記憶
させ、共通キャラクタにおいて縦列、横列に同じ状態が
続く場合に同じキャラクタを省略して縦線、横線を圧縮
すると共に、規則的に形成されている斜めの線を圧縮し
、これらの圧縮により省略されたビット数に応じて省略
数フラグを上記対応するフラグエリアに記憶し、キャラ
クタ再生時に上記フラグエリアの記憶内容を参照して指
定の文字キャラクタを再生するようにしたものである。
部首を含む字体を共通部に分離して共通キャラクタを構
成し、かつ、この共通キャラクタに対して縦フラグエリ
ア及び横フラグエリアを設けてキャラクタメモリに記憶
させ、共通キャラクタにおいて縦列、横列に同じ状態が
続く場合に同じキャラクタを省略して縦線、横線を圧縮
すると共に、規則的に形成されている斜めの線を圧縮し
、これらの圧縮により省略されたビット数に応じて省略
数フラグを上記対応するフラグエリアに記憶し、キャラ
クタ再生時に上記フラグエリアの記憶内容を参照して指
定の文字キャラクタを再生するようにしたものである。
また、本発明は、上記共通キャラクタを圧縮する際、字
体の線の初め、終り、角部分のキャラクタを所定のルー
ルに従った形に補正し、キャラクタ再生時に元の形に戻
すことを特徴としている。
体の線の初め、終り、角部分のキャラクタを所定のルー
ルに従った形に補正し、キャラクタ再生時に元の形に戻
すことを特徴としている。
[発明の実施例]
以下、図面を参照して本発明の一実施例を説明する。ま
ず、第1図により全体の回路構成について説明する。第
1図において、11は基準タイミング信号を発生する発
振回路である。また、12はプログラムカウンタで、R
OMアドレススタックレジスタ13の記憶アドレス及び
回路の動作条件等を参照してプログラムROM14のア
ドレスを指定する。このプログラムROM14は、各種
制御命令を記憶しており、プログラムカウンタ12から
のアドレス指定に従って動作し、制御命令をパスライン
BL1を介してインストラクションデコーダ15に出力
すると共に、第lRAM16に対するアドレスをパスラ
インBL2を介してアドレスカウンタ17に出力する。
ず、第1図により全体の回路構成について説明する。第
1図において、11は基準タイミング信号を発生する発
振回路である。また、12はプログラムカウンタで、R
OMアドレススタックレジスタ13の記憶アドレス及び
回路の動作条件等を参照してプログラムROM14のア
ドレスを指定する。このプログラムROM14は、各種
制御命令を記憶しており、プログラムカウンタ12から
のアドレス指定に従って動作し、制御命令をパスライン
BL1を介してインストラクションデコーダ15に出力
すると共に、第lRAM16に対するアドレスをパスラ
インBL2を介してアドレスカウンタ17に出力する。
また、プログラムROM14は、パスラインBL3を介
して自己アドレスをプログラムカウンタ12に出力する
と共に、第2RAM18に対するアドレスをアドレスカ
ウンタ19に出力し、更にその他のデータをパスライン
BL3を介してアンド回路21、比較回路22、演算回
路23、デコーダ24に出力する。上記第lRAM16
及び第2RAM18は、例えば40x 40ビツトの容
量を有し、第2図(a)、(b)に示すように構成され
ている。すなわち、第lRAM16は、第2図(a)に
示すように38X 38ビツトがキャラクタエリア16
aで、その上側の2×40ビツト及び左側の2×40ビ
ツトがフラグエリア16bとなっている。また、第2R
AM18は、32X32ビツトが再生エリア18a1そ
の他のエリアが記憶エリア18bとなっている。そして
、上記第lRAM16及び第2RAM18から読出され
るデータがそれぞれアンド回路25.26を介してパス
ラインBL4に出力されると共に、アンド回路21の出
力がパスラインBL4に出力される。
して自己アドレスをプログラムカウンタ12に出力する
と共に、第2RAM18に対するアドレスをアドレスカ
ウンタ19に出力し、更にその他のデータをパスライン
BL3を介してアンド回路21、比較回路22、演算回
路23、デコーダ24に出力する。上記第lRAM16
及び第2RAM18は、例えば40x 40ビツトの容
量を有し、第2図(a)、(b)に示すように構成され
ている。すなわち、第lRAM16は、第2図(a)に
示すように38X 38ビツトがキャラクタエリア16
aで、その上側の2×40ビツト及び左側の2×40ビ
ツトがフラグエリア16bとなっている。また、第2R
AM18は、32X32ビツトが再生エリア18a1そ
の他のエリアが記憶エリア18bとなっている。そして
、上記第lRAM16及び第2RAM18から読出され
るデータがそれぞれアンド回路25.26を介してパス
ラインBL4に出力されると共に、アンド回路21の出
力がパスラインBL4に出力される。
このパスライン814に出力されたデータは、上記第l
RAM16、第2RAM18、比較回路22、演算回路
23に入力されると共に、アドレスカウンタ27、レジ
スタ28.8ビツト構成のスタックレジスタ29a〜2
9dに入力される。上記アドレスカウンタ27は、その
カウント値によってキャラクタメモリ、すなわちキャラ
クタROM31のアドレスを指定する。このキャラクタ
ROM31は、第3図に示すように共通キャラクタ部3
1a及び共通キャラクタ指示メモリ部31bからなり、
詳細を後述するように各キャラクタに対する共通部分を
分離し、補正、圧縮、等の処理を行なったキャラクタデ
ータを記憶するようになっている。そして、上記キャラ
クタROM31から読出されるキャラクタデータは、ア
ンド回路32を介してパスラインBL4に出力され、レ
ジスタ28の保持データはアンド回路33を介してパス
ラインBL4に出力される。また、比較回路22の比較
出力はアンド回路34を介してプログラムカウンタ12
へ送られる。しかして、上記インストラクションデコー
ダ15は、プログラムROM14からの制御命令をデコ
ードしてアドレスカウンタ17.19.27にそれぞれ
セット信号get及び「+1」信号、第lRAM16及
び第2RAM18に書込み信号Wルジスタ28に書込み
信号W及び読出し信号Rを与える。また、インストラク
ションデコーダ15は、演算回路23に演算指令、デコ
ーダ24にクロックパルス、アンド回路21.25.2
6.32.33.34にゲート制御信号を与える。上記
デコーダ24は、プログラムROM14からのデータを
デコードしてスタックレジスタ29a〜29dの何れか
を選択し、インストラクションデコーダ15からのクロ
ックパルスを与える。スタックレジスタ29a〜29d
は、パスラインBL4を介して送られてくるデータをデ
コーダ24からのクロックパルスに同期して読込み、3
2ビツトの文字データとして表示部(図示せず)へ出力
する。
RAM16、第2RAM18、比較回路22、演算回路
23に入力されると共に、アドレスカウンタ27、レジ
スタ28.8ビツト構成のスタックレジスタ29a〜2
9dに入力される。上記アドレスカウンタ27は、その
カウント値によってキャラクタメモリ、すなわちキャラ
クタROM31のアドレスを指定する。このキャラクタ
ROM31は、第3図に示すように共通キャラクタ部3
1a及び共通キャラクタ指示メモリ部31bからなり、
詳細を後述するように各キャラクタに対する共通部分を
分離し、補正、圧縮、等の処理を行なったキャラクタデ
ータを記憶するようになっている。そして、上記キャラ
クタROM31から読出されるキャラクタデータは、ア
ンド回路32を介してパスラインBL4に出力され、レ
ジスタ28の保持データはアンド回路33を介してパス
ラインBL4に出力される。また、比較回路22の比較
出力はアンド回路34を介してプログラムカウンタ12
へ送られる。しかして、上記インストラクションデコー
ダ15は、プログラムROM14からの制御命令をデコ
ードしてアドレスカウンタ17.19.27にそれぞれ
セット信号get及び「+1」信号、第lRAM16及
び第2RAM18に書込み信号Wルジスタ28に書込み
信号W及び読出し信号Rを与える。また、インストラク
ションデコーダ15は、演算回路23に演算指令、デコ
ーダ24にクロックパルス、アンド回路21.25.2
6.32.33.34にゲート制御信号を与える。上記
デコーダ24は、プログラムROM14からのデータを
デコードしてスタックレジスタ29a〜29dの何れか
を選択し、インストラクションデコーダ15からのクロ
ックパルスを与える。スタックレジスタ29a〜29d
は、パスラインBL4を介して送られてくるデータをデ
コーダ24からのクロックパルスに同期して読込み、3
2ビツトの文字データとして表示部(図示せず)へ出力
する。
本発明は、漢字等の字体を部首に分離すると共に、字体
(部首を含む)を共通部に分離し、この分離した部首及
び共通部のキャラクタを分離した状態でキャラクタRO
M31に記憶するもので、以下、キャラクタROM31
にキャラクタデータを記憶する際のキャラクタ共通部分
の分離、補正、圧縮、等の処理について説明する。第4
図は、「木」「禾」 「本」という部首を共通部に分離
した場合の例について示したものである。第4図(a)
では32X32ビツトの「木」という文字を上下に部分
して、C1、C2の共通キャラクタとしている。
(部首を含む)を共通部に分離し、この分離した部首及
び共通部のキャラクタを分離した状態でキャラクタRO
M31に記憶するもので、以下、キャラクタROM31
にキャラクタデータを記憶する際のキャラクタ共通部分
の分離、補正、圧縮、等の処理について説明する。第4
図は、「木」「禾」 「本」という部首を共通部に分離
した場合の例について示したものである。第4図(a)
では32X32ビツトの「木」という文字を上下に部分
して、C1、C2の共通キャラクタとしている。
第4図(b)では「禾」という文字を上下に部分して、
上側のキャラクタをC3としているが、下側のキャラク
タは上記「木」の文字におけるキャラクタC2が共通に
使用される。第4図(C)では、「本」という文字を上
下に部分して下側のキャラクタを04としているが、上
側のキャラクタは上記「木」の文字におけるC1キャラ
クタが共通に使用される。上記のようにして各文字は、
共通部が分離される。
上側のキャラクタをC3としているが、下側のキャラク
タは上記「木」の文字におけるキャラクタC2が共通に
使用される。第4図(C)では、「本」という文字を上
下に部分して下側のキャラクタを04としているが、上
側のキャラクタは上記「木」の文字におけるC1キャラ
クタが共通に使用される。上記のようにして各文字は、
共通部が分離される。
上記のようにして各文字の共通部を分離して共通キャラ
クタを作成した後、第5図に示すようにキャラクタの補
正及び圧縮処理を行なう。字体には、線の初め及び終り
の部分に、あるルールに従った形がある。本発明では、
このルールに従った形については共通キャラクタの記憶
部に記憶させず、キャラクタ発生時に補正を行なってい
る。そして、字体キャラクタの縦列及び横列に同じ状態
のキャラクタが続く場合に、同じキャラクタを省略して
圧縮する。第5図(a)は、共通キャラクタC1につい
て縦線及び横線の補正を行なって補正キャラクタC21
とし、更に16x 16ビツトに縦横圧縮して圧縮キャ
ラクタC31としている。この場合、圧縮キャラクタC
31は、14X 14ビツトをキャラクタエリア41と
し、上側の2ビツトを縦フラグエリアVF、左側の2ビ
ツトを横フラグエリアHFとし、圧縮部分に対応させて
省略数フラグを立て、圧縮した位置及び数を示す。そし
て、キャラクタ発生時にフラグ数によって正しい形を再
現する。第5図(b)は共通エリアC2を補正して補正
キャラクタC22とし、その後、キャラクタビット及び
ビット間隔を2段階で圧縮して圧縮キャラクタC32、
C42としている。第5図(C)は共通キャラクタC3
の補正、圧縮例を示したもので、第5図(b)と同様の
補正、圧縮を行なっている。
クタを作成した後、第5図に示すようにキャラクタの補
正及び圧縮処理を行なう。字体には、線の初め及び終り
の部分に、あるルールに従った形がある。本発明では、
このルールに従った形については共通キャラクタの記憶
部に記憶させず、キャラクタ発生時に補正を行なってい
る。そして、字体キャラクタの縦列及び横列に同じ状態
のキャラクタが続く場合に、同じキャラクタを省略して
圧縮する。第5図(a)は、共通キャラクタC1につい
て縦線及び横線の補正を行なって補正キャラクタC21
とし、更に16x 16ビツトに縦横圧縮して圧縮キャ
ラクタC31としている。この場合、圧縮キャラクタC
31は、14X 14ビツトをキャラクタエリア41と
し、上側の2ビツトを縦フラグエリアVF、左側の2ビ
ツトを横フラグエリアHFとし、圧縮部分に対応させて
省略数フラグを立て、圧縮した位置及び数を示す。そし
て、キャラクタ発生時にフラグ数によって正しい形を再
現する。第5図(b)は共通エリアC2を補正して補正
キャラクタC22とし、その後、キャラクタビット及び
ビット間隔を2段階で圧縮して圧縮キャラクタC32、
C42としている。第5図(C)は共通キャラクタC3
の補正、圧縮例を示したもので、第5図(b)と同様の
補正、圧縮を行なっている。
第5図(d)は共通キャラクタC4を補正して補正キャ
ラクタC24とした後、圧縮時に時計方向に90°回転
し、16X 20ビツトの圧縮キャラクタC34として
いる。字体分離後の共通キャラクタの形状は、色々な形
状になるが、この共通キャラクタを両方向に規制すると
共通キ1νラクタの基本サイズが大きくなるので、共通
キャラクタを一方向(縦あるいは横)のみ規制し、キャ
ラクタ長を可変できるようにすると、メモリの使用効率
が良くなる。
ラクタC24とした後、圧縮時に時計方向に90°回転
し、16X 20ビツトの圧縮キャラクタC34として
いる。字体分離後の共通キャラクタの形状は、色々な形
状になるが、この共通キャラクタを両方向に規制すると
共通キ1νラクタの基本サイズが大きくなるので、共通
キャラクタを一方向(縦あるいは横)のみ規制し、キャ
ラクタ長を可変できるようにすると、メモリの使用効率
が良くなる。
但し、キャラクタメモリとして効率は良いが、縦方向あ
るいは横方向に長いキャラクタが有り、全体(全共通キ
ャラクタ)を記憶する場合にメモリ空間の使用効率が非
常に悪くなる。そこで、本発明ではメモリ空間の使用効
率を良くするため、規制した方向に合わせるよう、他方
向に長い共通キャラクタを90°回転(縦、横交換)さ
せ、メモリ空間の使用効率を上げている。このとき回転
したキャラクタの判別は、共通キャラクタ内に持つ方法
と、共通キャラクタの組合わせにより字体を形成する文
字の構成メモリに持つ方法がある。本実施例では、回転
キャラクタの判別を構成メモリに持つ場合について示し
である。
るいは横方向に長いキャラクタが有り、全体(全共通キ
ャラクタ)を記憶する場合にメモリ空間の使用効率が非
常に悪くなる。そこで、本発明ではメモリ空間の使用効
率を良くするため、規制した方向に合わせるよう、他方
向に長い共通キャラクタを90°回転(縦、横交換)さ
せ、メモリ空間の使用効率を上げている。このとき回転
したキャラクタの判別は、共通キャラクタ内に持つ方法
と、共通キャラクタの組合わせにより字体を形成する文
字の構成メモリに持つ方法がある。本実施例では、回転
キャラクタの判別を構成メモリに持つ場合について示し
である。
第6図は補正キャラクタ例を示したもので、縦線、横線
、コーナーにおいて補正が行なわれる。
、コーナーにおいて補正が行なわれる。
縦線補正は、頭部及び終部において行なわれ、黒丸印で
示すように頭部では側方に突出た1ビツトが省略され、
終部では左右のビットが対称となるように1ビツト付加
される。横線は、「とめ」の部分が省略されるもので、
「とめ」の部分の横線が5ビツト以上では3補正、横線
が4ビツトの場合あるいは間隔が2ビツトでは2補正、
横線が3ビツトでは1補正が行なわれる。コーナーでは
、頭部において突出ている1ビツト分が省略され、終部
では1ビツト不足部分が追加される。
示すように頭部では側方に突出た1ビツトが省略され、
終部では左右のビットが対称となるように1ビツト付加
される。横線は、「とめ」の部分が省略されるもので、
「とめ」の部分の横線が5ビツト以上では3補正、横線
が4ビツトの場合あるいは間隔が2ビツトでは2補正、
横線が3ビツトでは1補正が行なわれる。コーナーでは
、頭部において突出ている1ビツト分が省略され、終部
では1ビツト不足部分が追加される。
第7図は、縦、横圧縮例を示したもので、斜線部分が圧
縮部分である。第8図は、左斜め、右斜めの斜め圧縮(
縦斜めのみ)の例を示したもので、矢印方向が圧縮方向
を示している。第9図は、二重圧縮の例で「亜」という
部首について示したものである。「亜」という文字を再
現する場合は、縦及び横の再現を行ない、「悪」という
文字を再現する場合は、横のみ再現し、他の共通キャラ
クタ「心」と組合わせて「悪」の文字を形成する。
縮部分である。第8図は、左斜め、右斜めの斜め圧縮(
縦斜めのみ)の例を示したもので、矢印方向が圧縮方向
を示している。第9図は、二重圧縮の例で「亜」という
部首について示したものである。「亜」という文字を再
現する場合は、縦及び横の再現を行ない、「悪」という
文字を再現する場合は、横のみ再現し、他の共通キャラ
クタ「心」と組合わせて「悪」の文字を形成する。
字体分離の中には、同じキャラクタの縦、横の大きさの
みが異なるものが多くあり、これらをそれぞれの共通キ
ャラクタで持たず、二重圧縮により効率を上げることが
できる。
みが異なるものが多くあり、これらをそれぞれの共通キ
ャラクタで持たず、二重圧縮により効率を上げることが
できる。
第10図は、センタリング圧縮の例を示したものである
。文字の大きさは、同じ枠(32X32ドツト〉を設定
しても第10図に示すように文字によって異なり、枠内
にスペースができる字体もある。
。文字の大きさは、同じ枠(32X32ドツト〉を設定
しても第10図に示すように文字によって異なり、枠内
にスペースができる字体もある。
これらの字体の共通キャラクタは、−辺によせて共通キ
ャラクタを圧縮しくドツトのない列行を省略)、再生時
に自動センタリングする。
ャラクタを圧縮しくドツトのない列行を省略)、再生時
に自動センタリングする。
次に上記共通キャラクタの圧縮処理の詳細について説明
する。圧縮キャラクタには、第11図に示すようにキャ
ラクタエリア41に上側に2ビツトの縦フラグエリアV
F、左側に2ビツトの横フラグエリアHFが設けられる
。そして、上記縦フラグエリアVFには、第1列目にV
ll、 V12゜・V 1n、−・・ビット、第2列目
にV21. V22゜・・・V 2n、・・・ビットが
立てられ、横フラグエリアHFには、第1列目にH11
,H12,・H1n、 −・・ビット、第2列目に)1
21. l−122,・・・@ 2n、・・・ビットが
立てられる。また、縦フラグエリアVFと横フラグエリ
アHFとの共通エリアには、Fl 、F2、F3 、F
4の4ビツトのフラグが設けられる。
する。圧縮キャラクタには、第11図に示すようにキャ
ラクタエリア41に上側に2ビツトの縦フラグエリアV
F、左側に2ビツトの横フラグエリアHFが設けられる
。そして、上記縦フラグエリアVFには、第1列目にV
ll、 V12゜・V 1n、−・・ビット、第2列目
にV21. V22゜・・・V 2n、・・・ビットが
立てられ、横フラグエリアHFには、第1列目にH11
,H12,・H1n、 −・・ビット、第2列目に)1
21. l−122,・・・@ 2n、・・・ビットが
立てられる。また、縦フラグエリアVFと横フラグエリ
アHFとの共通エリアには、Fl 、F2、F3 、F
4の4ビツトのフラグが設けられる。
F4フラグは、第12図(a)に示すように縦フラグと
横フラグとの組合わせによりビット省略数(r)を示し
、F3フラグは、同図(b)に示すように「0」が縦、
横の圧縮、「1」が斜め圧縮を示している。また、Fl
、F2フラグは、第12図(C)に示すようにその組合
わせにより、縦長ビットの数を示している。
横フラグとの組合わせによりビット省略数(r)を示し
、F3フラグは、同図(b)に示すように「0」が縦、
横の圧縮、「1」が斜め圧縮を示している。また、Fl
、F2フラグは、第12図(C)に示すようにその組合
わせにより、縦長ビットの数を示している。
しかして、上記キャラクタROM31の共通キャラクタ
指示メモリ部31bには、第13図に示すようにBO〜
B15の16ピツトの共通キャラクタ指示データが記憶
される。この指示データは、BO〜B10ビットに共通
キャラクタ部31aのアドレス(共通キャラクタの種類
が2000の場合)、811ビツトに回転フラグ、81
2ビツトに二重フラグ、813〜B15ビツトに共通キ
ャラクタ数/位画フラグが書込まれる。この813〜B
15ビツトと共通キャラクタ数との関係(共通キャラク
タ指示メモリ部31bの1番目)を第14図に、813
〜B15ビツトに対する位置フラグの内容(共通キャラ
クタ指示メモリ部31bの2番目以降〉を第15図に示
す。また、311ビツト及びフラグFl 、F2とそれ
に対応する型との関係を第16図(a)、(b)に示す
。更に811ビツト及びFl 、F2フラグと圧縮キャ
ラクタのx、yビット数との関係を第17図に示す。
指示メモリ部31bには、第13図に示すようにBO〜
B15の16ピツトの共通キャラクタ指示データが記憶
される。この指示データは、BO〜B10ビットに共通
キャラクタ部31aのアドレス(共通キャラクタの種類
が2000の場合)、811ビツトに回転フラグ、81
2ビツトに二重フラグ、813〜B15ビツトに共通キ
ャラクタ数/位画フラグが書込まれる。この813〜B
15ビツトと共通キャラクタ数との関係(共通キャラク
タ指示メモリ部31bの1番目)を第14図に、813
〜B15ビツトに対する位置フラグの内容(共通キャラ
クタ指示メモリ部31bの2番目以降〉を第15図に示
す。また、311ビツト及びフラグFl 、F2とそれ
に対応する型との関係を第16図(a)、(b)に示す
。更に811ビツト及びFl 、F2フラグと圧縮キャ
ラクタのx、yビット数との関係を第17図に示す。
次に上記実施例の動作をフローチャートを参照して説明
する。まず、文字を再生する場合の全体の概略動作を第
18図により説明する。文字を再生する場合、プログラ
ムROM14は、最初にステップS1に示すように第2
RAM18をクリアする。
する。まず、文字を再生する場合の全体の概略動作を第
18図により説明する。文字を再生する場合、プログラ
ムROM14は、最初にステップS1に示すように第2
RAM18をクリアする。
次いでステップS2においてキャラクタROM31から
共通キャラクタ指示メモリ部31bの内容を第2RAM
18に読出す。今例えば「禾」という文字を再生するも
のとすれば、そのアドレスデータをアドレスカウンタ2
7にセットして共通キャラクタ指示メモリ部31bから
第19図に示すように「禾」に対するデータを第2RA
M18に読出す。次いでステップS3において第lRA
M16をクリアした後ステップS4に進み、第2RAM
18に読出した共通キャラクタ指示データに応じて共通
キャラクタ部31aにおける「禾」に関する共通キャラ
クタを第19図(b)に示すように第lRAM16に読
出す。そして、ステップS5に示すように縦フラグエリ
アVF及び横フラグエリアHFの7ラグデータから共通
キャラクタの大きさを調べる。次いでステップS6にお
いてF3フラグを比較回路22に読出して0″か否かを
判断し、0”であればステップS1に進んで第19図(
C)に示すように第lRAM16に記憶している共通キ
ャラクタに対し、横フラグに応じて横圧縮再生処理を実
行する。また、F3フラグが“0″でない場合は、ステ
ップS8に進んで縦フラグ及び横フラグに応じて斜め圧
縮再生処理を実行する。上記ステップS7あるいはステ
ップS8の処理を終了するとステップS9に進んで第2
RAM18に記憶している共通キャラクタ指示データの
812ビツト(二重フラグ)を比較回路22に読出して
“1”であるか否かを判断し、II 111であればス
テップS10に進んで第19図(d)に示すように縦フ
ラグに応じて縦圧縮再生処理を実行する。このステップ
810の処理を終了した場合、あるいは上記ステップS
9で812ビツトが“1”でないと判断された場合は、
ステップ811に示す補正キャラクタの再生処理を実行
する。その後、ステップ812に進み、第19図(e)
に示すように第lRAM16の共通キャラクタから縦フ
ラグ及び横フラグを除去する。次いでステップS 13
aに進み、共通キャラクタ指示データの813〜815
ビツト(共通キャラクタ数/位置フラグ)により第lR
AM16の共通キャラクタを第19図(f)に示すよう
に第2RAM18に書込む。そして、ステップ814に
おいて第2RAM18内の共通キャラクタを第19図i
)に示すようにセンタリング処理し、その後、ステップ
815に進んでその共通キャラクタをスタックレジスタ
298〜29dに読出し、このスタックレジスタ298
〜29dから32ビツトのキャラクタデータとして順次
表示部へ出力する。
共通キャラクタ指示メモリ部31bの内容を第2RAM
18に読出す。今例えば「禾」という文字を再生するも
のとすれば、そのアドレスデータをアドレスカウンタ2
7にセットして共通キャラクタ指示メモリ部31bから
第19図に示すように「禾」に対するデータを第2RA
M18に読出す。次いでステップS3において第lRA
M16をクリアした後ステップS4に進み、第2RAM
18に読出した共通キャラクタ指示データに応じて共通
キャラクタ部31aにおける「禾」に関する共通キャラ
クタを第19図(b)に示すように第lRAM16に読
出す。そして、ステップS5に示すように縦フラグエリ
アVF及び横フラグエリアHFの7ラグデータから共通
キャラクタの大きさを調べる。次いでステップS6にお
いてF3フラグを比較回路22に読出して0″か否かを
判断し、0”であればステップS1に進んで第19図(
C)に示すように第lRAM16に記憶している共通キ
ャラクタに対し、横フラグに応じて横圧縮再生処理を実
行する。また、F3フラグが“0″でない場合は、ステ
ップS8に進んで縦フラグ及び横フラグに応じて斜め圧
縮再生処理を実行する。上記ステップS7あるいはステ
ップS8の処理を終了するとステップS9に進んで第2
RAM18に記憶している共通キャラクタ指示データの
812ビツト(二重フラグ)を比較回路22に読出して
“1”であるか否かを判断し、II 111であればス
テップS10に進んで第19図(d)に示すように縦フ
ラグに応じて縦圧縮再生処理を実行する。このステップ
810の処理を終了した場合、あるいは上記ステップS
9で812ビツトが“1”でないと判断された場合は、
ステップ811に示す補正キャラクタの再生処理を実行
する。その後、ステップ812に進み、第19図(e)
に示すように第lRAM16の共通キャラクタから縦フ
ラグ及び横フラグを除去する。次いでステップS 13
aに進み、共通キャラクタ指示データの813〜815
ビツト(共通キャラクタ数/位置フラグ)により第lR
AM16の共通キャラクタを第19図(f)に示すよう
に第2RAM18に書込む。そして、ステップ814に
おいて第2RAM18内の共通キャラクタを第19図i
)に示すようにセンタリング処理し、その後、ステップ
815に進んでその共通キャラクタをスタックレジスタ
298〜29dに読出し、このスタックレジスタ298
〜29dから32ビツトのキャラクタデータとして順次
表示部へ出力する。
次に上記第18図のフローチャートにおける主要ステッ
プの詳細を説明する。第20図は、ステップS4の詳細
について示したものである。まずステップ841におい
て第2RAM18に記憶している共通キャラクタアドレ
ス(BO〜B 10)で指定される共通キャラクタ部3
1aの内容(指定アドレスの1行目)をチェックする。
プの詳細を説明する。第20図は、ステップS4の詳細
について示したものである。まずステップ841におい
て第2RAM18に記憶している共通キャラクタアドレ
ス(BO〜B 10)で指定される共通キャラクタ部3
1aの内容(指定アドレスの1行目)をチェックする。
そして、ステップ842に示すようにその上位2ビツト
(Fl 、F2 )とB11ビットの回転フラグを見て
共通キャラクタの型を決める。例えば共通キャラクタ指
示データがrollooloool 110100 J
の場合、BO〜B10ビットの共通キャラクタアドレス
[0110010001Jにより共通キャラクタ部31
aがアドレス指定され、その1行目のデータが例えば[
10011000Jであったとすれば、その上位2ビツ
ト(Fl 、F2 )と311の回転フラグから[B1
1、Fl 、F2 =110」となる。B11、Fl
、F2がrlloJの場合、第16図(a)の関係から
共通キャラクタの型は、D型であると判断される。そし
て、第20図のステップ843に示すように第lRAM
16に対し、左上から下へという順番で型(この例では
D型)に従い、指定された共通キャラクタ部31aの内
容を8行ずつ書込む。
(Fl 、F2 )とB11ビットの回転フラグを見て
共通キャラクタの型を決める。例えば共通キャラクタ指
示データがrollooloool 110100 J
の場合、BO〜B10ビットの共通キャラクタアドレス
[0110010001Jにより共通キャラクタ部31
aがアドレス指定され、その1行目のデータが例えば[
10011000Jであったとすれば、その上位2ビツ
ト(Fl 、F2 )と311の回転フラグから[B1
1、Fl 、F2 =110」となる。B11、Fl
、F2がrlloJの場合、第16図(a)の関係から
共通キャラクタの型は、D型であると判断される。そし
て、第20図のステップ843に示すように第lRAM
16に対し、左上から下へという順番で型(この例では
D型)に従い、指定された共通キャラクタ部31aの内
容を8行ずつ書込む。
その後、第21図に詳細を示すステップS5の処理を実
行する。まず、ステップS51において上記縦長可変フ
ラグF1 、F2と回転フラグB11により、第17図
の関係から共通キャラクタの太きさくx、y)を判断す
る。例えば311=O,F1=1、F2 =Oの場合、
共通キャラクタの大きさは、(x、V)−(16,20
)となる。次いでステップS52に進み、第lRAM1
6に記憶している共通キャラクタの縦フラグエリアVF
と倍長フラグF4とにより、第12図(a)に示す関係
からその省略ビット数を加算して再生後の横幅の増大量
ΔXを求める。その後、ステップ853において、「X
十Δx−2」の演算を演算回路23により行なって再生
後の新たなXを求める。例えば、横幅の増大量ΔXが1
2ビツトであるとすれば、新たなXはrx=16+12
−2=26Jとなる。
行する。まず、ステップS51において上記縦長可変フ
ラグF1 、F2と回転フラグB11により、第17図
の関係から共通キャラクタの太きさくx、y)を判断す
る。例えば311=O,F1=1、F2 =Oの場合、
共通キャラクタの大きさは、(x、V)−(16,20
)となる。次いでステップS52に進み、第lRAM1
6に記憶している共通キャラクタの縦フラグエリアVF
と倍長フラグF4とにより、第12図(a)に示す関係
からその省略ビット数を加算して再生後の横幅の増大量
ΔXを求める。その後、ステップ853において、「X
十Δx−2」の演算を演算回路23により行なって再生
後の新たなXを求める。例えば、横幅の増大量ΔXが1
2ビツトであるとすれば、新たなXはrx=16+12
−2=26Jとなる。
続いてステップ854において横フラグエリアHFと倍
長フラグF4により、第12図(a)に示す関係からそ
の省略ビット数を加算して再生後の横幅の増大量Δyを
求める。その後、ステップ855において、「y+Δy
−2」の演算を演算回路23により行なって再生後の新
たなyを求める。例えば、縦幅の増大量Δyが4ビツト
であるとすれば、新たなyはry=20+4−2=22
Jとなる。
長フラグF4により、第12図(a)に示す関係からそ
の省略ビット数を加算して再生後の横幅の増大量Δyを
求める。その後、ステップ855において、「y+Δy
−2」の演算を演算回路23により行なって再生後の新
たなyを求める。例えば、縦幅の増大量Δyが4ビツト
であるとすれば、新たなyはry=20+4−2=22
Jとなる。
その後、上記した判断ステップS6を経て横圧縮再生ス
テップS7に進む。
テップS7に進む。
上記ステップS7は、第22図に詳細を示すようにステ
ップ871〜879からなり、ステップ871〜75で
横圧縮再生の行なわれる列を捜すと共に処理の終了を判
断し、ステップ876〜879で横圧縮再生を行なって
いる。しかして、先ずステップ871において共通キャ
ラクタの列位置を示すI!λとして「3」をセットする
。次いでステップ872に進み、第lRAM16のβ列
目′にある縦フラグ■1℃−2、■2β−2、この場合
にはVll、V21を読出す。そして、ステップ873
に示すようにrVl ff1−2. V2λ−2=O,
OJか否かを判断し、ro、OJであればステップ87
4に進んでaの値を「+1」する。その後、ステップ8
75において2の値が「35」に達したか否か、つまり
、キャラクタエリア41の最後の列を過ぎたか否かを判
断し、λが「35」に達していなければステップ872
に戻る。以下、同様の処理を繰返し、第23図(a)に
示すように多の値が[6]の時に縦フラグV24の1″
が検出されると、ステップ873の判断結果がNoとな
り、ステップ87Bに進んで倍長フラグF4とρ列目の
縦フラグにより第12図(a)の関係から再生1rを求
める。例えば第23図(a)に示すように: N −6
ニオイr、V1n=O,V2n −1、F4 =O1の
場合には、r=2となる。そして、ステップ877にお
いて、まず、第lRAM16の33列目のデータを34
列目に書き、以下m列目のデータをm+1列目に書き、
λ列目をfi+1列目に書いて終わる。次いでステップ
878においてλの値を「+1」、再生量rをr−IJ
L、た後、ステップ879に進んで再生1rが「0」か
否か判断し、「O」でなければステップ877に戻る。
ップ871〜879からなり、ステップ871〜75で
横圧縮再生の行なわれる列を捜すと共に処理の終了を判
断し、ステップ876〜879で横圧縮再生を行なって
いる。しかして、先ずステップ871において共通キャ
ラクタの列位置を示すI!λとして「3」をセットする
。次いでステップ872に進み、第lRAM16のβ列
目′にある縦フラグ■1℃−2、■2β−2、この場合
にはVll、V21を読出す。そして、ステップ873
に示すようにrVl ff1−2. V2λ−2=O,
OJか否かを判断し、ro、OJであればステップ87
4に進んでaの値を「+1」する。その後、ステップ8
75において2の値が「35」に達したか否か、つまり
、キャラクタエリア41の最後の列を過ぎたか否かを判
断し、λが「35」に達していなければステップ872
に戻る。以下、同様の処理を繰返し、第23図(a)に
示すように多の値が[6]の時に縦フラグV24の1″
が検出されると、ステップ873の判断結果がNoとな
り、ステップ87Bに進んで倍長フラグF4とρ列目の
縦フラグにより第12図(a)の関係から再生1rを求
める。例えば第23図(a)に示すように: N −6
ニオイr、V1n=O,V2n −1、F4 =O1の
場合には、r=2となる。そして、ステップ877にお
いて、まず、第lRAM16の33列目のデータを34
列目に書き、以下m列目のデータをm+1列目に書き、
λ列目をfi+1列目に書いて終わる。次いでステップ
878においてλの値を「+1」、再生量rをr−IJ
L、た後、ステップ879に進んで再生1rが「0」か
否か判断し、「O」でなければステップ877に戻る。
例えば第23図(a)の6列目のD部を再生する場合に
は、上記のステップ877の処理により第23図(b)
に示すようにE部が9列目、E部が8列目、D部が7列
目に書かれる。
は、上記のステップ877の処理により第23図(b)
に示すようにE部が9列目、E部が8列目、D部が7列
目に書かれる。
この場合、縦フラグも一緒に書かれる。そして、ステッ
プ878の処理により、「℃−7、r=1」となる。r
r=1Jの場合には、ステップB79を経てステップ8
77に戻り、上記と同様の処理が行なわれ、その結果、
共通キャラクタ、第23図(b)の状態から同図(C)
に示すように再生され、「β=8、rmo」となる。再
生量rがrOJになると、上記り部の再生処理が終了し
、ステップ879からステップ872に戻って次に横圧
縮再生を行なう列をρ列目、この場合には8列目からサ
ーチする。そして、上記の動作の繰返しにより、縦フラ
グの立っている列に対する全ての横圧縮再生を終了し、
βの値が「35」に達すると次のステップS8に進んで
斜め圧縮再生処理を行なう。
プ878の処理により、「℃−7、r=1」となる。r
r=1Jの場合には、ステップB79を経てステップ8
77に戻り、上記と同様の処理が行なわれ、その結果、
共通キャラクタ、第23図(b)の状態から同図(C)
に示すように再生され、「β=8、rmo」となる。再
生量rがrOJになると、上記り部の再生処理が終了し
、ステップ879からステップ872に戻って次に横圧
縮再生を行なう列をρ列目、この場合には8列目からサ
ーチする。そして、上記の動作の繰返しにより、縦フラ
グの立っている列に対する全ての横圧縮再生を終了し、
βの値が「35」に達すると次のステップS8に進んで
斜め圧縮再生処理を行なう。
この斜め圧縮再生の処理は、詳細を第24図(a)に示
すようにステップ881〜885により再生を行なう列
をサーチし、ステップ886以降において再生を行なう
部分をサーチする。まず、ステップS81においてりの
値を「3」にセットした後、ステップ882において第
lRAM16の4列目にある縦フラグv1℃−2、V2
J2−2、この場合にはVll、V21を読出す。そし
て、ステップ883に示すよう1.: rVl fi−
2,V2 fi−2=O,OJか否かを判断し、ro、
OJであればステップ884に進んで℃の値を「+1」
する。その後、ステップ885においてβの値が「35
」に達したか否か、つまり、キャラクタエリア41の最
後の列を過ぎたか否かを判断し、2が「35」に達して
いなければステップ882に戻る。以下、同様の処理を
繰返し、例えば第25図に示すようにeの値が「6」の
時に縦フラグV14の1”が検出されると、ステップ8
83の判断結果がNOとなり、ステップ886に進んで
ri=1、m(1)=3Jにセットする。次にステップ
887において第lRAM1Bのρ列m(i)行目の値
(Z)を読出し、ステップ888においてrZ=OJか
否かを判断する。「Z=OJであれば、ステップ889
に進んでm(i)の値を「+」シ、その後、ステップ8
89においてrm (i )=35Jになったか否かを
判断し、1”m (+ > =35Jに達していなけれ
ばステップ387に戻る。そして、このステップ887
において第lRAM1Gの℃列m(i)行目の値(Z)
を読出してチェックし、rZ=OJでなければステップ
5811へ進んでm(i)の値をr+IJL、た後n(
1)に入力する。その後、ステップ5812に進んで第
lRAM16のβ列n(i)行目の値(Z)を読出し、
ステップ5813においてrZ=OJが否かを判断する
。rZ=OJでなければステップ5814に進んでn(
i)の値をr+1JL、ステップ5812に戻る。そし
て、上記ステップ5813においてrZ=OJであると
判断されると、ステップ5815に進んでn(+)の値
をr−IJl、、次いでステップ8816においてiの
値を「+1」する。更にステップ5817においてn(
+−1)の値をr+I J L、、た後、ステップ88
7に戻る。今、第25図に示すように6列目<R=6)
に注目しているとすると、m(i)、n(i)は「1」
の始まる行(斜め圧縮再生の開始行)及び「1」の終わ
る行(斜め圧縮再生の終了行)を表わしている。以下、
同様の処理を繰返し、ステップ5810においてrm
(i )=35Jになったと判断されると、第24図(
b)に示すステップ8818以下の処理を実行する。
すようにステップ881〜885により再生を行なう列
をサーチし、ステップ886以降において再生を行なう
部分をサーチする。まず、ステップS81においてりの
値を「3」にセットした後、ステップ882において第
lRAM16の4列目にある縦フラグv1℃−2、V2
J2−2、この場合にはVll、V21を読出す。そし
て、ステップ883に示すよう1.: rVl fi−
2,V2 fi−2=O,OJか否かを判断し、ro、
OJであればステップ884に進んで℃の値を「+1」
する。その後、ステップ885においてβの値が「35
」に達したか否か、つまり、キャラクタエリア41の最
後の列を過ぎたか否かを判断し、2が「35」に達して
いなければステップ882に戻る。以下、同様の処理を
繰返し、例えば第25図に示すようにeの値が「6」の
時に縦フラグV14の1”が検出されると、ステップ8
83の判断結果がNOとなり、ステップ886に進んで
ri=1、m(1)=3Jにセットする。次にステップ
887において第lRAM1Bのρ列m(i)行目の値
(Z)を読出し、ステップ888においてrZ=OJか
否かを判断する。「Z=OJであれば、ステップ889
に進んでm(i)の値を「+」シ、その後、ステップ8
89においてrm (i )=35Jになったか否かを
判断し、1”m (+ > =35Jに達していなけれ
ばステップ387に戻る。そして、このステップ887
において第lRAM1Gの℃列m(i)行目の値(Z)
を読出してチェックし、rZ=OJでなければステップ
5811へ進んでm(i)の値をr+IJL、た後n(
1)に入力する。その後、ステップ5812に進んで第
lRAM16のβ列n(i)行目の値(Z)を読出し、
ステップ5813においてrZ=OJが否かを判断する
。rZ=OJでなければステップ5814に進んでn(
i)の値をr+1JL、ステップ5812に戻る。そし
て、上記ステップ5813においてrZ=OJであると
判断されると、ステップ5815に進んでn(+)の値
をr−IJl、、次いでステップ8816においてiの
値を「+1」する。更にステップ5817においてn(
+−1)の値をr+I J L、、た後、ステップ88
7に戻る。今、第25図に示すように6列目<R=6)
に注目しているとすると、m(i)、n(i)は「1」
の始まる行(斜め圧縮再生の開始行)及び「1」の終わ
る行(斜め圧縮再生の終了行)を表わしている。以下、
同様の処理を繰返し、ステップ5810においてrm
(i )=35Jになったと判断されると、第24図(
b)に示すステップ8818以下の処理を実行する。
まず、ステップ8818において「j」の値を「1」に
設定した後、ステップ5819に進んで第25図(b)
に示すように第lRAM16のm(J)、n(j)行目
の点の回りの点、すなわち■〜■の点を調べる。但し、
上記の点がフラグエリアVF、HFにある場合はrOJ
とする。そして、ステップ8820において再生の方向
α(j)を判断し、次いでステップ5821で「j」の
値を「+1」する。その後、ステップ5822に進み、
filが「j」に等しくなったか否かを判断し、等しく
なければステップ5819に戻る。以下、ri−jJに
なるまで同様の動作を繰返し、再生の方向α(j)を順
次判断する。この再生の方向α(j)の判断は、第26
図(a)〜(d)に示すようにして判断する。すなわち
、第26図(a)に示すように■〜■でA、B、C1第
26図(b)に示すように■〜■でり、E、Fを決め、
更に第26図(C)に示すようにA、B、Cとり、E。
設定した後、ステップ5819に進んで第25図(b)
に示すように第lRAM16のm(J)、n(j)行目
の点の回りの点、すなわち■〜■の点を調べる。但し、
上記の点がフラグエリアVF、HFにある場合はrOJ
とする。そして、ステップ8820において再生の方向
α(j)を判断し、次いでステップ5821で「j」の
値を「+1」する。その後、ステップ5822に進み、
filが「j」に等しくなったか否かを判断し、等しく
なければステップ5819に戻る。以下、ri−jJに
なるまで同様の動作を繰返し、再生の方向α(j)を順
次判断する。この再生の方向α(j)の判断は、第26
図(a)〜(d)に示すようにして判断する。すなわち
、第26図(a)に示すように■〜■でA、B、C1第
26図(b)に示すように■〜■でり、E、Fを決め、
更に第26図(C)に示すようにA、B、Cとり、E。
Fの組合わせでα(j)を判断する。この場合、α(J
)の値ro、1.2Jとその方向との関係は、第26図
(d)に示すように設定されている。
)の値ro、1.2Jとその方向との関係は、第26図
(d)に示すように設定されている。
しかして、上記ステップ5822でri=JJになった
と判断されるとステップ5823に進み、β列目の横圧
縮再生を行なう。この横圧縮再生は、第27図(a)に
示すように前記したステップS7と同様にして行なわれ
る。なお、上記第27Ig(a)において、Aエリアは
再生により生じた範囲であり、Bエリアは再生に伴い移
動する範囲である。次いでステップ5824に進んで「
j」の値を「1」に設定した後、ステップ5825にお
いて「α(j )−0Jか否かを判断する。「α(j)
−〇」でなければステップ5826に進み、斜めへの再
生に伴い位置の変わる範囲、すなわち、繋がっている範
囲を、Aエリア、Bエリアに分けて確認する。以下、第
24図(C)のステップ5827以降の処理を実行する
。また、上記ステップ5825において「α(j )
−04であると判断された場合は、第24図(C)のス
テップ5839に進む。
と判断されるとステップ5823に進み、β列目の横圧
縮再生を行なう。この横圧縮再生は、第27図(a)に
示すように前記したステップS7と同様にして行なわれ
る。なお、上記第27Ig(a)において、Aエリアは
再生により生じた範囲であり、Bエリアは再生に伴い移
動する範囲である。次いでステップ5824に進んで「
j」の値を「1」に設定した後、ステップ5825にお
いて「α(j )−0Jか否かを判断する。「α(j)
−〇」でなければステップ5826に進み、斜めへの再
生に伴い位置の変わる範囲、すなわち、繋がっている範
囲を、Aエリア、Bエリアに分けて確認する。以下、第
24図(C)のステップ5827以降の処理を実行する
。また、上記ステップ5825において「α(j )
−04であると判断された場合は、第24図(C)のス
テップ5839に進む。
しかして、第24図(C)のステップ5827において
は、例えば第27図(b)に示すようにAエリアをλ1
〜β2列目(β1〈β2)、Bエリアを、もしあれば℃
3〜β4列目(β3〈β4)とする。次いでステップ8
828において「α(j)−1」であるか否かを判断し
、[α(j)=1Jでなければステップ5829に進ん
で「α(j)=2」の場合の再生を行なう。[α(j)
=IJの場合は、ステップ8828からステップ583
0に進んで「e」の値を「1」とし、その後、ステップ
5831において第27図(C)に示すようにAエリア
のβ1列目をreJだけ落とす。そして、ステップ58
32に示すように「21」の値を「+1」した後、ステ
ップ38331.:おいT ral>(22Jか否かを
判断する。[β1>、92Jでないと判断された場合は
、ステップ5834で「e」の値をr+IJした後ステ
ップ5831に戻り、Aエリアの次の列をreJだけ、
この場合には「2」つ落とす。そして、ステップ583
3において「21〉IJになったと判断されると、ステ
ップ5835に進んでBエリアが有るか否かを判断し、
Bエリアが有る場合はステップ5836に示すようにB
エリアのβ1列目をreJだけ落とす。次いでステップ
5837おいてβ1の値をr+IJした後、ステップ$
838に進んで「β1>j/4」か否かを判断し、「β
1〉β4」でなければステップ8836に戻ってBエリ
アの次の列をreJだけ落とす。
は、例えば第27図(b)に示すようにAエリアをλ1
〜β2列目(β1〈β2)、Bエリアを、もしあれば℃
3〜β4列目(β3〈β4)とする。次いでステップ8
828において「α(j)−1」であるか否かを判断し
、[α(j)=1Jでなければステップ5829に進ん
で「α(j)=2」の場合の再生を行なう。[α(j)
=IJの場合は、ステップ8828からステップ583
0に進んで「e」の値を「1」とし、その後、ステップ
5831において第27図(C)に示すようにAエリア
のβ1列目をreJだけ落とす。そして、ステップ58
32に示すように「21」の値を「+1」した後、ステ
ップ38331.:おいT ral>(22Jか否かを
判断する。[β1>、92Jでないと判断された場合は
、ステップ5834で「e」の値をr+IJした後ステ
ップ5831に戻り、Aエリアの次の列をreJだけ、
この場合には「2」つ落とす。そして、ステップ583
3において「21〉IJになったと判断されると、ステ
ップ5835に進んでBエリアが有るか否かを判断し、
Bエリアが有る場合はステップ5836に示すようにB
エリアのβ1列目をreJだけ落とす。次いでステップ
5837おいてβ1の値をr+IJした後、ステップ$
838に進んで「β1>j/4」か否かを判断し、「β
1〉β4」でなければステップ8836に戻ってBエリ
アの次の列をreJだけ落とす。
すなわち、第27図(C)に示すようにAエリアでは列
が進む毎に落ち方が大きくなるが、Bエリアでは各列と
も落ち方が一定となる。そして、ステップ8838にお
いて「β1>i4Jになったと判断されると、ステップ
5839に進んで「j」の値を「+1」する。このステ
ップ5839は、上記ステップ5825あるいはステッ
プ5829の処理を終了した場合も実行される。次いで
ステップ5840においてrj=iJになったか否か判
断され、rj=iJでなければ第24図(b)のステッ
プ5825に戻る。また、ステップ5840においてr
j=iJになったと判断された場合は、ステップ584
1においてβ1の値が「+1」され、その後、第24図
(a)のステップ882に戻る。上記のようにして第l
RAM16内のキャラクタデータが34列(β=34)
まで斜め圧縮の再生処理が行なわれ、ステップ885に
おいてrN−35Jになったと判断されると、ステップ
S8の処理を終了して次のステップS9に進む。
が進む毎に落ち方が大きくなるが、Bエリアでは各列と
も落ち方が一定となる。そして、ステップ8838にお
いて「β1>i4Jになったと判断されると、ステップ
5839に進んで「j」の値を「+1」する。このステ
ップ5839は、上記ステップ5825あるいはステッ
プ5829の処理を終了した場合も実行される。次いで
ステップ5840においてrj=iJになったか否か判
断され、rj=iJでなければ第24図(b)のステッ
プ5825に戻る。また、ステップ5840においてr
j=iJになったと判断された場合は、ステップ584
1においてβ1の値が「+1」され、その後、第24図
(a)のステップ882に戻る。上記のようにして第l
RAM16内のキャラクタデータが34列(β=34)
まで斜め圧縮の再生処理が行なわれ、ステップ885に
おいてrN−35Jになったと判断されると、ステップ
S8の処理を終了して次のステップS9に進む。
次にステップS11の補正キャラクタの再生処理につい
て第28図のフローチャートに従って説明する。この補
正キャラクタの再生処理では、ステップ8111〜51
15の処理により補正を受は得る列を捜しており、ステ
ップ8116以降の処理により補正を受は得る場所を捜
している。まず、ステップ5111において「2」の値
を「3」に設定した後、ステップ5112に進んで第l
RAM16のβ列目にある縦フラグ(Vl fi−2、
V2 N−2>を見る。そして、ステップ5113にお
いてrVl j2−2 、V2β−2−0,OJか否か
を判断し、その判断結果がYESであればステップ51
14に進んで「℃」の値を「+1」する。その後、ステ
ップ5115においてr 1 = 35Jか否かを判断
し、その判断結果がYESであれば次のステツブ812
に進むが、Noであればステップ5112に戻る。そし
て、上記ステップ8111〜5115の処理により補正
を受は得る列が見つかると、つまり、ステップ5113
の判断結果がNoとなると、ステップ8116に進んで
倍長フラグと縦フラグにより再生!(r)を決定する。
て第28図のフローチャートに従って説明する。この補
正キャラクタの再生処理では、ステップ8111〜51
15の処理により補正を受は得る列を捜しており、ステ
ップ8116以降の処理により補正を受は得る場所を捜
している。まず、ステップ5111において「2」の値
を「3」に設定した後、ステップ5112に進んで第l
RAM16のβ列目にある縦フラグ(Vl fi−2、
V2 N−2>を見る。そして、ステップ5113にお
いてrVl j2−2 、V2β−2−0,OJか否か
を判断し、その判断結果がYESであればステップ51
14に進んで「℃」の値を「+1」する。その後、ステ
ップ5115においてr 1 = 35Jか否かを判断
し、その判断結果がYESであれば次のステツブ812
に進むが、Noであればステップ5112に戻る。そし
て、上記ステップ8111〜5115の処理により補正
を受は得る列が見つかると、つまり、ステップ5113
の判断結果がNoとなると、ステップ8116に進んで
倍長フラグと縦フラグにより再生!(r)を決定する。
次いでステップ5117において「S」にrOJ、rm
Jに「3」を書込んだ後、ステップ8118に進んで第
1RA M 16の2列m行目の点の値(V)を見る。
Jに「3」を書込んだ後、ステップ8118に進んで第
1RA M 16の2列m行目の点の値(V)を見る。
そして、ステップ5119において[v−sJか否かを
判断し、[v=sJであればステップ31110に進ん
でrmJの値を「+1」する。そして、ステップ836
において1−m=36Jか否かを判断し、rmJが「3
6」に達していなければステップ8118に戻る。そし
て、上記ステップ5119において「v−sJであると
判断されると第29図に詳細を示すサブルーチンS U
B 11の処理を実行する。このサブルーチン5UB
11は、補正するか否か、補正するとしたらその型を判
断して補正する。
判断し、[v=sJであればステップ31110に進ん
でrmJの値を「+1」する。そして、ステップ836
において1−m=36Jか否かを判断し、rmJが「3
6」に達していなければステップ8118に戻る。そし
て、上記ステップ5119において「v−sJであると
判断されると第29図に詳細を示すサブルーチンS U
B 11の処理を実行する。このサブルーチン5UB
11は、補正するか否か、補正するとしたらその型を判
断して補正する。
そして、このサブルーチンS U B 11の処理を終
了すると、ステップ31112でrVJの値をrsJに
セラl−した後、ステップ31110に戻る。以下、同
様の動作を繰返して行なうが、ステップ51111にお
いて[m=36Jになったと判断されると、ステップ3
1111からステップ31113に進んで「β←、9+
r+1Jの加算処理を行なった後、ステップ5115に
進む。そして、このステップ5115においてl[=3
5Jであると判断されると、ステップ811の処理を終
了してステップ812に進む。
了すると、ステップ31112でrVJの値をrsJに
セラl−した後、ステップ31110に戻る。以下、同
様の動作を繰返して行なうが、ステップ51111にお
いて[m=36Jになったと判断されると、ステップ3
1111からステップ31113に進んで「β←、9+
r+1Jの加算処理を行なった後、ステップ5115に
進む。そして、このステップ5115においてl[=3
5Jであると判断されると、ステップ811の処理を終
了してステップ812に進む。
しかして、第29図に詳細を示すサブルーチンS U
B 11では、まず、ステップA1において、第30図
に示すように第lRAM16の2列m行目を点A、(λ
+r)列m行目を点Bとする。第30図は、[a=5、
m=4、(r=1)Jとした時の点A1点Bの位置を示
したものである。次いでステップA2に進IυでA、B
の回りを5点づつ見る。第30図の例では、■−〇、■
−〇、■−01■−〇1・・・となる。この場合フラグ
エリアVF。
B 11では、まず、ステップA1において、第30図
に示すように第lRAM16の2列m行目を点A、(λ
+r)列m行目を点Bとする。第30図は、[a=5、
m=4、(r=1)Jとした時の点A1点Bの位置を示
したものである。次いでステップA2に進IυでA、B
の回りを5点づつ見る。第30図の例では、■−〇、■
−〇、■−01■−〇1・・・となる。この場合フラグ
エリアVF。
HF内は、全て「0」とする。そして、再生量rと調べ
た10点により第31図(a)に示す関係から補正型(
1)を見る。そして、ステップA4おいて補正型(1)
がrl、2.3.5.J、rOJ、「4」の何れである
かを判断し、[1゜2.3,5.Jの場合にはステップ
A5に進んで第31図(b)に示すようにして補正する
。但し、四角で囲まれた点はA、Bにあたる。その後、
ステップ811のメインルーチンにリターンする。また
、ステップA4において補正型(1)が「0」であると
判断された場合は、そのままメインルーチンにリターン
し、rt=4Jであると判断された場合は、rBJから
同じ行を右へ調べ最後に「1」なる点を「C」とする。
た10点により第31図(a)に示す関係から補正型(
1)を見る。そして、ステップA4おいて補正型(1)
がrl、2.3.5.J、rOJ、「4」の何れである
かを判断し、[1゜2.3,5.Jの場合にはステップ
A5に進んで第31図(b)に示すようにして補正する
。但し、四角で囲まれた点はA、Bにあたる。その後、
ステップ811のメインルーチンにリターンする。また
、ステップA4において補正型(1)が「0」であると
判断された場合は、そのままメインルーチンにリターン
し、rt=4Jであると判断された場合は、rBJから
同じ行を右へ調べ最後に「1」なる点を「C」とする。
そして、ステップA7においてrBJと「C」が何点離
れているかをチェックし、ステップA8において4点以
上離れていると判断された場合は、そのままメインルー
チンにリターンする。しかし、ステップ八8において、
rBJと「C」が4点以上離れていないと判断された場
合は、ステップA9に進んで「C」の周りの点を調べる
。すなわち、ステップAIO〜Al1により「C」の周
りが(+)、(11)、(lii )、(1v)の何れ
の条件であるかを調べる。
れているかをチェックし、ステップA8において4点以
上離れていると判断された場合は、そのままメインルー
チンにリターンする。しかし、ステップ八8において、
rBJと「C」が4点以上離れていないと判断された場
合は、ステップA9に進んで「C」の周りの点を調べる
。すなわち、ステップAIO〜Al1により「C」の周
りが(+)、(11)、(lii )、(1v)の何れ
の条件であるかを調べる。
上記(1)、(11)、(lti )、(IV)は、「
C」を中心に第32図(a)に示す条件を備えたもので
あることを意味している。この第32図(a)において
、斜線部は既に決まっているエリアであるので考慮はし
ない。また、この場合もフラグエリアは全てrOJとみ
なす。そして、「C」を中心として第32図(b)に示
すようにして補正が行なわれる。しかして、上記ステッ
プA10において(1)の条件を満たしていないと判断
された場合はそのままメインルーチンに戻る。そして、
(1)の条件は満たすが(I+)の条件を満たしていな
い場合は、ステップA11からステップA14に進んで
第32図(b)におけるrIJの補正を行ない、その後
、メインルーチンに戻る。また、(1)、(11)の条
件は満たすが(用)の条件を満たしていない場合は、あ
るいは(1)、(11)、(n+ )の条件は満たすが
((■)の条件を満たしていない場合は、ステップA1
2またはステップAI3からステップA15に進んでr
BJと「C」が3点離れているか否かを判断し、3点離
れていない場合はステップA16に進んで第32図(b
)におけるrI[Jの補正を行ない、その後、メインル
ーチンにリターンする。上記ステップA15においてr
BJと「C」が3点離れていると判断された場合は、令
兄ている補正フラグ(縦フラグ)の位置と補正rI[J
の位置が一致しない場合であるので、そのままメインル
ーチンにリターンする。更に上記(1)〜(iv)の条
件を全て満たす場合は、ステップA17に進んで第32
図(b)におけるrl[IJの補正を行ない、その後、
メインルーチンにリターンする。
C」を中心に第32図(a)に示す条件を備えたもので
あることを意味している。この第32図(a)において
、斜線部は既に決まっているエリアであるので考慮はし
ない。また、この場合もフラグエリアは全てrOJとみ
なす。そして、「C」を中心として第32図(b)に示
すようにして補正が行なわれる。しかして、上記ステッ
プA10において(1)の条件を満たしていないと判断
された場合はそのままメインルーチンに戻る。そして、
(1)の条件は満たすが(I+)の条件を満たしていな
い場合は、ステップA11からステップA14に進んで
第32図(b)におけるrIJの補正を行ない、その後
、メインルーチンに戻る。また、(1)、(11)の条
件は満たすが(用)の条件を満たしていない場合は、あ
るいは(1)、(11)、(n+ )の条件は満たすが
((■)の条件を満たしていない場合は、ステップA1
2またはステップAI3からステップA15に進んでr
BJと「C」が3点離れているか否かを判断し、3点離
れていない場合はステップA16に進んで第32図(b
)におけるrI[Jの補正を行ない、その後、メインル
ーチンにリターンする。上記ステップA15においてr
BJと「C」が3点離れていると判断された場合は、令
兄ている補正フラグ(縦フラグ)の位置と補正rI[J
の位置が一致しない場合であるので、そのままメインル
ーチンにリターンする。更に上記(1)〜(iv)の条
件を全て満たす場合は、ステップA17に進んで第32
図(b)におけるrl[IJの補正を行ない、その後、
メインルーチンにリターンする。
次に上記ステップ813の詳細について第33図に従っ
て説明する。まず、第33図(a)のステップ5131
においてrK=OJか否かを判断する。
て説明する。まず、第33図(a)のステップ5131
においてrK=OJか否かを判断する。
最初はrK=OJであり、ステップ5132に進んで「
a」 (列情報)及び「b」 (行情報)の値を「1」
にセットする。次いでステップ5133においてrhJ
に813、B14.315で表わされる数(共通キャラ
クタ数−1)を入れる。上記B13、B14、B15は
、1つ目の共通キャラクタを見ている場合(K=O)、
共通キャラクタ数を表わしている。その後、ステップ5
134において、第34図に示すように第lRAM16
の1〜X列目、1〜y列目を第2RAM18の「a〜a
+x列目」、1”b−b十y列目」にオアをとりながら
書く。この場合、第34図に示すように第lRAM16
で再生された(k+1)番目の共通キャラクタを第2R
AM18に書く際、P点の情報をaSbで与え(P点は
a列、b行目にある)、再生された共通キャラクタの大
きさをx、yで与える。そして、ステップ5135にお
いてrb+y+IJの値をrbJとしてセットすると共
に、rK+14の値をrKJとしてセットし、次のra
J rbJを決める準備をする。その後、ステップ8
136において「a+x+1>cJか否かを判断し、そ
の判断結果がYESの場合はステップ5137に進んで
「a+x+1JをrcJとしてセットする。このステッ
プ5137の処理が終了、あるいはステップ8136の
判断結果がNoの場合はステップ8138に進んでrh
−に−−IJか否かを判断する。このステップ8138
において、その判断結果がN。
a」 (列情報)及び「b」 (行情報)の値を「1」
にセットする。次いでステップ5133においてrhJ
に813、B14.315で表わされる数(共通キャラ
クタ数−1)を入れる。上記B13、B14、B15は
、1つ目の共通キャラクタを見ている場合(K=O)、
共通キャラクタ数を表わしている。その後、ステップ5
134において、第34図に示すように第lRAM16
の1〜X列目、1〜y列目を第2RAM18の「a〜a
+x列目」、1”b−b十y列目」にオアをとりながら
書く。この場合、第34図に示すように第lRAM16
で再生された(k+1)番目の共通キャラクタを第2R
AM18に書く際、P点の情報をaSbで与え(P点は
a列、b行目にある)、再生された共通キャラクタの大
きさをx、yで与える。そして、ステップ5135にお
いてrb+y+IJの値をrbJとしてセットすると共
に、rK+14の値をrKJとしてセットし、次のra
J rbJを決める準備をする。その後、ステップ8
136において「a+x+1>cJか否かを判断し、そ
の判断結果がYESの場合はステップ5137に進んで
「a+x+1JをrcJとしてセットする。このステッ
プ5137の処理が終了、あるいはステップ8136の
判断結果がNoの場合はステップ8138に進んでrh
−に−−IJか否かを判断する。このステップ8138
において、その判断結果がN。
の場合はステップS3に戻り、YESの場合は次のステ
ップ814に進んでセンタリング処理を行なう。
ップ814に進んでセンタリング処理を行なう。
しかして、上記ステップ5131において、「K−OJ
ではないと判断された場合は、第33図(b)のステッ
プ8139に進んで共通キャラクタの位置関係を表わす
813、B14.815をチェックする。この場合、上
記B13.314、B15は、他の共通キャラクタとの
位置関係を表わす位置フラグであり、「K+1」番目の
共通キャラクタ指示メモリ部31bに記憶されているデ
ータを見ている。
ではないと判断された場合は、第33図(b)のステッ
プ8139に進んで共通キャラクタの位置関係を表わす
813、B14.815をチェックする。この場合、上
記B13.314、B15は、他の共通キャラクタとの
位置関係を表わす位置フラグであり、「K+1」番目の
共通キャラクタ指示メモリ部31bに記憶されているデ
ータを見ている。
そして、ステップS 1310において、rB13−1
j、またはrB14.B15=O,OJか否かを判断し
、その判断結果がYESの場合は、ステップS 131
1に進んで「b+y>324か否かを判断する。このス
テップ31311の判断結果がYESの場合は、ステッ
プS 1312においてrbJの値をrOJ、raJの
値をrCJとした後ステップS 1313に進む。また
、上記ステップS 1310及びS 1311でN。
j、またはrB14.B15=O,OJか否かを判断し
、その判断結果がYESの場合は、ステップS 131
1に進んで「b+y>324か否かを判断する。このス
テップ31311の判断結果がYESの場合は、ステッ
プS 1312においてrbJの値をrOJ、raJの
値をrCJとした後ステップS 1313に進む。また
、上記ステップS 1310及びS 1311でN。
と判断された場合もステップS 1313に進む。上記
ステップ81310〜31312では、第34図(b)
に示すように第2RAM18の再生エリア18a(32
列×32行)に収まるか否かを見ており、共通キャラク
タが再生エリア18aの下からはみ出したら右上へ位置
を移す処理を行なっている。そして、上記ステップS
1313では、rB14. B15=O,OJか否の判
断を行ない、YESの場合はステップ5134へ戻り、
NOの場合はステップ81314に進んでr B 13
= OJか否かを判断する。このステップS 1314
の判断結果がNoの場合は、ステップ31315におい
て左側との位置関係を考えてraJf’bJを決め、そ
の後、ステップ5134に戻る。
ステップ81310〜31312では、第34図(b)
に示すように第2RAM18の再生エリア18a(32
列×32行)に収まるか否かを見ており、共通キャラク
タが再生エリア18aの下からはみ出したら右上へ位置
を移す処理を行なっている。そして、上記ステップS
1313では、rB14. B15=O,OJか否の判
断を行ない、YESの場合はステップ5134へ戻り、
NOの場合はステップ81314に進んでr B 13
= OJか否かを判断する。このステップS 1314
の判断結果がNoの場合は、ステップ31315におい
て左側との位置関係を考えてraJf’bJを決め、そ
の後、ステップ5134に戻る。
また、ステップ51314においてr B 13= O
Jであると判断された場合は、ステップ81316に進
んで「mO」の値を[)−1J、「ml」の値をrOJ
にセットした後ステップ51317に進み、第2RAM
18のmO行目が「a〜32」列目までrOJか否かを
見る。上記ステップS 1316.31317では、共
通キャラクタを付けるときのことを考えており、第2R
AM18の何行目まで実際に共通キャラクタが存在する
かを見ている。第34図(C)に示すように共通キャラ
クタが余白を持っている場合、その余白の幅をmlとし
てrbJを決める際に考慮する。そして、上記ステップ
31318において、第2RAMi8のmO行目が「a
〜32」列目まで全て「0」であると判断された場合は
、ステップS 1319に進み、「mO」の値を「−1
」、「ml」の値をr+IJした後、ステップ3131
7に戻る。
Jであると判断された場合は、ステップ81316に進
んで「mO」の値を[)−1J、「ml」の値をrOJ
にセットした後ステップ51317に進み、第2RAM
18のmO行目が「a〜32」列目までrOJか否かを
見る。上記ステップS 1316.31317では、共
通キャラクタを付けるときのことを考えており、第2R
AM18の何行目まで実際に共通キャラクタが存在する
かを見ている。第34図(C)に示すように共通キャラ
クタが余白を持っている場合、その余白の幅をmlとし
てrbJを決める際に考慮する。そして、上記ステップ
31318において、第2RAMi8のmO行目が「a
〜32」列目まで全て「0」であると判断された場合は
、ステップS 1319に進み、「mO」の値を「−1
」、「ml」の値をr+IJした後、ステップ3131
7に戻る。
以下、同様の処理を繰返し、ステップ3131Bの判断
結果がNoになると、第33図(C)のステップ513
20に進み、「mO」の値を「1」、「ml」の「0」
にセットする。そして、ステップ81321においてl
lRAM16の第1行目が全て「○」か否かをチェック
し、ステップ31322において全て「0」か否か判断
する。全てrOJであると判断された場合は、ステップ
S 1323に進んで「mO」の値及び「第2」の値を
r+IJ した後、ステップ51321に戻る。上記ス
テップ81321〜S 1323では、共通キャラクタ
を付ける時のことを考え、第34図(d)に示すように
第lRAM16が上部に回行の余白(第2)を持ってい
るか見ている。そして、上記ステップ31322におい
て第lRAM16のmO行目が全て「0」でないと判断
された場合は、ステップS 1324に進んで「b−m
l−m2JをrbJとしてセットする。そして、ステッ
プ51325において、r B 14. B 15Jが
rl、OJ、ro、IJ、rl、1Jの何れであるかを
判断し、rl、OJであればステップ5134へ戻る。
結果がNoになると、第33図(C)のステップ513
20に進み、「mO」の値を「1」、「ml」の「0」
にセットする。そして、ステップ81321においてl
lRAM16の第1行目が全て「○」か否かをチェック
し、ステップ31322において全て「0」か否か判断
する。全てrOJであると判断された場合は、ステップ
S 1323に進んで「mO」の値及び「第2」の値を
r+IJ した後、ステップ51321に戻る。上記ス
テップ81321〜S 1323では、共通キャラクタ
を付ける時のことを考え、第34図(d)に示すように
第lRAM16が上部に回行の余白(第2)を持ってい
るか見ている。そして、上記ステップ31322におい
て第lRAM16のmO行目が全て「0」でないと判断
された場合は、ステップS 1324に進んで「b−m
l−m2JをrbJとしてセットする。そして、ステッ
プ51325において、r B 14. B 15Jが
rl、OJ、ro、IJ、rl、1Jの何れであるかを
判断し、rl、OJであればステップ5134へ戻る。
また、ステップ31325において、rB14. B1
5Jが「0゜1」であると判断された場合はステップ8
1326においてIt)Jの値をr−IJした後ステッ
プ5134へ戻り、rB14. B15Jがrl、IJ
であると判断された場合はステップS 1327におい
てIt)Jの値をr−2Jした後ステップ5134へ戻
る。上記ステップ51325〜51327では、共通キ
ャラクタを更に重ねることを考慮している。例えばFB
14.815= 1 、 OJの場合、第35図(a)
に示す第2RAM18の共通キャラクタに対し、同図(
b)に示す第lRAM16の共通キャラクタを重ねると
、同図(C)に示すようになる。本来、rbJは前の共
通キャラクタの最終行の次の行を指シテイルが、ml
、第2 (B14、B15も含む)を考慮し、rbJ
を変え、位置を決めている。
5Jが「0゜1」であると判断された場合はステップ8
1326においてIt)Jの値をr−IJした後ステッ
プ5134へ戻り、rB14. B15Jがrl、IJ
であると判断された場合はステップS 1327におい
てIt)Jの値をr−2Jした後ステップ5134へ戻
る。上記ステップ51325〜51327では、共通キ
ャラクタを更に重ねることを考慮している。例えばFB
14.815= 1 、 OJの場合、第35図(a)
に示す第2RAM18の共通キャラクタに対し、同図(
b)に示す第lRAM16の共通キャラクタを重ねると
、同図(C)に示すようになる。本来、rbJは前の共
通キャラクタの最終行の次の行を指シテイルが、ml
、第2 (B14、B15も含む)を考慮し、rbJ
を変え、位置を決めている。
次にステップ814の詳細について第36図のフローチ
ャートに従って説明する。まず、ステップ51411.
−おイテ「β」の値を「32」、raJの値を「0」に
セットする。次いでステップ5142に進み、第lRA
M1Bのλ列目が1〜32行目まで全て「0」かどうか
チェックし、ステップ5143において全てrOJと判
断された場合はステップ5144に進み、「℃」の値を
r−IJt、、、raJの値をr+IJL、、その後、
ステップ5142に戻る。すなわち、上記ステップ81
41〜5144の処理により、何列文字をずらせば文字
が中央にくるかを見ている。そして、上記ステップ81
42〜5144の処理を繰返し実行し、その後、ステッ
プ5143の判断結果がNOとなった場合はステップ5
145に進み、raJにra/2Jより小さくない最小
の整数を入れる。次いでステップ8146において第3
7図に示すように文字全体をa列右へ移す。このとき移
してくる列データがない列は、「O」を右に移す。以上
でステップ314のセンタリング処理を終了し、次のス
テップ815に進む。このステップ815では、上記の
ようにして第2RAM18に再生したキャラクタデータ
をスタックレジスタ29a〜29dに書込み、このスタ
ックレジスタ298〜29dより32ビツトのキャラク
タデータとして表示部へ順次出力する。
ャートに従って説明する。まず、ステップ51411.
−おイテ「β」の値を「32」、raJの値を「0」に
セットする。次いでステップ5142に進み、第lRA
M1Bのλ列目が1〜32行目まで全て「0」かどうか
チェックし、ステップ5143において全てrOJと判
断された場合はステップ5144に進み、「℃」の値を
r−IJt、、、raJの値をr+IJL、、その後、
ステップ5142に戻る。すなわち、上記ステップ81
41〜5144の処理により、何列文字をずらせば文字
が中央にくるかを見ている。そして、上記ステップ81
42〜5144の処理を繰返し実行し、その後、ステッ
プ5143の判断結果がNOとなった場合はステップ5
145に進み、raJにra/2Jより小さくない最小
の整数を入れる。次いでステップ8146において第3
7図に示すように文字全体をa列右へ移す。このとき移
してくる列データがない列は、「O」を右に移す。以上
でステップ314のセンタリング処理を終了し、次のス
テップ815に進む。このステップ815では、上記の
ようにして第2RAM18に再生したキャラクタデータ
をスタックレジスタ29a〜29dに書込み、このスタ
ックレジスタ298〜29dより32ビツトのキャラク
タデータとして表示部へ順次出力する。
[発明の効果]
以上詳記したように本発明によれば、漢字等の字体を部
首別に分離すると共に上記部首を含む字体を共通部に分
離して共通キャラクタを構成し、かつ、この共通キャラ
クタに対して縦フラグエリア及び横フラグエリアを設け
てキャラクタメモリに記憶させ、共通キャラクタにおい
て縦列及び横列に同じ状態が続く場合に同じキャラクタ
を省略して縦線、横線を圧縮すると共に、規則的に形成
されている斜めの線を圧縮し、これらの圧縮により省略
されたビット数に応じて省略数フラグを上記対応するフ
ラグエリアに記憶し、キャラクタ再生時に上記フラグエ
リアの記憶内容を参照して指定の文字キャラクタを形成
するようにしたので、キャラクタ発生器のメモリ容量を
著しく減少し得ると共に文字キャラクタの再生を確実に
行なうことができる。
首別に分離すると共に上記部首を含む字体を共通部に分
離して共通キャラクタを構成し、かつ、この共通キャラ
クタに対して縦フラグエリア及び横フラグエリアを設け
てキャラクタメモリに記憶させ、共通キャラクタにおい
て縦列及び横列に同じ状態が続く場合に同じキャラクタ
を省略して縦線、横線を圧縮すると共に、規則的に形成
されている斜めの線を圧縮し、これらの圧縮により省略
されたビット数に応じて省略数フラグを上記対応するフ
ラグエリアに記憶し、キャラクタ再生時に上記フラグエ
リアの記憶内容を参照して指定の文字キャラクタを形成
するようにしたので、キャラクタ発生器のメモリ容量を
著しく減少し得ると共に文字キャラクタの再生を確実に
行なうことができる。
また、本発明は、共通キャラクタを圧縮する際、字体の
初め、終り、角部分のキャラクタを所定のルールに従っ
た形に補正し、キャラクタ再生時に元の形に戻すようし
たので、文字キャラクタの圧縮を更に効果的に行ない得
るものであり、情報処理機器の小型化に有利であると共
にコストの低下を図り得るものである。
初め、終り、角部分のキャラクタを所定のルールに従っ
た形に補正し、キャラクタ再生時に元の形に戻すようし
たので、文字キャラクタの圧縮を更に効果的に行ない得
るものであり、情報処理機器の小型化に有利であると共
にコストの低下を図り得るものである。
図面は本発明の一実施例を示すもので、第1図は全体の
回路構成を示すブロック図、第2図は第1図における第
lRAM及び第2RAMの記憶構成を示す図、第3図は
第1図におけるキャラクタROMの記憶構成を示す図、
第4図は文字を分離して共通キャラクタを構成する場合
の概念を示す図、第5図は共通キャラクタを補正して圧
縮する場合の概略動作を示す図、第6図は共通キャラク
タを補正して構成した補正キャラクタ例を示す図、第7
図は縦横圧縮例を示す図、第8図は斜め圧縮方法を示す
図、第9図は二重圧縮例を示す図、第10図はセンタリ
ング圧縮例を示す図、第11図はキャラクタROMの共
通キャラクタ部におけるキャラクタエリアとフラグエリ
アとの関係を示す図、第12図(a)〜(C)は各種フ
ラグとその機能との関係を示す図、第13図はキャラク
タROMにおける共通キャラクタ指示データのビット構
成を示す図、第14図は上記共通キャラクタ指示データ
(B13. B14. B15)と共通キャラクタ数と
の関係を示す図、第15図は上記共通キャラクタ指示デ
ータ(B13. B14. B15)と位置フラグ内容
との関係を示す図、第16図は共通キャラクタの型の判
断動作を示す図、第17図は縦長可変フラグ及び回転フ
ラグと共通キャラクタの大きさくx、y)との関係を示
す図、第18図は文字キャラクタ再生時の全体の処理動
作を示すフローチャート、第19図は第18図の主要ス
テップに対する文字再生の状態を示す図、第20図は第
18図におけるステップS5の詳細を示すフローチャー
ト、第21図は第18図におけるステップS4の詳細を
示すフローチャート、第22図は第18図におけるステ
ップS7の詳細を示すフローチャート、第23図は第2
2図における横圧縮再生の例を示す図、第24図(a)
〜(C)は第18図におけるステップS8の詳細を示す
フローチャート、第25図(a)(b)はステップS8
の動作を説明するための第lRAM及び第2RAMのデ
ータ記憶状態例を示す図、第26図はステップS8にお
けるα(j)の判断基準及びその判断結果に基づく方向
を示す図、第27図(a)〜(C)はステップS8中の
横圧縮再生動作を示す図、第28図はステップ811の
詳細を示すフローチャート、第29図におけるサブルー
チン5UB11の詳細を示すフローチャート、第30図
は上記ステップ811の動作を説明するための第lRA
Mに対するデータチェック状態を示す図、第31図(a
)はチェック点及び再生量と補正型との関係を示す図、
第31図(b)は上記補正型の詳細を示す図、第32図
は補正の方法を示す図、第33図(a)〜(C)は第1
8図におけるステップS13の詳細を示すフローチャー
ト、第34図(a)〜(d)及び第35 (a)〜(C
)は第lRAM及び第2RAMにおける文字キャラクタ
再生状態を示す図、第36図は第18図におけるステッ
プ814の詳細を示すフローチャート、第37図は第l
RAMにおける文字キャラクタのセンタリング動作を示
す図である。 11・・・発振回路、12・・・プログラムカウンタ、
13・・・ROMアドレススタックレジスタ、14・・
・プログラムROM、15・・・インストラクションデ
コーダ、16・・・第lRAM117.27・・・アド
レスカウンタ、18・・・第2RAM、22・・・比較
回路、23・・・演算回路、24・・・デコーダ、29
a〜29d・・・スタックレジスタ、31・・・キ17
ラクタROM。 (a) 第2 8a 8b (b) 図 圧縮部 共通キャリア (a) タテ、ヨコ圧縮例 第7図 タテ、ヨコ圧縮キャリア (b) 横フラグエリア
(a)第12図 第29図 (a) (b) 第32図 第33図(c) 第34図((1) 第34図(b) 第34図 (d) B10・B+s口1.0の場合 再生エリア 再生エリア 全てO全てO 第37図 ステップS14 第36因
回路構成を示すブロック図、第2図は第1図における第
lRAM及び第2RAMの記憶構成を示す図、第3図は
第1図におけるキャラクタROMの記憶構成を示す図、
第4図は文字を分離して共通キャラクタを構成する場合
の概念を示す図、第5図は共通キャラクタを補正して圧
縮する場合の概略動作を示す図、第6図は共通キャラク
タを補正して構成した補正キャラクタ例を示す図、第7
図は縦横圧縮例を示す図、第8図は斜め圧縮方法を示す
図、第9図は二重圧縮例を示す図、第10図はセンタリ
ング圧縮例を示す図、第11図はキャラクタROMの共
通キャラクタ部におけるキャラクタエリアとフラグエリ
アとの関係を示す図、第12図(a)〜(C)は各種フ
ラグとその機能との関係を示す図、第13図はキャラク
タROMにおける共通キャラクタ指示データのビット構
成を示す図、第14図は上記共通キャラクタ指示データ
(B13. B14. B15)と共通キャラクタ数と
の関係を示す図、第15図は上記共通キャラクタ指示デ
ータ(B13. B14. B15)と位置フラグ内容
との関係を示す図、第16図は共通キャラクタの型の判
断動作を示す図、第17図は縦長可変フラグ及び回転フ
ラグと共通キャラクタの大きさくx、y)との関係を示
す図、第18図は文字キャラクタ再生時の全体の処理動
作を示すフローチャート、第19図は第18図の主要ス
テップに対する文字再生の状態を示す図、第20図は第
18図におけるステップS5の詳細を示すフローチャー
ト、第21図は第18図におけるステップS4の詳細を
示すフローチャート、第22図は第18図におけるステ
ップS7の詳細を示すフローチャート、第23図は第2
2図における横圧縮再生の例を示す図、第24図(a)
〜(C)は第18図におけるステップS8の詳細を示す
フローチャート、第25図(a)(b)はステップS8
の動作を説明するための第lRAM及び第2RAMのデ
ータ記憶状態例を示す図、第26図はステップS8にお
けるα(j)の判断基準及びその判断結果に基づく方向
を示す図、第27図(a)〜(C)はステップS8中の
横圧縮再生動作を示す図、第28図はステップ811の
詳細を示すフローチャート、第29図におけるサブルー
チン5UB11の詳細を示すフローチャート、第30図
は上記ステップ811の動作を説明するための第lRA
Mに対するデータチェック状態を示す図、第31図(a
)はチェック点及び再生量と補正型との関係を示す図、
第31図(b)は上記補正型の詳細を示す図、第32図
は補正の方法を示す図、第33図(a)〜(C)は第1
8図におけるステップS13の詳細を示すフローチャー
ト、第34図(a)〜(d)及び第35 (a)〜(C
)は第lRAM及び第2RAMにおける文字キャラクタ
再生状態を示す図、第36図は第18図におけるステッ
プ814の詳細を示すフローチャート、第37図は第l
RAMにおける文字キャラクタのセンタリング動作を示
す図である。 11・・・発振回路、12・・・プログラムカウンタ、
13・・・ROMアドレススタックレジスタ、14・・
・プログラムROM、15・・・インストラクションデ
コーダ、16・・・第lRAM117.27・・・アド
レスカウンタ、18・・・第2RAM、22・・・比較
回路、23・・・演算回路、24・・・デコーダ、29
a〜29d・・・スタックレジスタ、31・・・キ17
ラクタROM。 (a) 第2 8a 8b (b) 図 圧縮部 共通キャリア (a) タテ、ヨコ圧縮例 第7図 タテ、ヨコ圧縮キャリア (b) 横フラグエリア
(a)第12図 第29図 (a) (b) 第32図 第33図(c) 第34図((1) 第34図(b) 第34図 (d) B10・B+s口1.0の場合 再生エリア 再生エリア 全てO全てO 第37図 ステップS14 第36因
Claims (2)
- (1)漢字等の字体を部首別に分離すると共に上記部首
を含む字体を共通部に分離して共通キャラクタを構成す
る手段と、上記共通キャラクタの縦列及び横列にそれぞ
れ対応して設けられる縦フラグエリア及び横フラグエリ
アと、上記共通キャラクタを縦及び横のフラグエリアと
共に記憶させてなるキャラクタメモリと、上記共通キャ
ラクタにおいて縦列及び横列に同じ状態のキャラクタが
続く場合に同じキャラクタを省略して縦線、横線を圧縮
する縦横圧縮手段と、上記共通キャラクタにおいて規則
的に形成されている斜めの線を圧縮する斜め圧縮手段と
、上記縦横圧縮手段及び斜め圧縮手段により省略された
ビット数に応じて省略数フラグを上記対応するフラグエ
リアに記憶する手段と、キャラクタ再生時に上記フラグ
エリアに記憶している省略数フラグに応じて省略キャラ
クタを拡張して指定の文字キャラクタを再生する手段と
を具備したことを特徴とする文字キャラクタの再生方式
。 - (2)漢字等の字体を部首別に分離すると共に上記部首
を含む字体を共通部に分離して共通キャラクタを構成す
る手段と、上記共通キャラクタの縦列及び横列にそれぞ
れ対応して設けられる縦フラグエリア及び横フラグエリ
アと、上記共通キャラクタを縦及び横のフラグエリアと
共に記憶させてなるキャラクタメモリと、上記共通キャ
ラクタにおいて縦列及び横列に同じ状態のキャラクタが
続く場合に同じキャラクタを省略して縦線、横線を圧縮
する縦横圧縮手段と、上記共通キャラクタにおいて規則
的に形成されている斜めの線を圧縮する斜め圧縮手段と
、上記縦横圧縮手段及び斜め圧縮手段により省略された
ビット数に応じて省略数フラグを上記対応するフラグエ
リアに記憶する手段と、上記共通キャラクタを圧縮する
際、字体の線の初め、終り、角部分のキャラクタを所定
のルールに従った形に補正する手段と、キャラクタ再生
時に上記フラグエリアに記憶している省略数フラグに応
じて省略キャラクタを拡張して指定の文字キャラクタを
再生する手段と、キャラクタ再生時に予め補正されてい
る字体の線の初め、終り、角部分のキャラクタを元の形
に戻す手段とを具備したことを特徴とする文字キャラク
タの再生方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9390586A JPS62250085A (ja) | 1986-04-23 | 1986-04-23 | 文字キヤラクタの再生方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9390586A JPS62250085A (ja) | 1986-04-23 | 1986-04-23 | 文字キヤラクタの再生方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62250085A true JPS62250085A (ja) | 1987-10-30 |
Family
ID=14095495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9390586A Pending JPS62250085A (ja) | 1986-04-23 | 1986-04-23 | 文字キヤラクタの再生方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62250085A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01275157A (ja) * | 1988-04-28 | 1989-11-02 | Canon Inc | 印刷装置 |
| JPH01294055A (ja) * | 1988-05-23 | 1989-11-28 | Matsushita Electric Ind Co Ltd | プリンタ印字補正方法 |
| JPH03272874A (ja) * | 1990-03-23 | 1991-12-04 | Oki Electric Ind Co Ltd | ドットパターン圧縮方法及び伸長方法 |
-
1986
- 1986-04-23 JP JP9390586A patent/JPS62250085A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01275157A (ja) * | 1988-04-28 | 1989-11-02 | Canon Inc | 印刷装置 |
| JPH01294055A (ja) * | 1988-05-23 | 1989-11-28 | Matsushita Electric Ind Co Ltd | プリンタ印字補正方法 |
| JPH03272874A (ja) * | 1990-03-23 | 1991-12-04 | Oki Electric Ind Co Ltd | ドットパターン圧縮方法及び伸長方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS62250085A (ja) | 文字キヤラクタの再生方式 | |
| JPS60110056A (ja) | デ−タ処理システムにおけるメモリのアドレス生成を動的に変更する方法 | |
| JP2001331763A (ja) | 表認識方法 | |
| JPS62250484A (ja) | 文字キヤラクタの圧縮方式 | |
| JPS62250487A (ja) | 文字キヤラクタの圧縮方式 | |
| JPS62250489A (ja) | 文字キャラクタ発生装置 | |
| JPS62250483A (ja) | 文字キヤラクタの圧縮方式 | |
| JPS62250486A (ja) | 文字キヤラクタの再生方式 | |
| JPS62250485A (ja) | 文字キヤラクタの圧縮方式 | |
| JPS62250491A (ja) | 文字キヤラクタの再生方式 | |
| JPS62250488A (ja) | 文字キヤラクタの圧縮方式 | |
| JPS62250490A (ja) | 文字キヤラクタの再生方式 | |
| JP3129893B2 (ja) | 音声入力ワープロ | |
| JPH0766385B2 (ja) | 文書作成装置 | |
| JPS6154569A (ja) | 文書画像処理方式 | |
| JPS61260290A (ja) | ドツト・パタ−ン拡大処理方式 | |
| JPH0721182A (ja) | 文字処理装置およびその方法 | |
| JP2519782B2 (ja) | 文字分離方式 | |
| JPH0225967A (ja) | 同音語の誤入力訂正方式 | |
| JP2853321B2 (ja) | 二値画像情報合成方式 | |
| JPS6230053A (ja) | ドツト字形拡大縮小方式 | |
| JPH1055364A (ja) | 文字図形編集装置 | |
| JPS6214264A (ja) | 画像検索装置 | |
| JPS59223853A (ja) | コマンド情報抽出装置 | |
| JPS60235273A (ja) | パタ−ン処理装置 |