(57)【特許請求の範囲】
【請求項１】
文字や記号等のキャラクタを入力するためのキーボードと、入力されたキャラクタを可視状態で出力する出力手段とを備えた文書処理装置において、
キャラクタが複数の所定のグループのいずれに属するキャラクタであるかを判定する判定手段と、
前記キーボードの操作にて入力されたキャラクタが前記複数の所定のグループのいずれに属するかに応じて、それぞれ異なるアルゴリズムに基づいて、前記入力されたキャラクタを前記キーボードにて入力可能な他のキャラクタに変更する変更手段と、
前記キーボードの操作にて入力された前記変更手段による変更済みのキャラクタを変更前のキャラクタに復号する復号手段と、を備えることを特徴とする文書処理装置。
【請求項２】
前記復号手段は、前記入力された前記変更手段による変更済みのキャラクタが前記複数の所定のグループのいずれに属するかに応じて、それぞれ異なるアルゴリズムに基づいて、前記変更済みのキャラクタを前記変更前のキャラクタに復号することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記入力されたキャラクタを前記変更手段により変更するのか、または前記復号手段により復号するのかを選択する選択手段と、
前記選択手段により前記入力したキャラクタの変更が選択されたときには、前記変更手段を作動させ、復号が選択されたときには、前記復号手段を作動させる制御手段とを備えたことを特徴とする請求項１または請求項２に記載の文書処理装置。
【請求項４】
前記キャラクタはそれぞれ所定のコードを有し、前記判定手段は、キャラクタが複数の所定のグループのいずれに属するキャラクタであるかを、当該キャラクタのコードに基づいて判定することを特徴とする請求項１から請求項３のいずれかに記載の文書処理装置。
【請求項５】
前記複数の所定のグループは、漢字を要素とするグループを有することを特徴とする請求項１から請求項４のいずれかに記載の文書処理装置。
【請求項６】
前記複数の所定のグループは、英数字を要素とするグループを有することを特徴とする請求項１から請求項５のいずれかに記載の文書処理装置。
【請求項７】
前記複数の所定のグループは、ひらがなおよびカタカナを要素とするグループを有することを特徴とする請求項１から請求項６のいずれかに記載の文書処理装置。
【請求項８】
前記キャラクタにはそれぞれ所定のコードが与えられ、前記変更手段および前記復号手段は前記所定のコードに対し演算処理を行うことを特徴とする、請求項１から請求項７のいずれかに記載の文書処理装置。
【請求項９】
前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記英数字である場合には、キャラクタのコードデータと該キャラクタの格納位置に対応した該所定の数値を加算する加算手段と、その加算手段の加算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備えることを特徴とする請求項１から請求項８のいずれかに記載の文書処理装置。
【請求項１０】
前記変更手段は、前記変更の対象となるキャラクタが前記ひらがなおよびカタカナである場合には、キャラクタのコードデータから該キャラクタの格納位置に対応した該所定の数値を減ずる減算手段を有し、前記キャラクタ置換手段は、該減算手段の減算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えることを特徴とする請求項９に記載の文書処理装置。
【請求項１１】
前記変更手段は、前記変更の対象となるキャラクタが前記漢字である場合には、該キャラクタの格納位置に対応した該所定の数値を所定の定数で除算する除算手段と、キャラクタのコードデータを上位データおよび下位データに分割し、該上位データまたは下位データのいずれか一方を該除算手段の除算結果に基づいて変更するデータ変更手段とを有し、前記キャラクタ置換手段は、該データ変更手段により変更された該上位データまたは下位データのいずれか一方と変更されない該上位データまたは下位データの他方とに基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えることを特徴とする請求項９または請求項１０に記載の文書処理装置。
【請求項１２】
前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記ひらがなおよびカタカナである場合には、キャラクタのコードデータから該キャラクタの格納位置に対応した該所定の数値を減ずる減算手段と、その減算手段の減算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備えることを特徴とする請求項１から請求項８のいずれかに記載の文書処理装置。
【請求項１３】
前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記漢字である場合には、該キャラクタの格納位置に対応した該所定の数値を所定の定数で除算する除算手段と、キャラクタのコードデータを上位データおよび下位データに分割し、該上位データまたは下位データのいずれか一方を該除算手段の除算結果に基づいて変更するデータ変更手段と、該データ変更手段により変更された該上位データまたは下位データのいずれか一方と変更されない該上位データまたは下位データの他方とに基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備えることを特徴とする請求項１から請求項８のいずれかに記載の文書処理装置。
【請求項１４】
該変更手段により変更される前のキャラクタが属するグループと該変更手段により変更された後のキャラクタが属するグループは同一であることを特徴とする、請求項１または請求項２に記載の文書処理装置。
【請求項１５】
前記出力手段は、印字手段を有することを特徴とする請求項１から１４のいずれかに記載の文書処理装置。
【請求項１６】
前記出力手段は、表示装置を有することを特徴とする請求項１から１５のいずれかに記載の文書処理装置。
【請求項１７】
前記複数のグループは少なくとも第１及び第２のグループを有し、前記キャラクタは４バイトのコードを有し、前記キャラクタが前記第１のグループに属する場合には前記変更手段は前記４バイトのコードのうち下位の２バイトのみを変換し、前記キャラクタが前記第２のグループに属する場合には前記変更手段は前記４バイトのコードのうち上位の２バイトのみを変換することを特徴とする請求項１から請求項３のいずれかに記載の文書処理装置。
【請求項１８】
前記第１のグループは英数字を要素として有することを特徴とする、請求項１７に記載の文書処理装置。
【請求項１９】
前記第１のグループはひらがなおよびカタカナを要素として有することを特徴とする請求項１７または請求項１８に記載の文書処理装置。
【請求項２０】
前記第２のグループは漢字を要素として有することを特徴とする、請求項１７から請求項１９のいずれかに記載の文書処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キーボードにより入力されたデータの暗号化および復号化が可能な文書処理装置に関する。
【０００２】
【従来の技術】
従来、ファクシミリなどの通信装置においては、機密性を保つために、データの暗号化／復号化処理が行われている。データ送信側であらゆる送信データを、複雑な暗号化アルゴリズムにより暗号化した後に、そのデータを送信機により送信する。受信側では、暗号化されたデータを受信機により受信すると、複雑な復号化アルゴリズムにより受信データを復号化して元データを生成した後にプリンタやディスプレイ等にて出力する。
【０００３】
【発明が解決しようとする課題】
ところで、ワードプロセッサやテープに文字や記号を印字するテープ印字装置などの一般の文書処理装置においても、作成した文書や文字列の受け渡しを機密性を保持しつつ行いたいという要求がある。上記ファクシミリ等に使用されているような暗号化・復号化処理の技術をワードプロセッサやテープ印字装置にも適用すれば機密性の保持は実現できる。しかしながら、その場合、ファクシミリのように各装置を接続するための特別な通信装置が必要となるために装置の構成が複雑になり、加えて、装置の価格自体も高価なものになるという問題がある。
【０００４】
特殊な通信装置を備えることなく、かつ機密性を保ちつつ印字された文書の受け渡しを行うためには、文書データを暗号化したものを印字用紙に印字してその印字結果を相手に渡し、受け取った側においてこの印字結果に基づいてデータを再入力した後に復号化処理を行えばよい。しかし、例えば暗号化されたデータが極めて特殊な文字や記号を含んでいると、暗号化されたデータをワードプロセッサ等が通常備えるキーボードより入力することは困難である。暗号化されたデータを入力するためにそのような特殊な文字や記号を入力するための特別な入力装置が必要であったり、さらに、復号化のための特別な装置を必要とするような構成では、ファクシミリ等の暗号化・復号化の技術を文書処理装置に適用する場合と同様、装置の複雑化やコストアップという問題が生ずることになる。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、暗号化したデータの入出力が容易で、しかも簡単な構成にて暗号化／復号化を同一装置で可能とする文書処理装置を提供するものである。
【０００６】
【課題を解決するための手段】
この目的を達成するために、請求項１記載の文書処理装置は、文字や記号等のキャラクタを入力するためのキーボードと、入力されたキャラクタを可視状態で出力する出力手段とを備えた文書処理装置において、キャラクタが複数の所定のグループのいずれに属するキャラクタであるかを判定する判定手段と、前記キーボードの操作にて入力されたキャラクタが前記複数の所定のグループのいずれに属するかに応じて、それぞれ異なるアルゴリズムに基づいて、前記入力されたキャラクタを前記キーボードにて入力可能な他のキャラクタに変更する変更手段と、前記キーボードの操作にて入力された前記変更手段による変更済みのキャラクタを変更前のキャラクタに復号する復号手段と、を備えることを特徴としている。
【０００７】
前記復号手段は、前記入力された前記変更手段による変更済みのキャラクタが前記複数の所定のグループのいずれに属するかに応じて、それぞれ異なるアルゴリズムに基づいて、前記変更済みのキャラクタを前記変更前のキャラクタに復号する構成とすることができる。
【０００８】
前記入力されたキャラクタを前記変更手段により変更するのか、または前記復号手段により復号するのかを選択する選択手段と、前記選択手段により前記入力したキャラクタの変更が選択されたときには、前記変更手段を作動させ、復号が選択されたときには、前記復号手段を作動させる制御手段とを備えた構成とすることも可能である。
【０００９】
なお、前記キャラクタはそれぞれ所定のコードを有し、前記判定手段は、キャラクタが複数の所定のグループのいずれに属するキャラクタであるかを、当該キャラクタのコードに基づいて判定するようにすることができる。
【００１０】
前記複数の所定のグループは、漢字を要素とするグループ、英数字を要素とするグループ、ひらがなおよびカタカナを要素とするグループの全てあるいは少なくとも一つを有する構成とすることができる。前記キャラクタにはそれぞれ所定のコードが与えられ、前記変更手段および前記復号手段は前記所定のコードに対し演算処理を行うことによりキャラクタの変換を行うことができる。
【００１１】
さらに、前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記英数字である場合には、キャラクタのコードデータと該キャラクタの格納位置に対応した該所定の数値を加算する加算手段と、その加算手段の加算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備える構成とすることが可能である。
【００１２】
また、前記変更手段は、前記変更の対象となるキャラクタが前記ひらがなおよびカタカナである場合には、キャラクタのコードデータから該キャラクタの格納位置に対応した該所定の数値を減ずる減算手段を有し、前記キャラクタ置換手段は、該減算手段の減算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるようにすることもできる。
【００１３】
また、前記変更手段は、前記変更の対象となるキャラクタが前記漢字である場合には、該キャラクタの格納位置に対応した該所定の数値を所定の定数で除算する除算手段と、キャラクタのコードデータを上位データおよび下位データに分割し、該上位データまたは下位データのいずれか一方を該除算手段の除算結果に基づいて変更するデータ変更手段とを有し、前記キャラクタ置換手段は、該データ変更手段により変更された該上位データまたは下位データのいずれか一方と変更されない該上位データまたは下位データの他方とに基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるようにすることができる。
【００１４】
前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記ひらがなおよびカタカナである場合には、キャラクタのコードデータから該キャラクタの格納位置に対応した該所定の数値を減ずる減算手段と、その減算手段の減算結果に基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備える構成としても良い。
【００１５】
前記文書処理装置は、前記入力されたキャラクタを格納するバッファを有し、該バッファの各キャラクタの格納位置にそれぞれ対応して所定の数値が定められており、前記変更手段は、変更の対象となるキャラクタが前記漢字である場合には、該キャラクタの格納位置に対応した該所定の数値を所定の定数で除算する除算手段と、キャラクタのコードデータを上位データおよび下位データに分割し、該上位データまたは下位データのいずれか一方を該除算手段の除算結果に基づいて変更するデータ変更手段と、該データ変更手段により変更された該上位データまたは下位データのいずれか一方と変更されない該上位データまたは下位データの他方とに基づいてコードデータを決定し、決定したコードデータで示されるキャラクタを該バッファに格納されている変更前のキャラクタと置き換えるキャラクタ置換手段とを備える構成とすることも可能である。
【００１６】
該変更手段により変更される前のキャラクタが属するグループと該変更手段により変更された後のキャラクタが属するグループが同一であるようにすることができる。前記出力手段は、印字手段、表示装置を有する構成とすることが可能である。
【００１７】
前記複数のグループは少なくとも第１及び第２のグループを有し、前記キャラクタは４バイトのコードを有し、前記キャラクタが前記第１のグループに属する場合には前記変更手段は前記４バイトのコードのうち下位の２バイトのみを変換し、前記キャラクタが前記第２のグループに属する場合には前記変更手段は前記４バイトのコードのうち上位の２バイトのみを変換するよう構成することができる。この場合、前記第１のグループは英数字、ひらがなおよびカタカナを要素とし、前記第２のグループは漢字を要素として有すること好ましい。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。図１は本実施の形態としてのテープ状ラベル作成装置１の外観を示す上面図である。テープ状ラベル作成装置１は、アルファベット、ひらがな、カタカナ、漢字、数字、記号などの多数の文字およびキャラクタを印字対象体であるテープに印字して、テープ状ラベルを作成するものである。
【００１９】
図１に示すように、テープ状ラベル作成装置１の本体フレーム２の前部にはキーボード３が配設され、キーボード３の後方で本体フレーム２内にはサーマル印字機構ＰＭが配設され、またキーボード３のすぐ後側には、入力した文字や記号を６文字分表示可能な液晶ディスプレイ４が設けられている。
【００２０】
キーボード３には、アルファベット文字や記号を入力する複数の文字キー、記号キー、スペースキー、カーソルを左右方向に移動させる為のカーソル移動キー、種々の編集機能キー、印字を指令する印字キー、電源をＯＮ・ＯＦＦする為の電源キーなどが設けられている。
【００２１】
サーマル印字機構ＰＭは、着脱自在に装着された矩形状のテープカセットの内部に巻装されたラミネートテープ（印字テープ）をテープ送りモータ１６（図２参照）により所定方向に搬送しつつ、サーマルヘッド１４（図２参照）を介してドットイメージにより印字を行うものである。印字済みのラミネートテープは印字が行われた後、印字面に両面テープが貼着されることによりテープ状ラベルＬＢが作成される。サーマル印字機構ＰＭは公知の機構で、例えば特開平２−１０６５５５号公報に開示されており、また、本発明には直接関係しないので、ここでは説明を省略する。
【００２２】
図２は、テープ状ラベル作成装置１の制御系のブロック図である。制御装置ＣＤの入出力インターフェース２４には、キーボード３と、液晶ディスプレイ（ＬＣＤ）４に表示データを出力する為のビデオＲＡＭ１０を有するディスプレイコントローラ（ＬＣＤＣ）１１と、警告用ブザー１２を鳴動させる為の駆動回路１３と、サーマルヘッド１４を駆動する為の駆動回路１５と、テープ送りモータ１６を駆動する為の駆動回路１７とがそれぞれ接続されている。
【００２３】
制御装置ＣＤは、ＣＰＵ２０と、このＣＰＵ２０にデータバスなどを含む制御バス２５を介して接続された入出力インターフェース２４と、表示用キャラクタジェネレータＲＯＭ（表示用ＣＧＲＯＭ）２１と、印字用キャラクタジェネレータＲＯＭ（印字用ＣＧＲＯＭ）２２と、ＲＯＭ２３及びＲＡＭ３０とを有している。
【００２４】
前記ＲＡＭ３０には、キーボード３から入力される文書のデータを９９文字分格納するテキストバッファ３１と、そのテキストバッファ３１に格納されている最終文書データの次の格納位置を指すポインタのポインタ値Ａを格納するポインタバッファ３２、そのテキストバッファ３１に格納された文字や記号を指示する検索用ポインタのポインタ値Ｐを格納するポインタバッファ３３、表示の為のデータを格納する表示データバッファ３４と、イメージ展開されたキャラクタのプリント出力用ドットイメージデータを格納する印字データバッファ３５に加えて、ＣＰＵ２０で演算した演算結果を格納する各種のバッファなどが設けられている。
【００２５】
表示用ＣＧＲＯＭ２１には、文字（アルファベット・ひらがな・カタカナ）や数字や記号などの多数のキャラクタの各々に関して、所定文字サイズの表示用ドットパターンデータが格納されている。印字用ＣＧＲＯＭ２２には、文字や数字や記号などの多数のキャラクタの各々に関して、印字用ドットパターンデータが、各書体毎にコードデータに対応させて、複数の印字文字サイズ分格納されている。
【００２６】
ＲＯＭ２３には、キーボード３から入力された文字や数字や記号などのキャラクタのコードデータに対応させて、ディスプレイコントローラ１１を制御する表示駆動制御プログラム、印字に供する１ドット列毎のドットパターンデータを順次サーマルヘッド１４に出力しながらテープ送りモータ１６を駆動する印字駆動制御プログラム、本願特有のテープ状ラベル作成制御の制御プログラムが格納されている。
【００２７】
更に、ＲＯＭ２３には、図３、図４に示すように、暗号化／復号化対象文字キャラクタの各々と、その文字コードに番号を対応させた英数字用およびひらがなカタカナ用の暗号化／復号化対象文字情報を格納した暗号化／復号化対象文字情報テーブルＴＢ１、ＴＢ２が格納されている。また、図５には、漢字の文字コードを上位バイトと下位バイトで表した漢字情報テーブルＴＢ３を示す。この暗号化／復号化対象文字情報テーブルＴＢ１、ＴＢ２および漢字情報テーブルＴＢ３は、暗号化／復号化対象キャラクタとその番号とが一対一の関係として定義されているため、暗号化／復号化対象文字キャラクタに対応したその番号の検索にも、逆に、文字コードに対応した暗号化／復号化対象文字キャラクタの検索にも利用が可能である。また、この暗号化／復号化対象文字情報テーブルＴＢ１、ＴＢ２および漢字情報テーブルＴＢ３は、キーボード３より容易に入力可能なキャラクタだけを含み、入力が複雑なイラストや記号などは暗号化／復号化の対象外としている。また、暗号化／復号化処理において、文字データを暗号化・復号化する場合に、変換結果が入力の複雑なイラストや記号などに変換されないようにしている。
【００２８】
図３に示すのは、英数文字情報テーブルＴＢ１である。英数文字情報テーブルは、スペース、数字および大文字・小文字のアルファベットとそれに対応する文字番号のテーブルである。なお、本テープ状ラベル作成装置１は、装置内部では全ての文字・キャラクタを４バイトのコードで表している。本実施の形態においては、英数文字情報テーブルＴＢ１の文字番号は、対象文字を４バイトコードで表した場合の下位２バイトを十進数で表したものである。英数文字情報テーブルＴＢ１の対象文字となっている各文字は、４バイトコードで表した場合、上位２バイトが共通で、十六進数で表せば２２Ｈという値となっている。すなわち、ある文字を４バイトコードで表した場合、その上位２バイトが２２Ｈであれば、その文字は英数文字情報テーブルに含まれる文字であることが分かる。また、後述する暗号化・復号化処理においては文字番号を他の文字番号にした後に、再度英数文字情報テーブルＴＢ１を参照することにより、変換後の文字を読み出している。
【００２９】
図４に示すのは、ひらがなカタカナ情報テーブルＴＢ２である。ひらがなカタカナ情報テーブルＴＢ２は、ひらがなおよびカタカナとそれぞれに対応する文字番号の表である。ひらがなおよびカタカナも上述のようにテープ状ラベル作成装置１内部では４バイトコードで表されており、本実施の形態においては、テーブルＴＢ２の文字番号はひらがな・カタカナの４バイトコードの下位２バイトを十進数で表したものである。４バイトコード中、上位２バイトは、ひらがなが２０Ｈ、カタカナが２１Ｈとなっており、上位２バイトにより、文字がひらがなであるか、カタカナであるかを知ることができる。ひらがな、カタカナについても、後述の暗号化・復号化処理においては、変換のための計算は下位２バイト（すなわちテーブルＴＢ２に表示されている値）を用いて行うが、計算の後、変換の対象文字がひらがなの場合には、２０Ｈを上位２バイトとし、変換後の文字番号を下位２バイトとする文字（ひらがな）に変換される。同様に、カタカナの場合には、２１Ｈを上位２バイトとし、変換後の文字番号を下位２バイトとする文字（カタカナ）に変換される。
【００３０】
このように、本実施の形態においては、英数文字、ひらがな、およびカタカナに関しては、４バイトコードの上位２バイトは変更せず、下位２バイトを所定の方法により他の値に変換し、変換前の上位２バイトと変換後の下位２バイトとの組合せで表現される文字を変換後の文字としている。
【００３１】
図５に示すのは、漢字情報テーブルＴＢ３である。漢字もやはり上位２バイト、下位２バイトの４バイトコードとして表現されるが、図５に示したように、漢字の場合には文字数が極めて多いため、上位バイト２６Ｈ〜４４Ｈに対し、下位バイト２０Ｈ〜７ＦＨを組み合わせて表現している。なお、本実施の形態においては、漢字の暗号化・復号化の場合に限り、下位２バイトは変更せず、上位２バイトを所定の方法により他の値に変換し、変換後の上位２バイトと変換前の下位２バイトの組合せで表現される漢字を変換後の漢字としている。
【００３２】
更に、ＲＯＭ２３には、図６に示すように、暗号化／復号化対象文字が格納されているテキストバッファ３１の位置を示す検索用ポインタのポインタ値Ｐの各々と、暗号化／復号化処理において参照される定数を対応させた暗号化／復号化定数情報を格納した暗号化／復号化定数情報テーブルＴＢ４が設けられている。
【００３３】
次に、テープ状ラベル作成装置１の制御装置ＣＤで行なわれるテープ状ラベル作成制御および暗号処理制御の各ルーチンについて、図７〜１７のフローチャートに基いて説明する。尚、図中符号Ｓｉ（ｉ＝１０、１１、１２・・・・）はステップ番号である。
【００３４】
テープ状ラベル作成装置１に電源が投入されると、サーマルヘッド１４の初期位置の設定や入出力インターフェース２４の各ポートの初期化、ＲＡＭ３０の初期化などの初期化処理が実行される（Ｓ10）。その後、ＣＰＵ２０は文書データ入力画面をディスプレイ４に表示する（Ｓ11）。この状態で、何らかのキー操作があるまで、テープ状ラベル作成装置１は待機状態となる（すなわちＳ12が繰り返される）。
【００３５】
キーボード３が操作されると（Ｓ12：YES）、文書データ入力のためのキー操作かテープ状ラベル作成装置１に何らかの動作を実行させるためのキー操作かをＳ13にて判定する。アルファベットキー、ひらがな・カタカナキーなどの文字キーや数字キーや記号キー、およびスペースキーなどの印字可能なデータを入力するためのキーが操作された場合には（Ｓ13：Yes）、テキストバッファ３１がバッファフルでなければ（Ｓ17：No）、文書データ格納・表示処理を実行する（Ｓ18）。文書データ格納処理は、その操作されたキーに対応するコードデータを文書データとしてテキストバッファ３１に格納するとともにテキストバッファ３１に格納されている最終文書データの次のデータ格納位置を指すポインタであるポインタ値Ａを更新する処理である。また、文書データ表示処理は、テキストバッファ３１に格納されたコードデータに基づき表示用ＣＧＲＯＭ２１から表示用ドットパターンデータを読み出し、表示データバッファ３４に転送してディスプレイ４に表示する処理である。文書データ格納・表示処理を実行した後は、処理はＳ12に戻り、次のキー操作を待つ待機状態となる。
【００３６】
印字可能なデータを入力するためのキー操作がなされ（Ｓ13：Yes）、テキストバッファ３１がバッファフルの時には（Ｓ17：Yes）、それ以上テキストバッファ３１に文書データが格納できない旨を使用者に報知するために、警告用ブザー１２を鳴動するアラーム処理が実行され（Ｓ19）、Ｓ12に処理へ戻る。
【００３７】
待機状態において、暗号キーが操作された時には（Ｓ12：Yes、Ｓ13：No、Ｓ14：Yes）、暗号処理制御（図８参照）が実行されて（Ｓ20）、テキストバッファ３１に格納されている文書データが暗号化または復号化された後に、処理はＳ12に戻る。
【００３８】
また、印字キーが操作されたときには（Ｓ12：Yes、Ｓ13：No、Ｓ14：No、Ｓ15：Yes）、印字処理が実行され（Ｓ21）、Ｓ12に戻る。この印字処理においては、テキストバッファ３１に格納された文書データが、ドットイメージデータに展開されて印字データバッファ３５に格納される。そして、１ドット列毎のドット列データからなる印字指令信号がサーマルヘッド１４やテープ送りモータ１６に出力されて印字が行われ、テープ状ラベルＬＢが作成される。なお、テープ状ラベル作成制御１において、印字可能なキーや暗号キーや印字キー以外のキーが操作されたときには（Ｓ12：Yes、Ｓ13〜Ｓ15：No）、その操作された種々のキーに対応する各種の処理が実行され（Ｓ16）、その後Ｓ12に戻る。
【００３９】
図８は、図７のＳ20で呼び出されるサブルーチン「暗号処理制御」を示すフローチャートである。暗号処理制御が開始されると、ＣＰＵ２０はまず、テキストバッファ３１に格納されている文書データを暗号化するか復号化するかを指定するための、暗号化／復号化選択画面（図９参照）をディスプレイ４に表示し（Ｓ30）、使用者のキー入力を待つ（Ｓ31）。図９に示すように、暗号化／復号化選択画面においては、「暗号化」または「復号化」の２つの文字列のどちらか一方の下にカーソルＫが表示されて、暗号化処理または復号化処理の何れか一方が選択された状態となっている。使用者は、キーボード３上のカーソルキーを操作してカーソルＫの表示位置を切り換えることにより、暗号化または復号化のどちらかを選択することができる。
【００４０】
図８において、使用者のキー操作の待機状態の時（Ｓ31）に、カーソルキーが操作されると（Ｓ31：Yes、Ｓ32：Yes）、Ｓ38のカーソル移動処理が呼び出され、図９の暗号化／復号化選択画面中のカーソルＫが移動し、ディスプレイ４に表示される。カーソル移動処理が終了すると、処理はＳ31に戻り、再びキー入力待ちの状態となる。
【００４１】
暗号化した文書データをテープ状ラベルに印刷したい使用者は、カーソルキーを操作して、カーソルＫを「暗号化」へ移動させる。また、暗号化された文書データの印刷されたテープ状ラベルを受け取った使用者は、印刷されている文書を復号化するために、当該文書に印刷されている文字列をキーボード３から入力してテキストバッファ３１に格納した後、カーソルキーを操作して、カーソルＫを「復号化」へ移動させる。
【００４２】
暗号処理制御において、キー入力待ちの状態（Ｓ31）で、キャンセルキーが操作された場合には（Ｓ31：Yes、Ｓ32：No、Ｓ33：Yes）、暗号書理制御を終了して、図７のテープ状ラベル作成制御のＳ12にリターンする。
【００４３】
キー入力待ちの状態（Ｓ31）の時に、リターンキーが操作されると（Ｓ31：Yes、Ｓ32：No、Ｓ34：Yes）、ディスプレイ４に表示されている暗号化／復号化選択画面中のカーソルＫが、暗号化側に位置している時には（Ｓ35：Yes）暗号化処理（図１０参照）を実行し（Ｓ36）、カーソルＫが復号化側に位置している時には（Ｓ35：No）、復号化処理（図１１参照）を実行し（Ｓ37）たのちに、図７のテープ状ラベル作成制御のＳ12にリターンする。
【００４４】
キー入力待ちの状態（Ｓ31）の時に、カーソルキー、キャンセルキー、リターンキー以外のキーが操作されたときには（Ｓ31：Yes、Ｓ32〜Ｓ34：No）、無効なキーが操作された旨を使用者に報知するためのエラー処理を実行し（Ｓ39）、Ｓ31に戻る。
【００４５】
図１０は、暗号化処理を示すフローチャートである。暗号化処理（図１０参照）が開始されたときに、テキストバッファ３１に文書データが存在すれば（Ｓ40：Yes）、ＣＰＵ２０は、「暗号化処理実行中」というメッセージをディスプレイ４に表示する（Ｓ41）。この時、検索用ポインタＰには、テキストバッファ３１の先頭文字データが格納されている位置のアドレスがセットされる（Ｓ42）。
【００４６】
本実施の形態のテープ状ラベル印刷装置１においては、文字データをそのコードに基づいて複数のグループ（すなわち、英数字、ひらがな・カタカナ、漢字、その他の各グループ）にグループ分けしており、ＣＰＵ２０はテキストバッファ３１に格納されている各文字データがグループのいずれに属するキャラクタであるかを判定する判定手段として機能する。そして、各文字データがいずれのグループに属するかに応じて、それぞれ異なるアルゴリズムに基づき暗号化の処理を行っている。
【００４７】
Ｓ43では、ＣＰＵ２０は検索用ポインタＰで指示される文字データのコードを読み込み、読み込んだ文字コードが英数文字か、ひらがな・カタカナか、漢字か、それ以外のキャラクタかを判定し、判定結果に応じて異なるアルゴリズムに基づき暗号化を行っている。前述のように、本実施の形態のテープ状ラベル印刷装置１においては、文字データは上位２バイト、下位２バイトの４バイトのコードにより規定される。上位２バイトは、ひらがなは２０Ｈ、カタカナは２１Ｈ、英数文字は２２Ｈ、漢字は２６Ｈ〜４４Ｈ、その他の記号やキャラクタは２３Ｈとなっている。従って、コードデータの上位２バイトの値により、その文字が、英数文字か、ひらがな・カタカナか、漢字か、それ以外のキャラクタかの判定を行うことができる。
【００４８】
まず、文字データが英数文字に対応するものであるかどうかを、そのコードの上位２バイトが２２Ｈかどうかにより判定する（Ｓ44）。文字データが英数文字に対応するもの（コードの上位２バイトが２２Ｈ）であれば（Ｓ44：Yes）、英数暗号変換処理を呼び出して暗号変換を行う（Ｓ45）。
【００４９】
図１２は、英数暗号変換処理を示すフローチャートである。ＣＰＵ２０は、図１０のＳ43で読み出した文字データに基づいて図３の英数文字情報テーブルＴＢ１を検索し、その文字データのコードに対応する文字番号を読み込む（Ｓ101）。
【００５０】
次に、この文字データを指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ103）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ104）。そして、検索した文字番号と定数とを加算する。もしも加算結果が６３以上の時には（Ｓ105：Yes）、加算結果から６３を減算したもの（Ｓ109）を加算結果とし、加算結果を新たな文字番号とする（Ｓ106）。加算結果が６３未満の時には（Ｓ105：No）、加算結果をそのまま文字番号とする（Ｓ106）。次に、ＣＰＵ２０は、Ｓ106で設定された文字番号に基づいて、英数文字情報テーブルＴＢ１を検索し（Ｓ107）、その文字番号に対応する文字コードを読み込み、そのコードを文字データとしてテキストバッファ３１の検索用ポインタＰが指示する位置に格納する（Ｓ108）。
【００５１】
例えば、図１８の（ａ）に示すように、テキストバッファ３１の最初のアドレスにアルファベット「Ａ」の文字データが格納されているとする。ここで、暗号キーが操作され、暗号化／復号化選択画面でカーソル表示が暗号化を選択時にリターンキーが操作されたときには、暗号化処理実行中画面をディスプレイ４に表示する。この表示により、以下の処理が実行されていることの確認が可能になる。英数文字情報テーブルＴＢ１と暗号化／復号化定数情報テーブルＴＢ４を検索して、「Ａ」に対応した文字番号「１１」と定数「１８」を求める（図１８の（ｂ）および（ｃ）参照）。この２つを加算すると、図１８の（ｄ）に示すように、新文字番号「２９」となる。新文字番号「２９」に対応する英数文字情報テーブルＴＢ１の英数は「Ｓ」である。従って、テキストバッファ３１の最初のアドレスに格納されたアルファベット「Ａ」の文字データは、アルファベット「Ｓ」の文字データに変換されたことになる（図１８（ｅ）参照）。
【００５２】
同じく図１８に示すように、テキストバッファ３１の第４、第５番目の格納位置にアルファベット「Ｄ」および「Ｅ」の文字データがそれぞれ格納されているとする。「Ｄ」に対応する文字番号は「１４」、第４番目の格納位置に対応する定数は「０７」である。また、「Ｅ」に対応する文字番号は「１５」、第５番目の格納位置に対応する定数は「６０」である。「Ｄ」について暗号化処理を行うと、１４＋０７＝２１から、新文字番号は「２１」となる。「Ｅ」について暗号化処理を行うと、１５＋６０＝７５となり、さらに７５−６３＝１２から、新文字番号は「１２」となる。新文字番号「２１」および「１２」に対応する文字を英数文字情報テーブルＴＢ１から読み出すと、それぞれ「Ｋ」および「Ｂ」となる。従って、テキストバッファ３１の第４および第５番目のアドレスに格納されたアルファベット「Ｄ」および「Ｅ」の文字データは、それぞれアルファベット「Ｋ」および「Ｂ」の文字データに変換されたことになる。
【００５３】
図１０において、文字データがひらがなまたはカタカナに対応するもの（コードの上位２バイトの値が２０Ｈまたは２１Ｈ）であれば（Ｓ44：No、Ｓ46：Yes）、ひらがなカタカナ暗号変換処理を呼び出して暗号変換を行う（Ｓ47）。
【００５４】
図１４は、ひらがなカタカナ暗号変換処理を示すフローチャートである。ＣＰＵ２０は、図１０のＳ43で読み込んだ文字データに基づいて図４のひらがなカタカナ文字情報テーブルＴＢ２を検索し（Ｓ121）、その文字データのコードに対応する文字番号を読み込む（Ｓ122）。そして、この文字データを指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ123）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ124）。
【００５５】
次に、検索した文字番号と定数とを加算する。もしも加算結果が８４以上の時には（Ｓ125：Yes）、加算結果から８４を減算したもの（Ｓ129）を加算結果とし、加算結果を新たな文字番号とする（Ｓ126）。加算結果が８４未満の時には（Ｓ125：No）、加算結果をそのまま文字番号とする（Ｓ126）。
【００５６】
次に、ＣＰＵ２０は、Ｓ126で設定された文字番号に基づいて、ひらがなカタカナ文字情報テーブルＴＢ２を検索し（Ｓ127）、その文字番号に対応する文字コードを読み込み、そのコードを文字データとしてテキストバッファ３１の検索用ポインタＰが指示する位置に格納する（Ｓ128）。
【００５７】
例えば、テキストバッファ３１の２つ目のデータとしてひらがな「あ」の文字データが格納されているとする（図１８参照）。ここで、暗号キーが操作され、暗号化が選択されると、ＣＰＵ２０は、暗号化処理実行中画面をディスプレイ４に表示し、ひらがなカタカナ文字情報テーブルＴＢ２と暗号化／復号化定数情報テーブルＴＢ４を検索して、「あ」に対応した文字番号「１」と定数「３６」を求める。この２つを加算すると、新文字番号「３７」となる。新文字番号「３７」に対応するひらがなカタカナ文字情報テーブルＴＢ２の英数は「つ」である。従って、テキストバッファ３１の最初のアドレスに格納されたアルファベット「あ」の文字データは、ひらがな「つ」の文字データに変換（暗号化）されたことになる。
【００５８】
図１０において、文字データが漢字に対応するもの（コードの上位２バイトの値が２６Ｈ〜４４Ｈ）であれば（Ｓ44：No、Ｓ46：No、Ｓ48：Yes）、漢字暗号変換処理を呼び出して暗号変換を行う（Ｓ49）。
【００５９】
図１６は、漢字暗号変換処理を示すフローチャートである。ＣＰＵ２０は、漢字を指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ141）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ142）。
【００６０】
次に、検索した定数に基づいて漢字定数を計算する。漢字定数は定数の値によって定まる１〜３０の範囲の値を持つ数である。漢字定数は、（定数／３０）の余り＋１として規定される定数である。ここで（定数／３０）の余りにさらに１を加えているのは、定数が３０で割り切れた場合に漢字定数がゼロになるのを避けるためである。後述するが、漢字定数が０になると、暗号変換の前後で文字が同一となる（すなわち暗号化されない）ために、ここで１を加えて漢字定数の変化範囲を１〜３０とし、確実に暗号化の前後の文字が異なるようにするためである。
【００６１】
次にＣＰＵ２０は、暗号化の対象となっている漢字の上位文字コードを読み込み（Ｓ144）、漢字定数を十六進数化し上位文字コードに加算する。もしも加算結果が４４Ｈ以上の時には（Ｓ145：Yes）、加算結果から３１（十進数）を減算したもの（Ｓ147）を新たに加算結果とし、加算結果を変換された文字の上位文字コードの値としてテキストバッファ３１に格納する（Ｓ146）。なお、この時、暗号化の対象となった漢字コードの下位コードは変換されずにそのままである（暗号化の前と後とで値が変わらない）。すなわち、漢字コードに暗号化が適用される場合には、上位コードが他のコードに変換されることにより、全く異なる漢字が変換の結果得られる。前述のように漢字コードの上位コードは２６Ｈ〜４４Ｈの範囲であるため、Ｓ147では、上位コードがこの範囲を越えた場合に、この範囲に収まるようにさらに計算を行っている。
【００６２】
例えば、利用者が暗号化するためにテキストを入力した結果、３つ目のデータとして漢字の「亜」という字の文字データがテキストバッファ３１に格納されているものとする（図１８参照）。ここで、漢字の「亜」の文字データが格納されているアドレスに対する定数は、ＴＢ４によれば２５である。また、漢字「亜」の上位コードは２６Ｈである。従って漢字暗号変換処理を行うと、漢字定数は、２５／３０の余り（＝２５）に１を加えた値となる（＝２６）。従って、上位文字コード＋漢字定数＝２６Ｈ＋２６である（ここで、２６は十進数）。十進数の２６は十六進数では１ＡＨと表される。従って、上位文字コード＋漢字定数＝２６Ｈ＋１ＡＨ＝４０Ｈとなり、暗号化された上位文字コードは４０Ｈとなる。暗号化される前のテキストである「亜」は２６２０Ｈで表される文字であり、このうち上位コード２６Ｈを４０Ｈに変えた４０２０Ｈに対応する文字は「辺」である。すなわち、「亜」という漢字が暗号化処理により「辺」という文字に変わることになる。
【００６３】
図１０において、Ｓ44、Ｓ46およびＳ48の何れにおいてもNoと判定された場合には、テキストバッファ３１の現在処理対象となっている文字（記号）データは暗号変換されず、従って暗号化処理の実行前と実行後で同一の値となる。
【００６４】
以上のようにして、各文字データに応じて暗号変換処理が実行されると、次に、検索用ポインタ値Ｐには、テキストバッファ３１の次の文字データに対応するアドレスがセットされる（Ｓ53）。次の文字データに対応する検索用ポインタ値Ｐがテキストバッファ３１に格納されている最終文書データの次のアドレスを指すポインタ値Ａより小さいときには、ＣＰＵ２０は、テキストバッファ３１内の全ての文書データについての暗号化処理は終了していないと判断し（Ｓ54：No）、Ｓ43〜Ｓ54の処理を繰り返す。
【００６５】
次の文字に対応する検索用ポインタ値Ｐが最終文書データの次のアドレスを指すポインタ値Ａと一致する場合には、ＣＰＵ２０は、テキストバッファ３１内の全ての文書データについての暗号化処理が終了したと判断し（Ｓ54：Yes）、処理をＳ55に進める。
【００６６】
Ｓ55は、印字の文字サイズを縦長のＬサイズに設定する処理である。印字される文字が暗号化されたものである場合に、このように特定の文字サイズに自動的に設定して印字することにより、テープに印字された結果が暗号化された文字列であることを使用者に知らせることができる。尚、本実施の形態においては文字サイズを縦長のＬサイズに設定しているが、これに限る必要はなく、他と区別できる形態で印字することにより、同等の効果が得られる。また、後述するように復号化の場合にも同様の処理が行われる。通常、同一の文字列に対して暗号化と復号化を同時に行うことはないため、本実施の形態においては、暗号化の場合も復号化の場合のも同様に印字の文字サイズを縦Ｌサイズに設定しているが、暗号化と復号化の場合で異なる設定にすることも可能である。
【００６７】
Ｓ56においては、暗号化中画面表示終了処理を実行して、Ｓ41においてディスプレイ４に表示された「暗号化処理実行中」というメッセージを消去し、変換文字列表示処理を実行して（Ｓ56）、暗号化されたテキストバッファ３１の文書データに基づいて暗号化された文字列をディスプレイ４に表示して、暗号化処理を終了し、暗号処理制御にリターンする。なお、テキストバッファ３１に、文書データが格納されていない時は（Ｓ40：No）、ＣＰＵ２０は、警告用ブザー１２を鳴動するアラーム処理を実行し（Ｓ57）、暗号化処理を終了し、暗号処理制御にリターンする。
【００６８】
図１１は、復号化処理を示すフローチャートである。復号化処理制御（図１１参照）が開始され、テキストバッファ３１に文書データが存在するときには（Ｓ60：Yes）、ＣＰＵ２０は復号化中画面表示処理を実行し（Ｓ61）、「復号化処理実行中」というメッセージをディスプレイ４に表示する。そして、検索用ポインタＰにテキストバッファ３１の先頭文字のアドレスをセットする（Ｓ62）。
【００６９】
前述のように、本実施の形態のテープ状ラベル印刷装置１においては、文字データをそのコードに基づいて複数のグループにグループ分けしており、ＣＰＵ２０はテキストバッファ３１に格納されている各文字がいずれのグループに属するかに応じて、それぞれ異なるアルゴリズムに基づき暗号化の処理を行っている。従って、暗号化された文字を復号化する際にも、同様に、復号化されたもじデータがいずれのグループに属するかに基づき異なるアルゴリズムにより復号化を行っている。
【００７０】
Ｓ63においてＣＰＵ２０は検索用ポインタＰで指示される文字のコードデータを読み込み、読み込んだ文字データが英数文字か、ひらがな・カタカナか、漢字か、それ以外のキャラクタかを判定し、判定結果に応じて異なるアルゴリズムに基づき復号化を行っている。
【００７１】
まず、文字データが英数文字に対応するものであるかどうかを、そのコードの上位２バイトが２２Ｈかどうかにより判定する（Ｓ64）。文字データが英数文字に対応するものであれば（Ｓ64：Yes）、英数復号変換処理を呼び出して復号変換を行う（Ｓ65）。
【００７２】
図１３は、英数復号変換処理を示すフローチャートである。ＣＰＵ２０は、図１１のＳ63で読み出した文字データに基づいて図３の英数文字情報テーブルＴＢ１を検索し（Ｓ111）、その文字データに対応する文字番号を読み込む（Ｓ112）。
【００７３】
次に、この文字データを指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ113）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ114）。
【００７４】
次に、検索した文字番号から定数を減算する。もしも減算結果が負であれば（Ｓ115：Yes）、減算結果に６３を加算したもの（Ｓ119）を減算結果とし、この減算結果を新たな文字番号とする（Ｓ116）。減算結果が正の場合には（Ｓ115：No）、減算結果をそのまま文字番号とする（Ｓ116）。
【００７５】
次に、ＣＰＵ２０は、Ｓ116で設定された文字番号に基づいて、英数文字情報テーブルＴＢ１を検索し（Ｓ117）、その文字番号に対応する文字コードを読み込み、その文字コードをテキストバッファ３１の検索用ポインタＰにより指示される位置に格納する（Ｓ118）。
【００７６】
例えば、図１９（ａ）に示すように、暗号変換されたものを使用者がキーボード３より入力した結果、テキストバッファ３１の最初のアドレスにアルファベット「Ｓ」の文字データが格納されているとする。ここで、暗号キーが操作され、暗号化／復号化選択画面でカーソル表示が復号化を選択している状態でリターンキーが操作されると、復号化処理実行中画面をディスプレイ４に表示する。
【００７７】
英数文字情報テーブルＴＢ１と暗号化／復号化定数情報テーブルＴＢ４を検索して、「Ｓ」に対応した文字番号「２９」と定数「１８」を求める（図１９（ｂ）および（ｃ）を参照）。前者から後者を減算すると、新文字番号「１１」となる（図１９（ｄ）参照）。新文字番号「１１」に対応する英数文字情報テーブルＴＢ１の英数は「Ａ」である（図１９（ｅ）参照）。従って、テキストバッファ３１の最初のアドレスに格納された（暗号化された）アルファベット「Ｓ」の文字データは、アルファベット「Ａ」の文字データに変換（復号）されたことになる。
【００７８】
同じく使用者が暗号化されたテキストを入力した結果、図１９に示すように、テキストバッファ３１の第４、第５番目の格納位置にアルファベット「Ｋ」および「Ｂ」の文字データがそれぞれ格納されているとする。「Ｋ」に対応する文字番号は「２１」、第４番目の格納位置に対応する定数は「０７」である。また、「Ｂ」に対応する文字番号は「１２」、第５番目の格納位置に対応する定数は「６０」である。「Ｋ」について復号化処理を行うと、２１−０７＝１４から、新文字番号は「１４」となる。「Ｂ」について復号化処理を行うと、１２−６０＝−４８＜０であり、さらに６３を加えて−４８＋６３＝１５を得る。すなわち、新文字番号は「１５」となる。新文字番号「１４」および「１５」に対応する文字を英数文字情報テーブルＴＢ１から読み出すと、それぞれ「Ｄ」および「Ｅ」となる。従って、テキストバッファ３１の第４および第５番目のアドレスに格納されたアルファベット「Ｋ」および「Ｂ」の文字データは、それぞれアルファベット「Ｄ」および「Ｅ」の」文字データに変換されたことになる。
【００７９】
図１１において、文字データがひらがなまたはカタカナに対応するもの（コードの上位２バイトの値が２０Ｈまたは２１Ｈ）であれば（Ｓ64：No、Ｓ66：Yes）、ひらがなカタカナ復号変換処理を呼び出して復号変換を行う（Ｓ67）。
【００８０】
図１５は、ひらがなカタカナ復号変換処理を示すフローチャートである。ＣＰＵ２０は、図１１のＳ63で読み出した文字データに基づいて図４のひらがなカタカナ文字情報テーブルＴＢ２を検索し（Ｓ131）、その文字データのコードに対応する文字番号を読み込む（Ｓ132）。そして、この文字コードを指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ133）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ134）。
【００８１】
次に、検索した文字番号から定数を減算する。もしも減算結果が負であれば（Ｓ135：Yes）、減算結果に８４を加算したもの（Ｓ139）を減算結正の場合には（Ｓ135：No）、減算結果をそのまま文字番号とする（Ｓ136）。
【００８２】
次に、ＣＰＵ２０は、Ｓ136で設定された文字番号に基づいて、ひらがなカタカナ文字情報テーブルＴＢ２を検索し（Ｓ137）、その文字番号に対応する文字コードを読み込み、そのコードを文字データとしてテキストバッファ３１の検索用ポインタＰにより指示される位置に格納する（Ｓ138）。
【００８３】
例えば、暗号変換されたテキストを使用者がキーボード３より入力した結果、テキストバッファ３１の２つ目のデータとしてひらがなの「つ」の文字データが格納されているとする（図１９参照）。ここで、暗号キーが操作され、復号化が選択されると、ＣＰＵ２０は復号化処理実行中画面をディスプレイ４に表示し、ひらがなカタカナ文字情報テーブルＴＢ２と暗号化／復号化定数情報テーブルＴＢ４を検索して、「つ」に対応した文字番号「３７」と定数「３６」を求める。前者から後者を減算すると、新文字番号は「１」となる。新文字番号「１」に対応するひらがなカタカナ文字情報テーブルＴＢ２の文字は「あ」である。従って、テキストバッファ３１の最初のアドレスに格納された（暗号化された）テキスト「つ」の文字データは、ひらがな「あ」の文字データに変換（復号）されたことになる。
【００８４】
図１１において、文字データが漢字に対応するもの（コードの上位２バイトの値が２６Ｈ〜４４Ｈ）であれば（Ｓ64：No、Ｓ66：No、Ｓ68：Yes）、漢字復号変換処理を呼び出して復号変換を行う（Ｓ69）。
【００８５】
図１７は、漢字復号変換処理を示すフローチャートである。ＣＰＵ２０は、漢字を指示する検索用ポインタＰについて、暗号化／復号化定数情報テーブルＴＢ４を検索し（Ｓ151）、その検索用ポインタＰの位置に対応する定数を読み込む（Ｓ152）。次に、検索した定数に基づいて、図１６に示した暗号化の場合の計算と同様に、漢字定数を計算する。
【００８６】
次にＣＰＵ２０は、復号化の対象となっている漢字の上位文字コードを読み込み（Ｓ154）、上位文字コードから漢字定数を減算する。もしも減算結果が２６Ｈ未満の時には（Ｓ155：Yes）、減算結果に３１（十進数）を加算したもの（Ｓ157）を新たに減算結果とし、減算結果を変換された文字の上位文字コードの値としてテキストバッファ３１に格納する（Ｓ156）。なお、この時、復号化の対象となった漢字コードの下位コードは変換されずにそのままである（復号化の前と後とで値が変わらない）のは、暗号化の場合と同様である。すなわち、漢字コードに復号化が適用される場合には、上位コードが他のコードに変換されることにより、全く異なる漢字が変換の結果得られる。前述のように漢字コードの上位コードは２６Ｈ〜４４Ｈの範囲であるため、Ｓ147では、上位コードがこの範囲を下回った場合に、この範囲に収まるようにさらに計算を行っている。
【００８７】
例えば、利用者が復号化するためにテキストを入力した結果、３つ目のデータとして漢字の「辺」という字の文字データがテキストバッファ３１に格納されているものとする（図１９参照）。ここで、漢字の「辺」の文字データが格納されているアドレスに対する定数は、ＴＢ４によれば２５である。また、漢字「辺」の上位コードは４０Ｈである。従って漢字復号変換処理を行うと、漢字定数は、２５／３０の余り（＝２５）に１を加えた値となる（＝２６）。従って、上位文字コード−漢字定数＝４０Ｈ−２６である（ここで、２６は十進数）。十進数の２６は十六進数では１ＡＨと表される。従って、上位文字コード−漢字定数＝４０Ｈ−１ＡＨ＝２６Ｈとなり、復号化された上位文字コードは２６Ｈとなる。復号化される前のテキストである「辺」は４０２０Ｈで表される文字であり、このうち上位コード４０Ｈを２６Ｈに変えた２６２０Ｈに対応する文字は「亜」である。すなわち、「辺」という漢字が復号化処理により「亜」という文字に変わる（復号化される）ことになる。
【００８８】
図１１において、Ｓ64、Ｓ66およびＳ68の何れにおいてもNoと判定された場合には、テキストバッファ３１の現在処理対象となっている文字（記号）データは復号変換の対象とならない文字データであり、従って暗号化処理においても暗号変換の処理対象とはならなかった文字データであり、復号化処理の実行前と実行後で同一の値となる。
【００８９】
以上のようにして、文字データのコードに応じて復号変換処理が実行されると、次に、検索用ポインタ値Ｐには、テキストバッファ３１の次の文字に対応するアドレスがセットされる（Ｓ70）。次の文字に対応する検索用ポインタ値Ｐがテキストバッファ３１に格納されている最終文書データの次のアドレスを指すポインタ値Ａより小さいときには、ＣＰＵ２０は、テキストバッファ３１内の全ての文書データについての復号化処理は終了していないと判断し（Ｓ71：No）、Ｓ63〜Ｓ71の処理を繰り返す。
【００９０】
次の文字に対応する検索用ポインタ値Ｐが最終文書データの次のアドレスを指すポインタ値Ａと一致する場合には、ＣＰＵ２０は、テキストバッファ３１内の全ての文書データについての復号化処理が終了したと判断し（Ｓ71：Yes）、処理をＳ72に進める。
【００９１】
Ｓ72は、印字の文字サイズを縦長のＬサイズに設定する処理である。印字される文字が変換（復号）されたものである場合に、このように特定の文字サイズに自動的に設定して印字することにより、テープに印字された結果が復号化された文字列であることを使用者に知らせることができる。尚、本実施の形態においては文字サイズを縦長のＬサイズに設定しているが、これに限る必要はなく、他と区別できる形態で印字することにより、同等の効果が得られる。
【００９２】
次に、Ｓ73においては、復号化中画面表示終了処理を実行して、Ｓ61においてディスプレイ４に表示された「暗号化処理実行中」というメッセージを消去し、変換文字列表示処理を実行して（Ｓ74）、復号化されたテキストバッファ３１の文書データに基づいて復号化された文字列をディスプレイ４に表示して、復号化処理を終了し、暗号処理制御にリターンする。なお、テキストバッファ３１に、文書データが格納されていない時には（Ｓ60：No）、ＣＰＵ２０は、警告用ブザー１２を鳴動するアラーム処理を実行し（Ｓ75）、復号化処理を終了し、暗号処理制御にリターンする。
【００９３】
なお、以上説明したテープ状ラベル作成装置においては、暗号化／復号化対象文字情報には、複数の変換段階を経た後でも、キーボード３からの入力が複雑な文字や記号を含まないようになっている。このため、暗号化するキャラクタまたは復号化使用とするキャラクタを容易にキーボード３から入力することができ、テキストバッファ３１に格納された文書データを、暗号化または復号化する暗号化／復号化処理制御を実行することにより、暗号化または復号化する前の文書データと同一のデータがテキストバッファ３１に格納され、ディスプレイ４に表示され、暗号化または復号化する前の文書を容易に確認することが可能である。
【００９４】
さらに、暗号化および復号化の処理はテキストバッファ３１に格納されているデータに対して行われるものであるため、あるデータを暗号化した後に、直ちに復号化の操作を行えば、暗号化前のデータをディスプレイ３に表示させて確認することができる。同様にして、繰り返し暗号化および復号化の処理を行うことができる。
【００９５】
本実施の形態においては、入力した文字列の暗号化処理または復号化処理において暗号化または復号化の完了した文字に対して、所定の印字文字サイズを自動的に設定し、印字結果を見ると暗号化または復号化した文字であることを使用者に知らしめることができる。このように設定された文字サイズを、表示にも適用し、暗号化または復号化した文字を自動的に設定される文字サイズにて表示するようにすれば、液晶ディスプレイ４に表示されている文字が暗号化または復号化の完了しているものであることを、表示により使用者に知らしめることも可能である。
【００９６】
【発明の効果】
以上説明したように、請求項１に記載の文書処理装置によれば、キーボードから入力したキャラクタを、キャラクタが属する種類（グループ）毎に異なる方法により他のキャラクタに変換（すなわち暗号化）するため、キャラクタが属するグループに対応して適当なアルゴリズムを採用することが可能となる。
【００９７】
請求項２に記載の文書処理装置によれば、復号化もキャラクタの属するグループ（種類）に対応した適切なアルゴリズムで行うことが可能である。請求項３に記載の文書処理装置によれば、同一の装置において、暗号化および復号化を実行することができる。請求項４に記載の文書処理装置によれば、キャラクタが複数グループのいずれに属するキャラクタであるかを、容易に、自動的に判定することができる。
【００９８】
請求項５に記載の文書処理装置によれば、漢字に対して適切な暗号化および復号化のアルゴリズムを用いることが可能になる。請求項６に記載の文書処理装置によれば、英数字用の適切な暗号化および復号化アルゴリズムを使用することができる。請求項７に記載の文書処理装置によれば、ひらがなおよびカタカナに対する適切な暗号化および復号化アルゴリズムを採用することが可能になる。
【００９９】
請求項８に記載の文書処理装置によれば、キャラクタに与えられている所定のコードを操作することによりデータの変更を行うため、全てのキャラクタに対して１対１のキャラクタを示す変換表を用いる必要が無く、したがってそのための記憶容量を必要としない。請求項９に記載の文書処理装置によれば、キャラクタを他のキャラクタに変換する暗号化および復号化処理はすべてバッファ内で行われるため、データを再入力することなく繰り返し変換操作を行うことができる。
【０１００】
請求項１０に記載の文書処理装置によれば、変更の対象となるキャラクタが前記ひらがなまたはカタカナである場合には、同一文字種内でデータをシフトしているが、キャラクタの格納位置に対応してシフト量が異なるため、暗号化されたデータを復号化するのは容易ではなく、機密性が保たれる。請求項１１に記載の文書処理装置によれば、変更（暗号化・復号化）の対象となるキャラクタが漢字である場合にも、同一文字種内で他のキャラクタに変換することが可能である。
【０１０１】
請求項１２に記載の文書処理装置によれば、キャラクタを格納するバッファの各キャラクタの格納位置にそれぞれ対応して所定の数値（変換用の情報テーブル）が定められており、この所定の数値と各キャラクタに固有の数値データをデータ変換字に使用するため、比較的小さい変換テーブルを用いているにもかかわらず、機密性が保たれることになる。
【０１０２】
請求項１３に記載の文書処理装置によれば、変更の対象となるキャラクタが種類の多い漢字の場合にも、変換用の情報テーブルと漢字のコードデータの双方を利用することにより、変化に富んだデータ変換を行うことができ、機密性の保持に寄与する。
【０１０３】
請求項１４に記載の文書処理装置によれば、キャラクタは常に同一グループ内の他のキャラクタに変換されるため、変換後のキャラクタが格別入力の困難なキャラクタに変換されるようなことが無い。請求項１５に記載の文書処理装置によれば、暗号化・復号化されたキャラクタを直ちに印字することができる。請求項１６に記載の文書処理装置によれば、暗号化・復号化されたキャラクタを表示装置に表示させることにより、直ちに視認することができる。請求項１７に記載の文書処理装置によれば、キャラクタが属するグループにより、キャラクタのコードデータの異なる部分を変換するため、暗号化・復号化されたデータを再変換する際に変換方法を誤ることが無く、再変換字の変換操作の信頼性が高い。
【０１０４】
請求項１８に記載の文書処理装置によれば、比較的文字種の少ないキャラクタ（英数字）のデータ変換の場合には、下位バイトのみの変更で暗号化・復号化を行うことができる。請求項１９に記載の文書処理装置によれば、比較的文字種の少ないひらがなおよびカタカナを変換する場合にも、下位バイトを変更することにより、変換を行うことができる。請求項２０に記載の文書処理装置によれば、比較的文字種の多いキャラクタ（漢字）を変換する場合には、上位バイトを変更することにより、変換を行うことができる。
【図面の簡単な説明】
【図１】テープ状ラベル作成装置の外観を示す上面図である。
【図２】テープ状ラベル作成装置の制御系のブロック図である。
【図３】英数字用の暗号化／復号化対象文字情報テーブルの設定内容を説明する図である。
【図４】ひらがなおよびカタカナ用の暗号化／復号化対象文字情報テーブルの設定内容を説明する図である。
【図５】漢字の上位バイトと下位バイトと関係を示すテーブルである。
【図６】暗号化／復号化定数情報テーブルの設定内容を説明する図である。
【図７】テープ状ラベル作成制御のルーチンの概略フローチャートである。
【図８】暗号処理制御のルーチンの概略フローチャートである。
【図９】暗号化／復号化選択画面を説明する図である。
【図１０】暗号化処理制御のルーチンの概略フローチャートである。
【図１１】復号化処理制御のルーチンの概略フローチャートである。
【図１２】英数暗号変換処理のルーチンの概略フローチャートである。
【図１３】英数復号変換処理のルーチンの概略フローチャートである。
【図１４】ひらがなカタカナ暗号変換処理のルーチンの概略フローチャートである。
【図１５】ひらがなカタカナ復号変換処理のルーチンの概略フローチャートである。
【図１６】漢字暗号変換処理のルーチンの概略フローチャートである。
【図１７】漢字復号変換処理のルーチンの概略フローチャートである。
【図１８】暗号化される場合の各キャラクタが格納されたテキストバッファおよび対応する各定数の説明図である。
【図１９】復号化される場合の各キャラクタが格納されたテキストバッファおよび対応する各定数の説明図である。
【符号の説明】
１ テープ状ラベル作成装置
３ キーボード
４ ディスプレイ
２０ ＣＰＵ
２３ ＲＯＭ
３０ ＲＡＭ
３１ テキストバッファ
ＣＤ 制御装置
ＴＢ１ 英数字用暗号化／復号化対象文字情報テーブル
ＴＢ２ ひらがなカタカナ用暗号化／復号化対象文字情報テーブル
ＴＢ３ 漢字上位バイト／下位バイトテーブル
ＴＢ４ 暗号化／復号化定数情報テーブル
【図１】
0003786219.tif 000002
【図２】
0003786219.tif 000003
【図３】
0003786219.tif 000004
【図４】
0003786219.tif 000005
【図５】
0003786219.tif 000006
【図６】
0003786219.tif 000007
【図７】
0003786219.tif 000008
【図８】
0003786219.tif 000009
【図９】
0003786219.tif 000010
【図１０】
0003786219.tif 000011
【図１１】
0003786219.tif 000012
【図１２】
0003786219.tif 000013
【図１３】
0003786219.tif 000014
【図１４】
0003786219.tif 000015
【図１５】
0003786219.tif 000016
【図１６】
0003786219.tif 000017
【図１７】
0003786219.tif 000018
【図１８】
0003786219.tif 000019
【図１９】
0003786219.tif 000020