JPH0493892A - 文字処理方法および装置 - Google Patents

文字処理方法および装置

Info

Publication number
JPH0493892A
JPH0493892A JP2206595A JP20659590A JPH0493892A JP H0493892 A JPH0493892 A JP H0493892A JP 2206595 A JP2206595 A JP 2206595A JP 20659590 A JP20659590 A JP 20659590A JP H0493892 A JPH0493892 A JP H0493892A
Authority
JP
Japan
Prior art keywords
information
character
control point
band
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2206595A
Other languages
English (en)
Other versions
JP3082933B2 (ja
Inventor
Kunio Seto
邦雄 瀬戸
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP02206595A priority Critical patent/JP3082933B2/ja
Publication of JPH0493892A publication Critical patent/JPH0493892A/ja
Application granted granted Critical
Publication of JP3082933B2 publication Critical patent/JP3082933B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、基準となる文字データを当該文字の輪郭を表
現するための制御点座標として予め用意し、指定された
文字出力サイズに応じて拡大または縮小演算した後、ド
ツト情報に変換し、出力する文字処理方法および装置に
関する。
[従来の技術] マイクロコンピュータの価格性能比の向上、小型高精細
のページプリンタや高精細モニタデイスプレィの一般化
といったハードウェアの進歩、これに文書処理ソフトウ
ェアの充実が伴って、近年電子的手法による印刷物(ま
たは印刷版下)作成システムが急速に一般化している。
このようなシステムにおいて、印刷物の最も重要な要素
である文字画像出力技術にも以下のような進歩が要求さ
れている。
第1に、より広範囲のサイズでより美しく文字を再現す
る必要がある。
第2に、より自由で訴求力のあるレイアウトを実現する
ため、文字の自由な展開方法や斜体、長・年休のような
変形、シャドウ付け、ノ1ツチング付け(内部タイリン
グ)といった修飾などをおこなう必要がある。
第3に、前記システムにおいて、指定したレイアウトが
最終出力であるプリンタなどに対するイメージとして、
例えばモニタデイスプレィ上で直接確認できる(WH5
IWYG=What  YouSee  Is  Wh
at  You  Get)必要がある。
これらの要求を満たすための一解決手段として、文字画
像の輪郭点定義による文字発生方式(以後アウトライン
フォント方式と称す)を採用するシステムがふえてきた
アウトラインフォント方式によれば、例えば文字の輪郭
を表現するための制御点座標データをシステム中のRO
M (Read  0nly  Memory)などに
予め用意し、文字コードインデックスに応じて一時記憶
装置RAM(Randam  AccessM e m
 o r y )に読み出して一時格納し、さらに指定
された文字出力サイズと出力すべきプリンタなどの機器
解像度に応じて、前記制御点座標データを数学的に拡大
または縮小演算した後、ドツト情報に変換することによ
り、文字出力サイズや出力すべきプリンタなどの機器解
像度に対して自由度の高い文字発生が可能である。
本方式は従来のドツトフォントによる文字発生方式と比
較した場合、特に大きなサイズの文字を美しく表現可能
であることがよく知られている。
[発明が解決しようとしている課題] (従来技術の問題点) しかしながら、アウトラインフォント方式は1960年
代前半に、非常に高価なマイクロフィルム出力システム
や大規模な印刷版下出力システムに適用するものとして
開発されたものである。
つまり、これは例えば1,0OODPI (DotPe
r  InchS 1インチあたりの解像ドツト数を表
わす)以上の超高解像度出力横用に意図されたものであ
り、高解像度出力を満たすための文字発生用データの容
量削減を第一目的としていた。
1.0OODPIにおいては1文字当りの画素数(理論
的に割り当てられるドツトの総数)が通常の本文用とし
て一般的な活字10ポイント相当においておよそ140
X140である。
これを、ドツトフォントによる文字発生方式を用いた場
合、1ドツトを1ビツトに割当てると1文字あたり容量
は2,450バイトも必要であるが、アウトラインフォ
ント方式によれば、115から1/I Oに圧縮可能で
ある。
一方、前述超高解像度出力機にアウトラインフォント方
式を用いてビットマツプ文字を出力する場合、前記制御
点座標値を数学的に拡大または縮小演算した結集の量子
化誤差が大きな問題となることは少なかった。
つまり、文字画像再現技術としての精度や再現時の美し
さが問題になることは少なかった。
しかし前述の電子的手法による印刷物作成システムはこ
のような大規模システムのハードウェア構成とはかなり
異なり、個人で使えるワークステ−ジョンをベースに成
り立つことを前提としている。
従って、ハードウェアは可能な限りの低価格において性
能を発揮しなければならない。
つまり、前述の小型高精細のページプリンタは例えば、
B4サイズ400DPIのレーザプリンタであり、その
場合、前述の超高解像度出力機と比較すると文字画像を
再現するに際し、1文字当りに割り当てられる画素数が
少ない。
例えば、400DPIプリンタの場合、IOポイントサ
イズ1文字当りの画素数は56X56.8ポイントサイ
ズでは44X44である。
前述の量子化誤差の影響は出力機器の解像度が低いほど
顕著となる。
よって第1の問題点は、前述の電子的手法による印刷物
作成システムにおいて用いられるページプリンタなどの
解像度においては、従来のアウトラインフォント方式で
は文字を構成する線の必要以上の太まり、線巾のばらつ
き、線間のつぶれ、曲線のがたつきや、図形的対称性の
損失などが著しく、結果として出力されるビットマツプ
文字の美しさが大きく損なわれることである。
特に本文用として使用頻度の高い文字サイズについてそ
の欠点が大キイ。
さらなる第2の問題点は、文書処理ソフトウェアの充実
が要求するWYSIWYGを実現するためには、プリン
タ、モニタデイスプレィなど接続される機器の解像度に
依存しない共通の文字出力方式を採用する必要があるが
、モニタデイスプレィの持ちうる解像度は前述したプリ
ンタの解像度よりさらに低い場合が多(、例えば100
DPI程度である。
100DPIモニタデイスプレイの場合、lOポイント
サイズ1文字当りの画素数は14X14.8ポイントサ
イズではIIXIIである。
これに対し、漢字をドツト表現するに最低必要な画素数
は、16x16 :字種を判別可能(複雑な文字では字
画の省略が必要)、24X24:明朝体とゴシック体を
最低判別可能、であることが良(知られている。
このことから、100DPI程度のモニタデイスプレィ
を用いてアウトラインフォント方式による文字表現をお
こなうことは、本文用文字サイズにおいて画素数の面で
非常に不利であった。
つまりこの場合、出力結果のビットマツプ文字の美しさ
の損失は第1の問題点で述べた以上のものであり、前述
のWYSIWYGの要求に対し、実用上の大きな障害と
なっていた。
このため、従来のシステムでは文字処理方法または方式
をモニタデイスプレィ用、プリンタ用など接続される出
力機器の解像度に応じ別々に備える、もしくは、1文字
当りの画素数の大小により別々に備えることが一般的で
あった。
しかしこのようなシステムにおいては、書体の増加など
当該システムの発展的変更に対応して各々のフォントを
同時に変更しなければならず、これを怠った場合、モニ
タデイスプレィにおいて表示された文字とプリンタに出
力された文字が異なるなどの問題があうた。
また、モニタデイスプレィにおいてアウトラインフォン
ト方式を持っていないシスーテムではドツトフォントに
より擬似的な拡大、縮小などをおこない表示するシステ
ムもあるが、レイアウトに大切な最終イメージの確認は
不完全なものとなってしまう。
以上、WYSIWYGの要求を満たすため、アウトライ
ンフォント方式を、低解像度のモニタデイスプレィも含
め、接続される機器の解像度に依存しない共通の文字出
力方式とするには、従来、技術的に大きな問題があり、
またこれを補うために用いられる従来の解決方法にも前
述の如(、種々の問題°点があった。
また、さらなる第3の問題点は、前述の問題点を解決す
るために、前記制御点座標値を数学的に拡大または縮小
演算した結果の量子化誤差を、審美眼的に吸収するため
の強制的な補正を行なう矯正データを付加するにも、各
文字に対する矯正データ追加のための人的作業が膨大と
なるばかりでなく、従来のアウトラインフォント方式に
よる文字データの資産を生かせないなどの重大な問題点
があった。
[課題を解決するための手段] 本発明によれば、基準となる文字データを、当該文字の
輪郭を表現するための制御点座標として予め用意し、指
定された文字サイズに応じて拡大または縮小演算した後
、ドツト情報に変換し、出力するに際し、 前述した基準となる文字データを、当該文字の輪郭を表
現するための制御点座標と、複数の閉輪郭を区別する輪
郭情報と、バンド情報と、低画素時省略順位情報として
格納し、 入力パラメータより算出された出力サイズに応じて、 前述バンド情報と、前述低画素時省略順位情報を参照し
割付けを演算する手段と、 前述バンド情報を参照するための制御点情報により前述
出力サイズに応じた各制御点座標値を参照または演算す
る手段 とを具備することにより、 高品位のビットマツプ文字を出力可能としたものである
[実施例コ 第1図は、本発明を実施するに必要なシステムのブロッ
ク図の一例である。
なお、本発明を実施するにあたって必要な装置はこれに
限る必要はなく、単体の機器であっても、また複数の機
器の組み合わせによるシステムであっても実施可能であ
ることは言うまでもない。
あるいは、装置にプログラムを供給することにより、本
発明の機能が達成されることを含むことは言うまでもな
い。
第1図において、 ■は、後述する標準となる文字データを格納する格納領
域、 2は、後述するビットマツプ変換用文字データを格納す
る格納領域、 3および4は、後述する本発明を実行するためのプログ
ラムを格納するプログラム格納領域、5は、後述する本
発明の文字処理装置に対する入力データをあらかじめ格
納しであるドキュメントファイル格納領域、 6は、本実施例におけるシステムをオペレータなどが操
作するに際し用いるキーボード装置、7および8は、後
述する本発明を実行するためのプログラムがそれら各々
の実行に際し、ロードされるに必要なプログラム用RA
M (ランダムアクセスメモリ) 9は、本システムが作動するに際し、必要とされる処理
上の中間的な全てのデータを一時的に記憶するためのデ
ータ用RAM。
l0111.12、および13は、いずれも後述するビ
ットマツプで構成される21で示すフレームバッファで
あり、各々実際の出力機器である14.15.16、お
よび17で示すモニタデイスプレィCRTI、CRT2
、およびプリンタPRTI、PRT2に文字を表示また
は出力するために接続されているRAM。
18は、本システムが作動するに際し、その構成要素を
制御するCPU (中央演算装置)、19は、システム
のハードウェアとして考えた場合、例えば、前述1,2
.3.4、および5をファイルとして格納するディスク
装置、 20は、システムのハードウェアとして考えた場合、ご
く−船釣なりRAM (ダイナミックランダムアクセス
メモリ)であってもよい。
22は、システムの機器構成などを記憶しであるROM
(リードオンリメモリ)である。
なお、14.15.16、および17で示した複数のモ
ニタデイスプレィやプリンタはそれらの機器が持つ出力
解像度が異なっている。
例えば、14で示すCRTIは100DPI、15で示
すCRT2は72DPI、16で示すPRT lは40
0DPIS17で示すPRT2は100ODPIと仮定
する。
標準となる文字データの定義に関する説明本実施例にお
ける標準となる文字データの定義を説明するに当たり、
先ず前述文字データを標準的な図形情報として考えた場
合の輪郭座標情報に関する説明を以下におこなう。
また以下に説明する標準となる文字データの作成行程に
ついては、−船釣なまたは専用のCAD (コンピュー
タ支援によるデザイン)システムなどを用いて、多角形
図形や曲線図形をその座標点データとして入力する方法
や、もしくは文字原稿をデジタル走査することにより一
旦ビ・ソトマ・ツブイメージでコンピュータ内に取り込
んだ後、輪郭追跡のアルゴリズムを用いたソフトウェア
により特徴点を抽出する方法など種々の方法により実現
可能であるが、本発明ではその方法について述べるもの
ではない。
以下、日本語で用いる漢字を中心に説明するが、例えば
欧文のアルファベットなど他言語に用いる文字図形であ
っても同様であることは言うまでもなく゛、一般図形(
ベクタグラフィ・ソクス)を表わす情報についても同様
に本発明が適用可能である。
標準となる文字データはこれを1文字率位で読み出すた
めの、本説明においては省略するインチ・ソクスコード
と共に、第1図1に示すFDT 1に格納される。
個々の標準となる文字データは以下の3種類の情報から
構成される。
つまり、以下に述べるフォント座標系、文字輪郭制御点
データ、および輪郭情報である。
フォント座標系 第2図に本発明におけるフォント座標系の一例を示す。
第2図では、X軸およびY軸で定義される2次元座標系
を左上原点0 (xooo、yooo)とし、右下ボデ
ィ対角点Z (x999.y999)とする。
一般にx000=y000=o、x999=y999=
(512〜1024)なとが実際の値として都合がよい
上記○とZを対角とする矩形は活字のボディに相当する
ものである。
また、原点の位置やX軸およびY軸の方向については、
適応されるシステムに都合のよい方法でかまわない。
文字輪郭制御点データ 上述フォント座標系における標準となる文字データの一
例として、第3図(A)に示す明朝体の「穐」と、これ
に対応する文字輪郭制御点のデータを第4図に示す。
文字輪郭制御点のデータは第4図(A)に示す文字輪郭
制御点(以後、制御点と称す)配列、および同じく (
B)に示すこれらを関連づけるための、後述する輪郭開
始点情報(以後、輪郭情報と称す)からなる。
本例の場合、制御点総数は157であり、各々をpo〜
p156と記する。
また各制御点PはX座標とY座標をもち、pO〜p15
6にたいし、実際の各座標値を第4図(A)に示す如く
、(x O,y O)〜(xl、56.y156)と記
する。
さらに、各制御点Pが文字の直線部端点を示すか、後述
する曲線補間のための制御点を示すかを区別するための
属性情報Cをもち、各制御点Pに対応し、第4図に示す
如(、co=c156と記する。
cO〜c156は、例えば各制御点Pが直線部端点の場
合ST、さらに、曲線補間のための制御点の場合はC3
(曲線開始点) 、CM (曲線中間点)、またはCT
(曲線終了点)などを実際の値としてもつ。
5TSC5,CM、およびCTは実際の値として例えば
、各々0.1,2、および4などとして格納される。
第3図においてはST、C5,およびCT、を示す制御
点を黒点で、CMを示す制御点を白点で表わす。
前述、曲線補間のための曲線補間式については本例では
多重化ノット3次Bスプライン曲線または3次Bezi
er曲線を用いる。
上記曲線の数学的な性質、および図形表現についての応
用例については、例えば共立出版社rbitjVo 1
.13.No、10〜12に詳しいので、本実施例にお
いてはその説明を省略する。
曲線補間式は上記曲線を含め、それ以外のいかなる曲線
補間方法でも構わないが、本実施例で上記3次曲線を用
いているのは以下の理由による。
つまり、第3図(B)、(C)、(D)、および(E)
に示すような欧文書体で用いられる文字、例えばローマ
ン書体やサンセリフ書体など一般的欧文書体のrRJ、
「0」などをはじめとする殆どの文字、数字、さらに、
「(」:丸カッコ、「○」 二円、などをはじめとする
シンメトリックな曲線を持つ記号図形などについて、曲
線部分を表わす制御点の配置を直線部分を表わす制御点
の配置と同様に扱うことが可能であることによる。
即ち、上記のような取扱いが可能な曲線補間式であれば
いかなる曲線でも構わない。
例えば、2次Bスプライン曲線や2次Bezier曲線
も上記条件を満たすことが周知である。
輪郭情報 上述制御点において、隣接した制御点同士の連結関係を
示す情報を輪郭情報としてもつ。
即ち、配列として隣接した制御点が本来間じた輪郭とし
て接続されるべきか、また別の輪郭上の制御点であるか
を区別するための情報であり、本実施例では以下の様な
情報として持つ。
第3図(A)で示す文字図形の場合、閉じた輪郭の数を
表わす輪郭開始点総数は10であり、第4図(B)に示
す如(各々をtO〜t9と記する。
本実施例における輪郭情報は、後述する処理の便宜上、
輪郭開始点と輪郭終了点を持つ(実際には上記の輪郭開
始点もしくは輪郭終了点のいずれかのみを持てばよい)
つまり第1番目の輪郭情報toは輪郭開始点pOと輪郭
終了点p118を、第2番目の輪郭情報tlは輪郭開始
点pH9と輪郭終了点p124をもつ。第3番目以降は
上記と同様である。
さらに、輪郭制御点総数No  of  Cpと輪郭開
始点総数ntを輪郭情報先頭にもち、本例の場合、第3
図(A)および第4図から明らかなようにNo  of
  Cp=157、nt=10を実際の値として持つ。
以上が標準となる文字データ定義に関する説明であり、
前述の従来技術によるアウトラインフォント方式におけ
る一般的な文字図形定義である。
しかしながら、これを用いてビットマツプ変換処理を実
行するに際し、前記第4図に示した制御点の座標値を単
純に拡大または縮小演算するだけでは、前述の電子的手
法による印刷物作成システムにおいては既に説明したよ
うに種々の問題点が生じる。
よって、本発明によれば以下に説明する手段を用いて、
標準となる文字データよりビットマツプ変換用文字デー
タを自動的に作成する。
上記手段は以下に示すステップを踏む。即ち、標準とな
る文字データの読み出し、 外輪郭、内輪郭の判別、 水平線バンド情報の作成、 垂直線バンド情報の作成、 低画素時省略順位の設定、 ビットマツプ変換用文字データの格納 である。
これを第5図フローチャートで示す。
また、当該手段は第1図3に示すPRGIにソフトウェ
アプログラムとして格納されており、6に示すKBDか
らの指令により7に示すPRAMIヘロードされ、18
に示すCPUにより逐次制御されるものである。
また、標準となる文字データよりビットマツプ変換用文
字データを自動的に作成するにあたり、必要とする全て
の中間的なデータはいずれも第1図9に示すDARAM
に一時格納される。
標準となる文字データの読み出し 標準となる文字データを第1図1で示すFDT 1より
前述インデックス情報を元に個々の文字単位で読み出し
、第1図9に示すDARAMに一時格納する。
外輪郭、内輪郭の判別 上述の如(、文字輪郭制御点データは各々の輪郭開始点
から輪郭終了点までの1連の制御点で1個、または2個
以上の閉輪郭を形成しているが、あるものはその内部を
「黒」とみなし、あるものはその内部を「白」として区
別する必要がある。
例えば、制御点進行方向右側を常に「黒」とするよう配
列を順序付ける必要がある。
これは以下のように自動的に判別可能である。
第6図に外輪郭、内輪郭判別処理のフローチャートを、
また第7図にその概念的補足図を示し、これらに従って
以下に説明する。
個々の閉輪郭に対し、第6図に示すステップ(6゜1)
〜(6,5)の手順の処理をおこない、外輪郭、内輪郭
の判別をおこなう。
ステップ(6,1) 各閉輪郭に属する制御点において、Y座標最小値をもつ
制御点p i (X、 Ym i n)を抽出する。
ただし、piは1個以上の複数個が存在しつる。
ステップ(6,2) 上記1個以上の複数個が存在しつる制御点piにおいて
、さらにX座標最小値をもつ制御点pj(XminYm
in)を抽出する。
pjは各閉輪郭に対し、1個のみに限定される。
上記ステップ(6,1)およびステップ(6,2)に関
しては、第7図(A)にその簡単な説明図を示す。
ステップ(6,3) 以下に説明するステップ(6,4)にて必要とする「横
切り」カウント変数TRGを初期化する(TRG=0)
ステップ(6,4) 以下に説明する「横切り」のカウントをおこなうことに
より外輪郭、内輪郭の判定をおこなう。
即ち、全ての輪郭ベクタ(1つの閉輪郭に属し、2個の
隣接した制御点で形成される直線ベクタpn・pn+1
)についてそのY成分変位が上述Yminを含み、その
ベクタのYminにおけるX成分が上述Xm1nよりも
小なる場合、TRGを1増加させる(TRG=TRG+
 1)。
これは上述p j  (Xm i n、 Ym i n
)を目的厘標値として、Y座標Yminについてボディ
左端X000から水平方向に走査したとき、いくつの輪
郭ベクタを横切るかをカウントすることになる。
この結果、変数TRGの値が0を含む偶数の場合、外輪
郭であり、また奇数の場合、内輪郭であることが判定で
きる。
ステップ(6,5) 上述ステップ(6,4)による判定にもとすき、制御点
進行方向右側を常に「黒」とするよう配列を順序付ける
ためには、第7図(B)および(C)に示すように、p
nの両隣接点pn−1とpn+1についてpnとなす角
度の大小比較をおこなう。
即ち、外輪郭と判定された場合、第7図(B)に示す如
(、制御点進行方向を角度大なる隣接点がpnの次に配
列するよう再配列する。
また、内輪郭と判定された場合、第7図(C)に示す如
(、角度小なる隣接点がpnの次に配列するよう再配列
する。
上記ステップ(6,1)からステップ(6,,5)を全
ての閉輪郭について判定する。
上述した処理の結果、第7図(D)に示す如く外輪郭を
表わす制御点配列は時計方向に進み、内輪郭を表わす制
御点配列は反時計方向に進む。
これを以後、CW (Cl o c kWi s e)
ルール(時計方向をCW、反時計方向をCCW)と称す
水平線バンド情報および垂直線バンド情報の作成第5図
フローチャートで示す水平線バンド情報の作成および垂
直線バンド情報の作成は以下のステップをふむ。
即ち、 水平[垂直]線ベクタの抽出と分類、 水平[垂直]線分類(CLASS)のソート、水平[垂
直]線要素組の決定、 水平[垂直]線バンド分類、 水平[垂直コ線バンド0の決定、 水平[垂直]線バンドl以降の決定、 水平[垂直]線バンド分類のソート、 水平[垂直]線バンドのボディ全体に対する適応水平[
垂直]スペース領域の設定、 である。
これを第8図フローチャートで示す。
バンド情報についての概念的な説明 以下、第8図フローチャートにそって、上述水平線バン
ド情報および垂直線バンド情報の作成について説明する
が、それに先立ち、まずその概念的な説明をおこなう。
本処理は以下に説明する如(の、電子的手法による印刷
物作成システムで用いられる、最も一般的な印刷用書体
がもつ審美眼的デザイン思想に基くものである。
即ち、明朝体やゴシック体などに代表される多くの上述
印刷用書体の場合、それらの字形要素の50%以上は水
平線または垂直線で構成されている。
また本実施例の場合、第3図を用いて既に説明した如く
、欧文書体やシンメトリックな曲線を持つ記号文字の曲
線部輪郭制御点座標値は、水平線または垂直線を表わす
輪郭制御点座標値と同様に扱うことができる。
換言すれば、本処理は上記文字図形を定義する輪郭制御
点の水平線要素および垂直線要素に着目するものである
また本実施例では、水平線要素と垂直線要素を別々に管
理し、第5図フローチャートに示すとおり先ず第1に水
平線バンド情報の作成処理をおこない、しかる後、垂直
線バンド情報の作成処理をおこなうよう実施される。
しかし、その両者は主に上記処理における演算の対象と
なる座標成分(本実施例の場合、X座標成分とY座標成
分)が異なるのみであり、全く同様の処理を実行するこ
とができる。
以下、水平線要素についてバンド情報の作成処理を第8
図および第11図(A)、(B)で示すフローチャート
の各ステップに沿って説明する。
垂直線要素については、上述理由によりその説明を省略
し、処理の結果を後述することとする。
水平線バンド情報の作成処理 第6図を用い説明した如(、CWルールに基すいて配列
順序を決定した(外輪郭、内輪郭の判別の結果にもとす
き再配列された)制御点の各隣接する2点で構成される
ベクタ(pk−pk+1)(k=各開閉輪郭輪郭開始点
〜輪郭終了点、但しpk=輪郭終了点の場合、pk+1
=輪郭開始点)のX変移dxとY変移dosおよび X座標値p (x)とY座標値p (y)について、以
下の処理をおこなう。
ステップ(8,1) 水平線ベクタの抽出と分類 ay=oなる(pk−pk+1)の組を抽出する。
即ち、pk (y)=pk+1  (y)なる(pk・
pk+1)の組を抽出する。
次に、dxの符号(正または負、0はあり得ない)が等
しく (以後、方向分類と称す)、Y座標p(’y)の
値が等しいものを同一の水平線分類(以後、CLASS
と称す)とする。
このとき、前述CWルールによりdx符号が正の分類は
当該文字データの水平線上辺を表わし、dx符号が負の
分類は水平線下辺を表わすことが第7図(D)より理解
されるであろう。
ステップ(8,2) 水平線分類(CLASS)のソート 上記水平線分類(CLASS)の各々について、上述方
向分類別にY座標p (y)値の昇順に水平線分類(C
LASS)をソートする。
さらに、各水平線分類におけるX座標値の最小値Lmi
nおよび最大値L m a xを求める。
ステップ(8,3) 水平線要素組の決定 dx符号が正である水平線分類(CLASS)、すなわ
ち上辺に相当する、の各々について、Y座標p (y)
の値の昇順に、以下の方法で水平線要素組として対応す
るdx符号が負の水平線分類(CLASS)、すなわち
下辺に相当する、を決定する(対応づける)。
決定の対象となる分類(CLASS)の値(Y座標値)
をCLASSOl LminをLminOl L m a xをL m a x Olそして水平線要
素組として対応すべき分類(CLASS)の値(Y座標
)をCLASSI。
LminをLminl。
L m a xをLmaxlとすると、以下の判定、即
ち、 CLASSO<CLASS 1、かつ Lminl<LmaxO,かつ L m i n O< L m a x 1 、かつ(
CLASSI−CLASSO)の値が最小である水平線
分類を抽出する。
上記の判定により、水平線要素の対応する上辺と下辺の
組合せによる水平線要素組が決定する(対応づけられる
)。
第9図(A)には第3図(A)で示した「穐」の水平線
要素組の決定結果の例を、また第9図(B)には同様に
垂直線要素組の決定結果の例を示す。
また、これを概念的により理解しやすくするため、第1
0図に文字図形上での反映例を示す。
ステップ(8,4) 水平線バンド分類 ステップ(8,3)にて、決定された水平線要素組の各
々について、X座標の最小値Eminと最大値E m 
a xを求める。
ステップ(8,5) 水平線バンド0の決定 本処理の初期化として、CLASS最小値をもつ水平線
要素組を水平線バンド0として分類する。
この水平線要素組の(Emi n、Emax)を水平線
バンド0に対応する(Zmi n、Zmax)とする。
水平線要素組の各々について、以下の条件で判定をおこ
なう。即ち、 E m i n < Z m a x 、かつ、Z m
 i n < E m a x上記判定結果が「真」で
あった場合、 以下の処理をおこなう。
その水平線要素組をバンドOに分類する。
Z m i nを(Zm i n、 Em i n)の
最小値で置き換える。
Z m a xを(Z m a x 、 E m a 
x )の最大値で置き換える。
ステップ(8,6) 水平線バンド1以降の決定 上記ステップ(8,5)の条件判定結果が「偽」であっ
た場合、 新たなバンド(既決のバンドn : n=o〜、に対し
バンドn+ 1)として分類する。
バンドn+1に対する初期化として、この線要素組の(
Emi n、Emax)を各々バンドn+1に対応する
( Z m i n 、  Z m a x )とする
これを全ての水平線要素組について判定し、上記の如く
既決のバンドnに分類されない場合には、新たなバンド
n+1を作成する。
ステップ(8,7) 水平線バンド分類のソート 後述する処理において、バンドを当該文字のボディ全体
に適応するため、本ステップに至る処理の結果作成され
たバンド分類をZ m i nの昇順に並べ換える。
第3図(A)で示した「穐」の水平線バンドについて、
具体的な結果を第12図に示すが、水平線バンド0とし
てZmin=x107、Z m a x=X84が格納
され、 水平線バンド1としてZXmin=x69、ZXmax
=X62が格納される。
ここに、xl 07<x84<x69<x62である。
ステップ(8,8) 水平線バンドのボディ全体に対する適応本ステップに至
る処理において、いずれのバンドにも分類されなかった
部分が存在するが、これらを既決バンドに割り当てる処
理をおこなう。
そのため、例えば以下のような処理をおこなう。
バンド0のZminの値をX000とする(ボディ最左
端まで拡張する)。
最終バンドのZ m a xの値をX999とする(ボ
デイ最右端まで拡張する)。
バンドO以外のバンドのZ m i nの値を直前のバ
ンドの(Zmax+1)とする。
ステップ(8,9) 水平スペース領域の設定 各バンドに対して、線要素組以外の字形要素およびスペ
ース領域(ボディの地の部分、即ち、第3図(A)に示
す文字図形を通常の文字として考えた場合、文字の画線
部でない部分)に対する領域(即ち、スペース領域とは
ボディの領域より線要素組の占める領域を除いた部分を
示す)を以下の方法で設定する。
分類の先頭にyooo <ボディ最上端値)を挿入する
分類の最終にyooo (ボディ最下端値)を挿入する
しかる後、分類の先頭から2個ずつを組とし、スペース
領域zspO1zspl、  ・・・として設定する。
第3図(A)に示す「穐」の水平線バンドBAND 1
について具体的な結果を例にとると、 水平線要素組zlpoSzlpl、zlp2、z lp
3、zlp4、zlp5、zlp6、およびzlp7に
対し、 水平スペース領域zspO1zspl、zsp2、zs
p3、zsp4、zsp5、zsp6、zsp7、およ
びzsp8 が設定される。
ただし、各々の線要素組は対応する分類の値を含むが、 スペース領域についてはyoooとyoooを除き対応
する分類の値を含まない。
第3図(A)に示す「穐」の水平線バンドBANDIに
ついて具体的な結果を以下に示す。
線要素組の値は yl7<=zlpO<=yl19、 y24<=z lpl<=y125、 yl26<=zlp2<=y133、 yl34<=zlp3<=y34、 y36<=zlp4<=y141゜ yl42<=z 1p5<=y149、yl50<=z
 lp6<=y46、 y50< =z  1  p7< =y62である。
スペース領域の値は yooo<=zspO<yl7、 yl 19<zspl<y24、 yl25<zsp2<yl26、 yl33<zsp3<yl34、 y34<zsp4<y36、 yl41<zsp5<yl42、 yl49<zsp6<yl50、 y46<zsp7<y50、 y62<zsp8<=y999 つまり、スペース領域の値は yooo<=zspO<=y17−1゜yl19+1<
=zspl<=724−1゜y125+1<=zsp2
<=y126−1゜y133+1<=zsp3<=y1
34−1゜y34+1<=z sp4<=y36−1゜
y141+1<=zsp5<=y142−1 、y14
9+1<=zsp6<=y150−1゜y46+1<=
zsp7<=y50−1゜y62+1<=zsp8<=
y999 である。
低画素時省略順位の設定 以下に詳述する理由により、第5図フローチャートにお
ける低画素時省略順位(以下、省略順位と称す)の設定
をおこなう。
低画素時省略順位の設定についての概念的説明第3図(
A)に示す「穐」における水平線バンドBAND 1を
具体例として説明する。
水平線バンドBANDIには水平線バンド8個、および
水平スペース領域9個(水平線要素組の個数+1)が存
在する。
つまり、第3図(A)で示す「穐」の「−」の部分(一
般に「つ(す」と称される)をビットマツプとして、再
現(または表現)する場合、Y方向に17(水平線バン
ドの個数+水平スペース領域の個数)ピクセルの画素数
(これを個々の水平線バンドにおける最低再現画素数M
I NP I Xと称す)があれば、各水平線画素を1
ピクセルの間隔を置いてピクセル配置可能である。
これは逆に、その文字を出力するに際し、割り当てられ
るY方向の画素数が16ピクセル以下の場合、必ず何ら
かの字形の「崩れ」、または線間の「つぶれ」が生ずる
ことを意味する。
一方、前述の如く、100DP IのCRTを用い、一
般な本文用文字サイズであるIOポイント文字サイズを
WYSIWYG表示する場合、1文字に割り当てられる
ピクセルサイズは14(=13゜89)、12ポイント
では同様に、17(=16゜67)である。
つまり、前述「亀」の部分は上記100DPIのCRT
では14ポイントより小さなポイントサイズの場合、字
形の崩れが不可避である。
よって、上記問題を解決するための一手段として、上述
字形の崩れが不可避の場合においても、オペレータの認
識可能な範囲で最小限にとどめるため、以下の方法で低
画素時省略順位(以下、省略順位と称す)を設定する。
また第1図にピクセルサイズが17以下の場合の「亀」
部ピクセル割り当て方法を示すが、以下に説明する処理
はその出力として本図のような結果を得るためにおこな
うものである。
第11図フローチャートでその詳細を示す上述省略順位
の設定は以下のステ・ノブをふむ。
即ち、 初期設定(省略順位変数ZEPの初期化)、最優先省略
領域の設定、 第二優先省略領域の設定、 第三優先以降の省略領域を順次設定、 対応する線要素組に対しての省略順位設定、である。
以下、第11図フローチャートにそって、低画素時省略
順位の設定について説明する。
ステップ(11,1) 初期設定 省略順位変数ZEPを初期化する (ZEP=MI NP IX)。
ステップ(11,2) 最優先省略領域の設定 最上端水平スペース領域、および最下端水平スペース領
域に対し、水平線要素(以下、単に線要素と称す)以外
の字形要素が存在するか否かを判定し、その結果により
以下の処理をおこなう。
線要素以外の字形要素について、両者とも存在する、ま
たは両者とも存在しない場合、 スペース領域(対応する分類の差分)が小さいほうにZ
EP値をセットし、ZEP値を1減する(ZEP=ZE
P−1)。
しかる後、スペース領域が大きいほうに対してZEP値
をセットし、ZEP値を1減する(ZEP=ZEP−1
)。
両者のうちいずれかにのみ存在する場合、存在しないほ
うにZEP値をセットし、ZEP値をl減する(ZEP
=ZEP−1)。
しかる後、存在するほうに対してZEP値をセットし、
ZEP値を1減する(ZEP=ZEP−1)。
ステップ(11,3) 第二優先省略領域の設定 次に比較をするスペース領域を文字ボディ最中心位置に
移動させる。
文字ボディ最中心位置のスペース領域は1個の場合と2
個の場合がある(「穐」の水平線バンドBANDlの場
合、文字ボディ最中心位置の水平スペース領域はzsp
4が1個のみである)。
スペース領域が1個のみの場合、 該当するスペース領域にZEP値をセットし、ZEP値
を2減する(ZEP=ZEP−2)。
スペース領域が2個の場合、 該当するスペース領域(対応する分類の差分)が小さい
ほうにZEP値をセットし、ZEP値を2減する(ZE
P=ZEP−2)。
しかる後、スペース領域が大きいほうに対してZEP値
をセットし、ZEP値を2減する(ZEP=ZEP2)
ステップ(11,4) 第三優先以降の省略領域を順次設定 以後比較をするスペース領域を順次文字ボディ外側方向
に移動させ、以下の様に全てのスペース領域にZEP値
をセットする。
該当するスペース領域(対応する分類の差分)が小さい
ほうにZEP値をセットし、ZEP値を2減する(ZE
P=ZEP−2)。
しかる後、スペース領域が大きいほうに対して同様にZ
EP値をセットし、ZEP値を2減する(ZEP=ZE
P−2)。
ステップ(11,5) 対応する線要素組に省略順位を設定する。
各スペース領域とそれの直後(直下)で隣接する練要素
組をグループ化し、各線要素組に対しグループ化された
スペース領域と同一の省略順位を設定する。
但し、先頭(最上端)のスペース領域と最終(最下端)
のスペース領域はグループ化の対象としない。
この結果、先頭の線要素組はこの段階では省略順位が設
定されていないが、その省略順位値ZEPは常に1であ
り、これをセットする。
以上のステップを各バンドについて実行し、全てのスペ
ース領域の省略順位を設定する。
以上の結果を、「穐」の水平線バンドについて第12図
(A)に、同様に垂直線バンドについて第12図(B)
に示す。
ビットマツプ変換用文字データの格納 以上のようなステップで座標要素毎に作成されたバンド
情報を付加し、後述する格納形式に従って、標準となる
文字データの場合と同様に、1文字単位で読み出すため
の後述するフォントインデックスと共に第1図2に示す
FDT2に格納する。
用文字データの格納形式は大別して、輪郭情報C0NT
INF、オフセット情報0FFSET  INF。
X座標情報X  INF、Y座標情報Y−INFから構
成される。
輪郭情報(CONT  INF) 輪郭情報はその文字の輪郭の数と各々の輪郭終了点を示
す制御点配列番号の配列から構成される。
X  C0RD  INF  OFFは後述するX座標
の制御点情報先頭オフセットを示すオフセットポインタ
である。
Y  BAND  INF  OFFは後述するY座標
のバンド情報先頭オフセットを示すオフセットポインタ
である。
Y  C0RD  INF  OFFは後述するY座標
の制御点情報先頭オフセットを示すオフセットポインタ
である。
オフセット情@ (OFFSET  INF)座標情報
(X  INF、Y  INF)オフセット情報は後述
する各座標データのデータオフセットを示す4個のオフ
セットポインタで、X  BAND  INF  OF
F、X  C0RDINF  OFF、Y  BAND
  INF  OFF。
Y  C0RD  INF  OFFから構成される。
X  BAND  INF  0FFit後述するX座
標のバンド情報先頭オフセットを示すオフセットポイン
タである。
座標情報に関してはX座標情報X  INFとY座標情
報Y  INFが独立しているが、各々は同一の構成か
らなり、主にプログラム上の座標成分を変えるだけで全
く同一の処理で扱うことができる。
座標情報は各々バンド情報BAND  INFと制御点
情報C0RD  INFから構成される。
前述の如く、X座標情報とY座標情報は同一の構成なの
で、以下にY座標情報を例にとって、説明する。
バンド情報(BAND  T NF) 第t≠図(B)で示すように、バンド情報BANDIN
Fは1個以上のバンドを定義している。
&i I N P I Xは各バンドで判別された最低
再現画素の最大値を格納している。
No  of  BandとBand  0ffset
は各々複数個のバンド情報を扱うための情報の個数とオ
フセットポインタである。
バンド(BAND) 個々のバンドは可変長である。
No  of  Lineは個々のバンドに存在する線
要素の個数を格納する。
ZLPOArrayは ZEP  Arrayは低画素時省略順位であり(N。
of  Line+1)個の配列である。
LPC (N。
ArrayはCLASS値を格納する Linex2+1)個の配列であ f る。
制御点情報(CORD  INF) また、第キキ図に「穐」を例とした具体的な制御点情報
を部分的に示す。
制御点情報はその文字を表現する各々の制御点に対し、
バンド番号BAND  No、クラス番号LINESE
Q、属性フラグREG  Fを持つ。
属性フラグREG  F 属性フラグREG  Fは、後述説明する出力機器解像
度に合致させた制御点情報の作成処理を、高品位かつ効
率よくおこなうための付加情報であり、コピー属性CP
Y。
クラス属性ZLO,ZLC,ZLM、ZSM。
補正属性ADG、曲線属性CVC をその内部に記録する。
属性フラグREG  Fの説明を、同様に水平線要素に
ついて以下に述べる。
コピー属性CPY 直前の制御点と同じ座標値を持つことを示す。
つまり、前述ステップ(8,1)にて説明したdy=0
なる(pk−pk+1)を抽出した結果の制御点pk+
1に対し、本属性を付与する。
クラス属性ZLO 線要素基準値を持つことを示す。
つまり、前述CLASS配列におけるdx符号が正であ
る(pk−pk+1)に対し、本属性を付与する。
第9図(A)、第12図(A)に例をとると、y17、
y24、y6、y126、y134などである。
クラス属性ZLC 線要素相対値を持つことを示す。
つまり、前述CLASS配列におけるdx符号が負であ
る(pk−pk+1)に対し、本属性を付与する。
第9図(A)、第12図(A)に例をとると、y119
、y125、y84、yt 33、y24などである。
クラス属性ZLM 線要素基準値と線要素相対値にはさまれた領域に存在す
ることを示す。
つまり、制御点の座標値pk(y)が(直前のZLC値
)<pk (y)<、(直前のZLC値)であるpkに
対し、本属性を付与する。
クラス属性ZSM 線要素相対値と線要素基準値にはさまれた領域に存在す
ることを示す。
つまり、制御点の座標値pk(y)が(直前のZLC値
)<pk (y)< (直前のZLC値)であるpkに
対し、本属性を付与する。
補正属性ADG 前述CLASS配列に属さないが、ay=oなる(pk
−pk+1)に対し、本属性を付与する。
曲線属性CvC 前述説明した標準となる文字データの属性情報C属性情
報Cと同様であり、各制御点Pが文字の直線部端点を示
すか、後述する曲線補間のための制御点を示すかを区別
するための属性情報である。
ビットマツプ文字の出力 ブトマツプ変換用文字データを、指定された出力機器の
解像度と、指定された文字サイズに従って、ビットマツ
プデータに変換し、出力する文字処理装置部分の構成図
である。
また、第榊図は後述する文字発生部がビットマツプ文字
の出力に際し、作動する内容を説明するフローチャート
である。
第F臀図において、18はCPU、4はCPUおよびシ
ステムを制御する文字処理装置部のプログラムが格納さ
れた制御ROM、32は前述プログラムがビットマツプ
文字の出力に際し作動する文字発生部CG、9はRAM
、2はフォントデータが格納されたフォントメモリ、も
しくは外部記憶装置等を含むRAM、30は第1図6で
示すキーボード、もしくは第1図5で示すディスク装置
等に格納されるドキュメントファイル格納領域からのデ
ータ受信部に相当する入力回路、21は出力すべき画像
データをビットデータとして記憶するフレームバッファ
、31は出力回路でありビデオ信号などのプリンタ用出
力回路もしくはCR,T表示回路などに相当し、本回路
によりプリンタやCRTなど可視画像出力機器へ接続さ
れる。
なお第m図に付記した上記番号は前述第1図ので示す出
力回路は第1図では省略されている。
フォントデータ 上述したビットマツプ変換用文字データはこれをを複数
文字の集合体として管理するため、以下に説明するフォ
ントデータとして取り扱う。
即ち、フォントデータはフォントインデックス、コード
インデックス、および個々のビットマ・ツブ変換用文字
データから構成される。
フォントインデックスは書体毎、文字セット(日本語文
字セットの場合、JIS第1水準、第2水準、システム
に固有の文字種集合など)毎の管理を取り扱うインデッ
クス情報である。
また本実施例ではビットマツプ変換用文字データのフォ
ント座標系情報もフォント単位に管理している。
コードインデックスは上記の各フォント毎の文字コード
と後述するビットマツプ変換用文字データ受信部、オフ
セット情報、およびバンド情報、制御点情報からなる座
標情報を格納している。
また、本システムの文字処理装置部分の制御手段はソフ
トウェアプログラムとして第1図4に示すPRG2に格
納されており、6に示すKBDからの指令により8に示
すPRAM2ヘロードされ、18に示すCPUにより逐
次制御されるものである。
また文字発生に際し、必要とする全ての中間的なデータ
はいずれも第1図9に示すDARAMに一時格納される
入力パラメータ ある文字をプリンタやCRTなど可視画像出力機器へ出
力するに際し、入力回路からは以下のような文字出力コ
マンドとして指定される。
文字出力コマンド=(出力機器種別、文字サイズ、フォ
ント種別、出力文字種) 出力機器種別は第1図14.15.16、および17の
如くシステムに接続されているプリンタやCRTなどの
可視画像出力機器の解像度を指定するためのもので、第
1図22に示すSYSROMにあらかじめセットされて
いる出力機器/解像度対応テーブルを参照することによ
り指定された出力機器の解像度を得る。
上記対応テーブルに格納されている実際の値は例えばD
PI数である。
文字サイズは指定された文字を出力するに際し、出力機
器の解像度に依存しない一般的なサイズであることが好
ましく、例えばポイントサイズ(本例では1ポイントを
1/72インチとして説明する)等で指定される。
フォント種別は前述した書体や文字セットを指定するも
ので、これにより前述したフォントインデックスを参照
する。
出力文字種は前述したコードインデックスを参照するた
めの文字コードである。
出力ドツトサイズの算出 入力回路から出力機器種別、文字サイズ、フォント種別
が指定された後、まず指定された文字サイズが指定され
た出力機器の解像度において実際に展開されるべきドツ
トサイズを算出する。
指定された文字サイズをPT  5IZE、指定された
出力機器の解像度をD  DPI、実際に展開されるべ
きドツトサイズをPIX  5IZEとすると、 PIX  5IZE=PT  5IZExD  DPI
/72 である。
FIX  5IZEは出力機器におけるドツトサイズで
あるため、式の右辺の結果は例えば四捨五入され整数値
化される。
この結果、PIX  5IZEの値は例えば、出力機器
の解像度D  DPI=400とすると、文字サイズが
32ポイントのとき178.16ポイントのとき89.
12ポイントのとき67、lOポイントのとき56であ
り、D  DPI=lOOとすると、PIX  5IZ
Eの値は同様に44.22.17、および14である。
マスクフォントサイズ 指定されたフォント種別により、フォントインデックス
から該当するフォントデータの後述するマスクフォント
サイズを得て、PIX  5IZEより拡大、縮小率の
算出をおこなう。
出力に際し、必要なフォント座標系情報は、例えば第2
図を用い既に説明した左上原点Oの座標値と右下ボディ
対角点Zの座標値である。
第2図のような座標系定義をした場合、左上原点0の値
(x OOO,y OOO)を(0,O)としておけば
、ビットマツプ変換用文字データのサイズはZの値、即
ち(x999.y999)である。
拡大、縮小率の算出 前述マスクフォントサイズをMASTER5IZE。
拡大縮小率を5CALE  Fとすると、5CALE 
 F=PIX  5IZE/MASTERIZE である。
5CALE  Fの値は、小数点以下の値が必要になる
場合が多いので浮動小数点変数、または例えば10進法
で小数点以下2桁以上の精度が保証されるようビットシ
フトを施した固定小数点変数として演算する。
出力機器解像度に合致させた制御点情報の作成指定され
たフォント種別および出力文字種により、フォントイン
デックスおよびコードインデックスを介してビットマツ
プ変換用文字データを得た後、後述するドツト展開回路
に出力するための出力機器解像度に合致させた輪郭制御
点情報(以後、出力解像度合致制御点と称す)を作成す
る。
ドツト展開回路はなるべく単純な、例えばビットマツプ
塗り潰し回路であることが望ましく、前述した拡大縮小
率5CALE  Fを用いた演算を含め、指定された文
字サイズにおいていかに美しく出力するかは全てこの出
力解像度合致制御点の作成処理において制御する。
本処理もX制御点情報とX制御点情報を独立かつ、同一
の構成からおこなうことが可能であり、X/Yの区別は
主に制御点情報の座標成分を変えるのみである。
以下にY座標情報を例にとって説明する。
前述した如(、ビットマツプ変換用文字データはトに示
す如く、最低再現画素MINPIX (MINPIXの
値は個々の文字により異なる)と前述した実際に展開さ
れるべきドツトサイズPIX  5IZEの比較結果を
判別し、それらの条件に最も適した処理を選択する。
つまり、PIX  5IZEがMINPIXに対しテ十
分大ナル(例えばPIX  5IZE>=MINPIX
X5)場合、PIX  5IZEがMINPIX以下で
ある場合、そしてその他の場合、というような条件によ
りそれぞれ別の制御点情報の作成をおこなう。
以下、上記条件の場合の各々について説明する。
PIX  5IZEがMINPIXi:対シテ十分大な
る場合 解像度400DPIのプリンタに対し、32ポイントサ
イズ以上の文字を出力する場合(PIXSIZE=32
X400/72=178)などがこれに相当する。
バンドのメンバ、クラス配列の演算 各々の文字は1個以上のバンドをもつが、その個々につ
いて、以下の如くクラス配列の演算をおこなう。
図に示し、これに従って以下に説明する。
演算結実用配列D  ZLO[O:No  of  L
ine−lコをDARAM上に確保する。
ここに、配列ARRAY [a : b]は配列要素が
aからbまでの配列要素をもつARRAYという名前の
配列を定義することを示す。但しaおよびbは整数でa
<=bである。
D    ZLO[i  コ = ROUND  (ZLPO[i  コ X5CALE 
  F)(i=o 〜No   of   Line−
1)ZLPO[No  of  Line]の値はこの
処理で必要としない。
ここに、ROUND (n)は変数nをnの値に最も近
い整数値と等しくさせる関数であり、例えば小数点以下
を四捨五入して整数化する関数である。
線要素相対値の演算 線要素相対値の演算処理フローチャートを第21図に示
し、これに従って以下に説明する。
演算結実用配列D  ZLC[0:No  of  L
ine−1]をDARAM上に確保する。
D  ZLC[il =D  ZLO[il +ROU
ND  ((ZLPC[j]  −ZLPO[i コ 
)xSCALE  F) (i=0〜No  of  Line−1゜j=i+1
) ZLPC[0]の値はこの処理で必要としない。
制御点情報配列より制御点座標値の作成制御点情報配列
より制御点座標値作成演算処理のフローチャートを第U
図に示し、これに従って以下に説明する。
出力解像度合致制御点の演算結果を格納するための配列
D  C0RD [0:No  of  Cp−1]を
DARAM上に確保する。
線要素組に属さない制御点のためのオフセット座標値配
列のポインタC0FF  Pをセットする。
REG  Fの値が、 CPYのとき、 直前の制御点と同じ値を持つことを示す、即ちD  C
0RD [il =D  C0RD [i−1]ZLO
のとき、 線要素基準値を持つことを示す、即ち D  C0RD [il =BAND [BAND  
No] 。
D  ZLO[LINE  SEQ] ZLCのとき、 線要素相対値を持つことを示す、即ち D  C0RD [il =BAND [BAND  
No]。
D   ZLC[LINE   SEQコZLMのとき
、 線要素基準値と線要素相対値にはさまれた領域に存在す
ることを示す、即ち D  C0RD [i] = (BAND [BAND
  No] 。
ZLPO[LINE  SEQ]+Cord  off
[C0FF  P] )xSCALE  FCOF、F
  P=COFF  P+1゜さらにADGの場合、 D  C0RD [i] =ROUND (D  C0
RD[i] ) ZSMのとき、 線要素相対値と線要素基準値にはさまれた領域に存在す
ることを示す、即ち D  C0RD [i] = (BAND [BAND
  No] 。
ZLPC[LINE   SEQコ +Cord   
off[C0FF   P コ )  xSCALE 
  FCOFF  P=COFF  P+10さらにA
DGの場合、 D   C0RD  [i  コ =ROUND  (
D   C0RD[iコ ) PIX  5IZEがMINPIX以下なる場合解像度
100DPIのプリンタに対しIOポイントサイズの文
字を出力する場合(PIX  5IZE=10xlOO
/72=14)などがこれに相当する。
図に示し、これに従って以下に説明する。
2個の演算結実用配列D  ZLC[0:No  of
Line]とD  ZLO[O:No  of  Li
ne]をDARAM上に確保する。
割付は値変数CU  CODを初期化する(CUCOD
=O)。
i=oなるiについて、 D    ZLC[i  コ =CU   C0Dze
p [i] <=MINPIXの場合、CU  C0D
=CU  COD+1 D  ZLO[i] =CU  CODさらに、1=1
−No  of  Line−1なるiについて、 D  ZLC[i] =CU  C0Dz ep [i
] <=MINP IXの場合、CU  C0D=CU
  COD+2 D  ZLO[i] =CU  CODこの結果をPI
X  5IZEが13だった場合について具体的な例を
あげると、 D  ZLC[O:8コの値はそれぞれ、0.0.2.
4.6.6.8.10.12に、D  ZLO[0:8
]は同様に、0.2.4.6.6.8.10.12.1
2に割付けられる。
PIX  5IZEが17以下の場合の「穐」の例制御
点情報配列より制御点座標値の作成以下に説明する。
出力解像度制御点演算結実用配列D  C0RD [0
:NoofCp−1]を用意する。
REG  Fの値が、 CPYのとき、 D   C0RD  [i]  =D   C0RD 
 [i−1]ZLOのとき、 D  C0RD [i] =BAND [BAND  
No]、D  ZLO[LINE  SEQ] ZLCのとき、ZLOと同様。
ZLMのとき、ZLOと同様。
ZSMのとき、 D  C0RD  [i] = (BAND [BAN
D  No] 。
D   ZLO[LINE   SEQコ +BAND
  [BANDNo]  、  D   ZLC[LI
NE   SEQコ )/ADGはこの処理で必要とし
ない。
PIX  5IZEがその他(例えばMINPIXより
大かつMINPIXx5より小)の場合解像度400D
PIのプリンタに対し12ポイントサイズの文字を出力
する場合(PIX  SIZE=12X400/72=
67)などがこれに相当する。
線要素基準値の演算(演算結実用配列D  ZLO[0
:No  of  Line−1]の作成)および線要
素相対値の演算(演算結実用配列D  ZLC[0:N
o  of  Line−1コの作成)に関してはPI
X  5IZEがMINPIXに対して十分大なる場合
と同等におこない、その直後に以下のスペース割付は調
整処理を追加する。
スペース割付は調整処理 A>=Bなら、 D  ZLO[i]  =D  ZLO[i]  +1
A<Bなら、 D  ZLC[i]  =D  ZLC[i]   1
上記調整演算はその簡略化として以下のような別法を用
いてもよい。
一法として、 D   ZLO[i  コ =D   ZLO[i] 
 +  1あるいは、 D  ZLC[i]  =D  ZLC[i]  −す
る。
1=l−No  of  Line−1なるiに対し、
SP  B=D  ZLO[i] −D  ZLC[i
]の値をチエツクし、SP  B<2の場合、以下の演
算による調整をおこなう。
A=D  ZLC[i+1] −D  ZLO[i]B
=D  ZLC[i] −D  ZLO[i−1]なる
AとBを比較し、 ドツト展開 以上のような処理で作成された出力解像度合致制御点は
、次にドツト展開回路に入力される。
ドツト展開回路は前述の如(単純なビ・ソトマ・ツブ塗
り潰し回路が望ましく、ビットマツプの領域を初期化(
全てのビットをOFFする)した後、先ず出力解像度合
致制御点に沿った輪郭線を発生(該当するビットをON
する)し、その後ビ・ソトマ・ツブ上のONビットから
その次のONビットまでを全てONすることによりドツ
ト展開が実行される。
出力機器への転送 ドツト展開されたデータは前述入力パラメータにて指定
された出力機器に出力するため、その出力機器に連結さ
れる第1図21に示すフレームバッファのいずれかに転
送される。
[発明の効果コ 以上説明したように、基準となる文字データを、当該文
字の輪郭を表現するための制御点座標として予め用意し
、指定された文字サイズに応じて拡大または縮小演算し
た後、ドツト情報に変換し、出力するに際し、 前述した基準となる文字データを、当該文字の輪郭を表
現するための制御点座標と、複数の閉輪郭を区別する輪
郭情報と、バンド情報と、低画素時省略順位情報として
格納し、 入力パラメータより算出された出力サイズに応じて、 前述バンド情報と、前述低画素時省略順位情報を参照し
割付けを演算する手段と、 前述バンド情報を参照するための制御点情報により前述
出力サイズに応じた各制御点座標値を参照または演算す
る手段 とを具備することにより、 高品位のビットマツプ文字を出力可能となった。
【図面の簡単な説明】
第1図は、本発明のシステム構成図 第2図は、フォント座標系を示す図 第3図は、標準となる文字データの制御点配置を示す図 第4図は、文字輪郭制御点データを示す図第5図は、標
準となる文字データよりビットマツプ変換用文字データ
を自動的に作成する処理のフローチャート 第6図は、外輪郭、内輪郭判別処理のフローチャート 第7図は、第6図フローチャートにおける処理を補足説
明する図 第8図は、バンド情報を作成する処理のフローチャート 第9図は、「穐」の水平線要素組および垂直線要素組の
決定結果の例を示す図 第10図は、第9図に対応した文字図形における反映例 第11図は、低画素時省略順位設定処理のフローチャー
ト フローチャート 成演算処理のフローチャート ■は、標準となる文字データ格納領域、2は、ビットマ
ツプ変換用文字データ格納領域、3、および4は、プロ
グラム格納領域、5は、ドキュメントファイル格納領域
、6は、キーボード装置、 7および8は、プログラム用RAM。 9は、データ用RAM。 10.11.12、および13は、フレームバッファ、 18は、 19は、 22は、 0M CPU。 ディスク装置、 システムの機器構成などを記憶しである第1図 L 、 、 、 、−−、−一娑1゜ 第2図 第3図 (A) 第4図 第5図 第7図 第9図(A) 第8図 第10図 (A) 第10図 (B) 第12図(A) 第12図(B) 第14図(A) 第13図 第14図(B) 第14図(C) 第16図 lX 5IZE = 17 =16 lX 5IZE = 13 lX 5IZE = 9 第18図 第19図 第20図 第21図

Claims (2)

    【特許請求の範囲】
  1. (1)基準となる文字データを、当該文字の輪郭を表現
    するための制御点座標として予め用意し、指定された文
    字サイズに応じて拡大または縮小演算した後、ドット情
    報に変換し、出力する文字処理方法であって、 前述した基準となる文字データを、当該文字の輪郭を表
    現するための制御点座標と、複数の閉輪郭を区別する輪
    郭情報と、バンド情報と、低画素時省略順位情報として
    格納し、 入力パラメータより算出された出力サイズに応じて、 前述バンド情報と、前述低画素時省略順位情報を参照し
    割付けを演算する手段と、 前述バンド情報を参照するための制御点情報により前述
    出力サイズに応じた各制御点座標値を参照または演算す
    る手段 とを具備することを特徴とする 文字処理方法。
  2. (2)基準となる文字データを、当該文字の輪郭を表現
    するための制御点座標として予め用意し、指定された文
    字サイズに応じて拡大または縮小演算した後、ドット情
    報に変換し、出力するに際し、前述した基準となる文字
    データを、当該文字の輪郭を表現するための制御点座標
    と、複数の閉輪郭を区別する輪郭情報と、バンド情報と
    、低画素時省略順位情報として格納する格納手段と、 読み出し手段と、 入力パラメータより算出された出力サイズに応じて、 前述バンド情報と、前述低画素時省略順位情報を参照し
    割付けを演算する手段と、 前述バンド情報を参照するための制御点情報により前述
    出力サイズに応じた各制御点座標値を参照または演算す
    る手段 とを具備することを特徴とする 文字処理装置。
JP02206595A 1990-08-03 1990-08-03 文字処理方法および装置 Expired - Fee Related JP3082933B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02206595A JP3082933B2 (ja) 1990-08-03 1990-08-03 文字処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02206595A JP3082933B2 (ja) 1990-08-03 1990-08-03 文字処理方法および装置

Publications (2)

Publication Number Publication Date
JPH0493892A true JPH0493892A (ja) 1992-03-26
JP3082933B2 JP3082933B2 (ja) 2000-09-04

Family

ID=16526003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02206595A Expired - Fee Related JP3082933B2 (ja) 1990-08-03 1990-08-03 文字処理方法および装置

Country Status (1)

Country Link
JP (1) JP3082933B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2309446A2 (en) 2009-09-18 2011-04-13 Canon Kabushiki Kaisha Image processing apparatus, control method and program
CN112750143A (zh) * 2020-12-02 2021-05-04 上海海洋大学 一种基于极值法的茎柔鱼形态特征提取方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2309446A2 (en) 2009-09-18 2011-04-13 Canon Kabushiki Kaisha Image processing apparatus, control method and program
US8670631B2 (en) 2009-09-18 2014-03-11 Canon Kabushiki Kaisha Image processing apparatus, control method and computer-readable medium storing a program
CN112750143A (zh) * 2020-12-02 2021-05-04 上海海洋大学 一种基于极值法的茎柔鱼形态特征提取方法
CN112750143B (zh) * 2020-12-02 2024-04-26 上海海洋大学 一种基于极值法的茎柔鱼形态特征提取方法

Also Published As

Publication number Publication date
JP3082933B2 (ja) 2000-09-04

Similar Documents

Publication Publication Date Title
JPH0493894A (ja) 文字処理方法および装置
US5404436A (en) Computer method and apparatus for converting compressed characters for display in full size
EP1158485B1 (en) Graphic display apparatus, character display apparatus, display method, recording medium, and program
JPS60140472A (ja) 対話型フオント・パタ−ン作成・修正・合成制御装置
JPS59137987A (ja) グラフイツク・パタ−ン重ね合せ方法
JPH0244482A (ja) ラスタ化方法
US6151032A (en) Stroke-based glyph-outline font generation in low/high resolution space
JPH08106276A (ja) スクリーン上でのテキスト表示方法
US6195473B1 (en) Non-integer scaling of raster images with image quality enhancement
JP2909273B2 (ja) アウトライン・フォントの線幅調整方法および装置
US20060077210A1 (en) Rasterizing stacked graphics objects from top to bottom
JPH0493892A (ja) 文字処理方法および装置
US5553219A (en) Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data
JPH0493893A (ja) 文字処理方法および装置
JPH049152B2 (ja)
JPH0661960B2 (ja) ドツト補間制御装置
JP2965429B2 (ja) 文字出力装置
JPS60231266A (ja) ドツト補間制御方式
JP3133790B2 (ja) ハーフトーンフォント生成装置
JP3133789B2 (ja) ハーフトーンフォント生成装置
JPH08101675A (ja) フォント展開装置
JPS60231267A (ja) 文字間制御方式
JP3133787B2 (ja) ハーフトーンフォント生成装置
JPH0263857A (ja) フォントデータ記録方法および同記録方法で記録されたフォントデータを利用する高品質文字パターン生成装置
JPWO2011092954A1 (ja) 文字作成方法、文字作成装置、および書体データ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees