特許第6618246号(P6618246)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ キヤノン株式会社の特許一覧

特許6618246情報処理装置、表示方法、及びコンピュータプログラム
<>
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000002
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000003
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000004
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000005
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000006
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000007
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000008
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000009
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000010
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000011
  • 特許6618246-情報処理装置、表示方法、及びコンピュータプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6618246
(24)【登録日】2019年11月22日
(45)【発行日】2019年12月11日
(54)【発明の名称】情報処理装置、表示方法、及びコンピュータプログラム
(51)【国際特許分類】
   G06F 17/21 20060101AFI20191202BHJP
【FI】
   G06F17/21 640
【請求項の数】9
【全頁数】18
(21)【出願番号】特願2014-200869(P2014-200869)
(22)【出願日】2014年9月30日
(65)【公開番号】特開2016-71668(P2016-71668A)
(43)【公開日】2016年5月9日
【審査請求日】2017年9月29日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100099324
【弁理士】
【氏名又は名称】鈴木 正剛
(72)【発明者】
【氏名】一見 日出志
【審査官】 成瀬 博之
(56)【参考文献】
【文献】 特開2010−204980(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/20−17/28
(57)【特許請求の範囲】
【請求項1】
ユーザによる入力を受け付ける入力デバイスと、
文字列を含む画像を表示する表示手段と、を有する情報処理装置であって、
ユーザが使用する言語を表す第1の言語情報を含むユーザ情報であって、前記第1の言語情報を含む第1のフォント優先リストと関連付く前記ユーザ情報を保持するユーザ情報保持手段と、
前記ユーザ情報を前記入力デバイスから入力される認証に必要な情報と照合することでユーザの認証処理を行う認証手段と、
前記第1の言語情報に次いで優先的に用いられる第2の言語情報が、前記情報処理装置が設置されている地域で用いられる言語の言語情報となるように、前記第1の言語情報及び前記第2の言語情報に基づいて第2のフォント優先リストを作成するフォント優先リスト制御手段と、を備え、
前記表示手段は、前記認証手段で認証されたユーザの前記ユーザ情報に含まれる前記第1の言語情報を最優先に用いることで前記文字列を表示し、
前記フォント優先リスト制御手段は、前記第2のフォント優先リストにおいて前記第2の言語情報に次いで優先的に用いられる言語情報を、前記第1のフォント優先リストにおいて前記第1の言語情報に次ぐ優先順位である第3の言語情報とすることを特徴とする、
情報処理装置。
【請求項2】
前記フォント優先リスト制御手段は、前記第1の言語情報で表される言語と前記第2の言語情報で表される言語とが異なるときに、前記第2のフォント優先リストを作成することを特徴とする、
請求項1記載の情報処理装置。
【請求項3】
予め設定された言語毎の優先順位が異なる複数のデフォルトの前記第1のフォント優先リストを保持するフォント優先リスト保持手段を備えており、
前記フォント優先リスト制御手段は、前記第1の言語情報の言語に対応する前記第1のフォント優先リストを前記フォント優先リスト保持手段から取得し、取得した前記第1のフォント優先リストに含まれる言語の優先順位の並び替えを行うことで、前記第2のフォント優先リストを作成することを特徴とする、
請求項1又は2記載の情報処理装置。
【請求項4】
前記フォント優先リスト制御手段で作成された前記第2のフォント優先リストを、前記第1の言語情報及び前記第2の言語情報とともに記憶するキャッシュ手段を備えており、
前記フォント優先リスト制御手段は、前記第2のフォント優先リストを前記キャッシュ手段に記憶させた後に、次の第2のフォント優先リストを作成する際に取得した第1の言語情報及び第2の言語情報が前記キャッシュ手段に記憶された前記第1の言語情報及び前記第2の言語情報に一致すれば、前記キャッシュ手段に記憶された前記第2のフォント優先リストを前記文字列の描画に用いるフォント優先リストとすることを特徴とする、
請求項1〜3のいずれか1項記載の情報処理装置。
【請求項5】
前記第2のフォント優先リストに基づいて、前記文字列の描画を行うフォント描画処理手段と、
言語毎の前記文字列を表す言語メッセージデータを格納する言語メッセージデータ格納手段と、
前記認証手段から前記第1の言語情報を含む表示言語の切替指示を受け付けて、前記言語メッセージデータ格納手段から、該第1の言語情報で表される言語の前記言語メッセージデータを取得し、展開して保持する言語切替手段と、
前記言語切替手段に展開された前記言語メッセージデータから前記文字列を生成して前記フォント描画処理手段に送信するアプリケーション手段と、を備えることを特徴とする、
請求項1〜4のいずれか1項記載の情報処理装置。
【請求項6】
前記第2の言語情報を格納するデバイス言語格納手段と、
前記言語切替手段から前記第1の言語情報を含む表示言語の切替通知を受信して、前記第1の言語情報を第1の保持手段に保持させ、前記デバイス言語格納手段から取得した前記第2の言語情報を第2の保持手段に保持させるフォント言語切替処理手段とを備え、
前記フォント優先リスト制御手段は、前記第1の保持手段から前記第1の言語情報を取得し、前記第2の保持手段から前記第2の言語情報を取得することを特徴とする、
請求項5記載の情報処理装置。
【請求項7】
前記第2の言語情報は、前記第2のフォント優先リストにおいて、前記第2のフォント優先リスト中の他の言語情報と重複しないことを特徴とする、
請求項1〜6のいずれか1項記載の情報処理装置。
【請求項8】
ユーザによる入力を受け付ける入力デバイスと、文字列を含む画像を表示する表示手段と、を有する情報処理装置により実行される方法であって、
ユーザが使用する言語を表す第1の言語情報を含むユーザ情報であって、前記第1の言語情報を含む第1のフォント優先リストと関連付く前記ユーザ情報を保持するユーザ情報保持ステップと、
前記ユーザ情報を前記入力デバイスから入力される認証に必要な情報と照合することでユーザの認証処理を行う認証ステップと、
前記表示手段に、前記認証ステップで認証されたユーザの前記ユーザ情報に含まれる前記第1の言語情報を最優先に用いることで前記文字列を表示させるステップと、
前記第1の言語情報に次いで優先的に用いられる第2の言語情報が、前記情報処理装置が設置されている地域で用いられる言語の言語情報となるように、前記第1の言語情報及び前記第2の言語情報に基づいて第2のフォント優先リストを作成するフォント優先リスト作成ステップと、を行い、
前記フォント優先リスト作成ステップでは、前記第2のフォント優先リストにおいて前記第2の言語情報に次いで優先的に用いられる言語情報を、前記第1のフォント優先リストにおいて前記第1の言語情報に次ぐ優先順位である第3の言語情報とすることを特徴とする
表示方法。
【請求項9】
ユーザによる入力を受け付ける入力デバイスと、
文字列を含む画像を表示する表示手段と、を備えるコンピュータを、
ユーザが使用する言語を表す第1の言語情報を含むユーザ情報であって、前記第1の言語情報を含む第1のフォント優先リストと関連付く前記ユーザ情報を保持するユーザ情報保持手段、
前記ユーザ情報を前記入力デバイスから入力される認証に必要な情報と照合することでユーザの認証処理を行う認証手段と、
前記第1の言語情報に次いで優先的に用いられる第2の言語情報が、前記コンピュータが設置されている地域で用いられる言語の言語情報となるように、前記第1の言語情報及び前記第2の言語情報に基づいて第2のフォント優先リストを作成するフォント優先リスト制御手段、として機能させ、
前記表示手段に、前記認証手段で認証されたユーザの前記ユーザ情報に含まれる前記第1の言語情報を最優先に用いることで前記文字列を表示させ、
前記フォント優先リスト制御手段により、前記第2のフォント優先リストにおいて前記第2の言語情報に次いで優先的に用いられる言語情報を、前記第1のフォント優先リストにおいて前記第1の言語情報に次ぐ優先順位である第3の言語情報とする、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多言語表示を可能にするために複数言語のフォントを備えた情報処理装置に関する。
【背景技術】
【0002】
認証機能を備え且つ多言語表示に対応する情報処理装置は、ユーザがログインすることで、登録されているユーザの情報(以下、「ユーザ情報」という。)に基づいた言語に表示言語を自動的に切り替える。特許文献1の情報処理装置は、このような多言語表示に対応した情報処理装置を開示する。ユーザは、ログインを行うことで表示言語が自動的に切り替わるために、手動で表示言語を切り替える必要が無い。そのために情報処理装置の利便性が向上する。
【0003】
プリンタ等の画像形成装置やスマートフォンのように表示装置を備える情報処理装置は、ユーザの操作により、任意のタイミングで表示言語を切り替えることが可能である。また、このような情報処理装置は、例えば英語、日本語、中国語等の複数の言語を同時に表示画面上に表示することが可能である。複数の言語を同時に表示するために、情報処理装置には、各言語の文字コードを統一したUnicodeといわれる文字コード体系が構築される。
【0004】
情報処理装置は、文字コード体系をUnicodeで構築する他に、言語毎のフォントデータを保持し、表示言語に対応するフォントデータから優先的に使用して表示することで、表示言語を切り替えることもできる。また、情報処理装置は、例えば、使用する言語の優先順位を記憶するフォント優先リストを用意しておき、フォント優先リストの優先順位に応じて表示言語を切り替えてもよい。フォント優先リストは、予め言語の優先順位の異なるものが情報処理装置内に複数用意されて、表示言語に応じて切り替えて用いられる。また、フォント優先リストは、表示中の言語を最優先にして履歴順に設定してもよい。これらの技術を組み合わせることで、ログインしたユーザのユーザ情報に基づく言語に自動的に表示言語を切り替え、多言語表示を可能にすることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−160667号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
Unicodeのうち、日本語、中国語、韓国語、台湾語、ベトナム語で用いられる漢字は、CJKV(Chinese-Japanese-Korean-Vietnamese)統合漢字と言われる。CJKV統合漢字では、いくつかの似た文字が同じ文字コードにマッピングされる。CJKV統合漢字は、各言語用のフォントデータを有する。情報処理装置は、CJKV統合漢字が有する複数のフォントデータから、表示言語に応じて最優先に使うフォントデータを切り替えることで、最適なフォントを表示することができる。
【0007】
ログインしたユーザのユーザ情報に基づいて表示言語を切り替える場合、従来のような言語の優先順位の決定方法では、二番目以降の優先順位がユーザの期待している順位とは異なることがある。例えば、韓国語に設定されている情報処理装置を複数のユーザで使用する場合、ログインしたユーザのユーザ情報が英語を指示するものであっても、画面に表示されるファイル名、フォルダ名、宛先名等は韓国語で登録されている可能性が高い。二番目以降の優先順位が固定、或いは履歴順で決まる場合、例えば英語の次に日本語の優先順位が高くなり、文字列が韓国語フォントではなく日本語フォントで表示されてしまうことがある。この場合、情報処理装置は、韓国語で登録されているファイル名、フォルダ名、宛先名等の文字列を日本語フォントで表示するために、最適な文字表示が行えなくなるといった問題がある。
【0008】
本発明は、上記の問題を解決するために、最適な文字表示を可能とする情報処理装置を提供することを主たる課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決する本発明の情報処理装置は、ユーザによる入力を受け付ける入力デバイスと、文字列を含む画像を表示する表示手段と、を有する情報処理装置であって、ユーザが使用する言語を表す第1の言語情報を含むユーザ情報であって、前記第1の言語情報を含む第1のフォント優先リストと関連付く前記ユーザ情報を保持するユーザ情報保持手段と、前記ユーザ情報を前記入力デバイスから入力される認証に必要な情報と照合することでユーザの認証処理を行う認証手段と、前記第1の言語情報に次いで優先的に用いられる第2の言語情報が、前記情報処理装置が設置されている地域で用いられる言語の言語情報となるように、前記第1の言語情報及び前記第2の言語情報に基づいて第2のフォント優先リストを作成するフォント優先リスト制御手段と、を備え、前記表示手段は、前記認証手段で認証されたユーザの前記ユーザ情報に含まれる前記第1の言語情報を最優先に用いることで前記文字列を表示し、前記フォント優先リスト制御手段は、前記第2のフォント優先リストにおいて前記第2の言語情報に次いで優先的に用いられる言語情報を、前記第1のフォント優先リストにおいて前記第1の言語情報に次ぐ優先順位である第3の言語情報とすることを特徴とする。
【発明の効果】
【0010】
本発明によれば、認証したユーザの言語を最優先とし、情報処理装置にデフォルトで設定されている言語をその次に優先する言語として設定するため、ユーザが使っている環境に最適な文字表示が可能となる。
【図面の簡単な説明】
【0011】
図1】情報処理装置のハードウェア構成図。
図2】表示言語制御のための機能を表す機能ブロック図。
図3】テーブルの説明図。
図4】表示言語の切り替え処理を表すフローチャート。
図5】描画処理を表すフローチャート。
図6】最終フォント優先リストの並び替え処理を表すフローチャート。
図7】フォントファミリを最終フォント優先リストに反映する処理を表すフローチャート。
図8】フォント優先リストの例示図。
図9】文書一覧の例示図。
図10】テーブルの変形例の説明図。
図11】最終フォント優先リストの並び替え処理を表すフローチャート。
【発明を実施するための形態】
【0012】
以下、図面を参照して実施の形態を詳細に説明する。
【0013】
(構成)
図1は、本実施形態の情報処理装置のハードウェア構成図である。情報処理装置101は、画像形成装置やスマートフォンのようにディスプレイ119(表示装置)を備える。情報処理装置101は、ユーザの認証機能を有しており、ユーザの認証時(ログイン時)に用いるユーザ情報に基づいた言語を表示言語として文字表示を行う。情報処理装置101は、ディスプレイ119の他に、制御部110、タッチパネル118、及び外部メモリ120を備える。制御部110は、CPU(Central Processing Unit)111、RAM(Random Access Memory)112、及びROM(Read Only Memory)113により、情報処理装置101全体の動作を制御する。そのために制御部110は、タッチパネル118に接続される入力制御部114、ディスプレイ119に接続される表示制御部115、外部メモリ120に接続される外部メモリインタフェース(I/F)116を備える。また制御部110は、LAN(Local Area Network)等のネットワーク102との間で通信制御を行う通信I/Fコントローラ117を備える。CPU111、RAM112、ROM113、入力制御部114、表示制御部115、外部メモリI/F116、及び通信I/Fコントローラ117は、システムバスBを介して相互に通信可能に接続される。
【0014】
CPU111は、ROM113に格納されるコンピュータプログラムを読み出し、RAM112をワークエリアとして用いて実行することで、情報処理装置101の各部の動作を制御する。ROM113は不揮発性メモリであり、コンピュータプログラムの他に、処理に必要な各種のデータを保持する。RAM112は揮発性メモリであり、処理を行う際の一時記憶領域を提供する。
【0015】
入力制御部114は、入力デバイスを用いたユーザの操作を受け付けて、受け付けた操作に応じた制御信号をCPU111に送信する。図1では、入力デバイスとしてタッチパネル118を用いる。タッチパネル118は、ユーザの指やスタイラスペン等によりタッチされた位置を検出するポインティングデバイスである。タッチパネル118は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のものを用いることができる。入力デバイスには、タッチパネル118の他に、キーボード等の文字入力デバイスやマウス等のポインティングデバイスを用いることができる。入力制御部114は、タッチパネル118が検出した位置に応じた制御信号をCPU111に送信する。CPU111は、該制御信号に基づいて処理を実行する。CPU111は、これにより情報処理装置101に対するユーザの操作に応じた処理を行う。
【0016】
表示制御部115は、CPU111の制御により、ディスプレイ119に画像を表示させる。表示制御部115は、例えば、ディスプレイ119に、処理に関連付けられたオブジェクトで構成される画像を表示させる。また、アプリケーションソフトウェア(以下、「AP」という。)の実行画面を表示する。画像には、所定の言語のフォントで描画された文字も含まれる。
【0017】
ディスプレイ119の表示画面には、タッチパネル118が一体になるように設けられる。タッチパネル118は、ディスプレイ119の表示を妨げないような透過率で構成される。CPU111は、ディスプレイ119に表示されるオブジェクトの位置と、タッチパネル118で検出されたタッチ位置とから、ユーザが操作(タッチ)したオブジェクトを特定し、該オブジェクトに関連付けられた処理を実行する。このようにタッチパネル118及びディスプレイ119により、ユーザがディスプレイ119に表示された画像を直接的に操作して入力を行うようなGUI(Graphical User Interface)を構成することができる。
【0018】
外部メモリI/F116は、ハードディスク、フレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disc)、メモリカード等の外部メモリ120が装着可能な記憶媒体である。外部メモリI/F116は、CPU111の制御に基づき、装着された外部メモリ120からのデータの読み出しや、当該外部メモリ120へのデータの書き込みを行う。通信I/Fコントローラ117は、ネットワーク102を介して、ネットワーク102に接続された他の装置との通信を制御する。
【0019】
図2は、情報処理装置101の制御部110に実現される表示言語制御のための機能を表す機能ブロック図である。各機能は、CPU111がROM113からコンピュータプログラムを読み出して実行することで形成されるが、ハードウェアとして構成されてもよい。情報処理装置101には、言語メッセージデータ格納部201、言語切替部301、アプリケーション部401、ユーザ情報保持部501、デバイス言語格納部601、フォント制御部701が形成される。なお、図2の点線はデータ参照、実線は処理の指示、データの格納を意味する。
【0020】
言語メッセージデータ格納部201は、ROM113或いは外部メモリ120に設けられ、APの実行画面に表示するメッセージ(文字列)を表すデータである言語メッセージデータを格納する。言語メッセージデータ格納部201は、言語毎の言語メッセージデータを格納する。図2の例では、言語メッセージデータ格納部201に、日本語、英語、フランス語、及び台湾語の各言語の言語メッセージデータが格納される。
【0021】
言語切替部301は、表示言語の切り替え指示に応じて、アプリケーション部401及びフォント制御部701に表示言語の切替通知を送信し、指示された言語の言語メッセージデータを言語メッセージデータ格納部201から取得して保持する。そのために言語切替部301は、言語切替通知部302、言語メッセージデータ取得部303、及び言語メッセージデータ展開部304を備える。
【0022】
言語切替通知部302は、例えばアプリケーション部401から表示言語の切替指示を受け付けて、言語メッセージデータ取得部303、アプリケーション部401、フォント制御部701に対して表示言語の切替通知を送信する。表示言語の切替指示は、例えばユーザのログインによる認証処理により送信され、認証したユーザのユーザ情報に含まれる言語情報を含む。表示言語の切替通知は、切替指示に含まれる言語情報を含む。この言語情報で表される言語に表示言語が変更される。
【0023】
言語メッセージデータ取得部303は、言語切替通知部302から送信された切替通知を受信する。言語メッセージデータ取得部303は、受信した切替通知に含まれる言語情報に対応する言語メッセージデータを言語メッセージデータ格納部201から取得し、言語メッセージデータ展開部304にアプリケーション部401が解釈可能な形式で展開する。言語メッセージデータ展開部304は、RAM112に設けられ、言語メッセージデータ取得部303により展開された言語メッセージデータを保持する。
【0024】
アプリケーション部401は、認証アプリケーション(以下、「認証AP」という。)402、ユーザモードアプリケーション(以下、「ユーザモードAP」という。)403、及び一般アプリケーション(以下、「一般AP」という。)404を備える。アプリケーション部401は、外部メモリ120等からアプリケーションプログラムを読み込んで実行する。
【0025】
認証AP402は、ユーザのログイン時の認証処理を行うAPである。認証AP402は、ユーザのログイン時に、タッチパネル118から認証に必要な情報(ユーザID、パスワード等)を取得して、ユーザ情報保持部501が保持するユーザ情報と照合することで認証処理を行う。ユーザ情報保持部501は、ROM113、外部メモリ120、或いはネットワーク102を介して接続されるサーバ等の外部装置に設けられており、ユーザ情報を保持する。ユーザ情報には、情報処理装置101に登録されたユーザのユーザID、パスワード、ユーザの使用する言語を表す言語情報、使用可能なAP等の情報が含まれる。認証AP402は、言語切替通知部302に、認証処理により照合したユーザ情報に含まれる言語情報を含む表示言語の切替指示を送信する。
【0026】
ユーザモードAP403は、情報処理装置101の設定及びユーザの登録を行うAPである。ユーザ情報保持部501にユーザ情報を登録する際には、ユーザモードAP403がタッチパネル118からのユーザ情報の入力を受け付けて、ユーザ情報保持部501に記憶する。これによりユーザの情報処理装置101への登録が行われる。ユーザモードAP403は、デフォルトの表示言語の設定を行う。ユーザモードAP403は、情報処理装置101にデフォルトの表示言語の設定する際に、デバイス言語格納部601に、設定された言語を表す言語情報を送信する。
【0027】
一般AP404は、情報処理装置101が提供する機能を実現するためのAPである。例えば情報処理装置101が複合機であれば、一般AP404は、コピー機能、スキャンした画像の送信機能、スキャンした画像の保存機能等の機能を実現する。一般AP404は、機能毎に用意される。
【0028】
アプリケーション部401は、例えば一般AP404により、表示制御部115を介してディスプレイ119に画像を表示させる。また、アプリケーション部401は、言語切替通知部302からの表示言語の切替通知に含まれる言語情報に応じた文字列描画を、フォント制御部701に指示する。そのためにアプリケーション部401は、言語メッセージデータ展開部304に展開された言語メッセージデータを取得する。アプリケーション部401は、取得した言語メッセージデータに基づいて描画する文字列を生成し、フォント制御部701に生成した描画する文字列等の情報を含む文字列描画の指示を送信する。
【0029】
デバイス言語格納部601は、RAM112或いは外部メモリ120に設けられ、情報処理装置101にデフォルトで設定された表示言語を表す言語情報602及び情報処理装置101が設置されている国を表す国情報603を格納する。言語情報602は、通常、国情報603が示す国の言語を表す。言語情報602は、ユーザモードAP403により設定される。国情報603は、情報処理装置101の設置の際に、設置する地域や国にあわせて、サービスマンによりユーザモードAP403を用いて設定される。国情報603は、情報処理装置101の設置場所等が変更されると、それに応じて変更可能である。
【0030】
フォント制御部701は、表示言語の切り替えのためにフォント言語切替処理部702、ログインユーザ言語保持部703、及びデバイス言語保持部704を備える。フォント制御部701は、フォントを描画するためにフォント描画処理部705、フォント優先リスト制御部706、フォント優先リスト保持部707、及びフォントデータ保持部708を備える。またフォント制御部701は、フォント優先リスト情報キャッシュ部709を備える。
【0031】
フォント言語切替処理部702は、言語切替通知部302から表示言語の切替通知を受信して、受信した切替通知に含まれる言語情報をログインユーザ言語保持部703に保持する。フォント言語切替処理部702は、デバイス言語格納部601から言語情報602を取得して、デバイス言語保持部704に保持する。これにより、ログインユーザ言語保持部703は、切り替える言語を表す言語情報を保持し、デバイス言語保持部704は、情報処理装置101に設定されている言語を表す言語情報602を保持する。ログインユーザ言語保持部703及びデバイス言語保持部704は、RAM112に設けられる。
【0032】
フォント描画処理部705は、アプリケーション部401から文字列描画の指示を受信して、フォント優先リスト制御部706にフォント優先リストの作成を指示する。フォント優先リストは、文字列の描画に使用する言語の優先順位を表す。文字列描画の指示には、描画する文字列の他に、フォント種類を表すフォントファミリ、言語タイプ等の情報が含まれる。フォント描画処理部705は、作成されたフォント優先リストと、フォントデータ保持部708に保持されるフォントデータとに基づいて、文字列描画の指示に基づくフォントで文字列描画を行う。フォントデータ保持部708は、フォント描画処理部705が描画するための各言語のフォントデータを保持する。フォントデータ保持部708は、ROM113、外部メモリ120、或いはRAM112に設けられる。
【0033】
なお、「フォントファミリ」とは、一般的に“Arial”、“MSゴシック”のようなものが挙げられる。本実施形態では後述する図3の優先リスト1003で優先順に表される「日本語フォント」、「ラテン語フォント」等の言語毎のフォントデータがフォントファミリに相当する。また、情報処理装置101に予め設定されているフォントファミリを「デフォルトフォントファミリ」という。フォントファミリを明示的に指定した場合は、そのフォントを最優先で用いる。
【0034】
フォント優先リスト制御部706は、フォント描画処理部705からフォント優先リストの作成の指示を受信してフォント優先リストを作成する。フォント優先リスト制御部706は、ログインユーザ言語保持部703の言語情報、デバイス言語保持部704の言語情報、及びフォント優先リスト保持部707の情報を取得してフォント優先リストを作成する。ログインユーザ言語保持部703から取得したユーザの言語情報を「ユーザ表示言語」、デバイス言語保持部704から取得した情報処理装置101に設定された言語情報を「デバイス表示言語」という。フォント優先リスト保持部707は、予め設定されたデフォルトのフォント優先リスト(以下、「デフォルトフォント優先リスト」という。)を保持する。フォント優先リスト保持部707は、各々、言語毎のフォントデータの優先順位が異なる複数のデフォルトフォント優先リストを保持する。フォント優先リスト保持部707は、ROM113、外部メモリ120、或いはRAM112に設けられる。
【0035】
フォント優先リスト制御部706は、ユーザ表示言語が表す言語のフォントデータが最優先に設定されているデフォルトフォント優先リストをフォント優先リスト制御部706から取得する。フォント優先リスト制御部706は、取得したデフォルトフォント優先リストの二番目に設定されているフォントデータが、デバイス表示言語が表す言語のフォントデータであるか否かを判断する。デフォルトフォント優先リストの二番目に設定されているフォントデータが、デバイス表示言語が表す言語のフォントデータであれば、フォント優先リスト制御部706は、デフォルトフォント優先リストを最終フォントリストとする。フォント優先リスト制御部706は、最終フォント優先リストをフォント描画処理部705に送信する。デフォルトフォント優先リストの二番目に設定されているフォントデータが、デバイス表示言語が表す言語のフォントデータでなければ、フォント優先リスト制御部706は、デフォルトフォント優先リストの言語の優先順位を入れ替える。フォント優先リスト制御部706は、優先順位の入れ替えで作成した新たなフォント優先リストを最終フォント優先リストとしてフォント描画処理部705に送信する。
【0036】
フォント優先リスト情報キャッシュ部709は、フォント優先リスト制御部706によって作成された最終フォント優先リストを記憶しておく領域であり、RAM112に設けられる。フォント優先リスト情報キャッシュ部709は、最終フォント優先リストを「フォント優先リスト」として記憶する。また、フォント優先リスト情報キャッシュ部709は、最終フォント優先リストを作成した際の「ユーザ表示言語」、「デバイス表示言語」、「言語タイプ」、「フォントファミリ(優先リスト1003)」を記憶する。
【0037】
(運用形態)
図3は、表示言語、言語タイプ、及びフォント優先リストの各テーブルの説明図である。各テーブルは、フォント優先リスト保持部707に保持される。
【0038】
表示言語テーブル801は、表示言語802と言語タイプ803との対応を表す。表示言語802は、情報処理装置101がディスプレイ119に表示可能な言語である。言語タイプ803は、文字コードセットに相当し、日本語であれば「ShiftJIS」、英語であれば「Windows Code Page 1252」、台湾語であれば「Big5」というように、一般的な文字コードセットを示している。ヒンディ語は独自の文字コードセットがないため、便宜的に「Hindi」という独自の文字コードセットを定義している。表示言語テーブル801の表示言語802には一部の言語しか示していないが、実際にはその他の言語も存在する。つまり表示言語テーブル801は、表示言語802がどの文字コードセットに相当するかという一覧を示すものになっている。
【0039】
言語タイプテーブル901は、表示言語テーブル801の言語タイプ803にリンクする言語タイプ902と、言語タイプ902に対応するフォント優先リスト903とから構成される。フォント優先リスト903は、フォント優先リストテーブル1001のフォント優先リスト1002へのリンクとなる。
【0040】
フォント優先リストテーブル1001は、言語タイプテーブル901のフォント優先リスト903にリンクするフォント優先リスト1002と、文字列描画の際に参照する言語毎のフォントデータの優先順位を表す優先リスト1003とから構成される。図3の優先リスト1003は第1優先から第8優先までしか示していないが、これに限定されるものではない。また、第1優先から第8優先に記述しているフォントは少なくとも1つ以上のフォントデータを含んでいる。フォント優先リストテーブル1001は、デフォルトフォント優先リストである。
【0041】
フォント優先リスト制御部706は、表示言語テーブル801、言語タイプテーブル901、フォント優先リストテーブル1001の順に参照することで、表示言語802に基づいて優先リスト1003を決めることができる。例えば、フォント優先リスト制御部706は、ログインユーザ言語保持部703が保持する言語情報で表される言語により、表示言語802を特定し、これに対応するフォント優先リスト1002をデフォルトフォント優先リストとして特定する。通常は、アプリケーション部401から指示される言語タイプがUnicodeであり、その場合、フォント優先リスト制御部706は、表示言語802の中から言語タイプ902を決め、優先リスト1003を決定する。Webページのようにコンテンツ中で文字設定を指定された場合には、他の言語タイプ(例えばShiftJIS)を指定することも可能である。この場合、フォント優先リスト制御部706は、指定された言語タイプから直接、優先リストを決定する。
【0042】
図4は、表示言語の切り替え処理を表すフローチャートである。フォント制御部701のフォント言語切替処理部702が、言語切替部301の言語切替通知部302から表示言語の切替通知を受信したときに図4のフローチャートの処理を実行する。
【0043】
フォント言語切替処理部702は、言語切替通知部302から、ログインしたユーザのユーザ情報に基づく言語情報を含む表示言語の切替通知を受信する(S101)。フォント言語切替処理部702は、切替通知の受信を契機に、デバイス言語格納部601から情報処理装置101に設定されている表示言語を表す言語情報602を取得する(S102)。フォント言語切替処理部702は、言語切替通知部302から受信した切替通知に含まれる言語情報をログインユーザ言語保持部703に保持する(S103)。フォント言語切替処理部702は、デバイス言語格納部601から取得した言語情報602をデバイス言語保持部704に保持する(S104)。
【0044】
このようにフォント言語切替処理部702は、言語切替通知部302から表示言語の切替通知を受信すると、ログインユーザ言語保持部703に認証されたユーザのユーザ情報に基づく言語情報を記憶する。またフォント言語切替処理部702は、デバイス言語格納部601に、情報処理装置101に設定されている言語情報602を記憶する。
【0045】
図5は、文字列の描画処理を表すフローチャートである。フォント制御部701のフォント描画処理部705が、アプリケーション部401から文字列描画の指示を受信したときに図5のフローチャートの処理を実行する。
【0046】
フォント描画処理部705は、アプリケーション部401から文字列描画の指示を受け付けると、フォント優先リスト制御部706にフォント優先リストの作成を指示する(S201)。フォント優先リストの作成が指示されたフォント優先リスト制御部706は、フォント優先リスト保持部707からフォント優先リストテーブル1001の優先リスト1003に含まれるフォントデータの個数Nを取得する(S202)。本実施形態では、個数N=8(第1優先〜第8優先)とするが、個数Nは、リストアップするフォントデータの数に応じて動的に変わる。フォント優先リスト制御部706は、取得したフォントデータの個数Nで、最終的に使用する最終フォント優先リストを初期化する(S203)。
【0047】
フォント優先リスト制御部706は、フォント優先リスト情報キャッシュ部709に記憶(キャッシュ)されたフォント優先リストが使用可能か否かを判定する(S204)。フォント優先リスト制御部706は、この判定のために、ユーザ表示言語及びデバイス表示言語を取得する。フォント優先リスト制御部706は、取得したユーザ表示言語及びデバイス表示言語がフォント優先リスト情報キャッシュ部709に記憶されたユーザ表示言語及びデバイス表示言語と一致するか否かを判断する。また、フォント優先リスト制御部706は、アプリケーション部401から指示された言語タイプ、フォントファミリが、フォント優先リスト情報キャッシュ部709に記憶されたフォント優先リストと一致するか否かを判断する。これらの情報が一致するか否かにより、フォント優先リスト制御部706は、フォント優先リスト情報キャッシュ部709に記憶されたフォント優先リストが使用可能か否かを判定する。フォント優先リスト制御部706は、キャッシュされたフォント優先リストが使用可能であれば(S204:Y)、最終フォント優先リストに、キャッシュされているフォント優先リストをすべてコピーする(S205)。
【0048】
フォント優先リスト制御部706は、キャッシュされたフォント優先リストが使用不可であれば(S204:N)、アプリケーション部401から指示された言語タイプがUnicodeであるか否かを判定する(S206)。言語タイプがUnicodeであれば(S206:Y)、フォント優先リスト制御部706は、ユーザ表示言語に対応する言語タイプを表示言語テーブル801から決定してベース言語タイプとする(S207)。言語タイプがUnicodeでなければ(S206:N)、フォント優先リスト制御部706は、アプリケーション部401から指示された言語タイプをベース言語タイプに決定する(S208)。
【0049】
ベース言語タイプの決定後にフォント優先リスト制御部706は、デバイス言語保持部704に保持するデバイス表示言語を用いて、表示言語テーブル801により言語タイプ(デバイス言語タイプ)を決定する(S209)。デバイス言語タイプの決定後にフォント優先リスト制御部706は、アプリケーション部401の指示からフォントファミリを取得する(S210)。フォント優先リスト制御部706は、最終フォント優先リストの並び替え処理を行う(S211)。最終フォント優先リストの並び替え処理の詳細については後述する。
【0050】
最終フォント優先リストの並び替え処理後にフォント優先リスト制御部706は、フォント優先リスト情報キャッシュ部709にキャッシュされる情報を更新する(S212)。更新される情報の項目は、ユーザ表示言語、デバイス表示言語、アプリ言語タイプ、フォントファミリ、最終フォント優先リスト等がある。
【0051】
フォント描画処理部705は、生成された最終フォント優先リストに定義されているフォントデータを設定する(S213)。設定されるフォントデータは、1以上のフォントデータを含み、また例えば、日本語であれば全角フォント及び半角フォント、アラビア語であればアラビア語及びローマ字、というように複数のフォントデータを含むことも可能である。フォント描画処理部705は、フォントデータが重複しないように設定する。フォント描画処理部705は、アプリケーション部401から指示のあった文字列を1文字ずつ、設定したフォントデータを順に検索して、該当するコードのフォントデータを用いて描画して処理を終了する(S214)。
【0052】
図6は、図5のステップS211の最終フォント優先リストの並び替え処理を表すフローチャートである。
【0053】
フォント優先リスト制御部706は、最終フォント優先リストを生成するためのカウンタの値iを「1」に初期化する(S301)。また、フォント優先リスト制御部706は、コピー元となるベース言語タイプに紐付いたデフォルトフォント優先リストを順に参照するためのカウンタの値nを「1」に初期化する(S302)。
【0054】
フォント優先リスト制御部706は、アプリケーション部401からの文字列描画の指示に含まれるフォントファミリの一番目が情報処理装置101に設定されるデフォルトの表示言語(以下、「デフォルトフォント」という。)か否かを判定する(S303)。フォント優先リスト制御部706は、文字列描画の指示に含まれるフォントファミリの一番目が、デフォルトフォント優先リストの一番目とフォントデータと同じか否かにより、この判定を行う。デフォルトフォントでなければ(S303:N)、フォント優先リスト制御部706は、アプリケーション部401から指示のあったフォントファミリを最終フォント優先リストに反映する(S304)。
【0055】
デフォルトフォントであれば(S303:Y)、フォント優先リスト制御部706は、ベース言語タイプとデバイス言語タイプとが一致するか否かを判定する(S305)。一致しなければ(S305:N)、フォント優先リスト制御部706は、最終フォント優先リストのi番目(i=1)に、ベース言語タイプに紐付くデフォルトフォント優先リストのn番目(n=1)のフォントデータをコピーする(S306)。コピー後にフォント優先リスト制御部706は、カウンタの値i、nをそれぞれ1ずつインクリメントする(S307)。
【0056】
フォント優先リスト制御部706は、最終フォント優先リストのi番目(i=2)に、デバイス言語タイプに紐付くデフォルトフォント優先リストの一番目のフォントデータをコピーする(S308)。コピー後にフォント優先リスト制御部706は、カウンタの値iを1インクリメントする(S309)。
【0057】
フォント優先リスト制御部706は、最終フォント優先リストを生成するためのカウンタの値iが、最終フォント優先リストの個数Nを超えているか否かを判定する(S310)。超えていれば(S310:Y)、フォント優先リスト制御部706は、フォント優先リストの並び替えを終了する。超えていなければ(S310:N)、フォント優先リスト制御部706は、ベース言語タイプに紐付くデフォルトフォント優先リストのn番目が既に最終フォント優先リストに存在するか否かを判定する(S311)。存在すれば(S311:Y)、フォント優先リスト制御部706は、カウンタの値nを1インクリメントする(S314)。存在しなければ(S311:N)、フォント優先リスト制御部706は、最終フォント優先リストのi番目にベース言語タイプに紐づくデフォルトフォント優先リストのn番目をコピーする(S312)。また、フォント優先リスト制御部706は、カウンタの値i、nをそれぞれ1ずつインクリメントする(S313、S314)。
【0058】
フォント優先リスト制御部706は、カウンタの値nが個数Nを超えているか否か判定する(S315)。超えていなければ(S315:N)、フォント優先リスト制御部706は、再度、最終フォント優先リストを生成するためのカウンタの値iが、最終フォント優先リストの個数Nを超えているか否かを判定する(S310)。超えていれば(S315:Y)、フォント優先リスト制御部706は、フォント優先リストの並び替えを終了する。カウンタの値nが個数Nを超えるまで、フォント優先リスト制御部706は、ステップS310〜S315の処理を繰り返す。
【0059】
図7は、図6のステップS304のフォントファミリを最終フォント優先リストに反映する処理を表すフローチャートである。
【0060】
フォント優先リスト制御部706は、アプリケーション部401からの文字列描画の指示に含まれるフォントファミリの数Kを取得する(S401)。フォント優先リスト制御部706は、文字列描画の指示に含まれるフォントファミリを参照するためのカウンタの値kを「1」に初期化する(S402)。
【0061】
フォント優先リスト制御部706は、最終フォント優先リストのカウンタの値iがフォント優先リストの個数Nを超えていないか否かを判定する(S403)。超えていれば(S403:Y)、フォント優先リスト制御部706は、フォントファミリの最終フォント優先リストへの反映処理を終了する。
【0062】
超えていなければ(S403:N)、フォント優先リスト制御部706は、フォントファミリのk番目がデフォルトフォントであるか否かを判定する(S404)。デフォルトフォントであれば(S404:Y)、フォント優先リスト制御部706は、カウンタの値kを1インクリメントする(S408)。デフォルトフォントでなければ(S404:N)、フォント優先リスト制御部706は、フォントファミリのk番目が、既に最終フォント優先リストに存在するか否かを判定する(S405)。存在すれば(S405:Y)フォント優先リスト制御部706は、カウンタの値kを1インクリメントする(S408)。
【0063】
存在しなければ(S405:N)、フォント優先リスト制御部706は、最終フォント優先リストのi番目に、アプリケーション部401から指示されたフォントファミリのk番目のフォントデータをコピーする(S406)。その後、フォント優先リスト制御部706は、カウンタの値i、nをそれぞれ1ずつインクリメントする(S407、S408)。
【0064】
フォント優先リスト制御部706は、カウンタの値kがフォントファミリの数Kを超えているか否か判定する(S409)。超えていなければ(S409:N)、フォント優先リスト制御部706は、再度、最終フォント優先リストのカウンタの値iがフォント優先リストの個数Nを超えているか否かを判定する(S403)。超えていれば(S409:Y)、フォント優先リスト制御部706は、フォントファミリの最終フォント優先リストへの反映処理を終了する。カウンタの値kがフォントファミリの数Kを超えるまで、フォント優先リスト制御部706は、ステップS403以降の処理を繰り返す。
【0065】
図8は、ユーザ表示言語が英語、デバイス表示言語が韓国語、アプリケーション部401から指示される言語タイプがUnicode、フォントファミリがデフォルトフォントの場合に、優先順が並び替えられた最終フォント優先リストの例示図である。
【0066】
図5の処理の実行前のデフォルトフォント優先リストは、図3に示すフォント優先リストテーブル1001に示す通りであり、フォント優先リスト保持部707に保持されている。図5の処理を実行することで、フォント優先リストテーブル1001は、図8に示すフォント優先リストテーブル1101に並び替えられる。フォント優先リストテーブル1101は、処理によりフォント優先リスト1102の「ラテンフォント優先リスト」の第2優先フォントが「韓国語フォント」になり、第3優先フォント以降の優先順位が1つずつずれる。また、図6のステップS311の判定により、同じ言語のフォントが重複してフォント優先リストに追加されないようになっている。
【0067】
図9は、情報処理装置101のディスプレイ119に表示される文書一覧の例示図である。ここでは、ユーザ表示言語が英語、デバイス表示言語が韓国語である。文書一覧1201は、図3の優先順位変更前のデフォルトフォント優先リストを使用して表示されており、漢字は日本語のフォントデータを使って表示される。文書一覧1202は、図8の優先順位変更後の最終フォント優先リストを使用して表示されており、漢字は韓国語のフォントデータを使って表示される。文書一覧1201、1202で示す通り、漢字の字形が異なるものとなる。
【0068】
以上のように、ユーザ表示言語が最優先言語となるだけでなく、ログインユーザが情報処理装置101を使用している環境(設定された言語)に応じて、次に優先される言語が決定される。そのために、よりユーザの環境にあった多言語表示が可能となる。
【0069】
(他の運用形態)
図10は、図3のテーブルの変形例の説明図である。図3では、表示言語802と言語タイプ803との関係を表す表示言語テーブル801を用いているが、図10では、国1302と言語タイプ1303との関係を表す国テーブル1301を用いる。言語タイプテーブル901及びフォント優先リストテーブル1001は、図3図10とで同様のものである。国テーブル1301により、国情報603(図2参照)からフォント優先リストを作成可能となる。国1302は、情報処理装置101が設置される国を表す。
【0070】
図11は、図6の最終フォント優先リストの並び替え処理を表すフローチャートの変形例示図である。図11では、図6のステップS309の処理とS310の処理との間に処理が追加される。図11の他の処理は図6の処理と同様であるので説明を省略する。図11の処理では、図10の国テーブル1301を図3の表示言語テーブル801の代わりに用い、表示言語802の代わりに国1302を用いる。
【0071】
フォント優先リスト制御部706は、国1302が示す国コードに紐付けられた言語タイプ803がベース言語タイプ又はデバイス言語タイプと一致するかを判定する(S501)。一致すれば(S501:Y)、フォント優先リスト制御部706は、ステップS310以降の処理を実行する。一致しなければ(S501:N)、フォント優先リスト制御部706は、最終フォントリストのi番目(カウンタの値i=3)に、国コードに紐づく言語タイプのデフォルトフォント優先リストの一番目をコピーする(S502)。フォント優先リスト制御部706は、カウンタの値iをインクリメントして(S503)、ステップS310以降の処理を実行する。
【0072】
以上のような処理により、ユーザ表示言語、デバイス表示言語、情報処理装置101に設定されている国コードに紐づく表示言語の順でフォントが表示される。そのために、さらにユーザの環境にあった多言語表示が可能となる。
【符号の説明】
【0073】
101…情報処理装置、110…制御部、118…タッチパネル、119…ディスプレイ、120…外部メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11