(57)【要約】 【課題】  従来の発明は、規則的な順序が割り当てられた複数の制御点によって字画を構成して輪郭を表示させ、運筆表現させるものであり、それ以上の表現はできず、他予めメモリーに記憶された文字の画を構成するエレメントを筆順に従って表示させるものや、また文字を表示マトリックスの表示タイミングを制御して表示させるものであり、その表示の仕方は柔軟性に欠けるものであった。【解決手段】  紙などの文書文字列の外郭線をある細かさで点列データとして取り込み、外郭線内部を所望の精度で細かく区切られた正方形升目の集合の文字肉としてプログラムにより取り込み、該升目ごとの表示順を指定し、該升目ごとに表示順に対する画面表示開始時刻を指定して、画面表示することにより文書文字列の運筆表示を行う。【選択図】  図１
2014081784.tif 000002
【特許請求の範囲】
【請求項１】
文書文字列の外郭線の座標値を、該文書文字列を形成する文字の字画ごとの点列データとして取り込む取込手段と、取り込まれた点列データからなる外郭線内部を升目に区切る分割手段と、該分割手段によって分割された前記文書文字列の升目個々の画面表示開始時刻を指定して運筆表示する画面表示手段を有する文書運筆表示ツール。
【請求項２】
前記画面表示手段は、前記文書文字列を文字を識別する文字番号、字画を識別する字画番号、及び２つの行番号と２つの列番号で表される４点からなる升目番号で識別される該升目を特定色に塗りつぶし、且つ該升目ごとに指定される前記画面表示開始時刻により前記文書文字列を表示するようにした調整手段を有する請求項１記載の文書運筆表示ツール。
【請求項３】
前記外郭線内部を升目に区切る分割手段は、前記文書文字列を動的に運筆表示するのに必要十分なまでに外郭線内部を行と列の正方形升目に分割することを特徴とする、請求項１記載の文書運筆表示ツール。
【請求項４】
前記取込手段はタブレット上に配置された前記文書文字列をスタイラスペンにより該文書文字列の外郭線を点列データの集合として、前記文字番号、前記字画番号及び点列を識別する点列番号により外郭線の座標値を取り込んでいくことを特徴とする請求項１記載の文書運筆表示ツール。
【請求項５】
前記調整手段は、前記文書文字列全体の推定運筆表示時間を総升目数で除した時間に升目番号に割り当てられる表示順を乗じた該時間を升目ごとの前記画面表示開始時刻の初期値とし、升目ごとの該画面表示開始時刻を指定できるようにしたことを特徴とする請求項２記載の文書運筆表示ツール。
【請求項６】
前記升目番号に割り当てられる表示順は、個々の升目を特定色に塗りつぶして、画面表示順序を表すことを特徴とする請求項５記載の文書運筆表示ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書文字列を行列からなる正方形升目に区切り、升目ごとの画面表示開始時刻を調整するようにして、推定運筆を忠実に再現できるようにした文書運筆表示ツール。
【０００２】
文書文字列の外郭線内部を、所望の精度で細かく区切られた正方形升目の文字肉としてプログラムにより取り込み、該升目の画面表示開始時刻を一々指定して、書を如何にも名筆書家が書いたかのようなタッチの推定運筆表示を目標とする。
【背景技術】
【０００３】
アウトライン方式のフォントデータのＴＴＦ（Ｔｒｕｅ Ｔｙｐｅ Ｆｏｎｔ）を用いて文字の運筆を表現するもの（特許文献１参照）、文字の画を構成するエレメントが筆順に従って表示される筆順表示装置（特許文献２参照）、文字等の書き順を順次点灯することのできるマトリクス表示装置（ 特許文献３参照）の特許があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７６５５５号広報
【特許文献２】特開平０９―２４４６１６号広報
【特許文献３】特開平０８―２２０９８２号広報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１は規則的な順序が割り当てられた複数の制御点によって字画を構成して輪郭を表示させ、運筆表現させるものであり、それ以上の表現はできず、特許文献２は予めメモリーに記憶された文字の画を構成するエレメントを筆順に従って表示させるものであり、特許文献３は、文字を表示マトリックスによりハード的にマトリックスの表示タイミングを制御して表示させるものであり、その表示の仕方は柔軟性に欠ける。
【課題を解決するための手段】
【０００６】
本発明は、このような従来の問題を解決しようとするもので、文書文字列の外郭線の座標値を、該文書文字列を形成する文字の字画ごとの点列データとして取り込む取込手段と、取り込まれた点列データからなる外郭線内部を升目に区切る分割手段と、該分割手段によって分割された前記文書文字列の升目個々の画面表示開始時刻を指定して運筆表示する画面表示手段を有する文書運筆表示ツールを提供することを目的とするものである。
【０００７】
画面表示手段は、文書文字列の文字を識別する文字番号、字画を識別する字画番号、及び２つの行番号と２つの列番号で表される４点からなる升目番号で識別される升目を特定色に塗りつぶし、且つ升目ごとに指定される画面表示開始時刻により文書文字列を表示するようにした調整手段を有することを特徴とする。
【０００８】
外郭線内部を升目に区切る分割手段は、前記文書文字列を動的に運筆表示するのに必要十分なまでに外郭線内部を行と列の正方形升目に分割することを特徴とする。
【０００９】
取込手段はタブレット上に配置された文書文字列をスタイラスペンにより文書文字列の外郭線を点列データの集合として、文字番号、字画番号及び点列を識別する点列番号により外郭線の座標値を取り込んでいくことを特徴とする。
【００１０】
調整手段は、文書文字列全体の推定運筆表示時間を総升目数で除した時間に升目番号に割り当てられる表示順を乗じた時間を升目ごとの画面表示開始時刻の初期値とし、該画面表示開始時刻を任意に微調整できるようにしたことを特徴とする。
【００１１】
升目番号に割り当てられる表示順は、個々の升目を特定色に塗りつぶして、画面表示順序を表すことを特徴とする。本発明は以上のような構成よりなる。
【発明の効果】
【００１２】
文書文字列の外郭線内部を、所望の精度で細かく区切られた正方形升目の集合の文字肉としてプログラムにより取り込み、該升目ごとの表示順を指定し、該升目ごとに表示順に対する画面表示開始時刻を指定して、画面表示することにより文書文字列に対する運筆表示が可能となる。
【００１３】
即ち、本発明によれば、世の中の名だたる書家の名筆例えば、橘逸勢、空海、宮本武蔵、司馬遷、王羲之、顔真卿などの文書文字列をあたかも当該書家がその場で書いているかのように、臨場感あふれるタッチで推定運筆表示させることができる。
【図面の簡単な説明】
【００１４】
【図１】文書運筆表示ツールの全体構成図である。
【図２】本ツールの全体のフローの説明図である。
【図３】文書文字列「明けましておめでとう」１回目〜３回目の分割の図である。
【図４】文字「お」の右肩「点」の字画を拡大した、１回目の分割の図である。
【図５】文字「お」の右肩「点」の字画を拡大した、２回目の分割の図である。
【図６】文字「お」の右肩「点」の字画を拡大した、３回目の分割の図である。
【図７】点列データ関数Ａの説明図である。
【図８】点列データの例である。
【図９】文字肉の升目分割のアルゴリズムの詳細の説明図である。
【図１０】図９とは異なるタイプの文字字画の升目分割のアルゴリズムの説明図である。
【図１１】比較的複雑な文字字画の例である。図１０関連。
【図１２】表示順指定を説明する画面例である。
【図１３】画面表示開始時刻関数Ｂの説明図である。
【図１４】画面表示開始時刻関数のデータ例である。
【発明を実施するための形態】
【００１５】
運筆表現するために、取り込まれた文書文字列の外郭線内部を、初回の升目分割として例えば、２と入力すると２ｍｍ×２ｍｍの正方形升目で分割され、次第に半分、１／４という具合に入力して、外郭線が運筆表示に十分な細かさになるまで分割を繰り返していく。なお長さの単位については文書文字列を取り込む紙や拓本の大きさ、表示画面の大きさを元に決めるとよい。
【００１６】
このように文書文字列に対する分割は、最初の正方形升目長が操作者により入力された後、プログラムにより升目分割がなされ、升目からなる文字肉が求められて、画面で運筆を確認し、運筆に十分になるまで半分の半分と再分割を繰り返す。
該画面への文書運筆表示ツールは画面表示の大きさを念頭に、外郭線の点列データの個数が決まり、格子の細かさを操作者が次第に細かく指定して決まっていく。
【００１７】
予め紙乃至拓本から取り込んだ文字外郭線の点列データからなる文書文字列を正方形升目に区切り、該升目の集合の文字肉とし、該文字肉をプログラムにより自動的に取り込めるようにした。
【００１８】
本ツールは図１のようにキーボード１１、コンピュータ１２、メモリー１３、マウス１４、画面１５、タブレット１６、スタイラスペン１７からなる。
キーボード１１から、操作者が文字番号、字画番号を入力して、画面１５上で入力を確認して、スタイラスペン１７の操作により、タブレット１６上に配置された文書文字列１８の外郭線の座標値がコンピュータ１２経由でメモリー１３に取り込まれる。マウス１４はコンピュータ１２と赤外線接続されており、升目に対する表示順の指定に用いられる（段落６７〜７６で詳述）。
【００１９】
特に座標読取装置２０において、タブレット１６には座標読み取りのために必要な回路等が組み込まれており、文書文字列１８の外郭線上の所望の点においてスタイラスペン１７を適度の押圧力をもって操作することで、該点の座標値が読み取られる。
符号１０は後で説明する文書文字列１８の外郭線上の前記点の座標値読み取りのための原点である。
【００２０】
本ツールの全体のフローを図２に示すが、図1の全体構成図も参照しながら説明する。
図１に示すスタイラスペン１７の操作により、タブレット１６にセットされた文書文字列１８の外郭線の点列データ取込（Ｓ１）を行う。次に取り込んだ外郭線を図１の画面１５で表示（Ｓ２）してしてみて点列データの数が運筆表示に十分か否かをみる。
【００２１】
次に画面１５で升目分割（Ｓ３）を行い、外郭線内部に存在する升目の集合を文字肉として、文字肉画面表示（Ｓ４）を行ってみる。即ち升目を特定色、例えば黒色に塗りつぶす。このとき、個々の升目に対する画面表示開始時刻（後述）は同一であり、単純には画面表示開始時刻関数の値に０が入り、即ち文書文字列１８の画面表示は一斉に、又は瞬時になされる。
【００２２】
ここで文字としての外郭線が保たれているか判断する。即ち運筆に十分な分割精度（Ｓ５）が得られているかを見るわけである。十分でなかったら必要に応じて文書文字列１８を拡大して、升目分割をさらに細かくする（Ｓ６）。
【００２３】
運筆に十分な分割精度が得られていると判断できたら、即ち文書文字列１８の外郭線が滑らかになるまで分割されたら、全升目について升目番号に対する表示順指定（Ｓ７）を行い、次に表示順、等時間間隔の画面表示（Ｓ８）を行う。次に升目個々の画面表示開始時刻を調整（Ｓ９）して、画面１５で運筆確認（Ｓ１０）し、最適の運筆が得られなかったら（Ｓ１１）表示順指定からやり直して、最適な運筆が得られたら処理の終了となる。
【００２４】
文書文字列１８を文字番号、字画番号、２つの行番号と２つの列番号で表される４点からなる升目番号と表示順により各升目の画面表示開始時刻を指定して運筆表示制御を行うこととする。図３の（Ａ）、（Ｂ）、（Ｃ）ような「明けましておめでとう」という文書文字列１８を例に説明する。
【００２５】
文書文字列１８の文字を識別するために文字番号として、「明」を文字番号＝１、「け」を文字番号＝２などと置くこととする。さらに文字或いは漢字の画数を識別するために字画番号として、図の「明」の文字においては日の左側の縦線が  字画番号＝１、日の上側の横線と右側の縦線で形成される逆Ｌ字が字画番号＝２などと置くこととする。
【００２６】
このように文書文字列１８を文字番号、字画番号単位に制御することにより、運筆調整を柔軟に、自在に行うことが可能となり、名筆の書の筆触・筆尖・筆鋒の転折・脱力・ゆれ・ひねり・減衰などとして動的に画面１５に再現できることになる。
【００２７】
図３の（Ａ）、（Ｂ）、（Ｃ）に示すようにＸ、Ｙ座標値の原点を原点１０とし、この原点を起点に図１の座標読取装置２０による座標値読み取りがなされる。これらの図は（Ａ）から（Ｂ）へ１／２、（Ｂ）から（Ｃ）へさらに１／２格子が細かくなっていっていることを示している。
【００２８】
図４は図３の文書文字列１８の、「お」の右肩「点」字画を抜粋し、拡大したうえでの分割を示しており、正方形升目に分割した図である。図５、図６はそれぞれ、図４の字画を１／２、１／４と分割しており、その後さらに１／ｎ（ｎは２の倍数）と分割を繰り返して、運筆表示できる適切な細かさまで分割していくことになる。
【００２９】
適切な分割精度に分割して、文字の外郭線からはみ出さない升目の集合を文字肉として表し、この文字肉の各升目の画面表示開始時刻を指定して、特定色、例えば黒色に塗りつぶして、あたかも名筆書家がその場で書いているような運筆を表現する。
【００３０】
図４、図５、図６における特に原点について、先に述べたように図３に示した原点１０は不変である。格子点に関連して、左上から下方へ行番号、右方へ列番号を１，２，３，・・・ｎと振ってあるが、原点がこれらの図の直左上にあるのではない。またこれらの図のＸ、Ｙ軸の→、↓もそれぞれの軸を示しているに過ぎず、矢印の交点はいわばローカル原点である。 
【００３１】
段落２５でも一部説明したが、文字の字画の外郭線取込の詳細について説明する。
本ツールでは図７のような点列データ関数Ａが用意されており第１パラメータとして文字番号、第２パラメータとして字画番号、第３パラメータとして点列番号からなり、これらのパラメータで識別されてＸ，Ｙ座標値が点列データとして関数Ａに取り込まれる。
【００３２】
図８は点列データの例である。文字の字画の外郭線の点列データ取込（図２のＳ１）に際しては、操作者が文字番号、字画番号を入力して、点列番号が順々にプログラムにより割り当てられて、外郭線のＸ、Ｙ座標値が取り込まれる。図８の例では点列番号は、文字番号、字画番号ごとの一貫番号としているが、勿論文字番号、字画番号に依存しない一貫番号としてもよい。
【００３３】
このようにして、文字ごと、字画ごとに「・・・おめでとう」と最後の文字にいたるまで適切な細かさで外郭線の点列データが点列データ関数Ａに取り込まれる。適切な細かさとは画面表示の大きさに応じて、例えば表示画面が小さければそれだけ取り込まれる点列データの数は少なくなり粗くなるし、表示画面が大きければそれだけ取り込まれる点列データの数は多くなり密になり、このように文字列外郭線が滑らかに表示できる細かさを意味している。
【００３４】
図８に示すような点列データを全て取り込むと、適宜点列データ関数によって、外郭線を描くことが出来るようになっている。それは文書文字列全体、文字、字画単位に、任意に行える。
【００３５】
外郭線取込が終わると、次に外郭線内部を正方形升目に区切る升目分割となり、そのアルゴリズムの詳細について図９により説明する。
図は同じように、文字「お」の右肩の「点」であり、説明を簡明にするために点列の数を極端に少なくし、分割数も少なくして模式的に表している。
【００３６】
先に図３で示したように原点１０として、図は原図を拡大しているが、いくら拡大しても、また分割をいくら細かくしても常に原点１０は変わらない。
図９でもｘ座標値について左から右方向へ、ｙ座標値について上から下方へ増方向として矢印で示している。
【００３７】
点列データとこれから説明する格子点データをＸ、Ｙ座標値それぞれでソートして、文字の字画内部に存在する格子点を抽出し、これらの格子点４点で構成される字画内部に存在する升目の集合を文字肉とする。この文字肉で文字列の外郭線が運筆表示のための滑らかに表示できる細かさまで分割が行われることになる。
【００３８】
ここで点列データに対する格子点データという観点で、両者を改めて説明しておく。
点列データとは文字外郭線上の点列番号で識別されるＸ、Ｙ座標値であり、格子点データとは格子が交わる点のＸ、Ｙ座標値であり、格子点データの値は常に整数値をとる。
【００３９】
点列データＰ１〜Ｐ５はこの順番に連続する点列であり、字画の外郭線を構成する閉曲線を形成するが、Ｐ１〜Ｐ５を次のように表す。
（ＸＰ１  ＹＰ１），（ＸＰ２  ＹＰ２），（ＸＰ３  ＹＰ３），（ＸＰ４  ＹＰ４），
（ＸＰ５  ＹＰ５）  
これら点列データのうち最小値はＰ１点、即ち（ＸＰ１  ＹＰ１）であるが、最大値はＸＰ３とＹＰ４となっている。
このようにＰｎは点列データの呼びであり、（ＸＰｎ  ＹＰｎ）はその座標値を表している。
【００４０】
次に点列データと格子点データをＸ、Ｙ座標値それぞれでソートすることにするが、文字肉の対象となる格子点は、点列データのＸ、Ｙ座標値の最小値、最大値の間に存在するものだけを対象とすればよい。即ち対象となる格子点は図９の●で示すＰ２３，Ｐ２６，Ｐ５６，Ｐ５３の太線で囲まれる格子点だけを対象とすればよく、それは表1のようになる。
尚Ｐｋ，ｌは格子点の呼びを表し、ｋは行番号、ｌは列番号を表している。
【表１】
2014081784.tif 000003
【００４１】
点列データと上記の文字肉候補として絞られた、格子点データをＸ、Ｙ座標値それぞれでソートすると、それらは表２、表３のようになる。
尚Ｘ座標値のソートはこのように左から右へと座標値が増えるように並べられており、また格子点データについて、同じＸ座標値をとるものを縦方向に並べている。
同様に、Ｙ座標値のソートは上から下へと座標値が増えるように並べられており、格子点データについて、同じＹ座標値をとるものを横方向に並べている。
【表２】
2014081784.tif 000004
【表３】
2014081784.tif 000005
【００４２】
次に図で点列データの内部に存在する格子点を求めて,点列データの内部に存在する升目からなる文字肉を求めることとする。
点列データの内部に存在する格子点を求めるためには、各々の格子点に隣接する点列データ２点を結ぶ上下二直線ではさまれる格子点を求めればよい。
そこで格子点について、Ｘ＝３，４，５，６の時の上述の２直線のＹ座標値を検討していくこととする。
このように便宜上、格子について図の列番号をＸ座標値の目盛、行番号をＹ座標値の目盛、と兼用して説明している。
【００４３】
２点ｍ，ｎを通る直線の式は
ｙ−Ｙｐｎ＝（Ｙｐｍ−Ｙｐｎ）（ｘ−Ｘｐｎ）／（Ｘｐｍ−Ｘｐｎ）
と表せる。従って直線Ｐ１Ｐ２の式は
ｙ−Ｙｐ２＝（Ｙｐ１−Ｙｐ２）（ｘ−Ｘｐ２）／（Ｘｐ１−Ｘｐ２）
となる。
【００４４】
上の直線の式から、そのプログラムロジックはまず直線Ｐ１Ｐ２、直線Ｐ１Ｐ５の直線の式を求め、Ｘ＝３の時のＹ座標値を求めると、（Ｘ２,３  Ｙ２,３）のみが２つの直線にはさまれる格子点であることが分かる。
同様にこれら二直線についてＸ＝４の時のＹ座標値を求めると、（Ｘ２,４  Ｙ２,４）、（Ｘ３,４  Ｙ３,４）が両直線にはさまれる格子点であることが分かる。
【００４５】
次にＸ＝５の格子点について判断することになるがそれには直線Ｐ２Ｐ３、直線Ｐ５Ｐ４の直線の式を求め、Ｘ＝５の時のＹ座標値を求めると、（Ｘ２,５  Ｙ２，５）、（Ｘ３,５  Ｙ３,５）、（Ｘ４,５  Ｙ４,５）が両直線にはさまれる格子点であることが分かる。
さらにＸ＝６の格子点について判断することになるが、直線Ｐ２Ｐ３と直線Ｐ３Ｐ４の直線の式を求め、Ｘ＝６の時のＹ座標値を求めると、（Ｘ３,６  Ｙ３,６）、  （Ｘ４,６  Ｙ４,６）が両直線にはさまれる格子点であることが分かる。
【００４６】
以上で点列データの内部に存在する格子点、即ち文字肉判断が終了する。即ちＰ２，３  Ｐ２，４  Ｐ２，５  Ｐ３，４  Ｐ３，５  Ｐ３，６  Ｐ４，５  Ｐ４，６  の格子点が残ることになる。これらの格子点のうち、Ｐ２，４  Ｐ３，４  Ｐ２，５  Ｐ３，５  とＰ３，５  Ｐ４，５  Ｐ３，６  Ｐ４，６  で構成される２個の升目が文字肉として構成されることになる。唯一格子点Ｐ２，３  は格子点Ｐ３，３  が除外されており、升目を構成しえないので文字肉を構成する格子点とは成り得ず、最後に除外されることになる。以上のように当分割では２個の升目からなる文字肉が生成される。
【００４７】
ところで、図１０のような、例えば「ゝ」などの文字字画に関しては、上述の図９で説明したロジックとは異なってくる。このように同一字画内でＹ座標値が増えるとき、Ｘ座標値が一旦増えた後、次に減っていく、または逆にＸ座標値が一旦減った後、次に増えていく場合のロジックは異なる。
【００４８】
図１０では、このように図９の点列データＰ３とＰ４の間にＰ６、Ｐ７、Ｐ８の３点を追加しており、同様にこれらの点列は閉曲線を形成し、字画の外郭線を構成するが、これら８個の点列データをつぎのように表す。    
（ＸＰ１  ＹＰ１），（ＸＰ２  ＹＰ２），（ＸＰ３  ＹＰ３），（ＸＰ６  ＹＰ６），（ＸＰ７  ＹＰ７），（ＸＰ８  ＹＰ８），（ＸＰ４  ＹＰ４），（ＸＰ５  ＹＰ５）  
これら点列データのうち最小値はＰ１点、即ち（ＸＰ１  ＹＰ１）であり、最大値はＸＰ６とＹＰ７となっている。
【００４９】
次に点列データと格子点データをＸ、Ｙ座標値それぞれでソートする場合、前と同じように考えて、対象となる格子点は図１０の●で示すＰ２，３  Ｐ２，７  Ｐ６，７  Ｐ６，３  の太線で囲まれる格子点だけを対象とすればよく、それは表４のようになる。
【表４】
2014081784.tif 000006
【００５０】
点列データと上記の文字肉候補として絞られた、格子点データをＸ、Ｙ座標値それぞれでソートすると、それらは表５、表６のようになる。ソートの要領は前と同様である。
【表５】
2014081784.tif 000007
【表６】
2014081784.tif 000008
【００５１】
以後、図９の場合と異なる部分についてだけ、即ち追加された点列データに関してのみ説明する。まず文字肉を形成する升目は図９の２個に、格子点Ｐ５，６  Ｐ６，６  Ｐ５，７  Ｐ６，７からなる升目が追加される。そのプログラムロジックは基本的にこれまでの説明で良いが、図のように、同一ｘ座標値（ｘ＝５）線上で、格子点をはさむ２直線対が複数存在する場合は異なってくる。それは図の×印で示す格子点を除外し、○で示す格子点は外郭線内部に存在するという判断のロジックである。
【００５２】
Ｘ＝５の格子点において、直線Ｐ５Ｐ４とＰ８Ｐ４に挟まれる格子点は除外しなければならない。そして直線Ｐ８Ｐ４とＰ８Ｐ７については外郭線内部に存在するという判断をするロジックである。
【００５３】
さらに同様な検討を進めると、図１１のような比較的複雑な文字字画の場合である。このような場合、文字字画の内側にある格子点（○で示す）か、外側にある格子点（×で示す）かの判断は図９により説明した処理とは異なる。
【００５４】
図１１で（Ａ）のように、左上から右下へ降りて来て、やがて左下へ降りていくような場合、或いは同様に右下へ降りて来て、左上へ上がる場合（図示せず）、又は（Ｂ）のように、逆に右上から左下へ降りて来て、やがて右下へ降りていくような場合、或いは同様に左下へ降りて来て右上へ上がる場合（図示せず）などである。
【００５５】
図から分かるように、字画内の格子点を挟む一対の上下の２直線で判断するということになる。（Ａ）においては直線１と直線２の間に格子点があるか否かを判断し、次に直線３と直線４で判断するということになる。直線２と直線３では一対とはならないということである。
（Ｂ）においても同様であり、直線５と直線６、直線７と直線８で判断するということである。直線６と直線７では一対とはならないということである。
それは（Ｃ）のような幾重にも曲がる、字画でも同じであり、格子点を挟む２直線において１番目と２番目、３番目と４番目、５番目と６番目という直線対で判断するということである。２番目と３番目、４番目と５番目は対象の直線対とはならないということである。
尚図１１において直線ｎは格子点の両隣の２つの点列データからなっており、さらにＸ＝５の縦線は、横に引かれた水平線と共に格子点を形成していることを表している。
【００５６】
このようなロジックにより、以後分割をさらに１／２、１／４、１／８・・・と細かく分割して、滑らかな文字の運筆表現ができる、即ち推定運筆に必要な最適な分割の文字肉を求めることができる。
【００５７】
前にも一部説明しているが、図４、５、６は「お」の文字の右肩の字画「点」の分割の様子を示しており、１８個の点列データで文字肉を升目に分割する過程を説明する図である。図９に対して点列データを５点から１８点に増やした上で、分割を１／２、１／４と細かくした図になっている。
【００５８】
その結果即ち、図５は図４の升目をさらに半分に分割し、図６は図５の升目をさらに半分に分割している。図４では文字肉が升目２個で表され、図５では文字肉が升目２０個で表され、図６では升目１１９個で表されている。これまで述べてきた文字肉を求めるプログラムロジックは分割がいくら細かくなっても有効であり、変わらない。
【００５９】
これらの説明は、「お」の文字の右肩の字画「点」に着目して、升目分割して文字肉を求める方法について、本ツールのプログラムがどのようなロジックで作られているかを述べている。一旦運筆に十分な分割精度まで分割がなされると、図３に示すような文書文字列全体に対して、その分割精度まで一気に分割を行うことになる。その時升目の数は数万から数十万、場合によっては百万に達する場合も有り得よう。このように升目数が膨大になって、段落４１或いは５０で説明したＸ、Ｙ座標値それぞれにおけるソートのデータが、文字肉を求める際のプログラムの基礎データとなってくる。
【００６０】
正方形升目からなる文字肉が求まるとこれらの升目にはプログラムにより、升目番号が振られることになる。升目番号は、左から右へ、上から下へと順々に一貫番号で振っていくこととする。文字の一部即ち「お」の文字の右肩の字画「点」の場合、文字肉の正方形升目に図のような升目番号が振られる。
【００６１】
まず図４では２個の升目から文字肉が形成され、升目番号に対し表７のような格子点により構成されている。
【表７】
2014081784.tif 000009
【００６２】
図５は図４に対しさらに細かく、その１／２の升目の大きさに分割しており、２０個の升目から文字肉が形成され、升目番号に対し表８のような格子点により構成されている。
【表８】
2014081784.tif 000010
【００６３】
図６は図５に対しさらに細かく、１／２の升目の大きさに分割して、１１９の升目から文字肉が形成され、升目番号に対し表９のような格子点で構成されているが、ここでは中間の升目番号、即ち４〜１１６とそれに対する格子点を省いており、前後３個の升目についてだけ記述している。
さらに図６では図４、５では図示した升目を形成する、４隅の格子を“ｋ，ｌ“（ｋは行番号、ｌは列番号）のように示していない。
【表９】
2014081784.tif 000011
【００６４】
図６のように図４の升目を細かくして、１／４の正方形升目に分割しても、適切な運筆表示には分割精度として、まだまだ不十分である。しかも図６の分割は「お」の字の右肩の「点」についての分割についての説明であり、文書文字列全体、即ち「明けましておめでとう」について分割したときの升目数は膨大なものになるということは先にも述べた。
【００６５】
しかし一方、運筆表示に十分な点列データの取り込みを行った後、分割がいくら細かくなって、升目数が膨大になっても、先述のプログラムロジックにより、文字肉を機械的に求めることができる。即ち段落５９でも触れたように点列データと格子点データのＸ、Ｙ座標値それぞれのソートのデータが極めて重要となってくる。
【００６６】
運筆表示に十分な数の升目数の文字肉が求まると、即ち分割精度が十分であると判断する（図２のＳ５）と、升目番号に対する表示順指定（同Ｓ７）を行い、次に表示順、等時間間隔の画面表示（同Ｓ８）を行う。そして最後に個々の升目に対する画面表示開始時刻の調整（同Ｓ９）を行うことになる。
【００６７】
個々の升目に対する画面表示順番を示す表示順の振り方について説明する。説明するのに丁度適当な升目数である図６を流用した図１２を使って説明する。
表示順指定(図２のＳ７)作業は、図１の画面１５に図１２のように、プログラムにより個々の升目に振られた升目番号が升目内の右上に表示された状態で始まる。
このように以下の作業は画面１５上でマウス１４を使用して行われ、必用に応じて画面１５に表示される図１２のような図を拡大、縮小して行われる。
升目番号、１の升目内でマウス１４押下により、表示順は１となり、この表示順が升目内の左下に下線付き数字で表示される。
【００６８】
同様に升目番号、２のマウス１４押下により、表示順は２となり、升目番号、１１のマウス１４押下により、表示順は３となる。同じような操作で、升目番号２３，３，１２，２４にはこれらの順番で表示順４〜７が振られる。このように1個ずつ升目を指示して表示順指定を基本とするが、次のような半自動で表示順を連続して指示していく方法が備わっている。
【００６９】
升目番号、４のマウス１４押下により表示順は８となり、次に間を飛ばして升目番号、３７のマウス１４押下により表示順は１１となり、飛ばした、升目番号、１３と２５には、プログラムが判断して、表示順９と１０が入るようになっている。
【００７０】
間を省略して、同様に升目番号、２１のマウス１４押下により表示順は４９となり、間を飛ばして升目番号、８７のマウス１４押下により表示順は５６が入り、飛ばした、升目番号、３３から７９には、プログラムが判断して、表示順５０〜５５が入るようになっている。
【００７１】
尚図１２の升目内の右上Ｐ、左下Ｑ（下線付き）はそれぞれ今説明している升目番号と表示順を表しており、即ち具体的な数値を書かずに省略して表している。
【００７２】
運筆表示に十分な升目の数は前述したように、数万否、百万に達する場合がありえよう。従って升目番号に対する表示順指定には、このような方法以外にも、種々プログラムにより自動的に振られていくような方法が考慮されている。ここで、それらの方法について、これ以上の説明はしない。
【００７３】
以上のようにして、全ての文字、字画について、即ち本発明の例では「あけまして・・・」の文字列に対して、文字番号、字画番号、升目番号、表示順が決定されることになり、文書文字列の画面１５表示のための準備が整ったことになる。
【００７４】
画面１５表示については、図１３に示すような画面表示開始時刻関数Ｂが用意されており、これまでに整った文字番号、字画番号、升目番号、表示順が埋められたことになるわけである。
【００７５】
個々の升目に対し画面表示開始時刻の、升目総数ｉｔ、推定画面表示総時間ｔとしたとき、各升目の画面表示開始時刻はｔ／ｉｔ  ＊  ｉ４（ｉ４は表示順）となり、まず、この画面表示開始時刻を初期値として運筆の様子を見てみることとする。
【００７６】
仮に図３の「あけまして・・・・」文字列全体の升目総数ｉｔを百万（個）、画面表示総時間ｔを１０秒としたとき、画面表示開始時刻は
１０／１，０００，０００  ＊  ｉ４（表示順）＝１０μ秒  ＊  ｉ４
となり、即ち升目１個１個が１０μ秒間隔で、表示順の順序で特定色に塗られて、例えば黒く塗られて画面１５表示がなされていくことになる。即ち表示順、等時間間隔の画面表示(図２のＳ８)が行われることになる。
【００７７】
以上のようにして表示順の確認が終わると、図１３の画面表示開始時刻関数Ｂの値、即ち本ツールが目標とする運筆に近づけるため、升目個々の画面表示開始時刻を調整（図２のＳ９）していくことになる。
【００７８】
図１４は画面表示開始時刻関数Ｂのデータ例である。このように文字の字画ごとに升目の画面表示開始時刻を調整することを基本とするが、後の段落８２で述べる運筆行程の中の例えば起筆・走筆・終筆これらのサブルーチンが用意されており、効率的に画面表示開始時刻を指定できるようになって、便利になっている。
これらサブルーチンの詳細については説明しない。        
【００７９】
文字或いは字画ごとに運筆調整をして確認後、図３の文書文字列１８「あけまして・・・」の最後の分割が終わり、即ち「お」の文字の右肩字画「点」について例えば１／５１２の分割で運筆調整を確認して、他の字画についても運筆調整が完了すると、文書文字列１８「あけまして・・・」全体に対して１／５１２で分割して最終の確認を行うことになる。
【００８０】
最終的に文字列を図１の画面１５に表示してみて、推定運筆表示に合致していることを確認して、表現（出力）の完了となる。このようにして、文字や字画で表示順や画面表示開始時刻を調整することにより名筆の運筆を、動的に詳細に表現できることになる。
【００８１】
２００９年の大仏次郎賞を受賞した、石川九楊氏の『近代書史』の補完的ツールをめざして、画面上に運筆感を再現できたらと、即ち『近代書史』で描かれた言葉による説明に対して、動的に運筆を表現できたらとの思いから本発明に至った。
【００８２】
宇宙物理学者の池内了氏が選評の弁として述べる「 一つの字の起筆・走筆・終筆と続く流れのなかでの筆触・筆尖・筆鋒を転折・脱力・ゆれ・ひねり・減衰などとして詳細に分析するとともに、例えば西田幾多郎の書の特徴を垂直筆、速度感、表現の変化、筆圧感、云々」というような概念を画面上に動的に表現できることになる。      
【００８３】
また文字や字画を升目に分割した、即ち文書文字列外郭線内部が微細な升目に分割され、各升目に対して筆順を指定し、その筆順指定された個々の升目に対し画面表示開始時刻を指定することにより“かすれ”さえ表現できることになる。    
【００８４】
尚升目分割に際して、正方形の升目に分割してと説明してきたが、必ずしも正方形升目である必要はなく、要は方形の升目を半分、さらにその半分と分割を繰り返していけばよい。          
【符号の説明】
【００８５】
１０  原点
１１  キーボード
１２  コンピュータ
１３  メモリー
１４  マウス
１５  画面
１６  タブレット
１７  スタイラスペン
１８  文書文字列
２０  座標読取装置
【図１】
2014081784.tif 000012
【図２】
2014081784.tif 000013
【図３】
2014081784.tif 000014
【図４】
2014081784.tif 000015
【図５】
2014081784.tif 000016
【図６】
2014081784.tif 000017
【図７】
2014081784.tif 000018
【図８】
2014081784.tif 000019
【図９】
2014081784.tif 000020
【図１０】
2014081784.tif 000021
【図１１】
2014081784.tif 000022
【図１２】
2014081784.tif 000023
【図１３】
2014081784.tif 000024
【図１４】
2014081784.tif 000025