JP2007527810A - 表示データ・ストリームにおける複合テキストを識別するシステム及び方法 - Google Patents

表示データ・ストリームにおける複合テキストを識別するシステム及び方法 Download PDF

Info

Publication number
JP2007527810A
JP2007527810A JP2007502350A JP2007502350A JP2007527810A JP 2007527810 A JP2007527810 A JP 2007527810A JP 2007502350 A JP2007502350 A JP 2007502350A JP 2007502350 A JP2007502350 A JP 2007502350A JP 2007527810 A JP2007527810 A JP 2007527810A
Authority
JP
Japan
Prior art keywords
type
processing
text
compound
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007502350A
Other languages
English (en)
Inventor
ホーエンシー、ラインハルト、ハインリッヒ
ルーベ、テリー、スコット
マーダー、エリック、リチャード
ストーン、デービッド
ユアマヘスバラン、ヴェッタコルーマカンカフ
バーガ、ジョン、トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007527810A publication Critical patent/JP2007527810A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 表示データ・ストリーム内の複合テキストを識別するシステム及び方法を提供すること。
【解決手段】 複合テキストを識別し、処理するシステム及び方法が提供される。表示データ・ストリームが複合テキスト・ストリングを含む場合に、複合テキスト・ストリングの前に表示データ・ストリーム内の予め選択された制御が挿入される。第1のパラメータは、複合テキスト処理を制御するための制御タイプを示す値を有し、第2のパラメータは、複合テキスト処理をイネーブルにし又はディスエーブルにするための1つ又はそれ以上の値をとる。複合テキスト処理においては、表示データ・ストリームにおける第1の所定のタイプの制御に応答して、第1のタイプの複合テキスト処理がイネーブルにされた場合に、この処理が、表示データ・ストリームにおける第1の所定のタイプの制御に続く複合テキスト・ストリングに適用される。第1の所定のタイプの制御は、第1のタイプの複合テキスト処理を制御するための対応する値によって表される第1のパラメータを含む。
【選択図】 図2

Description

