(57)【特許請求の範囲】
【請求項１】
コンピュータに、
文字の太さの指定を受け付けるステップと、
前記文字の字形を表す第１の線及び第２の線の太さを、指定された太さに応じて調整するステップと、
前記調整された第１の線の太さと第２の線の太さとの比が所定範囲外の場合に、前記第１の線の太さを、前記調整された第１の線の太さと第２の線の太さとの比が前記所定範囲内となるように再調整するステップと、
を実行させる、フォントデータ生成プログラム。
【請求項２】
前記受け付けるステップは、前記文字の大きさは一定のまま、前記文字の太さの指定を受け付けるステップである、
請求項１記載のフォントデータ生成プログラム。
【請求項３】
前記所定範囲は、文字ごと、または文字のサイズごとに設定された範囲である、
請求項１または２記載のフォントデータ生成プログラム。
【請求項４】
前記所定範囲を、前記調整するステップにより調整された後の前記文字を構成するドットの数及び前記文字の大きさ、または前記文字の画数に応じて設定するステップを実行させる、
請求項１乃至３のいずれか一項に記載のフォントデータ生成プログラム。
【請求項５】
前記文字の各線が交差した箇所の周囲の点の位置が、前記点に応じた許容範囲外の場合に、前記点の位置を、前記許容範囲内となるように再調整するステップを実行させる、
請求項１乃至４のいずれか一項に記載のフォントデータ生成プログラム。
【請求項６】
コンピュータが、
文字の太さの指定を受け付けるステップと、
前記文字の字形を表す第１の線及び第２の線の太さを、指定された太さに応じて調整するステップと、
前記調整された第１の線の太さと第２の線の太さとの比が所定範囲外の場合に、前記第１の線の太さを、前記調整された第１の線の太さと第２の線の太さとの比が前記所定範囲内となるように再調整するステップと、
を実行する、フォントデータ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォントデータ生成プログラム、及びフォントデータ生成方法に関する。
【背景技術】
【０００２】
従来、アウトラインフォントからドットパターンを生成する（ラスタライズする）際に、線幅を補正するヒンティング処理を行う技術が知られている（例えば、特許文献１参照）。
【０００３】
従来のアウトラインフォントは、文字の太さ（ウェイト）が予め決められている。そのため、文字の大きさ（サイズ）はユーザが指定できるが、文字の太さは指定できない。
【０００４】
そこで、一つのフォントデータから、指定された文字の太さに調整（ウェイト調整）する技術が提案されている（非特許文献１参照）。これにより、例えばより細い太さを指定することにより、プリンターのトナー消費量を削減することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、いわゆる錯視調整を施してデザインされた字形のフォントデータから、指定された文字の太さに調整する場合、生成されたドットパターンに、不自然な線幅のバラツキや、「黒み」のバラツキが発生する場合があるという問題がある。
【０００６】
そこで、錯視調整されたフォントにおける文字の太さを可変とする場合に、当該文字の各線の太さをより適切に調整することを目的とする。
【課題を解決するための手段】
【０００７】
フォントデータ生成プログラムは、コンピュータに、文字の太さの指定を受け付けるステップと、前記文字の字形を表す第１の線及び第２の線の太さを、指定された太さに応じて調整するステップと、前記調整された第１の線の太さと第２の線の太さとの比が所定範囲外の場合に、前記第１の線の太さを、前記調整された第１の線の太さと第２の線の太さとの比が前記所定範囲内となるように再調整するステップと、を実行させる。
【発明の効果】
【０００８】
開示の技術によれば、錯視調整されたフォントにおける文字の太さを可変とする場合に、当該文字の各線の太さをより適切に調整することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図２】実施形態に係る情報処理装置の機能ブロック図である。
【図３】情報処理装置の処理の一例を示すシーケンス図である。
【図４】ウェイトを調整した場合の字形について説明する図である。
【図５】ウェイトを大きくした場合の問題点を説明する図である。
【図６】ストローク幅を再調整した場合の字形について説明する図である。
【図７】交点の周辺の位置を再調整する処理を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら説明する。
【００１１】
＜錯視調整について＞
実施形態を説明する前に、錯視調整についてまず説明する。
【００１２】
フォントの字形のデザインにおいて、例えば以下のような錯視に対応するための錯視調整を行うことが従来知られている。
【００１３】
・縦線と横線の線幅が同じだと、横線がより太く見えるという錯視に対応するため、一の文字に縦線と横線が共存している場合は、横線を意図的に細めにする。
【００１４】
・字形内部の線も含めて全部を太くすると、文字が視覚的に黒くなり過ぎて、他の文字とバランスがとれなくなるという錯視に対応するため、太い（ウェイトが大きい）文字の場合は、文字の「黒み」を自然に保つために、字形内部の線を細めにする。
【００１５】
・一の文字において、平行する横線が３本以上存在している場合は、各横線を等分に配置すると下方向に片寄って見えるという錯視に対応するため、一番下の横線を太くし、内側の横線を細くしてかつ位置を上にずらす。
【００１６】
本実施形態では、このような錯視調整を考慮してデザインされた字形のウェイトを可変としたフォントにおける問題を解決する。
【００１７】
＜ハードウェア構成＞
図１は、実施形態に係る情報処理装置１０のハードウェア構成の一例を示す図である。
【００１８】
情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１０１、ＨＤＤ（Hard disk drive）１０２、メモリ装置１０３、ＣＰＵ（Central Processing Unit；演算処理装置）１０４、通信インターフェース（Ｉ／Ｆ）１０５、操作Ｉ／Ｆ１０６を有する。
【００１９】
ＨＤＤ１０２は、インストールされたプログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１０３は、コンピュータの起動時にＨＤＤ１０２からプログラムを読み出して格納する。そして、ＣＰＵ１０４はメモリ装置１０３に格納されたプログラムに従って、後述するような各種処理を実現する。
【００２０】
通信Ｉ／Ｆ１０５は、ＵＳＢポート、無線ＬＡＮ（Local Area Network）カード、ＬＡＮカードなどで構成されており、ネットワークに接続するために用いられる。
【００２１】
操作Ｉ／Ｆ１０６は、キーボードやディスプレイ等で実現され、情報処理装置１０を操作するための操作画面が表示される。
【００２２】
後述する実施形態のフォントデータ生成方法がフォントデータ生成プログラムによって実現される場合、フォントデータ生成プログラムは例えば記録媒体１１０の配布やネットワークからのダウンロードなどによって提供される。記録媒体１１０は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ（Read Only Memory）、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２３】
また、実施形態のフォントデータ生成プログラムを記録した記録媒体１１０がドライブ装置１０１にセットされると、記録媒体１１０からドライブ装置１０１を介してＨＤＤ１０２にインストールされる。フォントデータ生成プログラムをネットワークからダウンロードした場合は、通信Ｉ／Ｆ１０５を介してＨＤＤ１０２にインストールされる。
【００２４】
＜機能構成＞
次に、図２を参照し、実施形態に係る情報処理装置１０の機能構成について説明する。図２は、実施形態に係る情報処理装置１０の機能ブロック図である。情報処理装置１０は、受付部１２、調整部１３、再調整部１４、及び設定部１５を有する。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００２５】
また、情報処理装置１０は、記憶部１１を有する。記憶部１１は、例えば、情報処理装置１０の補助記憶装置であるＨＤＤ１０２等を用いて実現される。記憶部１１は、マルチウェイトフォントデータ１１１を記憶する。マルチウェイトフォントデータ１１１は、文字の大きさ（サイズ）を一定としながら、文字の太さ（ウェイト）を指定できるフォント（以下「マルチウェイトフォント」と称する。）のデータを記憶する。マルチウェイトフォントは、「横線」「縦線」「右払い」などの共通のエレメントですべての文字を表現するエレメント方式のアウトラインフォントでもよいし、TrueTypeフォントのようなフルアウトライン方式のデータでもよい。なお、このマルチウェイトフォントにおいて、錯視調整のため、一の文字において、各縦線または各横線において、比較的太い線と比較的細い線等があるように予めデザインされているものとする。
【００２６】
受付部１２は、例えばユーザからの操作に応じて、文字の太さの指定を受け付ける。
【００２７】
調整部１３は、文字の字形を表す各線の太さを、指定された太さに応じて調整する。
【００２８】
再調整部１４は、調整部１３により調整された第１の線の太さと第２の線の太さとの比が、設定部１５により設定された所定範囲の範囲外である場合に、第１の線の太さを、当該所定範囲内となるように再調整する。
【００２９】
設定部１５は、文字ごと、または文字のサイズごとに、再調整部１４が再調整を行うか否かを判定するための第１の線の太さと第２の線の太さとの比の許容範囲を、ユーザからの設定操作に応じて、または文字ごと、または文字のサイズごとに算出し、設定する。なお、文字ごと、または文字のサイズごとに許容範囲を算出する処理の詳細例は後述する。
【００３０】
なお、情報処理装置１０は、ドットパターン（ビットマップフォント）としてラスタライズする際にウェイトを調整する代わりに、ウェイトが調整されたアウトラインフォントのデータを生成して出力するようにしてもよい。
【００３１】
＜処理＞
次に、図３を参照し、情報処理装置１０の処理について説明する。図３は、情報処理装置１０の処理の一例を示すシーケンス図である。
【００３２】
ウェイトの指定を受け付ける（ステップＳ１０１）。なお、ウェイトの指定は、例えば、１〜９までの９段階で指定できるようにする。
【００３３】
指定されたウェイトの値に応じて、アウトラインフォントの各ストローク幅を調整する（ステップＳ１０２）。ここで、「ウェイト」とは、フォント（書体）全体の太さであり、「ストローク」とは、文字の一筆である。文字の字形は、文字を構成する各ストロークの集合により表現される。
【００３４】
調整された各ウェイトのうち、一のウェイトを処理対象として選択する（ステップＳ１０３）。
【００３５】
処理対象のウェイトの幅と、基準幅との比を算出する（ステップＳ１０４）。なお、基準幅は、一の文字における調整された全ウェイトの幅のうち、最も広い幅である。
【００３６】
ステップＳ１０４で算出した比が、文字ごとに予め設定された最大許容限界よりも大きいか否かを判定する（ステップＳ１０５）。
【００３７】
算出した比が、文字ごとに予め設定された最大許容限界よりも大きい場合（ステップＳ１０５でＹＥＳ）、処理対象のウェイトの幅を、最大許容限界に基準幅を乗算した値に再調整し（ステップＳ１０６）、後述するステップＳ１０９の処理に進む。
【００３８】
算出した比が、文字ごとに予め設定された最大許容限界よりも大きくない場合（ステップＳ１０５でＮＯ）、算出した比が、文字ごとに予め設定された最小許容限界よりも小さいか否かを判定する（ステップＳ１０７）。
【００３９】
算出した比が、文字ごとに予め設定された最小許容限界よりも小さくない場合（ステップＳ１０７でＮＯ）、後述するステップＳ１０９の処理に進む。
【００４０】
算出した比が、文字ごとに予め設定された最小許容限界よりも小さい場合（ステップＳ１０７でＹＥＳ）、処理対象のウェイトの幅を、最小許容限界に基準幅を乗算した値に再調整する（ステップＳ１０８）。
【００４１】
各ウェイトのうち、処理対象として未選択のウェイトがあるか判定する（ステップＳ１０９）。
【００４２】
未選択のウェイトがある場合（ステップＳ１０９でＹＥＳ）、未選択のウェイトを処理対象として選択し（ステップＳ１１０）、ステップＳ１０４の処理に進む。
【００４３】
未選択のウェイトがない場合（ステップＳ１０９でＮＯ）、処理を終了する。
≪ウェイト調整処理≫
次に、図４、図５を参照して、ステップＳ１０２のウェイトを調整する処理について説明する。
【００４４】
図４は、ウェイトを調整（変更）した場合の字形について説明する図である。
【００４５】
標準的なウェイト（例えば１〜９までの９段階で指定できる場合の５）が指定され、指定されたウェイトにてフォントデータをラスタライズした結果、図４（Ａ）のようなドットパターン（字形）が生成されたとする。図４（Ａ）に示すドットパターンには、錯視調整を考慮してデザインした結果、以下の特徴がある。
【００４６】
・横線の幅（５ドット）よりも、縦線の幅（６ドット）が大きい。
【００４７】
・両端の縦線の幅（６ドット）よりも、中央縦線の幅（５ドット）が小さい。
【００４８】
・中央横線の配置は、上端横線と下端横線の中央よりも、やや上にずらされている。
【００４９】
一方、ユーザがより小さいウェイト（細い文字幅）を要求した結果、ステップＳ１０２の処理により図４（Ｂ）のようなドットパターン（字形）が生成されたとする。
【００５０】
図４（Ｂ）に示す字形には、不自然な線幅のばらつきがあるという問題がある。例えば、右端と左端の縦線が、他の線に比べて太いのが目立つ。
【００５１】
この問題点は、元々の字形のデザインにおいて錯視調整をしていたために起きる。錯視調整をしていなければ、すべての線幅が同一にデザインされているため、このような問題は起きない。
【００５２】
一方、ユーザがより大きいウェイト（太い文字幅）を要求した結果、ステップＳ１０２の処理により図４（Ｃ）のようなドットパターン（字形）が生成されたとする。
【００５３】
図４（Ｃ）に示す字形には、字形内部の4つの白い四角（□）の大きさがばらついており、不自然に見えるという問題点がある。
【００５４】
この問題点も、元々の字形のデザインにおいて錯視調整をしていたために起きる。錯視調整をしていなければ、上端横線と下端横線の中央に中央横線を配置されるため、このような問題は起きない。
【００５５】
なお、一般に、ウェイトを大きく（文字を太く）すると、「画数の多い文字の『黒み』と、画数の少ない文字の『黒み』が不揃いになる」という問題が起きる。（図５、「書体のデザイン要素とデザイン統一」株式会社 タイプバンク ＜http://www.enfour.co.jp/media/typeface/2.html＞参照。）
そのため、マルチウェイトフォントにおいても、ウェイトを大きくすると、図５（Ａ）のような字形になる。このような字形が生成されてしまう原因は、元々の字形が、ウェイトが比較的小さいことを前提にデザインされているからである。本来であれば、図５（Ｂ）のような字形が望ましい。
≪ウェイト再調整処理≫
次に、図４、図６を参照して、ステップＳ１０６、ステップＳ１０８の、ウェイトを再調整する処理について説明する。
【００５６】
錯視調整を考慮してデザインされたフォントのウェイトを可変にした場合、上述したような問題が生じる場合がある。
【００５７】
そこで、本実施形態では、錯視調整をされたフォントのウェイトについて、以下のウェイト再調整処理を行う。
【００５８】
図４（Ａ）の文字について、元々の字形が、錯視調整により、細い縦線幅／基準縦線幅＝７／８であるようにデザインされているとする。これは、錯視調整を考慮して字形をデザインした結果、"あるべきデザイン"として縦線幅のばらつきが７：８になっていることを意味する。
【００５９】
この文字に対し、縦線幅のばらつきの許容範囲が４／５から１０／１１、すなわち許容範囲の最小値（最小許容限界）＝４／５、許容範囲の最大値（最大許容限界）＝１０／１１と設定されているとする。これは、縦線幅のばらつきは７：８が理想であるが、細い縦線幅がさらに細くなったとしても、４：５までは許容され、細い縦線幅が太めになったとしても１０：１１までは許容されることを意味する。
【００６０】
この字形の場合の細い縦線幅／基準縦線幅と、最小許容限界及び最大許容限界の値の大小関係は以下である。
【００６１】
細い縦線幅／基準縦線幅（５／６）  ＞  最小許容限界(４／５)
細い縦線幅／基準縦線幅（５／６）  ＜  最大許容限界(１０／１１)
したがって、この字形は、錯視調整の許容限界の範囲内であるため、この字形のままシステムに返される。
【００６２】
ユーザがより細い文字幅を要求した結果、ステップＳ１０２の処理により図４（Ｂ）のような字形が生成された場合、細い縦線幅／基準縦線幅と、最小許容限界及び最大許容限界の値の大小関係は以下である。
【００６３】
細い縦線幅／基準縦線幅（１／２）  ＜  最小許容限界(４／５)
したがって、この字形は、錯視調整の許容限界の範囲外であるため、それぞれ図６（Ａ）、図６（Ｂ）に示すように、細い縦線幅／基準縦線幅＝１ドット／１ドット、または２ドット／２ドットのいずれかになるようにラスタライズ結果を補正し、システムに返す。なお、１ドット／１ドット、または２ドット／２ドットのいずれにするかは、例えば管理者等のユーザが設定可能としてもよい。
【００６４】
なお、縦線幅と横線幅の比についても許容範囲を設定し、再調整された縦線幅に応じて横線幅の再調整を行うようにしてもよい。または、同様に、横線幅を再調整し、再調整された横線幅に応じて縦線幅の再調整を行うようにしてもよい。
≪許容範囲について≫
上述したウェイト再調整処理で用いられる許容範囲の値は、設定部１５が、文字ごと、及び文字のサイズごとに、ユーザからの設定操作に応じて設定してもよい。
【００６５】
または、設定部１５は、調整部１３により調整された後の文字を構成するドットの数及び当該文字の大きさに応じて算出し、設定してもよい。この場合、例えば、文字の大きさに応じた面積当たりの文字を表すドット数の比に応じて、許容範囲を決定してもよい。または、設定部１５は、文字の画数に応じて許容範囲を決定してもよい。
【００６６】
＜変形例＞
各線の交点は太く見えるという錯視の調整のため、図７（Ａ）のように、線が交差した箇所を細くデザインすることが知られている。
【００６７】
そこで、以下のような処理を行ってもよい。
【００６８】
設定部１５は、図７（Ｂ）のように、線が交差した箇所の周囲の各点（各制御点）の位置の許容範囲を設定する。
【００６９】
再調整部１７は、調整部１３によりウェイト調整された後の各制御点の位置が、設定部１５により設定された許容範囲の範囲外であるか否か判定し、範囲外の場合は、範囲内になるように、各制御点の位置を再調整する。
【００７０】
これにより、図７（Ｂ）の例では、制御点５０１乃至５１４は、それぞれ許容範囲６０１乃至６１４の範囲に位置するように調整される。
【００７１】
＜まとめ＞
以上説明したように、本実施形態では、錯視調整されたフォントデータを保持しておき、異なるウェイトの字形が要求されたとき、錯視調整を考慮してウェイトや制御点の位置を再調整する。
【００７２】
それにより、錯視調整されたフォントにおける文字の太さを可変とする場合に、自然な字形を生成することができる。
【００７３】
なお、上述した実施形態におけるシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【００７４】
例えば、情報処理装置１０は、１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【符号の説明】
【００７５】
１０  情報処理装置
１１  記憶部
１１１  マルチウェイトフォントデータ
１２  受付部
１３  調整部
１４  再調整部
１５  設定部
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開平０５−１９７３６５号公報
【非特許文献】
【００７７】
【非特許文献１】"RT Font（スケーラブルフォント）"，［online］，［平成28年5月6日検索］，インターネット＜URL：https://industry.ricoh.com/font/element/index.html＞
【図１】
0006728969.tif 000002
【図２】
0006728969.tif 000003
【図３】
0006728969.tif 000004
【図４】
0006728969.tif 000005
【図５】
0006728969.tif 000006
【図６】
0006728969.tif 000007
【図７】
0006728969.tif 000008