JP4812421B2 - 文字処理装置、文字処理プログラム、文字処理方法 - Google Patents

文字処理装置、文字処理プログラム、文字処理方法 Download PDF

Info

Publication number
JP4812421B2
JP4812421B2 JP2005370669A JP2005370669A JP4812421B2 JP 4812421 B2 JP4812421 B2 JP 4812421B2 JP 2005370669 A JP2005370669 A JP 2005370669A JP 2005370669 A JP2005370669 A JP 2005370669A JP 4812421 B2 JP4812421 B2 JP 4812421B2
Authority
JP
Japan
Prior art keywords
character
language
character string
specific
character code
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
Application number
JP2005370669A
Other languages
English (en)
Other versions
JP2007172387A (ja
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.)
Olympus Imaging Corp
Original Assignee
Olympus Imaging 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 Olympus Imaging Corp filed Critical Olympus Imaging Corp
Priority to JP2005370669A priority Critical patent/JP4812421B2/ja
Publication of JP2007172387A publication Critical patent/JP2007172387A/ja
Application granted granted Critical
Publication of JP4812421B2 publication Critical patent/JP4812421B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、共通文字コードにより記述された文字列の表示処理を行うための文字処理装置、文字処理プログラム、文字処理方法に関する。
コンピュータなどの情報処理装置において文字を表現する際には、通常、各文字に、該文字を特定可能な文字コードをそれぞれ割り当てて、この文字コードによって文字を表現している。そして、ある言語に属する文字群に対応する文字コードの組は、文字コードセットと呼ばれる。この文字コードセットには、言語やプラットフォームによって種々のものが存在しており、例えば英語圏ではASCIIコードが広く使用されている。また、日本、中国、台湾、韓国などの文字種類の多いアジア圏では、自国語を使用することができるように、ASCIIコードを拡張した別々の文字コードセットが、それぞれの国で使用されている。
しかし、これらの各文字コードセットは、他の文字コードセットの使用を考慮したものとはなっていないために、複数の文字コードセット間において互いに違う文字に同じ文字コードが割り当てられているという事態が生じている。このために、以前は、複数の言語圏の文字を1つの文字コードセットにより表現することができなかった。
これに対して近年、世界中の文字を表現可能な文字コードセット(共通文字コード)としてユニコードが策定されて、普及が進んでいる。このユニコードは、言語圏に依存することなく文字を特定することができるために、情報処理の対象となる文字が複数の言語圏に渡る場合であっても、誤認識することなく表現することが可能となる利点がある。
しかし、上述したユニコードは、言語圏が異なる場合であっても字形が類似すると判断された文字には、同じ文字コードが割り当てられたものとなっている。このために、ユニコードを使用した場合には、各言語間の字形の相違を表現することができないという課題が生じている。
これに対して、特開2000−227790号公報には、文字列をユニコードにより表現したデータ列と、当該文字列の表示に使用するフォントタイプ(字形識別情報)と、の組合せを記憶して、記憶したフォントタイプに基づいて文字列を表示する技術が記載されている。
特開2000−227790号公報
しかしながら、上記特開2000−227790号公報に記載されたものでは、ユニコードにより表現された文字列の内でも、フォントタイプが記録されていない文字列は、適切な字形で表示することができない。具体的には、例えばマルチメディアコンテンツのヘッダにはフォントタイプが記録されておらず、ヘッダ内にユニコードで記録された文字列を適切な字形で表示することができない。
本発明は上記事情に鑑みてなされたものであり、共通文字コードにより表現された文字列を、適切なフォントを用いて表示することができる文字処理装置、文字処理プログラム、文字処理方法を提供することを目的としている。
上記の目的を達成するために、本発明の一態様である文字処理装置は、多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行うための文字処理装置であって、上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段と、共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルと、上記文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索手段と、を有する文字列表示言語判定手段と、上記共通文字コードにより記述された文字列を、上記文字列表示言語判定手段により判定された文字列表示言語固有の文字コードに変換する文字コード変換手段と、上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示手段と、を具備し、上記文字列表示言語判定手段は、上記探索手段により言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索手段により言語特有文字が発見されなかった場合には、上記ロケール情報記憶手段に記憶されている言語を文字列表示言語として判定することを特徴とする。
本発明の他の態様である文字処理プログラムは、コンピュータに、多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行わせるための文字処理プログラムであって、コンピュータに、共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索ステップを有する文字列表示言語判定ステップと、上記共通文字コードにより記述された文字列を、上記文字列表示言語判定ステップにより判定された文字列表示言語固有の文字コードに変換する文字コード変換ステップと、上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示ステップと、を行わせるプログラムであって、かつ、上記文字列表示言語判定ステップは、上記探索ステップにより言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索ステップにより言語特有文字が発見されなかった場合には、上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段に記憶されている言語を文字列表示言語として判定することを特徴とする。
本発明の他の態様である文字処理方法は、多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行うための文字処理方法であって、共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索ステップを有する文字列表示言語判定ステップと、上記共通文字コードにより記述された文字列を、上記文字列表示言語判定ステップにより判定された文字列表示言語固有の文字コードに変換する文字コード変換ステップと、上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示ステップと、を有し、上記文字列表示言語判定ステップは、上記探索ステップにより言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索ステップにより言語特有文字が発見されなかった場合には、上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段に記憶されている言語を文字列表示言語として判定することを特徴とする。
本発明の文字処理装置、文字処理プログラム、文字処理方法によれば、共通文字コードにより表現された文字列を、適切なフォントを用いて表示することが可能となる。
以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図11は本発明の実施形態1を示したものであり、図1は情報処理装置1の構成を示すブロック図である。
この情報処理装置1は、CPU101と、パワースイッチ102と、LCD表示装置103と、LCDドライバ104と、LCD照明装置105と、タッチ操作入力装置106と、AV出力回路107と、インジケータ108と、電源回路109と、バス110と、SDRAM111と、フラッシュメモリ112と、HDD113と、外部通信I/F114と、水晶振動子115と、を備え、文字処理装置として機能するものである。
CPU101は、この情報処理装置1内の各部を制御する制御部であり、文字列表示言語判定手段、文字コード変換手段、探索手段を兼ねたものとなっている。
パワースイッチ102は、ユーザの操作に応じて、この情報処理装置1の動作開始/停止を切り替えるための電源スイッチである。このパワースイッチ102は、CPU101に接続されている。
LCD表示装置103は、文字列、画像、ビデオ等のコンテンツの情報を表示するための透過型のカラー液晶表示装置である。
LCDドライバ104は、CPU101の制御に基づいて、LCD表示装置103を制御し表示を行わせるためのものである。
LCD照明装置105は、CPU101の制御に基づいて、LCD表示装置103を背面側から照明するバックライトである。
タッチ操作入力装置106は、LCD表示装置103の表示画面上に配設されていて、ユーザの指の接触位置、またはペンなどの接触用先端部を備えた部材の接触位置を検知するためのものである。このタッチ操作入力装置106の検出信号は、CPU101へ出力されるようになっている。
そして、これらLCD表示装置103、LCDドライバ104、LCD照明装置105は、表示手段を構成している。さらに、これらLCD表示装置103、LCDドライバ104、LCD照明装置105、およびタッチ操作入力装置106は、タッチパネルを構成している。このタッチパネルを用いることにより、この情報処理装置1が必要とする操作キーを仮想的に実現することが可能である。従って、この情報処理装置1は、上述したパワースイッチ102以外の操作キーは特に備えていない。
AV出力回路107は、CPU101の制御に基づいて、テレビ等の外部装置にビデオ信号およびオーディオ信号を供給するための回路である。
インジケータ108は、CPU101の制御に基づいて、この情報処理装置1の状態をユーザに告知するための告知手段である。このインジケータ108は、光によりユーザに告知を行うためのLEDや、音によりユーザに告知を行うためのブザー等を含んでいる。
電源回路109は、CPU101の制御に基づいて、この情報処理装置1内の各部の動作に必要な電力を、図示しない内蔵バッテリや外部のACアダプタから供給するためのものである。
バス110は、上記CPU101と、SDRAM111,フラッシュメモリ112,HDD113,および外部通信I/F114と、を接続して、アドレスおよびデータを伝送するための伝送路である。
SDRAM111は、上述したCPU101の作業領域として用いられるメモリであり、該CPU101により実行されるプログラムや、各種のデータ等がロードされるようになっている。
フラッシュメモリ112は、日付データやロケール情報等の各種データ、制御プログラムの一部、制御パラメータ等を記憶するための書き換え可能な不揮発性メモリである。このフラッシュメモリ112は、ロケール情報記憶手段であるとともに、文字列表示言語判定手段の一部を構成している。
HDD113は、制御プログラムやコンテンツデータを保存しておくためのハードディスクドライブである。
外部通信I/F114は、外部装置と通信するためのインタフェースであり、例えばUSBインタフェースがその一例として挙げられる。
水晶振動子115は、上述したCPU101の動作クロックを、該CPU101へ供給するためのものである。
次に、図2は、情報処理装置1のフラッシュメモリ112の記憶領域の構成を概念的に示す図、図3は、情報処理装置1のHDD113の記憶領域の構成を概念的に示す図である。
図3に示すように、HDD113には、この情報処理装置1により扱う複数のコンテンツデータ(コンテンツH0001,コンテンツH0002,コンテンツH0003,…)113aが格納されている。
また、図2に示すように、フラッシュメモリ112には、システム情報112aと、文字コード変換テーブル112bと、フォントテーブル112cと、が格納されている。システム情報112aは、日付データやロケール情報等を含んでいる。文字コード変換テーブル112bは、共通文字コードとしてのユニコードを用いた文字列の文字コードを、各言語固有の文字コードヘ変換する際に参照するデータベースであり、文字列表示言語判定手段を構成している。フォントテーブル112cは、各言語固有の文字コードに対応したフォントを格納するデータベースである。ここに、フォントテーブル112cは、言語別に存在しており、つまり、この情報処理装置1により扱う言語の数だけフォントテーブル112cが存在している(図2に示す例では、日本語フォント、簡体字フォント、繁体字フォント、韓国語フォント、…が記載されている)。
上述したような文字コード変換テーブル112bは、具体的には、図4に示すようなデータ構造を備えている。図4は、文字コード変換テーブル112bのデータ構造を示す図である。
すなわち、この文字コード変換テーブル112bは、ユニコードを表す列と、そのユニコードが表す字形に対応する各言語固有の文字コードを記録した列と、を有して構成されている。そして、各言語固有の文字コードを記録した列は、この情報処理装置1により扱う言語の数だけ登録されている。なお、ユニコードが表す字形に対応する言語固有の文字コードが存在しない場合は、対応する文字コードが存在しないことを示す値が記録されている。これにより、ある1つのユニコードが表す字形に対応する言語の数と、対応する各言語固有の文字コードと、を判定することが可能となっている。
図5は、文字コード変換テーブル112bにおける、CJK(中国、日本、韓国)統合漢字の幾つかのユニコードとこれに対応する各言語固有の文字コードとの具体例を示す図表、図6は、図5における各言語固有の文字コードに対応する字形を具体的に示す図表である。
例えばユニコード「U+9AA8」は、日本語、簡体字、繁体字、韓国語の4言語それぞれ固有の文字コードに対応しており、それぞれの言語において字形が異なっていることがわかる。
また、ユニコード「U+76D0」は簡体字のみに対応し、ユニコード「U+76D3」は繁体字のみに対応していて、その結果、各ユニコードが表す字形も1つのみであることがわかる。このように、1つのユニコードに対して、言語、字形が一意に定まる文字、すなわち上述した文字コード変換テーブル112bにおいてあるユニコードに対応する言語固有の文字コードが1つのみである文字を、これ以降、言語特有文字と呼ぶことにする。
図7は、情報処理装置1における、ユニコードにより表現された文字列の表示処理を示すフローチャートである。
CPU101は、ユニコードにより表現された文字列の表示処理を行う場合には、この処理を実行する。なお、この処理に対応する制御プログラムは、例えばHDD113に記録されていて、実行する前にSDRAM11にロードされるようになっている。
この処理を開始すると、CPU101は、まず、処理対象となる文字列の言語を判定するサブルーチンを実行する(ステップS101)。この文字列言語判定サブルーチンについては、後で図8を参照して詳しく説明する。
次に、CPU101は、ステップS101の処理により決定された言語のフォントテーブル112cを、フラッシュメモリ112から読み出す(ステップS102)。
続いて、ユニコードにより表現された文字列の先頭の文字データを処理対象として(ステップS103)、その文字データを文字コード変換テーブル112bに従って、ステップS101において決定した文字列の言語固有の文字コードに変換する(ステップS104)。
ここで、文字列の言語固有の文字コードへの変換に成功したか否かを判定する(ステップS105)。
すなわち、CPU101は、ステップS101により決定した、文字コード変換テーブル112b内の文字列言語の列において、処理対処文字に対応する文字コードが発見されない場合には、このステップS105において、言語固有の文字コードへの変換が失敗したと判定する。一方、CPU101は、処理対象文字に対応する文字コードが発見された場合には、このステップS105において、言語固有の文字コードへの変換が成功したと判定する。
この判定処理について、図5および図6を参照しながら、より具体的に説明する。
まず、処理対象文字がユニコード「U+9AA8」であるときについて説明する。CPU101は、このユニコード「U+9AA8」を、ステップS101において文字列が、日本語であると判定された場合はJIS文字コードセットの「2592」へ、簡体字であると判定された場合はGB2312文字コードセットの「2539」へ、繁体字であると判定された場合はBIG5文字コードセットの「B0A9」へ、韓国語であると判定された場合はKS文字コードセットの「4573」へ、それぞれ変換する。
また、処理対象文字がユニコード「U+76D0」であるときには、ステップS101において文字列が簡体字であると判定された場合はGB2312文字コードセットの「4946」へ変換するが、ステップS101で文字列が簡体字以外の言語であると判定された場合は対応する文字コードが存在しないために変換が失敗したと判定する。
こうして、ステップS105において変換が成功したと判定された場合には、変換後の言語固有の文字コードに対応したフォントを、ステップS102において読み出した言語固有のフォントテーブル112cから読み出して、LCD表示装置103に表示する(ステップS106)。
一方、ステップS105において変換が失敗したと判定された場合には、対応する言語固有の文字コードおよびフォントが存在しないために、例えば「.」(ピリオド)をLCD表示装置103に表示する(ステップS107)。
ステップS106またはステップS107の処理を行ってユニコード1文字分のフォントを出力した後に、文字列における次の文字を処理対象としてセットする(ステップS108)。
そして、セットしたデータが文字データであるか否か、つまり、文字列内に次の文字データが存在するか否か、を判定する(ステップS109)。
ここで、次の文字データが存在する場合には、上記ステップ104に戻って、上述したような処理を繰り返して行う。
また、ステップS109において、次の文字データが存在しないと判定された場合には、表示対象文字列の全ての文字についての処理が終了したことになるために、この文字列表示処理を終了する。
ここで、図9、図10、図11に示すようなユニコードにより表現された文字列の幾つかの表示例に関する、図7に示したような文字列の表示処理を具体的に説明する。なお、図9はユニコードにより表現された文字列の第1の表示例を示す図、図10はユニコードにより表現された文字列の第2の表示例を示す図、図11はユニコードにより表現された文字列の第3の表示例を示す図である。
各図中において、「文字列言語」として示されている言語は、文字言語判定サブルーチン(ステップS101)により決定された文字列言語である。
図9に示す文字列、すなわちユニコードにより「U+9AA8 U+76D0 U+76D3」(なお、文字コードの区切りを分かり易くするために、文字コード同士の間に空白を入れているが、実際の文字列の中には空白は入らない。以下、同様。)として表現される3文字からなる文字列の場合には、後で詳しく説明するように、簡体字のみに存在する言語特有文字「U+76D0」(図6も参照)が存在するために、ロケール設定言語が日本語であるにも関わらず、ステップS101の文字列言語判定サブルーチンによって、文字列言語が簡体字であると決定される。
その後、ステップS102において、簡体字のフォントテーブル112cを情報処理装置1のフラッシュメモリ112から読み出す。
そして、ステップS103において、文字列の先頭データ、すなわちユニコード「U+9AA8」を処理対象とする。
続いて、ステップS104において、処理対象文字をステップS101で決定した文字列言語、すなわち、この図9に示す例では簡体字の文字コード「2539」へ変換する。
ステップS104における簡体字の文字コードへの変換は成功しているために、ステップS105では成功したと判定される。
次に、ステップS106において、変換した文字コードに対応する簡体字のフォントを、LCD表示装置103に表示する。
その後、ステップS108において、現在処理対象となっている文字の次の文字、すなわち、2文字目の「U+76D0」を処理対象とする。
ステップS108において次に処理するべき文字が設定されているために、ステップS109においては、次に処理対象とする文字があると判定され、ステップS104へ戻って、2文字目「U+76D0」について、上述したような先頭文字の場合と同様の処理を繰り返して行う。
こうして、2文字目の処理をステップS106まで行ったところで、次のステップS108において、3文字目、すなわち「U+76D3」をセットする。
そして、ステップS109において次の文字があると判定され、ステップS104へ戻って言語に固有の文字コードへの変換を行おうとする。しかし、この3文字目「U+76D3」は、繁体字特有の文字であるために、簡体字においては対応する文字コードが存在しない。
従って、ステップS105において簡体字の文字コードへの変換に失敗したと判定され、ステップS107へ進んでLCD表示装置103へ「.」(ピリオド)を表示する。
以上説明したように、ユニコードにより「U+9AA8 U+76D0 U+76D3」として示される3文字からなる文字列の表示を行った場合には、LCD表示装置103には、図9の最下欄に示すような文字列が表示される。
また、図10に示すような文字列の表示処理も、図9に示した文字列とほぼ同様に行われる。
この図10に示す文字列は、ユニコードにより「U+9AA8 U+76CA U+76F4」として表現される3文字からなる文字列となっている。この文字列には、言語特有文字が存在しないために、後で詳しく説明するように、ステップS101の文字列言語判定サブルーチンによって、文字列言語がロケール設定言語である日本語に決定される。従って、ステップS102において日本語のフォントテーブルが読み出され、図10の最下欄に示すような日本語フォントによる文字列が表示される。
さらに、図11に示すような文字列の表示処理も、図9、図10に示した文字列とほぼ同様に行われる。
この図11に示す文字列は、図10に示した文字列と同じく、ユニコードにより「U+9AA8 U+76CA U+76F4」として表現される3文字からなる文字列となっている。そして、上述と同様に、ステップS101の文字列言語判定サブルーチンによって、文字列言語がロケール設定言語である簡体字に決定される。従って、ステップS102において簡体字のフォントテーブルが読み出され、図11の最下欄に示すような簡体字フォントによる文字列が表示される。
こうして、図10に示す例と、図11に示す例とは、文字列が同一のユニコード文字列であるにも関わらず、結果として異なる字形により表示されることになる。
図8は、図7のステップS101においてコールされる、文字列の言語を判定するサブルーチンの処理を示すフローチャートである。
この処理を開始すると、まず、文字列の先頭データを処理対象文字データにセットして(ステップS151)、この処理対象文字データが言語特有文字であるか否かを判定する(ステップS152)。
ここで、処理対象文字データが言語特有文字であるか否かの判定は、文字コード変換テーブル112bを用いて行われる。すなわち、この文字コード変換テーブル112bにおいて、処理対象のユニコード文字データに対応する言語固有の文字コードが1つのみである場合には、CPU101は、その処理対象文字が言語特有文字であると判定する。
図5および図6に示したユニコードを例にとると、処理対象文字データがユニコード「U+9AA8」である場合には、文字コード変換テーブル112bにおいてこのユニコードに対応する言語固有の文字コードが複数存在するために、言語特有文字ではないと判定される。
また、処理対象文字データがユニコード「U+76D0」である場合には、文字コード変換テーブル112bにおいてこのユニコードに対応する言語固有の文字コードが簡体字(GB2312)の「4946」のみに定まるために、言語特有文字であると判定される。
同様に、処理対象文字データがユニコード「U+76D3」である場合には、文字コード変換テーブル112bにおいてこのユニコードに対応する言語固有の文字コードが繁体字(BIG5)の「D6A7」のみに定まるために、言語特有文字であると判定される。
こうして、ステップS152において、処理対象データが言語特有文字であると判定された場合には、文字列の言語を言語特有文字の言語に設定して(ステップS155)、この文字列言語判定処理のサブルーチンを終了する。
例えば、処理対象文字データがユニコード「U+76D0」である場合には、ステップS152において、この処理対象文字が言語特有文字であり、簡体字(GB2312)の文字コード「4946」に対応していると判定される。このときには、現在の処理対象文字データ以降の文字データの判定を行うことなく、文字列全体の言語を簡体字に設定して、このサブルーチンを終了する。
一方、ステップS152において、処理対象データが言語特有文字ではないと判定された場合には、文字列中の次の文字を処理対象データとしてセットする(ステップS153)。
そして、セットしたデータが文字データであるか否か、つまり、文字列内に次の文字データが存在するか否か、を判定する(ステップS154)。
ここで、次の文字データが存在する場合には、上記ステップS152に戻って、上述したような処理を繰り返して行う。
また、ステップS154において、次の文字データが存在しないと判定された場合には、文字列の全ての文字についての処理が終了し、文字列中には言語特有文字が存在しなかったことになる。
この場合には、文字列の言語をロケールに該当した言語に設定し(ステップS156)、この文字列言語判定処理のサブルーチンを終了する。ここにロケールとは、この情報処理装置1に既定値として設定されている地域、言語の値であり、上述したように、フラッシュメモリ112内にシステム情報112aとして保存されている。
この図8に示したような文字列言語判定処理を、図9、図10、図11に示したようなユニコード文字列について、具体的に説明する。
図9に示すような例の場合、すなわち、ユニコードにより「U+9AA8 U+76D0 U+76D3」として表現される文字列の場合には、まず、ステップS151において、先頭文字データ、すなわち「U+9AA8」を処理対象とする。
そして、ステップS152において、この文字が言語特有文字であるか否かを判定する。図5および図6に示したように、ユニコード「U+9AA8」は、日本語、簡体字、繁体字、韓国語の4言語に係る固有の文字コードにそれぞれ対応しているために、このステップS152においては、言語特有文字ではないと判定される。
そして、ステップS153において、次の文字、すなわち2文字目の「U+76D0」を処理対象とする。
このステップS153において、次に処理するべき文字が設定されたために、続くステップS154においては、次に処理するべき文字があると判定される。
その後、ステップS152へ戻って、ステップS153において設定された文字が言語特有文字であるか否かを、上述した先頭文字の場合と同様に判定する。すなわち、2文字目「U+76D0」は、図5および図6に示すように、簡体字の文字コードのみに対応するために、ステップS152において言語特有文字であると判定される。
従って、ステップS155へ進んで、ユニコード文字列「U+9AA8 U+76D0 U+76D3」の言語として簡体字を設定し、この文字列言語判定処理を終了する。
図10、図11に示す例の場合も、図9に示す例の場合と同様の処理を行う。
ただし、図10、図11に示す例において扱われるユニコード文字列「U+9AA8 U+76CA U+76F4」は、全て言語特有文字ではない文字から構成されている。従って、先頭文字から1文字毎に順次行われる言語特有文字であるかの判定処理において、文字列を構成する全ての文字について言語特有文字ではないと判定される。
こうして、文字列の最後の文字が言語特有文字ではないと判定された後に、最終的にステップS156に到達し、文字列言語がロケールに該当した言語に設定される。上述したように、図10に示す例においては、ロケール設定言語が日本語であるために、文字列言語が日本語に設定される。また、図11に示す例においては、ロケール設定言語が簡体字であるために、文字列言語が簡体字に設定される。
このように、同じユニコード文字列「U+9AA8 U+76CA U+76F4」であっても、文字列中に言語特有文字が存在しない場合には、ロケール情報に応じて異なる言語が設定されることになる。
なお、上述では、文字列の先頭文字から順に文字列言語判定処理を行い、最初に発見された言語特有文字の言語を、文字列言語とするようにしているが、これに限るものではない。例えば、文字列の最後の文字から逆順に遡って文字列言語判定処理を行い、最初に発見された言語特有文字の言語を、文字列言語とすることも可能である。あるいは、文字列を構成する全ての文字について文字列言語判定処理を行い、複数種類の言語特有文字が発見された場合には、最も出現頻度が高い言語特有文字の言語を、文字列言語とするようにしても良い。
また、上述では、文字処理装置として情報処理装置1を例に挙げて説明しているが、文字処理プログラムをコンピュータに実行させることにより同様の処理を行うようにしても良いし、既存の処理装置等に文字処理方法を適用して同様の処理を行うようにしても構わない。
このような実施形態1によれば、ユニコードにより表現された文字列中に言語特有文字が存在するか否かを判定し、存在する場合には、言語特有文字の言語がその文字列の言語であると判定するようにしているために、ユニコードにより表現された文字列中に複数の言語の字形に割り当てられたユニコード文字が存在する場合にも、言語特有文字の言語固有のフォントを使用して適正な表示を行うことができる。従って、ユニコードにより表現された文字列を表示する際に、その文字列の表示に使用するフォントタイプの情報が存在しなくても、その文字列を適切なフォントを用いて表示することが可能となる。
また、文字列中に言語特有文字が存在しない場合には、情報処理装置1に設定されているロケールの言語がその文字列の言語であると判定するようにしている。ここに、ロケールは、情報処理装置1に設定されている地域、言語の既定値であって、通常は情報処理装置1の使用者の母国語が設定される。従って、ユニコードにより表現された文字列中に複数の言語の字形に割り当てられたユニコード文字が存在する場合には、文字列の記入者が意図した字形では表示されない可能性はあるものの、情報処理装置1の使用者が認識可能な字形により表示することができる利点がある。
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
本発明は、共通文字コードにより記述された文字列の表示処理を行うための文字処理装置、文字処理プログラム、文字処理方法に好適に利用することができる。
本発明の実施形態1における情報処理装置の構成を示すブロック図。 上記実施形態1における情報処理装置のフラッシュメモリの記憶領域の構成を概念的に示す図。 上記実施形態1における情報処理装置のHDDの記憶領域の構成を概念的に示す図。 上記実施形態1における文字コード変換テーブルのデータ構造を示す図。 上記実施形態1の文字コード変換テーブルにおける、CJK統合漢字の幾つかのユニコードとこれに対応する各言語固有の文字コードとの具体例を示す図表。 上記図5における各言語固有の文字コードに対応する字形を具体的に示す図表。 上記実施形態1の情報処理装置における、ユニコードにより表現された文字列の表示処理を示すフローチャート。 上記図7のステップS101においてコールされる、文字列の言語を判定するサブルーチンの処理を示すフローチャート。 上記実施形態1において、ユニコードにより表現された文字列の第1の表示例を示す図。 上記実施形態1において、ユニコードにより表現された文字列の第2の表示例を示す図。 上記実施形態1において、ユニコードにより表現された文字列の第3の表示例を示す図。
符号の説明
1…情報処理装置(文字処理装置)
101…CPU(文字列表示言語判定手段、文字コード変換手段、探索手段)
102…パワースイッチ
103…LCD表示装置(表示手段)
104…LCDドライバ(表示手段)
105…LCD照明装置(表示手段)
106…タッチ操作入力装置
107…AV出力回路
108…インジケータ
109…電源回路
110…バス
111…SDRAM
112…フラッシュメモリ(文字列表示言語判定手段、ロケール情報記憶手段)
112a…システム情報(ロケール情報を含む)
112b…文字コード変換テーブル(文字列表示言語判定手段)
112c…フォントテーブル
113…HDD
113a…コンテンツデータ
114…外部通信I/F
115…水晶振動子

