JP2001101172A - マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 - Google Patents

マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品

Info

Publication number
JP2001101172A
JP2001101172A JP2000185691A JP2000185691A JP2001101172A JP 2001101172 A JP2001101172 A JP 2001101172A JP 2000185691 A JP2000185691 A JP 2000185691A JP 2000185691 A JP2000185691 A JP 2000185691A JP 2001101172 A JP2001101172 A JP 2001101172A
Authority
JP
Japan
Prior art keywords
data string
characters
character
processing routine
computer
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.)
Granted
Application number
JP2000185691A
Other languages
English (en)
Other versions
JP4056199B2 (ja
Inventor
E Peter Won Wei
ウェイ・イー・ピーター・ウォン
Lee Washington Bruce
ブルース・リー・ワーシントン
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 JP2001101172A publication Critical patent/JP2001101172A/ja
Application granted granted Critical
Publication of JP4056199B2 publication Critical patent/JP4056199B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • 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

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)

Abstract

(57)【要約】 (修正有) 【課題】 オペレーティング・システム内で使用されて
いる基礎となるデータコード化体系と関連して、マルチ
バイト・キャラクタ・コード化体系内で使用されている
単一バイト・キャラクタの処理を最適化する方法、シス
テム、およびコンピュータ・プログラム製品を提供す
る。 【解決手段】 この方法は、(1)データ・ストリング
を受け取るステップと、(2)データ・ストリング全体
を第1の処理ルーチンに渡すステップと、(3)データ
・ストリングを評価して、データ・ストリング内のいず
れかのキャラクタがホスト・フォントの除外キャラクタ
であるか否かを判断するステップとを含む。この方法
は、さらに、(4)データ・ストリング全体を第2の処
理ルーチンに転送するステップと、(5)前記データ・
ストリング内の限定された数のキャラクタを評価して、
データ・ストリングを基礎となるコード化体系の下で変
換することができるか否かを判断するステップとを含
む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にはデータ処
理に関し、より詳しくは、マルチバイト・キャラクタ・
コード化体系内で使用される単一バイト・キャラクタ処
理の最適化の方法、システム、およびコンピュータ・プ
ログラム製品に関する。
【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の除外範囲は0
x100〜0x20abと0x20ad〜0xfffであり、フォントWingDin
gsと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内の各要素間での情報の転送を容易に
する基本ルーチンを含む基本入力/出力システム(BI
OS)126が、一般にはROM124に記憶されてい
る。
【0018】パーソナル・コンピュータは、ハード・デ
ィスク・ドライブ127と、たとえば取外し可能ディス
ク129との間で読取りおよび書込みを行う磁気ディス
ク・ドライブ128と、たとえばCD−ROMディスク
131の読取りやその他の光媒体との間での読取りまた
は書込みを行う光ディスク・ドライブ130とをさらに
含む。ハード・ディスク・ドライブ127,磁気ディス
ク・ドライブ128,および光ディスク・ドライブ13
0は、それぞれハード・ディスク・ドライブ・インタフ
ェース132、磁気ディスク・ドライブ・インタフェー
ス133、および光ドライブ・インタフェース134に
よってシステム・バス123に接続されている。
【0019】ドライブおよびそれらに付随するコンピュ
ータ可読媒体は、パーソナル・コンピュータ120に不
揮発性記憶域を提供する。上述のコンピュータ可読媒体
の説明ではハード・ディスク、取外し可能磁気ディス
ク、およびCD−ROMディスクについて言及したが、
コンピュータによって読取り可能な他のタイプお媒体、
たとえば磁気カセット、フラッシュ・メモリ・カード、
および同類のものなども、この例示の動作環境で使用可
能であることが当業者なら容易にわかることに留意され
たい。
【0020】ドライブおよびRAM125には、オペレ
ーティング・システム、1つまたは複数のアプリケーシ
ョン・プログラム136、その他のプログラム・モジュ
ール137、およびプログラム・データ138を含む複
数のプログラム・モジュールを記憶することができる。
ユーザは、キーボード140およびポインティング・デ
バイス142、たとえばマウスを介してパーソナル・コ
ンピュータ120にコマンドと情報を入力することがで
きる。その他のデータ入力装置として、マイクロフォ
ン、ジョイスティック、ゲーム・パッド、衛星アンテ
ナ、スキャナ、または同様のものを含めることができ
る。データ入力装置は、一般には、システム・バス12
3に結合されたシリアル・ポート・インタフェース14
6を介して処理装置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を含む。一般に、オペレーティング・システム2
10は、キーボードなどのデータ入力装置250から、
モニタなどの表示装置270上に表示する、典型的には
複数のキャラクタから成るデータ・ストリング260を
受け取る。データ・ストリング260は必ずしもデータ
入力装置250から供給される必要はなく、インターネ
ットまたはアプリケーション・プログラムから供給され
てもよいことに留意されたい。データ・ストリング26
0内のキャラクタはコード化される。すなわち、ユニコ
ードやマルチコードなどのマルチバイト・キャラクタ・
コード化体系を使用して表される。有利な実施形態で
は、データ・ストリング260内の個々のキャラクタは
16ビットで表される。
【0025】前述のように、現在、データ・ストリング
260内の各キャラクタについて2回の検査を行わなけ
ればならない。まず最初に、キャラクタが指定ホスト・
フォントの除外キャラクタであるか否かを判断しなけれ
ばならない。キャラクタが指定ホスト・フォントの除外
キャラクタでないと判断された場合、その後でそのキャ
ラクタを基礎となるコード化体系240にマップするこ
とができるか否かを調べる他の判断が行われる。これら
の検査は、テキスト・ストリングを描画する時間「オー
バヘッド」のかなりの部分を占める。本発明は、複数フ
ォント環境において、データ・ストリング内の個々のキ
ャラクタを検査してキャラクタが所与のフォントの除外
キャラクタであるか否かを判断し、次に、キャラクタが
基礎となるコード化体系にマップ、すなわち変換するこ
とができるか否かを判断する従来の方法が、ASCIIキャ
ラクタのみを含むデータ・ストリングには不要であるこ
とを認識する。一般に、必要なのは第1のホスト・フォ
ントのみである。すなわち、ほとんどの場合、ASCIIキ
ャラクタは除外キャラクタではなく、基礎となるコード
化体系にマップすることができる。
【0026】次に図3を参照すると、本発明の原理によ
り、単一バイト・キャラクタの処理を最適化する方法の
一実施形態を示す高水準プロセス流れ図300が図示さ
れている。この方法は、開始ステップ310から始ま
り、図2に示すデータ・ストリング260に類似したデ
ータ・ストリングsを表示する要求を受け取る。表示要
求を受け取ると、データ・ストリング全体が第1の処理
ルーチン320に渡され、指定されたホスト・フォント
の除外キャラクタであるキャラクタがデータ・ストリン
グに含まれているか否かが判断される。有利な実施形態
では、データ・ストリングsは第1の処理ルーチン32
0に配列、すなわちキャラクタのテーブルとして送られ
る。第1の処理ルーチン320の2つの実施形態につい
て、図3の参照を続けながら、図4および図5を参照し
て説明する。しかし、本発明の上記の実施形態およびシ
ステムは一般に、ハードウェア、ファームウェア、ソフ
トウェア、またはそれらの任意の組合せでも実施可能で
あることが、当業者ならわかるであろう。
【0027】図4を参照すると、本発明の原理による、
図3に図示した第1の処理ルーチン320の第1の実施
形態の高水準フローチャート400が図示されている。
この例示の第1の実施形態では、第1の処理ルーチン3
20について、IsExcludedAnyというソフトウェア関数
呼出の状況で説明する。この関数呼出IsExcludedAny
は、開始ステップ410に示すように、データ・ストリ
ングs全体の受領により開始される。次に、判断ステッ
プ420に示すように、プロセスがデータ・ストリング
sの終わりにきたか否かを判断する。判断ステップ42
0での判断が、データ・ストリング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全体を受け取ると開始される。次に、ステップ52
0に示すように、データ・ストリング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の実施形態の高水準フローチャート60
0が図示されている。この例示の実施形態では、第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つの
範囲内にない場合、図のように、偽を返すステップ64
0に制御が移り、次に第2の処理ルーチン340に偽の
標識が返される。一方、第1と第2の両方の識別子r
1、r2が等しい場合、図のように、真を返すステップ
690に制御が移り、第2の処理ルーチン340に真の
標識が返される。
【0041】CanConvertAllの実施はコンバータ機能に
大きく依存することに留意されたい。上述の例では、特
定のコンバータについて変換可能なキャラクタの範囲が
多い場合、キャラクタ・ストリング全体をCanConvertAl
lに渡すことができ、CanConvertAllは最小値キャラクタ
と最大値キャラクタのみを検査する。両方のキャラクタ
が1つの範囲内にある場合、他のキャラクタも変換可能
であると結論づける。この場合、データ・ストリング内
の他のキャラクタを明示的に検査する必要はない。
【0042】図3に戻って参照すると、第2の処理ルー
チン340が偽の標識を受け取ると、データ・ストリン
グsは、さらに処理するために従来のプロセス330に
渡される(上記参照)。他方、第2の処理ルーチン34
0が真の標識を受け取った場合、すなわちデータ・スト
リングs内のすべてのキャラクタを基礎となるコード化
体系にマップすることができる場合、データ・ストリン
グsは、指定されたフォントと共に、表示のために基礎
となるグラフィック・ルーチン350に渡される。
【0043】要約すると、関数呼出IsExcludedAnyとCan
ConvertAllの結果がそれぞれ偽と真の場合、データ・ス
トリング内のどのキャラクタも除外されず、すべてのキ
ャラクタを基礎となるコード化体系にマップすることが
できると結論づけることができる。データ・ストリング
全体を「より下位レベルの」描画ルーチンにただちに渡
すことができ、従来の関数、すなわち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の処理ルーチン
に転送する手段と、前記データ・ストリング内の限定さ
れた数のキャラクタを評価して、前記データ・ストリン
グが基礎となる前記コード化体系の下で変換することが
できるか否かを判断する手段とをさらに含む、上記(1
3)に記載のコンピュータ・プログラム製品。 (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 表示装置
フロントページの続き (72)発明者 ウェイ・イー・ピーター・ウォン アメリカ合衆国78750 テキサス州オース チン カラニッシュ・パーク・ドライブ 11141 (72)発明者 ブルース・リー・ワーシントン アメリカ合衆国98052 ワシントン州レド モンド ノースイースト・シクスティフィ フス・ストリート 15609

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】オペレーティング・システム内で使用され
    ている基礎となるデータ・コード化体系と関連して、マ
    ルチバイト・キャラクタ・コード化体系内での単一バイ
    ト・キャラクタの処理を最適化する方法であって、 データ・ストリングを受け取るステップと、 前記データ・ストリング全体を第1の処理ルーチンに渡
    すステップと、 前記データ・ストリングを評価して前記データ・ストリ
    ング内のいずれかのキャラクタがホスト・フォントの除
    外キャラクタであるか否かを判断するステップとを含む
    方法。
  2. 【請求項2】前記データ・ストリング全体を第2の処理
    ルーチンに転送するステップと、 前記データ・ストリング内の限定された数のキャラクタ
    を評価して、前記データ・ストリングが基礎となる前記
    コード化体系の下で変換することができるか否かを判断
    するステップとをさらに含む、請求項1に記載の方法。
  3. 【請求項3】データ・ストリングを受け取る前記ステッ
    プが、データ入力装置から前記データ・ストリングを入
    力するステップをさらに含む、請求項1に記載の方法。
  4. 【請求項4】前記データ・ストリング全体を第1の処理
    ルーチンに渡すステップが、前記データ・ストリングを
    前記第1の処理ルーチンに配列として送るステップをさ
    らに含む、請求項1に記載の方法。
  5. 【請求項5】前記データ・ストリングを前記第2の処理
    ルーチンに転送する前記ステップが、前記データ・スト
    リングを前記第2の処理ルーチンに配列として送るステ
    ップをさらに含む、請求項2に記載の方法。
  6. 【請求項6】前記データ・ストリング内の限定された数
    のキャラクタを評価して、前記データ・ストリングが基
    礎となる前記コード化体系の下で変換することができる
    か否かを判断する前記ステップが、 論理和ブール演算を使用して前記データ・ストリング内
    のすべてのキャラクタを結合し、単一のキャラクタを形
    成するステップと、 前記単一のキャラクタが単一バイト・キャラクタである
    か否かを判断するステップと、 前記ホスト・フォントの除外範囲を検査して前記除外範
    囲が単一バイト・キャラクタを含むか否かを判断するス
    テップとをさらに含む、請求項1に記載の方法。
  7. 【請求項7】オペレーティング・システム内で使用され
    ている基礎となるデータ・コード化体系と関連して、マ
    ルチバイト・キャラクタ・コード化体系内での単一バイ
    ト・キャラクタの処理を最適化する方法を実施するコン
    ピュータ実行可能命令が記憶されたコンピュータ可読媒
    体であって、前記コンピュータ実行可能命令は、実行さ
    れると、 データ・ストリングを受け取るステップと、 前記データ・ストリング全体を第1の処理ルーチンに渡
    すステップと、 前記データ・ストリングを評価して前記データ・ストリ
    ング内のいずれかのキャラクタがホスト・フォントの除
    外キャラクタであるか否かを判断するステップとを実行
    する、コンピュータ可読媒体。
  8. 【請求項8】前記コンピュータ実行可能命令が、 前記データ・ストリング全体を第2の処理ルーチンに転
    送するステップと、 前記データ・ストリング内の限定された数のキャラクタ
    を評価して、前記データ・ストリングが基礎となる前記
    コード化体系の下で変換することができるか否かを判断
    するステップとをさらに含む、請求項7に記載のコンピ
    ュータ可読媒体。
  9. 【請求項9】データ・ストリングを受け取る前記ステッ
    プが、データ入力装置から前記データ・ストリングを入
    力するステップをさらに含む、請求項7に記載のコンピ
    ュータ可読媒体。
  10. 【請求項10】前記データ・ストリング全体を第1の処
    理ルーチンに渡す前記ステップが、前記データ・ストリ
    ングを前記第1の処理ルーチンに配列として送るステッ
    プをさらに含む、請求項7に記載のコンピュータ可読媒
    体。
  11. 【請求項11】前記データ・ストリングを前記第2の処
    理ルーチンに転送する前記ステップが、前記データ・ス
    トリングを前記第2の処理ルーチンに配列として送るス
    テップをさらに含む、請求項8に記載のコンピュータ可
    読媒体。
  12. 【請求項12】前記データ・ストリング内の限定された
    数のキャラクタを評価して、前記データ・ストリングが
    基礎となる前記コード化体系の下で変換することができ
    るか否かを判断する前記ステップが、 論理和ブール演算を使用して前記データ・ストリング内
    のすべてのキャラクタを結合し、単一のキャラクタを形
    成するステップと、 前記単一のキャラクタが単一バイト・キャラクタである
    か否かを判断するステップと、 前記ホスト・フォントの除外範囲を検査して前記除外範
    囲が単一バイト・キャラクタを含むか否かを判断するス
    テップとをさらに含む、請求項7に記載のコンピュータ
    可読媒体。
  13. 【請求項13】コンピュータ使用可能媒体と、 前記媒体において実施され、オペレーティング・システ
    ム内で使用されている基礎となるデータ・コード化体系
    と関連して、マルチバイト・キャラクタ・コード化体系
    内での単一バイト・キャラクタの処理を最適化するコン
    ピュータ可読プログラム・コード手段とを含むコンピュ
    ータプログラム製品であって、 前記コンピュータ可読プログラム・コード手段が、 データ・ストリングを受け取る手段と、 前記データ・ストリング全体を第1の処理ルーチンに渡
    す手段と、 前記データ・ストリングを評価して前記データ・ストリ
    ング内のいずれかのキャラクタがホスト・フォントの除
    外キャラクタであるか否かを判断する手段とを実行す
    る、コンピュータ・プログラム製品。
  14. 【請求項14】前記コンピュータ可読プログラム・コー
    ド手段が、 前記データ・ストリング全体を第2の処理ルーチンに転
    送する手段と、 前記データ・ストリング内の限定された数のキャラクタ
    を評価して、前記データ・ストリングが基礎となる前記
    コード化体系の下で変換することができるか否かを判断
    する手段とをさらに含む、請求項13に記載のコンピュ
    ータ・プログラム製品。
  15. 【請求項15】データ・ストリングを受け取る前記手段
    が、データ入力装置から前記データ・ストリングを入力
    する手段をさらに含む、請求項13に記載のコンピュー
    タ・プログラム製品。
  16. 【請求項16】前記データ・ストリング全体を第1の処
    理ルーチンに渡す前記手段が、前記データ・ストリング
    を前記第1の処理ルーチンに配列として送る手段をさら
    に含む、請求項13に記載のコンピュータ・プログラム
    製品。
  17. 【請求項17】前記データ・ストリングを前記第2の処
    理ルーチンに転送する前記手段が、前記データ・ストリ
    ングを前記第2の処理ルーチンに配列として送る手段を
    さらに含む、請求項14に記載のコンピュータ・プログ
    ラム製品。
  18. 【請求項18】前記データ・ストリング内の限定された
    数のキャラクタを評価して、前記データ・ストリングが
    基礎となる前記コード化体系の下で変換することができ
    るか否かを判断する前記手段が、 論理和ブール演算を使用して前記データ・ストリング内
    のすべてのキャラクタを結合し、単一のキャラクタを形
    成する手段と、 前記単一のキャラクタが単一バイト・キャラクタである
    か否かを判断する手段と、 前記ホスト・フォントの除外範囲を検査して前記除外範
    囲が単一バイト・キャラクタを含むか否かを判断する手
    段とをさらに含む、請求項13に記載のコンピュータ・
    プログラム製品。
  19. 【請求項19】オペレーティング・システム内で使用さ
    れている基礎となるデータ・コード化体系と関連して、
    マルチバイト・キャラクタ・コード化体系内での単一バ
    イト・キャラクタの処理を最適化するシステムであっ
    て、 データ・ストリングを受け取る手段と、 前記データ・ストリング全体を第1の処理ルーチンに渡
    す手段と、 前記データ・ストリングを評価して前記データ・ストリ
    ング内のいずれかのキャラクタがホスト・フォントの除
    外キャラクタであるか否かを判断する手段とを含むシス
    テム。
  20. 【請求項20】前記データ・ストリング全体を第2の処
    理ルーチンに転送する手段と、 前記データ・ストリング内の限定された数のキャラクタ
    を評価して、前記データ・ストリングが基礎となる前記
    コード化体系の下で変換することができるか否かを判断
    する手段とをさらに含む、請求項19に記載のシステ
    ム。
  21. 【請求項21】前記データ・ストリング全体を第1の処
    理ルーチンに渡す前記手段が、前記データ・ストリング
    を前記第1の処理ルーチンに配列として送る手段をさら
    に含む、請求項19に記載のシステム。
  22. 【請求項22】前記データ・ストリング内の限定された
    数のキャラクタを評価して、前記データ・ストリングが
    基礎となる前記コード化体系の下で変換することができ
    るか否かを判断する前記手段が、 論理和ブール演算を使用して前記データ・ストリング内
    のすべてのキャラクタを結合し、単一のキャラクタを形
    成する手段と、 前記単一のキャラクタが単一バイト・キャラクタである
    か否かを判断する手段と、 前記ホスト・フォントの除外範囲を検査して前記除外範
    囲が単一バイト・キャラクタを含むか否かを判断する手
    段とをさらに含む、請求項19に記載のシステム。
JP2000185691A 1999-06-25 2000-06-21 マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品 Expired - Fee Related JP4056199B2 (ja)

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 true JP2001101172A (ja) 2001-04-13
JP4056199B2 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CA2307359C (en) 2009-04-21
US6622239B1 (en) 2003-09-16
CA2307359A1 (en) 2000-12-25
CN1290886B (zh) 2010-04-28
CN1290886A (zh) 2001-04-11
JP4056199B2 (ja) 2008-03-05

Similar Documents

Publication Publication Date Title
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
JP2782478B2 (ja) 自国言語サポートプログラムのテスト方法およびテスト装置
US7260574B2 (en) Method and system for mapping strings for comparison
US7092871B2 (en) Tokenizer for a natural language processing system
US7623710B2 (en) Document content and structure conversion
US6326953B1 (en) Method for converting text corresponding to one keyboard mode to text corresponding to another keyboard mode
US7278100B1 (en) Translating a non-unicode string stored in a constant into unicode, and storing the unicode into the constant
JPH0689304A (ja) テキスト処理システムにより使用されるテキストを準備する方法及び装置
US6910183B2 (en) File tagging and automatic conversion of data or files
EP0268069B1 (en) Method of forming a message file in a computer
US7251667B2 (en) Unicode input method editor
US7272792B2 (en) Kana-to-kanji conversion method, apparatus and storage medium
US6438516B1 (en) Method and apparatus for optimizing unicode composition and decomposition
JPH0683571A (ja) 多バイトデータ変換方法及びシステム
JP4056199B2 (ja) マルチバイト・キャラクタ・コード化体系内で使用される単一バイト・キャラクタ処理の最適化の方法、システム、およびコンピュータ・プログラム製品
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) ユニコード・コンバータ
KR100399495B1 (ko) 소스 스트링의 타겟 스트링으로의 변환 방법, 이의 컴퓨터시스템 및 프로그램 제품
JPH10105149A (ja) フォント表示をコンピュータで実施する方法及びそのプログラムを記録した記録媒体
US6032165A (en) Method and system for converting multi-byte character strings between interchange codes within a computer system
US7468683B2 (en) Encoding conversion fallback
US20040199376A1 (en) Method and apparatus for compiling two-level morphology rules
JP3385206B2 (ja) 自然言語処理装置
JPH05210629A (ja) 表示制御システム
JP2937884B2 (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