(57)【要約】  表示画面上で画面要素を位置決めするための手法を、ここに開示する。画面要素は、数式中の表現を表し、１つまたは複数のグリフを含むことができる。画面要素に最適な位置は、表示画面でサポートされた解像度で画面要素を表示することに関連する位置特性を最適な解像度に基づく位置特性に対して分析することに基づいて判定される。この分析は、実際の解像度の表示要素の表示と、最適な解像度の画面要素の表示との間の変位の程度が所定の閾値レベルを超えるかどうか示す。超えない場合は、画面要素は、表示画面上に表示するために、表示画面解像度に関連する位置特性に基づいて出力される。そうでない場合は、実際の解像度に基づく位置特性は、変位の程度が閾値レベルに一致するように修正される。
2009509196.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上で画面要素を位置決めする方法を実施するためのコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、コンピュータプロセスが、
前記表示画面上に画面要素を表示する要求を受信することに応答して、第１の解像度に基づいて前記表示画面上に前記画面要素を表示するための位置決め特性の第１のセットを判定することと、
第２の解像度に基づいて前記表示画面上に前記画面要素を表示するための位置決め特性の第２のセットを判定することと、
位置決め特性の前記第１のセットと位置決め特性の前記第２のセットの間の変位の程度を判定するために、位置決め特性の前記第１のセットを位置決め特性の前記第２のセットに対して分析することと、
前記変位の程度が所定の閾値を超える場合は、位置決め特性の前記第１のセットを修正することと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項２】
前記分析することに応答して、前記変位の程度が前記所定の閾値を超えない場合は、位置決め特性の前記第１のセットに基づいて前記表示画面上に前記画面要素を表示することをさらに含むことを特徴とする請求項１に記載のコンピュータ読取可能媒体。
【請求項３】
前記修正することに応答して、前記変位の程度が前記所定の閾値を超える場合は、前記修正された位置決め特性の前記第１のセットに基づいて前記表示画面上に前記画面要素を表示することをさらに含むことを特徴とする請求項２に記載のコンピュータ読取可能媒体。
【請求項４】
前記第１の解像度は、前記表示画面の実際の解像度であり、前記第２の解像度は、最適な解像度に関連することを特徴とする請求項１に記載のコンピュータ読取可能媒体。
【請求項５】
位置決め特性の前記第２のセットを前記判定することは、
前記実際の解像度の前記最適解像度に対する比率を判定することと、
前記判定された比に基づいて、前記最適解像度を縮小することによって前記第２の解像度を計算することと
を含むことを特徴とする請求項４に記載のコンピュータ読取可能媒体。
【請求項６】
前記変位の程度は、位置決め特性の前記第１のセットに基づいて前記表示画面に表示される場合の前記画面要素上のある点と、位置決め特性の前記第２のセットに基づいて前記表示画面に表示される場合の前記画面要素上の実質的に共通の点との間に存在するピクセル数を表すことを特徴とする請求項５に記載のコンピュータ読取可能媒体。
【請求項７】
前記所定の閾値は、位置決め特性の前記第１のセットに基づいて前記表示画面に表示される場合の前記画面要素上のある点と、位置決め特性の前記第２のセットに基づいて前記表示画面に表示される場合の前記画面要素上の実質的に共通の点との間に存在する可能性のある最大ピクセル数を表し、前記修正することが、
前記変位の程度によって表される前記ピクセル数が、前記所定の閾値によって表される前記最大ピクセル数と等しくなるように位置決め特性の前記第１のセットを修正することを含むことを特徴とする請求項６に記載のコンピュータ読取可能媒体。
【請求項８】
前記画面要素は数式表現を表すことを特徴とする請求項１に記載のコンピュータ読取可能媒体。
【請求項９】
表示画面上で第１の画面要素を第２の画面要素に対して位置決めする方法を実施するためのコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、コンピュータプロセスが、
前記第１の画面要素を前記第２の画面要素に隣接して表示する要求を受信することに応答して、前記表示画面の実際の解像度に基づいて前記第１の画面要素を前記第２の画面要素に対して表示するために位置決め特性の第１のセットを判定することと、
位置決め特性の前記第１のセットが、前記第１の画面要素が前記第２の画面要素から、少なくとも所定量の空白だけ離れていることを示す場合は、
最適な解像度に基づいて前記第１の画面要素を前記第２の画面要素に対して表示するために位置決め特性の第２のセットを判定することと、
位置決め特性の前記第１のセットから判定された垂直位置と、位置決め特性の前記第２のセットから判定された水平位置とに基づいて前記表示画面上に前記第１の画面要素を表示することと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項１０】
位置決め特性の前記第１のセットが、前記第１の画面要素が前記第２の画面要素から少なくとも前記所定量の空白だけ離れていないことを示す場合は、位置決め特性の前記第１のセットが修正されるべきか判断するために位置決め特性の前記第１のセットを位置決め特性の前記第２のセットに対して評価することをさらに含むことを特徴とする請求項９に記載のコンピュータ読取可能媒体。
【請求項１１】
前記評価することは、
前記最適解像度に基づいて位置決め特性の前記第２のセットを判定することと、
位置決め特性の前記第１のセットと位置決め特性の前記第２のセットの間の変位の程度を判定するために、位置決め特性の前記第１のセットを位置決め特性の前記第２のセットに対して分析することと、
前記変位の程度が所定の閾値を超える場合は、位置決め特性の前記第１のセットを修正することとをさらに含むことを特徴とする請求項１０に記載のコンピュータ読取可能媒体。
【請求項１２】
前記分析することに応答して、前記変位の程度が前記所定の閾値を超えない場合は、位置決め特性の前記第１のセットに基づいて前記表示画面上に前記第１の画面要素を表示することをさらに含むことを特徴とする請求項１１に記載のコンピュータ読取可能媒体。
【請求項１３】
前記修正することに応答して、前記変位の程度が前記所定の閾値を超える場合は、前記修正された位置決め特性の第１のセットに基づいて前記表示画面上に前記第１の画面要素を表示することをさらに含むことを特徴とする請求項１２に記載のコンピュータ読取可能媒体。
【請求項１４】
位置決め特性の前記第２のセットを前記判定することは、
前記実際の解像度の前記最適解像度に対する比率を判定することと、
前記最適解像度に前記判定された比率を掛けることによって定義される縮小された最適な解像度を使用して位置決め特性の前記第２のセットを計算することと
を含むことを特徴とする請求項１１に記載のコンピュータ読取可能媒体。
【請求項１５】
前記変位の程度は、位置決め特性の前記第１のセットに基づいて前記表示画面に表示される場合の前記第１の画面要素上のある点と、位置決め特性の前記第２のセットに基づいて前記表示画面に表示される場合の前記第１の前記画面要素上の実質的に共通の点との間に存在するピクセル数を表すことを特徴とする請求項１４に記載のコンピュータ読取可能媒体。
【請求項１６】
前記所定の閾値は、位置決め特性の前記第１のセットに基づいて前記表示画面に表示される場合の前記第１の画面要素上のある点と、位置決め特性の前記第２のセットに基づいて前記表示画面に表示される場合の前記第１の画面要素上の実質的に共通の点との間に存在する可能性のある最大ピクセル数を表し、前記修正することが、
前記変位の程度によって表される前記ピクセル数が前記所定の閾値によって表される前記最大ピクセル数と等しくなるように、位置決め特性の前記第１のセットを修正することを含むことを特徴とする請求項１５に記載のコンピュータ読取可能媒体。
【請求項１７】
第１の画面要素を、表示画面上に表示される第２の画面要素に対して位置決めする方法を実施するためのコンピュータ実行可能命令を有するコンピュータ読取可能媒体であって、コンピュータプロセスが、
第１の解像度に基づいて前記画面表示上に前記第１の画面要素を前記第２の画面要素に対して表示するための位置決め特性の第１のセットを判定することと、
第２の解像度に基づいて前記画面表示上に前記画面要素を前記第２の画面要素に対して表示するための位置決め特性の第２のセットを判定することと、
位置決め特性の前記第１のセットと位置決め特性の前記第２のセットとの間の前記第１の画面要素について特定される変位の程度を判定するために、位置決め特性の前記第１のセットを位置決め特性の前記第２のセットに対して分析することと、
前記変位の程度が前記所定の閾値を超える場合は、位置決め特性の前記第１のセットに特定された座標を、位置決め特性の前記第２のセットに指定される座標の方にシフトすることによって判定される修正された位置決め特性に基づいて、前記表示画面上に前記第１の画面要素を表示することと
を含むことを特徴とするコンピュータ読取可能媒体。
【請求項１８】
前記分析することに応答して、前記変位の程度が前記所定の閾値を超えない場合は、位置決め特性の前記第１のセットに基づいて前記表示画面上に前記第１の画面要素を表示することをさらに含むことを特徴とする請求項１７に記載のコンピュータ読取可能媒体。
【請求項１９】
前記第２の画面要素は複数のグリフを含むことを特徴とする請求項１８に記載のコンピュータ読取可能媒体。
【請求項２０】
前記第２の画面要素は、数式の基本の指数表現を表し、前記第１の画面要素は、前記第２の画面要素に対する上付き文字を表すことを特徴とする請求項１９に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面要素の位置決めに関する。
【背景技術】
【０００２】
ワードプロセッサ、表計算プログラム、テキストエディタ、電子メールプログラムなどの、従来の「タイプして見る」コンピュータアプリケーションは、典型的に、任意のプリンタによって提供される解像度より非常に低い解像度を有するモニタ上に表示される情報を出力する。よって、プリンタ解像度が一般に「高」解像度と呼ばれるのに対して、モニタ解像度はしばしば、「低」解像度と称される。この低解像度は、従来のモニタの表示画面で提供されことがあるピクセル数の物理的制限によるものである。プラズマベースのモニタおよび液晶ディスプレイなどの新しい技術は、より小さいピクセルを使用し、したがって従来のモニタよりも多くのインチ当たりのピクセルを提供するが、まだ新興途上にあるこれらの技術は、従来のモニタより大幅に高価であるが、中級のレーザプリンタでさえ得られる高解像度をまだ提供していない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
理想的には、これらの新興技術は、プリンタによって提供されるのと実質的に同じ高解像度で情報を表示するように動作することができるようになり、その結果、印刷情報を画面上に重ね合わせることで、提示情報と同じサイズおよび位置決めがもたらされるようになるであろう。このような「最適」解像度を、現在は得ることができないが、アプリケーションの開発者は、読みやすさの低下をもたらすとしても、少なくとも表示画面と印刷文書との間の情報の位置決めの整合性を維持しようと努める。これを達成するために、表示画面に表示する情報のプリンタ位置決めを縮小することが、一般的な方法である。しかし、このような縮小によって、表示された情報が混ざるように見え、それにより、読み手が文字を区別することを妨げることになる。この問題は、指数の要素および分数を使用する場合など、互いに密接に関連する要素を典型的に含む数式の構成では、さらに大きくなる。
【０００４】
本発明は、これらのおよび他の考慮事項に関してなされたものである。
【課題を解決するための手段】
【０００５】
本発明は、一般には、表示画面に関連する解像度制約が与えられる表示画面上に表示される要素の最適位置を判定することに関する。より詳細には、本発明は、このような解像度制限を考慮して、表示画面上に最適に数式の要素の位置決めをすることを伴う。例えば、本発明は、指数の数式表現を形成するために、基本文字を表す画面要素に対する上付き文字を表す画面要素の最適な位置を判定することに適用することができる。
【０００６】
表示画面上に画面要素を表示する命令の受信に応答して、本発明の一実施形態は、表示画面に画面要素を表示するための位置決め特性を判定することを伴う。位置決め特性は、表示画面の実際の解像度での画面要素の画面レイアウトを表す。実際の解像度（ＡＲ：actual resolution）で判定される画面要素の位置決め特性を、最適な解像度（ＯＲ：optimal resolution）に関連する位置決め特性について分析して、画面に表示する画面要素を出力する前にＡＲベースの位置決め特性を修正すべきかどうかを判定する。
【０００７】
一実施形態では、この評価は、ＡＲベースの位置決め特性に基づいて表示画面に表示される場合の画面要素と、ＯＲベースの位置決め特性に基づいて表示画面に表示される場合の画面要素との間の変位の程度を判定することを含む。判定された変位の程度が所定の閾値を超えると、ＡＲベースの位置決め特性は、変位が閾値と実質的に等しくなるように修正され、画面要素は、修正された位置決め特性に基づいて表示画面に表示される。そうでない場合は、画面要素は、元のＡＲベースの位置決め特性に基づいて表示画面に表示される。
【０００８】
別の実施形態によると、本発明は、表示画面上で第２の画面要素に対して第１の画面要素の位置決めをするための方法に関する。第２の画面要素に隣接した第１の画面要素を表示する要求の受信に応答して、この方法は、表示画面の実際の解像度に基づいて、第２の画面要素に対して第１の画面要素を表示するための位置決め特性の第１のセットを判定することを含む。位置決め特性の第１のセットが、第１の画面要素が第２の画面要素から少なくとも所定量の空きスペース量だけ離れていることを示す場合は、この方法は、位置決め特性の第１のセットから判定される垂直位置と、最適な解像度に基づく位置決め特性の第２のセットから判定される水平位置とに基づいて、表示画面上に第１の画面要素を表示することを含む。
【０００９】
本発明の様々な実施形態は、コンピュータプロセス、コンピューティングシステムとして、あるいはコンピュータプログラム製品またはコンピュータ読取可能媒体などの製品として実装することができる。コンピュータプログラム製品は、コンピュータシステムによって読み取り可能でありコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化するコンピュータ記憶媒体とすることができる。コンピュータプログラム製品は、コンピューティングシステムによって読み取り可能でありコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化する搬送波上の伝搬信号とすることもできる。
【００１０】
本発明を特徴付けるこれらおよび様々な他の特徴ならびに利点は、以下の詳細な説明を読み、関連の図面を精査することにより明らかになるであろう。
【発明を実施するための最良の形態】
【００１１】
ここで本発明を、以下で本発明の実施形態を示す添付の図面を参照して、さらに十分に説明することとする。しかし、本発明を、多くの異なる形式で具体化することができ、本明細書で説明される実施形態に限定されるように解釈すべきではなく、むしろ、これらの実施形態は、この開示が詳細かつ完全なものとなり、本発明の範囲を当業者に十分に伝えるものとなるように提供される。同じ番号は、全体を通して同様の要素を指す。
【００１２】
一般に、本発明は、表示画面上に画面要素を互いに対して位置決めすることに関する。一実施形態によると、画面要素は、文字および／または合字の１つまたは複数のイメージ表示（「グリフ」）である。例示的な一実施形態によると、本発明は、表示画面を通して表示されるワード処理文書内の数式中の表現（expression）あるいはサブ表現（sub-expression）を、個々にまたはまとめて表すグリフに関して、本明細書で説明される。例えば、図１は、表示画面１０２を通してユーザに提示されるワード処理文書１０４内の内容として表示されるグリフ１１４〜１４２を有する数式１１２を図示する。これらのグリフのいくつか（例えば、１２２）は、個々に単一の数式表現（「＝」）を表すが、他のグリフ（例えば１２４および１２６）は、まとまって単一の数式表現（例えば「Ｘ2」）を表し、さらに他のグリフ（例えば１４８と１５０）は、まとまって完全な数式表現に対する単一のサブ表現（例えば
【００１３】
【数１】
2009509196.tif 000003
【００１４】
）を表す。
【００１５】
本発明の実施形態を、本発明の例示的な一実施形態にかかる数式１１２の表現およびサブ表現を形成するための、互いに対するグリフ１１４〜１４２の位置決めに関して本明細書で図示する。図１は、グリフ１１４〜１４２が既に位置決めされており、したがって、数式表現およびサブ表現が既に形成された後の時点の数式１１２を図示する。他方で、図３〜７は、本発明の一実施形態に従って、この結果として得られた数式１１２をレンダリングするための、グリフ１１４〜１４２の位置決めに関するプロセス３００を図示する。しかし、これらの図を参照して位置決めプロセス３００についてさらに説明する前に、プロセス３００を実施するための例示的なコンピューティング環境（例えば、コンピューティング装置２００）を図２に示し、下記の段落で説明する。
【００１６】
その最も基本的な構成では、コンピューティング装置２００は、少なくとも１つの処理装置２０２およびメモリ２０４を含む。コンピューティング装置２００の正確な構成およびタイプに応じて、メモリ２０４は、（ＲＡＭなどの）揮発性、（ＲＯＭ、フラッシュメモリなどの）不揮発性、またはその２つの任意の組合せとすることができる。コンピューティング装置２００の最も基本的な構成を、図２では破線２０６で図示する。さらに、コンピューティング装置２００は、追加的な特徴／機能を有することもできる。例えば、コンピューティング装置２００は、限定ではないが磁気または光学のディスクまたはテープを含む、追加的なストレージデバイス（リムーバブルおよび／または非リムーバブル）を含むこともできる。このような追加的なストレージデバイスは、図２では、リムーバブルストレージ２０８および非リムーバブルストレージ２１０によって図示される。
【００１７】
本明細書で用いられているようなコンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含む。メモリ２０４、リムーバブルストレージ２０８および非リムーバブルストレージ２１０はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは所望の情報を格納するのに用いることができかつ装置２００によってアクセスすることができる他の任意の媒体を含むが、これらには限定されない。任意のこのようなコンピュータ記憶媒体は、装置２００の一部とすることができる。
【００１８】
コンピューティング装置２００は、他の装置と通信するための通信接続２１２を包含することもできる。通信接続２１２は、通信媒体の一例である。通信媒体は典型的に、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調データ信号内で具体化し、任意の情報送達媒体を含む。用語「変調データ信号」は、信号内の情報を符号化するようなやり方で設定または変更された１つまたは複数の特性を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。
【００１９】
コンピューティング装置２００は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置２１４を有することもできる。ディスプレイ、スピーカ、プリンタなどの出力装置２１６を含むこともできる。これらの装置は、上記で論じたユーザインターフェース１０４を形成するのを助けることができる。これらのすべての装置は、当技術分野ではよく知られており、ここでは詳細に論じられる必要はない。
【００２０】
コンピューティング装置２００は典型的に、少なくとも、ある形式のコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、処理ユニット２０２によってアクセスすることができる任意の使用可能な媒体とすることができる。限定ではなく例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体および通信媒体を備えることができる。上記の任意の組合せも、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【００２１】
コンピューティング装置２００は、ネットワーク化された環境で、１つまたは複数のリモートコンピュータ（図示せず）への論理接続を用いて動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバコンピュータシステム、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードとすることができ、典型的には、コンピュータ装置２００に関して上述された要素の多くまたはすべてを一般に含む。コンピュータ装置２００とリモートコンピュータとの間の論理接続は、ローカルエリアネットワーク（ＬＡＮ）、および広域ネットワーク（ＷＡＮ）を含むことができるが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的である。
【００２２】
ＬＡＮネットワーキング環境で用いられると、コンピュータ装置２００は、ネットワークインターフェースまたはアダプタを通してＬＡＮに接続される。ＷＡＮネットワーキング環境で用いられると、コンピューティング装置２００は典型的に、モデム、またはインターネットなどのＷＡＮ上で通信を確立するための他の手段を含む。内蔵または外付けとすることができるモデムを、通信接続２１２または他の適切な機構を介してコンピュータプロセッサ２０２に接続することができる。ネットワーク化された環境では、プログラムモジュールまたはその一部を、リモートメモリストレージデバイス内に格納することができる。限定ではなく例として、リモートアプリケーションプログラムは、リモートコンピュータシステムに接続されるメモリ装置に存在することができる。説明されるネットワーク接続は例示であり、コンピュータ間の通信リンクを確立するための他の手段を用いることができることは認識されるであろう。
【００２３】
図２のコンピューティング環境を考慮して位置決めプロセス３００に関連して以下で説明される様々な例示的な実施形態の論理操作は、（１）コンピュータ実装される動作、またはコンピューティングシステム上で実行するプログラムモジュールのシーケンスとして、および／または（２）コンピューティングシステム内の相互接続されたマシン論理回路または回路モジュールとして、実装することができる。この実装は、本発明を実装するコンピューティングシステムの性能要件に応じた選択の問題である。したがって、本明細書で説明される例示的な実施形態の実施形態を構成する論理操作は、操作、構造デバイス、動作、またはモジュールと様々に呼ばれる。これらの操作、構造デバイス、動作、およびモジュールを、本明細書に添付された特許請求の範囲中に列挙された本開示の精神および範囲から逸脱することなく、ソフトウェア、ファームウェア、専用のデジタルロジック、および／またはそれらの任意の組合せで実装することができることを、当業者は理解するであろう。
【００２４】
ここで図３を参照すると、位置決めプロセス３００は、コンピューティング装置２００で実装されるアプリケーションプログラムによって実施される操作の特性を具体化している。例示的なアプリケーションプログラムは、ワード処理アプリケーション、表計算アプリケーション、プレゼンテーションアプリケーション、アプリケーション開発アプリケーション、テキストエディタアプリケーション、電子メールアプリケーション、およびウェブブラウザを含むが、当然これらには限定されない。よって、位置決めプロセス３００は、表示画面（例えば１０２）上で、互いに対する任意のタイプの画面要素の位置決めをするように動作することができる。
【００２５】
例示的な一実施形態によると、位置決めプロセス３００は、数式１１２の表現およびサブ表現を形成して配列するように、互いに対するグリフ（例えば１１４〜１４２）の位置決めをすることによる、図１の数式１１２の構築を示す。説明のため、位置決めプロセス３００について、表示画面１０２上に指数の数式表現「Ｘ2」をレンダリングするために、ある画面要素（すなわち、上付きグリフ１２６（「2」））が別の画面要素（すなわち、基本のグリフ１２４（「Ｘ」））に対して位置決めされている場合の、数式１１２の構築の間のある時点に関して説明する。したがって、位置決めプロセス３００のパフォーマンスを示すために、図３の文章中の用語「画面要素」への言及は、上付きグリフ１２６（「2」）を指しており、この図の文章中の用語「表現」への言及は、完全な表現「Ｘ2」を指している。さらに、図４〜６は、この例示的な図に関して位置決めプロセス３００のパフォーマンスの概念的な図を順次描写しており、したがって、それに関連して説明される。
【００２６】
位置決めプロセス３００の単一の対話だけを以下で説明するが、このプロセス３００は、数式１１２全体の表示を達成するために反復して実施される。位置決めプロセス３００は、それゆえ、様々なグリフ１１４〜１４２の位置決めをして、数式１１２の表現およびサブ表現を形成するように、同時（例えば、同時プロセススレッディング）または順次呼び出される操作のフロー（すなわち、「操作フロー」）を伴う。例えば、以下でより詳細に説明される図８は、本発明の例示的な一実施形態に従って、ネストされた指数表現を形成するために、グリフ１３８に対するグリフ１４０、１４２の位置決め、およびグリフ１４６に対するグリフ１４８、１５０の位置決めに関連する位置決めプロセス３００の再帰的な性質を図示する。
【００２７】
位置決めプロセス３００の操作フローは、開始操作３０２で始まり、終了操作３２０で終了する。開始操作３０２は、数式表現を表示する命令の受信に応答して開始される。したがって、本明細書で提供される例示的な図に関して、そのような命令は、指数表現「Ｘ2」を形成するために、基本のグリフ１２４に隣接して上付きグリフ１２６の位置決めをする要求を伴う。開始操作３０２から、操作フローは、第１の作成操作３０４に移る。
【００２８】
第１の作成操作３０４は、表示画面１０２の実際の解像度を判定し、次いで、判定された実際の解像度で、指数表現「Ｘ2」のピクセル表示（pixelated representation）を作成する。表示画面１０２は、様々な解像度でグリフを表示するように動作することができ、したがって、実際の解像度は、位置決めプロセス３００が実装されるときに応じて変化することがある。よって、本発明の一実施形態は、現在の表示設定を評価することに基づいて現在の実際の解像度を判定することを伴う。
【００２９】
ピクセル表示は、仮想、すなわち実際の解像度で基本のグリフ１２４に隣接して表示されるときの上付きグリフ１２６のメモリ内の表示である。よって、この表示は、位置決めプロセス３００の管理で使用するためのアプリケーションプログラムの内部で維持されるデータ構造として具体化されるが、少なくともこの時点では、表示画面１０２への出力として表示されない。データ構造は、実際の解像度の上付きグリフ１２６および基本のグリフ１２４の位置決め特性（すなわち、画面レイアウト）を識別するデータを含み、より具体的には、表示画面１０２上のピクセルが、指数数式表現「Ｘ2」のイメージを提供するために色付けされることとなる。説明のために、図４は、第１の作成操作３０４によって作成されるピクセル表示１２５に基づいて、表示画面１０２上に基本のグリフ１２４に隣接して表示されるときの上付きグリフ１２６を示す。第１の作成操作３０４から、操作フローは、第２の作成操作３０６に移る。
【００３０】
第２の作成操作３０６は、最適な解像度を判定し、次いで、判定された最適な解像度で指数数式表現「Ｘ2」の表示を作成する。最適解像度表示は、仮想、すなわち表示画面１０２がグリフを最適解像度で表示した場合に基本のグリフ１２４に隣接して表示されるときの上付きグリフ１２６のメモリ内の表示である。したがって、この表示は、位置決めプロセス３００の管理で使用するためのアプリケーションプログラムの内部で維持されるデータ構造として具体化され、表示画面１０２への出力として表示されない。データ構造は、最適解像度での上付きグリフ１２６および基本のグリフ１２４の仮の位置決め特性（すなわち仮の画面レイアウト）を定義する座標を含む。
【００３１】
一実施形態では、最適解像度は、位置決めプロセス３００を管理するアプリケーションプログラムの開発者によって定義される。別の実施形態によると、最適解像度を、コンピューティング装置２００に取り付けられるプリンタに関連する解像度に基づいて定義することができる。最適解像度が判定されて、指数数式表現「Ｘ2」の関連する表示が作成された後、操作フローは、第２の作成操作３０６からスケール操作３０８に移る。
【００３２】
スケール操作３０８は、最適解像度表示を、表示画面１０２に関連する解像度制約に合致するように縮小する。これを達成するために、スケール操作３０８は、解像度係数を、最適解像度で上付きグリフ１２６および基本のグリフ１２４の仮の画面レイアウトを定義する位置決め特性（すなわち、座標）に対して適用する。一実施形態によると、解像度係数は、定義された最適解像度の、表示画面１０２の実際の解像度に対する比率に基づくものである。代替的には、解像度係数を、最適解像度を実際の解像度に関連付ける他の数学的な考察によって定義することができる。
【００３３】
定義されると、解像度係数は、最適像度座標に適用され、それにより、上付きグリフ１２６および基本のグリフ１２４の縮小された最適解像度表示を表す縮小または「切捨てされた」１組の座標をレンダリングする。最適解像度表示と同様に、縮小された最適表示は、位置決めプロセス３００の管理で使用するためのアプリケーションプログラムの内部で維持されるデータ構造で具体化され、表示画面１０２への出力として表示されない。図５は、縮小された最適解像度表示１２７に基づいて、基本のグリフ１２４に隣接して表示画面１０２に表示されるときの上付きグリフ１２６を図示する。スケール操作３０８から、操作フローは、比較操作３１０に移る。
【００３４】
比較操作３１０は、表示画面１０２に表示される場合のこれらの表示（１２５、１２７）間の上付き表示１２６の変位の程度を判定するために、ピクセル表示１２５および縮小された最適解像度表示１２７によって特定される画面レイアウトを分析する。上述したように、両方の表示によって特定される画面レイアウトは、位置決めプロセス３００を管理するアプリケーションプログラムの内部に維持されるデータ構造で具体化される。比較操作３１０は、それゆえ、２つの画面レイアウトの互いに対する位置決めを比較することによって、２つの表示の間の分析をレンダリングする。一実施形態では、比較操作３１０は、両方の画面レイアウト上の上付きグリフ１２６の共通の点（例えば、左下の角）を選択すること、およびその共通の点の間に存在するピクセルの数を測定することを伴う。この実施形態では、比較操作３１０は、図６に示されるように、表示画面１０２上にピクセル表示１２５と縮小された最適解像度表示１２７の両方を一緒に表示することによって論理的に表すことができる分析と、ピクセル表示１２５と縮小された最適解像度表示１２７の間の上付きグリフ１２６の変位を判定することとを伴う。
【００３５】
比較操作３１０で、ピクセル表示１２５上の上付きグリフ１２６と、縮小された最適解像度表示１２７上の上付きグリフ１２６との間の変位の程度を（ピクセルの数で）判定した後、操作フローは、照会操作３１２に移る。照会操作３１２は、比較操作３１０によって判定される変位の程度が、最適な位置決めのために定義される最大ピクセル変位値を超えるかどうか判定する。最大ピクセル変位値は、表示画面１０２上の評価されたグリフの実際の解像度表示と、表示画面１０２上の評価されたグリフの縮小された最適解像度表示との間に存在する可能性がある最大ピクセル数を表す。異なるフォント間で変化する可能性がある最大ピクセル変位値を、アプリケーションプログラムの開発者、またはアプリケーションプログラムのユーザのいずれかによって（例えば、「オプション」ダイアログなどを通してディスプレイプロパティをカスタマイズすることによって）定義することができる。
【００３６】
変位の程度が最大ピクセル変位を超えると、照会操作３１２は、操作フローをシフト操作３１４に渡す。シフト操作３１４は、ピクセル表示１２５上の上付きグリフ１２６を、縮小された最適解像度表示１２７上の上付きグリフ１２６の方にシフトし、その結果、ピクセル表示１２５上の上付きグリフ１２６と縮小された最適解像度表示１２７上の上付きグリフ１２６との間の変位の程度は、最大のピクセル変位値と等しく、「許容された」ピクセル範囲内である。したがって、実際の解像度で上付きグリフ１２６の画面レイアウトを識別するデータは、ピクセル表示１２５におけるシフトに基づいて修正される。シフト操作３１４から、操作フローは、第１の出力操作３１６に移る。
【００３７】
第１の出力操作３１６は、ピクセル表示１２５について特定されるシフトされた画面レイアウトに基づいて、表示画面１０２上に上付きグリフ１２６を表示するための色付けに適したピクセルを特定する。第１の出力操作３１６により、図１に図示されるように、ユーザに表示するために表示画面１０２に上付きグリフ１２６が出力されることになる。第１の出力操作３１６から、操作フローは、終了操作３２０で終了する。
【００３８】
照会操作３１２を再び参照すると、比較操作３１０によって判定される変位の程度が、最適な位置決めのために定義される最大ピクセル変位値を超えない場合は、ピクセル表示１２５は、縮小された最適解像度表示１２７に関する「許容された」ピクセル範囲内であるとみなされる。したがって、操作フローは、第２の出力操作３１８に移る。第２の出力操作３１８は、ピクセル表示１２５について特定された画面レイアウトに基づいて、表示画面１０２上に上付きグリフ１２６を表示するための色付けに適したピクセルを特定する。したがって、第１の出力操作３１６と同様に、第２の出力操作３１８により、図１に図示されるように、ユーザに表示するために表示画面１０２に上付きグリフ１２６が出力されることになる。
【００３９】
ここで図７に移ると、本発明の一実施形態による、図３の位置決めプロセス３００で使用するための操作フロー３３０が示される。この実施形態では、位置決めプロセス３００は、スケール操作３０８が完了すると呼び出される照会操作３３４を含む。照合操作３３４は、表示されることを要求されるグリフが、少なくとも所定量の空きスペース（すなわち「余白」）だけ前にあるかどうかを判定する。一実施形態では、このような所定量の空きスペースは、アプリケーションプログラムの開発者によって判定される。例えば、所定量の空きスペースを、演算子に関連することが従来的に知られている余白の量として定義することができる。例示的な演算子には、イコール記号、プラス記号、およびマイナス記号が含まれる。よって、演算子を表すグリフは典型的に、その周りに任意のグリフの位置決めをするのに十分な余白を含み、したがって、これらの演算子ベースのグリフ、またはこれらの演算子ベースグリフの後の任意のグリフの位置をシフトすべきかどうか判断する必要性を取り除く。実際、例えばａ＋ｂ／ｘ＋ｙなどのサブ表現を有する分数の数式表現に関して、この多量の余白により、典型的に、サブ表現中の演算子（例えば＋）が垂直方向に一列に並ぶこととなり、その結果、ある演算子が他の演算子の実質的に上に置かれることとなる。
【００４０】
照会操作３３４により、表示されることを要求されるグリフが少なくとも所定の空きのスペースだけ前にあると判定される場合は、位置決めプロセス３００の操作フローは、部分シフト操作３３６に直接渡される。部分シフト操作３３６は、一部はピクセル表示に基づいて、また一部は縮小された最適解像度表示に基づいて、グリフの位置を判定する。例えば、一実施形態では、部分シフト操作３３６は、ピクセル表示によって特定されるグリフの垂直位置決めを維持しながら、縮小された最適解像度表示によって特定されるグリフの水平位置決めにマッチさせるように、ピクセル表示によって特定されるグリフの水平位置決めをシフトする。ｙ座標は、ピクセル表示に基づいて判定されるが、要求されたグリフの表示に使用されるｘ座標は、縮小された最適解像度表示に基づいて判定される。次いで、操作フローは、第１の転送操作３３６を介して、部分シフト操作３３６から第１の出力操作３１６に移る。
【００４１】
しかし、照会操作３３４により、表示されることを要求されるグリフが少なくとも所定量の空きスペースだけ前にはないと判断される場合は、位置決めプロセス３００の操作フローは、第２の転送操作３３８によって比較操作３１０に渡され、それにより、上述したような位置決めプロセス３００が継続される。
【００４２】
本発明を、構造的特徴、方法的な行為、およびこのような行為を包含するコンピュータ読取可能媒体に特有の言語で説明してきたが、添付の特許請求の範囲で定義される本発明は、説明される特定の構造、行為または媒体に必ずしも限定されないことを理解されたい。当業者は、本発明の範囲および精神内にある他の実施形態または改良物を認識するであろう。
【００４３】
例えば、例示的な画面要素は、本明細書では、数式表現を具体化する文字および合字を表すグリフとして説明されるが、本発明は、任意のタイプの画面要素の位置決めに適用することができることを認識されたい。さらに、本発明の実施形態は、本明細書では、ワード処理文書内のこれらの例示的な画面要素の位置決めに関して説明される。しかし、本発明は、他のタイプの電子文書、さらに言えば画面要素を表示するための媒体を提供するように動作可能な任意の電子文書に同様に適用することができる。
【００４４】
さらに、コンピューティング装置２００は、適切な動作環境の一例にすぎず、本発明の使用または機能性の範囲に関するいかなる限定を示唆するように意図されるものでもない。本発明における使用に適している可能性のある他の公知のコンピューティングシステム、環境および／または構成には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置のいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されるものではない。
【００４５】
さらに、単一のグリフ（すなわち、上付きグリフ１２６「2」）で形成される画面要素を、やはり単一のグリフ（基本のグリフ１２４「Ｘ」）で形成される別の画面要素に対して位置決めすることに関して説明したが、位置決めプロセス３００は、複数のグリフで形成される画面要素を、１つまたは複数のグリフで形成される別の画面要素に対して位置決めすることに適用することもできる。例えば、位置決めプロセスは、分数表現のグリフ（例えば、１３０、１３２および１３４）を互いに対して位置決めすること、およびネストされた上付きグリフ（例えば、１４０、１４２、１４８および１５０）を基本のグリフ（例えば、１３８および１４６）に対して位置決めすることに適用することができる。後者に関して、本発明の実施形態は、ある表現のサブ表現を構成する画面要素の位置決めを伴う。これを達成するために、位置決めプロセス３００は、図８の例示的手法で示されるように、プロセス３００の実施のために再帰的手順を定義する１組の追加的な操作とともに行われる。特に、図８は、例えばネストされた指数（１４０／１４２および１４８／１５０）などのサブ表現を有する表現を定義するために、再帰的に画面要素の位置決めをするためのプロセス８００を図示する。
【００４６】
再帰的な位置決めプロセス８００は、第１の転送操作８０２で始まり、終了操作８２２で終わる操作フローを用いて行われる。第１の転送操作８０２は、開始操作３０２の開始に応答して開始され、位置決めプロセス３００の操作フローを、第１の作成操作３０４の呼出しの前に開始操作３０２から第１の照会操作８０４に転送する働きをする。したがって、開始操作８０２は、開始操作３０２に関して上述されたように、数式表現を表示する命令の受信に応答して再帰的位置決めプロセス８００を開始するようにトリガされる。次いで、第１の照会操作８０４は、要求された数式表現が任意のサブ表現を含むかどうかを判定する。含む場合は、第１の照会操作８０４は、操作フローを選択操作８０８に渡す。含まない場合は、第１の照会操作８０４は、操作フローを第２の転送操作８０６に渡し、位置決めプロセスは、上述したように第１の作成操作３０４で再開される。
【００４７】
例示的な数式１１２に対する第１の照会操作８０４を説明すると、上付きグリフ１２６および基本のグリフ１２４を用いて形成される数式表現「Ｘ2」は、いかなるサブ表現も含まず、したがって、この操作８０４は、この状況では操作フローを第２の転送操作８０６に渡す。しかし、グリフ１４６、１４８および１５０を用いて形成される数式表現
【００４８】
【数２】
2009509196.tif 000004
【００４９】
は、１つのサブ表現、（すなわち
【００５０】
【数３】
2009509196.tif 000005
【００５１】
）を含み、したがって、第１の照会操作８０４は、この状況では操作フローを選択操作８０８に渡す。したがって、再帰的位置決めプロセス８００を説明するために、この後者の数式表現、すなわち
【００５２】
【数４】
2009509196.tif 000006
【００５３】
をここで説明する。
【００５４】
選択操作８０８は、初期評価のため、再帰的位置決めプロセス８００によって、表現の基本の画面要素に関して最も外側のサブ表現を具体化するグリフを選択する。添字と上付きサブ表現の両方に関して、最も外側のサブ表現は、表現中の右に最も遠いサブ表現、すなわち「右端」のサブ表現を指す。本例に関して、数式表現
【００５５】
【数５】
2009509196.tif 000007
【００５６】
は、１つのサブ表現、すなわち「ａb」だけを有しており、したがって、このサブ表現は、再帰的位置決めプロセス８００に適用される最も外側のサブ表現を具体化する。したがって、選択操作８１０は、グリフ１４８および１５０を、再帰的位置決めプロセス８００によって、初期評価のための画面要素として選択する。このような選択の後に、再帰的位置決めプロセス８００の操作フローは、第１の作成操作８１０に移る。
【００５７】
第１の作成操作８１０は、最適な解像度を判定し、次いで、判定された最適解像度で、選択されたサブ表現「ａb」の表示を作成する。最適解像度表示は、仮想、すなわち表示画面１０２がグリフを最適な解像度で表示した場合にグリフ１４８（「ａ」）に隣接して表示されるときのグリフ１５０（「ｂ」）のメモリ内の表示である。この表示は、再帰的位置決めプロセス８００の管理で使用するためのアプリケーションプログラムの内部に維持されるデータ構造で具体化され、表示画面１０２への出力として表示されない。データ構造は、最適解像度のグリフ１４８（「ａ」）に対して、グリフ１５０（「ｂ」）の仮の位置決め特性（すなわち、仮の画面レイアウト）を定義する座標を含む。最適解像度が判定されて、選択されたサブ表現「ａb」の関連する表示が作成された後、操作フローは、第１の作成操作８１０からスケール操作８１２に移る。
【００５８】
スケール操作３０８は、最適解像度表示を、表示画面１０２に関連する解像度制約に合致するように縮小する。これを達成するために、スケール操作８１２は、解像度係数を、最適な解像度でグリフ１４８（「ａ」）に対するグリフ１５０（「ｂ」）の仮の画面レイアウトを定義する位置決め特性（すなわち座標）に適用する。それにより、最適解像度座標が、サブ表現「ａb」の縮小された最適解像度表示を表す縮小または「切捨て」された１組の座標をレンダリングする。最適解像度表示と同様に、縮小された最適表示は、再帰的位置決めプロセス８００の管理で使用するためのアプリケーションプログラムの内部に維持されるデータ構造で具体化され、表示画面１０２への出力として表示されない。スケール操作８１２から、操作フローは、第３の転送操作８１４に移る。
【００５９】
第３の転送操作８１４は、再帰的位置決めプロセス８００の操作フローを、位置決めプロセス３００に戻す。さらに、第３の転送操作８１４は、サブ表現が隣接しており、また本例では数式表現
【００６０】
【数６】
2009509196.tif 000008
【００６１】
の基本のグリフ１４６（「Ｘ」）である画面要素に対して位置決めされる「画面要素」となるべき、サブ表現「ａb」の縮小された最適表示を特定する。次いで、位置決めプロセス３００は、サブ表現「ａb」が基本のグリフ１４６（「Ｘ」）に対して最適に位置決めされるように、上述のように行われる。位置決めプロセス３００の完了時、操作フローは、終了操作３２０から移り、さらなる評価のために、第４の転送操作８１６を介して再帰的位置決めプロセス８００に戻される。第４の転送操作８１６は、位置決めプロセス３００の操作フローを受け、第５の転送操作８２０で、再帰的位置決めプロセス８００の操作フローを再開する。
【００６２】
第５の転送操作８２０は、再帰的位置決めプロセス８００を通して繰り返されたサブ表現のそれぞれについて、その中に含まれるグリフのそれぞれが互いに対して最適に位置決めされるように、再帰的位置決めプロセス３００を再び開始する。例えば、本例に関して、グリフ１５０（「ｂ」）は、位置決めプロセス３００を用いて、グリフ１４８（「ａ」）に隣接して最適に位置決めされる。この点では、数式表現中のグリフが評価される順序は、再帰的位置決めプロセス８００の最初の繰り返しに対して反対にされる。サブ表現のそれぞれが位置決めプロセス３００に適用された後に、再帰的位置決めプロセス８００の操作フローは、終了操作８２２で終了する。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態による、互いに対して位置決めされる画面要素の表示を示す図である。
【図２】本発明の実施形態を実装することができる例示的なコンピュータシステムを示す図である。
【図３】本発明の一実施形態による、図１に示される画面要素を別の画面要素に対して位置決めするためのプロセスの操作の特性を示すフローチャートである。
【図４】画面の実際の解像度で表示画面上に表示される場合の画面要素の画面レイアウトについての仮想表示を示す図である。
【図５】最適な解像度に基づいて表示画面上に表示される場合の図４の画面要素の画面レイアウトについての仮想表示を示す図である。
【図６】図４に示される仮想表示と図５に示される仮想表示との比較を示す図である。
【図７】本発明の一実施形態による、図３の位置決めプロセスで使用するための追加的な操作の特性を示すフローチャートである。
【図８】本発明の一実施形態による、図３の位置決めプロセスで使用するための追加的な操作の特性を示すフローチャートである。
【図１】
2009509196.tif 000009
【図２】
2009509196.tif 000010
【図３】
2009509196.tif 000011
【図４】
2009509196.tif 000012
【図５】
2009509196.tif 000013
【図６】
2009509196.tif 000014
【図７】
2009509196.tif 000015
【図８】
2009509196.tif 000016
【国際調査報告】
2009509196.tif 000017
2009509196.tif 000018