Claims (3)

  1. 多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行うための文字処理装置であって、
    上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段と、
    共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルと、上記文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索手段と、を有する文字列表示言語判定手段と、
    上記共通文字コードにより記述された文字列を、上記文字列表示言語判定手段により判定された文字列表示言語固有の文字コードに変換する文字コード変換手段と、
    上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示手段と、
    を具備し、
    上記文字列表示言語判定手段は、上記探索手段により言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索手段により言語特有文字が発見されなかった場合には、上記ロケール情報記憶手段に記憶されている言語を文字列表示言語として判定する
    ことを特徴とする文字処理装置。
  2. コンピュータに、多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行わせるための文字処理プログラムであって、
    コンピュータに、
    共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索ステップを有する文字列表示言語判定ステップと、
    上記共通文字コードにより記述された文字列を、上記文字列表示言語判定ステップにより判定された文字列表示言語固有の文字コードに変換する文字コード変換ステップと、
    上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示ステップと、
    を行わせるプログラムであって、かつ、
    上記文字列表示言語判定ステップは、上記探索ステップにより言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索ステップにより言語特有文字が発見されなかった場合には、上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段に記憶されている言語を文字列表示言語として判定する
    ことを特徴とする文字処理プログラム。
  3. 多言語の文字を表現可能な共通文字コードにより記述された文字列の表示処理を行うための文字処理方法であって、
    共通文字コードと、言語固有の文字コードと、の対応を示す文字コード変換テーブルを用いて、上記共通文字コードにより記述された文字列から、該共通文字コードに対応する言語固有の文字コードが1つのみである言語特有文字を探索する探索ステップを有する文字列表示言語判定ステップと、
    上記共通文字コードにより記述された文字列を、上記文字列表示言語判定ステップにより判定された文字列表示言語固有の文字コードに変換する文字コード変換ステップと、
    上記変換された文字列表示言語固有の文字コードに対応するフォントを表示する表示ステップと、
    を有し、
    上記文字列表示言語判定ステップは、上記探索ステップにより言語特有文字が発見された場合には、該言語特有文字の言語を文字列表示言語として判定し、上記探索ステップにより言語特有文字が発見されなかった場合には、上記共通文字コードにより記述された文字列を表示するときに使用される既定の言語が記憶されているロケール情報記憶手段に記憶されている言語を文字列表示言語として判定する
    ことを特徴とする文字処理方法。
