(57)【特許請求の範囲】
【請求項１】
異なる文字サイズである複数の斜体文字を網掛け対象として指定する指定手段と、
前記指定された複数の斜体文字の各文字毎の文字情報から、該各文字毎に斜体文字を内包する四辺形情報を求めると共に、それら全ての四辺形情報を内包する矩形を求める算出手段と、
前記算出手段によって求められた矩形に従い、前記複数の斜体文字を内包する該矩形内を網掛けする網掛け手段と
を有することを特徴とする文字修飾装置。
【請求項２】
前記求められた前記複数の斜体文字を内包する矩形を一定比率で変更する変更手段を有し、前記網掛け手段は変更後の矩形に従い、該矩形内を網掛けすること特徴とする請求項１記載の文字修飾装置。
【請求項３】
文字に修飾を施す機能を備えた装置によって行われる文字修飾方法において、  異なる文字サイズである複数の斜体文字を網掛け対象とした網掛け指示を受信し、
前記指定された複数の斜体文字の各文字毎の文字情報から、該各文字毎に斜体文字を内包する四辺形情報を求めると共に、それら全ての四辺形情報を内包する矩形を求め、
前記求められた矩形に従い、前記複数の斜体文字を内包する該矩形内を網掛けする
ことを特徴とする文字修飾方法。
【請求項４】
前記求められた前記複数の斜体文字を内包する矩形を一定比率で変更し、前記網掛けの際にこの変更後の矩形に従い、該矩形内を網掛けすること特徴とする請求項３記載の文字修飾方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、範囲指定された文字列を内包する四辺形の内部を網掛けする文字修飾装置および文字修飾方法に関するものである。
【０００２】
【従来の技術】
従来、文書作成装置などは、画面上でかなを入力してかな漢字混り文に変換して文章を作成する。そして、画面上で入力した文章のうちのある部分の範囲を指定して網掛けキーを押下し、当該範囲の文字列上に網掛けをして強調などしていた。この際、網掛けは、指定された範囲内の文字列の例えば半角単位に整数倍の範囲について固定的に網掛けを行っていた。
【０００３】
【発明が解決しようとする課題】
上述したように従来は、網掛け指定された範囲について、例えば半角単位にその整数倍の範囲を固定的に網掛けしていたため、４分１の小さな上添字や下添字などであっても文字の無い余分の位置まで網掛けしてしまったりする問題があった。また、文字が斜体であっても、固定的に半角文字の整数倍の範囲で網掛けしていたため、斜体の傾いた部分が網掛けから外に出てしまい、綺麗な網掛けを行えないという問題もあった。また、複数のサイズの文字列の全体を網掛けする場合にも同様に半角文字の整数倍という範囲にしか網掛けができず、任意のサイズの文字列の全体を丁度内包するように網掛けできないという問題があった。
【０００４】
本発明は、これらの問題を解決するため、網掛け指定された文字の斜体、影付き、立体の厚み、更に字送りから算出した四辺形情報をもとに１または複数の文字を内包する四辺形情報や一定比率で変更した四辺形情報を求めて四辺形の内部を網掛けし、任意のサイズ、属性の文字列に綺麗な網掛けを自動的に行うことを目的としている。
【０００５】
【課題を解決するための手段】
図１は、本発明の原理ブロック図を示す。
図１において、ワードプロセッサ１は、表示装置９の画面上でかなを入力してかな漢字変換し文章を作成したり、文章中の文字列に網掛けしたりするものであって、制御部２およびメモリ６などから構成されるものである。
【０００６】
制御部２は、プロブラムに従って各種処理を行うものであって、算出手段３、変更手段４、および網掛け手段５などから構成されるものである。
算出手段３は、指定された１または複数の文字の各文字毎の文字情報から、１または複数の文字を内包する四辺形情報を求めるものである。
【０００７】
変更手段４は、四辺形情報を一定比率で変更するものである。  網掛け手段５は、文章中の指定された１または複数の文字を内包する四辺形内を網掛けしたり、一定比率で変更した後の四辺形内を網掛けしたりするものである。
【０００８】
メモリ６は、各種データを格納するものであって、ここでは、行情報レコード７および文字情報レコード８を格納するものである。
行情報レコード７は、開始座標、文字数などの情報を格納するものである。
【０００９】
文字情報レコード８は、文字の文字サイズ、斜体角度、影付、字送りなどの情報を格納するものである。
表示装置９は、画面を表示するものである。
【００１０】
印字装置１０は、文書を印字するものである。
キーボード１１は、各種指示を入力したり、かなを入力したりなどするものである。
【００１１】
【作用】
本発明は、図１に示すように、キーボード１１を操作した画面上で１または複数の文字列の範囲指定した網掛け指示に対応して、算出手段３が指定された１または複数の文字の各文字毎の文字情報から、該１または複数の文字を内包する四辺形情報を求め、網掛け手段５が求められた四辺形情報に従い四辺形内を網掛けするようにしている。
【００１２】
この際、文字情報は文字サイズとしたり、文字サイズと文字属性とたりしている。
また、文字属性が斜体のときに、斜体部分を内包する四辺形情報を算出するようにしている。
【００１３】
また、文字属性が文字の立体の厚みのときに、立体の厚み部分を内包する四辺形情報を算出するようにしている。
また、文字属性が文字の影付きや飾付きのときに、影付きや飾付の部分を内包する四辺形情報を算出するようにしている。
【００１４】
また、変更手段４によって１または複数の文字を内包する四辺形情報を一定比率で変更し、網掛け手段５が変更後の四辺形情報に従い、四辺形内を網掛けするようにしている。
【００１５】
従って、指定された網掛けの範囲内の文字単位に斜体、影付きや飾り付き、立体の厚み、字送りなどをもとに四辺形情報を求めてこれらから１または複数の文字を内包する四辺形情報を求めその内部あるいは一定比率で変更した後の内部を網掛けすることにより、指定文字列を内包をする綺麗な網掛けを自動的に行うことが可能となる。
【００１６】
【実施例】
次に、図２から図６を用いて本発明の実施例の構成および動作を順次詳細に説明する。この明細書中で“矩形“は、文字または文字列を内包する四辺形とし、直角四辺形に限らないものとする。
【００１７】
図２は、本発明の動作説明フローチャートを示す。これは、図１の構成の動作を詳細に説明するものである。
図２において、Ｓ１は、網掛け文字単位の範囲指定する。これは、オペレータが図１の表示装置９の画面上に表示された文章中から、網掛けをする文字列の範囲を指定する。
【００１８】
Ｓ２は、終わりか判別する。これは、Ｓ１で指定された指定文字列の先頭から１文字単位に順次Ｓ３からＳ１０の処理を実行し、全ての文字の処理を終了したか判別する。ＹＥＳの場合には、文字単位のＳ３からＳ１０の処理を終了したので、その処理結果をもとにＳ１１およびＳ１２の処理を行う。一方、ＮＯの場合には、指定文字列の全ての文字の処理が終了していないので、Ｓ３に進む。
【００１９】
Ｓ３は、指定文字列から取り出した文字が影付きか判別する。これは、指定文字列から取り出した文字の図３の（ｂ）に示す文字情報レコード６の属性の１つである、影付き有無が“有り”か判別する。ＹＥＳの場合には、Ｓ４で行の開始座標を起点に文字サイズと、文字の影付きや飾り部分の長さを使って、文字の４隅の座標を算出する（後述する図５の斜体および図６の（ｂ）参照）。そして、Ｓ１０で行の開始座標に字送り（図３の（ｂ）の文字情報レコード８中の字送り）を足し込み、行の起点を置き換え、Ｓ２に戻り繰り返す。これにより、指定文字列から取り出した文字が影付きのときに、文字の影を含めた矩形の４隅の座標を算出して保存できたこととなる。
【００２０】
一方、Ｓ３のＮＯの場合には、指定文字列から取り出した文字が影付きでないと判明したので、Ｓ５に進む。
Ｓ５は、指定文字列から取り出した文字が立体か判別する。これは、指定文字列から取り出した文字の図３の（ｂ）に示す文字情報レコード８の属性の１つである、図示外の立体有無が“有り”か判別する。ＹＥＳの場合には、Ｓ６で行の開始座標を起点に文字サイズと、文字の立体の厚みの長さを使って、文字の４隅の座標を算出する（後述する図６の（ａ）の立体、図５を参照）。そして、Ｓ１０で行の開始座標に字送り（図３の（ｂ）の文字情報レコード８中の字送り）を足し込み、行の起点を置き換え、Ｓ２に戻り繰り返す。これにより、指定文字列から取り出した文字が立体のときに、文字の立体の厚みの長さを含めた矩形の４隅の座標を算出して保存できたこととなる。
【００２１】
一方、Ｓ５のＮＯの場合には、指定文字列から取り出した文字が立体でないと判明したので、Ｓ７に進む。
Ｓ７は、指定文字列から取り出した文字が斜体か判別する。これは、指定文字列から取り出した文字の図３の（ｂ）に示す文字情報レコード８の属性の１つである、斜体角度が“有り”か判別する。ＹＥＳの場合には、Ｓ８で行の開始座標を起点に文字サイズと、文字の斜体の角度を使って、文字の４隅の座標を算出する（後述する図５を参照）。そして、Ｓ１０で行の開始座標に字送り（図３の（ｂ）の文字情報レコード８中の字送り）を足し込み、行の起点を置き換え、Ｓ２に戻り繰り返す。これにより、指定文字列から取り出した文字が斜体のときに、文字の斜体の傾いた部分を含めた矩形の４隅の座標を算出して保存できたこととなる。
【００２２】
一方、Ｓ７のＮＯの場合には、指定文字列から取り出した文字が斜体でないと判明し、通常の文字であったので、Ｓ９に進む。
Ｓ９は、行の開始座標を起点に文字サイズを使って、文字の４隅の座標を算出する（後述する図４を参照）。そして、Ｓ１０で行の開始座標に字送り（図３の（ｂ）の文字情報レコード８中の字送り）を足し込み、行の起点を置き換え、Ｓ２に戻り繰り返す。これにより、指定文字列から取り出した文字が通常の文字のときに、文字を含んだ矩形の４隅の座標を算出して保存できたこととなる。
【００２３】
以上のＳ２のＮＯからＳ１０によって、指定文字列から文字を順次取り出して、文字が影付き、立体、斜体、通常の文字のときに分けてそれぞれ内包する矩形の４隅の座標をそれぞれ算出して保存し、文字列全体を内包する網掛け矩形の座標を算出する準備ができたこととなる。
【００２４】
Ｓ１１は、Ｓ２のＹＥＳによって指定文字列の各文字の４隅の座標が全て算出して保存されたので、ここでは、行内の全文字の４隅座標のうち、Ｙ座標の最小を探し、Ｙｍｉｎとする。
【００２５】
また、Ｙ座標の最大を探し、Ｙｍａｘとする。
また、Ｘ座標の最小を探し、Ｘｍｉｎとする。
また、Ｘ座標の最大を探し、Ｘｍａｘとする。
【００２６】
Ｓ１２は、（Ｘｍｉｎ、Ｙｍａｘ）、（Ｘｍａｘ、Ｙｍｉｎ）を頂点とする四角形（指定文字列を含む最小の網掛け矩形）に網掛けする。
以上によって、オペレータが画面上で網掛け指定した文字列について、先頭の文字を内包する４隅の座標を求ると共に、字送りして次の文字の４隅の座標を求めることを繰り返した後（Ｓ２からＳ１０）、行内の全文字の４隅の座標値をもとに、内包する最小の矩形を求めてこれを網掛け矩形とし当該網掛け矩形の内部を網掛けする（Ｓ１１、Ｓ１２）。これらにより、指定文字列を含む最小の網掛け矩形内を網掛けすることができたこととなる。
【００２７】
図３は、本発明の行情報レコード／文字情報レコード例を示す。
図３の（ａ）は、行情報レコード例を示す。この行情報レコード７は、図示の下記のように、
・１行目  開始Ｙ座標  開始Ｘ座標  文字情報レコードアドレス  文字数
を各行単位に設定し、各行の開始位置、文字情報を格納したアドレス、文字数を設定したものである。
【００２８】
図３の（ｂ）は、文字情報レコード例を示す。この文字情報レコード８は、図示の下記
0003923544.tif 000002
のように設定する。
【００２９】
尚、ここでは、スペースの関係で記述しないが、その他に立体の厚みの長さの有無（図６の（ａ））、影付の長さの有無などの、文字の属性をそれぞれ設定する。
【００３０】
図４は、本発明の網掛け矩形の算出説明図を示す。これは、図２のＳ９、Ｓ１０の通常の文字について繰り返し各文字の４隅の座標（大きな“●”で指定した点の座標）を求めたときのものである。
【００３１】
（１）  先頭の文字“あ”は、図３の（ｂ）の文字情報レコード８の１文字目の文字“あ”に相当し、文字サイズ“９ポイント”、字送り“ｐ１”である。
従って、起点を（ｘ、ｙ）とすると、４隅の座標は反時計方向に順に
・（ｘ、ｙ）
・（ｘ＋９ポイントの長さ、ｙ）
・（ｘ＋９ポイントの長さ、ｙ＋９ポイントの長さ）
・（ｘ、ｙ＋９ポイントの長さ）
と計算できる。また、字送りがｐ１であるから、次の文字の起点は
・（ｘ＋ｐ１、ｙ）
と計算できる。
【００３２】
（２）  ２番目の文字“い”は、図３の（ｂ）の文字情報レコード８の２文字目の文字“い”に相当し、文字サイズ“１８ポイント”、字送り“ｐ２”である。
【００３３】
従って、起点が（ｘ＋ｐ１、ｙ）であるので、４隅の座標は反時計方向に順に・（ｘ＋ｐ１、ｙ）
・（ｘ＋ｐ１＋１８ポイントの長さ、ｙ）
・（ｘ＋ｐ１＋１８ポイントの長さ、ｙ＋１８ポイントの長さ）
・（ｘ＋ｐ１、ｙ＋１８ポイントの長さ）
と計算できる。また、字送りがｐ２であるから、次の文字の起点は
・（ｘ＋ｐ１＋ｐ２、ｙ）
と計算できる。
【００３４】
（３）  同様に、ｎ番目の文字“お”は、図３の（ｂ）の文字情報レコード８のｎ文字目の文字“お”に相当し、文字サイズ“９ポイント”、字送り“ｐｎ”である。
【００３５】
従って、起点が（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）、ｙ）であるので、４隅の座標は反時計方向に順に
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）、ｙ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋９ポイントの長さ、ｙ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋９ポイントの長さ、ｙ＋９ポイントの長さ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）、ｙ＋９ポイントの長さ）
と計算できる。
【００３６】
（４）  （１）から（３）によって算出した文字列の１番目からｎ番目の各文字の４隅の座標から、
・Ｙ方向の最大値Ｙｍａｘ
・Ｙ方向の最小値Ｙｍｉｎ
・Ｘ方向の最大値Ｘｍａｘ
・Ｘ方向の最小値Ｘｍｉｎ
をそれぞれ求める。ここでは、仮に上記（１）、（２）、（３）の３つ（ｎ＝３）とすると、
・Ｙ方向の最大値Ｙｍａｘ＝ｙ＋１８ポイントの長さ
・Ｙ方向の最小値Ｙｍｉｎ＝ｙ
・Ｘ方向の最大値Ｘｍａｘ＝ｘ＋ｐ１＋ｐ２＋９ポイントの長さ
・Ｘ方向の最小値Ｘｍｉｎ＝ｘ
となる（図２のＳ１１）。従って、求める網掛け矩形の頂点は、
・（Ｘｍｉｎ、Ｙｍａｘ）＝（ｘ、ｙ＋１８ポイントの長さ）
・（Ｘｍａｘ、Ｙｍｉｎ）＝（ｘ＋ｐ１＋ｐ２＋９ポイントの長さ、ｙ）
となり、図４の★印で示した２つの頂点の座標が求まったこととなる（図２のＳ１２）。
【００３７】
（５）  （４）で求めた網掛け矩形の内部を網掛けする。
以上の（１）から（５）によって、通常の文字列について内包する網掛け矩形を求め、その内部を網掛けできたこととなる。
【００３８】
次に、図５を用いて斜体の網掛け矩形の算出ついて同様に説明する。
図５の（ａ）は、文字の斜体のときの４隅の座標（●の点の座標）を求める様子を示す。文字の斜体は、図３の（ｂ）の文字情報レコード中の斜体角度に示すように、文字の斜体の角度θによって指定されている。このため、図５の（ａ）の図中のθ（斜体角度）に示すように、文字が傾いているので、●の４点の座標は、図中の補助線を参考にし、起点を（ｘ、ｙ）とすると、４隅の座標は反時計方向に順に
・（ｘ、ｙ）
・（ｘ＋ｑ１、ｙ）
・（ｘ＋ｑ１＋ｑ１ｔａｎθ、ｙ＋ｑ１）
・（ｘ＋ｑ１ｔａｎθ、ｙ＋ｑ１）
と計算できる。また、字送りをｐ１とすると、次の文字の起点は
・（ｘ＋ｐ１、ｙ）
と計算できる。
【００３９】
図５の（ｂ）は、斜体の複数の文字列を内包する網掛け矩形の座標を求める様子を示す。これは、斜体の文字の４隅の座標を求める点が異なるのみで、その他は図４と同様にして算出できる。以下順次説明する。
【００４０】
（１）  先頭の斜体の文字“あ”は、図５の（ａ）で算出したように、起点を（ｘ、ｙ）とし、長さをｑ１、角度をθ１とすると、４隅の座標は反時計方向に順に
・（ｘ、ｙ）
・（ｘ＋ｑ１、ｙ）
・（ｘ＋ｑ１＋ｑ１ｔａｎθ１、ｙ＋ｑ１）
・（ｘ＋ｑ１ｔａｎθ１、ｙ＋ｑ１）
と計算できる。また、字送りをｐ１とすると、次の文字の起点は
・（ｘ＋ｐ１、ｙ）
と計算できる。
【００４１】
（２）  同様にして、ｎ番目の文字“あ”は、図５の（ａ）で算出したようにして、起点が（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）、ｙ）であり、長さをｑｎ、角度をθｎとすると、４隅の座標は反時計方向に順に
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）、ｙ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋ｑｎ、ｙ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋ｑｎ＋ｑｎｔａｎθｎ、ｙ＋ｑｎ）
・（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋ｑｎｔａｎθｎ、ｙ＋ｑｎ）
と計算できる。
【００４２】
（３）  （１）から（２）によって算出した文字列の１番目からｎ番目の各文字の４隅の座標から、
・Ｙ方向の最大値Ｙｍａｘ
・Ｙ方向の最小値Ｙｍｉｎ
・Ｘ方向の最大値Ｘｍａｘ
・Ｘ方向の最小値Ｘｍｉｎ
をそれぞれ求める。ここでは、仮に上記（１）、（２）で求めた２つでＸ、Ｙの最大値および最小値が求まるとすると、
・Ｙ方向の最大値Ｙｍａｘ＝ｙ＋ｑｎ
・Ｙ方向の最小値Ｙｍｉｎ＝ｙ
・Ｘ方向の最大値Ｘｍａｘ＝ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋ｑｎ＋ｑｎｔａｎθｎ
・Ｘ方向の最小値Ｘｍｉｎ＝ｘ
となる（図２のＳ１１）。従って、求める網掛け矩形の頂点は、
・（Ｘｍｉｎ、Ｙｍａｘ）＝（ｘ、ｙ＋ｑｎ）
・（Ｘｍａｘ、Ｙｍｉｎ）＝（ｘ＋ｐ１＋・・＋ｐ（ｎ−１）＋ｑｎ＋ｑｎｔａｎθｎ、ｙ）
となり、図５の（ｂ）の★印で示した２つの頂点の座標として求まったこととなる（図２のＳ１２）。
【００４３】
（４）  （３）で求めた網掛け矩形の内部を網掛けする。
以上の（１）から（４）によって、斜体の文字列について内包する網掛け矩形を求め、その内部を網掛けできたこととなる。
【００４４】
図６は、本発明の立体／影付の網掛け矩形の算出説明図を示す。
図６の（ａ）は、立体の厚みの長さを模式的に示す。ここで、立体の厚さの長さは、図示のＹ方向にｄｙ、Ｘ方向にｄｘの厚さを持つとすると、図４で求めた各文字の４隅の座標について、Ｘ方向にｄｘ、Ｙ方向にｄｙだけシフト（加算）した値が、当該立体の４隅の座標となる。他は、図４で説明したと同様である。
【００４５】
図６の（ｂ）は、影付きの長さを模式的に示す。ここで、影付の長さは、図示のＹ方向にｄｙ、Ｘ方向にｄｘの長さを持つとすると、図４で求めた各文字の４隅の座標について、Ｘ方向にｄｘ、Ｙ方向にｄｙだけシフト（加算）した値が、当該影付の４隅の座標となる。他は、図４で説明したと同様である。
【００４６】
また、以上の実施例では、文字列の各文字について斜体、立体、影付きなどの属性に合わせて４隅の座標値を求め、そのうちのＸ方向、Ｙ方向の最大値、最小値をもとに内包する最小の矩形を網掛け矩形としたが、一定の比率で当該網掛け矩形を外方向にそれぞれ余裕を持たるようにしてもよい。
【００４７】
【発明の効果】
以上説明したように、本発明によれば、指定された１まはた複数の文字の文字情報、影付きや飾り部分、立体の厚み、更に字送りをもとに四辺形情報を算出し、四辺形情報をもとに１まはた複数の文字を内包する最小あるいは一定比率の網掛けする四辺形情報を求めて四辺形の内部を網掛けする構成を採用しているため、指定された１または複数の文字に合わせて動的に丁度内包する網掛けあるいは所定の余裕を持たせた網掛けを自動的に行うことができる。これにより、網掛け指定された１または複数の文字中にどのようなサイズ、斜体、立体、影付きなどがあっても、常に動的に丁度内包する、あるいは一定の余裕を持った大きさの範囲の綺麗な網掛けを行うことが可能となった。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明の行情報レコード／文字情報レコード例である。
【図４】本発明の網掛け矩形の算出説明図である。
【図５】本発明の斜体の網掛け矩形の算出説明図である。
【図６】本発明の立体／影付の網掛け矩形の算出説明図である。
【符号の説明】
１：ワードプロセッサ
２：制御部
３：算出手段
４：変更手段
５：網掛け手段
６：メモリ
７：行情報レコード
８：文字情報レコード
９：表示装置
１０：印字装置
１１：キーボード
【図１】
0003923544.tif 000003
【図２】
0003923544.tif 000004
【図３】
0003923544.tif 000005
【図４】
0003923544.tif 000006
【図５】
0003923544.tif 000007
【図６】
0003923544.tif 000008