(57)【要約】【課題】  行組版における行内のキャラクタ間の間隔を最適に設定する。【解決手段】  キャラクタをキャラクタクラスに割当てて、キャラクタクラスに基づいてキャラクタ間の間隔を設定する場合に、キャラクタの対応するグリフＩＤが存在する場合にはグリフＩＤに基づいてそのキャラクタのキャラクタクラスへの割当を行い、そのようなグリフＩＤが存在しない場合にのみ、キャラクタのユニコード値に基づいてキャラクタクラスの割当を行う。【選択図】      図５
2006195767.tif 000002
【特許請求の範囲】
【請求項１】
キャラクタのユニコード値を入力する入力手段を有するＤＴＰシステムにおいて使用する行組版装置において、
キャラクタのユニコード値を対応するグリフＩＤへ変換する変換テーブル、
一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブル、
前記入力手段により入力されたキャラクタのユニコード値を前記変換テーブルへ適用して対応するグリフＩＤへ変換させ且つ前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てるキャラクタクラス割当手段、
前記キャラクタクラス割当手段により割当てられたキャラクタクラスを前記間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う行組版制御手段、
を有していることを特徴とする行組版装置。
【請求項２】
請求項１において、前記グリフＩＤがユーザにより修正されている場合には、前記グリフＩＤは修正グリフＩＤであることを特徴とする行組版装置。
【請求項３】
請求項２において、前記修正グリフＩＤは、前記グリフＩＤの属性が修正されていることを特徴とする行組版装置。
【請求項４】
請求項１乃至３の内のいずれか１項において、前記変換テーブルが一つ又はそれ以上のユニコード値を対応するグリフＩＤへ変換しない場合には、前記キャラクタクラス割当手段が前記一つ又はそれ以上のユニコード値に基づいてキャラクタクラスの割当てを行うことを特徴とする行組版装置。
【請求項５】
請求項１乃至４の内のいずれか１項において、前記ＤＴＰシステムが、行組版された電子文書を表示可能な表示手段を有していることを特徴とする行組版装置。
【請求項６】
ＤＴＰシステムにおいて使用する行組版プログラムにおいて、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフＩＤへ変換させる第１手順、
前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第２手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第３手順、
とをコンピュータに実行させることを特徴とする行組版プログラム。
【請求項７】
請求項６において、前記グリフＩＤがユーザにより修正されている場合には、前記グリフＩＤは修正グリフＩＤであることを特徴とする行組版プログラム。
【請求項８】
請求項７において、前記修正グリフＩＤは、前記グリフＩＤの属性が修正されていることを特徴とする行組版プログラム。
【請求項９】
請求項６乃至８の内のいずれか１項において、前記第１手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフＩＤ変換されない場合には、前記第２手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てることを特徴とする行組版プログラム。
【請求項１０】
請求項６乃至９の内のいずれか１項において、更に、行組版された電子文書を表示手段に表示させる第４手順をコンピュータに実行させることを特徴とする行組版プログラム。
【請求項１１】
ＤＴＰシステムにおいて使用する行組版プログラムを記録したコンピュータ読取可能な記録媒体において、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフＩＤへ変換させる第１手順、
前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第２手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第３手順、
とをコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１２】
請求項１１において、前記グリフＩＤがユーザにより修正されている場合には、前記グリフＩＤは修正グリフＩＤであることを特徴とするコンピュータ読取可能な記録媒体。
【請求項１３】
請求項１２において、前記修正グリフＩＤは、前記グリフＩＤの属性が修正されていることを特徴とするコンピュータ読取可能な記録媒体。
【請求項１４】
請求項１１乃至１３の内のいずれか１項において、前記第１手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフＩＤ変換されない場合には、前記第２手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てることを特徴とするコンピュータ読取可能な記録媒体。
【請求項１５】
請求項１１乃至１４の内のいずれか１項において、更に、行組版された電子文書を表示手段に表示させる第４手順をコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大略、デスクトップパブリッシング（ＤＴＰ）に関するものであって、更に詳細には、ＤＴＰにおける電子文書の行組版技術に関するものである。
【背景技術】
【０００２】
電子行組版においては、入力された一連のキャラクタ（文字、記号など）を電子文書上において行毎に配置させるために隣り合う一対のキャラクタの間の間隔を適切に設定することが必要である。特に、和文のような多種類のキャラクタを処理する電子組版においては、個々のキャラクタを別々に処理するのでは処理が複雑化するので、本願出願人の先の出願（特開２００２−１９７０７７号公報）においては、キャラクタの類似性に着目して多種類のキャラクタを合理的な複数個のキャラクタクラスに分類し、連続する一対のキャラクタに対して夫々キャラクタクラスを割当て、この様にして割当てられたキャラクタクラスに基づいて連続する一対のキャラクタ間の間隔（空き量及び詰め量）を設定することを提案している。
【０００３】
ところで、電子行組版においては、入力された一連のキャラクタを処理する場合には、各キャラクタに対応するコード化された数値を処理するのが一般的である。そして、そのようなコード化された数値としては、最近は、ユニコード（Ｕｎｉｃｏｄｅ）が使用されるのが通常である。従って、通常は、電子行組版において、上述したキャラクタクラスの割当てを行う場合にもユニコードが使用されることが多いと考えられる。
【０００４】
ユニコードにおいては、各キャラクタに対する数値としてユニコード値が割当てられており、それはコードポイントと呼ばれている。ユニコード基準によれば、コードポイントは「Ｕ」とそれに続く１６進数とで表現され、例えば、キャラクタ「Ａ」はＵ＋００４１として表される。更に、ユニコード基準によれば、各キャラクタに対して一意的な名前が割当てられており、Ｕ＋００４１のキャラクタ「Ａ」に対しては「ＬＡＴＩＮ  ＬＥＴＴＥＲ  Ａ」のキャラクタ名が定義されている。この様に、ユニコードは各キャラクタを対応するコードポイントで表すことを可能とし、コードポイントは数値であるから、キャラクタをＣＰＵ、マイクロプロセッサ、又はコンピュータなどにより処理することが可能であり、従って、ユニコードに基づいて電子行組版を行うことが可能である。
【０００５】
しかしながら、ユニコードのようなコード化された数値は、対応するキャラクタを特定するものであるが、キャラクタ自体は抽象的なものであって具体的な形態を特定するものではない。即ち、キャラクタが印刷又は表示される場合にはそのキャラクタの具体的な形態をレンダリングすることが必要であり、レンダリングを行う場合はそのキャラクタに対応する具体的な形態を特定する所謂グリフに基づくものであるが、ユニコードは特定のキャラクタとそれに対応するグリフとの対応関係を規定するものではない。従って、特定のキャラクタに対してキャラクタクラスの割当てを行う場合に、キャラクタ自体に基づいて行うことも可能であり、その場合にはキャラクタに対応するユニコード値に基づいて行うこととなる。しかしながら、キャラクタ自体は抽象的な実体であり、必ずしもそのキャラクタに対応するグリフと寸法、形状、メトリックなどの全ての属性が一致するとは限らない。それ故に、キャラクタ自体に基づいて電子文書の行組版処理を行った場合には、その電子文書を実際に印刷又は表示させた場合に、意図した行組版でなかった場合があり得る。
【０００６】
ユニコードは、一つの文字コード体系で世界的な多国語処理を可能にしようとするものであって、世界の主要な言語のほとんどのキャラクタを収録するものであるが、全ての異体字や異なるフォントも含めての全てのキャラクタを収録するものではない。更に、単一のユニコードが複数個の異なるグリフを参照する場合があるが、ユニコード自体は、これらの異なるグリフを区別することが可能なものではない。例えば、グリフＩＤの一種であるＣＩＤ（即ち、ＣＩＤ−ｋｅｙｅｄフォントにおけるグリフＩＤ）は複数個のユニコードキャラクタに対応する場合があり、その一例としては、キャラクタ「f」とキャラクタ「l」との合字である「fl」がある。合字とは、２個又はそれ以上のキャラクタが単一の単位として表現された特別のグリフである。別の一般的な合字の例としては「fi」があり、この場合には、「f」と「i」とが並んで印刷される場合に、小文字「i」の上部のドットが小文字「f」の上部のループ部分と干渉することとなる。従って、「f」と「i」とを単一のグリフに結合させ、その場合に、「i」のドットは「f」のループ部分に吸収させ、結果的に「fi」として表わされる。尚、「f」と「l」との合字の場合も同様であり、それらの合字化した状態は以下の如くである。
【０００７】
【数１】
2006195767.tif 000003
【０００８】
この場合に、例えば、合字「fi」はユニコードにおいてＵ＋ＦＢ０１として表される。この様に或る合字は特定のユニコードのコードポイントを有しているが、特定のアプリケーションが合字コードポイントを使用する合字をサポートする場合もあればサポートしない場合もある。一方、アプリケーションによっては、複数個のコードポイントを使用して単一の合字グリフを描画させる場合もある。例えば、或るフォントに対して単一の合字「fi」グリフを形成するために「f」に対するコードポイントと「i」に対するコードポイントとを連続して使用する場合がある。この場合には、合字としては単一のグリフであるが、ユニコードとしては連続した２個のユニコード値を取ることとなる。
【０００９】
更に厄介な問題としては、フォントとしてＯｐｅｎＴｙｐｅフォントの使用が一般化してきたことである。ＯｐｅｎＴｙｐｅフォントを使用する場合には、ユーザが或るグリフの属性を修正することが可能である。例えば、欧文小文字のキャラクタ「a」に対応するユニコードのコードポイントは、元々、第１のグリフＩＤを有するグリフと関連しておりそれは属性として半角を有しているものとする。ユーザは、そのグリフの属性を例えば「全角」に修正し、第２のグリフＩＤを割当てることが可能である。この場合には、元のグリフは修正されたグリフで置換され、その修正されたグリフは新たに割当てられたグリフＩＤによって識別される。一方、該キャラクタのユニコードは不変のままであることに注意すべきである。従って、上述したキャラクタクラスの割当を行なう場合に、キャラクタのユニコードのみに基づく場合には、キャラクタが行組版された場合に、キャラクタ間の間隔が不適切となる場合が発生する。
【００１０】
【特許文献１】特開２００２−１９７０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、常時適切な間隔でＤＴＰにおける行組版を行なうことを可能とする改良した行組版技術を提供することを目的とする。
【００１２】
本発明の別の目的とするところは、電子文書において行組版を実施する場合に、迅速且つ適切なキャラクタ間の間隔を設定することを可能とした技術を提供することである。
【課題を解決するための手段】
【００１３】
本発明の基本的な原理によれば、キャラクタの電子行組版を行なう場合に、キャラクタのユニコードのみに基づいてキャラクタクラスの割当を行なうのではなく、基本的には、キャラクタのグリフＩＤに基づいてキャラクタクラスの割当を行なうものである。従って、本発明によれば、常時適切な間隔でキャラクタの行組版を行なうことが可能であり、特に、ＯｐｅｎＴｙｐｅフォントが使用されてユーザによりグリフの属性が修正されている場合であっても、適切な間隔で行組版を実施することが可能である。
【００１４】
本発明の第１の側面によれば、キャラクタのユニコード値を入力する入力手段を有するＤＴＰシステムにおいて使用する行組版装置において、
キャラクタのユニコード値を対応するグリフＩＤへ変換する変換テーブル、
一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブル、
前記入力手段により入力されたキャラクタのユニコード値を前記変換テーブルへ適用して対応するグリフＩＤへ変換させ且つ前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てるキャラクタクラス割当手段、
前記キャラクタクラス割当手段により割当てられたキャラクタクラスを前記間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う行組版制御手段、
を有していることを特徴とする行組版装置が提供される。
【００１５】
本発明の第２の側面によれば、ＤＴＰシステムにおいて使用する行組版プログラムにおいて、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフＩＤへ変換させる第１手順、
前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第２手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第３手順、
とをコンピュータに実行させることを特徴とする行組版プログラムが提供される。
【００１６】
本発明の第３の側面によれば、ＤＴＰシステムにおいて使用する行組版プログラムを記録したコンピュータ読取可能な記録媒体において、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフＩＤへ変換させる第１手順、
前記グリフＩＤに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第２手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第３手順、
とをコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体が提供される。
【００１７】
上記本発明の各側面において、好適には、前記グリフＩＤがユーザにより修正されている場合には、前記グリフＩＤは修正グリフＩＤである。更に好適には、前記修正グリフＩＤは、前記グリフＩＤのの属性が修正されている。更に好適には、前記第１手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフＩＤ変換されない場合には、前記第２手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てる。更に好適には、行組版された電子文書を表示手段に表示させる。
【発明を実施するための最良の形態】
【００１８】
以下、添付の図面を参考に、本発明の具体的実施の態様について詳細に説明する。図１は、本発明の１実施例に基づく電子組版ＤＴＰシステム１を例示している。このＤＴＰシステム１は、レイアウト及び編集などを電子組版を実行することが可能なＤＴＰ処理制御装置２と、処理中の電子文書などのデータを表示することが可能な表示装置３と、ユーザがグラフィック、テキスト、制御命令などの種々のタイプのデータを入力することが可能な入力手段５と、処理済の電子文書などのデータを出力する出力手段６とを包含している。
【００１９】
ＤＴＰ処理制御装置２は、組版を制御するための組版制御手段２ａと、レイアウト編集を行なうレイアウト制御手段２ｂと、印刷又は表示などのために出力すべきテキストの属性を包含しているフォント情報を格納しているフォントファイル２ｃと、各キャラクタを複数個のキャラクタクラスの内の一つに割当てるキャラクタクラス割当手段２ｄとを包含している。図１に示したシステムにおいては、フォントファイル２ｃは、例えば、日本語、中国語、韓国語などの表意文字に対するＣＪＫフォント等の一つ又はそれ以上のフォントを包含している。フォントファイル２ｃは、更に、各フォントにおけるキャラクタのユニコードを対応するグリフＩＤへ変換させる変換テーブル８を有している。変換テーブル８は、例えば、公知のＲｅｇｉｓｔｒｙ−Ｏｒｄｅｒｉｎｇ−Ｓｕｐｐｌｅｍｅｎｔ（ＲＯＳ）フォーマットで登録される一つ又はそれ以上のキャラクタマップである所謂ＣＭａｐから構成することが可能である。尚、ＲＯＳとは、グリフセットの名前付けの確立されている規則であり、例えば、「Ａｄｏｂｅ−Ｊａｐａｎ１−４」のフォーマットで特定のグリフセットを登録する規則である。この例の場合には、「Ａｄｏｂｅ」がＲｅｇｉｓｔｒｙ（登録者）に対応しており、「Ｊａｐａｎ１」がＯｒｄｅｒｉｎｇ（順序付け）に対応しており、「４」がＳｕｐｐｌｅｍｅｎｔ（補遺番号）に対応している。そして、フォント製作者によって作成されたグリフセットに対してＲＯＳ規則に基づいてグリフセットの名前付けが行なわれている場合には、異なるフォント間での互換性を確保することが可能である。従って、変換テーブル８は、入力手段５により入力されたキャラクタのユニコードをフォントファイル２ｃ内の一つ又はそれ以上の異なるフォントに対して関連するグリフＩＤへマッピングさせることが可能である。
【００２０】
更に、図１に示したシステムにおいては、組版制御手段２ａは、電子組版において組版される複数個のキャラクタを１行内に配置させる行組版制御手段７ａと、キャラクタ間の間隔量を設定する間隔量設定ファイル７ｂとを有している。この間隔量とは、行組版を行なう場合において、行頭又は行末に配置されるキャラクタの行頭又は行末からの間隔の大きさ、及び行中において隣り合う一対のキャラクタの間隔の大きさのことを意味する。後に詳述するように、間隔量設定ファイル７ｂは、キャラクタの属するキャラクタクラスに基づいて、一対の隣接するキャラクタ間の間隔量を設定する間隔量設定テーブルを有している。組版制御手段２ａは、更に、間隔量設定手段７ｃを包含しており、これによりユーザは間隔設定テーブル内の間隔設定量を所望の値に設定することが可能である。
【００２１】
更に、図１に示したシステムにおいては、ＤＴＰ処理制御装置２はキャラクタクラス割当手段２ｄを有しており、これは、入力手段５を介して入力された各キャラクタを特定のキャラクタクラスに割当てるものである。そのようにして割当てられたキャラクタクラスを間隔量設定ファイル７ｂ内の間隔量設定テーブルに適用して、隣接する一対のキャラクタ間の間隔の量が設定される。この場合に、入力されてくるキャラクタはユニコード値に対応付けられているので、ユニコード値に基づいて各キャラクタのキャラクタクラスへの割当を行なうことが可能である。一方、ユニコード値に対応するグリフＩＤが存在する場合には、ユニコード値を変換テーブル８に適用して対応するグリフＩＤへ変換させ、このグリフＩＤに基づいて入力されたキャラクタのキャラクタクラスの割当を実施することが可能である。グリフＩＤに基づいてキャラクタクラスの割当を行なう場合には、そのキャラクタをレンダリングして表示又は印刷した場合にキャラクタ間のより正確な間隔が得られるので、グリフＩＤが得られる場合にはユニコードではなくグリフＩＤに基づいてキャラクタクラスの割当を行なうことが望ましい。
【００２２】
図１に示される表示装置３は、例えばＣＲＴ，ＬＣＤ等の任意のタイプのディスプレイ装置とすることが可能である。又、入力手段５はキーボード、ポインティングデバイス（マウス、トラックボール、トラックポインタ等）、スキャナー、通信インターフェース等を包含することが可能である。出力手段６は、プリンタ、外部メモリ装置等を包含することが可能である。ＤＴＰ処理制御装置２は、ＣＰＵ等のプロセッサやメモリ、及びメモリ内にロードされたプロセッサにより処理される組版制御ルーチン、レイアウト制御ルーチン等の種々のプログラムルーチンを包含する電子組版処理プログラム等から構成することが可能である。一方、ＤＴＰ処理制御装置２は、その一部又は全部をファームウエア化させたハードウエアによる構成とすることも可能である。
【００２３】
図２は、汎用のコンピュータシステムに対して本発明を適用することにより本発明の行組版を実施することが可能なＤＴＰシステム１０の構成を示した概略ブロック図である。本システムは、プロセッサ１１と、メモリ１２と、モニタ１３と、ハードディスク１４と、キーボード１５と、マウス１６と、ＣＤ−ＲＯＭドライブ１７と、フロッピディスクドライブ１８と、プリンタ１９とを包含している。これらのユニットは、バス２０により動作上相互接続されている。ＤＴＰ処理プログラム９が、電子組版において使用される組版制御ルーチン２ａと、キャラクタのユニコード値を対応するグリフＩＤへ変換させる変換テーブル８を包含するフォントファイル２ｃと、電子組版のためにキャラクタを適宜のキャラクタクラスへ割当てる場合に使用されるキャラクタクラス割当ルーチン２ｄとを包含している。尚、図２には示していないが、組版制御ルーチンは、図１に示した行組版制御手段７ａ、間隔量設定テーブルを具備する間隔量設定ファイル７ｂ、間隔量設定手段７ｃに夫々対応するサブルーチンを包含していることは勿論である。
【００２４】
ＤＴＰ処理プログラム９及びその他の電子編集プログラムはＣＤ−ＲＯＭドライブ１７又はフロッピディスクドライブ１８を介してインストールさせることが可能であり、又は例えばインターネット等の通信ネットワークを介してダウンロードさせ且つ例えばハードディスク１４上に格納させることが可能である。更に、レイアウト制御ルーチン又はＤＴＰ処理ルーチンもハードディスク１４上に格納させることが可能である。ハードディスク１４上に格納されているＤＴＰ処理プログラム９はキーボード１５又はマウス１６を使用してユーザにより開始させることが可能であり、且つ図２に示した如くに、メモリ１２内にロードさせることが可能である。従って、そのようにロードされたＤＴＰ処理プログラム９はプロセッサ１１及びメモリ１２の両方に展開されて機能的にはＤＴＰ処理制御装置２を構成する。従って、本発明の別の側面においては、本発明は、汎用コンピュータシステム１０を行組版制御機能を具備するＤＴＰシステムへ変換させることが可能なコンピュータプログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体（例えば、ＣＤ−ＲＯＭ、フロッピディスク、テープ、半導体メモリ等）を提供している。
【００２５】
図３は、図１又は２に示したＤＴＰシステム１又は１０においてＤＴＰ処理中の表示装置３におけるＣＲＴ又はＬＣＤ等の画面の一部２０３を示している。特に、図３に示した状態は、メニューバー中の「ファイル（Ｆ）」２４をクリックして得られるプルダウンメニューにおいて「新規」を選択して頁レイアウトグリッド２１を有する新規電子文書を開き、更にツールボックス２２内のテキストツール２２ａを選択して電子文書上にテキスト配置用のフレーム２３を画定し、その中に複数個のキャラクタからなるテキストを入力した状態を示している。図３に示した例においては、フレーム２３内に入力されたテキストは複数行に配置されており、各行内に配置される複数個のキャラクタは、行頭、行末、行中において予め設定されている行頭又は行末とキャラクタとの間及び隣接する一対のキャラクタの間の間隔量に基づいて夫々のキャラクタが配置される。即ち、例えば、２つのキャラクタが同じ行内に隣り合って配置される場合に、それらのキャラクタの属性に従って両者の間に設定される間隔量は予め間隔量設定テーブルとして間隔量設定ファイル７ｂ内に格納されている。そして、行組版処理により実際に複数個のキャラクタが一つの行内に配置される場合には、それらのキャラクタに対して間隔量設定テーブルから得られる間隔量に基づいてそれらのキャラクタを行内に配置させるが、その場合に、行組版制御ルーチン２ａが禁則処理などにより間隔量を適宜調節してキャラクタを行内に適切に配置させる。
【００２６】
この様に、行組版制御ルーチン２ａは、複数個のキャラクタを行内に配置させる場合に間隔量設定テーブルを参照してキャラクタとキャラクタとの間の間隔量を決定し、必要である場合には、許容される範囲内で間隔量を調節しながらキャラクタを行内に配置させるものであるから、使用するキャラクタに対して隣り合って配置される他のキャラクタとの間隔量が設定されていることが必要である。しかしながら、和文をベースとした電子組版におけるように、処理対象のキャラクタが極めて多数である場合には、個々のキャラクタに対して隣り合う他のキャラクタとの間隔量を設定するとすると極めて膨大なデータからなる間隔量設定テーブルとなり、メモリ領域を浪費することとなり不合理である。そこで、間隔量設定テーブルを構成する場合に、個々のキャラクタについて他のキャラクタとの間隔量を設定する代わりに、多数のキャラクタの内で属性が類似するものを夫々別々のキャラクタクラスに分類し、行内において一対の連続するキャラクタに対して、先行するキャラクタのキャラクタクラスと後行するキャラクタのキャラクタクラスとによって一対のキャラクタ間の間隔量を設定することが考えられる。この様な考えに基づいて、上記特開２００２−１９７０７７号に記載されている発明においては、文字などのキャラクタをその字幅、字間及び禁則処理条件による分割可能性等のキャラクタの組版属性に従ってキャラクタクラスを定義しており、特に、和文が処理対象である場合には、行頭、段落先頭、行末に加えて、以下の１６個のキャラクタクラスを定義している。
【００２７】
【表１】
2006195767.tif 000004
【００２８】
以上のように日本語の文章において使用されるキャラクタを１６個のキャラクタクラスに分類し、これらのキャラクタクラスに基いて、行中に配置されるキャラクタが段落先頭であるか、行頭であるか、行末であるか、又は行中である場合には一対の隣接するキャラクタが夫々どのキャラクタクラスに属するものであるかに従ってキャラクタ間の間隔、即ちキャラクタ間の空き量を設定することが可能である。例えば、行中において隣接している一対のキャラクタの前のキャラクタが漢字であり次のキャラクタが平仮名である場合には、前のキャラクタのキャラクタクラスは「上記以外の和字」であり次のキャラクタのキャラクタクラスは「平仮名」であるから、これらのキャラクタ間の空き量を例えば５０％（全角の幅の半分、即ち二分）に設定することが可能である。
【００２９】
処理対象が和文である場合には、上に定義した１６個のキャラクタクラスと、段落番号、行頭、及び行末をパラメータとして一対の隣接するキャラクタの間で前のキャラクタのキャラクタクラスと次のキャラクタのキャラクタクラスとに基づいて該一対のキャラクタの間の間隔量を設定することが可能であり、そのようにして設定された間隔量設定テーブルの１例を図４に示してある。図４に示した間隔量設定テーブルは間隔量設定ファイル７ｂ内に格納されており、図４に示されるように、縦軸方向においては「前のキャラクタ」に対して前述した１６個のキャラクタクラスと行頭及び段落先頭をパラメータとして配置しており、横軸方向には「次のキャラクタ」に対して前述した１６個のキャラクタクラスと行末とをパラメータとして配置している。そして、例えば、前のキャラクタのキャラクタクラスが「欧文」であり、一方次のキャラクタのキャラクタクラスが「中点類」である場合には、その交点においてこれらの一対のキャラクタに対して設定されるべき間隔量が設定されている。図１０に示した具体例においては、各交点において「最適」、「最小」、「最大」の３つの間隔量が設定されており、これらの間隔量が行組版処理される場合に行なわれる間隔量の調節において他の間隔量との関係においてどのような順番で調節されるかを決定する「優先度」も設定されている。尚、図４においては、一つの交点においてのみ代表として間隔量の設定値及び優先度の設定値が示されているに過ぎないが、図４の間隔量設定テーブル内の各交点において同じ様な間隔量及び優先度が設定されていることは勿論である。
【００３０】
尚、図４に示した間隔量設定テーブル内の設定値はユーザが任意に設定することが可能なものであり、ユーザは図３に示されている「書式（Ｔ）」２５をクリックしてプルダウンメニュー中の「間隔量設定」を選択することにより間隔量設定手段７ｃを起動させ間隔量設定ファイル７ｂ内に格納されている間隔量設定テーブルへくアクセスを得ることが可能である。そして、間隔量設定手段７ｃが起動されると不図示のダイアログボックスが表示され、このダイアログボックスを使用してユーザは図４に示した間隔量設定テーブルの各設定値を適宜に設定することが可能である。
【００３１】
図４に示した間隔量設定テーブルは、特に，処理対象が和文である場合の１例であるが、処理対象が和文以外の場合であっても、図４に示されているものと同様に多数のキャラクタを所定数のキャラクタクラスに分類してキャラクタクラスに基づいて一対の隣接するキャラクタ間の間隔量を決定するための間隔量設定テーブルを構築することが可能であることは勿論である。
【００３２】
ところで、キャラクタをキャラクタクラスに割当てる場合には、通常、各キャラクタのユニコード値に基づいて処理を行なう。しかしながら、前述したように、最近多くのＯＳやアプリケーションにおいて使用されているＯｐｅｎＴｙｐｅフォントの場合には、ユーザが或るキャラクタのユニコード値に対応するグリフの属性を修正することが可能であり、その場合には修正されたグリフに対してはオリジナルのグリフに対するグリフＩＤとは異なるグリフＩＤが割当てられる。グリフの属性が修正されたとしても、ユニコード値は不変のままである。例えば、以下の表２に示すように、欧文大文字キャラクタＴはユニコード値としてのコードポイントＵ＋００５４に対応しており、「ｃａｐｉｔａｌ  ｌｅｔｔｅｒ  Ｔ」という名前を有している。
【００３３】
【表２】
2006195767.tif 000005
【００３４】
表２に示されるように、ユニコード値Ｕ＋００５４は、例えば、ＫｏｚＭｉｎＳｔｄのＯｐｅｎＴｙｐｅフォントにおいてはグリフＩＤ５３にマッピングされる。ここでは、グリフＩＤ５３は、属性として元々「半角」を有しているものとする。そこで、ユーザがこのグリフの属性を「全角」に修正し、グリフＩＤがＩＤ１０５３に修正されたものとする。この様にグリフはその属性が修正されることによりそのグリフＩＤが変化しているが、このグリフに対応するユニコード値Ｕ＋００５４は不変のままである。そして、このグリフの属性が「半角」から「全角」へ修正されることにより、そのグリフの幅は約２倍に増加されている。この様な場合に、ユニコード値に基づいてこのキャラクタＴのキャラクタクラスを決定するとすると、修正されたグリフにおいては幅が２倍に増加しているので、グリフをレンダリングして印刷又は表示された場合に、このキャラクタに対する間隔量の設定値は不都合なものとなる場合がある。
【００３５】
本発明においては、この様な不都合を回避するために、キャラクタのキャラクタクラスへの割当てを行なう場合に、各キャラクタのユニコード値ではなく、最終的なグリフＩＤ（即ち、修正後のグラフＩＤ）に基づいてキャラクタクラスの割当てを行なうものとし、対応するグラフＩＤが存在しない場合にのみ、ユニコード値に基づいてキャラクタクラスの割当てを行なうことを基本としている。従って、本発明によれば、入力されたキャラクタのユニコード値を表２に示したような構成を有する変換テーブル８に入力し、そのユニコード値に対応する最終的なグリフＩＤ（グリフが修正されている場合には、その修正後のグリフＩＤ）を抽出し、このグリフＩＤに基づいてキャラクタクラスの割当てを行なうものである。表２に示した例を和文行組版処理する場合には、キャラクタＴがユニコード値に基づいて図４に示した間隔量設定テーブルに適用される場合には、キャラクタクラス割当てルーチン２ｄによって（１６）欧文のキャラクタクラスに分類されるが、キャラクタＴを最終的なグリフＩＤに基づいて間隔量設定テーブルに適用される場合には、キャラクタクラス割当てルーチン２ｄによって、例えば、（１４）全角数字のキャラクタクラスに割当てられることとなる。従って、行組版された後に、グリフがレンダリングされ、表示又は印刷された場合に、キャラクタ間の間隔はより適切に設定されることとなる。
【００３６】
次に、図５を参照して、本発明の１実施例に基づいてＤＴＰにおいて行組版を行なうプロセスについ詳細に説明する。先ず、１個又はそれ以上のユニコードキャラクタを受け取る（ステップ３０２）。例えば、ユニコードキャラクタ、即ちキャラクタのユニコード値からなるストリングを包含するファイルを図１又は図２に示したＤＴＰ処理制御システム１又は１０により受け取るか又はロードさせることが可能である。一方、ユニコードキャラクタは、例えば、ユーザが入力手段５又はキーボード１５などを操作することによりＤＴＰシステム内に直接的に入力させることが可能である。
【００３７】
この様にして受け取られたユニコードキャラクタ、即ちキャラクタのユニコード値を処理して、各ユニコード値に関連するグリフＩＤを識別する（ステップ３０４）。例えば、フォントファイル２ｃ内に格納されている特定のフォントにおいてキャラクタの組版を行う場合には、所謂ＣＭａｐのような、キャラクタを対応するグリフへマッピングさせる特定のＲＯＳグリフ番号付け規則に属する変換テーブル８を使用して、キャラクタのユニコード値を対応するグリフＩＤへ変換させる。ＣＭａｐからなるこの変換テーブルはフォントの一部とすることが可能であり、又はフォントファイルが複数個のフォントに対するユニコードの関連性を定義するＣＭａｐを包含することが可能である。
【００３８】
そのＲＯＳが、例えば，ＯｐｅｎＴｙｐｅフォントなどの、一連のキャラクタからなるテキストに対して使用されるグリフをユーザが置換することを可能とするフォントに対するものである場合には、どれかのグリフが置換されているか否かを判別するためにチェックが行われる（ステップ３０６）。グリフが置換されている場合には、修正されたグリフのグリフＩＤが識別される（ステップ３０８）。
【００３９】
次いで、キャラクタに対して行組版用のキャラクタクラスが割当てられる。この場合に、最終的なグリフＩＤ、即ちグリフが修正されていない場合には、修正されていない元々のグリフに対するグリフＩＤか、又はグリフが修正されている場合には、修正されたグリフに対して割当てられたグリフＩＤ、をチェックし、それが既知の（即ち所定の規則に従って登録されている）ＲＯＳに属するか否かが判別される（ステップ３１０）。既知のＲＯＳのものではないフォントの場合には、キャラクタクラス割当てルーチン２ｄによって認識不可能なグリフＩＤが存在する場合がある。その場合には、グリフＩＤに基づいて適切なキャラクタクラスの割当てを行うことは不可能である。
【００４０】
キャラクタクラス割当てルーチン２ｄが特定のＲＯＳを認識することが不可能である場合には、グリフＩＤではなく、そのキャラクタのユニコード値に基づいてキャラクタクラスの割当てを行う（ステップ３１２）。一方、使用中のフォントのＲＯＳが既知である場合には、キャラクタの対応するグリフＩＤを使用してキャラクタクラスを決定することが可能である（ステップ３１４）。この様にしてグリフＩＤ又はユニコード値のいずれかに基づいて、入力されたキャラクタに対して夫々のキャラクタクラスの割当てを行った後に、図４に示した如き間隔量設定テーブルを使用して、キャラクタクラス間の間隔関係を定義する規則を使用してキャラクタ間の間隔量を設定することを包含する行組版を実施することが可能である（ステップ３１６）。
【００４１】
この様に、本発明プロセスによれば、キャラクタの対応するグリフＩＤが存在する場合には、そのグリフＩＤを使用してそのキャラクタのキャラクタクラスを決定し、一方対応するグリフＩＤが存在しない場合にのみそのキャラクタのユニコードを使用してそのキャラクタクラスの決定を行うので、行組版を実施後にグリフをレンダリングしてキャラクタの表示又は印刷を行う場合に、可及的に最適なキャラクタ間隔量が設定されることとを確保することが可能である。
【００４２】
本発明の変形例としては、入力されるキャラクタのフォントにおいては、各キャラクタに対して必ず対応するグリフＩＤが存在することが事前に分かっている場合には、上述した判別ステップ３１０及びユニコード値に基づくキャラクタクラス決定ステップ３１２は必要ではなく、全てのキャラクタに対してグリフＩＤを使用してキャラクタクラスを決定することが可能である。
【００４３】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これらの具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱すること無しに種々の変形例が可能であることは勿論である。
【図面の簡単な説明】
【００４４】
【図１】本発明の１実施例に基づいて構成された行組版機能を具備するＤＴＰシステムを示した概略ブロック図。
【図２】本発明の別の実施例に基づいて構成された行組版機能を具備した汎用コンピュータを基礎としたＤＴＰシステムを示した概略図。
【図３】ＤＴＰシステムにおけるディスプレイスクリーン上に表示された電子文書を編集中の画面の一部を示した概略図。
【図４】間隔量設定ファイル内に格納されている間隔量設定テーブルの１例を示した概略図。
【図５】本発明の１実施例に基づく行組版の処理の流れを示したフローチャート。
【符号の説明】
【００４５】
１：ＤＴＰシステム
２：ＤＴＰ処理制御装置
２ａ：組版制御手段（ルーチン）
２ｂ：レイアウト制御手段
２ｃ：；フォントファイル
２ｄ：キャラクタクラス割当手段（ルーチン）
３：表示装置
５：入力手段
６：出力手段
７ａ：行組版制御手段
７ｂ：間隔量設定ファイル
７ｃ：間隔量設定手段
８：変換テーブル
９：ＤＴＰ処理プログラム
１０：ＤＴＰシステム
１１：ＣＰＵ
１２：メモリ
１３：モニタ
１４：ハードディスク
１５：キーボード
【図１】
2006195767.tif 000006
【図２】
2006195767.tif 000007
【図３】
2006195767.tif 000008
【図４】
2006195767.tif 000009
【図５】
2006195767.tif 000010