JP2005370669A 2005-12-22 2005-12-22 文字処理装置、文字処理プログラム、文字処理方法 Expired - Fee Related JP4812421B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005370669A JP4812421B2 (ja) 2005-12-22 2005-12-22 文字処理装置、文字処理プログラム、文字処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005370669A JP4812421B2 (ja) 2005-12-22 2005-12-22 文字処理装置、文字処理プログラム、文字処理方法

Publications (2)

Publication Number Publication Date
JP2007172387A JP2007172387A (ja) 2007-07-05
JP4812421B2 true JP4812421B2 (ja) 2011-11-09

Family

ID=38298853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005370669A Expired - Fee Related JP4812421B2 (ja) 2005-12-22 2005-12-22 文字処理装置、文字処理プログラム、文字処理方法

Country Status (1)

Country Link
JP (1) JP4812421B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5282376B2 (ja) 2007-06-29 2013-09-04 日本精工株式会社 電動パワーステアリング装置
WO2009028555A1 (ja) * 2007-08-30 2009-03-05 Nec Corporation 電子機器、文字列の表示方法、複数文字列のソート方法、および文字列表示/ソートプログラム
EP2372987B1 (en) 2010-04-02 2013-07-17 Research In Motion Limited Solving character display ambiguities
EP2445181B1 (en) 2010-10-21 2015-07-01 BlackBerry Limited Displaying characters and images based on support
JP5910050B2 (ja) 2011-12-07 2016-04-27 ブラザー工業株式会社 定型印字情報処理プログラム、定型印字情報処理方法、及び記録媒体
JP6536829B2 (ja) * 2016-08-30 2019-07-03 京セラドキュメントソリューションズ株式会社 画像形成装置および文字描画プログラム
CN110188329A (zh) * 2019-05-29 2019-08-30 惠州市德赛西威汽车电子股份有限公司 两种字体的数字之间的相互转换方法及其系统
JP6781905B1 (ja) 2019-07-26 2020-11-11 株式会社Fronteo 情報処理装置、自然言語処理システム、制御方法、および制御プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259477A (ja) * 1998-03-13 1999-09-24 Toshiba Corp 文書処理システムおよび記録媒体
JP2000148754A (ja) * 1998-11-13 2000-05-30 Omron Corp マルチリンガル・システム,マルチリンガル処理方法およびマルチリンガル処理のプログラムを記憶した媒体
JP4384939B2 (ja) * 2004-05-31 2009-12-16 株式会社インパルスジャパン 言語判別装置、翻訳装置、翻訳サーバ、言語判別方法並びに翻訳処理方法

