JP4919245B2 - 行組版装置、行組版プログラム及びそれを記録した記録媒体 - Google Patents

行組版装置、行組版プログラム及びそれを記録した記録媒体 Download PDF

Info

Publication number
JP4919245B2
JP4919245B2 JP2005007136A JP2005007136A JP4919245B2 JP 4919245 B2 JP4919245 B2 JP 4919245B2 JP 2005007136 A JP2005007136 A JP 2005007136A JP 2005007136 A JP2005007136 A JP 2005007136A JP 4919245 B2 JP4919245 B2 JP 4919245B2
Authority
JP
Japan
Prior art keywords
character
glyph
line
line composition
procedure
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.)
Active
Application number
JP2005007136A
Other languages
English (en)
Other versions
JP2006195767A (ja
Inventor
エム. マッカリー ナサニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Priority to JP2005007136A priority Critical patent/JP4919245B2/ja
Publication of JP2006195767A publication Critical patent/JP2006195767A/ja
Application granted granted Critical
Publication of JP4919245B2 publication Critical patent/JP4919245B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、大略、デスクトップパブリッシング(DTP)に関するものであって、更に詳細には、DTPにおける電子文書の行組版技術に関するものである。
電子行組版においては、入力された一連のキャラクタ(文字、記号など)を電子文書上において行毎に配置させるために隣り合う一対のキャラクタの間の間隔を適切に設定することが必要である。特に、和文のような多種類のキャラクタを処理する電子組版においては、個々のキャラクタを別々に処理するのでは処理が複雑化するので、本願出願人の先の出願(特開2002−197077号公報)においては、キャラクタの類似性に着目して多種類のキャラクタを合理的な複数個のキャラクタクラスに分類し、連続する一対のキャラクタに対して夫々キャラクタクラスを割当て、この様にして割当てられたキャラクタクラスに基づいて連続する一対のキャラクタ間の間隔(空き量及び詰め量)を設定することを提案している。
ところで、電子行組版においては、入力された一連のキャラクタを処理する場合には、各キャラクタに対応するコード化された数値を処理するのが一般的である。そして、そのようなコード化された数値としては、最近は、ユニコード(Unicode)が使用されるのが通常である。従って、通常は、電子行組版において、上述したキャラクタクラスの割当てを行う場合にもユニコードが使用されることが多いと考えられる。
ユニコードにおいては、各キャラクタに対する数値としてユニコード値が割当てられており、それはコードポイントと呼ばれている。ユニコード基準によれば、コードポイントは「U」とそれに続く16進数とで表現され、例えば、キャラクタ「A」はU+0041として表される。更に、ユニコード基準によれば、各キャラクタに対して一意的な名前が割当てられており、U+0041のキャラクタ「A」に対しては「LATIN LETTER A」のキャラクタ名が定義されている。この様に、ユニコードは各キャラクタを対応するコードポイントで表すことを可能とし、コードポイントは数値であるから、キャラクタをCPU、マイクロプロセッサ、又はコンピュータなどにより処理することが可能であり、従って、ユニコードに基づいて電子行組版を行うことが可能である。
しかしながら、ユニコードのようなコード化された数値は、対応するキャラクタを特定するものであるが、キャラクタ自体は抽象的なものであって具体的な形態を特定するものではない。即ち、キャラクタが印刷又は表示される場合にはそのキャラクタの具体的な形態をレンダリングすることが必要であり、レンダリングを行う場合はそのキャラクタに対応する具体的な形態を特定する所謂グリフに基づくものであるが、ユニコードは特定のキャラクタとそれに対応するグリフとの対応関係を規定するものではない。従って、特定のキャラクタに対してキャラクタクラスの割当てを行う場合に、キャラクタ自体に基づいて行うことも可能であり、その場合にはキャラクタに対応するユニコード値に基づいて行うこととなる。しかしながら、キャラクタ自体は抽象的な実体であり、必ずしもそのキャラクタに対応するグリフと寸法、形状、メトリックなどの全ての属性が一致するとは限らない。それ故に、キャラクタ自体に基づいて電子文書の行組版処理を行った場合には、その電子文書を実際に印刷又は表示させた場合に、意図した行組版でなかった場合があり得る。
ユニコードは、一つの文字コード体系で世界的な多国語処理を可能にしようとするものであって、世界の主要な言語のほとんどのキャラクタを収録するものであるが、全ての異体字や異なるフォントも含めての全てのキャラクタを収録するものではない。更に、単一のユニコードが複数個の異なるグリフを参照する場合があるが、ユニコード自体は、これらの異なるグリフを区別することが可能なものではない。例えば、グリフIDの一種であるCID(即ち、CID−keyedフォントにおけるグリフID)は複数個のユニコードキャラクタに対応する場合があり、その一例としては、キャラクタ「f」とキャラクタ「l」との合字である「fl」がある。合字とは、2個又はそれ以上のキャラクタが単一の単位として表現された特別のグリフである。別の一般的な合字の例としては「fi」があり、この場合には、「f」と「i」とが並んで印刷される場合に、小文字「i」の上部のドットが小文字「f」の上部のループ部分と干渉することとなる。従って、「f」と「i」とを単一のグリフに結合させ、その場合に、「i」のドットは「f」のループ部分に吸収させ、結果的に「fi」として表わされる。尚、「f」と「l」との合字の場合も同様であり、それらの合字化した状態は以下の如くである。
Figure 0004919245
この場合に、例えば、合字「fi」はユニコードにおいてU+FB01として表される。この様に或る合字は特定のユニコードのコードポイントを有しているが、特定のアプリケーションが合字コードポイントを使用する合字をサポートする場合もあればサポートしない場合もある。一方、アプリケーションによっては、複数個のコードポイントを使用して単一の合字グリフを描画させる場合もある。例えば、或るフォントに対して単一の合字「fi」グリフを形成するために「f」に対するコードポイントと「i」に対するコードポイントとを連続して使用する場合がある。この場合には、合字としては単一のグリフであるが、ユニコードとしては連続した2個のユニコード値を取ることとなる。
更に厄介な問題としては、フォントとしてOpenTypeフォントの使用が一般化してきたことである。OpenTypeフォントを使用する場合には、ユーザが或るグリフの属性を修正することが可能である。例えば、欧文小文字のキャラクタ「a」に対応するユニコードのコードポイントは、元々、第1のグリフIDを有するグリフと関連しておりそれは属性として半角を有しているものとする。ユーザは、そのグリフの属性を例えば「全角」に修正し、第2のグリフIDを割当てることが可能である。この場合には、元のグリフは修正されたグリフで置換され、その修正されたグリフは新たに割当てられたグリフIDによって識別される。一方、該キャラクタのユニコードは不変のままであることに注意すべきである。従って、上述したキャラクタクラスの割当を行なう場合に、キャラクタのユニコードのみに基づく場合には、キャラクタが行組版された場合に、キャラクタ間の間隔が不適切となる場合が発生する。
特開2002−197077号公報
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、常時適切な間隔でDTPにおける行組版を行なうことを可能とする改良した行組版技術を提供することを目的とする。
本発明の別の目的とするところは、電子文書において行組版を実施する場合に、迅速且つ適切なキャラクタ間の間隔を設定することを可能とした技術を提供することである。
本発明の基本的な原理によれば、キャラクタの電子行組版を行なう場合に、キャラクタのユニコードのみに基づいてキャラクタクラスの割当を行なうのではなく、基本的には、キャラクタのグリフIDに基づいてキャラクタクラスの割当を行なうものである。従って、本発明によれば、常時適切な間隔でキャラクタの行組版を行なうことが可能であり、特に、OpenTypeフォントが使用されてユーザによりグリフの属性が修正されている場合であっても、適切な間隔で行組版を実施することが可能である。
本発明の第1の側面によれば、キャラクタのユニコード値を入力する入力手段を有するDTPシステムにおいて使用する行組版装置において、
キャラクタのユニコード値を対応するグリフIDへ変換する変換テーブル、
一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブル、
前記入力手段により入力されたキャラクタのユニコード値を前記変換テーブルへ適用して対応するグリフIDへ変換させ且つ前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てるキャラクタクラス割当手段、
前記キャラクタクラス割当手段により割当てられたキャラクタクラスを前記間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う行組版制御手段、
を有していることを特徴とする行組版装置が提供される。
本発明の第2の側面によれば、DTPシステムにおいて使用する行組版プログラムにおいて、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフIDへ変換させる第1手順、
前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第2手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第3手順、
とをコンピュータに実行させることを特徴とする行組版プログラムが提供される。
本発明の第3の側面によれば、DTPシステムにおいて使用する行組版プログラムを記録したコンピュータ読取可能な記録媒体において、
入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフIDへ変換させる第1手順、
前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第2手順、
前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第3手順、
とをコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体が提供される。
上記本発明の各側面において、好適には、前記グリフIDがユーザにより修正されている場合には、前記グリフIDは修正グリフIDである。更に好適には、前記修正グリフIDは、前記グリフIDのの属性が修正されている。更に好適には、前記第1手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフID変換されない場合には、前記第2手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てる。更に好適には、行組版された電子文書を表示手段に表示させる。
以下、添付の図面を参考に、本発明の具体的実施の態様について詳細に説明する。図1は、本発明の1実施例に基づく電子組版DTPシステム1を例示している。このDTPシステム1は、レイアウト及び編集などを電子組版を実行することが可能なDTP処理制御装置2と、処理中の電子文書などのデータを表示することが可能な表示装置3と、ユーザがグラフィック、テキスト、制御命令などの種々のタイプのデータを入力することが可能な入力手段5と、処理済の電子文書などのデータを出力する出力手段6とを包含している。
DTP処理制御装置2は、組版を制御するための組版制御手段2aと、レイアウト編集を行なうレイアウト制御手段2bと、印刷又は表示などのために出力すべきテキストの属性を包含しているフォント情報を格納しているフォントファイル2cと、各キャラクタを複数個のキャラクタクラスの内の一つに割当てるキャラクタクラス割当手段2dとを包含している。図1に示したシステムにおいては、フォントファイル2cは、例えば、日本語、中国語、韓国語などの表意文字に対するCJKフォント等の一つ又はそれ以上のフォントを包含している。フォントファイル2cは、更に、各フォントにおけるキャラクタのユニコードを対応するグリフIDへ変換させる変換テーブル8を有している。変換テーブル8は、例えば、公知のRegistry−Ordering−Supplement(ROS)フォーマットで登録される一つ又はそれ以上のキャラクタマップである所謂CMapから構成することが可能である。尚、ROSとは、グリフセットの名前付けの確立されている規則であり、例えば、「Adobe−Japan1−4」のフォーマットで特定のグリフセットを登録する規則である。この例の場合には、「Adobe」がRegistry(登録者)に対応しており、「Japan1」がOrdering(順序付け)に対応しており、「4」がSupplement(補遺番号)に対応している。そして、フォント製作者によって作成されたグリフセットに対してROS規則に基づいてグリフセットの名前付けが行なわれている場合には、異なるフォント間での互換性を確保することが可能である。従って、変換テーブル8は、入力手段5により入力されたキャラクタのユニコードをフォントファイル2c内の一つ又はそれ以上の異なるフォントに対して関連するグリフIDへマッピングさせることが可能である。
更に、図1に示したシステムにおいては、組版制御手段2aは、電子組版において組版される複数個のキャラクタを1行内に配置させる行組版制御手段7aと、キャラクタ間の間隔量を設定する間隔量設定ファイル7bとを有している。この間隔量とは、行組版を行なう場合において、行頭又は行末に配置されるキャラクタの行頭又は行末からの間隔の大きさ、及び行中において隣り合う一対のキャラクタの間隔の大きさのことを意味する。後に詳述するように、間隔量設定ファイル7bは、キャラクタの属するキャラクタクラスに基づいて、一対の隣接するキャラクタ間の間隔量を設定する間隔量設定テーブルを有している。組版制御手段2aは、更に、間隔量設定手段7cを包含しており、これによりユーザは間隔設定テーブル内の間隔設定量を所望の値に設定することが可能である。
更に、図1に示したシステムにおいては、DTP処理制御装置2はキャラクタクラス割当手段2dを有しており、これは、入力手段5を介して入力された各キャラクタを特定のキャラクタクラスに割当てるものである。そのようにして割当てられたキャラクタクラスを間隔量設定ファイル7b内の間隔量設定テーブルに適用して、隣接する一対のキャラクタ間の間隔の量が設定される。この場合に、入力されてくるキャラクタはユニコード値に対応付けられているので、ユニコード値に基づいて各キャラクタのキャラクタクラスへの割当を行なうことが可能である。一方、ユニコード値に対応するグリフIDが存在する場合には、ユニコード値を変換テーブル8に適用して対応するグリフIDへ変換させ、このグリフIDに基づいて入力されたキャラクタのキャラクタクラスの割当を実施することが可能である。グリフIDに基づいてキャラクタクラスの割当を行なう場合には、そのキャラクタをレンダリングして表示又は印刷した場合にキャラクタ間のより正確な間隔が得られるので、グリフIDが得られる場合にはユニコードではなくグリフIDに基づいてキャラクタクラスの割当を行なうことが望ましい。
図1に示される表示装置3は、例えばCRT,LCD等の任意のタイプのディスプレイ装置とすることが可能である。又、入力手段5はキーボード、ポインティングデバイス(マウス、トラックボール、トラックポインタ等)、スキャナー、通信インターフェース等を包含することが可能である。出力手段6は、プリンタ、外部メモリ装置等を包含することが可能である。DTP処理制御装置2は、CPU等のプロセッサやメモリ、及びメモリ内にロードされたプロセッサにより処理される組版制御ルーチン、レイアウト制御ルーチン等の種々のプログラムルーチンを包含する電子組版処理プログラム等から構成することが可能である。一方、DTP処理制御装置2は、その一部又は全部をファームウエア化させたハードウエアによる構成とすることも可能である。
図2は、汎用のコンピュータシステムに対して本発明を適用することにより本発明の行組版を実施することが可能なDTPシステム10の構成を示した概略ブロック図である。本システムは、プロセッサ11と、メモリ12と、モニタ13と、ハードディスク14と、キーボード15と、マウス16と、CD−ROMドライブ17と、フロッピディスクドライブ18と、プリンタ19とを包含している。これらのユニットは、バス20により動作上相互接続されている。DTP処理プログラム9が、電子組版において使用される組版制御ルーチン2aと、キャラクタのユニコード値を対応するグリフIDへ変換させる変換テーブル8を包含するフォントファイル2cと、電子組版のためにキャラクタを適宜のキャラクタクラスへ割当てる場合に使用されるキャラクタクラス割当ルーチン2dとを包含している。尚、図2には示していないが、組版制御ルーチンは、図1に示した行組版制御手段7a、間隔量設定テーブルを具備する間隔量設定ファイル7b、間隔量設定手段7cに夫々対応するサブルーチンを包含していることは勿論である。
DTP処理プログラム9及びその他の電子編集プログラムはCD−ROMドライブ17又はフロッピディスクドライブ18を介してインストールさせることが可能であり、又は例えばインターネット等の通信ネットワークを介してダウンロードさせ且つ例えばハードディスク14上に格納させることが可能である。更に、レイアウト制御ルーチン又はDTP処理ルーチンもハードディスク14上に格納させることが可能である。ハードディスク14上に格納されているDTP処理プログラム9はキーボード15又はマウス16を使用してユーザにより開始させることが可能であり、且つ図2に示した如くに、メモリ12内にロードさせることが可能である。従って、そのようにロードされたDTP処理プログラム9はプロセッサ11及びメモリ12の両方に展開されて機能的にはDTP処理制御装置2を構成する。従って、本発明の別の側面においては、本発明は、汎用コンピュータシステム10を行組版制御機能を具備するDTPシステムへ変換させることが可能なコンピュータプログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体(例えば、CD−ROM、フロッピディスク、テープ、半導体メモリ等)を提供している。
図3は、図1又は2に示したDTPシステム1又は10においてDTP処理中の表示装置3におけるCRT又はLCD等の画面の一部203を示している。特に、図3に示した状態は、メニューバー中の「ファイル(F)」24をクリックして得られるプルダウンメニューにおいて「新規」を選択して頁レイアウトグリッド21を有する新規電子文書を開き、更にツールボックス22内のテキストツール22aを選択して電子文書上にテキスト配置用のフレーム23を画定し、その中に複数個のキャラクタからなるテキストを入力した状態を示している。図3に示した例においては、フレーム23内に入力されたテキストは複数行に配置されており、各行内に配置される複数個のキャラクタは、行頭、行末、行中において予め設定されている行頭又は行末とキャラクタとの間及び隣接する一対のキャラクタの間の間隔量に基づいて夫々のキャラクタが配置される。即ち、例えば、2つのキャラクタが同じ行内に隣り合って配置される場合に、それらのキャラクタの属性に従って両者の間に設定される間隔量は予め間隔量設定テーブルとして間隔量設定ファイル7b内に格納されている。そして、行組版処理により実際に複数個のキャラクタが一つの行内に配置される場合には、それらのキャラクタに対して間隔量設定テーブルから得られる間隔量に基づいてそれらのキャラクタを行内に配置させるが、その場合に、行組版制御ルーチン2aが禁則処理などにより間隔量を適宜調節してキャラクタを行内に適切に配置させる。
この様に、行組版制御ルーチン2aは、複数個のキャラクタを行内に配置させる場合に間隔量設定テーブルを参照してキャラクタとキャラクタとの間の間隔量を決定し、必要である場合には、許容される範囲内で間隔量を調節しながらキャラクタを行内に配置させるものであるから、使用するキャラクタに対して隣り合って配置される他のキャラクタとの間隔量が設定されていることが必要である。しかしながら、和文をベースとした電子組版におけるように、処理対象のキャラクタが極めて多数である場合には、個々のキャラクタに対して隣り合う他のキャラクタとの間隔量を設定するとすると極めて膨大なデータからなる間隔量設定テーブルとなり、メモリ領域を浪費することとなり不合理である。そこで、間隔量設定テーブルを構成する場合に、個々のキャラクタについて他のキャラクタとの間隔量を設定する代わりに、多数のキャラクタの内で属性が類似するものを夫々別々のキャラクタクラスに分類し、行内において一対の連続するキャラクタに対して、先行するキャラクタのキャラクタクラスと後行するキャラクタのキャラクタクラスとによって一対のキャラクタ間の間隔量を設定することが考えられる。この様な考えに基づいて、上記特開2002−197077号に記載されている発明においては、文字などのキャラクタをその字幅、字間及び禁則処理条件による分割可能性等のキャラクタの組版属性に従ってキャラクタクラスを定義しており、特に、和文が処理対象である場合には、行頭、段落先頭、行末に加えて、以下の16個のキャラクタクラスを定義している。
Figure 0004919245
以上のように日本語の文章において使用されるキャラクタを16個のキャラクタクラスに分類し、これらのキャラクタクラスに基いて、行中に配置されるキャラクタが段落先頭であるか、行頭であるか、行末であるか、又は行中である場合には一対の隣接するキャラクタが夫々どのキャラクタクラスに属するものであるかに従ってキャラクタ間の間隔、即ちキャラクタ間の空き量を設定することが可能である。例えば、行中において隣接している一対のキャラクタの前のキャラクタが漢字であり次のキャラクタが平仮名である場合には、前のキャラクタのキャラクタクラスは「上記以外の和字」であり次のキャラクタのキャラクタクラスは「平仮名」であるから、これらのキャラクタ間の空き量を例えば50%(全角の幅の半分、即ち二分)に設定することが可能である。
処理対象が和文である場合には、上に定義した16個のキャラクタクラスと、段落番号、行頭、及び行末をパラメータとして一対の隣接するキャラクタの間で前のキャラクタのキャラクタクラスと次のキャラクタのキャラクタクラスとに基づいて該一対のキャラクタの間の間隔量を設定することが可能であり、そのようにして設定された間隔量設定テーブルの1例を図4に示してある。図4に示した間隔量設定テーブルは間隔量設定ファイル7b内に格納されており、図4に示されるように、縦軸方向においては「前のキャラクタ」に対して前述した16個のキャラクタクラスと行頭及び段落先頭をパラメータとして配置しており、横軸方向には「次のキャラクタ」に対して前述した16個のキャラクタクラスと行末とをパラメータとして配置している。そして、例えば、前のキャラクタのキャラクタクラスが「欧文」であり、一方次のキャラクタのキャラクタクラスが「中点類」である場合には、その交点においてこれらの一対のキャラクタに対して設定されるべき間隔量が設定されている。図10に示した具体例においては、各交点において「最適」、「最小」、「最大」の3つの間隔量が設定されており、これらの間隔量が行組版処理される場合に行なわれる間隔量の調節において他の間隔量との関係においてどのような順番で調節されるかを決定する「優先度」も設定されている。尚、図4においては、一つの交点においてのみ代表として間隔量の設定値及び優先度の設定値が示されているに過ぎないが、図4の間隔量設定テーブル内の各交点において同じ様な間隔量及び優先度が設定されていることは勿論である。
尚、図4に示した間隔量設定テーブル内の設定値はユーザが任意に設定することが可能なものであり、ユーザは図3に示されている「書式(T)」25をクリックしてプルダウンメニュー中の「間隔量設定」を選択することにより間隔量設定手段7cを起動させ間隔量設定ファイル7b内に格納されている間隔量設定テーブルへくアクセスを得ることが可能である。そして、間隔量設定手段7cが起動されると不図示のダイアログボックスが表示され、このダイアログボックスを使用してユーザは図4に示した間隔量設定テーブルの各設定値を適宜に設定することが可能である。
図4に示した間隔量設定テーブルは、特に,処理対象が和文である場合の1例であるが、処理対象が和文以外の場合であっても、図4に示されているものと同様に多数のキャラクタを所定数のキャラクタクラスに分類してキャラクタクラスに基づいて一対の隣接するキャラクタ間の間隔量を決定するための間隔量設定テーブルを構築することが可能であることは勿論である。
ところで、キャラクタをキャラクタクラスに割当てる場合には、通常、各キャラクタのユニコード値に基づいて処理を行なう。しかしながら、前述したように、最近多くのOSやアプリケーションにおいて使用されているOpenTypeフォントの場合には、ユーザが或るキャラクタのユニコード値に対応するグリフの属性を修正することが可能であり、その場合には修正されたグリフに対してはオリジナルのグリフに対するグリフIDとは異なるグリフIDが割当てられる。グリフの属性が修正されたとしても、ユニコード値は不変のままである。例えば、以下の表2に示すように、欧文大文字キャラクタTはユニコード値としてのコードポイントU+0054に対応しており、「capital letter T」という名前を有している。
Figure 0004919245
表2に示されるように、ユニコード値U+0054は、例えば、KozMinStdのOpenTypeフォントにおいてはグリフID53にマッピングされる。ここでは、グリフID53は、属性として元々「半角」を有しているものとする。そこで、ユーザがこのグリフの属性を「全角」に修正し、グリフIDがID1053に修正されたものとする。この様にグリフはその属性が修正されることによりそのグリフIDが変化しているが、このグリフに対応するユニコード値U+0054は不変のままである。そして、このグリフの属性が「半角」から「全角」へ修正されることにより、そのグリフの幅は約2倍に増加されている。この様な場合に、ユニコード値に基づいてこのキャラクタTのキャラクタクラスを決定するとすると、修正されたグリフにおいては幅が2倍に増加しているので、グリフをレンダリングして印刷又は表示された場合に、このキャラクタに対する間隔量の設定値は不都合なものとなる場合がある。
本発明においては、この様な不都合を回避するために、キャラクタのキャラクタクラスへの割当てを行なう場合に、各キャラクタのユニコード値ではなく、最終的なグリフID(即ち、修正後のグラフID)に基づいてキャラクタクラスの割当てを行なうものとし、対応するグラフIDが存在しない場合にのみ、ユニコード値に基づいてキャラクタクラスの割当てを行なうことを基本としている。従って、本発明によれば、入力されたキャラクタのユニコード値を表2に示したような構成を有する変換テーブル8に入力し、そのユニコード値に対応する最終的なグリフID(グリフが修正されている場合には、その修正後のグリフID)を抽出し、このグリフIDに基づいてキャラクタクラスの割当てを行なうものである。表2に示した例を和文行組版処理する場合には、キャラクタTがユニコード値に基づいて図4に示した間隔量設定テーブルに適用される場合には、キャラクタクラス割当てルーチン2dによって(16)欧文のキャラクタクラスに分類されるが、キャラクタTを最終的なグリフIDに基づいて間隔量設定テーブルに適用される場合には、キャラクタクラス割当てルーチン2dによって、例えば、(14)全角数字のキャラクタクラスに割当てられることとなる。従って、行組版された後に、グリフがレンダリングされ、表示又は印刷された場合に、キャラクタ間の間隔はより適切に設定されることとなる。
次に、図5を参照して、本発明の1実施例に基づいてDTPにおいて行組版を行なうプロセスについ詳細に説明する。先ず、1個又はそれ以上のユニコードキャラクタを受け取る(ステップ302)。例えば、ユニコードキャラクタ、即ちキャラクタのユニコード値からなるストリングを包含するファイルを図1又は図2に示したDTP処理制御システム1又は10により受け取るか又はロードさせることが可能である。一方、ユニコードキャラクタは、例えば、ユーザが入力手段5又はキーボード15などを操作することによりDTPシステム内に直接的に入力させることが可能である。
この様にして受け取られたユニコードキャラクタ、即ちキャラクタのユニコード値を処理して、各ユニコード値に関連するグリフIDを識別する(ステップ304)。例えば、フォントファイル2c内に格納されている特定のフォントにおいてキャラクタの組版を行う場合には、所謂CMapのような、キャラクタを対応するグリフへマッピングさせる特定のROSグリフ番号付け規則に属する変換テーブル8を使用して、キャラクタのユニコード値を対応するグリフIDへ変換させる。CMapからなるこの変換テーブルはフォントの一部とすることが可能であり、又はフォントファイルが複数個のフォントに対するユニコードの関連性を定義するCMapを包含することが可能である。
そのROSが、例えば,OpenTypeフォントなどの、一連のキャラクタからなるテキストに対して使用されるグリフをユーザが置換することを可能とするフォントに対するものである場合には、どれかのグリフが置換されているか否かを判別するためにチェックが行われる(ステップ306)。グリフが置換されている場合には、修正されたグリフのグリフIDが識別される(ステップ308)。
次いで、キャラクタに対して行組版用のキャラクタクラスが割当てられる。この場合に、最終的なグリフID、即ちグリフが修正されていない場合には、修正されていない元々のグリフに対するグリフIDか、又はグリフが修正されている場合には、修正されたグリフに対して割当てられたグリフID、をチェックし、それが既知の(即ち所定の規則に従って登録されている)ROSに属するか否かが判別される(ステップ310)。既知のROSのものではないフォントの場合には、キャラクタクラス割当てルーチン2dによって認識不可能なグリフIDが存在する場合がある。その場合には、グリフIDに基づいて適切なキャラクタクラスの割当てを行うことは不可能である。
キャラクタクラス割当てルーチン2dが特定のROSを認識することが不可能である場合には、グリフIDではなく、そのキャラクタのユニコード値に基づいてキャラクタクラスの割当てを行う(ステップ312)。一方、使用中のフォントのROSが既知である場合には、キャラクタの対応するグリフIDを使用してキャラクタクラスを決定することが可能である(ステップ314)。この様にしてグリフID又はユニコード値のいずれかに基づいて、入力されたキャラクタに対して夫々のキャラクタクラスの割当てを行った後に、図4に示した如き間隔量設定テーブルを使用して、キャラクタクラス間の間隔関係を定義する規則を使用してキャラクタ間の間隔量を設定することを包含する行組版を実施することが可能である(ステップ316)。
この様に、本発明プロセスによれば、キャラクタの対応するグリフIDが存在する場合には、そのグリフIDを使用してそのキャラクタのキャラクタクラスを決定し、一方対応するグリフIDが存在しない場合にのみそのキャラクタのユニコードを使用してそのキャラクタクラスの決定を行うので、行組版を実施後にグリフをレンダリングしてキャラクタの表示又は印刷を行う場合に、可及的に最適なキャラクタ間隔量が設定されることとを確保することが可能である。
本発明の変形例としては、入力されるキャラクタのフォントにおいては、各キャラクタに対して必ず対応するグリフIDが存在することが事前に分かっている場合には、上述した判別ステップ310及びユニコード値に基づくキャラクタクラス決定ステップ312は必要ではなく、全てのキャラクタに対してグリフIDを使用してキャラクタクラスを決定することが可能である。
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これらの具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱すること無しに種々の変形例が可能であることは勿論である。
本発明の1実施例に基づいて構成された行組版機能を具備するDTPシステムを示した概略ブロック図。 本発明の別の実施例に基づいて構成された行組版機能を具備した汎用コンピュータを基礎としたDTPシステムを示した概略図。 DTPシステムにおけるディスプレイスクリーン上に表示された電子文書を編集中の画面の一部を示した概略図。 間隔量設定ファイル内に格納されている間隔量設定テーブルの1例を示した概略図。 本発明の1実施例に基づく行組版の処理の流れを示したフローチャート。
符号の説明
1:DTPシステム
2:DTP処理制御装置
2a:組版制御手段(ルーチン)
2b:レイアウト制御手段
2c:;フォントファイル
2d:キャラクタクラス割当手段(ルーチン)
3:表示装置
5:入力手段
6:出力手段
7a:行組版制御手段
7b:間隔量設定ファイル
7c:間隔量設定手段
8:変換テーブル
9:DTP処理プログラム
10:DTPシステム
11:CPU
12:メモリ
13:モニタ
14:ハードディスク
15:キーボード

Claims (15)

  1. キャラクタのユニコード値を入力する入力手段を有するDTPシステムにおいて使用する行組版装置において、
    キャラクタのユニコード値を対応するグリフIDへ変換する変換テーブル、
    一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブル、
    前記入力手段により入力されたキャラクタのユニコード値を前記変換テーブルへ適用して対応するグリフIDへ変換させ且つ前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てるキャラクタクラス割当手段、
    前記キャラクタクラス割当手段により割当てられたキャラクタクラスを前記間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う行組版制御手段、
    を有していることを特徴とする行組版装置。
  2. 請求項1において、前記グリフIDがユーザにより修正されている場合には、前記グリフIDは修正グリフIDであることを特徴とする行組版装置。
  3. 請求項2において、前記修正グリフIDは、前記グリフIDの属性が修正されていることを特徴とする行組版装置。
  4. 請求項1乃至3の内のいずれか1項において、前記変換テーブルが一つ又はそれ以上のユニコード値を対応するグリフIDへ変換しない場合には、前記キャラクタクラス割当手段が前記一つ又はそれ以上のユニコード値に基づいてキャラクタクラスの割当てを行うことを特徴とする行組版装置。
  5. 請求項1乃至4の内のいずれか1項において、前記DTPシステムが、行組版された電子文書を表示可能な表示手段を有していることを特徴とする行組版装置。
  6. DTPシステムにおいて使用する行組版プログラムにおいて、
    入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフIDへ変換させる第1手順、
    前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第2手順、
    前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第3手順、
    とをコンピュータに実行させることを特徴とする行組版プログラム。
  7. 請求項6において、前記グリフIDがユーザにより修正されている場合には、前記グリフIDは修正グリフIDであることを特徴とする行組版プログラム。
  8. 請求項7において、前記修正グリフIDは、前記グリフIDの属性が修正されていることを特徴とする行組版プログラム。
  9. 請求項6乃至8の内のいずれか1項において、前記第1手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフID変換されない場合には、前記第2手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てることを特徴とする行組版プログラム。
  10. 請求項6乃至9の内のいずれか1項において、更に、行組版された電子文書を表示手段に表示させる第4手順をコンピュータに実行させることを特徴とする行組版プログラム。
  11. DTPシステムにおいて使用する行組版プログラムを記録したコンピュータ読取可能な記録媒体において、
    入力されるキャラクタのユニコード値を変換テーブルに基づいて対応するグリフIDへ変換させる第1手順、
    前記グリフIDに基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つに割り当てる第2手順、
    前記割当てられたキャラクタクラスを、一対の連続するキャラクタの夫々の属するキャラクタクラスに基づいて前記一対の連続するキャラクタの間の間隔を設定する間隔設定テーブルに適用して設定されるキャラクタ間の間隔に基づいて一行の組版を行う第3手順、
    とをコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体。
  12. 請求項11において、前記グリフIDがユーザにより修正されている場合には、前記グリフIDは修正グリフIDであることを特徴とするコンピュータ読取可能な記録媒体。
  13. 請求項12において、前記修正グリフIDは、前記グリフIDの属性が修正されていることを特徴とするコンピュータ読取可能な記録媒体。
  14. 請求項11乃至13の内のいずれか1項において、前記第1手順においてキャラクタのユニコード値が前記変換テーブルにより対応するグリフID変換されない場合には、前記第2手順において前記ユニコード値に基づいて前記キャラクタを予め定めた複数個のキャラクタクラスの内の一つへ割当てることを特徴とするコンピュータ読取可能な記録媒体。
  15. 請求項11乃至14の内のいずれか1項において、更に、行組版された電子文書を表示手段に表示させる第4手順をコンピュータに実行させる行組版プログラムを記録したコンピュータ読取可能な記録媒体。
JP2005007136A 2005-01-14 2005-01-14 行組版装置、行組版プログラム及びそれを記録した記録媒体 Active JP4919245B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005007136A JP4919245B2 (ja) 2005-01-14 2005-01-14 行組版装置、行組版プログラム及びそれを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005007136A JP4919245B2 (ja) 2005-01-14 2005-01-14 行組版装置、行組版プログラム及びそれを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2006195767A JP2006195767A (ja) 2006-07-27
JP4919245B2 true JP4919245B2 (ja) 2012-04-18

Family

ID=36801811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005007136A Active JP4919245B2 (ja) 2005-01-14 2005-01-14 行組版装置、行組版プログラム及びそれを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP4919245B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6501454B2 (ja) * 2014-04-23 2019-04-17 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288726B1 (en) * 1997-06-27 2001-09-11 Microsoft Corporation Method for rendering glyphs using a layout services library
US6928611B2 (en) * 2000-09-25 2005-08-09 Adobe Systems Incorporated Setting text composition spacing amount
JP2004126311A (ja) * 2002-10-03 2004-04-22 Seiko Epson Corp 文字処理装置及びその方法、並びに画像形成装置

Also Published As

Publication number Publication date
JP2006195767A (ja) 2006-07-27

Similar Documents

Publication Publication Date Title
US7228501B2 (en) Method for selecting a font
JP4497432B2 (ja) レイアウトサービスライブラリを用いたグリフの描画方法
JP4873766B2 (ja) レイアウトサービスライブラリを用いたパラグラフのレイアウト方法
US5416898A (en) Apparatus and method for generating textual lines layouts
US8044961B2 (en) Automatic synthesis of font tables for character layout
US20050216836A1 (en) Electronic document processing
US20080030502A1 (en) Diacritics positioning system for digital typography
JP5664174B2 (ja) 持ち運び可能な電子ファイルからキャラクタの外接矩形を抽出する装置及び方法
JP4112200B2 (ja) 文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
JP3795784B2 (ja) アイコン表示付き文字組空き量設定装置、文字組空き量設定プログラム及びそれを記録した記録媒体
JP4919245B2 (ja) 行組版装置、行組版プログラム及びそれを記録した記録媒体
JPH08161309A (ja) 文書作成装置
Azmi et al. Arabic typography: a survey
US9075776B2 (en) Document processing apparatus, document processing method, and program
Banouni et al. Dynamic Arabic mathematical fonts
EP1543441A2 (en) Electronic document processing
JP6765113B2 (ja) 文字列処理装置、文字列処理方法、文字列処理プログラム及びコンピュータ読み取り可能な記録媒体
Toledo Exploiting rich fonts
JPH05298317A (ja) 文書作成装置
JPH07105197A (ja) 文書処理装置
JPH11195013A (ja) 文書処理装置
JPH05303577A (ja) 文書作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091007

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120125

R150 Certificate of patent or registration of utility model

Ref document number: 4919245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250