(57)【特許請求の範囲】
【請求項１】
受信したメールの本文データを先頭から順次読み出して、本文データ中に含まれている改行データ及び引用符データを検出するデータ検出手段と、
このデータ検出手段によって検出された改行データが、送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別するデータ判別手段と、
このデータ判別手段によって判別された自動的改行データを前記本文データ中から削除する削除手段と、
前記データ検出手段によって検出された引用符データのうち２回目以降に検出された引用符データを前記本文データ中から削除するとともに、引用文が終了する改行位置に引用文終了データを挿入する引用文処理手段と、
前記削除手段と引用文処理手段により処理された本文データを表示画面の表示幅に応じて改行するとともに、引用符データから引用文終了データまでの本文データを改行する場合には、改行された行の先頭に新たな引用符を付加して表示させる表示制御手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
受信したメールを表示するためのプログラムを記録した媒体 であって、
コンピュータを、
受信したメールの本文データを先頭から順次読み出して、本文データ中に含まれている改行データ及び引用符データを検出するデータ検出手段、
このデータ検出手段によって検出された改行データが、送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別するデータ判別手段、
このデータ判別手段によって判別された自動的改行データを前記本文データ中から削除する削除手段、
前記データ検出手段によって検出された引用符データのうち２回目以降に検出された引用符データを前記本文データ中から削除するとともに、引用文が終了する改行位置に引用文終了データを挿入する引用文処理手段、
前記削除手段と引用文処理手段により処理された本文データを表示画面の表示幅に応じて改行するとともに、引用符データから引用文終了データまでの本文データを改行する場合には、改行された行の先頭に新たな引用符を付加して表示させる表示制御手段、
として機能させるプログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理装置及びデータ処理のプログラムを記録した媒体に関する。
【０００２】
【従来の技術】
昨今、急速に普及しているインターネットにおいては、電子メール（以下、「メール」という）が盛んに利用されている。それに伴い、携帯型のインターネット端末装置（以下、「携帯型端末」という）もにわかに普及し始め、自宅又は会社のパソコンやワープロと外出先の携帯端末との間で、メールの送受信が可能な環境になってきた。
【０００３】
【発明が解決しようとする課題】
一般に、パソコン等の画面表示においては、メールの本文の１行の最大文字は日本語の場合３０〜４０文字前後であり、最大文字を過ぎると自動的に改行するようになっている。図１５（Ａ）は、パソコン等の画面に表示されたメールの本文の例である。ところが、携帯端末の表示画面は小さいので、図１５（Ａ）のメールを携帯端末で受信した場合には、図１５（Ｂ）に示すように、本文の不自然な箇所で改行されてしまう。したがって、非常に読みにくい表示画面になってしまう。
【０００４】
また、メールの中には、受信したメールの本文を引用して送信メールを作成する場合がある。この場合には、引用文の行の先頭に引用符「＞」を付加して、その行が引用文であることを明示する。図１６（Ａ）は、パソコン等の画面に表示された引用文を含むメールの例である。ところが、このメールを携帯端末の画面に表示させた場合には、図１６（Ｂ）に示すように、引用文であるにもかかわらず、行の先頭に引用符が付加されていない。したがって、画面に表示された本文の中でどれが引用文であるかを判別することが困難である。
【０００５】
本発明の課題は、パソコン等から受信したメールを表示した場合に、本文が不自然な箇所で改行されないようにすることである。また、受信したメールの本文に引用文がある場合には、引用文の行の正確に表示できるようにすることである。
【０００６】
【課題を解決するための手段】
請求項１に係るデータ処理装置は、受信したメールの本文データを先頭から順次読み出して、本文データ中に含まれている改行データ及び引用符データを検出するデータ検出手段と、このデータ検出手段によって検出された改行データが、送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別するデータ判別手段と、このデータ判別手段によって判別された自動的改行データを前記本文データ中から削除する削除手段と、前記データ検出手段によって検出された引用符データのうち２回目以降に検出された引用符データを前記本文データ中から削除するとともに、引用文が終了する改行位置に引用文終了データを挿入する引用文処理手段と、前記削除手段と引用文処理手段により処理された本文データを表示画面の表示幅に応じて改行するとともに、引用符データから引用文終了データまでの本文データを改行する場合には、改行された行の先頭に新たな引用符を付加して表示させる表示制御手段と、を有することを特徴とする。
【０００７】
請求項２に係る媒体は、受信したメールを表示するためのプログラムを記録した媒体 であって、コンピュータを、受信したメールの本文データを先頭から順次読み出して、本文データ中に含まれている改行データ及び引用符データを検出するデータ検出手段、このデータ検出手段によって検出された改行データが、送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別するデータ判別手段、このデータ判別手段によって判別された自動的改行データを前記本文データ中から削除する削除手段、前記データ検出手段によって検出された引用符データのうち２回目以降に検出された引用符データを前記本文データ中から削除するとともに、引用文が終了する改行位置に引用文終了データを挿入する引用文処理手段、前記削除手段と引用文処理手段により処理された本文データを表示画面の表示幅に応じて改行するとともに、引用符データから引用文終了データまでの本文データを改行する場合には、改行された行の先頭に新たな引用符を付加して表示させる表示制御手段、として機能させるプログラムを記録していることを特徴とする。
【０００８】
本発明によれば、受信したメールの本文データが先頭から順次読み出されて改行データ及び引用符データが検出され、送信元の装置の制約によって自動的に付加された自動的改行データは削除され、また２回目以降に検出された引用符データも本文データ中から削除されるとともに、引用文が終了する改行位置に引用文終了データが挿入され、このように処理された本文データは表示画面の表示幅に応じて改行されるとともに、引用符データから引用文終了データまでの本文データが改行される場合には、改行された行の先頭に新たな引用符が付加されて表示される。
【０００９】
【発明の実施の形態】
以下、図を参照して本発明によるデータ処理装置の実施形態を、電子メール装置を例に採って説明する。
図１は、メールを送受信する通信システム及び携帯端末の内部システムを示す図である。携帯端末１００、パソコン２００、ワープロ３００は、サーバ４００を介して回線によって接続され、互いにメールを送受信することができる。
【００１０】
携帯端末１００の内部は、図１に示すように、ＣＰＵ１によってバスに接続された下記の各部を制御する構成になっている。また、携帯端末の外観を図２に示す。ＲＯＭ２は、ＣＰＵ１が実行する制御プログラムを格納している。キー操作子３は、図２に示すように、多数のキースイッチで構成され、操作に応じて動作指示データを入力する。例えば、電源スイッチ３１は、この携帯端末１００をオン又はオフするキースイッチである。カーソルスイッチ３２は、画面に表示された項目を選択するキースイッチであり、上、下、左及び右スイッチで構成されている。ＯＫスイッチ３３は、カーソルスイッチ３２で選択された項目を決定するキースイッチである。ＲＥＴキー３４は、カーソルスイッチ３２で選択された項目を決定するとともに、入力されたデータを確定するキースイッチである。ＥＳＣキー３５は、現在の状態から前の状態に戻るときに操作するキースイッチである。
【００１１】
図１における操作子情報獲得部４は、キー操作子３から入力された動作指示データをＣＰＵ１に入力する。ＬＣＤ表示部５は、図２に示すような選択メニュー画面や、受信したメール及び作成するメールを表示する。ＲＡＭ６は、入力された動作指示データやＣＰＵ１が処理したデータを一時的に記憶するワークメモリであり、レジスタ、フラグのエリアをもっている。ＶＲＡＭ７は、ＬＣＤ表示部５に表示するために画像データを展開する。
【００１２】
メール送信部８は、作成されたメールを回線に送出する。メール受信部９は、回線からメールを受信する。メール整形部１０は、受信したメールを整形する。このメール整形部１０についてはさらに詳述する。なお、メール送信部８、メール受信部９及びメール整形部１０については、図１に示すようにハードウェアで構成することが可能であるが、ＣＰＵ１が実行する制御プログラムによっても実現することができる。そこで、本実施形態においては、メール送信部８、メール受信部９及びメール整形部１０の機能を制御プログラムで実行するものとして説明する。メール格納部１１は、受信したメール及び送信するメールを格納するメモリである。
【００１３】
図３は、メール格納部１１のエリアのメモリマップである。メモリマップは、メール作成エリア１１１、アドレスエリア１１２、受信メールストアエリア１１３、送信メールストアエリア１１４、表示メールリストエリア１１５、表示メールエリア１１６で構成されている。受信メールストアエリア１１３は、メール（１）〜メール（Ｎ）の最大Ｎ個のメールを格納することができ、ポインタｎによって任意のメール（ｎ）が指定される。各メール（ｎ）は、返信フラグ、送信元アドレス、ニックネーム、件名（Ｓｕｂｊｅｃｔ）、本文、受信日時で構成され、本文はデータ（１）、データ（２）……の文字データで構成される。
【００１４】
表示メールリストエリア１１５は、一括して表示可能な受信メールを格納し、メール（１）〜メール（Ｍ）の最大Ｍ個のメールを格納する。携帯端末１００のＬＣＤ表示部５はデスクトップやラップトップのパソコン等に比べて表示画面が小さいので、Ｍ個を超えた受信メールを表示させるためには、カーソルスイッチ３２の上スイッチ及び下スイッチによって画面をスクロールさせる。スクロールについては後述する。
【００１５】
図１におけるモデム部１２は、サーバー４００に送信するメールを変調するとともに、サーバー４００から受信したメールを復調する。
【００１６】
次に、この実施形態の動作について、ＣＰＵ１のフローチャートを参照して説明する。
【００１７】
図４は、メインフローであり、電源スイッチ３１がオンされたときは、所定のイニシャライズ処理を行って（ステップＳ１）、以下のループ処理を実行する。すなわち、図２に示した選択メニュー画面を表示し（ステップＳ２）、指定されたアイコンのみ色変更表示する（ステップＳ３）。初期状態では、受信アイコンの色が変更表示されている。次に、カーソルスイッチ３２の上下左右スイッチのいずれかがオンされたか否かを判別し（ステップＳ４）、オンされたときは指定アイコンを変更して（ステップＳ５）、ステップＳ３に移行してその指定アイコンの色変更表示を行う。
【００１８】
カーソルスイッチ３２がオンされない場合は、ＯＫスイッチ３３がオンされたか否かを判別する（ステップＳ６）。ＯＫスイッチ３３がオンされない場合は、ステップＳ４に移行してカーソルスイッチ３２の状態を判別する。ステップＳ６においてＯＫスイッチ３３がオンされた場合には、そのときの指定アイコンが受信アイコンであるか否かを判別する（ステップＳ７）。受信アイコンであるときは、受信表示処理を行う（ステップＳ８）。受信アイコンでなくその他のアイコンである場合には、その指定されたアイコンに応じて、その他の処理を行う（ステップＳ９）。
【００１９】
図５〜図１２は、図４のステップＳ８における受信表示処理のフローである。この処理では、新たな受信メールがあるか否かを判別し（ステップＳ１０）、新たな受信メールがあるときは、図３に示した受信メールストアエリア１１３のメールエリアを指定するポインタｎを１にセットする（ステップＳ１１）。そして、ｎをインクリメントしながら空きエリアを捜す。すなわち、ｎで指定したメール（ｎ）のエリアが空きであるか否かを判別し（ステップＳ１２）、空きでない場合はｎをインクリメントして（ステップＳ１３）、ｎが格納できる最大数Ｎを超えたか否かを判別する（ステップＳ１４）。最大数Ｎ以下である場合には、ステップＳ１２に移行してメール（ｎ）の空きを判別する。
【００２０】
ステップＳ１２において、メール（ｎ）が空きであった場合には、そのエリアに受信メールデータである返信フラグ、送信元アドレス、ニックネーム、件名（Ｓｕｂｊｅｃｔ）、本文、受信日時を記憶する（ステップＳ１５）。そして、ステップＳ１０に移行して、次の新たな受信メールがあるか否かを判別する。新たな受信メールがない場合、又はステップＳ１４においてポインタｎが最大数Ｎを超えても空きエリアがない場合には、受信メールストアエリア１１３を受信日時順に並べ替える（ステップＳ１６）。
【００２１】
次に、ポインタｎを１にセットする（ステップＳ１７）。そして、図６のフローにおいて、受信メールリストの表示枠を表示する（ステップＳ１８）。次に、表示枠のＭ個（この場合５個）の表示エリアを指定するポインタｍを１にセットして（ステップＳ１９）、ｍをインクリメントしながら以下のループ処理を行う。まず、ｍ番目（したがって最初は１番目）の表示エリアを指定する（ステップＳ２０）。次に、受信メールストアエリア１１３のｎで指定したメール（ｎ）のエリアが空きでないか否かを判別する（ステップＳ２１）。したがって、最初はメール（１）が空きでないか否かを判別する。
【００２２】
メール（ｎ）のエリアが空きでなく受信メールが記憶されている場合には、ｍで指定した表示エリアにメール（ｎ）のニックネーム、受信日時、件名を表示する（ステップＳ２２）。一方、メール（ｎ）のエリアが空きである場合には、ｍで指定した表示エリアをクリアする（ステップＳ２３）。表示エリアに表示した後、又は表示エリアをクリアした後は、ｍをインクリメントする（ステップＳ２４）。そして、ｍが表示エリアの総数Ｍ以下であるか否かを判別する（ステップＳ２５）。ｍがＭ以下である場合には、ｎをインクリメントして（ステップＳ２６）、ステップＳ２０に移行して次に指定したｍ番目の表示エリアを指定する。
【００２３】
ステップＳ２５においてｍがＭを超えた場合には、図７のフローにおいて、いずれかの表示エリアが反転表示されているか否かを判別する（ステップＳ２７）。最初はいずれの表示エリアも反転表示されていない。この場合には、ｍを１にセットして（ステップＳ２８）、表示エリア（１）を反転表示する（ステップＳ２９）。ステップＳ２７においていずれかの表示エリア（ｍ）が反転表示されている場合、又はステップＳ２９において表示エリア（１）を反転表示した後は、カーソル上スイッチがオンされたか否かを判別する（ステップＳ３０）。このスイッチがオンされたときは、ｍが１であるか否かを判別する（ステップＳ３１）。すなわち、１番目の表示エリアが反転表示されているか否かを判別する。
【００２４】
ｍが１でない場合には、ｍをデクリメントして（ステップＳ３２）、ステップＳ２９に移行して、１つ上の表示エリア（ｍ）を反転表示する。図１３は、表示エリア（３）が反転表示された状態を示している。この状態でカーソル上スイッチがオンされたときは、１つ上の表示エリア（２）が反転表示される。さらにカーソル上スイッチがオンされた場合には、さらに１つ上の表示エリア（１）すなわち１番目の表示エリアが反転表示される。
【００２５】
１番目の表示エリアが反転表示されている状態でカーソル上スイッチがオンされた場合には、反転表示の表示エリアはそのままで、画面がスクロールする。すなわち、１番目の表示エリアに表示されているメール（ｎ）の１つ前のメール（ｎ−１）を表示させる。ただし、ｎ＝１の場合は、１つ前のメール（ｎ−１）は存在しないので、ｎが１より大きい数であるか否かを判別する（ステップＳ３３）。ｎが１より大きい場合にのみ、ｎをデクリメンして（ステップＳ３４）、１つ前のメールを指定する。そして、図６のステップＳ２０に移行して、１つ前のメールから順に受信メールを表示していく。
【００２６】
ステップＳ３０において、カーソル上スイッチがオンされない場合は、カーソル下スイッチがオンされたか否かを判別する（ステップＳ３５）。このスイッチがオンされたときは、反転表示されている表示エリアを指定するｍが最大表示エリア数Ｍであるか否かを判別する（ステップＳ３６）。ｍがＭでない場合、例えば図１３に示すように、表示エリア（３）が反転表示されている場合には、ｍをインクリメントして（ステップＳ３７）、ステップＳ２９に移行して、１つ下の表示エリアを反転表示する。この状態でさらにカーソル下スイッチがオンされた場合には、１番下の表示エリア（５）を反転表示する。
【００２７】
ステップＳ３６において、ｍ＝Ｍである場合、すなわち１番下の表示エリアが反転表示されている状態でカーソル下スイッチがオンされた場合には、反転表示の表示エリアはそのままで、画面がスクロールする。すなわち、１番下の表示エリアに表示されているメール（ｎ）の１つ後のメール（ｎ＋１）を表示させる。ただし、ｎ＝Ｎの場合は、１つ後のメール（ｎ＋１）は存在しないので、ｎがＮより小さい数であるか否かを判別する（ステップＳ３８）。ｎがＮより小さい場合には、ｎを（ｎ−Ｍ＋２）にセットする（ステップＳ３９）。いまＭ＝５であるので、ｎ−５＋２＝ｎ−３を指定する。したがって、１番下に表示されているメールの３つ前すなわち現在２番目に表示されているメールの番号を指定する。そして、ｍを１にセットして（ステップＳ４０）、図６のステップＳ２０に移行して、現在２番目に表示されているメールを１番目にして、順に受信メールを表示していく。
【００２８】
ステップＳ３３においてｎが１である場合、ステップＳ３８においてｎがＮである場合には、この受信表示処理を終了する。ステップＳ３４の後、ステップＳ４０の後、又はステップＳ３０においてカーソル上スイッチがオンでなく、ステップＳ３５においてカーソル下スイッチがオンでない場合には、図８のフローにおいて、ＲＥＴキーがオンされたか否かを判別する（ステップＳ４１）。
【００２９】
ＲＥＴキーがオンされたときは、図１３の表示をクリアし（ステップＳ４２Ａ）、図１４に示すメール枠の画面を表示する（ステップＳ４２Ｂ）。そして、図１３の画面において反転表示されていたメール（ｎ）のデータを表示する。すなわち、画面のアドレス表示エリア５１にメール（ｎ）のアドレスを表示し（ステップＳ４３）、件名表示エリア５２にメール（ｎ）の件名を表示する（ステップＳ４４）。次に、メール（ｎ）の本文の改行整形が未処理であるか否かを判別する（ステップＳ４５）。未処理である場合には、改行整形処理を行う（ステップＳ４６）。この後、又は改行整形処理が終了している場合には、図１３の本文エリア５３にデータを表示する本文表示処理を行う（ステップＳ４７）。そして、図４のメインフローに戻る。
【００３０】
ステップＳ４１において、ＲＥＴキー３４がオンでない場合には、ＥＳＣキー３５がオンされたか否かを判別する（ステップＳ４８）。このキーがオンされたときは、表示をクリアして（ステップＳ４９）、受信表示処理を終了する。このキーがオンでない場合は、図７のステップＳ３０に移行する。
【００３１】
図９は、図８のステップＳ４６における改行整形処理のフローである。この処理では、図１４において表示しているメール（ｎ）の本文のデータを指定するポインタｉを１にセットして（ステップＳ５０）、ｉをインクリメントしながら以下のループ処理を行う。すなわち、データ（ｉ）を読み出し（ステップＳ５１）、そのデータが引用符データであるか否かを判別する（ステップＳ５２）。引用符データでない場合には、そのデータが改行データであるか否かを判別する（ステップＳ５３）。
【００３２】
改行データである場合には、フラグＦ１が０であるか否かを判別する（ステップＳ５４）。このフラグは現在読み出しているデータが引用文のデータであるときに１にセットされるフラグである。このフラグが０である場合には、次のデータを判別する。次のデータはスペースデータであるか否かを判別する（ステップＳ５５）。スペースデータでない場合には、数字データであるか否かを判別する（ステップＳ５６）。数字データでもない場合には、疑問符データ又は感嘆符データであるか否かを判別する（ステップＳ５７）。疑問符データ及び感嘆符データでもない場合には、中黒「・」データであるか否かを判別する（ステップＳ５８）。
【００３３】
中黒データでもない場合には、始め括弧「（」データであるか否かを判別する（ステップＳ５９）。始め括弧データでもない場合には、前のデータを判別する。すなわち、前のデータは句読点データであるか否かを判別する（ステップＳ６０）。句読点データでない場合には、終わり括弧「）」データであるか否かを判別する（ステップＳ６１）。終わり括弧データでもない場合には、読み出した改行データは、送信元の装置の制約によって自動的に付加された自動的改行データであるので、この改行データを削除する（ステップＳ６２）。そして、ｉをインクリメントする（ステップＳ６３）。
【００３４】
一方、ステップＳ５４においてＦ１が０である場合において、読み出した改行データの次のデータがスペースデータ、数字データ、疑問符データ若しくは感嘆符データ、中黒データ、若しくは始め括弧データである場合、又は読み出した前のデータが句読点データ若しくは終わり括弧データである場合には、読み出した改行データは、送信者が本文中に意図的に挿入した意図的改行データであるので、削除することなくステップＳ６３においてｉをインクリメントする。
【００３５】
ステップＳ６３においてｉをインクリメントした後は、本文中にデータ（ｉ）がないか否かを判別する（ステップＳ６４）。本文中にまだデータ（ｉ）がある場合には、ステップＳ５１に移行してそのデータを読み出す。ステップＳ５２において判別した結果、読み出したデータが引用符データである場合には、フラグＦ１が１であるか否かを判別する（ステップＳ６５）。Ｆ１が１でなく０である場合には、この引用符データが引用文の最初に付加されたデータである。この場合には、Ｆ１を１にセットして（ステップＳ６６）。これ以降のデータが引用文のデータであることを示す。
【００３６】
ステップＳ６５において、Ｆ１が１である場合には、読み出した引用符データが引用文の中の引用符データであることを示している。すなわち、送信元で引用文の２行目以降の行の先頭に付加された引用符データであることを示している。この場合には、この引用符データを削除する（ステップＳ６７）。引用符データを削除した後、又はステップＳ６６においてＦ１を１にセットした後は、ステップＳ６３に移行して、ｉをインクリメントする。
【００３７】
読み出したデータが改行データであるとき、ステップＳ５４においてＦ１が０でなく１である場合には、次のデータは引用符データであるか否かを判別する（ステップＳ６８）。改行データの次のデータが引用符データである場合には、読み出した改行データは、送信元の装置の制約によって自動的に付加された自動的改行データであるので、ステップＳ６２に移行してこの改行データを削除する。そして、ステップＳ６３においてｉをインクリメントする。
【００３８】
ステップＳ５４においてＦ１が１であって、かつ、ステップＳ６８において、改行データの次のデータが引用符データでない場合には、引用文が終了したことを示している。この場合には、引用文の終了を表すために、改行データの前に引用符データを挿入する（ステップＳ６９）。通常、引用符データの後は必ず少なくとも１字からなる引用文の行があるので、引用符データの次に改行データがくることはあり得ない。すなわち、ステップＳ６９における処理は、実際にはあり得ないデータの組み合わせを作成して引用文の終了を表す識別データを付加する処理である。引用符データを挿入した後は、Ｆ１を０にセットし（ステップＳ７０）、ステップＳ６３に移行してｉをインクリメントする。
【００３９】
ステップＳ６４においてｉで指定したデータ（ｉ）がない場合には、改行整形処理を終了して、図８のフローに戻る。この結果、本文のデータは、自動的改行データがすべて削除される。また、本文中に引用文がある場合には、引用文ごとにその最初に引用符データが付加され、その引用文の最後には改行データと引用符データとが連続した識別データが付加されて記憶される。
【００４０】
図１０〜図１２は、図８のステップＳ４７における本文表示処理のフローである。この処理では、まず、ＬＣＤ表示部５の表示画面における任意の行の文字番号を示すポインタｊ及び行番号を示すポインタｋをともに１にセットする（ステップＳ７１）。なお、ＬＣＤ表示部５の表示画面において、表示可能な１行の文字数はＪであり、表示可能な行数はＫである。
【００４１】
次に、本文のデータを示すポインタｉを１にセットして（ステップＳ７２）、データ（ｉ）を読み出す（ステップＳ７３）。そして、読み出したデータが引用符データであるか否かを判別する（ステップＳ７４）。引用符データでない場合には、そのデータが改行データであるか否かを判別する（ステップＳ７５）。読み出したデータが改行データでない場合には、指定したｋ行目のｊ文字目にそのデータを表示する（ステップＳ７６）。次に、ｊをインクリメントして、次の文字位置を指定する（ステップＳ７７）。そして、指定した文字位置のｊがＪ以下であるか否かを判別する（ステップＳ７８）。ｊがＪ以下である場合には、ｉをインクリメントして（ステップＳ７９）、本文にデータ（ｉ）がないか否かを判別する（ステップＳ８０）。
【００４２】
本文中にまだデータ（ｉ）がある場合には、ステップＳ７３に移行して、そのデータを読み出す。すなわち、ステップＳ７３〜ステップＳ８０のループにおいて、読み出したデータが引用符データでも改行データでもない場合には、１行目の最初の文字位置から順に、ｊをインクリメントしながら、読み出したデータを表示していく。そして、ステップＳ７８において、インクリメントしたｊがＪを超えた場合には、ｋをインクリメントして、次の行番号を指定する（ステップＳ８１）。次に、ｋがＫ以下であるか否かを判別し（ステップＳ８２）、ｋがＫ以下である場合には、ｊを１にセットして最初の文字位置を指定する（ステップＳ８３）。この場合において、フラグＦ２が１であるか否かを判別する（ステップＳ８４）。このフラグが１である場合は、直前に読み出したデータが引用文のデータであることを示している。
【００４３】
ステップＳ８４において、Ｆ２が１でなく０である場合には、ステップＳ７９に移行して、ｉをインクリメントして次に読み出すデータを指定する。そして、本文中に次のデータがある場合には、ステップＳ７３においてそのデータを読み出す。すなわち、ステップＳ７３〜ステップＳ７８の処理、及びステップＳ８１〜ステップＳ８４の処理、ステップＳ７９及びステップＳ８０の処理のループにおいて、画面の任意の行において、最初の文字位置から順にデータを表示していき、その行が終了したときは、次の行の最初の文字位置から順にデータを表示していく。
【００４４】
ステップＳ８４において、Ｆ２が１である場合には、指定しているｋ行の最初の文字位置に引用符データを挿入して表示する（ステップＳ８５）。すなわち、引用文の行の先頭に引用符データを付加する。次に、ステップＳ７９に移行して、ｉをインクリメントして、本文に次のデータ（ｉ）がないか否かを判別する（ステップＳ８０）。次のデータがある場合には、ステップＳ７３に移行して、そのデータを読み出す。
【００４５】
読み出したデータが改行データである場合には、ｋをインクリメントして、次の行を指定する（ステップＳ８１）。そして、ｋがＫ以下であるか否かを判別する（ステップＳ８２）。ｋがＫ以下である場合には、ｊを１にセットして、指定した行の最初の文字位置を指定する（ステップＳ８３）。そして、ステップＳ８４においてＦ２が１であるか否かを判別する。Ｆ２が１である場合は、ステップＳ８５において引用符データを挿入して表示し、ステップＳ７９においてｉをインクリメントする。一方、Ｆ２が０である場合は、引用符データを表示することなく、ステップＳ７９においてｉをインクリメントする。
【００４６】
ステップＳ７４において、読み出したデータが引用符データである場合には、次のデータが改行データであるか否かを判別する（ステップＳ８６）。次のデータが改行データでない場合には、Ｆ２を１にセットし（ステップＳ８７）、ｊが１であるか否かを判別する（ステップＳ８８）。ｊが１である場合すなわち指定した文字位置が行の最初の文字位置である場合には、ステップＳ７６において読み出した引用符データを表示する。この後は、ステップＳ７８においてｊがＪ以下である場合には、ステップＳ７７〜ステップＳ８０の処理を行い、次のデータがある場合にはステップＳ７３に移行して、そのデータを読み出す。
【００４７】
ステップＳ８８において、ｊが１でない場合すなわち指定している文字位置が行の途中である場合には、ステップＳ８１に移行してｋをインクリメントする。そして、ステップＳ８２においてｋがＫ以下である場合には、ステップＳ８３〜ステップＳ８５の処理を行って、読み出した引用符データを行の最初の文字位置に表示する。この後は、ステップＳ７９及びステップＳ８０の処理を行って、次のデータがある場合にはステップＳ７３に移行して、そのデータを読み出す。
【００４８】
ステップＳ８６において、引用符データの次のデータが改行データである場合には引用文の終了であり、読み出した引用符データは図９のステップＳ６９において挿入した識別データである。したがって、この引用符データを削除して（ステップＳ８９）、Ｆ２を０にセットする（ステップＳ９０）。この後は、ステップＳ７９及びステップＳ８０の処理を行って、次のデータがある場合にはステップＳ７３に移行して、そのデータを読み出す。
【００４９】
ステップＳ８０において、ｉで指定したデータ（ｉ）がない場合、すなわち本文の全てのデータの読み出しが終了した場合には、図１１のフローにおいて、ポインタｊ及びｋをともに１にセットする（ステップＳ９１）。そして、ｋ行目のｊ文字目に文字カーソルを表示する（ステップＳ９２）。したがって、最初は１行目の最初の文字位置にカーソルを表示する。次に、カーソル左スイッチがオンされたか否かを判別し（ステップＳ９３）、オンされたときはｊが１であるか否かを判別する（ステップＳ９４）。ｊが１でない場合には、ｊをデクリメントして（ステップＳ９８）、ステップＳ９２に移行して、１つ前の文字位置に文字カーソルを表示する。
【００５０】
ステップＳ９４においてｊが１である場合には、ｋが１である否かを判別する（ステップＳ９５）。ｋが１でない場合には、ｋをデクリメントして、１つ上の行を指定する（ステップＳ９６）。さらに、ｊをＪにして指定した行の最後の文字位置を指定する（ステップＳ９７）。そして、ステップＳ９２に移行して、その文字位置にカーソルを表示する。
【００５１】
ステップＳ９３において、カーソル左スイッチがオンされない場合は、カーソル右スイッチがオンされたか否かを判別し（ステップＳ９８）、オンされたときはｊがＪであるか否かを判別する（ステップＳ９９）。ｊがＪでない場合には、ｊをインクリメントして（ステップＳ１００）、ステップＳ９２に移行して、１つ後の文字位置に文字カーソルを表示する。
【００５２】
ステップＳ９４においてｊがＪである場合には、ｋがＫである否かを判別する（ステップＳ１０１）。ｋがＫでない場合には、ｋをインクリメントして、１つ下の行を指定する（ステップＳ１０２）。さらに、ｊを１にして指定した行の最初の文字位置を指定する（ステップＳ１０３）。そして、ステップＳ９２に移行して、その文字位置にカーソルを表示する。
【００５３】
ステップＳ９３においてカーソル左スイッチがオンでなく、ステップＳ９８においてカーソル右スイッチもオンでない場合には、図１２のフローにおいて、カーソル上スイッチがオンされたか否かを判別する（ステップＳ１０４）。このスイッチがオンされたときは、ｋが１であるか否かを判別する（ステップＳ１０５）。ｋが１でない場合には、ｋをデクリメントして、１つ上の行を指定する（ステップＳ１０６）。そして、図１１のステップＳ９２に移行して、指定したｋ行のｊ番目の文字位置に文字カーソルを表示する。
【００５４】
図１２のステップＳ１０５において、ｋが１である場合には、ポインタｉを（ｉ−Ｊ−ｊ＋１）にする（ステップＳ１０７）。すなわち、現在、画面の最初の行に表示している本文のデータより前にさらに１行分のデータがあると仮定したときに、その行の最初の文字位置に相当するデータを指定する。そして、その指定したデータ（ｉ）がないか否かを判別する（ステップＳ１０８）。データがある場合には、図１０のステップＳ７３に移行してそのデータを読み出し、そのデータを画面の１行目の最初の文字位置に表示して、その後に続くデータを表示する。すなわち、１行シフトアップした文字データを画面に表示する。
【００５５】
ステップＳ１０４において、カーソル上スイッチがオンでない場合には、カーソル下スイッチがオンされたか否かを判別する（ステップＳ１０９）。このスイッチがオンされたときは、ｋがＫであるか否かを判別する（ステップＳ１１０）。ｋがＫでない場合には、ｋをインクリメントして、１つ下の行を指定する（ステップＳ１１１）。そして、図１１のステップＳ９２に移行して、指定したｋ行のｊ番目の文字位置に文字カーソルを表示する。
【００５６】
図１２のステップＳ１０５において、ｋがＫである場合には、ポインタｉを（ｉ＋Ｊ−ｊ＋１）にする（ステップＳ１１２）。すなわち、現在、画面の最後の行に表示している本文のデータより後にさらに１行分のデータがあると仮定したときに、その行の最初の文字位置に相当するデータを指定する。そして、その指定したデータ（ｉ）がないか否かを判別する（ステップＳ１１３）。データがある場合には、ポインタｉを｛ｉ−（Ｋ−２）・Ｊ−ｊ＋１｝にする（ステップＳ１１４）。すなわち、現在、画面の２行目の最初の文字位置に表示しているデータを指定する。そして、図１０のステップＳ７３に移行してそのデータを読み出し、そのデータを画面の１行目の最初の文字位置に表示して、その後に続くデータを表示する。すなわち、１行シフトダウンした文字データを画面に表示する。
【００５７】
ステップＳ１０４においてカーソル上スイッチがオンでなく、ステップＳ１０９においてカーソル下スイッチがオンでない場合には、ＥＳＣキー３５がオンされたか否かを判別する（ステップＳ１１５）。このキーがオンされたときは、表示をクリアして（ステップＳ１１６）、本文表示処理を終了する。また、ステップＳ１０８において、ｉで指定したデータ（ｉ）が本文にない場合にも、この本文表示処理を終了する。
【００５８】
例えば、図１５（Ａ）に示すメールを受信した場合には、図１５（Ｃ）に示すように、自動的改行データを本文データ中から削除して、図１５（Ｂ）に見られるような不自然な改行を解消する。
【００５９】
また、図１６（Ａ）に示す引用文を含むメールを受信した場合には、図１６（Ｃ）に示すように、引用文の行の先頭に引用符を付加した本文を表示する。
【００６０】
このように、上記実施形態によれば、ＣＰＵ１は、受信したメールの本文データ中に含まれている改行データを検出するデータ検出手段、検出された改行データが送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別するデータ判別手段を構成する。そして、メール整形部１０は、ＣＰＵ１によって判別された自動的改行データを本文データ中から削除して本文データを整形するデータ整形手段を構成する。そしてまた、ＣＰＵ１は、このメール整形部１０によって整形された本文データを、設定された表示形式に応じて、ＬＣＤ表示部５の画面に表示させる表示制御手段を構成する。
【００６１】
すなわち、上記実施形態においては、受信したメールの本文において、送信元の装置の制約によって自動的に付加された自動的改行データと、送信者が本文中に意図的に挿入した意図的改行データとを区別して、自動的改行データを本文データ中から削除する。したがって、自動的改行データによって発生する不自然な改行を解消する。
【００６２】
なお、上記実施形態においては、ＲＯＭ２内に電子メールを送受信するプログラムを格納した専用の電子メール装置について説明したが、フロッピーディスクや光磁気ディスク等の媒体に、電子メールを送受信するプログラムを記録し、このプログラムを汎用のパソコンやワープロ等の装置に実行させる構成にしてもよい。
【００６３】
すなわち、受信したメールの本文データ中に含まれている改行データを検出する手順Ａと、この手順Ａによって検出された改行データが、送信元の装置の制約によって自動的に付加された自動的改行データであるか、又は送信者が本文中に意図的に挿入した意図的改行データであるかを判別する手順Ｂと、この手順Ｂによって判別された自動的改行データを前記本文データ中から削除して当該本文データを整形する手順Ｃと、この手順Ｃによって整形された本文データを、設定された表示形式に応じて表示させる手順Ｄと、を実行させるプログラムを媒体に記録する。そしてこの媒体を汎用の装置で駆動することにより、実施形態の発明を実現することができる。
【００６４】
また、上記実施形態においては電子メール装置を例に採って本発明によるデータ処理装置を説明したが、一般のパソコンやワープロその他のデータ処理装置にも本発明を適用することができる。例えば、機種の異なるワープロ同士でメールの送受信をする場合、あるいはフロッピーディスク等の外部記憶媒体を介してテキストデータを変換する場合には、受信側又は変換先のデータ処理装置の表示画面において、不自然な箇所で文章が改行されてしまうことがある。このような場合に、本発明を適用することで、不自然な改行を解消することができる。
【００６５】
【発明の効果】
本発明によれば、受信したメールの本文データが先頭から順次読み出されて改行データ及び引用符データが検出され、送信元の装置の制約によって自動的に付加された自動的改行データは削除され、２回目以降に検出された引用符データも本文データ中から削除されるとともに、引用文が終了する改行位置に引用文終了データが挿入され、このように処理された本文データは表示画面の表示幅に応じて改行されるとともに、引用符データから引用文終了データまでの本文データが改行される場合には、改行された行の先頭に新たな引用符が付加されて表示されるので、自動的改行によって発生する不自然な改行を解消でき、また、受信したメールの本文に引用文がある場合には、引用文の行を正確に表示できるようになる。
【図面の簡単な説明】
【図１】実施形態における通信システム及び携帯端末の内部システムを示す図。
【図２】図１における携帯端末の外観を示す平面図。
【図３】図１におけるメール格納部のメモリマップを示す図。
【図４】図１におけるＣＰＵのメインフローチャート。
【図５】図４のステップＳ８における受信表示処理のフローチャート。
【図６】図５に続く受信表示処理のフローチャート。
【図７】図６に続く受信表示処理のフローチャート。
【図８】図７に続く受信表示処理のフローチャート。
【図９】図８のステップＳ４６における改行整形処理のフローチャート。
【図１０】図８のステップＳ４７における本文表示処理のフローチャート。
【図１１】図１０に続く本文表示処理のフローチャート。
【図１２】図１１に続く本文表示処理のフローチャート。
【図１３】受信メールリストの表示画面を示す図。
【図１４】受信メールの枠画面を示す図。
【図１５】（Ａ）は受信メールの本文を示す図、（Ｂ）は従来の携帯端末に表示された受信メールの本文を示す図、（Ｃ）は本発明の携帯端末に表示された受信メールの本文を示す図。
【図１６】（Ａ）は引用文を含む受信メールの本文を示す図、（Ｂ）は従来の携帯端末に表示された引用文を含む受信メールの本文を示す図、（Ｃ）は本発明の携帯端末に表示された引用文を含む受信メールの本文を示す図。
【符号の説明】
１  ＣＰＵ
３  キー操作子
５  ＬＣＤ表示部
８  メール送信部
９  メール受信部
１０  メール格納部
１１  メール整形部
【図１】
0003832066.tif 000002
【図２】
0003832066.tif 000003
【図３】
0003832066.tif 000004
【図４】
0003832066.tif 000005
【図５】
0003832066.tif 000006
【図６】
0003832066.tif 000007
【図７】
0003832066.tif 000008
【図８】
0003832066.tif 000009
【図９】
0003832066.tif 000010
【図１０】
0003832066.tif 000011
【図１１】
0003832066.tif 000012
【図１２】
0003832066.tif 000013
【図１３】
0003832066.tif 000014
【図１４】
0003832066.tif 000015
【図１５】
0003832066.tif 000016
【図１６】
0003832066.tif 000017