(57)【要約】      （修正有）【課題】情報処理装置が、出力先の画像形成装置を特定できずに画像形成装置が扱える文字コードが判らない場合であっても、画像形成装置側で文字化けが発生することを低減させる。【解決手段】情報処理装置は、ユーザが利用する情報処理装置であって、情報処理装置を利用しているユーザに関連付けて設定されている、情報処理装置によって表示装置に表示される言語に関する設定情報を取得する設定情報取得手段と、言語とコードページとの対応関係を記憶した記憶手段から対応関係を取得する対応関係取得手段と、取得した設定情報と対応関係とに基づいて、変換後の文字コードを決定する決定手段と、外部装置に出力するデータの文字コードを、決定手段が決定した変換後の文字コードに変換する変換手段と、を有する。【選択図】図９
2020004092.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが利用する情報処理装置であって、
前記情報処理装置を利用しているユーザに関連付けて設定されている、前記情報処理装置によって表示装置に表示される言語に関する設定情報を取得する設定情報取得手段と、
前記言語とコードページとの対応関係を記憶した記憶手段から前記対応関係を取得する対応関係取得手段と、
取得した前記設定情報と前記対応関係とに基づいて、変換後の文字コードを決定する決定手段と、
外部装置に出力するデータの文字コードを、前記決定手段が決定した変換後の文字コードに変換する変換手段と、
を有する、情報処理装置。
【請求項２】
前記設定情報は、前記情報処理装置のオペレーティングシステムにおいて前記ユーザに関連付けて設定されている、前記情報処理装置が表示装置に表示させる言語である表示言語の情報、又は前記情報処理装置が表示装置に表示させる日付の形式の情報である、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置のオペレーティングシステムにおけるシステムロケールの設定が所定の文字コードであるかを判定する判定手段をさらに有し、
前記判定手段により前記システムロケールの設定が所定の文字コードに設定されていると判定された場合に、前記変換手段は、前記所定の文字コードを、前記決定手段が決定した変換後の文字コードに変換する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定の文字コードはＵＴＦ−８を含む、請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置のオペレーティングシステムに、前記設定情報取得手段による処理を前記ユーザの権限で実行させる権限偽装手段を有する、請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記コードページの既定値をさらに記憶し、
前記決定手段は、取得した前記設定情報と前記対応関係とに基づいて前記変換後の文字コードを決定できない場合、前記変換後の文字コードを前記コードページの既定値に対応する文字コードに決定する、請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記外部装置は、複数の文字コードに対応するフォントデータを記憶し、前記フォントデータを使用して文字を出力する画像形成装置である、請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
ユーザが利用する情報処理装置と、前記情報処理装置から出力されるデータに基づいて文字を出力する画像形成装置とを含む情報処理システムであって、
前記情報処理装置は、
前記情報処理装置を利用しているユーザに関連付けて設定されている、前記情報処理装置によって表示装置に表示される言語に関する設定情報を取得する設定情報取得手段と、
前記言語とコードページとの対応関係を記憶した記憶手段から前記対応関係を取得する対応関係取得手段と、
取得した前記設定情報と前記対応関係とに基づいて、変換後の文字コードを決定する決定手段と、
外部装置に出力するデータの文字コードを、前記決定手段が決定した変換後の文字コードに変換する変換手段と、
を有する、情報処理システム。
【請求項９】
ユーザが利用する情報処理装置が、
前記情報処理装置を利用しているユーザに関連付けて設定されている、前記情報処理装置によって表示装置に表示される言語に関する設定情報を取得するステップと、
前記言語とコードページとの対応関係を記憶した記憶手段から前記対応関係を取得するステップと、
取得した前記設定情報と前記対応関係とに基づいて、変換後の文字コードを決定するステップと、
外部装置に出力するデータの文字コードを、前記決定するステップで決定した変換後の文字コードに変換するステップと、
を実行する、情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法を情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
印刷を実行する画像形成装置と、印刷を制御するプリンタドライバを実行する情報処理装置とを含む情報処理システムにおいて、画像形成装置は、プリンタドライバから出力された文字コードの設定に基づいて、文字の取り扱いを変更する。
【０００３】
また、ホストコンピュータが、プリンタが有するコードページにおいて省略されたフォントデータを示す設定データを記憶し、この設定データに基づいて変換後の文字コードをプリンタが利用できるか否かを判定する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術により、情報処理装置（ホストコンピュータ）側のプリンタドライバが、画像形成装置（プリンタ）側で対応していない文字コードを送信することによる文字化けを防止することができる。
【０００５】
しかし、特許文献１に開示された技術では、情報処理装置側のプリンタドライバが、画像形成装置が扱える文字コードを知っていることが前提となっている。従って、この方法では、情報処理装置側のプリンタドライバが、出力先の画像形成装置を特定できずに画像形成装置が扱える文字コードが判らない場合には、適切な文字コードを選択することができずに、画像形成装置側で文字化けが発生する場合がある。
【０００６】
本発明の実施の形態は、上記の問題点に鑑みてなされたものであって、情報処理装置が、出力先の画像形成装置を特定できずに画像形成装置が扱える文字コードが判らない場合であっても、画像形成装置側で文字化けが発生することを低減させる。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一実施形態に係る情報処理装置は、ユーザが利用する情報処理装置であって、前記情報処理装置を利用しているユーザに関連付けて設定されている、前記情報処理装置によって表示装置に表示される言語に関する設定情報を取得する設定情報取得手段と、前記言語とコードページとの対応関係を記憶した記憶手段から前記対応関係を取得する対応関係取得手段と、取得した前記設定情報と前記対応関係とに基づいて、変換後の文字コードを決定する決定手段と、外部装置に出力するデータの文字コードを、前記決定手段が決定した変換後の文字コードに変換する変換手段と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、情報処理装置が、出力先の画像形成装置を特定できずに画像形成装置が扱える文字コードが判らない場合であっても、画像形成装置側で文字化けが発生することを低減させることができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理システムのシステム構成の例を示す図である。
【図２】一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。
【図３】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【図４】第１の実施形態に係る情報処理装置の機能構成の例を示す図である。
【図５】第１の実施形態に係る変換テーブルの一例のイメージを示す図である。
【図６】第１の実施形態に係る形式に関する設定情報について説明するための図である。
【図７】第１実施形態に係る情報処理装置の処理の例を示すシーケンス図（１）である。
【図８】第１実施形態に係る情報処理装置の処理の例を示すシーケンス図（２）である。
【図９】第２の実施形態に係る情報処理装置の機能構成の例を示す図である。
【図１０】第２の実施形態に係る設定情報の取得処理の例を示すシーケンス図である。
【図１１】第３の実施形態に係る情報処理装置の機能構成の例を示す図である。
【図１２】第３の実施形態に係る描画部の処理の例を示すフローチャートである。
【図１３】第３の実施形態に係るＵＴＦ−８に設定されていない場合の処理の例を示すシーケンス図である。
【図１４】一実施形態に係る画像形成装置の表示画面の一例を示す図である。
【図１５】一実施形態に係るシステムロケールの設定画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１１】
＜システム構成＞
図１は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。図１（ａ）の例では、情報処理システム１００は、ユーザが利用する情報処理装置１０１と、情報処理装置１０１から出力される出力データに基づいて文字を出力（例えば、印刷、表示等）する画像形成装置１０２とが、通信路１０３を介して通信可能に接続されている。
【００１２】
ここで、通信路１０３は、例えば、ＵＳＢ（Universal Serial Bus）等の有線ケーブルであっても良いし、近距離無線通信や無線ＬＡＮ（Local Area Network）等の無線通信であっても良い。
【００１３】
情報処理装置１０１は、ユーザが利用するパーソナルコンピュータ等のコンピュータであり、画像形成装置１０２による印刷を制御するプログラムであるプリンタドライバを実行している。
【００１４】
画像形成装置１０２は、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したＭＦＰ（Multifunction Peripheral/Printer/Product）や、プリンタ、ファクシミリ等の画像形成機能を有する電子機器である。
【００１５】
画像形成装置１０２は、複数の文字コードセットに対応するフォントデータを記憶部に記憶しており、情報処理装置１０１のプリンタドライバから出力される文字コードの設定に応じて、記憶部に記憶したフォントデータを使用して文字の印刷、表示等を行う。
【００１６】
画像形成装置１０２が、情報処理装置１０１からの制御に応じて、操作パネル等に表示させる表示画面の一例を図１４に示す。図１４の例では、表示画面１４００には、情報処理装置１０１から出力されるユーザ名１４０１と文書名１４０２とを含むジョブ履歴が表示されている。
【００１７】
例えば、このような表示画面１４００において、画像形成装置１０２が、情報処理装置１０１のプリンタドライバから出力される文字コードに対応していない場合、ユーザ名１４０１、文書名１４０２等の文字が、文字化けしてしまう場合がある。
【００１８】
例えば、図１５に示すような、ＯＳ（Operating System）のシステムロケールの設定画面１５００において、「ワールドワイド言語サポートでＵｎｉｃｏｄｅ ＵＴＦ−８を使用」のチェックボックス１５０１が選択されると、ＯＳからの文字情報が全てＵＴＦ−８になる。従って、例えば、画像形成装置１０２がＵＴＦ−８の文字コードに対応していない場合、文字化けが発生してしまう。
【００１９】
なお、このような問題は、ジョブ履歴の表示に限られず、例えば、画像形成装置１０２の機能を用いたヘッダ、フッタでの文字送信、ログ情報の送信、印刷データの印刷等でも発生し得る。
【００２０】
特許文献１に開示された技術では、ホストコンピュータが、プリンタが有するコードページにおいて省略されたフォントデータを示す設定データを予め記憶しておき、この設定データに基づいて変換後の文字コードをプリンタが利用できるか否かを判定していた。また、ホストコンピュータは、変換後の文字コードをプリンタが利用できないと判定した場合、別の文字コードに変換することにより、プリンタにおける文字化けを防止していた。
【００２１】
しかし、この技術では、情報処理装置１０１側が、画像形成装置１０２側で扱える文字コードを知っていることが前提となっており、情報処理装置１０１が、画像形成装置１０２側で扱える文字コードが判らない場合には、適用することができないという問題がある。
【００２２】
例えば、情報処理装置１０１に、複数の機種で利用可能なプリンタドライバがインストールされており、画像形成装置１０２との双方向通信が禁止されている場合には、情報処理装置１０１は、画像形成装置１０２が扱える文字コードを特定することは困難である。
【００２３】
そこで、本実施形態に係るプリンタドライバは、画像形成装置１０２の情報が判らない（情報を取得できない）環境であっても、画像形成装置１０２で文字化けが発生することを低減することができるように、例えば、次のような構成を有している。
【００２４】
例えば、本実施形態に係るプリンタドライバは、表示言語とコードページとの対応関係を記憶した変換テーブルを有しており、ＯＳから取得したユーザの表示言語の設定と変換テーブルとを用いて、変換後の文字コードを決定する。
【００２５】
この変換テーブルには、例えば、表示言語「日本語」に対応する識別子と、日本語の文字コード「Ｓｈｉｆｔ−ＪＩＳ」に対応するコードページの識別子（以下、単に「コードページ」と呼ぶ）との対応関係を含む複数言語の対応関係が記憶されている。
【００２６】
また、プリンタドライバは、ＯＳから取得したユーザの表示言語の設定が「日本語」である場合、変換テーブルを用いて、表示言語「日本語」に対応するコードページを取得する。さらに、プリンタドライバは、取得したコードページを用いて、ＯＳで利用されている文字コード（例えば、ユニコード、ＵＴＦ−８等）を、表示言語「日本語」に対応する文字コード「Ｓｈｉｆｔ−ＪＩＳ」に変換する。
【００２７】
一般的に、情報処理装置１０１のユーザの表示言語が日本語である場合、ユーザが利用している画像形成装置１０２は、日本語に対応する文字コード「Ｓｈｉｆｔ−ＪＩＳ」に対応していると考えられる。従って、本実施形態によれば、情報処理装置１０１が、出力先の画像形成装置１０２を特定できずに画像形成装置１０２が扱える文字コードが判らない場合であっても、画像形成装置１０２側で文字化けが発生することを低減させることができる。
【００２８】
なお、「表示言語」は、情報処理装置１０１を利用しているユーザに関連付けて設定されている、情報処理装置１０１によって表示装置に表示される言語に関する設定情報の一例である。
【００２９】
また、図１（ａ）に示す情報処理システム１００のシステム構成は一例である。情報処理装置１０１は、図１（ｂ）に示すように、１つ以上の画像形成装置１０２ａ、１０２ｂ、・・・とネットワーク１０４を介して接続されているものであっても良い。
【００３０】
＜ハードウェア構成＞
（情報処理装置のハードウェア構成）
図２は、一実施形態に係る情報処理装置のハードウェア構成の例を示す図である。情報処理装置１０１は、例えば、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ストレージ装置２０４、ネットワークＩ／Ｆ（Interface）２０５、入力装置２０６、表示装置２０７、外部接続Ｉ／Ｆ２０８、及びバス２０９等を有する。
【００３１】
ＣＰＵ２０１は、ＲＯＭ２０３やストレージ装置２０４等に格納されたプログラムやデータをＲＡＭ２０２上に読み出し、処理を実行することで、情報処理装置１０１の各機能を実現する演算装置である。ＲＡＭ２０２は、ＣＰＵ２０１のワークエリア等として用いられる揮発性のメモリである。ＲＯＭ２０３は、電源を切ってもプログラムやデータを保持する不揮発性のメモリである。
【００３２】
ストレージ装置２０４は、例えば、ＨＤＤ（Hard Disk Drive）や、ＳＳＤ（Solid State Drive）等の大容量の記憶デバイスであり、ＯＳ、アプリケーションプログラム（以下、アプリケーションと呼ぶ）、各種のデータ等を記憶する。ネットワークＩ／Ｆ２０５は、情報処理装置１０１をネットワーク１０４等に接続するための通信インタフェースである。
【００３３】
入力装置２０６は、例えば、マウス等のポインティングデバイスや、キーボード等の入力デバイスであり、情報処理装置１０１に各操作信号を入力するために用いられる。表示装置２０７はディスプレイ等の表示デバイスであり、情報処理装置１０１による処理結果等を表示する。
【００３４】
外部接続Ｉ／Ｆ２０８は、情報処理装置１０１に外部装置を接続するためのインタフェースである。外部装置には、例えば、画像形成装置１０２、記憶媒体等が含まれる。バス２０９は、上記の各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００３５】
（画像形成装置のハードウェア構成）
図３は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像形成装置１０２は、例えば、コントローラ３１０、操作パネル３２０、通信Ｉ／Ｆ３３０、プロッタ３４０、スキャナ３５０、及びファクスコントロールユニット（以下、ＦＣＵと呼ぶ）３６０等を有する。
【００３６】
コントローラ３１０は、コンピュータの構成を有しており、例えば、ＣＰＵ３１１、ＲＡＭ３１２、ＲＯＭ３１３、ＮＶＲＡＭ（Non-Volatile RAM）３１４、及びＨＤＤ３１５等を含む。
【００３７】
ＲＯＭ３１３は、各種プログラムやデータを格納している不揮発性の記憶装置である。ＲＡＭ３１２は、プログラムやデータを一時保持する揮発性の記憶装置である。ＮＶＲＡＭ３１４は、例えば設定情報等を格納する書き込み可能な不揮発性の記憶装置である。ＨＤＤ３１５は、各種プログラムやデータを格納している大容量の記憶装置である。
【００３８】
ＣＰＵ３１１は、ＲＯＭ３１３、ＮＶＲＡＭ３１４、ＨＤＤ３１５等からプログラムやデータ、設定情報等をＲＡＭ３１２上に読み出し、処理を実行することで、画像形成装置１０２の全体を制御して、各機能を実現する演算装置である。
【００３９】
操作パネル３２０は、ユーザからの入力を受付する入力部と、表示を行う表示部とを備えている。通信Ｉ／Ｆ３３０は、画像形成装置１０２をネットワーク１０４に接続するための通信インタフェースである。
【００４０】
プロッタ３４０は、印刷データを印刷する印刷装置である。スキャナ３５０は、原稿等を読み取る読取装置である。ＦＣＵ３６０は、ファクスデータの送受信等を行う。
【００４１】
［第１の実施形態］
続いて、第１の実施形態に係る情報処理装置１０１、及び情報処理システム１００の機能構成について説明する。
【００４２】
＜機能構成＞
図４は、第１の実施形態に係る情報処理装置の機能構成の例を示す図である。なお、本実施形態では、画像形成装置１０２は、従来の画像形成装置１０２をそのまま利用可能なので、ここでは、画像形成装置１０２の機能構成の説明を省略する。
【００４３】
（情報処理装置の機能構成）
情報処理装置１０１は、例えば、図２に示すＣＰＵ２０１でアプリケーション４１０、ＯＳ４２０、及びプリンタドライバ４３０等のプログラムを実行している。
【００４４】
アプリケーション４１０は、例えば、文書作成、表計算、プレゼンテーション等を行うオフィスアプリケーションや、ウェブブラウザ、メーラ等の各種のアプリケーションプログラムである。アプリケーション４１０は、ＯＳ４２０、及びプリンタドライバ４３０を利用して、例えば、作成した文書ファイル等を画像形成装置１０２に印刷させることができる。
【００４５】
ＯＳ４２０は、情報処理装置１０１を制御するオペレーティングシステムである。ここでは、ＯＳ４２０が、Ｗｉｎｄｏｗｓ（登録商標）ＯＳであるものとして、以下の説明を行うが、本発明の範囲を限定するものではない。本発明は、ＷｉｎｄｏｗｓＯＳと同様の特徴を有する他のＯＳにも適用することができる。
【００４６】
プリンタドライバ４３０は、画像形成装置１０２による印刷を制御するプログラムである。情報処理装置１０１は、例えば、図２のＣＰＵ２０１でプリンタドライバ４３０を実行することにより、ＵＩ部４３１、描画部４３２等を実現している。
【００４７】
ＵＩ部４３１は、印刷の設定を行うための印刷設定画面を表示し、ユーザによって設定された印刷設定情報を受け付ける。ＵＩ部４３１が受け付けた印刷設定情報は、例えば、ＯＳ４２０を介して、ＤＥＶＭＯＤＥ構造体やＰｒｉｎｔＴｉｃｋｅｔ等を用いて、描画部４３２に伝えられる。
【００４８】
描画部４３２は、アプリケーション４１０からＯＳ４２０を介して送られてくる出力対象となるデータを、画像形成装置１０２で出力可能な出力データに変換する。描画部４３２は、例えば、描画制御部４０１、設定情報取得部４０２、対応関係取得部４０３、文字コード決定部４０４、文字コード変換部４０５、出力データ生成部４０６、及び送信部４０７等を含む。
【００４９】
また、描画部４３２は、一例として、図５に示すような表示言語−コードページ変換テーブル（以下、単に「変換テーブル」と呼ぶ）４０８を有している。別の一例として、変換テーブル４０８は、描画部４３２の外部に記憶されていても良いし、プリンタドライバ４３０の外部に記憶されていても良い。例えば、プリンタドライバ４３０が、Ｖｅｒｓｉｏｎ４プリンタドライバ（以下、「Ｖ４プリンタドライバ」と呼ぶ）である場合、変換テーブル４０８は、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ等に記憶されていても良い。
【００５０】
図５は、第１の実施形態に係る変換テーブルの一例のイメージを示す図である。変換テーブル４０８には、表示言語５０１と、コードページ５０２との対応関係が記憶されている。
【００５１】
表示言語５０１には、例えば、ＷｉｎｄｏｗｓＯＳのＡＰＩ（Application Programming Interface）であるＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数等によって取得される、ユーザの表示言語を示す言語ＩＤ（ＬＡＮＧＩＤ）が含まれる。
【００５２】
例えば、図５に示すように、言語ＩＤ「０ｘ４１１」は「日本語」を示し、言語ＩＤ「０ｘ４１２」は「韓国語」を示す。なお、変換テーブル４０８の表示言語５０１には、言語ＩＤのみが記憶されているものであっても良い。
【００５３】
コードページ（Code Page Identifiers）は、文字コードに対応する識別子である。例えば、コードページ「９３２」は、文字コード「Ｓｈｉｆｔ−ＪＩＳ」を示し、コードページ「９４９」は、文字コード「Ｕｎｉｆｉｅｄ Ｈａｎｇｕｌ Ｃｏｄｅ」を示す。
【００５４】
また、一般的に、画像形成装置１０２よりも情報処理装置１０１の方が多くの言語に対応している場合が多いので、図５に示す「中国語（簡体）」のように、複数の言語ＩＤに対して、１つのコードページ５０２が割り当てられていても良い。
【００５５】
好ましくは、変換テーブル４０８には、言語ＩＤに対応するコードページがない場合に選択されるデフォルトのコードページ（コードページの既定値）５０４が記憶されている。
【００５６】
ここで、図４に戻り、描画部４３２の機能構成の説明を続ける。
【００５７】
描画制御部４０１は、アプリケーション４１０からＯＳ４２０を介して送られてくる出力対象データや印刷設定情報を受付し、描画部４３２による処理の少なくとも一部を制御する。
【００５８】
設定情報取得部（設定情報取得手段）４０２は、ユーザが利用している言語に関する設定情報を取得する。例えば、設定情報取得部４０２は、前述したＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を利用して、ユーザの表示言語を示す言語ＩＤを取得する。なお、ユーザの表示言語を示す言語ＩＤは、ユーザが利用している表示言語に関する設定情報の一例である。
【００５９】
別の一例として、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＧｅｔＵｓｅｒＤｅｆａｕｌｔＬａｎｇＩＤ関数を用いて、ユーザの既定言語を示す言語ＩＤを取得するものであっても良い。これにより、例えば、図６に示すような、ＯＳ４２０の地域の設定画面６０１における「形式」６０２で設定された言語の言語ＩＤを取得することができる。なお、地域の設定画面６０１における「形式」６０２で設定された言語の言語ＩＤは、情報処理装置１０１を利用しているユーザに関連付けて記憶されている、情報処理装置１０１が表示装置２０７に表示させる日付の形式の情報の一例である。
【００６０】
なお、プリンタドライバ４３０がＶ４プリンタドライバである場合、描画部４３２は、第２の実施形態で説明する偽装処理を行った上で、ユーザが利用している言語に関する設定情報を取得する。
【００６１】
第１の実施形態では、プリンタドライバ４３０が、ＷｉｎｄｏｗｓＯＳにおけるＶｅｒｓｉｏｎ３プリンタドライバ（以下、Ｖ３プリンタドライバ）であるものとして、以下の説明を行う。
【００６２】
対応関係取得部（対応関係取得手段）４０３は、例えば、図５に示すような変換テーブル４０８に記憶された表示言語５０１とコードページ５０２との対応関係を取得する。なお、変換テーブル４０８は、表示言語のコードページとの対応関係を記憶した記憶手段の一例である。
【００６３】
文字コード決定部（決定手段）４０４は、設定情報取得部４０２が取得した言語ＩＤ（設定情報の一例）と、対応関係取得部４０３が取得した対応関係とに基づいて、後述する文字コード変換部４０５が変換する変換後の文字コードを決定する。
【００６４】
例えば、設定情報取得部４０２が取得した言語ＩＤが「０ｘ４１１」（１６進数の「４１１」）である場合、文字コード決定部４０４は、図５に示す変換テーブル４０８から、言語ＩＤ「０ｘ４１１」に対応するコードページ「９３２」を取得する。前述したように、コードページ「９３２」は、文字コード「Ｓｈｉｆｔ−ＪＩＳ」に対応しているので、文字コード決定部４０４は、変換後の文字コードを「Ｓｈｉｆｔ−ＪＩＳ」に決定することができる。
【００６５】
文字コード変換部（変換手段）４０５は、画像形成装置１０２に出力するデータの文字コードを、文字コード決定部４０４が決定した変換後の文字コードに変換する。例えば、文字コード変換部４０５は、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＷｉｄｅＣｈａｒＴｏＭｕｌｔｉＢｉｔｅ関数に、文字コード決定部４０４が取得したコードページ「９３２」を指定して、文字コードを変換する。これにより、例えば、ＷｉｎｄｏｗｓＯＳの標準の文字コード（例えば、ＵＴＦ−１６、ＵＴＦ−８等）を、文字コード決定部４０４が決定した変換後の文字コード（例えば、「Ｓｈｉｆｔ−ＪＩＳ」）に変換することができる。
【００６６】
出力データ生成部４０６は、文字コード変換部４０５が変換した変換後の文字列を用いて、画像形成装置１０２が出力可能な出力データ（例えば、印刷データ、テキストデータ等）を生成する。
【００６７】
送信部４０７は、出力データ生成部４０６が生成した出力データを、ＯＳ４２０が提供するスプーラ４４０を介して、画像形成装置１０２に送信する。なお、画像形成装置１０２に送信される出力データには、例えば、変換後の文字コードを指定する情報と、画像形成装置１０２が出力可能な印刷データや、テキストデータ等が含まれる。
【００６８】
一方、出力データを受信した画像形成装置１０２は、送信部４０７から受信した出力データに含まれる変換後の文字コードに従って、変換後の文字コードで作成された印刷データを印刷する、或いは変換後の文字コードで作成されたテキストデータを表示する。
【００６９】
＜処理の流れ＞
続いて、第１の実施形態に係る情報処理方法の処理の流れについて説明する。
【００７０】
（情報処理装置の処理１）
図７は、第１の実施形態に係る情報処理装置の処理の例を示すシーケンス図である。
【００７１】
ステップＳ７０１において、描画制御部４０１が、アプリケーション４１０から、ＯＳ４２０を介して送られてくる出力対象データを受け付けると、ステップＳ７０２以降の処理が実行される。このとき、ＯＳ４２０経由で受け付ける出力データの文字コードは、例えば、ＵＴＦ−１６（ユニコード）になっている。
【００７２】
ステップＳ７０２において、描画制御部４０１は、出力対象データを受け付けると、設定情報取得部４０２に対して、ユーザが利用している言語に関する設定情報の取得を要求する。
【００７３】
なお、ユーザが利用している言語に関する設定情報は、例えば、前述したＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数で取得するユーザの表示言語を表す言語ＩＤである。或いは、ユーザが利用している言語に関する設定情報は、前述したＧｅｔＵｓｅｒＤｅｆａｕｌｔＬａｎｇＩＤ関数で取得するユーザの既定言語を示す言語ＩＤであっても良い。
【００７４】
ステップＳ７０３において、設定情報取得部４０２は、例えば、前述したＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を用いて、ユーザの表示言語の設定情報（言語ＩＤ）を取得する。例えば、日本語環境で、ＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を実行すると、言語ＩＤ「０ｘ４１１」が取得される。
【００７５】
ステップＳ７０４において、設定情報取得部４０２は、ユーザの表示言語の設定情報（言語ＩＤ）を、描画制御部４０１に通知する。
【００７６】
ステップＳ７０５において、描画制御部４０１は、出力対象データを、設定情報取得部４０２から通知されたユーザの表示言語の設定情報（言語ＩＤ）と共に、出力データ生成部４０６に通知する。
【００７７】
ステップＳ７０６において、出力データ生成部４０６は、受付したユーザの表示言語の設定情報（言語ＩＤ）を文字コード決定部４０４に通知する。
【００７８】
ステップＳ７０７において、文字コード決定部４０４は、対応関係取得部４０３に、例えば、図５に示すような変換テーブル４０８に記憶された、表示言語５０１とコードページ５０２との対応関係の取得を要求する。
【００７９】
ステップＳ７０８において、対応関係取得部４０３は、例えば、図５に示すような変換テーブル４０８を読出する。
【００８０】
ステップＳ７０９において、対応関係取得部４０３は、例えば、図５に示すような変換テーブル４０８に記憶された、言語ＩＤとコードページ５０２との対応関係を文字コード決定部４０４に通知する。或いは、対応関係取得部４０３は、取得した変換テーブル４０８を、そのまま文字コード決定部４０４に通知するものであっても良い。
【００８１】
ステップＳ７１０において、文字コード決定部４０４は、ステップＳ７０６で受付したユーザの表示言語の設定情報（例えば、言語ＩＤ「０ｘ４１１」）と、図５に示すような、言語ＩＤとコードページ５０２との対応関係に基づいて、変換後の文字コードを決定する。
【００８２】
例えば、設定情報取得部４０２が取得した言語ＩＤが「０ｘ４１１」である場合、文字コード決定部４０４は、図５に示すような、言語ＩＤとコードページ５０２との対応関係から、言語ＩＤ「０ｘ４１１」に対応するコードページ「９３２」を取得する。また、前述したように、コードページ「９３２」は、文字コード「Ｓｈｉｆｔ−ＪＩＳ」に対応しているので、文字コード決定部４０４は、変換後の文字コードを「Ｓｈｉｆｔ−ＪＩＳ」に決定することができる。
【００８３】
ステップＳ７１１において、文字コード決定部４０４は、決定した変換後の文字コード、又は変換後の文字コードに対応するコードページを、出力データ生成部４０６に通知する。なお、文字コードとコードページは対応しているので、文字コードからコードページに、或いはコードページから文字コードに、相互に変換することができる。
【００８４】
ステップＳ７１２において、出力データ生成部４０６は、変換する文字列（出力対象データに含まれる文字列）と、変換後の文字コードに対応するコードページ（例えば、コードページ「９３２」）を、文字コード変換部４０５に通知する。
【００８５】
ステップＳ７１３において、文字コード変換部４０５は、前述したＷｉｄｅＣｈａｒＴｏＭｕｌｔｉＢｉｔｅ関数と指定されたコードページを用いて、文字列の文字コード（例えば、ユニコード）を変換後の文字コード（例えば、Ｓｈｉｆｔ−ＪＩＳ）に変換する。
【００８６】
ステップＳ７１４において、文字コード変換部４０５は、文字コードを変換した変換後の文字列を出力データ生成部４０６に通知する。
【００８７】
ステップＳ７１５において、出力データ生成部４０６は、文字コード変換部４０５が変換した変換後の文字列を用いて、画像形成装置１０２が出力可能な出力データ（例えば、印刷データ、テキストデータ等）を生成する。
【００８８】
ステップＳ７１６において、出力データ生成部４０６は、生成した出力データを、変換後の文字コードと共に、送信部４０７に通知する。
【００８９】
ステップＳ７１７において、送信部４０７は、出力データ生成部４０６から通知された出力データ、及び変換後の文字コードを、ＯＳ４２０が提供するスプーラ４４０を介して、画像形成装置１０２に送信する。
【００９０】
（情報処理装置の処理２）
図７に示す処理は一例である。例えば、図７のステップＳ７０６〜Ｓ７１１の処理は、描画制御部４０１の制御により実行されるものであっても良い。
【００９１】
図７は、第１の実施形態に係る情報処理装置の処理の例を示すシーケンス図（２）である。なお、図８のステップＳ７０１〜Ｓ７０４に示す処理は、図７のステップＳ７０１〜Ｓ７０４の処理と同様なので、ここでは、説明を省略する。また、図８に示す各処理の基本的な処理内容は、図６に示す各処理の処理内容と同様なので、ここでは、同様の処理に対する詳細な説明は省略する。
【００９２】
ステップＳ８０１において、描画制御部４０１は、文字コード決定部４０４に、変換後の文字コードの決定を要求する決定要求を通知する。この決定要求には、設定情報取得部４０２が取得した、ユーザの表示言語の設定情報（言語ＩＤ）が含まれる。
【００９３】
ステップＳ８０２において、文字コード決定部４０４は、対応関係取得部４０３に、例えば、図５に示すような変換テーブル４０８に記憶された、表示言語５０１とコードページ５０２との対応関係の取得を要求する。
【００９４】
ステップＳ８０３において、対応関係取得部４０３は、例えば、図５に示すような変換テーブル４０８を読出する。
【００９５】
ステップＳ８０４において、対応関係取得部４０３は、例えば、図５に示すような変換テーブル４０８に記憶された、言語ＩＤとコードページ５０２との対応関係を文字コード決定部４０４に通知する。或いは、対応関係取得部４０３は、取得した変換テーブル４０８を、描画制御部４０１に通知するものであっても良い。
【００９６】
ステップＳ８０５において、文字コード決定部４０４は、ステップＳ８０１で受付したユーザの表示言語の設定情報と、図５に示すような、言語ＩＤとコードページ５０２との対応関係に基づいて、変換後の文字コードを決定する。
【００９７】
ステップＳ８０６において、文字コード決定部４０４は、決定した変換後の文字コード、又は変換後の文字コードに対応するコードページを、描画制御部４０１に通知する。
【００９８】
ステップＳ８０７において、描画制御部４０１は、出力データ生成部４０６に、出力データの生成を要求する生成要求を通知する。この生成要求には、例えば、ステップＳ７０１で受付した出力対象データと、ステップＳ８０５で決定された変換後の文字コードに対応するコードページとが含まれる。
【００９９】
ステップＳ８０８において、出力データ生成部４０６は、変換する文字列と、変換後の文字コードに対応するコードページとを、文字コード変換部４０５に通知する。
【０１００】
ステップＳ８０９において、文字コード変換部４０５は、前述したＷｉｄｅＣｈａｒＴｏＭｕｌｔｉＢｉｔｅ関数と指定されたコードページを用いて、文字列の文字コードを変換後の文字コードに変換する。
【０１０１】
ステップＳ８１０において、文字コード変換部４０５は、文字コードを変換した変換後の文字列を出力データ生成部４０６に通知する。
【０１０２】
ステップＳ８１１において、出力データ生成部４０６は、文字コード変換部４０５が変換した変換後の文字列を用いて、画像形成装置１０２が出力可能な出力データを生成する。
【０１０３】
ステップＳ８１２において、出力データ生成部４０６は、生成した出力データを、変換後の文字コードと共に、送信部４０７に通知する。
【０１０４】
ステップＳ８１３において、送信部４０７は、出力データ生成部４０６から通知された出力データ、及び変換後の文字コードを、ＯＳ４２０が提供するスプーラ４４０を介して、画像形成装置１０２に送信する。
【０１０５】
上記の各処理により、情報処理装置１０１のプリンタドライバ４３０は、画像形成装置１０２が扱える文字列が判らない場合であっても、ユーザの表示言語に対応する文字コードに文字コードを変更して送信することができる。
【０１０６】
従って、本実施形態によれば、情報処理装置１０１が、出力先の画像形成装置１０２を特定できずに画像形成装置１０２が扱える文字コードが判らない場合であっても、画像形成装置１０２側で文字化けが発生することを低減させることができる。
【０１０７】
［第２の実施形態］
前述したように、プリンタドライバ４３０がＶ４プリンタドライバである場合、プリンタドライバ４３０の描画部４３２は、システムの権限で動作するため、第２の実施形態で説明する偽装処理を行った上で、ユーザが利用している言語に関する設定情報を取得する。
【０１０８】
第２の実施形態では、プリンタドライバ４３０がＶ４プリンタドライバである場合の処理の例について説明する。
【０１０９】
＜機能構成＞
図９は、第２の実施形態に係る情報処理装置の機能構成の例を示す図である。図９に示すように、第２の実施形態に係る描画部４３２は、図４に示す第１の実施形態に係る描画部４３２の機能構成に加えて、権限偽装部９０１を有する。
【０１１０】
権限偽装部（権限偽装手段）９０１は、ＯＳ４２０に、設定情報取得部４０２による処理を、出力対象データに対応するユーザの権限で実行させる権限の偽装（impersonate）を行う。
【０１１１】
Ｖ４プリンタドライバでは、描画部４３２がシステムの権限で動作する。しかし、システムの権限では、ＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を利用しても、出力対象データに対応するユーザが利用している言語に関する設定情報（例えば、言語ＩＤ）を取得することができない。
【０１１２】
そこで、権限偽装部９０１は、例えば、出力対象データに対応するユーザのユーザトークンを取得する。また、権限偽装部９０１は、取得したユーザトークンを用いて、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＩｎｐｅｒｓｏｎａｔｅＬｏｇｇｅｄＯｎＵｓｅｒ関数を呼出し、ユーザの権限に偽装（impersonate）する。この後に、ＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を実行することにより、印刷対象データに対応するユーザが利用している言語に関する設定情報を取得することができるようになる。
【０１１３】
また、権限偽装部９０１は、設定情報取得部４０２が、ユーザが利用している言語に関する設定情報を取得した後、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＲｅｖｅｒｔＴｏＳｅｌｆ関数を実行して、偽装を終了させる。
【０１１４】
なお、出力対象データに対応するユーザのユーザトークンは、例えば、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＩＰｒｉｎｔＰｉｐｅｌｉｎｅＰｒｏｐｅｒｔｙＢａｇ：：ＧｅｔＰｒｏｐｅｒｔｙ関数でＸＰＳ＿ＦＰ＿ＵＳＥＲ＿ＴＯＫＥＮを指定することにより、取得する。
【０１１５】
上記以外の情報処理装置１０１の機能構成は、図４に示す第１の実施形態に係る情報処理装置１０１の機能構成と同様で良い。
【０１１６】
＜処理の流れ＞
（設定情報の取得処理）
図１０は、第２の実施形態に係る設定情報の取得処理の例を示すシーケンス図である。この処理は、図７に示す情報処理装置の処理に、権限偽装部９０１による処理内容を追加したものである。従って、ここでは、権限偽装部９０１以外の処理内容に対する詳細な説明は省略する。
【０１１７】
ステップＳ１００１において、描画制御部４０１が、アプリケーション４１０から、ＯＳ４２０を介して送られてくる出力対象データを受け付けると、ステップＳ１００２以降の処理が実行される。
【０１１８】
ステップＳ１００２において、描画制御部４０１は、出力対象データを受け付けると、設定情報取得部４０２に対して、ユーザが利用している言語に関する設定情報の取得を要求する。
【０１１９】
ステップＳ１００３において、設定情報取得部４０２は、権限偽装部９０１に権限の偽装を要求する。
【０１２０】
ステップＳ１００４において、権限偽装部９０１は、システムの権限で動作している描画部４３２の権限を、出力対象データに対応するユーザの権限に偽装する。
【０１２１】
例えば、権限偽装部９０１は、前述したＩＰｒｉｎｔＰｉｐｅｌｉｎｅＰｒｏｐｅｒｔｙＢａｇ：：ＧｅｔＰｒｏｐｅｒｔｙ関数でＸＰＳ＿ＦＰ＿ＵＳＥＲ＿ＴＯＫＥＮを指定することにより、出力対象データに対応するユーザのユーザトークンを取得する。
【０１２２】
また、権限偽装部９０１は、取得したユーザトークンを用いて、前述したＩｎｐｅｒｓｏｎａｔｅＬｏｇｇｅｄＯｎＵｓｅｒ関数を呼出し、ユーザの権限に偽装（impersonate）する。
【０１２３】
ステップＳ１００５において、権限偽装部９０１は、権限の偽装が完了したことを設定情報取得部４０２に通知する。
【０１２４】
ステップＳ１００６において、設定情報取得部４０２は、例えば、第１の実施形態と同様に、ＧｅｔＵｓｅｒＤｅｆａｕｌｔＵＩＬａｎｇｕａｇｅ関数を用いて、ユーザの表示言語の設定情報（言語ＩＤ）を取得する。
【０１２５】
ステップＳ１００７において、設定情報取得部４０２は、権限偽装部９０１に権限の偽装の解除を要求する。
【０１２６】
ステップＳ１００８において、権限偽装部９０１は、例えば、前述したＲｅｖｅｒｔＴｏＳｅｌｆ関数を実行して、偽装を解除（終了）させる。また、ステップＳ１００９において、権限偽装部９０１は、偽装の解除が完了したことを設定情報取得部４０２に通知する。
【０１２７】
ステップＳ１０１０において、設定情報取得部４０２は、ユーザの表示言語の設定情報（言語ＩＤ）を、描画制御部４０１に通知する。
【０１２８】
ステップＳ１０１１において、描画制御部４０１は、出力対象データを、設定情報取得部４０２から通知されたユーザの表示言語の設定情報（言語ＩＤ）と共に、出力データ生成部４０６に通知する。
【０１２９】
ステップＳ１０１２において、出力データ生成部４０６は、対応関係取得部４０３、文字コード決定部４０４、文字コード変換部４０５、及び送信部４０７等を用いて、図７のステップＳ７０６〜Ｓ７１７に示す出力データの生成、送信処理を実行する。
【０１３０】
上記の処理により、情報処理装置１０１は、プリンタドライバ４３０がＶ４プリンタドライバである場合であっても、第１の実施形態と同様の処理を実行することができるようになる。
【０１３１】
［第３の実施形態］
前述したように、図１４に示すような、ＯＳ４２０のシステムロケールの設定画面１５００において、「ワールドワイド言語サポートでＵｎｉｃｏｄｅ ＵＴＦ−８を使用」のチェックボックス１５０１が選択されると、ＯＳからの文字情報が全てＵＴＦ−８になる。従って、例えば、画像形成装置１０２がＵＴＦ−８の文字コードに対応していない場合、文字化けが発生してしまうという問題がある。
【０１３２】
そこで、第３の実施形態では、描画部４３２が、ＯＳ４２０からシステムロケールの設定を取得し、ＵＴＦ−８（所定の文字コード）になっているときに、第１、２の実施形態で説明した処理を実行する場合の例について説明する。
【０１３３】
ここでは、情報処理装置１０１の機能構成が、図４に示す第１の実施形態に係る情報処理装置１０１の機能構成を有しているものとして、以下の説明を行うが、第３の実施形態は、第２の実施形態にも適用することができる。
【０１３４】
＜機能構成＞
図１１は、第３の実施形態に係る情報処理装置の機能構成の例を示す図である。図１１に示すように、第３の実施形態に係る描画部４３２は、例えば、図９に示す第２の実施形態に係る描画部４３２（又は図４に示す第１の実施形態に係る描画部４３２）の機能構成に加えて、判定部１１０１を有している。
【０１３５】
判定部（判定手段）１１０１は、情報処理装置１０１のＯＳ４２０におけるシステムロケールの設定が所定の文字コードに設定されているかを判定する。例えば、判定部１１０１は、ＯＳ４２０から、図１５に示すようなシステムロケールの設定画面１５００において、「ワールドワイド言語サポートでＵｎｉｃｏｄｅ ＵＴＦ−８を使用」のチェックボックス１５０１が選択されているか否かを判定する。
【０１３６】
また、第３の実施形態では、判定部１１０１によってＯＳ４２０のシステムロケールの設定が所定の文字コード（例えば、ＵＴＦ−８）に設定されている場合に、第１の実施形態（又は第２の実施形態）に示す文字化けを低減させる処理を実行する。
【０１３７】
＜処理の流れ＞
（描画部の処理）
図１２は、第３の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、第３の実施形態に係る描画部４３２が、例えば、アプリケーション４１０から、ＯＳ４２０を介して出力対象データを受付したときに実行する処理の例を示している。
【０１３８】
ステップＳ１２０１において、描画制御部４０１が出力対象データを受付すると、判定部１１０１は、ＯＳ４２０から、例えば、図１５に示すようなシステムロケールの設定を取得する。
【０１３９】
ステップＳ１２０２において、判定部１１０１は、取得したシステムロケールの設定が、ＵＴＦ−８に設定されているか否かを判定する。
【０１４０】
取得したシステムロケールの設定がＵＴＦ−８に設定されていない場合、判定部１１０１は、処理をステップＳ１２０３に移行させる。一方、取得したシステムロケールの設定がＵＴＦ−８に設定されている場合、判定部１１０１は、処理をステップＳ１２０４に移行させる。
【０１４１】
ステップＳ１２０２からステップＳ１２０３に移行すると、描画制御部４０１は、ＯＳ４２０から、現在有効になっているコードページ（コードページの識別子）を取得する。例えば、描画制御部４０１は、ＷｉｎｄｏｗｓＯＳのＡＰＩであるＧｅｔＡＣＰ関数を実行することにより、現在有効になっているコードページを取得することができる。
【０１４２】
一方、ステップＳ１２０２からステップＳ１２０４に移行すると、描画制御部４０１は、例えば、図７のステップＳ７０２〜Ｓ７０４の処理を実行して、ユーザの表示言語の設定情報（例えば、言語ＩＤ）を取得する。
【０１４３】
ステップ１２０５において、出力データ生成部４０６は、文字コード決定部４０４を用いて、例えば、図７のステップＳ７０６〜Ｓ７１１の処理を実行して、変換後の文字コードに対応するコードページ（又は、変換後の文字コード）を取得する。
【０１４４】
ステップＳ１２０６において、文字コード変換部４０５は、ステップＳ１２０３、又はステップＳ１２０５で取得したコードページを用いて、図７のステップＳ７１３の処理を実行し、出力対象データに含まれる文字列の文字コードを変換する。
【０１４５】
ステップＳ１２０７において、出力データ生成部４０６、及び送信部４０７は、図７のステップＳ７１５〜７１７の処理を実行することにより、出力データを生成し、ＯＳ４２０が提供するスプーラ４４０を介して画像形成装置１０２に送信する。
【０１４６】
（ＵＴＦ−８に設定されていない場合の処理）
図１３は、第３の実施形態に係るＵＴＦ−８に設定されていない場合の処理の例を示すシーケンス図である。
【０１４７】
図１２に示す処理のステップＳ１２０２において、ＵＴＦ−８に設定されていると判定された場合、情報処理装置１０１は、例えば、図７のステップＳ７０２〜Ｓ７１７に示す処理を実行する。
【０１４８】
一方、図１２に示す処理のステップＳ１２０２において、ＵＴＦ−８に設定されていないと判定された場合、情報処理装置１０１は、例えば、図１３のステップＳ１３１１〜Ｓ１３１８に示す処理を実行する。
【０１４９】
ステップＳ１３０１において、描画制御部４０１が、アプリケーション４１０から、ＯＳ４２０を介して送られてくる出力対象データを受け付けると、ステップＳ１３０２の処理が実行される。
【０１５０】
ステップＳ１３０２において、判定部１１０１は、システムロケールの設定が、ＵＴＦ−８に設定されているかを確認する。なお、この処理は、図１２のステップＳ１２０１、Ｓ１２０２の処理に対応している。
【０１５１】
ここで、システムロケールの設定が、ＵＴＦ−８に設定されていない場合、ステップＳ１３１１〜Ｓ１３１８の処理が実行される。
【０１５２】
ステップＳ１３１１において、描画制御部４０１は、例えば、前述したＧｅｔＡＣＰ関数を実行することにより、ＯＳ４２０から、現在有効になっているコードページを取得する。これにより、例えば、ＯＳ４２０が日本語環境で実行されている場合、日本語に対応するコードページの識別子である「９３２」が取得される。
【０１５３】
ステップＳ１３１２において、描画制御部４０１は、出力対象データを、ステップＳ１３１１で取得したコードページと共に、出力データ生成部４０６に通知する。
【０１５４】
ステップＳ１３１３において、出力データ生成部４０６は、変換する文字列（出力対象データに含まれる文字列）と、ステップＳ１３１１で取得したコードページ（例えば、コードページ「９３２」）を、文字コード変換部４０５に通知する。
【０１５５】
ステップＳ１３１４において、文字コード変換部４０５は、前述したＷｉｄｅＣｈａｒＴｏＭｕｌｔｉＢｉｔｅ関数と指定されたコードページを用いて、文字列の文字コード（例えば、ユニコード）を変換後の文字コード（例えば、Ｓｈｉｆｔ−ＪＩＳ）に変換する。
【０１５６】
ステップＳ１３１５において、文字コード変換部４０５は、文字コードを変換した変換後の文字列を出力データ生成部４０６に通知する。
【０１５７】
ステップＳ１３１６において、出力データ生成部４０６は、文字コード変換部４０５が変換した変換後の文字列を用いて、画像形成装置１０２が出力可能な出力データを生成する。
【０１５８】
ステップＳ１３１７において、出力データ生成部４０６は、生成した出力データを、変換後の文字コードと共に、送信部４０７に通知する。
【０１５９】
ステップＳ１３１８において、送信部４０７は、出力データ生成部４０６から通知された出力データ、及び変換後の文字コードを、ＯＳ４２０が提供するスプーラ４４０を介して、画像形成装置１０２に送信する。
【０１６０】
上記の処理により、ＯＳ４２０のシステムロケールの設定がＵＴＦ−８に設定されている場合に、第１の実施形態（又は第２の実施形態）に示す文字化けを低減させる処理を選択的に実行することができるようになる。これにより、ＯＳ４２０のシステムロケールの設定がＵＴＦ−８に設定されていない場合には、プリンタドライバ４３０に、従来と同様の処理を実行させて互換性を保つことができる。
【０１６１】
以上、本発明の各実施形態によれば、情報処理装置１０１が、出力先の画像形成装置１０２を特定できずに画像形成装置１０２が扱える文字コードが判らない場合であっても、画像形成装置側で文字化けが発生することを低減させることができるようになる。
【符号の説明】
【０１６２】
１００      情報処理システム
１０１      情報処理装置
４０２      設定情報取得部（設定情報取得手段）
４０３      対応関係取得部（対応関係取得手段）
４０４      文字コード決定部（決定手段）
４０５      文字コード変換部（変換手段）
４０８      変換テーブル（記憶手段）
９０１      権限偽装部（権限偽装手段）
１１０１    判定部（判定手段）
【先行技術文献】
【特許文献】
【０１６３】
【特許文献１】特開２０１２−２１６１０６号公報
【図１】
2020004092.tif 000003
【図２】
2020004092.tif 000004
【図３】
2020004092.tif 000005
【図４】
2020004092.tif 000006
【図５】
2020004092.tif 000007
【図６】
2020004092.tif 000008
【図７】
2020004092.tif 000009
【図８】
2020004092.tif 000010
【図９】
2020004092.tif 000011
【図１０】
2020004092.tif 000012
【図１１】
2020004092.tif 000013
【図１２】
2020004092.tif 000014
【図１３】
2020004092.tif 000015
【図１４】
2020004092.tif 000016
【図１５】
2020004092.tif 000017