JPH07172021A - 文字のレイアウト方法 - Google Patents

文字のレイアウト方法

Info

Publication number
JPH07172021A
JPH07172021A JP5105093A JP5105093A JPH07172021A JP H07172021 A JPH07172021 A JP H07172021A JP 5105093 A JP5105093 A JP 5105093A JP 5105093 A JP5105093 A JP 5105093A JP H07172021 A JPH07172021 A JP H07172021A
Authority
JP
Japan
Prior art keywords
character
area
line
width
length
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.)
Withdrawn
Application number
JP5105093A
Other languages
English (en)
Inventor
Shinji Kobayashi
伸次 小林
Naoki Nakamura
直喜 中村
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.)
Hitachi Printing Co Ltd
Original Assignee
Hitachi Printing Co Ltd
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 Hitachi Printing Co Ltd filed Critical Hitachi Printing Co Ltd
Priority to JP5105093A priority Critical patent/JPH07172021A/ja
Publication of JPH07172021A publication Critical patent/JPH07172021A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Character Spaces And Line Spaces In Printers (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【目的】行末揃えを行ないながら、文字の間隔が視覚的
にほぼ均一なように文字を配置することができる。 【構成】文字コード・字形データを有する文字データフ
ァイル1が与えられると、ソフトウエア2により、ファ
イル1の各文字に対して、予め指定された文字の部分領
域内の黒ドット数から決定される文字の濃さに基づいた
スペース情報を有する文字データファイル3を作成す
る。文書コードファイル4を与えられると、ファイル4
の文字コードによりファイル3の文字データを読みだ
し、文書データ5を作成する。このとき、前記スペース
情報から隣接する文字間の空き面積を求め、この空き面
積の大きさの平均値および標準偏差に基づいて、文字間
の空き面積を修正する。さらに、各行に出力すべき文字
を決定し、各行の行末が揃うように文字の修正空き面積
を補正し、補正された面積に基づいて文字の配置を決定
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、文字を印字する際に、
文字に幅を与えて印字する、プロポーショナル スペー
シング印字法に関するものである。
【0002】
【従来の技術】従来、文字を出力(印字等)する際に、
文字の間隔(互いに隣接する文字同士の間の空白部分)
は、ユーザによりコマンド等で設定(ピッチ幅の設定)
された間隔で出力する技術があった。
【0003】また、文字を出力する際に、文字の間隔を
自動的に設定する方法として、特開昭63ー45077
に記載の技術等がある。
【0004】特開昭63ー45077に記載の技術は、
各文字に対して、左右の文字との間隔を定めておき、こ
の間隔により文字を出力する。
【0005】
【発明が解決しようとする課題】上記の、ユーザにより
コマンド等で設定(ピッチ幅の設定)された間隔で印字
する技術によれば、“I”のように細長い文字に対して
も、“M”ような幅広い文字に対しても、同一の文字間
隔が設定されてしまう。このため、たとえば、“III
III”と“MMMMMM”とのように、前者は間延び
した印象を与え、後者はゴミゴミした印象を与えてしま
う。
【0006】また、特開昭63ー45077に記載の技
術は、上記のような問題点を回避することはできるが、
どのような基準により、各文字に対して左右の文字との
間隔を定めるかを開示していない。
【0007】上記問題点を考慮して、本発明は、各文字
に対して左右の文字との間隔を定めるための方法を提供
することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
に本発明によれば、少なくともドット・マトリックスに
よって表される文字の形状に関するデータを格納した文
字データと、この文字データの各々に対し隣接する文字
との間のスペースに関するスペース情報とを有し、与え
られた出力すべき文字の情報に基づいて文字データおよ
びスペース情報を読みだして、文字データおよびスペー
ス情報に従って、文字を出力する際の文字のレイアウト
方法において、文字の少なくとも部分領域を予め指定さ
れ、この部分領域内の黒ドット数から決定される文字の
濃さに基づいて、スペース情報を決定することができ
る。
【0009】また、少なくとも記憶装置、入力装置、出
力装置、制御装置および演算装置を備え、少なくともド
ット・マトリックスによって表される文字の形状に関す
るデータを格納した文字データと、この文字データの各
々に対し隣接する文字との間のスペースに関するスペー
ス情報とを記憶装置に有し、入力装置から与えられた出
力すべき文字の情報に基づいて制御装置により文字デー
タおよびスペース情報を読みだして、文字データおよび
スペース情報に従って、文字を出力装置に出力する際の
文字のレイアウト支援システムにおいて、文字の少なく
とも部分領域を予め指定され、この部分領域内の黒ドッ
ト数から決定される文字の濃さに基づいて、スペース情
報を決定することもできる。
【0010】さらに、文字の濃さを、 文字の濃さ=−1×log(1−文字の部分領域内の黒
ドット数/文字の部分領域内の全ドット数×(1−(1
0の−2.5乗)) として決定することもできる。
【0011】さらに、少なくともドット・マトリックス
によって表される文字の形状に関するデータを格納した
文字データと、前記文字データの各々に対し隣接する文
字との間のスペースに関するスペース情報と、出力すべ
き文字列情報を含む文書に関する情報を与えられると、
文書中の各々の文字に対するスペース情報から、文書中
の予め定められた単位毎に各々の文字に対して隣接する
文字との間のスペースと、少なくとも文字の1部の領域
の文字を構成しないドット数とを含む空き面積を求め、
各々の文字に対する空き面積の大きさの平均値および標
準偏差を算出し、平均値および標準偏差に基づいて空き
面積の上限値を算出し、各々の文字に対する空き面積と
上限値とを比較して、上限値を超える空き面積を有する
文字に対して、予め定められた値を空き面積として与え
て修正空き面積とし修正空き面積に基づいて各文字の文
字幅を決定し、文書を出力する際の1行の長さを指定さ
れると、前記文字幅に基づいて文書中の各行に出力すべ
き文字を決定し、各行に出力すべき文字の文字幅から各
行の長さを算出し、算出された各行の長さと指定された
1行の長さとを比較して、比較の結果に基づいて、各行
の行末が揃うように、各行に出力すべき文字に対する修
正空き面積及び文字幅を補正して、補正された空き面積
及び文字幅に基づいて文字の配置を決定することもでき
る。
【0012】さらに、算出された各行の長さと指定され
た1行の長さとを比較し、算出された行の長さが指定さ
れた1行の長さよりも短い場合には、この行中にある修
正空き面積の小さい文字から順に文字幅に予め定められ
た長さを加算して文字幅を補正し、該文字幅に基づいて
文字の修正空き面積を補正し、算出された行の長さが指
定された1行の長さよりも長い場合には、この行中にあ
る修正空き面積の大きい文字から順に文字幅から予め定
められた長さを減算して文字幅を補正し、該文字幅に基
づいて文字の修正空き面積を補正することもできる。
【0013】
【作用】まず、印字可能な文字全てについての文字コー
ド、文字の字形データが格納された文字データファイル
が与えられると、プログラム(プロポーショナルデータ
作成ソフトウエア)により、文字データファイルに格納
された各文字に対して、予め指定された文字の部分領域
内の黒ドット数から決定される文字の濃さに基づいて、
スペース情報(文字を出力する際の位置に関する情報。
後述する。)を盛り込んだ文字データファイルを作成す
る。
【0014】文字の濃さは、 文字の濃さ=−1×log(1−文字の部分領域内の黒
ドット数/文字の部分領域内の全ドット数×(1−(1
0の−2.5乗)) として決定する。
【0015】文書を印字する場合には、印字すべき文書
の文字コードを格納した文書コードファイルを与えられ
て、この文書コードファイルに格納された文字コードに
より、文字データファイルの文字データを読みだし、文
書データを作成する。
【0016】この文書データの作成においては、まず、
文書コードファイル中の各々の文字に対するスペース情
報から、文書中の各々の文字に対して隣接する文字との
間のスペースと、少なくとも文字の1部の領域の文字を
構成しないドット数とを含む空き面積を求める。
【0017】次に、予め定められた単位(文書全体、文
書中の頁、あるいは、段落)毎に、各々の文字に対する
空き面積の大きさの平均値および標準偏差を算出し、こ
の平均値および標準偏差に基づいて空き面積の上限値を
算出する。各々の文字に対する空き面積と上限値とを比
較して、上限値を超える空き面積を有する文字に対し
て、予め定められた値を空き面積として与えて修正空き
面積とし、この修正空き面積に基づいて文字幅を修正す
ることにより、極端に文字間の間隔が大きい部分を無く
すことができる。
【0018】文書を出力する際の1行の長さを指定され
ると、各文字の文字幅に基づいて文書中の各行に出力す
べき文字を決定し、各行に出力すべき文字の文字幅から
各行の長さを算出する。
【0019】ここで、算出された各行の長さと指定され
た1行の長さとを比較して、算出された行の長さが指定
された1行の長さよりも短い場合には、この行中にある
修正空き面積の小さい文字から順に文字の文字幅に予め
定められた長さを加算して、行中にある文字の文字幅の
総和が前記指定された1行の長さにより近くなるように
文字幅を補正し、該文字幅に基づいて文字の修正空き面
積を補正する。
【0020】算出された行の長さが指定された1行の長
さよりも長い場合には、この行中にある修正空き面積の
大きい文字から順に文字の文字幅から予め定められた長
さを減算して、行中にある文字の文字幅の総和が前記指
定された1行の長さにより近くなるように文字幅を補正
し、該文字幅に基づいて文字の修正空き面積を補正す
る。
【0021】以上のように、各行の行末が揃うように各
行に出力すべき文字に対する修正空き面積及び文字幅を
補正し、補正された空き面積及び文字幅に基づいて文字
の配置を決定する。
【0022】以上のように作成された文書データは、プ
ロポーショナル印字ソフトウエアのプログラムを実行す
ることにより、プリンタ等の出力装置に印字(出力)さ
れる。
【0023】
【実施例】図1に、文字を印字する場合の処理の、大ま
かな流れを示す。
【0024】まず、印字可能な文字全てについて、各々
文字情報として、文字コード、文字の字形データが格納
された、文字データファイル1が与えられる。
【0025】次に、プロポーショナルデータ作成ソフト
ウエア2により、前記文字データファイル1の各文字情
報に対して、図2に示すような情報(文字を出力する際
の位置に関する情報。後述する。)を盛り込んだ文字デ
ータファイル3を作成する。
【0026】文書を印字する場合には、図1において、
印字すべき文書の文字コードを格納した文書コードファ
イル4を与えられて、文書コードファイル4に格納され
た文字コードにより、文字データファイル3の文字デー
タを読みだし、文書データ5を作成する。この文書デー
タ5は、プロポーショナル印字ソフトウエア6のプログ
ラムを実行することにより、プリンタ等の出力装置7に
印字(出力)される。
【0027】上記の図2に使用される名称について、文
字コード、バージョン、レビジョン、ベース位置、字形
データ(黒ドットデータ)は、当業者により通常使用さ
れる意味と同様であるので説明しない。プロポーショナ
ル・データ(レフト・サイド・ベアリング、文字幅、ア
ップ・サイド・ベアリング)については、図3および図
4を参照されたい。空き幅、空き面積の設定の方法には
特徴があるため、後述する。
【0028】以下、空き面積について説明する。空き面
積は、上下左右について考えられるが、ここでは、簡単
のため、左空き面積について説明する。しかし、上下あ
るいは右空き面積についついても同様に考えることがで
きる。左空き面積は、図4の斜線部分で示される領域2
000であり、予め空き面積参照幅2100を与えら
れ、さらに、プロポーショナルデータを作成する際に空
き幅2200を算出されて決定される。
【0029】図5は、上記、空き幅および空き面積を盛
り込んだプロポーショナル・データ(1文字分)を作成
する処理の、概略を示すフローチャートである。
【0030】まず、ステップ1000において、各文字
に対し、黒ドットの水平方向および垂直方向の始・終点
の位置、水平方向および垂直方向の黒ドット数を、テー
ブル(図示せず)に格納する。このテーブル内に格納さ
れる値の具体例を、図6に示す。
【0031】次に、ステップ1100において上下左右
の空き幅をそれぞれ算出し、さらに、ステップ1200
において上下左右の空き面積をそれぞれ算出する。
【0032】最後に、ステップ1300において、レフ
ト・サイド・ベアリング、文字幅(縦・横)、アップ・
サイド・ベアリングに関するデータを作成して、1文字
分のプロポーショナル・データの作成を終了する。
【0033】上記図5のステップ1000の処理を、図
7を用いて詳細に説明する。
【0034】まず、ステップ110において初期設定を
行なう。具体的には、空き幅、空き面積を格納するため
のテーブルに“0”を設定(クリア)し、始点位置テー
ブルにボディサイズを、終点位置テーブルに“0”を設
定する。また、黒ドット数テーブルをクリアし、水平/
垂直方向最大値に“0”を、水平/垂直方向最小値にボ
ディサイズ(あるいは、ボディサイズ以上の数値)を設
定する(テーブル類は図示せず)。なお、図6において
はボディサイズは64であるが、汎用性を持たせるため
に255を設定している。
【0035】次にステップ120からステップ140
で、ボディサイズ内の各ドット(この座標位置を、垂直
カウンタおよび水平カウンタで指示する)が黒ドットで
あるか否かを調べ、黒ドットである場合には、ステップ
150において、黒ドット数テーブル、始点位置テーブ
ルおよび終点位置テーブルの値を更新する。
【0036】以下、図5のステップ1100の処理のう
ちの、左右の空き幅の設定処理を、図8を用いて詳細に
説明する。上下の空き幅の設定処理も、同様に考えるこ
とができる。
【0037】まず、参照幅内の黒ドット数テーブルの値
を加算して、黒ドット数を求める(ステップ160)。
次に、 面積比=黒ドット数/(参照幅×実文字幅) として、面積比を求める(ステップ170)。
【0038】さらに、
【0039】
【数1】
【0040】により、文字の濃さを求める(ステップ1
80)。
【数1】は、印刷紙面の濃さ
【0041】を評価するために用いられるマーレー・デ
ービスの式(
【数2】)
【0042】
【数2】
【0043】を、変形したものである。このマーレー・
デービスの式は、印刷紙面の濃さを評価するための式と
して知られているが、本発明においては、文字の濃さを
評価するために用いる。
【0044】さらに、文字が漢字であるか否かを判定し
(ステップ190)、漢字である場合には漢字用の係数
を(ステップ200)、それ以外である場合には英数字
用の係数を(ステップ210)設定する。このとき、漢
字用の係数を英数字用の係数より大きく設定することに
より、図9に示すように、和文と英文とが混植されてい
る場合にもバランスよく印字することができる。
【0045】さらに、漢字用の係数および英数字用の係
数の各々において係数の大きさに段階を設け、外部より
指定できるようにしてもよい。たとえば、図10におい
ては、英数字用の係数に3つの段階(タイト、ノーマ
ル、ルーズ)を設けて印字した場合の印字例を示してい
る。
【0046】次に、この係数を用いて、空き幅を次式の
ように設定する(ステップ220)。 空き幅=文字の濃さ×参照幅×実文字幅×係数。
【0047】以下、図5のステップ1200の処理のう
ちの、左右の空き面積(白ドット数)の算出処理を、図
11を用いて詳細に説明する。上下の空き幅の設定処理
も、同様に考えることができる。
【0048】図11において、ステップ230におい
て、当該行が垂直方向の実文字幅内にあるか否かを判定
する。実文字幅内にある場合には、求める空き面積が右
か左かを調べる(ステップ235)。
【0049】右空き面積を求める場合には、ステップ2
60からステップ275において、当該行の右参照幅内
の行空白長(白ドットの数)を右空き面積に加算する。
左空き面積を求める場合には、ステップ240からステ
ップ255において、当該行の左参照幅内の行空白長
(白ドットの数)を左空き面積に加算する。
【0050】ステップ280においてすべての行につい
て終了したかを調べ、終了していない場合には、次行に
ついてステップ230からステップ280の処理を行な
う。終了した場合には、ステップ285へ進み、算出さ
れた空き面積に(空き幅)×(実文字幅)を加算して空
き面積とする。
【0051】図5のステップ1300の処理の詳細は、
図12のステップ290に示される。
【0052】以上のように、各文字に対して生成された
空き幅を、各文字を印字する際の左右上下の文字との間
隔とすることで、各文字の濃さ(黒ドット数)を反映し
た文字の間隔を与えることができる。
【0053】また、以上のようにして生成された空き面
積のデータを備えるプロポーショナル・データを用い
て、文書全体(あるいは、文書の頁または段落)におい
て視覚的に均一な間隔で文字を配置したり、行頭・行末
揃えの際の文字の間隔の微調整を行なうことができる。
以下、これについて説明する。
【0054】図13は、上記行頭・行末揃えの際の文字
の間隔の微調整の処理の概略を示すフローチャートであ
る。
【0055】ステップ2000で、文書(あるいは、文
書の頁または段落)内の文字(文字k(k=2,3,
…,m))の各々に対応して設けられた記憶領域kに、
対応する文字の左空き面積と、この文字の直前の文字
(文字(k−1))の右空き面積とを加算して格納す
る。
【0056】次に、ステップ2100で、記憶領域k
(k=2,3,…,m)の統計値(平均、標準偏差)を
求め、この統計値に基づいて記憶領域kの限度面積(文
書全体における2文字間の空き面積の上限値)を設定
し、2文字間の空き面積がこの限度面積を超える文字に
対して詰め処理を行なう。
【0057】この後に、文書の各行に対して入れる文字
を決定し(ステップ2200)、各行における空け処理
または詰め処理を行なう(ステップ2300)。
【0058】上記図13のステップ2000の処理の詳
細を、図14に示す。
【0059】この処理は、まず、記憶領域k(area
[k],k=2,3,…,m)に、“0”を設定(クリ
ア)する(ステップ300)。文書データ全てに対し
(ステップ310)、文字が強制改行であるか否かを判
定し(ステップ320)、強制改行であると判定された
文字に対しては、プロポーショナル・データおよび空き
幅として“0”を格納する(ステップ370,38
0)。強制改行でないと判定された文字に対しては、プ
ロポーショナル・データおよび空き幅を格納する(ステ
ップ330,340)と同時に、area[k](k=
2,3,…,m)に、対応する文字の左空き面積とこの
文字の直前の文字(k−1)の右空き面積とを加算して
格納する(ステップ350,360)。文書中のk番目
の文字とarea[k]との関係を、図15に示す。
【0060】上記図13のステップ2100の処理の詳
細を、図16に示す。
【0061】まず、area[k]に格納された面積の
平均値と標準偏差とを算出し(ステップ390)、限度
面積を、 限度面積=平均値+1.3×標準偏差 とする(ステップ400)。
【0062】すべてのarea[k]に対し(ステップ
410)、格納された面積と限度面積とを比較して(ス
テップ420)、記憶領域kに格納された面積が限度面
積よりも大きい場合には、ステップ430からステップ
500のように、詰め処理を行なう。
【0063】すなわち、詰め所要面積を、 詰め所要面積=area[k]−限度面積 と設定し(ステップ430)、右側の詰め可能面積を、 右側の詰め可能面積=実文字幅((k−1)文字目)×
右空き幅((k−1)文字目) と設定し(ステップ440)、左側の詰め可能面積を、 左側の詰め可能面積=実文字幅(k文字目)×左空き幅
(k文字目) と設定する(ステップ450)。
【0064】詰め所要面積と(右側の詰め可能面積)+
(左側の詰め可能面積)とを比較して(ステップ46
0)、詰め所要面積が大きい場合には、(k−1)文字
目の右空き幅とk文字目の左空き幅とを“0”にする
(詰める)。詰め所要面積が小さい場合には、詰め所要
面積と、右側の詰め可能面積とを比較する(ステップ4
80)。
【0065】詰め所要面積が、右側の詰め可能面積より
も大きい場合には、(k−1)文字目の右空き幅を
“0”にして、k文字目の左空き幅を、 詰め所要面積−((k−1)文字目の“0”にする前の
右側の詰め可能面積) を満たす分詰める。
【0066】上記の文書内での詰め処理の一例を、図1
7に示す。
【0067】この図は、(k−1)文字目の“句”とk
文字目の“読”について、図16に示した処理を行なっ
た場合を説明するための図である。area[k]は、
この図においては、斜線部a,b,c,dの和である。
【0068】たとえば、図17の文字を含む文書につい
て図16のステップ430で算出された詰め所要面積
と、b+cとをステップ460で比較して、詰め所要面
積がb+cよりも大きい場合には、 文字幅(k−1)=文字幅(k−1)−右空き幅(k−
1), 文字幅(k)=文字幅(k)−左空き幅(k), area[k]=area[k]−(b+c), 右空き幅(k−1)=左空き幅(k)=0 即ちb=
c=0 とする。
【0069】上記図13のステップ2200の処理の詳
細を、図18のステップ510からステップ550に示
す。ここでは、1行の長さの上限値を設定し(ステップ
510)、当該行の行長に初期値“0”を設定(ステッ
プ530)した後、強制改行であること、または、当該
行の長さが上限値を超えたことが検出されるまで(ステ
ップ540)、当該行に、次々と文字の幅を加算してい
く(ステップ550)。
【0070】また、図13のステップ2300の処理の
詳細を、図18のステップ560からステップ640に
示す。
【0071】上記のように、強制改行であること、また
は、当該行の長さが上限値を超えたことが検出される
と、当該行に格納すべき文字を決定する(ステップ57
0)。この決定は、図19に示す行末位置決定方法に基
づいて行なう。
【0072】次に、この決定により定められた行の長さ
を求め(ステップ580)、ステップ590からステッ
プ620において、当該行内での空けまたは詰めの処理
を行ない、自動改行データを挿入する(ステップ64
0)。
【0073】上記処理を詳細に説明すると、当該行の文
字の中のarea[k]を値が大きい順にソートし(ス
テップ590)、限度行長とステップ580で求められ
た行長とを比較する(ステップ600)。限度行長が大
きい場合には、当該行の文字の中のarea[k]の値
が小さいものから所定の数値を加算して、限度行長と当
該行長とが等しくなるようにする(ステップ620)。
限度行長が小さい場合には、当該行の文字の中のare
a[k]の値が大きいものから所定の数値を減算して、
限度行長と当該行長とが等しくなるようにする(ステッ
プ630)。
【0074】以上の処理を、すべてのarea[k]に
ついて行ない(ステップ520)、すべてのarea
[k]について行なわれると、作成されたデータを文書
データに書き込む(ステップ630)。
【0075】上記図18に示す処理の一例を、図20,
図23に示す。
【0076】図20を用いて、文字2301に示すよう
な文字“ ハイビジョンは1989年の…”が与えらえ
た場合の行長の決定および行末揃え処理を示す。
【0077】各文字にたいして、順に番号k(1,2,
3…)を与える。行末揃え処理を行なう前の各文字の文
字幅2303が与えられ、この文字を含む行長230
4、各文字に対する空き面積area[k]2305
が、図18のステップ540,550に従って順に図2
3のように算出されていく。k=14の文字幅をステッ
プ550で加算すると、ステップ540行長が限度行長
を超えたことが検出され、ステップ560へ進む。強制
改行ではないので、ステップ560からステップ570
へ進む。ステップ570においては、図19の判定条件
に従って、k=13までを1行と決定する。
【0078】次に、ステップ580で新行長を決定し、
ステップ590でk=1からk=13までの各文字のa
rea[k]の大きいものから順に順位をつける。ステ
ップ600において、新行長(11152)が、限度行
長(11180)よりも小さいと判定され、ステップ6
20に進み、空け処理が行なわれる。
【0079】この空け処理は、 空ける長さの総量=限度行長−新行長 とし、area[k]の小さい順に、((空ける長さの
総量/行内文字数)の余り)個の文字に対し、 ((空ける長さの総量/行内文字数)の商の整数値)+
1 を、空け量とする。行内の残りの文字に対し、 ((空ける長さの総量/行内文字数)の商の整数値) を、空け量とする。
【0080】図20のような処理を各行に対して行な
い、図23のような文書が作成される。
【0081】このようにして作成された文書データは、
図1のプロポーショナル印字ソフトウエア6を実行する
ことにより印字される。
【0082】上記のように行頭・行末揃えの際に、空け
・詰めの処理を施されて印字された文字の例と、空け処
理だけで印字された文字の例とを、図21に示す。空け
・詰めの処理がある場合には、行長が短くなっても文字
間隔を均一に保てるが、空け処理だけの場合には、行長
が短くなると文字間隔を均一に保てないことがわかる。
【0083】なお、上記のような行頭・行末揃えの技術
を、輪郭組みの技術に応用することもできる。輪郭組み
とは、文字を、ある対象物の形、たとえば、花瓶、電
球、ボトルといった物の形に沿って組む技術である。図
22は、三角形に輪郭組みを行なった例であるが、この
ような場合においても、行長が短くなっても文字間隔を
均一に保つことができる。
【0084】以上、本発明について、文字のドット・マ
トリックスによって表される形状に関するデータに対し
て説明してきたが、文字をアウトライン・ベクトルデー
タにより印字する場合にも同様な処理を適用することが
できる。
【0085】
【発明の効果】上記のように本発明によれば、文書中の
各文字に対して左右の文字との間隔を定めるための方法
を提供することができる。
【0086】なお、本発明によれば、文書全体、文書中
の頁、あるいは、段落毎に、文字の間隔が視覚的にほぼ
均一なように、文字を配置することができる。
【0087】さらに、本発明によれば、文書中の各行の
行末が揃うように文字を配置することができる。
【図面の簡単な説明】
【図1】文字を印字する処理の概略を示す図。
【図2】プロポーショナル・データを備える文字データ
のフォーマットを示す図。
【図3】プロポーショナル・データを説明するための
図。
【図4】空き幅および空き面積を説明するための図。
【図5】プロポーショナル・データを作成する処理の概
略のフローチャートを示す図。
【図6】黒ドット数テーブルおよび黒ドット始・終点位
置テーブルを説明するための図。
【図7】黒ドット数および黒ドットの始・終点位置を検
出して格納する処理のフローチャートを示す図。
【図8】空き幅を求める処理のフローチャートを示す
図。
【図9】和文・英文の混じった文の例を示す図。
【図10】係数を変えた空き幅の設定例を示す図。
【図11】空き面積を求める処理のフローチャートを示
す図。
【図12】プロポーショナル・データを作成する処理の
フローチャートを示す図。
【図13】行頭・行末揃えの際の文字の間隔の微調整処
理の概略のフローチャートを示す図。
【図14】隣接する2文字間の空き面積を求める処理の
フローチャートを示す図。
【図15】文字間の空き面積の具体例を示す図。
【図16】文書全体の文字の配置処理を示す図。
【図17】文書全体の文字の配置の具体例を示す図。
【図18】1行にいれる文字の決定、および、行末揃え
のための文字の配置の微調整処理を示す図。
【図19】行末位置決定方法を示す図。
【図20】行頭・行末揃えの際の文字の間隔の微調整の
具体例を示す図。
【図21】行頭・行末揃えの印字例を示す図。
【図22】輪郭組みの印字例を示す図。
【図23】行頭・行末揃えの際の文字の間隔の微調整の
具体例を示す図。
【符号の説明】
1…文字データファイル(プロポーショナル・データ無
し)、2…プロポーショナル・データ作成ソフトウエ
ア、3…文字データファイル(プロポーショナル・デー
タ有り)、4…文書コードファイル、5…文書データ、
6…プロポーショナル印字ソフトウエア、7…出力装
置。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】少なくともドット・マトリックスによって
    表される文字の形状に関するデータを格納した文字デー
    タと、前記文字データの各々に対し隣接する文字との間
    のスペースに関するスペース情報とを有し、与えられた
    出力すべき文字の情報に基づいて前記文字データおよび
    前記スペース情報を読みだして、前記文字データおよび
    前記スペース情報に従って、文字を出力する際の文字の
    レイアウト方法において、 文字の少なくとも部分領域を予め指定され、 前記部分領域内の黒ドット数から決定される文字の濃さ
    に基づいて、前記スペース情報を決定することを特徴と
    する文字のレイアウト方法。
  2. 【請求項2】少なくとも記憶装置、入力装置、出力装
    置、制御装置および演算装置を備え、少なくともドット
    ・マトリックスによって表される文字の形状に関するデ
    ータを格納した文字データと、前記文字データの各々に
    対し隣接する文字との間のスペースに関するスペース情
    報とを前記記憶装置に有し、前記入力装置から与えられ
    た出力すべき文字の情報に基づいて前記制御装置により
    前記文字データおよび前記スペース情報を読みだして、
    前記文字データおよび前記スペース情報に従って、文字
    を前記出力装置に出力する際の文字のレイアウト支援シ
    ステムにおいて、 文字の少なくとも部分領域を予め指定され、 前記部分領域内の黒ドット数から決定される文字の濃さ
    に基づいて、前記スペース情報を決定することを特徴と
    する文字のレイアウト支援システム。
  3. 【請求項3】請求項1または2において、 前記文字の濃さは、 文字の濃さ=−1×log(1−文字の前記部分領域内
    の黒ドット数/文字の前記部分領域内の全ドット数×
    (1−(10の−2.5乗)) として決定されることを特徴とする文字のレイアウト方
    法。
  4. 【請求項4】少なくともドット・マトリックスによって
    表される文字の形状に関するデータを格納した文字デー
    タと、前記文字データの各々に対し隣接する文字との間
    のスペースに関するスペース情報と、出力すべき文字列
    情報を含む文書に関する情報を与えられると、 前記文書中の各々の文字に対するスペース情報から、前
    記文書中の予め定められた単位毎に各々の文字に対して
    隣接する文字との間のスペースと、少なくとも文字の1
    部の領域の文字を構成しないドット数とを含む空き面積
    を求め、 前記各々の文字に対する空き面積の大きさの平均値およ
    び標準偏差を算出し、 前記平均値および標準偏差に基づいて、前記空き面積の
    上限値を算出し、 前記各々の文字に対する空き面積と前記上限値とを比較
    して、前記上限値を超える空き面積を有する文字に対し
    て、予め定められた値を空き面積として与えて修正空き
    面積とし、該修正空き面積に基づいて各文字の文字幅を
    決定し、 前記文書を出力する際の1行の長さを指定されると、前
    記文字幅に基づいて前記文書中の各行に出力すべき文字
    を決定し、 前記各行に出力すべき文字の文字幅から各行の長さを算
    出し、 前記算出された各行の長さと、前記指定された1行の長
    さとを比較して、 前記比較の結果に基づいて、各行の行末が揃うように、
    各行に出力すべき文字に対する前記修正空き面積及び文
    字幅を補正して、補正された空き面積及び文字幅に基づ
    いて文字の配置を決定することを特徴とする文字のレイ
    アウト方法。
  5. 【請求項5】請求項4において、 前記算出された各行の長さと、前記指定された1行の長
    さとを比較し、 前記算出された行の長さが、前記指定された1行の長さ
    よりも短い場合には、この行中にある修正空き面積の小
    さい文字から順に文字の文字幅に予め定められた長さを
    加算して文字幅を補正し、該文字幅に基づいて文字の修
    正空き面積を補正し、 前記算出された行の長さが、前記指定された1行の長さ
    よりも長い場合には、この行中にある修正空き面積の大
    きい文字から順に文字の文字幅から予め定められた長さ
    を減算して文字幅を補正し、該文字幅に基づいて文字の
    修正空き面積を補正することを特徴とする文字のレイア
    ウト方法。
  6. 【請求項6】請求項4において、 前記文書中の予め定められた単位は、文書全体および頁
    および段落のうちの少なくとも一つであることを特徴と
    する文字のレイアウト方法。
JP5105093A 1993-03-11 1993-03-11 文字のレイアウト方法 Withdrawn JPH07172021A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5105093A JPH07172021A (ja) 1993-03-11 1993-03-11 文字のレイアウト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5105093A JPH07172021A (ja) 1993-03-11 1993-03-11 文字のレイアウト方法

Publications (1)

Publication Number Publication Date
JPH07172021A true JPH07172021A (ja) 1995-07-11

Family

ID=12875979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5105093A Withdrawn JPH07172021A (ja) 1993-03-11 1993-03-11 文字のレイアウト方法

Country Status (1)

Country Link
JP (1) JPH07172021A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007050668A (ja) * 2005-08-19 2007-03-01 Seiko Epson Corp 印刷装置及び印刷方法
US7193743B2 (en) * 1998-11-09 2007-03-20 Silverbrook Research Pty Ltd Printer driver software product with edge runlength encoder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7193743B2 (en) * 1998-11-09 2007-03-20 Silverbrook Research Pty Ltd Printer driver software product with edge runlength encoder
JP2007050668A (ja) * 2005-08-19 2007-03-01 Seiko Epson Corp 印刷装置及び印刷方法

Similar Documents

Publication Publication Date Title
EP0117406B1 (en) Automatically balancing and vertically justifying text and/or graphics
EP0117405B1 (en) Automatically balancing and vertically justifying text and/or graphics
KR860001071B1 (ko) 문서편집(文書編輯)방법
US5404436A (en) Computer method and apparatus for converting compressed characters for display in full size
US5425138A (en) Apparatus and method for automatically editing documents including text data and table data with ruled lines
US5765874A (en) Method for mass customization of printed materials
JPH0926778A (ja) カーニング処理方法
JPS6017487A (ja) 文書作成装置の行ピツチ自動設定方法
JPH07172021A (ja) 文字のレイアウト方法
JPH0675952A (ja) 文書作成装置
JPH0747337B2 (ja) 出力方法
JP3275628B2 (ja) レイアウト修正装置
JPH05165455A (ja) 文字表示処理方法
JPH07304225A (ja) 宛名自動レイアウト印刷方法
JPH08315164A (ja) レイアウト修正装置
JPH04353478A (ja) 縮小印刷制御装置
JPS63209964A (ja) ワ−ドプロセツサ
JPS63210887A (ja) ワ−ドプロセツサ
JPS61286177A (ja) 文書作成装置
JPH0225355A (ja) データ出力装置
JPH0692168B2 (ja) 文書作成装置
JPS62254231A (ja) 文字出力方法
JPS61286156A (ja) 文書作成装置
JPH0635196B2 (ja) 出力文字間隔自動調整装置
JPS6363091A (ja) 補正枠による文字配列法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000530