(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022165289
(43)【公開日】2022-10-31
(54)【発明の名称】プログラム、情報処理方法及び情報処理装置
(51)【国際特許分類】
G06T 11/80 20060101AFI20221024BHJP
【FI】
G06T11/80 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021070594
(22)【出願日】2021-04-19
(71)【出願人】
【識別番号】521168184
【氏名又は名称】朱 心茹
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】朱 心茹
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA20
5B050CA07
5B050EA12
5B050EA13
5B050FA02
(57)【要約】
【課題】フォント作成を好適に支援することができるプログラム等を提供する。
【解決手段】プログラムは、所定フォントの文字の骨格線を示すスケルトン文字と、所定のオブジェクトとを表示し、前記オブジェクトへの操作入力を受け付けることで、前記骨格線への肉付けを行うためのパラメータの調整を受け付け、調整後の前記パラメータに基づき、前記骨格線を肉付けした各文字から成る第2フォントデータを生成し、表示中の前記スケルトン文字を、前記第2フォントデータに係る文字に変更し、前記オブジェクトへの操作入力を受け付ける毎に、前記第2フォントデータを生成し、生成した前記第2フォントデータに係る文字に変更する処理をコンピュータに実行させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
所定フォントの文字の骨格線を示すスケルトン文字と、所定のオブジェクトとを表示し、
前記オブジェクトへの操作入力を受け付けることで、前記骨格線への肉付けを行うためのパラメータの調整を受け付け、
調整後の前記パラメータに基づき、前記骨格線を肉付けした各文字から成る第2フォントデータを生成し、
表示中の前記スケルトン文字を、前記第2フォントデータに係る文字に変更し、
前記オブジェクトへの操作入力を受け付ける毎に、前記第2フォントデータを生成し、生成した前記第2フォントデータに係る文字に変更する
処理をコンピュータに実行させるプログラム。
【請求項2】
前記パラメータは、文字の形状を規定するパラメータであって、文字の大きさ、高さ、太さ、又はコントラストを含むパラメータである
請求項1に記載のプログラム。
【請求項3】
複数の前記パラメータにそれぞれ対応する、互いに平行な複数の直線が描画されたパネルと、ユーザからの操作入力に応じて前記パネル内を移動可能なアイコンとを前記オブジェクトとして表示し、
前記パネルに描画された各直線上又は各直線近傍の位置に前記アイコンを配置する操作入力を受け付けることで、該アイコンが配置された位置に応じて各パラメータの調整を受け付けて前記第2フォントデータを生成し、
前記アイコンを各直線上又は各直線近傍で移動させる操作入力を受け付けた場合、前記第2フォントデータを逐次生成して表示中の文字を逐次変更する
請求項1又は2に記載のプログラム。
【請求項4】
所定のアウトラインフォントの各文字を、一筆単位のストロークパーツ毎に分解し、
各ストロークパーツの輪郭線上の特徴点を抽出し、
前記ストロークパーツの始端及び終端の特徴点を除去することで、前記ストロークパーツ毎に、前記ストロークパーツの始端及び終端を開口させた2本の輪郭線を抽出し、
前記2本の輪郭線の中間を通る線を前記骨格線として抽出し、
抽出した前記骨格線を示す前記スケルトン文字を表示する
請求項1~3のいずれか1項に記載のプログラム。
【請求項5】
一方向に沿ってストロークの太さを徐々に変化させた各文字から成る前記第2フォントデータを生成する
請求項1~4のいずれか1項に記載のプログラム。
【請求項6】
形状が互いに類似するものとして予め規定されている複数の文字同士の間で、該文字の形状に変化を加えた前記第2フォントデータを生成する
請求項1~5のいずれか1項に記載のプログラム。
【請求項7】
前記文字を所定角度だけ回転させる、前記文字のストロークの一部を湾曲させる、前記文字のふところが大きくなるようにストロークを修正する、前記文字のストロークに突起を付加する、前記文字のループが大きくなるようにストロークを修正する、又は前記文字のストロークの突端を延長若しくは短縮することで、前記文字の形状に変化を加える
請求項6に記載のプログラム。
【請求項8】
漢字に対し、部首を囲む枠線を追加した前記第2フォントデータを生成する
請求項1~7のいずれか1項に記載のプログラム。
【請求項9】
ディスレクシア向けに予め用意されたデフォルトの前記パラメータを、前記オブジェクトへの操作入力に応じて変更する
請求項1~8のいずれか1項に記載のプログラム。
【請求項10】
所定フォントの文字の骨格線を示すスケルトン文字と、所定のオブジェクトとを表示し、
前記オブジェクトへの操作入力を受け付けることで、前記骨格線への肉付けを行うためのパラメータの調整を受け付け、
調整後の前記パラメータに基づき、前記骨格線を肉付けした各文字から成る第2フォントデータを生成し、
表示中の前記スケルトン文字を、前記第2フォントデータに係る文字に変更し、
前記オブジェクトへの操作入力を受け付ける毎に、前記第2フォントデータを生成し、生成した前記第2フォントデータに係る文字に変更する
処理をコンピュータが実行する情報処理方法。
【請求項11】
所定フォントの文字の骨格線を示すスケルトン文字と、所定のオブジェクトとを表示する表示部と、
前記オブジェクトへの操作入力を受け付けることで、前記骨格線への肉付けを行うためのパラメータの調整を受け付ける受付部と、
調整後の前記パラメータに基づき、前記骨格線を肉付けした各文字から成る第2フォントデータを生成する生成部とを備え、
前記表示部は、表示中の前記スケルトン文字を、前記第2フォントデータに係る文字に変更し、
前記オブジェクトへの操作入力を受け付ける毎に、前記生成部は前記第2フォントデータを生成し、前記表示部は、生成した前記第2フォントデータに係る文字に変更する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【0002】
フォント作成を支援する種々の手法が提案されている。例えば特許文献1では、フォント文字の骨格を修正する入力を受け付け、修正前後のフォント文字の骨格の組み合わせを記憶しておき、新たにフォント文字を修正する場合、記憶されている骨格の組み合わせに基づいてフォント文字を修正する文字作成装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に係る発明は、フォント作成者であるユーザ本人がフォント文字の骨格等を手動で修正(描画)する必要があり、所望のフォントを簡単に作成することができるとは言い難い。
【0005】
一つの側面では、フォント作成を好適に支援することができるプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、所定フォントの文字の骨格線を示すスケルトン文字と、所定のオブジェクトとを表示し、前記オブジェクトへの操作入力を受け付けることで、前記骨格線への肉付けを行うためのパラメータの調整を受け付け、調整後の前記パラメータに基づき、前記骨格線を肉付けした各文字から成る第2フォントデータを生成し、表示中の前記スケルトン文字を、前記第2フォントデータに係る文字に変更し、前記オブジェクトへの操作入力を受け付ける毎に、前記第2フォントデータを生成し、生成した前記第2フォントデータに係る文字に変更する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、フォント作成を好適に支援することができる。
【図面の簡単な説明】
【0008】
【
図1】フォント作成システムの構成例を示す模式図である。
【
図3】類似文字テーブルのレコードレイアウトの一例を示す説明図である。
【
図9】サーバが実行する処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態)
図1は、フォント作成システムの構成例を示す模式図である。本実施の形態では、発達性ディスレクシア(Developmental Dyslexia)を有するユーザ向けのフォントを作成するフォント作成システムについて説明する。フォント作成システムは、情報処理装置1、端末2、2、2…を含む。情報処理装置1及び端末2は、インターネット等のネットワークNを介して通信接続されている。
【0010】
ディスレクシアとは、文字の読み書きに困難が生じる特異的な学習障害である。ディスレクシアを有する人物(ユーザ)は、音韻情報処理や視覚情報処理に何らかの問題が生じることで、読み書きの発達全体が障害される。ディスレクシアの支援策として、ソフトウェアやハードウェアを使用した文章の読み上げ、マルチメディアDAISYによる文章の読み上げ及びハイライト表示のほか、文章の組版要素の調整が行われている。
【0011】
組版要素としては、文字サイズ、文字の間隔、行間、行長等のほか、フォントが重要であると考えられており、欧文ではディスレクシアに特化したフォントも考案されている。一方で、ディスレクシアには個人差があり、必ずしも当該フォントがユーザにとって読みやすいとは限らない。また、和文ではディスレクシアに特化したフォントがまだ考案されていない。そこで本実施の形態では、個々のユーザがフォントを作成可能なシステムを提供する。
【0012】
なお、本実施の形態ではディスレクシアを有する人物が自らフォントを作成するものとするが、作成者はディスレクシアを有する人物に限定されない。また、本実施の形態ではディスレクシア向けのフォントを作成するものとするが、作成するフォントはディスレクシア向けのフォントに限定されず、本システムを任意のフォント作成に応用してもよい。
【0013】
情報処理装置1は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバコンピュータ、パーソナルコンピュータ等である。本実施の形態では情報処理装置1がサーバコンピュータであるものとし、以下では簡潔のためサーバ1と読み替える。サーバ1は、ユーザからの操作入力に応じて、所定のフォントデータからユーザ用の第2フォントデータを生成する装置として機能する。
【0014】
端末2は、各ユーザが使用する情報処理端末であり、例えばパーソナルコンピュータ、タブレット端末、スマートフォン等である。端末2はサーバ1と通信を行い、後述のエディタ画面(
図6参照)を表示して、ユーザからフォント作成に係る操作入力を受け付ける。
【0015】
なお、本実施の形態ではクラウド上のサーバ1がフォント生成を行うものとするが、ローカルの端末2がフォント生成を行うようにしてもよい。
【0016】
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、及び補助記憶部14を備える。
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部14に記憶されたプログラムPを読み出して実行することにより、種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための通信モジュールであり、外部と情報の送受信を行う。
【0017】
補助記憶部14は、大容量メモリ、ハードディスク等の不揮発性記憶領域であり、制御部11が処理を実行するために必要なプログラムP(プログラム製品)、その他のデータを記憶している。また、補助記憶部14は、類似文字テーブル141を記憶している。類似文字テーブル141は、文字の形状が似通っているため、ディスレクシアを有するユーザが識別し難い文字(以下、「類似文字」と呼ぶ)同士を対応付けたテーブルである。
【0018】
なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであっても良く、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
【0019】
また、サーバ1は、非一時的なコンピュータ読取可能な記録媒体1aを読み取る読取部を備え、記録媒体1aからプログラムPを読み込んでもよい。また、プログラムPは単一のコンピュータ上で実行されてもよく、ネットワークNを介して相互接続された複数のコンピュータ上で実行されてもよい。
【0020】
図3は、類似文字テーブル141のレコードレイアウトの一例を示す説明図である。類似文字テーブル141は、文字種別列、類似文字列を含む。文字種別列は文字の種別(平仮名、片仮名又は漢字)を記憶している。類似文字列は、文字種別と対応付けて、互いに類似する複数の類似文字を記憶している。
【0021】
図4は、実施の形態の概要を示す説明図である。
図4では、所定フォントの文字の骨格線を抽出し、抽出した骨格線の周囲にアウトライン(輪郭)を形成する様子を概念的に図示している。
図4に基づき、本実施の形態の概要を説明する。
【0022】
サーバ1は、所定のフォントデータの各文字の骨格線(ストロークの中心線)に肉付けを行うことで、第2フォントデータを生成する。元となるフォントは特に限定されないが、本実施の形態では、KanjiVG(書き順の情報が付加された和文書体のSVG(Scalable Vector Graphics)データ)、及び所定のアウトラインフォント(例えば秀英丸ゴシック)を採用する。後述するように、サーバ1は、いずれかのフォントの選択入力をユーザから受け付け、選択されたフォントの骨格線に肉付けを行う。
【0023】
なお、アウトラインフォントとは、文字の形状を、基準となる複数の点の座標と、基準点同士を結ぶ曲線又は直線を表す関数で表現したフォントであり、画線に輪郭を持たせたフォントである。
【0024】
また、本実施の形態における「文字」には、平仮名、片仮名、漢字のほか、英数字、記号等も含み得る。
【0025】
KanjiVGは元々ストロークの太さを自在に変更可能なスケルトンデータ(骨格線の情報を持つフォントデータ)であるため、KanjiVGが選択された場合、サーバ1は、KanjiVGの骨格線をそのまま用いて肉付けを行う。一方で、アウトラインフォント(秀英丸ゴシック)は骨格線(中心線)の情報を持たないため、アウトラインフォントが選択された場合、サーバ1は、
図4に示すように、選択されたアウトラインフォントの各文字から骨格線を抽出する。
【0026】
図5は、骨格線の抽出処理に関する説明図である。
図5では、アウトラインフォントの文字から骨格線を抽出する様子を図示している。具体的には、
図5Aではアウトラインフォントから直接特徴点を抽出(いわゆるパス化)する様子を、
図5B~Dではアウトラインフォントを一筆単位に分解して特徴点を抽出し、最終的に骨格線を抽出する様子を図示している。
【0027】
サーバ1はまず、
図5Bに示すように、アウトラインフォントの文字を一筆単位のストロークパーツ(一筆の画線)毎に分解し、分解したストロークパーツ毎に、輪郭線上の特徴点を抽出する。「ストロークパーツ」とは、文字全体のストロークのうち、書き順に沿ってストロークを描画した場合の、一なぞりのストロークを指す。サーバ1は、各文字をストロークパーツ毎に分解した上で、各ストロークパーツのエッジ等の点を抽出する。これにより、
図5Bに示すように、各ストロークパーツの特徴点(及び、特徴点を通り、輪郭線と当接する接線)が抽出される。
【0028】
元のフォントをストロークパーツに分解するのは、元のフォントから直接特徴点を抽出しても骨格線(中心線)の推定が困難であるためである。
図5Aに、ストロークパーツに分解せずに特徴点を抽出した場合の比較例を図示する。
図5Aに示すように、アウトラインフォントでは文字の輪郭形状の情報しか持っていないため、画線同士が重なる部分では本来の画線(ストローク)の輪郭が無くなり、中心線を推定し難い。そのため、本実施の形態ではストロークパーツに分けて骨格線を抽出していく。
【0029】
次にサーバ1は、上記で抽出した特徴点のうち、ストロークパーツの始端及び終端の特徴点を除去する。
図5Cに、始端及び終端の特徴点を除去した様子を図示する。
図5Cに示すように、始端及び終端の特徴点を除去することで、ストロークパーツ毎に、ストロークパーツの始端及び終端が開口させた2本の輪郭線が抽出される。当該輪郭線は互いにほぼ平行を成し、互いに同数の特徴点を有する。
【0030】
最後にサーバ1は、
図5Dに示すように、上記で抽出した2本の輪郭線の中間を通る線を、骨格線として抽出する。具体的には、サーバ1は、一方の輪郭線上の特徴点と、当該特徴点に対応する他方の輪郭線上の特徴点との組み合わせを抽出し、2点の特徴点の中間点(及び特徴点を通る接線と平行な直線)を特定する。
図5Dに示すように、サーバ1は、それぞれの輪郭線上の各特徴点について、対応する組み合わせを抽出して中間点を特定し、各中間点を通るように、骨格線を生成する。以上の処理により、サーバ1は、骨格線の情報を持たないアウトラインフォントから、各文字の骨格線を抽出する。
【0031】
図4に戻って説明を続ける。サーバ1は、抽出した骨格線を示すスケルトン文字(
図4中央)を端末2に表示させ、ユーザに提示する。そしてサーバ1は、骨格線への肉付けを行うために必要なパラメータの調整を受け付けることで、スケルトン文字の骨格線を肉付けした文字(
図4右側)から成る第2フォントデータを生成する。具体的には、サーバ1はパラメータとして、文字の大きさ、高さ、太さ、及びコントラスト(縦方向の画線と横方向の画線との太さの比率)の調整を受け付けることで、スケルトン文字から第2フォントデータを生成する。
【0032】
詳細な説明は省略するが、本願の発明者は、一般的な欧文書体と、ディスレクシアに特化した欧文書体とを比較して、ディスレクシアに特化した欧文書体の特徴を抽出した。そして、欧文書体と和文書体との違いを考慮して、ディスレクシアに特化した欧文書体の特徴を和文書体に適用した結果、ディスレクシアに適した和文書体の要件として、以下の要件を見出した。
【0033】
1.字面が大きい
2.丸ゴシック体である
3.画線が太い
4.縦長である
5.画線の太さに緩やかな変化がある
6.形が似ている文字に変化を持たせる
7.漢字の形を認識しやすくするための補助線を追加する。
【0034】
本実施の形態では上述の要件を踏まえ、ディスレクシアを有するユーザが識別しやすいフォントの作成を支援する。すなわち、サーバ1は、要件1、3、4に相当する文字の大きさ、高さ、太さ、及びコントラストに係るパラメータをユーザに調整させる。また、後述するように、サーバ1は、要件5~7に係る修正を併せて行い(
図8参照)、最終的に、丸ゴシック体(要件2)状の第2フォントデータを生成する。
【0035】
図6は、エディタ画面の一例を示す説明図である。
図6では、フォント作成時に端末2が表示するフォントエディタ画面を図示している。
図6に基づき、フォント作成時の画面操作について説明する。
【0036】
エディタ画面は、フォント選択ボタン51、文字プレビュー52、文章プレビュー53、タブ54、パネル55を含む。フォント選択ボタン51は、元となるフォント、すなわち骨格線の抽出対象とするフォントを選択するためのボタンである。文字プレビュー52は、規定の一字(
図6では「あ」)を表示する表示欄である。文章プレビュー53は、任意の文章を表示する表示欄である。タブ54は、パラメータの設定方法(画面操作)を選択するためのタブである。パネル55は、パラメータを調整するための操作オブジェクトである。
【0037】
端末2は、フォント選択ボタン51を介して、骨格線の抽出対象とするフォントデータの選択入力を受け付ける。上述の如く、本実施の形態では、フォントの候補としてKanjiVG及び秀英丸ゴシックを用意しており、ユーザは何れかのフォントを選択する。なお、KanjiVG及び秀英丸ゴシックはフォントの一例であり、ユーザは他のフォントを選択してもよい。また、予め用意されるフォントは3種類以上であってもよい。また、サーバ1は、ユーザの選択に関わらず、規定のフォントを用いるようにしてもよい。
【0038】
端末2はまず、選択されたフォントデータの文字の骨格線を示すスケルトン文字をエディタ画面に表示する。なお、KanjiVGが選択された場合はKanjiVGの骨格線をそのまま用い、秀英丸ゴシック(アウトラインフォント)が選択された場合は、
図5で説明した手順で骨格線を抽出して、スケルトン文字を表示する。
【0039】
具体的には、端末2は、規定の一字のスケルトン文字を文字プレビュー52に表示する。また、端末2は、スケルトン文字で表現した文章を文章プレビュー53に表示する。なお、文章プレビュー53に表示する文章はユーザが任意に設定(入力)可能となっている。
【0040】
端末2は、タブ54への操作入力に応じて、パラメータの調整方法の選択入力を受け付ける。
図6では、「シンプル」のタブ54が選択された場合の画面例を図示している。なお、「詳細」のタブ54が選択された場合、端末2は、上述の各パラメータ(文字の大きさ、高さ等)を調整するための複数のスライダを表示し、各スライダへの操作に応じてパラメータの調整を受け付ける(不図示)。
【0041】
「シンプル」のタブ54が選択された場合、端末2はパネル55を表示すると共に、パネル55内にアイコン56を表示する。パネル55及びアイコン56は、上述のパラメータを調整するためのオブジェクトであり、アイコン56の配置位置に応じて、パラメータの調整を受け付けるインターフェイスである。
【0042】
図7は、パネル55の概要を示す説明図である。
図7Aに示すように、パネル55は、縦方向の破線(直線)と、横方向の破線とが描画された矩形状の領域である。パネル55には、4本の縦破線が横方向に沿って等間隔かつ平行に描画されており、各縦破線の中点を通るように、1本の横破線が描画されている。4本(複数)の縦破線はそれぞれ、上記の4種類のパラメータ(文字の大きさ、高さ、太さ及びコントラスト)に対応している。横破線は、各パラメータの平均的な値(元のフォントにおける値)を表している。
【0043】
アイコン56は、ユーザからの操作入力に応じてパネル55内を移動可能なオブジェクトである。例えば
図7B、Cに示すように、端末2は、丸形状のオブジェクトをアイコン56として表示する。端末2は、各パラメータに対応する直線上、又は直線近傍にアイコン56を配置する操作入力を受け付けることで、各パラメータの調整を受け付ける。
【0044】
図7Bでは、「大きさ」に対応する直線近傍にアイコン56が配置される様子を図示している。例えば、パネル55では各直線を中心にして、左右方向(直線と直交する方向)にかけて所定距離内の領域がアイコン56の感知領域に設定されている。直線上又は直線近傍にアイコン56が配置された場合、端末2は、アイコン56が配置された位置に応じてパラメータを調整する。例えば、直線(パネル55)の下端がパラメータの下限値、上端が上限値に対応しており、アイコン56の位置が上側であるほどパラメータは高く設定される。端末2は、アイコン56が直線上に配置された場合はその直線状の位置、アイコン56が直線近傍に配置された場合はアイコン56から直線に向かう法線と直線との直交点の位置に応じてパラメータを調整する。
【0045】
サーバ1は、アイコン56の配置位置に応じたパラメータに基づき、第2フォントデータを生成して、エディタ画面に表示中のスケルトン文字を第2フォントデータに係る文字に変更する。
図7Bの例では、アイコン56が下寄りの位置に配置されているため、文字プレビュー52で表示される文字が小さくなっている。なお、文章プレビュー53で表示される文章の文字も同様に、第2フォントデータに係る文字に変更される。
【0046】
図7Cでは、アイコン56を上方向に移動させた場合の様子を図示している。上述の如く、パラメータはアイコン56の位置が上側であるほど高くなる。従って、アイコン56が上方向に移動された場合、パラメータが高い値に変更される。
図7Cの例では、「大きさ」に対応する直線近傍に配置されたアイコン56が当該直線に沿って上方向に移動されたため、文字プレビュー52で表示される文字が
図7Bと比較して大きくなっている。このように、端末2は、アイコン56の移動操作を受け付けた場合、その移動量に応じてパラメータを逐次変更し、表示中の文字を逐次変更する。
【0047】
端末2は、他のパラメータ(文字の高さ、太さ及びコントラスト)についても同様に、各パラメータに対応する直線上又は直線近傍でアイコン56を移動させる操作に応じて、パラメータを調整する。これにより、ユーザは直感的かつ容易にパラメータを調整し、スケルトン文字から所望のフォント(第2フォントデータ)を作成することができる。
【0048】
なお、パネル55及びアイコン56は操作オブジェクトの一例であって、本実施の形態はこれに限定されるものではない。例えば
図6、7のパネル55では各直線を中心にして左右所定範囲内を感知領域に設定したが、各直線から隣の直線までの間の領域を感知領域に設定し、当該領域内でアイコン56を移動させた場合に、左端の直線に対応するパラメータを変更するようにしてもよい。また、例えば端末2は、各パラメータに対応するパネル55を別々に表示し、各パネル55上でアイコン56の移動操作を受け付けるようにしてもよい。また、
図6、7のパネル55では各パラメータに対応する直線(パラメータ軸)が互いに平行を成しているが、各直線が互いに異なる方向に描画されていてもよい。このように、端末2は、パラメータ調整用のオブジェクトへの操作入力に応じてパラメータを調整可能であればよく、そのオブジェクトの態様は、
図7で例示したパネル55及びアイコン56に限定されない。
【0049】
図8は、フォント修正処理に関する説明図である。
図7では文字の大きさ、高さ、太さ及びコントラストを調整する旨を説明したが、本実施の形態では更に、ディスレクシア向けにフォントの修正を行う。
図8A~Cでは、フォント修正処理として、3パターンの修正を加える様子を図示している。
【0050】
例えばサーバ1は、第1の修正処理として、上述の要件5に合わせて、一方向に沿ってストロークの太さを徐々に変化させる。
図8Aでは、上下方向に沿ってストロークの太さを変化させる様子を図示している。サーバ1は、上側から下側に行くほど、ストロークを緩やかに太くする。これにより、ディスレクシアを有するユーザが文字を識別しやすいように修正する。
【0051】
また、サーバ1は、第2の修正処理として、上述の要件6に合わせて、文字の形状が類似している類似文字同士の間で、類似文字の形状に変化を持たせるよう修正する。
図8Bでは、類似文字に変化を加える様子を図示している。上述の如く、サーバ1は類似文字テーブル141において、文字の形状が似ている複数の文字を類似文字として予め規定している。サーバ1は、第2フォントを生成する際に、当該複数の文字の間で形状に変化を加える。
【0052】
例えばサーバ1は、互いに形状が類似する複数(例えば2つ)の文字のうち、一部(例えば片方)の文字を所定角度だけ回転させることで、傾きを与える。また、サーバ1は、類似文字のストロークの一部を、元の骨格線の方向よりも湾曲させる。また、サーバ1は、文字のふところが大きくなるように、ストロークを修正(移動)する(
図8Bでは不図示)。このように、サーバ1は、類似文字をユーザが明確に識別できるように、文字の形状に変化を加える。
【0053】
なお、上記の類似文字の修正方法は一例であって、本実施の形態はこれに限定されるものではない。例えばサーバ1は、文字自体を別の文字に置換(例えば小文字を大文字に変更)するなどしてもよい。また、例えばサーバ1は、文字の書き順を類推させる線(例えば書き順を示す矢印)をストロークの傍に加えるなどしてもよい。このように、類似文字同士を識別しやすいように修正可能であればよく、その修正方法は特に限定されない。
【0054】
サーバ1は、第3の修正処理として、上述の要件7に合わせて、漢字に補助線を加える。具体的には、サーバ1は、漢字の部首を囲む枠線を追加する。
図8Cでは、「花」の草冠に枠線(破線)が追加される様子を図示している。
図8Cに示すように、漢字の部首を囲む枠線を追加することで、漢字を識別しやすいように修正する。
【0055】
サーバ1は、上述の第1~第3の修正処理を加えた上で、第2フォントデータを生成する。なお、フォントの修正は、
図6で説明したエディタ画面の操作時に並行して行ってもよく、あるいは操作完了後(パラメータ調整後)に行ってもよい。
図6のエディタ画面における「保存」のボタンへの操作入力を受け付けた場合、サーバ1は、生成された第2フォントデータを保存する。ユーザは生成した第2フォントデータを任意にインストールし、利用することができる。
【0056】
以上より、本実施の形態によれば、ユーザは所望のフォントを簡単に作成し、利用することができる。
【0057】
図9は、サーバ1が実行する処理手順の一例を示すフローチャートである。
図9に基づき、サーバ1が実行する処理について説明する。
サーバ1の制御部11は、複数のフォントデータから、骨格線の抽出対象とするフォントデータを選択する選択入力を端末2から受け付ける(ステップS11)。制御部11は、選択されたフォントデータから、各文字の骨格線を抽出する(ステップS12)。なお、ステップS11において、骨格線の情報を持つフォントデータ(KanjiVG)が選択された場合、制御部11はステップS12をスキップする。
【0058】
制御部11は、抽出した骨格線を示すスケルトン文字と、骨格線への肉付けを行うためのパラメータ調整用のオブジェクトとを端末2に表示させる(ステップS13)。当該パラメータは、文字の形状(アウトライン)を規定するパラメータであり、例えば文字の大きさ、高さ、太さ、及びコントラストを含むパラメータである。制御部11は、各パラメータに対応する、互いに平行な複数の直線を描画したパネル55と、ユーザからの操作入力に応じてパネル55内を移動可能なアイコン56とを操作オブジェクトとして表示する。
【0059】
制御部11は、ステップS13で表示したオブジェクトへの操作入力を受け付けることで、パラメータの調整を受け付ける(ステップS14)。具体的には、制御部11は、各パラメータに対応する直線上又は直線近傍にアイコン56を配置する操作入力を受け付ける。制御部11は、アイコン56の配置位置に応じて、パラメータの調整を受け付ける。
【0060】
制御部11は、調整後のパラメータに基づき、スケルトン文字の骨格線を肉付けした各文字から成る第2フォントデータを生成する(ステップS15)。具体的には、制御部11は、ステップS14で調整された文字の大きさ、高さ、太さ、及びコントラストに従い、第2フォントデータを生成する。この場合に、制御部11は、一方向(上下方向)に沿ってストロークの太さを徐々に変化させた第2フォントデータを生成する。また、制御部11は、形状が互いに類似するものとして予め規定されている複数の文字(類似文字)同士の間で、文字の形状に変化を加えた第2フォントデータを生成する。また、制御部11は、漢字に対し、部首を囲む枠線を追加した第2フォントデータを生成する。
【0061】
制御部11は、表示中のスケルトン文字を、ステップS15で生成した第2フォントデータに係る文字に変更する(ステップS16)。制御部11は、ユーザからの操作入力に応じて、フォント作成を完了するか否かを判定する(ステップS17)。完了しないと判定した場合(S17:NO)、制御部11は処理をステップS14に戻す。この場合、制御部11は、ステップS14でパラメータ調整用のオブジェクトへの操作入力を受け付ける毎に、ステップS15で第2フォントデータを生成し、表示中の文字を変更する。具体的には上述の如く、制御部11は、パネル55に描画された各直線上又は各直線近傍でアイコン56を移動させる操作入力を受け付けた場合、第2フォントデータを逐次生成し、表示中の文字を逐次変更する。フォント作成を完了すると判定した場合(S17:YES)、制御部11は、生成した第2フォントデータを保存し(ステップS18)、一連の処理を終了する。
【0062】
なお、上述の実施の形態では文字の形状(大きさ、高さ等)を調整するものとしたが、本実施の形態はこれに限定するものではない。例えばサーバ1は、文字の形状のほかに、文字の濃淡、色等の調整を受け付けるようにしてもよい。すなわち、サーバ1は、スケルトン文字の骨格線に付け加える肉付け部分の態様を調整可能であればよく、その調整対象は文字の形状に限定されない。
【0063】
以上より、本実施の形態によれば、フォント作成を好適に支援することができる。
【0064】
(変形例1)
上述の実施の形態では、パネル55及びアイコン56への操作入力に応じて、文字の大きさ、高さ等のパラメータを調整する形態について述べた。一方で、ディスレクシア向けのフォント(第2フォント)に係るパラメータを事前に用意しておき、パネル55等のオブジェクトへの操作入力に応じて、当該パラメータを調整するようにしてもよい。本変形例では、ディスレクシア向けのデフォルトパラメータを用意する形態について説明する。
【0065】
図10は、変形例1の概要を示す説明図である。
図10では、ディスレクシア向けのフォントに係るデフォルトパラメータに対応する数値領域を、パネル55に表示する様子を図示している。
図10に基づき、本変形例の概要を説明する。
【0066】
本変形例においてサーバ1は、ディスレクシア向けに作成された和文フォントデータを予め保持してあり、当該フォントデータに係る文字の大きさ、高さ等をデフォルトパラメータとして用いる。当該フォントは、ディスレクシアに特化した欧文書体の特徴を和文書体に適用して作成されたフォントであり、本願の発明者が作成したフォントである。
【0067】
例えば、サーバ1はまず、デフォルトパラメータに基づくフォントの文字、すなわちディスレクシア向けのフォントに係る文字を、
図6で例示したエディタ画面の文字プレビュー52及び文章プレビュー53に表示させる。そしてサーバ1は、上述の実施の形態と同様に、パネル55を介してパラメータの調整操作を受け付け、調整後のパラメータに基づいて第2フォントデータ(ユーザ用のフォント)を生成する。
【0068】
例えば端末2は、デフォルトパラメータに対応するパネル55内の領域を、他の領域と異なる態様で表示する。具体的には
図10に示すように、端末2は、文字の大きさ、高さ、太さ及びコントラストにそれぞれ対応する各直線において、デフォルトパラメータに対応する直線上の領域を、その他の部分とは異なる色で表示する。なお、
図10では便宜上、表示色が異なる様子をハッチングで図示している。これにより、ユーザはアイコン56の好適な配置位置、すなわちデフォルトパラメータを把握しつつ、パラメータを調整することができる。
【0069】
ディスレクシア向けのデフォルトパラメータ(フォント)を用意する点以外は上述の実施の形態と同様であるため、本変形例ではフローチャート等の詳細な説明を省略する。
【0070】
以上より、本変形例によれば、ディスレクシア向けのデフォルトパラメータを調整するようにすることで、フォント作成をより好適に支援することができる。
【0071】
(変形例2)
上述の実施の形態では、類似文字が識別しやすいように、類似文字を回転させる等の方法で、類似する文字同士で形状に変化を加える形態について説明した(
図8B参照)。一方で、類似文字の形状を変化させる方法は、上述の実施の形態で説明した方法に限定されない。本変形例では、類似文字の形状を変化させる他の方法について説明する。
【0072】
図11は、変形例2の概要を示す説明図である。
図11A~Dでは、文字の形状を一定の方法で変化させる様子を図示している。
【0073】
例えば
図11Aに示すように、サーバ1は、文字(類似文字)に変化を加える場合に、ストローク(画線)に突起を付加することで変化を加えてもよい。例えばサーバ1は、ストロークの始点又は終点(
図11Aでは「へ」の始点)にセリフ体状の突起を付加する。
【0074】
また、例えばサーバ1は、
図11Bに示すように、文字のループ(ストロークで囲まれた領域)を大きくするように、ストロークを修正してもよい。また、例えばサーバ1は、
図11Cに示すように、文字のストロークの線端(終端)を所定長さだけ延長するようにしてもよい。また、逆にサーバ1は、
図11Dに示すように、文字のストロークの線端を短縮するようにしてもよい。
【0075】
上述の如く、サーバ1は、実施の形態で説明した方法とは異なる方法で文字形状に変化を加えるようにしてもよい。上述の点以外は実施の形態と同様であるため、本変形例ではフローチャート等の詳細な説明を省略する。
【0076】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0077】
1 サーバ(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P プログラム
141 類似文字テーブル
2 端末
51 フォント選択ボタン
52 文字プレビュー
53 文章プレビュー
54 タブ
55 パネル
56 アイコン