Also Published As

Publication number Publication date
JP2007172387A (ja) 2007-07-05

Similar Documents

Publication Publication Date Title
JP4812421B2 (ja) 文字処理装置、文字処理プログラム、文字処理方法
CN100416591C (zh) 字符识别电子设备和字符识别方法
US7707515B2 (en) Digital user interface for inputting Indic scripts
JP2019180965A (ja) ゲームプログラム及びゲーム装置
CN101036137B (zh) 显示装置、用于显示装置的控制方法
JP2011524595A (ja) 個々のテキストフィールドのデータ入力をカスタマイズするための方法
US20070176934A1 (en) Method, program, and apparatus enabling font color selection enhancement
JP2009151449A (ja) アンドゥー機能付き電子黒板
CN108052212A (zh) 一种输入文字的方法、终端及计算机可读介质
TWI412955B (zh) 漢字書寫筆順之提示方法、電子裝置及電腦程式產品
US6393445B1 (en) System for transforming Chinese character forms in real-time between a traditional character form and a simplified character form
CN106021243B (zh) 语言转换方法和装置
CN114237560A (zh) 一种数据的存储方法、存储装置、电子设备及存储介质
JPS6054032A (ja) 読み入力文字別の変換候補表示方法および装置
JP2014078168A (ja) 文字認識装置及びプログラム
JP4325226B2 (ja) 情報表示制御装置及びプログラム
CN103491414A (zh) 一种字符的处理方法、装置及机顶盒
JP4997898B2 (ja) 情報表示制御装置及び情報表示制御プログラム
US11610070B2 (en) Electronic device for determining a character type in a character combination and processes capable of execution therewith, and control method for and storage medium storing program for same
KR100452556B1 (ko) 키입력 보조시스템
JP5061786B2 (ja) 候補単語表示装置及び候補単語表示プログラム
KR100522797B1 (ko) 아랍어 문자 코드 변환 장치 및 그 변환 방법
JP2007026278A (ja) 電子辞書、熟語検索方法、および熟語検索プログラム
JP3042437B2 (ja) 読み入力文字列の変換候補表示方法
KR20150062072A (ko) 전자문서 상에서의 텍스트정보 검색기능 제공 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110823

R151 Written notification of patent or utility model registration

Ref document number: 4812421

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees