JP6755644B2 - 文字処理装置、文字処理方法、文字処理プログラム - Google Patents

文字処理装置、文字処理方法、文字処理プログラム Download PDF

Info

Publication number
JP6755644B2
JP6755644B2 JP2015160541A JP2015160541A JP6755644B2 JP 6755644 B2 JP6755644 B2 JP 6755644B2 JP 2015160541 A JP2015160541 A JP 2015160541A JP 2015160541 A JP2015160541 A JP 2015160541A JP 6755644 B2 JP6755644 B2 JP 6755644B2
Authority
JP
Japan
Prior art keywords
character
bitmap image
bitmap
density
generated
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
JP2015160541A
Other languages
English (en)
Other versions
JP2017040692A5 (ja
JP2017040692A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2015160541A priority Critical patent/JP6755644B2/ja
Priority to US15/234,450 priority patent/US9978005B2/en
Publication of JP2017040692A publication Critical patent/JP2017040692A/ja
Publication of JP2017040692A5 publication Critical patent/JP2017040692A5/ja
Application granted granted Critical
Publication of JP6755644B2 publication Critical patent/JP6755644B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • G06K15/184Rasterization from compressed bitmap data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/58Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、文字のボールド処理技術に関する。
文字がより太く見えるようにするために、文字のボールド処理がある。特許文献1では、ビットマップで表現された文字に対して、その文字に隣接する画素を特定してその画素を文字色に変更する処理を行うことで、文字のボールド処理を行う技術を開示する。
特開平10−313410号公報
特許文献1の技術は、文字に隣接する画素を特定するために、ビットマップ中の各画素に対してその画素が文字に隣接するかどうかの判定処理を行う。この判定処理は各画素に対して行われるので、その判定処理コストは、文字を表現するビットマップのサイズに比例して増大する。本発明は、各画素に対する判定処理を不要とする文字のボールド処理を提案する。
本発明の情報処理装置は、PDLデータで記述された描画コマンドを受信する受信手段と、前記描画コマンドに基づいてディスプレイリストを生成する生成手段と、前記生成手段が生成したディスプレイリストに基づいてラスタライズを行い、ビットマップ画像を生成するラスタライズ手段とを有し、前記生成手段は、第1の濃度の1つの文字のビットマップ画像と、第2の濃度の前記1つの文字のビットマップ画像とを含む複数のビットマップ画像を描画位置を異ならせて描画し、論理和演算により生成した1つの文字のビットマップ画像を含むディスプレイリストを生成し、前記第1の濃度は、文字のビットマップ画像を描画するための前記描画コマンドによって指定されている濃度情報に基づいて決定される濃度であり、前記第2の濃度は、前記第1の濃度よりも薄い濃度であることを特徴とする。
文字に隣接する画素を特定するための判定処理を各画素に対して行うことなく、文字のボールド処理を行う。
実施例1に係る文字処理システムの構成を表す概略図。 実施例1に係るMFP100の構成例を示すブロック図。 実施例1に係る処理のフローチャート。 実施例1のビットマップ文字のディスプレイリスト生成のフローチャート。 重ね合わせ合成処理についての説明図。 実施例2のビットマップ文字のディスプレイリスト生成のフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
(実施例1)
<印刷システムの構成>
図1は、本発明の文字処理システムの一例の、画像処理システムの構成を示すブロック図である。
図1において、オフィス内に構築されたLAN102は、複数種類の機能(複写機能、印刷機能、送信機能等)を実現する複合機であるMFP100と、クライアントPC101とを接続する。このMFP100は、文字処理装置の一例である。更に、LAN102には、プロキシサーバー103が接続されている。また、プロキシサーバー103は、インターネットなどのネットワーク104に接続されている。クライアントPC101は、印刷データをMFP100へ送信することで、その印刷データに基づいた印刷をMFP100に行わせることができる。なお、図1に示されるシステム構成は本発明を実施するための一例である。
図2は、図1におけるMFP100の構成例を示すブロック図である。図2において、MFP100は、画像読取装置200、記憶装置201、印刷装置202、入力装置203、ネットワークI/F204、データ処理装置205、表示装置209を有する。各装置、I/Fは、データ処理装置205と接続し、データ処理装置205によって統括的に制御されている。
画像読取装置200は、光学スキャナーであり、原稿台に置かれた原稿を光学的に読み取ることで、ラスターデータ(ビットマップ画像データ)をデータ処理装置205に入力する。
記憶装置201は、HDDであり、読み出しと書き込みが可能な不揮発性の記憶媒体である。記憶装置201は、画像読取装置200が生成したラスターデータや、クライアントPC101のプリンタドライバからLAN102経由で受け取ったPDLデータや、そのPDLデータをデータ処理装置205がレンダリング(ラスタライズ)することで得られるラスターデータ(ビットマップ画像データ)などを記憶する。なおPDLデータは描画データと呼ばれることがある。
印刷装置202は、プリンターあるいはプリンターエンジンであり、データ処理装置205から入力されたラスターデータに基づいて、画像を紙などのシートに印刷する。
入力装置203は、タッチパネルやキーボード、マウス等であり、ユーザーからの操作入力を受け付け、受け付けた操作入力の情報をデータ処理装置205に送る。
ネットワークI/F204は、LAN102を介して、別体の外部装置と、データの送信あるいは受信を行う。
データ処理装置205は、上記の各装置およびI/Fを統括的に制御することで、MFP100全体を制御する。このデータ処理装置205は、プロセッサーであるCPU206、不揮発性メモリであるROM207、揮発性メモリであるRAM208を有する。ROM207には、データ処理プログラムが格納されており、CPU206は当該プログラムをROM207からRAM208に読みだして実行することにより、後述のデータ処理を実現する。なお本実施例ではデータ処理装置205が行う処理はCPU206によって実行される。
表示装置209は、LCDであり、入力装置203を介したユーザーによる操作入力の状態を表示することができる。
MFP100が複写機能を実行する際には、画像読取装置200によって得られるビットマップ画像データに対して、データ処理装置205が画像処理を行い、画像処理後のビットマップ画像データを印刷装置202に入力する。このとき、ビットマップ画像データは印刷装置202で処理できる記録信号へと不図示のインターフェースによって変換されている。すると印刷装置202は画像をシート上に印刷する。
またMFP100は、クライアントPC101(プリンタドライバ)からLAN102経由で受け取ったPDLデータに基づいて、ビットマップ画像データを生成し、そのビットマップ画像データの表す画像を、印刷装置202によって印刷する。
<本実施例の処理の説明>
MFP100によって実行される画像の印刷処理について図3を用いて説明する。図3に示されるフローチャートは、ROM207に格納されているプログラムをCPU206が実行することで実現される。すなわち、CPU206が、プログラムに従って、MFP100の各部を制御することで、図3のフローチャートの処理は実行される。
まず、図3のステップS301において、データ処理装置205は、ネットワークI/F204を介して、PC101よりPDLデータを受信する。PDLデータは、PC101がアプリケーションを実行して作成したドキュメントを、プリンタドライバが変換することで得られるものである。
次にステップS302において、データ処理装置205は、受信したPDLデータから描画コマンドを1つ取得して、描画コマンドの内容の解釈を行う。このときデータ処理装置はPDLデータを解釈するインタープリターとして機能する。
ステップS303において、データ処理装置205は、S302で解釈された描画コマンドが文字の描画コマンド(文字を描画するためのデータ:文字データ)であるか否かを判定する。文字の描画コマンドであれば処理はS304へ移行する。文字の描画コマンドであるかどうかは、文字コードが指定されているか否か、あるいは、文字属性フラグが付与されているか否かによって判定できる。一方、文字の描画コマンドでなく、グラフィクスやイメージの描画コマンドであれば、処理はS307へ移行する。文字属性フラグが付与されていないベクトルデータが指定されている描画コマンドであれば、グラフィクスの描画コマンドであると判定され、多値のビットマップ画像が指定されている描画コマンドであれば、イメージの描画コマンドであると判定される。
ステップS304では、データ処理装置205は、文字の描画コマンドが、ビットマップ文字を描画するためのものであるかを判定する。文字の描画コマンドがビットマップ文字を描画するためのものであれば、処理はステップS305に進む。そうでなければ処理は、ステップS306に進む。
ビットマップ文字とは、文字がビットマップ画像データで与えられているものである。ビットマップ画像データは2値でも多値でも良い。本実施例において、この文字の描画コマンドがビットマップ文字を描画するためのものであると判定されるのは以下の2つの場合である。1つは、描画コマンドがPDLデータ中に含まれているビットマップ文字を指定している場合である。もう1つは、描画コマンドが文字コードで与えられており、記憶装置201内に予め備えられているビットマップ画像データを指定している場合である。
ステップS305において、データ処理装置205は、描画コマンドで指定されるビットマップ文字および描画位置を取得する。そしてデータ処理装置205は、そのビットマップ文字および描画位置に基づいて、そのビットマップ文字を、1回1回の描画位置を異ならせて、複数回、重ね書き(合成)で描画することで、新たな合成後のビットマップ文字を得る。これがビットマップで表現された文字のボールド処理である。
この合成処理は、文字を複数回、合成するという比較的単純なものである。そのため、文字に隣接する画素を特定する判定処理を各画素に対して行って、その特定された画素を文字色に変更するボールド処理よりも、この合成処理によるボールド処理の方が、高速である。この合成処理における文字の合成方法については、図4、5を用いて詳述する。
そしてデータ処理装置205は、その合成後のビットマップ文字の中間コード(DL:ディスプレイリスト)を生成する。ディスプレイリストには描画コマンドで指定されていた描画位置が含まれている。処理はS308へ移行する。
ステップS306において、データ処理装置205は、ベクトル文字に対して、ベクトル文字の輪郭線を取得する。そしてデータ処理装置205は、その輪郭線の位置をずらすことでベクトル文字のボールド処理を行う。そしてデータ処理装置205は、ボールド処理が行われたベクトル文字のディスプレイリストを生成する。ディスプレイリストには描画コマンドで指定されていた描画位置が含まれている。処理はS308へ移行する。
ステップS307において、データ処理装置205は、S302で解釈された描画コマンドのディスプレイリストを、ボールド処理を行うことなく生成する。例えば描画コマンドがベクトルデータを指定していたとしても、ベクトルデータに対するボールド処理を行うことなく、ディスプレイリストを生成する。ディスプレイリストには描画コマンドで指定されていた描画位置が含まれている。処理はS308へ移行する。
ステップS308において、データ処理装置205は、1ページ分の描画コマンドを解釈し、ディスプレイリストを生成したかを判定する。1ページ分の処理が終了していれば、処理はS309へ移行し、終了していなければ処理はS302へと戻る。
続いてステップS309において、データ処理装置205は、生成された1ページ分のディスプレイリストに基づいて、レンダリング(ラスタライズ)を行う。レンダリングにおいては、ビットマップ文字を指定するディスプレイリストであれば、データ処理装置205は、S305で生成された合成後のビットマップ文字を、ディスプレイリストで指定されている描画位置に描画する。ベクトル文字を指定するディスプレイリストであれば、データ処理装置205は、S306でボールド処理が行われたベクトル文字をビットマップデータに変換し、指定された描画位置に描画する。またグラフィクスを指定するディスプレイリストであれば、データ処理装置205は、グラフィクスをビットマップデータに変換し、指定された描画位置に描画する。また多値のビットマップ画像を指定するディスプレイリストであれば、データ処理装置205は、多値のビットマップ画像を指定された描画位置に描画する。以上のようにして、データ処理装置205は、1ページ分のビットマップ画像を生成する。
ステップS310において、データ処理装置205は、生成された1ページ分のビットマップ画像を印刷装置202に送信し、画像をシートに印刷する。
<ビットマップ文字の重ね合わせ処理>
次に、図4のフローチャートと図5を用いて、ビットマップ文字のディスプレイリスト作成の処理の説明をする。
ステップS401において、データ処理装置205は、ビットマップ文字およびその描画位置を取得する。またデータ処理装置205はビットマップ文字の色情報(濃度)も取得する。例えば取得されたビットマップ文字は図5のビットマップ文字500、その描画位置は(x、y)、濃度100%(0〜255のうち濃度値255に相当)とする。
次に、ステップS402において、データ処理装置205は、ステップS401で取得されたビットマップ文字をx方向に第1の所定距離(+1ピクセル)だけずらされるビットマップ文字を生成する。つまり描画位置(x+1、y)のビットマップ文字が生成される。このずらされたビットマップ文字の濃度を、取得された濃度と等しい濃度に決定すれば、文字をより太く見せる効果が得られる。一方で、このずらされたビットマップ文字の濃度を、取得された濃度よりも小さな濃度に決定すれば、文字を太く見せる効果を得つつも、その太く見せる効果の程度を調整することができる。図5の例では濃度を半分にした濃度50%のビットマップ文字501が生成される。
そして、ステップS403において、データ処理装置205は、ステップS402で生成されたビットマップ文字を、さらにy方向に第2の所定距離(+1ピクセル)だけずらされるビットマップ文字を生成する。つまり描画位置(x+1、y+1)のビットマップ文字が生成される。濃度はS402で生成されたビットマップ文字と等しい。図5の例では濃度50%のビットマップ文字502が生成される。
つまりステップS402およびS403では、データ処理装置205は、描画位置がS401で取得された元のビットマップ文字とは異なる、その元のビットマップ文字のコピーを2つ生成する。
ステップS404において、データ処理装置205は、ステップS401〜S403で得られた3つのビットマップ文字を重ね合わせ合成する。まずデータ処理装置205は、S401で取得されたビットマップ文字をRAM208上に確保したワーク領域に上書きで描画する(すなわち貼り付ける)。この上書きは描画位置(x、y)に相当する位置に対して行われる。例えばワーク領域上では位置(0、0)に対して上書きが行われるとする。次にデータ処理装置205は、S402で生成されたビットマップ文字をワーク領域にOR演算で描画する。OR演算とは、すでに描画されているデータと、描画対象ビットマップとの論理和をワーク領域に書き戻す演算処理である。このときワーク領域に対する描画位置は(1、0)であり、描画位置(x+1、y)に対応する。そしてデータ処理装置205は、S403で生成されたビットマップ文字をワーク領域にOR演算で描画する。このときワーク領域に対する描画位置は(1、1)であり、描画位置(x+1、y+1)に対応する。なお、ビットマップ文字をワーク領域に描画するとは、ビットマップ文字のデータをワーク領域に上書きすることを含む。またビットマップ文字の書き込み先がワーク領域で無い場合(例えばフレームバッファに直接書き込む場合)でも、ビットマップ文字の描画と呼ぶ。
以上のように1回目は上書きで行うのは、OR演算のようにワーク領域上のデータを参照することなく高速で描画が行えるからである。しかしながら、1回目のビットマップ文字の描画をOR演算によって行っても良い。
以上ではS404で3つのビットマップ文字をまとめて合成したが、S401、S402、S403の各ステップにおいて都度ワーク領域にビットマップ文字を描画しても良い。そうすれば、3つのビットマップ文字を一時的に保持するための使用メモリ量を削減できる。また或いは、3つのビットマップ文字を得るのではなく、S401で取得されたビットマップ文字を複数回、繰返して重ね合わせ合成しても良い。このときには合成の都度、描画位置が異なるようにする。
なお重ね合わせ合成の仕方としては他の方法でも良い。例えばS403のビットマップ文字を上書きして、その結果にS402のビットマップ文字を上書きして、さらにその結果にS401のビットマップ文字を上書きしても良い。すなわち各ビットマップ文字の貼り付け位置を変えての貼り付けも本発明の描画の範疇である。なお、このようにS403のビットマップ文字、S402のビットマップ文字、S401のビットマップ文字の順で重ね合わせて上書きする方法の他に、これらビットマップ文字どうしで重なる部分があればその部分の描画を省略する方法を採っても良い。
以上のようにしてデータ処理装置205は、合成後のビットマップ(描画結果)を得て、このビットマップ合成後のビットマップをビットマップ文字として指定するディスプレイリストを生成して、本処理フローを終了する。
以上の実施例では、ビットマップ文字に対して重ね合わせ合成を行っていたが、データ処理装置205は、描画コマンドに指定されている文字のポイント数を取得して、閾値未満のポイント数のビットマップ文字にだけ重ね合わせ合成をおこなっても良い。すなわち、閾値以上のポイント数を持つ小文字以外のビットマップ文字には、S307の処理を行い、閾値未満のポイント数を持つ小文字のビットマップ文字には、S305の処理を行うようにする。これは小文字は太くする必要性が高いが、小文字以外の文字は太くする必要性がそれほど高くないことがあるからである。
また入力装置203によってユーザーが指示した時に限ってビットマップ文字に対してS305の処理を行うようにしても良い。すなわち、ユーザーによるボールド処理の指示がなければ、文字コマンドであっても、S307の処理が行われるようにする。
また、ビットマップ文字のコマンドであっても、文字のフォント(ゴシック体、明朝体など)や文字の種類(例えば、ひらがな、カタカナ、ハングル、アルファベット、漢字など)によって処理を切り替えるようにしても良い。例えば、明朝体であれば、S305、S306の処理を行い、ゴシック体であれば、S305あるいはS306の処理に代えてS307の処理を行う。また例えば、ひらがな、カタカナ、ハングル、アルファベッドであれば、S305、S306の処理を行い、漢字であれば、S305あるいはS306の処理に代えてS307の処理を行う。
なお、ステップS402やステップS403で生成されるビットマップ文字の濃度は、印刷装置202の特性によってユーザーが指定可能で合っても良い。例えば、文字が細く印刷されるような印刷装置202で画像を印刷する場合には、ユーザーはS402、403で生成されるビットマップ文字の濃度を、S401で取得されるビットマップ文字の濃度の半分(50%)でなく、80%とするように設定しても良い。
以上の実施例の処理は、1つのビットマップ文字の描画コマンドから得られるビットマップ文字から得られる3つのビットマップ文字の合成を、ディスプレイリストを生成する際に行っている。しかしこれに本発明は限定されない。例えば、3つのビットマップ文字それぞれのディスプレイリストを生成し、それら3つのディスプレイリストをレンダリング時に上述の上書きあるいはOR演算などの適切な描画方法によってレンダリングするようにしても同様な効果(文字のボールド効果)が得られる。
(実施例2)
本実施例では、文字のフォント種によって文字のボールド処理を異ならせる。本実施例は、実施例1のS305の処理を図6のフローチャートの処理に置き換えたものであり、他の構成は実施例1と同様である。
図6のフローチャートの処理を説明する。
ステップS601は、実施例1のS401の処理と異なるのは、データ処理装置205が描画コマンドの情報として、文字のフォント種もさらに取得することである。
ステップS602において、データ処理装置205は、S601で取得されたフォント種が特定のフォントであるかを判定し、特定フォントであれば処理はS603に進み、そうでなければS605に処理は進む。特定フォントとは、例えば明朝体における横方向の線などのように、文字を構成する要素が著しく細い部分を持つフォントである。このようなフォントであれば、ユーザーの文字の可読性向上のため、文字をより太く見せるようにするのが好ましい。そうでなければ文字を太くしすぎるのは文字の可読性をむしろ低下させてしまう。
そこで特定フォントの文字であれば、特定フォントではない文字よりもより太く文字を見せるようにボールド処理を行う。その一例として、ステップS603、S604、S605、S606を説明する。
S603においてデータ処理装置205は、S601で取得されたビットマップ文字と等しい濃度のビットマップ文字をx方向に+1ピクセルだけずらして生成する。
S604においてデータ処理装置205は、S603で生成されたビットマップ文字(S601で取得されたビットマップ文字と等しい濃度である)をy方向に+1ピクセルだけずらして生成する。
一方で、S605においてデータ処理装置205は、S601で取得されたビットマップ文字の濃度の半分の濃度のビットマップ文字をx方向に+1ピクセルだけずらして生成する。
S606においてデータ処理装置205は、S605で生成されたビットマップ文字(S601で取得されたビットマップ文字の濃度の半分の濃度である)をy方向に+1ピクセルだけずらして生成する。
S607の処理は、実施例1のS404の処理と同様である。
S601、S603、S604によって、特定フォントであれば、3つの重ね合わされるビットマップ文字の濃度は等しいものとなり、ビットマップ文字がよりはっきりと描画される。
また、S601、S605、S606によって、特定フォントでないフォントであれば、元のビットマップ文字は薄い濃度で縁取られるようになり、可読性を返って妨げることなく文字を太くする効果が得られる。
以上の処理では、S602において特定フォントとそうでないフォントとで処理を切り替えたが、本発明はそれに限られない。例えば、S601においてデータ処理装置205がさらに文字の大きさの情報(ポイント数)を取得し、S602においてそのポイント数が閾値未満のポイント数であるか否かを判定してもよい。この場合では、閾値以上のポイント数である小文字でないビットマップ文字に対しては、S603、S604の処理が行われるようにデータ処理装置205が動作する。閾値未満のポイント数である小文字のビットマップ文字に対しては、S605、S606の処理が行われるようにデータ処理装置205が動作する。これは、小文字であれば薄く縁取られることによって、複雑な形状を持つ文字で合っても文字を構成する要素と要素の間の空白を埋めることなく印刷できるからである。すなわち、文字のつぶれを抑制しつつ、文字を太くする効果を得られる。
(その他の実施例)
以上の実施例におけるステップS306において、データ処理装置205は、ベクトル文字に対して、ベクトル文字の輪郭線をずらすことでベクトル文字のボールド処理を行った。しかし、その方法に代えて、以下の処理を実行しても良い。データ処理装置205は、ベクトル文字をラスタライズすることで、ビットマップ文字を得る。次に上述したステップS305と同様の処理を行うようにしても良い。
以上の実施例においては、ステップS305でビットマップ文字の合成を行い、その合成で得られた新たなビットマップ文字をステップS309でページに描画していた。しかし次のように処理しても良い。データ処理装置205は、S305において、ビットマップ文字の描画コマンドから、その描画コマンドで指定されている描画位置だけを書き替えた(異ならせた)描画コマンドを1つ以上、生成する。すなわち、同一文字ではあるがそれぞれが異なる描画位置を指定する複数の描画コマンドが生成される。これら複数の描画コマンドのそれぞれは中間コードに変換される。そして、データ処理装置205は、S309において、それら複数の中間コードに基づき、描画位置がそれぞれ異なる同一文字をページに描画する。
以上の実施例では、MFP100がビットマップ文字のボールド処理を行っていたが、以上の実施例で説明したビットマップ文字のボールド処理をクライアントPC101上で行い、ボールド処理後のビットマップ文字をPDLデータの描画コマンドとしてMFP100に送信してレンダリングおよび印刷を行うようなシステム構成でもよい。すなわち、クライアントPC101上で動作するアプリケーションソフトウェアからプリンタドライバがデータを受け取って、そのデータに含まれる文字の描画コマンドを判定する。そしてプリンタドライバは上記説明した文字のボールド処理を行った後、その文字をPDLの描画コマンドとしてPDLデータに含めてMFP100に送信する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (14)

  1. PDLデータで記述された描画コマンドを受信する受信手段と、
    前記描画コマンドに基づいてディスプレイリストを生成する生成手段と、
    前記生成手段が生成したディスプレイリストに基づいてラスタライズを行い、ビットマップ画像を生成するラスタライズ手段とを有し、
    前記生成手段は、第1の濃度の1つの文字のビットマップ画像と、第2の濃度の前記1つの文字のビットマップ画像とを含む複数のビットマップ画像を描画位置を異ならせて描画し、論理和演算により生成した1つの文字のビットマップ画像を含むディスプレイリストを生成し、
    前記第1の濃度は、文字のビットマップ画像を描画するための前記描画コマンドによって指定されている濃度情報に基づいて決定される濃度であり、前記第2の濃度は、前記第1の濃度よりも薄い濃度であることを特徴とする情報処理装置。
  2. 1つの文字の前記複数のビットマップ画像は、互いに重なりを持つように描画されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記生成手段は、前記描画コマンドに含まれる文字のビットマップ画像、又は、前記情報処理装置の記憶手段から取得した文字のビットマップ画像に基づいて生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記PDLデータは、文字属性が関連付けられたビットマップデータの描画コマンド、及び、文字属性が関連付けられたベクトルデータの描画コマンドを含み、
    前記生成手段は、前記文字属性が関連付けられたビットマップデータの描画コマンドに基づいて前記複数のビットマップ画像を描画位置を異ならせて描画して生成した前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記描画手段は、前記ディスプレイリストに含まれる前記1つの文字のビットマップ画像と、前記ディスプレイリストに含まれるベクトルデータに基づいて、前記ビットマップ画像を描画することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 文字を描画するための前記描画コマンドは、前記1つの文字の描画位置を示す情報を含み、
    前記生成手段は、前記複数の文字のうちの1つの文字のビットマップ画像を、前記描画コマンドによって示される前記描画位置に描画し、前記複数の文字のうち他の1つの文字のビットマップ画像を、前記描画コマンドによって示される前記描画位置から所定距離だけずれた位置に描画することによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成する
    ことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記生成手段は、文字を描画するための前記描画コマンドに基づいて、前記文字のビットマップ画像を取得し、取得されたビットマップ画像を、1回1回の描画位置を異ならせて、複数回、描画することによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8. 前記生成手段は、文字を描画するための前記描画コマンドに基づいて描画される文字のビットマップ画像の大きさが閾値未満の大きさであるかを判定し、閾値未満の大きさの文字のビットマップ画像の描画コマンドに対して、複数回の描画を行うことによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 前記生成手段は、前記第1の濃度の文字のビットマップ画像および前記第2の濃度の文字のビットマップ画像を描画するか否かを、文字のビットマップ画像のフォントに基づいて決定することによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1に記載の情報処理装置。
  10. 前記生成手段は、前記第1の濃度の文字のビットマップ画像および前記第2の濃度の文字のビットマップ画像を描画するか否かを、文字画像の大きさに基づいて決定することによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1に記載の情報処理装置。
  11. 前記生成手段は、前記第1の濃度の文字のビットマップ画像および前記第2の濃度の文字のビットマップ画像を描画するか否かを、文字画像の種類に基づいて決定することによって生成された前記1つの文字のビットマップ画像を含む前記ディスプレイリストを生成することを特徴とする請求項1に記載の情報処理装置。
  12. 前記描画手段によって描画された前記ビットマップ画像を印刷する印刷手段をさらに有することを特徴とする請求項1乃至11の何れか1項に記載の情報処理装置。
  13. PDLデータで記述された描画コマンドを受信する受信ステップと、
    前記描画コマンドに基づいてディスプレイリストを生成する生成ステップと、
    前記生成ステップにおいて生成したディスプレイリストに基づいてラスタライズを行い、ビットマップ画像を生成するラスタライズステップとを有し、
    前記生成ステップにおいて、第1の濃度の1つの文字のビットマップ画像と、第2の濃度の前記1つの文字のビットマップ画像とを含む複数のビットマップ画像を描画位置を異ならせて描画し、論理和演算により生成した1つの文字のビットマップ画像を含むディスプレイリストを生成し、
    前記第1の濃度は、文字のビットマップ画像を描画するための前記描画コマンドによって指定されている濃度情報に基づいて決定される濃度であり、
    前記第2の濃度は、前記第1の濃度よりも薄い濃度であることを特徴とする情報処理装置の制御方法。
  14. コンピュータに、
    PDLデータで記述された描画コマンドを受信する受信手順と、
    前記描画コマンドに基づいてディスプレイリストを生成する生成手順と、
    前記生成手順において生成したディスプレイリストに基づいてラスタライズを行い、ビットマップ画像を生成するラスタライズ手順と実行させるプログラムであって、
    前記生成手順において、第1の濃度の1つの文字のビットマップ画像と、第2の濃度の前記1つの文字のビットマップ画像とを含む複数のビットマップ画像を描画位置を異ならせて描画し、論理和演算により生成した1つの文字のビットマップ画像を含む前記ディスプレイリストを生成する処理を前記コンピュータに実行させるためのプログラムであって、
    前記第1の濃度は、文字のビットマップ画像を描画するための前記描画コマンドによって指定されている濃度情報に基づいて決定される濃度であり、
    前記第2の濃度は、前記第1の濃度よりも薄い濃度であることを特徴とするプログラム。
JP2015160541A 2015-08-17 2015-08-17 文字処理装置、文字処理方法、文字処理プログラム Active JP6755644B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015160541A JP6755644B2 (ja) 2015-08-17 2015-08-17 文字処理装置、文字処理方法、文字処理プログラム
US15/234,450 US9978005B2 (en) 2015-08-17 2016-08-11 Printer for drawing bold character, method for controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015160541A JP6755644B2 (ja) 2015-08-17 2015-08-17 文字処理装置、文字処理方法、文字処理プログラム

Publications (3)

Publication Number Publication Date
JP2017040692A JP2017040692A (ja) 2017-02-23
JP2017040692A5 JP2017040692A5 (ja) 2018-09-20
JP6755644B2 true JP6755644B2 (ja) 2020-09-16

Family

ID=58158281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015160541A Active JP6755644B2 (ja) 2015-08-17 2015-08-17 文字処理装置、文字処理方法、文字処理プログラム

Country Status (2)

Country Link
US (1) US9978005B2 (ja)
JP (1) JP6755644B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7009316B2 (ja) 2018-06-20 2022-01-25 キヤノン株式会社 画像形成装置及びその画像形成方法、並びにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH073635B2 (ja) * 1988-12-21 1995-01-18 富士通株式会社 白抜き文字の作成方法
JP3684029B2 (ja) 1997-05-12 2005-08-17 理想科学工業株式会社 画像太線化処理方法および装置
US8243317B2 (en) * 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US8493612B2 (en) * 2010-01-29 2013-07-23 Xerox Corporation Predicting an expansion difficulty and an expansion time required to perform a rendering operation
WO2015121962A1 (ja) * 2014-02-14 2015-08-20 三菱電機株式会社 文字描画装置及び文字描画方法及び文字描画プログラム

Also Published As

Publication number Publication date
US9978005B2 (en) 2018-05-22
US20170053194A1 (en) 2017-02-23
JP2017040692A (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP4995057B2 (ja) 描画装置、印刷装置、描画方法、及びプログラム
JP4960900B2 (ja) 情報処理装置および画像形成装置
JP4939367B2 (ja) 画像形成システム及び画像形成方法
JP2016522464A (ja) 印刷可能文書ビューア最適化のためのシステムおよび方法
JP6202908B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009093645A (ja) オーバーラップする要素を含む電子ドキュメントをレンダリングするシステムおよび方法
US10583670B2 (en) Method for displaying objects based on display resolution, information processing apparatus for implementing method, and computer-readable medium storing instructions therefor
EP3584761B1 (en) Image forming apparatus capable of changing thickness of character, control method therefor, and storage medium storing control program therefor
JP6755644B2 (ja) 文字処理装置、文字処理方法、文字処理プログラム
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP2016115963A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5171973B2 (ja) 情報処理装置及びその制御方法
JP5424546B2 (ja) 画像処理装置及び画像形成システム
JPH0729021A (ja) 画像出力装置
JP6882099B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2019185365A (ja) 情報処理装置、プリンタドライバ、情報処理方法
JP6238589B2 (ja) 画像形成装置、画像処理方法、およびプログラム
JP7327041B2 (ja) プログラム、情報処理装置、画像形成装置、印刷システム
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2007081886A (ja) 描画処理装置
JP2014197349A (ja) 画像処理装置、情報処理方法及びプログラム
JP2016058868A (ja) 画像処理装置及び画像処理方法
JP2019192087A (ja) 情報処理装置、プログラム、情報処理方法
JP4840604B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2006093771A (ja) 画像処理装置、画像出力装置、画像処理方法、画像出力方法、画像処理プログラムおよび画像出力プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200611

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: 20200728

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R151 Written notification of patent or utility model registration

Ref document number: 6755644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151