JP2006107226A - 文字コード変換方法及び文字コード変換プログラム - Google Patents

文字コード変換方法及び文字コード変換プログラム Download PDF

Info

Publication number
JP2006107226A
JP2006107226A JP2004294510A JP2004294510A JP2006107226A JP 2006107226 A JP2006107226 A JP 2006107226A JP 2004294510 A JP2004294510 A JP 2004294510A JP 2004294510 A JP2004294510 A JP 2004294510A JP 2006107226 A JP2006107226 A JP 2006107226A
Authority
JP
Japan
Prior art keywords
character
character code
code
resource table
code system
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
JP2004294510A
Other languages
English (en)
Inventor
Hideyuki Yamaji
英之 山地
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2004294510A priority Critical patent/JP2006107226A/ja
Publication of JP2006107226A publication Critical patent/JP2006107226A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】 本発明は、使用可能文字数が多いシステムで作成された一つ又は複数の文書を、使用可能文字数が少ないシステム表示、印刷させるための文字コードの変換方法を提供することを目的とする。
【解決手段】 本発明の文字コードの変換方法は、予めホストコンピュータが備える全ての文字資源をパーソナルコンピュータに格納し、パーソナルコンピュータで使用可能な文字数に分割して、分割された文字資源を複数のフォントとして文字コード変換テーブルを登録し、読み出す文書が記載される文字コードに応じてフォントの切り換えを行うことにより、異なる文字コードで記載された文書の表示、印刷が可能となる。
【選択図】 図1

Description

本発明は、異なる文字コードを使用しているシステム間において、文字データの表示・印刷を適切に行うことが可能な文字コードの変換方法及びこの文字コードの変換方法を利用した文字コード変換プログラムに関する。
企業の基幹業務システムなどに用いられるホストコンピュータ(メインフレーム)と、個人が利用するパーソナルコンピュータとでは、使用する文字コードや使用可能な文字数が異なっている。
例えば、ホストコンピュータにおいて、その文字資源領域に基本非漢字、第一水準漢字、第二水準漢字の1〜84区7896文字に加え、拡張漢字101〜148区4512文字、拡張非漢字149〜163区1410文字を備えているものがある。更に、外字として、利用者定義文字164〜196区3102文字を登録することができるものがある(図19参照)。
一方、パーソナルコンピュータにおいては、その文字資源領域に非漢字、第一水準漢字、第二水準漢字の1〜84区7896文字をホストコンピュータと同様に備えている。又、外字として、85〜104区1880文字を登録することができる(図20参照)。
よって、ホストコンピュータによって作成された文書をパーソナルコンピュータで表示、印刷することを想定した場合、ホストコンピュータ及びパーソナルコンピュータ双方に備えられている基本非漢字、第一水準漢字、第二水準漢字については、そのまま表示、印刷することが可能であるが、図19に示す拡張漢字領域、拡張非漢字領域、利用者定義文字領域等のホストコンピュータが独自に備える領域(以下これらをまとめて「ホスト独自領域」と呼称する)で登録される各文字については、初期状態ではパーソナルコンピュータが保有していないため、別途パーソナルコンピュータが備える外字領域に登録する必要がある。
これに対して、ホストコンピュータで作成された文書で利用されている文字の内、ホスト独自領域(図19における拡張漢字、拡張非漢字、利用者定義文字に相当)に登録されている文字(以下「ホスト独自文字」と呼称する)を抽出し、この抽出された文字についてパーソナルコンピュータの外字領域に関連付けを行うことで、パーソナルコンピュータに登録されていない文字についても表示、印刷を可能としていた。
しかしながら、この方法によれば、ホストコンピュータで作成された文書で利用されているホスト独自文字の数が、パーソナルコンピュータの外字領域の最大登録可能文字数(図20の例では1880文字)を超過した場合は、すべての文字についてパーソナルコンピュータ側で表示、印刷することができないという問題が発生する。
そこで、ホストコンピュータで作成された文書をパーソナルコンピュータで表示又は印刷するための手段として、当該文書で利用されているホスト独自文字を検索し、検知されたホスト独自文字の数がパーソナルコンピュータの外字領域の最大登録可能文字数(以下「最大外字数」と呼称する)よりも多い場合には、ホスト独自文字を最大外字数以内の複数の外字ファイルに分割するとともに、当該外字ファイルの切換を行うことでパーソナルコンピュータに表示又は印刷する技術が提案されている(特許文献1参照)。
特開平9−16561号公報
特許文献1の方法によれば、ホストコンピュータで作成された文書で利用されているホスト独自文字数が最大外字数を超過する場合においても、すべてのホスト独自文字についてパーソナルコンピュータ側で表示、印刷することが可能である。
しかしながら、この方法では、文書毎にホスト独自文字を検索するとともに、文書毎に外字ファイルを作成する必要があるため、ホストコンピュータで作成された複数の文書をパーソナルコンピュータで表示、印刷する場合には、多くの処理量及び多くの時間が必要となる。
又、同一文書においても、例えば訂正等を行って外字ファイルに登録されていないホスト独自文字を追加した場合、当該追加されたホスト独自文字を正しく表示、印刷するためには外字ファイルを再度作成し直さなければならない。
上記の問題を解決するため、本発明は、使用可能文字数が多いシステムで作成された一つ又は複数の文書を、使用可能文字数が少ないシステムで表示、印刷させるための文字コードの変換方法を提供することを目的とし、当該文字コードの変換に際して必要な処理量をできるだけ少なくすることを目的とする。更には、このような文字コードの変換方法を利用した文字コード変換プログラムを提供することを目的とする。
上記目的を達成すべく、本発明の文字登録方法は、文字コードに登録されている文字を照会するための文字資源テーブルを備えるコンピュータに文字を登録する文字登録方法であって、登録する文字の文字数が前記文字資源テーブルに登録可能な文字数よりも多い場合に、前記文字資源テーブルを複数作成するとともに、該複数の文字資源テーブルに異なる文字群を登録し、該複数の文字資源テーブルにおける同一の文字コードに対して異なる文字を登録することを可能にすることで、前記コンピュータに登録できる文字数を増加させることを特徴とする。
又、本発明の文字登録方法は、前記文字資源テーブルを作成する際に、該文字資源テーブルを識別するための文字決定コードを作成することを特徴とする。このとき、前記文字決定コードとして、前記コンピュータで認識可能なフォントを利用するものとしても構わない。更に、本発明の文字登録プログラムは、この文字登録方法を使用することを特徴とする。
又、本発明の文字照会方法は、上記の文字登録方法に基づいて文字が登録されたコンピュータが文字を照会する文字照会方法であって、前記コンピュータに前記文字決定コードと前記文字コードを与えると、前記文字決定コードに対応する文字資源テーブルを照会するとともに、前記照会された文字資源テーブルより、前記文字コードに対応する文字を照会して該当する文字を出力することを特徴とする。このとき、前記文字決定コードとして、前記コンピュータで認識可能なフォントを利用するものとしても構わない。更に本発明の文字照会プログラムは、この文字照会方法を使用することを特徴とする。
又、本発明の文字コード変換方法は、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するための文字コード変換方法であって、前記第1の文字コード体系で登録されるすべての文字と該文字に対応する第1の文字コードとで構成される第1の文字資源テーブルを、所定の規則の下で前記第2の文字コード体系が扱うことのできる最大文字コード数以下に分割して複数の第2の文字資源テーブルを作成する第1のステップと、前記作成された複数の第2の文字資源テーブルそれぞれを識別するための文字決定コードを作成する第2のステップと、前記作成された複数の第2の文字資源テーブルそれぞれにおいて、各前記第2の文字資源テーブルに含まれる各文字に対して、前記第2の文字コード体系で利用可能な第2の文字コードを割り当てることで複数の第3の文字資源テーブルを作成する第3のステップとで構成されることを特徴とする。
このとき、前記第1の文字コードの値に応じて、当該第1の文字コードが指定する文字が登録される前記第2の文字資源テーブルが確定されるものとしても構わない。又、前記文字決定コードとして、前記第2のコンピュータで利用可能なフォントを利用するものとしても構わない。
又、本発明の文字コード変換方法は、前記第1の文字コード体系が複数種類存在する場合において、前記第1のステップにおいて、前記第2の文字資源テーブルとして、複数の前記第1の文字コード体系それぞれで共通に用いられる共通文字と該共通文字に対応する前記第1の文字コードとで構成される共通文字資源テーブルと、前記第1の文字コード体系それぞれで個別に用いられる個別文字と該個別文字に対応する前記第1の文字コード体系それぞれにおける前記第1の文字コードとで構成される個別文字資源テーブルと、が生成されるとともに、前記共通文字資源テーブルが、複数の前記第1の文字コード体系に対して共通の文字資源テーブルとして1つだけ生成され、前記個別文字資源テーブルが、複数の前記第1の文字コード体系それぞれに対して生成されることを特徴とする。
このとき、前記第1のステップが、前記第1の文字コード体系それぞれにおける前記第1の文字資源テーブルを、前記共通文字による共通文字領域と、前記個別文字による個別文字領域とに分割する第4のステップと、前記共通文字領域及び前記個別文字領域それぞれに対して、所定の規則の下で前記第2の文字コード体系が扱うこのとできる最大文字コード数以下に分割して、前記共通文字資源テーブル及び前記個別文字資源テーブルを生成する第5のステップとで構成されるものとしても構わない。
又、本発明の文字出力方法は、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで表示又は印刷するための文字出力方法であって、前記第2のコンピュータが、予め請求項8〜請求項10のいずれかに記載の文字コード変換方法に基づいて作成された前記複数の第3の文字資源テーブルを備えるとき、前記第1の文字コード体系の下で作成された文書を読み込んだときに該文書内に含まれる各文字コードが表す文字が登録されている前記第3の文字資源テーブルを指定する前記文字決定コードを前記文字コードの値から算出する第6のステップと、前記第6のステップで算出された前記文字決定コードが指定する前記第3の文字資源テーブルを参照して前記文字コードに登録される文字を得る第7のステップとで構成されることを特徴とする。
又、本発明の文字出力方法は、前記第1の文字コード体系が複数種類存在する場合において、前記第2のコンピュータが、予め前記第1〜第3の各ステップを前記第1の文字コード体系の種類毎に行って作成された文字コード体系毎の前記複数の第3の文字資源テーブルを備えるとき、前記第6のステップが、前記文書が記載される文字コード体系に該当する前記複数の第3の文字資源テーブルを呼び出す第8のステップを備えることを特徴とする。
このとき、前記第8のステップが、前記文書が記載される文字コード体系を該文書の一部の内容から判定する第9のステップと、前記第9のステップで判定された文字コード体系に該当する前記複数の第3の文字資源テーブルを自動的に選択して呼び出す第10のステップとを備えるものとしても構わない。
又、本発明の文字出力方法は、前記第1の文字コード体系が複数種類存在する場合において、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで表示又は印刷するための文字出力方法であって、前記第2のコンピュータが、予め請求項11又は請求項12のいずれかに記載の文字コード変換方法に基づいて作成された前記複数の第3の文字資源テーブルを備えるとき、前記第1の文字コード体系の下で作成された文書を読み込んだときに該文書が記載される文字コード体系に該当する前記複数の第3の文字資源テーブルを呼び出す第11のステップと、前記文書内に含まれる各文字コードが表す文字が登録されている前記第3の文字資源テーブルを、前記第11のステップで呼び出された複数の前記第3の文字資源テーブルから指定する前記文字決定コードを前記文字コードの値から算出する第12のステップと、前記第12のステップで算出された前記文字決定コードが指定する前記第3の文字資源テーブルを参照して前記文字コードに登録される文字を得る第13のステップとで構成されることを特徴とする。
このとき、前記第11のステップが、前記文書が記載される文字コード体系を該文書の一部の内容から判定する第14のステップと、前記第14のステップで判定された文字コード体系に該当する前記複数の第3の文字資源テーブルを自動的に選択して呼び出す第15のステップとを備えるものとしても構わない。
更に、本発明の文字コード変換プログラムは、上述のいずれかに記載の文字コード変換方法を使用することを特徴とする。又、本発明の文字出力プログラムは、上述のいずれかに記載の文字出力方法を使用することを特徴とする。
又、本発明の文字コード変換システムは、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するために文字コード変換を施す文字コード変換システムであって、上述のいずれかに記載の文字コード変換方法を用いて前記文字に対して文字コード変換を行うことを特徴とする。
又、本発明の文字コード変換システムは、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するために文字コード変換を施す文字コード変換システムであって、前記第2のコンピュータが、前記第1のコンピュータで作成された文書を上述のいずれかに記載の文字出力方法を用いて表示又は印刷することを特徴とする。
又、本発明のコンピュータは、文字コード数が少ない第2の文字コード体系を使用するコンピュータであって、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、上述のいずれかに記載の文字出力方法を用いて表示又は印刷することを特徴とする。
尚、前記第1の文字コード体系と前記第2の文字コード体系との間で文字コード変換を行う際に、その演算処理を円滑に行うために、第3の文字コード体系を介して変換するものとしても構わない。このとき、文字コード数が少ない前記第2の文字コード体系としててシフトJISコードを想定した場合に、この第3の文字コード体系としてJISコードを採用しても構わない。
本発明の文字コード変換方法によれば、ホストコンピュータのような使用可能文字数が多いシステムで作成されたあらゆる文書をパーソナルコンピュータのような使用可能文字数が少ないシステムで表示、印刷することが可能となる。又、ホストコンピュータが備える全ての文字データをパーソナルコンピュータが記憶している構成であるため、パーソナルコンピュータに登録されていない外字が含まれている場合に新たに外字の登録をする必要があるという事態が発生しない。又、ホストコンピュータ側で新たな文字を追加登録した場合は、当該追加登録された文字データに対するコード変換処理を行って、パーソナルコンピュータに追加登録することで対応が可能である。
又、パーソナルコンピュータが異なる複数の文字コードに対応する文字資源テーブル群を備える構成とし、文書を読み出す際に、文字コード変換に利用する文字資源テーブル群を切り換えて読み出す構成とすることで、異なる文字コード体系で記載された複数の文書を表示、印刷することが可能となる。又、パーソナルコンピュータが文書を読み出す際に、予め当該文書がどの文字コード体系の下で記載されているかを示すフラグを読み出す構成とすることで、文字資源テーブル群の切り換え指示をパーソナルコンピュータ内部で行うことができるため、文字資源テーブル群の切り換えの自動化が可能となる。
このとき、複数の文字コード体系において、共通として用いられる共通文字資源と、文字コード体系毎に個別に用いられる個別文字資源とに分割しておき、文書が記載される文字コード体系に応じて、この個別文字資源に対応する文字資源テーブル群を切り換える構成とすることにより、文字資源テーブル群の切り換え頻度を少なくすることができる。これによって、異なる文字コードで記載された複数の文書を連続的に表示、印刷する場合に必要な時間及び処理量を縮小することができる。
<第1の実施形態>
(1.全体構成)
本発明の第1の実施形態について、図面を参照して説明する。図1は、本実施形態の文字コード変換システム1の全体構成を説明するためのブロック図である。文字コード変換システム1は、ホストコンピュータ10とパーソナルコンピュータ20で構成されており、ホストコンピュータ10によって作成された文書を、パーソナルコンピュータ20で表示又は印刷することを想定している。尚、以下では、ホストコンピュータ10の文字コード体系を「文字コード体系H」と称し、パーソナルコンピュータ20の文字コード体系を「文字コード体系C」と称する。又、いずれの文字コード体系の下でも、一つの文字コードに対しては原則一つの文字が割り当てられるものとする。この「原則」とは、後述するように、同一フォントにおける同一文字コードに対しては唯一の文字を割り当てるが、異なるフォントにおける同一文字コードに対しては異なる文字を割り当てることができることを意味する。
更に、文字コードは16進数で表記されるものとし、以下では16進数表記である旨を記載するため、数の前に「0x」を付記して表現する。例えば、数「11」が10進数表記である場合は、「11」とそのまま表記するのに対し、「11」が16進数表記である場合は、「0x11」のように表記することで進数の区別を行う。但し、図面内のコード番号については、煩雑さを回避するため、混乱を生じない範囲内で「0x」の付記を省略している。
ホストコンピュータ10は、所定の規則が記載されたプログラムが記憶されるプログラム記憶部11と、ホストコンピュータ10が使用可能な文字資源が記憶される文字資源記憶部12と、ホストコンピュータ10における演算制御を統括して行う演算制御部13と、外部からの入力を受け付けるキーボード等の入力部14と、外部に対し情報を出力するディスプレイやプリンタ等の出力部15と、電気通信回線に接続される送受信部16と、外部記録媒体に情報を記録するとともに、外部記録媒体から記録された情報の読み出しを行う記録再生部17と、を備える。
一方、パーソナルコンピュータ20は、外部からの入力を受け付けるキーボード等の入力部21と、外部に対し情報を出力するディスプレイやプリンタ等の出力部22と、電気通信回線に接続される送受信部23と、パーソナルコンピュータ20における演算制御を統括して行う演算制御部24と、所定の規則が記載されたプログラムが記憶されるプログラム記憶部25と、表示又は印刷を行う対象となる文書を一時的に記憶する文書記憶部26と、ホストコンピュータ10が使用可能な文字資源をパーソナルコンピュータ20で使用可能な形式にするために所定の規則の下での変換処理が施された変換処理後の文字資源が記憶されるホスト対応文字資源記憶部27と、外部記録媒体に情報を記録するとともに外部記録媒体から記録された情報の読み出しを行う記録再生部28と、を備える。
以下、文字コード体系Hで作成された文書dh1を文字コード体系Cの下で表示又は印刷可能とするためのフローについて、図1〜図3を用いて説明する。図2及び図3は、文字コード体系Hで作成された文書dh1が文字コード体系Cの下で表示又は印刷が可能となるまでの過程を説明するための概念的なブロック図である。
パーソナルコンピュータ20が文書dh1を読み出す前に、予めホストコンピュータ10において、ホストコンピュータ10が使用可能な全ての文字資源を備える文字資源テーブルRhを、パーソナルコンピュータ20で使用可能な最大文字数Nc以下(Ncは自然数)の文字コードで構成される複数の文字資源テーブル群Rh(1)〜Rh(m)に分割する(mは2以上の自然数)。文字資源テーブルは、利用可能な文字コードと、各文字コードに割り当てられる文字データが利用可能文字コード毎に記載される。
又、作成された文字資源テーブル群Rh(1)〜Rh(m)に含まれる各文字コードに登録される各文字に対して、パーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、新たな文字資源テーブル群Rc(1)〜Rc(m)を作成する。このような、文字資源テーブルRhから文字資源テーブル群Rc(1)〜Rc(m)を作成する処理内容が記載された文字資源分割・文字コード変換プログラムP1(以下、「プログラムP1」と呼称する)がプログラム記憶部11に格納されているものとする。尚、ホストコンピュータ10が使用可能な全ての文字資源とは、例えばホストコンピュータ10の文字資源領域が図19に示す構成である場合は、文字コード0x41A1〜0xF4FEに対応する16920個の文字を意味しており、又、パーソナルコンピュータ20で使用可能な最大文字数Ncとは、例えばパーソナルコンピュータ20の文字資源領域が図20に示す構成である場合は、文字コード0x8140〜0xF4FC(但し、文字コード0x8140〜0xF4FCの範囲に含まれる文字コードの内、図20において「非漢字」、「第一水準」、「第二水準」、「外字」の各領域で示された範囲に属さない文字コードを除く)で表される領域の数である9776個に相当する。
即ち、ホストコンピュータ10において、演算制御部13が、プログラム記憶部11からプログラムP1を読み出すとともに、当該プログラムに記載された所定の規則の下で文字資源記憶部12に格納された文字資源テーブルRhに対して、上記の分割・変換処理を行うことで文字資源テーブル群Rc(1)〜Rc(m)を作成する。尚、プログラムP1に記載される所定の規則の内容については後述する。
作成された文字資源テーブル群Rc(1)〜Rc(m)は、送受信部16に送られ、電気通信回線を介してパーソナルコンピュータ20に与えられる。パーソナルコンピュータ20は、ホストコンピュータ10から与えられた文字資源テーブル群Rc(1)〜Rc(m)をホスト対応文字資源記憶部27に格納する。このように、ホスト対応文字資源記憶部27に文字資源テーブル群Rc(1)〜Rc(m)が格納されることで、ホストコンピュータ10で使用可能な全ての文字に対してパーソナルコンピュータ20で利用可能な環境が構築される。
パーソナルコンピュータ20は、ホストコンピュータ10で使用可能な全ての文字資源を利用できる環境が整備されると、対象となる文書dh1が、ホストコンピュータ10の送受信部16から電気通信回線を介して送受信部23に与えられて、文書記憶部26に格納される。この文書dh1は、ホストコンピュータ10において文字コード体系Hの下で作成された文書である。
演算制御部24は、この文書dh1を文書記憶部26から読み出すとともに、パーソナルコンピュータ20で表示、印刷が可能な文字コード体系Cに則した形に書き換えて、出力部22に送出する。このように、文字コード体系Hの下で作成された文書を文字資源テーブル群Rc(1)〜Rc(m)を利用して文字コード体系Cに則した形に書き換える処理内容が記載された文書コード変換プログラムP2(以下、「プログラムP2」と呼称する)がプログラム記憶部25に格納されているものとし、演算制御部24が当該プログラムP2をプログラム記憶部25から読み出して実行することで、上記コード変換が行われる。
即ち、演算制御部24において、文書dh1内のある文字a1の文字コード体系H上での文字コードh(a1)に対応する文字コード体系C上での文字コードc(a1)を確認するとともに、当該文字コードc(a1)が含まれる文字資源テーブルを文字資源テーブル群Rc(1)〜Rc(m)から選択し、選択された文字資源テーブルから文字コードc(a1)に割り当てられている文字データを取得することができる。演算制御部24が、文書dh1内の全ての文字に対してこの文字データ取得処理を行うことで、文字コード体系Cの下で記載された新たな文書dc1を作成することができる。作成された文書dc1は、出力部22へ送られて、表示又は印刷が可能となる。尚、プログラムP2に記載される演算制御部24が行う文字コード変換処理内容の詳細については後述する。
(2.演算内容)
次に、本発明の第1の実施形態における、ホストコンピュータ10の演算制御部13及びパーソナルコンピュータ20の演算制御部24が行う演算制御内容の詳細について、図面を参照して説明する。尚、以下では、ホストコンピュータ10の文字資源が図19に示す構造によって構成されるものとし、パーソナルコンピュータ20の文字資源が図20に示す構造によって構成されるものとして説明を行う。
上述したように、ホストコンピュータ10の演算制御部13は、プログラム記憶部11からプログラムP1を読み出し、プログラムP1に記載された規則に従って、文字資源テーブルRhに対して分割・変換処理を行う。この分割・変換処理の内容の内、図4には分割処理内容の概念図を、図5には変換処理内容の概念図を示す。
演算制御部13は、文字資源記憶部12から文字資源テーブルRhを読み出すと、文字コード0x41A1〜0xF4FEで構成される文字コード数16920の当該文字資源テーブルRhを、文字コード0xA1A1〜0xF4FEで構成される文字コード数7896の文字資源テーブルRh(1)と、文字コード0x41A1〜0x7FFEで構成される文字コード数5922の文字資源テーブルRh(2)と、文字コード0x80A1〜0xA0FEで構成される文字コード数3102の文字資源テーブルRh(3)とに分割する。即ち、図4に示すように、文字資源テーブルRh(1)が、基本非漢字領域(0xA1A1〜0xAFFE)と、第一水準領域(0xB0A1〜0xCFFE)と、第二水準領域(0xD0A1〜0xF4FE)とで構成され、文字資源テーブルRh(2)が、拡張漢字領域(0x41A1〜0x7FFE)と拡張非漢字領域(0x41A1〜0x7FFE)とで構成され、文字資源テーブルRh(3)が、利用者定義文字領域(0x80A1〜0xA0FE)で構成されるように文字資源テーブルRhを分割する。
このように文字資源テーブルRhを分割して生成された新たな文字資源テーブルRh(1)〜Rh(3)に含まれる文字コード数は、上記のように、順に7896、5922、3102であり、いずれもパーソナルコンピュータ20で使用可能な最大文字数である9776を下回っている。
上記のように文字資源テーブルRhが分割されて、新たな文字資源テーブルRh(1)〜Rh(3)が生成されると、更に演算制御部13が、これらの文字資源テーブルRh(1)〜Rh(3)に登録されている各文字に対して文字コード変換を行う。この文字コード変換は、文字コード体系Hの下で登録されている文字資源テーブルRh(1)〜Rh(3)に登録される各文字に対して、文字コード体系Cの下での登録を行うことを表す。このコード変換について図5を参照して説明する。尚、以下では文字資源テーブルRhに含まれる各文字コードに対して一つの文字が既に割り当てられているものとして説明するが、文字が割り当てられていない文字コードが存在しても構わない。この場合、当該文字コードに割り当てられている文字が存在しないことを示す「空白文字」が登録されているものとしても構わない。
まず、文字資源テーブルRh(1)に対する文字コード変換について説明する。文字資源テーブルRh(1)は、基本非漢字領域と、第一水準領域と、第二水準領域とで構成され、これらの領域に属する全ての文字は、上述のようにパーソナルコンピュータ20における非漢字領域、第一水準領域、第二水準領域に登録されている。従って、文字資源テーブルRh(1)に属する全ての文字に対して、パーソナルコンピュータ20における非漢字領域、第一水準領域、第二水準領域に該当する文字コードを用いて登録することが可能である。
文字資源テーブルRh(1)に登録されている各文字の内、基本非漢字領域(0xA1A1〜0xAFFE)に登録されている文字(文字数1410)を、文字コード体系Cの下での非漢字領域(0x8140〜0x887E、0x8180〜0x889E、0x819F〜0x87FC)に登録する。このとき文字コード体系Cにおける非漢字領域は、その登録可能文字数が1410であり、基本非漢字領域の文字数と等しいため、基本非漢字領域に登録されているすべての文字を文字コード体系Cの下での非漢字領域に登録することができる。又、演算制御部13は、文字資源テーブルRh(1)に登録されている各文字の内、第一水準領域(0xB0A1〜0xCFFE)に登録されている文字(文字数3008)を、文字コード体系Cの下での第一水準領域(0x8940〜0x987E、0x8980〜0x989E、0x889F〜0x97FC:登録可能文字数3008)に登録し、第二水準領域(0xD0A1〜0xF4FE)に登録されている文字(文字数3478)を、文字コード体系Cの下での第二水準領域(0x9940〜0x9F7E、0x9980〜0x9F9E、0x989F〜0x9FFC、0xE040〜0xEA7E、0xE080〜0xEAFC:登録可能文字数3478)に登録する。文字コード体系Cにおける第一水準領域の登録可能文字数がRh(1)の第一水準領域に登録されている文字数に等しく、文字コード体系Cにおける第二水準領域の登録可能文字数がRh(1)の第二水準領域に登録されている文字数に等しいため、第一水準領域及び第二水準領域それぞれに属するすべての文字を文字コード体系Cの下での第一水準領域及び第二水準領域それぞれに登録することができる。
このとき、上記のように文字資源テーブルRh(1)に属する全ての文字が、文字コード体系Cの下で登録が行われ、概念的に文字コード体系Cの下での文字資源テーブルRc(1)が新たに生成される。図5(a)には、上述した文字資源テーブルRh(1)に対する文字コード変換の概念図を示している。尚、図5(a)に記載のフォントf1についての説明は後述する。
次に、文字資源テーブルRh(2)に対する文字コード変換について説明する。文字資源テーブルRh(2)は、拡張漢字領域(0x41A1〜0x70FE:文字数4512)と拡張非漢字領域(0x71A1〜0x7FFE:文字数1410)で構成されている。これらの領域を合わせた文字数5922の全文字に対して、パーソナルコンピュータ20における第一水準領域及び第二水準領域を用いて登録を行う。このときパーソナルコンピュータ20における第一水準領域と第二水準領域を合わせると登録可能文字数は6478であり、文字資源テーブルRh(2)に含まれる文字数5922を上回っているため、文字資源テーブルRh(2)に含まれる全文字の登録が可能である。
ところで、パーソナルコンピュータ20が利用可能な文字資源は、例えば図20に示されるような領域に登録され、この領域を超える範囲に文字を登録することはできない。又、同一フォントにおいては、同一の文字コードに対して一つの文字しか登録することができない。しかしながら、異なるフォント間においては、同一の文字コードに異なる文字を登録することができる。この内容について、以下に説明する。
例えば、パーソナルコンピュータ20の文字コード「0x889F」には「亜」という文字が登録されているとすると、ある「明朝1」というフォントの「0x889F」に登録されている文字「亜」の字体と、「ゴシック3」というフォントの「0x889F」に登録されている文字「亜」の字体は通常異なっている。即ち、異なるフォントに対しては、同一の文字コードに登録する登録内容を異なるものとすることができる。これは、以下の理由による。
文字を出力する場合、通常、文字コードと同時にフォントの指定を行う。上記の例では、フォントを「明朝1」に、文字コードを「0x889F」に指定すると、明朝1の書体で表記された文字「亜」が出力され、フォントを「ゴシック3」に、文字コードを「0x889F」に指定すると、ゴシック3の書体で表記された文字「亜」が出力される。即ち、同一の文字コード「0x889F」に異なる書体の文字「亜」が登録されていても、出力する際にフォントの指定を行うために、出力すべき文字が唯一に定まるのである。
上記の例では、異なるフォントにおける同一の文字コードに、同じ文字で異なる書体の文字を登録するとともに、フォントを指定することでその書体を変更する仕組みを説明したが、この概念を応用することにより、登録可能な文字数を増やすことが可能となる。
例えば、文字「◎」が、ホストコンピュータ10には元来存在し、パーソナルコンピュータ20には元来存在していない文字であったと仮定する。この文字「◎」を、パーソナルコンピュータ20で利用するために、フォント「特殊3」の文字コード「0x889F」に登録を行ったとする。又、例えばフォント「明朝1」の文字コード「0x889F」には既に「亜」という文字が登録されているとする。このとき、同一の文字コード「0x889F」に対して、フォントによって異なる文字が登録されていることになる。この例では、フォントを「特殊3」に、文字コードを「0x889F」に指定すると、文字「◎」が出力されることになる。一方、フォントを「明朝1」に、文字コードを「0x889F」に指定すると、文字「亜」が出力される。
即ち、フォントと文字コードによって登録されている文字は唯一に定まるため、異なるフォント間においては同一の文字コードに異なる文字を登録することができる。言い換えれば、文字を確定するためには、フォントと文字コードの両者を指定する必要がある。よって上の例では、フォントと文字コードの両者を指定することで、文字「亜」と文字「◎」を区別して出力させることが可能である。
以上のことより、文字資源テーブルRh(2)に属する文字を、文字資源テーブルRh(1)に属する文字を登録する際に利用した第一水準領域及び第二水準領域を用いて登録を行うことができることが分かる。ただし、文字資源テーブルRh(1)に属する文字を登録した場合とは異なるフォントである必要があるため、ここでは、文字資源テーブルRh(1)を登録した場合のフォントをフォントf1とし、文字資源テーブルRh(2)を登録した場合のフォントをフォントf2とする。図5(b)には、上述した文字資源テーブルRh(2)に対する文字コード変換の概念図を示している。
例えば、文字資源テーブルRh(1)に属する文字コード「0xB0A1」に該当する文字「ch1」が、文字コード体系Cにおける文字コード「0x889F」(指定フォントf1)に登録され、文字資源テーブルRh(2)に属する文字コード「0x41A1」に該当する文字「ch2」が、文字コード体系Cにおける文字コード「0x889F」(指定フォントf2)に登録されているとする。この場合、文字ch1と文字ch2はともに文字コード体系C上では同一の文字コードに登録されているが、指定フォントが異なるため、パーソナルコンピュータ20には両方の文字を出力することができる。即ち、文字ch1を出力したい場合は、フォントf1の文字コード「0x889F」に登録されている文字データにアクセスし、文字ch2を出力したい場合は、フォントf2の文字コード「0x889F」に登録されている文字データにアクセスすることで実現できる。
次に、文字資源テーブルRh(3)に対する文字コード変換について説明する。文字資源テーブルRh(3)は、利用者定義文字領域(0x80A1〜0xA0FE:文字数3012)で構成されている。この領域に属する文字に対して、パーソナルコンピュータ20における第一水準領域及び第二水準領域を用いて登録を行う。パーソナルコンピュータ20における第一水準領域と第二水準領域を合わせると登録可能文字数は6478であり、文字資源テーブルRh(2)の要素数3012を上回っているため、文字資源テーブルRh(3)に属する全ての文字の登録が可能である。尚、上述のように、異なるフォントを指定する必要があるため、文字資源テーブルRh(3)に属する文字を登録するフォントをフォントf3とする。図5(c)には上述した文字資源テーブルRh(3)に対する文字コード変換の概念図を示す。
以上のような方法により、ホストコンピュータ10が保有する文字資源テーブルRhに属する全ての文字に対して、文字コード体系Cの下での文字コード登録を行う。以下では、個々の文字に対する文字コード体系Cの下での文字コードの割り当て方法の詳細について説明する。
図4に示すように、分割された文字資源テーブルRh(1)〜Rh(3)が生成されると、各々の文字資源テーブルに対して文字コード体系Cへの文字コード変換を施す。ところで、図19に示す文字コード体系Hの一例と比較して、図20に示す文字コード体系Cの一例は、横並びに二列の文字コード群が並んだ構成になっており、又、非漢字領域、第一水準領域、第二水準領域については、下位バイト0x9Eと0x9Fの間で左右非対称な構造となっている。このように、文字コード体系Hと文字コード体系Cとでは、文字コード間で構造が大きく異なるため、直接的にコード変換を行う場合、その演算内容は複雑化する。従って、文字コード体系Cへのコード変換を効率的に行うため、便宜的に文字コード体系H及び文字コード体系Cとは別の、新たな文字コード体系Jへの変換を行った後、文字コード体系Jから文字コード体系Cへの変換を行うという段階を踏む。このとき、例えば文字コード体系CとしてシフトJISコードを想定した場合は、この文字コード体系JとしてJISコードを採用してもよい。この文字コード体系Hから文字コード体系Jへの変換内容の詳細について、図6を用いて説明する。
図6は、文字コード体系Hから文字コード体系Jへのコード変換を示す概念図である。演算制御部13は、文字資源テーブルRhを分割して、新たに文字資源テーブルRh(1)〜Rh(3)を生成すると、この文字資源テーブルRh(1)〜Rh(3)のそれぞれに属する全ての文字に対して、文字コード体系Jの下での文字コード登録を行う。言い換えれば、文字資源テーブルRh(1)〜Rh(3)に対して、文字コード体系Hから文字コード体系Jへの文字コード変換を行う。文字資源テーブルRh(1)に対する文字コード変換の概念図を図6(a)に、Rh(2)に対する概念図を図6(b)に、Rh(3)に対する概念図を図6(c)に、それぞれ示す。
演算制御部13が文字資源テーブルRh(1)に属する各文字を文字コード体系Jの下での文字コード登録を行う際、文字資源テーブルRh(1)において登録されている文字コードの上位バイトから0x80を減算した値を文字コード体系Jでの上位バイトとするとともに、文字資源テーブルRh(1)において登録されている文字コードの下位バイトから0x80を減算した値を文字コード体系Jでの下位バイトとする。このとき、文字資源テーブルRh(1)全体としては、文字コード体系Jにおける領域0x2121〜0x747Eに変換されることとなる。この変換によって生成された新たな文字資源テーブルを、文字資源テーブルRj(1)とする。即ち、文字資源テーブルRh(1)の文字コード0xA1A1〜0xF4FEに登録されている文字と、文字資源テーブルRj(1)の文字コード0x2121〜0x747Eに登録されている文字とは同一である。
演算制御部13が文字資源テーブルRh(2)に属する各文字を文字コード体系Jの下での文字コード登録を行う際は、文字資源テーブルRh(2)に属する文字コードの内、文字コード0x41A1〜0x5FFEの領域に登録されている各文字については、各文字コードの上位バイトから0x11を減算した値を文字コード体系Jでの上位バイトとするとともに、各文字コードの下位バイトから0x80を減算した値を文字コード体系Jでの下位バイトとする。又、文字資源テーブルRh(2)に属する文字コードの内、文字コード0x60A1〜0x7FFEの領域に登録されている各文字については、各文字コードの上位バイトから0x10を減算した値を文字コード体系Jでの上位バイトとするとともに、各文字コードの下位バイトから0x80を減算した値を文字コード体系Jでの下位バイトとする。このとき、文字資源テーブルRh(2)全体としては、文字コード体系Jにおける領域0x3021〜0x4E7E、0x5021〜0x6F7Eに変換されることとなる。この変換によって生成された新たな文字資源テーブルを、文字資源テーブルRj(2)とする。即ち、文字資源テーブルRh(2)の文字コード0x41A1〜0x7FFEに登録されている文字と、文字資源テーブルRj(2)の文字コード0x3021〜0x4E7E、0x5021〜0x6F7Eに登録されている文字とは同一である。
演算制御部13が文字資源テーブルRh(3)に属する各文字を文字コード体系Jの下での文字コード登録を行う際は、文字資源テーブルRh(3)に属する文字コードの内、文字コード0x80A1〜0x9EFEの領域に登録されている各文字については、各文字コードの上位バイトから0x50を減算した値を文字コード体系Jでの上位バイトとするとともに、各文字コードの下位バイトから0x80を減算した値を文字コード体系Jでの下位バイトとする。又、文字資源テーブルRh(3)に属する文字コードの内、文字コード0x9FA1〜0xA0FEの領域に登録されている各文字については、各文字コードの上位バイトから0x4Fを減算した値を文字コード体系Jでの上位バイトとするとともに、各文字コードの下位バイトから0x80を減算した値を文字コード体系Jでの下位バイトとする。このとき、文字資源テーブルRh(3)全体としては、文字コード体系Jにおける領域0x3021〜0x4E7E、0x5021〜0x517Eに変換されることとなる。この変換によって生成された新たな文字資源テーブルを、文字資源テーブルRj(3)とする。即ち、文字資源テーブルRh(3)の文字コード0x80A1〜0xA0FEの領域に登録されている文字と、文字資源テーブルRj(3)の文字コード0x3021〜0x4E7E、0x5021〜0x517Eに登録されている文字とは同一である。
尚、演算制御部13が行う上記の文字コードJへの変換手順において、各文字が文字資源テーブルRh(1)〜Rh(3)のいずれの文字資源テーブルに属する文字であるかに着目して説明したが、実際には各文字の文字コード体系Hでの上位バイトの値に応じて、施すべき演算内容を決定するものとしても構わない。
即ち、文字コード体系Hにおける文字コードの内、上位バイトが0x41〜0x5Fである場合は、上位バイトから0x11を減算した値を文字コード体系Jにおける上位バイトとするとともに、文字コード体系Hにおける下位バイトから0x80を減算した値を文字コード体系Jにおける下位バイトとする。又、上位バイトが0x60〜0x7Fである場合は、上位バイトから0x10を減算した値を文字コード体系Jにおける上位バイトとするとともに、文字コード体系Hにおける下位バイトから0x80を減算した値を文字コード体系Jにおける下位バイトとする。又、上位バイトが0x80〜0x9Eである場合は、上位バイトから0x50を減算した値を文字コード体系Jにおける上位バイトとするとともに、文字コード体系Hにおける下位バイトから0x80を減算した値を文字コード体系Jにおける下位バイトとする。又、上位バイトが0x9F〜0xA0である場合は、上位バイトから0x4Fを減算した値を文字コード体系Jにおける上位バイトとするとともに、文字コード体系Hにおける下位バイトから0x80を減算した値を文字コード体系Jにおける下位バイトとする。又、上位バイトが0xA1〜0xF4である場合は、上位バイトから0x80を減算した値を文字コード体系Jにおける上位バイトとするとともに、文字コード体系Hにおける下位バイトから0x80を減算した値を文字コード体系Jにおける下位バイトとする。このような規則の下でコード変換を行うことによって、図6に示すような新たな文字コード体系Jへのコード変換を行うことができる。
このようにして、文字コード体系Hから文字コード体系Jへのコード変換を行うと、文字資源テーブルRh(1)〜Rh(3)から文字資源テーブルRj(1)〜Rj(3)が生成される。そしてこの生成された文字資源テーブルRj(1)〜Rj(3)に対して、演算制御部13がさらに文字コード体系Cへの文字コード変換を行う。このコード変換について図7を参照して説明する。
図7は、文字コード体系Jの下での文字資源テーブルと、文字コード体系Cの下での文字資源テーブルとの関係を示している。文字コード体系Cは、1区〜62区と、63区〜84区の2つのグループに大別され、更にそれぞれが奇数区と偶数区で横並びに並んでいる構成である。尚、ここでいう「区」とは、便宜上文字コード体系Hにおける文字コードの横一列の並びをいうものとする。図6に示すように、文字コード体系H及び文字コード体系Jは、いずれも横一列の文字コード数が94であり、従って文字コード体系Jは文字コード体系Hと同じように横一列の並びが1区分に相当する。一方、文字コード体系Cは、図7に示すように、横に並んだ94の文字コード群が、更に2列に並んだ構成となっているため、横一列の並びが2区分に相当する。即ち、下位バイト0x40〜0x9Eの領域は1区、3区、5区、・・・、83区なる奇数区によって占有され、下位バイト0x9F〜0xFCの領域は2区、4区、6区、・・・、84区なる偶数区によって占有される。
演算制御部13は、図7に示す文字コード体系Jにおける文字コード領域0x2121〜0x747Eに登録される各文字を、文字コード体系Cにおける文字コード領域0x8040〜0xEAFCに登録する。このとき、文字コード体系Jにおける各要素の文字コードの上位バイト及び下位バイトに応じた所定の演算を行うことで、文字コード体系Hから文字コード体系Cへの変換を行う。以下、この演算内容について説明する。
まず文字コード体系Cにおける上位バイトを求める。文字コード体系Jにおける文字コードの上位バイトが0x21〜0x5Eである場合は、(文字コード体系Jにおける上位バイト−1)を2で割った商に0x71を加算した値を文字コード体系Cにおける文字コードの上位バイトとする。一方、文字コード体系Jにおける文字コードの上位バイトが0x5F〜0x74である場合は、(文字コード体系Jにおける上位バイト−1)を2で割った商に0xB1を加算した値を文字コード体系Cにおける文字コードの上位バイトとする。
次に文字コード体系Cにおける下位バイトを求める。このとき、文字コード体系Jの上位バイトの偶奇によって場合分けを行う。文字コード体系Jの上位バイトが奇数である場合は、更に文字コード体系Jの下位バイトが0x21〜0x5Fである場合においては、(文字コード体系Jにおける文字コードの下位バイト)に0x1Fを加算した値を文字コード体系Cにおける文字コードの下位バイトとし、文字コード体系Jの下位バイトが0x60〜0x7Eである場合においては、(文字コード体系Jにおける文字コードの下位バイト)に0x20を加算した値を文字コード体系Cにおける文字コードの下位バイトとする。一方、文字コード体系Jの上位バイトが偶数である場合は、(文字コード体系Jにおける文字コードの下位バイト)に0x7Eを加算した値を文字コード体系Cにおける文字コードの下位バイトとする。
このように、文字コード体系Hの下で登録されている文字資源テーブルRh(1)〜Rh(3)に対して、文字コード体系Jにコード変換を行うことで文字資源テーブルRj(1)〜Rj(3)が得られ、この得られた文字資源テーブルRj(1)〜Rj(3)に対して、更に文字コード体系Cにコード変換を行うことで文字資源テーブルRc(1)〜Rc(3)が得られる。
以上の演算内容を演算制御部13が行うことにより、図4に示す文字資源テーブルRh(文字コード体系H)から、図5に示す文字資源テーブル群Rc(1)〜Rc(3)(文字コード体系C)が生成される。尚、上記分割処理及び変換処理内容がプログラムP1に記載されており、演算制御部13がプログラム記憶部11から当該内容が記載されたプログラムP1を読み出して演算の実行を行う。又、上述のように、文字資源テーブルRh(1)に属する文字を登録するフォントをフォントf1、文字資源テーブルRh(2)に属する文字を登録するフォントをフォントf2、文字資源テーブルRh(3)に属する文字を登録するフォントをフォントf3と設定するため、変換後の文字資源テーブルRc(1)の各文字はフォントf1に、文字資源テーブルRc(2)の各文字はフォントf2に、文字資源テーブルRc(3)の各文字はフォントf3に登録される。
このようにして生成された文字資源テーブル群Rc(1)〜Rc(3)は、上述のように、電気通信回線を介してパーソナルコンピュータ20に送られ、ホスト対応文字資源記憶部27に格納される。そして、演算制御部24が、プログラム記憶部25からプログラムP2を読み出して、プログラムP2の記載内容に基づいてホスト対応文字資源記憶部27に格納される各文字資源テーブルにアクセスすることで、文字コード体系Hで作成された文書dh1をパーソナルコンピュータ20の元で表示、印刷可能な形である文字コード体系Cで作成された文書dc1として出力する。
以下に、演算制御部24が、文字コード体系Hで作成された文書dh1を文字コード体系Cで作成された文書dc1として出力する手順について図8〜図12を参照して説明する。尚、この内容は、上記のようにプログラムP2に記載されるものとする。
図8は、演算制御部24が行う処理内容のフローチャートを示しており、図8の内容がプログラムP2に記載されている。
まず、演算制御部24が文書記憶部26より文書データを読み出し(STEP1)、当該文書に記載される最初の文字コードを読み出す(STEP2)。読み出された文字コードを元にして、文字コード体系Jに変換するために選択すべきフォントを確定し、文字コード体系Jへの変換を行う(STEP3)。文字コード体系Jに変換されると、文字コード体系Cに更に変換を行い(STEP4)、変換の結果を出力する(STEP5)。このとき出力される文字コードは、STEP2で読み出された文字コード体系Hによって表される文字データを文字コード体系Cの元で表した値である。このSTEP2〜STEP5の一連の動作が、一つの文字コードに対して行われる。読み出された文書に、まだ処理がされていない文字コードが存在する場合は(STEP6においてYes)、再びSTEP2に戻り、次の文字コードの読み出しを行う。このようにして読み出された文書の全ての文字コードに対する文字コード変換が行われると(STEP6においてNo)、一連の処理を終了する。
以下、図8に示すSTEP3(フォント確定・文字コード体系J変換ステップ)の詳細について図9〜図11を参照して説明する。図9〜図11は、図8におけるSTEP3で行われる動作内容を示すフローチャートである。
文字コードが読み出されると(図8のSTEP2)、まず当該文字コードを上位バイトh1と下位バイトh2に分けてその値を記憶する(STEP3−1)。そして、上位バイトh1の値に応じてフォントを確定する(STEP3−4〜STEP3−6)。即ち、上位バイトh1の値が0xA1〜0xF4の範囲内であるときは(STEP3−2においてYes)、フォントf1を選択する(STEP3−4)。又、上位バイトh1の値が0xA1〜0xF4の範囲外であり(STEP3−2においてNo)、更に0x41〜0x7Fの範囲内であるときは(STEP3−3においてYes)、フォントf2を選択する(STEP3−5)。更に、上位バイトh1の値が0x41〜0x7Fの範囲外であるときは(STEP3−3においてNo)、フォントf3を選択する(STEP3−6)。このようにして文字コード体系Jに変換する際に選択すべきフォントが確定する。
フォントが確定すると、文字コード体系Jに変換するための演算に必要な係数i1を決定するためのステップ(STEP3−7〜STEP3−13)へ進む。この係数i1は、文字コードの上位バイトh1に応じて定まる値であり、このi1によって文字コード体系Jに変換された新たな文字コードの上位バイトj1が決定される(STEP3−14)。
即ち、STEP3−4でフォントf1が選択された場合は、STEP3−7にて係数i1の値を0x80と確定し、STEP3−5でフォントf2が選択された場合は、更に上位バイトh1の値によって場合分けがされ、上位バイトh1が0x41〜0x5Fの範囲内にある場合は(STEP3−8においてYes)、STEP3−9にて係数i1の値を0x11と確定し、上位バイトh1が0x41〜0x5Fの範囲外にある場合は(STEP3−8においてNo)、STEP3−10にて係数i1の値を0x10と確定する。又、STEP3−6でフォントf3が選択された場合は、更に上位バイトh1の値によって場合分けがされ、上位バイトh1が0x80〜0x9Eの範囲内にある場合は(STEP3−11においてYes)、STEP3−12にて係数i1の値を0x50と確定し、上位バイトh1が0x80〜0x9Eの範囲外にある場合は(STEP3−11においてNo)、STEP3−13にて係数i1の値を0x4Fと確定する。
このようにして係数i1が確定すると、文字コード体系Jに変換するための演算処理ステップ(STEP3−14〜STEP3−15)へ進む。まず、読み出された上位バイトh1から、STEP3−7〜STEP3−13にて確定した係数i1を減算して、文字コード体系Jにおける新たな文字コードの上位バイトj1とする。次に、STEP3−1で記憶された下位バイトh2を読み出し、読み出された下位バイトh2から0x80を減算した値を文字コード体系Jにおける新たな文字コードの下位バイトj2とする(STEP3−16)。このようにして、文字コード体系Hの下で記載された文書の一文字に対する文字コード体系Jへの変換が完了する。
次に、図8に示すSTEP4(文字コード体系Cへの変換ステップ)についての詳細について、図12を参照して説明する。図12は、図8におけるSTEP4で行われる動作内容を示すフローチャートである。
STEP3で求めた文字コード体系Jにおける上位バイトj1に応じて、文字コード体系Cに変換するための演算に必要な係数i2を決定する(STEP4−1〜STEP4−3)。即ち、上位バイトj1の値が0x21〜0x5Eの範囲内であるときは(STEP4−1においてYes)、STEP4−2にて係数i2の値を0x71と確定し、上位バイトj1の値が0x21〜0x5Eの範囲外であるときは(STEP4−1においてNo)、STEP4−3にて係数i2の値を0xB1と確定する。係数i2が確定されると、上位バイトj1から1を減算した値を2で割った商に係数i2を加えた値を、文字コード体系Cにおける新たな文字コードの上位バイトc1とする(STEP4−4)。
文字コード体系Cにおける新たな文字コードの上位バイトc1を確定すると、次に文字コード体系Cにおける新たな文字コードの下位バイトc2を求める。このとき、文字コード体系Jにおける上位バイトj1及び下位バイトj2に応じて、下位バイトc2を求めるための演算に必要な係数i3を決定する(STEP4−5〜STEP4−9)。即ち、上位バイトj1が奇数である場合(STEP4−5においてYes)は、更に下位バイトj2が0x21〜0x5Fの範囲内にある場合は(STEP4−6においてYes)、STEP4−7において係数i3の値を0x1Fと確定し、下位バイトj2が0x21〜0x5Fの範囲外にある場合は(STEP4−6においてNo)、STEP4−8において係数i3の値を0x20と確定する。又、上位バイトj1が偶数である場合(STEP4−5においてNo)は、STEP4−9において係数i3の値が0x7Eと確定する。このようにSTEP4−7〜STEP4−9のいずれかのステップによって係数i3を確定すると、STEP4−10において、下位バイトj2に係数i3を加算することで文字コード体系Cにおける新たな文字コードの下位バイトc2を確定する。STEP4−4で上位バイトc1が算出され、STEP4−10で下位バイトc2が算出されると、STEP3で確定したフォントにおける当該上位バイトc1及び下位バイトc2で指定される箇所に格納される文字データを取得し、その結果を出力する(STEP5)。
上記のSTEP2〜STEP6までの一連の動作を、文書dh1に含まれる文字データがなくなるまで繰り返し行うことで、文書dh1の全文字データを文字コード体系Cによって表すことが可能となり、この結果、文字コード体系Cによって全文字が表された文書dc1が生成される。生成された文書dc1はパーソナルコンピュータ20によって表示、印刷が可能であり、この文書dc1の内容は、ホストコンピュータ10で表示、印刷される文書dh1と同一の内容である。
以下、上述した図8〜図12に示すフローチャートを用いて、図13に示す文字ch1、ch2、ch3がそれぞれパーソナルコンピュータ20にて正しく出力されることを説明する。
文書dh1が、3文字ch1、ch2、ch3からなる文書であり、この順に記載されていたとする。これらの文字ch1、ch2、ch3は、文字コード体系Hの下ではそれぞれ文字コード0xB0A1、0x41A1、0x80A1に登録されており、又、文字コード体系Cの下では、それぞれ、フォントf1における文字コード0x889F、フォントf2における文字コード0x889F、フォントf3における文字コード0x889Fに登録されているとする。即ち、文字ch1、ch2、ch3は、文字コード体系Cの下では異なるフォントf1、f2、f3における同じ文字コード0x889Fに登録されている。
文書dh1が読み出されると(STEP1)、まず最初の文字ch1を表す文字コード0xB0A1を読み出す(STEP2)。この文字コードの上位バイトは0xB0であり、0xA1〜0xF4の範囲内であるため(STEP3−2でYes)、フォントf1が選択される(STEP3−4)。STEP3−7で係数i1が0x80と確定し、STEP3−14にて文字コード体系Jの下での上位バイトを0x30(0xB0-0x80=0x30)と確定する。又、文字ch1を表す文字コード0xB0A1の下位バイトが0xA1であるので、STEP3−15にて文字コード体系Jの下での下位バイトを0x21(0xA1-0x80=0x21)と確定する。即ち、文字コード体系Hの下での文字コード0xB0A1は、文字コード体系Jの下での文字コード0x3021に変換される(STEP3)。
次にSTEP4に進み、文字コード体系Cへのコード変換を行う。文字コード体系Jの下での上位バイトが0x30であり、0x21〜0x5Eの範囲内であるため(STEP4−1でYes)、STEP4−2にで係数i2を0x71と確定し、STEP4−4にて文字コード体系Cの下での上位バイトを0x88((0x30-1)/2+0x71=0x88)と確定する。又、文字コード体系Jの下での上位バイト0x30は偶数(0x30=48)であるので(STEP4−5にてNo)、STEP4−9にて係数i3を0x7Eと確定し、文字コード体系Jの下での下位バイトが0x21であることよりSTEP4−10にて文字コード体系Cの下での下位バイトが0x9F(0x21+0x7E=0x9F)と確定する。即ち、文字コード体系Jの下での文字コード0x3021は、文字コード体系Cの下での文字コード0x889Fに変換される(STEP4)。尚、このとき指定されるフォントはSTEP3−4で確定したフォントf1である。
これより、文字コード体系Hの下での文字コード0xB0A1は、STEP3及びSTEP4によって文字コード体系Cの下でのフォントf1における文字コード0x889Fに変換される。演算制御部24は、ホスト対応文字資源記憶部27に格納されるフォントf1における文字コード0x889Fに登録される文字データを参照し、文字ch1を出力する(STEP5)。そして次の文字ch2が存在するため(STEP6でYes)、再びSTEP2へ戻る。
以下、文字ch2(文字コード体系Hの下での0x41A1)、ch3(文字コード体系Hの下での0x80A1)についても、上述した文字ch1と同様のプロセスを経て、それぞれフォントf2における文字コード体系Cの下での文字コード0x889F、フォントf3における文字コード体系Cの下での文字コード0x889Fに登録される文字を参照して、文字ch2、文字ch3を出力することが可能である。文書dh1に記載される全ての文字の読み出しが完了すると(STEP6でNo)、演算制御部24が行う文書dh1に対する変換処理が終了する。このとき、文字コード体系Cに変換され、出力が可能となった文書dc1が新たに生成され、この文書dc1が出力部22に送られて、表示及び印刷が可能となる。
このように構成されるとき、予めパーソナルコンピュータ20が、ホストコンピュータ10の文字資源記憶部12に格納される全ての文字資源を、文字コード体系Cに変換された形でホスト対応文字資源記憶部27に格納しておくとともに、上記内容が記載されたプログラムP2をプログラム記憶部25に記憶させておくことで、文字コード体系Hの下で作成されたあらゆる文書を表示、印刷することが可能となる。即ち、パーソナルコンピュータ20に与えられる文字コード体系Hの下で作成されたあらゆる文書は、プログラムP2の記載に従って、当該文書中に含まれる全ての文字に対して文字コード体系Cへの変換処理が施され、ホスト対応文字資源記憶部27に格納されている該当する文字データが読み出されることで、表示及び印刷が可能となる。
本実施形態は、予めホストコンピュータ10が備える全ての文字データをパーソナルコンピュータ20が記憶している構成であるため、パーソナルコンピュータ20に登録されていない外字が含まれている場合に新たに外字の登録をする必要があるという事態が発生しない。又、ホストコンピュータ10側で新たな文字を追加登録した場合は、当該追加登録された文字データに対するコード変換処理を行って、ホスト対応文字資源記憶部27に追加登録することで対応が可能である。
又、本実施形態の構成によれば、文書に応じて外字ファイルの切換を行う必要がないため、同一の文字コード体系の下で作成された文書であれば、あらゆる文書に対して変換処理が可能であるため、例えば複数の文書に対して連続的に変換処理を施すことができ、処理量及び処理時間の削減が図られる。
尚、本実施形態においては、文字コード体系Hを図19に示す構造とし、文字コード体系Cを図20に示す構造とし、又、文字コード体系Jを図6あるいは図7に示す構造として説明したが、文字コード体系の構造がこれらと異なった場合においても、プログラムP1に記載の分割・変換処理内容及びプログラムP2に記載の変換処理内容のそれぞれの細部を変更することで同様の効果が期待できる。又、本実施形態では、変換処理手順を単純化するために、便宜上文字コード体系Jへの一時的変換処理を行うものとしたが、文字コード体系の構造によっては、ホストコンピュータ10が用いる文字コード体系からパーソナルコンピュータ20が用いる文字コード体系に直接的に変換する構成としても構わない。
又、例えばパーソナルコンピュータ20の文字コード体系として、文字コード体系C以外に、C1、C2、・・・、といった複数の文字コード体系が存在する場合においても、各々の文字コード体系に応じたプログラムP1に相当するプログラムを元に、ホストコンピュータ10が備える全文字資源をパーソナルコンピュータ20の文字コード体系にコード変換してホスト対応文字資源記憶部27に格納しておくとともに、文書変換時に各々の文字コード体系に応じたプログラムP2に相当するプログラムを実行することで、同様に文書内容の表示、印刷が可能となる。
尚、本実施形態では、ホストコンピュータ10の文字コード体系Hで生成された文書dh1をパーソナルコンピュータ20が表示、印刷するために、パーソナルコンピュータ20が文書dh1に対して文字コード変換を行うものとしたが、予めパーソナルコンピュータ20の文字コード体系Cが分かっている場合においては、ホストコンピュータ10側で、パーソナルコンピュータ20の文字コード体系にコード変換を行う構成としても構わない。
このとき、ホストコンピュータ10aは、図14に示すように、図1に示すホストコンピュータ10の構成要件に加えて、更に文字資源記憶部12に格納される文字資源をパーソナルコンピュータのコード体系Cに変換した変換後の文字資源が記憶されるコード変更用文字資源記憶部18と、変換処理を行うために対象となる文書を一時的に格納する文書記憶部19とを備える。又、ホストコンピュータ10aは、予めプログラム記憶部11に上述のプログラムP2を格納しているものとする。
このように構成されるとき、プログラムP1の記載に従って文字資源記憶部12に格納される文字資源が、文字コード体系Cに変換されてコード変更用文字資源記憶部18に格納される。又、演算制御部13が、文字コード体系Hの下で作成された文書dh1を文書記憶部19から読み出すとともに、プログラム記憶部11に記憶される上述のプログラムP2を読み出して、プログラムP2の記載の下で文書dh1に対して文字コード体系Cへの変換を行う。その際、演算制御部13は、演算によって求められた文字コードに該当する文字データをコード変更用文字資源記憶部18から読み出す。文書dh1中の全ての文字に対する処理が終了すると、パーソナルコンピュータ20で印刷、表示が可能な文書dc1が生成される。従って、この生成された文書dc1をパーソナルコンピュータ20に送受信部16から電気通信回線を介して与えることにより、パーソナルコンピュータ20で変換処理をすることなく文書の印刷、表示が可能となる。
<第2の実施形態>
本発明の第2の実施形態について、図面を参照して説明する。尚、本実施形態の文字コード変換システムは、図1に示す第1の実施形態における文字コード変換システム1と同一であるとし、各構成要素についての詳細な説明は省略する。
本実施形態では、異なる文字コード体系を使用する複数のホストコンピュータを想定しており、文字コード体系Haを使用するホストコンピュータをホストコンピュータ10a、文字コード体系Hbを使用するホストコンピュータをホストコンピュータ10bとする。又、パーソナルコンピュータ20は、第1の実施形態と同様文字コード体系Cを使用するものとする。
以下において、文字コード体系Haで作成された文書dha1、及び文字コード体系Hbで作成された文書dhb1を、文字コード体系Cの下で表示又は印刷可能とするためのフローについて、図1、図15〜図16を用いて説明する。図15及び図16は、文字コード体系Haで作成された文書dha1、及び文字コード体系Hbで作成された文書dhb1を、文字コード体系Cの下で表示又は印刷が可能となるまでの過程を説明するための概念的なブロック図である。
パーソナルコンピュータ20が文書dha1又は文書dhb1を読み出す前に、予めホストコンピュータ10a(文字コード体系Ha)において、ホストコンピュータ10aが使用可能な全ての文字資源で構成される文字資源テーブルRhaを、パーソナルコンピュータ20で使用可能な最大文字数Nc以下(Ncは自然数)の文字コードで構成される複数の文字資源テーブル群Rha(1)〜Rha(ma)に分割し(maは2以上の自然数)、又、ホストコンピュータ10b(文字コード体系Hb)において、ホストコンピュータ10bが使用可能な全ての文字資源で構成される文字資源テーブルRhbを、パーソナルコンピュータ20で使用可能な最大文字数Nc以下(Ncは自然数)の文字コードで構成される複数の文字資源テーブル群Rhb(1)〜Rhb(mb)に分割する(mbは2以上の自然数)。尚、上記文字資源テーブルRha及びRhbの分割方法は、第1の実施形態における文字資源テーブルRhの分割方法と同一であり、その詳細な説明は省略する。
作成された文字資源テーブル群Rha(1)〜Rha(ma)に含まれる各文字コードに登録される各文字に対して、パーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、新たな文字資源テーブル群Rca(1)〜Rca(ma)を作成する。又、作成された文字資源テーブル群Rhb(1)〜Rhb(mb)に含まれる各文字コードに登録される各文字に対して、パーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、新たな文字資源テーブル群Rcb(1)〜Rcb(mb)を作成する。尚、上記のコード変換の方法は、第1の実施形態における文字資源テーブル群Rh(1)〜Rh(m)から文字資源テーブル群Rc(1)〜Rc(m)を生成する方法と同一であり、その詳細な説明は省略する。
作成された文字資源テーブル群Rca(1)〜Rca(ma)がホストコンピュータ10aから、又、作成された文字資源テーブル群Rcb(1)〜Rcb(mb)がホストコンピュータ10bから、それぞれパーソナルコンピュータ20に与えられ、パーソナルコンピュータ20は、これらの文字資源テーブル群Rca(1)〜Rca(ma)及びRcb(1)〜Rcb(mb)をホスト対応文字資源記憶部27に格納する。このように、ホスト対応文字資源記憶部27に文字資源テーブル群Rca(1)〜Rca(ma)及びRcb(1)〜Rcb(mb)が格納されることで、ホストコンピュータ10a又はホストコンピュータ10bで使用可能な全ての文字に対してパーソナルコンピュータ20で利用可能な環境が構築される。尚、ホスト対応文字資源記憶部27は、後述するように、演算制御部24が読み出す文字資源テーブル群を切り換えるための文字資源テーブル群切換部31を備える。
このように、ホスト対応文字資源記憶部27に文字資源テーブル群Rca(1)〜Rca(ma)及びRcb(1)〜Rcb(mb)が格納された状態で、パーソナルコンピュータ20が例えば文字コード体系Haで記載された文書dha1を読み出すときは、演算制御部24が、ホスト対応文字資源記憶部27に格納される文字資源テーブル群Rca(1)〜Rca(ma)を呼び出して、文書dha1の各文字をパーソナルコンピュータ20で表示、印刷が可能な文字コード体系Cに則した形に書き換えて、出力部22に送出する。
一方、文字コード体系Hbで記載された文書dhb1を読み出すときは、演算制御部24が、ホスト対応文字資源記憶部27に格納される文字資源テーブル群Rcb(1)〜Rcb(mb)を呼び出して、文書dha1の各文字をパーソナルコンピュータ20で表示、印刷が可能な文字コード体系Cに則した形に書き換えて、出力部22に送出する。
このとき、文書dha1を読み出すときは、演算制御部24がホスト対応文字資源記憶部27に対し、文字コード体系Haの文字資源テーブル群を読み出す旨の信号を送信する。そしてホスト対応文字資源記憶部27において、文字資源テーブル群切換部31が文字資源テーブル群Rca(1)〜Rca(ma)に対してアクセス可能とすることにより、演算制御部24から文字資源テーブル群Rca(1)〜Rca(ma)を読み出すことが可能となる。一方、文書dhb1を読み出すときは、演算制御部24がホスト対応文字資源記憶部27に対し、文字コード体系Hbの文字資源テーブル群を読み出す旨の信号を送信する。そしてホスト対応文字資源記憶部27において、文字資源テーブル群切換部31が文字資源テーブル群Rcb(1)〜Rcb(mb)に対してアクセス可能とすることにより、演算制御部24から文字資源テーブル群Rcb(1)〜Rcb(mb)を読み出すことが可能となる。
このように構成されるとき、文書が記載されている文字コード体系に応じて演算制御部24がホスト対応文字資源記憶部27から読み出す文字資源テーブル群を切り換えることにより、異なる文字コード体系の下で作成された文書dha1及び文書dhb1についても、単一のパーソナルコンピュータ20にて表示、印刷が可能になる。
<第3の実施形態>
本発明の第3の実施形態について、図面を参照して説明する。尚、本実施形態の文字コード変換システムは、図1に示す第1の実施形態における文字コード変換システム1と同一であるとし、各構成要素についての詳細な説明は省略する。
本実施形態では、第2の実施形態と同様、異なる文字コード体系を使用する複数のホストコンピュータを想定しており、文字コード体系Haを使用するホストコンピュータをホストコンピュータ10a、文字コード体系Hbを使用するホストコンピュータをホストコンピュータ10bとし、パーソナルコンピュータ20は、第1の実施形態と同様文字コード体系Cを使用するものとする。又、文字コード体系Ha及びHbで用いられる文字資源には、それぞれに共通して用いられる共通文字資源と、それぞれに独自に用いられる個別文字資源とが存在し、ホストコンピュータ10a及びホストコンピュータ10bは、どちらも各々のコンピュータが備える文字資源の内、文字コード体系Ha及びHbにおける共通文字資源と、各々の文字コード体系における個別文字資源とを判別できるものとする。
又、本実施形態におけるホスト対応文字資源記憶部27は、図18に示すように第2の実施形態における文字資源テーブル群切換部31に加えて、更に切換不要な文字資源テーブル群を格納する読出し用文字資源テーブル群記憶部32を備える。図17及び図18は、文字コード体系Haで作成された文書dha1、及び文字コード体系Hbで作成された文書dhb1を、文字コード体系Cの下で表示又は印刷が可能となるまでの過程を説明するための概念的なブロック図である。
以下において、文字コード体系Haで作成された文書dha1、及び文字コード体系Hbで作成された文書dhb1を、文字コード体系Cの下で表示又は印刷可能とするためのフローについて、図1、図17及び図18を用いて説明する。
ホストコンピュータ10a(文字コード体系Ha)で用いられる文字資源と、ホストコンピュータ10b(文字コード体系Hb)で用いられる文字資源において、予め両方の文字コード体系で共通に用いられる文字資源(共通文字資源)と、個別に用いられる文字資源(個別文字資源)とに分解する。即ち、ホストコンピュータ10aが使用可能な全ての文字資源で構成される文字資源テーブルRhaを、共通文字資源で構成される共通文字資源テーブル群Rhcと文字コード体系Haで独自に用いられる個別文字資源で構成される個別文字資源テーブル群Rhaiとに分解する。そして、新たに生成された文字資源テーブル群RhcおよびRhaiを、更にパーソナルコンピュータ20で使用可能な最大文字数Nc以下(Ncは自然数)の文字コードで構成される複数の文字資源テーブル群Rhc(1)〜Rhc(mc)及びRhai(1)〜Rhai(mai)に分割する(mc、maiは2以上の自然数)。尚、上記文字資源テーブルRhc及びRhaiの分割方法は、第1の実施形態における文字資源テーブルRhの分割方法と同一であり、その詳細な説明は省略する。
ホストコンピュータ10aは、作成された文字資源テーブル群Rhc(1)〜Rhc(mc)及びRhai(1)〜Rhai(mai)に含まれる各文字コードに登録される各文字に対して、パーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、新たな文字資源テーブル群Rcc(1)〜Rcc(mc)及びRcai(1)〜Rcai(mai)を作成するとともに、新たに作成された文字資源テーブル群Rcc(1)〜Rcc(mc)及びRcai(1)〜Rcai(mai)をパーソナルコンピュータ20に与える。尚、上記のコード変換の方法は、第1の実施形態における文字資源テーブル群Rh(1)〜Rh(m)から文字資源テーブル群Rc(1)〜Rc(m)を生成する方法と同一であり、その詳細な説明は省略する。
同様に、ホストコンピュータ10bが使用可能な全ての文字資源で構成される文字資源テーブルRhbを、共通文字資源で構成される共通文字資源テーブル群Rhcと文字コード体系Hbで独自に用いられる個別文字資源で構成される個別文字資源テーブル群Rhbiとに分解する。そして、新たに生成された文字資源テーブル群RhcおよびRhbiを、更にパーソナルコンピュータ20で使用可能な最大文字数Nc以下(Ncは自然数)の文字コードで構成される複数の文字資源テーブル群Rhc(1)〜Rhc(mc)及びRhbi(1)〜Rhbi(mbi)に分割する(mbiは2以上の自然数)。尚、上記文字資源テーブルRhc及びRhbiの分割方法は、第1の実施形態における文字資源テーブルRhの分割方法と同一であり、その詳細な説明は省略する。
ホストコンピュータ10bは、作成された文字資源テーブル群Rhc(1)〜Rhc(mc)及びRhbi(1)〜Rhbi(mbi)に含まれる各文字コードに登録される各文字に対して、パーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、新たな文字資源テーブル群Rcc(1)〜Rcc(mc)及びRcbi(1)〜Rcbi(mbi)を作成するとともに、新たに作成された文字資源テーブル群Rcc(1)〜Rcc(mc)及びRcbi(1)〜Rcbi(mbi)をパーソナルコンピュータ20に与える。このとき、ホストコンピュータ10a及びホストコンピュータ10bの両方のコンピュータが共通に作成する文字資源テーブル群Rcc(1)〜Rcc(mc)は、ホストコンピュータ10a及びホストコンピュータ10bのいずれか一方のコンピュータがパーソナルコンピュータ20に与えるものとしても構わない。尚、上記のコード変換の方法は、第1の実施形態における文字資源テーブル群Rh(1)〜Rh(m)から文字資源テーブル群Rc(1)〜Rc(m)を生成する方法と同一であり、その詳細な説明は省略する。
パーソナルコンピュータ20は、与えられた文字資源テーブル群Rcc(1)〜Rcc(mc)、Rcai(1)〜Rcai(mai)、Rcbi(1)〜Rcbi(mbi)をホスト対応文字資源記憶部27に格納する。このとき、文字コード体系Ha及び文字コード体系Hbにおいて共通に用いられる文字資源で構成される文字資源テーブル群Rcc(1)〜Rcc(mc)を読出し用文字資源テーブル群記憶部32に格納する。
このように構成されるとき、、パーソナルコンピュータ20が例えば文字コード体系Haで記載された文書dha1を読み出すときは、演算制御部24が、読出し用文字資源テーブル群記憶部32に格納される文字資源テーブル群Rcc(1)〜Rcc(mc)と、文字資源テーブル群切換部31によって指定される文字資源テーブル群Rcai(1)〜Rcai(mai)とを呼び出して、文書dha1の各文字をパーソナルコンピュータ20で表示、印刷が可能な文字コード体系Cに則した形に書き換えて、出力部22に送出する。
一方、文字コード体系Hbで記載された文書dhb1を読み出すときは、演算制御部24が、読出し用文字資源テーブル群記憶部32に格納される文字資源テーブル群Rcc(1)〜Rcc(mc)と、文字資源テーブル群切換部31によって指定される文字資源テーブル群Rcbi(1)〜Rcbi(mbi)とを呼び出して、文書dhb1の各文字をパーソナルコンピュータ20で表示、印刷が可能な文字コード体系Cに則した形に書き換えて、出力部22に送出する。
このように構成することで、演算制御部24は、文字資源テーブル群Rcc(1)〜Rcc(mc)に対しては常にアクセス可能にしておくことができ、文字資源テーブル群切換部31は、文字資源テーブル群Rcai(1)〜Rcai(mai)とRcbi(1)〜Rcbi(mbi)との間で切換えを行えばよいため、文書が記載される文字コード体系に応じて切換える必要のある文字資源の数を少なくすることができる。
例えば、ホストコンピュータ10a、10bが有する文字資源が、ともに図19に示すような構成をしており、このうち利用者定義文字のみが文字コード体系Ha及び文字コード体系Hbにおける個別文字資源であり、残りの基本非漢字、第一水準、第二水準、拡張漢字、拡張非漢字に属する各文字資源は共通文字資源であるとする。このとき、図5に示す文字資源テーブル群Rh(1)、Rh(2)が共通文字資源、文字資源テーブル群Rh(3)が個別文字資源に相当する。尚、利用者定義文字は文字コード体系によって異なるため、文字コード体系Haでの文字資源テーブル群をRha(3)とし、文字コード体系Hbでの文字資源テーブル群をRhb(3)とする。
このとき、分解された文字資源テーブル群Rh(1)、Rh(2)、Rha(3)、Rhb(3)に対して、それぞれパーソナルコンピュータ20が利用できる文字コード体系Cへのコード変換を施し、Rc(1)、Rc(2)、Rca(3)、Rcb(3)を生成する。そしてこれらがパーソナルコンピュータ20に与えられ、ホスト対応文字資源記憶部27に格納される。このうち、共通文字資源で構成される文字資源テーブル群Rc(1)及びRc(2)は、読出し用文字資源テーブル群記憶部32に格納される。
このとき、異なる文字コード体系で記載された文書dha1及びdhb1を読み出す場合には、共通文字資源で構成される文字資源テーブル群Rc(1)及びRc(2)は文字コード体系Ha、Hbのどちらの文字コード体系でも用いられる文字資源であるため、これらの文字資源は文書が記載される文字コードによらず常に演算制御部24からアクセス可能な状態にしておくとともに、文字資源テーブル群切換部31が、文書が記載される文字コードに応じて演算制御部24からアクセス可能となる文字資源テーブル群を個別文字資源で構成される文字資源テーブル群Rca(3)とRcb(3)との間で切り換えを行えばよい。
上記の例では、文字資源テーブル群Rca(3)及びRcb(3)は、それぞれ文字コード体系Ha及び文字コード体系Hbにおける利用者定義文字に相当するものであるため、これらの利用者定義文字のみの切換えを行うことで異なる文字コード体系で記載された文書を読出すことが可能となる。
又、パーソナルコンピュータ20が読み出す文書dha1及びdhb1に、どの文字コードによって記載されているかを示すフラグが付されており、演算制御部24が文書記憶部26より文書を読出す際に、まず当該フラグを元にして文字資源テーブル群切換部31に読み出すべき文字資源テーブル群を指定する信号を与える構成としても構わない。
このように構成するとき、異なる文字コード体系で記載された複数の文書を連続的にパーソナルコンピュータ20で読み出す場合に、読み出すべき文字資源テーブル群の切換えが自動的に行えるため、文書の表示、印刷に必要な時間の短縮化が図られる。
又、上述の説明において、ホストコンピュータ10a及び10bは、どちらのホストコンピュータも、各々のホストコンピュータが備える文字資源の内、共通文字資源と個別文字資源とを判別できるものとしたが、この情報を外部より予め与えることができる構成としても構わない。
又、第2の実施形態のように、予め共通文字資源テーブル群と個別文字資源テーブル群とを分割せずにパーソナルコンピュータ20にコード変換された文字資源テーブル群を与えた場合に、パーソナルコンピュータ20が、与えられた文字資源テーブル群の内、文字コード体系によらず共通に用いられる共通テーブル群と、文字コード体系に応じて個別に用いられる個別テーブル群とを判別する判別部を備える構成としても構わない。尚、この共通テーブル群及び個別テーブル群は、それぞれ本実施形態における共通文字資源テーブル群及び個別文字資源テーブル群とそのテーブル構成が異なることが考えられるので、混同を避けるために名称を変更している。
このとき、前記判別部が判別した共通テーブル群を読出し用文字資源テーブル群記憶部32に格納し、この共通テーブル群に属する文字資源テーブルは文書が記載される文字コード体系によらず常に演算制御部24からアクセス可能な状態にしておくとともに、文書が記載される文字コード体系に応じて、文字資源テーブル群切換部31が演算制御部24からアクセス可能となる前記判別部が判別した個別テーブル群を切換えることで、本実施形態と同様の効果を得ることができる。
尚、第2〜第3の各実施形態において、異なる文字コード体系としてHa及びHbなる2種類の文字コード体系を想定して説明したが、文字コード体系が3種類以上であっても同様の方法でパーソナルコンピュータでの表示、印刷が可能である。
は、第1の実施形態における文字コード変換システムの全体構成を説明するためのブロック図である。 は、第1の実施形態における文字コード変換システムのコード変換フローを説明するための概念的なブロック図である。 は、第1の実施形態における文字コード変換システムのコード変換フローを説明するための別の概念的なブロック図である。 は、第1の実施形態において演算制御部が行う文字資源テーブルに対する分割処理内容を説明するための概念図である。 は、第1の実施形態において演算制御部が行う文字資源テーブルに対するコード変換処理内容を説明するための概念図である。 は、第1の実施形態において演算制御部が行う文字資源テーブルに対するコード変換処理内容を説明するための別の概念図である。 は、第1の実施形態において演算制御部が行う文字資源テーブルに対するコード変換処理内容を説明するための更に別の概念図である。 は、第1の実施形態において演算制御部が行う処理内容のフローチャートである。 は、第1の実施形態において演算制御部が行う処理内容のフローチャートの一部である。 は、第1の実施形態において演算制御部が行う処理内容のフローチャートの一部である。 は、第1の実施形態において演算制御部が行う処理内容のフローチャートの一部である。 は、第1の実施形態において演算制御部が行う処理内容のフローチャートの一部である。 は、第1の実施形態の文字コード変換システムを用いて文字が正しく出力されることを説明するための図である。 は、第1の実施形態における文字コード変換システムの全体構成を説明するための別のブロック図である。 は、第2の実施形態における文字コード変換システムのコード変換フローを説明するための概念的なブロック図である。 は、第2の実施形態における文字コード変換システムのコード変換フローを説明するための別の概念的なブロック図である。 は、第3の実施形態における文字コード変換システムのコード変換フローを説明するための概念的なブロック図である。 は、第3の実施形態における文字コード変換システムのコード変換フローを説明するための別の概念的なブロック図である。 は、ホストコンピュータの文字資源領域の一例を示す図である。 は、パーソナルコンピュータの文字資源領域の一例を示す図である。
符号の説明
10、10a、10b ホストコンピュータ
11 プログラム記憶部
12 文字資源記憶部
13 演算制御部
14 入力部
15 出力部
16 送受信部
17 記録再生部
20 パーソナルコンピュータ
21 入力部
22 出力部
23 送受信部
24 演算制御部
25 プログラム記憶部
26 文書記憶部
27 ホスト対応文字資源記憶部
28 記録再生部
31 文字資源テーブル群切換部
32 読出し用文字資源テーブル群記憶部

Claims (22)

  1. 文字コードに登録されている文字を照会するための文字資源テーブルを備えるコンピュータに文字を登録する文字登録方法であって、
    登録する文字の文字数が前記文字資源テーブルに登録可能な文字数よりも多い場合に、
    前記文字資源テーブルを複数作成するとともに、該複数の文字資源テーブルに異なる文字群を登録し、
    該複数の文字資源テーブルにおける同一の文字コードに対して異なる文字を登録することを可能にすることで、前記コンピュータに登録できる文字数を増加させることを特徴とする文字登録方法。
  2. 前記文字資源テーブルを作成する際に、該文字資源テーブルを識別するための文字決定コードを作成することを特徴とする請求項1に記載の文字登録方法。
  3. 前記文字決定コードとして、前記コンピュータで認識可能なフォントを利用することを特徴とする請求項1又は請求項2に記載の文字登録方法。
  4. 請求項2に記載の文字登録方法に基づいて文字が登録されたコンピュータが文字を照会する文字照会方法であって、
    前記コンピュータに前記文字決定コードと前記文字コードを与えると、
    前記文字決定コードに対応する文字資源テーブルを照会するとともに、前記照会された文字資源テーブルより、前記文字コードに対応する文字を照会して該当する文字を出力する文字照会方法。
  5. 前記文字決定コードとして、前記コンピュータで認識可能なフォントを利用することを特徴とする請求項4に記載の文字照会方法。
  6. 請求項1〜請求項3のいずれかに記載の文字登録方法を使用することを特徴とする文字登録プログラム。
  7. 請求項4又は請求項5に記載の文字照会方法を使用することを特徴とする文字照会プログラム。
  8. 文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するための文字コード変換方法であって、
    前記第1の文字コード体系で登録されるすべての文字と該文字に対応する第1の文字コードとで構成される第1の文字資源テーブルを、所定の規則の下で前記第2の文字コード体系が扱うことのできる最大文字コード数以下に分割して複数の第2の文字資源テーブルを作成する第1のステップと、
    前記作成された複数の第2の文字資源テーブルそれぞれを識別するための文字決定コードを作成する第2のステップと、
    前記作成された複数の第2の文字資源テーブルそれぞれにおいて、各前記第2の文字資源テーブルに含まれる各文字に対して、前記第2の文字コード体系で利用可能な第2の文字コードを割り当てることで複数の第3の文字資源テーブルを作成する第3のステップと、で構成される文字コード変換方法。
  9. 前記第1の文字コードの値に応じて、当該第1の文字コードが指定する文字が登録される前記第2の文字資源テーブルが確定されることを特徴とする請求項8に記載の文字コード変換方法。
  10. 前記文字決定コードとして、前記第2のコンピュータで利用可能なフォントを利用することを特徴とする請求項8又は請求項9に記載の文字コード変換方法。
  11. 前記第1の文字コード体系が複数種類存在する場合において、
    前記第1のステップにおいて、
    前記第2の文字資源テーブルとして、複数の前記第1の文字コード体系それぞれで共通に用いられる共通文字と該共通文字に対応する前記第1の文字コードとで構成される共通文字資源テーブルと、前記第1の文字コード体系それぞれで個別に用いられる個別文字と該個別文字に対応する前記第1の文字コード体系それぞれにおける前記第1の文字コードとで構成される個別文字資源テーブルと、が生成されるとともに、
    前記共通文字資源テーブルが、複数の前記第1の文字コード体系に対して共通の文字資源テーブルとして1つだけ生成され、
    前記個別文字資源テーブルが、複数の前記第1の文字コード体系それぞれに対して生成されることを特徴とする請求項8〜請求項10のいずれかに記載の文字コード変換方法。
  12. 前記第1のステップが、
    前記第1の文字コード体系それぞれにおける前記第1の文字資源テーブルを、前記共通文字による共通文字領域と、前記個別文字による個別文字領域とに分割する第4のステップと、
    前記共通文字領域及び前記個別文字領域それぞれに対して、所定の規則の下で前記第2の文字コード体系が扱うこのとできる最大文字コード数以下に分割して、前記共通文字資源テーブル及び前記個別文字資源テーブルを生成する第5のステップと、で構成されることを特徴とする請求項11に記載の文字コード変換方法。
  13. 文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで表示又は印刷するための文字出力方法であって、
    前記第2のコンピュータが、予め請求項8〜請求項10のいずれかに記載の文字コード変換方法に基づいて作成された前記複数の第3の文字資源テーブルを備えるとき、
    前記第1の文字コード体系の下で作成された文書を読み込んだときに該文書内に含まれる各文字コードが表す文字が登録されている前記第3の文字資源テーブルを指定する前記文字決定コードを前記文字コードの値から算出する第6のステップと、
    前記第6のステップで算出された前記文字決定コードが指定する前記第3の文字資源テーブルを参照して前記文字コードに登録される文字を得る第7のステップと、で構成されることを特徴とする文字出力方法。
  14. 前記第1の文字コード体系が複数種類存在する場合において、
    前記第2のコンピュータが、予め前記第1〜第3の各ステップを前記第1の文字コード体系の種類毎に行って作成された文字コード体系毎の前記複数の第3の文字資源テーブルを備えるとき、
    前記第6のステップが、前記文書が記載される文字コード体系に該当する前記複数の第3の文字資源テーブルを呼び出す第8のステップを備えることを特徴とする請求項13に記載の文字出力方法。
  15. 前記第8のステップが、
    前記文書が記載される文字コード体系を該文書の一部の内容から判定する第9のステップと、
    前記第9のステップで判定された文字コード体系に該当する前記複数の第3の文字資源テーブルを自動的に選択して呼び出す第10のステップと、を備えることを特徴とする請求項14に記載の文字出力方法。
  16. 前記第1の文字コード体系が複数種類存在する場合において、文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで表示又は印刷するための文字出力方法であって、
    前記第2のコンピュータが、予め請求項11又は請求項12のいずれかに記載の文字コード変換方法に基づいて作成された前記複数の第3の文字資源テーブルを備えるとき、
    前記第1の文字コード体系の下で作成された文書を読み込んだときに該文書が記載される文字コード体系に該当する前記複数の第3の文字資源テーブルを呼び出す第11のステップと、
    前記文書内に含まれる各文字コードが表す文字が登録されている前記第3の文字資源テーブルを、前記第11のステップで呼び出された複数の前記第3の文字資源テーブルから指定する前記文字決定コードを前記文字コードの値から算出する第12のステップと、
    前記第12のステップで算出された前記文字決定コードが指定する前記第3の文字資源テーブルを参照して前記文字コードに登録される文字を得る第13のステップと、で構成されることを特徴とする文字出力方法。
  17. 前記第11のステップが、
    前記文書が記載される文字コード体系を該文書の一部の内容から判定する第14のステップと、
    前記第14のステップで判定された文字コード体系に該当する前記複数の第3の文字資源テーブルを自動的に選択して呼び出す第15のステップと、を備えることを特徴とする請求項16に記載の文字出力方法。
  18. 請求項8〜請求項12のいずれかに記載の文字コード変換方法を使用することを特徴とする文字コード変換プログラム。
  19. 請求項13〜請求項17のいずれかに記載の文字出力方法を使用することを特徴とする文字出力プログラム。
  20. 文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するために文字コード変換を施す文字コード変換システムであって、
    請求項8〜請求項12のいずれかに記載の文字コード変換方法を用いて前記文字に対して文字コード変換を行うことを特徴とする文字コード変換システム。
  21. 文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで使用可能な文字を、文字コード数が少ない第2の文字コード体系を使用する第2のコンピュータで利用するために文字コード変換を施す文字コード変換システムであって、
    前記第2のコンピュータが、前記第1のコンピュータで作成された文書を請求項13〜請求項17のいずれかに記載の文字出力方法を用いて表示又は印刷することを特徴とする文字コード変換システム。
  22. 文字コード数が少ない第2の文字コード体系を使用するコンピュータであって、
    文字コード数が多い第1の文字コード体系を使用する第1のコンピュータで作成された文書を、請求項13〜請求項17のいずれかに記載の文字出力方法を用いて表示又は印刷することを特徴とするコンピュータ。
