JP5664169B2 - サーマルメディア描画装置 - Google Patents

サーマルメディア描画装置 Download PDF

Info

Publication number
JP5664169B2
JP5664169B2 JP2010261772A JP2010261772A JP5664169B2 JP 5664169 B2 JP5664169 B2 JP 5664169B2 JP 2010261772 A JP2010261772 A JP 2010261772A JP 2010261772 A JP2010261772 A JP 2010261772A JP 5664169 B2 JP5664169 B2 JP 5664169B2
Authority
JP
Japan
Prior art keywords
stroke
stroke group
group
strokes
information indicating
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
JP2010261772A
Other languages
English (en)
Other versions
JP2012111121A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010261772A priority Critical patent/JP5664169B2/ja
Priority to US13/300,802 priority patent/US8477161B2/en
Priority to CN201110391698.0A priority patent/CN102529421B/zh
Priority to EP11190272.2A priority patent/EP2457733B1/en
Publication of JP2012111121A publication Critical patent/JP2012111121A/ja
Application granted granted Critical
Publication of JP5664169B2 publication Critical patent/JP5664169B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • B41J2/35Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads providing current or voltage to the thermal head
    • B41J2/355Control circuits for heating-element selection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/435Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material
    • B41J2/475Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material for heating selectively by radiation or ultrasonic waves
    • B41J2/4753Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material for heating selectively by radiation or ultrasonic waves using thermosensitive substrates, e.g. paper

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Electronic Switches (AREA)
  • Image Generation (AREA)
  • Laser Beam Processing (AREA)

Description

本発明は、熱により発色する性質を持つサーマルメディアにレーザ光で描画する技術に関する。
リライタブル表示技術は、その利便性や環境負荷低減の点から注目度の高い技術分野として各種方式が提案されている。それらの中で、熱を利用したサーマルリライタブルメディア(TRM:Thermal Rewritable Media)はいち早く実用化に至っている。
従来、サーマルリライタブルメディアにはサーマルヘッドによる加熱記録が用いられてきたが、レーザ光により加熱して記録するレーザ記録についても検討されている(例えば、特許文献1を参照。)。レーザ記録では従来のサーマルヘッド記録と異なり非接触であるために、メディアから離れた位置からレーザ光を照射して記録が可能であり、ベルトコンベア上を移動するコンテナのような移動体への記録も容易となる。これにより、サーマルリライタブルメディアの用途が広がる可能性がある。なお、レーザによる画像形成は従来から知られている(例えば、特許文献2を参照)。
ところで、サーマルリライタブルメディアは、ある温度の熱で発色が消去され、さらに高熱をかけると発色する性質を持っている。しかし、過大な熱負荷を加えるとサーマルリライタブルメディアが変質し、メディアの寿命が短くなったり、消去が完全に行えなくなったりするなどの劣化が現れやすくなる。
描画時において過大な熱負荷が加えられるのは、所定の線幅を持ったレーザ光が重複して照射される場合であり、具体的にはストローク(レーザ光を照射しながら移動する軌跡を示す線分)の「交叉」「折り返し」「接近」がある。
図1および図2はサーマルリライタブルメディアにレーザ光で描画された文字の例を示す図である。
図1は、例えば数字の「7」を変形(斜めの線を付加)したものであるが、ストロークの交叉により重複部分P1が発生している。重複部分P1が発生すると、直前に描いたストロークの余熱があるうちに、再度レーザ光があたることになり、結果として重複部分P1がより高熱になってしまうため、サーマルリライタブルメディアに悪影響が出てしまう。
また、図1では折り返しによる重複部分P2が存在する。レーザ光の照射方向を制御するミラーの慣性の影響により、折り返し部分では比較的長時間にわたってレーザ光が照射されるため、高熱になってしまい、サーマルリライタブルメディアに悪影響をもたらす。
図2は、例えば文字の「にんべん」を描画したものであり、レーザ光の中心がなぞるストロークに重複はないが、レーザ光の線幅により重複部分P3が発生している。
このような重複部分によるサーマルリライタブルメディアへの悪影響を防止するため、本発明者らはストロークの分割・消去・短縮等による重複の除去を試みている。例えば、2つのストロークに重複がある場合、除去量の小さい方のストロークを分割・消去・短縮等の対象とすることにより重複を除去する。除去量が同じ場合は描画順(先もしくは後)によって分割・消去・短縮等の対象となるストロークを決定する。
線幅を含めたストロークの重複の除去を上述したようにして行う場合、複数のストロークが接近する場合に、一のストロークのうち他の2つのストロークに挟まれた部分が消滅し、文字としての体をなさなくなり、描画品質の低下を招くという問題があった。
例えば、「柵」「書」という文字に対して重複除去を行うと、図3(a)(b)のようになってしまう。図3(a)は主に縦方向のストロークの一部が除去された場合を示しており、図3(b)は主に横方向のストロークの一部が除去された場合を示している。
図4(a)は4本のストロークST1〜ST4の一部が重複している状態を示しており、ストロークST1上のストロークST2、ST3により挟まれた領域A1は線幅以下であるため、図4(b)に示すように、ストロークST1がストロークST1−1、ST1−2、ST1−3に分割される過程で除去され、そこにストロークがあったという痕跡(情報)が残らないことになる。
また、図4(a)でストロークST1上のストロークST3、ST4により挟まれた領域A2は線幅以上であるため、図4(b)に示すように、短くはなるが痕跡は残る。
本発明は上記の問題点に鑑み提案されたものであり、その目的とするところは、複数のストロークが接近する場合であっても情報が欠落することなく、描画品質の低下を防止することのできるサーマルメディア描画装置を提供することにある。
上記の課題を解決するため、本発明にあっては、描画文字を構成する複数のストロークの重複を検出して当該重複を除去する手段を備えたサーマルメディア描画装置であって、連続するストロークをグループ化したストローク群もしくは個々のストロークに対し、重複除去により消去される可能性があることを示す情報を付する手段と、重複除去に際し、上記の重複除去により消去される可能性があることを示す情報が付されたストローク群もしくはストロークを重複除去による消去の対象から除外する手段とを備え、前記情報を付する手段は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群の端部が短縮されることを示す情報を当該注目するストローク群に付する手段を備え、前記除外する手段は、前記注目するストローク群に前記注目するストローク群の端部が短縮されることを示す情報が付され、且つ、前記他のストローク群に何も情報が付されていない場合に、前記注目するストローク群の端部を短縮することにより重複除去を行うサーマルメディア描画装置を要旨としている。
本発明のサーマルメディア描画装置にあっては、複数のストロークが接近する場合であっても情報が欠落することなく、描画品質の低下を防止することができる。

サーマルリライタブルメディアにレーザ光で描画された文字の例を示す図(その1)である。 サーマルリライタブルメディアにレーザ光で描画された文字の例を示す図(その2)である。 ストロークの一部が除去された文字の例を示す図である。 ストロークの一部が除去される様子を示す図である。 本発明の一実施形態にかかるサーマルリライタブルメディア描画装置の構成例を示す図である。 全体制御装置の構成例を示す図である。 ユーザの指定するパラメータのデータ構造例を示す図である。 描画文字管理データの構造例を示す図である。 フォントデータの構造例を示す図である。 ストロークフォントのデータ構造例を示す図である。 アウトラインフォントのデータ構造例を示す図である。 ストローク群管理データの構造例を示す図である。 交点列データの構造例を示す図である。 フラグ等データの構造例を示す図である。 実施形態の処理の概要を示すフローチャートである。 処理の例を示す図である。 実施形態の処理例を示すフローチャートである。 ストロークの重複除去の処理例を示すフローチャートである。 ストロークのグループ化の処理例を示すフローチャートである。 始点・終点が一致する2つのストロークと判断する角度の例を示す図である。 グループ化するための角度条件による描画結果の例を示す図である。 太くする分だけ並行ストロークを生成の処理例を示すフローチャートである。 平行ストロークの生成途中の状態の例を示す図である。 グループ内の重複除去の処理例を示すフローチャートである。 ストローク間の最小距離を導出の処理例を示すフローチャートである。 ストロークが平行な場合の例を示す図である。 ストロークが平行でなく交点がストローク内に存在しない場合の例を示す図である。 平行の場合のストローク分割等の処理例を示すフローチャートである。 平行なストロークの短縮および削除の例を示す図である。 非平行の場合のストローク分割等の処理例を示すフローチャートである。 ストロークが平行でない場合の処理の例を示す図である。 消滅可能性のあるストロークにマークを付与の処理例を示すフローチャートである。 ストロークの交叉角度による交点間距離の補正の例を示す図である。 ストローク群同士の重複除去の処理例を示すフローチャート(その1)である。 ストローク群同士の重複除去の処理例を示すフローチャート(その2)である。 ストロークがわずかに他のストロークに接触する例を示す図である。 フラグ群からどちらのストローク群を短縮・分割するかを選択の処理例を示すフローチャートである。 太文字の場合の描画例を示す図である。 従来の問題点が改善された例を示す図である。
以下、本発明の好適な実施形態につき説明する。
<構成>
図5は本発明の一実施形態にかかるサーマルリライタブルメディア描画装置1の構成例を示す図である。
図5において、サーマルリライタブルメディア描画装置1は、装置全体を制御する全体制御装置11と、レーザ光を照射するレーザ照射部12とを有する。また、レーザ照射部12は、レーザ光を発生するレーザ発振器13と、レーザ光のスポット径を調整(スポット径を大きくする)するスポット径調整レンズ14と、レーザ光の照射方向を変える方向制御ミラー15と、方向制御ミラー15を駆動する方向制御用モータ16と、方向制御ミラー15により方向の変えられたレーザ光をサーマルリライタブルメディア2上に収束させる焦点距離調整レンズ17とを有している。
レーザ発振器13は、半導体レーザ(LD(Laser Diode))が一般に用いられるが、気体レーザ発振器、固体レーザ発振器、液体レーザ発振器等であってもよい。方向制御用モータ16は、方向制御ミラー15の反射面の向きを2軸に制御する例えばサーボモータである。方向制御用モータ16と方向制御ミラー15とによりガルバノミラーを構成する。
サーマルリライタブルメディア2は、例えばロイコ染料と顕色剤が分離した状態で膜を形成し、そこに所定温度Taの熱を加え急冷することでロイコ染料と顕色在が結合して発色し、所定温度Taよりも低い所定温度Tbを加えるとロイコ染料と顕色剤が分離した状態に戻ることで消色するメディア、例えば書き換え可能な感熱タイプの紙である。本実施形態では、このような書き換え可能なサーマルリライタブルメディア2の劣化抑制を可能とするが、サーマルペーパのように書き換えが可能でないメディアに対しても適用することができる。
図6は全体制御装置11の構成例を示す図である。ここでは、主にソフトウェアによって全体制御装置11を実装する場合のハードウェア構成を示しており、コンピュータを実体としている。コンピュータを実体とせず全体制御装置11を実現する場合、ASIC(Application Specific Integrated Circuit)等の特定機能向けに製造されたICを利用する。
全体制御装置11は、CPU111、メモリ112、記憶装置113、入力装置114、ディスプレイ115、CD/DVDドライブ116およびネットワーク装置117を有している。ハードディスクドライブ等の記憶装置113には、ストロークフォントおよびアウトラインフォントの一連の文字のフォントデータを記憶するフォントデータDB1131と、フォントデータから重複を排除した描画命令を生成しレーザ照射部12(図5)を制御する文字描画プログラム1132が記憶されている。
CPU111は、記憶装置113から文字描画プログラム1132を読み出して実行し、後述する手順で、サーマルリライタブルメディア2に文字を描画する。メモリ112は、DRAMなどの揮発性メモリで、CPU111が文字描画プログラム1132を実行する際の作業エリアとなる。入力装置114は、マウスやキーボードなどレーザ照射部12を制御する指示をユーザが入力するための装置である。ディスプレイ115は、例えば文字描画プログラム1132が指示する画面情報に基づき所定の解像度や色数で、GUI(Graphical User Interface)画面を表示するユーザインタフェースとなる。例えば、サーマルリライタブルメディア2に描画する文字の入力欄等が表示される。
CD/DVDドライブ116は、CD/DVD31を脱着可能に構成され、CD/DVD31からデータを読み出し、また、データを書き込む。フォントデータDB1131および文字描画プログラム1132は、CD/DVD31に記憶された状態で配布され、CD/DVD31から読み出されて記憶装置113にインストールされる。CD/DVD31は、この他、ブルーレイディスク、SDカード、メモリースティック(登録商標)、マルチメディアカード、xDカード等、不揮発性のメモリで代用することができる。
ネットワーク装置117は、LANやインターネットなどのネットワークに接続するためのインターフェイス(例えばイーサネット(登録商標)カード)であり、OSI基本参照モデルの物理層、データリンク層に規定されたプロトコルに従う処理を実行して、レーザ照射部12に文字コードに応じた描画命令を送信することを可能とする。フォントデータDB1131および文字描画プログラム1132は、ネットワークを介して接続した所定のサーバからダウンロードすることができる。なお、ネットワーク経由でなく、USB(Universal Serial Bus)、IEEE1394、ワイヤレスUSB、Bluetooth等で直接、全体制御装置11とレーザ照射部12を接続してもよい。
サーマルリライタブルメディア2に描画される描画対象の文字は、例えばリスト状に記憶装置113に記憶されているか、入力装置114から入力される。文字は、UNICODEやJISコードなどの文字コードで特定され、全体制御装置11は文字コードに対応する文字のフォントデータをフォントデータDB1131から読み出し、それを描画命令に変換することでレーザ照射部12を制御する。
図7〜図14はサーマルリライタブルメディア描画装置1の全体制御装置11における処理に際して用いられるデータ例を示したものである。
図7はユーザの指定するパラメータのデータ構造例を示す図であり、「文字種」「文字列 (文字コード列)」「太文字(平行ストロークの本数、重なり幅)」「文字サイズ(幅、高さ)」「文字間隔」「行間隔」「行方向」「描画範囲」「描画可能範囲」「回転」等の項目を有している。
図8は描画文字管理データの構造例を示す図であり、描画対象文字ごとに、「通番(描画順)」「文字コード」「描画位置(X座標、Y座標)」「描画倍率」等の項目を有している。
図9はフォントデータの構造例を示す図であり、文字の線芯の軌跡で表現したストロークフォントデータと、文字の輪郭の軌跡で表現したアウトラインフォントデータとを含んでいる。ストロークフォントデータは、文字ごとに「文字コード」に「ストロークフォントデータ」が対応付けられている。アウトラインフォントデータは、「文字コード」に「アウトラインフォントデータ」が対応付けられている。
図10(a)はストロークフォントのデータ構造例を示す図であり、文字コードを表わす「c」で始まる行に続き、移動を表わす「m」で始まる行と、直線描画を表わす「d」で始まる行と、この例では出現しないが、曲線描画を表わす「b」で始まる行とが列記されている。図10(a)のストロークフォントデータに対応する文字を図9(b)に示している。
図11(a)はアウトラインフォントのデータ構造例を示す図であり、文字コードを表わす「c」で始まる行に続き、移動を表わす「m」で始まる行と、直線描画を表わす「d」で始まる行と、曲線描画を表わす「b」で始まる行とが列記されている。図11(a)のアウトラインフォントデータに対応する文字を図11(b)に示している。
図12(a)はストローク群管理データの構造例を示す図であり、ストローク群の通し番号を表わす「GN」で始まる行と、属するストロークの総数を表わす「NM」で始まる行に続き、このストローク群に属するストロークのデータが列記されている。各ストロークのデータは、ストローク番号を表わす「SN」で始まる行と、始点のX座標を表わす「XS」で始まる行と、始点のY座標を表わす「YS」で始まる行と、終点のX座標を表わす「XE」で始まる行と、終点のY座標を表わす「YE」で始まる行とを含んでいる。図12(a)に対応するストローク群の例を図12(b)に示している。
図13は各ストローク群に対応付けられた交点列データの構造例を示す図であり、各交点につき、「第1のストローク群番号」「第1のストローク群のストローク番号」「第2のストローク群番号」「第2のストローク群のストローク番号」「交点座標」「交叉角度」等の項目を有している。
図14は各ストローク群に対応付けられたフラグ等データの構造例を示す図であり、「消滅可能性マーク」「フラグterm」「フラグvanish」「フラグflag」「フラグother」「合計削除面積」等の項目を有している。
<動作>
図15は上記の実施形態の処理の概要を示すフローチャートである。また、図16(a)は通常文字描画の例を示しており、図16(b)は太文字描画の例を示している。
図15において、処理を開始すると、各描画対象文字について、1もしくは複数のストロークから構成されるフォント線芯情報を取得する(ステップS11)。図16(a)の(i)はその状態を示している。太文字描画の場合も同様である。
次いで、図15に戻り、ストロークが連続するストローク群を抽出する(ステップS12)。図16(a)の(ii)はその状態を示している。太文字描画の場合も同様である。
次いで、図15に戻り、太文字描画の場合は、線幅を増やすための平行ストロークを生成する(ステップS13)。図16(b)の(iii)はその状態を示している。
次いで、図15に戻り、ストローク群内の重複除去を行う(ステップS14)。図16(a)(b)の(iv)はその状態を示している。この例では、文字「す」の上から下に書き下ろす途中のループ部分の根元の重複部分が除去される。
次いで、図15に戻り、ストローク群間の重複除去を行う(ステップS15)。図16(a)(b)の(v)はその状態を示している。この例では、文字「す」の上部の左から右に直線的に伸びるストロークと上から下に書き下ろすストロークとの交叉における重複部分が除去される。
次いで、図15に戻り、重複の除去された描画データを出力し(ステップS16)、描画が行われて処理を終了する。
図17は上記の実施形態の処理例を示すフローチャートである。
図17において、処理を開始すると、ユーザが与えたパラメータに形式的な不備がないか否かチェックを行う(ステップS101)。
次いで、ユーザが与えたパラメータから文字コード、文字間隔、行間隔等を取得し、1文字ずつ描画位置を導出し、描画文字管理データに設定する(ステップS102)。
次いで、描画倍率を文字ごとに導出し、描画文字管理データに設定する(ステップS103)。フォントは例えば256×256画素のメッシュ上の座標値として定義されている。これをユーザが与えた文字サイズ(例えば、横3センチ、縦2.5センチ)に拡大するための倍率を導出する。ストロークは太さ(線幅)を持つので、ユーザが与えた文字サイズよりも、上下左右を線幅の半分だけ文字サイズを小さく考えて、描画倍率を導出する。太文字を描く場合は、ユーザにより指定された平行ストロークの本数に従い、ストロークを例えば3本〜9本、平行に描くため、線幅が3〜9倍になったとみなし、描画倍率をその分小さく設定する。
次いで、先頭から1文字ずつ、文字がユーザ指定の描画範囲や、描画可能範囲(≒媒体の広さ)を超えていないか判断する(ステップS104)。回転が指定されている場合があるので、回転した場合にはみ出ないことを確認する。
次いで、はみ出る文字は描画対象文字から抹消(描画文字管理データを削除)する(ステップS105)。
次いで、全ての文字について処理したか否か判断し(ステップS106)、処理していない場合(ステップS106のNo)は、はみだしの判断(ステップS104)に戻る。
全ての文字について処理した場合(ステップS106のYes)は、文字の描画順を、高速になるように並べ替える(ステップS107)。文字列は例えば横書きで描画され、左から右、上から下の順に描画するように初期定義されるが、ある文字行の右端から1段下の文字行の左端までの距離が遠いため、描画時間が多くかかる。そのため、1行おきに左から右、右から左と描画の向きを変える処理を行う。
次いで、設定された描画順に従い、1文字ずつ、フォントデータからストローク情報を取得する(ステップS108)。すなわち、フォントデータから、先に定義された描画倍率に従ってストロークの座標を取得する。通常の文字を描画するならストロークフォントからストローク情報を取得し、袋文字を描画するならアウトラインフォントからストローク情報を取得する。
次いで、ストロークの重複除去を行う(ステップS109)。ストロークが重複すると過熱するため、これを防ぐために、ストロークを過不足なく分割したり、短縮したり、削除したりする処理である。ストロークは線分情報であるが、実際には線幅を持つため、ストローク同士が交叉する場合だけでなく、ストローク同士が接近するだけでも重複除去を行う必要がある。処理内容の詳細は後述する。
次いで、全ての文字について処理したか否か判断し(ステップS110)、処理していない場合(ステップS110のNo)は、ストローク情報の取得(ステップS108)に戻る。
全ての文字について処理した場合(ステップS110のYes)は、白抜き文字への変換処理を行う(ステップS111)。白抜き文字を描画する場合に限り行われる処理である。
次いで、ストロークをパラメータにしたがって回転する(ステップS112)。ストロークは線分の端点座標で定義されるので、これを単純に回転させればよい。
次いで、内部で扱っているストロークのデータ形式を、描画コントローラ(下位コントローラ)で解釈可能な、描画データの形式に変換し(ステップS113)、処理を終了する。
図18はストロークの重複除去(図17のステップS109)の処理例を示すフローチャートである。
図18において、処理を開始すると、処理対象の文字1つに対し、これが塗りつぶし文字であるかどうかを判定する(ステップS201、S202)。塗りつぶし文字とは、「●」、「★」など、通常のストロークでは表現しづらい文字を、塗りつぶしを行う平行ストロークによって定義した文字である。きわめて細かいピッチの線分データがフォントデータに格納されているため、描画対象の線幅にあわせて間引く必要がある。判断は、ストロークがほぼすべて平行であるかどうかで行う。
塗りつぶし文字の場合(ステップS202のYes)は、いったんビットマップ化し、そのビットマップを内部でスキャンすることで改めてストロークを定義する(ステップS203)。そして、処理を終了する。
塗りつぶし文字でない場合(ステップS202のNo)は、ストロークの統合を行う(ステップS204)。フォントデータに格納されているストロークは、同一直線上にありながら、複数の線分が重複して定義されていることがある。これを1本の直線にまとめて処理の効率化を図る。
次いで、ストロークすべてについて、端点が同一であるストローク同士は隣り合って格納されるよう、格納順を並べ替える(ステップS205)。
次いで、反転文字描画であるか否か判断する(ステップS206)。
反転文字描画の場合(ステップS206のYes)は、処理をここで終了する。まだ重複が残っているが、格納された文字データ自体は描画対象ではないので、以降の重複除去処理は不要になる。
反転文字描画でない場合(ステップS206のNo)は、ストロークのグループ(群)化を行う(ステップS207)。端点が同一となる複数のストロークは連続しているとみなしてグループ化する処理である。描画の際、連続するストロークはレーザをOFFにせず続けて描画する。このグループは、連続した一群のストロークの単位である。処理内容の詳細は後述する。
次いで、ストローク群の一つ一つについて、グループ内で重複があるかどうかを判断し、あればストロークの分割、短縮、削除を行う(ステップS208)。処理内容の詳細は後述する。
次いで、消滅可能性のあるストローク群にマークを付ける(ステップS209)。分割・短縮・削除を行った場合に、ストローク全体が消えてしまったり、2つのストロークにはさまれた部分が消えてしまったりすると、情報量が欠落して視認性が大きく低下すると考えられるので、こうしたストロークは分割や短縮が行われにくいよう、判別してマークをつけておく処理である。処理内容の詳細は後述する。
次いで、ストローク群を2つ選び、それらが重複している場合は重複除去を行う(ステップS210)。処理内容の詳細は後述する。
次いで、ストローク群の端点を延長する(ステップS211)。端点部は熱が逃げやすいため、実際に描画すると狙いより線が短くなってしまう。そこで、ストローク群の端点部を少し延長して長めに描画することで、結果として狙い通りの長さの線を描くことができる。
次いで、文字内ストローク順を並べ替える(ステップS212)。効率の良い順番で描くことで、無駄なジャンプ(空走)を減らして、実際にレーザマーカで描く際の描画時間を短縮することができる。
次いで、交点ジャンプ設定を行う(ステップS213)。交点ジャンプとは、マーク速度と同じ速度でジャンプを行うことを指す。通常、ジャンプはマーク(描画)よりも高速で行われるため、その前後にはミラーを安定させるためにある程度の待ち時間(ディレイ)を置かなければならない。マークとマークにはさまれたジャンプの速度をマークと同じにすることで、待ち時間の挿入が不要になるため、描画にかかる時間を節約できる。その後、処理を終了する。
図19はストロークのグループ化(図18のステップS207)の処理例を示すフローチャートである。
図19において、処理を開始すると、処理対象が太文字かどうかを判断する(ステップS301)。これはユーザにより与えられたパラメータから判断する。
太文字の場合(ステップS301のYes)は、以下の太文字についての処理(ステップS302〜S307)を行う。太文字でない場合(ステップS301のNo)は、太文字についての処理(ステップS302〜S307)を行わない。
太文字についての処理では、まず、2つのストロークを選び(ステップS302)、始点・終点が一致するかどうかを判断する(ステップS303)。
一致する場合(ステップS303のYes)、更に、一致点を中心とする角度が85度を越えるか否か判断する(ステップS304)。図20は始点・終点が一致する2つのストロークと判断する角度の例を示している。角度「85度」の意味については後述する。
図19に戻り、一致点を中心とする角度が85度を超える場合(ステップS304のNo)、両者を同一グループとしてまとめる(ステップS305)。
始点・終点が一致しない場合(ステップS303のNo)もしくは始点・終点が一致する2つのストロークの角度が85度を越えない場合(ステップS304のYes)は、グループ化(ステップS305)を行わない。
次いで、すべての組み合わせを吟味したか否か判断し(ステップS306)、吟味していない場合(ステップS306のNo)は2つのストロークの選択(ステップS302)に戻る。
すべての組み合わせについて吟味した場合(ステップS306のYes)は、太くする分だけ、平行ストロークを発生させる(ステップS307)。例えば3本線で太線を表現する場合には、ストロークの脇に1本ずつ、計2本の平行なストロークを発生させる。処理内容の詳細は後述する。
次いで、太文字の場合も、そうでない場合も、2つのストロークを選び(ステップS308)、始点・終点が一致するかどうかを判断する(ステップS309)。
一致する場合(ステップS309のYes)、更に、一致点を中心とする角度が135度を越えるか否か判断する(ステップS310)。角度「135度」の意味については後述する。
一致点を中心とする角度が135度を超える場合(ステップS310のNo)、両者を同一グループとしてまとめる(ステップS311)。
始点・終点が一致しない場合(ステップS309のNo)もしくは始点・終点が一致する2つのストロークの角度が135度を越えない場合(ステップS310のYes)は、グループ化(ステップS311)を行わない。
次いで、すべての組み合わせを吟味したか否か判断し(ステップS312)、吟味していない場合(ステップS312のNo)は2つのストロークの選択(ステップS308)に戻る。
すべての組み合わせについて吟味した場合(ステップS312のYes)は、処理を終了する。
以上の処理で角度が重要になるのは、急角度での折れ曲がりを別のストローク群にするためである(例えば、文字「ヌ」の右上部分)。ミラーの慣性により、折れ曲がり部は向きを変えるのに時間がかかり、長い時間レーザが照射され、過熱してしまう。よって、この部分は別のストローク群にしていったんレーザをOFFにする必要がある。
太文字の場合は、新たに生成した平行ストロークをグループ化する必要があることと、グループ化するための角度条件が異なるので、2度のグループ化が必要である。
角度条件を仮に設けないとすると、急角度の折れ曲がり部分は図21(a)のような結果になってしまう。もし、角度条件を後段の処理の135度と同じにすると、図21(b)のような結果となり、文字「5」の左上の見栄えが良くない。そこで、適正な角度(85度)で処理を行うことで、図21(c)のような結果が得られる。
図22は太くする分だけ並行ストロークを生成(図19のステップS307)の処理例を示すフローチャートである。
図22において、処理を開始すると、ストローク群を新たに生成するため、格納に必要なストローク群配列(ストローク群管理データ)を新たに確保する(ステップS401)。
次いで、元ストローク群番号の修正を行う(ステップS402)。ストローク群には番号を付けて識別に利用しているが、現時点では「0」から始まる1刻みの値が入っている。これを、ユーザによって指定された平行ストロークの本数にあわせて変更する。例えば、太線を3本のストロークを並べて表現する場合は、現在あるストローク群番号を「0,1,2,3,・・,n」から「1,4,7,10,・・,3n+1」に変更する。5本の場合は、「2,7,12,17,・・,5n+2」と変更する。つまり、平行ストロークがi本ある場合は、同一ストローク群から派生した平行ストローク群が連続して格納されるようにし、その連続の中心に現在あるストロークが位置するようにする。これは、後段で、どれが中心ストロークかを判断できるようにするための処理である。
次いで、1つのストローク群を取得し(ステップS403)、そのストローク群の1つのストロークを取得し(ステップS404)、このストロークの単位法線ベクトルを求める(ステップS405)。単位法線ベクトルはストロークの始点・終点を通る直線の式から求められる。
次いで、単位法線ベクトルの方向に線幅分だけシフトした位置に、注目しているストロークと同じ長さの新たなストロークを生成する(ステップS406)。正確には、ユーザが指定する重なり幅(Fill Overlap)分だけ、シフト位置は小さくする。
次いで、注目しているストローク群に含まれる全てのストロークを吟味したか否か判断し(ステップS407)、吟味していない場合(ステップS407のNo)はストロークの取得(ステップS404)に戻る。
全てのストロークを吟味した場合(ステップS407のYes)は、ユーザにより指定された平行ストロークの本数に基づいて他に発生させる平行ストロークはないか判断し(ステップS408)、ある場合(ステップS408のNo)はストロークの取得(ステップS404)に戻る。
他に発生させる平行ストロークはない場合(ステップS408のYes)は、次の処理に移行する。
この時点では、図23(a)に示すように、平行ストロークは互いに正しくつながっておらず、折れ曲がりの内側では重複、外側ではストロークの断絶が発生している。そこで、その修正の処理を続行する。
図22に戻り、同一のストローク群に属する平行ストローク(例えば、図23(a)の一番上のストローク)で隣接しているものを選び(ステップS409)、その交点を求める(ステップS410)。
次いで、求めた交点までストロークを短縮あるいは延長する(ステップS411)。
次いで、全ての組み合わせを吟味したか否か判断し(ステップS412)、してない場合(ステップS412のNo)は隣接ストロークの選択(ステップS409)に戻る。
全ての組み合わせを吟味した場合(ステップS412のYes)は、全てのストローク群を吟味したか否か判断し(ステップS413)、していない場合(ステップS413のNo)はストローク群の取得(ステップS403)に戻る。
全てのストローク群を吟味した場合(ステップS413のYes)は、処理を終了する。
図24はグループ内の重複除去(図18のステップS208)の処理例を示すフローチャートである。
図24において、処理を開始すると、1つのストローク群を取得する(ステップS501)。
次いで、そのストローク群の内部の2本のストロークを取得する(ステップS502)。
次いで、その2本のストローク間の最小距離を求める(ステップS503)。処理内容の詳細は後述する。
次いで、求めた最小距離が線幅以下であるか否か判断する(ステップS504)。
最小距離が線幅以上である場合(ステップS504のNo)は、2本のストロークは重複しないので、次のストロークの組の判断に移行する。
最小距離が線幅以下である場合(ステップS504のYes)は、2本のストロークは重複するとわかり、更に、それらが平行であるかどうかを判断する(ステップS505)。
平行である場合(ステップS505のYes)は、格納順が後のストロークに対して平行の場合のストローク分割等を行う(ステップS506)。処理内容の詳細は後述する。
平行でない場合(ステップS505のNo)は、格納順が後のストロークに対して非平行の場合のストローク分割等を行う(ステップS507)。処理内容の詳細は後述する。
ここで、平行の場合および平行でない場合の両者とも、格納順が後のストロークを分割等の対象とすることで、一つのストローク群内で重複する場合における複数のストロークの近接部分での寸断を防止することができる。
最小距離が線幅以上である場合(ステップS504のNo)と、ストローク分割等(ステップS506、S507)の後、注目しているストローク群内の全てのストロークの組を吟味したか否か判断し(ステップS508)、吟味していない場合(ステップS508のNo)はストロークの組の取得(ステップS502)に戻る。
注目しているストローク群内の全てのストロークの組を吟味した場合(ステップS508のYes)は、全てのストローク群を吟味したか否か判断し(ステップS509)、吟味していない場合(ステップS509のNo)はストローク群の取得(ステップS501)に戻り、吟味している場合(ステップS509のYes)は分割処理が行われたか否か判断する(ステップS510)。
分割処理が行われた場合(ステップS510のYes)は分割されたストロークを境に別グループに分割し(ステップS511)、処理を終了する。分割処理が行われなかった場合(ステップS510のNo)はそのまま処理を終了する。
図25はストローク間の最小距離を導出(図24のステップS503)の処理例を示すフローチャートである。
図25において、処理を開始すると、距離を求める2本のストロークの端点が明らかに線幅以上であるか、すなわち、そのX座標同士、Y座標同士の差が線幅以上であるか否か判断する(ステップS601)。
明らかに線幅以上である場合(ステップS601のYes)は、2本のストロークは重複しないので、正確な距離を求めることなく、非常に大きな距離を設定し(ステップS602)、処理を終了する。本処理の目的は、重複するかどうかの判定なので、線幅より遠い場合に計算は不要である。
明らかに線幅以上でない場合(ステップS601のNo)は、両ストロークが平行かどうかを判断する(ステップS603)。平行であるかどうかは、各ストロークの始点・終点を通る直線の式の傾きを比較することで行うことができる。
平行であれば(ステップS603のYes)、後段の処理を簡単にするために、両ストロークをX軸方向に平行になるように回転する(ステップS604)。
次いで、回転したストローク同士が、X方向に重なりがあるかどうかを見る(ステップS605)。
X方向に重なりがある場合(ステップS605のYes)、直線同士の距離(Y方向の差異)がストローク間距離の最小値なので、その値を距離として返し(ステップS606)、処理を終了する。図26(a)に示すような場合が該当する。
図25に戻り、X方向に重なりがある場合(ステップS605のNo)、端点同士の距離の最小値が、ストローク間距離の最小値なので、それを計算して返し(ステップS607)、処理を終了する。図26(b)に示すような場合が該当する。
図25に戻り、ストローク同士が平行でない場合(ステップS603のNo)は、両ストロークの交点を求め、交点がストローク内にあるか否か判断する(ステップS608)。
交点がストローク内に存在する場合(ステップS608のYes)は、距離を「0」として返し(ステップS609)、処理を終了する。
交点がストローク内に存在せず、その延長線上に存在する場合(ステップS608のNo)は、まず、端点間の距離の最小値αを求める(ステップS610)。
次いで、ある端点から、他方のストロークを通る直線上に垂線を下ろすことを考え、その足の座標を求める(ステップS611)。
次いで、垂線の足がストローク内にあるか否か判断する(ステップS612)。
足がストローク内にある場合(ステップS612のYes)は、足までの距離βを求める(ステップS613)。図27はα、βの例を示している。
図25に戻り、足がストローク内にない場合(ステップS612のNo)はなにもしない。
次いで、全ての端点について吟味したか判断し(ステップS614)、まだである場合(ステップS614のNo)は垂線の足の導出(ステップS611)に戻る。
全ての端点について吟味した場合(ステップS614のYes)は、α、βの最小値をストローク間距離の最小値として返し(ステップS615)、処理を終了する。
図28は平行の場合のストローク分割等(図24のステップS506)の処理例を示すフローチャートである。
図28において、処理を開始すると、2本のストロークをX軸と平行になるように回転する(ステップS701)。
次いで、端点間距離が線幅となるように、一方を短縮可能か判断する(ステップS702)。
一方を短縮可能な場合(ステップS702のYes)は、短縮処理を行う(ステップS703)。つまり、図29(a)に示すように、X方向にずれており、短縮してもストロークが消滅しないだけの長さが残る場合には、短縮処理を行う。
図28に戻り、短縮不可能な場合(ステップS702のNo)は、短いほうのストロークを削除する(ステップS704)。つまり、図29(b)に示すような場合には、短いほうのストロークを削除する。
図28に戻り、次いで、削除したストロークの長さを算出して格納しておく(ステップS705)。
次いで、処理した結果のストロークを、最初の処理とは逆方向に回転してもとの向きに戻し(ステップS706)、処理を終了する。
図30は非平行の場合のストローク分割等(図24のステップS507)の処理例を示すフローチャートである。なお、2本のストロークをストローク#0、#1と呼ぶこととし、ストローク#1によりストローク#0が分割・短縮されると仮定して処理を行う。
図30において、処理を開始すると、ストローク#0上のストローク#1からの距離が線幅tとなる点A0、B0を取得する(ステップS801)。
次いで、点A0,B0からストローク#1におろした垂線の足A1、B1を求める(ステップS802)。図31(a)はこの状態における例を示している。ストロークを直線で示し、描画される線幅の限界位置を破線で表現している。
図30に戻り、次いで、A1がストローク#0の範囲内にあるか否か判断する(ステップS803)。
A1がストローク#0の範囲内にあるなら(ステップS803のYes)、A0がストローク#0の新たな端点となる(ステップS804)。
A1がストローク#0の範囲内になければ(ステップS803のNo)、A0は新たな端点としては短縮しすぎである。そこで、ストローク#1の端点から距離t(線幅)にある、ストローク#0上の点A3を求める(ステップS805)。
そして、A3を分割されたストロークの新しい端点とする(ステップS806)。図31(b)はこの状態における例を示している。
図30に戻り、B側についても同様に処理を行って新しい端点を求め(ステップS807)、削除したストローク長を求め(ステップS808)、処理を終了する。
図32は消滅可能性のあるストロークにマークを付与(図18のステップS209)の処理例を示すフローチャートである。
図32において、処理を開始すると、ストローク群#0、#1として1つずつ選び(ステップS901、S902)、ストローク群#0、#1から1つずつストロークを選び(ステップS903)、両者のストロークに交点があるかどうか判断する(ステップS904)。
交点があるなら(ステップS904のYes)、交点座標と交叉角度を、ストローク群#0に関連付けて交点配列(交点列データ)に格納する(ステップS905、S906)。交点がない場合(ステップS904のNo)はなにも行わない。
次いで、全てのストロークの組み合わせについて吟味したか否か判断し(ステップS907)、吟味していない場合(ステップS907のNo)はストロークの組の選択(ステップS903)に戻る。
全てのストロークの組み合わせについて吟味した場合(ステップS907のYes)は、ストローク群#1として全てのストローク群を吟味したか否か判断し(ステップS908)、吟味していない場合(ステップS908のNo)は、ストローク群#1の選択(ステップS902)に戻る。
ストローク群#1として全てのストローク群を吟味した場合(ステップS908のYes)は、取得したストローク群#0の交点座標群を、ストローク群#1の始点に近い順にソートする(ステップS909)。
次いで、隣接する交点間の距離を求める(ステップS910)。
次いで、一つの交点間に注目し、その交点間の側にストローク#1が存在するか否か判断する(ステップS911)。図33(a)は、交点A、Bの真ん中にストローク#1との交点Cが存在し、今、交点A、C間に注目しているとすると、ストローク#1は左下に傾いているため、交点C、B間ではなく、交点A、C側に存在すると判断される。
図32に戻り、注目する交点間の側にストローク#1が存在する場合(ステップS911のYes)は、交点間距離に対し、交叉角度による補正を行う(ステップS912)。図33(a)のような場合、交点Cとその脇にある別のストロークとの交点A、Bの距離はそれぞれ等しい。しかし、線には幅があるために、図33(b)のように交点A側の実質的な距離d1は反対側の交点B側の距離d2よりも実質的には小さいとみなされる。仮に距離d1が0になるとその間のストロークは消滅する可能性があるといえるので、角度による補正は重要である。もし、求める交点間距離が交点Aの側であれば、角度による補正を行う。元の距離から距離d3だけ差し引けばよいから、交叉角度をθ、線幅をtとすると、
d3 = t/2sinθ
となる。
図32に戻り、注目する交点間の側にストローク#1が存在しない場合(ステップS911のNo)は、線幅の半分、すなわち、t/2だけ交点間距離から差し引く(ステップS913)。図33(b)における交点C、B間についてはこの処理が行われる。
図32に戻り、次いで、補正後の距離が線幅以下であるか否か判断する(ステップS914)。
もし距離が線幅以下となったら(ステップS914のYes)、これら交点の両方でストローク#0が分割された場合、この間にストロークは描画できない。従って、消滅可能性ありと判断してストローク群#0にマークをつける(ステップS915)。線幅以下でない場合(ステップS914のNo)はマークを行わない。
次いで、ストローク群#0として全ての群を吟味したか否か判断し(ステップS916)、吟味していない場合(ステップS916のNo)は最初の処理(ステップS901)に戻り、吟味した場合(ステップS916のYes)は処理を終了する。
図34および図35はストローク群同士の重複除去(図18のステップS210)の処理例を示すフローチャートである。
図34において、処理を開始すると、ストローク群#0、#1として別々のストローク群を選ぶ(ステップS1001、S1002)。
次いで、ストローク群#0、#1から1つずつストロークを選ぶ(ステップS1003)。
次いで、2つのストロークに重複部があるかどうか判定する(ステップS1004)。
重複があれば(ステップS1004のYes)、一方のストロークを短縮・分割すると仮定して、削除長、残存ストロークをそれぞれ計算する(ステップS1005)。この処理は、図24に示したものと同様になる。
図34に戻り、重複がなければ(ステップS1004のNo)、上記の処理(ステップS1005)は行わない。
次いで、ストローク群#0,1に属する全てのストロークについて吟味したか否か判断し(ステップS1006)、吟味していない場合(ステップS1006のNo)は、ストロークの組の選択(ステップS1003)に戻る。
全てのストロークについて吟味した場合(ステップS1006のYes)は、一方のストローク群を短縮・分割する場合の合計削除面積をそれぞれ算出する(ステップS1007)。削除長に線幅をかけることによって合計削除面積が取得できる。
次いで、一方のストローク群を短縮・分割する場合に、注目するストローク群が完全に消える場合にはフラグtermに「2」を、先頭部が短縮される場合にはフラグtermに「1」を、その他はフラグtermに「0」を立てる(ステップS1008)。
次いで、ストローク群同士(ストローク群#0、#1)が重複しないか否か判断する(ステップS1009)。
重複しない場合(ステップS1009のYes)は以下の重複する場合の処理(ステップS1010〜S1015)をスキップする。
重複がある場合(ステップS1009のNo)は、一方のストローク群を短縮・分割する場合の交点と消滅可能性のあるストロークにマークを付ける処理(図32)で得られた交点列を照合する(ステップS1010)。
次いで、ストロークが消滅する可能性がある交点で一致したらフラグvanishを立てる(ステップS1011)。
次いで、消滅可能性のあるストロークで既に分割が行われていたらフラグflagを立てる(ステップS1012)。
次いで、ストローク群が別のストローク群と重複し、その別のストローク群に消滅可能性があればフラグotherを立てる(ステップS1013)。別のストローク群に消滅可能性があるか否かは、図32の処理により付されたマークの有無により判断する。
次いで、図34に戻り、フラグ群からどちらのストローク群を短縮・分割するかを選択する(ステップS1014)。処理内容の詳細は後述する。
次いで、選択されたストローク群のストロークを先に計算しておいたデータに基づき短縮・分割する(ステップS1015)。
次いで、ストローク群#1と異なるストローク群は全て吟味したか否か判断し(ステップS1016)、吟味していない場合(ステップS1016のNo)はストローク群#1の選択(ステップS1002)に戻る。
全て吟味した場合(ステップS1016のYes)は、ストローク群#0としてストローク群は全て吟味したか否か判断し(ステップS1017)、吟味していない場合(ステップS1017のNo)は最初の処理(ステップS1001)に戻る。
全て吟味した場合(ステップS1017のYes)は、再度の重複の判断および短縮の処理を行う。すなわち、わずかに他のストロークに接触していた場合に分割が発生した場合、それらの端点間の距離が線幅以下になる場合がある。こうした場合、ここに重複が残ることになるので、再度吟味し、短縮する。例えば、図36(a)に示すように、もともと上下にあるストローク群同士の重複を除去するに際し、下のストローク群を分割して図36(b)のようになった場合に、こんどは連続しなくなったストロークによって重複が発生している。このような場合は、下部のストロークをさらに短縮する必要がある。
図35において、短縮・分割の対象として選択されたストローク群から、ストローク#0として1つのストロークを選び(ステップS1018)、ストローク#1としてストローク#0と異なるストロークを選ぶ(ステップS1019)。
次いで、2つのストロークが連続するか否か判断し(ステップS1020)、連続しない場合(ステップS1020のNo)は、更に、端点間距離が線幅未満であるか否か判断する(ステップS1021)。
線幅未満である場合(ステップS1021のYes)は、ストローク#1を短縮する(ステップS1022)。
ストロークが連続しない場合(ステップS1020のYes)と端点間距離が線幅未満でない場合(ステップS1021のNo)は、ストローク#1の短縮(ステップS1022)は行わない。
次いで、全てのストローク#1について吟味したか否か判断し(ステップS1023)、吟味していない場合(ステップS1023のNo)はストローク#1の選択(ステップS1019)に戻る。
全てのストローク#1について吟味した場合(ステップS1023のYes)は、全てのストローク#0について吟味したか否か判断し(ステップS1024)、吟味していない場合(ステップS1024のNo)はストローク#0の選択(ステップS1018)に戻る。
全てのストローク#0について吟味した場合(ステップS1024のYes)は処理を終了する。
図37はフラグ群からどちらのストローク群を短縮・分割するかを選択(図34のステップS1014)の処理例を示すフローチャートである。
図37において、処理を開始すると、フラグtermから判断して、ストローク群#1が残存し、ストローク群#0のみ完全に消去され、1本のストロークも残らない場合(ステップS1101のYes)は、ストローク群#1側を分割・短縮する(ステップS1117)。
逆に、ストローク#0が残存し、ストローク群#1のみが完全に消去される場合(ステップS1102のYes)は、ストローク群#0を分割・短縮する(ステップS1116)。
ストローク群#0のみが、群の端だけの短縮となる場合(ステップS1103のYes)は、ストローク群#0を短縮する(ステップS1116)。これは、分割よりも短縮の方が見栄えに影響が少ないためである。
逆の場合(ステップS1104)は、ストローク群#1を短縮する(ステップS1117)。
太文字の場合(ステップS1105のYes)は、ストローク群#0の方が、中心部のストロークに近い場合(ステップS1106のYes)は、ストローク群#1を分割・短縮する(ステップS1117)。これは、中心線を残したほうが見栄えが良いためである。図38は太文字の場合の描画例を示しており、(a)は中心線を残す配慮をしない場合、(b)は中心線を残す配慮をした場合である。
図37に戻り、ストローク群#1の方が、中心部のストロークに近い場合(ステップS1107のYes)は、ストローク#0を分割、短縮する(ステップS1116)。
次いで、フラグvanishから判断して、ストローク群#0のみが、一部消滅の可能性がある場合(ステップS1108のYes)は、ストローク群#1を分割・短縮する(ステップS1117)。
逆の場合(ステップS1109のYes)は、ストローク群#0を分割・短縮する(ステップS1116)。
両方のストローク群ともvanishによって消滅の可能性がある場合(ステップS1110のYes)は、フラグflagを使い、既に一部消滅につながる分割をしているかどうかを判断する。あるストローク群で隣り合う交点の距離が線幅より小さい場合、どちらか一方の交点で既に分割が行われている場合に相当する。仮に、もう一方でも分割が行われた場合、この交点間のストロークは消滅する。
したがって、ストローク群#0のみで既に分割が行われている場合(ステップS1111のYes)は、ストローク群#1を分割・短縮する(ステップS1117)。
逆の場合(ステップS1112のYes)は、ストローク群#0を分割、短縮する(ステップS1116)。
次いで、フラグotherを使い、ストローク群#0のみが、別のストロークと交わっており、その別のストロークに一部消滅の可能性がある場合(ステップS1113のYes)に、ストローク#1を分割対象とする(ステップS1117)。これは、別ストロークで消滅がおきないよう、ストローク#0に分割・短縮を行う余裕を残しておきたいためである。
逆の場合(ステップS1114のYes)はストローク#0を分割・短縮する(ステップS1116)。
次いで、削除面積を比較し、ストローク群#0の方が小さければ(ステップS1115のYes)、ストローク#0を分割、短縮する(ステップS1116)。
そうでなければ(ステップS1115のNo)、ストローク#1を短縮・分割する(ステップS1117)。
図39は従来の問題点が改善された例を示す図である。すなわち、従来は図3で説明したように、一のストロークのうち他の2つのストロークに挟まれた部分が消滅し、文字としての体をなさなくなり、描画品質の低下を招いていた。しかし、本実施形態によれば、同じ文字について図39(a)に示すように、部分的な消滅により情報の欠落する可能性のあるストロークが分割等の対象から外されることにより、複数のストロークが接近する場合であっても情報が欠落することがなくなり、描画品質の低下を防止することができる。図39(b)は図4に対応した細部を示している。
なお、上記の実施形態では、ストローク群に対して消去可能性マークや各種フラグを対応付け、ストローク群間の重複除去によりストローク群を単位に分割等を行う例について説明したが、消去可能性マークや各種フラグを個々のストロークに対応付け、ストロークを単位に分割等を行うようにしてもよい。
<総括>
以上説明したように、本実施形態によれば、複数のストロークが接近する場合であっても情報が欠落することなく、描画品質の低下を防止することができる。
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
1 サーマルリライタブルメディア描画装置
11 全体制御装置
111 CPU
112 メモリ
113 記憶装置
1131 フォントデータDB
1132 文字描画プログラム
114 入力装置
115 ディスプレイ
116 CD/DVDドライブ
117 ネットワーク装置
12 レーザ照射部
13 レーザ発振器
14 スポット径調整レンズ
15 方向制御ミラー
16 方向制御用モータ
17 焦点距離調整レンズ
2 サーマルリライタブルメディア
31 CD/DVD
特開2004−90026号公報 特開2004−341373号公報

Claims (6)

  1. 描画文字を構成する複数のストロークの重複を検出して当該重複を除去する手段を備えたサーマルメディア描画装置であって、
    連続するストロークをグループ化したストローク群もしくは個々のストロークに対し、重複除去により消去される可能性があることを示す情報を付する手段と、
    重複除去に際し、上記の重複除去により消去される可能性があることを示す情報が付されたストローク群もしくはストロークを重複除去による消去の対象から除外する手段と
    を備え
    前記情報を付する手段は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群の端部が短縮されることを示す情報を当該注目するストローク群に付する手段を備え、
    前記除外する手段は、前記注目するストローク群に前記注目するストローク群の端部が短縮されることを示す情報が付され、且つ、前記他のストローク群に何も情報が付されていない場合に、前記注目するストローク群の端部を短縮することにより重複除去を行う
    とを特徴とするサーマルメディア描画装置。
  2. 請求項1に記載のサーマルメディア描画装置において、
    前記情報を付する手段は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群が完全に消えることを示す情報を当該注目するストローク群に付する手段を備え、
    前記除外する手段は、前記注目するストローク群に前記注目するストローク群が完全に消えることを示す情報が付されていた場合に、前記他のストローク群に対して重複除去による消去を行なう
    ことを特徴とするサーマルメディア描画装置。
  3. 描画文字を構成する複数のストロークの重複を検出して当該重複を除去する手段を備えたサーマルメディア描画装置の制御方法であって、
    前記サーマルメディア描画装置の制御装置が、連続するストロークをグループ化したストローク群もしくは個々のストロークに対し、重複除去により消去される可能性があることを示す情報を付する工程と、
    前記制御装置が、重複除去に際し、上記の重複除去により消去される可能性があることを示す情報が付されたストローク群もしくはストロークを重複除去による消去の対象から除外する工程と
    を備え
    前記情報を付する工程は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群の端部が短縮されることを示す情報を当該注目するストローク群に付する工程を備え、
    前記除外する工程は、前記注目するストローク群に前記注目するストローク群の端部が短縮されることを示す情報が付され、且つ、前記他のストローク群に何も情報が付されていない場合に、前記注目するストローク群の端部を短縮することにより重複除去を行う
    とを特徴とするサーマルメディア描画制御方法。
  4. 請求項に記載のサーマルメディア描画制御方法において、
    前記情報を付する工程は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群が完全に消えることを示す情報を当該注目するストローク群に付する工程を備え、
    前記除外する工程は、前記注目するストローク群に前記注目するストローク群が完全に消えることを示す情報が付されていた場合に、前記他のストローク群に対して重複除去による消去を行なう
    ことを特徴とするサーマルメディア描画制御方法。
  5. 描画文字を構成する複数のストロークの重複を検出して当該重複を除去する手段を備えたサーマルメディア描画装置の制御装置を構成するコンピュータを、
    連続するストロークをグループ化したストローク群もしくは個々のストロークに対し、重複除去により消去される可能性があることを示す情報を付する手段、
    重複除去に際し、上記の重複除去により消去される可能性があることを示す情報が付されたストローク群もしくはストロークを重複除去による消去の対象から除外する手段
    として機能させ
    前記情報を付する手段は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群の端部が短縮されることを示す情報を当該注目するストローク群に付する手段を備え、
    前記除外する手段は、前記注目するストローク群に前記注目するストローク群の端部が短縮されることを示す情報が付され、且つ、前記他のストローク群に何も情報が付されていない場合に、前記注目するストローク群の端部を短縮することにより重複除去を行う
    サーマルメディア描画制御プログラム。
  6. 請求項に記載のサーマルメディア描画制御プログラムにおいて、
    前記情報を付する手段は、注目するストローク群と他のストローク群との重複を除去した場合に当該注目するストローク群が完全に消えることを示す情報を当該注目するストローク群に付する手段を備え、
    前記除外する手段は、前記注目するストローク群に前記注目するストローク群が完全に消えることを示す情報が付されていた場合に、前記他のストローク群に対して重複除去による消去を行なう
    サーマルメディア描画制御プログラム。
JP2010261772A 2010-11-24 2010-11-24 サーマルメディア描画装置 Active JP5664169B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010261772A JP5664169B2 (ja) 2010-11-24 2010-11-24 サーマルメディア描画装置
US13/300,802 US8477161B2 (en) 2010-11-24 2011-11-21 Apparatus, method and computer program product for drawing image on thermal medium
CN201110391698.0A CN102529421B (zh) 2010-11-24 2011-11-23 在热介质上绘制图像的设备、方法和计算机程序产品
EP11190272.2A EP2457733B1 (en) 2010-11-24 2011-11-23 Apparatus, method and computer program product for drawing image on thermal medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010261772A JP5664169B2 (ja) 2010-11-24 2010-11-24 サーマルメディア描画装置

Publications (2)

Publication Number Publication Date
JP2012111121A JP2012111121A (ja) 2012-06-14
JP5664169B2 true JP5664169B2 (ja) 2015-02-04

Family

ID=45315507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010261772A Active JP5664169B2 (ja) 2010-11-24 2010-11-24 サーマルメディア描画装置

Country Status (4)

Country Link
US (1) US8477161B2 (ja)
EP (1) EP2457733B1 (ja)
JP (1) JP5664169B2 (ja)
CN (1) CN102529421B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6024445B2 (ja) * 2012-02-03 2016-11-16 株式会社リコー 情報処理装置、システム、情報処理方法、プログラム、記憶媒体
JP6164018B2 (ja) * 2013-10-02 2017-07-19 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2021035722A (ja) * 2017-10-04 2021-03-04 サトーホールディングス株式会社 包装体の製造方法
CN111822868B (zh) * 2019-04-19 2022-06-17 大族激光科技产业集团股份有限公司 激光飞行打标机、打标系统及打标方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023A (en) * 1854-06-06 english
JPS62256576A (ja) * 1986-04-30 1987-11-09 Fuji Xerox Co Ltd 感熱記録装置
FR2599672A1 (fr) * 1986-06-05 1987-12-11 Sagem Procede et dispositif de commande de tete d'impression thermique
DE69426758D1 (de) * 1993-12-30 2001-04-05 Canon Kk Anordnung und Verfahren zur Verarbeitung von Zeichenmustern
JP3025739B2 (ja) * 1993-12-30 2000-03-27 キヤノン株式会社 文字パターン発生装置および文字パターン発生方法
JP3787372B2 (ja) * 1995-06-12 2006-06-21 キヤノン株式会社 文字生成装置及び方法
JP4366489B2 (ja) * 1998-09-09 2009-11-18 フジコピアン株式会社 多階調記録方法
US6102593A (en) * 1999-04-16 2000-08-15 International Business Machines Corporation High speed print quality font modification
JP3990891B2 (ja) * 2001-10-24 2007-10-17 大日本印刷株式会社 可逆性感熱記録媒体の記録消去装置
JP2004090026A (ja) 2002-08-30 2004-03-25 Inst Of Physical & Chemical Res 情報書込み装置
US7484827B2 (en) 2003-03-20 2009-02-03 Ricoh Company, Ltd. Image forming method and apparatus, and a recording medium storing a program for performing an image forming method
JP4259920B2 (ja) 2003-05-19 2009-04-30 株式会社リコー 画像形成方法及びその装置
JP5228471B2 (ja) * 2006-12-26 2013-07-03 株式会社リコー 画像処理方法及び画像処理装置
US8628898B2 (en) 2006-12-26 2014-01-14 Ricoh Company, Ltd. Image processing method, and image processor
JP5169200B2 (ja) 2006-12-26 2013-03-27 株式会社リコー 画像処理方法及び画像処理装置
JP5397070B2 (ja) 2008-08-13 2014-01-22 株式会社リコー 制御装置、レーザ照射装置、最適化フォントデータdb、記録方法、プログラム、記憶媒体
JP5316354B2 (ja) * 2008-12-03 2013-10-16 株式会社リコー 制御装置、レーザ照射装置、記録方法、プログラム、記憶媒体
JP2010191724A (ja) * 2009-02-18 2010-09-02 Seiko Epson Corp 画像処理装置および制御プログラム
JP5381315B2 (ja) * 2009-05-15 2014-01-08 株式会社リコー 情報処理装置、レーザ照射装置、描画情報生成方法、制御システム、プログラム
JP5127775B2 (ja) * 2009-05-15 2013-01-23 株式会社リコー 情報処理装置、レーザ照射装置、制御システム、描画情報記憶装置
JP5699481B2 (ja) 2009-10-27 2015-04-08 株式会社リコー 描画制御装置、レーザ照射システム、描画方法、描画プログラム、及び記憶媒体

Also Published As

Publication number Publication date
JP2012111121A (ja) 2012-06-14
US20120127253A1 (en) 2012-05-24
EP2457733A3 (en) 2018-03-07
US8477161B2 (en) 2013-07-02
EP2457733A2 (en) 2012-05-30
EP2457733B1 (en) 2019-07-24
CN102529421A (zh) 2012-07-04
CN102529421B (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
JP5659871B2 (ja) サーマルリライタブルメディア描画装置、制御方法、および制御プログラム
JP5127775B2 (ja) 情報処理装置、レーザ照射装置、制御システム、描画情報記憶装置
JP5397070B2 (ja) 制御装置、レーザ照射装置、最適化フォントデータdb、記録方法、プログラム、記憶媒体
CN102227313B (zh) 控制装置、激光投射装置、记录方法、计算机程序和记录介质
JP6011271B2 (ja) 情報処理装置、システム、情報処理方法、プログラム、記憶媒体
JP5664169B2 (ja) サーマルメディア描画装置
JP5381315B2 (ja) 情報処理装置、レーザ照射装置、描画情報生成方法、制御システム、プログラム
KR20120068916A (ko) 묘화 제어 방법, 레이저 조사 장치, 및 묘화 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
KR101518158B1 (ko) 레이저 묘화 제어 장치, 레이저 묘화 장치, 레이저 묘화 장치의 제어 방법 및 컴퓨터 판독 가능한 기록 매체
JP2011104991A (ja) 描画順決定装置、描画制御装置、レーザ照射装置、最適化フォントdb、描画制御方法、描画制御プログラム、及びこれを記録した記録媒体
JP5962315B2 (ja) 情報処理装置、情報処理方法、システム、プログラム
JP2013176967A (ja) 情報処理装置、システム、情報処理方法、プログラム、記憶媒体
JPH08287276A (ja) 文字レイアウト装置
JP2009181434A (ja) 図形編集方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R151 Written notification of patent or utility model registration

Ref document number: 5664169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151