JP2019148846A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2019148846A
JP2019148846A JP2018031474A JP2018031474A JP2019148846A JP 2019148846 A JP2019148846 A JP 2019148846A JP 2018031474 A JP2018031474 A JP 2018031474A JP 2018031474 A JP2018031474 A JP 2018031474A JP 2019148846 A JP2019148846 A JP 2019148846A
Authority
JP
Japan
Prior art keywords
character
font
data
information processing
xps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018031474A
Other languages
English (en)
Inventor
陽子 井戸
Yoko Ido
陽子 井戸
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 JP2018031474A priority Critical patent/JP2019148846A/ja
Priority to US16/279,063 priority patent/US10657427B2/en
Priority to CN201910143156.8A priority patent/CN110196697B/zh
Publication of JP2019148846A publication Critical patent/JP2019148846A/ja
Pending legal-status Critical Current

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/1827Accessing generic data, e.g. fonts
    • G06K15/1831Accessing generic data, e.g. fonts characterized by the format of the data
    • G06K15/1832Compressed bitmaps
    • 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/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00355Mark-sheet input
    • H04N1/00358Type of the scanned marks
    • H04N1/00363Bar codes or the like
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest
    • 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/1801Input data handling means
    • G06K15/1802Receiving generic data, e.g. fonts, colour palettes
    • 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
    • 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/1842Geometric transformations, e.g. on raster data
    • G06K15/1843Changing size or raster resolution
    • 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/23Reproducing arrangements
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • H04N1/32133Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image on the same paper sheet, e.g. a facsimile page header
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • 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/40Picture signal circuits
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Record Information Processing For Printing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】バーコードフォントを用いて印刷するための描画データをXPSプリントパスで処理する場合において、GDIプリントパスと同じ出力結果を得ることができるようにする。【解決手段】情報処理装置が、アプリケーションから入力されたGDI形式の描画データをXPS形式の描画データに変換する変換手段と、前記XPS形式の描画データをレンダリングしてPDLデータに変換するレンダリング手段と、を備え、前記レンダリング手段は、前記XPS形式の描画データ内の描画対象のオブジェクトが、フォントを用いて描画するテキスト属性の文字オブジェクトである場合、フォントデータから算出した文字送り幅に基づいてレンダリングすることを特徴とする。【選択図】図5

Description

本発明は、グラフィックスエンジンを用いて印刷処理を行なう情報処理装置における描画制御技術に関する。
Microsoft社のWindows(登録商標)オペレーティングシステムにおいて動作するアプリケーションから文書をプリンタにて印刷するための処理フローとして、次の2つが存在する。すなわち、GDI(Graphics Device Interface)プリントパス、および、XPS(XML Paper Specification)プリントパスである。GDIプリントパスとXPSプリントパスとは排他的な関係にあるわけではなく、例えばアプリケーションがGDIを使って生成したGDI形式の描画データをXPS形式の描画データに変換してXPS用のプリンタドライバで印刷ジョブにすることが可能である。この描画データの変換は、MXDC(Microsoft XPS Document Converter)と呼ばれる変換モジュールによってなされる。
ここで、バーコードフォントを用いて作成された文書を、MXDCを介して生成された印刷ジョブに従って印刷する場合、バーコードを構成するバー同士の間隔がずれてしまう場合がある。これは、MXDCにおける描画データ変換時の演算誤差に起因するものである。バーコードフォントを用いて作成した文書を適切に印刷するための技術としては、例えば特許文献1がある。特許文献1の概要は以下のとおりである。まず、印刷対象の画像情報にバーコード画像が含まれている場合、アプリケーションは、GDIを介してプリンタドライバに渡す画像情報とは別に、バーコード識別情報を記憶部に記憶させておく。そして、プリンタドライバは、GDIを介して取得する画像情報にバーコードフォントが含まれる場合、記憶部に記憶されているバーコード識別情報に基づいて、そのバーコード部分の制御コマンドを生成し、当該生成した制御コマンドを用いてバーコードを印刷する、というものである。
特開2013−257805号公報
しかしながら、上記特許文献1の技術は、バーコード識別情報を別途記憶部に記憶させる機能をアプリケーションが備えている必要があり、このような機能を有さない一般的なアプリケーションでは使用できない。
本発明に係る情報処理装置は、アプリケーションから入力されたGDI形式の描画データをXPS形式の描画データに変換する変換手段と、前記XPS形式の描画データをレンダリングしてPDLデータに変換するレンダリング手段と、を備え、前記レンダリング手段は、前記XPS形式の描画データ内の描画対象のオブジェクトが、フォントを用いて描画するテキスト属性の文字オブジェクトである場合、フォントデータから算出した文字送り幅に基づいてレンダリングすることを特徴とする。
本発明によれば、バーコードフォントを用いて印刷するための描画データをXPSプリントパスで処理する場合において、GDIプリントパスと同じ出力結果を得ることができる。
PCのハードウェア構成の一例を示すブロック図 V4ドライバを用いた印刷ジョブの生成処理に関わるソフトウェア構成の一例を示す図 レンダリングフィルタ205の内部構成を示す機能ブロック図 CODE128規格の説明図 バーコード形成時に適切なスペース幅を実現するレンダリング処理の流れを示すフローチャート (a)はバーコードが配置された文書の一例を示す図、(b)はバーコードフォントを用いて描画することを指定したXPSデータの一例を示す図 バーコードの4文字分の描画結果を示す図 文字送り幅、オフセット、スペース幅をまとめた表 変形例に係る、(a)はバーコードが配置された文書の一例を示す図、(b)はバーコードフォントを用いて描画することを指定したXPSデータの一例を示す図 変形例に係る、文字送り幅の算出の詳細を示すフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
実施形態1
図1は、本実施形態に係る、印刷ジョブを生成する情報処理装置としてのPCのハードウェア構成の一例を示すブロック図である。PC10は、コントローラ100、入力デバイス110、ディスプレイ120、外部メモリ130で構成される。コントローラ100は、CPU101、RAM102、ROM103、ネットワークI/F105、入力I/F106、ディスプレイI/F107、外部メモリI/F108で構成され、システムバス104を介して相互に接続される。
コントローラ100は、PC10を統括的に制御する。CPU101は、RAM102に記憶されているプログラムに従って、システムバス104に接続される各部を制御する。RAM102は、CPU101の主メモリ、ワークエリア等としても機能する。ROM103は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントROM103a、ブートプログラムやBIOS等を記憶するプログラムROM103b、及び各種データを記憶するデータROM103cに区分けして構成される。ネットワークI/F105は、LAN30を介してプリンタ20等の外部装置と通信処理を行なうインタフェースである。入力I/F106は、キーボードやポインティングデバイス(マウス)といった入力デバイス110を使用したユーザ入力を受け付けるインタフェースである。ディスプレイI/F107は、ディスプレイ120への表示処理を制御するインタフェースである。外部メモリI/F108は、例えばHDDやSSDといった外部メモリ130とのアクセス制御を行うインタフェースである。外部メモリ130には、オペレーティングシステム(OS)や印刷処理を担う各種ソフトウェア、さらに、ユーザファイル、編集ファイル等の各種データが格納される。なお、OSは本実施形態ではMicrosoft Windowsを使用するものとする。
背景技術で述べたとおり、Windows8(登録商標)以降は、XPSプリントパスと呼ばれる印刷処理フローが加わった。XPSプリントパスでは、XPSに対応したアプリケーションでXPS形式の描画データが生成され、Version4プリンタドライバ(以下、「V4ドライバ」)にてPDLデータに変換される。本発明は、従来からのGDIに対応したアプリケーションにおいてGDI形式の描画データを生成し、それがMXDCでXPS形式の描画データに変換されてV4ドライバに入力される場面を前提としている。図2は、PC10における、V4ドライバを用いた印刷ジョブの生成処理に関わるソフトウェア構成の一例を示す図である。以下、図2に沿って詳しく説明する。
アプリケーション201は、ユーザが文書を作成し印刷指示等を与えるためのGDIに対応したアプリケーションソフトウェアである。ユーザによって印刷指示が与えられると、アプリケーション201はGDIを利用して、指定された文書についてのGDI形式の描画データを生成する。生成されたGDI形式の描画データはMXDC202に送られる。本実施形態では、OSにインストールされたバーコードフォントを用いた文書をアプリケーション201が作成し、フォント情報を含んだGDI形式の描画データをMXDC202へ出力する。MXDC202は、受け取ったGDI形式の描画データをXPS形式に変換する。具体的には、フォント情報に基づき、フォント名やGlyphIndex(以下、「Gid」と表記)などが記載されたXPS形式の描画データに変換する。そして、変換したXPS形式の描画データを、V4ドライバ203に出力する。V4ドライバ203は、XPSプリントフィルタパイプライン(以下、「フィルタパイプライン」)と呼ばれるプログラミングモデルに従って、出力指示に応じたPDLデータを生成する。フィルタパイプライン204における印刷処理の単位はフィルタと呼ばれ、単一または複数のフィルタが、フィルタパイプライン204によって順にリンクされて実行される。すなわち、あるフィルタの出力がその次に連結されたフィルタの入力となり、各フィルタが順次処理を実行することによって最終的な出力物であるPDLデータ(印刷ジョブ)を生成する仕組みになっている。本実施形態においては、XPS形式の描画データからPDLデータを生成する単一のレンダリングフィルタ205でフィルタパイプライン204が構成されるものとする。レンダリングフィルタ205では、MXDC202から入力されたXPS形式の描画コマンドを解析し、各オブジェクトに対して拡大、縮小、回転などの画像処理を必要に応じて施した上でレンダリング処理を行って、PDLデータを生成する。この際、フォント処理部206を介してフォントラスタライザ207を利用して、OSにインストールされたフォントデータからフォント情報を取得し、文字の描画を行う。以下の表1に、フォントデータの内容の一例を示す。ただし、本実施形態と関連しない項目は省略している。
Figure 2019148846
上記表1において、項目Gidは、フォントが持つ各文字に割り振られた固有の番号を表す。また、項目WXは、次の文字への送り幅(100/UPM単位)を表す。また、項目BROXは、実際に描かれる文字の外接矩形の左上のX座標とY座標を(x0,y0)、右上のX座標とY座標を(x1,y1)として、当該文字のバウンディングボックスを表す。なお、UPMはunits-per-emの略であり、文字サイズの基準となる1emに相当するユニット数を表す。
レンダリングフィルタ205におけるレンダリング処理の詳細は後述する。レンダリングフィルタ205によって生成されたPDLデータは、ポートモニタ208に出力される。ポートモニタ208は、PDLデータをプリンタ20にLAN30を通じて送信する。
<レンダリングフィルタの構成>
図3は、レンダリングフィルタ205の内部構成を示す機能ブロック図である。レンダリングフィルタ205は、XPS解析部301、画像処理部302、PDL生成部303の3つの処理モジュールからなる。以下、各処理モジュールについて説明する。
XPS解析部301は、MXDC202から入力されたXPS形式の描画コマンド群からなるデータ(以下、「XPSデータ」と呼ぶ)を解析して、1又は複数のオブジェクトを描画するためのデータ(以下、「オブジェクトデータ」と呼ぶ)を順次出力する。ここで、各オブジェクトは、写真(イメージ)、図形(グラフィック)、文字(テキスト)といった属性を持っている。XPS解析部301は、テキスト属性のオブジェクトを描画する場合は、フォント処理部206を利用して、XPSデータに記載されたフォント名に基づきフォントデータへアクセスする。そして、文字のグリフの情報や次の文字への送り幅の情報などを取得する。
画像処理部302は、XPS解析部301から入力されたオブジェクトデータに対して、拡大、縮小、回転などの画像処理を必要に応じて施して、オブジェクトデータをPDL生成部303に渡す。このとき、文字フォントについては、フォント処理部206を通じてフォントラスタライザ207を用いて、ラスタライズを行う。PDL生成部303は、画像処理部302から入力される1又は複数のオブジェクトデータに基づき、PDLデータを生成する。
なお、レンダリングフィルタ205が扱うXPSデータ、オブジェクトデータ及びPDLデータは、いずれも印刷対象文書に含まれる全描画対象情報の集合体であり、全オブジェクトの出力順序も示されている。
<バーコード描画>
続いて、本発明の前提である、バーコードフォントを用いたバーコード描画について簡単に説明する。バーコードフォントとは、数値や文字列の値をバーコードの書式に変換して表示するためのフォントを指す。以下では、XPSプリントパスにてバーコードを描画する場合におけるバー同士の間隔(スペース幅)をバーコードとして理想的な間隔に保ち、GDIプリントパスでのバーコード描画と同等に保つ手法について説明する。
そもそも、紙等に印字されたバーコード様のものがバーコードとして認識されるかどうか(バーコード認識率)は、バーの幅と隣り合うバー間のスペース幅が、規定通りの比率で現れるか否かにかかっている。例えば、CODE128規格では、図4に示すとおり、各4種類あるバーの幅とスペース幅がそれぞれ1:2:3:4で描くことが規定されている。このように所定の規格で定められたバーコードを印刷出力する場合において、隣り合う2本のバーの間隔、つまりスペースの開始位置と終了位置をそれぞれ示す座標が、V3ドライバとV4ドライバとで異なってしまう現象が起きることが分かっている。これは、V3ドライバとV4ドライバとでは、使用する座標系が異なることに加え、MXDC202における変換処理において、次の文字への送り幅(以下、「文字送り幅」と呼ぶ)が整数に丸められてしまうことが主な原因と考えられる。これにより、バーやスペースの描画開始位置がずれて、スペースの幅にゆらぎが出てしまい、V3ドライバによる出力結果と同じ出力結果がV4ドライバでは得られないという問題が起こり得る。そこで本実施形態では、フォントデータ内の文字送り幅の情報から、V4ドライバで出力する場合の適切な文字送り幅を求め直し、これによりV3ドライバによる場合と同等の出力結果を得る方法を説明する。
<本発明の課題の確認>
フォントを使用して描画される文字オブジェクトの場合、そのフォントデータの場所が描画コマンド内で指定されている。図6(a)はページの左上と右下にそれぞれバーコード601及び602が配置された文書の一例を示し、同(b)は当該2つのバーコード601及び602を、バーコードフォントを用いて描画することを指定したXPSデータを示す。なお、左上のバーコード601を「TLバーコード」、右下のバーコード602を「BRバーコード」と呼ぶこととする。また、TLバーコード601に対応する描画コマンド610を「XPSコマンドTL」、BRバーコード602に対応する描画コマンド620を「XPSコマンドBR」と呼ぶこととする。XPSコマンドTL610、XPSコマンドBR620には、それぞれ使用するフォントデータ、文字列、文字の開始位置、拡大率、文字コード、文字送り幅などの情報が含まれる。
図6(b)において、“Canvas”タグ内の“RenderTransform”は、Canvasの拡大・縮小率、オフセット位置を示す。また、“Glyphs”タグ内の“FontUri”は、文字のレンダリングに使用されるフォントデータのある場所を示している。そして、“UnicodeString”はFontUriで特定されるフォントを用いて描画したい文字列を示し、“Indices”はUnicodeStringで定義した文字列をどのようにレンダリングするかを定義している。文字毎の定義はセミコロンで囲まれ、その中で4つの要素がカンマ区切りで表現される。この例では、先頭から順に、フォントが持つ各文字に割り振られた固有の番号であるGid、次の文字への文字送り幅を表すAdvanceWidthを要素として持っている。“FontRenderingEmSize”は、描画サーフェイスの単位 (既定値は96dpi)におけるフォントサイズを示している。“OriginX”は文字の開始位置のX座標を示し、“OriginY”は文字の開始位置のY座標を示す。“Fill”は文字の色情報を示す。“RenderTransform”は、文字の拡大・縮小率やオフセット位置の情報を示す。なお、図6(a)のTLバーコード601とBRバーコード602とは同じフォントデータを使用する同じ内容のバーコードであり、 描画位置だけが異なるものとする。図7は、TLバーコード601とBRバーコード602における1文字目から4文字目までの描画結果を示す拡大図である。両矢印711は1番目の文字701から2番目の文字702への文字送り幅を、両矢印712は2番目の文字702から3番目の文字703への文字送り幅を、両矢印713は3番目の文字703から4番目の文字704への文字送り幅をそれぞれ示している。文字開始位置から必ずしも描画が開始される(つまり画素が黒く塗られる)わけではなく、例えば2番目の文字702の文字開始位置は矢印702aの位置であるが、黒く塗られる描画開始位置は矢印702bの位置となる。同様に、例えば4番目の文字704の文字開始位置は矢印704aの位置で、黒く塗られる描画開始位置は矢印704bの位置となる。フォント描画においては、文字間のスペースが期待通りの幅を保てるかどうかが、バーコードの性能に関連して重要となる。図7の例では、ページ内の異なる位置に配置されているTLバーコード601及びBRバーコード602のいずれにおいても、スペース幅W12、W23、W34が、GDIプリントパスでのスペース幅と同じであることが要求される。この場合において、XPSデータから、デバイス解像度における文字送り幅を算出した場合には、以下のような問題が生じることが発明者による実験によって明らかとなった。以下、図6(b)におけるXPSコマンドTL610を例にとって、XPSデータからの文字送り幅の算出について説明する。なお、以下では、XPSデータから算出される文字送り幅を「XPS文字送り幅」と呼ぶこととする。
まず、Indicesの要素611には「18,16」と記載されている。これは、Gidが“18”で、AdvanceWidthが“16”であることを示している。つまり、1番目の文字701として、FontUriが示すフォントデータにおけるGid“18”で特定される文字を描画し、当該文字の送り幅711は“16”とすることが指定されている。なお、Gidの各番号で特定される各文字は、実際には所定のキャラクタマップ変換を経て描画されるものであるが、本発明の主眼ではないので説明を省略している。バーコードを構成する、バーとスペースの組み合わせからなる単位文字がこのようにして定義され、これにより例えば文字701のような描画結果が得られる。
ここで、出力解像度が600dpiのとき、1番目の文字701における描画開始位置のX座標(pixel換算)は、以下の式(1)で求められる。上述のとおり、この場合の描画開始位置は、実際に黒く塗られるバー部分の描画が開始される位置を意味する。1番目の文字701の場合はバーから始まるので、描画開始位置と文字開始位置とが一致することになる。これに対し、2番目の文字702の場合はスペースから始まるので、描画開始位置と文字開始位置とは一致しないことになる。
描画開始X座標={OriginX * (GryphsRenderTransformの1要素目) +
(CanvasRenderTransformのOffsetX)} *(600dpi / 96dpi)
・・・式(1)
上記式(1)から、1番目の文字701における描画開始位置(=文字開始位置)のX座標は、(181.92 * 0.116986 + 19.2) * (600 / 96) = 253.013082 (px)となる。
そして、文字間のXPS文字送り幅(ピクセル換算)は、以下の式(2)によって求められる。
XPS文字送り幅=AdvanceWidth * (FontRenderingEmSize / 100) *
(GlyphsRenderTransformの1要素目) * (600dpi / 96dpi)
・・・式(2)
よって、1文字目から2文字目へのXPS文字送り幅は、上記式(2)より、16 *(160 / 100)* 0.116986 *(600 / 96)= 18.71776 (px)となる。
続いて、2番目の文字702における描画開始位置702bの算出方法を説明する。ここで、文字開始位置から、実際に黒く描かれる描画開始位置までの距離を「オフセット」と定義する。すると、オフセットは、以下の式(3)で求められる。
オフセット= bbox_x0 * (FontRenderingEmSize / 1000) *
(GryphsRenderTransformの1要素目) * (600dpi / 96dpi)
・・・式(3)
よって、2番目の文字702のオフセット2(文字開始位置702aと描画開始位置702bとの距離)は、表1と上記式(3)より、80 * (160 / 1000) * 0.116986 * (600 / 96) = 9.3588 (px)となる。
そして、文字701と文字702との間にあるスペース幅W12は、XPS文字送り幅にオフセット値を加えた値、18.7177 + 9.3588 = 28.0765 (px) となる。
同様に、2番目の文字702と3番目の文字703との間、3番目の文字703と4番目の文字704との間における、それぞれのXPS文字送り幅とスペース幅も算出することができる。図8は、図7に示す4つの文字701〜704に関する、文字送り幅、オフセット、スペース幅をまとめた表である。そして、図8の表において、行802にはXPSコマンドTL610からの算出結果が、行803にはXPSコマンドBR620からの算出結果がそれぞれ示されている。また、図8の行801には、GDI形式の描画コマンドから得られる各文字の文字送り幅、オフセット、スペース幅が記載されている。GDI形式の描画コマンドでは、各値は整数値で得られる。行802及び803を見ると、XPSデータから算出したXPS文字送り幅を使ってバーコードを描画した場合、当該バーコードの印字位置によってはスペース幅がGDIプリントパスとは一致せず、ズレが生じていることが分かる。例えば、スペース幅W23に着目すると、BRバーコード602におけるこれらの値は33.926(px)であるのに対し、GDIプリントパスにおけるこれらの値は33(px)である。よって、およそ1ピクセル分だけ、XPSデータから算出したスペース幅の方が大きい。また、スペース幅W34に着目すると、BRバーコード602における値は31.586(px)であるのに対し、GDIプリントパスにおける値は32(px)であるので、およそ0.4ピクセル分だけ、XPSデータから算出したスペース幅の方が小さい。このようなズレは、行802及び803に記載の文字送り幅、オフセット、スペース幅の各値に対して、同じ内容の丸め処理を一律に行っても解消できない。
例えば、行802及び803に記載の各値に対し、小数点以下を四捨五入する丸め処理を一律に適用したとする。この場合、例えばスペース幅W34について、行802における値“32.756”は四捨五入によって33(px)となってしまい、行801における32(px)と異なる結果になる。また、スペース幅W23についても、行803における値“33.926”は四捨五入によって34(px)となってしまい、行801における33(px)と異なる結果となる。
次に、行802及び803に記載の各値に対し、小数点以下を切り上げる丸め処理を一律に適用したとする。この場合、例えばスペース幅W12について、行802及び803における値“28.077”はいずれも切り上げによって29(px)となってしまい、行801における28(px)と異なる結果となる。また、オフセット2についても、行802及び803における値“9.359”がいずれも切り上げによって10(px)となってしまい、行801における9(px)と異なる結果となる。
そして、行802及び803に記載の各値に対し、小数点以下を切り捨てる丸め処理を一律に適用したとする。この場合、例えばスペース幅W23について、行802における値“32.756”は切り捨てによって32(px)となってしまい、行801における33(px)と異なる結果となる。また、スペース幅34についても、行803における値“31.586”が切り捨てによって31(px)となってしまい、行801における32(px)と異なる結果となる。
以上のとおり、四捨五入、切り捨て、切り上げのいずれかを一律に適用するだけでは、行801に記載のGDIプリントパスにおける文字送り幅、オフセット、スペース幅の各値とXPSデータから算出されたそれらの値とを一致させることはできない。
<バーコード付き文書のレンダンリング処理>
図5は、本実施形態に係る、バーコード形成時に適切なスペース幅を実現するレンダリング処理の流れを示すフローチャートである。上述した問題を踏まえ、MXDCから入力された、バーコードフォントを使用したバーコード付き文書の印刷指示であるXPSデータをV4ドライバで処理するに際し、V3ドライバのときと同等の出力結果を得られるようにしている。以下、図5のフローに沿って説明する。
ステップ501では、XPS解析部301において、MXDC202から入力されたバーコード付き文書の印刷を指示するXPSデータに対し、フォントを使用するテキスト属性の描画コマンドの探索が実行される。具体的には、バーコードフォントを利用したバーコード印刷の場合に必ず含まれる<Glyphs>タグの有無がチェックされる。例えば、同じバーコード印刷であっても、パスを利用したグラフィック属性のオブジェクトとしてバーコードを描画する場合や、ビットマップ画像によるイメージ属性のオブジェクトとしてバーコードを描画する場合は、上述した問題は生じない。したがって、本ステップにおいて、XPSデータ内に<Glyphs>タグがあるか否かがチェックされる。
ステップ502では、ステップ501における探索結果に応じて処理の切り分けがなされる。XPSデータ内に<Glyphs>タグがない場合はステップ505へ進み、<Glyphs>タグがある場合はステップ503へ進む。
ステップ503では、XPS解析部301において、デバイス解像度における文字送り幅とオフセットが、XPSデータからではなく、フォントデータから算出される。以下、前述の図6(b)のXPSデータにおけるXPSコマンドTL610を例にとって、フォントデータから文字送り幅をどのように算出するのかを説明する。なお、以下では、フォントデータから算出される文字送り幅を「フォント文字送り幅」と呼ぶこととする。
前述のとおり、1番目の文字701に対応する要素611におけるGidは“18”であり、WXで示される文字送り幅は“160”であることがわかる(上記表1を参照)。ここで、文字送り幅は「100/UPM」単位であり、文字のUPMは“1000”とする。出力解像度が600dpiのとき、1番目の文字701における描画開始位置のX座標(Pixel換算)は、以下の式(4)で求められる。
フォント文字送り幅=WX * (100/UPM) * (FontRederingEmSize / 100) *
(GlyphsRenderTransformの1要素目) * (600dpi / 96dpi)
・・・式(4)
よって、1番目の文字701から2番目の文字702へのフォント文字送り幅711は、上記式(4)より、160 * (100/1000) * (160/100) * 0.116986 * (600/96) = 18.7177(px)となる。また、2番目の文字702における描画開始位置702b(=オフセット2)も上記表1と上記式(3)から同様に求めることができ、9.3588(px)となる。よって、スペース幅W12も、XPSデータから算出した結果と同じ、28.0765(px)となる。そして、要素612のGid“65”に対応する文字についても表1のWXで示す文字送り幅“280”を用いて、フォント文字送り幅712、オフセット3、スペース幅W23が同様に算出される。また、要素613のGid“36”に対応する文字についても表1のWXで示す文字送り幅“240”を用いて、フォント文字送り幅713、オフセット4、スペース幅W34が同様に算出される。これらの算出結果が、図8の表における行804の「フォント(実数)」に示されている。
ステップ504では、XPSデータ内に未処理の<Glyphs>タグが残っていないかが判定される。未処理の<Glyphs>タグがあればステップ503へ戻り、フォントデータからの文字送り幅とオフセットの算出処理を繰り返す。一方、XPSデータ内で見つかったすべての<Glyphs>タグが処理済みであれば、ステップ505へ進む。
ステップ505では、画像処理部302において、XPSデータにおいて描画が指示された各オブジェクトのラスタライズがなされる。そして、フォントを使用したテキスト属性のオブジェクトについては、フォント処理部206を介して、フォントラスタライザ207によって文字フォントのラスタライズがなされることになる。この際、ステップ503で算出したフォント文字送り幅とオフセットの各値における小数点以下に対し、所定の丸め処理を行なって得られた値を用いることで、印刷出力されるバーコードにおいて適切なスペース幅が実現される。本実施形態における所定の丸め処理は、具体的には、フォント文字送り幅に対しては「小数点以下を四捨五入」、オフセット値に対しては「小数点以下を切り捨て」である。そして、これら丸め処理後のフォント文字送り幅とオフセットの各値を加算して得られた合計値が、スペース幅となる。この丸め処理を行って得られた結果が、図8の行805の「フォント(丸め)」に記載されている。図8の行805に記載の各値と行801に記載の各値とを比較すると、全ての値が一致していることがわかる。これにより、MXDC202を介したXPSプリントパスにおいてもバーコードフォントのスペース幅が、GDIプリントパスにおけるスペース幅と一致することになる。
以上が、本実施形態に係る、バーコードフォントを用いたテキスト属性のオブジェクトのレンダリング処理の内容である。なお、上述のフローでは、フォントを用いたテキスト属性のオブジェクトの描画についてはすべてフォントデータから算出した文字送り幅が使用されることになる。しかし、バーコードフォントでは、バーの太さやバー間隔が厳密に再現することが要求されるが、通常の文字の描画では、文字送り幅の精度がそれほど要求されないこともある。そこで、入力されたXPSデータ内のバーコードフォントが使用されているオブジェクトに対してのみ、フォントデータからの文字送り幅の算出を行うようにしてもよい。バーコードフォントを使用しているかどうかは、例えば、プリレンダリングしてバーコードのビットマップが印刷データの中にあるかを調べることで判別可能である。あるいは、XPSデータに記載されたフォント情報やバーコード種別が、OSに登録されているバーコードフォントと一致するかを確認してもよい。また、PC10のUI(ユーザインタフェース)を介して、バーコードフォントを使用する印刷モード(バーコード印刷モード)が指定された場合にのみ、図5のフローが実行されるように構成してもよい。
<変形例1>
上述した手法は、例えば図9(a)に示すように、バーコードフォントを用いて描画される2つのバーコード901と902がページ内の同じX座標上に存在している場合には適用できない。図9(b)は、2つのバーコード901と902が空白903を挟んで同一X座標上に存在するページのXPSデータである。このXPSデータでは、1つの<Glyphs>タグ内に、2つのバーコード901と902に対応して、それぞれのバーコードを構成する単位文字のGidの番号と各文字についての文字送り幅の情報が記載される。そして、Indicesにおいて、空白903に相当する文字送り幅の情報(要素)904も記載される。すなわち、この場合の要素904が表す文字送り幅は1つのバーコード内のバーの間隔を表す文字送り幅ではない。このような空白は、ユーザが意図的に設ける場合や、アプリケーションによって自動的に挿入される場合などがある。いずれの場合においても、このような意図的な空白部分を表す文字送り幅にまで上述の手法を適用すると、意図された空白とは異なる幅の空白になってしまう。
そこで、Indicesに記載された文字送り幅が「2つのバーコード間の空白を示す送り幅」である場合には、本実施形態の手法を適用しないようにする態様を変形例として説明する。
図10は、本変形例に係る、適切な文字送り幅を確保する処理の詳細を示すフローチャートである。本フローは、図5のフローにおけるステップ503に対応している。本変形例の適用にあっては、図5のフローの各ステップのうちステップ503以外のステップについては変更の必要はないため、それらの説明を省く。以下、図9(b)のXPSデータが入力されたものとして、図10のフローに沿って、本変形例における処理内容を説明する。
ステップ1001では、図9(b)のXPSデータから、描画対象の文字についてのXPS文字送り幅が抽出される。Gidの番号“91”で特定される文字(空白903の直前に描画される文字)が描画対象の文字である場合、要素904の値“2604”が、XPS文字送り幅として抽出される。
続くステップ1002では、前述の表1に示すフォントデータから、描画対象の文字についてのフォント文字送り幅が抽出される。その抽出方法は、ステップ503で説明したとおりである。ここでは、前述の式(4)から、520 * (100/1000) * (160/100) * 0.115026 * (600/96) = 59.81352(px)が、フォント文字送り幅として算出されることになる。なお、フォント送り幅の算出時には、前述のとおりオフセットも同時に算出されるが、ここでは省略する。
ステップ1003では、ステップ1001で抽出されたXPS文字送り幅とステップ1002で抽出されたフォント文字送り幅とが比較される。両者を比較した結果、その差分の絶対値が所定値以上の非常に大きな値である場合は、描画対象の文字についての文字送り幅は、空白903のような意図的に設けられた文字間の空白と判断する。ここで、「差分の絶対値が非常に大きい」かどうかの判別は、フォントデータ内にある全てのGidで特定される文字についての文字送り幅の最大値よりも大きい、或いは、最小値よりも小さいことを条件とすることが一例として挙げられる。得られた差分の絶対値が非常に大きいとはいえない場合は、描画対象の文字についての文字送り幅は意図的な空白ではないと判断する。このようにして、本実施形態の手法を適用すべきか否かを判断し、判断結果に応じて処理の切り分けを行う。具体的には、XPS送り幅とフォント送り幅との差分の絶対値が非常に大きく、当該文字送り幅は意図的に設けられた文字間の空白と判断された場合にのみ、ステップ1004に進む。そして、意図的な空白とは判断されない場合は、本処理を抜ける。
ステップ1004では、適切な文字送り幅としてXPS文字送り幅を採用して、次の描画対象となる文字の文字開始位置が決定される。この場合において、意図された空白の直後に描画される文字についての文字開始位置は、そこまでの文字(同一X座標上において既に描画された文字)の文字送り幅の合計値から求めることができる。例えば、意図的な空白直後の文字が<Glyphs>タグ内で10番目の文字であったとすると、<Glyphs>の開始座標を起点として、1〜9番目の各文字についてのXPS文字送り幅の合計値を、次の描画対象の文字の開始座標とする。これは、XPSデータに記載されている文字送り幅は、相対座標には揺らぎがあるものの絶対座標は正確であると考えられることから、意図的な空白の直後に描画される文字の開始位置は、それらの値を使用して決定した方がより正確になるためである。
以上が、本変形例に係る、文字送り幅の種類を判別して、適切な文字送り幅を確保する処理の内容である。このように本変形例の手法によれば、XPSデータに記載された文字送り幅がユーザやアプリケーションによって意図的に設けられた空白を表している場合には、上述の実施形態の手法の適用が回避され、適切な文字送り幅が確保される。その結果、バーコードを構成する単位文字の描画時には正確な文字送り幅を担保しつつ、意図的な空白については意図されたスペース幅で描画することが可能となる。
以上のとおり本実施形態では、フォントデータから算出した文字送り幅に基づいてバーコードフォントのレンダンリングを行う。これにより、MXDCからのXPSデータに従って、フォントを用いたバーコード印刷用のPDLデータをV4ドライバで生成する場合であっても、適切なバー間隔のバーコードを印刷することが可能となる。こうして印刷されたバーコードにおいてはバー間隔が理論値に近くなっているので、バーコードを正確に読み取ることができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (14)

  1. アプリケーションから入力されたGDI形式の描画データをXPS形式の描画データに変換する変換手段と、
    前記XPS形式の描画データをレンダリングしてPDLデータに変換するレンダリング手段と、
    を備え、
    前記レンダリング手段は、前記XPS形式の描画データ内の描画対象のオブジェクトが、フォントを用いて描画するテキスト属性の文字オブジェクトである場合、フォントデータから算出した文字送り幅に基づいてレンダリングする
    ことを特徴とする情報処理装置。
  2. 前記レンダリング手段は、前記文字オブジェクトについて、前記フォントデータに含まれる文字送り幅の情報から、デバイス解像度における文字送り幅を算出する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記フォントは、バーコードフォントであることを特徴とする請求項2に記載の情報処理装置。
  4. 印刷モードを指定できるユーザインタフェースをさらに備え、
    前記レンダリング手段は、前記ユーザインタフェースを介して、前記バーコードフォントを使用する印刷モードが指定されている場合に、前記文字オブジェクトについて、フォントデータから算出した文字送り幅に基づいてレンダリングする
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記XPS形式の描画データ内に、前記バーコードフォントを用いて描画する文字オブジェクトが存在するかどうかを判定する判定手段をさらに備えたことを特徴とする請求項4に記載の情報処理装置。
  6. 前記判定手段は、
    プリレンダリングを行なう手段を有し、
    前記プリレンダリングの結果、バーコードのビットマップがある場合に、前記バーコードフォントを用いて描画する文字オブジェクトが存在すると判定する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記判定手段は、前記XPS形式の描画データ内のフォント情報又はバーコード種別が、OSに登録されているバーコードフォントと一致する場合に、前記バーコードフォントを用いて描画する文字オブジェクトが存在すると判定する、ことを特徴とする請求項5に記載の情報処理装置。
  8. 前記レンダリング手段は、
    前記フォントデータに含まれる文字送り幅の情報から算出した前記デバイス解像度における文字送り幅に対して、第一の丸め処理を行って整数値にし、
    前記フォントデータから、文字開始位置から描画開始位置までの距離を示すオフセット値を算出し、当該算出したオフセット値に対して第二の丸め処理を行って整数値にし、
    前記丸め処理後の文字送り幅とオフセット値とを足し合わせた値で特定される位置に基づいて、次の描画対象の文字オブジェクトをレンダリングする
    ことを特徴とする請求項2乃至7のいずれか1項に記載の情報処理装置。
  9. 前記第一の丸め処理は、小数点以下の四捨五入であり、
    前記第二の丸め処理は、小数点以下の切り捨てである、
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記レンダリング手段は、前記XPS形式の描画データに含まれる文字送り幅の情報から、前記デバイス解像度における文字送り幅を算出し、当該算出した文字送り幅と、前記フォントデータに含まれる文字送り幅の情報から算出した前記デバイス解像度における文字送り幅との差分の絶対値が所定の条件を満たす場合には、前記XPSデータから算出した文字送り幅に基づいて、次の描画対象の文字オブジェクトをレンダリングすることを特徴とする請求項2乃至7のいずれか1項に記載の情報処理装置。
  11. 前記レンダリング手段は、前記差分の絶対値が、前記フォントデータ内にある全てのGidで特定される文字についての文字送り幅の最大値よりも大きい、或いは、最小値よりも小さい場合に、前記所定の条件を満たすと判断する、ことを特徴とする請求項10に記載の情報処理装置。
  12. 変換手段が、アプリケーションから入力されたGDI形式の描画データをXPS形式の描画データに変換するステップと、
    レンダリング手段が、前記XPS形式の描画データをレンダリングしてPDLデータに変換するレンダリングステップと、
    を含み、
    前記レンダリングステップでは、前記XPS形式の描画データ内の描画対象のオブジェクトが、フォントを用いて描画するテキスト属性の文字オブジェクトである場合、フォントデータから算出した文字送り幅に基づいてレンダリングする
    ことを特徴とする情報処理方法。
  13. GDI形式からXPS形式に変換された描画データをレンダリングして、PDLデータを生成するプリンタドライバであって、
    前記XPS形式の描画データ内の描画対象のオブジェクトが、フォントを用いて描画するテキスト属性の文字オブジェクトである場合、フォントデータから算出した文字送り幅に基づいてレンダリングする
    ことを特徴とするプリンタドライバ。
  14. コンピュータを、請求項1乃至11のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