JP2004294510A 2004-10-07 2004-10-07 文字コード変換方法及び文字コード変換プログラム Pending JP2006107226A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004294510A JP2006107226A (ja) 2004-10-07 2004-10-07 文字コード変換方法及び文字コード変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004294510A JP2006107226A (ja) 2004-10-07 2004-10-07 文字コード変換方法及び文字コード変換プログラム

Publications (1)

Publication Number Publication Date
JP2006107226A true JP2006107226A (ja) 2006-04-20

Family

ID=36376880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004294510A Pending JP2006107226A (ja) 2004-10-07 2004-10-07 文字コード変換方法及び文字コード変換プログラム

Country Status (1)

Country Link
JP (1) JP2006107226A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511366A (ja) * 2008-02-01 2011-04-07 ジ・オリバー・グループ・リミテッド・ライアビリティ・カンパニー データの検索および索引付けの方法およびそれを実施するシステム
JP2014013523A (ja) * 2012-07-05 2014-01-23 Dainippon Printing Co Ltd 文書ファイル作成方法およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511366A (ja) * 2008-02-01 2011-04-07 ジ・オリバー・グループ・リミテッド・ライアビリティ・カンパニー データの検索および索引付けの方法およびそれを実施するシステム
JP2014013523A (ja) * 2012-07-05 2014-01-23 Dainippon Printing Co Ltd 文書ファイル作成方法およびシステム

Similar Documents

Publication Publication Date Title
US5802539A (en) Method and apparatus for managing text objects for providing text to be interpreted across computer operating systems using different human languages
US6580440B1 (en) System and method for automatically creating and updating a graphical user interface
US8418053B2 (en) Division program, combination program and information processing method
US7680333B2 (en) System and method for binary persistence format for a recognition result lattice
JP4997749B2 (ja) 文書処理方法、プログラム及びシステム
US20030210428A1 (en) Non-OCR method for capture of computer filled-in forms
CN101739224A (zh) 略图创建方法以及图像形成装置
JP2009181584A (ja) 中国語データおよびユーザ修正データの作成し、かつ、使用する方法およびシステム
JP5053550B2 (ja) 文書処理装置及び方法と文書処理システム
US5694609A (en) Document processing apparatus for processing a structured document using embedding nodes and mold nodes
US6704432B2 (en) Extensible file format
US6959414B1 (en) Form editing method and apparatus, and storage medium storing computer-readable program
CN101675415B (zh) 程序模式分析装置、模式出现状况信息产生方法、模式信息生成装置及程序
CN100367275C (zh) 用于在数据表中创建递归可缩放模板实例的装置和方法
US5634123A (en) Data management using nested records and code points
JP2006107226A (ja) 文字コード変換方法及び文字コード変換プログラム
CN110502735B (zh) 一种电子设备通用工艺文件快速制作方法及系统
US7730471B2 (en) Method and system for processing COBOL language record description entries that specify data items that include a varying length characteristic and computer readable storage medium for storing instructions for performing the method
GB2412978A (en) Method and system for compressing and decompressing hierarchical data structures
CN116028062A (zh) 目标代码的生成方法、npu指令的显示方法及装置
KR20040074766A (ko) 객체 지향 프로그램이 기록된 저장 매체
US6470362B1 (en) Extracting ordered list of words from documents comprising text and code fragments, without interpreting the code fragments
CN100388271C (zh) 管理递归可缩放模板实例中的删除操作的数据表中的系统和方法
JP4828318B2 (ja) 複数様式帳票統合印刷方法、システム及びプログラム
JPH08106464A (ja) 文書生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309