(57)【要約】【課題】メモの入力をシームレスに行うことができる編集装置を提供する。【解決手段】編集装置１００は、コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定手段２２と、上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定手段２５と、を備える。【選択図】図１
2013246660.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置であって、
上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定手段と、
上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定手段と、を備えることを特徴とする編集装置。
【請求項２】
上記メモデータ表示範囲決定手段は、
上記メモデータを構成する構成要素の表示サイズを決定することで、上記メモデータの表示範囲を決定することを特徴とする請求項１に記載の編集装置。
【請求項３】
上記構成要素の表示サイズが所定の下限値を取るときの上記メモデータの表示範囲が、上記余白領域よりも大きい場合に、上記余白領域を拡大する余白領域拡大手段を備えることを特徴とする請求項２に記載の編集装置。
【請求項４】
上記余白領域拡大手段は、
上記コンテンツデータに含まれる文字列において文字が並んでいる方向に対して平行の方向に、上記余白領域を拡大することを特徴とする請求項３に記載の編集装置。
【請求項５】
上記余白領域拡大手段は、
上記構成要素の表示サイズが上記所定の下限値を取るときの上記メモデータの表示範囲が、上記コンテンツデータに含まれる文字列において文字が並んでいる方向に対して平行の方向に拡大された上記余白領域よりも大きい場合に、上記文字列において文字が並んでいる方向に対して垂直の方向に、上記余白領域を拡大することを特徴とする請求項４に記載の編集装置。
【請求項６】
上記構成要素は文字を含むことを特徴とする請求項２から５のいずれか１項に記載の編集装置。
【請求項７】
上記メモデータ表示範囲決定手段は、
複数の上記メモデータを結合して結合メモデータを生成するとともに、上記余白領域のサイズに応じて、上記結合メモデータの表示範囲を決定することを特徴とする請求項１から６のいずれか１項に記載の編集装置。
【請求項８】
複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置の制御方法であって、
上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定ステップと、
上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定ステップと、を含むことを特徴とする編集装置の制御方法。
【請求項９】
請求項１から７のいずれか１項に記載の編集装置の上記各手段としてコンピュータを機能させるための制御プログラム。 
【請求項１０】
請求項９に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字、文字列、または画像等から構成されるコンテンツデータに、メモを表す電子データを追加する編集装置等に関する。
【背景技術】
【０００２】
近年、インターネットや電子書籍の普及に伴い、文字、文字列または画像等から構成されるコンテンツを示す電子データを、表示装置に表示させてユーザがこれを閲覧することは一般的となっている。上記のようなコンテンツデータを閲覧する際、ユーザは所望に応じて、該表示されたコンテンツデータの余白に、キー入力または手書き入力等によるメモを書き込んで新たなコンテンツデータを記録する技術が知られている。
【０００３】
このような技術においては、書き込まれるメモの量が多くなると、当初の余白にメモが収まらなくなり、ユーザが所望する内容のメモが書き込めない、または表示されないという問題が生じる。また、ＨＴＭＬデータのように、表示環境によってコンテンツデータのレイアウトが変化する場合、表示環境が変化するとメモの位置がずれるという問題も生じる。さらに、メモを手書きで入力する場合、手書きされたメモ全体を画像データとして扱うため改行ができないという問題も生じる。
【０００４】
上記のような問題を解決する技術として、特許文献１には、レイアウトされたコンテンツデータの余白範囲に、メモデータが記録される際、コンテンツデータの解像度を上げる等して余白範囲を拡大することで、余白範囲とメモデータのレイアウト範囲との相対的なサイズを変更する編集装置が記載されている。
【０００５】
また、特許文献２には、ユーザの手書きデータの形状データと、手書きデータの書込まれた電子文書内の領域を特定する情報と、手書きデータが作成された時の、電子文書の表示レイアウトを特定する情報とに基づき、電子文書のレイアウトが変化したときに、手書きデータと電子文書との関係に応じた表示を行う電子文書の表示装置が記載されている。
【０００６】
また、特許文献３には、表示画面上の領域を指定する手段と、領域内に表示された複数の手書き文字の画像のそれぞれに外接する外接矩形領域を算出し、前記領域が変形されることにより、算出された外接矩形領域が、変形後の領域内に含まれなくなると判定された場合に、変形後の領域内に含まれるようにするための該外接矩形領域の配置を決定し、該外接矩形領域の位置を算出し、前記算出された位置に、前記手書き文字の画像を表示する表示制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２６７４６３号公報（２００５年９月２９日公開）
【特許文献２】特開２００６−２８５８９６号公報（２００６年１０月１９日公開）
【特許文献３】特開２００９−２５４２０号公報（２００９年２月５日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１ないし３に記載の技術においては、いずれも、メモデータを表示させる範囲または余白領域をユーザが予め決定する必要がある。この構成では、ユーザがコンテンツデータにおいてメモデータを書き込む位置を指定する際、該コンテンツデータの内容ではなく、余白領域を直接指定することになるため、ユーザは、どの内容に対してどのメモを書き込むかが直感的に分かりにくく、シームレスにメモの入力を行いづらいという不都合がある。
【０００９】
本発明は上記の問題点に鑑みてなされたものであり、その目的は、ユーザがメモデータの表示範囲を予め決定する操作を伴わずとも、メモの入力をシームレスに行うことができる編集装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明に係る編集装置は、複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置であって、上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定手段と、上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定手段と、を備えることを特徴としている。
【００１１】
また、本発明に係る編集装置の制御方法は、複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置の制御方法であって、上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定ステップと、上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定ステップと、を含むことを特徴としている。
【００１２】
上記構成によれば、メモデータ表示範囲決定手段は、ユーザの操作に応じて決定された選択文字列に対応付けられた余白領域のサイズに応じて、メモデータの表示範囲を決定する。
【００１３】
これにより、編集装置は、ユーザが指定した文字列に対応付けられた余白領域のサイズに応じて、自動的に表示範囲が変更されたメモデータが表すメモをコンテンツデータに対し挿入することができる。
【００１４】
従って、ユーザは、メモデータの表示範囲を予め決定する操作を伴わずに、メモの入力をシームレスに行うことができる。
【００１５】
本発明に係る編集装置において、上記メモデータ表示範囲決定手段は、上記メモデータを構成する構成要素の表示サイズを決定することで、上記メモデータの表示範囲を決定することが好ましい。
【００１６】
上記構成によれば、メモデータ表示範囲決定手段は、メモデータを構成する構成要素の表示サイズを単位として、メモデータの表示範囲を決定する。
【００１７】
これにより、メモデータ表示範囲決定手段は、メモデータを構成する各構成要素のサイズを考慮して該メモデータの表示範囲を決定することができる。
【００１８】
上記編集装置は、上記構成要素の表示サイズが所定の下限値を取るときの上記メモデータの表示範囲が、上記余白領域よりも大きい場合に、上記余白領域を拡大する余白領域拡大手段を備えることが好ましい。
【００１９】
上記構成によれば、余白領域拡大手段は、メモデータを構成する構成要素の表示サイズを所定の下限値まで縮小しても、該メモデータの表示範囲が、ユーザによって指定された選択文字列に対応付けられた余白領域に収まらない場合、該余白領域を拡大する。
【００２０】
これにより、メモデータ表示範囲決定手段は、上記拡大された余白領域のサイズに応じて、上記メモデータの表示範囲を決定することができる。
【００２１】
従って、編集装置は、メモデータを構成する構成要素の表示サイズを上記所定の下限値に維持したまま、コンテンツデータにメモを挿入することができる。よって、編集装置は、メモデータを構成する構成要素の視認性を損ねることなく、コンテンツデータにメモを挿入することができる。
【００２２】
上記編集装置において、上記余白領域拡大手段は、上記コンテンツデータに含まれる文字列において文字が並んでいる方向に対して平行の方向に、上記余白領域を拡大することが好ましい。
【００２３】
上記構成によれば、余白領域拡大手段は、メモデータを構成する構成要素の表示サイズを所定の下限値まで縮小しても、該メモデータの表示範囲が、ユーザによって指定された選択文字列に対応付けられた余白領域に収まらない場合、コンテンツデータに含まれる文字列が、横書きであれば水平方向に、縦書きであれば垂直方向に、余白領域を拡大する。
【００２４】
これにより、メモデータ表示範囲決定手段は、上記方向に拡大された余白領域のサイズに応じて、メモデータの表示範囲を決定することができる。
【００２５】
従って、編集装置は、例えば、余白領域が選択文字列に隣接する領域である場合に、コンテンツデータのレイアウトを変更することなく、メモを挿入することができる。よって、メモの挿入によってコンテンツデータのレイアウトが損なわれることを予防することができる。
【００２６】
上記編集装置において、上記余白領域拡大手段は、上記構成要素の表示サイズが上記所定の下限値を取るときの上記メモデータの表示範囲が、上記コンテンツデータに含まれる文字列において文字が並んでいる方向に対して平行の方向に拡大された上記余白領域よりも大きい場合に、上記文字列において文字が並んでいる方向に対して垂直の方向に、上記余白領域を拡大することが好ましい。
【００２７】
上記構成によれば、余白領域拡大手段は、コンテンツデータに含まれる文字列において文字が並んでいる方向に拡大された余白領域に、所定の下限値を有するメモデータの表示範囲が収まらない場合、該余白領域をさらに、上記文字列の成す行に対して垂直の方向に拡大する。
【００２８】
これにより、メモデータ表示範囲決定手段は、上記文字列において文字が並んでいる方向および該方向と垂直の方向に拡大された余白領域のサイズに応じて、メモデータの表示範囲を決定することができる。
【００２９】
従って、編集装置は、メモデータを構成する構成要素の表示サイズを上記所定の下限値に維持したまま、より多くのメモをコンテンツデータに対し挿入することができる。
【００３０】
上記編集装置において、上記構成要素は文字を含んでいてもよい。
【００３１】
上記構成によれば、メモデータ表示範囲決定手段は、メモデータに含まれる文字の表示サイズを単位として、メモデータの表示範囲を決定する。
【００３２】
これにより、メモデータ表示範囲決定手段は、メモデータに含まれる文字のサイズを考慮して該メモデータの表示範囲を決定することができる。
【００３３】
従って、メモデータ表示範囲決定手段は、メモデータに含まれる文字の可読性を考慮してメモデータの表示範囲を決定することができる。
【００３４】
本発明に係る編集装置において、上記メモデータ表示範囲決定手段は、複数の上記メモデータを結合して結合メモデータを生成するとともに、上記余白領域のサイズに応じて、上記結合メモデータの表示範囲を決定してもよい。
【００３５】
上記構成によれば、メモデータ表示範囲決定手段は、余白領域のサイズに応じて、結合メモデータの表示範囲を決定する。
【００３６】
これにより、編集装置は、ユーザの操作に応じて決定された１の選択文字列に対応付けられた余白領域に、結合メモデータを挿入することができる。
【００３７】
従って、ユーザは、複数のメモの表示位置を、コンテンツデータ中の所望の１箇所にまとめることができる。具体的には、例えば、既に挿入されたメモに対して追記を行う場合に、シームレスな入力を行うことができる。
【００３８】
なお、上記編集装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記編集装置をコンピュータにて実現させる編集装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００３９】
以上のように、本発明に係る編集装置は、複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置であって、上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定手段と、上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定手段と、を備える構成である。
【００４０】
また、本発明に係る編集装置の制御方法は、複数の文字列を含むコンテンツデータに対し挿入されるメモを表すメモデータを編集するための編集装置の制御方法であって、上記コンテンツデータ中の所定の文字列である選択文字列をユーザの操作に応じて決定する選択文字列決定ステップと、上記選択文字列に対応付けられた、メモデータを入力可能な領域である余白領域のサイズに応じて、上記メモデータの表示範囲を決定するメモデータ表示範囲決定ステップと、を含む方法である。
【００４１】
上記構成によれば、ユーザは、メモデータの表示範囲を予め決定する操作を伴わずに、メモの入力をシームレスに行うことができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態における編集装置（スマートフォン）の要部構成を示すブロック図である。
【図２】図１に示すスマートフォンによる、コンテンツデータへのメモデータの挿入に係る処理の全体の流れを示すフローチャートである。
【図３】（ａ）は、図１に示すスマートフォンによる、メモデータ表示範囲決定処理の流れを示すフローチャートであり、（ｂ）は、上記メモデータ表示範囲決定処理において参照される、文字サイズＸを決定するための文字サイズデータテーブルの一例を示す図である。
【図４】図１に示すスマートフォンによる、余白領域拡大処理の流れを示すフローチャートである。
【図５】（ａ）は、図１に示すスマートフォンにおける、メモデータと対応させる、コンテンツデータ中の選択文字列決定時の表示例を、該選択文字列に対応する余白領域とともに示す図であり、（ｂ）は、上記スマートフォンにおける、ユーザによる手書きのメモデータ入力時の表示例を示す図であり、（ｃ）は、上記スマートフォンにおける、上記手書きメモデータが上記余白領域に表示されている表示例を示す図である。
【図６】図１に示すスマートフォンにおける、選択文字列に対応する余白領域の決定方法を示す図である。
【図７】（ａ）は、図１に示すスマートフォンにおける、追加のメモデータ入力時の表示例を示す図であり、（ｂ）は、上記スマートフォンにおける、上記追加のメモデータと元のメモデータとを結合して余白領域に表示している表示例を示す図であり、（ｃ）は、上記スマートフォンにおける、上記結合されたメモデータと対応させる選択文字列を変更した場合の表示例を示す図である。
【発明を実施するための形態】
【００４３】
本発明の一実施形態について、図１〜７に基づいて説明すると以下のとおりである。
【００４４】
以下で説明する実施形態では、一例として、本発明の編集装置を、スマートフォンに適用した場合について説明する。しかし、本発明はこれに限定されず、例えば、携帯電話、タブレット端末、パーソナルコンピュータ（ＰＣ）、ＰＤＡ（Personal Digital Assistant）、電子書籍リーダ、電子辞書、ゲーム機器等、文字列を含むコンテンツデータを表示する機構と、手書きまたはキー入力によるユーザ操作を受け付けるための機構とを備えるあらゆる情報処理装置に、本発明が適用され得る。
【００４５】
なお、以下の図面において同一または相当する部分には、同一の参照番号を付すものとし、それらの説明は重複して行わない。また、図面における長さ、大きさおよび幅などの寸法関係ならびに形状は、図面の明瞭化と簡略化のために適宜に変更されており、実際の寸法および形状を表してはいない。
【００４６】
〔スマートフォン１００の機能概要〕
本発明の一実施形態に係るスマートフォン（編集装置）１００は、タッチパネル１上に、複数の文字列を含むコンテンツデータを表示させる。
【００４７】
本実施形態では、図５に示すように、ユーザは、タッチパネル１に表示されたコンテンツデータ５０１中において、書き込むメモと対応させたい選択文字列５０２をドラッグ操作等によって選択する。スマートフォン１００は、ユーザが手書きで入力したメモデータ５０４をコンテンツデータ５０１中にメモデータ５０４Ｘとして表示させるときの表示範囲であるメモデータ表示範囲（メモデータの表示範囲）５０６を、選択文字列５０２に対応付けられた余白領域５０３に収まるように決定する。
【００４８】
スマートフォン１００はさらに、文字サイズ（表示サイズ）Ｘを有するメモデータ５０４Ｘにおいて、当該文字サイズＸが予め設定された最小の文字サイズであるときに、メモデータ５０４Ｘの表示範囲であるメモデータ表示範囲５０６が余白領域５０３に収まらないとき、該余白領域５０３を拡大する。具体的には、スマートフォン１００は、コンテンツデータ５０１が図５に示すような横書きの文字列から成るコンテンツであるときは、まず、水平方向に余白領域５０３を拡大する。水平方向に余白領域５０３を所定量拡大してもメモデータ表示範囲５０６が該拡大された余白領域５０３に収まらない場合は、続いて垂直方向に余白領域５０３を拡大することで、余白領域５０３にメモデータ表示範囲５０６を収めることを試みる。
【００４９】
〔スマートフォン１００における表示例〕
図５を参照して、ユーザが入力したメモデータ５０４がコンテンツデータ５０１中に書き込まれる際の表示態様の概略を説明する。
【００５０】
図５（ａ）は、本発明の一実施形態に係るスマートフォン１００において、ユーザが入力するメモデータと対応させる、コンテンツデータ５０１中の選択文字列５０２「手書き入力」を決定する際の、タッチパネル１が備える表示部１２による表示例を示す図である。選択文字列５０２の決定は、ユーザの指Ｆによるドラッグ操作によって行われてもよく、ユーザの指Ｆがタッチパネル１に接触した位置を選択文字列５０２の開始位置とし、離れた位置を終了位置としてもよい。
【００５１】
本実施形態において、選択文字列５０２は、近傍に余白領域５０３を伴っている。余白領域５０３は、コンテンツデータ５０１が含むレイアウト情報に基づいて決定される、コンテンツデータ５０１中の所定の文字列の近傍に設けられる、該文字列に対応付けられたメモデータを入力可能な領域である。上記レイアウト情報には、コンテンツデータ５０１が含む各文字のサイズ、フォントの種類、横書きか縦書きか、および行間の高さ（または幅）等が含まれていてもよく、これらの情報に基づき、余白領域５０３が決定される。余白領域５０３の決定方法については後述する。なお、図では余白領域５０３は当該の選択文字列５０２の上に存在する行間（上行間）に設けられているが、下に存在する行間（下行間）に設けられる構成であってもよい。
【００５２】
図５（ｂ）は、タッチパネル１上の所定の手書き文字入力領域において、ユーザが手書きのメモデータ５０４「てがきメモ」を入力しているときの表示例を示す図である。メモデータ５０４の入力態様は手書きに限定されず、例えば、ソフトウェアキーボード等のＧＵＩを用いたキー操作であってもよい。所望のメモデータ５０４の入力が終了すれば、ユーザが決定ボタン５０５をタッチすることで、入力された手書きデータ全体が１つのメモデータ５０４として処理される。
【００５３】
メモデータ５０４は、１または複数の文字（構成要素）５０４１によって構成される。文字５０４１は言語的情報を示すものに限定されず、非言語的情報を示す記号および図形であってもよい。
【００５４】
図５（ｃ）は、図５（ｂ）において入力されたメモデータ５０４を、余白領域５０３に収まるように決定されたメモデータ表示範囲５０６内にメモデータ５０４Ｘとして縮小して表示している表示例を示す図である。本実施形態において、メモデータ表示範囲５０６は、メモデータ５０４において文字５０４１が文字サイズＸを有したものであるメモデータ５０４Ｘの表示範囲であり、文字サイズＸは、メモデータ表示範囲５０６が余白領域５０３に収まるように決定される。
【００５５】
〔スマートフォン１００の構成〕
図１は、本実施形態に係るスマートフォン１００の要部構成を示すブロック図である。
【００５６】
本発明のスマートフォン１００は、図１に示すとおり、少なくとも、タッチパネル１、制御部２、および記憶部３を備えている。さらに、スマートフォン１００は、スマートフォンとしての一般的な機能を実現するために、例えば、図示しない、通信部、タッチパネルとは別の操作部（ボタン、スイッチなど）、近距離無線通信部、音声出力部、音声入力部、外部インターフェース、通話処理部、撮影を行う撮像部（レンズ、撮像素子等）、放送受像部（チューナ、復調部等）、ＧＰＳ、およびセンサ（加速度センサ、傾きセンサ等）他、スマートフォンが標準的に備えている各種部品を備えていてもよい。
【００５７】
タッチパネル１は、ユーザ入力受付および画像表示のためのインターフェースである。タッチパネル１は、操作部１１と表示部１２とを備えてなる。
【００５８】
操作部１１は、ユーザがスマートフォン１００を操作するための指示信号を、タッチパネル１を介して入力するためのものである。操作部１１は、タッチ面とタッチセンサとで構成されている。タッチ面は、指示体（表示部１２の画面位置を指示するもの。ここでは、例えば、指またはペン等）の接触を受け付けるものである。タッチセンサは、指示体とタッチ面との間の接触／非接触（接近／非接近）、および、その接触（接近）位置を検知するためのタッチセンサとで構成されている。タッチセンサは、指示体とタッチ面との接触／非接触を検知できればどのようなセンサで実現されていてもよい。例えば、圧力センサ、静電容量センサ、光センサ等で実現されてもよい。
【００５９】
表示部１２は、スマートフォン１００が扱う情報を表示するものである。表示部１２には、所定の手書き文字入力領域、ソフトウェアキーボード、その他ユーザがスマートフォン１００を操作するためのＧＵＩ、およびスマートフォン１００に搭載されているアプリケーションのアプリケーションウィンドウ等、あらゆる表示対象物質が表示される。表示部１２は、例えば、ＬＣＤ（液晶ディスプレイ）などの表示装置で実現される。
【００６０】
タッチパネル１を投影型静電容量方式のタッチパネルで実現する場合、具体的には、上記タッチセンサは、ＩＴＯ（Indium Tin Oxide）等によるマトリクス状の透明電極パターンを、ガラス、プラスチック等の透明基板上に形成したものとなる。タッチセンサに指示体（ユーザの指またはペン等）が接触または接近すると、その付近の複数の透明電極パターンにおける静電容量が変化する。従って、制御部２は、上記透明電極パターンの電流または電圧の変化を検出することにより、上記指示体が接触または接近した位置を検出することができる。
【００６１】
以下の記載において、「タッチ操作」等の用語における「タッチ」または「接触」という用語は、指示体とタッチ面とが完全に接する（接している）状態のみならず、指示体とタッチ面とが、タッチセンサが検知可能な程度に接近する（接近している）状態も含んでいる。
【００６２】
記憶部３は、スマートフォン１００の制御部２が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）制御部２が、スマートフォン１００が有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを記憶するものである。あるいは、（５）制御部２が各種機能を実行する過程で演算に使用するデータおよび演算結果等を記憶するものである。例えば、上記の（１）〜（４）のデータは、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically EPROM）（登録商標）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。例えば、上記（５）のデータは、ＲＡＭ（Random Access Memory）等の揮発性記憶装置に記憶される。どのデータを記憶するために、記憶部３をどの記憶装置にて実現するのかについては、スマートフォン１００の使用目的、利便性、コスト、物理的な制約等から適宜決定されればよい。記憶部３は、コンテンツＤＢ３１およびメモデータ記憶部３２を備える。
【００６３】
コンテンツＤＢ３１は、１または複数のコンテンツデータ５０１を格納するデータベースである。上述したように、コンテンツデータ５０１には、コンテンツデータ５０１が含む各文字のサイズ、フォントの種類、横書きか縦書きか、および行間の高さ（または幅）等を含み得るレイアウト情報が含まれている。本実施形態では、上記レイアウト情報において、各文字の位置はｘｙ平面上の座標値によって規定されており、行間の高さ（または幅）とは、第１の行に属する文字の下端（または左端）のｙ座標と、第２の行に属する文字の上端（または右端）のｙ座標との差分によって規定される。
【００６４】
メモデータ記憶部３２は、ユーザによって入力されたメモデータ５０４、該メモデータ５０４をメモデータ５０４Ｘとしてコンテンツデータ５０１中に表示する際の文字５０４１の文字サイズＸ、およびメモデータ５０４Ｘの表示範囲であるメモデータ表示範囲５０６を保持するものである。メモデータ記憶部３２に保持されたメモデータ５０４は、メモデータ表示範囲５０６の決定や、後述する本実施形態の応用例に係る複数のメモデータの結合等において読み出される。
【００６５】
制御部２は、スマートフォン１００が備える各部の機能を統括し、スマートフォン１００の駆動を制御するものである。制御部２は、例えば、ＣＰＵ（central processing unit）等で実現され、スマートフォン１００が備える機能は、制御部２としてのＣＰＵが、ＲＯＭ等に記憶されているプログラムを、ＲＡＭ等に読み出して実行することで実現される。制御部２は、図１に示すとおり、機能ブロックとして、少なくとも、入力受付部２１、選択文字列決定部２２、コンテンツデータ取得部２３、余白領域決定部２４、メモデータ表示範囲決定部２５、レイアウト比較部２６、レイアウト情報変更部２７、および表示制御部２８を含む構成である。
【００６６】
入力受付部２１は、タッチパネル１の操作部１１を介して入力されたユーザ操作に係る指示信号を受け付け、制御部２内の各部材の挙動に上記ユーザ操作を反映させるためのものである。具体的には、入力受付部２１は、操作部１１から入力された指示信号を受け付け、指示体（以下、ユーザの指Ｆとする）の接触位置について表示部１２における座標の特定を行う。また、上記指示信号を時系列で受け付け、接触位置の軌跡の座標を時系列で特定することで、ユーザ操作の継続時間および接触位置の移動を検知し、取得したユーザ操作をタップ、長押し、フリック、およびドラッグ等として識別してもよい。本実施形態では、特に、ドラッグ操作による選択文字列５０２の選択を受け付けるとともに、ソフトウェアキーボード等のキー操作または手書きによるメモデータ５０４の入力を受け付ける。入力受付部２１が特定した座標情報は、選択文字列決定部２２に供給される。
【００６７】
選択文字列決定部（選択文字列決定手段）２２は、コンテンツデータ５０１中の所定の文字列を選択文字列５０２として決定するものである。具体的には、選択文字列決定部２２は、コンテンツデータ取得部２３からコンテンツデータ５０１を取得するとともに、入力受付部２１が特定した上記座標情報を取得する。そして、コンテンツデータ５０１と、入力受付部２１が特定した上記座標情報とに基づき、タッチパネル１上に表示されたコンテンツデータ５０１において、ユーザがドラッグ操作等により選択した文字列を特定し、該文字列を選択文字列５０２として決定する。決定された選択文字列５０２は、後述する余白領域５０３の決定において、コンテンツデータ取得部２３から取得するコンテンツデータ５０１に含まれる上記レイアウト情報と合わせて参照される。
【００６８】
コンテンツデータ取得部２３は、所定のコンテンツデータ５０１を取得するものである。具体的には、コンテンツデータ取得部２３は、操作部１１を介してユーザが指定したコンテンツに対応するコンテンツデータ５０１を、コンテンツＤＢ３１から読み出して取得する。取得されたコンテンツデータ５０１は、表示制御部２８に供給され表示部１２に画像として表示されるとともに、選択文字列決定部２２に供給され、後述する余白領域５０３の決定において、選択文字列５０２とともに参照される。
【００６９】
余白領域決定部２４は、余白領域５０３の位置およびサイズを決定するものである。具体的には、余白領域決定部２４は、選択文字列決定部２２が決定した選択文字列５０２と、コンテンツデータ取得部２３が取得したコンテンツデータ５０１とを参照する。そして、コンテンツデータ５０１に含まれる上記レイアウト情報から、当該選択文字列５０２の近傍に設けられる余白領域５０３の位置およびサイズを決定する。余白領域５０３が決定されると、コンテンツデータ５０１および余白領域５０３を示す情報を含むコンテンツデータ情報が、レイアウト比較部２６に供給される。
【００７０】
ここで、余白領域決定部２４による余白領域５０３の決定方法について、図６を参照しながら説明する。
【００７１】
図６は、図５（ｃ）に示したコンテンツデータ５０１の選択文字列５０２を含む箇所の拡大図を、当該コンテンツデータ５０１に含まれる、余白領域５０３を規定するための各直線、およびメモデータ表示範囲５０６とともに示す図である。当該選択文字列５０２の近傍に、矩形形状を有する余白領域５０３の左辺を成す直線６０１、右辺を成す直線６０２、第１の下辺を成す直線６０３、第２の下辺を成す直線６０４、第１の上辺を成す直線６０５、および、第２の上辺を成す直線６０６が示されている。直線６０１および６０２間の距離Ｗは、余白領域５０３の幅（水平方向の長さ）を示しており、直線６０３および６０５間の距離Ｈ１は余白領域５０３の第１の高さ（垂直方向の長さ）を示しており、直線６０４および６０６間の距離Ｈ２は余白領域５０３の第２の高さを示している。上記第１の高さは、余白領域５０３のデフォルトの高さであり、上記第２の高さは、コンテンツデータ５０１の見かけ上のレイアウトを変えずに、当該余白領域５０３を垂直方向に拡大した場合の高さである。余白領域５０３の拡大処理については後述する。
【００７２】
以下、図６における左右方向の座標軸をｘ軸、上下方向の座標軸をｙ軸として説明する。
【００７３】
直線６０１および６０２はそれぞれｙ軸に対し平行な直線であり、選択文字列５０２の開始位置および終了位置のｘ座標によって特定されることが好ましい。直線６０４および６０６はそれぞれｘ軸に対し平行な直線であり、コンテンツデータ５０１における選択文字列５０２を含む行の上端、および当該行の１つ前の行の下端のｙ座標によって特定されてもよい。直線６０３および６０５はそれぞれｘ軸に対し平行な直線であり、所定値α（０＜α）を定め、直線６０４および６０６のｙ座標にそれぞれαおよび−αを加算した座標値によって特定されることが好ましい。これは、余白領域５０３に書き込まれたメモデータ５０４Ｘが、コンテンツデータ５０１の文字列と接することで、メモデータ５０４Ｘとコンテンツデータ５０１との両方の視認性および可読性が損なわれることを防止するために有用である。従って、上記αは、メモデータ５０４Ｘとコンテンツデータ５０１とを視覚的に十分に分離し得る程度の間隔を示す値であることが好ましい。なお、図では上記近傍は選択文字列５０２の上行間として示されているが、下行間であってもよい。また、コンテンツデータ５０１が縦書きの文字列からなるものである場合は、上述の記載を全て−９０°回転させればよい。以降の記載においても同様である。
【００７４】
ここで、余白領域５０３の決定に係る上記各直線は、コンテンツデータ５０１に含まれる上記レイアウト情報に含まれる情報である。上記レイアウト情報においては、図６に示す第１行と第２行との行間はデフォルトでは直線６０３および６０５によって規定されている。
【００７５】
メモデータ表示範囲決定部（メモデータ表示範囲決定手段）２５は、メモデータ表示範囲５０６を決定するものである。具体的には、メモデータ表示範囲決定部２５は、入力受付部２１が特定した上記座標情報に基づき、手書き入力された情報をメモデータ５０４として決定する。そして、メモデータ５０４に含まれる各文字５０４１（図５（ｂ）参照）について、この表示サイズを文字サイズＸとすることでメモデータ５０４Ｘを生成し、メモデータ５０４Ｘの表示範囲をメモデータ表示範囲５０６として決定し、これをメモデータ記憶部３２に格納する。メモデータ表示範囲５０６は、タッチパネル１のｘｙ平面上における、メモデータ５０４Ｘに外接する矩形の有する４個の頂点の各座標値によって特定されてもよい。決定されたメモデータ表示範囲５０６は、レイアウト比較部２６による比較処理の結果に応じて変更され得る構成である。メモデータ表示範囲決定部２５は、メモデータ表示範囲５０６を決定するごとに、当該メモデータ表示範囲５０６およびメモデータ５０４Ｘを示す情報を含むメモデータ情報を、レイアウト比較部２６に供給する。なお、レイアウト比較部２６が行う比較処理の内容、およびメモデータ表示範囲５０６の変更については、後述する。
【００７６】
ここで、文字サイズＸは、メモデータ５０４が、図５（ｃ）に示すように、コンテンツデータ５０１中にメモデータ５０４Ｘとして表示されるときの、各文字５０４１の有する表示サイズであり、最大文字サイズＡおよび最小文字サイズ（所定の下限値）ａによって決定される数値範囲を取る。文字サイズＸは、文字５０４１がキー入力によるフォントである場合はフォントサイズであることが好ましい。文字５０４１が手書き文字である場合は、文字サイズＸは、スマートフォン１００が備える手書き文字認識手段（不図示）によって各文字５０４１を識別した後に当てはめたフォントサイズであってもよいし、各文字５０４１に外接する矩形によって表現されてもよい。手書き文字認識手段による識別が可能な文字５０４１については識別後に当てはめたフォントサイズを文字サイズＸとし、手書き文字認識手段による識別が不可能な文字５０４１についてのみ、文字サイズＸを文字５０４１に外接する矩形によって表現するようにしてもよい。なお、メモデータ５０４において、構成要素である各文字５０４１を認識せず、文字サイズＸの代わりにメモデータ５０４全体の表示範囲、すなわちメモデータ表示範囲５０６を決定する構成であってもよい。
【００７７】
なお、以下の記載では、説明の簡便のため、メモデータ表示範囲決定部２５は、メモデータ表示範囲５０６は各文字５０４１の文字サイズＸに基づいて決定される構成として記載する。しかしながら、各文字５０４１を個別に処理せず、文字サイズＸに代えて、メモデータ５０４Ｘ全体の表示サイズを直接決定することによってメモデータ表示範囲５０６を決定する構成であってもよい。
【００７８】
レイアウト比較部２６は、余白領域５０３のサイズとメモデータ表示範囲５０６のサイズとを比較するものである。具体的には、レイアウト比較部２６は、余白領域決定部２４から取得した上記コンテンツデータ情報と、メモデータ表示範囲決定部２５から取得した上記メモデータ情報とを参照する。そして、上記コンテンツデータ情報に含まれる余白領域５０３と、上記メモデータ情報に含まれるメモデータ表示範囲５０６とに基づき、余白領域５０３にメモデータ表示範囲５０６が収まるか否かを判定する。余白領域５０３にメモデータ表示範囲５０６が収まると判定すると、レイアウト比較部２６は、上記コンテンツデータ情報および上記メモデータ情報を表示制御部２８に供給する。
【００７９】
一方、余白領域５０３にメモデータ表示範囲５０６が収まらないと判定すると、レイアウト比較部２６は、該判定結果をメモデータ表示範囲決定部２５に通知する。但し、上記メモデータ情報に含まれるメモデータ５０４Ｘの有する文字サイズＸが最小文字サイズａであるときは、レイアウト比較部２６は、上記判定結果をメモデータ表示範囲決定部２５に通知しない。この状況では、レイアウト比較部２６は、メモデータ表示範囲５０６に対して不足している余白領域５０３のサイズを算出し、該算出結果を、上記コンテンツデータ情報および上記メモデータ情報とともにレイアウト情報変更部２７に通知する。
【００８０】
レイアウト情報変更部（余白領域拡大手段）２７は、余白領域５０３を拡大するために、コンテンツデータ５０１に含まれるレイアウト情報を変更するものである。具体的には、レイアウト情報変更部２７は、レイアウト比較部２６から通知された、メモデータ表示範囲５０６に対し不足している余白領域５０３のサイズに基づき、余白領域５０３を拡大するように、上記レイアウト情報を変更する。変更された上記レイアウト情報を含むコンテンツデータ情報は、コンテンツデータ取得部２３に供給される。
【００８１】
本実施形態では、レイアウト情報変更部２７は、余白領域５０３の拡大を行う場合は、まずは水平方向に拡大する。コンテンツデータ５０１が横書きの文字列である場合、文字列が表示されていない余白のサイズは水平方向に長くとることができ、垂直方向の余白サイズは行間によって制限されると考えられるためである。なお、コンテンツデータ５０１が縦書きの文字列から成る場合には、垂直方向の余白領域５０３の拡大が先に行われればよい。
【００８２】
余白領域５０３を水平方向に拡大する場合においては、レイアウト情報変更部２７は、所定値β（０＜β）を定め、選択文字列５０２の開始位置および終了位置のｘ座標に−βおよびβを加算した座標値によって新たな直線６０１および６０２（図６参照）を特定し、上記レイアウト情報を更新する。
【００８３】
上記βの算出方法の一例を示す。余白領域５０３の幅（ｘ軸方向の長さ）は、デフォルトでは、直線６０１および６０２間の距離Ｗである。これに基づき、文字サイズＸが最小文字サイズａであるときのメモデータ５０４Ｘの表示範囲であるメモデータ表示範囲５０６の幅（ｘ軸方向の長さ）をＷａとすれば、β＝（Ｗａ−Ｗ）／２であってもよい。なお、図６に示す例ではメモデータ表示範囲５０６は余白領域５０３に収まるサイズであるため、余白領域５０３の拡大は行われない。
【００８４】
レイアウト情報変更部２７による上記の処理が行われた後の上記レイアウト情報は、既に決定された選択文字列５０２について、当該選択文字列５０２の文字列の幅とは別に、余白領域５０３の左辺および右辺を規定する直線を、変更後の直線６０１および６０２に更新する。この構成によれば、余白領域決定部２４が余白領域５０３の決定において参照するレイアウト情報を直接更新することで、複数の余白領域５０３の重複を防止することができる。具体的には、例えば、余白領域５０３を水平方向に拡大した後に、選択文字列５０２の近傍に新たな選択文字列を設定する場合に、当該新たな選択文字列に対応する余白領域が、既存の拡大された余白領域５０３と重複することを防止することができる。なお、上記のように、拡大後の余白領域５０３と上記新たな選択文字列に対応する余白領域との重複が危惧される状況においては、新たな上記新たな選択文字列に対応する余白領域の表示位置を水平方向にずらしてもよい。
【００８５】
また、余白領域５０３の水平方向の拡大に伴って余白領域５０３の左端または右端がコンテンツデータ５０１の余白を含む表示範囲からはみ出す、または拡大量が所定の上限値を超える場合には、レイアウト情報変更部２７は、余白領域５０３を垂直方向に拡大する。
【００８６】
余白領域５０３の垂直方向の拡大処理において、レイアウト情報変更部２７は、まず、上記コンテンツデータ情報に含まれる、図６に示す直線６０４および６０６間の距離Ｈ２と、上記メモデータ情報に含まれるメモデータ表示範囲５０６の高さとを比較する。すなわち、文字サイズＸが最小文字サイズａであるときのメモデータ５０４Ｘの表示範囲であるメモデータ表示範囲５０６の高さ（ｙ軸方向の長さ）をＨａとすれば、Ｈａ≦Ｈ２が成立するか否かを判定する。
【００８７】
上記不等式が成立する場合、レイアウト情報変更部２７は、レイアウト情報において、行間を規定する直線を直線６０３および６０５から、直線６０４および６０６に変更し、該変更を施したレイアウト情報をコンテンツデータ取得部２３に供給する。この場合、コンテンツデータ５０１の見かけ上のレイアウトは変更されない。
【００８８】
上記不等式が不成立である場合、すなわち、上記メモデータ表示範囲５０６が直線６０４および６０６の間に収まらない場合、レイアウト情報変更部２７は、所定値γ（０＜γ）を定め、直線６０４および６０６のｙ座標にそれぞれ−γおよびγを加算した座標値によって新たな直線６０４および６０６を特定し、これらを第１行と第２行との行間を規定する直線として上記レイアウト情報を更新する。上記γの算出方法の一例として、γ＝（Ｈａ−Ｈ２）／２であってもよい。あるいは、コンテンツデータ５０１に含まれる各行とメモデータ５０４Ｘとの間隔を担保するため、さらにαおよび−αを加算してもよい。この場合、垂直方向に拡大後の余白領域５０３において、メモデータ５０４Ｘは、上記新たな直線６０４および６０６のｙ座標に対しそれぞれαおよび−αを加算した座標値によって特定される新たな直線６０３および６０５に、メモデータ表示範囲５０６の下端および上端が接するように表示される。これにより、メモデータ５０４Ｘおよびコンテンツデータ５０１の視認性および可読性を担保することができる。なお、直線６０４および６０６のいずれか一方のみについて、ｙ座標に−２γまたは２γを加算する構成であってもよい。これらの構成例は、コンテンツデータ５０１の表示部１２における表示態様によって適宜使い分けられればよい。
【００８９】
上述の処理において、直線６０４および６０６が更新される場合は、余白領域５０３の水平方向の拡大処理と異なり、上記レイアウト情報における各文字の位置情報、すなわちｘｙ平面上の座標値が更新される。従って、コンテンツデータ５０１の見かけ上のレイアウトが変化し、行間が拡大されたことをユーザが視認できる状態となる。
【００９０】
表示制御部２８は、制御部２によって処理された各種情報を表示部１２において可視化するために、表示部１２に対し、当該各種情報を画像として表示するための信号を出力するものである。本実施形態では特に、表示制御部２８は、コンテンツデータ取得部２３から取得したコンテンツデータ５０１に含まれる上記レイアウト情報に基づき、所定のレイアウトを有するコンテンツデータ５０１を画像として表示させるための信号を表示部１２に対し出力する。また、表示制御部２８は、レイアウト比較部２６から取得した、上記コンテンツデータ情報および上記メモデータ情報に基づき、余白領域５０３にメモデータ５０４Ｘが表示されたコンテンツデータ５０１を画像として表示させるための信号を表示部１２に対し出力する。表示部１２が、液晶ディスプレイで実現されている場合には、表示制御部２８は、コンテンツデータ５０１およびメモデータ５０４、５０４Ｘを可視化画像として表示させるための、液晶パネルの各ピクセルの駆動を指示する信号を、表示部１２に対して出力する。
【００９１】
〔スマートフォン１００における処理の流れ〕
図２〜４を参照して、スマートフォン１００における処理の流れを説明する。
【００９２】
図２は、スマートフォン１００における、コンテンツデータ５０１へのメモデータ５０４Ｘの挿入に係る処理の全体の流れを示すフローチャートである。
【００９３】
まず、コンテンツデータ取得部２３は、コンテンツデータ５０１のレイアウト情報を取得する（Ｓ２０１）。具体的には、コンテンツデータ取得部２３は、操作部１１を介してユーザが指定したコンテンツに対応するコンテンツデータ５０１を、コンテンツＤＢ３１から読み出して取得する。コンテンツデータ５０１は、コンテンツデータ５０１が含む各文字の位置、サイズ、フォントの種類、横書きか縦書きか、および行間の高さ（または幅）等を含むレイアウト情報を含んでいる。
【００９４】
次に、選択文字列決定部２２は、選択文字列５０２を決定する（Ｓ２０２）。具体的には、選択文字列決定部２２は、コンテンツデータ取得部２３からコンテンツデータ５０１を取得するとともに、入力受付部２１からユーザのタッチ位置を示す座標情報を取得する。これらに基づき、タッチパネル１上に表示されたコンテンツデータ５０１において、ユーザがドラッグ操作等により選択した文字列を特定し、該文字列を選択文字列５０２として決定する。このとき、どの文字列を選択したかをユーザが視認しやすいように、図５に示すようなマーカ等を当該選択文字列５０２に付してもよい。
【００９５】
次に、余白領域決定部２４は、選択文字列５０２に対応する余白領域５０３を決定する（Ｓ２０３）。具体的には、余白領域決定部２４は、選択文字列決定部２２から選択文字列５０２を、コンテンツデータ取得部２３からコンテンツデータ５０１をそれぞれ取得する。そして、コンテンツデータ５０１に含まれる上記レイアウト情報から、当該選択文字列５０２の近傍に設けられる余白領域５０３の位置およびサイズを決定する。余白領域５０３の決定方法については、図６を参照して行った上述の説明のとおりである。決定された余白領域５０３は、コンテンツデータ５０１とともにコンテンツデータ情報としてレイアウト比較部２６に供給される。
【００９６】
次に、メモデータ表示範囲決定部２５は、メモデータ５０４Ｘの最大文字サイズＡおよび最小文字サイズａを決定する（Ｓ２０４）。具体的には、メモデータ表示範囲決定部２５は、入力受付部２１を介して、ユーザが指定した最大文字サイズＡおよび最小文字サイズａを決定する。好ましくは、最大文字サイズＡはコンテンツデータ５０１におけるＨ１（図６参照）と同じ高さ（ｙ軸方向の長さ）を有し、最小文字サイズａはユーザによる視認性および可読性を最低限担保するサイズである。
【００９７】
次に、入力受付部２１は、メモデータ５０４を取得する（Ｓ２０５）。具体的には、入力受付部２１は、ユーザ操作の接触位置の移動を検知し、手書きによるメモデータ５０４の入力を受け付ける。なお、メモデータ５０４の入力はソフトウェアキーボード等のキー操作によって行われてもよい。
【００９８】
次に、入力受付部２１は、メモデータ５０４の取得が完了したか否かを判定する（Ｓ２０６）。具体的には、入力受付部２１は、図５に示す決定ボタン５０５上でユーザによるタッチ操作が検出されたか否かを判定する。決定ボタン５０５上でタッチ操作が検出されなければ（Ｓ２０６でＮＯ）、ステップＳ２０５の手前に戻ってメモデータ５０４の入力を継続して受け付ける。決定ボタン５０５上でタッチ操作が検出されれば（Ｓ２０６でＹＥＳ）、メモデータ５０４の取得が完了したと判断し、ステップＳ２０７に移行する。
【００９９】
メモデータの取得が完了したと判定されると（Ｓ２０６でＹＥＳ）、メモデータ表示範囲決定部２５は、メモデータ表示範囲５０６の決定処理を実行する（Ｓ２０７）。
【０１００】
ステップＳ２０７におけるメモデータ表示範囲５０６の決定処理について、図３を参照して説明する。
【０１０１】
図３（ａ）は、メモデータ表示範囲決定部２５が行う、メモデータ表示範囲５０６の決定処理の流れを示すフローチャートである。特に記載する場合を除き、以下のステップＳ３０１〜３０３の動作主体は、全てメモデータ表示範囲決定部２５である。
【０１０２】
まず、処理回数ｎをカウントする（Ｓ３０１）。ここで言う処理回数とは、図２に示すフローチャートに係る処理が開始してから、ステップＳ２０７が実行された回数である。ｎはデフォルト値が０に設定されている変数であり、当該処理が何回繰り返されたかを示す。ｎがデフォルト値０を有するとき、ステップＳ３０１においてｎ＝ｎ＋１の演算を行うことにより、ｎは１に更新され、当該処理が１回行われたとカウントされる。更新されたｎはメモデータ記憶部３２に保持される。
【０１０３】
次に、メモデータ５０４Ｘの文字サイズＸを決定する（Ｓ３０２）。具体的には、図３（ｂ）に例示する、文字サイズＸを指定するための文字サイズデータテーブルにおいて、インデックス番号がｎであるレコードにおける、「文字サイズ」のカラムに含まれる数値（ｐｔ）を文字サイズＸとする。具体的には、例えば、ステップＳ３０１においてｎが１に更新された状態である場合、上記文字サイズデータテーブルにおいて、インデックス番号１を有するレコードにおいて、「文字サイズ」のカラムに示されている２０（ｐｔ）が、文字サイズＸとして決定される。
【０１０４】
図３（ｂ）に示す例では、最大文字サイズＡは２０ｐｔ、最小文字サイズａは６ｐｔとなり、初回のメモデータ表示範囲５０６の決定処理においては、まず最大文字サイズＡによってメモデータ５０４Ｘが余白領域５０３内に表示可能であるか否かが判断されることとなる。上記文字サイズデータテーブルはメモデータ記憶部３２に格納されていてもよい。なお、図３（ｂ）では、例として、文字サイズＸを表すためにフォントサイズが用いられているが、文字サイズＸはメモデータ５０４Ｘを構成する各文字５０４１に外接する矩形の幅および高さによって表現されてもよい。
【０１０５】
次に、文字サイズＸによるメモデータ表示範囲５０６を決定する（Ｓ３０３）。具体的には、メモデータ表示範囲決定部２５は、ステップＳ３０３で決定された文字サイズＸに基づき、当該文字サイズＸを有する文字５０４１からなるメモデータ５０４Ｘを生成する。続いて、該生成したメモデータ５０４Ｘの全体としての表示範囲であるメモデータ表示範囲５０６を決定する。ここで、メモデータ５０４Ｘが複数の行に亘る文字列から成る場合には、当該複数の行に係る改行を削除し、１行の文字列に変換してもよい。メモデータ表示範囲５０６の高さの増大による余白領域５０３の垂直方向の拡大に伴う、コンテンツデータ５０１の見かけ上のレイアウトの変更を避けるためである。
【０１０６】
以上で、メモデータ表示範囲決定部２５が行うメモデータ表示範囲５０６の決定処理は終了となり、図２に示すフローチャートのステップＳ２０８へ移行する。なお、ステップＳ２０７の完了とともに、メモデータ表示範囲決定部２５は、メモデータ表示範囲５０６を含むメモデータ情報をレイアウト比較部２６に供給する。
【０１０７】
メモデータ表示範囲５０６が決定されると、次に、レイアウト比較部２６は、メモデータ表示範囲５０６が余白領域５０３に収まるか否かを判定する（Ｓ２０８）。具体的には、レイアウト比較部２６は、ステップＳ２０３において余白領域決定部２４が決定した余白領域５０３と、ステップＳ２０７においてメモデータ表示範囲決定部２５が決定したメモデータ表示範囲５０６とを参照する。そして、メモデータ表示範囲５０６の幅をＷａ、高さをＨａとしたとき、図６に示すＷおよびＨ１について、Ｗａ≦ＷとＨａ≦Ｈ１とが共に成立するか否かを判定する。メモデータ表示範囲５０６が余白領域５０３に収まると判定すると（Ｓ２０８でＹＥＳ）、レイアウト比較部２６は、上記コンテンツデータ情報および上記メモデータ情報を、表示制御部２８に供給する。
【０１０８】
メモデータ表示範囲５０６が余白領域５０３に収まると判定されると（Ｓ２０８でＹＥＳ）、表示制御部２８は、メモデータ５０４Ｘが書き込まれたコンテンツデータ５０１を表示部１２に表示させる（Ｓ２１１）。具体的には、表示制御部２８は、レイアウト比較部２６から取得した上記コンテンツデータ情報および上記メモデータ情報に基づき、余白領域５０３にメモデータ５０４Ｘが表示されたコンテンツデータ５０１を画像として表示させるための信号を表示部１２に対し出力する。
【０１０９】
一方、メモデータ表示範囲５０６が余白領域５０３に収まらないと判定されると（Ｓ２０８でＮＯ）、次に、レイアウト比較部２６は、文字サイズＸが最小文字サイズａであるか否かを判定する（Ｓ２０９）。具体的には、レイアウト比較部２６は、メモデータ表示範囲決定部２５から取得した上記メモデータ情報において、メモデータ５０４Ｘの文字サイズＸが最小文字サイズａであるか否かを判定する。文字サイズＸが最小文字サイズａではないと判定されると（Ｓ２０９でＮＯ）、ステップＳ２０７の手前に戻り、図３（ａ）に示す処理が繰り返される。文字サイズＸが最小文字サイズａであると判定されると（Ｓ２０９でＹＥＳ）、上記コンテンツデータ情報および上記メモデータ情報がレイアウト情報変更部２７に供給され、ステップＳ２１０に移行する。
【０１１０】
文字サイズＸが最小文字サイズａであると判定されると（Ｓ２０９でＹＥＳ）、レイアウト情報変更部２７は、余白領域５０３の拡大処理を実行する（Ｓ２１０）。
【０１１１】
ステップＳ２１０における余白領域５０３の拡大処理について、図４を参照して説明する。
【０１１２】
図４は、レイアウト情報変更部２７が行う、余白領域５０３の拡大処理の流れを示すフローチャートである。特に記載する場合を除き、以下のステップＳ４０１〜４０５の動作主体は全てレイアウト情報変更部２７である。
【０１１３】
まず、不足している余白領域５０３のサイズを算出する（Ｓ４０１）。具体的には、レイアウト情報変更部２７は、上記コンテンツデータ情報およびメモデータ情報を参照し、メモデータ表示範囲５０６と余白領域５０３との差分を算出する。上記差分を図６を参照しながら説明すれば、幅についての差分は、メモデータ表示範囲５０６の幅をＷａとしたときの、β＝（Ｗａ−Ｗ）／２に基づく２βであってもよく、高さについての差分は、メモデータ表示範囲５０６の高さをＨａとしたときの、γ＝（Ｈａ−Ｈ２）／２に基づく２γであってもよい。
【０１１４】
次に、水平方向に余白領域５０３を拡大可能であるか否かを判定する（Ｓ４０２）。具体的には、レイアウト情報変更部２７は、余白領域５０３を水平方向に拡大した場合に、余白領域５０３の左端または右端がコンテンツデータ５０１の余白を含む表示範囲からはみ出すか否かを判定する。
【０１１５】
水平方向に余白領域５０３を拡大可能であると判定すると（Ｓ４０２でＹＥＳ）、次に、水平方向に余白領域５０３を拡大する（Ｓ４０３）。具体的には、レイアウト情報変更部２７は、ステップＳ４０１で算出した上記βに基づき、選択文字列５０２の開始位置および終了位置のｘ座標に−βおよびβを加算した座標値によって新たな直線６０１および６０２を特定し、上記レイアウト情報を更新する。なお、水平方向の余白領域５０３の拡大量に所定の上限値が設けられており、且つ上記２βがこれを超える場合には、ステップＳ４０３における水平方向の余白領域５０３の拡大量は、当該所定の上限値となる。このとき、上記レイアウト情報の更新処理においては、上記βに代えて当該所定の上限値が用いられる。
【０１１６】
ここで、水平方向に余白領域５０３を拡大する場合は、コンテンツデータ５０１のレイアウト情報が更新されるが、コンテンツデータ５０１の見かけ上のレイアウトは変更されない。
【０１１７】
次に、拡大された余白領域５０３にメモデータ表示範囲５０６が収まるか否かを判定する（Ｓ４０４）。具体的には、レイアウト情報変更部２７は、上記メモデータ情報と、ステップＳ４０３において更新された上記レイアウト情報とを参照し、Ｗａ≦ＷとＨａ≦Ｈ１とが共に成立するか否かを判定する。拡大された余白領域５０３にメモデータ表示範囲５０６が収まると判定されると（Ｓ４０４でＹＥＳ）、余白領域５０３の拡大処理は終了となり、図２に示すステップＳ２１１へ移行する。
【０１１８】
一方、拡大された余白領域５０３にメモデータ表示範囲５０６が収まらないと判定されると（Ｓ４０４でＹＥＳ）、または、ステップＳ４０２において、水平方向に余白領域５０３が拡大不可能であると判定されると（Ｓ４０２でＮＯ）、次に、垂直方向に余白領域５０３を拡大する（Ｓ４０５）。
【０１１９】
ステップＳ４０５は以下に記載する複数の不図示のサブステップを含んでいる。
【０１２０】
具体的には、レイアウト情報変更部２７は、まず、Ｗａ≦Ｗが不成立である場合には、メモデータ５０４Ｘに含まれる文字５０４１からなる行を適宜改行し、メモデータ５０４Ｘの高さＨａを更新する。Ｗａ≦Ｗが成立する場合には、Ｈａの更新は行われない。
【０１２１】
続いて、レイアウト情報変更部２７は、メモデータ５０４Ｘの高さＨａについて、Ｈａ≦Ｈ２が成立するか否かを判定する。Ｈａ≦Ｈ２が成立する場合には、上記レイアウト情報において、第１行と第２行との行間を規定する直線を直線６０４および６０６に更新してステップを終了するとともに、余白領域５０３の拡大処理は終了となり、図２に示すステップＳ２１１へ移行する。
【０１２２】
一方、Ｈａ≦Ｈ２が不成立である場合、上述の式によって定義され得るγに基づき、直線６０４および６０６のｙ座標にそれぞれ−γおよびγが加算され、該加算後の直線を新たな直線６０４および６０６とし、これらを第１行と第２行との行間を規定する直線として上記レイアウト情報を更新する。または、上記新たな直線６０４および６０４のｙ座標に対し、さらにαおよび−αを加算してもよい。以上で本ステップは終了するとともに、余白領域５０３の拡大処理は終了となり、図２に示すステップＳ２１１へ移行する。
【０１２３】
以上の処理を持って、スマートフォン１００による、コンテンツデータ５０１へのメモデータ５０４Ｘの挿入に係る処理は終了となる。
【０１２４】
なお、ステップＳ２０４を実行するタイミングはステップＳ２０３とＳ２０５との間に限定されず、ステップＳ２０７より前であればいつでもよい。また、ステップＳ２１１が完了し、全体の処理が終了した後でも、ユーザ操作によって任意に最大文字サイズＡおよび最小文字サイズａが再設定されてもよい。あるいは、スマートフォン１００の製造段階において、最大文字サイズＡおよび最小文字サイズａが予め設定されていてもよい。
【０１２５】
以上のように、本実施形態に係るスマートフォン１００は、タッチパネル１上に表示した複数の文字列を含むコンテンツデータ５０１中において、書き込むメモと対応させたい選択文字列５０２を、ユーザ操作によって決定するとともに、ユーザが手書き等で入力したメモデータ５０４をコンテンツデータ５０１中にメモデータ５０４Ｘとして表示させるときの表示範囲であるメモデータ表示範囲５０６を、選択文字列５０２に対応付けられた余白領域５０３に収まるように決定する。
【０１２６】
これにより、スマートフォン１００は、選択文字列５０２に対応付けられた余白領域５０３のサイズに応じて、自動的に表示範囲が変更されたメモデータ５０４Ｘをコンテンツデータ５０１に対し挿入することができるので、ユーザは、メモデータの表示範囲を予め決定する操作を伴わずに、メモの入力をシームレスに行うことができる。
【０１２７】
また、メモデータ５０４Ｘを構成する文字５０４１の文字サイズＸによってメモデータ表示範囲５０６を決定することで、文字５０４１の視認性および可読性を考慮しながら、メモデータ表示範囲５０６を決定することができる。
【０１２８】
また、文字サイズＸが最小文字サイズａであるときのメモデータ表示範囲５０６が、余白領域５０３よりも大きい場合に、余白領域５０３を拡大することで、文字５０４１の視認性および可読性を損ねることなく、コンテンツデータ５０１にメモデータ５０４Ｘを挿入することができる。
【０１２９】
また、横書きのコンテンツデータ５０１に対して水平方向に余白領域５０３を拡大することで、コンテンツデータ５０１の見かけ上のレイアウトを損ねることなく、メモデータ５０４Ｘを挿入することができる。
【０１３０】
さらに、文字サイズＸが最小文字サイズａであるときに、横書きのコンテンツデータ５０１に対して水平方向に余白領域５０３を拡大しても、メモデータ表示範囲５０６が、拡大後の余白領域５０３よりも大きい場合に、垂直方向に余白領域５０３を拡大することで、文字５０４１の視認性および可読性を維持しながら、より多くのメモデータ５０４Ｘをコンテンツデータ５０１に対し挿入することができる。
【０１３１】
〔応用例：複数のメモデータの結合〕
本実施形態の応用例を、図７を参照して説明する。なお、説明の便宜上、上述にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１３２】
本応用例において、スマートフォン１００は、既にメモデータ５０４Ｘとしてコンテンツデータ５０１中に挿入されたメモデータ５０４と、新たに入力された追加のメモデータ（メモデータ）７０４とを結合し、これを文字サイズＸを有する結合メモデータ７０４Ｘとしてコンテンツデータ５０１中に挿入する。さらに、既に決定された選択文字列５０２を変更するとともに、変更後の選択文字列７０２に対応する余白領域７０３を決定し、該余白領域７０３に収まるように、結合メモデータ７０４Ｘの表示範囲である結合メモデータ表示範囲（結合メモデータの表示範囲）７０６を決定する。
【０１３３】
具体的には、本応用例に係るメモデータ表示範囲決定部２５は、メモデータ記憶部３２に保持されているメモデータ５０４を追加のメモデータ７０４と結合して、コンテンツデータ５０１中に挿入する結合メモデータ７０４Ｘを生成するとともに、結合メモデータ７０４Ｘの表示範囲である結合メモデータ表示範囲７０６を決定する。結合メモデータ表示範囲７０６が決定されると、図２に示すステップＳ２０７〜Ｓ２０９と同様の処理によって、必要に応じて余白領域５０３が拡大される。
【０１３４】
また、本応用例に係る選択文字列決定部２２は、入力受付部２１を介したユーザ操作によって、選択文字列５０２を変更して新たに選択文字列７０２を決定する。選択文字列７０２が決定されると、ステップＳ２０３と同様の処理によって、変更後の選択文字列７０２に対応付けられた余白領域７０３が新たに決定される。この新たに決定された余白領域７０３のサイズに応じて、ステップＳ２０６と同様の処理によって結合メモデータ表示範囲７０６が決定される。本応用例に係るスマートフォン１００は、図２に示すフローチャートの任意の段階において、選択文字列５０２を変更するステップを実行することができる。
【０１３５】
図７（ａ）は、本応用例における追加のメモデータ７０４の入力時の表示例を示す図である。コンテンツデータ５０１中にはメモデータ５０４Ｘが既に書き込まれており、上記所定の手書き文字入力領域において、追加のメモデータ７０４「メモを追加」をユーザが指Ｆにより手書き入力している状態が示されている。
【０１３６】
図７（ｂ）は、結合メモデータ７０４Ｘの表示例を示す図である。メモデータ５０４「てがきメモ」と追加のメモデータ７０４「メモを追加」を結合した結合メモデータ７０４Ｘ「てがきメモメモを追加」が、コンテンツデータ５０１中に表示されている。本図では、結合メモデータ７０４Ｘの文字サイズは最小文字サイズａであり、該結合メモデータ７０４Ｘの幅は、選択文字列５０２に対応付けられた余白領域５０３のデフォルトの幅よりも大きいために、余白領域５０３は水平方向に拡大されている。
【０１３７】
図７（ｃ）は、選択文字列５０２「手書き入力」に代えて、新たに選択文字列７０２「キー入力または手書き入力」が決定された場合の表示例を示す図である。選択文字列７０２に基づき決定された余白領域７０３は余白領域５０３と比較して水平方向に大きいために、該余白領域７０３のサイズに応じて決定された結合メモデータ表示範囲７０６は図７（ｂ）と比較して大きくなり、結合メモデータ７０４Ｘの各文字の視認性および可読性が向上する。
【０１３８】
以上のように、本応用例に係るスマートフォン１００は、メモデータ５０４および追加のメモデータ７０４を結合して結合メモデータ７０４Ｘを生成する。さらに、選択文字列５０２を変更して新たな選択文字列７０２を決定し、選択文字列７０２に対応付けられた余白領域７０３のサイズに応じて、結合メモデータ表示範囲７０６を決定する。
【０１３９】
これにより、ユーザは、メモデータ５０４および追加のメモデータ７０４の表示位置を、コンテンツデータ５０１中の所望の１箇所にまとめることができる。さらに、ユーザは、書き込むメモと対応させたい文字列を任意に変更できるので、より高い利便性を得ることができる。
【０１４０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１４１】
〔ソフトウェアによる実現例〕
最後に、スマートフォン１００の制御部２の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０１４２】
後者の場合、スマートフォン１００は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるスマートフォン１００の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、スマートフォン１００に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１４３】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ（登録商標）／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０１４４】
また、スマートフォン１００を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０１４５】
このように、本明細書においては、手段とは必ずしも物理的手段を意味せず、各手段の機能がソフトウェアによって実現される場合も含む。また、１つの手段の機能が２つ以上の物理的手段により実現されてもよいし、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【産業上の利用可能性】
【０１４６】
本発明は、スマートフォン、携帯電話、タブレット端末、パーソナルコンピュータ（ＰＣ）、ＰＤＡ（Personal Digital Assistant）、電子書籍リーダ、電子辞書、ゲーム機器等、文字列を含むコンテンツデータを表示する機構と、手書きまたはキー入力によるユーザ操作を受け付けるための機構とを備える情報処理装置に好適に利用することができる。
【符号の説明】
【０１４７】
２２  選択文字列決定部（選択文字列決定手段）
２３  コンテンツデータ取得部
２５  メモデータ表示範囲決定部（メモデータ表示範囲決定手段）
２７  レイアウト情報変更部（余白領域拡大手段）
１００  スマートフォン（編集装置）
５０１  コンテンツデータ
５０２  選択文字列
５０３  余白領域
５０４  メモデータ
５０４１  文字（構成要素）
５０４Ｘ  メモデータ
５０６  メモデータ表示範囲（メモデータの表示範囲）
７０２  選択文字列
７０３  余白領域
７０４  追加のメモデータ（メモデータ）
７０４Ｘ  結合メモデータ
７０６  結合メモデータ表示範囲（結合メモデータの表示範囲）
Ｓ２０２  選択文字列決定ステップ
Ｓ２０７  メモデータ表示範囲決定ステップ
Ｘ  文字サイズ（表示サイズ）
ａ  最小文字サイズ（所定の下限値）
【図１】
2013246660.tif 000003
【図２】
2013246660.tif 000004
【図３】
2013246660.tif 000005
【図４】
2013246660.tif 000006
【図５】
2013246660.tif 000007
【図６】
2013246660.tif 000008
【図７】
2013246660.tif 000009