JP2018031474A 2018-02-26 2018-02-26 情報処理装置、情報処理方法及びプログラム Pending JP2019148846A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018031474A JP2019148846A (ja) 2018-02-26 2018-02-26 情報処理装置、情報処理方法及びプログラム
US16/279,063 US10657427B2 (en) 2018-02-26 2019-02-19 Information processing apparatus, information processing method and storage medium
CN201910143156.8A CN110196697B (zh) 2018-02-26 2019-02-26 信息处理设备、信息处理方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018031474A JP2019148846A (ja) 2018-02-26 2018-02-26 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2019148846A true JP2019148846A (ja) 2019-09-05

Family

ID=67684557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018031474A Pending JP2019148846A (ja) 2018-02-26 2018-02-26 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US10657427B2 (ja)
JP (1) JP2019148846A (ja)
CN (1) CN110196697B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020166363A (ja) * 2019-03-28 2020-10-08 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115620307B (zh) * 2022-12-02 2023-04-18 杭州实在智能科技有限公司 用于扩充ocr训练集的随机字体样式生成方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386160B2 (en) * 2004-12-02 2008-06-10 International Business Machines Corporation System and method for determining image resolution using MICR characters
US8134733B2 (en) * 2009-04-24 2012-03-13 Xerox Corporation Pre-concatenation execution method and system for automated prepress process nodes
JP6115062B2 (ja) * 2012-03-21 2017-04-19 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
JP2013257805A (ja) 2012-06-14 2013-12-26 Seiko Epson Corp 制御装置、制御装置の制御方法、及び、プログラム
JP6614857B2 (ja) * 2015-08-21 2019-12-04 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6576224B2 (ja) * 2015-11-26 2019-09-18 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP2017102670A (ja) * 2015-12-01 2017-06-08 キヤノン株式会社 印刷制御装置、印刷制御方法、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020166363A (ja) * 2019-03-28 2020-10-08 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
US11630616B2 (en) 2019-03-28 2023-04-18 Brother Kogyo Kabushiki Kaisha Information processing apparatus, printing method, and non-transitory computer-readable medium storing support program therefor for controlling a printer for printing a barcode image
JP7298241B2 (ja) 2019-03-28 2023-06-27 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法