本発明は、印刷システムの分野に関し、より詳細には、コード・ポイントとグリフとの間で1対1マッピングでレンダリングすることを必要としない文字ストリングを含む複合テキストを処理する印刷システムに関する。
本発明は、2003年6月20日付けの「METHOD AND SYSTEM FOR RENDERING UNICODE COMPLEX TEXT DATA IN A PRINTER」と題する特許文献1(代理人整理番号BLD920030006US1)に関連している。
コンピュータ・システムは、ビデオ出力と「ハード・コピー」又は印刷出力とを含む幾つかの方法で出力情報を生成することができる。出力は、ビデオ・スクリーンで一時的に生成されることが多くなっているが、依然として、大量のデータが紙その他の永続的媒体に印刷されている。したがって、印刷データを効率よく記述し、次いで印刷記述からハード・コピー・ページを印刷する必要がある。印刷は、エンコードされた印刷データ・ストリームを受け取り、命令及びデータを格納することができる、「高機能」プリンタを使用する高速大容量印刷システムによって行われることが多い。こうしたエンコードされたプリント・ストリームは、多数の印刷ページのためのデータを含むことが多い。例えば、電話会社は、単一の印刷ストリームで、指定された週の電話料金明細書の全てを印刷することがあるかもしれない。プリント・ストリームにおける各ページは、特定の顧客の電話料金明細書であるかもしれない。
現代企業のデータ処理環境におけるこうした印刷及び表示システムは、典型的には、複数の言語での文書レンダリングをサポートする。ユニコードと呼ばれるエンコード規格は、中国語、日本語及びヒンディー語のような非ローマ字言語を含む世界中の言語を表すことができる包括的文字表現を定義している(ユニコード規格は、カリフォルニア州マウンテンビュー所在のユニコード・コンソーシアムによって公開されている)。ユニコード規格は、100万文字より多くの文字をエンコードすることができる。しかしながら、世界中の言語をレンダリングする機能は、印刷及び表示システムに付加的な課題を与える。特定の言語群、例えば、アラビア語、インド語、及びタイ語は、従来の1コード・ポイント対1グリフのレンダリングを適用できない、いわゆる複合テキストを含むことがある。複合テキストは、幾つかの理由で文字ストリングにおいて生じることがある。言語が双方向性となる、すなわち、ストリングの途中で印刷方向が切り替わることがある。例えば、アラビア語及びヘブライ語においては、アルファベット文字は右から左に書かれ、数字は左から右に書かれる。複合テキストを生み出す他の言語文字には、コンテキストに依存する文字形状又は位置、合字、ユニコード・コード・ポイントが存在しない(しかしフォントにグリフが存在することがある)特別形、及び分割、又はコンテキストに依存する文字の組み合わせがある。したがって、複合テキストの処理は、言語に依存するものであり、テキストを解析し、レンダリングのための適正なグリフ指印及びグリフ位置を生成するために、通常はレイアウト・エンジンを使用する。
特に、ユニコード複合テキストの処理は、プリンタのレイアウト・エンジンによって行われることがある(前述の特許文献1参照)。これは、ユニコード・テキストがプリント・ストリームに保存され、その結果として、プリント・ストリームにおけるユニコード・テキストが、ソートされ、検索され、索引付けされること等が可能となるという利点を有する。しかしながら、プリンタのレイアウト・エンジンを呼び出すことは、処理が煩雑となり、プリンタ性能に悪影響を及ぼすことがある。
米国特許出願公開第2004 0257591A1(シリアルナンバー第10/601,025号) I.B.M.Mixed Object Document Content Architecture Reference Number SC31−6802。 I.B.M.Presentation Text Object Content Architecture Reference、SC31−6308。 I.B.M.Intelligent Printer Data Stream Reference、S544−3417。 Unicode Consortium、Unicode Technical Report UAX−15「Unicode Normalization Forms」
したがって、当該技術分野では、ユニコード複合テキストの印刷を制御するための機構と、非複合テキストと一体化した複合テキストの印刷の統合が必要とされる。特に、当該技術分野では、ユニコード複合テキストを処理するためにレイアウト・エンジンを選択的に呼び出すシステム及び方法が必要とされる。さらに、ジョブ要件が複合テキストの適正なレンダリングを要求しない場合に、そうしたテキストのレンダリング・コストを減らすために、ジョブ・サブミッション・レベルで複合テキストのレンダリングを選択的にディスエーブルにする機構が必要とされている。
本発明の一実施形態によれば、複合テキストを識別する方法が提供される。表示データ・ストリームが複合テキスト・ストリングを含む場合に、複合テキスト・ストリングの前に表示データ・ストリーム内の予め選択された制御が挿入される。予め選択された制御は、複合テキスト処理を制御するための複数のパラメータに対応する。各パラメータは、予め選択された制御内の対応する値によって表される。第1のパラメータは、複合テキスト処理を制御するための制御タイプを示す値を有し、第2のパラメータは、複合テキスト処理をイネーブルにし又はディスエーブルにするための1つ又はそれ以上の値をとる。
別の実施形態においては、複合テキストを処理する方法も提供される。この方法は、表示データ・ストリームにおける第1の所定のタイプの制御に応答して、第1のタイプの複合テキスト処理がイネーブルにされているかどうかを判定する。第1のタイプの複合テキスト処理がイネーブルにされている場合には、第1のタイプの複合テキスト処理は、表示データ・ストリームにおける第1の所定のタイプの制御に続く複合テキスト・ストリングに適用される。第1の所定のタイプの制御は、第1のタイプの複合テキスト処理を制御するための第1の所定のタイプの制御内の対応する値によって表される第1のパラメータを含む。
上記のことは、以下の本発明の詳細な説明を良く理解するために、本発明の1つ又はそれ以上の実施形態の特徴及び技術的利点を概説しているにすぎない。本発明の請求項の主題をなす本発明の付加的な特徴及び利点が以下に説明される。
本発明の実施形態が、単なる例として、付属の図面を参照しながら以下により詳細に説明される。
以下の説明においては、本発明の十分な理解を与えるために多くの特定の詳細が記載される。例えば、特定の構造化フィールド・フォーマットが、本発明の原理を説明するために言及されている。しかしながら、本発明はこうした特定の詳細なしに実施することもできることが当業者には明らかであろう。他の例では、本発明を不必要に細かく説明して不明瞭にすることのないように、周知の回路はブロック図形式で示されている。大部分は、タイミングの考察事項等を考察する詳細は、こうした詳細が必ずしも本発明の十分な理解を得るのに必要でない限り、かつ当業者に周知である限り省かれている。
図1は、クライアント・コンピュータ102上のアプリケーション・プログラム101(すなわち「印刷文書」)によって生成された文書を印刷するための印刷システム100の本発明の実施形態を示す。クライアント・コンピュータ102のより詳細な説明が、図2に関連して以下にさらに説明される。クライアント・コンピュータ102上で動作するアプリケーション・プログラム101は、フォーマット化されたプラットフォームであるデータ・ストリームと、印刷文書の装置独立論理記述とを生成する。印刷に用いられるデータ・ストリームのこうした論理記述の1つの公知の仕様は、非特許文献1に詳細に記載されている、MO:DCA(Mixed Object Document Content Architecture)として知られている。
特に、MO:DCAは、アプリケーションによって用いられるデータ・ストリームを、他のアプリケーション及びアプリケーション・サービスと交換するための文書及びオブジェクト・エンベロープを記述するように定める。MO:DCAアーキテクチャにおいては、文書は、最高レベルの文書コンポーネント階層を表す。頁は、表示文書、すなわち、フォーマット化され、例えばプリンタ又はディスプレイ上に表示されることを意図された文書を構成するデータ・オブジェクトを含む。データ・オブジェクトは、表示されるデータと、データを表示するのに要求されるディレクティブとを含む。例示的なデータ・オブジェクトは、コンピュータによって生成されたピクチャーを表すグラフィック・オブジェクトと、走査されたピクチャーのようなイメージ情報を表すイメージ・オブジェクトと、テキスト情報を表す表示テキスト・オブジェクトとを含む。これらのオブジェクト表現の各々は、対応するオブジェクト・コンテンツ・アーキテクチャに従ってMO:DCAデータ・ストリームに組み入れられる。特に、表示テキスト・オブジェクト・コンテンツ・アーキテクチャ(PTOCA)は、以下にさらに説明される(PTOCAは、非特許文献2に詳細に記載される)。データ・オブジェクトに加えて、文書は、フォーマット、レイアウト、及び物理的媒体上に文書頁を与えるのに用いられるリソース・マッピング情報を有する印刷制御オブジェクトを含んでもよい。この情報は、「書式マップ」又は「formdef」と呼ばれるMO:DCAデータ・ストリームにおける構造化フィールド・セットに含められてもよい(書式マップは、宛先プリンタの設定、紙タイプの記述などのような印刷ジョブに関する情報のための入れ物であるデータ構造体の「ジョブ・チケット」に似ている。データは、「トリプレット」と呼ばれる構造化フィールドのバイト順に運ばれてもよい。MO:DCAトリプレットは、1バイト長フィールド、1バイトの固有識別子、データ・バイトのシーケンス(長さフィールドから求められた数)を含む自己識別パラメータである。本発明の原理に従って特定されたユニコード複合テキストの印刷を制御するためのMO:DCAトリプレットが以下にさらに説明される。
印刷システム100はさらに、アプリケーション・プログラム101から印刷文書を表すデータ・ストリームを受け取り、スプールするためのスプール103を備える。スプール103によって受け取られると、データ・ストリームは、プリンタ・ドライバ105を用いてデータ・ストリームを装置特有のデータ・ストリームに変換する印刷サーバ104と、フォント及びデータ・ストリームを印刷するのに要求される印刷制御オブジェクトのようなリソースを含むリソース・ライブラリ106に伝送される。アプリケーション・プログラム101は、リソース・ライブラリ106にアクセスし、それを使用して文書をフォーマットするように構成することができる。MO:DCAフォーマットが用いられる場合には、結果として印刷サーバ104によって生成されたデータ・ストリームは、インテリジェント・プリンタ・データ・ストリーム(IPDS)と呼ばれる(IPDSは、非特許文献3に記載されている)。データ・ストリームがフォーマットされると、データ・ストリームは、印刷文書を生成するためにプリンタ107に向けられる。
プリンタ107は、印刷サーバ104と通信することができる制御ユニット108と、内部メモリ109とを有することができる。IPDSが用いられるときには、印刷サーバ104とプリンタ107との間の通信は双方向性である。例えば、印刷サーバ104は、フォントのような特定のリソースがプリンタ・メモリ109に常駐しているかどうかをプリンタ107に問い合わせることができる。リソースが存在しない場合には、印刷サーバ104は、リソース・データベース106からフォントを検索し、IPDSデータ・ストリームを用いてそのフォントをプリンタ・メモリ109にダウンロードする。リソースは、将来の使用のために利用可能である。その後、ダウンロード・リソースと呼ばれる印刷データがプリンタ107によって受け取られたときには、プリンタ107は、リソースをデータと組み合わせて、その組み合わせを、従来のRasterizing Image Processor(「RIP」と呼ばれ、図1には示されていない)に与え、それがデータを印刷可能なラスタ・イメージに変換する。メモリ109に結合された制御ユニット108は、ラスタライザ・プログラムの命令を実行するように構成することができる。
ここで図2を参照すると、表示データ・ストリーム内の複合テキストを識別するためのプロセス200がフローチャート形式で示されている。ここで提供されたフローチャートは、必ずしも本発明の実施形態において実行される動作の順序を示すものではないことに注意されたい。これらのフローチャート内で実行されるステップの多くは、並行して行われてもよい。フローチャートは、本発明の原理に従って複合テキストを識別し、処理するために実施されるこれらの検討事項を示すことを意図されている。さらに、提示された順序は、単なる例であり、必ずしもステップを示された順序で実行しなければならないという意味ではないことに注意されたい。
ステップ202において、複合テキストが表示データ・ストリーム内に現れるかどうかが判定される。これは、表示データにおいて現れるユニコード・コード・ポイントの解析によって実行することができる。例えば、データ・ストリームにおける複合テキストの存在は、ユニコード・コード・ポイントを試験することによって判定することができる。ヒンディー語及びアラビア語のような複合テキストを含むスクリプトには、ユニコード規格内の明確なコード・ポイント範囲が割当てられる。したがって、コード・ポイント値の試験は、コード・ポイントが複合スクリプトの範囲内に含まれるかを判定することができる。これは、本発明と同じ譲受人に譲渡された出願継続中の前述の特許文献1において付加的に説明されている。
複合テキストの存在を判定するための別の方法は、データの優先順位の知識によるものである。例えば、文書を生成する印刷アプリケーションは、英語のみを含む、例えば請求書発行ステートメントを取り込むための英語名を含む文書を生成するためにデータが引き出されるデータベースを認識する「インテリジェンス」を組み入れることができる。
逆に、複合スクリプトにおいて指定される、印刷ファイルにおかれることになる情報をデータベースが含む場合には、データは、複合テキストとしてタグ付けされ、プリンタは、それに応じて複合スクリプトと非複合スクリプトとの両方を処理する。表示ストリームに複合テキストが存在しない場合には、プロセス200がステップ204で終了する。そうでなければ、ステップ206において、所定の制御シーケンスが表示ストリームに挿入される。ステップ206と組み合わせて用いられる制御シーケンスが、表1に示されている。
Figure 2007527810
制御シーケンスは、前述の表示テキスト・オブジェクト・コンテンツ・アーキテクチャ(PTOCA)に従って表示テキスト・オブジェクトに組み入れられてもよい。前述のように、表示テキスト・オブジェクトは、表示のために用意されたテキストを表すためのデータ・オブジェクトである。それは、コヒーレント情報を表すのに適したグラフィック・シンボル、数字、及び字のような文字の順序付けされたストリングを含んでもよい。表示のために用意されたテキストは、文字の書式スルー明示指定及び表示スペース内のそれらの位置まで減少される。
さらに、特定の制御機能を指定する制御シーケンスをテキスト内に埋め込むことができる。これらの機能は、与えられたときにテキストに特定の特性を与える。図形文字及び制御コードのコレクションは表示テキストと呼ばれることもあり、表示テキストを含むオブジェクトは表示テキスト・オブジェクトと呼ばれることもある。表1に示され以下にさらに説明される制御シーケンスのような制御シーケンスは、複合テキストとして後続テキスト・ストリングを識別するために、及び、複合テキストの処理を既存の表示環境に統合するために、プロセス200のステップ206において挿入されてもよい。特に、図3−図6と組み合わせて以下に説明される複合テキスト処理をイネーブルにし、ディスエーブルにするために、ユニコード複合テキスト(UCT)制御シーケンスと呼ばれることもある制御シーケンスを用いてもよい。さらに、同様に図3−図6と組み合わせて以下に説明される、双方向(bidi)レイアウト処理及び/又はグリフ処理を選択的にイネーブルにするために、UCT制御シーケンスを用いてもよい。
ここで、本発明の実施形態に係るユニコード複合テキストを処理するためのプロセス300をフローチャート形式で示す図3を参照する。
ステップ302において、アクティブ・フォントがオープン・タイプ・フォントではない場合、又はデータがユニコード・ベースの文字セットにエンコードされない場合、或いは書き込みモードが水平方向ではない場合のいずれも、制御シーケンスに従うコード・ポイントは、複合テキストとして処理されない(オープン・タイプ・フォントは、クロス・プラットフォーム・フォント・ファイル・フォーマット、すなわち、True Typeスケーラブル・フォント技術の拡張である。)(ステップ302は、ユニコード・ベースの文字セット及びオープン・タイプ・フォントと組み合わせて説明されるが、本発明の原理は、いずれかの所定のフォント・タイプ及び文字エンコーディングと組み合わせて適用されてもよい)。したがって、ステップ304において、コード・ポイントは、通常のテキスト処理と同様に、1コード・ポイント対1グリフ方式にレンダリングされる。プロセス300はステップ305において終了する。そうでなければ、複合テキストは、以降のステップ306−314と組み合わせて説明されるデータ・ストリーム制御シーケンスのパラメータ・セットに従って処理される。
前述のように、特定のタスクは、データ・ストリーム内の複合テキストの適正なレンダリングを要求しない。例えば、サブミッタは、校正刷りのためにジョブが印刷される場合に、複合テキスト処理を止めることを望んでもよい。したがって、本発明によれば、サブミット時に表示データ・ストリーム内の複合テキストのレンダリングをディスエーブルにするために、MO:DCA書式マップを用いてもよい。複合テキストのレンダリングをディスエーブルにするためにMO:DCAデータ・ストリームの書式マップに組み入れることができるMO:DCAトリプレット(UCT処理制御トリプレットと呼ばれることもある)が表IIに定義される。UCT処理制御トリプレットの構文は、前述のMO:DCAトリプレットの構造に準拠する。
Figure 2007527810
表IIに示されるように、表IIに定義されたUCT処理制御トリプレットは、5バイトの長さである。BiDiCtl及びGlyphCtlパラメータ(バイト・オフセット2及び3)の値は、それぞれ、文書のためのユニコードbidiレイアウト処理及びユニコード・グリフ処理を制御する。いずれかのバイトの値がX’01’で示された16進法の1である場合には、対応するbidi処理又はグリフ処理の1つがディスエーブルにされる。いずれか又は両方の値がX’00’で示された16進法の0である場合には、図3におけるさらなるステップと組み合わせて後述するように、PTOCA UCT制御シーケンスによって、複合テキストのレイアウト処理が制御される。
図3のステップ306に戻り、UCT処理制御トリプレットのようなユニコード表示制御が書式マップに含まれている場合には、ステップ308において複合テキストのbidi処理及びグリフ処理の両方がディスエーブルにされるかどうかが判定される。その場合、処理300はステップ304に戻り、UCT制御シーケンスに従うコード・ポイントが通常テキスト、すなわち、1対1のコード・ポイント対グリフ・マッピングとして処理される。ステップ310においてbidi処理がディスエーブルにされない場合には、UCT表示制御は、PTOCA制御シーケンスに従い、bidi処理はステップ312のPTOCA UCT制御シーケンスに従って進む。ステップ308と組み合わせて用いられるPTOCA UCT制御シーケンスを用いてbidi処理するための方法が、図4に示されており、後述される。
次いで、ステップ314において、グリフ処理がMO:DCA表示制御においてディスエーブルにされない場合には、グリフ処理はまた、ステップ316においてPTOCA UCT制御シーケンスに従って進む。ステップ314と組み合わせて用いられるPTOCA UCT制御シーケンスを用いるグリフ処理方法が、図5に示されており、後述される。そうではなく、グリフ処理がディスエーブルにされる場合には、ステップ316がバイパスされ、プロセス300がステップ305において終了する。
ステップ310に戻り、MO:DCA表示制御においてbidi処理がディスエーブルにされる場合には、ステップ308においてbidi処理とグリフ処理との両方がディスエーブルにされなかった(ステップ308は「No」ブランチで通り抜けられた)ので、ステップ316においてグリフ処理プロセスがPTOCA UCT制御シーケンスに従って進む(これは、左から右に書かれる言語の例であり、したがって、bidi処理を要求しないが、グリフ処理を必要とする)。次いで、プロセス300はステップ305において終了する。
ここで図4を参照すると、本発明の実施形態に係るPTOCA UCT制御シーケンスの制御の下でのbidi処理のためのプロセス400が、フローチャート形式で示されている。
前述のように、ユニコード文字エンコーディングは、全ての公知の書記言語をデジタル形式で表す能力を与える。適合性のために、規格は、複合文字のような文字をエンコードするための異なる方法を与えてもよい。等価なテキストが同じバイナリ表現を有することを保証するために、ユニコード規格は、いずれかの所定ストリングのための固有の正規化書式を生成するように設計された正規化書式を与える。したがって、ステップ402において、処理されるべき複合テキストにおけるコード・ポイントが正規化されるかどうかが判定される。表1のUCT制御シーケンスを用いる本発明の実施形態においては、これは、CTFLGSパラメータを試験することによって判定される。このパラメータは、ユニコード複合テキストを処理するための特定の制御を指定するビット・エンコードされたパラメータである。特に、ステップ402のために、ビット0は、UCT制御シーケンスに従うコード・ポイントが正規化されるかどうかを示す。本発明のこうした実施形態においては、バイナリ値「0」(B’0’で示される)は、コード・ポイントが正規化されていないことを示す。逆に、B’1’(バイナリ「1」)は、処理されるべきコード・ポイントがテキスト・オブジェクト生成部によって正規化されていることを示す。コード・ポイントが正規化されていない場合には、ステップ404においてユニコード正規化が適用される。非特許文献4に記載されたユニコード正規化書式のいずれかを、本発明と組み合わせて用いることができる。
ステップ406において、bidi処理がUCT制御シーケンスに従うコード・ポイントに適用されるかどうかが判定される。表1のUCT制御シーケンスを用いる本発明の実施形態においては、これは、BIDICTパラメータを試験することによって判定される。こうした実施形態においては、複合テキスト・コード・ポイントの処理における幾つかの代替法が指定されてもよく、これらの代替法は、bidi処理がイネーブルにされているかどうかに応じて、マルチウェイ決定ブロック408及び410によって表される。マルチウェイ決定ブロック408及び410の各々は、UCT制御シーケンスにおけるBIDICTパラメータの値に対応する。(プログラミング技術の当業者には理解されるように、C又はC++のような多くの高レベル・プログラミング言語は、SWITCHステートメントの形式のマルチウェイ決定ブロックを与える。さらに、こうした実装においては、決定ブロック406は、ブロック408及び410と共に実行されるが、図4においては、これらは明確にするために別々に示されている。)
前述のようなユニコード文字の双方向特性とテキスト・パラグラフの固有の方向特性のために、複合ユニコード・テキスト処理と非複合テキスト処理との統合を容易にするべく、ユニコード処理環境内で方向性制御を提供することが望ましい。したがって、マルチウェイ決定ブロック408において、bidi処理がイネーブルにされ(16進法の値X’02’、X’04’、X’05’、X’12’及びX’13’の1つによって表される)、パラグラフ方向がBIDICTパラメータの値に応答して設定される。ステップ408aにおいて、パラグラフ方向は、コード・ポイント・ストリームにおいて出会った最初の方向性の強い文字に基づいているセットである(ユニコード規格は、ユニコード文字を方向性の強いクラスを含む幾つかのクラスの1つに分類する。)。ステップ408aは、BIDICTパラメータ値がX’02であることに対応する。ステップ408bにおいて、パラグラフ方向は、左から右に設定される(L−>R)。ステップ408bは、X’04’のBIDICTパラメータ値に対応する。ステップ408cにおいて、パラグラフ方向は右から左(R−>L)に設定される。ステップ408cは、X’05’のBIDICTパラメータ値に対応する。ステップ408dにおいて、パラグラフ方向は、現在のテキスト・オブジェクトにおける最後に処理された複合テキスト・ストリングを用いて設定され、そうではなく、現在のストリングがテキスト・オブジェクトにおいて出会う最初の複合テキスト・ストリングである場合には、方向は、出会った最初の方向性の強い文字に基づいている。ステップ408dは、X’12’及びX’13’のBIDICTパラメータ値に対応している。パラグラフ方向が判定できない場合には、デフォルトがL−>R(X’12’)及びR−>L(X’13’)の1つに設定される。ステップ412において、複合テキスト・ストリングの終点のテキスト位置が判定される。ステップ412と組み合わせて用いられるテキスト位置を判定するプロセスは、後述する図6に示されている。プロセス400はステップ414において終了する。
bidi処理がディスエーブルにされる場合には(6進法の値X’20’、X’22’、及びX’23’の1つによって表される)、パラグラフ方向情報は用いられず、マルチウェイ決定ブロック410において、テキスト方向は、BIDICTパラメータの3つの値の1つに従って設定される。ステップ410aにおいて、テキスト方向は、現在のインライン方向に設定される。(インライン方向は図形文字をおくのに用いられる2つの座標方向の1つに対応し、連続する文字がテキストのラインに現れる方向を表す。)ベースライン方向と呼ばれる他の方向は、論理頁上にテキストの連続するラインが現れる方向を表す。コード・ポイントは、それらがTRN制御シーケンスに含まれたかのように処理される。ステップ410aは、X’20’のBIDICTパラメータ値に対応する。ステップ410bにおいて、コード・ポイントは、左から右への一方向実行において処理され、ステップ410cにおいて、コード・ポイントは、右から左への一方向実行において処理される。ステップ410b及び410cは、それぞれ、X’22’及びX’23’のBIDICTパラメータ値に対応する。プロセス400はステップ414において終了する。
ここで図5を参照すると、本発明の実施形態に係るグリフ処理方法500がフローチャート形式で示されている。図4のステップ402及び404と組み合わせて既に説明されたように、フォーマッターによって既に正規化されていない場合には、ステップ502及びステップ504において、処理されるユニコード複合テキストが正規化される。
ステップ506において、UCT制御シーケンスに従うコード・ポイントにグリフ処理が適用されるかどうかが決定される。表1のUCT制御シーケンスを用いる本発明の実施形態においては、これは、GLYPHCTパラメータを試験することによって判定される。このパラメータのX’01’の値は、グリフ処理がイネーブルにされたことを示し、プロセス500がステップ508に進む。X’20’の値は、グリフ処理をディスエーブルにし、プロセス500がステップ505で終了する。例えば、ヘブライ語は、一般に、母音マークなしに書かれる。こうした場合には、テキストは、bidiプロセスに従って文字を再順序付けすることによって正確にレンダリングすることができる。
ステップ508において、レイアウト・エンジンを呼び出すことによってグリフがレイアウトされる。レイアウト・エンジンは、ユニコード文字ストリングにスクリプト特有のルールを適用する。一般にフォント内で与えられる付加的なテーブルを用いるこれらのルールは、適切なグリフを選択し、位置決めするのに用いられる。グリフのレイアウトは、エンドユーザのコミュニティのロケールに依存する。これは、データ・ストリーム内のPTOCAテキスト・オブジェクトに結び付けられるMO:DCA構造化フィールドにおいて指定され、ロケールは、文書作成者の意図を反映し、作成ロケールと呼ばれることもある。作成ロケールが指定されない場合には、書式マップのMO:DCA構造化フィールドにおいてジョブがサブミットされたときにロケールを指定することが望ましい。サブミット・ロケールは、作成ロケールの存在とは無関係に含めることができることに注意されたい。従って、ロケールは、作成ロケール及びサブミッション・ロケールによって2つの方法で指定することができる。この2つの方法の間に競合が存在する場合には、作成ロケールはサブミッション・ロケールをオーバーライドしてもよい。したがって、本発明の原理に係るMO:DCA制御シーケンス・トリプレットは、データ・ストリーム又は書式マップに含めることができ、従ってロケールは、ステップ508で呼び出されたレイアウト・エンジンに渡される。使用可能なMO:DCAトリプレット(ロケール・セレクタ・トリプレット)は、表IIIにおいて定義される。ロケール・セレクタ・トリプレットの構文は、前述のMO:DCAトリプレットの構造に適合する。
Figure 2007527810
ロケール情報は、3つのパラメータ、すなわちLangCde、ScriptCde及びRegCdeに含まれる。パラメータLangCdeは、ISO−639規格における定義に従って言語コードを指定する。パラメータScriptCdeは、ISO−15924ベースのスクリプト・コードを指定し、パラメータRegCdeは、ISO−3166規格に従って地域コードを指定する。さらに、LocFlgsパラメータは、言語、スクリプト及び地域コード・パラメータのための構文情報を提供するのに用いられる。これは、ビット・エンコードされたパラメータであり、ビット0−3の値は、言語コード構文を指定する。これらのビットが値B’000’を有する場合には、言語コードは指定されず、パラメータ言語コードのパラメータは無視される。B’010’の値は、ISO−639−1において定義された2文字言語識別子を用いて言語コードが指定されることを示し、B’011’の値は、ISO−639−2において定義された3文字言語識別子を用いて言語コードが指定されることを示す。同様に、ビット4は、スクリプト・コード構文を識別し、B’0’の値は、スクリプト・コードが指定されず、スクリプト・コード・パラメータが無視されることを示す。B’1’の値は、ISO15924において定義された4文字スクリプト識別子を用いてスクリプト・コードが指定されることを示す。ビット5−7は、地域コード構文を指定し、B’000’の値は、地域コードが指定されず、地域コード・パラメータが無視されることを再び示す。B’010’の値は、ISO−3166−1において定義された2文字地域識別子を用いて地域コードが指定されることを示し、B’011’の値は、ISO−3166−1において定義された3文字地域識別子を用いて地域コードが指定されることを示す。
図5を参照すると、複合テキストの終点のテキスト位置がステップ510において判定される。
ここで図6を参照すると、本発明の原理に係るユニコード複合テキスト・ストリングの終点のテキスト位置を判定するためのプロセス600がフローチャート形式で示されている。プロセス600は、図4のステップ412及び図5のステップ510の実施形態を提供するのに用いることができる。プロセス600は、UCT制御シーケンスと組み合わせて動作し、それは、上記の表1の構文を用いて実現することができる。
特に、CTFLGSパラメータのビット3値を用いて、ユニコード複合テキストの完了時のテキスト位置を制御することができる。ステップ602においては、CTFLGSパラメータのビット3が試験され、値がB’1’である場合には、ステップ604において複合テキストが処理されたときに現在のインライン位置は前進させられない。プロセス600は、ステップ606において終了する。逆に、CTFLGSパラメータのビット3がB’0’の値を有する場合には、ブロック608において2方向スイッチが実行される。
ステップ608aにおいて、ユニコード複合テキストを位置決めするために複合テキストIの処理開始時の現在位置が用いられた場合には、ステップ610において、複合テキストIcの処理開始時の現在位置の和と、ユニコード複合テキストを構成する書記素のための全てにわたる増分の和として新たな位置Icnewが決定される。ステップ608aにおける決定は、CTFLGSパラメータのビット1を試験することによってもたらされる。このビットは、代替位置値(ALTIPOSパラメータ)が有効であるかを示す。B’0’の値はALTIPOSパラメータが無効であることを示し、それにより複合テキストを位置決めするためにIが用いられる。
ステップ608bにおいて、複合テキスト処理開始時にテキストを位置決めするために代替位置Iが用いられた場合には(CTFLGSパラメータ・ビット1に対するB’1’の値)、ステップ612において、新たな位置IcnewがIに設定される。パラグラフ方向が現在の書き込みモードとは反対方向であるときには、代替インライン位置を用いてもよい。書き込みモードは、書き込みシステムにおけるテキストの設定のためのモードを定義し、普通は、連続する図形文字が、例えば左から右に、右から左に、上から下に形成される公称の方向に対応する。書き込みモードは、例えば、表示データ・ストリーム内のテキスト・オブジェクトのフォント・オブジェクト・アーキテクチャによって、UCT制御シーケンスの前に決定される。例えば、左から右へのパラグラフ方向を有する英語又はそれに類似のラテン・アルファベット言語を主としたテキスト・ストリームのレンダリングを考察する。書き込みモードは左から右である。テキスト・パラグラフは通常は左寄せである。テキスト・ストリームにおいて、例えば、アラビア語又はヘブライ語といった、右から左のパラグラフ方向を用いる言語に出会った場合には、そうしたテキストを右寄せに適正にレンダリングするために代替インライン位置パラメータが用いられてもよい。
図7は、本発明に係るデータ処理システム700の例示的なハードウェア構成を示す。図3−図6に示された方法と組み合わせたシステムを、ユニコード複合テキスト・プロセスを制御し、処理するのに用いることができる。データ処理システム700は、従来のマイクロプロセッサのような中央演算処理装置(CPU)710と、システム・バス712を介して相互接続された多くの他のユニットとを含む。データ処理システム700はまた、ランダム・アクセス・メモリ(RAM)714と、読み出し専用メモリ(ROM)716と、不揮発性記憶装置720のような周辺機器をバス712に接続するための入力/出力(I/O)アダプタ718とを含む。システム700はまた、データ処理システム700をデータ処理ネットワークに接続して、システムが他のシステムと通信することを可能にする、通信アダプタ734を含む。CPU710は、例えば、演算実行ユニット、バス・インターフェース・ユニット、演算論理ユニットなどのマイクロプロセッサ内に一般に見出される回路を含む、ここでは示されていない他の回路を含んでもよい。CPU710はまた、単一の集積回路上に存在してもよい。
本発明の好ましい実装は、ここで説明される1つ又はそれ以上の方法を実行するようにプログラムされたコンピュータ・システムとしての実装と、コンピュータ・プログラム製品としての実装を含む。コンピュータ・システムの実装によれば、1つ又はそれ以上の方法を実行するための命令の組は、前述のように全体として構成された1つ又はそれ以上のコンピュータ・システムのランダム・アクセス・メモリ714に存在する。システム・コンポーネントと組み合わされたこれらの命令の組は、前述のようにユニコード複合テキスト処理の制御を実行する。コンピュータ・システムによって要求されるまで、命令の組は、別のコンピュータ・メモリに、例えば、不揮発性記憶装置720に(不揮発性記憶装置720において最終的に使用するための光ディスク、ディスケット、CD−ROM、又はフラッシュ・メモリのような取り外し可能メモリを含む)コンピュータ・プログラム製品として保存される。さらに、コンピュータ・プログラム製品はまた、ネットワークによって、又はインターネットのような外部ネットワークによって、別のコンピュータに保存し、ユーザのワークステーションに送信することができる。命令の組の物理的記憶は、保存される媒体を物理的に変化させて、媒体がコンピュータ可読情報をもつようにすることを当業者であれば認識するであろう。変化は、電気的変化、磁気的変化、化学的変化、生物学的変化、又はその他の物理的変化とすることができる。本発明を、命令、記号、文字などの点で都合よく説明したが、読者は、これらの全ての類似語は、適切な物理的要素と関連付けられるべきであることに留意されたい。
本発明は、比較、評価、選択、識別といった用語、又は人間のオペレータと関連付けられる他の用語で説明されていることに注意されたい。しかしながら、少なくとも1つの実施形態の一部を形成する、ここで説明された少なくとも幾つかの動作は、人間のオペレータによる動作が望ましいというわけではない。説明された動作は、大部分は、他の電気信号を生成するために電気信号を処理する機械動作である。
本発明の実施形態に係る印刷システムを示す図である。 本発明の実施形態に係るユニコード・データ・ストリームにおける複合テキストを識別する方法をフローチャート形式で示す図である。 本発明の実施形態に係るユニコード複合テキストを処理する方法をフローチャート形式で示す図である。 本発明の実施形態に係る双方向の(bidi)ユニコード・テキスト処理方法をフローチャート形式で示す図である。 本発明の実施形態に係るユニコード・グリフ処理方法をフローチャート形式で示す図である。 本発明の実施形態に係るテキスト位置を判定する方法をフローチャート形式で示す図である。 図3−図6のプロセスを実行するのに用いられるデータ処理システムをブロック図形式で示す図である。
符号の説明
101:アプリケーション
102:クライアント・コンピュータ
103:スプール
104:印刷サーバ
105:プリンタ・ドライバ
106:リソース・ライブラリ
107:プリンタ
108:制御ユニット
109:メモリ

Claims (39)

  1. 複合テキストを識別する方法であって、表示データ・ストリームが複合テキスト・ストリングを含む場合に、前記複合テキスト・ストリングの前に前記表示データ・ストリーム内の予め選択された制御を挿入するステップを含み、前記予め選択された制御が複合テキスト処理を制御するための複数のパラメータに対応するものであり、前記パラメータの各々が、前記予め選択された制御内の対応する値によって表され、第1のパラメータが複合テキスト処理を制御するための制御タイプを示す値を有し、第2のパラメータが複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとることを特徴とする方法。
  2. 前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、第1のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための値の組を含む、請求項1に記載の方法。
  3. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項2に記載の方法。
  4. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、第2のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとる、請求項2に記載の方法。
  5. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項4に記載の方法。
  6. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、代替テキスト位置を含む値をとる、請求項1に記載の方法。
  7. 複合テキストを処理する方法であって、
    第1のタイプの複合テキスト処理を制御するための、第1の所定のタイプの制御内の対応する値によって表される第1のパラメータを含む、表示データ・ストリーム内の第1の所定のタイプの制御に応答するステップと、
    第1のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するステップと、
    前記第1のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリーム内の前記第1の所定のタイプの制御に続く複合テキスト・ストリングに、前記第1のタイプの複合テキスト処理を適用するステップと、
    を含む方法。
  8. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項7に記載の方法。
  9. 前記第1のパラメータが、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとり、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、前記複合テキストの双方向処理のパラグラフ方向を決定するための1つまたはそれ以上の値を含む、請求項8に記載の方法。
  10. 前記第1の所定のタイプの制御が、第2のタイプの複合テキスト処理を制御するための前記所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記方法がさらに、第2のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するステップと、前記第2のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリーム内の前記第1の所定のタイプの制御に続く複合テキスト・ストリングに、前記第2のタイプの複合テキスト処理を適用するステップとを含む、請求項7に記載の方法。
  11. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項10に記載の方法。
  12. 前記第1のタイプの複合テキスト処理をディスエーブルにするように動作可能な、第2の所定のタイプの制御内の対応する値によって表されるパラメータを含む、表示データ・ストリーム内の第2の所定のタイプの制御に応答するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされているかどうかを判定するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされている場合に、複合テキスト・ストリングに第1のタイプの複合テキスト処理を適用する前記ステップをオーバーライドするステップと、をさらに含む、請求項7に記載の方法。
  13. 前記第1の所定のタイプの制御が、代替テキスト位置を決定するための前記第1の所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記方法が、前記第1のタイプの複合テキスト処理がイネーブルにされた場合に前記代替テキスト位置を用いてテキスト位置を設定するステップを含む、請求項7に記載の方法。
  14. 表示データ・ストリームが複合テキスト・ストリングを含む場合に、前記複合テキスト・ストリングの前に前記表示データ・ストリーム内の予め選択された制御を挿入するためのプログラム命令を有する、複合テキストを識別するためのプログラムを含む機械可読のコンピュータ・プログラムであって、前記予め選択された制御が複合テキスト処理を制御するための複数のパラメータに対応するものであり、前記パラメータの各々が、前記予め選択された制御内の対応する値によって表され、第1のパラメータが複合テキスト処理を制御するための制御タイプを示す値を有し、第2のパラメータが複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとることを特徴とするコンピュータ・プログラム。
  15. 前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、第1のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための値の組を含む、請求項14に記載のコンピュータ・プログラム。
  16. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項15に記載のコンピュータ・プログラム。
  17. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、第2のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとる、請求項15に記載のコンピュータ・プログラム。
  18. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項17に記載のコンピュータ・プログラム。
  19. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、代替テキスト位置を含む値をとる、請求項14に記載のコンピュータ・プログラム。
  20. 複合テキストを処理するためのプログラムを含む機械可読のコンピュータ・プログラムであって、
    第1のタイプの複合テキスト処理を制御するための、第1の所定のタイプの制御内の対応する値によって表される第1のパラメータを含む、表示データ・ストリーム内の第1の所定のタイプの制御に応答するステップと、
    前記第1のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するステップと、
    前記第1のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリームにおける前記第1の所定のタイプの制御に続く複合テキスト・ストリングに前記第1のタイプの複合テキスト処理を適用するステップと、を含むプログラム命令を有するコンピュータ・プログラム。
  21. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項20に記載のコンピュータ・プログラム。
  22. 前記第1のパラメータが、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとり、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、前記複合テキストの双方向処理のパラグラフ方向を決定するための1つ又はそれ以上の値を含む、請求項21に記載のコンピュータ・プログラム。
  23. 前記第1の所定のタイプの制御が、第2のタイプの複合テキスト処理を制御するための前記所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記方法がさらに、第2のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するステップと、前記第2のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリームにおける前記第1の所定のタイプの制御に続く複合テキスト・ストリングに前記第2のタイプの複合テキスト処理を適用するステップとを含む、請求項20に記載のコンピュータ・プログラム。
  24. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項23に記載のコンピュータ・プログラム。
  25. 前記第1のタイプの複合テキスト処理をディスエーブルにするように動作可能な、第2の所定のタイプの制御内の対応する値によって表されるパラメータを含む、表示データ・ストリーム内の第2の所定のタイプの制御に応答するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされているかどうかを判定するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされている場合に、複合テキスト・ストリングに第1のタイプの複合テキスト処理を適用する前記ステップをオーバーライドするステップと、をさらに含む、請求項20に記載のコンピュータ・プログラム。
  26. 前記第1の所定のタイプの制御が、代替テキスト位置を決定するための前記第1の所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記方法が、前記第1のタイプの複合テキスト処理がイネーブルにされた場合に前記代替テキスト位置を用いてテキスト位置を設定するステップを含む、請求項20に記載のコンピュータ・プログラム。
  27. 表示データ・ストリームが複合テキスト・ストリングを含む場合に、前記複合テキスト・ストリングの前に前記表示データ・ストリームにおける予め選択された制御を挿入するように動作可能な回路を含む、複合テキストを識別するためのデータ処理システムであって、前記予め選択された制御が、複合テキスト処理を制御するための複数のパラメータに対応し、前記パラメータの各々が、前記予め選択された制御内の対応する値によって表され、第1のパラメータが、複合テキスト処理を制御するための制御タイプを示す値を有し、第2のパラメータが、複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとることを特徴とするシステム。
  28. 前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、第1のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための値の組を含む、請求項27に記載のデータ処理システム。
  29. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項28に記載のデータ処理システム。
  30. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、第2のタイプの複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとる、請求項28に記載のデータ処理システム。
  31. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項30に記載のデータ処理システム。
  32. 前記複数のパラメータがさらに第3のパラメータを含み、前記第3のパラメータが、代替テキスト位置を含む値をとる、請求項27に記載のデータ処理システム。
  33. 複合テキストを処理するためのデータ処理システムであって、
    表示データ・ストリーム内の第1の所定のタイプの制御に応答するように動作可能であり、前記第1の所定のタイプの制御が第1のタイプの複合テキスト処理を制御するための前記第1の所定のタイプの制御内の対応する値によって表される第1のパラメータを含む回路と、
    第1のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するように動作可能な回路と、
    前記第1のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリームにおける前記第1の所定のタイプの制御に続く複合テキスト・ストリングに前記第1のタイプの複合テキスト処理を適用するように動作可能な回路と、
    を備えるデータ処理システム。
  34. 前記第1のタイプの複合テキスト処理が双方向(bidi)処理を含む、請求項33に記載のデータ処理システム。
  35. 前記第1のパラメータが、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値をとり、前記複合テキスト処理をイネーブルにし、ディスエーブルにするための1つ又はそれ以上の値が、前記複合テキストの双方向処理のパラグラフ方向を決定するための1つまたはそれ以上の値を含む、請求項34に記載のデータ処理システム。
  36. 前記第1の所定のタイプの制御が、第2のタイプの複合テキスト処理を制御するための前記所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記システムがさらに、第2のタイプの複合テキスト処理がイネーブルにされているかどうかを判定するように動作可能な回路と、前記第2のタイプの複合テキスト処理がイネーブルにされている場合に、前記表示データ・ストリームにおける前記第1の所定のタイプの制御に続く複合テキスト・ストリングに前記第2のタイプの複合テキスト処理を適用するように動作可能な回路とを備えた、請求項33に記載のデータ処理システム。
  37. 前記第2のタイプの複合テキスト処理がグリフ処理を含む、請求項36に記載のデータ処理システム。
  38. 前記第1のタイプの複合テキスト処理をディスエーブルにするように動作可能な、第2の所定のタイプの制御内の対応する値によって表されるパラメータを含む、前記表示データ・ストリーム内の第2の所定のタイプの制御に応答するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされているかどうかを判定するステップと、前記第1のタイプの複合テキスト処理がディスエーブルにされている場合に、前記複合テキスト・ストリングに第1のタイプの複合テキスト処理を適用する前記ステップをオーバーライドするステップと、を実行するように動作可能な回路をさらに備えた、請求項33に記載のデータ処理システム。
  39. 前記第1の所定のタイプの制御が、代替テキスト位置を決定するための前記第1の所定のタイプの制御内の対応する値によって表される第2のパラメータを含み、前記データ処理システムが、前記第1のタイプの複合テキスト処理がイネーブルにされている場合に前記代替テキスト位置を用いてテキスト位置を設定するように動作可能な回路を含む、請求項33に記載のデータ処理システム。
JP2007502350A 2004-03-11 2005-03-10 表示データ・ストリームにおける複合テキストを識別するシステム及び方法 Pending JP2007527810A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/798,045 US20050200913A1 (en) 2004-03-11 2004-03-11 Systems and methods for identifying complex text in a presentation data stream
PCT/EP2005/051091 WO2005088470A2 (en) 2004-03-11 2005-03-10 Systems and methods for identifying complex text in a presentation data stream

Publications (1)

Publication Number Publication Date
JP2007527810A true JP2007527810A (ja) 2007-10-04

Family

ID=34920194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007502350A Pending JP2007527810A (ja) 2004-03-11 2005-03-10 表示データ・ストリームにおける複合テキストを識別するシステム及び方法

Country Status (10)

Country Link
US (1) US20050200913A1 (ja)
EP (1) EP1730653B1 (ja)
JP (1) JP2007527810A (ja)
KR (1) KR100859766B1 (ja)
CN (1) CN1918565B (ja)
AT (1) ATE410739T1 (ja)
CA (1) CA2559198C (ja)
DE (1) DE602005010221D1 (ja)
TW (1) TWI366768B (ja)
WO (1) WO2005088470A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015545A (ja) * 2008-05-08 2010-01-21 Infoprint Solutions Co Llc 高速カラーコントローラにおけるK−onlyオブジェクトレンダリング用機構
JP2013544395A (ja) * 2010-11-02 2013-12-12 グーグル インコーポレイテッド 双方向テキストチェッカー
JP2016043553A (ja) * 2014-08-22 2016-04-04 スター精密株式会社 プリンタ、印刷システムおよび印刷制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026518A1 (en) * 2004-07-30 2006-02-02 Samsung Electronics Co., Ltd. Apparatus and method for processing text data according to script attribute
US9122655B2 (en) * 2004-11-15 2015-09-01 International Business Machines Corporation Pre-translation testing of bi-directional language display
JP2007240848A (ja) * 2006-03-08 2007-09-20 Seiko Epson Corp 表示プログラム、データ構造及び表示装置
US20070211062A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Methods and systems for rendering complex text using glyph identifiers in a presentation data stream
US8077974B2 (en) 2006-07-28 2011-12-13 Hewlett-Packard Development Company, L.P. Compact stylus-based input technique for indic scripts
US7786994B2 (en) * 2006-10-26 2010-08-31 Microsoft Corporation Determination of unicode points from glyph elements
CN102023965B (zh) * 2009-09-17 2013-12-18 康佳集团股份有限公司 一种适用于显示设备的双向文本布局的方法和系统
US8271873B2 (en) * 2009-10-30 2012-09-18 International Business Machines Corporation Automatically detecting layout of bidirectional (BIDI) text

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1619427A (en) * 1924-10-07 1927-03-01 Jr Thomas F Mccaffery Drawing instrument
US4404753A (en) * 1981-12-15 1983-09-20 Henri Klok Carpenter's saw guide and square
US4461092A (en) * 1982-04-26 1984-07-24 Paraflux Limited Set square
US4773163A (en) * 1985-10-04 1988-09-27 Wolford Jr Otis Marking guide for use with framing studs
US4742619A (en) * 1986-09-25 1988-05-10 Swanson Ronald C Marking tool with wear rims
US4926564A (en) * 1988-12-27 1990-05-22 Mayline Company, Inc. Triangular drafting instrument
US5170568A (en) * 1990-01-02 1992-12-15 Wright Robert A Roofing speed square and method of use
USRE38758E1 (en) * 1990-07-31 2005-07-19 Xerox Corporation Self-clocking glyph shape codes
JPH0793335A (ja) * 1993-06-07 1995-04-07 Internatl Business Mach Corp <Ibm> テキストの言語機能を提供する方法
US5566278A (en) * 1993-08-24 1996-10-15 Taligent, Inc. Object oriented printing system
US5456015A (en) * 1993-12-08 1995-10-10 Applied Concepts Engineering Construction framing square
USD369981S (en) * 1993-12-20 1996-05-21 Leichtung, Inc. Speed rip square
US5575074A (en) * 1995-02-28 1996-11-19 Cottongim; Craig Speed square
US5784071A (en) * 1995-09-13 1998-07-21 Apple Computer, Inc. Context-based code convertor
US5727325A (en) * 1996-05-07 1998-03-17 Mussell; Barry D. Multipurpose square
US6230416B1 (en) * 1997-12-18 2001-05-15 Anthony J. Trigilio Laser square
US6377354B1 (en) * 1998-09-21 2002-04-23 Microsoft Corporation System and method for printing a document having merged text and graphics contained therein
US6490051B1 (en) * 1998-09-21 2002-12-03 Microsoft Corporation Printer driver and method for supporting worldwide single binary font format with built in support for double byte characters
US6583789B1 (en) 1998-12-03 2003-06-24 International Business Machines Corporation Method and system for processing glyph-based quality variability requests
USD422225S (en) * 1998-12-16 2000-04-04 Digangi Joseph Rafter square with level
EP2284688B1 (en) * 1999-03-18 2015-02-25 Seiko Epson Corporation Information processing apparatus for controlling a printer, control method and storage medium carrying computer program
US6574001B2 (en) * 1999-05-04 2003-06-03 Hewlett-Packard Development Co., L.P. Managing font data in a print job
US6393710B1 (en) * 2000-06-14 2002-05-28 Michael R. Hastings Combination tape measure and straight edge apparatus
USD445700S1 (en) * 2000-09-29 2001-07-31 Gray Mapston Triangularly shaped squaring and marking tool
US6940617B2 (en) * 2001-02-09 2005-09-06 Matsushita Electric Industrial Co., Ltd. Printing control interface system and method with handwriting discrimination capability
US6944820B2 (en) * 2001-03-27 2005-09-13 Microsoft Corporation Ensuring proper rendering order of bidirectionally rendered text
US7086004B2 (en) * 2001-04-19 2006-08-01 International Business Machines Corporation Generalized mechanism for unicode metadata
US7319532B2 (en) * 2001-06-28 2008-01-15 Canon Kabushiki Kaisha Printing control apparatus and printing control method capable of accurately printing embedded font
US6622394B2 (en) * 2001-10-17 2003-09-23 Certainteed Corporation Boardwalk triangle-deck square
US7586628B2 (en) * 2003-06-20 2009-09-08 Infoprint Solutions Company, Llc Method and system for rendering Unicode complex text data in a printer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015545A (ja) * 2008-05-08 2010-01-21 Infoprint Solutions Co Llc 高速カラーコントローラにおけるK−onlyオブジェクトレンダリング用機構
JP2013544395A (ja) * 2010-11-02 2013-12-12 グーグル インコーポレイテッド 双方向テキストチェッカー
JP2016043553A (ja) * 2014-08-22 2016-04-04 スター精密株式会社 プリンタ、印刷システムおよび印刷制御方法
US10026026B2 (en) 2014-08-22 2018-07-17 Star Micronics Co., Ltd. Printer, printing system and print control method

Also Published As

Publication number Publication date
WO2005088470A2 (en) 2005-09-22
EP1730653A2 (en) 2006-12-13
WO2005088470A8 (en) 2006-09-08
WO2005088470A3 (en) 2005-12-08
US20050200913A1 (en) 2005-09-15
ATE410739T1 (de) 2008-10-15
CN1918565B (zh) 2011-02-02
CA2559198C (en) 2010-09-14
DE602005010221D1 (de) 2008-11-20
TWI366768B (en) 2012-06-21
CA2559198A1 (en) 2005-09-22
CN1918565A (zh) 2007-02-21
KR100859766B1 (ko) 2008-09-24
KR20060127165A (ko) 2006-12-11
TW200604854A (en) 2006-02-01
EP1730653B1 (en) 2008-10-08

Similar Documents

Publication Publication Date Title
JP2007527810A (ja) 表示データ・ストリームにおける複合テキストを識別するシステム及び方法
US5353388A (en) System and method for document processing
US7831908B2 (en) Method and apparatus for layout of text and image documents
US6825941B1 (en) Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US7570374B2 (en) Document generation apparatus and file conversion system
US7636885B2 (en) Method of determining Unicode values corresponding to the text in digital documents
US5784071A (en) Context-based code convertor
US20130155464A1 (en) Print application
KR100661173B1 (ko) 다이렉트 프린팅 기능을 갖는 프린터 및 그 인쇄방법
US7403297B2 (en) Printing system that manages font resources using system independent resource references
US9013718B2 (en) Print control apparatus, control method thereof, and device driver for converting commands from one format to another
US20060170685A1 (en) System and method for using device dependent fonts in a graphical display interface
US20070115488A1 (en) Methods and systems for multiple encodings within a code page
US6850228B1 (en) Universal file format for digital rich ink data
US9779064B2 (en) Cloud assisted rendering
US7586628B2 (en) Method and system for rendering Unicode complex text data in a printer
CN108804053A (zh) 信息处理装置和存储介质
US20050094172A1 (en) Linking font resources in a printing system
JP2003058528A (ja) 文字処理装置および文字処理方法およびプログラム
US6950209B1 (en) Generating knockout marks for objects
US5570459A (en) Delivering and fetching font information
Rokicki DVIPS: A TEX Driver
EP0852037B1 (en) Unicode converter
US20240354533A1 (en) Printer referencing allocation information to identify target font file for drawing image of character
JP3083748B2 (ja) グリフ・イメージの検索方法と検索装置及びグリフ・イメージ管理システム