(57)【特許請求の範囲】
【請求項１】
表示部と、操作部とを備える携帯端末が読み取り可能なプログラムであって、
該プログラムは、
前記操作部を通じてユーザ操作を受け付ける受付処理と、
シンボル列を入力する入力操作を前記受付処理で受け付けたことに応じて、当該シンボル列を構成する各シンボルを第１方向に配列した第１シンボル列画像を前記表示部に表示させる第１表示処理とを前記携帯端末に実行させ、前記第１方向は、前記シンボル列に含まれる各シンボルの上下方向と交差する方向であり、
該プログラムは、前記シンボル列に含まれるシンボルと、予め定められた特定シンボルとを比較し、前記シンボル列のうち前記特定シンボルのみを含んでおり、かつ、前記特定シンボルが予め定められた組み合わせで連続していない部分を対象シンボル列と特定する特定処理を前記携帯端末に実行させ、前記対象シンボル列は、複数のシンボルが所定の組み合わせで前記第１方向に配列されることによって、所定の意味を表すものであり、
該プログラムは、前記シンボル列の配列方向の変換を指示する第１指示操作を前記受付処理で受け付けたことに応じて、第２シンボル列画像を前記表示部に表示させる第２表示処理を前記携帯端末に実行させ、
前記第２シンボル列画像は、
前記シンボル列内において隣接する２つの非対象シンボルが、当該シンボル列内における前後関係を維持したまま第２方向に配列され、前記非対象シンボルは、前記対象シンボル列に含まれない前記シンボルであり、前記第２方向は、前記シンボル列に含まれる各シンボルの上下方向に沿う方向であり、
前記シンボル列内において隣接する前記非対象シンボル及び前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ前記対象シンボル列を構成する複数のシンボルが前記第１方向に配列され、
前記シンボル列内において隣接する２つの前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ２つの前記対象シンボル列それぞれを構成する複数のシンボルが前記第１方向に配列された画像であるプログラム。
【請求項２】
該プログラムは、前記特定処理で特定した前記対象シンボル列が括弧対を含むか否かを判断する第１判断処理を前記携帯端末に実行させ、前記括弧対は、始め括弧記号と、当該始め括弧記号に対応する終わり括弧記号とを含み、
該プログラムは、前記対象シンボル列が前記括弧対を含むと前記第１判断処理で判断したことに応じて、当該対象シンボル列が括弧外シンボル列を含むか否かを判断する第２判断処理を前記携帯端末に実行させ、前記括弧外シンボル列は、前記括弧対の外側において、連続するＮ（Ｎは自然数）個以上の前記シンボルを含み、
該プログラムは、前記対象シンボル列が前記括弧外シンボル列を含むと前記第２判断処理で判断したことに応じて、当該対象シンボル列を第１部分及び第２部分に分割する分割処理を前記携帯端末に実行させ、前記第１部分は、前記括弧外シンボル列のうちの前記括弧対に隣接する（Ｎ−１）個の前記シンボルより外側の部分であり、前記第２部分は、前記対象シンボル列のうちの前記第１部分と異なる部分であり、
該プログラムは、前記第２表示処理において、前記シンボル列内において隣接する前記第１部分及び前記第２部分を、当該シンボル列内における前後関係を維持したまま前記第２方向に配列し、且つ前記第１部分及び前記第２部分それぞれを構成する各シンボルを前記第１方向に配列した前記第２シンボル列画像を、前記表示部に表示させる請求項１に記載のプログラム。
【請求項３】
該プログラムは、複数の前記括弧対を前記対象シンボル列が含む場合の前記第２判断処理において、最も外側の前記括弧対のさらに外側に位置する前記括弧外シンボル列を当該対象シンボル列が含むか否かを判断する請求項２に記載のプログラム。
【請求項４】
該プログラムは、
前記第２判断処理において、連続するＭ（Ｍ＞Ｎ）個以上の前記シンボルを含むか否かを判断し、
前記対象シンボル列が前記括弧外シンボル列を含むと前記第２判断処理で判断したことに応じて、前記分割処理を前記携帯端末に実行させる請求項２又は３に記載のプログラム。
【請求項５】
該プログラムは、
前記第２シンボル列画像を表示させる領域の前記第１方向の領域幅を取得する第１領域情報取得処理と、
前記第２シンボル列画像内における前記対象シンボル列の前記第１方向のシンボル幅が前記領域幅より広いか否かを判断する第３判断処理と、
前記シンボル幅が前記領域幅より広いと前記第３判断処理で判断したことに応じて、前記第２シンボル列画像内における前記シンボル幅が前記領域幅以下になるように、当該対象シンボル列を縦横比を固定して縮小する第１縮小処理とを前記携帯端末に実行させる請求項１から４のいずれかに記載のプログラム。
【請求項６】
該プログラムは、
Ｌ（Ｌは自然数）個の改行記号を含む前記シンボル列の入力を前記受付処理で受け付けたことに応じて、各々が前記改行記号で区切られた（Ｌ＋１）個の部分シンボル列それぞれに対して前記特定処理、前記第１表示処理、前記第３判断処理、前記第１縮小処理、及び前記第２表示処理を前記携帯端末に実行させ、
前記第２表示処理において、（Ｌ＋１）個の前記部分シンボル列それぞれに対応する前記第２シンボル列画像を、前記第１方向に間隔Ｇを空けて前記表示部に表示させ、
（Ｌ＋１）個の前記第２シンボル列画像を表示させる領域の前記第１方向の最大幅をＷ１としたときに、前記第１領域情報取得処理において、式１で算出される前記領域幅Ｗ２を取得する請求項５に記載のプログラム。
【数１】
0006617448.tif 000003
【請求項７】
該プログラムは、
前記第２シンボル列画像を表示させる領域の前記第２方向の領域高さを取得する第２領域情報取得処理と、
前記第２シンボル列画像の前記第２方向のシンボル高さが前記領域高さより高いか否かを判断する第４判断処理と、
前記シンボル高さが前記領域高さより高いと前記第４判断処理で判断したことに応じて、当該第２シンボル列画像が前記領域高さ以下になるように、当該第２シンボル列画像を縦横比を固定して縮小する第２縮小処理とを前記携帯端末に実行させる請求項１から６のいずれかに記載のプログラム。
【請求項８】
該プログラムは、
前記シンボル列の配列方向の仮の変更を指示する第２指示操作を前記受付処理で受け付けたことに応じて、前記対象シンボル列を構成する各シンボルを前記第１方向に配列した対象シンボル列画像と、連続する前記非対象シンボルを前記第２方向に配列した非対象シンボル列画像とを前記表示部に表示させる第３表示処理と、
前記対象シンボル列画像を通じた第１編集操作を前記受付処理で受け付けたことに応じて、当該対象シンボル列画像に対応する前記対象シンボル列を、前記第１編集操作に従って編集する第１編集処理と、
前記非対象シンボル列画像を通じた第２編集操作を前記受付処理で受け付けたことに応じて、当該非対象シンボル列画像に対応する前記非対象シンボルを、前記第２編集操作に従って編集する第２編集処理と、
前記第１指示操作を前記受付処理で受け付けたことに応じて、前記第１編集処理で編集された前記対象シンボル列、及び前記第２編集処理で編集された前記非対象シンボルを用いた前記第２表示処理とを前記携帯端末に実行させる請求項１から７のいずれかに記載のプログラム。
【請求項９】
該プログラムは、前記第２表示処理において、前記対象シンボル列及び前記非対象シンボルをセンタ配置した前記第２シンボル列画像を前記表示部に表示させ、前記センタ配置とは、前記対象シンボル列及び前記非対象シンボルそれぞれの前記第１方向の中心位置を前記第２方向に延びる仮想線上に配置することである請求項１から８のいずれかに記載のプログラム。
【請求項１０】
該プログラムは、複数の第１入力操作を前記受付処理で受け付けた場合の前記特定処理において、複数の前記第１入力操作によって入力されたシンボル列に含まれるシンボルと、予め定められた特定シンボルとを比較し、前記シンボル列のうちの必要条件を満たし且つ排除条件を満たさない部分を前記対象シンボル列として特定し、前記第１入力操作は、前記シンボル列を構成する各シンボルを１つずつ入力する前記入力操作であり、前記必要条件は、前記特定シンボルのみを含むことであり、前記排除条件は、前記特定シンボルが予め定められた組み合わせで連続することである請求項１から９のいずれかに記載のプログラム。
【請求項１１】
該プログラムは、第２入力操作を前記受付処理で受け付けた場合の前記特定処理において、前記第２入力操作によって入力された複数のシンボルに含まれるシンボルと、予め定められた特定シンボルとを比較し、当該複数のシンボルが必要条件を満たし且つ排除条件を満たさないことに応じて、当該複数のシンボルを前記対象シンボル列として特定し、前記第２入力操作は、前記シンボル列の一部を構成する複数のシンボルを一括して入力する前記入力操作であり、前記必要条件は、連続する複数の前記特定シンボルを含むことであり、前記排除条件は、前記特定シンボルが予め定められた組み合わせで連続することである請求項１から１０のいずれかに記載のプログラム。
【請求項１２】
該プログラムは、複数のテンプレート画像のうちの１つを指定する指定操作を前記受付処理で受け付け、前記テンプレート画像は、前記第２シンボル列画像を配置可能なシンボル領域を含み、
該プログラムは、前記第２表示処理において、前記指定操作で指定された前記テンプレート画像と、前記シンボル領域に配置された前記第２シンボル列画像とを、前記表示部に表示させる請求項１から１１のいずれかに記載のプログラム。
【請求項１３】
前記携帯端末は、通信部を備えており、
前記通信部は、シートに画像を記録する画像記録装置と電気的に接続されており、
該プログラムは、前記テンプレート画像のシートへの記録を指示する第３指示操作を前記受付処理で受け付けたことに応じて、前記通信部を通じて前記画像記録装置に記録指示情報を送信する記録指示処理を前記携帯端末に実行させ、前記記録指示処理は、前記第２シンボル列画像が前記シンボル領域に配置された前記テンプレート画像をシートに記録することを指示するための情報である請求項１２に記載のプログラム。
【請求項１４】
表示部と、
操作部と、
制御部とを備える携帯端末であって、
前記制御部は、
前記操作部を通じてユーザ操作を受け付ける受付処理と、
シンボル列を入力する入力操作を前記受付処理で受け付けたことに応じて、当該シンボル列を構成する各シンボルを第１方向に配列した第１シンボル列画像を前記表示部に表示させる第１表示処理とを実行し、前記第１方向は、前記シンボル列に含まれる各シンボルの上下方向と交差する方向であり、
前記制御部は、前記シンボル列に含まれるシンボルと、予め定められた特定シンボルとを比較し、前記シンボル列のうち前記特定シンボルのみを含んでおり、かつ、前記特定シンボルが予め定められた組み合わせで連続していない部分を対象シンボル列と特定する特定処理を実行し、前記対象シンボル列は、複数のシンボルが所定の組み合わせで前記第１方向に配列されることによって、所定の意味を表すものであり、
前記制御部は、前記シンボル列の配列方向の変換を指示する第１指示操作を前記受付処理で受け付けたことに応じて、第２シンボル列画像を前記表示部に表示させる第２表示処理を実行し、
前記第２シンボル列画像は、
前記シンボル列内において隣接する２つの非対象シンボルが、当該シンボル列内における前後関係を維持したまま第２方向に配列され、前記非対象シンボルは、前記対象シンボル列に含まれない前記シンボルであり、前記第２方向は、前記シンボル列に含まれる各シンボルの上下方向に沿う方向であり、
前記シンボル列内において隣接する前記非対象シンボル及び前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ前記対象シンボル列を構成する複数のシンボルが前記第１方向に配列され、
前記シンボル列内において隣接する２つの前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ２つの前記対象シンボル列それぞれを構成する複数のシンボルが前記第１方向に配列された画像である携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力を受け付けた文字列を表示部に表示させるプログラム、及び当該プログラムが搭載された携帯端末に関する。
【背景技術】
【０００２】
特許文献１には、横書きの文字列を縦書きに変換して表示させるプログラムが開示されている。より詳細には、特許文献１に記載のプログラムは、横書きの文字列のうち、全角文字列を縦書きに変換して表示させ、且つ半角文字列を横書きのままにして表示させるものである。
【０００３】
また、近年では、所謂「顔文字」を含めた文章が増えている。顔文字は、所定のシンボルを組み合わせることによって、表情や動作等の所定の意味を表すシンボル列である。なお、本明細書における「シンボル」とは、文字（例えば、平仮名、片仮名、漢字、数字、アルファベット等）と、記号（例えば、“！”、“？”、“＠”等）とを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２７３９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、広く知られている顔文字は、横書きされたときに、当該顔文字を見た者に所定の意味を感じさせるものである。換言すれば、顔文字が縦書きされたときには、当該顔文字を見た者に所定の意味を感じさせないものが一般的である。また、全角のシンボルと半角のシンボルとが混在した顔文字も多数存在する。そのため、特許文献１のプログラムによって顔文字を含む文字列が縦書きに変換されると、顔文字を見た者に当該顔文字の意味がユーザに伝わらなくなるという課題を生じる可能性がある。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、所定の配列方向でのみ意味を表現できる対象シンボル列を含む文字列の配列方向を変換する場合において、対象シンボル列を見た者に当該対象シンボル列の意味が伝わらなくなることを抑制したプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
(1)  本明細書に記載のプログラムは、表示部と、操作部とを備える携帯端末が読み取り可能である。該プログラムは、前記操作部を通じてユーザ操作を受け付ける受付処理と、シンボル列を入力する入力操作を前記受付処理で受け付けたことに応じて、当該シンボル列を構成する各シンボルを第１方向に配列した第１シンボル列画像を前記表示部に表示させる第１表示処理とを前記携帯端末に実行させる。前記第１方向は、前記シンボル列に含まれる各シンボルの上下方向と交差する方向である。該プログラムは、前記シンボル列に含まれる対象シンボル列を特定する特定処理を前記携帯端末に実行させる。前記対象シンボル列は、複数のシンボルが所定の組み合わせで前記第１方向に配列されることによって、所定の意味を表すものである。該プログラムは、前記シンボル列の配列方向の変換を指示する第１指示操作を前記受付処理で受け付けたことに応じて、第２シンボル列画像を前記表示部に表示させる第２表示処理を前記携帯端末に実行させる。前記第２シンボル列画像は、前記シンボル列内において隣接する２つの非対象シンボルが、当該シンボル列内における前後関係を維持したまま第２方向に配列された画像である。前記非対象シンボルは、前記対象シンボル列に含まれない前記シンボルである。前記第２方向は、前記シンボル列に含まれる各シンボルの上下方向に沿う方向である。また、第２シンボル列画像は、前記シンボル列内において隣接する前記非対象シンボル及び前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ前記対象シンボル列を構成する複数のシンボルが前記第１方向に配列され、前記シンボル列内において隣接する２つの前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ２つの前記対象シンボル列それぞれを構成する複数のシンボルが前記第１方向に配列された画像である。
【０００８】
上記構成によれば、入力されて第１方向に配列されたシンボル列のうち、隣接する非対象シンボル同士、隣接する非対象シンボル及び対象シンボル列、及び隣接する対象シンボル列同士が前後関係を維持したまま第２方向に配列され、対象シンボル列を構成する複数のシンボルが第１方向に配列される。すなわち、シンボル列は、全体としては第２方向に配列されるものの、対象シンボル列は第１方向に配列されたままになる。その結果、対象シンボル列を見た者に当該対象シンボル列が与える印象が損なわれない。すなわち、当該対象シンボル列の意味が失われるのを抑制することができる。
【０００９】
なお、横書き方向は第１方向の一例であり、縦書き方向は第２方向の一例である。以降、便宜上、第１方向のことを「横書き方向」あるいは「横書き」と表記することがある。同様に、第２方向のことを「縦書き方向」あるいは「縦書き」と表記することがある。また、隣接するシンボルの前後関係とは、第１方向の左側が「前側」で右側が「後側」であり、第２方向の上側が「前側」で下側が「後側」である。
【００１０】
(2)  好ましくは、該プログラムは、前記特定処理で特定した前記対象シンボル列が括弧対を含むか否かを判断する第１判断処理を前記携帯端末に実行させる。前記括弧対は、始め括弧記号と、当該始め括弧記号に対応する終わり括弧記号とを含む。該プログラムは、前記対象シンボル列が前記括弧対を含むと前記第１判断処理で判断したことに応じて、当該対象シンボル列が括弧外シンボル列を含むか否かを判断する第２判断処理を前記携帯端末に実行させる。前記括弧外シンボル列は、前記括弧対の外側において、連続するＮ（Ｎは自然数）個以上の前記シンボルを含む。該プログラムは、前記対象シンボル列が前記括弧外シンボル列を含むと前記第２判断処理で判断したことに応じて、当該対象シンボル列を第１部分及び第２部分に分割する分割処理を前記携帯端末に実行させる。前記第１部分は、前記括弧外シンボル列のうちの前記括弧対に隣接する（Ｎ−１）個の前記シンボルより外側の部分である。前記第２部分は、前記対象シンボル列のうちの前記第１部分と異なる部分である。該プログラムは、前記第２表示処理において、前記シンボル列内において隣接する前記第１部分及び前記第２部分を、当該シンボル列内における前後関係を維持したまま前記第２方向に配列し、且つ前記第１部分及び前記第２部分それぞれを構成する各シンボルを前記第１方向に配列した前記第２シンボル列画像を、前記表示部に表示させる。
【００１１】
(3)  さらに好ましくは、該プログラムは、複数の前記括弧対を前記対象シンボル列が含む場合の前記第２判断処理において、最も外側の前記括弧対のさらに外側に位置する前記括弧外シンボル列を当該対象シンボル列が含むか否かを判断する。
【００１２】
(4)  さらに好ましくは、該プログラムは、前記第２判断処理において、連続するＭ（Ｍ＞Ｎ）個以上の前記シンボルを含むか否かを判断し、前記対象シンボル列が前記括弧外シンボル列を含むと前記第２判断処理で判断したことに応じて、前記分割処理を前記携帯端末に実行させる。
【００１３】
上記構成によれば、対象シンボル列が多数のシンボルによって構成される場合でも、第２シンボル列画像が第１方向に広がりすぎるのを抑制できる。また、括弧対は、対象シンボル列内で顔の輪郭を表すのに用いられることが多い。そして、括弧対で囲まれる部分は、対象シンボル列の意味を最も端的に表す部分である場合が多い。そこで、括弧外シンボル列の位置で対象シンボル列を分割することによって、当該対象シンボル列の意味が失われるのを抑制することができる。
【００１４】
(5)  好ましくは、該プログラムは、前記第２シンボル列画像を表示させる領域の前記第１方向の領域幅を取得する第１領域情報取得処理と、前記第２シンボル列画像内における前記対象シンボル列の前記第１方向のシンボル幅が前記領域幅より広いか否かを判断する第３判断処理と、前記シンボル幅が前記領域幅より広いと前記第３判断処理で判断したことに応じて、前記第２シンボル列画像内における前記シンボル幅が前記領域幅以下になるように、当該対象シンボル列を縦横比を固定して縮小する第１縮小処理とを前記携帯端末に実行させる。
【００１５】
上記構成によれば、第２シンボル列画像が第１方向に広がりすぎるのを抑制できる。また、対象シンボル列の縦横比を固定して縮小することによって、当該対象シンボル列の意味が失われるのを抑制することができる。さらに、対象シンボル列のみを縮小し、非対象シンボルを縮小しないので、非対象シンボルの視認性の低下が抑制される。
【００１６】
(6)  好ましくは、該プログラムは、Ｌ（Ｌは自然数）個の改行記号を含む前記シンボル列の入力を前記受付処理で受け付けたことに応じて、各々が前記改行記号で区切られた（Ｌ＋１）個の部分シンボル列それぞれに対して前記特定処理、前記第１表示処理、前記第３判断処理、前記第１縮小処理、及び前記第２表示処理を前記携帯端末に実行させ、前記第２表示処理において、（Ｌ＋１）個の前記部分シンボル列それぞれに対応する前記第２シンボル列画像を、前記第１方向に間隔Ｇを空けて前記表示部に表示させ、（Ｌ＋１）個の前記第２シンボル列画像を表示させる領域の前記第１方向の最大幅をＷ１としたときに、前記第１領域情報取得処理において、式１で算出される前記領域幅Ｗ２を取得する。
【００１７】
上記構成によれば、第１方向に隣接する第２シンボル列画像の間隔が詰まりすぎることを抑制できる。その結果、隣接する対象シンボル列同士が近づきすぎて、当該対象シンボル列の意味が分かりにくくなることが抑制される。
【００１８】
(7)  好ましくは、該プログラムは、前記第２シンボル列画像を表示させる領域の前記第２方向の領域高さを取得する第２領域情報取得処理と、前記第２シンボル列画像の前記第２方向のシンボル高さが前記領域高さより高いか否かを判断する第４判断処理と、前記シンボル高さが前記領域高さより高いと前記第４判断処理で判断したことに応じて、当該第２シンボル列画像が前記領域高さ以下になるように、当該第２シンボル列画像を縦横比を固定して縮小する第２縮小処理とを前記携帯端末に実行させる。
【００１９】
上記構成によれば、第２シンボル列画像が第２方向に広がりすぎるのを抑制できる。
【００２０】
(8)  好ましくは、該プログラムは、前記シンボル列の配列方向の仮の変更を指示する第２指示操作を前記受付処理で受け付けたことに応じて、前記対象シンボル列を構成する各シンボルを前記第１方向に配列した対象シンボル列画像と、連続する前記非対象シンボルを前記第２方向に配列した非対象シンボル列画像とを前記表示部に表示させる第３表示処理と、前記対象シンボル列画像を通じた第１編集操作を前記受付処理で受け付けたことに応じて、当該対象シンボル列画像に対応する前記対象シンボル列を、前記第１編集操作に従って編集する第１編集処理と、前記非対象シンボル列画像を通じた第２編集操作を前記受付処理で受け付けたことに応じて、当該非対象シンボル列画像に対応する前記非対象シンボルを、前記第２編集操作に従って編集する第２編集処理と、前記第１指示操作を前記受付処理で受け付けたことに応じて、前記第１編集処理で編集された前記対象シンボル列、及び前記第２編集処理で編集された前記非対象シンボルを用いた前記第２表示処理とを前記携帯端末に実行させる。
【００２１】
上記構成によれば、第２シンボル列画像と同じ方向に配列されたシンボル列を確認しながら、各シンボル列を編集することができる。その結果、ユーザが所望する結果を容易に得ることができる。
【００２２】
(9)  好ましくは、該プログラムは、前記第２表示処理において、前記対象シンボル列及び前記非対象シンボルをセンタ配置した前記第２シンボル列画像を前記表示部に表示させる。前記センタ配置とは、前記対象シンボル列及び前記非対象シンボルそれぞれの前記第１方向の中心位置を前記第２方向に延びる仮想線上に配置することである。
【００２３】
上記構成によれば、シンボル列全体の意味内容が分かり易くなる。
【００２４】
(10)  一例として、該プログラムは、複数の第１入力操作を前記受付処理で受け付けた場合の前記特定処理において、複数の前記第１入力操作によって入力されたシンボル列に含まれるシンボルと、予め定められた特定シンボルとを比較し、前記シンボル列のうちの必要条件を満たし且つ排除条件を満たさない部分を前記対象シンボル列として特定する。前記第１入力操作は、前記シンボル列を構成する各シンボルを１つずつ入力する前記入力操作である。前記必要条件は、前記特定シンボルのみを含むことである。前記排除条件は、前記特定シンボルが予め定められた組み合わせで連続することである。
【００２５】
(11)  他の例として、該プログラムは、第２入力操作を前記受付処理で受け付けた場合の前記特定処理において、前記第２入力操作によって入力された複数のシンボルに含まれるシンボルと、予め定められた特定シンボルとを比較し、当該複数のシンボルが必要条件を満たし且つ排除条件を満たさないことに応じて、当該複数のシンボルを前記対象シンボル列として特定する。前記第２入力操作は、前記シンボル列の一部を構成する複数のシンボルを一括して入力する前記入力操作である。前記必要条件は、連続する複数の前記特定シンボルを含むことである。前記排除条件は、前記特定シンボルが予め定められた組み合わせで連続することである。
【００２６】
但し、対象シンボル列の特定方法はこれに限定されず、例えば、操作部を通じてユーザに対象シンボル列を指定させてもよいし、携帯端末或いはインターネット上のサーバに記憶された対象シンボル列のリストと比較してもよい。
【００２７】
(12)  例えば、該プログラムは、複数のテンプレート画像のうちの１つを指定する指定操作を前記受付処理で受け付ける。前記テンプレート画像は、前記第２シンボル列画像を配置可能なシンボル領域を含む。該プログラムは、前記第２表示処理において、前記指定操作で指定された前記テンプレート画像と、前記シンボル領域に配置された前記第２シンボル列画像とを、前記表示部に表示させる。
【００２８】
(13)  例えば、前記携帯端末は、通信部を備える。前記通信部は、シートに画像を記録する画像記録装置と電気的に接続されている。該プログラムは、前記テンプレート画像のシートへの記録を指示する第３指示操作を前記受付処理で受け付けたことに応じて、前記通信部を通じて前記画像記録装置に記録指示情報を送信する記録指示処理を前記携帯端末に実行させる。前記記録指示処理は、前記第２シンボル列画像が前記シンボル領域に配置された前記テンプレート画像をシートに記録することを指示するための情報である。
【００２９】
(14)  本明細書に記載の携帯端末は、表示部と、操作部と、制御部とを備える。前記制御部は、前記操作部を通じてユーザ操作を受け付ける受付処理と、シンボル列を入力する入力操作を前記受付処理で受け付けたことに応じて、当該シンボル列を構成する各シンボルを第１方向に配列した第１シンボル列画像を前記表示部に表示させる第１表示処理とを実行する。前記第１方向は、前記シンボル列に含まれる各シンボルの上下方向と交差する方向である。前記制御部は、前記シンボル列に含まれる対象シンボル列を特定する特定処理を実行する。前記対象シンボル列は、複数のシンボルが所定の組み合わせで前記第１方向に配列されることによって、所定の意味を表すものである。前記制御部は、前記シンボル列の配列方向の変換を指示する第１指示操作を前記受付処理で受け付けたことに応じて、第２シンボル列画像を前記表示部に表示させる第２表示処理を実行する。前記第２シンボル列画像は、前記シンボル列内において隣接する２つの非対象シンボルが、当該シンボル列内における前後関係を維持したまま第２方向に配列される。前記非対象シンボルは、前記対象シンボル列に含まれない前記シンボルである。前記第２方向は、前記シンボル列に含まれる各シンボルの上下方向に沿う方向である。また、第２シンボル列画像は、前記シンボル列内において隣接する前記非対象シンボル及び前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ前記対象シンボル列を構成する複数のシンボルが前記第１方向に配列され、前記シンボル列内において隣接する２つの前記対象シンボル列が、当該シンボル列内における前後関係を維持したまま前記第２方向に配列され、且つ２つの前記対象シンボル列それぞれを構成する複数のシンボルが前記第１方向に配列された画像である。
【発明の効果】
【００３０】
本発明によれば、入力されたシンボル列が全体としては縦書きに変換されるものの、横書きされる対象シンボル列の意味が失われるのを抑制することができる。
【図面の簡単な説明】
【００３１】
【図１】図１は、実施形態に係る記録システム１００のブロック図である。
【図２】図２は、データ記憶領域６２Ｂに記憶された情報の一例であって、（Ａ）は対応するシンボル列データ及び対象シンボル列位置情報を、（Ｂ）は対応するテンプレート画像データ及びシンボル領域情報を示す。
【図３】図３は、画像記録処理のフローチャートである。
【図４】図４は、シンボル列編集処理のフローチャートである。
【図５】図５は、（Ａ）が特定処理１のフローチャートであり、（Ｂ）が特定処理２のフローチャートである。
【図６】図６は、シンボル画像生成処理のフローチャートである。
【図７】図７は、幅調整処理のフローチャートである。
【図８】図８は、表示部５３の表示例であって、（Ａ）はテンプレート選択画面を、（Ｂ）はテンプレート編集画面を示す。
【図９】図９は、シンボル列編集画面の表示例であって、（Ａ）は逐次入力された状態を、（Ｂ）は一括入力された状態を示す。
【図１０】図１０は、表示部５３の表示例であって、（Ａ）はプレビュー画面を、（Ｂ）はテンプレート編集画面を示す。
【発明を実施するための形態】
【００３２】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。また、図８〜図１０に示される画面例は概略図であって、明細書中の大きさの説明と厳密に一致していない場合がある。
【００３３】
図１は、本実施形態における記録システム１００のブロック図である。図１に示される記録システム１００は、複合機１０と、携帯端末５０とで構成されている。複合機１０及び携帯端末５０は、通信ネットワーク１０２を介して相互に通信可能に構成されている。通信ネットワーク１０２の具体例は特に限定されないが、例えば、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略）、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００３４】
［複合機１０］
複合機１０は、図１に示されるように、プリンタ部１１と、スキャナ部１２と、表示部２３と、操作部２４と、通信部２５と、ＣＰＵ３１と、記憶部３２と、通信バス３３とを主に備える。複合機１０を構成する各構成要素は、通信バス３３を介して相互に接続されている。複合機１０は、画像記録装置の一例である。
【００３５】
［プリンタ部１１、スキャナ部１２］
プリンタ部１１は、画像データで示される画像をシートの一例である記録用紙に記録する記録処理を実行する。プリンタ部１１の記録方式として、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部１２は、記録用紙に記録されている画像を読み取って画像データを生成するスキャン処理を実行する。複合機１０は、ＦＡＸの送受信を行うＦＡＸ機能、記録用紙に記録された画像を読み取って他の記録用紙に記録するコピー機能等をさらに有してもよい。または、複合機１０に代えて、記録処理のみを実行可能な単能機であってもよい。
【００３６】
［表示部２３］
表示部２３は、各種情報を表示する表示画面を備える。表示部２３としては、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略）、有機ＥＬディスプレイ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略）等を採用することができる。
【００３７】
［操作部２４］
操作部２４は、表示部２３の表示画面に表示されたオブジェクトを選択するユーザの操作を受け付ける。具体的には、操作部２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、操作部２４は、表示部２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部２３がタッチパネルディスプレイとして構成されてもよい。
【００３８】
なお、「オブジェクト」とは、ユーザが操作部２４を操作することによって選択可能な画像を指す。一例として、オブジェクトは表示部２３に表示された文字列であって、操作部２４の方向キーを押下することによってオブジェクトの１つがハイライト表示され、操作部２４の決定ボタンを押下することによってハイライト表示されたオブジェクトが選択されてもよい。他の例として、操作部２４がタッチパネルである場合のオブジェクトは表示部２３に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
【００３９】
タッチパネルとして実現される操作部２４は、表示部２３の表示画面をタッチするユーザ操作を受け付ける。また、操作部２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。位置情報は、例えば、表示画面の左上端を原点とし、右向きをｘ軸の正の向き、下向きをｙ軸の正の向きとしたｘ−ｙ平面上の座標（ｘ，ｙ）として表現できる。タッチセンサには、静電容量方式、抵抗膜方式等の周知の方式を採用することができる。
【００４０】
なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。すなわち、タッチした入力媒体を所定時間内に表示画面から離間させるタップ操作、タッチした入力媒体を表示画面上で静止させるロングタッチ操作、タッチした入力媒体を表示画面上でスライドさせるスライド操作、表示画面上をスライドする入力媒体の加速度が閾値以上であるフリック操作、表示画面上の異なる位置にタッチした２つの入力媒体を互いに近づける向きにスライドさせるピンチイン操作、表示画面上の異なる位置にタッチした２つの入力媒体を互いに離れる向きにスライドさせるピンチアウト操作等は、タッチの一例である。
【００４１】
また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。以下、表示部２３に表示されたアイコンの位置のタップを、当該アイコンを選択するユーザ操作の一例として説明する。
【００４２】
［通信部２５］
通信部２５は、通信ネットワーク１０２を通じて外部装置と通信を行うためのインタフェースである。すなわち、複合機１０は、通信部２５を通じて携帯端末５０に各種情報を出力し、通信部２５を通じて携帯端末５０から各種データ又は各種情報を受信する。通信部２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅの登録商標）を採用することができる。
【００４３】
［ＣＰＵ３１］
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）３１は、複合機１０の全体動作を制御するものである。ＣＰＵ３１は、操作部２４から出力される各種情報、及び通信部２５を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムを記憶部３２から取得して実行する。すなわち、ＣＰＵ３１及び記憶部３２は、制御部の一例を構成する。
【００４４】
［記憶部３２］
記憶部３２は、プログラム記憶領域３２Ａと、データ記憶領域３２Ｂとを有する。プログラム記憶領域３２Ａには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略）３４と、制御プログラム３５とが格納される。なお、制御プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域３２Ｂには、制御プログラム３５の実行に必要なデータ或いは情報が記憶される。
【００４５】
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【００４６】
また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２“というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０“というバイナリ形式の情報として保持されてもよい。
【００４７】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【００４８】
記憶部３２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略）、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００４９】
なお、記憶部３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００５０】
本明細書中のプログラムは、ＣＰＵ３１によって実行される。しかしながら、本明細書では、ＣＰＵ３１を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＡが処理Ａを実行する」という趣旨の記述は、「ＣＰＵ３１がプログラムＡに記述された処理Ａを実行する」ことを指してもよい。後述する携帯端末５０についても同様である。
【００５１】
また、本明細書中のプログラムは、事象を判断し、判断結果に応じて動作する。しかしながら、本明細書では、判断することを省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「制御プログラムが条件Ａに応じて、処理Ａを実行する」という趣旨の記述は、「制御プログラムは条件Ａであるか否かを判断する。制御プログラムは、肯定判断であることに応じて、処理Ａを実行する」ことを指してもよい。
【００５２】
また、本明細書中のプログラムは、データ等を特定し、抽出し、或いは選択する。プログラムがデータ等を特定するとは、例えば、複数のデータ等のうちから条件に合致するデータを特定し、当該データ等そのもの或いは当該データ等を識別する情報を、予め定められた記憶領域に記憶させる処理を指す。データ等を識別する情報とは、例えば、当該データ等を識別する識別情報、当該データ等が記憶された配列のインデックス、当該データ等が記憶された記憶領域のポインタ等である。プログラムがデータ等を抽出し、或いは選択する処理も同様である。
【００５３】
また、本明細書中のプログラムは、データ等を取得する。プログラムがデータ等を取得するとは、例えば、データが記憶された記憶領域からデータを読み出す処理を指してもよい。プログラムがデータ等を取得するとは、例えば、外部装置から送信されたデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、外部データにデータの返信を要求し、外部装置から返信されたデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、ＯＳなどの他のプログラムが出力したデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、他のプログラムにデータの出力を要求し、他のプログラムから出力されたデータを受信する処理を指してもよい。
【００５４】
ＯＳ３４は、複合機１０を構成するハードウェアであるプリンタ部１１、スキャナ部１２、表示部２３、操作部２４、及び通信部２５等を制御するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略）を提供する基本プログラムである。すなわち、上記の各プログラムは、ＯＳ３４が提供するＡＰＩを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、ＯＳ３４を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記述は、「プログラムＢがＯＳ３４のＡＰＩを通じてハードウェアＣを制御する」ことを指してもよい。後述する携帯端末５０についても同様である。
【００５５】
［携帯端末５０］
携帯端末５０は、図１に示されるように、表示部５３と、操作部５４と、通信部５５と、ＣＰＵ６１と、記憶部６２と、通信バス６３とを主に備える。携帯端末５０に含まれる表示部５３、操作部５４、通信部５５、ＣＰＵ６１、記憶部６２、及び通信バス６３は、複合機１０に含まれる表示部２３、操作部２４、通信部２５、ＣＰＵ３１、記憶部３２、及び通信バス３３と共通するので、再度の説明は省略する。ＣＰＵ６１及び記憶部６２は、制御部の一例である。携帯端末５０の具体例は、例えば、スマートフォン、携帯電話、タブレット端末等である。
【００５６】
記憶部６２のプログラム記憶領域６２Ａには、ＯＳ６４と、制御プログラム６５とが格納されている。ＯＳ６４は、例えば、Ａｎｄｒｏｉｄ（Ｇｏｏｇｌｅ  ｉｎｃ．の登録商標）  ＯＳ、ｉＯＳ（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．の登録商標）、Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標）  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ等であってもよい。
【００５７】
記憶部６２のデータ記憶領域６２Ｂは、図２（Ａ）に示されるように、シンボル列データと、シンボル列データに対応付けられた対象シンボル列位置情報とを記憶することができる。シンボル列データは、後述するステップＳ２２で入力を受け付けたシンボル列を示す。シンボル列は、対象シンボル列と、非対象シンボルとで構成される。対象シンボル列は、後述する特定処理（Ｓ２５、Ｓ２６）によって特定される。非対象シンボルとは、シンボル列のうちの対象シンボルと異なるシンボルである。対象シンボル列位置情報は、対応するシンボル列に含まれる対象シンボル列の位置を示す情報である。対象シンボル列位置情報は、開始位置と、シンボル数とを含む。
【００５８】
開始位置は、シンボル列の先頭から数えて何シンボル目から対象シンボル列が始まるかを示す。シンボル数は、対象シンボル列に含まれるシンボルの数を示す。すなわち、図２（Ａ）の１行目の対象シンボル列位置情報は、対応するシンボル列“今年もよろしく（＾＿＾）”の先頭から数えて８シンボル目から１２シンボル目までの“（＾＿＾）”が対象シンボル列であることを示す。また、図２（Ａ）の２行目の対象シンボル列位置情報は、対応するシンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”の全てが対象シンボル列であることを示す。なお、本実施形態では、全角シンボル及び半角シンボルを区別せずにシンボル数をカウントする例を説明するが、全角シンボルが半角シンボル２個分に相当するとして、シンボル数をカウントしてもよい。
【００５９】
なお、シンボル列は、複数の対象シンボル列を含むことができる。この場合、当該シンボル列を示すシンボル列データには、複数の対象シンボル列位置情報が対応付けられる。より詳細には、シンボル列に含まれる対象シンボル列の数と同数の対象シンボル列位置情報が、当該シンボル列を示すシンボル列データに対応付けられる。一方、シンボル列は、対象シンボル列を含まない場合もある。この場合、当該シンボル列を示すシンボル列データには、対象シンボル列位置情報が対応付けられない。
【００６０】
対象シンボル列とは、複数のシンボルを所定の順序で配列したものである。対象シンボル列は、横書きされたときに、当該対象シンボル列を見た者に所定の意味を感じさせる。換言すれば、横書きされた対象シンボル列は、所定の意味を表す。但し、対象シンボル列によって表される意味は、当該対象シンボル列を作成したユーザの主観的なものであってよい。一方、対象シンボル列は、縦書きされたときに、当該対象シンボル列を見た者に前述の所定の意味を感じさせない。換言すれば、縦書きされた対象シンボル列は、所定の意味を表さない。対象シンボル列は、例えば、顔文字、フェイスマーク、エモティコン等と呼ばれるものである。
【００６１】
なお、「横書き」とは、例えば、シンボル列を構成する複数のシンボルを、各シンボルの上下方向と直交する第１方向に配列した状態を指す。但し、シンボルの上下方向と第１方向とは厳密に直交している必要はなく、両者は交差していればよい。また、「縦書き」とは、例えば、シンボル列を構成する複数のシンボルを、各シンボルの上下方向に一致する第２方向に配列した状態を指す。但し、シンボルの上下方向と第２方向とは厳密に一致している必要はなく、第２方向がシンボルの上下方向に沿っていればよい。左右方向は第１方向の一例であり、上下方向は第２方向の一例である。さらに、「シンボルの上下方向」とは、割り当てられた意味が最も自然に表されるように配置されたシンボルの天地の方向を指す。
【００６２】
また、データ記憶領域６２Ｂは、図２（Ｂ）に示されるように、テンプレート画像データと、テンプレート画像データに対応付けられたシンボル領域情報とを記憶している。テンプレート画像データは、例えば、葉書の通信面に記録されるテンプレート画像を示す。シンボル領域情報は、対応するテンプレート画像データで示されるテンプレート画像上に配置されたシンボル領域を示す情報である。なお、テンプレート画像には、複数のシンボル領域が設定されていてもよいし、シンボル領域が設定されていなくてもよい。なお、携帯端末５０は、テンプレート画像データ及びシンボル領域情報を、インターネット上のサーバから通信部５５を通じて受信してもよい。
【００６３】
シンボル領域は、例えば、テンプレート画像に含まれる長方形の領域である。そして、シンボル領域情報は、例えば、テンプレート画像の左上端から、シンボル領域の上端位置“Ｔｏｐ”、下端位置“Ｂｏｔｔｏｍ”、左端位置“Ｌｅｆｔ”、及び右端位置“Ｒｉｇｈｔ”までのピクセル数を示す。但し、シンボル領域の形状は長方形に限定されず、円形、楕円形、三角形、台形、平行四辺形、正方形等であってもよい。また、シンボル領域の特定方法も前述の例に限定されない。
【００６４】
シンボル領域には、シンボル列画像を配置することができる。シンボル列画像は、操作部５４を通じてユーザが入力したシンボル列を示す画像である。シンボル領域に配置されるシンボル列画像は、第２シンボル列画像の一例である。本実施形態において、葉書に記録される画像は、背景画像であるテンプレート画像のシンボル領域に、前景画像であるシンボル列画像が合成されたものである。
【００６５】
さらに図示は省略するが、データ記憶領域６２Ｂには、シンボル列を一時的に記憶する領域（以下、「クリップボード」と表記する。）が確保されている。クリップボードは、所謂「コピー＆ペースト」及び「カット＆ペースト」等に使用される。制御プログラム６５は、表示部５３に表示されたシンボル列をコピー或いはカットするユーザ操作を、操作部５４を通じて受け付けたことに応じて、当該シンボル列をクリップボードに記憶させることができる。また、クリップボードには、１つのシンボル列のみを記憶することができる。すなわち、制御プログラム６５は、クリップボードに新たなシンボル列を記憶させる場合に、既に記憶されているシンボル列を新たなシンボル列で上書きする。
【００６６】
［記録システム１００の動作］
次に、図３〜図１０を参照して、本実施形態に係る記録システム１００の動作を説明する。記録システム１００は、ユーザ操作に基づいて携帯端末５０が画像データを生成し、当該画像データで示される画像を複合機１０が記録用紙に記録する処理を実行する。
【００６７】
まず、携帯端末５０の制御プログラム６５は、テンプレート選択画面を表示部５３に表示させる（Ｓ１１）。図８（Ａ）は、テンプレート選択画面の一例である。図８（Ａ）に示されるテンプレート選択画面は、複数のテンプレートアイコン１２１、１２２、１２３、１２４を含む。テンプレートアイコン１２１〜１２４は、図２（Ｂ）に示されるテンプレート画像データに対応する。テンプレートアイコン１２１〜１２４は、対応するテンプレート画像の画像サイズや解像度を削減した、所謂サムネイル画像であってもよい。
【００６８】
次に、制御プログラム６５は、テンプレートアイコン１２１〜１２４の１つの選択を操作部５４を通じて受け付ける（Ｓ１２）。ステップＳ１２の処理は、受付処理の一例である。また、テンプレートアイコン１２１〜１２４の１つの選択は、指定操作の一例である。そして、制御プログラム６５は、テンプレートアイコン１２１〜１２４の１つの選択を操作部５４を通じて受け付けたことに応じて（Ｓ１２：Ｙｅｓ）、当該テンプレートアイコンに対応するテンプレート画像データ及びシンボル領域情報を、データ記憶領域６２Ｂから読み出す。本実施形態では、テンプレートアイコン１２４が選択されたものとして、以下の説明を継続する。
【００６９】
次に、制御プログラム６５は、テンプレート編集画面を表示部５３に表示させる（Ｓ１３）。図８（Ｂ）は、テンプレート編集画面の一例である。図８（Ｂ）に示されるテンプレート編集画面は、テンプレート画像１２５と、シンボル領域アイコン１２６と、［プリント］アイコンとを含む。テンプレート画像１２５は、読み出した画像データＤで示される画像である。シンボル領域アイコン１２６は、テンプレート画像１２５内において、読み出したシンボル領域情報で示されるシンボル領域の位置及び形状を示す長方形の画像である。
【００７０】
次に、制御プログラム６５は、テンプレート編集画面に含まれるアイコンの選択を操作部５４を通じて受け付ける（Ｓ１４）。ステップＳ１４の処理は、受付処理の一例である。そして、制御プログラム６５は、シンボル領域アイコン１２６の選択を操作部５４を通じて受け付けたことに応じて（Ｓ１４：シンボル領域アイコン）、シンボル列編集処理を実行する（Ｓ１５）。シンボル列編集処理は、操作部５４を通じてシンボル列の入力を受け付け、シンボル領域アイコン１２６で示されるシンボル領域に当該シンボル列が適切に配置されるように各シンボルを配列させる処理である。図４を参照して、シンボル列編集処理の詳細を説明する。
【００７１】
まず、制御プログラム６５は、シンボル列編集画面を表示部５３に表示させる（Ｓ２１）。図９（Ａ）は、シンボル列編集画面の一例である。図９（Ａ）に示されるシンボル列編集画面は、操作部５４を通じて入力されたシンボル列が表示させるテキストボックス１２７と、ソフトウェアキーボード１２８と、［プレビュー］アイコンとを含む。なお、シンボル列画像が配置されていないシンボル領域アイコン１２６が選択された場合のシンボル列編集処理において、最初に表示されるシンボル列編集画面のテキストボックス１２７には、何も表示されていない。
【００７２】
次に、制御プログラム６５は、シンボル列編集画面に対するユーザ操作を操作部５４を通じて受け付ける（Ｓ２２）。ステップＳ２２の処理は、受付処理の一例である。また、ステップＳ２２でシンボルを入力する操作は、入力操作の一例である。そして、制御プログラム６５は、シンボルを入力する操作を操作部５４を通じて受け付けたことに応じて（Ｓ２２：入力操作）、当該シンボルを示すシンボル列データをデータ記憶領域６２Ｂに記憶させる（Ｓ２３）。
【００７３】
ユーザは、逐次入力或いは一括入力によってシンボルを入力することができる。逐次入力は、例えば図９（Ａ）に示されるように、ソフトウェアキーボード１２８を通じてシンボルを１つずつ入力することを指す。ソフトウェアキーボード１２８を通じたシンボルの入力方法の具体例は特に限定されないが、例えば、トグル入力方式やフリック入力方式等の周知の方法が採用される。一括入力は、例えば図９（Ｂ）に示されるように、テキストボックス１２７の位置をロングタッチすることによって［ペースト］アイコンを表示させ、［ペースト］アイコンの選択によってクリップボードに記憶された複数のシンボルを一括して入力することを指す。ソフトウェアキーボード１２８の操作は第１入力操作の一例であり、［ペースト］アイコンの選択は第２入力操作の一例である。
【００７４】
次に、制御プログラム６５は、一括入力及び逐次入力のどちらをステップＳ２２で受け付けたかを判断する（Ｓ２４）。そして、制御プログラム６５は、ステップＳ２２で逐次入力を受け付けたと判断したことに応じて（Ｓ２４：Ｎｏ）、逐次入力されたシンボルをテキストボックス１２７に追加表示する（Ｓ２１）。また、制御プログラム６５は、ステップＳ２２で一括入力を受け付けたと判断したことに応じて（Ｓ２４：Ｙｅｓ）、後述する特定処理１を実行すると共に（Ｓ２５）、一括入力されたシンボル列をテキストボックス１２７に追加表示する（Ｓ２１）。そして、制御プログラム６５は、［プレビュー］アイコンの選択を操作部５４を通じて受け付けるまで、ステップＳ２１〜Ｓ２５の処理を繰り返し実行する。
【００７５】
シンボルの入力を受け付けた後のシンボル列編集画面には、図９（Ａ）及び図９（Ｂ）に示されるように、テキストボックス１２７に当該シンボルが横書き表示される。この処理は、第１表示処理の一例である。図９（Ａ）は、逐次入力されたシンボル列“今年も”がテキストボックス１２７に横書きされたシンボル列編集画面を示している。図９（Ｂ）は、逐次入力されたシンボル列“今年もよろしく（＾＿＾）”と、一括入力されたシンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”とがテキストボックス１２７に横書きされたシンボル列編集画面を示している。
【００７６】
また、制御プログラム６５は、改行記号１２９の入力を操作部５４を通じて受け付けることができる。制御プログラム６５は、図９（Ｂ）に示されるように、改行記号１２９が入力された後のシンボル列を、改行記号１２９が入力される前のシンボル列の下の段に表示する。すなわち、制御プログラム６５は、操作部５４を通じて入力されたシンボルを入力順に左から右に配列し、且つ改行記号１２９で区切られた２つのシンボル列を上下方向に配列する。なお、図９（Ｂ）の例では、改行記号１２９がテキストボックス１２７に表示されているが、改行記号１２９は非表示であってもよい。
【００７７】
さらに、制御プログラム６５は、改行記号１２９の前のシンボル列と、改行記号１２９の後のシンボル列とを、別々のシンボル列データとしてデータ記憶領域６２Ｂに記憶させる（Ｓ２３）。すなわち、図９（Ａ）のシンボル列編集画面が表示されているとき、データ記憶領域６２Ｂには、シンボル列データ“今年も”が記憶される。また、図９（Ｂ）のシンボル列編集画面が表示されているとき、データ記憶領域６２Ｂには、図２（Ａ）に示されるように、２つのシンボル列データが別々に記憶される。
【００７８】
すなわち、Ｌ（Ｌは自然数）個の改行記号がステップＳ２２で入力された場合、各々が改行記号で区切られた（Ｌ＋１）個のシンボル列（以下、「部分シンボル列」と表記する。）が生成される。そして、制御プログラム６５は、（Ｌ＋１）個の部分シンボル列“今年もよろしく（＾＿＾）”、“（（（＾ｏ＾）∠※ＰＡＮ！”それぞれに対して、後続の処理を実行する。
【００７９】
次に、図５（Ａ）を参照して、特定処理１の詳細を説明する。特定処理１は、一括入力されたシンボル列（以下、「一括入力シンボル列」と表記する。）に含まれる対象シンボル列を特定する処理である。制御プログラム６５は、一括入力シンボル列が必要条件を満たし且つ排除条件を満たさないことに応じて、当該一括入力シンボル列を対象シンボル列として特定する。
【００８０】
まず、制御プログラム６５は、一括入力シンボル列に連続する特定シンボルが含まれるか否かを判断する（Ｓ３１）。特定シンボルは、例えば、アルファベット、記号である。また、全角日本語文字（例えば、平仮名、片仮名、漢字）が前後に配置されていない“つ”も特定シンボルの一例である。連続する特定シンボルを含む一括入力シンボル列は必要条件を満たし、連続する特定シンボルを含まない一括入力シンボル列は必要条件を満たさない。
【００８１】
次に、制御プログラム６５は、一括入力シンボル列が必要条件を満たすと判断したことに応じて（Ｓ３１：Ｙｅｓ）、一括入力シンボル列に含まれる特定シンボルが予め定められた組み合わせで連続しているか否かを判断する（Ｓ３２）。特定シンボルが予め定められた組み合わせで連続するとは、例えば、特定シンボル“！”、“？”、“，”、“。”、“〜”、“−”のうち、同一種類或いは異なる種類の特定シンボルが連続することである。前述の組み合わせで連続する特定シンボルを含む一括入力シンボル列は排除条件を満たし、前述の組み合わせで連続する特定シンボルを含まない一括入力シンボル列は排除条件を満たさない。
【００８２】
そして、制御プログラム６５は、一括入力シンボル列が排除条件を満たさないと判断したことに応じて（Ｓ３２：Ｎｏ）、当該一括入力シンボル列を対象シンボル列と特定する（Ｓ３３）。すなわち、制御プログラム６５は、一括入力シンボル列を含むシンボル列内において、当該一括入力シンボル列の開始位置及びシンボル数を、シンボル列データと対応付けてデータ記憶領域６２Ｂに記憶させる。一方、制御プログラム６５は、一括入力シンボル列が必要条件を満たさないと判断したことに応じて（Ｓ３１：Ｎｏ）、或いは一括入力シンボル列が排除条件を満たすことに応じて（Ｓ３２：Ｙｅｓ）、当該一括入力シンボル列が対象シンボル列でないと判断し、ステップＳ３３の処理をスキップする。
【００８３】
本実施形態において、制御プログラム６５は、シンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”が一括入力されたことに応じて（Ｓ２４：Ｙｅｓ）、特定処理１を実行する（Ｓ２５）。そして、制御プログラム６５は、当該シンボル列がアルファベット及び記号のみで構成されているので、必要条件を満たすと判断する（Ｓ３１：Ｙｅｓ）。また、制御プログラム６５は、当該シンボル列が所定の組み合わせで連続する特定シンボルを含まないので、排除条件を満たさないと判断する（Ｓ３２：Ｎｏ）。そして、制御プログラム６５は、図２（Ａ）に示されるように、開始位置＝１、シンボル数＝１３を含む対象シンボル列位置情報を、データ記憶領域６２Ｂに記憶させる。
【００８４】
他の例として、シンボル列“(っ´Ｉ`)っ”は、記号と、全角日本語文字が前後に配置されていない“つ”とで構成されているので、必要条件を満たす。また、当該シンボル列は、所定の組み合わせで連続する特定シンボルを含まないので、排除条件を満たさない。他の例として、シンボル列“うん。。。”、“どういうこと？？”は、先に列挙した特定シンボルのうちの同一種類の特定シンボルが連続するので、排除条件を満たす。さらに他の例として、シンボル列“ごめん．．．。”、“えっ！？”は、先に列挙した特定シンボルのうちの異なる種類の特定シンボルが連続するので、排除条件を満たす。
【００８５】
図４に戻って、制御プログラム６５は、シンボル列編集画面に含まれる［プレビュー］アイコンの選択を操作部５４を通じて受け付けたことに応じて（Ｓ２２：［プレビュー］アイコン）、特定処理２を実行する（Ｓ２６）。特定処理２は、逐次入力されたシンボル列（以下、「逐次入力シンボル列」と表記する。）に含まれる対象シンボル列を特定する処理である。制御プログラム６５は、逐次入力シンボル列の一部分が必要条件を満たし且つ排除条件を満たさないことに応じて、当該部分を対象シンボル列として特定する。図５（Ｂ）を参照して、特定処理２の詳細を説明する。
【００８６】
まず、制御プログラム６５は、逐次入力シンボル列に連続する特定シンボルが含まれるか否かを判断する（Ｓ３６）。より詳細には、制御プログラム６５は、逐次入力シンボル列に含まれる各シンボルを左から順に特定シンボルと比較し、特定シンボルを最初に発見した位置から右方向に連続する特定シンボルの数をカウントする。逐次入力シンボル列のうち、特定シンボルが連続する部分は必要条件を満たし、特定シンボルが連続しない部分は必要条件を満たさない。
【００８７】
次に、制御プログラム６５は、逐次入力シンボル列が必要条件を満たす部分（以下、「対象部分」と表記する。）を含むと判断したことに応じて（Ｓ３６：Ｙｅｓ）、当該対象部分に含まれる特定シンボルが予め定められた組み合わせで連続しているか否かを判断する（Ｓ３７）。前述の組み合わせで連続する特定シンボルを含む対象部分は排除条件を満たし、前述の組み合わせで連続する特定シンボルを含まない対象部分は排除条件を満たさない。
【００８８】
そして、制御プログラム６５は、対象部分が排除条件を満たさないと判断したことに応じて（Ｓ３７：Ｎｏ）、当該対象部分を対象シンボル列と特定する（Ｓ３８）。すなわち、制御プログラム６５は、ステップＳ３６で特定シンボルを最初に発見した位置である開始位置と、ステップＳ３６でカウントしたシンボル数とを含む対象シンボル列位置情報を、データ記憶領域６２Ｂに記憶させる。一方、制御プログラム６５は、対象部分が必要条件を満たさないと判断したことに応じて（Ｓ３６：Ｎｏ）、或いは対象部分が排除条件を満たすことに応じて（Ｓ３７：Ｙｅｓ）、当該対象部分が対象シンボル列でないと判断し、ステップＳ３８の処理をスキップする。
【００８９】
制御プログラム６５は、逐次入力シンボル列に含まれる全てのシンボルについて、ステップＳ３６〜Ｓ３８の処理を実行する（Ｓ３９）。特定処理２は、シンボル列編集画面に表示されたシンボル列のうち、一括入力シンボル列を除く全てのシンボルに対して実行される。本実施形態において、制御プログラム６５は、シンボル列“今年もよろしく（＾＿＾）”に対して特定処理２を実行する（Ｓ２６）。そして、制御プログラム６５は、記号のみで構成された対象部分“（＾＿＾）”が必要条件を満たすと判断する（Ｓ３６：Ｙｅｓ）。また、制御プログラム６５は、対象部分が所定の組み合わせで連続する特定シンボルを含まないので、排除条件を満たさないと判断する（Ｓ３７：Ｎｏ）。そして、制御プログラム３６は、図２（Ａ）に示されるように、開始位置＝８、シンボル数＝５を含む対象シンボル列位置情報を、データ記憶領域６２Ｂに記憶させる（Ｓ３８）。
【００９０】
再び図４に戻って、制御プログラム６５は、プレビュー画面を表示部５３に表示させる（Ｓ２７）。また、制御プログラム６５は、プレビュー画面に含まれるアイコンの選択を操作部５４を通じて受け付ける（Ｓ２８）。ステップＳ２７の処理は第３表示処理の一例であり、ステップＳ２８の処理は受付処理の一例である。また、［プレビュー］アイコンの選択は、シンボル列の配列方向の仮の変更を指示する第２指示操作の一例である。
【００９１】
図１０（Ａ）は、プレビュー画面の一例である。図１０（Ａ）に示されるプレビュー画面は、非対象シンボル列アイコン１３０と、対象シンボル列アイコン１３１と、［次へ］アイコンと、［完了］アイコンとを含む。非対象シンボル列画像１３０は、シンボル列“今年もよろしく（＾＿＾）”のうち、連続する非対象シンボル“今年もよろしく”を縦書きした非対象シンボル列画像の一例である。対象シンボル列画像１３１は、シンボル列“今年もよろしく（＾＿＾）”のうち、対象シンボル“（＾＿＾）”を横書きした対象シンボル列画像の一例である。
【００９２】
次に、制御プログラム６５は、非対象シンボル列アイコン１３０の選択を操作部５４を通じて受け付けたことに応じて、非対象シンボル列アイコン１３０に対応する非対象シンボル“今年もよろしく”の編集を受け付ける（Ｓ２８：編集操作）。より詳細には、制御プログラム６５は、ソフトウェアキーボード１２８を表示部５３に表示させ、ソフトウェアキーボード１２８を通じた非対象シンボルの編集を、データ記憶領域６２Ｂのシンボル列データに反映させる。ソフトウェアキーボード１２８の操作は第２編集操作の一例であり、編集内容をデータ記憶領域６２Ｂに記憶させる処理は第２編集処理の一例である。さらに、制御プログラム６５は、編集後の非対象シンボルから生成した非対象シンボル列アイコン１３０を含むプレビュー画面を、表示部５３に再び表示させる（Ｓ２７）。
【００９３】
次に、制御プログラム６５は、対象シンボル列アイコン１３１の選択を操作部５４を通じて受け付けたことに応じて、対象シンボル列アイコン１３１に対応する対象シンボル“（＾＿＾）”の編集を受け付ける（Ｓ２８：編集操作）。より詳細には、制御プログラム６５は、ソフトウェアキーボード１２８を表示部５３に表示させ、ソフトウェアキーボード１２８を通じた対象シンボル列の編集を、データ記憶領域６２Ｂのシンボル列データに反映させる。ソフトウェアキーボード１２８の操作は第１編集操作の一例であり、編集内容をデータ記憶領域６２Ｂに記憶させる処理は第１編集処理の一例である。さらに、制御プログラム６５は、編集後の対象シンボル列から生成した対象シンボル列アイコン１３１を含むプレビュー画面を、表示部５３に再び表示させる（Ｓ２７）。
【００９４】
また、制御プログラム６５は、［次へ］アイコンの選択を操作部５４を通じて受け付けたことに応じて、対象シンボル列データ“今年もよろしく（＾＿＾）”に代えて、対象シンボル列データ“（（（＾ｏ＾）∠※ＰＡＮ！”のプレビュー画面を表示部５３に表示させる。この場合のプレビュー画面は、対象シンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”に対応する対象シンボル列アイコンを含む。さらに、制御プログラム６５は、［完了］アイコンの選択を操作部５４を通じて受け付けたことに応じて（Ｓ２８：［完了］アイコン）、シンボル画像生成処理を実行する（Ｓ２９）。［完了］アイコンの選択は、シンボル列の配列方向の変換を指示する第１指示操作の一例である。
【００９５】
シンボル画像生成処理は、シンボル領域に配置するシンボル列画像を生成する処理である。シンボル領域は、シンボル列を縦書き表示する領域として、テンプレート画像に配置されている。しかしながら、対象シンボル列を縦書きすると、当該シンボル列画像の意味が失われる。そこで、制御プログラム６５は、シンボル列全体を縦書きし、且つ対象シンボル列を横書きしたシンボル列画像を生成する。シンボル列生成処理で生成されるシンボル列画像は、第２シンボル列画像の一例である。図６を参照して、シンボル画像生成処理の詳細を説明する。なお、複数のシンボル列が入力された場合のステップＳ４１〜Ｓ４５の処理は、当該複数のシンボル列それぞれに対して実行される（Ｓ４６）。
【００９６】
まず、制御プログラム６５は、シンボル領域の幅Ｗ１及び領域高さＨを取得する（Ｓ４１）。幅Ｗ１は、シンボル領域の横方向の長さであって、第２シンボル列画像を表示させる領域の最大幅である。制御プログラム６５は、シンボル領域情報のＲｉｇｈｔからＬｅｆｔを減じることによって、幅Ｗ１を取得する。領域高さＨは、シンボル領域の上下方向の長さである。制御プログラム６５は、シンボル領域情報のＢｏｔｔｏｍからＴｏｐを減じることによって、領域高さＨを取得する。
【００９７】
また、制御プログラム６５は、（Ｌ＋１）個の部分シンボル列それぞれを表示させる領域の領域幅Ｗ２を、下記式１を用いて取得する。式１において、Ｌは改行記号の数を示し、Ｇは複数の第２シンボル列画像の横方向の間隔を示す。本実施形態では、Ｌ＝１、間隔Ｇ＝１０ピクセルとし、幅Ｗ１＝１７０ピクセル、高さ７０ピクセル、領域幅Ｗ２＝８０ピクセルが取得される。ステップＳ４１の処理は、第１領域情報取得処理及び第２領域情報取得処理の一例である。
【００９８】
【数１】
0006617448.tif 000002
【００９９】
次に、制御プログラム６５は、幅調整処理を実行する（Ｓ４２）。幅調整処理は、第２シンボル列画像の幅が領域幅Ｗ２に収まるように、対象シンボル列のレイアウト及び対象シンボル列に含まれるシンボルのフォントサイズを調整する処理である。図７を参照して、幅調整処理の詳細を説明する。なお、複数の対象シンボル列が特定された場合のステップＳ５１〜Ｓ５５の処理は、当該複数の特定シンボル列それぞれに対して実行される（Ｓ５６）。
【０１００】
まず、制御プログラム６５は、対象シンボル列が括弧対を含むか否かを判断する（Ｓ５１）。括弧対は、始め括弧記号“（”と、当該始め括弧記号に対応する終わり括弧記号“）”とを含む。本実施形態において、制御プログラム６５は、対象シンボル列“（＾＿＾）”、“（（（＾ｏ＾）∠※ＰＡＮ！”の両方が括弧対を含むと判断する。ステップＳ５１の処理は、第１判断処理の一例である。
【０１０１】
次に、制御プログラム６５は、対象シンボル列が括弧対を含むと判断したことに応じて（Ｓ５１：Ｙｅｓ）、当該対象シンボル列が括弧外シンボル列を含み、且つ当該括弧外シンボル列がＭ（Ｍは自然数）個以上のシンボルを含むか否かを判断する（Ｓ５２）。本実施形態では、Ｍ＝７とする。すなわち、制御プログラム６５は、対象シンボル列“（＾＿＾）”が括弧外シンボル列を含まないと判断（Ｓ５２：Ｎｏ）し、対象シンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”が８個のシンボルで構成される括弧外シンボル列“∠※ＰＡＮ！”を含むと判断する（Ｓ５２：Ｙｅｓ）。ステップＳ５２の処理は、第２判断処理の一例である。
【０１０２】
括弧外シンボル列は、対象シンボル列内において、括弧対の外側に位置するシンボル列である。より詳細には、括弧外シンボル列は、対象シンボル列内において、始め括弧記号より左側、或いは終わり括弧記号より右側に位置するシンボル列である。なお、対象シンボル列が複数の始め括弧或いは複数の終わり括弧を含む場合、括弧外シンボル列は、最も左側の始め括弧及び最も右側の終わり括弧で構成される括弧対の外側に位置するシンボル列である。換言すれば、括弧外シンボル列は、最も外側の始め括弧及び終わり括弧で構成される括弧対の外側に位置するシンボル列である。
【０１０３】
次に、制御プログラム６５は、Ｍ個以上のシンボルで構成される括弧外シンボル列を対象シンボル列が含むことに応じて（Ｓ５２：Ｙｅｓ）、当該対象シンボル列を第１部分及び第２部分に分割する（Ｓ５３）。第１部分は、括弧外シンボル列のうちの括弧対に隣接する（Ｎ−１）個のシンボルより外側の部分である。本実施形態では、自然数Ｎ＝３とする。また、Ｍ≧Ｎである。第２部分は、対象シンボル列のうちの第１部分と異なる部分である。以下、第１部分及び第２部分それぞれを、対象シンボル列として扱うものとする。
【０１０４】
本実施形態において、対象シンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”は、終わり括弧記号に右側に隣接する２個のシンボルよりさらに右側の第１部分“ＰＡＮ！”と、第１部分と異なる第２部分“（（（＾ｏ＾）∠※”とに分割される。また、始め括弧記号の左側にも括弧外シンボル列存在する場合、当該括弧外シンボル列に対しても同様の処理が実行される。ステップＳ５３は分割処理の一例である。
【０１０５】
次に、制御プログラム６５は、対象シンボル列の横方向の幅（以下、「シンボル幅」と表記する。）が領域幅Ｗ２より広いか否かを判断する（Ｓ５４）。なお、ステップＳ５３で対象シンボル列が第１部分と第２部分とに分割された場合、制御プログラム６５は、ステップＳ５４において、第１部分のシンボル幅と領域幅Ｗ２とを比較し、第２部分のシンボル幅と領域幅Ｗ２とを比較するものとする。また、本実施形態におけるシンボルのフォントサイズは、デフォルト値が１０ｐｔであり、変更することができるものとする。また、１０ｐｔは、１０ピクセル四方の正方形に相当するものとする。
【０１０６】
本実施形態では、対象シンボル列“（＾＿＾）”のシンボル幅は５０ピクセルであり、第１部分“ＰＡＮ！”のシンボル幅は４０ピクセルであり、第２部分“（（（＾ｏ＾）∠※”のシンボル幅は９０ピクセルである。すなわち、制御プログラム６５は、対象シンボル列“（＾＿＾）”及び第１部分“ＰＡＮ！”のシンボル幅が領域幅Ｗ２より狭いと判断（Ｓ５４：Ｎｏ）し、第２部分“（（（＾ｏ＾）∠※”のシンボル幅が領域幅Ｗ２より広いと判断する（Ｓ５４：Ｙｅｓ）。ステップＳ５４は、第３判断処理の一例である。
【０１０７】
次に、制御プログラム６５は、シンボル幅が領域幅Ｗ２より広い対象シンボル列を、シンボル幅が領域幅Ｗ２以下となるように、縦横比を固定して縮小する（Ｓ５５）。制御プログラム６５は、例えば、対象シンボル列のフォントサイズを小さくすることによって対象シンボル列を縮小する。本実施形態では、第２部分“（（（＾ｏ＾）∠※”の各シンボルのフォントサイズを１０ｐｔから８ｐｔに変更する。なお、８ｐｔは、８ピクセル四方の正方形に相当する。すなわち、第２部分“（（（＾ｏ＾）∠※”のシンボル幅は、ステップＳ５５において、７２ピクセルとなる。なお、第１部分及び第２部分の一方のシンボル幅が領域幅Ｗ２より広い場合、制御プログラム６５は、当該一方のみを縮小してもよいし、両方を縮小してもよい。すなわち、前述の例では、第１部分“ＰＡＮ！”の各シンボルのフォントサイズをさらに小さくしてもよい。ステップＳ５５の処理は、第１縮小処理の一例である。
【０１０８】
図６に戻って、制御プログラム６５は、第２シンボル列画像を生成する（Ｓ４３）。第２シンボル列画像は、シンボル列を構成する複数のシンボルを所定の規則に従って配列した画像である。より詳細には、シンボル列内において、隣接する２つの非対象シンボル、隣接する非対象シンボル及び対象シンボル列、及び隣接する２つの対象シンボル列は、当該シンボル列内における前後関係を維持したまま上下方向に配列される。なお、「前後関係を維持する」とは、例えば、横書きされた場合に左側に配置されたシンボルが縦書きされた場合に上側に配置され、横書きされた場合に右側に配置されたシンボルが縦書きされた場合に下側に配置されることを指す。一方、対象シンボル列を構成する複数のシンボルは、当該シンボル列内における前後関係を維持したまま横方向に配列される。また、第２シンボル列画像は、対象シンボル列及び非対象シンボルをセンタ配置した画像である。なお、センタ配置とは、対象シンボル列の左右方向の中心位置と、非対象シンボルの左右方向の中心位置とが上下方向に延びる仮想線上に配置されることを指す。
【０１０９】
本実施形態では、図１０（Ｂ）に示されるように、シンボル列“今年もよろしく（＾＿＾）”に含まれる非対象シンボル“今”、“年”、“も”、“よ”、“ろ”、“し”、“く”、及び対象シンボル列“（＾＿＾）”が上下方向に配列され、対象シンボル列に含まれる各シンボル“（”、“＾”、“＿”、“＾”、“）”が左右方向に配列される。また、シンボル列の第２部分“（（（＾ｏ＾）∠※”、及び第１部分“ＰＡＮ！”が上下方向に配列され、第２部分を構成する各シンボル“（”、“（”、“（”、“＾”、“ｏ”、“＾”、“）”、“∠”、“※”が左右方向に配列され、第１部分を構成する各シンボル“Ｐ”、“Ａ”、“Ｎ”、“！”が左右方向に配列される。
【０１１０】
次に、制御プログラム６５は、第２シンボル列画像の上下方向の高さ（以下、「シンボル高さ」と表記する。）が領域高さＨより高いか否かを判断する（Ｓ４４）。本実施形態において、シンボル列“今年もよろしく（＾＿＾）”から生成された第２シンボル列画像は、１０ｐｔのシンボルが上下方向に８個並ぶので、８０ピクセルとなる。また、シンボル列“（（（＾ｏ＾）∠※ＰＡＮ！”から生成された第２シンボル列画像は、８ｐｔのシンボル１個と、１０ｐｔのシンボル１個とが上下方向に並ぶので、１８ピクセルとなる。すなわち、制御プログラム６５は、第２シンボル列画像“今年もよろしく（＾＿＾）”のシンボル高さが領域高さＨより高いと判断し、第２シンボル列画像“（（（＾ｏ＾）∠※ＰＡＮ！”のシンボル高さが領域高さＨより低いと判断する。ステップＳ４４の処理は、第４判断処理の一例である。
【０１１１】
次に、制御プログラム６５は、シンボル高さが領域高さＨより高い第２シンボル列画像を、シンボル高さが領域高さＨ以下となるように、当該第２シンボル列画像の縦横比を固定して縮小する（Ｓ４５）。制御プログラム６５は、例えば、第２シンボル列画像を構成する画素を、所定の間隔で間引けばよい。本実施形態では、第２シンボル列画像“今年もよろしく（＾＿＾）”のシンボル幅及びシンボル高さそれぞれが７／８倍に縮小される。ステップＳ４５の処理は、第２縮小処理の一例である。そして、制御プログラム６５は、縮小した第２シンボル列画像“今年もよろしく（＾＿＾）”と、第２シンボル列画像“（（（＾ｏ＾）∠※ＰＡＮ！”とを、間隔Ｇを空けて左右方向に配置する（Ｓ４７）。すなわち、制御プログラム６５は、各シンボル列に対応する複数の第２シンボル列画像を合成する。
【０１１２】
図３に戻って、制御プログラム６５は、テンプレート編集画面を表示部５３に再び表示させる（Ｓ１３）。シンボル列編集処理を実行した後のテンプレート編集画面は、例えば図１０（Ｂ）に示されるように、合成された第２シンボル列画像１３３がシンボル領域に配置されている点において、図８（Ｂ）に示されるテンプレート編集画面と相違する。すなわち、図１０（Ｂ）に示されるテンプレート編集画面は、シンボル領域に第２シンボル列画像１３３が合成されたテンプレート画像１３２を含む。シンボル列編集処理を実行した後のステップＳ１３の処理は、第２表示処理の一例である。
【０１１３】
なお、制御プログラム６５は、第２シンボル列画像１３３の選択を操作部５４を通じて受け付けたことに応じて、図９（Ｂ）に示されるシンボル列編集画面を表示部５３に再び表示させて、テキストボックス１２７に表示されたシンボル列の編集を受け付けることができる。また、制御プログラム６５は、［プリント］アイコンの選択を操作部５４を通じて受け付けたことに応じて（Ｓ１４：［プリント］アイコン）、通信部５５を通じて複合機１０に記録指示情報を送信する（Ｓ１６）。記録指示処理は、第２シンボル列画像１３３がシンボル領域に配置されたテンプレート画像１３２をシートに記録することを指示するための情報である。記録指示情報は、テンプレート画像１３２を示すテンプレート画像データを含む。ステップＳ１６は、記録指示処理の一例である。
【０１１４】
また、図示は省略するが、複合機１０の制御プログラム３５は、通信部２５を通じて携帯端末５０から記録指示情報を受信する。そして、制御プログラム３５は、記録指示情報に含まれるテンプレート画像データに対する記録処理をプリンタ部１１に実行させる。すなわち、プリンタ部１１は、当該テンプレート画像データで示されるテンプレート画像１３２を記録用紙に記録する。
【０１１５】
［本実施形態の作用効果］
上記の実施形態によれば、左右方向に配列されたシンボル列のうち、隣接する非対象シンボル同士、隣接する非対象シンボル及び対象シンボル列、及び隣接する対象シンボル列同士が前後関係を維持したまま上下方向に配列され、対象シンボル列を構成する複数のシンボルが左右方向に配列される。すなわち、シンボル列は、全体としては縦書きされるものの、対象シンボル列は横書きされたままになる。その結果、対象シンボル列を見た者に当該対象シンボル列が与える印象が損なわれない。すなわち、当該対象シンボル列の意味が失われるのを抑制することができる。
【０１１６】
また、上記の実施形態によれば、多数のシンボルで構成される対象シンボル列を分割することによって、第２シンボル列画像が左右方向に広がりすぎるのを抑制できる。また、括弧対は、対象シンボル列内で顔の輪郭を表すのに用いられることが多い。そして、括弧対で囲まれる部分は、対象シンボル列の意味を最も端的に表す部分である場合が多い。そこで、括弧外シンボル列の位置で対象シンボル列を分割することによって、当該対象シンボル列の意味が失われるのを抑制することができる。
【０１１７】
また、上記の実施形態によれば、対象シンボル列に含まれるシンボルのフォントサイズを小さくすることによって、第２シンボル列画像が左右方向に広がりすぎるのを抑制できる。なお、対象シンボル列のフォントサイズのみを小さくし、非対象シンボルのフォントサイズを小さくしないので、非対象シンボルの視認性の低下が抑制される。同様に、第２シンボル列画像を縮小することによって、第２シンボル列画像が上下方向に広がりすぎるのを抑制できる。なお、ステップＳ４５、Ｓ５５において、対象シンボル列の縦横比を固定することによって、当該対象シンボル列の意味が失われるのを抑制できる。
【０１１８】
なお、上記の実施形態において、ステップＳ４５ではフォントサイズと小さくすることによって、ステップＳ５５では画素を間引くことによって、第２シンボル列画像を縮小する例を説明した。しかしながら、ステップＳ４５、Ｓ５５おける具体的な縮小手法はどちらかに統一されてもよいし、入れ替えられてもよい。
【０１１９】
また、上記の実施形態では、複数の第２シンボル列画像を間隔Ｇを空けて左右方向に並べることによって、隣接する第２シンボル列画像の間隔が詰まりすぎることを抑制できる。その結果、隣接する対象シンボル列同士が近づきすぎて、当該対象シンボル列の意味が分かりにくくなることが抑制される。なお、本実施形態では、ステップＳ４１において、各シンボル列に対応する第２シンボル列画像に同一の領域幅Ｗ２を割り当てた例を説明したが、領域幅Ｗ２の算出方法はこれに限定されない。例えば、各シンボル列に含まれる対象シンボル列の最大シンボル数の比で幅Ｗ１を比例配分してもよい。
【０１２０】
なお、対象シンボル列を特定する方法は、図５の例に限定されない。制御プログラム６５は、例えば、対象シンボル列の一覧を示す対象シンボル列データを有していてもよい。そして、制御プログラム６５は、入力されたシンボル列のうち、対象シンボル列データで示される対象シンボル列と一致する部分を対象シンボル列と特定してもよい。対象シンボル列データは、例えば、データ記憶領域６２Ｂに記憶されていてもよいし、インターネット上のサーバから通信部５５を通じて受信してもよい。
【０１２１】
なお、上記の実施形態の複合機１０及び携帯端末５０において、記憶部３２、６２のプログラム記憶領域３２Ａ、６２Ａに記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路（ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略）とも言う。）等のハードウェアで実現してもよい。
【０１２２】
さらに、本発明は、複合機１０及び携帯端末５０として実現できるだけでなく、複合機１０及び携帯端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０２を介して複合機１０及び携帯端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０２を介して配信されてもよい。
【符号の説明】
【０１２３】
１０・・・複合機
１１・・・プリンタ部
１２・・・スキャナ部
２５，５５・・・通信部
３１，６１・・・ＣＰＵ
３５，６５・・・制御プログラム
５０・・・携帯端末
５３・・・表示部
５４・・・操作部
６２・・・記憶部
【図１】
0006617448.tif 000004
【図２】
0006617448.tif 000005
【図３】
0006617448.tif 000006
【図４】
0006617448.tif 000007
【図５】
0006617448.tif 000008
【図６】
0006617448.tif 000009
【図７】
0006617448.tif 000010
【図８】
0006617448.tif 000011
【図９】
0006617448.tif 000012
【図１０】
0006617448.tif 000013