Also Published As

Publication number Publication date
US20190266454A1 (en) 2019-08-29
CN110196697A (zh) 2019-09-03
CN110196697B (zh) 2024-06-07
US10657427B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
US7797631B2 (en) Document printing control apparatus and method
EP2575024B1 (en) Print data processing apparatus, a print data processing method, a printing system and program, a page data creating apparatus, and a rasterization processing apparatus
US10303409B2 (en) Information processing apparatus, information processing method, and storage medium
US20020191199A1 (en) Printing system
US8467075B2 (en) Printing control apparatus using a print setting, method and medium
CN110196697B (zh) 信息处理设备、信息处理方法和存储介质
JP2018116442A (ja) 印刷制御装置、ページデータ修正方法、ラスタデータ生成方法、ページデータ修正プログラム、および、ラスタデータ生成プログラム
US7941750B2 (en) Method and system for defining separate print quality regions within a print job
US9111198B2 (en) Print control method, print control device, and storage medium
US20100147960A1 (en) Methods, devices, and systems for printing bar codes
KR100709364B1 (ko) 패턴 이미지 생성 방법 및 장치
US9990572B2 (en) Information processing apparatus, print data generation method, and storage medium
JP2011203692A (ja) 文書管理装置、文書管理システムおよび文書管理プログラム
JP2011175629A (ja) 印刷可能データのレンダリングに関するシステムおよび方法
JP6437076B2 (ja) 情報処理装置及びその制御方法とプログラム
EP2402908B1 (en) Rendering data in the correct z-order
US11386309B2 (en) Printing apparatus, printing method, and non-transitory computer-readable recording medium therefor
JP6614857B2 (ja) 画像処理装置、画像処理方法及びプログラム
EP2293180B1 (en) PDL data processing device and PDL data creating device
US20190332906A1 (en) Information processing apparatus, storage medium, printing apparatus, and method for processing drawing data
CN117453158A (zh) 票据的定制化生成方法、设备及存储介质
JP2001251493A (ja) 画像処理装置、画像処理方法、画像処理システム、及び記録媒体
JP2010009379A (ja) テンプレート生成方法およびコンピュータ装置
JP2019053604A (ja) 制御プログラム
JP2004280144A (ja) 帳票作成装置、帳票処理装置、プログラム及び記憶媒体