IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンファインテック株式会社の特許一覧

特開2023-45622印刷アプリケーション、制御方法、及び情報処理装置
<>
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図1
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図2
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図3
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図4
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図5
  • 特開-印刷アプリケーション、制御方法、及び情報処理装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023045622
(43)【公開日】2023-04-03
(54)【発明の名称】印刷アプリケーション、制御方法、及び情報処理装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20230327BHJP
【FI】
G06F3/12 356
G06F3/12 308
G06F3/12 353
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021154153
(22)【出願日】2021-09-22
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
(71)【出願人】
【識別番号】000208743
【氏名又は名称】キヤノンファインテックニスカ株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】小野 靖和
(72)【発明者】
【氏名】新田 大地
(57)【要約】
【課題】デバイスフォントを用いる印刷装置によって印刷を実行する場合に、操作者がディスプレイ上での文字や記号を認識し易い印刷プレビューの表示を実現する。
【解決手段】本発明の一実施形態は、印刷装置でデバイスフォントを用いた印刷を実行するにあたり、印刷プレビューの領域を有するGUI画面を表示するための印刷アプリケーションであり、印刷するフォントを入力するフォント入力手段と、前記フォントのサイズについて、N種の中から選択可能なフォントサイズ入力手段と、前記フォント入力手段を介して設定されるフォント情報と、前記フォントサイズ入力手段を介して設定されるサイズ情報とに基づいて、前記領域における前記印刷プレビューを描画する描画手段と、を有する。描画手段は、領域において特殊記号を表示する場合、サイズ情報に基づいて、M種のサイズの中から一意に決まるサイズのビットマップフォントを用いた描画を行う。
【選択図】図5
【特許請求の範囲】
【請求項1】
印刷装置でデバイスフォントを用いた印刷を実行するにあたり、印刷プレビューの領域を有するGUI画面を表示するための印刷アプリケーションであって、
印刷対象とするフォントを入力するフォント入力手段と、
前記フォントのサイズについて、N種(Nは1以上の整数)の中から1つを選択可能なフォントサイズ入力手段と、
前記フォント入力手段を介して設定されるフォント情報と、前記フォントサイズ入力手段を介して設定されるサイズ情報とに基づいて、前記領域における前記印刷プレビューを描画する描画手段と、
を有し、
前記描画手段は、前記領域において表示されるフォントが特殊記号である場合、前記サイズ情報に基づいて、予め用意されたM種(Mは1以上且つN以下の整数)のサイズの中から一意に決まるサイズのビットマップフォントを用いた描画を行う、
ことを特徴とする印刷アプリケーション。
【請求項2】
前記領域において表示されるフォントが特殊記号であるか否かを判定する判定手段を更に有する、
ことを特徴とする請求項1に記載の印刷アプリケーション。
【請求項3】
前記判定手段によって、前記領域において表示されるフォントが特殊記号と判定された場合、前記描画手段は、ビットマップフォントを用いた描画を行い、
前記判定手段によって、前記領域において表示されるフォントが特殊記号ではないと判定された場合、前記描画手段は、システムフォントを用いた描画を行う、
ことを特徴とする請求項2に記載の印刷アプリケーション。
【請求項4】
前記サイズ情報が示すサイズの近似値として、予め用意された値の中から、前記サイズ情報が示すサイズ以上且つ当該サイズに最も近似する値を設定する設定手段と、
前記設定手段によって設定された前記近似値に基づいて、前記予め用意されたM種のサイズの中から1つのサイズを決定する決定手段と、
を更に有する、
ことを特徴とする請求項1乃至3の何れか1項に記載の印刷アプリケーション。
【請求項5】
前記予め用意されたM種のサイズの中に、前記近似値に合致するサイズがある場合、前記決定手段は、前記1つのサイズとして、当該合致するサイズを決定する、
ことを特徴とする請求項4に記載の印刷アプリケーション。
【請求項6】
前記予め用意されたM種のサイズの中に、前記近似値に合致するサイズはないが当該近似値より大きいサイズがある場合、前記決定手段は、前記1つのサイズとして、当該大きいサイズの中で最も小さいものを決定する、
ことを特徴とする請求項5に記載の印刷アプリケーション。
【請求項7】
前記予め用意されたM種のサイズの中に、前記近似値に合致するサイズと、当該近似値より大きいサイズとはないが、当該近似値より小さいサイズがある場合、前記決定手段は、前記1つのサイズとして、当該小さいサイズの中で最も大きいものを決定する、
ことを特徴とする請求項6に記載の印刷アプリケーション。
【請求項8】
前記描画手段は、前記決定手段によって決定されたサイズのビットマップフォントを、前記領域のサイズに合わせて拡大または縮小して描画する、
ことを特徴とする請求項4乃至7の何れか1項に記載の印刷アプリケーション。
【請求項9】
前記描画手段が前記決定手段によって決定されたサイズのビットマップフォントを拡大または縮小して描画する場合の拡縮率は、前記フォント入力手段を介して設定される前記フォント情報と、前記領域のサイズとに基づく、
ことを特徴とする請求項4乃至8の何れか1項に記載の印刷アプリケーション。
【請求項10】
前記GUI画面は、印字媒体を設定するための第1要素と、当該印字媒体のサイズを設定するための第2要素と、前記フォントを入力するための第3要素と、前記印刷プレビューの前記領域と、を有する、
ことを特徴とする請求項1乃至9の何れか1項に記載の印刷アプリケーション。
【請求項11】
印刷装置でデバイスフォントを用いた印刷を実行するにあたり、印刷プレビューの領域を有するGUI画面を表示するための印刷アプリケーションを備えた情報処理装置の制御方法であって、
印刷対象とするフォントの入力を受け付ける第1ステップと、
前記フォントのサイズについて、N種(Nは1以上の整数)の中から1つを選択する入力を受け付ける第2ステップと、
前記第1ステップにより設定されるフォント情報と、前記第2ステップにより設定されるサイズ情報とに基づいて、前記領域における前記印刷プレビューを描画する第3ステップと、
を有し、
前記第3ステップにおいて、前記領域において表示されるフォントが特殊記号である場合、前記サイズ情報に基づいて、予め用意されたM種(Mは1以上且つN以下の整数)のサイズの中から一意に決まるサイズのビットマップフォントを用いた描画を行う、
ことを特徴とする制御方法。
【請求項12】
請求項1乃至10の何れか1項に記載の印刷アプリケーションを備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像形成システムの技術に関する。
【背景技術】
【0002】
PC等の情報処理装置から印刷装置に対して印刷を指示するための印刷アプリケーションやプリンタドライバの中には、印刷を実行する前に、その印刷結果がどのようになるか、印刷プレビューとしてディスプレイに表示することを可能とするものがある。
【0003】
これらアプリケーションにおいて、印刷装置がデバイスフォントを使用する場合、該デバイスフォントに近しいシステムフォントを代替として印刷プレビューに利用する場合がある。また、プリンタドライバには、設定を行うGUI画面として、PC側で使用するシステムフォントをデバイスフォントに置き換えて印刷するための設定画面を提示するものがある。尚、「システムフォント」とは、情報処理装置で稼働するWindowsOS等のシステムが用意するフォントデータを指し、当該システムで動作する様々なアプリケーションから汎用的に使用可能である。また、「デバイスフォント」とは印刷装置ごとの印刷特性を考慮して用意される該印刷装置ユニークなフォントデータを指し、該印刷装置が自ら有するデータである。印刷装置は、情報処理装置によって送信された印刷ジョブの受信、又は、印刷装置単体での印刷操作に基づいて、実際の印刷データとして、デバイスフォントを使用する。
【0004】
上記の技術の一例として、特許文献1は、印刷結果とプレビューでのサイズ感とがより近しくなるよう、アプリケーションがプレビューで使用するシステムフォントに対して設定するポイント数をドライバーによって明示する技術を開示している。
【0005】
しかし、特許文献1では、システムフォントに存在する汎用的な数字やアルファベット等の文字記号については、サイズと意匠とを適切に表現できるものの、デバイスフォントにしか存在しないフォントがあった場合に問題が生じる。例えば、電設記号のような特殊な記号に対しては、システムフォントにおける別の文字や記号で代替するしかなく、サイズは表現できたとしても、意匠を適切に表現できない。また、代替フォントを登録するにしても、ユーザに登録の手間をかけさせることになる。
【0006】
この問題を解決して、アプリケーション上の印刷プレビューにてデバイスフォントを適切に表現するため、各デバイスフォント1種あたりに、ビットマップフォント1つ用意する。そのビットマップフォントのサイズを拡大ないし縮小してプレビュー表示に使用するアプリケーションも存在する。尚、「ビットマップフォント」とは、印刷装置に対して印刷指示をする専用アプリケーションが内包するユニークなフォントデータであり、専用アプリケーションがシステム上でデバイスフォントを表現するために使用する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第6127541号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前述のデバイスフォントは、1種の文字又は記号を示すフォントについて、印刷時のサイズに応じて、複数種のサイズを用意していることが多い。その場合、前述のように1つのサイズのビットマップフォントを比例的に拡縮することで、全てのサイズのデバイスフォントを表現すると、ディスプレイの解像度やプレビューの表示サイズによっては、拡縮後のプレビュー表示で文字や記号の輪郭がガタつく。または、その逆に、文字や記号が潰れたりして、操作者が文字や記号として認識しづらくなる。
【課題を解決するための手段】
【0009】
本発明の一実施形態は、印刷装置でデバイスフォントを用いた印刷を実行するにあたり、印刷プレビューの領域を有するGUI画面を表示するための印刷アプリケーションであって、印刷対象とするフォントを入力するフォント入力手段と、前記フォントのサイズについて、N種(Nは1以上の整数)の中から1つを選択可能なフォントサイズ入力手段と、前記フォント入力手段を介して設定されるフォント情報と、前記フォントサイズ入力手段を介して設定されるサイズ情報とに基づいて、前記領域における前記印刷プレビューを描画する描画手段と、を有し、前記描画手段は、前記領域において表示されるフォントが特殊記号である場合、前記サイズ情報に基づいて、予め用意されたM種(Mは1以上且つN以下の整数)のサイズの中から一意に決まるサイズのビットマップフォントを用いた描画を行う、ことを特徴とする印刷アプリケーションである。
【発明の効果】
【0010】
本発明の一実施形態によれば、デバイスフォントを用いる印刷装置によって印刷を実行する場合に、操作者がディスプレイ上での文字や記号を認識し易い印刷プレビューの表示を実現するが可能になる。
【図面の簡単な説明】
【0011】
図1】画像形成システムの概略構成を示すブロック図
図2】アプリケーションプログラムのGUI画面
図3】アプリケーションプログラムのGUI画面
図4】描画領域を表現したサイズ情報を説明するための図
図5】文字列描画領域の表示更新処理のフローチャート
図6】ビットマップフォント情報を保持するテーブル
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示の好適な実施形態を例示的に詳しく説明する。但し、以下に記載されている構成要素はあくまで例示であり、本開示の範囲をそれらのみに限定する趣旨のものではない。
【0013】
[第1実施形態]
<画像形成システムの構成>
図1は、本実施形態における、画像形成システムの概略構成を示すブロック図である。
【0014】
画像形成システムは、画像形成装置101と、情報処理装置111と、を有する。情報処理装置は、例えばPCである。
【0015】
画像形成装置101は、CPU102と、プログラム記憶装置103と、通信部104と、RAM105と、印刷部106と、を有する。
【0016】
CPU102は、プログラム記憶装置103に記憶されているプログラムをRAM105に展開し該展開したプログラムを実行して、画像形成装置101の各部を制御する。プログラム記憶装置103には、画像形成装置101の各部を制御するためのプログラムが記憶されている。このプログラムの中には、文字の印刷に使用するデバイスフォント107が含まれる。通信部104は、例えばUSBインターフェイスであって、情報処理装置111の通信部114と接続され、画像形成装置101と情報処理装置111との間で印刷データを通信する。RAM105には、プログラム記憶装置103に記憶されているプログラムの実行に関わるデータが記憶されている。印刷部106は、通信部104を通じて情報処理装置111から受け取った印刷データに基づく印刷処理を実行する。デバイスフォント107は、プログラム記憶装置103に記憶されているイメージデータであって、図示するように、区点コード毎に紐付けられた書体画像のデータが必要サイズ分記憶されている。つまり、プログラム記憶装置103には、1種類の文字に対応する複数のサイズの文字データが記憶されている。
【0017】
情報処理装置111は、CPU112と、プログラム記憶装置113と、通信部114と、RAM115と、表示部116と、操作UI部117と、を有する。
【0018】
CPU112は、プログラム記憶装置113に記憶されているプログラムをRAM115に展開し該展開したプログラムを実行して、情報処理装置111の各部を制御する。プログラム記憶装置113には、情報処理装置111の各部を制御するためのプログラムが記憶されており、例えば、OS、デバイスドライバ、アプリケーションプログラム121等が記憶されている。通信部114は、例えばUSBインターフェイスであって、画像形成装置101の通信部104と接続され、画像形成装置101と情報処理装置111との間で印刷データを通信する。RAM115には、プログラム記憶装置113に記憶されているアプリケーションプログラムの実行に関わるデータが記憶されている。アプリケーションプログラムの実行に関わるデータとして、具体的には、書式設定情報122、ビットマップフォント123が記憶される。尚、書式設定情報122、ビットマップフォント123については後述する。表示部116は、CPU112で実行されたプログラムの処理結果を表示する。操作UI部117は、ユーザからの指示を受け付ける。CPU112は操作UI部117を介して受け付けたユーザ指示に基づいて、プログラム記憶装置113に記憶されているプログラムを実行する。
【0019】
尚、上述の形態では、通信部104、通信部114として、USBインターフェイスを用いているが、これら通信部はUSBインターフェイスに限られない。例えば、RS-232C、IrDA、IEEE1394等のシリアルインターフェイスや、IEEE1284、SCSI、IDE等のパラレルインターフェイスを用いてよいし、ネットワークインターフェイス等で接続された構成を採用してもよい。
【0020】
また、上述の形態では、記憶媒体としてRAM115を採用しているが、記憶媒体はRAMに限られない。RAMに代えて、例えば、磁気記憶媒体(フロッピーディスク、ハードディスク、磁気テープ等)、半導体ストレージ、紙テープ、又はROM素子等を採用してよい。また、例えば、光ディスク(MOやPD等の光磁気ディスク、CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-R、DVD-RAM、DVD-R、DVD-RW、DVD+RW等)を採用してもよい。
【0021】
<アプリケーションプログラムの機能>
以下、本実施形態におけるアプリケーションプログラムの機能について、図2及び図3を用いて説明する。図2及び図3は、アプリケーションプログラムの操作画面を示す。これらのような操作画面を「GUI画面」とも呼ぶ。
【0022】
メイン画面200は、ユーザによるアプリケーションの操作時に表示されるGUI画面である。アプリケーションプログラムを実行して、アプリケーションを起動すると、メイン画面200が表示される。
【0023】
プルダウンメニュー201は、印字媒体を設定するための要素である。尚、図2の例では「ラベル」が設定されている。プルダウンメニュー202は、印字媒体のサイズを設定するための要素である。尚、図2の例では「9mm」が設定されている。このように、ユーザは、プルダウンメニュー201とプルダウンメニュー202とを介して、印刷対象となる印字媒体とそのサイズとを設定する。従って、図2の例では、ユーザは「9mm幅のラベル」を設定していることになる。
【0024】
領域203は、編集対象となるページの選択状態を示すための要素である。選択中のページがハイライトで表示される。つまり、図2の例では、1ページに対応する領域がハイライト表示されているため、1ページが選択されている。チェックボックス204は、印刷対象とするページをユーザが選択するための要素である。印刷実行時、チェックが入っているページのページデータが、画像形成装置101に送信される。
【0025】
文字列入力セル205は、1ページ単位で印刷する文字を入力するための要素であって、フォント入力手段として機能する。図2は、ユーザによって、1ページ目の1行目に対応する文字が入力された状態を示す。ユーザは、マウス、キーボード等を用いて、文字列入力セル205を介して、印刷する文字を入力する。
【0026】
文字列入力セル205への文字入力に関して、キーボードを用いた入力の他に、特殊記号入力ダイアログ230上で文字を選択することで入力することも可能である。ボタン206は、特殊記号入力ダイアログ230を開くためのボタンである。
【0027】
ボタン207は、印刷ダイアログ350(図3参照)を開くためのボタンである。表示ウインドウ208には、文字列入力セル205に入力された文字又は文字列を有するページデータに基づき実際に印刷を実行した場合にどのように出力されるかを示す、簡易的な印刷プレビューが表示される。このプレビュー表示には、書式変更ダイアログ210を介して設定された内容と、プルダウンメニュー201を介して設定された印字媒体の情報と、プルダウンメニュー202を介して設定されたサイズの情報と、が反映される。
【0028】
ボタン209は、書式変更ダイアログ210を開くためのボタンである。書式変更ダイアログ210は、ページ単位で印刷時の書式を設定するためのGUI画面である。
【0029】
「印刷方向」211は、印刷方向を設定するための項目である。本実施形態では、「横向き/横書き」と、「縦向き/縦書き」と、「縦向き/横書き」との中から何れかを選択可能であるところ、図2の例では、ユーザは、「横向き/横書き」を選択的に設定している。
【0030】
「カット長」212は、印刷方向を設定するための項目である。本実施形態では、「自動」と「指定」との何れかを選択可能であるところ、図2の例では、ユーザは「自動」を選択的に設定している。「自動」が選択された場合、入力された文字列の長さに基づいて、1ページあたりの用紙長が自動的に決定される。画像形成装置101がカッターを有する場合には、この決定される用紙長で、印字媒体をカットすることが可能である。このカット機能は、ラベルテープのような印字媒体に印刷する画像形成装置にとって有用な機能である。符号213は、「カット長」212で「指定」が選択された場合に、1ページあたりの用紙サイズを、固定のページ長さとして設定するための要素を示す。
【0031】
「記名板印字エリア」214、「文字配置」215、「複数行センタリング」216については、本実施形態の特徴に直接的に関わらないため説明を割愛する。
【0032】
「文字サイズ」217は、印刷時の文字サイズを設定するための項目である。本実施形態では、プルダウンメニューを用いて、1.3mm全角、2mm半角、2mm全角、2.6mm半角、2.6mm全角、3mm半角、3mm全角、4mm半角、4mm全角、6mm半角、6mm全角の中から何れか1つを選択可能である。図2の例では、ユーザは、文字サイズとして、「3mm全角」を選択的に設定している。
【0033】
「文字間」218は、文字と文字との間隔を設定するための項目である。図2の例では、ユーザは「小」を選択しており、この場合の文字間は0となる。尚、「小」の他に、「中」、「大」といった値を選択可能である。
【0034】
「行数」219は、1ページあたりに何行の文字列を印刷するかを設定するための項目である。印字媒体のサイズに応じて、最大3行の設定を可能とするが、図2の例では、ユーザは「1行」を選択している。
【0035】
「連続」220は、ページ単位で繰り返し印刷する回数を設定するための項目である。本実施形態では、スピンボタンを用いて、1~200の中から何れか1つの値を選択可能であるところ、図2の例では、ユーザは、繰り返し印刷する回数として、選択的に1を設定している。
【0036】
特殊記号入力ダイアログ230は、印刷する特殊記号をユーザが選択ためのGUI画面である。特殊記号入力ダイアログ230には、画像形成装置101本体のデバイスフォントとしてしか存在しない電設記号のような特殊記号が一覧表示される。ユーザは、特殊記号入力ダイアログ230を介して特殊記号を選択することで、当該選択した特殊記号を、印刷する文字として、文字列入力セル205に入力することが可能である。
【0037】
図3に示すように、前述のメイン画面は、選択可能な項目としての「ファイル」340を有する。「ファイル」340が選択された場合、図3に示すメニューが開き、かかるメニューにおいて要素341を選択可能である。要素341が選択されると、印刷ダイアログ350が開く。
【0038】
印刷ダイアログ350は、印刷の実行を指示するためのGUI画面である。印刷ダイアログ350のOKボタン355が押下されると、印刷データが画像形成装置101に送信され、画像形成装置101は、当該印刷データに基づく印刷処理を実行する。
【0039】
「印字媒体」351は、印刷時の印字媒体を示すための項目であって、プルダウンメニュー201(図2参照)を介して設定された内容が表示される。「媒体サイズ」352は、印刷時の媒体サイズを示すための項目であって、プルダウンメニュー202(図2参照)を介して設定された内容が表示される。
【0040】
「印刷本数」353は、印刷データ全体を繰り返し印刷する回数を設定するための項目である。
【0041】
「送信方法」354は、印刷データを画像形成装置101等の外部プリンターに送信する方法を設定するための項目である。
【0042】
メニュー360は、文字列入力セル205(図2参照)をマウスボタンで右クリックすると開く。要素361は、メニュー360において選択可能であり、ユーザによって要素361が選択されると、特殊記号入力ダイアログ230(図2参照)が開く。また、要素362は、メニュー360において選択可能であり、ユーザによって要素362が選択されると、書式変更ダイアログ210(図2参照)が開く。
【0043】
書式設定情報370は、書式設定情報122(図1参照)の具体的内容を示す。書式設定情報は、「ページ単位」の設定情報としてページ分のデータを管理するものであって、アプリケーションの実行中に都度、作成、削除、更新される。
【0044】
尚、GUI画面の表示を切り替えるための要素として、ボタン、プルダウンメニュー等を例に挙げて説明したが、このような要素はボタン、プルダウンメニューに限らない。チェックボックスやラジオボタン等の他の要素を用いてGUI画面を設計してよい。
【0045】
<プレビュー表示>
ここからは、前述の「印字媒体」と「媒体サイズ」との各設定、及び、書式設定情報に基づいて、入力文字列に特殊記号が入力された場合、表示ウインドウ208(図2参照)における印刷プレビューの表示がどのように実施されるかについて説明する。
【0046】
以下、プレビュー領域の決定方法について説明する。詳しくは、図2で示した「印字媒体」と「媒体サイズ」との各設定、及び、図3で示した書式設定情報に基づき、1文字分の特殊記号が入力される場合のプレビュー表示を行うにあたり、必要となるプレビュー領域のサイズ情報の算出について、図を用いて説明する。
【0047】
図4は、描画領域を表現したサイズ情報を説明するための図である。図4(a)の符号401は、印刷出力時の印刷解像度に即したドット単位での用紙サイズと、描画領域とを表現したサイズ情報を示す。また、符号402は、ディスプレイ表示時のディスプレイ解像度に即したピクセル単位での用紙サイズと、描画領域とを表現したサイズ情報を示す。このようなサイズ情報で表すサイズが、プレビュー領域のサイズとなる。
【0048】
ここでは、サイズ情報(印刷出力時)401について説明する。
【0049】
(1)マージンのサイズ
まず、マージンのサイズとして、P3L、P3Rが求められる。P3L、P3Rは夫々ドット数で表現される。かかるマージンについて、プリンター本体(つまり画像形成装置101本体)の制御に合わせた任意のサイズがプログラム上で定義されている。
【0050】
例えば、書式設定情報において「カット長」が「自動」とされている場合、マージンの標準値である2mmを、左右夫々に設定するよう定義されている。マージンの値が2mmの場合、1mm=12dot換算で、マージンのサイズ値は24dotとなり、このようにして、P3L、P3Rが決定される。
【0051】
(2)1文字のサイズ
次に、1文字のサイズとして、P2W、P2Hが求められる。P2W、P2Hは夫々ドット数で表現される。かかる1文字のサイズについて、プリンター本体(つまり画像形成装置101本体)の制御に合わせた任意のサイズがプログラム上で定義されている。
【0052】
例えば、書式設定情報において「文字サイズ」が「3mm全角」とされている場合、1文字あたり36dotとなるよう定義されており、このようにして、P2W、P2Hが決定される。
【0053】
(3)文字列長のサイズ
次に、文字列長のサイズとして、P4Wが求められる。P4Wはドット数で表現され、式(1)を用いて算出される。
【0054】
【数1】
【0055】
尚、式(1)における「文字間のサイズ」について、プリンター本体(つまり画像形成装置101本体)の制御に合わせた任意のサイズがプログラム上で定義されている。また、「文字数」として、書籍設定情報における「行入力文字」の値を用いる。
【0056】
例えば、文字数が1の場合、式(1)の右辺第2項が0となる結果、P4W=P2Wとなる。このようにして、P4Wが決定される。
【0057】
(4)用紙の幅のサイズ
次に、用紙の幅のサイズとして、P1Wが求められる。P1Wはドット数で表現され、式(2)を用いて算出される。
【0058】
【数2】
【0059】
このようにして、P1Wが決定される。
【0060】
(5)用紙の高さのサイズ
次に、用紙の高さのサイズとして、P1Hが求められる。P1Hはドット数で表現される。用紙の高さは、「印字媒体」と「媒体サイズ」との設定で決まり、そのサイズはプリンター本体(つまり画像形成装置101本体)の制御に合わせた任意のサイズがプログラム上で定義されている。
【0061】
例えば、「印字媒体」が「ラベル」且つ「媒体サイズ」が「9mm」の場合、用紙の高さは9mmと定義されている。
【0062】
また、プリンター(つまり画像形成装置101)の印刷解像度に対して、プリンター本体の制御に合わせた任意のサイズがプログラム上で定義されている。
【0063】
例えば、印刷解像度の論理値として304.8dpiを定義した場合、1mmあたり12dotとして換算できるので、上記9mm は108dotとして算出できる。
このようにして、P1Hが決定される。
【0064】
以上(1)~(6)の処理により、印刷出力時に必要なドット単位のパラメータを用意できる。尚、ここでは、書式設定情報において「カット長」が「自動」とされ、文字列描画領域が、上下と左右の夫々においてセンタリングされるものとする。つまり、幅P1W、高さP1Hの用紙領域に対する幅P4W、高さP2Hの文字列描画領域の位置が、センタリング機能で調整される。
【0065】
ここでは、サイズ情報(ディスプレイ表示時)402について説明する。
【0066】
(1)印刷プレビュー領域のサイズ
まず、表示ウインドウ208で示す印刷プレビュー領域の表示サイズとして、DPW、DPHが求められる。DPW、DPHは夫々ピクセル数で表現される。
【0067】
例えば、WindowsOSであれば、WindowsAPI等を用い、取得される該当領域の矩形情報から求めることが可能である。このようにして、DPW、DPHが決定される。
【0068】
(2)オフセットしたプレビュー領域のサイズ
印刷プレビュー領域に対し、上下左右の夫々の端部において内側にオフセットしたプレビュー領域のサイズとして、CLW、CLHが求められる。CLW、CLHは夫々ピクセル数で表現される。「オフセットしたプレビュー領域」とは、(1)の印刷プレビュー領域から上下左右のオフセット領域を除き、センタリングした矩形領域である。この矩形領域のサイズについて、横方向の長さ(幅)CLW=DPW-ofs×2であり、縦方向の長さ(高さ)CLH=DPH-ofs×2である。尚、前述の式におけるofsは、デザイン上の表現のためのオフセット値であり、プログラム上で定義されている。
【0069】
(3)用紙の幅と高さのサイズ情報
次に、ドット単位の高さP1H、幅P1Wで表現される用紙サイズの情報に基づいて、ピクセル単位の高さCLH、幅CLWで表現されるディスプレイ描画領域に描画する場合の、当該ディスプレイ描画領域における当該用紙サイズの情報を求める。このような情報として、ピクセル単位の高さD1H、幅D1Wがある。
【0070】
CLH、CLWで表現されるディスプレイ描画領域に対して、用紙全体が収まり、且つ、最も大きなサイズで表示できるよう、D1H、D1Wが、式(3)~(6)を用いて算出される。
P1W×CLH<P1H×CLWの場合、D1H、D1Wは、式(3)~(4)を用いて算出される。
【0071】
【数3】
【0072】
【数4】
【0073】
これに対し、P1W×CLH≧P1H×CLWの場合、D1H、D1Wは、式(5)~(6)を用いて算出される。
【0074】
【数5】
【0075】
【数6】
【0076】
このようにして、D1W、D1Hが決定される。尚、図4の例では、CLH、CLWで表現されるディスプレイ描画領域に対して、D1W、D1Hで表現される用紙領域をセンタリングして配置している。
【0077】
(4)「その他」のサイズ情報
次にその他のパラメータとして、D2W、D2H、D3L、D3R、D4Wが求められる。これらのパラメータは夫々ピクセル数で表現される。これらのパラメータを求めるためにはまず、印刷解像度換算の情報に基づいてディスプレイ描画領域に描画する場合に必要とされるパラメータとしての論理表示解像度DISPLAY_RESを求める必要がある。DISPLAY_RESは、式(7)を用いて算出される。
【0078】
【数7】
【0079】
尚、ここでは、印刷解像度の論理値について、PRINTER_RES=304.8dpiとする。304.8dpiは、1mmあたり12dotのとき、1inch(=25.4mm)に相当する。
【0080】
次に、その他のパラメータを、式(8)~(12)を用いて算出する。
【0081】
【数8】
【0082】
【数9】
【0083】
【数10】
【0084】
【数11】
【0085】
【数12】
【0086】
以上(1)~(4)の処理により、ディスプレイ表示時に必要なパラメータを用意できる。尚、ここでは、書式設定情報において「カット長」が「自動」とされ、サイズ情報(印刷出力時)401に示すように、文字列描画領域が、用紙領域においてセンタリングされるものとする。
【0087】
ここまで、入力文字数が1文字の場合について、図4(a)を用いて説明してきたが、以下では、入力文字数が複数の場合について、図4(b)を用いて説明する。
【0088】
サイズ情報(印刷出力時)411は、サイズ情報(印刷出力時)401と同様、印刷出力時の印刷解像度に即したドット単位での用紙サイズ、描画領域を表現したサイズ情報である。サイズ情報(印刷出力時)411は、P2Wで示す等幅の文字が3個並んでいることを示す。サイズ情報(ディスプレイ表示時)412は、サイズ情報(ディスプレイ表示時)402と同様、ディスプレイ表示時のディスプレイ解像度に即したピクセル単位での用紙サイズ、描画領域を表現したサイズ情報である。サイズ情報(ディスプレイ表示時)412は、D2Wで示す等幅の文字が3個並んでいることを示す。サイズ情報(印刷出力時)411と、サイズ情報(ディスプレイ表示時)412との夫々において、サイズを表す各パラメータについて、前述したサイズ情報(印刷出力時)401、サイズ情報(ディスプレイ表示時)402の場合と同様に求めることが可能である。
【0089】
<文字列描画領域の表示更新処理>
以下、本実施形態における文字描画処理の例として、前述のサイズ情報(印刷出力時)401、サイズ情報(印刷出力時)411に基づき、文字(列)をD2H、D4Wで示される文字列描画領域に描画する処理を、図5を用いて説明する。尚、図5の処理は、プレビュー対象のページの選択、文字入力、ディスプレイ表示領域のリサイズ等により、プレビュー領域の表示更新の指示があった場合に開始される。
【0090】
S501にて、CPU112は、必要パラメータとして下記のものを取得する。
p:pは文字配列であり、書式設定情報370におけるstrLineから取得する1行分の文字列情報である。
rc:rcはD2H、D4Wで示す矩形領域情報である。
i_nSize:i_nSizeは、D2Wによって示される文字幅のピクセル数である。
i:iは文字配列*p[i]で示す文字を指定する際に使用するカウンターであり、iの初期値として0が設定される。
【0091】
S502にて、CPU112は、文字配列*p[i]で示す文字が空文字であるか判定する。本ステップの判定結果が真の場合、一連の処理は終了する。一方、本ステップの判定結果が偽の場合、S503に進む。
【0092】
S503にて、CPU112は、文字配列*p[i]で示す文字が文字列終端の文字であるか判定する。本ステップの判定結果が真の場合、一連の処理は終了する。一方、本ステップの判定結果が偽の場合、S504に進む。
【0093】
S504にて、CPU112は、文字配列*p[i]で示す文字が特殊記号であるか判定する。本実施形態では、プログラム内でユニコードの外字領域(0xE000~0xF8FF)内の任意の領域を特殊記号の領域として予めテーブルに定義しておくことで、当該領域内のコードであれば特殊記号として認識する。本ステップの判定結果が真の場合、S508に進む。一方、本ステップの判定結果が偽の場合、S505に進む。
【0094】
S505にて、CPU112は、文字配列*p[i]で示す文字を矩形領域に描画する。この矩形領域は、基点がrc.left、 rc.topによって示され、幅と高さとが夫々i_nSizeである。尚、文字配列*p[i]で示す文字はシステムフォントで表現する文字であるため、WindowsOSを例とすれば、DrawText等のWindowsAPIを用いることで、文字をこのような矩形領域に描画することができる。
【0095】
S506にて、CPU112は、描画領域の情報としての矩形領域情報rcを、式(13)を用いて更新する。この更新は、基点を1文字分シフトすることを意味し、更新後のrcが、次の文字を描画する際の基点を示す。
【0096】
【数13】
【0097】
S507にて、CPU112は、現在のiの値に1加算する。
【0098】
S508にて、CPU112は、文字配列*p[i]で示す文字について、ユニコードから区点コードに変換した値を算出し、当該算出した値をパラメータiKutenCodeとして設定する。
【0099】
尚、ユニコードから区点コードへの変換に関して、本実施形態では、ユニコードから外字領域のオフセット0x0e00をマイナスシフトした値を用いているので、式(14)を用いてiKutenCodeを算出する。
【0100】
【数14】
【0101】
S509にて、CPU112は、用意されたビットマップフォントのサイズのリスト(例えば、16,24,32,36,48,72等の値が保持される)の中から、i_nSizeが示すサイズ以上且つi_nSizeに最も近似する近似値のサイズを選択する。そして、CPU112は、選択したサイズをs_nSizeとして設定する。
【0102】
S510にて、CPU112は、iKutenCodeとs_nSizeとが合致するビットマップファイルが見つかったか判定する。具体的には、CPU112は、後述するテーブル631(図6参照)を参照し、該当セルにおけるリソースIDの定義値が0以外の値か否かを判定し、当該定義値が0以外の値であれば、前述の合致するビットマップファイルが見つかったとみなす。本ステップの判定結果が真の場合、S513に進む。一方、本ステップの判定結果が偽の場合、S511に進む。
【0103】
S511にて、CPU112は、テーブル631(図6参照)を参照し、iKutenCodeが示す行におけるサイズがs_nSizeより大きいセルについて、サイズが小さいものから順に、0以外の値を探索する。つまり、図6の例では、s_nSizeが36であった場合、サイズが48dotのセル、72dotのセルと探索されることになる。尚、あるセルにおいて0以外の値を発見した場合、以降のセルの探索は行われない。このような探索の結果、リソースIDの定義値として0以外の値が保持されていた場合、s_nSizeを当該0以外の値で更新し、S513に進む。一方、iKutenCodeが示す行における、サイズがs_nSizeより大きい全てのセルにおいて、リソースIDの定義値として0が保持されていた場合、S512に進む。
【0104】
S512にて、CPU112は、テーブル631を参照し、iKutenCodeが示す行におけるサイズがs_nSizeより小さいセルについて、サイズが大きいものから順に、0以外の値を探索する。つまり、図6の例では、s_nSizeが36であった場合、サイズが32dotのセル、24dot、16dotのセルと探索されることになる。尚、あるセルにおいて0以外の値を発見した場合、以降のセルの探索は行われない。このような探索の結果、リソースIDの定義値として0以外の値が保持されていた場合、s_nSizeを当該0以外の値で更新し、S513に進む。一方、iKutenCodeが示す行における、サイズがs_nSizeより小さい全てのセルにおいて、リソースIDの定義値として0が保持されていた場合、適合するリソースIDの定義値が見つからなかったものとして、エラー終了となる。
【0105】
S513にて、CPU112は、rc.left、 rc.topを基点に最初に見つかったs_nSizeのビットマップフォントをi_nSizeにリサイズ(つまり、拡大または縮小、「拡縮」ともいう)して描画する。具体的には、Windows OSを例とすれば、StretchBlt等のWindows APIを用いることで、対象領域に所定の拡縮率でリサイズして描画することができる。
【0106】
このように本実施形態では、CPU112は、N種(Nは1以上の整数)の中から1つを選択可能なフォントサイズ入力手段として機能する。また、CPU112は、フォント情報と、フォントサイズ入力手段によって取得されたサイズ情報とに基づいて、印刷プレビューを描画する描画手段として機能する。かかる描画手段は、印刷プレビューの領域において表示されるフォントが特殊記号である場合、前記サイズ情報に基づいて、予め用意されたM種(Mは1以上且つN以下の整数)のサイズの中から一意に決まるサイズのビットマップフォントを用いた描画を行う。尚、図6の例では、Nは6、Mは3である。
【0107】
<ビットマップフォント情報>
以下、ビットマップフォント情報について、図6を用いて説明する。
【0108】
テーブル620に保持されているデータは、画像形成装置101が内包するデバイスフォントのデータを示す。つまり、テーブル620は、画像形成装置101が特殊記号を印刷する際に使用する文字サイズに応じたデバイスフォントとして、「16×16、24×24、32×32、36×36、48×48、72×72」のデバイスフォントを使用することを例示している。
【0109】
これに対して、アプリケーションプログラムで内包するビットマップフォントは、上記デバイスフォントをWindwos OS等のシステムで読み込むことが可能なビットマップファイルとして、予めアプリケーションプログラム内部のデータとして保存する。
【0110】
但し、このビットマップフォントについては、全ての文字サイズ分のデータを持つ必要はなく、特殊記号をディスプレイで表示し利用するのに適用なサイズのデータを持てばよい。このビットマップフォントファイルを管理するために、本実施形態では、テーブル630、631に例示するようなビットマップフォント情報を持つ。
【0111】
まず、テーブル630について説明する。テーブル630は、特殊記号の区点コードとビットマップフォントのサイズとの組み合わせに対応する値を保持するためのテーブルである。テーブル630には、それぞれの組み合わせに対して、リソースIDの値「ID_句点コード_サイズ」が保持されている。アプリケーションプログラムを実行した場合、このリソースIDの値がロードされると、CPU112は、当該ロードした値に紐付けられたビットマップフォントファイルを読み込む。
【0112】
次に、テーブル631について説明する。テーブル631は、アプリケーションが起動したタイミング等で、テーブル630に保持される値をメモリーにコピーし、実際にリソースIDの値をロードした上で、ビットマップファイルを読み込みことができたものはリソースIDの値を残す。一方、読みこむことができなかったものはリソースIDを0として更新する。アプリケーションプログラムはビットマップフォントの検索の際に、テーブル631を参照する。例えば、区点コードの値が0x0903は、特殊記号としてアース記号を表現するが、この0x0903ビットマップフォントの意匠がサイズ毎にどのようになっているかを、図6中に画像で例示する。
【0113】
<印刷について>
最後に、本実施形態におけるアプリケーションプログラムから印刷装置に対して送信される印刷指示について簡単に説明する。
【0114】
概要としては、図3に示す、書式設定情報370、及び、「印字媒体」351と「媒体サイズ」352と「印刷本数」353との各情報を、所定の印刷装置が定める所定のコマンドに変換し、プリンターに送信する。プリンターに送信する具体的なデータとしては、書式設定情報で印刷対象となっているページについて、書式設定情報に紐付いた情報を所定のコマンドに変換し、順次プリンターに送信する。
【0115】
尚、印刷装置へのコマンド送信は、WindowsOSであれば、WindowsAPIのWritePrinter等を用いたコマンド発行を伴うものであるが、本実施形態では、特殊な事例を除き、印刷装置にラスターデータ等の画像データを送ることはない。
【0116】
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。尚、前述の実施形態の内容を適宜組み合わせて用いてもよい。
【符号の説明】
【0117】
121 アプリケーションプログラム
図1
図2
図3
図4
図5
図6