JP3461210B2 - 文字処理装置及び方法 - Google Patents
文字処理装置及び方法Info
- Publication number
- JP3461210B2 JP3461210B2 JP26705494A JP26705494A JP3461210B2 JP 3461210 B2 JP3461210 B2 JP 3461210B2 JP 26705494 A JP26705494 A JP 26705494A JP 26705494 A JP26705494 A JP 26705494A JP 3461210 B2 JP3461210 B2 JP 3461210B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- width
- typeface
- cutout
- side bearing
- 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
Links
Description
および装置に関するものである。
は、各文字によりそれぞれ字面に見合う個々の文字幅情
報をもっている。これらはProportional
Typefaceと定義される。また欧文書体の中に
は、タイプライター用書体に代表されるような文字幅が
一様な書体も存在し、これらはFixed Pitch
Typefaceと定義されている。
属する欧文、例えばJIS X0207に定められてい
る欧文記号「ABC」等は組版用としてではなく記号と
して扱われているため、各文字は文字幅情報を持ってい
ない。よって、和文書体中の欧文を組版上美しいレイア
ウトで出力することができなかった。
幅情報を持たない文字情報により文字幅切り出しに情報
を求めることによって、各々の文字に合わせた文字幅を
提供することを目的とする。
に本発明の文字処理装置は、文字幅の自動切り出しを行
うか否かを判定する第1判定手段と、前記第1判定手段
により切り出しを行うと判定された場合、文字幅切り出
し情報ファイルがあるか判定する第2判定手段と、前記
第2判定手段によりファイルがないと判定された場合、
切り出し幅を計算する計算手段と、前記計算手段により
計算された切り出し幅をフォントデータとしてファイル
に出力する出力手段とを有し、前記計算手段は、アルフ
ァベットと記号とで異なる処理を行い、切り出し幅を計
算することを特徴とする。
自動切り出しを行うか否かを判定する第1判定手段と、
前記第1判定手段により切り出しを行うと判定された場
合、文字幅切り出し情報ファイルがあるか判定する第2
判定手段と、前記第2判定手段によりファイルがないと
判定された場合、切り出し幅を計算する計算手段と、前
記計算手段により計算された切り出し幅をフォントデー
タとしてファイルに出力する出力手段と、サイドベアリ
ング値係数表と文字領域の横幅とに基づき基準サイドベ
アリング値を算出する算出手段とを有し、前記切り出し
幅は、算出された基準サイドベアリング値と基準文字以
外のサイドベアリング値計算テーブルとに基づき算出し
た文字の左右の余白、及び文字領域の横幅に基づき計算
することを特徴とする。
アリング値係数表と文字領域の横幅とに基づき基準サイ
ドベアリング値を算出する算出手段と、前記算出手段に
より算出された基準サイドベアリング値と基準文字以外
のサイドベアリング値計算テーブルとに基づき算出した
文字の左右の余白、及び文字領域の横幅に基づき計算す
る計算手段とを有することを特徴とする。
自動切り出しを行うか否かを判定する第1判定ステップ
と、前記第1判定ステップにより切り出しを行うと判定
された場合、文字幅切り出し情報ファイルがあるか判定
する第2判定ステップと、前記第2判定ステップにより
ファイルがないと判定された場合、切り出し幅を計算す
る計算ステップと、前記計算ステップにより計算された
切り出し幅をフォントデータとしてファイルに出力する
出力ステップとを有し、前記計算ステップは、アルファ
ベットと記号とで異なる処理を行い、切り出し幅を計算
することを特徴とする。
自動切り出しを行うか否かを判定する第1判定ステップ
と、前記第1判定ステップにより切り出しを行うと判定
された場合、文字幅切り出し情報ファイルがあるか判定
する第2判定ステップと、前記第2判定ステップにより
ファイルがないと判定された場合、切り出し幅を計算す
る計算ステップと、前記計算ステップにより計算された
切り出し幅をフォントデータとしてファイルに出力する
出力ステップと、サイドベアリング値係数表と文字領域
の横幅とに基づき基準サイドベアリング値を算出する算
出ステップとを有し、前記切り出し幅は、算出された基
準サイドベアリング値と基準文字以外のサイドベアリン
グ値計算テーブルとに基づき算出した文字の左右の余
白、及び文字領域の横幅に基づき計算することを特徴と
する。
アリング値係数表と文字領域の横幅とに基づき基準サイ
ドベアリング値を算出する算出ステップと、前記算出ス
テップにより算出された基準サイドベアリング値と基準
文字以外のサイドベアリング値計算テーブルとに基づき
算出した文字の左右の余白、及び文字領域の横幅に基づ
き計算する計算ステップとを有することを特徴とする。
書体のサイドベアリング情報とサンセリフ系書体のサイ
ドベアリング情報とを記憶する記憶手段と、対象書体が
セリフ系書体であるかサンセルフ系書体であるかを判別
する判別手段と、前記判別手段によりセリフ系書体であ
ると判別された場合、前記記憶手段のセリフ系書体のサ
イドベアリング情報に基づき切り出し幅を計算し、前記
判別手段によりサンセリフ系書体であると判別された場
合、前記記憶手段のサンセリフ系書体のサイドベアリン
グ情報に基づき切り出し幅を計算する計算手段と、前記
計算手段により計算された切り出し幅に基づき文字を出
力する出力手段とを有することを特徴とする。また、本
発明の文字処理方法は、セリフ系書体のサイドベアリン
グ情報とサンセリフ系書体のサイドベアリング情報とを
記憶する記憶手段を利用する文字処理方法であって、対
象書体がセリフ系書体であるかサンセルフ系書体である
かを判別する判別ステップと、前記判別ステップにより
セリフ系書体であると判別された場合、前記記憶手段の
セリフ系書体のサイドベアリング情報に基づき切り出し
幅を計算し、前記判別ステップによりサンセリフ系書体
であると判別された場合、前記記憶手段のサンセリフ系
書体のサイドベアリング情報に基づき切り出し幅を計算
する計算ステップと、前記計算ステップにより計算され
た切り出し幅に基づき文字を出力する出力ステップとを
有することを特徴とする。
詳細に説明する。
理装置の基本的構成を示すブロック図である。本装置
は、ワードプロセッサあるいは電子タイプライタであっ
ても良いし、ワークステーションあるいはコンピュータ
システムであっても良い。
PU)であり、文字処理装置全体の制御および演算処理
などを行うものである。
であり、システム起動プログラム、後述するフローチャ
ートに係るプログラム、および文字パターンデータ等の
記憶領域である。
M)であり、使用制限のないデータ記憶領域として、様
々な処理を実行するために各々のプログラムおよびデー
タがロードされる領域である。
あり、キーボード(KB)105よりキー入力データを
受取り、CPU101へ伝達する。
置(PDC)であり、ポインティングデバイス(PD)
107より座標データやボタン入力データ等を受取り、
CPU101へ伝達する。
C)であり、後述のディスプレイ装置109に表示すべ
きデータを出力する。
CRTのような表示装置を具備し、CRTC108より
データを受取り、これを表示する。
D)あるいはハードディスク装置(HD)等の外部記憶
装置(ディスク)であり、プログラムおよびデータを記
憶させておき、実行時必要に応じて参照またはRAM1
03へロードする。
り、FDおよびHD等のディスク111との間でのデー
タ伝送等の制御を行う。
あり、インクジェットプリンタ、レーザービームプリン
タ等のプリンタ装置(PRT)113を制御する。
C112からのデータを受取り、記録媒体への印刷を実
行する。
要素間のデータの通路となるべきものである。
ォントデータについて説明する。
インフォントデータをビットマップデータに変換し、出
力するまでの処理の流れを示すフローチャートである。
した所望のROM102、RAM103、ハードディス
ク111、フロッピーディスク等にあらかじめ格納され
ているフォントデータのパラメータを受け取る。ここで
パラメータとしては出力すべき文字の文字コード、書
体、ウエイト、出力サイズ、出力形式等がある。文字コ
ードとしてはJISコード、マイクロソフト漢字コード
(シフトJIS)、EUCコード、unicode等の
あらかじめ対象となるシステムがどの文字コード体系に
よって定められているかによって決まる。また書体とし
ては明朝体、ゴシック体、丸ゴシック体等のシステムが
あらかじめ内蔵しているデータあるいはオプションとし
て加えられたデータの中から選ばれる。ウエイトは前記
書体の線の太さ情報であり、ここでは極細、細、中、
太、極太等の情報が与えられる。出力サイズは実際にフ
ォントデータを出力する際にどれ位の大きさで出力する
かの情報である。出力形式は所望とするフォントの出力
データ形式であり、輪郭座標データ出力、ビットマップ
出力等の要求が出される。
の座標データを読み込む。このデータはROM102、
RAM103、ハードディスク111、フロッピーディ
スク111等にあらかじめ格納されており、ステップS
201で取り込んだ入力情報の書体情報や文字コード情
報から検索して必要分読み込む。このとき取り込む入力
情報は図3に示すように文字の輪郭の特徴点を抽出した
座標情報であり、それぞれの点に対して直線データ/曲
線データ判別フラグ、輪郭開始点/終了点フラグ等の属
性情報を持つ。
2次あるいは3次Bスプライン曲線であったり、2次あ
るいは3次ベジェ曲線であったりするが、どの補間式を
使用するかはフォントデータの種類によりあらかじめ決
定されている。また、文字枠を示す座標の最小値は0、
最大値800等で表現されている。
プS202で得られた座標データを入力パラメータの出
力サイズに応じて拡大縮小処理を行う。この時の計算方
法は、要求出力サイズを(Ax、Ay)、ステップS2
02で得られたそれぞれの座標値を(x、y)、拡大縮
小処理後のそれぞれの座標値を(X、Y)、格納されて
いる文字枠のサイズを(Mx、My)とすると、 (X、Y)=(x*Ax/Mx、Y*Ay/My) となる。上記計算を1文字が持つすべての座標列におい
て計算する。また、このときステップS202で得られ
た各座標点における属性フラグは変化しない。
ラメータの出力形式で判定し、出力形式が輪郭座標デー
タ出力であれば、ステップS205に進み、ステップS
203で得られた拡大縮小後の座標点及び座標点属性の
データ列を要求側へ返す。図4にその座標出力の例を示
す。またステップS204においてビットマップ出力が
要求されていれば、ステップS206へ進む。
おいては、実際に座秒データからビットマップのデータ
を作成する処理である。
座標データが直線であるかあるいは曲線であるかを判定
する。対象となる座標データが直線である場合は、その
座標点を直線のスタート点とし、次の座標点を直線のエ
ンド点としてステップS207へ進む。対象となるデー
タが曲線データである場合はその座標点から曲線終了フ
ラグが付されている座標データまでを曲線データとして
ステップS208へ進む。
せる処理を行う。このときの直線発生方法はDDA(デ
ジタル、ディファレンシャル、アルゴリズム)によって
発生させる。
短い直線(ショートベクトル)の集合に変換する処理を
行う。図6に3次ベジェ曲線をショートベクトルの集合
に変換する様子を示している。点A、B、C、Dはステ
ップ202より得られた座標変換後の曲線データ(3次
ベジェ曲線構成点)であり、これらの点からまず点a、
点b、点cを求める。点aは点Aと点Bの中点、点bは
点Bと点Cの中点、点cは点Cと点Dの中点である。そ
して次に点x、点y、点zを求める。点xは点aと点b
の中点、点zは点bと点cの中点、点yは点xと点zの
中点である。そうすると点列Aaxyが新しい1つの3
次ベジェ構成点、そして点列yzcDがもう1つの3次
ベジェ構成点となる。そしてそれぞれのベジェ構成点を
同様な操作で細分化していき、たとえば端点を結ぶ直線
ADとyの距離が1より小さくなった時など、ある判定
基準を満たしたらそのとき細分化を中止する。そしてそ
れまでにできた3次ベジェの構成点列がショートベクト
ルの集合となる。
プS208で求めたショートベクトルの集合に基づいて
打点を行う。この打点の方法はステップS207で示し
方法でまったく同様であり、すべてのショートベクトル
に対して処理を終了するまで繰り返す。図5は直線の打
点およびショートベクトルの打点が終了した時点の様子
を示している。
輪郭の座標データがすべて終了したかどうかを判定し、
処理が終了していればステップS212へ進み、処理が
終了していなければステップS211に進む。
を処理するために現在の座標データへのポインタを更新
する。直線の場合であれば座標データへポインタを更新
し、曲線データであれば曲線の終了座標点までポインタ
を更新する。そしてステップS206に戻って新たに直
線/曲線判定をして打点を行っていく。
べての輪郭データに対して処理を終了したかどうかを判
定し、すべての輪郭に対して処理を終了していればステ
ップS214に進み、処理を終了していなければステッ
プS213に進む。
郭が終了した後なので次の輪郭の先頭にポインタを進め
ステップS206に戻る。
標データに対して平面への打点処理が終了しているの
で、図7に示す様に輪郭の内部を塗りつぶす。
の指定する領域に1文字分のデータを返して処理を終了
する。
ついて説明する。
り出しの対象とする。
0〜9 計62文字 その他記号類、。,.・:;?!
−‘’“”()〔〕[]{}〈〉《》「」『』墨付き括
弧左、墨付き括弧右、空白記号 計33文字合計97文
字
で、以下の情報はじめとするフォント情報がアクセス可
能である。
が何という字種かという情報) 文字領域情報(各文字の文字領域のX、Yの最大、最小
座標) 文字領域に接する線分の属性(曲線か直線か、接してい
る値) 文字制御点数(いくつの制御点で構築されているか)
書体とし、文字幅切り出し情報を書体ごとにファイル出
力する文字幅切り出しプログラムである。作成された文
字幅切り出し情報ファイルは、前述の図2のフローチャ
ートにおけるステップ203内で読み込まれ、図2の他
のステップに影響することなく適用することが可能であ
る。よって、本実施例ではアウトラインデータの処理プ
ロセスは割愛する。
文字幅自動切出しアルゴリズムを説明する。
動の準備作業処理の流れを示した図である。
る(ステップS800)。ここで、フォントに含まれる
情報をもとにして文字幅切り出しを行うフォントである
か否かをCPU101が判断することにより選択するよ
うにしてもよい。次に、ステップS801において、ユ
ーザの指示に基づき文字幅の自動切り出しをするかどう
か(文字を表示、あるいは印刷する際に、固定ピッチの
フォントに対してプロポーショナルで出力するプロポー
ショナル出力モード、あるいは、通常出力モードを選択
できる。)を判定し、切り出しを行う(プロポーション
ナル出力モード)のならステップS802へ進み、しな
い(通常出力モード)のなら切り出し処理を行わない。
つぎに、ステップS802において、すでに文字幅切り
出し情報ファイルがあるかどうかを判定し、ファイルが
なければ切り出しプログラムを実行すべく次のステップ
に進み、ファイルがあれば実行しない。
生成された文字幅切り出し情報ファイルに基づきプロポ
ーショナル出力モードで文字を出力できる。また、切り
出しプログラムを用いて、フォントを作成するためのエ
ディタにも応用できる。
1を逆にしてもよい。
びセリフ系書体にグルーピングする。図9はセリフ系書
体とサンセリフ系書体の例を示す図である。サンセリフ
とは「セリフがない」という意味である。一般にセリフ
系書体は和文明朝体系に用いられ、サンセリフ系書体は
和文ゴシック系書体に用いられる。
ャートを用いて説明する。
S Ox2349「I」に関する制御点数および文字領
域の矩形(以下CharBBoxと呼ぶ)に接する輪郭
文字を構成する線分属性を読み込む。JIS Ox23
49「I」に対するCharBBoxを本実施例におい
てCharBBox(2349)と記述する。以降各文
字に対するCharBBoxをCharBBox(JI
S code)で表現する。
数が12点以上かどうか判定し、12点以上にならステ
ップS1006に進み、12点未満ならステップS10
03へ進む。
11(a)および図11(b)について説明する図11
(a)はCharBBoxを示す図である。この矩形は
アウトラインデータを包含する最小のものでなければな
らない。データとしては、矩形の左下の座標値(Xmi
n、Ymin)および右上の座標値(Xmax、Yma
x)の4つの数値で保持される。
系書体のアウトラインデータの輪郭および制御点を表し
た図である。図11(b)に示したとおり、通常のセリ
フ系書体の制御点数は最小で12点であると考えられ
る。また、通常のサンセリフ系書体の制御点数は4点で
あると考えられる。以上の特徴より、ステップS100
2によって、セリフ系、サンセリフ系書体の判定が可能
である。
arBBox(2349)のx座標Xmin(234
9)(Xmax(2349)でもよい)に接する文字輪
郭合計長さを計算し、SUMとして次のステップS10
04に進む。
harBBox(2349)の高さ即ち(Ymax(2
349)−Ymin(2349))の1/2未満かどう
かを判定し、1/2未満ならステップ1006へ進み、
そうでないならステップS1005へ進む。
11(c)について説明する。
郭を示した図である。ステップS1004で計算される
値SUMは図11(c)の(A+B)にあたる。通常の
セリフ系書体で、(A+B)の長さはCharBBox
(2349)の高さ(Ymax(2349)−Ymin
(2349))の1/2から1/3以下である。また、
通常のサンセリフ系書体は輪郭はCharBBox(2
349)の全面に接している。以上の特徴により、ステ
ップS1004によって、セリフ系、サンセリフ系書体
の判定が可能である。
行う書体のデザインを表すデザインフラグDを1(=
“サンセリフ”)に設定して次のステップに進む。
行う書体のデザインを表すデザインフラグDを2(=
“セルフ”)に設定して次のステップに進む。
角、1/4角などの文字幅を持つ文字とに分類される。
アルファベットは前者、その他記号類は後者に該当す
る。本実施例では、まずアルファベットについて文字幅
の切り出しを行うこととする。
り出しの基準となる文字を「H」、「O」「n」「o」
の4文字に設定し、対応する参照番号refをJISO
x2348「H」=1、JISOx234f「O」=
2、JISOx236e「n」=3、JISOx236
f「o」=4と定義する。これらの文字の基準サイドベ
アリング値を決定する。各基準サイドベアリング値はB
(ref、D)で定義され、それぞれの文字のChar
BBoxの横幅(Xmax−Xmin)に依存した値で
与えられる。
合にアルファベットがどのように配置されるかを示した
図である。それに対して、図12(b)は、文字幅の切
り出しを行った場合の文字配置を示している。この図1
2(b)を用いて、文字幅切り出しに必要な変数につい
て説明する。ここで、図中の網線で示された矩形は図1
1において説明したCharBBoxを示している。
ng point)はCharBBoxの左側に定義さ
れた余白部分のx方向の長さである。
ing Point)はCharBBoxの右側に定義
された余白部分のx方向の長さである。
下の式で計算される。
ffsetと定義し、以下の式で計算される。
固定幅で配置していた文字が、図12(b)のようにL
SB、RSBおよびoffsetが計算されることによ
り、組版上美しいレイアウトで文字を配置することが可
能になる。
うための変数LSBおよびRSBと文字の配置を決める
offsetを計算することにより、組版上美しいレイ
アウトで文字配置を行おうとするものである。
法の流れについて図13のフローチャートを用いて説明
する。
ステップである。iは、参照文字のためのカウンタ、c
ode=Ox2341は、アルファベツト大文字の
「A」を示す。
ベアリング値の計算が終了したかどうかを判定し、終了
していればステップS1306へ進み、終了していなけ
ればステップS1303へ進む。
参照番号iのCharBBox(iのJIScode)
を読み込む。
図16によって定義されているアルファベツト基準サイ
ドベアリング係数表a(ref、D)を読み込み、ステ
ップS1303において読み込まれたCharBBox
より得られるXmaxおよびXminを用いることによ
り、基準サイドベアリング値B(i、D)が以下の式で
算出される。
(iのJIScode)−Xmin(iのJIScod
e))
字を参照するためのカウンタを1増加する。
サイドベアリング値が求められる。
イドベアリング値を求める処理を示したものである。
ットの切り出しが終了したかどうかを判定し、終了して
いればアルファベットの文字幅切り出し処理を終了し、
終了していなければステップS1307へ進む。
基準文字を示しているかどうかを判定し、示していたら
ステップS1309へ進み、示していなかったらステッ
プS1308へ進む。
SB(code)、RSB(code)、文字切り出し
幅およびoffsetが以下の式で算出される。
side)*B(ref(code)、D) RSB(code)=c(code、D、side)*
B(ref(code)、D) 切り出し幅(code)=LSB(code)+(Xm
ax(code)−Xmin(code))+RSB
(code) offset=Xmin(code)−LSB(cod
e)
文字のサイドベアリング値をもとにした基準文字以外の
サイドベアリング値計算テーブルを表す。sideはL
SBあるいはRSBを示すフラグである。切り出しは幅
はcより該当する値とBより該当する基準サイドベアリ
ング値の積によって算出されたLSBおよびRSBとそ
の文字のCharBBoxの横幅の和によって与えられ
ることになる。
次のJiscodeに変える。
切り出し情報を新しいフォントデータとしてハードディ
スク111、フロッピーディスク111のファイルに出
力する。
り出しは半角あるいは1/4角のいずれかとなるのが通
常である。そして、そのなかに記号のパターンを適切な
位置に埋め込む形になる。図16は記号の文字幅切り出
し表である。
は以下の情報を保有している。
5、1/4角を0.25として示しているが、実際のデ
ータは各々半角、1/4角分の大きさを示す座標値が格
納されている。つまり、この(1)の値が基本的にはそ
の記号の切り出し幅となる。
れた切り出し幅のどの位置に記号を埋め込むかを決定す
るため、LSBとRSBの比率をLSBに対するRSB
の割合という形で定義し、表に格納している。よって、
記号のLSBおよびRSBは図16中の項目を用いると
以下の式によって決定される。
幅)−(Xmax(code)−Xmin(cod
e))}* (1/(1+SB比率)) RSB(code)=(標準切り出し幅)−{LSB
(code)+(Xmax(code)−Xmin(c
ode))}
大きすぎて、与えられた切り出し幅からパターンがはみ
だしたりして適切なサイドベアリング値が確保できない
場合がある。この場合は(3)の最小許容サイドベアリ
ング値を採用する。
を図17のフローチャートを用いて説明する。
ステップである。code=Ox2121はスペースを
示す。
出し計算が終了したかどうかを判定し、終了していれば
ステップS1711に進み、終了していなければステッ
プS1703へ進む。
文字コードが切り出しをする文字かどうかを判定し、も
しそうならステップS1704へ進み、そうでないなら
ステップS1710へ進む。
納された最小許容LSBおよび最小許容RSBを用いた
ときの切り出し幅W(code)を以下の式によって計
算する。
e、D)+最小許容RSB(code、D)+(Xma
x(code)−xmin(code))
1704で算出された切り出し幅Wが図16における標
準切り出し幅より大きいかどうか判定し、大きければス
テップS1706へ進み、大きくなければステップS1
707へ進む。
し幅を用いる際のLSB、RSBおよびoffsetが
以下の式によって求められる。
−(Xmax(code)−Xmin(code))*
(1/(1+SB比率)) RSB(code)=(標準切り出し幅)−(LSB
(code)+(Xmax(code)−Xmin(c
ode))) offset=Xmin(code)−LSB(cod
e)
し幅とする場合、切り出しの対象となっている記号が数
字がどうかを判定し、数字でなければステップS170
8へ進み、数字ならステップS1709へ進む。
1704において求められた切り出し幅W(code)
と図16の表によって定義された最小許容LSB(co
de、D)および最小許容RSB(code、D)の採
用が決定され、offsetが以下の式で計算される。
SB(code)
る切り出し処理を行う。数字処理の詳細は図20のフロ
ーチャートによって説明する。
次のcodeにかえる。
切り出し情報をファイル出力する。
9の数字処理の動作を示すフローチャートである。
Ox2330(「O」)であるかどうかを判定し、Ox
2330ならばステップS1802へ進み、そうでなけ
ればステップS1803へ進む。
し幅maxを初期化する。
したかどうかを判定し、終了していればステップS18
06へ進み、終了していなければステップS1805へ
進む。
切り出し幅がmaxより大きいかどうか判断し、大きけ
ればステップS1805へ進み、そうでなければ図17
の処理へ戻る。
最大切り出し幅maxとする。
字共通の切り出し幅Wとして再計算するための初期設定
を行う。
了したかどうかを判断し、終了していれば図17の処理
へ戻り、終了していなければステップS1808へ進
む。
切り出し幅Wに対する各々のLSB(code)および
RSB(code)を計算する。
次のcodeにかえる。
切り出しが行われる。図19はこれらのアルゴリズムに
より文字幅切り出しが行われたサンプルである。
幅を持たない文字記号に適切な切り出し幅を与えること
が可能となり、組版上美しいレイアウトで文字出力(表
示or印刷)が可能になる。
り出し情報を書体ごとあらかじめ計算しファイル格納
し、印字の際は切り出し情報ファイルをアクセスするこ
とにより文字幅切り出しを実現していた。本実施例で
は、1文字ごとに文字幅切り出しを行う方法について図
20および図21を用いて説明する。
チャートを簡略化したものである。
1、S2002は実施例1における項目Oにおいて示さ
れた文字幅切り出し準備処理を表す。
1における項目1において示され書体判定処理を表す。
4、S2005、S2006、S2007は実施例1に
おける項目2において示されアルファベットの文字幅切
り出しの処理を表す。
幅切り出し情報のファイル出力を示す。
9、S2010、S2011は実施例1における項目3
において示される記号の文字幅切り出し処理を表す。
し情報のファイル出力を示す。
で示したものである。本実施例は実施例1と異なり、文
字情報が入力される毎に行われる処理を示すものであ
る。
とする文字情報が読み込まれるステップである。
た文字が切り出し対象かどうかを判定し、対象ならステ
ップS2103へ進み、対象でなければ切り出し処理を
終了する。
行うかどうかを判定し、行うならステップS2104へ
進み、行わないのなら切り出し処理を終了する。このス
テップは図20におけるステップS2001に対応して
いる。
るステップS2002に対応する書体判定および図20
におけるステップS2003内の基準サイドベアリング
値計算と同様の基準値計算処理を行う。
文字がアルファベットか記号か判定し、アルファベット
ならステップS2106に進み、記号ならステップS2
107へ進む。
ップS2003内の処理と同様のアルファベット文字幅
切り出し処理を示している。
ップS2005内の処理と同様の記号の文字幅切り出し
処理を示している。
を反映した文字をCRT109あるいはPRT113に
出力する。
出し処理を行うことにより、文字幅切り出し情報ファイ
ルを有することなく文字幅切り出しを行うことが可能で
あり、実施例1に比べ少ないメモリ量で同様の効果を得
ることができる。
トマップフォントについて文字幅切り出しを行う。
理によりスケーリングされ、ビットマップデータに変換
されて印字される。本実施例における文字幅切り出しは
図2におけるステップ215の後処理として行うことが
可能である。すなわち、ビットマップフォントに限ら
ず、印字する際にビットマップデータに変換するすべて
のフォントフォーマットに対して有効である。
判定の処理を示したものである。また、図23(a)
は、ビットマップフォントにおけるCharBBox、
LSB、RSB、切り出し幅Wおよびoffsetを示
した図である。ビットマップにおける座標系は、ドット
の間に座標値を持つこととする。このように定義するこ
とによって、座標値1目盛りを1ドットとすれば実施例
1において説明したアルゴリズムと同様の処理方法にお
いて実現可能である。そこで、本実施例では、実施例1
と比較してデータ形式の違いから生じる処理の相違につ
いて図22を用いて説明する。具体的には、実施例1に
おける項目1の書体判定との相違は、ビットマップデー
タを扱うことによって制御点数から書体を判定できなく
なった点にある。
x2349「I」のビットマップ情報を読み込む。サイ
ズについては規定を受けないが、本実施例ではある基準
値を設定して書体判定を行うこととする。
おけるCharBBoxのy方向の境界線に接するドッ
ト数をSUMとする。図23(b)におけるA+Bのド
ット数の合計がSUMとなる。
harBBoxを構成するy方向のドット数の1/2未
満かどうかを判定し、1/2未満ならステップS220
5へ進み、1/2以上ならステップS2204へ進む。
施例1と同様の書体判別フラグ設定を行うステップであ
る。
り出しは、図22における書体判定アリゴリズムの変更
点以外はアウトラインフォントの文字幅切り出しアルゴ
リズムと同様の処理方法で切り出しを実現する。
力について説明したが、多値(カラー、グレイスケー
ル)フォントについても同様な効果が得られることはい
うまでもない。
トライン形式およびビットマップ形式を入力として説明
したが、実施例2の文中でも説明したとおり、ストロー
クフォント等どのようなデータ形式のフォントについて
も同様な効果が得られることはいうまでもない。
置においてあてはまるものであり、製品についての形態
は何等限定されない。
グラムを記憶させていたが、HD、FDD111等に記
憶させておき、RAMにロードしてからプログラムに係
る制御を行うことができる。
装置および方法によれば、和文書体中の欧文および記号
の各々の文字に合わせた文字幅を提供することが可能と
なり、組版上美しいレイアウトで出力することが可能と
なる。
ロック図である。
示すフローチャートを示す図である。
す図である。
す図である。
変換を示す図である。
の流れを示す図である。
である。
フ系書体のアウトラインデータの輪郭および制御点、及
びCharBBoxと文字輪郭を示した図である。
し情報を加えた場合の文字配置と変数の名称説明を示す
図である。
を示すフローチャートを示す図である。
を示す図である。
示す図である。
示すフローチャートを示す図である。
図である。
トを示す図である。
図である。
示すフローチャートを示す図である。
す図、ビットマップデータにおける書体判定を示す図で
ある。
Claims (18)
- 【請求項1】 文字幅の自動切り出しを行うか否かを判
定する第1判定手段と、 前記第1判定手段により切り出しを行うと判定された場
合、文字幅切り出し情報ファイルがあるか判定する第2
判定手段と、 前記第2判定手段によりファイルがないと判定された場
合、切り出し幅を計算する計算手段と、 前記計算手段により計算された切り出し幅をフォントデ
ータとしてファイルに出力する出力手段とを有し、 前記計算手段は、アルファベットと記号とで異なる処理
を行い、切り出し幅を計算することを特徴とする文字処
理装置。 - 【請求項2】 前記文字幅切り出し情報ファイルに基づ
き文字を出力する文字出力手段を有することを特徴とす
る請求項1記載の文字処理装置。 - 【請求項3】 文字幅の自動切り出しを行うか否かを判
定する第1判定手段と、 前記第1判定手段により切り出しを行うと判定された場
合、文字幅切り出し情報ファイルがあるか判定する第2
判定手段と、 前記第2判定手段によりファイルがないと判定された場
合、切り出し幅を計算する計算手段と、 前記計算手段により計算された切り出し幅をフォントデ
ータとしてファイルに出力する出力手段と、 サイドベアリング値係数表と文字領域の横幅とに基づき
基準サイドベアリング値を算出する算出手段とを有し、 前記切り出し幅は、算出された基準サイドベアリング値
と基準文字以外のサイドベアリング値計算テーブルとに
基づき算出した文字の左右の余白、及び文字領域の横幅
に基づき計算することを特徴とする文字処理装置。 - 【請求項4】 書体を判定する書体判定手段とを有し、 前記算出手段は、サイドベアリング値係数表から読み出
された判定された書体の値と文字領域の横幅とに基づき
基準サイドベアリング値を算出することを特徴とする請
求項3記載の文字処理装置。 - 【請求項5】 前記書体判定手段は、制御点数が所定数
以上である場合、セリフ系書体と判定し、所定数以上で
ない場合、サンセリフ系書体と判定することを特徴とす
る請求項4記載の文字処理装置。 - 【請求項6】 前記書体判定手段は、文字領域の縦方向
の境界線に接するドット数が文字領域の縦方向を構成す
るドット数の所定割合未満である場合、セリフ系書体を
判定し、所定割合未満でない場合、サンセリフ系書体と
判定することを特徴とする請求項4記載の文字処理装
置。 - 【請求項7】 サイドベアリング値係数表と文字領域の
横幅とに基づき基準サイドベアリング値を算出する算出
手段と、 前記算出手段により算出された基準サイドベアリング値
と基準文字以外のサイドベアリング値計算テーブルとに
基づき算出した文字の左右の余白、及び文字領域の横幅
に基づき計算する計算手段とを有することを特徴とする
文字処理装置。 - 【請求項8】 文字幅の自動切り出しを行うか否かを判
定する第1判定ステップと、 前記第1判定ステップにより切り出しを行うと判定され
た場合、文字幅切り出し情報ファイルがあるか判定する
第2判定ステップと、 前記第2判定ステップによりファイルがないと判定され
た場合、切り出し幅を計算する計算ステップと、 前記計算ステップにより計算された切り出し幅をフォン
トデータとしてファイルに出力する出力ステップとを有
し、 前記計算ステップは、アルファベットと記号とで異なる
処理を行い、切り出し幅を計算することを特徴とする文
字処理方法。 - 【請求項9】 前記文字幅切り出し情報ファイルに基づ
き文字を出力する文字出力ステップを有することを特徴
とする請求項8記載の文字処理方法。 - 【請求項10】 文字幅の自動切り出しを行うか否かを
判定する第1判定ステップと、 前記第1判定ステップにより切り出しを行うと判定され
た場合、文字幅切り出し情報ファイルがあるか判定する
第2判定ステップと、 前記第2判定ステップによりファイルがないと判定され
た場合、切り出し幅を計算する計算ステップと、 前記計算ステップにより計算された切り出し幅をフォン
トデータとしてファイルに出力する出力ステップと、 サイドベアリング値係数表と文字領域の横幅とに基づき
基準サイドベアリング値を算出する算出ステップとを有
し、 前記切り出し幅は、算出された基準サイドベアリング値
と基準文字以外のサイドベアリング値計算テーブルとに
基づき算出した文字の左右の余白、及び文字領域の横幅
に基づき計算することを特徴とする文字処理方法。 - 【請求項11】 書体を判定する書体判定ステップを有
し、 前記算出ステップは、サイドベアリング値係数表から読
み出された判定された書体の値と文字領域の横幅とに基
づき基準サイドベアリング値を算出することを特徴とす
る請求項10記載の文字処理方法。 - 【請求項12】 前記書体判定ステップは、制御点数が
所定数以上である場合、セリフ系書体と判定し、所定数
以上でない場合、サンセリフ系書体と判定することを特
徴とする請求項11記載の文字処理方法。 - 【請求項13】 前記書体判定ステップは、文字領域の
縦方向の境界線に接するドット数が文字領域の縦方向を
構成するドット数の所定割合未満である場合、セリフ系
書体を判定し、所定割合未満でない場合、サンセリフ系
書体と判定することを特徴とする請求項11記載の文字
処理方法。 - 【請求項14】 サイドベアリング値係数表と文字領域
の横幅とに基づき基準サイドベアリング値を算出する算
出ステップと、 前記算出ステップにより算出された基準サイドベアリン
グ値と基準文字以外のサイドベアリング値計算テーブル
とに基づき算出した文字の左右の余白、及び文字領域の
横幅に基づき計算する計算ステップとを有することを特
徴とする文字処理方法。 - 【請求項15】 セリフ系書体のサイドベアリング情報
とサンセリフ系書体のサイドベアリング情報とを記憶す
る記憶手段と、 対象書体がセリフ系書体であるかサンセルフ系書体であ
るかを判別する判別手段と、 前記判別手段によりセリフ系書体であると判別された場
合、前記記憶手段のセリフ系書体のサイドベアリング情
報に基づき切り出し幅を計算し、前記判別手段によりサ
ンセリフ系書体であると判別された場合、前記記憶手段
のサンセリフ系書体のサイドベアリング情報に基づき切
り出し幅を計算する計算手段と、 前記計算手段により計算された切り出し幅に基づき文字
を出力する出力手段とを有することを特徴とする文字処
理装置。 - 【請求項16】 前記計算手段は、アルファベットと記
号とで異なる処理を行い、切り出し幅を計算することを
特徴とする請求項15記載の文字処理装置。 - 【請求項17】 セリフ系書体のサイドベアリング情報
とサンセリフ系書体のサイドベアリング情報とを記憶す
る記憶手段を利用する文字処理方法であって、 対象書体がセリフ系書体であるかサンセルフ系書体であ
るかを判別する判別ステップと、 前記判別ステップによりセリフ系書体であると判別され
た場合、前記記憶手段のセリフ系書体のサイドベアリン
グ情報に基づき切り出し幅を計算し、前記判別ステップ
によりサンセリフ系書体であると判別された場合、前記
記憶手段のサンセリフ系書体のサイドベアリング情報に
基づき切り出し幅を計算する計算ステップと、 前記計算ステップにより計算された切り出し幅に基づき
文字を出力する出力ステップとを有することを特徴とす
る文字処理方法。 - 【請求項18】 前記計算ステップは、アルファベット
と記号とで異なる処理を行い、切り出し幅を計算するこ
とを特徴とする請求項17記載の文字処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26705494A JP3461210B2 (ja) | 1994-10-31 | 1994-10-31 | 文字処理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26705494A JP3461210B2 (ja) | 1994-10-31 | 1994-10-31 | 文字処理装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08129373A JPH08129373A (ja) | 1996-05-21 |
JP3461210B2 true JP3461210B2 (ja) | 2003-10-27 |
Family
ID=17439405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26705494A Expired - Fee Related JP3461210B2 (ja) | 1994-10-31 | 1994-10-31 | 文字処理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3461210B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986289B (zh) * | 2010-11-03 | 2014-08-13 | 中兴通讯股份有限公司 | 一种提高浏览器页面渲染速度的方法和装置 |
-
1994
- 1994-10-31 JP JP26705494A patent/JP3461210B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08129373A (ja) | 1996-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678410B1 (en) | Generating a glyph | |
JP4124494B2 (ja) | 置換コンピュータ字体の供給方法及び装置 | |
US5416898A (en) | Apparatus and method for generating textual lines layouts | |
JP4418044B2 (ja) | デジタルフォントにおけるキャラクタを表示する方法、デジタルフォントのキャラクタを画定する方法、及びデジタルフォントにおけるキャラクタを発生する方法 | |
CA2421478C (en) | Method for selecting a font | |
KR930004439B1 (ko) | 문자사이즈에 의해 복수종의 아우트라인 폰트를 사용하는 문서작성장치 | |
US5233685A (en) | Method and apparatus for integrated graphical and textual character printing | |
US5579030A (en) | Method and apparatus for display of text on screens | |
US6614432B1 (en) | Image rendering technique | |
KR20160019502A (ko) | 동적 팔레트를 갖는 적층식 z 순서의 힌팅된 컬러 폰트 | |
JP3461210B2 (ja) | 文字処理装置及び方法 | |
JP2919712B2 (ja) | 文字発生方法および装置 | |
EP1048456B1 (en) | Generating a glyph | |
JP2773691B2 (ja) | プリンタ装置 | |
JP3571948B2 (ja) | 高品位文字発生装置、高品位文字発生方法および記憶媒体 | |
André et al. | An introduction to digital type | |
JP3035418B2 (ja) | 文字印字方法とその印字装置 | |
JPS6370890A (ja) | 図形処理装置 | |
JP2580965B2 (ja) | プリンタ装置 | |
JP3268160B2 (ja) | 文字パターン発生装置 | |
JP3513301B2 (ja) | 文字発生装置およびその文字発生方法 | |
JP3320566B2 (ja) | 文字記号変換装置、及びプリンタ | |
JPH06230766A (ja) | フォント作成システム | |
Banjanin et al. | Font hinting techniques and the importance of applying these techniques for high-quality display of fonts on the output device screen | |
JPH08297482A (ja) | 文字処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030729 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070815 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100815 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |