JP4056199B2 - マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 - Google Patents
マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 Download PDFInfo
- Publication number
- JP4056199B2 JP4056199B2 JP2000185691A JP2000185691A JP4056199B2 JP 4056199 B2 JP4056199 B2 JP 4056199B2 JP 2000185691 A JP2000185691 A JP 2000185691A JP 2000185691 A JP2000185691 A JP 2000185691A JP 4056199 B2 JP4056199 B2 JP 4056199B2
- Authority
- JP
- Japan
- Prior art keywords
- data string
- character
- processing routine
- characters
- encoding scheme
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
- G06F40/129—Handling non-Latin characters, e.g. kana-to-kanji conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、一般にはデータ処理に関し、より詳しくは、マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品に関する。
【0002】
【従来の技術】
コンピュータ出現以前には、言語は発話され、次に紙の上に形象として書かれた。個人は、これらの形象を認識し、音声と、それによるメッセージの意味とを再現することができる。コンピュータの出現に伴い、テキストを記憶し、再現することができるように、文字をコンピュータのメモリ内のコードとして表すことが必要になった。初期のコンピュータでは、メモリを複数のチャンク(現在、一般に「バイト」と呼ばれる)として構造化し、これらの各チャンクを使用して1キャラクタを表した。しかし、様々なコンピュータが様々なキャラクタ・コード化体系を使用したため、コンピュータ間で情報を交換するのが困難になっていた。
【0003】
コンピュータ業界によって、1バイトの長さを8ビットとする標準が設定された。8ビット・バイトによって、256の異なるキャラクタをコード化することができ、これは英語の大文字を扱うには十分であり、小文字にも拡張することができた。これは、「情報交換用米国標準コード」(ASCII)と呼ばれるようになった。
【0004】
コンピュータが世界中に普及するにつれて、コンピュータは、テキストを扱う場合に、異なる言語のテキストの認識と操作が可能であることが必要になってきた。しかし、ほとんどのコンピュータは、1カ国語で使用され、その結果、各言語用の異なるキャラクタ・セットが生じた。これは、単一言語機用にはうまく機能する。しかし、異言語を使用するマシン間で情報を共有したり送信したりする場合、同じコード・ポイント、すなわちキャラクタ・コーディング化が異なるキャラクタ・セット内の異なるキャラクタを表すことがあるという問題が生じる。
【0005】
異なるキャラクタ・セット内の異なるキャラクタを表す同じコード・ポイントがあるという問題を解消するために、「ユニコード」や「マルチコード」などのマルチバイト・キャラクタ・コード化体系が設定された。たとえば、ユニコードは、多様な人間言語で書かれたテキストをサポートするように作成された16ビットキャラクタ・コード化体系を使用する。マルチバイト・キャラクタ・コード化体系は、各コード・ポイントが固有のキャラクタを表すため、コンピュータ・システムがテキスト情報を曖昧さなしに交換することができるように作成されている。
【0006】
しかし、現在、マルチバイト・キャラクタ・コード化体系で可能なすべてのキャラクタを表示することができるフォント・セットを備えることは一般的に行われていない。一般には、英語などの西欧言語用のほとんどのフォントは、合計65535個のユニコード・キャラクタのうち、最初の256個のみを表示する。したがって、アプリケーション・プログラムが1センテンス内で複数の言語のキャラクタを使用したい場合、または、たとえば英語のテキストと数学記号とを共に含むデータ・ストリングを表示しようとする場合、単一フォント、たとえばTimes Romanではすべてのキャラクタを表示することができない。この限界を克服するために、サン・マイクロシステムズ社は、自社のJava仮想計算機(JVM)に複数ホスト・フォントの概念を導入している。複数ホスト・フォントの概念の実現方法を例示するために、以下のフォント・プロパティ・ファイルから抜粋した一部について検討してみる。
dialog.0=Arial,ANSI_CHARSET
dialog.1=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
dialog.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
#Exclusion Range info,
exclusion.dialog.0=0100-20ab,20ad-ffff
【0007】
このフォント・プロパティ・ファイル内では、Javaフォント・ダイアログが一連のホスト・フォント、すなわち、(上掲の例の)Arial、WindDings、およびSymbolにマップされる。特定のフォントで扱うことができないキャラクタ、たとえばArialを使用する数学記号については、その特定のフォントの除外範囲を指定する。たとえば、上掲の例では、Arialの除外範囲は0x100〜0x20abと0x20ad〜0xfffであり、フォントWingDingsとSymbolには除外範囲が指定されていない。さらに、各フォントには各キャラクタ、たとえば各ユニコード・キャラクタを、基礎となるコード化体系で理解されるバイトにマップするために使用されるコンバータが関連づけられる。一般的な方式は、第1のホスト・フォントによってユニコード・キャラクタを扱うことができない場合、すなわちサポートされていない場合、指定された第2のホスト・フォントを試み、以下同様に試みていくというものである。その目的は、マルチバイト・キャラクタ・セットを望む限り多くサポートしようと試みることである。
【0008】
しかし、複数のホスト・フォントの導入によってパフォーマンスが大幅に低下し、テキスト・ストリングを描画する場合には特に低下する。この場合、ストリング内のすべてのキャラクタについて、検査を2回行わなければならない。第1に、そのキャラクタが指定フォントの除外キャラクタであるかどうかを判断しなければならない。第2に、除外キャラクタでない場合は、その特定のキャラクタを、ISO Latin-1などの基礎となるコード化体系にマップすることができるかどうか判断しなければならない。しかし、このような複数の検査は、それに要する時間の点で、テキスト描画のうちでも高くつく部分になっている。
【0009】
【発明が解決しようとする課題】
本発明の目的は、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタの処理を最適化する方法、システム、およびコンピュータ・プログラム製品を提供することである。
【0010】
【課題を解決するための手段】
上記の目的を達成するために、本明細書で概説し、実施される本発明により、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタ処理を最適化する方法、システム、およびコンピュータ・プログラム製品を開示する。この方法は、(1)データ・ストリングを受け取るステップと、(2)そのデータ・ストリング全体を第1の処理ルーチンに渡すステップと、(3)その後で、データ・ストリングを評価して、データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断するステップとを含む。この方法は、さらに、(4)データ・ストリング全体を第2の処理ルーチンに転送するステップと、(5)データ・ストリング内の限られた数のキャラクタを評価してデータ・ストリングを基礎になるコード化体系の下で変換することができるか否かを判断するステップとを含む。
【0011】
本発明は、複数フォント環境において、データ・ストリング内の個々のキャラクタを検査して、そのキャラクタが所与のフォントの除外キャラクタであるか否かを判断した後、そのキャラクタを基礎となるコード化体系にマップ、すなわち変換することができるか否かを判断する従来の方法が、ASCIIキャラクタしか含まないデータ・ストリングには通常不要であることを認識する。一般には、必要なのは第1のホスト・フォントのみである。すなわち、ほとんどの場合、ASCIIキャラクタは除外キャラクタではなく、それらのキャラクタは基礎となるコード化体系にマップすることができる。したがって、本発明は、複数の関数呼出で各キャラクタを別々に検査するのではなく、データ・ストリング全体またはデータ・ストリング内の限られた数のキャラクタの属性を検査するという広い概念を導入する。この手法により、複数ホスト・フォント環境内で単一バイトASCIIキャラクタのみを含むデータ・ストリングの、マルチバイト・キャラクタ・コーディングを使用した効率的な処理が容易になる。
【0012】
本発明の一実施形態では、データ・ストリングを受け取るステップは、データ入力装置からデータ・ストリングを入力するステップをさらに含む。コンピュータ・キーボードなど、データ入力が可能などのような装置でも、本発明の意図された範囲に十分に含まれることが、当業者なら容易にわかるであろう。
【0013】
本発明の他の実施形態では、第1の処理ルーチンにデータ・ストリングを渡すステップは、第1の処理ルーチンにデータ・ストリングを配列として転送するステップをさらに含む。配列にはテーブル構造やマトリックス構造などのデータ表現が含まれることが当業者なら十分にわかるであろう。
【0014】
本発明の他の実施形態では、第2の処理ルーチンにデータ・ストリングを転送するステップは、第2の処理ルーチンにデータ・ストリングを配列として送るステップをさらに含む。前述のように、配列にはテーブル構造などのデータ表現が含まれることが当業者なら十分にわかるであろう。
【0015】
本発明の他の実施形態では、評価するステップは、論理和ブール演算を使用してデータ・ストリング内のすべてのキャラクタを結合して単一のキャラクタを形成し、その結果の単一のキャラクタが単一バイト・キャラクタであるか否かを判断し、ホスト・フォントの除外範囲を検査して除外範囲に単一バイト・キャラクタが含まれているか否かを判断するステップをさらに含む。
【0016】
以上の説明では、当業者が以下の本発明の詳細な説明をよりよく理解することができるように、本発明の好ましい特徴及び代替の特徴の概略をやや大雑把に述べた。本発明の特許請求の範囲の主題を形成する本発明の他の特徴について、以下に説明する。当業者なら、本発明と同じ目的を実施するために他の構造を設計または修正する基礎として、本開示の概念および特定の実施形態を容易に使用することができることがわかるであろう。また、当業者なら、そのような同等の構成が、本発明の最も広い態様において本発明の趣旨および範囲から逸脱しないこともわかるであろう。
【0017】
【発明の実施の形態】
図面、特に図1を参照すると、本発明の実施に適した環境を備えるコンピュータ・システム100の実施形態の一例を示す。コンピュータ・システム100には、処理装置121と、システム・メモリ122と、システム・メモリ122を処理装置121に結合するシステム・バス123とを含む従来のパーソナル・コンピュータ(PC)120が含まれる。例示の実施形態では、システム・メモリ122は、読取り専用メモリ(ROM)124とランダム・アクセス・メモリ(RAM)125とを含む。起動時などパーソナル・コンピュータ120内の各要素間での情報の転送を容易にする基本ルーチンを含む基本入力/出力システム(BIOS)126が、一般にはROM124に記憶されている。
【0018】
パーソナル・コンピュータは、ハード・ディスク・ドライブ127と、たとえば取外し可能ディスク129との間で読取りおよび書込みを行う磁気ディスク・ドライブ128と、たとえばCD−ROMディスク131の読取りやその他の光媒体との間での読取りまたは書込みを行う光ディスク・ドライブ130とをさらに含む。ハード・ディスク・ドライブ127,磁気ディスク・ドライブ128,および光ディスク・ドライブ130は、それぞれハード・ディスク・ドライブ・インタフェース132、磁気ディスク・ドライブ・インタフェース133、および光ドライブ・インタフェース134によってシステム・バス123に接続されている。
【0019】
ドライブおよびそれらに付随するコンピュータ可読媒体は、パーソナル・コンピュータ120に不揮発性記憶域を提供する。上述のコンピュータ可読媒体の説明ではハード・ディスク、取外し可能磁気ディスク、およびCD−ROMディスクについて言及したが、コンピュータによって読取り可能な他のタイプお媒体、たとえば磁気カセット、フラッシュ・メモリ・カード、および同類のものなども、この例示の動作環境で使用可能であることが当業者なら容易にわかることに留意されたい。
【0020】
ドライブおよびRAM125には、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム136、その他のプログラム・モジュール137、およびプログラム・データ138を含む複数のプログラム・モジュールを記憶することができる。ユーザは、キーボード140およびポインティング・デバイス142、たとえばマウスを介してパーソナル・コンピュータ120にコマンドと情報を入力することができる。その他のデータ入力装置として、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星アンテナ、スキャナ、または同様のものを含めることができる。データ入力装置は、一般には、システム・バス123に結合されたシリアル・ポート・インタフェース146を介して処理装置121に接続されるが、ゲーム・ポートやユニバーサル・シリアル・バス(USB)などの他のタイプのインタフェースを使用して接続することもできる。モニタ147またはその他のタイプの表示装置も、ビデオ・アダプタ148などのインタフェースを介してシステム・バス123に接続される。
【0021】
パーソナル・コンピュータ120は、リモート・コンピュータ149などの1つまたは複数のリモート・コンピュータとの論理接続を使用してネットワーク環境で動作させることもできる。リモート・コンピュータ149は、サーバ、ルータ、対等装置、またはその他の共通ネットワーク・ノードとすることができ、一般にはパーソナル・コンピュータ120に関して上述した要素の一部または全部を含むが、メモリ記憶装置150しか図示していない。図1に示す論理接続には、ローカル・エリア・ネットワーク(LAN)151およびワイド・エリア・ネットワーク(WAN)152が含まれる。
【0022】
LANネットワーク環境で使用する場合、パーソナル・コンピュータ120はネットワーク・インタフェース153を介してLAN151に接続される。WANネットワーク環境で使用する場合、パーソナル・コンピュータ120は、一般にモデム154、またはインターネットなどのWAN152を介した通信を確立するその他の手段を含む。モデム154は、内蔵または外付けとすることができ、シリアル・ポート・インタフェース146を介してシステム・バス123に接続される。ネットワーク環境では、パーソナル・コンピュータ120に関して図示されているプログラム・モジュールまたはその一部をリモート・メモリ記憶装置に記憶することができる。図のネットワーク接続は例示であり、コンピュータ間の通信リンクを確立するその他の手段も有利に使用可能であることは、容易にわかるであろう。
【0023】
上述の説明は、本発明を有利に実施することができる例示のコンピューティング環境を簡単に概説することを意図したものであることに留意されたい。図の例示の環境について分散コンピューティング環境の一般的な状況内で説明したが、本発明は他の環境でも実施可能であることが当業者ならわかるであろう。分散コンピューティング環境では、通信ネットワークを介してリンクされたリモート処理装置によってタスクが実行される。プログラム・モジュールは、ローカルとリモートの両方のメモリ記憶装置にロードすることができる。プログラム・モジュール、たとえばルーチン、プログラム、構成要素、およびデータ構造は、特定のタスクを実行するか、または特定の抽象データ・タイプを実現する。本発明は、オペレーティング・システム上で稼働するアプリケーション・プログラムの環境でも、パーソナル・コンピュータと共に、またはその他のプログラム・モジュールと組み合わせて、実施可能である。さらに、本発明は、ハンドヘルド装置や、マルチプロセッサ・システム、ミニコンピュータ、メインフレーム・コンピュータを含む、その他のコンピュータ・システム構成でも実施可能であることが、当業者なら容易にわかるであろう。
【0024】
次に図2を参照すると、本発明の原理を使用するデータ表示処理システム200の高水準ブロック図が図示されている。処理システム200は、それぞれTimes Roman、Arial、Courierなど複数のホスト・フォント230a、230b、230cと、ISO Latin-1などの基礎となるデータ・コード化体系240とに結合されたカーネル220を含むオペレーティング・システム210を含む。一般に、オペレーティング・システム210は、キーボードなどのデータ入力装置250から、モニタなどの表示装置270上に表示する、典型的には複数のキャラクタから成るデータ・ストリング260を受け取る。データ・ストリング260は必ずしもデータ入力装置250から供給される必要はなく、インターネットまたはアプリケーション・プログラムから供給されてもよいことに留意されたい。データ・ストリング260内のキャラクタはコード化される。すなわち、ユニコードやマルチコードなどのマルチバイト・キャラクタ・コード化体系を使用して表される。有利な実施形態では、データ・ストリング260内の個々のキャラクタは16ビットで表される。
【0025】
前述のように、現在、データ・ストリング260内の各キャラクタについて2回の検査を行わなければならない。まず最初に、キャラクタが指定ホスト・フォントの除外キャラクタであるか否かを判断しなければならない。キャラクタが指定ホスト・フォントの除外キャラクタでないと判断された場合、その後でそのキャラクタを基礎となるコード化体系240にマップすることができるか否かを調べる他の判断が行われる。これらの検査は、テキスト・ストリングを描画する時間「オーバヘッド」のかなりの部分を占める。本発明は、複数フォント環境において、データ・ストリング内の個々のキャラクタを検査してキャラクタが所与のフォントの除外キャラクタであるか否かを判断し、次に、キャラクタが基礎となるコード化体系にマップ、すなわち変換することができるか否かを判断する従来の方法が、ASCIIキャラクタのみを含むデータ・ストリングには不要であることを認識する。一般に、必要なのは第1のホスト・フォントのみである。すなわち、ほとんどの場合、ASCIIキャラクタは除外キャラクタではなく、基礎となるコード化体系にマップすることができる。
【0026】
次に図3を参照すると、本発明の原理により、単一バイト・キャラクタの処理を最適化する方法の一実施形態を示す高水準プロセス流れ図300が図示されている。この方法は、開始ステップ310から始まり、図2に示すデータ・ストリング260に類似したデータ・ストリングsを表示する要求を受け取る。表示要求を受け取ると、データ・ストリング全体が第1の処理ルーチン320に渡され、指定されたホスト・フォントの除外キャラクタであるキャラクタがデータ・ストリングに含まれているか否かが判断される。有利な実施形態では、データ・ストリングsは第1の処理ルーチン320に配列、すなわちキャラクタのテーブルとして送られる。第1の処理ルーチン320の2つの実施形態について、図3の参照を続けながら、図4および図5を参照して説明する。しかし、本発明の上記の実施形態およびシステムは一般に、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せでも実施可能であることが、当業者ならわかるであろう。
【0027】
図4を参照すると、本発明の原理による、図3に図示した第1の処理ルーチン320の第1の実施形態の高水準フローチャート400が図示されている。この例示の第1の実施形態では、第1の処理ルーチン320について、IsExcludedAnyというソフトウェア関数呼出の状況で説明する。この関数呼出IsExcludedAnyは、開始ステップ410に示すように、データ・ストリングs全体の受領により開始される。次に、判断ステップ420に示すように、プロセスがデータ・ストリングsの終わりにきたか否かを判断する。判断ステップ420での判断が、データ・ストリングsの終わりである場合、偽を返すステップ430に制御が移る。次に、偽を返すステップ430に示すように、第1の処理ルーチン320に偽を示す標識が返される。
【0028】
しかし、判断ステップ420で、データ・ストリングsの終わりではないと判断された場合、制御は次のキャラクタを処理するステップ440に移る。ステップ440に示すように、データ・ストリングs内の次の未検査キャラクタが判断ステップ450に渡され、その未検査キャラクタが指定フォントの除外キャラクタであるか否かが判断される。この判断は、キャラクタのビット単位表現を検査して指定フォントのために定義された除外範囲内に含まれるか否かを調べることによって行われる。
【0029】
キャラクタが除外キャラクタであると確定した場合、真を返すステップ460に示すように、第1の処理ルーチン320に真を示す標識が返される。しかし、キャラクタが除外キャラクタではないと判断された場合、制御は判断ステップ420に戻り、データ・ストリングの終わりを示すキャラクタに遭遇するまでこの評価プロセスを繰り返す。例示のIsExcludedAnyアルゴリズムを表1に示す。
【0030】
isExcluded関数は、当技術分野で周知の従来のアルゴリズムであり、したがって本明細書では詳述しないことに留意されたい。
【0031】
次に図5を参照すると、本発明の原理による、図3に示す第1の処理ルーチン320の第2の実施形態の高水準フローチャート500が示されている。第1の処理ルーチン320は、データ・ストリングsを受け取るステップ510に示すように、データ・ストリングs全体を受け取ると開始される。次に、ステップ520に示すように、データ・ストリングs内のすべてのキャラクタが結合され、その結果単一のキャラクタが形成される。これは、論理和ブール演算を使用して、すべてのキャラクタのビット単位の論理和をとることによって行われる。
【0032】
単一結果キャラクタの形成の次に、判断ステップ530に示すように、結果キャラクタを評価して単一バイト・キャラクタであるか否かを判断する。結果キャラクタが単一バイト・キャラクタではないと判断された場合、制御は真を戻すステップ540に移る。次に、ステップ540に示すように、真を示す標識が第1の処理ルーチン320に返される。
【0033】
しかし、判断ステップ530で、結果キャラクタが単一バイト・キャラクタであると判断された場合、制御はもう一つの判断ステップ550に移る。判断ステップ550に示すように、指定ホスト・フォントのために定義された除外範囲を検査して、それらの範囲に単一バイト・キャラクタが含まれているか否かを判断する。除外範囲に単一バイト・キャラクタが含まれていると確定した場合、ステップ540に示すように、真を示す標識が第1の処理ルーチン320に返される。
【0034】
一方、単一バイト・キャラクタが除外キャラクタに含まれていない、すなわち、除外範囲に単一バイト・キャラクタが含まれていないと判断された場合、偽を返すステップ560に制御が移る。次に、ステップ560に示すように、偽を示す標識が第1の処理ルーチン320に返される。
【0035】
図3に戻って参照すると、前述のように、第1の処理ルーチン320の結果は真または偽の標識である。結果が真の標識だった場合、すなわちデータ・ストリングsが除外キャラクタを含む場合、データ・ストリングsは従来のプロセス330に渡される。簡単に説明すれば、図のように、従来のプロセス330は従来のルーチンを使用してデータ・ストリングsを解析してサブストリングにし、各サブストリングは互換性のあるホスト・フォントによって扱われる。
【0036】
偽の標識の場合、データ・ストリングs全体が第2の処理ルーチン340に再び転送される。有利な実施形態では、データ・ストリングsは、配列、たとえばキャラクタのマトリックスとして第2の処理ルーチン340に送られる。次に、図のように、第2の処理ルーチン340はデータ・ストリングs内の限られた数のキャラクタを評価して、すべてのキャラクタが基礎となるコード化体系の下に変換可能であるか否かを判断する。第2の処理ルーチン340の実施例のプロセスの流れを、図3を継続して参照しながら図6を参照して、以下に述べる。
【0037】
図6を参照すると、図3に示す第2の処理ルーチン340の実施形態の高水準フローチャート600が図示されている。この例示の実施形態では、第2の処理ルーチン340について、CanConvertAllという関数呼出に関して説明する。このプロセスは、開始ステップ610に示すように、CanConvertAllが第1の処理ルーチン320からデータ・ストリングsを受け取ると開始される。
【0038】
データ・ストリングsを受け取った後、ステップ620に示すように、データ・ストリングs内の最小値を持つキャラクタと最大値を持つキャラクタが識別される。次に、ステップ630に示すように識別された最小値キャラクタを評価して、その値、すなわちキャラクタのビット単位表現が、基礎となるコード化体系によって指定された範囲内にあるか否かを判断する。キャラクタが指定範囲の1つの中にない場合、偽を返すステップ640に制御が移り、その時点で第2の処理ルーチン340に偽の標識が返される。しかし、最小値キャラクタがサポートされている指定範囲の1つの中にある場合、すなわち基礎となるコード化体系によって変換可能な場合、ステップ650に示すようにその範囲に第1の識別子r1が割り当てられる。
【0039】
第1の識別子r1の割当ての後で、ステップ660に示すように、識別された最大値キャラクタを評価して、その値が基礎となるコード化体系によってサポートされている範囲内にあるか否かを判断する。キャラクタの最大値が指定範囲の1つの中にない場合、偽を返すステップ640に制御が移り、次に、第2の処理ルーチン340に偽の標識を返す。しかし、最大値キャラクタが基礎となるコード化体系によってサポートされている指定範囲の1つの中にある場合、ステップ670に示すようにその範囲に第2の識別子r2が割り当てられる。
【0040】
第2の識別子r2の割当ての後に、決定ステップ680に示すように、第1と第2の識別子r1とr2をそれぞれ互いに比較する。ここで、第1と第2の識別子r1とr2に関連づけられた特定の範囲を互いに比較し、それらが同じか否か判断する。比較の結果、第1と第2の識別子r1、r2が等しくない場合、すなわち最大値キャラクタと最小値キャラクタが特定の1つの範囲内にない場合、図のように、偽を返すステップ640に制御が移り、次に第2の処理ルーチン340に偽の標識が返される。一方、第1と第2の両方の識別子r1、r2が等しい場合、図のように、真を返すステップ690に制御が移り、第2の処理ルーチン340に真の標識が返される。
【0041】
CanConvertAllの実施はコンバータ機能に大きく依存することに留意されたい。上述の例では、特定のコンバータについて変換可能なキャラクタの範囲が多い場合、キャラクタ・ストリング全体をCanConvertAllに渡すことができ、CanConvertAllは最小値キャラクタと最大値キャラクタのみを検査する。両方のキャラクタが1つの範囲内にある場合、他のキャラクタも変換可能であると結論づける。この場合、データ・ストリング内の他のキャラクタを明示的に検査する必要はない。
【0042】
図3に戻って参照すると、第2の処理ルーチン340が偽の標識を受け取ると、データ・ストリングsは、さらに処理するために従来のプロセス330に渡される(上記参照)。他方、第2の処理ルーチン340が真の標識を受け取った場合、すなわちデータ・ストリングs内のすべてのキャラクタを基礎となるコード化体系にマップすることができる場合、データ・ストリングsは、指定されたフォントと共に、表示のために基礎となるグラフィック・ルーチン350に渡される。
【0043】
要約すると、関数呼出IsExcludedAnyとCanConvertAllの結果がそれぞれ偽と真の場合、データ・ストリング内のどのキャラクタも除外されず、すべてのキャラクタを基礎となるコード化体系にマップすることができると結論づけることができる。データ・ストリング全体を「より下位レベルの」描画ルーチンにただちに渡すことができ、従来の関数、すなわちisExcludedおよびCanConvertを個々のキャラクタに繰り返し使用する必要がない。
【0044】
本発明についてコンピュータ・システムの環境で説明したが、本発明は様々な形態のコンピュータ・プログラム製品として配布することもできることは、当業者なら容易にわかるであろうことに留意されたい。本発明は、実際に配布を行うために使用される特定のタイプの信号伝達媒体、すなわちコンピュータ使用可能媒体にはかかわらず、適用される。信号伝達媒体の例としては、フロッピィ・ディスクやハード・ディスク・ドライブなどの記録可能型媒体、ディジタルおよびアナログ通信リンクなどの伝送型媒体などがある。
【0045】
好ましい実施形態では、本発明は、本明細書に記載の方法を実行するようにプログラムされたコンピュータ・システムで実施される。したがって、有利な一実施形態では、本明細書に記載の方法を実行する命令のセットを、ほぼ図1に示すように構成された1つまたは複数のコンピュータ・システムのRAMに常駐させる。コンピュータ・システムが必要とするまで、この命令のセットは別のコンピュータ記憶装置、たとえばディスク・ドライブにコンピュータ・プログラム製品として記憶することができる。他の有利な実施形態では、このコンピュータ・プログラム製品は、他のコンピュータで記憶し、内部または外部通信ネットワーク、たとえばそれぞれLANまたはWANによってユーザのワークステーションに送ることもできる。
【0046】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0047】
(1)オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタの処理を最適化する方法であって、
データ・ストリングを受け取るステップと、
前記データ・ストリング全体を第1の処理ルーチンに渡すステップと、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断するステップとを含む方法。
(2)前記データ・ストリング全体を第2の処理ルーチンに転送するステップと、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断するステップとをさらに含む、上記(1)に記載の方法。
(3)データ・ストリングを受け取る前記ステップが、データ入力装置から前記データ・ストリングを入力するステップをさらに含む、上記(1)に記載の方法。
(4)前記データ・ストリング全体を第1の処理ルーチンに渡すステップが、前記データ・ストリングを前記第1の処理ルーチンに配列として送るステップをさらに含む、上記(1)に記載の方法。
(5)前記データ・ストリングを前記第2の処理ルーチンに転送する前記ステップが、前記データ・ストリングを前記第2の処理ルーチンに配列として送るステップをさらに含む、上記(2)に記載の方法。
(6)前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する前記ステップが、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成するステップと、
前記単一のキャラクタが単一バイト・キャラクタであるか否かを判断するステップと、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト・キャラクタを含むか否かを判断するステップとをさらに含む、上記(1)に記載の方法。
(7)オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタの処理を最適化する方法を実施するコンピュータ実行可能命令が記憶されたコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、実行されると、
データ・ストリングを受け取るステップと、
前記データ・ストリング全体を第1の処理ルーチンに渡すステップと、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断するステップとを実行する、コンピュータ可読媒体。
(8)前記コンピュータ実行可能命令が、
前記データ・ストリング全体を第2の処理ルーチンに転送するステップと、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断するステップとをさらに含む、上記(7)に記載のコンピュータ可読媒体。
(9)データ・ストリングを受け取る前記ステップが、データ入力装置から前記データ・ストリングを入力するステップをさらに含む、上記(7)に記載のコンピュータ可読媒体。
(10)前記データ・ストリング全体を第1の処理ルーチンに渡す前記ステップが、前記データ・ストリングを前記第1の処理ルーチンに配列として送るステップをさらに含む、上記(7)に記載のコンピュータ可読媒体。
(11)前記データ・ストリングを前記第2の処理ルーチンに転送する前記ステップが、前記データ・ストリングを前記第2の処理ルーチンに配列として送るステップをさらに含む、上記(8)に記載のコンピュータ可読媒体。
(12)前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する前記ステップが、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成するステップと、
前記単一のキャラクタが単一バイト・キャラクタであるか否かを判断するステップと、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト・キャラクタを含むか否かを判断するステップとをさらに含む、上記(7)に記載のコンピュータ可読媒体。
(13)コンピュータ使用可能媒体と、
前記媒体において実施され、オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタの処理を最適化するコンピュータ可読プログラム・コード手段とを含むコンピュータプログラム製品であって、
前記コンピュータ可読プログラム・コード手段が、
データ・ストリングを受け取る手段と、
前記データ・ストリング全体を第1の処理ルーチンに渡す手段と、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する手段とを実行する、コンピュータ・プログラム製品。
(14)前記コンピュータ可読プログラム・コード手段が、
前記データ・ストリング全体を第2の処理ルーチンに転送する手段と、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する手段とをさらに含む、上記(13)に記載のコンピュータ・プログラム製品。
(15)データ・ストリングを受け取る前記手段が、データ入力装置から前記データ・ストリングを入力する手段をさらに含む、上記(13)に記載のコンピュータ・プログラム製品。
(16)前記データ・ストリング全体を第1の処理ルーチンに渡す前記手段が、前記データ・ストリングを前記第1の処理ルーチンに配列として送る手段をさらに含む、上記(13)に記載のコンピュータ・プログラム製品。
(17)前記データ・ストリングを前記第2の処理ルーチンに転送する前記手段が、前記データ・ストリングを前記第2の処理ルーチンに配列として送る手段をさらに含む、上記(14)に記載のコンピュータ・プログラム製品。
(18)前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する前記手段が、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成する手段と、
前記単一のキャラクタが単一バイト・キャラクタであるか否かを判断する手段と、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト・キャラクタを含むか否かを判断する手段とをさらに含む、上記(13)に記載のコンピュータ・プログラム製品。
(19)オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト・キャラクタの処理を最適化するシステムであって、
データ・ストリングを受け取る手段と、
前記データ・ストリング全体を第1の処理ルーチンに渡す手段と、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する手段とを含むシステム。
(20)前記データ・ストリング全体を第2の処理ルーチンに転送する手段と、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する手段とをさらに含む、上記(19)に記載のシステム。
(21)前記データ・ストリング全体を第1の処理ルーチンに渡す前記手段が、前記データ・ストリングを前記第1の処理ルーチンに配列として送る手段をさらに含む、上記(19)に記載のシステム。
(22)前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する前記手段が、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成する手段と、
前記単一のキャラクタが単一バイト・キャラクタであるか否かを判断する手段と、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト・キャラクタを含むか否かを判断する手段とをさらに含む、上記(19)に記載のシステム。
【図面の簡単な説明】
【図1】本発明の実施に適した環境を備えるコンピュータ・システムの環境の一例を示す図である。
【図2】本発明の原理を採用したデータ表示処理システムの一実施形態を示す高水準ブロック図である。
【図3】本発明の原理による、単一バイト・キャラクタの処理を最適化する方法の一実施形態を示す高水準プロセス流れ図である。
【図4】本発明の原理による、図3に示す第1の処理ルーチンの第1の実施形態を示す高水準フローチャートである。
【図5】本発明の原理による、図3に示す第1の処理ルーチンの第2の実施形態を示す高水準フローチャートである。
【図6】図3に示す第2の処理ルーチンの一実施形態を示す高水準フローチャートである。
【符号の説明】
100 コンピュータ・システム
120 パーソナル・コンピュータ
122 システム・メモリ
123 システム・バス
124 読取り専用メモリ
125 ランダム・アクセス・メモリ
127 ハード・ディスク・ドライブ
128 磁気ディスク・ドライブ
130 光ディスク・ドライブ
132 ハード・ディスク・ドライブ・インタフェース
136 アプリケーション・プログラム
137 プログラム・モジュール
138 プログラム・データ
140 キーボード
142 ポインティング・デバイス
147 モニタ
149 リモート・コンピュータ
150 メモリ記憶装置
151 ローカル・エリア・ネットワーク
152 ワイド・エリア・ネットワーク
153 ネットワーク・インタフェース
200 データ表示処理システム
210 オペレーティング・システム
220 カーネル
230a ホスト・フォント
240 コード化体系
260 データ・ストリング
270 表示装置
Claims (10)
- オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト系キャラクタの処理を最適化する方法であって、
データ・ストリングを受け取るステップと、
前記データ・ストリング全体を第1の処理ルーチンに渡すステップと、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断するステップと、
前記データ・ストリング全体を第2の処理ルーチンに転送するステップと、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断するステップとを含み、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する前記ステップが、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成するステップと、
前記単一のキャラクタが単一バイト系キャラクタであるか否かを判断するステップと、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト系キャラクタを含むか否かを判断するステップとをさらに含む
方法。 - データ・ストリングを受け取る前記ステップが、データ入力装置から前記データ・ストリングを入力するステップをさらに含む、請求項1に記載の方法。
- 前記データ・ストリング全体を第1の処理ルーチンに渡すステップが、前記データ・ストリングを前記第1の処理ルーチンに配列として送るステップをさらに含む、請求項1に記載の方法。
- 前記データ・ストリングを前記第2の処理ルーチンに転送する前記ステップが、前記データ・ストリングを前記第2の処理ルーチンに配列として送るステップをさらに含む、請求項1に記載の方法。
- オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト系キャラクタの処理を最適化する方法を実施するコンピュータ実行可能命令が記憶されたコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、実行されると、 データ・ストリングを受け取るステップと、
前記データ・ストリング全体を第1の処理ルーチンに渡すステップと、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断するステップと、
前記データ・ストリング全体を第2の処理ルーチンに転送するステップと、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断するステップと含み、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する前記ステップが、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成するステップと、
前記単一のキャラクタが単一バイト系キャラクタであるか否かを判断するステップと、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト系キャラクタを含むか否かを判断するステップとをさらに含む
コンピュータ可読媒体。 - データ・ストリングを受け取る前記ステップが、データ入力装置から前記データ・ストリングを入力するステップをさらに含む、請求項5に記載のコンピュータ可読媒体。
- 前記データ・ストリング全体を第1の処理ルーチンに渡す前記ステップが、前記データ・ストリングを前記第1の処理ルーチンに配列として送るステップをさらに含む、請求項5に記載のコンピュータ可読媒体。
- 前記データ・ストリングを前記第2の処理ルーチンに転送する前記ステップが、前記データ・ストリングを前記第2の処理ルーチンに配列として送るステップをさらに含む、請求項5に記載のコンピュータ可読媒体。
- オペレーティング・システム内で使用されている基礎となるデータ・コード化体系と関連して、マルチバイト・キャラクタ・コード化体系内での単一バイト系キャラクタの処理を最適化するシステムであって、
データ・ストリングを受け取る手段と、
前記データ・ストリング全体を第1の処理ルーチンに渡す手段と、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する手段と、
前記データ・ストリング全体を第2の処理ルーチンに転送する手段と、
前記データ・ストリング内の限定された数のキャラクタを評価して、前記データ・ストリングが基礎となる前記コード化体系の下で変換することができるか否かを判断する手段とを含み、
前記データ・ストリングを評価して前記データ・ストリング内のいずれかのキャラクタがホスト・フォントの除外キャラクタであるか否かを判断する前記手段が、
論理和ブール演算を使用して前記データ・ストリング内のすべてのキャラクタを結合し、単一のキャラクタを形成する手段と、
前記単一のキャラクタが単一バイト系キャラクタであるか否かを判断する手段と、
前記ホスト・フォントの除外範囲を検査して前記除外範囲が単一バイト系キャラクタを含むか否かを判断する手段とをさらに含む
システム。 - 前記データ・ストリング全体を第1の処理ルーチンに渡す前記手段が、前記データ・ストリングを前記第1の処理ルーチンに配列として送る手段をさらに含む、請求項9に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/339883 | 1999-06-25 | ||
US09/339,883 US6622239B1 (en) | 1999-06-25 | 1999-06-25 | Method, system and computer program product for optimization of single byte character processing employed within a multibyte character encoding scheme |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001101172A JP2001101172A (ja) | 2001-04-13 |
JP4056199B2 true JP4056199B2 (ja) | 2008-03-05 |
Family
ID=23331039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000185691A Expired - Fee Related JP4056199B2 (ja) | 1999-06-25 | 2000-06-21 | マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6622239B1 (ja) |
JP (1) | JP4056199B2 (ja) |
CN (1) | CN1290886B (ja) |
CA (1) | CA2307359C (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2426496A1 (en) * | 2003-04-24 | 2004-10-24 | Ibm Canada Limited - Ibm Canada Limitee | Processing fixed-format data in a unicode environment |
US6861963B1 (en) * | 2003-11-07 | 2005-03-01 | Microsoft Corporation | Encoding conversion fallback |
JP2005332088A (ja) * | 2004-05-18 | 2005-12-02 | Canon Inc | 文書生成装置およびファイル変換システム |
US7400271B2 (en) * | 2005-06-21 | 2008-07-15 | International Characters, Inc. | Method and apparatus for processing character streams |
KR100755533B1 (ko) * | 2005-07-25 | 2007-09-06 | 주식회사 팬택 | 캐릭터 셋 생성 방법 및 그 장치 |
US20080086694A1 (en) * | 2006-09-11 | 2008-04-10 | Rockwell Automation Technologies, Inc. | Multiple language development environment using shared resources |
US8595615B2 (en) * | 2007-02-07 | 2013-11-26 | International Business Machines Corporation | System and method for automatic stylesheet inference |
US8156432B2 (en) * | 2007-11-14 | 2012-04-10 | Zih Corp. | Detection of UTF-16 encoding in streaming XML data without a byte-order mark and related printers, systems, methods, and computer program products |
CN102541822B (zh) * | 2010-12-21 | 2014-07-02 | 航天信息股份有限公司 | 通信过程中汉字的处理方法和装置 |
JP6397343B2 (ja) * | 2015-01-28 | 2018-09-26 | 株式会社日立社会情報サービス | 情報処理装置、および、情報処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870084A (en) * | 1996-11-12 | 1999-02-09 | Thomson Consumer Electronics, Inc. | System and method for efficiently storing and quickly retrieving glyphs for large character set languages in a set top box |
US6323864B1 (en) * | 1997-06-30 | 2001-11-27 | Sun Microsystems, Inc. | Using and accessing information from fonts in multiple formats |
-
1999
- 1999-06-25 US US09/339,883 patent/US6622239B1/en not_active Expired - Lifetime
-
2000
- 2000-05-01 CA CA002307359A patent/CA2307359C/en not_active Expired - Fee Related
- 2000-06-15 CN CN00118850XA patent/CN1290886B/zh not_active Expired - Fee Related
- 2000-06-21 JP JP2000185691A patent/JP4056199B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2307359C (en) | 2009-04-21 |
JP2001101172A (ja) | 2001-04-13 |
CN1290886A (zh) | 2001-04-11 |
US6622239B1 (en) | 2003-09-16 |
CA2307359A1 (en) | 2000-12-25 |
CN1290886B (zh) | 2010-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6326953B1 (en) | Method for converting text corresponding to one keyboard mode to text corresponding to another keyboard mode | |
US6400287B1 (en) | Data structure for creating, scoping, and converting to unicode data from single byte character sets, double byte character sets, or mixed character sets comprising both single byte and double byte character sets | |
US7092871B2 (en) | Tokenizer for a natural language processing system | |
US7260574B2 (en) | Method and system for mapping strings for comparison | |
JP2502021B2 (ja) | 多バイトデ―タ変換方法及びシステム | |
US8010340B2 (en) | Method, system and computer program product for national language support using a multi-language property file | |
JP2782478B2 (ja) | 自国言語サポートプログラムのテスト方法およびテスト装置 | |
US6910183B2 (en) | File tagging and automatic conversion of data or files | |
US7278100B1 (en) | Translating a non-unicode string stored in a constant into unicode, and storing the unicode into the constant | |
JP4056199B2 (ja) | マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 | |
US20030182103A1 (en) | Unicode input method editor | |
Hussain et al. | Urdu computing standards: Urdu zabta takhti (uzt) 1.01 | |
US7051278B1 (en) | Method of, system for, and computer program product for scoping the conversion of unicode data from single byte character sets, double byte character sets, or mixed character sets comprising both single byte and double byte character sets | |
JP4451908B2 (ja) | ユニコード・コンバータ | |
Bettels et al. | Unicode: A universal character code | |
KR100399495B1 (ko) | 소스 스트링의 타겟 스트링으로의 변환 방법, 이의 컴퓨터시스템 및 프로그램 제품 | |
JPH10105149A (ja) | フォント表示をコンピュータで実施する方法及びそのプログラムを記録した記録媒体 | |
US7468683B2 (en) | Encoding conversion fallback | |
US6032165A (en) | Method and system for converting multi-byte character strings between interchange codes within a computer system | |
US6373409B1 (en) | Method and computer program product for implementing text conversion table compression | |
US20040199376A1 (en) | Method and apparatus for compiling two-level morphology rules | |
KR100586000B1 (ko) | 크로스 플랫폼 구성을 가능하게 하는 방법 및 장치 | |
JPH036624A (ja) | 複数コード系に対応する翻訳リスト出力処理方式 | |
JPH08202693A (ja) | 文字デ−タ処理装置 | |
JPH10291343A (ja) | フォントデータ管理方法および装置、ならびに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040928 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041026 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050701 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071211 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |