JPH05303577A - 文書作成装置 - Google Patents
文書作成装置Info
- Publication number
- JPH05303577A JPH05303577A JP10946092A JP10946092A JPH05303577A JP H05303577 A JPH05303577 A JP H05303577A JP 10946092 A JP10946092 A JP 10946092A JP 10946092 A JP10946092 A JP 10946092A JP H05303577 A JPH05303577 A JP H05303577A
- Authority
- JP
- Japan
- Prior art keywords
- character
- line
- output
- word
- document
- 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
Links
Landscapes
- Character Spaces And Line Spaces In Printers (AREA)
- Preparing Plates And Mask In Photomechanical Process (AREA)
- Dot-Matrix Printers And Others (AREA)
- Record Information Processing For Printing (AREA)
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】 和文と欧文が混在した文書において、欧文の
単語が行末にかかったとしても、不必要に単語が分割さ
れることのない文書作成装置を提供することを目的とす
る。 【構成】 行末にかかる単語が和文対象文字であれば、
行内のスペースと、和文対象文字の文字送り量を均等に
縮小して、行末の文字を含めて行末揃えを行う。又、行
末にかかる単語が欧文単語内の文字であれば、その単語
の後ろで行末揃えを行うか、又は、その単語を次の行に
送り、単語の前で行末揃えを行う。
単語が行末にかかったとしても、不必要に単語が分割さ
れることのない文書作成装置を提供することを目的とす
る。 【構成】 行末にかかる単語が和文対象文字であれば、
行内のスペースと、和文対象文字の文字送り量を均等に
縮小して、行末の文字を含めて行末揃えを行う。又、行
末にかかる単語が欧文単語内の文字であれば、その単語
の後ろで行末揃えを行うか、又は、その単語を次の行に
送り、単語の前で行末揃えを行う。
Description
【0001】
【産業上の利用分野】本発明は、文書データを書式デー
タに従ってディスプレイやプリンタ等の出力装置に出力
するワードプロセッサやデスクトップパブリッシングシ
ステム等の文書作成装置に関するものである。
タに従ってディスプレイやプリンタ等の出力装置に出力
するワードプロセッサやデスクトップパブリッシングシ
ステム等の文書作成装置に関するものである。
【0002】
【従来の技術】近年、自由なレイアウトの高品質な文書
を作成することができるデスクトップパブリッシングシ
ステム等の文書作成装置では、出力結果の更なる高品質
化が求められている。
を作成することができるデスクトップパブリッシングシ
ステム等の文書作成装置では、出力結果の更なる高品質
化が求められている。
【0003】従来の文書作成装置において、文字コード
列として記憶されている文章は、所定の書式データに基
づいて、ビットマップデータに変換され、ディスプレイ
やプリンタ等の出力装置に出力される。さて、ビットマ
ップデータへの変換に際し、出力すべき文字が文書の行
末にかかる場合には、一般的に、行末にかかる文字が行
内に入りきれるように、その行内の文字の間隔が縮小さ
れ、行末の文字を含めて、行末揃え処理が行われてい
た。
列として記憶されている文章は、所定の書式データに基
づいて、ビットマップデータに変換され、ディスプレイ
やプリンタ等の出力装置に出力される。さて、ビットマ
ップデータへの変換に際し、出力すべき文字が文書の行
末にかかる場合には、一般的に、行末にかかる文字が行
内に入りきれるように、その行内の文字の間隔が縮小さ
れ、行末の文字を含めて、行末揃え処理が行われてい
た。
【0004】
【発明が解決しようとする課題】しかしながら上記従来
の文書作成装置では、行末に文字がかかると、その文字
がどのような文字であってもその文字を行内に入れ込
み、次の文字からは次の行の先頭に送られていたため、
行末に欧文の単語が来た場合には、無条件に単語が途中
で分割されてしまい、非常に見辛い出力結果しか得られ
ないという問題点を有していた。
の文書作成装置では、行末に文字がかかると、その文字
がどのような文字であってもその文字を行内に入れ込
み、次の文字からは次の行の先頭に送られていたため、
行末に欧文の単語が来た場合には、無条件に単語が途中
で分割されてしまい、非常に見辛い出力結果しか得られ
ないという問題点を有していた。
【0005】本発明は上記した問題点に鑑み、文書中に
欧文の単語が含まれていた場合に、行末の単語が不必要
に分割されることのない文書作成装置を提供することを
目的とする。
欧文の単語が含まれていた場合に、行末の単語が不必要
に分割されることのない文書作成装置を提供することを
目的とする。
【0006】
【課題を解決するための手段】本発明は上記した問題点
を解決するために、文字コード列と書式情報を有する文
書ファイルを記憶する文書メモリと、文書メモリに記憶
された文書ファイルに基づいて、文書を出力する出力手
段と、文書メモリに記憶された文書ファイルから、文字
コードを読みだし、同文書ファイル内の書式情報に基づ
いて、出力手段に文書を出力させる出力制御手段とを有
し、出力制御手段は、文書ファイルから読みだした文字
コードに対応する文字が、当該文書の行末にかかる場
合、当該文字が欧文の単語の一部であるか否かを判別す
る判別手段と、判別手段により、当該文字が欧文の単語
の一部ではないと判別された場合には、当該文字を行末
文字として行末揃え処理を行い、判別手段により当該文
字が欧文の単語の一部であると判別された場合には、当
該単語の前後において行末揃え処理を行う手段とを有す
る。
を解決するために、文字コード列と書式情報を有する文
書ファイルを記憶する文書メモリと、文書メモリに記憶
された文書ファイルに基づいて、文書を出力する出力手
段と、文書メモリに記憶された文書ファイルから、文字
コードを読みだし、同文書ファイル内の書式情報に基づ
いて、出力手段に文書を出力させる出力制御手段とを有
し、出力制御手段は、文書ファイルから読みだした文字
コードに対応する文字が、当該文書の行末にかかる場
合、当該文字が欧文の単語の一部であるか否かを判別す
る判別手段と、判別手段により、当該文字が欧文の単語
の一部ではないと判別された場合には、当該文字を行末
文字として行末揃え処理を行い、判別手段により当該文
字が欧文の単語の一部であると判別された場合には、当
該単語の前後において行末揃え処理を行う手段とを有す
る。
【0007】
【作用】本発明は上記手段により、行末にかかる文字が
欧文の単語内の文字でなければ、その文字の後ろで行末
揃えが行われ、行末にかかる文字が欧文の単語内の文字
であれば、その単語の前後で行末揃えが行われる。
欧文の単語内の文字でなければ、その文字の後ろで行末
揃えが行われ、行末にかかる文字が欧文の単語内の文字
であれば、その単語の前後で行末揃えが行われる。
【0008】
【実施例】以下、本発明に係る実施例について説明す
る。
る。
【0009】図1は、本発明の一実施例における文書作
成装置のブロック図であって、1は装置の制御やデータ
の処理等を行う中央演算処理装置(以下、CPUとい
う)、2はCPU1が処理を行うためのプログラム等を
記憶する読みだし専用メモリ(以下、ROMという)、
3はデータを記憶するためのランダムアクセスメモリ
(以下、RAMという)、4は文字出力に用いるフォン
トデータを記憶するフォントメモリ、5は様々なデータ
やユーザからの指示が入力されるキーボードやマウス等
の入力部、6は出力用のビットマップデータを記憶する
イメージメモリ、7はイメージメモリ6内のビットマッ
プデータを表示するディスプレイ装置、8は同じくビッ
トマップデータを印字出力するプリンタである。
成装置のブロック図であって、1は装置の制御やデータ
の処理等を行う中央演算処理装置(以下、CPUとい
う)、2はCPU1が処理を行うためのプログラム等を
記憶する読みだし専用メモリ(以下、ROMという)、
3はデータを記憶するためのランダムアクセスメモリ
(以下、RAMという)、4は文字出力に用いるフォン
トデータを記憶するフォントメモリ、5は様々なデータ
やユーザからの指示が入力されるキーボードやマウス等
の入力部、6は出力用のビットマップデータを記憶する
イメージメモリ、7はイメージメモリ6内のビットマッ
プデータを表示するディスプレイ装置、8は同じくビッ
トマップデータを印字出力するプリンタである。
【0010】以下、RAM3に記憶されるデータについ
て説明を行う。RAM3内には、図2に示すように、文
書ファイル、出力用データ、書体情報、スペース情報、
追込み可能量・追出し可能量、現在出力位置(x0,y0
)、次文字出力位置(x1, y1)、行カウンタl 、 txt
_point 、 out_point 、ch_start0、ch_start1、 l
_end0、 l_end1、point0、point1、sp_count 、ch_
count 、ch_ start_x 等のデータが記憶される。
て説明を行う。RAM3内には、図2に示すように、文
書ファイル、出力用データ、書体情報、スペース情報、
追込み可能量・追出し可能量、現在出力位置(x0,y0
)、次文字出力位置(x1, y1)、行カウンタl 、 txt
_point 、 out_point 、ch_start0、ch_start1、 l
_end0、 l_end1、point0、point1、sp_count 、ch_
count 、ch_ start_x 等のデータが記憶される。
【0011】文書ファイルは、図3に示すように、文書
を構成する文字の文字コード列からなるテキストと、テ
キストを出力する際の書式データを有する。又、書式デ
ータは、具体的には、文字サイズ、文字送り量、行送り
量、書体名、用紙サイズ、頁位置、頁幅、頁高等のデー
タを有する。ここでいう頁位置とは、用紙サイズによっ
て定まる出力用紙内に定義される頁(つまり、データが
出力される出力領域)の、用紙の左上の点を基準とした
位置を意味する。文字等の出力位置は、この頁位置に対
する相対座標で表され、実際の出力に際して、その座標
は用紙を基準とした座標に変換される。本実施例では、
以下、相対座標から用紙を基準とした座標への変換につ
いては説明を省略する。
を構成する文字の文字コード列からなるテキストと、テ
キストを出力する際の書式データを有する。又、書式デ
ータは、具体的には、文字サイズ、文字送り量、行送り
量、書体名、用紙サイズ、頁位置、頁幅、頁高等のデー
タを有する。ここでいう頁位置とは、用紙サイズによっ
て定まる出力用紙内に定義される頁(つまり、データが
出力される出力領域)の、用紙の左上の点を基準とした
位置を意味する。文字等の出力位置は、この頁位置に対
する相対座標で表され、実際の出力に際して、その座標
は用紙を基準とした座標に変換される。本実施例では、
以下、相対座標から用紙を基準とした座標への変換につ
いては説明を省略する。
【0012】出力用データは、上述した文書ファイルが
変換されるもので、図4に示すように、文字コード列か
らなる出力用テキスト、出力用書式データ、行管理情報
等から構成されている。出力用書式データは、出力用テ
キスト内の各文字に対する出力位置や書体名を有する。
出力用書式データ内における各文字ごとのデータ量は決
まっているので、ある文字が出力用テキスト内の何文字
目に記憶されているかがわかると、その文字に対する出
力用書式データは容易に取得される。又、行管理情報
は、出力用テキストデータ内の文字列が出力された場
合、各行の最終文字が、出力用テキストデータ内の何文
字目であるかを記憶する。この行管理情報には、第0行
目の最終文字位置として、“0”があらかじめ設定され
ている。
変換されるもので、図4に示すように、文字コード列か
らなる出力用テキスト、出力用書式データ、行管理情報
等から構成されている。出力用書式データは、出力用テ
キスト内の各文字に対する出力位置や書体名を有する。
出力用書式データ内における各文字ごとのデータ量は決
まっているので、ある文字が出力用テキスト内の何文字
目に記憶されているかがわかると、その文字に対する出
力用書式データは容易に取得される。又、行管理情報
は、出力用テキストデータ内の文字列が出力された場
合、各行の最終文字が、出力用テキストデータ内の何文
字目であるかを記憶する。この行管理情報には、第0行
目の最終文字位置として、“0”があらかじめ設定され
ている。
【0013】書体情報は、図5に示すように、英文字が
それぞれ固有に持つ文字幅と、文字高を書体名毎に記憶
している。英文の場合、書体によって文字幅が異なる。
又、同じ書体であっても、文字毎にその文字幅が異なっ
ている。例えば、“A”という文字と“I”という文字
では、“A”は文字幅が広く、“I”は“A”に比べて
文字幅が狭い。故にこのような書体情報が必要となる。
それぞれ固有に持つ文字幅と、文字高を書体名毎に記憶
している。英文の場合、書体によって文字幅が異なる。
又、同じ書体であっても、文字毎にその文字幅が異なっ
ている。例えば、“A”という文字と“I”という文字
では、“A”は文字幅が広く、“I”は“A”に比べて
文字幅が狭い。故にこのような書体情報が必要となる。
【0014】追込み可能量と追出し可能量は、ユーザに
よって指定される実変数である。ここでいう追込み・追
出しとは、欧文の出力に際して、単語が行末にかかった
場合に、行内の他の単語間を詰めて、行末にかかる単語
の後ろで行末揃えを行い、その単語をその行に出力して
しまう処理(追込み)と、その単語を次の行に出力し
て、もとの行内の他の単語間を広げて行末揃えを行う処
理(追出し)のことをいう。追込み可能量とは、行末に
かかる単語の行末からはみ出す部分の長さがこの量より
も小さければ追込みを行うという、追込み処理の基準と
なる値であり、又、追出し可能量とは、行末にかかる単
語の行内に入る部分の長さがこの量よりも小さければ追
出しを行うという、追出し処理の基準となる値である。
本実施例のように追込み可能量と追出し可能量を実変数
とするのではなく、文字数で定義することも考えられる
が、英文字の場合には、文字によって文字幅のばらつき
が大きく、例えば“HAWAII”という単語と、“T
OKYO”という単語では、追込み可能量を2文字と指
定していれば、“II”の部分と“YO”の部分で実際
の幅がまったく異なるにもかかわらず、どちらの単語も
追込み処理が行われる。つまり、“TOKYO”の場合
の方が大きく字詰めを行う必要があるので、その行は
“HAWAII”の行よりも詰まった感じがして、全体
として文書のバランスが損なわれる。本実施例のよう
に、追込み・追出し可能量を実変数で定義することによ
り、追込みや追出し処理を行った際の、各行間での欧文
のバランスを損なうことなくきれいな出力を得ることが
できる。
よって指定される実変数である。ここでいう追込み・追
出しとは、欧文の出力に際して、単語が行末にかかった
場合に、行内の他の単語間を詰めて、行末にかかる単語
の後ろで行末揃えを行い、その単語をその行に出力して
しまう処理(追込み)と、その単語を次の行に出力し
て、もとの行内の他の単語間を広げて行末揃えを行う処
理(追出し)のことをいう。追込み可能量とは、行末に
かかる単語の行末からはみ出す部分の長さがこの量より
も小さければ追込みを行うという、追込み処理の基準と
なる値であり、又、追出し可能量とは、行末にかかる単
語の行内に入る部分の長さがこの量よりも小さければ追
出しを行うという、追出し処理の基準となる値である。
本実施例のように追込み可能量と追出し可能量を実変数
とするのではなく、文字数で定義することも考えられる
が、英文字の場合には、文字によって文字幅のばらつき
が大きく、例えば“HAWAII”という単語と、“T
OKYO”という単語では、追込み可能量を2文字と指
定していれば、“II”の部分と“YO”の部分で実際
の幅がまったく異なるにもかかわらず、どちらの単語も
追込み処理が行われる。つまり、“TOKYO”の場合
の方が大きく字詰めを行う必要があるので、その行は
“HAWAII”の行よりも詰まった感じがして、全体
として文書のバランスが損なわれる。本実施例のよう
に、追込み・追出し可能量を実変数で定義することによ
り、追込みや追出し処理を行った際の、各行間での欧文
のバランスを損なうことなくきれいな出力を得ることが
できる。
【0015】現在出力位置(x0,y0)は、文書ファ
イル内のテキストから読み出される文字を出力するため
の位置情報で、文字幅や行送り量にって1文字毎に計算
され、これをもとにして出力用書式データの出力位置が
設定される。又、次文字出力位置(x1,y1)は、現
在出力位置をもとに算出されるデータで、処理中の文字
の次の文字が出力されるべき位置を表す。文字の出力の
際には、指定された文字コード・書体名に応じたフォン
トデータが、フォントメモリ4から読み出され、図26
に示すように、フォントデータの左上の点を基準とし
て、その文書の式に従って算出された位置に出力され
る。
イル内のテキストから読み出される文字を出力するため
の位置情報で、文字幅や行送り量にって1文字毎に計算
され、これをもとにして出力用書式データの出力位置が
設定される。又、次文字出力位置(x1,y1)は、現
在出力位置をもとに算出されるデータで、処理中の文字
の次の文字が出力されるべき位置を表す。文字の出力の
際には、指定された文字コード・書体名に応じたフォン
トデータが、フォントメモリ4から読み出され、図26
に示すように、フォントデータの左上の点を基準とし
て、その文書の式に従って算出された位置に出力され
る。
【0016】行カウンタlは、文書中の何行目の処理が
行われているかを示すデータである。
行われているかを示すデータである。
【0017】txt _point は、文書ファイル中のテキス
ト内へのポインタ、又、 out_point は、出力用データ
中の出力用テキスト内へのポインタである。これらの値
は、テキスト及び出力用テキストの先頭から何文字目か
を表すデータであって、テキスト及び出力用テキストへ
のアクセスは、これらのポインタと別途保持されるテキ
ストや出力用テキストの先頭アドレス(特に図示せず)
とを用いて行われる。
ト内へのポインタ、又、 out_point は、出力用データ
中の出力用テキスト内へのポインタである。これらの値
は、テキスト及び出力用テキストの先頭から何文字目か
を表すデータであって、テキスト及び出力用テキストへ
のアクセスは、これらのポインタと別途保持されるテキ
ストや出力用テキストの先頭アドレス(特に図示せず)
とを用いて行われる。
【0018】ch_start0・ch_start1・ l_end0・ l_
end1・point0・point1は、特定の処理が行われた場合
に、上記した txt_point 及び out_point を記憶して
おく変数である。又、sp_count は、行内のスペースの
数を数えるためのカウンタ、ch_ start_x は、出力用
データから読み出された文字の出力位置情報を一時記憶
する変数である。
end1・point0・point1は、特定の処理が行われた場合
に、上記した txt_point 及び out_point を記憶して
おく変数である。又、sp_count は、行内のスペースの
数を数えるためのカウンタ、ch_ start_x は、出力用
データから読み出された文字の出力位置情報を一時記憶
する変数である。
【0019】RAM3内には、これらのデータ以外にも
様々なデータが記憶されるが、それについては、以下、
必要に応じて詳細に説明を行うこととする。
様々なデータが記憶されるが、それについては、以下、
必要に応じて詳細に説明を行うこととする。
【0020】以上のように構成された本実施例の文書作
成装置について、以下、その動作を説明する。
成装置について、以下、その動作を説明する。
【0021】CPU1は、RAM3内の文書ファイルを
出力用データに変換し、出力用データから1文字ずつデ
ータを読み、その文字に対応するフォントをフォントメ
モリ4から読みだして、文字の出力位置に基づいて、イ
メージメモリ6内にフォントを書きこむ。イメージメモ
リ6内のデータは、ディスプレイ7又はプリンタ8へと
出力される。
出力用データに変換し、出力用データから1文字ずつデ
ータを読み、その文字に対応するフォントをフォントメ
モリ4から読みだして、文字の出力位置に基づいて、イ
メージメモリ6内にフォントを書きこむ。イメージメモ
リ6内のデータは、ディスプレイ7又はプリンタ8へと
出力される。
【0022】以下、図6から図20のフローチャートを
用いて詳細な動作説明を行う。 (1)追込み可能量・追出し可能量の指定 先ず、ステップ1において、CPU1は入力部5から追
込み可能量の入力が行われるのを待ち、入力が行われる
と、入力された値を追込み可能量としてRAM3に書き
込む。次に、ステップ3において、今度は追出し可能量
の入力待ち状態となり、入力が行われると、ステップ4
において、入力された値を追出し可能量としてRAM3
に書き込む。
用いて詳細な動作説明を行う。 (1)追込み可能量・追出し可能量の指定 先ず、ステップ1において、CPU1は入力部5から追
込み可能量の入力が行われるのを待ち、入力が行われる
と、入力された値を追込み可能量としてRAM3に書き
込む。次に、ステップ3において、今度は追出し可能量
の入力待ち状態となり、入力が行われると、ステップ4
において、入力された値を追出し可能量としてRAM3
に書き込む。
【0023】本実施例では、追込み可能量と追出し可能
量は、ミリ単位で定義され、最少0.1間隔で設定可能
である。
量は、ミリ単位で定義され、最少0.1間隔で設定可能
である。
【0024】(2)文書ファイルから出力用データへの
変換 先ず、ステップ11において、現在出力位置(x0,y
0)が(0,0)に初期化される。続いて、ステップ1
2において、行カウンタlが1に初期化される。更に、
ステップ13及びステップ14において、 txt_point
と out_pointがそれぞれ1に初期化される。
変換 先ず、ステップ11において、現在出力位置(x0,y
0)が(0,0)に初期化される。続いて、ステップ1
2において、行カウンタlが1に初期化される。更に、
ステップ13及びステップ14において、 txt_point
と out_pointがそれぞれ1に初期化される。
【0025】所定の初期化が終わると、CPU1は、ス
テップ15において、文書ファイル内のテキストから t
xt_point が指示する文字コードを1文字分読み出す。
読み出した文字コードが改行コードであった場合には、
処理はステップ181へ、又、改行コードではなかった
場合には、処理はステップ17へと移行する。更にステ
ップ17において、読み取った文字コードがテキストの
終了を示すコード(EOF)かどうかが調べられ、EO
Fであれば処理は終了し、EOFでなければ処理はステ
ップ18へと移行する。
テップ15において、文書ファイル内のテキストから t
xt_point が指示する文字コードを1文字分読み出す。
読み出した文字コードが改行コードであった場合には、
処理はステップ181へ、又、改行コードではなかった
場合には、処理はステップ17へと移行する。更にステ
ップ17において、読み取った文字コードがテキストの
終了を示すコード(EOF)かどうかが調べられ、EO
Fであれば処理は終了し、EOFでなければ処理はステ
ップ18へと移行する。
【0026】CPU1は、ステップ15でテキストから
読み出した文字コードが、和文対象文字であるか(ステ
ップ18)、英文対象文字であるか(ステップ20)、
又、スペースであるか(ステップ22)を調べる。そし
て、和文対象文字であればステップ19において、文書
ファイル内の書式データから文字幅(=文字サイズ)
を、英文対象文字であればステップ21において、書体
情報からその文字の文字幅を(書式データ内の書体名と
その文字コードによって特定される)、又、スペースで
あればステップ23において、文書ファイル内の書式デ
ータからスペース幅(文字サイズ)(全角スペースの場
合は、書式データ内の文字サイズ、1/2スペースの場
合は文字サイズの1/2、1/3スペースの場合は文字
サイズの1/3となる)を取得する。英文対象文字と
は、図27に示すように英数字・アルファベット(大文
字・小文字)・その他記号のことである。又、スペース
は、全角スペース・1/2スペース・1/3スペースの
ことで、和文対象文字とは、英文対象文字・スペースの
いづれにも属さない文字のことである(スペースは、本
実施例のように3種類に限定されるものではなく、文字
コードを割り当てることができれば、更に1/4スペー
ス等種類を増やすことも可能である)。英文対象文字
は、図22に示すように、文字ごとに異なる文字幅を有
し、その出力に際して、字送り量は文字ごとの文字幅が
用いられるのに対して、和文対象文字は、同図に示すよ
うに、同じ文字サイズであれば文字幅は一定(文字サイ
ズに等しい)で、その出力に際して、字送り量は文書フ
ァイルの書式データに定義されている文字送り量が用い
られる。尚、本実施例では、英文を和文と区別して取り
扱っているが、これは独文や仏文であってもよい。
読み出した文字コードが、和文対象文字であるか(ステ
ップ18)、英文対象文字であるか(ステップ20)、
又、スペースであるか(ステップ22)を調べる。そし
て、和文対象文字であればステップ19において、文書
ファイル内の書式データから文字幅(=文字サイズ)
を、英文対象文字であればステップ21において、書体
情報からその文字の文字幅を(書式データ内の書体名と
その文字コードによって特定される)、又、スペースで
あればステップ23において、文書ファイル内の書式デ
ータからスペース幅(文字サイズ)(全角スペースの場
合は、書式データ内の文字サイズ、1/2スペースの場
合は文字サイズの1/2、1/3スペースの場合は文字
サイズの1/3となる)を取得する。英文対象文字と
は、図27に示すように英数字・アルファベット(大文
字・小文字)・その他記号のことである。又、スペース
は、全角スペース・1/2スペース・1/3スペースの
ことで、和文対象文字とは、英文対象文字・スペースの
いづれにも属さない文字のことである(スペースは、本
実施例のように3種類に限定されるものではなく、文字
コードを割り当てることができれば、更に1/4スペー
ス等種類を増やすことも可能である)。英文対象文字
は、図22に示すように、文字ごとに異なる文字幅を有
し、その出力に際して、字送り量は文字ごとの文字幅が
用いられるのに対して、和文対象文字は、同図に示すよ
うに、同じ文字サイズであれば文字幅は一定(文字サイ
ズに等しい)で、その出力に際して、字送り量は文書フ
ァイルの書式データに定義されている文字送り量が用い
られる。尚、本実施例では、英文を和文と区別して取り
扱っているが、これは独文や仏文であってもよい。
【0027】文字幅の取得後、ステップ24において、
CPU1は、次文字出力位置x1を算出する。次文字出
力位置x1は、現在出力位置x0にステップ19・ステ
ップ21・ステップ23で取得した文字幅を加えること
によって求まる。次文字出力位置x1が算出されると、
ステップ25において、ステップ15で読み出された文
字が行内(頁内)に入りきるかどうかが調べられる。実
際には、x1と文書中の書式データに定義されている頁
幅との大小比較が行われ、x1の方が大きい場合には、
文字が行からはみ出すとして処理はステップ31へと移
行し、x1の方が小さい場合には、文字が行内に入ると
して処理はステップ41へと移行する。このことを図示
してより具体的に説明すると、図21に示すように、次
文字出力位置x1は次に読み出される文字が出力される
べき位置情報であると同時に、現在処理されている文字
の終端位置情報でもあることがわかる。即ち、この次文
字出力位置x1が行末よりも後ろにあれば(x1>頁
幅)、その文字は行内に入らないし、次文字出力位置x
1が行末よりも前にあれば(x1≦頁幅)、その文字は
行内に入る。
CPU1は、次文字出力位置x1を算出する。次文字出
力位置x1は、現在出力位置x0にステップ19・ステ
ップ21・ステップ23で取得した文字幅を加えること
によって求まる。次文字出力位置x1が算出されると、
ステップ25において、ステップ15で読み出された文
字が行内(頁内)に入りきるかどうかが調べられる。実
際には、x1と文書中の書式データに定義されている頁
幅との大小比較が行われ、x1の方が大きい場合には、
文字が行からはみ出すとして処理はステップ31へと移
行し、x1の方が小さい場合には、文字が行内に入ると
して処理はステップ41へと移行する。このことを図示
してより具体的に説明すると、図21に示すように、次
文字出力位置x1は次に読み出される文字が出力される
べき位置情報であると同時に、現在処理されている文字
の終端位置情報でもあることがわかる。即ち、この次文
字出力位置x1が行末よりも後ろにあれば(x1>頁
幅)、その文字は行内に入らないし、次文字出力位置x
1が行末よりも前にあれば(x1≦頁幅)、その文字は
行内に入る。
【0028】ステップ15で読み出された文字が行内に
入る場合には、ステップ41において、先ず、その文字
の文字コードが出力用データの出力用テキストに書き込
まれる( out_point が指示する位置)。次に、ステッ
プ42において、現在出力位置(x0,y0)が、ステ
ップ41で書き込まれた文字コードに対応付けられて、
出力用書式データに書き込まれる。更に、ステップ43
において、文書ファイル内に定義されている書体名が、
現在出力位置(x0,y0)と同様に出力用書式データ
に書き込まれる。ステップ43までの処理によって、1
文字分のデータの変換が終了することになる。
入る場合には、ステップ41において、先ず、その文字
の文字コードが出力用データの出力用テキストに書き込
まれる( out_point が指示する位置)。次に、ステッ
プ42において、現在出力位置(x0,y0)が、ステ
ップ41で書き込まれた文字コードに対応付けられて、
出力用書式データに書き込まれる。更に、ステップ43
において、文書ファイル内に定義されている書体名が、
現在出力位置(x0,y0)と同様に出力用書式データ
に書き込まれる。ステップ43までの処理によって、1
文字分のデータの変換が終了することになる。
【0029】1文字分のデータ変換が終わると、ステッ
プ44において、現在出力位置x0の値が、次文字出力
位置x1の値に書き換えられる。ここで、ステップ45
において、ステップ41で出力用テキストに書き込まれ
た文字コードがスペースコードであったかどうかが調べ
られ( out_point が用いられる)、スペースコードで
あったならば、ステップ46及びステップ47の処理が
行われ、スペースコードではなかったならば、それらの
処理は行われない。
プ44において、現在出力位置x0の値が、次文字出力
位置x1の値に書き換えられる。ここで、ステップ45
において、ステップ41で出力用テキストに書き込まれ
た文字コードがスペースコードであったかどうかが調べ
られ( out_point が用いられる)、スペースコードで
あったならば、ステップ46及びステップ47の処理が
行われ、スペースコードではなかったならば、それらの
処理は行われない。
【0030】ステップ46においては、RAM3内のch
_start0へ、 txt_point に1を加えた値が設定され、
ステップ47においては、RAM3内のch_start1へ、
out_point に1を加えた値が設定される。単語間は、
スペースによって区切られるため、文書作成装置におい
ては、スペースによって挟まれる英文字列を1つの単語
として認識する。従って、単語の始まりには、必ずスペ
ースが存在するものであり、ステップ46及びステップ
47の処理では、単語の開始位置を保持しておこうとす
るものである。
_start0へ、 txt_point に1を加えた値が設定され、
ステップ47においては、RAM3内のch_start1へ、
out_point に1を加えた値が設定される。単語間は、
スペースによって区切られるため、文書作成装置におい
ては、スペースによって挟まれる英文字列を1つの単語
として認識する。従って、単語の始まりには、必ずスペ
ースが存在するものであり、ステップ46及びステップ
47の処理では、単語の開始位置を保持しておこうとす
るものである。
【0031】以上、ステップ15からステップ47まで
の処理を経た後に、ステップ48及びステップ49にお
いて、 txt_point と out_point の値がそれぞれ+1
更新されて(次の文字を指示する)、処理はステップ1
5に戻る。
の処理を経た後に、ステップ48及びステップ49にお
いて、 txt_point と out_point の値がそれぞれ+1
更新されて(次の文字を指示する)、処理はステップ1
5に戻る。
【0032】ステップ15からステップ49までの処理
は、文字が行末にかかるまで繰り返されるわけだが、次
に、文字が行末にかかる場合の処理について説明する。
は、文字が行末にかかるまで繰り返されるわけだが、次
に、文字が行末にかかる場合の処理について説明する。
【0033】ステップ25において、ステップ15で文
書ファイル内のテキストから読み出した文字が行内に入
りきれないとされた場合(x1>頁幅である)、ステッ
プ31、ステップ32において、現在の txt_point と
out_point の値が、それぞれ l_end0と l_end1に設
定された後、ステップ41からステップ43までの処理
と同様にして、出力用データへのデータの書き込みが行
われる。出力用データへのデータの書き込み後、ステッ
プ36において、ステップ15で読み取られた文字が英
文対象文字であるかどうかが調べられる。その結果、そ
の文字が英文対象文字であった場合には、ステップ37
において、現在出力位置x0へ次文字出力位置x1の値
が設定された後、ステップ81以降、行末にかかった文
字が単語内の文字かどうかの判断が行われ、英文対象文
字ではなかった場合には、行末は和文対象文字であると
して、ステップ51以降、行末の文字を行内に追込む処
理が行われる。
書ファイル内のテキストから読み出した文字が行内に入
りきれないとされた場合(x1>頁幅である)、ステッ
プ31、ステップ32において、現在の txt_point と
out_point の値が、それぞれ l_end0と l_end1に設
定された後、ステップ41からステップ43までの処理
と同様にして、出力用データへのデータの書き込みが行
われる。出力用データへのデータの書き込み後、ステッ
プ36において、ステップ15で読み取られた文字が英
文対象文字であるかどうかが調べられる。その結果、そ
の文字が英文対象文字であった場合には、ステップ37
において、現在出力位置x0へ次文字出力位置x1の値
が設定された後、ステップ81以降、行末にかかった文
字が単語内の文字かどうかの判断が行われ、英文対象文
字ではなかった場合には、行末は和文対象文字であると
して、ステップ51以降、行末の文字を行内に追込む処
理が行われる。
【0034】先ず、ステップ51以降の処理について説
明する。ステップ51において、処理対象行内のスペー
スの数(sp_count )がカウントされる。同様に、ステ
ップ52において、和文対象文字の数(ch_count )が
カウントされる。次に、ステップ53において、追込み
量が算出され、ステップ54において、詰め量(文字間
やスペースを縮小して、行末にかかる文字や単語を行内
に追込むための量)が算出される。この場合の追込み量
は、(x0+文字サイズ−頁幅)によって求められる。
追込み量は、行末にかかる文字が行末からはみ出す長さ
のことであり、現在出力位置x0は、ステップ24で行
末にかかる文字の出力位置に設定されているため、図2
2から明らかなように、追込み量は上記式で求められ
る。又、詰め量は、ステップ53で求められた追込み量
を、行内において行末にかかる文字より前の和文対象文
字の文字数と、スペースの数の合計で割ったものであ
る。この詰め量を用いて行内での字詰めを行うことによ
り、和文対象文字の字送り量とスペースとを均等に縮小
し、行末にかかる文字を行内に追込むことができる。
明する。ステップ51において、処理対象行内のスペー
スの数(sp_count )がカウントされる。同様に、ステ
ップ52において、和文対象文字の数(ch_count )が
カウントされる。次に、ステップ53において、追込み
量が算出され、ステップ54において、詰め量(文字間
やスペースを縮小して、行末にかかる文字や単語を行内
に追込むための量)が算出される。この場合の追込み量
は、(x0+文字サイズ−頁幅)によって求められる。
追込み量は、行末にかかる文字が行末からはみ出す長さ
のことであり、現在出力位置x0は、ステップ24で行
末にかかる文字の出力位置に設定されているため、図2
2から明らかなように、追込み量は上記式で求められ
る。又、詰め量は、ステップ53で求められた追込み量
を、行内において行末にかかる文字より前の和文対象文
字の文字数と、スペースの数の合計で割ったものであ
る。この詰め量を用いて行内での字詰めを行うことによ
り、和文対象文字の字送り量とスペースとを均等に縮小
し、行末にかかる文字を行内に追込むことができる。
【0035】ここで、ステップ51におけるスペースの
カウント処理について、図14を用いて説明する。
カウント処理について、図14を用いて説明する。
【0036】この処理に当たり、先ず、ステップ101
において、 txt_point に l_end0から1を減じた値が
設定され(これにより、 txt_point は行末にかかる文
字の直前の文字を指示することになる)、ステップ10
2において、RAM3内のスペースカウンタsp_count
が0に設定される。それから、ステップ103におい
て、文書ファイル内のテキストから1文字読み出され
て、ステップ104において、読み出された文字がスペ
ースであるかどうかの判断が行われて、スペースであれ
ばステップ105において、sp_count の値が+1更新
される。ステップ103からステップ105の処理は、
ステップ106において txt_point の値が減じられな
がら、 txt_point の値が(l−1)行目の最終文字位
置と等しくなるまで繰り返される。(l−1)行目の最
終文字位置は、出力用データ中の行管理情報を、行カウ
ンタlの値を用いて参照することによって得られる。も
し、処理中の行が第1行目であった場合には、第0行目
の最終文字位置0が得られることになる。
において、 txt_point に l_end0から1を減じた値が
設定され(これにより、 txt_point は行末にかかる文
字の直前の文字を指示することになる)、ステップ10
2において、RAM3内のスペースカウンタsp_count
が0に設定される。それから、ステップ103におい
て、文書ファイル内のテキストから1文字読み出され
て、ステップ104において、読み出された文字がスペ
ースであるかどうかの判断が行われて、スペースであれ
ばステップ105において、sp_count の値が+1更新
される。ステップ103からステップ105の処理は、
ステップ106において txt_point の値が減じられな
がら、 txt_point の値が(l−1)行目の最終文字位
置と等しくなるまで繰り返される。(l−1)行目の最
終文字位置は、出力用データ中の行管理情報を、行カウ
ンタlの値を用いて参照することによって得られる。も
し、処理中の行が第1行目であった場合には、第0行目
の最終文字位置0が得られることになる。
【0037】次に、ステップ52における和文対象文字
の数のカウント処理について、図15のフローチャート
を用いて説明する。
の数のカウント処理について、図15のフローチャート
を用いて説明する。
【0038】この処理に当たり、先ず、ステップ111
において、 txt_point に l_end0から1を減じた値が
設定され(これにより txt_point は、行末にかかる文
字の直前の文字を指示することになる)、ステップ11
2において、RAM3内の文字カウンタch_count が0
に設定される。それから、ステップ113において、読
み出された文字が和文対象文字であるかどうかの判断が
行われ、和文対象文字であればステップ115におい
て、ch_count の値が+1更新される。ステップ113
からステップ115の処理は、ステップ116におい
て、 txt_point の値が減じられながら、 txt_point
の値が(l−1)行目の最終文字位置と等しくなるまで
繰り返される。
において、 txt_point に l_end0から1を減じた値が
設定され(これにより txt_point は、行末にかかる文
字の直前の文字を指示することになる)、ステップ11
2において、RAM3内の文字カウンタch_count が0
に設定される。それから、ステップ113において、読
み出された文字が和文対象文字であるかどうかの判断が
行われ、和文対象文字であればステップ115におい
て、ch_count の値が+1更新される。ステップ113
からステップ115の処理は、ステップ116におい
て、 txt_point の値が減じられながら、 txt_point
の値が(l−1)行目の最終文字位置と等しくなるまで
繰り返される。
【0039】ステップ54で詰め量が算出された後、図
11に示すように、スペースによる字詰めが行われる。
11に示すように、スペースによる字詰めが行われる。
【0040】先ず、ステップ61において、 out_poin
t へ(l−1)行目の最終文字位置に1を加えた値(そ
の行の先頭文字を指示する)が設定され、ステップ62
において、変数i(自然数)が0に初期化される。 out
_point と変数iの設定が終わると、ステップ63から
ステップ67の処理によって、出力用データの内、その
行内に出力される文字の出力位置(x座標)が変更され
る。即ちステップ63において、CPU1は、出力用デ
ータの出力用テキストから1文字読み出し、ステップ6
4において、読み出した文字に対応する出力用書式デー
タ内の出力位置(x座標)を、(詰め量×i)だけ減じ
て更新する。その後、ステップ65において、ステップ
63で読み出した文字がスペースであるか否かを調べ
て、スペースであった場合にのみ、ステップ66におい
て、変数iを+1更新する。
t へ(l−1)行目の最終文字位置に1を加えた値(そ
の行の先頭文字を指示する)が設定され、ステップ62
において、変数i(自然数)が0に初期化される。 out
_point と変数iの設定が終わると、ステップ63から
ステップ67の処理によって、出力用データの内、その
行内に出力される文字の出力位置(x座標)が変更され
る。即ちステップ63において、CPU1は、出力用デ
ータの出力用テキストから1文字読み出し、ステップ6
4において、読み出した文字に対応する出力用書式デー
タ内の出力位置(x座標)を、(詰め量×i)だけ減じ
て更新する。その後、ステップ65において、ステップ
63で読み出した文字がスペースであるか否かを調べ
て、スペースであった場合にのみ、ステップ66におい
て、変数iを+1更新する。
【0041】ステップ63からステップ66の処理は、
ステップ67において、 out_point の値を+1ずつ更
新しながら、 out_point の値が、RAM3内に記憶さ
れたl _end1に1を加えた値に等しくなるまで繰り返さ
れる。 l_end1は、行末にかかる文字の、出力用テキス
ト内における位置を指示しているので、ステップ63か
らステップ66の処理は、その行の行頭から行末にかか
る文字まで繰り返されることになる。
ステップ67において、 out_point の値を+1ずつ更
新しながら、 out_point の値が、RAM3内に記憶さ
れたl _end1に1を加えた値に等しくなるまで繰り返さ
れる。 l_end1は、行末にかかる文字の、出力用テキス
ト内における位置を指示しているので、ステップ63か
らステップ66の処理は、その行の行頭から行末にかか
る文字まで繰り返されることになる。
【0042】続いて、図12に示すように、和文対象文
字の字送りを詰めることによる字詰めが行われる。
字の字送りを詰めることによる字詰めが行われる。
【0043】先ず、ステップ71において、 out_poin
t へ(l−1)行目の最終文字位置に1を加えた値(そ
の行の先頭文字を指示する)が設定され、ステップ72
において、変数j(自然数)が0に初期化される。 out
_point と変数jの設定が終わると、ステップ73から
ステップ77の処理によって、出力用データの内、その
行内に出力される文字の出力位置(x座標)が変更され
る。即ちステップ73において、CPU1は、出力用デ
ータの出力用テキストから1文字読み出し、ステップ7
4において、読み出した文字に対応する出力用書式デー
タ内の出力位置(x座標)を、(詰め量×j)だけ減じ
て更新する。その後、ステップ75において、ステップ
73で読み出した文字がスペースであるか否かを調べ
て、スペースであった場合にのみ、ステップ76におい
て、変数jを+1更新する。
t へ(l−1)行目の最終文字位置に1を加えた値(そ
の行の先頭文字を指示する)が設定され、ステップ72
において、変数j(自然数)が0に初期化される。 out
_point と変数jの設定が終わると、ステップ73から
ステップ77の処理によって、出力用データの内、その
行内に出力される文字の出力位置(x座標)が変更され
る。即ちステップ73において、CPU1は、出力用デ
ータの出力用テキストから1文字読み出し、ステップ7
4において、読み出した文字に対応する出力用書式デー
タ内の出力位置(x座標)を、(詰め量×j)だけ減じ
て更新する。その後、ステップ75において、ステップ
73で読み出した文字がスペースであるか否かを調べ
て、スペースであった場合にのみ、ステップ76におい
て、変数jを+1更新する。
【0044】ステップ73からステップ76の処理は、
ステップ77において、 out_point の値を+1ずつ更
新しながら、 out_point の値が、RAM3内に記憶さ
れたl _end1に1を加えた値に等しくなるまで繰り返さ
れる。 l_end1は、行末にかかる文字の、出力用テキス
ト内における位置を指示しているので、ステップ73か
らステップ76の処理は、その行の行頭から行末にかか
る文字まで繰り返されることになる。
ステップ77において、 out_point の値を+1ずつ更
新しながら、 out_point の値が、RAM3内に記憶さ
れたl _end1に1を加えた値に等しくなるまで繰り返さ
れる。 l_end1は、行末にかかる文字の、出力用テキス
ト内における位置を指示しているので、ステップ73か
らステップ76の処理は、その行の行頭から行末にかか
る文字まで繰り返されることになる。
【0045】以上の処理により、行内の和文対象文字の
字送りと、スペースの幅が均等に縮小され、(即ち、行
末にかかる和文対象文字を含めて行末揃えが行われ)処
理は図20に示す改行処理へと移行する。尚、本実施例
のように、和文対象文字の字送りと、スペースの幅の両
方を均等に縮小することによって、和文対象文字間がつ
まり過ぎることを防ぐことができるが、スペースの幅を
変更せず、和文対象文字の送り量のみを縮小することも
可能である。
字送りと、スペースの幅が均等に縮小され、(即ち、行
末にかかる和文対象文字を含めて行末揃えが行われ)処
理は図20に示す改行処理へと移行する。尚、本実施例
のように、和文対象文字の字送りと、スペースの幅の両
方を均等に縮小することによって、和文対象文字間がつ
まり過ぎることを防ぐことができるが、スペースの幅を
変更せず、和文対象文字の送り量のみを縮小することも
可能である。
【0046】ここで、改行処理について説明する。先
ず、ステップ181において、出力用データ内の行管理
情報の第l行目の最終文字位置に、 out_point から1
を減じた値を設定され、ステップ182において、行カ
ウンタlが+1更新される。次に、ステップ183にお
いて、 txt_point の値が+1更新される。更に、ステ
ップ184において、現在出力位置y0に、文書ファイ
ル内の書式データに定義されている行送り量が加えら
れ、ステップ185において、現在出力位置x0に行頭
の位置0が設定された後、処理はステップ15へと戻
る。
ず、ステップ181において、出力用データ内の行管理
情報の第l行目の最終文字位置に、 out_point から1
を減じた値を設定され、ステップ182において、行カ
ウンタlが+1更新される。次に、ステップ183にお
いて、 txt_point の値が+1更新される。更に、ステ
ップ184において、現在出力位置y0に、文書ファイ
ル内の書式データに定義されている行送り量が加えら
れ、ステップ185において、現在出力位置x0に行頭
の位置0が設定された後、処理はステップ15へと戻
る。
【0047】ステップ36において、ステップ15で読
み出された文字が英文対象文字であると判断された場
合、ステップ37において、現在出力位置x0に次文字
出力位置x1の値が設定された後、ステップ81におい
て、 txt_point の値が−1更新され、ステップ82に
おいて、文書ファイル内のテキストから1文字読み出さ
れる。次に、ステップ83において、その文字が英文対
象文字であるかどうかが調べられ、英文対象文字であれ
ば処理はステップ81に戻る。英文対象文字でなければ
ステップ84において、その文字が和文対象文字である
かどうかが調べられ、和文対象文字であれば、行末にか
かる文字は単語内の文字ではないとして、処理はステッ
プ51へと移行し、和文対象文字でなければ処理は、ス
テップ85へと移行する。
み出された文字が英文対象文字であると判断された場
合、ステップ37において、現在出力位置x0に次文字
出力位置x1の値が設定された後、ステップ81におい
て、 txt_point の値が−1更新され、ステップ82に
おいて、文書ファイル内のテキストから1文字読み出さ
れる。次に、ステップ83において、その文字が英文対
象文字であるかどうかが調べられ、英文対象文字であれ
ば処理はステップ81に戻る。英文対象文字でなければ
ステップ84において、その文字が和文対象文字である
かどうかが調べられ、和文対象文字であれば、行末にか
かる文字は単語内の文字ではないとして、処理はステッ
プ51へと移行し、和文対象文字でなければ処理は、ス
テップ85へと移行する。
【0048】ステップ85では、 txt_point にl _en
d0の値が設定される。その後、ステップ86において、
txt _point の値が+1更新され、ステップ87におい
て、文書ファイル内のテキストから1文字読み出され
る。続いて、ステップ88において、その文字が英文対
象文字であるかどうかが調べられ、英文対象文字であれ
ば処理はステップ91へ、又、英文対象文字でなければ
処理はステップ89へと移行する。更に、ステップ89
では、その文字が和文対象文字かどうかが調べられ、和
文対象文字であれば、ステップ90において、 l_end1
によって指示される出力用テキスト内の文字(行末にか
かる文字)の出力位置xが、現在出力位置x0に設定さ
れた後、処理はステップ51へと移行し、和文対象文字
でなければ(即ち、スペースである場合)、処理はステ
ップ121へと移行する。
d0の値が設定される。その後、ステップ86において、
txt _point の値が+1更新され、ステップ87におい
て、文書ファイル内のテキストから1文字読み出され
る。続いて、ステップ88において、その文字が英文対
象文字であるかどうかが調べられ、英文対象文字であれ
ば処理はステップ91へ、又、英文対象文字でなければ
処理はステップ89へと移行する。更に、ステップ89
では、その文字が和文対象文字かどうかが調べられ、和
文対象文字であれば、ステップ90において、 l_end1
によって指示される出力用テキスト内の文字(行末にか
かる文字)の出力位置xが、現在出力位置x0に設定さ
れた後、処理はステップ51へと移行し、和文対象文字
でなければ(即ち、スペースである場合)、処理はステ
ップ121へと移行する。
【0049】ここで、ステップ91からの処理について
説明する。ステップ91では、 out_point の値が+1
更新される。次に、ステップ92において、ステップ8
7で読み出された文字とその書体名に基づき、書体情報
からその文字固有の文字幅が取得され、ステップ93に
おいて、次文字出力位置x1が算出される。そして、ス
テップ94・ステップ95・ステップ96において、文
字コード・現在出力位置(x0,y0)・書体名が出力
用データに書き込まれて、ステップ97において、現在
出力位置x0に次文字出力位置x1の値が設定された
後、処理はステップ86に戻る。即ち、ステップ86か
らステップ88までと、ステップ91からステップ97
までの処理が繰り返されることにより、行末にかかる単
語の行末移行の文字の出力用データが作成される。
説明する。ステップ91では、 out_point の値が+1
更新される。次に、ステップ92において、ステップ8
7で読み出された文字とその書体名に基づき、書体情報
からその文字固有の文字幅が取得され、ステップ93に
おいて、次文字出力位置x1が算出される。そして、ス
テップ94・ステップ95・ステップ96において、文
字コード・現在出力位置(x0,y0)・書体名が出力
用データに書き込まれて、ステップ97において、現在
出力位置x0に次文字出力位置x1の値が設定された
後、処理はステップ86に戻る。即ち、ステップ86か
らステップ88までと、ステップ91からステップ97
までの処理が繰り返されることにより、行末にかかる単
語の行末移行の文字の出力用データが作成される。
【0050】続いて、ステップ89において、ステップ
87で読み出された文字が和文対象文字ではないと判断
された場合の処理について説明する。
87で読み出された文字が和文対象文字ではないと判断
された場合の処理について説明する。
【0051】先ず、ステップ121において、RAM3
内のpoint0へ txt_point の値が、又、ステップ122
において、RAM3内のpoint1へ out_point の値がそ
れぞれ設定される。即ち、point0とpoint1は、行末から
はみ出す単語の最終文字の次の文字が記憶されるテキス
ト及び出力用テキスト内のポインタ値を記憶することに
なる。
内のpoint0へ txt_point の値が、又、ステップ122
において、RAM3内のpoint1へ out_point の値がそ
れぞれ設定される。即ち、point0とpoint1は、行末から
はみ出す単語の最終文字の次の文字が記憶されるテキス
ト及び出力用テキスト内のポインタ値を記憶することに
なる。
【0052】ステップ121及びステップ122の処理
の後、ステップ123において、追込み量が算出され、
ステップ124において、算出された追い込み量とRA
M3内に記憶されている追込み可能量との大小比較が行
われる。追込み量は、(x0−頁幅)によって求まる。
ステップ124の時点では、 txt_point はテキストか
ら最後に読み取った文字(スペース)の位置を、又、 o
ut_point は出力用テキストに最後に書き込みを行った
位置の次の書き込み位置(テキストから最後に読み取っ
た文字は、出力用テキストへは書き込まれていない)を
指示している。つまり、その時点での現在出力位置x0
は最後に読み取られた文字(スペース)が本来出力され
るべき位置であって、これは、その前の文字の終端位
置、即ち、行末からはみ出した単語の終端位置であっ
て、この値から頁幅をひけば単語がはみ出す量(=追込
み量)が求まるわけである。このことを具体的に図面を
用いて説明する。
の後、ステップ123において、追込み量が算出され、
ステップ124において、算出された追い込み量とRA
M3内に記憶されている追込み可能量との大小比較が行
われる。追込み量は、(x0−頁幅)によって求まる。
ステップ124の時点では、 txt_point はテキストか
ら最後に読み取った文字(スペース)の位置を、又、 o
ut_point は出力用テキストに最後に書き込みを行った
位置の次の書き込み位置(テキストから最後に読み取っ
た文字は、出力用テキストへは書き込まれていない)を
指示している。つまり、その時点での現在出力位置x0
は最後に読み取られた文字(スペース)が本来出力され
るべき位置であって、これは、その前の文字の終端位
置、即ち、行末からはみ出した単語の終端位置であっ
て、この値から頁幅をひけば単語がはみ出す量(=追込
み量)が求まるわけである。このことを具体的に図面を
用いて説明する。
【0053】図23において、今、morningとい
う単語が行末にかかり、この単語に続くスペースまで読
み出しが行われているものとする。この状態において、
RAM3内の文書ファイル内のテキスト、出力用データ
内の出力用テキスト・出力用書式、 txt_point 、 out
_point 、x0はそれぞれ図24に示すようになってい
る。即ち、x0は図23から明らかなように、スペース
が本来出力されるべき位置 ch3_x であり、この値から
頁幅をひいた値が、追込み量となる。
う単語が行末にかかり、この単語に続くスペースまで読
み出しが行われているものとする。この状態において、
RAM3内の文書ファイル内のテキスト、出力用データ
内の出力用テキスト・出力用書式、 txt_point 、 out
_point 、x0はそれぞれ図24に示すようになってい
る。即ち、x0は図23から明らかなように、スペース
が本来出力されるべき位置 ch3_x であり、この値から
頁幅をひいた値が、追込み量となる。
【0054】ステップ124において、RAM3に記憶
された追込み可能量と、ステップ123で算出した追込
み量との大小比較が行われた結果、追込み可能量の方が
大きかった場合(追込み量が追込み可能領内であった場
合)、ステップ125以降の処理が行われる。
された追込み可能量と、ステップ123で算出した追込
み量との大小比較が行われた結果、追込み可能量の方が
大きかった場合(追込み量が追込み可能領内であった場
合)、ステップ125以降の処理が行われる。
【0055】先ず、ステップ125で処理中の行内にお
ける行末にかかる単語より前のスペースの数がカウント
される(図14、ステップ101からステップ10
7)。この結果をもとにしてステップ126において、
実際にどのくらい追込みが可能なのかを示す追込み可能
最大量が求められ、ステップ127において、追込み量
と追込み最大可能量の大小比較によって、本当に追込み
が可能か否かが調べられる。即ち、追込み量が追込み最
大可能量よりも小さければ、ステップ128において、
追込み処理が行われ、大きければ、追込み処理は行われ
ずに処理はステップ131へと移行する。ステップ12
8における追い込み処理の後には、ステップ129にお
いて、 txt_point にRAM3内に記憶されているpoin
t0の値が設定されて、処理はステップ181へと移行す
る。
ける行末にかかる単語より前のスペースの数がカウント
される(図14、ステップ101からステップ10
7)。この結果をもとにしてステップ126において、
実際にどのくらい追込みが可能なのかを示す追込み可能
最大量が求められ、ステップ127において、追込み量
と追込み最大可能量の大小比較によって、本当に追込み
が可能か否かが調べられる。即ち、追込み量が追込み最
大可能量よりも小さければ、ステップ128において、
追込み処理が行われ、大きければ、追込み処理は行われ
ずに処理はステップ131へと移行する。ステップ12
8における追い込み処理の後には、ステップ129にお
いて、 txt_point にRAM3内に記憶されているpoin
t0の値が設定されて、処理はステップ181へと移行す
る。
【0056】ステップ126においては、 (sp_count )×(全角スペースサイズ)×(1/1
2) という計算によって、追込み可能最大量が算出される。
欧文の文字(単語)詰めは、無条件に文字間のスペース
を詰めてよいわけではなく、最大でもスペースの1/4
までなら、文字間のバランスを損なうことがないと一般
的に言われている。本実施例では、3種類のスペースに
対応していることから、1つのスペースにおける最大の
詰め量を1/3スペースの1/4、即ち全角スペースの
1/12と定める。それぞれのスペースにたいして、そ
の1/12だけ詰め量を設定する方法も考えられるが、
その場合には、スペースの大きい部分では大きく詰めら
れ、又、スペースの小さい部分では比較的に少量しか詰
められず、結果的に各スペースの大きさに差異がなくな
ってしまい、文書の作成者が意図的に異ならせた文字間
のスペースの大きさのバランスが崩れてしまう。本実施
例のように、各スペースにおける詰め量を均等とし、し
かもその上限値を最少のスペースサイズを基準に定めて
いれば、文字間のバランスを損なうことなく、しかも、
部分的に詰まりすぎて文書が見づらくなるようなことも
ない。
2) という計算によって、追込み可能最大量が算出される。
欧文の文字(単語)詰めは、無条件に文字間のスペース
を詰めてよいわけではなく、最大でもスペースの1/4
までなら、文字間のバランスを損なうことがないと一般
的に言われている。本実施例では、3種類のスペースに
対応していることから、1つのスペースにおける最大の
詰め量を1/3スペースの1/4、即ち全角スペースの
1/12と定める。それぞれのスペースにたいして、そ
の1/12だけ詰め量を設定する方法も考えられるが、
その場合には、スペースの大きい部分では大きく詰めら
れ、又、スペースの小さい部分では比較的に少量しか詰
められず、結果的に各スペースの大きさに差異がなくな
ってしまい、文書の作成者が意図的に異ならせた文字間
のスペースの大きさのバランスが崩れてしまう。本実施
例のように、各スペースにおける詰め量を均等とし、し
かもその上限値を最少のスペースサイズを基準に定めて
いれば、文字間のバランスを損なうことなく、しかも、
部分的に詰まりすぎて文書が見づらくなるようなことも
ない。
【0057】次に、ステップ128における追込み処理
について、図18のフローチャートを用いて説明する。
について、図18のフローチャートを用いて説明する。
【0058】追込みは、行内において行末からはみ出す
単語よりも前にあるスペースを均等に縮小して(詰め
る)、その単語の後ろで行末揃えすることによって行わ
れる。
単語よりも前にあるスペースを均等に縮小して(詰め
る)、その単語の後ろで行末揃えすることによって行わ
れる。
【0059】先ず、ステップ141において、縮小する
スペース数へsp_count の値を設定する。次に、ステッ
プ142において、ステップ123で算出された追込み
量を、ステップ141で設定されたスペース数で割るこ
とによって各スペース毎の詰め量が算出される。続い
て、ステップ143において、 out_point へ(l−
1)行目の最終文字位置に1を加えた値(その行の先頭
文字を指示する)が設定され、ステップ144におい
て、変数(自然数)iが0に初期化される。
スペース数へsp_count の値を設定する。次に、ステッ
プ142において、ステップ123で算出された追込み
量を、ステップ141で設定されたスペース数で割るこ
とによって各スペース毎の詰め量が算出される。続い
て、ステップ143において、 out_point へ(l−
1)行目の最終文字位置に1を加えた値(その行の先頭
文字を指示する)が設定され、ステップ144におい
て、変数(自然数)iが0に初期化される。
【0060】out _point と変数iの設定が終わると、
ステップ145からステップ149の処理によって、出
力用データの内、その行内に出力される文字の出力位置
(x座標)が変更される。即ち、ステップ145におい
て、CPU1は、出力用データの出力用テキストから1
文字読み出し、ステップ146において、読み出した文
字に対応する出力用書式データ内の出力位置(x座標)
を、(詰め量×i)だけ減じて更新する。その後、ステ
ップ147において、ステップ145で読み出した文字
がスペースであるか否かを調べて、スペースであった場
合にのみ、ステップ148において、変数iを+1更新
する。ステップ145からステップ148の処理は、ス
テップ149において、 out_point の値を+1づつ更
新しながら、 out_point の値がRAM3内に記憶され
たpoint1の値に等しくなるまで(ステップ150)繰り
返される。point1は、行内からはみ出す単語の次のスペ
ースを指示しているので、ステップ145からステップ
148の処理は、その行頭から追込みを行う単語の末尾
まで繰り返されることになる。
ステップ145からステップ149の処理によって、出
力用データの内、その行内に出力される文字の出力位置
(x座標)が変更される。即ち、ステップ145におい
て、CPU1は、出力用データの出力用テキストから1
文字読み出し、ステップ146において、読み出した文
字に対応する出力用書式データ内の出力位置(x座標)
を、(詰め量×i)だけ減じて更新する。その後、ステ
ップ147において、ステップ145で読み出した文字
がスペースであるか否かを調べて、スペースであった場
合にのみ、ステップ148において、変数iを+1更新
する。ステップ145からステップ148の処理は、ス
テップ149において、 out_point の値を+1づつ更
新しながら、 out_point の値がRAM3内に記憶され
たpoint1の値に等しくなるまで(ステップ150)繰り
返される。point1は、行内からはみ出す単語の次のスペ
ースを指示しているので、ステップ145からステップ
148の処理は、その行頭から追込みを行う単語の末尾
まで繰り返されることになる。
【0061】ここまでは、ステップ124において、ス
テップ123で求めた追込み量が、追込み可能量内であ
るばあいの処理について説明を行ったが、以下、追込み
量が追込み可能量内ではない場合の処理について説明を
行う。
テップ123で求めた追込み量が、追込み可能量内であ
るばあいの処理について説明を行ったが、以下、追込み
量が追込み可能量内ではない場合の処理について説明を
行う。
【0062】ステップ124で追込み量が追込み可能量
内ではないと判断された場合、図17に示す処理が行わ
れる。
内ではないと判断された場合、図17に示す処理が行わ
れる。
【0063】先ず、ステップ131において、 out_po
int にRAM3内に記憶されているch_start1から1を
減じた値が設定され、ステップ132において、その o
ut_point が指示する出力用テキスト内の文字に対応す
る出力用書式データの出力位置(x座標)が取得され、
RAM3内にch_ start_x として設定される。次に、
ステップ133において、追出し量が算出されて、その
結果をもとに、ステップ134において、求めた追出し
量とRAM3内に記憶されている追出し可能量との大小
比較が行われる。ここで追出し量が追出し可能量よりも
小さい場合には、ステップ135において、単語の追出
し処理が行われ、追出し量が追出し可能量よりも大きい
場合には、ステップ136において、ハイフネーション
処理が行われた後、ステップ137において、 txt_po
int にRAM3内に記憶されているpoint0の値が設定さ
れて、処理はステップ181へと移行する。
int にRAM3内に記憶されているch_start1から1を
減じた値が設定され、ステップ132において、その o
ut_point が指示する出力用テキスト内の文字に対応す
る出力用書式データの出力位置(x座標)が取得され、
RAM3内にch_ start_x として設定される。次に、
ステップ133において、追出し量が算出されて、その
結果をもとに、ステップ134において、求めた追出し
量とRAM3内に記憶されている追出し可能量との大小
比較が行われる。ここで追出し量が追出し可能量よりも
小さい場合には、ステップ135において、単語の追出
し処理が行われ、追出し量が追出し可能量よりも大きい
場合には、ステップ136において、ハイフネーション
処理が行われた後、ステップ137において、 txt_po
int にRAM3内に記憶されているpoint0の値が設定さ
れて、処理はステップ181へと移行する。
【0064】ステップ131からステップ134の処理
について、図25を用いて具体的に説明する。ステップ
131の時点において、ch_start1は、行末にかかる単
語の先頭文字の出力用テキスト内における位置を記憶し
ている。従って、ステップ131の処理によって、 out
_point は、その単語の直前のスペースを指示すること
になる。即ちステップ132で取得されるch_ start_
x の値は、そのスペースの開始位置として登録されてい
る位置の値である。追出し処理では、行末にかかる単語
の直前のスペース以降を次の行に送る必要があるので、
図25に示すように、頁幅からch_ start_x の値をひ
いた値が追出し量となる。ステップ134においては、
この追出し量と、RAM3内に記憶されている追出し可
能量との大小比較によって、追出し処理を行うか、ハイ
フネーション処理を行うかが判断される。
について、図25を用いて具体的に説明する。ステップ
131の時点において、ch_start1は、行末にかかる単
語の先頭文字の出力用テキスト内における位置を記憶し
ている。従って、ステップ131の処理によって、 out
_point は、その単語の直前のスペースを指示すること
になる。即ちステップ132で取得されるch_ start_
x の値は、そのスペースの開始位置として登録されてい
る位置の値である。追出し処理では、行末にかかる単語
の直前のスペース以降を次の行に送る必要があるので、
図25に示すように、頁幅からch_ start_x の値をひ
いた値が追出し量となる。ステップ134においては、
この追出し量と、RAM3内に記憶されている追出し可
能量との大小比較によって、追出し処理を行うか、ハイ
フネーション処理を行うかが判断される。
【0065】次に、ステップ135における追出し処理
について、図19のフローチャートを用いて説明する。
について、図19のフローチャートを用いて説明する。
【0066】追出し処理は、行末にかかる単語の直前の
スペース以降をその行から追出し、それより前の単語に
ついて、単語間のスペースを均等に広げて行末揃えする
ことによって行われる。
スペース以降をその行から追出し、それより前の単語に
ついて、単語間のスペースを均等に広げて行末揃えする
ことによって行われる。
【0067】先ず、CPU1は、ステップ161におい
て、処理対象となっている行内のスペースの数をカウン
トする(図14、ステップ101からステップ10
7)。次に、ステップ162において、スペース数とし
て、sp_count の値から1を減じた値を設定し、ステッ
プ163において、ステップ133で算出された追出し
量を、ステップ162で設定されたスペース数で割るこ
とによって各スペースにおける送り量の算出を行う。追
出し処理に際してのスペース数は、sp_count の値から
1を減じた値が使用されるが、これは、追出し処理にお
いて、行末にかかる単語の直前のスペースは、その行か
ら追いだされるためである。続いて、ステップ164に
おいて、 out_point へ(l−1)行目の最終文字位置
に1を加えた値(その行の先頭文字を指示する)が設定
され、ステップ165において、変数(自然数)iが0
に初期化される。
て、処理対象となっている行内のスペースの数をカウン
トする(図14、ステップ101からステップ10
7)。次に、ステップ162において、スペース数とし
て、sp_count の値から1を減じた値を設定し、ステッ
プ163において、ステップ133で算出された追出し
量を、ステップ162で設定されたスペース数で割るこ
とによって各スペースにおける送り量の算出を行う。追
出し処理に際してのスペース数は、sp_count の値から
1を減じた値が使用されるが、これは、追出し処理にお
いて、行末にかかる単語の直前のスペースは、その行か
ら追いだされるためである。続いて、ステップ164に
おいて、 out_point へ(l−1)行目の最終文字位置
に1を加えた値(その行の先頭文字を指示する)が設定
され、ステップ165において、変数(自然数)iが0
に初期化される。
【0068】out _point と変数iの設定が終わると、
ステップ166からステップ170の処理によって、出
力用データの内、その行内に出力される文字の出力位置
(x座標)が変更される。即ち、ステップ166におい
て、CPU1は、出力用データの出力用テキストから1
文字読み出し、ステップ167において、読み出した文
字に対応する出力用書式データ内の出力位置(x座標)
に、(送り量×i)加えて更新する。その後、ステップ
168において、ステップ166で読み出した文字がス
ペースであるか否かを調べて、スペースであった場合に
のみ、ステップ169において、変数iを+1更新す
る。ステップ166からステップ169の処理は、ステ
ップ170において、 out_point の値を+1づつ更新
しながら、out_point の値がRAM3内に記憶されたc
h_start1の値に1を加えた値に等しくなるまで繰り返
される。ch_start1は、行内かかる単語の先頭文字を指
示しているので、ステップ166からステップ169の
処理は、その行頭から、追出しを行う単語の直前の単語
の末尾まで繰り返されることになる。
ステップ166からステップ170の処理によって、出
力用データの内、その行内に出力される文字の出力位置
(x座標)が変更される。即ち、ステップ166におい
て、CPU1は、出力用データの出力用テキストから1
文字読み出し、ステップ167において、読み出した文
字に対応する出力用書式データ内の出力位置(x座標)
に、(送り量×i)加えて更新する。その後、ステップ
168において、ステップ166で読み出した文字がス
ペースであるか否かを調べて、スペースであった場合に
のみ、ステップ169において、変数iを+1更新す
る。ステップ166からステップ169の処理は、ステ
ップ170において、 out_point の値を+1づつ更新
しながら、out_point の値がRAM3内に記憶されたc
h_start1の値に1を加えた値に等しくなるまで繰り返
される。ch_start1は、行内かかる単語の先頭文字を指
示しているので、ステップ166からステップ169の
処理は、その行頭から、追出しを行う単語の直前の単語
の末尾まで繰り返されることになる。
【0069】尚、ステップ124において、追込み可能
ではないと判断された場合についても、上記した場合と
同様に処理が行われる。
ではないと判断された場合についても、上記した場合と
同様に処理が行われる。
【0070】本実施例のステップ136に示したハイフ
ネーション処理は、例えば単語間の文節に関する情報を
辞書等に記憶させ、その辞書を参照して、ハイフネーシ
ョンによって単語を区切る位置を決定すればよい。ハイ
フネーションを行った後には、追出し処理と同様にし
て、行内に単語間のスペースを均等に拡大して行末揃え
を行う。又、ハイフネーションの方法には、様々な方法
が考えられるが、本実施例では詳細な説明を省略する。
ネーション処理は、例えば単語間の文節に関する情報を
辞書等に記憶させ、その辞書を参照して、ハイフネーシ
ョンによって単語を区切る位置を決定すればよい。ハイ
フネーションを行った後には、追出し処理と同様にし
て、行内に単語間のスペースを均等に拡大して行末揃え
を行う。又、ハイフネーションの方法には、様々な方法
が考えられるが、本実施例では詳細な説明を省略する。
【0071】尚、本実施例では行末の文字が和文対象文
字の場合には必ず追込み処理を行うが、これは、必ず追
出し処理を行ったり、又は、所定の条件判断を行って追
込み・追出し処理を使い分けたりしてもよい。
字の場合には必ず追込み処理を行うが、これは、必ず追
出し処理を行ったり、又は、所定の条件判断を行って追
込み・追出し処理を使い分けたりしてもよい。
【0072】以上のように本実施例は、文字が行末にか
かる場合に、それが和文なのか、それとも英単語内の文
字なのかを判断し、和文の場合には行末の文字も含めて
その行内において、行末揃え処理を行い、英単語の場合
には、状況に応じて、その単語を行内に追込むか又は次
の行に追出すかして、その行内で行末揃えを行うため、
和文と欧文が混合した文書において、不必要に欧文の単
語が分割されることのない、きれいな出力を得る事がで
きる。
かる場合に、それが和文なのか、それとも英単語内の文
字なのかを判断し、和文の場合には行末の文字も含めて
その行内において、行末揃え処理を行い、英単語の場合
には、状況に応じて、その単語を行内に追込むか又は次
の行に追出すかして、その行内で行末揃えを行うため、
和文と欧文が混合した文書において、不必要に欧文の単
語が分割されることのない、きれいな出力を得る事がで
きる。
【0073】又、英単語の処理において、追込みも追出
しも不可と判断された場合にのみ、ハイフネーションを
行うこととしたため、単語が分割されることを極力少な
くすることができる。
しも不可と判断された場合にのみ、ハイフネーションを
行うこととしたため、単語が分割されることを極力少な
くすることができる。
【0074】更に、追込み・追出し量を、文字数ではな
く長さで直接指定できるために、単語中の文字の文字幅
に左右されない、適切な追込み・追出し可能量の指定を
行うことができる。
く長さで直接指定できるために、単語中の文字の文字幅
に左右されない、適切な追込み・追出し可能量の指定を
行うことができる。
【0075】尚、本実施例では、文書データ全体を一旦
出力用データに変換してから出力を行っているが、一文
字語ごとにデータの変換(位置情報の算出等)を行って
文字を出力して行くことも可能である。
出力用データに変換してから出力を行っているが、一文
字語ごとにデータの変換(位置情報の算出等)を行って
文字を出力して行くことも可能である。
【0076】
【発明の効果】本発明は、文字コード列と書式情報を有
する文書ファイルを記憶する文書メモリと、前記文書メ
モリに記憶された文書ファイルに基づいて、文書を出力
する出力手段と、前記文書メモリに記憶された文書ファ
イルから、文字コードを読みだし、同文書ファイル内の
書式情報に基づいて、前記出力手段に文書を出力させる
出力制御手段とを有し、前記出力制御手段は、前記文書
ファイルから読みだした文字コードに対応する文字が、
当該文書の行末にかかる場合、当該文字が欧文の単語の
一部であるか否かを判別する判別手段を有し、前記判別
手段により、当該文字が欧文の単語の一部ではないと判
別された場合には、当該文字を行末文字として行末揃え
処理を行い、前記判別手段により当該文字が欧文の単語
の一部であると判別された場合には、当該単語の前後に
おいて行末揃え処理を行うため、和文と欧文が混在した
文書において、欧文の単語が行末にかかったとしても、
不必要に単語が分割されることなく、バランスのよい、
見やすい出力結果を得ることができる。
する文書ファイルを記憶する文書メモリと、前記文書メ
モリに記憶された文書ファイルに基づいて、文書を出力
する出力手段と、前記文書メモリに記憶された文書ファ
イルから、文字コードを読みだし、同文書ファイル内の
書式情報に基づいて、前記出力手段に文書を出力させる
出力制御手段とを有し、前記出力制御手段は、前記文書
ファイルから読みだした文字コードに対応する文字が、
当該文書の行末にかかる場合、当該文字が欧文の単語の
一部であるか否かを判別する判別手段を有し、前記判別
手段により、当該文字が欧文の単語の一部ではないと判
別された場合には、当該文字を行末文字として行末揃え
処理を行い、前記判別手段により当該文字が欧文の単語
の一部であると判別された場合には、当該単語の前後に
おいて行末揃え処理を行うため、和文と欧文が混在した
文書において、欧文の単語が行末にかかったとしても、
不必要に単語が分割されることなく、バランスのよい、
見やすい出力結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施例における文書作成装置のブロ
ック図
ック図
【図2】同実施例におけるRAM3内のデータ構成図
【図3】同実施例における文書ファイルのデータ構成図
【図4】同実施例における出力用データのデータ構成図
【図5】同実施例における書体情報のデータ構成図
【図6】同実施例における追込み・追出し可能量設定処
理のフローチャート
理のフローチャート
【図7】同実施例における出力用データ生成処理のフロ
ーチャート
ーチャート
【図8】同実施例において、文字が行内からはみ出す場
合の処理を示すフローチャート
合の処理を示すフローチャート
【図9】同実施例における、出力用データ生成処理のフ
ローチャート
ローチャート
【図10】同実施例における、字詰め量算出処理のフロ
ーチャート
ーチャート
【図11】同実施例において、スペースによる字詰め処
理のフローチャート
理のフローチャート
【図12】同実施例において、和文対象文字の字送り縮
小による字詰め処理のフローチャート
小による字詰め処理のフローチャート
【図13】同実施例において、行末にかかる文字が、和
文対象文字か単語内の文字かを判定する処理のフローチ
ャート
文対象文字か単語内の文字かを判定する処理のフローチ
ャート
【図14】同実施例における、スペースをカウントする
処理のフローチャート
処理のフローチャート
【図15】同実施例における、和文対象文字をカウント
する処理のフローチャート
する処理のフローチャート
【図16】同実施例において、追込み可能かどうか判断
する処理のフローチャート
する処理のフローチャート
【図17】同実施例において、追出し可能かどうか判断
する処理のフローチャート
する処理のフローチャート
【図18】同実施例における、追込み処理のフローチャ
ート
ート
【図19】同実施例における、追出し処理のフローチャ
ート
ート
【図20】同実施例における、改行時の処理のフローチ
ャート
ャート
【図21】同実施例において、文字が行末にかかった場
合の説明図
合の説明図
【図22】同実施例における、和文対象文字の追込みの
説明図
説明図
【図23】同実施例における、単語の追込みの説明図
【図24】同実施例において、図23で説明する状態で
の txt_point や out_point 等の説明図
の txt_point や out_point 等の説明図
【図25】同実施例における、単語の追出しの説明図
【図26】同実施例における、文字の基準位置の説明図
【図27】同実施例における、英文対象文字の説明図
1 CPU 2 ROM 3 RAM 4 フォントメモリ 5 入力部 6 イメージメモリ 7 ディスプレイ 8 プリンタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 B41J 19/64 9212−2C 21/00 Z 8804−2C // G03F 1/00 M 7369−2H
Claims (1)
- 【請求項1】文字コード列と書式情報を有する文書ファ
イルを記憶する文書メモリと、 前記文書メモリに記憶された文書ファイルに基づいて、
文書を出力する出力手段と、 前記文書メモリに記憶された文書ファイルから、文字コ
ードを読みだし、同文書ファイル内の書式情報に基づい
て、前記出力手段に文書を出力させる出力制御手段とを
有し、 前記出力制御手段は、前記文書ファイルから読みだした
文字コードに対応する文字が、当該文書の行末にかかる
場合、当該文字が欧文の単語の一部であるか否かを判別
する判別手段を有し、前記判別手段により、当該文字が
欧文の単語の一部ではないと判別された場合には、当該
文字を行末文字として行末揃え処理を行い、前記判別手
段により当該文字が欧文の単語の一部であると判別され
た場合には、当該単語の前後において行末揃え処理を行
うことを特徴とする文書作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10946092A JPH05303577A (ja) | 1992-04-28 | 1992-04-28 | 文書作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10946092A JPH05303577A (ja) | 1992-04-28 | 1992-04-28 | 文書作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05303577A true JPH05303577A (ja) | 1993-11-16 |
Family
ID=14510798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10946092A Pending JPH05303577A (ja) | 1992-04-28 | 1992-04-28 | 文書作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05303577A (ja) |
-
1992
- 1992-04-28 JP JP10946092A patent/JPH05303577A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678410B1 (en) | Generating a glyph | |
EP0117405A2 (en) | Automatically balancing and vertically justifying text and/or graphics | |
EP0117406A2 (en) | Automatically balancing and vertically justifying text and/or graphics | |
JPH0640257B2 (ja) | 情報出力装置 | |
JPS6038752B2 (ja) | テキスト・ストリ−ム変更方法 | |
JPH058449B2 (ja) | ||
JP2613255B2 (ja) | 文字間ピッチ処理方式 | |
US5689723A (en) | Method for allowing single-byte character set and double-byte character set fonts in a double-byte character set code page | |
JPH06149806A (ja) | 文書整形出力装置及び文書整形方法 | |
US5867174A (en) | Character/symbol generating device for generating character/symbol with a desired line thickness | |
JPS6017487A (ja) | 文書作成装置の行ピツチ自動設定方法 | |
JP2816181B2 (ja) | 文書処理装置 | |
JPH05303577A (ja) | 文書作成装置 | |
US5471676A (en) | Character data compressing method and character modifying method | |
JP2763227B2 (ja) | 書式決定方法 | |
JPH05298317A (ja) | 文書作成装置 | |
US5930812A (en) | Word processing apparatus which adjusts character output position | |
JPH01229673A (ja) | 英殴文印刷制御方式 | |
JP2535059B2 (ja) | 文字処理装置 | |
JPH0666066B2 (ja) | 振仮名付加機能付き文書処理装置 | |
US5162993A (en) | Word processing apparatus | |
JP4919245B2 (ja) | 行組版装置、行組版プログラム及びそれを記録した記録媒体 | |
JP2773145B2 (ja) | 文書整形方法および文書処理装置 | |
JP2837497B2 (ja) | 出力制御装置および出力制御方法 | |
JP2580965B2 (ja) | プリンタ装置 |