JP3354754B2 - カーニング処理方法 - Google Patents

カーニング処理方法

Info

Publication number
JP3354754B2
JP3354754B2 JP19801495A JP19801495A JP3354754B2 JP 3354754 B2 JP3354754 B2 JP 3354754B2 JP 19801495 A JP19801495 A JP 19801495A JP 19801495 A JP19801495 A JP 19801495A JP 3354754 B2 JP3354754 B2 JP 3354754B2
Authority
JP
Japan
Prior art keywords
character
space
amount
spacing
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP19801495A
Other languages
English (en)
Other versions
JPH0926778A (ja
Inventor
寛 中山
清孝 宮井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Screen Holdings Co Ltd
Dainippon Screen Manufacturing 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 Screen Holdings Co Ltd, Dainippon Screen Manufacturing Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP19801495A priority Critical patent/JP3354754B2/ja
Priority to US08/676,509 priority patent/US5802532A/en
Publication of JPH0926778A publication Critical patent/JPH0926778A/ja
Application granted granted Critical
Publication of JP3354754B2 publication Critical patent/JP3354754B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デスク・トップ・
パブリッシング(DTP)等で利用される文字組版編集
装置の文字組版等に係り、特に文字詰め処理を行うカー
ニング処理方法に関する。
【0002】
【従来の技術】近年のコンピュータを利用した電子組版
においては、文字組版編集装置が取り扱う文字は、か
な,漢字などの文字種にかかわらず、各文字の字面は、
所定の大きさをもつ枠の中に収まるように規定されてい
る。まず、文字の構成要素を図18の模式図を参照して
定義しておく。なお、以下の説明において、「文字」と
は通常の文章,単語を形成するのに用いられる狭義の文
字(アルファベットなどの外国文字も含む)の他、数字
や各種の記号を含むものとする。
【0003】〈文字構成〉この模式図は、一例として、
文字「し」の構成要素を示している。文字の字体形状
は、文字の最小配置単位を示す矩形状の枠(文字枠)で
ある『仮想ボディ』IB内に収められ、前記仮想ボディ
IBの横方向の長さXを『文字幅』とし、縦方向の長さ
Yを『文字高さ』とする。一般的には、文字幅Xと文字
高さYとは同じ値で構成される。
【0004】前記仮想ボディIBの内方には、文字の字
体形状を示す『字面』Fが配置され、この字面Fは、点
の集まりからなるドットデータや数学的に形状を表すベ
クトルデータにより構成される。前記字面Fの最大外形
を囲うような矩形状の枠を、バウンディングボックス
(字面枠)BBとし、バウンディングボックスBBの横
方向の長さWを『字面幅』とし、縦方向の長さHを『字
面高さ』とする。これら字面幅Wと字面高さHの両者を
併せて、字面寸法と呼ぶことにする。前記仮想ボディI
B内に配置されている字面Fの字面幅Wと仮想ボディI
Bの文字幅Xとの差(空き幅)を、図示するように前間
隔aおよび後間隔bとし、字面高さHと文字高さYとの
差を、上間隔cおよび下間隔dとする。これらの間隔
は、仮想ボディIB内に収められる字面Fの大きさや形
状によって、すなわち、文字毎に異なる。
【0005】なお、上記のバウンディングボックスBB
は、字面Fの周囲に必要に応じて適宜の隙間(サイドベ
アリング)を設けて、その隙間を含む矩形状の枠をいう
こともあるが、以下の説明においては、特に付記しない
限りバウンディングボックスはサイドベアリングを含ま
ないものとする。また、通常、欧文アルファベットの場
合は、仮想ボディとバウンディングボックスのあいだに
各間隔a〜dがない(つまり、仮想ボディが即バウンデ
ィングボックスという)形態であることが多いが、この
明細書では欧文アルファベットの場合も便宜上、各間隔
a〜dが存在する形態として説明することにする。な
お、間隔のない場合は一般的なかたちの説明において、
各間隔a〜dが0である、として扱えばよいから、本発
明の理解の上では何らの不都合もない。
【0006】文字列の各文字を所定の配列方向に配置す
るときに、配置位置が既に確定している基準文字に対し
て隣接して配置しようとする対象文字の配置位置を調整
するカーニング処理方法として、最も一般的なものとし
ては、予め定められた文字のペアに対して詰め量がテー
ブルに設定されており、基準文字と対象文字のペアにつ
いての詰め量をテーブルから読み出し、その詰め量によ
って文字を配置してゆく(いわゆるペアカーニングなど
と呼ばれる)方法がある。
【0007】この他、例えば、特開昭50−65223
号公報に示す方法がある。このカーニング処理方法の場
合、両文字の字面のドットパターンのドット間隔を、文
字の配列方向について求め、このドット間隔が所望する
字面間隔量となるように文字を配置している。また、近
年においては、例えば、特開平3−243343号公報
や特開平3−269490号公報に示すカーニング処理
方法の場合、両文字の字面同士の間隔を文字の配列方向
について算出し、この間隔が指示する字面間隔量となる
ように、文字を配置している。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来法の場合、次のような問題がある。すなわち、従来の
カーニング処理方法の場合、文字列の先頭から2文字単
位で詰め量を求めているので、文字列中に小さな文字、
例えば「・」(中黒)が存在する場合、「・」の両横の
文字が近づき過ぎてしまい視認性や審美性を低下させる
という問題である。特に、「・」の両横の文字が、例え
ば、「T」(アルファベット)のような文字である場
合、「T」同士が重なってしまい、顕著な視認性・審美
性の低下を招来する。
【0009】本発明は、上記事情に鑑みなされたもので
あって、文字列中に小さな文字が存在する場合でも、小
さな文字の両横の文字同士が近づき過ぎたり、重なった
りするという不都合を解消することの出来る実用的なカ
ーニング処理方法を提供することを目的とするものであ
る。
【0010】
【課題を解決するための手段】本発明は、上記の目的を
達成するため、以下のような構成をとる。すなわち、請
求項1に記載の発明は、文字パターン(字面)を内に配
置してなる文字枠(仮想ボディ)に基づき、3個以上の
各文字を所定の配列方向に順に配置するときに、直前に
配置された文字を基準文字とし、次に続く文字を対象文
字として、基準文字のあとへ対象文字を詰めて配置調整
する過程を含んでなるカーニング処理方法であって、3
つの文字が順に詰められて配置調整された場合の前記各
文字(先頭の第1文字,真ん中の第2文字,後尾の第3
文字)のうちの第1文字と第3文字との間隔(第1−第
3文字間隔)を求める文字間隔算出過程と、前記文字間
隔算出過程で求められた第1−第3文字間隔が予め指示
された基準間隔より小さいか否かを判定する文字間隔判
定過程と、前記文字間隔判定過程での結果が小さいとい
う判定結果のときは、前記第1−第3文字間隔が前記基
準間隔と同等以上となるように、第2文字の詰め量およ
び第3文字の詰め量のうちの少なくとも一方の詰め量に
対して補正を行う詰め量補正過程と、を含むことを特徴
とするものである。
【0011】請求項2に記載の発明は、請求項1記載の
方法において、基準文字と対象文字の両文字の字面同士
の間隔(字面間隔)が予め指示した指示字面間隔と対応
するような詰め量を逐次求める詰め量算出過程を含んで
いて、この詰め量算出過程で算出された詰め量に従って
基準文字に対する対象文字の配置調整がなされるという
ものである。
【0012】請求項3に記載の発明は、請求項1または
2に記載の方法において、第1文字と第3文字の文字間
隔が、それぞれの字面の最大外形を矩形に囲むバウンデ
ィングボックス(字面枠)同士の間隔(字面枠間隔)で
あり、文字間隔算出過程は、第2文字の詰め量と第1文
字における詰め逆方向側での文字枠と字面枠との間隔
(空き幅)および第2文字における詰め方向側での文字
枠と字面枠との間隔(空き幅)に基づき、第1文字およ
び第2文字との字面枠間隔を求める過程と、第3文字の
詰め量と第2文字における詰め逆方向側での文字枠と字
面枠との間隔(空き幅)および第3文字における詰め方
向側での文字枠と字面枠との間隔(空き幅)に基づき、
第2文字と第3文字との字面枠間隔を求める過程と、前
記2つの字面枠間隔および第2文字の詰め方向での字面
寸法に基づき、第1文字と第3文字の文字間隔を求める
過程と、を含むものである。
【0013】請求項4に記載の発明は、請求項1から3
までのいずれかに記載の方法において、詰め量補正過程
では、第2文字の詰め量および第3文字の詰め量の両詰
め量に対して、予め定められた配分処方に従って補正が
なされるというものである。
【0014】請求項5に記載の発明は、請求項4に記載
の方法において、予め定められた配分処方が、両詰め量
に対する補正量を各々等しいものとするものである。
【0015】請求項6に記載の発明は、請求項4に記載
の方法において、予め定められた配分処方が、両詰め量
に対する補正量を、第2文字における詰め方向側での文
字枠と字面枠との間隔(空き幅)と、第2文字における
詰め逆方向側での文字枠と字面枠との間隔(空き幅)の
比率に応じたものとするものである。
【0016】請求項7に記載の発明は、請求項4に記載
の方法において、予め定められた配分処方が、両詰め量
に対する補正量を、第1文字および第2文字との字面枠
間隔と、第2文字および第3文字との字面枠間隔の比率
に応じたものとするものである。
【0017】
【作用】本発明のカーニング処理方法の作用は,次の通
りである。請求項1に記載の方法によれば、3個以上の
各文字を所定の配列方向に順に配置するときに、直前に
配置された文字を基準文字とし、次に続く文字を対象文
字として、基準文字のあとへ対象文字を詰めて配置調整
する一方、文字が3個連続して詰めて配置調整された場
合の前記3つの文字(先頭の第1文字,真ん中の第2文
字,後尾の第3文字)のうちの第1文字と第3文字との
間隔(第1−第3文字間隔)が近づき過ぎていないかを
監視してゆき、近づき過ぎているときには詰めに修正を
加える。すなわち、文字が3個連続して詰められて配置
調整された場合に文字間隔算出過程で算出した第1−第
3文字間隔が予め指示された基準間隔より小さいとき
は、前記第1−第3文字間隔が基準間隔と同等以上とな
るように、第2文字の詰め量および第3文字の詰め量の
うちの少なくとも一方の詰め量を少し減らす補正を行
い、第1文字と第3文字の近づき過ぎた状態を解消する
ものである。第2文字が小さな文字であって、第2文字
の前後の第1文字と第3文字が近づき過ぎがちな場合で
あっても、バランスの良い適切な文字の配置が保証され
る上、第1−第3文字間隔の調整は、第2文字と第3文
字の各詰め量に対して行うものであるから、詰め量に対
する補正処理を簡単に済ませることができる。
【0018】請求項2に記載の方法によれば、基準文字
と対象文字の両文字の字面同士の間隔(字面間隔)が予
め指示した指示字面間隔と対応するような詰め量を逐次
求める詰め量算出過程を含んでいるので、詰め量が文字
の種類に応じた適切なものとなる上、詰め量をテーブル
として予め登録しておく場合に比べてメモリ容量が少な
くてすむ。
【0019】請求項3に記載の方法によれば、第1文字
A と第3文字MC の第1−第3文字間隔rM を、それ
ぞれの字面の最大外形を矩形に囲むバウンディングボッ
クス(字面枠)同士の間隔(字面枠間隔)としており、
この第1−第3文字間隔rMは以下の過程で算出され
る。第2文字MB の詰め量UA と第1文字MA における
詰め逆方向側での文字枠と字面枠との間隔(空き幅)b
A および第2文字MB における詰め方向側での文字枠と
字面枠との間隔(空き幅)aB に基づき、第1文字MA
および第2文字MBとの字面枠間隔WABを求める。つま
り、〔WAB=bA +aB −UA 〕なる演算を行う。ま
た、第3文字MC の詰め量UB と第2文字MB における
詰め逆方向側での文字枠と字面枠との間隔(空き幅)b
B および第3文字MC における詰め方向側での文字枠と
字面枠との間隔(空き幅)aC に基づき、第2文字MB
と第3文字MC との字面枠間隔WBCを求める。つまり、
〔WBC=bB +aC −UB 〕なる演算を行う。そして、
先に求めた2つの字面枠間隔WAB,WBCと第2文字MB
の詰め方向での字面枠長さ(字面寸法)WB に基づき、
第1−第3文字間隔rM を求める。つまり、〔rM =W
B +WAB+WBC〕なる演算を行う。第1文字MA と第3
文字MC のデータを直に突き合わさせてなくても、第1
文字MA と第2文字MB の間のデータと、第2文字MB
と第3文字MC の間のデータおよび第2文字MB の字面
枠長さWB で第1文字MA と第3文字MC の文字間隔r
M が簡単かつ迅速に求められることになる。
【0020】請求項4に記載の方法によれば、第2文字
の詰め量および第3文字の詰め量の補正が予め定められ
た配分処方に従って両方の詰め量になされるため、詰め
量の補正結果が適切なものとなる。
【0021】請求項5に記載の方法によれば、第2文字
の詰め量および第3文字の詰め量の補正を等分で行うた
め、適切な詰め量の補正処理が簡単かつ迅速に行える。
【0022】請求項6に記載の方法によれば、第2文字
の詰め量および第3文字の詰め量の補正を第2文字の字
面枠と文字枠との詰め方向および詰め逆方向の両間隔
(空き幅)の比率を勘案して行うため、詰め量の補正結
果が確実に適切なものとなる。
【0023】請求項7に記載の発明によれば、第2文字
および第3文字の詰め量の補正を第1文字および第2文
字との字面枠間隔と、第2文字および第3文字との字面
枠間隔の比率で行うため、詰め量の補正が補正前の文字
の重なりの程度に応じたものになる。
【0024】
【発明の実施の形態】以下、本発明に係るカーニング処
理方法の実施例を図面を参照しながら詳しく説明する。
【0025】<第1実施例>図1は、第1実施例にかか
るカーニング処理方法を使用する電子組版編集装置の概
略構成を示したブロック図である。図2は、第1実施例
においてカーニングを行う文字を仮想ボディを接して配
置した状態、いわゆる「ベタ組み」と称される状態を示
す説明図である。この実施例では、第1文字M1
「T」、第2文字M2 の「・」、第3文字M3 の「T」
の3つの文字に対して横組み(前の文字の横に次の文字
を並べる)のカーニング処理を行うことになる。
【0026】以下、装置構成を説明する。図1中、符号
1は、主に本発明方法を実行する制御部である。制御部
1は、図示しないCPUやROM,RAM等のメモリで
構成されている。文字列入力部2は、ワードプロセッサ
等で作成された文字列データファイル(フォント名,文
字サイズ,文字コード等)を格納した媒体等から文字列
データを取り込むものである。この取り込まれた文字列
データは、制御部1によって文字列情報格納部3に格納
される。この格納された文字列情報格納部3の文字列デ
ータは、制御部1によって参照される。字面間隔指示部
4は、オペレータによって隣り合う文字の字面同士の間
隔(指示字面間隔r0 )を入力指示され、この字面間隔
は、指示字面間隔格納部5に格納される。指示字面間隔
格納部5に格納された指示字面間隔r0 は、制御部1に
よって適宜参照される。
【0027】制御部1は、文字列情報格納部3に格納さ
れた文字列データに対応するベクトルフォントデータを
フォント格納部6から読みだす。文字データ化処理部1
1は、読み出されたベクトルフォントデータを指定され
た文字サイズに応じたベクトルデータ(例えば、サイズ
100×100のデータ)、あるいは、このベクトルデ
ータをもとにして所定の構成のドット数(ベクトルデー
タと1:1に対応する100×100、あるいは、ベク
トルデータと2:1に対応する50×50、あるいは、
ベクトルデータと10:1に対応する10×10などの
ドット数)としたドットパターンデータなどに変換して
から、文字データ格納部12に格納し後の処理に備え
る。文字データ格納部12に格納されたデータは、適
宜、文字データ展開メモリ13へ読み出し展開される。
【0028】なお、ベクトルフォントデータとは、文字
の字体形状を示す字面が数学的に関数表現されたもので
あり、その関数によって表された閉図形内が字面(文字
パターン)部分に相当する黒画素であり、それ以外が白
画素である。図2は、文字サイズに応じたベクトルデー
タで表されたものと対応しており、仮想ボディIB1
IB2 ,IB3 内の字面(文字パターン)F1 ,F2
3 (「T」や「・」)の白抜き表示部分が黒画素であ
り、その他の部分が白画素である。また、ドットパター
ンデータとは、字面がビットマップ(例えば、2値デー
タの“1”など)で構成されたものであり、ドットパタ
ーンデータとしては、文字パターンに位置するドット
が、例えば、2値データの“1”とされ、その他の部分
が、2値データの“0”とされる。
【0029】詰め量演算部15では、ベタ組み状態で配
置された前後の2つの文字の字面同士の間隔(字面間
隔)が、指示字面間隔r0 となるように、前の文字を基
準文字として、これに対する後の文字(の仮想ボディ)
の詰め量を算出するものであり、算出された詰め量は詰
め量格納部16に格納される。
【0030】最小間隔指示部21からは、オペレータに
よって、文字が3つ順に詰めて配置調整された場合の前
記3つの文字(先頭の第1文字M1 ,真ん中の第2文字
2,後尾の第3文字M3 )のうちの第1文字M1 と第
3文字M3 の間隔(第1−第3文字間隔rM )が適当で
あるか否かを判定するときの基準となる間隔(以下、第
1文字M1 と第3文字M3 との間で許容される間隔を最
小間隔r1 とする)が入力指示され、この最小間隔r1
は、最小間隔格納部22に格納されて、制御部1により
適宜参照される。また、この実施例の場合、第1文字M
1 と第3文字M3 の文字間隔rM は、第1文字M1 と第
3文字M3 の各字面F1 ,F3 の最大外形を矩形に囲む
バウンディングボックスBB1 ,BB3 同士の間隔(字
面枠間隔)である。
【0031】字面幅・空き幅抽出部23は、文字間隔r
M を算出するのに必要な各文字の字面幅やバウンディン
グボックスと仮想ボディの間の間隔(空き幅)を文字デ
ータから求めて、字面幅・空き幅格納部24に格納して
おく。
【0032】字面間隔算出部30は、第1−第3文字間
隔rM を算出するのに使用するバウンディングボックス
BB1 ,BB2 同士の間隔(字面枠間隔)およびバウン
ディングボックスBB2 ,BB3 同士の間隔(字面枠間
隔)を算出し字面間隔格納部31に格納しておく。
【0033】文字間隔算出部32は、第1−第3文字間
隔rM 、すなわち、第1〜第3の3個の文字M1 〜M3
が順に詰めて配置調整された場合の3つの文字のうちの
先頭の第1文字M1 と末尾の第3文字M3 のバウンディ
ングボックスBB1 ,BB3同士の間隔を算出する。
【0034】文字間隔適否判定部33は、文字間隔算出
部32が算出した第1−第3文字間隔rM を、最小間隔
格納部22に格納されている最小間隔r1 と比較して適
否を判定する。
【0035】詰め量補正部34は、文字間隔算出部32
が算出した第1−第3文字間隔rMが最小間隔r1 より
も小さくて適当でない、と文字間隔適否判定部33が判
定した場合、適当でないという判定結果が解消されるよ
うに、先に求めた詰め量を補正するというものであっ
て、補正後の詰め量は詰め量格納部16に改めて格納さ
れるとともに、文字列情報格納部3に格納されている文
字列データに付加される。
【0036】文字列情報格納部3に格納され、詰め量が
付加された文字列データは、制御部1によって表示・出
力部8へ送られる。これにより、CRT等の表示装置に
表示されたり、プリンタ等から構成される出力装置に出
力される。
【0037】続いて、図2に示す3つの文字が、以上の
構成の装置によりカーニング処理される様子を詳しくを
説明する。図8は、カーニング処理全体の流れを示すフ
ローチャートである。第1実施例でのカーニング処理の
概要は、まず第1文字M1 を基準文字とし、次に続く第
2文字M2 を対象文字として、第1文字M1 のあとへ第
2文字M2 を詰めて配置調整してから、さらに、第2文
字M2 を基準文字とし、次に続く第3文字M3 を対象文
字として、第2文字M2 のあとへ第3文字M3を詰めて
配置調整し、ついで、第1文字M1 と第3文字M3 の文
字間隔rM の適否を調べ、必要があれば第2文字M2
詰め量と第3文字M3 の詰め量の補正を行うというもの
である。
【0038】図2は、本実施例においてカーニングを行
う3つの文字を「ベタ組み」(詰め量0)で配置した状
態を示しており、この実施例では、第1文字M1
「T」、第2文字M2 の「・」、第3文字M3 の「T」
を横組みでカーニング処理することになる。したがっ
て、図2中、実線矢印が示す方向が文字の詰め方向とな
り、これとは逆の破線矢印が示す方向が詰め逆方向とな
る。
【0039】ステップS1(カーニング処理を行う文字
列の入力・格納):先ず文字列入力部2によって、ワー
ドプロセッサ等で作成された文字列データファイル(フ
ォント名,文字サイズ,文字コード等)を格納した媒体
等から文字列データが取り込まれて、文字列情報格納部
3に格納される。
【0040】ステップS2(指示字面間隔と最小間隔の
入力・格納):一方、字面間隔指示部4によって、指示
字面間隔r0 が入力指示されて指示字面間隔格納部5に
格納されるとともに、最小間隔指示部21によって第1
文字M1 と第3文字M3 との最小間隔r1 が入力指示さ
れて、最小間隔格納部22に格納される。この最小間隔
1 は指示字面間隔r0 と同じでもよいし、あるいは、
それよりも大きくても、小さくてもよいが、最小間隔r
1 が0未満のときは第1文字M1 と第3文字M3 が重な
った状態であることを意味するため、通常、最小間隔r
1 は0以上の値が設定されることになる。
【0041】ステップS3(詰め量の算出・格納):本
実施例では、基準文字と対象文字の両文字の字面同士の
間隔(字面間隔)が予め指示した指示字面間隔r0 と対
応するような詰め量を逐次算出しながら、基準文字に対
する対象文字の配置調整を行う。
【0042】詰め量演算部15で行われる詰め量の算出
過程では、基準文字である先頭の第1文字M1 の「T」
に対する対象文字である第2文字M2 の「・」の第1詰
め量と、基準文字である第2文字M2 の「・」に対する
対象文字である第3文字M3の「T」の第2詰め量との
2つの詰め量を算出することになる。なお、初期状態で
あるベタ組み状態を、詰め量0の状態とする。
【0043】基準文字に対する対象文字の詰め量の算出
手法は特に限定されないが、例えば以下のように行われ
る。第1詰め量を算出するにあたり、第1文字M1 と第
2文字M2 の最小字面間隔、すなわち、両字面同士にお
ける詰め方向に平行な方向でみた間隔のうち最小の字面
間隔L1 を求める。文字データ格納部12より第1文字
1 と第2文字M2 の文字データを読みだして文字デー
タ展開メモリ13に展開する。この展開状態を模式的に
示したものが図3であって、最小の字面間隔L1 は、図
3に示すように、第1文字M1 の「T」の縦棒の右端と
第2文字M2 の「・」の左端の間隔であることは明らで
ある。具体的には、第1文字M1 と第2文字M2 のフォ
ント情報から字面間隔を求めたり、文字データ上でのい
わゆる水平走査によって字面間隔を求めたり、水平方向
に向き合う両字面ドット間の距離を求めたりしてから、
それらの中の最小のものを選び出すことにより、最小の
字面間隔L1 を求めることになる。
【0044】第1文字M1 に対する第2文字M2 の詰め
量は、最小の字面間隔L1 が指示字面間隔r0 となるよ
うに行う。したがって、〔第1詰め量U1 =最小の字面
間隔L1 −指示字面間隔r0 〕なる演算を行って第1詰
め量U1 を求め、結果を詰め量格納部16に格納する。
【0045】同様に、第2詰め量を算出する過程では、
第2文字M2 と第3文字M3 の最小字面間隔、すなわ
ち、両字面同士における詰め方向に平行な方向でみた間
隔のうち最小の字面間隔L2 を求める。文字データ格納
部12より第2文字M2 と第3文字M3 の文字データを
読み出して文字データ展開メモリ13に展開する。この
展開状態を模式的に示したものが図4であって、最小の
字面間隔L2 は、図4に示すように、第2文字M2
「・」の右端と第3文字M3 の「T」の縦棒の左端の間
隔L2 である。第2文字M2 に対する第3文字M3 の詰
め量も、最小の字面間隔L2 が指示字面間隔r0 となる
ように行う。すなわち、〔第2詰め量U2 =最小の字面
間隔L2 −指示字面間隔r0 〕なる演算を行って第2詰
め量U2 を求め、結果を詰め量格納部16に格納する。
【0046】ステップS4(字面幅および空き幅の抽出
・格納と字面枠間隔の算出・格納) 文字間隔算出部32による第1文字M1 と第3文字M3
の文字間隔rM を算出する過程では、各文字の字面幅お
よび空き幅を字面幅・空き幅抽出部23により抽出して
おく必要がある。字面幅や空き幅はフォント情報から求
めることができる。第1文字M1 の後間隔(後空き幅)
1 、第2文字M2 の前間隔(前空き幅)a2 、後間隔
(後空き幅)b2 および字面幅W2 、第3文字M3 の前
間隔(前空き幅)a3 を字面幅・空き幅格納部24に格
納する。
【0047】つぎに、第1文字M1 と第2文字M2 の両
バウンディングボックスBB1 ,BB2 同士の字面枠間
隔W12と、第2文字M2 と第3文字M3 の両バウンディ
ングボックスBB2 ,BB3 同士の字面枠間隔W23とを
字面枠間隔算出部30で求めて字面枠間隔格納部31に
格納する。字面枠間隔は、両バウンディングボックスが
重なる場合は負の値をとる(距離に−が付く)。例え
ば、詰めて配置した状態が例えば図5のような場合は間
隔W12,間隔W23が共に負の値となる。
【0048】第1文字M1 と第2文字M2 の両バウンデ
ィングボックスBB1 ,BB2 同士の字面枠間隔W
12は、詰め量0の場合のときの両ボックスBB1 ,BB
2 同士の間隔、つまり「後間隔b1 +前間隔a2 」が第
1詰め量U1 だけ縮まったものであるから、下記式で求
まる。 字面枠間隔W12=後間隔b1 +前間隔a2 −第1詰め量
1
【0049】第2文字M2 と第3文字M3 の両バウンデ
ィングボックスBB2 ,BB3 同士の字面枠間隔W
23は、詰め量0の場合のときの両ボックスBB2 ,BB
3 同士の間隔、つまり「後間隔b2 +前間隔a3 」が、
第2詰め量U2 だけ縮まったものであるから、下記式で
求まる。 字面枠間隔W23=後間隔b2 +前間隔a3 −第2詰め量
2
【0050】ステップS5( 第1文字M1 と第3文字
3 の文字間隔rM の算出):つぎに、文字間隔算出部
32により、第1詰め量U1 と第2詰め量U2 に従って
連続する第1〜3文字M1 〜M3 の3個の文字が順に詰
めて配置調整された場合の第1文字M1 と第3文字M3
との間隔(第1−第3文字間隔)rM を求める。ここで
は、第1−第3文字間隔rM とは、バウンディングボッ
クスBB1 ,BB3 同士の間隔(字面枠間隔)である。
図5は、第1〜3文字M1 〜M3 の3個の文字が順に詰
めて配置調整された場合の状態を示す。図5に示すこと
から分かるように、第1−第3文字間隔rM は、下記式
であらわすことができる。 第1−第3文字間隔rM =〔第2文字M2 の字面幅
2 〕+〔第1文字M1と第2文字M2 の両バウンディ
ングボックスBB1 ,BB2 同士の字面枠間隔W12〕+
〔第2文字M2 と第3文字M3 の両バウンディングボッ
クスBB2 ,BB3 同士の字面枠間隔W23〕 つまり、記号だけで示すと、rM =W2 +W12+W23
となる。上式において、第1詰め量U1 および第2詰め
量U2 が大きくて、両バウンディングボックスBB1
BB2 、あるいはBB2 ,BB3 同士が重なると、字面
枠間隔W12、あるいはW23が負の値をとる。結果、第1
−第3文字間隔rM が負の値をとれば、第1文字M1
第3文字M3 とが重なった状態になる。
【0051】文字間隔算出部32は、上式に基づき、詰
め量格納部16から読みだされた第1詰め量U1 および
第2詰め量U2 と、字面枠格納部31から読みだされた
字面枠間隔W12および字面枠間隔W23から第1−第3文
字間隔rM を算出する。
【0052】ステップS6(第1−第3文字間隔<最小
間隔の判定):文字間隔算出部32で求めた第1−第3
文字間隔rM が最小間隔r1 より小さいか否かを文字間
隔判定部33で判定する。文字間隔判定部33での判定
結果が「否」である場合(つまり、文字間隔rM ≧最小
間隔r1 )、第1文字M1 と第3文字M3 の間は適当に
開いている(r1 =0である場合は、両文字M1 ,M2
は重なっていない)ので、第1,2詰め量U1 ,U2
補正されないままとなる。
【0053】文字間隔判定部33での判定結果が「小さ
い」である場合(つまり、文字間隔rM <最小間隔
1 )、第1文字M1 と第3文字M3 は近づき過ぎで不
適当である(r1 =0である場合は、両文字M1 ,M2
が重なっている)ので、第1,2詰め量U1 ,U2 に対
して以下の補正処理を行うことになる。
【0054】図6(a),(b)に示すように、第2文
字M2 の「・」が小さくて、第1文字M1 や第3文字M
3 に第2文字M2 が深く食い込むと、バウンディングボ
ックスBB1 ,BB2 ,BB3 の重なり量が多くなり、
字面枠間隔W12および字面枠間隔W23が大きな負の値と
なる結果、第1−第3文字間隔rM も負の値となって、
配置調整状態では、図6(c)に示すように、「T」と
「T」が重なってしまう。このような場合は、詰め量の
補正をしなければならない。
【0055】そして、ここで重要なことは、本発明の場
合、改めて指示字面間隔r0 の指示を行い第1,2詰め
量U1 ,U2 自体の算出を繰り返すのではなく、第1,
2詰め量U1 ,U2 に最小限の変更を行うことで補正を
行うことである。第1,2詰め量U1 ,U2 の一方だけ
に補正を行い、他方はそのまま補正なしとすることでも
よいが、ここでは第1,2詰め量U1 ,U2 の両詰め量
をそれぞれ補正量ΔU1 ,ΔU2 だけ減らして文字間隔
M =最小間隔r1 となるようにする。これで、第1,
2詰め量U1 ,U2 を過度に補正することなく、最小限
の補正で文字間隔判定部33での判定結果が「否」(つ
まり、文字間隔rM ≧最小間隔r1 )へ変えられる。
【0056】ステップS7(第2文字M2 と第3文字M
3 の詰め量の補正):詰め量補正部34では、第1−第
3文字間隔rM =最小間隔r1 となるような補正量ΔU
1 ,ΔU2 を求めることになる。補正量ΔU1 ,ΔU2
の補正をした場合、第1−第3文字間隔rM は以下の式
となり、これが最小間隔r1 に等しい。 rM =W2 +W12’+W23’=r1 但し、W12’は、詰め量の補正を終えた後の第1文字M
1 と第2文字M2 の両バウンディングボックスBB1
BB2 同士の字面枠間隔であり、以下の式で表される。 字面枠間隔W12’=後間隔b1 +前間隔a2 −(第1詰め量U1 −ΔU1 ) =W12+ΔU1 23’は、詰め量の補正を終えた後の第2文M2 と第3
文字M3 の両バウンディングボックスBB2 ,BB3
士の字面枠間隔であり、以下の式で表される。 字面枠間隔W23’=後間隔b2 +前間隔a3 −(第2詰め量U2 −ΔU2 ) =W23+ΔU2
【0057】したがって、 rM =W2 +W12+ΔU1 +W23+ΔU2 =r1 第2文字M2 である「・」の場合、前間隔a2 と後間隔
2 が同じ寸法なので、補正配分を等しくすると補正量
ΔU1 =ΔU2 となり、 ΔU1 =ΔU2 =〔r1 −W2 −W12−W23〕/2 となって、右辺の各数値は全て既知であるから、Δ
1 ,ΔU2 の値が直ちに求まる。そして、第1詰め量
に対しては、〔第1詰め量U1 −ΔU1 〕を補正した詰
め量として決定して詰め量格納部16に格納する。ま
た、第2詰め量に対しても、〔第2詰め量U2 −Δ
2 〕を補正した詰め量として決定して詰め量格納部1
6に格納する。
【0058】この補正により、図6に示したような、第
1,3文字M1 ,M3 のオーバーラップ状態は解消され
て、図7(a),(b)に示すように、浅い食い込み状
態となって、バウンディングボックスBB1 ,BB2
BB3 の重なり量が少なくなり、間隔W12’および間隔
23’が僅かな負の量となる結果、第1−第3文字間隔
M は適度な正の量となって、配置調整状態では、図7
(c)に示すように、第1文字M1 と第3文字M3 は重
なることなく、適当な文字間隔となるのである。
【0059】ステップS8(第3文字に続く第4文字の
補正):第3文字の次に第4文字が続く場合、前記の過
程を、第1文字を第2文字とし、第2文字を第3文字と
し、第3文字を第4文字として、上記処理を行う。以
下、同様に続く文字がなくなるまで上記処理を繰り返し
行うことになる。カーニング処理終了時点で、各詰め量
を文字列情報格納部3に対応する文字コードに付加して
格納する。各詰め量が付加された文字列情報格納部3の
模式図を図9に示す。
【0060】ステップS9(文字列の出力):以上のよ
うな処理の後、制御部1は、文字列情報格納部3とフォ
ント格納部6を参照して、最終的な配置調整がなされた
文字列を表示・出力部8に表示出力する。
【0061】<第2実施例>図10は、第2実施例にお
いてカーニング処理の対象となる文字配列(ベタ組み)
を示す。本実施例では、第1文字M6 の「や」、第2文
字M7 の「、」および第3文字M8 の「て」の3つの文
字に対して横組みのカーニング処理を行うことになる。
なお、図10において、IB6 ,IB7 ,IB8 は仮想
ボディ、BB6 ,BB7 ,BB8 はバウンディングボッ
クス、F6 ,F7 ,F8 は字面(文字パターン)、
6 ,W7 ,W8 は字面幅、a6 ,a7 ,a8 は前間
隔、b6 ,b7 ,b8 は後間隔、実線矢印は詰め方向、
破線矢印は詰め逆方向である。
【0062】本実施例で使用する電子組版編集装置の概
略構成は、図1に示した第1実施例と同様であるので、
その説明は省略する。また、本実施例のカーニング処理
の全体的な流れも、図8に示す通りであり、第1実施例
のカーニング処理と共通する処理に関しては、重複を避
けるため説明を簡単に止める。
【0063】本実施例でのカーニング処理の概要は、先
ず第1文字M6 のあとへ第2文字M7 を詰めて配置調整
してから、さらに、第2文字M7 のあとへ第3文字M8
を詰めて配置調整し、ついで、第1文字M6 と第3文字
8 の文字間隔の適否を調べ、必要があれば第2文字M
7 の詰め量と第3文字M8 の詰め量の補正を行うという
点において第1実施例と同様である。本実施例の特徴
は、第2文字M7 の詰め量と第3文字M8 の詰め量の補
正量を、第2文字M7 の前間隔a7 と後間隔b7の比率
に応じて配分したことにある。以下、具体的に説明す
る。
【0064】ステップS1〜S6:第1実施例と同様
に、カーニング処理の対象となる文字列を入力・格納
し、(S1)、字面間隔r0 と最小間隔r1 を指示し
(S2)、基準文字と対象文字との字面間隔が指示字面
間隔r0 になるように第2文字M7 ,第3文字M8 の詰
め量U6 ,U7 を算出する(S3)。続くステップS4
で、第1文字M6 の後間隔b6 と第2文字M7 の前間隔
7 との和(b6 +a7 )から第2文字M7 の詰め量U
6 を差し引くことにより第1,第2文字M6 ,M7 の両
バウンディングボックスBB6 ,BB7 同士の間隔(字
面枠間隔)W67を求めるとともに、同様に、第2,第3
文字M7 ,M8 の両バウンディングボックスBB7 ,B
8 同士の間隔(字面枠間隔)W78を求める(図11参
照)。そして、第2文字M7 の字面幅W7 と第1,第2
文字M6 ,M7 の字面枠間隔W67と第2,第3文字
7 ,M8の字面枠間隔W78とから第1,第3文字
6 ,M8 の文字間隔rM を求め(S5)、この第1−
第3文字間隔rM が最小間隔r1 よりも小さいか否かを
判定する(S6)。
【0065】ステップS7(第2文字M7 と第3文字M
8 の詰め量の補正):第1−第3文字間隔rM が最小間
隔r1 よりも小さいと判定された場合、例えば図12に
示すように第1文字M6 の字面F6 と第3文字M8 の字
面F8 との間隔が狭くなり過ぎたり、あるいは重なった
りして、体裁が悪くなる。そこで、このステップS7で
は、第1実施例の場合と同様にして、文字間隔rM =最
小間隔r1 となるような補正量ΔU6 ,ΔU7 を求め
る。第1実施例と同様に、第1−第3文字間隔rM は以
下の式で表される。 rM =W7 +W67+ΔU6 +W78+ΔU7 =r1
【0066】ここで、第1実施例と同様に補正量Δ
6 ,ΔU7 を等しい配分(ΔU6 =ΔU7 )に設定す
ると、字面によって必ずしも体裁がよくならない場合が
ある。例えば、本実施例でカーニング処理の対象として
いる第2文字M7 である「、」は、図10に示したよう
に、その字面F7 が仮想ボディIB7 の左側寄りに位置
しており、前間隔a7 と後間隔b7 は等しくない。この
ような場合、補正量ΔU6,ΔU7 を均等にするより
も、前後の間隔a7 ,b7 の違いを補正量ΔU6 ,ΔU
7 の配分に反映させる方がバランスのより良い文字配置
にする上で好ましい。
【0067】そこで、本実施例では、 ΔU6 :ΔU7 =前間隔a7 :後間隔b7 と前後の間隔の比率に従ってΔU6 ,ΔU7 を定めてい
る。結果、補正量ΔU6,ΔU7 は次式のように表され
る。 ΔU6 =〔r1 −(W7 +W67+W78)〕×〔(a7
/(a7 +b7 )〕 ΔU7 =〔r1 −(W7 +W67+W78)〕×〔(b7
/(a7 +b7 )〕 右辺の値は全て既知であるから、ΔU6 ,ΔU7 の値が
直ちに求まる。
【0068】ステップS8,S9:上式で求められる補
正量ΔU6 ,ΔU7 で第2,第3文字M7 ,M8 の詰め
量U6 ,U7 を補正すると、以下、第1実施例と同様に
第3文字に続く各文字のカーニング処理を同様に行い
(S8)、文字列を出力する(S9)。図13にカーニ
ング処理された文字列配置を示す。図13(b)は本実
施例によって得られた文字配列の例、図13(a)は第
1実施例の手法で得られる文字配列の例である。いずれ
の手法によっても、「や」と「て」の文字間隔は同じ最
小間隔r1 となるのであるが、補正後の3つの文字のあ
いだの配置状態には、補正量の配分の違いに応じて若干
の差が出るから、適当と予想される配分処方を予め決め
ておくか、随時に選択可能なようにしておくようにすれ
ばよい。
【0069】なお、ベクトルフォントデータが組版に適
した位置にデザインされた(文字パターンが適切に配置
されている)ものである場合は、フォント情報あるいは
フォント情報を展開した文字パターンから前後の間隔
(左右の空き幅)の比率が求められるが、ベクトルフォ
ントデータが組版に適した位置にデザインされていない
場合、以下のようにすればよい。
【0070】すなわち、図14に示すように、文字位置
(中央、右空き、左空き)ごとに文字種を分類し、各々
の文字位置に応じた空き幅(前間隔・後間隔)を登録し
たテーブルを設定しておく。そして、第2文字M7 の文
字種がテーブルに登録されたものでないときは、補正量
ΔU6 ,ΔU7 を第1実施例の等配分処方に従って求
め、第2文字M7 の文字種がテーブルに登録されたもの
であるときは、ΔU6 ,ΔU7 をテーブルに登録された
空き幅の比率に従って求めるようにすればよい。テーブ
ルを登録するためのメモリ容量が必要となるが、フォン
ト情報などから空き幅の比率を求める処理がなくなるの
で処理が速くなる。
【0071】本発明は、以下のように変形実施すること
ができる。 (1) 第2実施例における補正量ΔU6 ,ΔU7 を、
バウンディングボックスBB6 ,BB7 同士の間隔、つ
まり字面枠間隔W67とバウンディングボックスBB7
BB8 同士の間隔、つまり字面枠間隔W78の比率(言い
換えればバウンディングボックス同士の重なり量の比
率)に応じて設定してもよい。すなわち、 ΔU6 :ΔU7 =字面枠間隔W67:字面枠間隔W78 とする。この場合、ΔU6 ,ΔU7 は次式で表される。 ΔU6 =〔r1 −(W7 +W67+W78)〕×〔(W67
/(W67+W78)〕 ΔU7 =〔r1 −(W7 +W67+W78)〕×〔(W78
/(W67+W78)〕 右辺の値は全て既知であるから、ΔU6 ,ΔU7 の値が
直ちに求まる。この例によれば、補正前の前後の文字の
重なりの程度をそれぞれ考慮して詰め量を補正をするの
で、補正後の文字の配置がよりバランス良くなることが
期待できる。この補正手法は、等配分処方による補正の
場合と共に、欧文文字などのように、いわゆる空き幅が
ない(バウンディングボックスが仮想ボディでもあると
いう)文字にも適用が可能である。
【0072】(2) 第2実施例におけるΔU6 ,ΔU
7 を、第2文字M7 の前間隔a7 と後間隔b7 の比率
(左右の空き幅の比率)に従って定めた補正量と、間隔
67と間隔W78の比率に従って定めた補正量とを平均化
することによって求めてもよい。すなわち、 ΔU6 =〔r1 −(W7 +W67+W78)〕×
{〔(a7 )/(a7 +b7 )〕+〔(W67)/(W67
+W78)〕}×〔1/2〕 ΔU7 =〔r1 −(W7 +W67+W78)〕×
{〔(b7 )/(a7 +b7 )〕+〔(W78)/(W67
+W78)〕}×〔1/2〕 となる。補正前の前後の文字の重なりや文字の空き幅を
考慮して補正をするので、補正後の文字の配置がよりバ
ランス良くなることが期待できる。
【0073】(3) 第2実施例におけるΔU6 ,ΔU
7 の配分が、第1,第2詰め量U6 ,U7 の比率に応じ
たものが他の実施例としてあげられる。すなわち、 ΔU6 :ΔU7 =第1詰め量U6 :第2詰め量U7 とする。左右の重なり量の比率に従ってΔU6 ,ΔU7
を定めると、 ΔU6 =〔r1 −(W7 +W67+W78)〕×〔(U6
/(U6 +U7 )〕 ΔU6 =〔r1 −(W7 +W67+W78)〕×〔(U7
/(U6 +U7 )〕 となる。詰め量には隣り合う文字の間の空き幅が含まれ
ているので、これを考慮した補正がなされた場合は、補
正後の文字の配置のバランスが一層良くなることが期待
できる。
【0074】(4) 第2実施例におけるΔU6 ,ΔU
7 の配分を、図15に示すように、文字毎に予め登録さ
れた適当な比率Q1 ,Q2 を使って決定するようにして
もよい。例えば、 ΔU6 :ΔU7 =Q1:Q2 とする。この場合、ΔU6 ,ΔU7 は次式で求められ
る。 ΔU6 =〔r1 −(W7 +W67+W78)〕×〔(Q1)
/(Q1+Q1)〕 ΔU7 =〔r1 −(W7 +W67+W78)〕×〔(Q2)
/(Q1+Q2)〕 文字毎に予め登録された適当な比率Q1 ,Q2 に応じた
補正により、補正後の文字の配置のバランスが一層良く
なることが期待できる。ただ、文字毎に比率Q1,Q2
を登録するためにメモリ容量が必要となる。また、上記
(2)において、a7 に代えてQ1を、b7 に代えてQ
2を採るようにしてもよい。
【0075】(5) 第1,第2実施例では、第1,第
2詰め量を各文字ごとに逐次求めるようにしていたが、
図16に示すように、文字ペアごとに詰め量を予め登録
したテーブルを使って第1,第2詰め量を求めてもよ
い。文字ペア毎に詰め量がテーブルのかたちで登録され
ている場合、テーブル上の詰め量は自在に変更可能な形
態ではないことから、文字の重なりを回避するために、
詰め量は少なめで(浅い詰め量で)設定されるのが普通
である。しかし、本発明の場合は、テーブル上の詰め量
が多めであって第1,第3文字が重なる場合でも、その
重なりを容易に解消できるので、テーブル上の詰め量の
設定範囲の制限を少なくすることができる。
【0076】(6) 第1,第2実施例では、最小字面
間隔L1 ,L2 や最小字面間隔L6 ,L7 を隣接する2
文字の一次元的な字面間隔として処理していたが、以下
に述べるように、最小字面間隔を隣接する2文字の二次
元的な字面間隔として処理するようにしてもよい。すな
わち、直前に配置された文字を基準文字とし、次に続く
文字を対象文字として、基準文字のあとへ対象文字を詰
めて配置調整する際に、基準文字と対象文字の字面同士
の最短間隔を、2次元的な間隔量(字面間隔量)で指定
する。そして、図17(a)に示すように、指定された
文字サイズに応じたベクトルデータをもとにして例え
ば、10×10のドット数で構成した対象文字のドット
パターンデータBを作成し、同様に10×10のドット
数で構成した基準文字のドットパターンデータAを作成
する。この基準文字のドットパターンデータAに向けて
対象文字のドットパターンデータBを1ドットづつシフ
トさせる。図17(b),(c)に示すように、そのシ
フト毎に、前記シフト方向(左右方向)と直交する方向
(上下方向)で両ドットパターンデータA,Bの字面F
A,FB間が最短距離となる一対のドット(候補点ペ
ア:(g,g)、(h,h))を求める。また、両文字
の仮想ボディIBA・IBBが接する状態〔図17
(a)の状態〕における各候補点ペア(g,g)や
(h,h)のそれぞれの候補点間の前記シフト方向の間
隔情報と、これに直交する方向の間隔情報とを記憶す
る。
【0077】そして、各候補点ペアのシフト方向(左右
方向)の間隔情報と、これに直交する方向(上下方向)
の間隔情報と、前記指定された2次元字面間隔量とに基
づいて、前記両文字の仮想ボディが接した状態から対象
文字を基準文字に対して接近させて、各候補点ペアの間
隔が指定された字面間隔量となるまでの詰め量を各候補
点ペア、つまり(g,g)や(h,h)のそれぞれにつ
いて算出する。ついで、算出された各詰め量のうち、最
小となる詰め量を求め、この最小の詰め量で基準文字に
対して対象文字を配置する。最小の詰め量でもって基準
文字に対して対象文字を配置するので、字面同士が重複
することなく、かつ、字面間隔を指定された2次元字面
間隔量にできる。また、字面間隔量を変更する場合は、
候補点ペアの抽出を再度実行することなく、既に記憶さ
れている両間隔情報と、新たに指定された字面間隔量と
から詰め量が算出される。
【0078】このようにして、最も近接する2文字の2
次元的な字面間隔を対象にして詰め量が算出されたあと
は、第1文字と第3文字の文字間隔の算出から詰め量の
補正に至るまで、第1,第2実施例の処理と全く同様に
して進めることができ、2次元的な字面間隔を対象にし
て詰め量を算出した場合も何ら不都合を生ずることな
く、本発明を適用することができる。
【0079】(7)第1,第2実施例の場合、いずれ
も、文字列を横組みするカーニング処理であったが、本
発明は、文字列を縦組みするカーニング処理にも同じよ
うにして適用することができる。
【0080】
【効果】以上の説明から明らかなように、本発明によれ
ば次のような効果を奏する。請求項1に記載の発明によ
れば、文字配列中に小さな文字がある場合でも、小さな
文字の前後に配置される文字同士が近づき過ぎることな
く、バランス良く文字が配置される上、必要な詰め量の
補正処理を簡単に行うことができる。
【0081】請求項2に記載の発明によれば、文字同士
の詰め量が文字の種類に応じた適切なものとなり文字の
配置のバランスが良くなる。また、文字ペアの詰め量を
予めテーブルに設定しておく場合に比較してメモリ容量
を少なくすることができる。
【0082】請求項3に記載の発明によれば、第1文字
と第3文字との間隔が容易に求められるので、詰め量の
補正処理が簡単かつ迅速になる。
【0083】請求項4に記載の発明によれば、詰め量の
補正結果が適切なものとなり、文字をバランス良く配置
することができる。
【0084】請求項5に記載の方法によれば、詰め量の
補正処理を簡単かつ迅速に行うことができる。
【0085】請求項6に記載の方法によれば、第2,第
3文字の詰め量の各補正量が、第2文字の文字枠内の文
字面の配置位置(詰め方向と詰め逆方向の空き幅)に応
じたものになるので、詰め量の補正結果がより適切なも
のとなる。
【0086】請求項7に記載の方法によれば、第2,第
3文字の詰め量の各補正量が、補正前の文字の重なりの
程度に応じたものになるので、詰め量の補正によりバラ
ンスの良い文字配置になる。
【図面の簡単な説明】
【図1】実施例で使用する電子組版編集装置のブロック
図である。
【図2】第1実施例でカーニング処理の対象となる3文
字の「ベタ組み」状態を示す説明図である。
【図3】第1実施例での前2文字の「ベタ組み」状態を
示す説明図である。
【図4】第1実施例での後2文字の「ベタ組み」状態を
示す説明図である。
【図5】第1実施例での3文字の「詰め配置」状態を示
す説明図である。
【図6】第1実施例での文字の重なり配置状態を示す説
明図である。
【図7】第1実施例での文字の重なり補正後の配置を示
す説明図である。
【図8】第1,第2実施例での処理全体の流れの概略を
示すフローチャートである。
【図9】実施例での文字列情報格納部を模式的に示す説
明図である。
【図10】第2実施例でカーニング処理の対象となる3
文字の「ベタ組み」状態を示す説明図である。
【図11】第2実施例での3文字の「詰め配置」状態を
示す説明図である。
【図12】第2実施例での文字の重なり配置状態を示す
説明図である。
【図13】第2実施例での文字の重なり補正後の配置例
の説明図である。
【図14】文字種と空き幅とのテーブルを模式的に示す
説明図である。
【図15】文字種と補正配分比とのテーブルを模式的に
示す説明図である。
【図16】文字ペアと詰め量とのテーブルを模式的に示
す説明図である。
【図17】文字詰めの変形例を模式的に示す説明図であ
る。
【図18】文字構造を模式的に示す説明図である。
【符号の説明】
1…制御部 15…詰め量演算部 21…最小間隔指示部 30…字面枠間隔算出部 32…文字間隔算出部 33…文字間隔適否判定部 34…詰め量補正部 r0 …指示字面間隔 r1 …最小間隔 rM …第1−第3文字間隔 W2 …字面幅 W12…字面枠間隔 W23…字面枠間隔 U1 …第1詰め量 U2 …第2詰め量 ΔU1 …補正量 ΔU2 …補正量
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−206822(JP,A) 特開 平2−243343(JP,A) 特開 平7−96594(JP,A) 特開 平7−137222(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/32 630 B41B 19/00 B41B 27/00 G06F 3/12 G06F 17/21

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 文字パターン(字面)を内に配置してな
    る文字枠(仮想ボディ)に基づき、3個以上の各文字を
    所定の配列方向に順に配置するときに、直前に配置され
    た文字を基準文字とし、次に続く文字を対象文字とし
    て、基準文字のあとへ対象文字を詰めて配置調整する過
    程を含んでなるカーニング処理方法であって、 3つの文字が順に詰められて配置調整された場合の前記
    各文字(先頭の第1文字,真ん中の第2文字,後尾の第
    3文字)のうちの第1文字と第3文字との間隔(第1−
    第3文字間隔)を求める文字間隔算出過程と、 前記文字間隔算出過程で求められた第1−第3文字間隔
    が予め指示された基準間隔より小さいか否かを判定する
    文字間隔判定過程と、 前記文字間隔判定過程での結果が小さいという判定結果
    のときは、前記第1−第3文字間隔が前記基準間隔と同
    等以上となるように、第2文字の詰め量および第3文字
    の詰め量のうちの少なくとも一方の詰め量に対して補正
    を行う詰め量補正過程と、 を含むことを特徴とするカーニング処理方法。
  2. 【請求項2】 請求項1記載のカーニング処理方法にお
    いて、基準文字と対象文字の両文字の字面同士の間隔
    (字面間隔)が予め指示した指示字面間隔と対応するよ
    うな詰め量を逐次求める詰め量算出過程を含んでいて、
    この詰め量算出過程で算出された詰め量に従って基準文
    字に対する対象文字の配置調整がなされるカーニング処
    理方法。
  3. 【請求項3】 請求項1または2に記載のカーニング処
    理方法において、第1文字と第3文字の文字間隔が、そ
    れぞれの字面の最大外形を矩形に囲むバウンディングボ
    ックス(字面枠)同士の間隔(字面枠間隔)であり、文
    字間隔算出過程は、 第2文字の詰め量と第1文字における詰め逆方向側での
    文字枠と字面枠との間隔(空き幅)および第2文字にお
    ける詰め方向側での文字枠と字面枠との間隔(空き幅)
    に基づき、第1文字および第2文字との字面枠間隔を求
    める過程と、 第3文字の詰め量と第2文字における詰め逆方向側での
    文字枠と字面枠との間隔(空き幅)および第3文字にお
    ける詰め方向側での文字枠と字面枠との間隔(空き幅)
    に基づき、第2文字と第3文字との字面枠間隔を求める
    過程と、 前記2つの字面枠間隔および第2文字の詰め方向での字
    面寸法に基づき、第1文字と第3文字の文字間隔を求め
    る過程と、を含むカーニング処理方法。
  4. 【請求項4】 請求項1から3までのいずれかに記載の
    カーニング処理方法において、詰め量補正過程では、第
    2文字の詰め量および第3文字の詰め量の両詰め量に対
    して、予め定められた配分処方に従って補正がなされる
    カーニング処理方法。
  5. 【請求項5】 請求項4に記載のカーニング処理方法に
    おいて、予め定められた配分処方が、両詰め量に対する
    補正量を各々等しいものとすることであるカーニング処
    理方法。
  6. 【請求項6】 請求項4に記載のカーニング処理方法に
    おいて、予め定められた配分処方が、両詰め量に対する
    補正量を、第2文字における詰め方向側での文字枠と字
    面枠との間隔(空き幅)と、第2文字における詰め逆方
    向側での文字枠と字面枠との間隔(空き幅)の比率に応
    じたものとすることであるカーニング処理方法。
  7. 【請求項7】 請求項4に記載のカーニング処理方法に
    おいて、予め定められた配分処方が、両詰め量に対する
    補正量を、第1文字および第2文字との字面枠間隔と、
    第2文字および第3文字との字面枠間隔の比率に応じた
    ものとすることであるカーニング処理方法。
JP19801495A 1995-07-10 1995-07-10 カーニング処理方法 Expired - Fee Related JP3354754B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP19801495A JP3354754B2 (ja) 1995-07-10 1995-07-10 カーニング処理方法
US08/676,509 US5802532A (en) 1995-07-10 1996-07-08 Kerning method and electronic typographic/editing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19801495A JP3354754B2 (ja) 1995-07-10 1995-07-10 カーニング処理方法

Publications (2)

Publication Number Publication Date
JPH0926778A JPH0926778A (ja) 1997-01-28
JP3354754B2 true JP3354754B2 (ja) 2002-12-09

Family

ID=16384084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19801495A Expired - Fee Related JP3354754B2 (ja) 1995-07-10 1995-07-10 カーニング処理方法

Country Status (2)

Country Link
US (1) US5802532A (ja)
JP (1) JP3354754B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128632A (en) * 1997-03-06 2000-10-03 Apple Computer, Inc. Methods for applying rubi annotation characters over base text characters
JP2000163044A (ja) * 1998-11-30 2000-06-16 Sharp Corp 画像表示装置
JP3278415B2 (ja) * 1999-08-24 2002-04-30 株式会社クリエイティブ・ブレインズ テキストデータの印刷方法および印刷装置
US7305617B2 (en) * 2000-02-12 2007-12-04 Adobe Systems Incorporated Method for aligning text to baseline grids and to CJK character grids
JP5465819B2 (ja) 2000-02-12 2014-04-09 アドビ システムズ, インコーポレイテッド テキストグリッド作成ツール
US7071941B2 (en) * 2000-02-12 2006-07-04 Adobe Systems Incorporated Method for calculating CJK emboxes in fonts
JP4112200B2 (ja) * 2000-09-25 2008-07-02 アドビ システムズ, インコーポレイテッド 文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
JP3795784B2 (ja) * 2000-09-25 2006-07-12 アドビ システムズ, インコーポレイテッド アイコン表示付き文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
US7296227B2 (en) 2001-02-12 2007-11-13 Adobe Systems Incorporated Determining line leading in accordance with traditional Japanese practices
JP3552106B2 (ja) * 2001-06-20 2004-08-11 シャープ株式会社 文字表示装置、文字表示方法、プログラムおよび記録媒体
US7167274B2 (en) * 2001-09-28 2007-01-23 Adobe Systems Incorporated Line leading from an arbitrary point
US20050106537A1 (en) * 2002-04-18 2005-05-19 Andrew Chepaitis Dynamic tactile and low vision fonts
US20060035199A1 (en) * 2002-04-18 2006-02-16 Chepaitis Andrew J Alphanumeric font for the blind and visually impaired
US7039862B2 (en) * 2002-05-10 2006-05-02 Adobe Systems Incorporated Text spacing adjustment
US20040125107A1 (en) * 2002-12-26 2004-07-01 Mccully Nathaniel M. Coordinating grid tracking and mojikumi spacing of Japanese text
US7123261B2 (en) * 2002-12-26 2006-10-17 Adobe Systems Incorporated Coordinating grid tracking and mojikumi spacing of Japanese text
KR100510145B1 (ko) * 2003-08-04 2005-08-25 삼성전자주식회사 비례 폰트를 지원하는 온 스크린 표시 장치 및 그 방법
US7594171B2 (en) * 2004-10-01 2009-09-22 Adobe Systems Incorporated Rule-based text layout
US7492366B2 (en) * 2005-05-13 2009-02-17 Microsoft Corporation Method and system of character placement in opentype fonts
US8020091B2 (en) * 2005-07-15 2011-09-13 Microsoft Corporation Alignment and breaking of mathematical expressions in documents
US8306356B1 (en) 2007-09-28 2012-11-06 Language Technologies, Inc. System, plug-in, and method for improving text composition by modifying character prominence according to assigned character information measures
US8243077B2 (en) * 2008-08-29 2012-08-14 Dynacomware Taiwan Inc. Method for generating stroke-based font characters for a low-resolution display
US9734132B1 (en) * 2011-12-20 2017-08-15 Amazon Technologies, Inc. Alignment and reflow of displayed character images
US9928572B1 (en) 2013-12-20 2018-03-27 Amazon Technologies, Inc. Label orientation
JP7090894B2 (ja) * 2018-07-26 2022-06-27 武蔵エンジニアリング株式会社 文字列表示装置および文字列表示方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02243343A (ja) * 1989-01-13 1990-09-27 Dainippon Screen Mfg Co Ltd カーニング処理用字面データ作成方法およびカーニング処理方法
JP2756292B2 (ja) * 1989-02-07 1998-05-25 キヤノン株式会社 文書出力装置
TW363158B (en) * 1993-06-25 1999-07-01 Omron Tateisi Electronics Co A system for automatic adjustment of, character spacing
JP3111811B2 (ja) * 1993-06-25 2000-11-27 オムロン株式会社 文字間隔調整装置および方法
US5590247A (en) * 1993-08-31 1996-12-31 Casio Computer Co., Ltd. Character string outputting method and apparatus capable of varying sizes of characters
JP2888745B2 (ja) * 1993-09-22 1999-05-10 大日本スクリーン製造株式会社 文字間隔調整方法
JP2828592B2 (ja) * 1994-02-28 1998-11-25 大日本スクリーン製造株式会社 カーニング処理方法
US5623593A (en) * 1994-06-27 1997-04-22 Macromedia, Inc. System and method for automatically spacing characters

Also Published As

Publication number Publication date
US5802532A (en) 1998-09-01
JPH0926778A (ja) 1997-01-28

Similar Documents

Publication Publication Date Title
JP3354754B2 (ja) カーニング処理方法
US11461077B2 (en) Method of displaying data in a table with fixed header
US5501538A (en) Apparatus and method for adjusting character spacing
JP2756292B2 (ja) 文書出力装置
EP0821312B1 (en) Pointsize-variable character spacing
JP3111811B2 (ja) 文字間隔調整装置および方法
JPH08106276A (ja) スクリーン上でのテキスト表示方法
US6614432B1 (en) Image rendering technique
JPH07149005A (ja) 文書作成装置
EP0701242A2 (en) Method of generating multiple-master typefaces
JP3408685B2 (ja) カーニング処理方法
JP4330954B2 (ja) 日本語テキストの調整用グリッドトラッキング及び文字組間隔
US5671295A (en) Apparatus for converting image outline data into dot data representative of dots to be formed
JP2726951B2 (ja) 文字・図形描画装置
US7821515B2 (en) Method for automatic font character height restriction
US5995674A (en) Image processing apparatus with shape-correction of a contour-specified figure
JP3173188B2 (ja) 文字配置決定装置及びワークステーション
JP3039015B2 (ja) 文字処理装置
EP1048456B1 (en) Generating a glyph
JPS62263065A (ja) ドツトパタ−ン・デ−タの拡大制御装置
JP3708828B2 (ja) 行組版制御可能なdtpシステム、行組版制御方法、行組版制御プログラム及びそれを記録した記録媒体
JPH0580741A (ja) 文字フオント生成方式及び装置
JP3227047B2 (ja) 文字処理装置
JP3034381B2 (ja) 字詰テーブル作成装置
JPH1031476A (ja) 文書作成処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080927

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees