以下、図を参照して本発明の実施の形態を説明する。先にも述べたが。本願における特許請求の範囲、並びに明細書において、「文字」は、文字・記号・文字における部首あるいは、部首のごとく記号を構成する区分けされた部分で構成された文字・記号あるいはマークとして識別される絵記号を含んでいる。
形状とは、文字としてデザインされた線・点であり、又はそれぞれが輪郭を有したものを示す。図12Aでは「上」の輪郭内であるAの部分が形状である。形態とは、文字の形状とその背景を特徴付ける部分である。形状と背景において値あるいは重み付けを有する単位面積あるいは座標点で構成するとより明確に、文字の重心に影響を与える範囲を示せる。形状は、形状以外の部分の値、重み付けを「0」あるいは範囲を限って一定値としたものに相当する。
形態の範囲は、図12Aで「上」を事例に取ると、形状であるAの部分としてもよく、ストローク、輪郭線の先端の近傍である(12−1)の領域、近傍点の点を定めその結線を線上に有する閉曲線の内部の(A+B)の領域としても良い。事例で示した閉曲線X1〜X8は形状上の点であり、先端部の端点でもある点X1・・点X5・・点X8を含み端点間を結んだX2−X3、X4−X5、X1−X8を含み、更に輪郭線X1−X2、X3−X4、X5−X6、X7−X8を含んでいる。又 形状Aを、内部に含んでいる。更に図12Aでは線を示していないがX1とX2の中心点とX3とX4の中心点、X5とX6の中心点、X7とX8の中心点を結んで構成される閉曲線の内部をひとつの領域としても良い。形状の点やその周辺に存在する点に対して、値と重みを設定することで形態の設定条件は成立する。近傍点は、近傍であれば形状上に無くてもよい。又、必要に応じて選択的に抽出する点であっても良い。更に、形状の輪郭線を閉曲線に含んでも良い(12図Aの閉曲線は、(12−3)を含んでいる)。
形態の取扱いは、形状の内部・周辺の各部分・座標における値や重み付けを変えることで文字の形状そのものだけでなくその周辺の状況も含めて相互に影響しあう点の影響度を考慮して定めることができる。形状上の点でなくても良いのは、後述する文字の特性値が、文字を取り巻く環境を大きく含めて定まるものであり従来の技術のように文字の形状を克明に復元しようとする算出を行っているものでないことの例の一つでもある。
図12Bは、図12Aの各部の説明を、提示している。図13では各部の点に値と重みを与えた事例を示した。即ち、各領域をどのように扱うかで形態は、定められることや、重心の求め方として事例的に後述している質量型・ポテンシャル型においてとして少ない点に限定した場合の求め方を、簡易的に示している。具体的には値と重みがどう関係するかを後述し、「文字とその取り巻く環境を含めた定量的取扱い」が可能であること示している。
形態は、特定する値・重みに対しては、形状の部分(図12AのA)、背景における枠の内部(図12AのA・B・C)、あるいは文字を輪郭外周にある陰の部分(図14)、背景にある模様や色彩の部分、近傍点を結んだ閉曲線の内部(A・B)、隣接する文字形状部(Dの形状部)、枠外の外部(E)等の点をどのように定めるかで決まる。 文字をどのような背景環境・隣接環境で利用するかということを考慮に入れて影響を与える点の値と重みを決めることで条件付けることができる。条件は、取り扱い方を統一した扱いとしてもよく、文字個々で定めて基準特性値としても良く、あるところまでは統一して扱う、ある部分は個別に決める等、条件を重ねて実施しても良い。
いずれにしても、形状・背景の構成点の値と重みを与えることを含んで定められた条件で決まる文字の形態に対して文字の特性値が定められる。又、背景の影響を受けない場合の文字の形態として、形状だけを形態としたり、背景を白地と定めて特定の値を与えて形態としたりして定めることも可能となる。
1.本発明の基本思想
本発明の基本思想の1つである文字をその背景を含めた形態として条件付ける事で、背景も考慮に入れた文字の固有の特性を示す特性値を算出でき、ひとつの文字に対してひとつあるいは、所定の部首にひとつの特性値を算出することができる。即ち、文字を少なくともひとつの特性値で周辺の環境も含んで特徴付けることが可能となる。文字の定量的特性値表現は、新たな概念であり、新たな技術の開示である。
特性値を表すものとして、重心という考え方が取れる。重心は、最終的に重心の座標で表されるが、これを同じ算出方法で処理できる文字の平均質量、平均ポテンシャル・総質量・総ポテンシャルで取り扱うことも可能である。ここでは、重心の概念について説明する。従来、文字を取り扱う世界では、文字の重心・中心という言葉がある。文字の表現としては同じであるが、求め方も用いる観点大きく異なっており、混同しないため以下、補足する。文字を取り扱う場合に、観念的に、文字の評価として「文字の重心・重心線」あるいは「文字の中心・中心線」の表現を用いることがあるが、これは、文字の形態(ほとんどの場合は、一定背景による一定色での形状での取り扱い)・太さ等の文字構成を観察した場合に文字のバランスの中心を主観的な見地において定めるものであり、書体、形状の色・背景の色、文様・上下左右に隣接する文字の並びにおいても影響を受け、あくまで人の主観で定められた重心であり、人によりバラツキがあり、定量的に定められない。
本願における文字の重心は、前記主観的文字の重心・中心のように人によりバラツカず、誰が算出しても固有の値が求められ文字の形態に準じた値であり、文字の見やすさ品位を示す特性値として機器で処理できるパラメータとして定量化したものである。又この追求方法は、従来の先行技術とも全く異なった技術開示であることは先に述べた。即ち、すべての文字を少なくともひとつの固有値・座標で表現できる新しい概念である。視点を変えれば、特性値が集約できる象限に、文字の形態的特性を象限変換(関数変換)し、各文字の投影結果を基準に、各文字を制御する手法である。即ち、重心は、文字の形態を示す座標点における各値の累和・累積あるいは相関関数により算出され、形態に固有の特性を表す特性値といえる。
又、文字はひとつの文字で成り立つというより多くの弁別符号として一定の符号の集まりとして機能しており、構造上も共通の部分を有している。一般的文字・記号・絵記号において同じである。特に、一般の文字の場合は、部首の選択で同じものを定め共通に利用する考え方で文字の記憶量を削減する手法があるが、このような場合は、ひとつの文字をひとつの特性値で現さず、定めた部首に対して特性値を求めると、ひとつの文字は、定められた部首の数だけ特性値を持つことができる。部首で事例を示したが、記号・絵記号の部分を同じ考え方で表現し、複数の特性値でひとつの記号・絵記号を現すこともおなじ概念である。
特性値を、後述で詳細に説明する文字の重心でみると、文字が記述された枠内での重心の見方、縦・横に並んだ文字間での影響を考慮した重心、背景の色や紋様の影響を考慮した重心、文字の形状の輪郭内の色や文様の影響等、文字とその周辺環境に応じて基準となる文字の形態をどうするか決め、使い分けることができる。事例的な運用を考えれば、背景は白、形状は黒、文字の枠として特性値を算出するとか、一定の手法で定めた閉曲線であるシルエットの中を黒としたり、形状を黒、形状外のシルエットをグレー、シルエット以外の背景を白として値と重みを変化させて算出する重心を使うこともできる。文字の形態の定め方や特性値の算出方法の定め方で文字の主観的重心に近い定量的重心を求める事もできる。結果的には、所定の条件のもと範囲を設定して文字の形態としてその特性値を持って取り扱う事となる。
実験によれば文字の重心を求める算出方法を、操作することで前記主観で定まる文字の重心等に近づけうることが判明している。文字の形態として考察する範囲をどうするかは、文字の骨格だけを考慮に入れて評価する、あるいは、背景を考慮する等、求める条件で範囲が代わり、重心の算出を何に依存させるかも含め選択可能である。たとえば、白い背景に黒い文字があった場合、文字を徐々に小さくしていくと文字のストロークどうしが接近し、黒い塊として認知される。これは、文字のストローク端点を結び外接した多角形の内側を黒で塗りつぶした状態と近似している。また、文字が大きい場合は、文字のシルエットを認知することはない。また、文字の大きさが変化していく中で、シルエットの中の黒いストローク以外の空間は、白から黒まで段階的に明度が変化した状態で認知される。
文字形態の範囲を、文字の形状だけの場合から、文字のシルエット内を黒く塗りつぶした場合も考えうる。この場合、主観的な重心の位置も変化しており、定量的な重心を定める形態とその座標点の値や重みを変化させれば主観の重心に近づけうる結果を得ており、又、定量的取り扱いゆえに特性値と形態の定め方・重心求め方・影響を受ける座標と与える座標の設定の仕方で展開できる体系的取り扱いも可能となっている。
特性値の使い方を示せば、対象となる文字の形態に基づいて、文字の特性値として算出された前記対象文字の固有の特性を示す対象特性値と、基準の文字の特性値として算出された基準文字の固有の特性を示す基準特性値あるいは所定の基準値と前記対象特性値を比較し、比較結果に応じて、対象文字の特性度を判定することで種々の特性値の活用が可能となる。
事例的に記述すると、基準文字と対象文字の各特性値を個別に算出し、基準特性値と対象特性値を比較する。比較結果を所定の条件で判定し、判定結果により対象文字の形態データを制御するあるいは、出力する。所定の条件とは、比較結果が一定基準の内・外、複数の比較結果の内で最も近い・遠い等であってもよく、制御としては、対象文字の採用・不採用を伴うものであってよい。又、これらによって対象文字の選別を可能としても良い。
2.文字の形態の考え方
文字の形態の概略については、図12A・図12B・図13で前述したが、今一度まとめれば下記のようになる。
形態について、更に、説明すれば、文字の形態をデザイン的に通常認識し得る形状に限定して形態とする、又は、文字のストロークあるいは輪郭を形成する線の端点のうち、選別的に定められた選別端点を通る線を含んで構成される閉曲線の内部領域を形態とする、あるいは選別端点間に引いた線と文字の輪郭で構成される閉曲線の内部領域を、前記文字の形態とする手法も考えられる。
更に、ストロークや輪郭の先端部の点は、形状上にあってもよく、形状外にあるが先端の近傍の点であっても良い。当然近傍の点は、形状上の点も含んでいる。前記近傍の点には、ストローク等の先端部分が内部にある点もあり、形状を囲む外周線に近い点もある。これらは、文字個々で定めることも、一律に定めることもできる。即ち、文字により定まる選択的な点といえる。少なくとも選択的に定めた2点を結ぶ線を含む閉曲線の領域内部が、形態の範囲とできる。形状の過半数部分は、これに含まれる。
更に、背景を考慮する際に、周辺に並んだ文字も含めて背景とし、重み付けや値の設定で、重心を求める手法に、容易に組み込むことができる。これらの手法の範囲は、文字の取り扱い方で定めることができる。
尚、シルエットにおいて形状部分と他のシルエットの値や重みを変えて用いてもよい。言い換えれば、前記文字の形態が、文字のストロークあるいは文字の輪郭を形成する線の先端部ならびに点の近傍に定めた近傍点の2点を結んだ線を少なくとも一つ線上に有し、文字の形状部分を過半数含んだ閉曲線で囲まれる領域の内側を範囲とできる。当然、前記近傍点が、文字のストロークあるいは文字の輪郭を形成する線の先端部ならびに点で形成される文字の形状上の点であっても良い。更に、前記閉曲線が、文字の輪郭を形成する線を少なくともひとつ線上に有していることもできる。
文字の形態は、各点の値と重みを設定することで種々取り扱える。重心を具体的に算出する場合には、各点の座標位置が重要となる。文字の形状と背景・隣接する文字を含む範囲にある座標点の位置・値ならびに重みの設定により重心は特定される。 座標点の算出上の値は、座標点の値と重みとの積が用いられる。事例的に考えれば、形態は、周辺の重み・値をすべて一定の値、としたものを標準形態とすることも可能であり、一定の値を0とすれば形状に等価として扱え、背景と独立に扱える。
又、背景の座標点の範囲を限定する例えば文字枠の中、文字の形状の周辺に形状に応じた影の部分、又後述する文字シルエットの部分等に限定した取り扱いもできる。文字形態の範囲を、更に、補足すれば、形状の輪郭の内側、ならびに背景部分は、後述する算術式の各座標点で重み付けを変えてもよく、各座標で値を違えても良い。更にその周辺に背景色があれば、色の展開に応じて形態とすることも可能である。即ち、文字の周辺を含む条件によって定まる文字の特性値を算出する範囲である。
言い換えれば、文字の形態とは、文字が利用されるいろいろな背景で文字を取り扱う場合、その背景の環境も含んで標準的に取り扱える文字の見易さを定量的に定める策定領域である。文字としてデザインされた形状とその周辺の領域において影響を及ぼしあうとして予め定めた範囲である。利用において限定して扱えば、形状を含めた文字の近傍において最も強く主観に影響が受ける部分を主形態、与える範囲を従形態として取り扱うことも可能である。背景部分は、範囲を選別して影響度により特性値の算出上の重みや値を変えたりして影響度のレベルを調節できる。
そのひとつを、事例的に言えば、文字を構成する部分の重みは1となし、背景については、0、0.5、0.05等の重みを持たせて算出する事が可能である。
図13には、図12Aで示した「上」の文字と背景、隣接する文字に対して値と重みを設定し、後述する質量の重心、ポテンシャルの重心で用いる点値の簡易算出方法を事例している。各領域A〜Eの各点P1n〜P6nの点の値と重みの設定のより重心を求める点値がP11においていくらになるかを、重心を質量・ポテンシャルのいずれかで求めた場合を事例的に算出している。各点の座標を示すと複雑となるので、両者の違いが克明に出る点値の算出で記述している。重心の算出は、点値が定まれば同じ考え方で算出できるのは後述する式から明らかである。
3.特性値である重心が、質量の重心である場合
文字の形態に固有の特性を表す特性値を文字の重心とし、重心は、文字の質量の重心を求めることで、前記、課題を解決することができる。文字の質量を求めるやり方のひとつを以下に示す。
文字の形態は、形態として定めた範囲を構成する単位面積の集合であり、単位面積部分が有する特定の値を単位量と呼び、単位量の総和を文字の質量とできる。文字を、座標上に取れば、ひとつの座標点を単位面積とし、各座標点が有する画素値を単位量とできる。複数の座評点を持って単位面積とし、その複数の座標点が持つ画素値は、単位量に等価でも良く、単位面積の有する単位量の平均値であっても良い。単位量を示すものを事例的にあげれば密度であり階調・輝度・色・照度・濃度・明度・等の物理量や人為的に設定した数値が上げられる。物理的な質量との相対的関係においては、単位面積の厚さが、単位長で構成されていると考えれば同じ次元で考察できる。又、単位量は、単位質量でもある。
文字の重心とは、文字の単位質量の分布の中心である。先にも述べたが、文字の背景に対しても単位質量の考え方を同じく相当させることで背景を含んだ文字の重心計算が可能である。文字の具体的質量の算出は、文字の質量に影響を与えることを考慮した文字の形態における座標点が構成する全ての座標点の画素値の総和(代表的点の総和も含む)を文字の質量とできる。
文字の重心座標の各軸上の位置は、前記影響を与える点の単位質量とその点を各軸に投影した位置と各点の重みの積の各軸における総和を文字の質量で除することで求められる。
即ち、座標点(x、y)における質量をg[x][y]とし、重心位置(GRx、GRy)とすれば 文字の形態の質量wとGRx・GRyは、以下の式で求められる。
ここで、Xwidthは水平方向の画素数であり、Ywidthは垂直方向の画素数であり、ωは重み値である。
4.特性値である重心が、ポテンシャルの重心である場合
前記、課題を解決する手段として、文字の形態に固有の特性を表す特性値を文字の重心とし、重心は、文字のポテンシャルの重心を求めることで課題を解決することを特徴とする。
文字の重心を、文字の形態の質量における重心として定量化する手法を提示したが、主観評価では、背景からの影響や隣接する文字によりその文字の重心の設定が影響を受ける。
その影響を考慮した文字の重心を定量的に算出する目的で、文字の形態を示す各点へのそれ以外の点の影響を定量的に求める手法として文字におけるポテンシャルの重心が考えられ、その手法を以下に示す。
文字の形態を構成する点に、文字の形状ならびに背景の各点が与える影響度の総和が文字の形態を構成する点の点ポテンシャルであり、文字の形態を構成するすべての点の点ポテンシャルの総和が、文字のポテンシャルといえる。文字のポテンシャルの重心は、点ポテンシャルの分布の中心として求められる。すなわち形態として定めた点に、影響を与える点が作用する力を考えればベクトルで現され、影響を与えると定めた点による全てのベクトルの総和が影響を与えられる点のベクトルと考えられる。
更に、補足すれば、文字の形態をデザイン的に通常認識し得る形状に限定して重心を求める、あるいは詳細は、後述するが文字の形態として文字のストロークあるいは輪郭を形成する端点を選別的に定め、その端点を通る線で構成される領域の内部を文字の形態とする手法も考えられる。更に、背景に近傍に並んだ文字も含めて重心を求める手法も容易に用いることができる。これらの手法の範囲は、文字の取り扱い方で定めらる事ができ、質量による重心、ポテンシャルによる重心の取り扱いに関らず、同じである。
文字の形態を表す点とそれらに影響を与える点が値を持ちこれをおのおのの質量と見ると文字のポテンシャルは、文字のポテンシャルエネルギーとして取り扱える。
文字のポテンシャルの重心座標の各軸上の位置は、前記影響を与える点のポテンシャルエネルギーとその点を各軸に投影した位置と各点の重みの積の各軸における総和を文字のポテンシャルエネルギーで除することで求められる。
即ち、文字のポテンシャルエネルギーの重心位置(GRPx、GRPy)とすれば 各点のポテンシャルエネルギーP(x,y)とP(x,y)とP(xi,yi)の距離rとGRPx・GRPyは、以下の式で求められる。
なお、
は自分自身の点が周りから影響をうけるポテンシャルエネルギーを意味する。
は自分自身の点を含まないすべての点の総和を意味する。
は、自分自身の点と影響する点のそれぞれの質量を掛け合わしたものである。
は
と
の距離を表し、乗数kは、通常2とするが仁意の値で処理しても良い。wは、文字の形態を構成する点のポテンシャルエネルギーの総和である。
5.処理装置
前述したように、文字の形態の定め方で文字の形状や背景の特性を表現できる特性値を算出し、取り扱えるということは、形状を表現するのに多くのデータを持ってするか、単なる名称としてのコードで対応付ける取り扱い方法からすれば、固有の特性値でもって取り扱える本願は、差別化された開示技術である。即ち、識別特性値そのものが形態の特性を表現している。従来の形状のビットマップ座標はすべてを展開しないと形状を示さないが、本願は、値そのもので識別可能である。
基準特性値と対象特性値を比較する処理装置と同じく、通常、ひとつの文字では、特性値は、単一であってもよく。文字を、部首等の部分に分け、いくつかの部首を共通化する場合、各部首も特性値を持たせうる。この場合文字を単一でなく複数の特性値の組み合わせとして取り扱うこともできるが、数値化されていることで、比較・識別等での制御は、従来の形状的比較処理に比べて数段容易である。当然、前述している特性値の求め方は、充当される。
以下、図を参照して本発明の実施の形態を説明する。
以下の説明は、単一の文字について記載している。文字を部首などに分けて複数の特性値を持たせる場合、又は文字が絵記号などである場合も基本思想は同じであります。また、文字の重心はY方向の座標と、X方向の座標があり、以下の実施例では重心のY方向の座標を「重心のY座標」、重心のX方向の座標を「重心のX座標」として説明いる。
図1は、本発明の実施の形態の文字データ生成装置100の構成を示す。 文字データ生成装置100は、本発明の実施の形態の処理装置として機能する。
文字データ生成装置100は、例えば、パーソナルコンピュータであり得る。パーソナルコンピュータとしては、例えば、デスクトップ型またはラップトップ型の任意のタイプのコンピュータが使用され得る。あるいは、文字データ生成装置100は、ワードプロセッサであってもよい。さらに、文字データ生成装置100は、カラー表示および白黒表示のうちの少なくとも一方の表示が可能な表示手段を備えた電子機器または情報機器などの任意の情報表示装置であり得る。例えば、文字データ生成装置100は、カラー液晶表示デバイスを備えた電子機器、携帯情報ツールである携帯情報端末、PHSを含む携帯電話機、または一般の電話機/FAXなどの通信機器であってもよい。さらに、例えば、文字データ生成装置100は、テレビまたはプロジェクタであってもよい。
文字データ生成装置100は、カラー表示可能な表示手段10と、表示手段10に文字を表示するように表示手段10を制御する制御手段20と、表示手段10に表示すべき文字を示す文字情報を制御手段20に入力するために使用される入力手段30と、補助メモリ40とを含む。制御手段20には、表示手段10と、入力手段30と、補助メモリ40とが接続されている。
文字情報は、例えば、文字を識別する文字コードと文字の大きさを示す文字サイズとを含む。文字コードは、例えば、JISコード、シフトJISコード、EUCコード、区点コード、UNICODEである。
入力手段30としては、文字情報を入力することが可能な任意のタイプの入力デバイスが使用され得る。例えば、キーボード、マウス、またはペン入力装置が、入力手段30として好適に使用され得る。文字データ生成装置100が携帯電話機である場合には、通話先の電話番号を指定するための数字キーが文字情報を入力するために用いられてもよい。また、表示手段10に表示される文字のサイズが予め1つに固定されている場合には、文字サイズの入力は省略され得る。
文字データ生成装置100がインターネットを含む通信回線に接続するための接続手段を備えている場合には、その通信回線から受信した電子メールに含まれるメッセージが表示手段10に表示されてもよい。この場合には、接続手段が、入力手段30として機能する。
補助メモリ40には、文字データ生成プログラム41と、文字データ生成プログラム41を実行するために必要なデータ42とが格納されている。データ42は、文字を示す文字データ42aを含む。文字データ42aは、例えば、フォントデータである。例えば、フォントデータは、アウトラインフォント形式、ストローク形式およびビットマップ形式のうちの少なくとも1つの形式で表される。なお、文字には、文字の部首、文字の一部、アルファベットなどが含まれる。文字データ生成プログラム41と文字データ42aとの詳細は、後述される。
補助メモリ40としては、文字データ生成プログラム41およびデータ42を格納することが可能な任意のタイプの記憶装置が使用され得る。例えば、ハードディスク、CD−ROM、MO、MD、DVD、ICカード、光カードなどの記録媒体が好適に使用され得る。
なお、文字データ生成プログラム41およびデータ42は、補助メモリ40に格納されることに限定されない。例えば、文字データ生成プログラム41およびデータ42は、制御手段20に含まれるメモリに格納されてもよいし、ROM(図示せず)に格納されてもよい。ROMは、例えば、マスクROM、EPROM、EEPROM、またはフラッシュROMであり得る。文字データ生成プログラム41およびデータ42を格納する記録媒体は、プログラムおよびデータを固定的に担持する。
文字データ生成装置100がインターネットを含む通信回線に接続するための手段を備えている場合には、その通信回線から文字データ生成プログラム41およびデータ42の少なくとも一部をダウンロードすることができる。この場合、ダウンロードに必要なローダープログラムは、ROM(図示せず)に予め格納されていてもよいし、補助メモリ40から制御手段20にインストールされてもよい。
制御手段20は、CPU21とメインメモリ22とを含む。
CPU21は、文字データ生成装置100の全体を制御および監視するとともに、補助メモリ40に格納されている文字データ生成プログラム41を実行する。
CPU21は、メインメモリ22に格納された各種のデータに基づいて文字データ生成プログラム41を実行することにより、変形された文字を示す変形文字データを生成する。生成された変形文字データは、メインメモリ22に一旦格納された後、表示手段10に出力される。変形文字データが表示手段10に出力されるタイミングは、CPU21によって制御される。
メインメモリ22は、入力手段30から入力されたデータや表示手段10に表示するためのデータや文字データ生成プログラム41を実行するために必要なデータを一時的に格納する。
表示手段10には、制御手段20から出力された変形文字データが入力され、表示手段10は、変形文字を表示する。
表示手段10は、例えば、カラー液晶表示デバイスである。カラー液晶表示デバイスとしては、パソコンなどに多く用いられている透過型の液晶表示デバイスの他、反射型やリアプロ型の液晶表示デバイスが使用され得る。しかし、表示手段10は、カラー液晶表示デバイスに限定されない。表示手段10として、X方向およびY方向に配列された複数のピクセルを有する任意のカラー表示装置(いわゆるXYマトリクス表示装置)が使用され得る。
なお、変形文字が、表示手段に表示されることに限らない。変形文字は、紙に印刷され得る。この場合には、文字データ生成装置100は、表示手段10に替えて、または表示手段10に加えて、プリンタを含む。このプリンタには、制御手段20から出力された変形文字データが入力される。このプリンタは、変形文字を紙に印字する。
さらに、変形文字データは、インターネットを含む電話通信回線に出力され得る。この場合には、文字データ生成装置100は、表示手段10に替えて、または表示手段10に加えて、電話通信回線に文字データ生成装置100を接続するための接続手段を含む。文字データ生成装置100は、この接続手段を介して、電話通信回線に変形文字データを出力する。
図3は、補助メモリの中のデータ42における文字データ42aに基づいて256×256画素のサイズで表示された文字を示す。
図3(a)は、256×256画素のサイズで表示された漢字「上」を示す。漢字「上」は、ストローク#1−1と、ストローク#1−2と、ストローク#1−3とを含む。ストローク#1−1は、点(111,155)と点(211,155)とを結び、ストローク#1−2は、点(111,244)と点(111,11)とを結び、ストローク#1−3は、点(0,11)と点(244,11)とを結ぶ。ストローク#1−1と、ストローク#1−2と、ストローク#1−3とによって、漢字「上」が表現される。
図3(b)は、文字データ(図2(b)参照)に基づいて256×256画素のサイズで表示された漢字「中」を示す。漢字「中」は、ストローク#2−1と、ストローク#2−2と、ストローク#2−3と、ストローク#2−4と、ストローク#2−5とを含む。ストローク#2−1は、点(22,200)と点(22,78)とを結び、ストローク#2−2は、点(22,200)と点(222,200)とを結び、ストローク#2−3は、点(222,200)と点(222,78)とを結び、ストローク#2−4は、点(22,100)と点(222,100)とを結び、ストローク#2−5は、点(122,244)と点(122,0)とを結ぶ。ストローク#2−1と、ストローク#2−2と、ストローク#2−3と、ストローク#2−4と、ストローク#2−5とによって、漢字「中」が表現される。
図3(c)は、256×256画素のサイズで表示された漢字「下」を示す。漢字「下」は、ストローク#3−1と、ストローク#3−2と、ストローク#3−3と、ストローク#3−4とを含む。ストローク#3−1は、点(0,222)と点(244,222)とを結び、ストローク#3−2は、点(111,222)と点(111,0)とを結び、ストローク#3−3は、点(111,166)と点(166,144)とを結び、ストローク#3−4は、点(166,144)と点(200,100)とを結ぶ。ストローク#3−1と、ストローク#3−2と、ストローク#3−3と、ストローク#3−4とによって、漢字「下」が表現される。
図3(d)は、256×256画素のサイズで表示された漢字「止」を示す。漢字「止」は、ストローク#4−1と、ストローク#4−2と、ストローク#4−3と、ストローク#4−4とを含む。ストローク#4−1は、点(111,155)と点(211,155)とを結び、ストローク#4−2は、点(111,244)と点(111,11)とを結び、ストローク#4−3は、点(0,11)と点(244,11)とを結び、ストローク#4−4は、点(43,149)と点(43,11)とを結ぶ。ストローク#4−1と、ストローク#4−2と、ストローク#4−3と、ストローク#4−4とによって、漢字「止」が表現される。
図2は、図3で示した表示された文字の補助メモリの中の文字データ42aの一例を示す。文字データ42aは、例えば、フォントデータである。
図2(a)は、図3(a)で表示例を説明した漢字「上」を示す文字データを示す。以下、図2(a)を参照して、漢字「上」を示す文字データの詳細を説明する。なお、漢字「上」は、3つのストローク(ストローク#1−1、ストローク#1−2、ストローク#1−3)を含む。例えば、漢字「上」の形状は、3つのストローク(ストローク#1−1、ストローク#1−2、ストローク#1−3)によって示される。
文字データは、文字コードを示すコードデータ01と、文字に含まれたストロークの数を示すストローク数データ02と、ストローク#1−1を示すストロークデータ08Aと、ストローク#1−2を示すストロークデータ08Bと、ストローク#1−3を示すストロークデータ08Cとを含む。
コードデータ01は、漢字「上」を示す区点コード3069を示す。ストローク数データ02は、値「3」を示す。データ02の値「3」は、ストロークの数が3つであることを示す。
ストロークデータ08A、ストロークデータ08B、およびストロークデータ08Cのそれぞれは、ストロークのナンバーを示すナンバーデータ03と、第1データ04と、第2データ05と、ストロークの始点の座標を示す始点座標データ06と、ストロークの終点の座標を示す終点座標データ07とを含む。
第1データ04は、ストロークが文字の重心のY座標を調整するために移動可能であるか否かを示す。文字の重心のY座標は、文字の上部分と下部分とのバランスを示す。第1データ04の値が、「1」である場合には、ストロークは移動可能であり、第1データ04の値が、「0」である場合には、ストロークは移動不可能である。第1データ04の値は、例えば、予め文字データ作成時に文字固有で設定されている。なお、第1データ04の値は「0」または「1」に限定されない。第1データ04の値は、ストロークが移動可能か否かを示すことができる限りは、任意である。
第2データ05は、ストロークが文字の重心のX座標を調整するために移動可能であるか否かを示す。文字の重心のX座標は、文字の左部分と右部分とのバランスを示す。第2データ05の値が、「1」である場合には、ストロークは移動可能であり、第2データ05の値が、「0」である場合には、ストロークは移動不可能である。第2データ05の値は、例えば、予め文字データ作成時に文字固有で設定されている。なお、第2データ05の値は「0」または「1」に限定されない。第2データ05の値は、ストロークが移動可能か否かを示すことができる限りは、任意である。
以下、ストロークデータ08Aに含まれるデータの詳細を説明する。
ナンバーデータ03は、値「1」を示す。これは、漢字「上」に含まれる3つのストロークのうち、ストローク#1−1が1番目のストロークであることを示す。第1データ04は、値「1」を示す。これは、文字の重心のY座標を調整するためにストローク#1−1を移動可能であることを示す。第2データ05は、値「1」を示す。これは、文字の重心のX座標を調整するためにストローク#1−1を移動可能であることを示す。
始点座標データ06は、座標(111,155)を示し、終点座標データ07は、座標(211,155)を示す。これらは、ストローク#1−1が、始点(111,155)と終点(211,155)とを結ぶことを示す。
以下、ストロークデータ08Bに含まれるデータの詳細を説明する。
ナンバーデータ03は、値「2」を示す。これは、漢字「上」に含まれる3つのストロークのうち、ストローク#1−2が2番目のストロークであることを示す。第1データ04は、値「0」を示す。これは、文字の重心のY座標を調整するためにストローク#1−2を移動可能でないことを示す。第2データ05は、値「1」を示す。これは、文字の重心のX座標を調整するためにストローク#1−2を移動可能であることを示す。
始点座標データ06は、座標(111,244)を示し、終点座標データ07は、座標(111,11)を示す。これらは、ストローク#1−2が、始点(111,244)と終点(111,11)とを結ぶことを示す。
以下、ストロークデータ08Cに含まれるデータの詳細を説明する。
ナンバーデータ03は、値「3」を示す。これは、漢字「上」に含まれる3つのストロークのうち、ストローク#1−3が3番目のストロークであることを示す。第1データ04は、値「0」を示す。これは、文字の重心のY座標を調整するためにストローク#1−3を移動可能でないことを示す。第2データ05は、値「0」を示す。これは、文字の重心のX座標を調整するためにストローク#1−3を移動可能でないことを示す。
始点座標データ06は、座標(0,11)を示し、終点座標データ07は、座標(244,11)を示す。これらは、ストローク#1−3が、始点(0,11)と終点(244,11)とを結ぶことを示す。
図2(b)は、図3(b)で表示例を説明した漢字「中」を示す文字データを示す。コードデータ01は、漢字「中」を示す区点コード3570を示す。
図2(c)は、図3(c)で表示例を説明した漢字「下」を示す文字データを示す。コードデータ01は、漢字「下」を示す区点コード1828を示す。
図2(d)は、図3(d)で表示例を説明した漢字「止」を示す文字データを示す。コードデータ01は、漢字「止」を示す区点コード2763を示す。
図2(b)、図2(c)および図2(d)において、図2(a)に示されるデータと同一のデータには同一の参照符号を付し、その説明を省略する。
なお、第1データ04の値および第2データ05の値のそれぞれは、値「0」または値「1」に限らない。第1データ04によって文字の重心のY座標を調整するためにストロークを移動可能であるか否かが示される限りは、第1データ04の値は、任意である。第2データ05によって文字の重心のX座標を調整するためにストロークを移動可能であるか否かが示される限りは、第2データ05の値は、任意である。
さらに、第1データ04は、文字の重心のY座標を調整するために何番目に移動するストロークであるかを示してもよい。例えば、ストロークデータ08Aに含まれる第1データ04の値が「1」であり、ストロークデータ08Bに含まれる第1データ04の値が「2」であり、ストロークデータ08Cに含まれる第1データ04の値が「3」である場合には、移動されるストロークの順番は、ストローク#1−1、ストローク#1−2、ストローク#1−3の順である。
さらに、第2データ05は、文字の重心のX座標を調整するために何番目に移動するストロークであるかを示してもよい。例えば、ストロークデータ08Aに含まれる第2データ05の値が「1」であり、ストロークデータ08Bに含まれる第2データ05の値が「3」であり、ストロークデータ08Cに含まれる第2データ05の値が「2」である場合には、移動されるストロークの順番は、ストローク#1−1、ストローク#1−3、ストローク#1−2の順である。
さらに、第1データ04は、文字の重心のY座標を調整するためにストロークの始点およびストロークの終点のうちの少なくとも一方を移動可能か否かを示してもよい。第1データ05は、文字の重心のX座標を調整するためにストロークの始点およびストロークの終点のうちの少なくとも一方を移動可能か否かを示してもよい。
例えば、第1データ04の値が「2」である場合には、ストロークの始点および終点のうちストロークの始点のみが移動可能であり、第1データ04の値が「3」である場合には、ストロークの始点および終点のうちストロークの終点のみが移動可能であり得る。さらに、第1データ04の値が「4」である場合には、ストロークの始点および終点が移動可能であり得る。
図2(d)に示すように、ストロークデータ08Dに含まれる第1データ04の値は「3」である。従って、ストローク#4−4の始点のみが移動可能である。ストローク#4−4の終点は移動しない。その結果、ストローク#4−4は変形される。
なお、コードデータ01が示す文字コードは、区点コードに限らない。他の文字コード(例えば、JISコード、シフトJISコード、EUCコード、UNICODE)でもよい。
6.文字データ生成方法
図4は、文字データ生成プログラム41の処理手順を示す。文字データ生成プログラム41は、CPU21によって実行される。
以下、図1、図2および図4を参照して、文字データ生成プログラム41の処理手順をステップごとに説明する。なお、ここでの説明は、図5A,図5Bで示す基準文字(説明の中では正体文字)を図7A,図7Bで示す縦長変形文字とする文字データ生成方穂を説明していますが、ここでの処理する対象文字は、これに限定されるものではない。
例えば、本発明の対象文字は、基準文字あるいはその拡縮文字の少なくともひとつのストロークを変形することができ、複数の対象文字においては、複数の対象文字あるいは複数の対象文字と一律の変形関係にある文字、あるいはそれらの拡縮文字の少なくともひとつのストロークを変形することもできるものである。
ステップS1:文字情報(文字コード3069)が、入力手段30を介してメインメモリ22に入力される。補助メモリ40に格納されている文字データ42aの中から、入力された文字情報に対応する文字データが補助メモリ40から読み取られる。読み取られた文字データは、文字の形状を示す。読み取られた文字データは、例えば、図2(a)に示される。
ステップS2:文字データに基づいて、変形対象となる文字を示す正体文字データが生成される。生成された正体文字データがメインメモリ22に入力される。
正体文字に含まれる複数のストロークが表示手段10の表示領域の大きさに適合するように、複数のストロークがそれぞれ所定の大きさに縮小され、縮小された複数のストローク上の座標の値が所定の方法で量子化される。このように、文字データに基づいて、正体文字データが生成される。
例えば、複数のストローク上の座標値がそれぞれ256分の24倍され、さらに、256分の24倍されたそれぞれの座標値の小数点以下が切り捨てられる。
図5Aは、正体文字データに基づいて24×24画素のサイズでマッピングされた漢字「上」を示す。
ストローク#1−1の始点は、点(111,155)である。従って、256分の24倍されたx座標成分の値10.4(111×24/256≒10.4)および256分の24倍されたy座標成分の値14.5(155×24/256≒14.5)が算出される。さらに、10.4および14.5の小数点以下が切り捨てられ、座標(10,14)が算出される。
同様に、ストローク#1−1の終点(211,155)、ストローク#1−2の始点(111,244)、ストローク#1−2の終点(111,11)、ストローク#1−3の始点(0,11)、およびストローク#1−3の終点(244,11)のそれそれに基づいて、複数の座標(19,14)、(10,22)、(10,1)、(0,1)、(22,1)が算出される。
図5Bは、正体文字データに基づいて24×24画素のサイズでマッピングされた漢字「止」を示す。
ストローク#4−1の始点は、点(111,155)である。従って、256分の24倍されたx座標成分の値10.4(111×24/256≒10.4)および256分の24倍されたy座標成分の値14.5(155×24/256≒14.5)が算出される。さらに、10.4および14.5の小数点以下が切り捨てられ、座標(10,14)が算出される。
同様に、ストローク#4−1の終点(211,155)、ストローク#4−2の始点(111,244)、ストローク#4−2の終点(111,11)、ストローク#4−3の始点(0,11)、ストローク#4−3の終点(244,11)、ストローク#4−4の始点(43,149)、およびストローク#4−4の終点(43,11)のそれそれに基づいて、複数の座標(19,14)、(10,22)、(10,1)、(0,1)、(22,1)が算出される。
なお、座標値を量子化する所定の方法として、切り捨てを利用したが、所定の方法は、切り捨てに限らない。所定の方法として、切り上げを利用してもよい。所定の方法として、四捨五入を利用してもよい。所定の方法として、所望の閾値を利用してもよい。
再び、図4を参照して、文字データ生成処理手順の説明を続ける。
ステップS3:正体文字に含まれるストロークに基づいて、基準値を算出するための対象となる基準値対象領域が決定される。
基準値対象領域は、例えば、正体文字に外接する多角形の境界線で囲まれた領域である。
図6Aは、正体文字(上)に外接する多角形の境界線で囲まれた領域を示す。黒色で塗り潰された領域が多角形の境界線で囲まれた領域である。多角形の複数の頂点は、(0,1)、(22,1)、(19,14)および(10,22)である。
図6Bは、正体文字(止)に外接する多角形の境界線で囲まれた領域を示す。黒色で塗り潰された領域が多角形の境界線で囲まれた領域である。多角形の複数の頂点は、(0,1)、(22,1)、(19,14)、(10,22)および(4、14)である。
再び、図4を参照して、文字データ生成処理手順の説明を続ける。
ステップS4:基準値対象領域上の座標に基づいて、文字の質量wが式1により求められる。例えば、それぞれの座標(x,y)において黒いドットが置かれている場合の質量g[x][y]=1、それ以外のところの質量g[x][y]=0した場合、図6Aの黒く塗りつぶされた領域の質量wは300と求められる。また、図6Bの黒く塗りつぶされた領域の質量wは335になる。
ステップS5:ステップS4で求めた質量wから式2と式3により基準値となる重心位置(GRx,GRy)が求められる。例えば重み値ω=1とした場合、図6Aの黒く塗りつぶされた領域の重心位置はそれぞれ、GRx=11.76,GRy=8.62となる。また、図6Bの黒く塗りつぶされた領域の重心位置はそれぞれ、GRx=11.18,GRy=8.92になる。
ステップS7:複数のストロークのうち移動可能なストロークが選択される。具体的には、図2(a)の場合はストロークデータに含まれる第1データ04が参照され、移動可能なストローク#1−1が選択される。
図2(d)の場合はストロークデータに含まれる第1データ04が参照され、移動可能なストローク#4−1とストロークの始点および終点のうちストロークの始点のみが移動可能なストローク#4−4が選択される(図2(d)参照)。
ステップS8:図2(a)の場合はストローク#1−1が移動可能な範囲内で、ストローク#1−1が移動され、変形文字を示す変形文字データが生成される。例えば、図8Aの(a)のH10のような変形文字データが生成される。図2(d)の場合はストローク#4−1とストローク#4−4が移動可能な範囲で、ストローク#4−1とストローク#4−4が移動され、変形文字を示す変形文字データが生成される。例えば、図8Bの(a)のK10のような変形文字データが生成される。図8Aの(a)のH10と図8B(d)のK10は、移動可能なストロークをまだ移動させていない状態で変形データを生成している。これは、ストロークを大きく移動したところから変形データを生成するよりも、ストロークの位置はそのままで、単純の変形して変形データを生成する方が、ステップS5で算出した基準値とステップS10で算出する特性値が近い値になるために、ステップS8〜S11までのループの回数が少なくてすむためである。
ただし、その方法に限定されるわけではなく、移動可能なストロークを大きく移動させて変形データを生成させてもよいし、途中の位置から変形データを生成してもよい。
次に具体的な手順を示す。
文字データに基づいて、変形文字データが生成される。生成された変形文字データはメインメモリ22に入力される。
複数のストローク上の座標のy座標成分の値が所定の大きさに縮小され、x座標成分の値が所定の大きさより小さい大きさに縮小され、縮小されたこれらの値が所定の方法で量子化される。このように、文字データに基づいて、変形文字データが生成される。例えば、複数のストローク上の座標のy座標成分の値が256分の24倍され、x座標成分の値が256分の12倍され、さらに、縮小された複数の値の小数点以下が切り捨てられ、または四捨五入される。
図7Aは、変形文字データに基づいて12×24画素のサイズでマッピングされた漢字「上」を示す。
ストローク#1−1の始点は、点(111,155)である。従って、256分の12倍されたx座標成分の値5.2(111×12/256≒5.2)および256分の24倍されたy座標成分の値14.5(155×24/256≒14.5)が算出される。さらに、5.2が四捨五入され、14.5の小数点以下が切り捨てられ、座標(5,14)が算出される。
同様に、ストローク#1−1の終点(211,155)、ストローク#1−2の始点(111,244)、ストローク#1−2の終点(111,11)、ストローク#1−3の始点(0,11)、およびストローク#1−3の終点(244,11)のそれそれに基づいて、複数の座標(10,14)、(5,22)、(5,1)、(0,1)、(11,1)が算出される。
図7Bは、変形文字データに基づいて12×24画素のサイズでマッピングされた漢字「止」を示す。
ストローク#4−1の始点は、点(111,155)である。従って、256分の12倍されたx座標成分の値5.2(111×12/256≒5.2)および256分の24倍されたy座標成分の値14.5(155×24/256≒14.5)が算出される。さらに、5.2が四捨五入され、14.5の小数点以下が切り捨てられ、座標(5,14)が算出される。
同様に、ストローク#4−1の終点(211,155)、ストローク#4−2の始点(111,244)、ストローク#4−2の終点(111,11)、ストローク#4−3の始点(0,11)、ストローク#4−3の終点(244,11)、ストローク#4−4の始点(43,149)、およびストローク#4−4の終点(43,11)のそれそれに基づいて、複数の座標(10,14)、(5,22)、(5,1)、(0,1)、(11,1)、(2,14)、(2,1)が算出される。
変形文字に含まれるストローク(変形文字の形状)に基づいて、特性値を算出するための対象となる特性値対象領域が決定される。
特性値対象領域は、例えば、変形文字に外接する多角形の境界線で囲まれた領域である。
再び、図4を参照して、文字データ生成処理手順の説明を続ける。
ステップS9:特性値対象領域上の座標に基づいて、文字の質量wが式1により求められる。例えば、それぞれの座標(x,y)において黒いドットが置かれている場合の質量をg[x][y]=1、それ以外のところの質量をg[x][y]=0とした場合、図8Aの(b)のP10の黒く塗りつぶされた領域の質量wは162と算出される。また、図8BのL10の黒く塗りつぶされた領域の質量wは184と算出される。
ステップS10:ステップS9で求めた質量wから式2と式3により基準値となる重心位置(GRx、GRy)が求められる。例えば重み値ω=1とした場合、図8Aの(b)のP10の黒く塗りつぶされた領域の重心位置はそれぞれ、GRx=6.31、GRy=8.93と算出される。また、図8BのL10の黒く塗りつぶされた領域の重心位置はそれぞれ、GRx=5.66、GRy=9.09と算出される。
ステップS11:ストローク#1−1がさらに移動可能か否かが判定される。ストローク#1−1がさらに移動可能であると判定された場合(Yes)には、処理は、ステップS8に進む。ストローク#1−1がさらに移動可能でないと判定された場合(No)には、処理は、ステップS12に進む。
ステップS8〜S11が繰り返されることによって、ストローク#1−1がy軸に沿って「1」または、「−1」ずつ平行移動され、ストローク#1−1がy軸に沿って「1」または、「−1」ずつ平行移動されるごとに、変形文字データが生成される。ステップS8〜S11が繰り返されることによって、複数の変形文字のそれぞれに対応する複数の特性値が算出される。移動可能か否かの判断基準の中に移動する範囲を含めてもよいし、移動する範囲は限定されたものであっても、許されるすべての範囲であってもよい。
図8Aは、複数の変形文字H2〜H22と、複数の変形文字H2〜H22のそれぞれに対応する複数の特性値対象領域P2〜P22と、複数の変形文字H2〜H22のそれぞれに対応する複数の特性値とを示す。
図8A(a)は、複数の変形文字H2〜H22を示す。なお、変形文字H4〜H9と変形文字H11〜H20とは、省略する。
図8A(b)は、複数の変形文字H2〜H22のそれぞれに対応する複数の特性値対象領域P2〜P22を示す。なお、特性値対象領域P4〜P9と特性値対象領域P11〜P20とは、省略する。
図8A(c)は、複数の変形文字H2〜H22のそれぞれに対応する複数の特性値を示す。
例えば、ステップS8〜S11が繰り返えされるごとに、ストローク#1−1がy軸に沿って「1」または、「−1」ずつ平行移動され、ストローク#1−1がy軸に沿って「1」または、「−1」ずつ平行移動されることにより、複数の変形文字データが生成される。その結果、複数の変形文字(変形文字H2〜H22)を示す複数の変形文字データが生成される。さらに、変形文字に含まれるストロークに基づいて特性値対象領域(特性値対象領域P2〜P22)が決定され、さらに、特性値対象領域(特性値対象領域P2〜P22)に基づいて、複数の変形文字(変形文字H2〜H22)のそれぞれに対応する複数の特性値(特性値g2〜g22)が算出される。
なお、ストロークのy軸に沿った平行移動は、「1」または、「−1」ずつに限定されない。ストロークの移動距離および方向は、文字データに従う限りは任意でよい。
さらに、文字の変形の形態は、ストロークの移動に限定されない。文字の変形の形態は、例えば、ストロークの移動、ストロークの変形およびストロークの長さの変更のうちの少なくとも1つを含む。さらに、移動されるストローク、変形されるストロークおよび長さが変更されるストロークが、文字に含まれる少なくとも1つのストロークのうちの1つのストロークであることに限定されない。文字に含まれる全てのストロークが移動されてもよい。
再び、図4を参照して、文字データ生成処理手順の説明を続ける。
ステップS12:複数の特性値のそれぞれと基準値とが比較される。比較結果に応じて、複数の特性値のそれぞれと基準値との類似度が求められる。類似度は、例えば、特性値と基準値との差である。特性値と基準値との差が小さい場合には類似度が高く、特性値と基準値との差が大きい場合には類似度が低い。複数の特性値のうち基準値に最も近い特性値(類似度が高い特性値)が選択される。例えば、複数の特性値g2〜g22のうち基準値G(G=8.62)に最も近い特性値g12(8.47)が選択される(図8A(c)参照)。
なお、類似度は、特性値と基準値との差に限定されない。特性値と基準値との類似性を示し得る限りは、任意である。
ステップS13:選択された特性値に対応する変形文字データがメインメモリ22に出力され、処理が終了する。この変形文字データによって示される文字が、補正長体文字である。
例えば、特性値g12に対応する変形文字H11(補正長体文字)を示す変形文字データがメインメモリ22に出力される。
なお、選択される特性値は、複数の特性値g2〜g22のうち、基準値Gから所定の範囲内にある特性値でもよい。この場合には、基準値から所定の範囲内の特性値g(例えば、8.62−0.3≦g≦8.62+0.3)に対応する変形文字(変形文字H12または変形文字H13)を示す変形文字データが出力される。基準値から所定の範囲内の特性値が算出された場合に、ステップS8〜S11の繰り返しが終了されてもよい。この場合には、基準値から所定の範囲内(例えば、8.62−0.3≦g≦8.62+0.3)の特性値(例えば、g=8.43)が算出された時にステップS8〜S11の繰り返しが終了され、変形文字(例えば、変形文字H12)を示す変形文字データが出力されてもよい。
選択される特性値は、複数の特性値g2〜g22のうち、基準値Gから所定の範囲外にある特性値でもよい。この場合には、基準値から所定の範囲外の特性値gに対応する変形文字を示す変形文字データが出力される。基準値から所定の範囲外の特性値が算出された場合に、ステップS8〜S11の繰り返しが終了されてもよい。この場合には、基準値から所定の範囲外の特性値が算出された時にステップS8〜S11の繰り返しが終了され、変形文字を示す変形文字データが出力されてもよい。
図8Bは、複数の変形文字K2〜K22と、複数の変形文字K2〜K22のそれぞれに対応する複数の特性値対象領域L2〜L22と、複数の変形文字K2〜K22のそれぞれに対応する複数の特性値とを示す。
図8B(a)は、複数の変形文字K2〜K22を示す。なお、変形文字K4〜K9と変形文字K11〜K20とは、省略する。
図8B(b)は、複数の変形文字K2〜K22のそれぞれに対応する複数の特性値対象領域L2〜L22を示す。なお、特性値対象領域L4〜L9と特性値対象領域L11〜L20とは、省略する。
図8B(c)は、複数の変形文字K2〜K22のそれぞれに対応する複数の特性値を示す。
例えば、ステップS8〜S11が繰り返されるごとに、ストローク#4−1がy軸に沿って「1」または、「−1」ずつ平行移動される。ステップS8〜S11が繰り返されるごとに、ストローク#4−4の長さが「1」または、「−1」ずつ短くなる。ストローク#4−1がy軸に沿って「1」ずつ平行移動され、ストローク#4−4の長さが「1」または、「−1」ずつ短くされることにより、複数の変形文字データが生成される。その結果、複数の変形文字(変形文字K2〜K22)を示す複数の変形文字データが生成される。さらに、変形文字に含まれるストロークに基づいて特性値対象領域(特性値対象領域L2〜L22)が決定され、さらに、特性値対象領域(特性値対象領域L2〜L22)に基づいて、複数の変形文字(変形文字K2〜K22)のそれぞれに対応する複数の特性値(特性値h2〜h22)が算出される。
さらに、ステップS12において、複数の特性値のうち最も基準値に近い評価値が選択される。
複数の特性値h2〜h22のうち最も基準値G(G=8.92)に近い特性値h11(8.94)が選択される(図8B(c)参照)。
さらに、ステップS13において、選択された特性値に対応する変形文字データがメインメモリ22に出力され、処理が終了する。この変形文字データによって示される文字が、補正長体文字である。
特性値h11に対応する変形文字K11(補正長体文字)を示す変形文字データがメインメモリ22に出力される。
図9Aは、変形文字H11を示す変形文字データに基づいて12×24画素のサイズでマッピングされた変形文字(補正長体文字)を示す。
ストローク#1−1の始点は、点(5,12)であり、ストローク#1−1の終点は、点(10,12)である。ストローク#1−2の始点は、点(5,22)であり、ストローク#1−2の終点は、点(5,1)である。さらに、ストローク#1−3の始点は、点(0,1)であり、ストローク#1−3の終点は、点(11,1)である。単純長体文字のストローク#1−1(始点(5,14)、終点(10,14):図7A参照)は、補正長体文字のストローク#1−1(始点(5,12)、終点(10,12))に変更される。
図9Bは、変形文字K11を示す変形文字データに基づいて12×24画素のサイズでマッピングされた変形文字(補正長体文字)を示す。
ストローク#4−1の始点は、点(5,13)であり、ストローク#4−1の終点は、点(10,13)である。ストローク#4−2の始点は、点(5,22)であり、ストローク#4−2の終点は、点(5,1)である。ストローク#4−3の始点は、点(0,1)であり、ストローク#4−3の終点は、点(11,1)である。さらに、ストローク#4−4の始点は、点(2,13)であり、ストローク#4−4の終点は、点(2,1)である。単純長体文字のストローク#4−1(始点(5,14)、終点(10,14):図7B参照)は、補正長体文字のストローク#1−1(始点(5,13)、終点(10,13))に変更される。単純長体文字のストローク#4−4(始点(2,14)、終点(2,1):図7B参照)は、補正長体文字のストローク#4−4(始点(2,13)、終点(2,13))に変更される。
図10は、文字データに基づいて所定の画素のサイズでマッピングされた文字と、文字の質量の重心とを示す。
図10(a)は、正体文字データに基づいて24×24の画素のサイズでマッピングされた正体文字(「上」、「中」、「下」、「止」)と正体文字の質量の重心(基準値)とを示す。正体文字「上」の基準値は、8.63である。正体文字「中」の基準値は、11.62である。正体文字「下」の基準値は、12.91である。正体文字「止」の基準値は、8.92である。
図10(b)は、単純長体文字データに基づいて12×24の画素のサイズでマッピングされた単純長体文字(「上」、「中」、「下」、「止」)と単純長体文字の質量の重心(特性値)とを示す。単純長体文字「上」の特性値は、8.93である。単純長体文字「中」の特性値は、12.04である。単純長体文字「下」の特性値は、13.32である。単純長体文字「止」の特性値は、9.09である。
図10(a)と図10(b)とを参照すれば、正体文字を単純長体文字に変形することによって、単純長体文字の特性値が、基準値から大きくずれることがわかる。
図10(c)は、補正長体文字データに基づいて12×24の画素のサイズでマッピングされた補正長体文字(「上」、「中」、「下」、「止」)と補正長体文字の質量の重心(特性値)とを示す。補正長体文字「上」の特性値は、8.47である。補正長体文字「中」の特性値は、11.49である。補正長体文字「下」の特性値は、12.8である。補正長体文字「止」の特性値は、8.94である。
図10(a)〜図10(c)を参照すれば、補正長体文字の特性値は、単純長体文字の特性値よりも基準値に近く、補正長体文字のバランスが保たれたことがわかる。
以上、y座標成分の値に基づいて、質量の重心のY座標を算出する実施の形態を説明した。重心のY座標を算出することによって、横組みの文字列に含まれる複数の文字のそれぞれの特性値を算出してもよい。
なお、x座標成分の値に基づいて、特性値を算出してもよい。この場合には、縦組みの文字列に含まれる複数の文字のそれぞれの質量の重心のX座標が算出されてもよい。例えば、縦組みの文字列に含まれる複数の文字のそれぞれが文字の質量の重心のX座標を考慮して横長に変形されることによって、バランスを保った多くの文字が表示画面に表示されえる。文字の質量の重心は、簡潔な計算によって求めることが可能であり、しかも主観的な重心とほぼ一致する。計算量が少ないので機器に実装しやすいという利点もある。
以上、図1および図4を参照して、文字データ生成装置100を説明した。文字データ生成装置100は、本発明の実施の形態の処理装置として機能する。
例えば、図1に示される実施の形態では、制御手段20が「対象となる文字の形態に基づいて、文字の特性値として対象文字の固有の特性を示す対象特性値を算出する第1算出手段」、「文字の特性値として基準文字の固有の特性を示す基準特性値あるいは所定の基準値と対象特性値を比較する比較手段」、「比較手段の比較結果に応じて、対象文字の特性度を判定する判定手段」、「文字の形態に固有の特性を表す特性値を算出する第2算出手段」および「算出された特性値を用いて文字処理を制御する制御手段」に対応する。しかし、本発明の文字データ生成装置が図1に示されるものに限定されるわけではない。上述した各手段の機能が達成される限りは、任意の構成を有する文字データ生成が本発明の範囲内に含まれ得る。例えば、上述した各手段は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよいし、ハードウェアとソフトウェアとによって実現されてもよい。
例えば、図4に示される実施の形態では、ステップS8〜ステップS10が「対象となる文字の形態に基づき算出された対象文字の固有の特性を示す対象特性値を算出するステップ」に対応し、ステップS12およびステップS13が「基準文字の固有の特性を示す基準特性値と対象特性値を比較するステップ」、「比較手段の比較結果に応じて、対象文字の特性度を判定するステップ」、「判定するステップの結果に応じて、処理装置を制御するステップ」および「特性値を、ひとつの文字において、単一の数値あるいは、一点の座標値として処理するあるいは、ひとつの文字の少なくともひとつの部首を、単一の数値あるいは一点の座標値として処理するステップ」に対応する。しかし、本発明の処理手順が図4に示されるものに限定されるわけではない。本発明の処理手順は、上述した各ステップを実行し得る限り、任意の手順を有し得る。
例えば、図4に示される実施の形態では、ステップS3〜ステップS5を実行することによって「文字の特性値として基準文字の固有の特性を示す基準特性値」を得たが、「文字の特性値として基準文字の固有の特性を示す基準特性値」を得る手順は、ステップS3〜ステップS5を実行することに限定されない。「文字の特性値として基準文字の固有の特性を示す基準特性値」を示す基準値データが、文字データと共に、文字データ生成装置100に含まれるメモリ(例えば、補助メモリ40)に予め格納されている場合には、このメモリから基準値を読み出し得る。例えば、このメモリは、基準値を格納するための基準値テーブルを含む。メモリに基準値テーブルが含まれている場合には、基準値テーブルから基準値を読み出し得る。
さらに、図4に示される実施の形態では、基準値対象領域が正体文字に外接する多角形の境界線で囲まれた領域であり、かつ特性値対象領域が変形文字に外接する多角形の境界線で囲まれた領域である形態を説明したが、基準値対象領域および特性値対象領域は、この形態に限定されない。基準値対象領域が正体文字に外接する曲線状の境界線で囲まれた領域であり、かつ特性値対象領域は、変形文字に外接する曲線状の境界線で囲まれた領域でもよい。さらに、基準値対象領域が正体文字に含まれる複数のストロークのみを含み、かつ特性値対象領域が変形文字に含まれる複数のストロークのみを含んでもよい。また、基準値対象領域が正体文字に外接する多角形の境界線のみを含み、かつ特性値対象領域が変形文字に外接する多角形の境界線のみを含んでもよい。
図11Aは、対象領域が文字に外接する多角形の境界線で囲まれており、かつ重み付けされた質量に基づいて算出された文字の質量の重心について説明するための図である。
領域(a)は、対象領域のうち、文字のストローク上の領域(黒で塗り潰された領域)を示し、領域(b)は、対象領域のうち、領域(a)以外の領域(グレーで塗り潰された領域)を示す。さらに、領域(c)は、対象領域以外の領域を示す。
式1、式2、式3を用いて重心位置(Grx,GRy)を計算する場合、例えば、領域(a)の質量をg[x][y]=1.0、領域(b)の質量をg[x][y]=0.5、領域(c)の質量をg[x][y]=0.1として算出してもよい。
図11Bは、対象領域が文字に外接する曲線状の境界線で囲まれており、かつ重み付けされた質量に基づいて算出された文字の質量の重心について説明するための図である。
対象領域のうち、領域(a’)は、文字のストローク上の領域(黒で塗り潰された領域)を示し、領域(b’)は、対象領域かつ領域(a)以外の領域(グレーで塗り潰された領域)を示す。
文字に外接する曲線状の境界線は任意のルールで規定し得る。例えば、文字のストローク上の点A1〜点A4のうち、点A1と点A2とを通る円弧(半径r1、中心c1)、点A2と点A3とを通る円弧(半径r2、中心c2)、点A3と点A4とを通る円弧(半径r3、中心c3)によって規定しえる(図11B参照)。
例えば、点Anと点An+1との中点から領域の外側に垂線に引いた直線上の点cを曲線の中心としえる。さらに、ベジェやスプラインなどの複雑な曲線によって、文字に外接する曲線状の境界線を規定し得る。
以下、式1、式2、式3を参照して説明したように、対象領域が文字に外接する曲線状の境界線で囲まれており、かつ重み付けされた質量に基づいて算出された文字の質量の重心が算出される。
さらに、特性値は、文字の質量の重心に限定されない。特性値が「文字の固有の特性を示す値」である限りは、特性値によって表される特性は任意である。文字の特性は、例えば、文字のバランスである。文字のバランスは、例えば、文字の質量の重心、文字のポテンシャルエネルギー質量の重心、文字に含まれるストロークの密度および文字の輪郭のバラツキによって表される。
以下、ポテンシャルエネルギーの重心を説明する。
式4のP(x,y)は自分自身の点が周りから影響を受けるポテンシャルエネルギーを意味する。M(x,y)を自分自身の点の質量とし、M(xi,yi)を影響する点の質量とした場合、例えば、自分自身の点であるM(x,y)において黒いドットが置かれている場合の質量M(x,y)=1、ドットが置かれていない場合の質量M(x,y)=0とし、周りの点であるM(xi,yi)において黒いドットが置かれている場合の質量M(xi,yi)=1、ドットが置かれていない場合の質量M(xi,yi)=0とした場合、式4で自分自身が周りから受けるポテンシャルエネルギーを計算できる。重み値ω=1にした場合、ポテンシャルエネルギーを考慮した重心(GRPx,GRPy)は、式5、式6、式7で算出される。
文字のポテンシャルエネルギーの重心は、文字の質量の重心と比べた場合、よい主観的な重心に近い値が算出されえる。人間は、色濃度が分散しているところより、色濃度が密集しているところに文字の重心(エネルギー)を感じるからである。
以上、図を参照して文字データ生成装置100を説明した。文字データ生成装置100は、本発明の実施の形態の処理装置として機能する。
7.記録媒体について
文字データ生成装置には、上述したように、処理装置の機能を実行させるための処理プログラムが格納されている。このプログラムは、コンピュータの出荷時に、文字データ生成装置に含まれる格納手段に予め格納されていてもよい。あるいは、コンピュータの出荷後に、これらのプログラムを格納手段に格納するようにしてもよい。
例えば、ユーザがインターネット上の特定のウェブサイトからこれらのプログラムを有料または無料でダウンロードし、そのダウンロードされたプログラムをコンピュータにインストールするようにしてもよい。これらのプログラムがフレキシブルディスク、CD−ROM、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録されている場合には、読取装置(例えば、ディスクドライブ装置)を用いてこれらのプログラムをコンピュータにインストールするようにしてもよい。インストールされたプログラムは、格納手段に格納される。
8.プログラムについて
なお、上述した実施の形態では、文字データを生成する場合を例にとり説明したが、本発明はこれに限定されない。文字データを生成する場合に替えて、あるいは文字データを生成する場合に加えて、特性値を算出する場合にも本発明を適用することができる。この場合、文字データ生成プログラム41に替えて、あるいは文字データ生成プログラム41に加えて特性値算出プログラムを使用するようにすればよい。
特性値算出プログラムを使用する場合には、文字データ生成装置は、特性値算出装置として機能する。特性値算出プログラムは、CPU21によって実行される。特性値算出装置は、特性値を算出し、算出した特性値を出力する。算出された特性値は、例えば、表示手段10に出力され、表示手段10は、特性値を表示する(図1参照)。
9.追加説明
さらに、文字データを生成する場合に替えて、あるいは文字データを生成する場合に加えて、図形データを生成する場合にも本発明を適用することができる。この場合、文字データ生成プログラム41に替えて、あるいは文字データ生成プログラム41に加えて図形データ生成プログラムを使用するようにすればよい。なお、図形には、例えば、模様、記号などが含まれる。
さらに、図形データ生成プログラムを使用する場合には、文字データ生成装置は、図形データ生成装置として機能する。図形データ生成プログラムは、CPU21によって実行される。図形データ生成装置は、少なくとも1つの変形図形データを生成し、生成された少なくとも1つの変形図形データに基づいて少なくとも1つの特性値を算出し、少なくとも1つの特性値のうちの1つに対応する変形図形データを出力する。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。