JP2001255867A - 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法 - Google Patents

任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法

Info

Publication number
JP2001255867A
JP2001255867A JP2000386580A JP2000386580A JP2001255867A JP 2001255867 A JP2001255867 A JP 2001255867A JP 2000386580 A JP2000386580 A JP 2000386580A JP 2000386580 A JP2000386580 A JP 2000386580A JP 2001255867 A JP2001255867 A JP 2001255867A
Authority
JP
Japan
Prior art keywords
font
function
address
character string
access information
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
JP2000386580A
Other languages
English (en)
Inventor
Masahiro Muikaichi
正弘 六日市
Kenji Izumi
憲司 泉
Satoshi Tsujimura
敏 辻村
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000386580A priority Critical patent/JP2001255867A/ja
Publication of JP2001255867A publication Critical patent/JP2001255867A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 任意のデータ構造のフォントデータを有効活
用して各種処理を行う文字列描画装置を提供する。 【解決手段】 フォントデータ格納部220は任意のデ
ータ構造のフォントデータを記憶し、フォント処理関数
格納部210はフォントデータを利用する各種のフォン
ト処理関数、例えばラスタライザ初期設定用関数、グリ
フ別メトリクス情報取得関数等を記憶する。文字描画シ
ステム100は、AP200から各種のフォント処理関
数のアドレス群とフォントデータのアドレスとを含むフ
ォントアクセス情報を取得し、このフォントアクセス情
報を識別するためのフォントIDをAPに与える。AP
が文字列描画に関連する処理、例えば文字列の幅や高さ
の取得等をフォントIDを指定して文字列描画システム
に対して要求すると、フォントIDに対応するフォント
アクセス情報に基づきアドレスが特定されるフォント処
理関数を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字列描画装置に
関し、特に、フォントデータを用いて、アプリケーショ
ンプログラムの要求に応じて、文字列の描画や描画に関
連する処理を行う文字列描画装置に関する。
【0002】
【従来の技術】近年、フォント関連技術の進展により、
ビットマップフォントのみならず、任意のサイズの文字
を高い品質で描画可能にするアウトラインフォント等が
供給されるようになり、また様々な書体のフォントが供
給されるようになっている。これに対応して、デジタル
テレビ、パソコン、プリンタ等は、各種書体の各種フォ
ントを使用することにより文字を多彩な表現方法で描画
する機能を有するようになっている。
【0003】従来、パソコン等においては、オペレーテ
ィングシステム(OS)が各種アプリケーションプログ
ラム(AP)に対して、文字列の描画機能を提供してい
る。APが文字列及びフォントを指定して文字列描画を
要求すると、これを受けてOSは、そのフォントのフォ
ントデータにアクセスすることにより、その文字列中の
各文字に対応するグリフのイメージ即ちドットパターン
(以下、「フォントパターン」という。)を取得してそ
のフォントパターンを画面等に描画する。ここで、フォ
ントデータとは、例えば各グリフの形状を示す情報等を
含み、フォントを利用するために必要となる情報であ
る。
【0004】なお、従来のOSは、予め規定された特定
のデータフォーマット即ち特定のデータ構造で作成され
たフォントデータに対してアクセスしてフォントパター
ンを取得する機能を有している。従って、各フォントデ
ータは、あるOSにおいて用いられるためにはそのOS
がアクセス可能なその特定のデータ構造に則して作成さ
れている必要がある。
【0005】これに対し、フォントデータの製造におけ
る自由度を高めるべく、任意のデータ構造を有する複数
のフォントデータを扱うことのできる文書出力装置(日
本国特許公開公報:特開平6−110888号)が提案
されている。この文書出力装置は、上述のOSの文字列
描画機能の実行部に相当し、特に、フォントと、そのフ
ォントに対応するフォントデータと、そのフォントデー
タを展開してフォントパターンを生成するフォントパタ
ーン展開プログラムとを対応付けるテーブルを保持して
いる。この文書出力装置は、外部から文字出力命令を受
けるとその保持しているテーブルを参照することによ
り、その文字出力命令に付随して指定されたフォントに
対応するフォントパターン展開プログラムとフォントデ
ータとを特定し、特定したフォントパターン展開プログ
ラムを用いて特定したフォントデータからフォントパタ
ーンを生成し、生成したフォントパターンを描画専用装
置に渡して描画させる機能を有する。
【0006】
【発明が解決しようとする課題】ところで、フォントに
は文字毎に文字幅の異なるプロポーショナルフォントが
ある。APがプロポーショナルフォントを使用して文字
列を描画する場合について考えてみると、APは描画対
象の文字列の文字幅を知ってそれを文字装飾や文字の背
景の描画制御等に利用することができるならば、文字を
より多彩な表現方法で描画できるようになる。
【0007】また、アウトラインフォントでは、文字を
形成するアウトライン情報即ち文字を構成する線の座標
データ等を、ラスタライズして描画用のフォントパター
ンを作成する必要があるが、このラスタライズを専用の
ハードウェアであるラスタライザに行わせることができ
るならば描画の高速化を図ることができるようになる。
【0008】従って、OSには多種多様なフォントをそ
の性質に応じて十分に有効活用するための機能を有する
ことが求められる。しかしながら、上述の文書出力装置
では、フォントデータからフォントパターンを生成する
ことができるのみであり、文字幅を得ることやラスタラ
イザを制御すること等ができず不十分である。
【0009】そこで、本発明はかかる問題に鑑みてなさ
れたものであり、本発明は任意のデータ構造のフォント
データを使用して文字列の描画を行い、描画以外にフォ
ントの性質等に応じてフォントを有効活用するための各
種処理を行う文字列描画装置を提供することを目的とす
る。
【0010】
【課題を解決するための手段】上記課題を解決するため
に、本発明に係る文字列描画装置は、フォントデータ
と、フォントデータの利用に関連する処理を内容とする
複数のフォント処理関数とを記憶している記憶手段と、
アプリケーションプログラムから複数のフォント処理関
数のアドレス群を含むフォントアクセス情報を取得する
フォントアクセス情報取得手段と、アプリケーションプ
ログラムから文字列の描画に関連する処理の実行要求を
受け付ける要求受付手段と、前記要求受付手段により要
求が受け付けられた場合に当該要求に対応するフォント
処理関数のアドレスを前記フォントアクセス情報に基づ
いて特定して当該フォント処理関数を実行するフォント
処理関数実行手段とを備えることを特徴とする。
【0011】これにより、文字列描画装置は、フォント
パターンを取得する関数のみならず複数のフォント処理
関数についての複数のアドレス群を含むフォントアクセ
ス情報をAPが指定しておいた場合に、そのアドレス群
で特定されるフォント処理関数群を用いてAPからの文
字列の描画に関する各種の処理要求、例えば文字列の幅
の問い合わせ等に応えることができるようになる。つま
り、フォントを有効活用するためにはフォントデータに
アクセスする等によりフォントに関連した処理を行う様
々なフォント処理関数が必要となり、これらのフォント
処理関数のアドレス群をAPから指定できるため、文字
列描画装置はその様々なフォント処理関数をAPからの
要求内容に応じて実行することができるようになる。な
お、この構成によれば、文字列描画装置は、APが使用
したいフォントに応じてどのようなフォント処理関数を
用いるかを判断する必要がない。
【0012】
【発明の実施の形態】以下、本発明の実施の形態に係る
文字描画システムについて図面を用いて説明する。 <構成>図1は、本発明の実施の形態に係る文字描画シ
ステムの機能構成を示す図である。
【0013】同図には、文字描画システム100に加え
て、文字描画システム100と密接に関連するAP群、
フォント処理関数格納部210及びフォントデータ格納
部220を示している。これらAP群及び文字描画シス
テム100は、ハードウェア面においては例えばデジタ
ルテレビの一部に含まれるCPU及びメモリにより実現
される。また、フォント処理関数格納部210及びフォ
ントデータ格納部220はそれぞれそのメモリの一領域
である。
【0014】文字描画システム100は、OSの一部を
構成するものであり、フォント処理関数格納部210に
格納されたフォントの利用に必要な処理を内容とする各
種の関数(以下、「フォントライブラリ関数」とい
う。)を実行することにより、AP200等の複数のA
Pそれぞれからの要求に応じて文字描画に関連した動作
を行う。
【0015】なお、フォントライブラリ関数は、初期化
関数、文字コード変換関数、共通メトリクス情報取得関
数、文字別メトリクス情報取得関数及びフォントパター
ン取得関数に区別される。文字描画システム100は、
APからの要求に応じてフォント登録処理、フォント削
除処理、描画処理、高さ取得処理、幅取得処理又はアド
レス取得処理を実行する。APは予め定められているA
Pインタフェース(API)に従ってAPI関数を呼び
出すことにより、文字描画システム100に対する動作
要求を行う。なお、各処理の具体的内容については後に
説明する。
【0016】文字描画システム100は、機能面からみ
ると同図に示すようにフォントアクセス情報取得部10
1、識別子管理部102、フォントアクセス情報格納部
103、フォント初期化部104、フォントアクセス情
報削除部105、描画部106、高さ取得部107、幅
取得部108及びアドレス管理部109を備える。ここ
で、フォントアクセス情報取得部101は、APからフ
ォント登録処理が要求された場合にAPからフォントデ
ータ及びフォントライブラリ関数のアドレスの集合であ
るフォントアクセス情報を取得してこれをフォントアク
セス情報格納部103に格納するとともに識別子管理部
102にフォントIDの付与を要求し、また、フォント
アクセス情報に基づき初期化関数の実行が必要か判断し
必要であればフォント初期化部104にその旨を伝える
機能を有する。
【0017】フォントアクセス情報削除部105は、A
PからフォントIDを指定してフォント削除処理が要求
された場合にそのフォントIDに対応するフォントアク
セス情報をフォントアクセス情報格納部103から削除
し、識別子管理部102に対してそのフォントIDの解
放を通知する。識別子管理部102は、フォントアクセ
ス情報取得部101からフォントIDの付与の要求を受
けた場合に識別子であるフォントIDを1つ決定して、
フォントアクセス情報取得部101によりフォントアク
セス情報格納部103に格納されたフォントアクセス情
報にそのフォントIDを対応つけて格納するとともに、
そのフォントIDをAPに渡す機能を有し、また、フォ
ントアクセス情報削除部105からフォントIDの解放
の通知を受けた場合にはそのフォントIDをそれ以後付
与し得るものとして記憶する。なお、フォントIDは2
バイトの数値であり、識別子管理部102は基本的には
1、2、3のように、フォントIDの付与が要求される
毎に昇順に数値をフォントIDとして決定する。但し、
2バイトで表せる最大値に達した後は、フォントIDの
解放により付与し得るものとして記憶された数値を小さ
い順に、フォントIDの付与が要求される毎にフォント
IDとして決定する。つまり、識別子管理部102は、
複数のAPそれぞれからのフォントアクセス情報を識別
するためのフォントIDを各APに付与するものであ
る。
【0018】フォント初期化部104は、フォントアク
セス情報取得部101から通知を受けるとフォントアク
セス情報を参照してフォントライブラリ関数のうちの初
期化関数のアドレスを得てその初期化関数を実行する機
能を有する。描画部106は、APから描画処理が要求
された場合に、フォントアクセス情報を参照してアドレ
スを得てフォントライブラリ関数を実行して、文字列を
キャンバスに描画する機能を有する。なお、キャンバス
とは、論理的な2次元座標空間がマッピングされ左上を
原点とする矩形領域であり、キャンバスに描画された文
字列は、従来同様、OSやデバイスドライバによる処理
を得て最終的には例えばデジタルテレビにおけるテレビ
画面に表示されることになる。
【0019】高さ取得部107は、APから高さ取得処
理が要求された場合に、フォントアクセス情報を参照し
てアドレスを得てフォントライブラリ関数を実行するこ
とにより、文字のアセントとディセントとを取得してこ
れらに基づきフォントの高さをAPに渡す機能を有す
る。また、幅取得部108は、APから幅取得処理が要
求された場合に、フォントアクセス情報を参照してアド
レスを得てフォントライブラリ関数を実行し文字列の幅
を計算してAPに渡す機能を有する。
【0020】また、アドレス管理部109は、フォント
処理関数格納部210に格納されているフォントライブ
ラリ関数や、フォントデータ格納部220に格納されて
いるフォントデータそれぞれのアドレスをその関数名或
いはフォント名と対応付けて保持しており、APから関
数名又はフォント名を指定してアドレス取得処理が要求
された場合に対応するアドレスをAPに返却する機能を
有する。なお、文字描画システム100は、フォントラ
イブラリ関数やフォントデータを外部ネットワークから
ダウンロードし或いは記録媒体から読み出して、それぞ
れフォント処理関数格納部210やフォントデータ格納
部220に格納する機能をも有し、その格納の際にアド
レス管理部109は、各フォントライブラリ関数及び各
フォントデータのアドレスがそれぞれ関数名、フォント
名と対応付けて保持する。ここで、関数名及びフォント
名は、そのファイル名のことである。
【0021】図2は、フォントアクセス情報格納部10
3、フォント処理関数格納部210及びフォントデータ
格納部220の内容例を示す図である。同図に示すよう
に、フォントアクセス情報格納部103には、フォント
IDと対応付けられたフォントアクセス情報が格納され
ている。この同図に示すフォントアクセス情報は、AP
からフォント登録処理が要求され渡されたフォントアク
セス情報をフォントアクセス情報取得部101がコピー
して格納したものである。
【0022】フォントアクセス情報300は、初期化関
数アドレス301と文字コード変換関数アドレス302
と共通メトリクス情報取得関数アドレス303と文字別
メトリクス情報取得関数アドレス304とフォントパタ
ーン取得関数アドレス305とフォントデータアドレス
306とから構成され、同図の内容例では「1」という
フォントIDと対応付けられている。
【0023】なお、同図に示すように、フォントデータ
はフォントデータ格納部220に複数格納され得るもの
であり、各フォントデータはそれぞれ同様の書体で表さ
れたグリフ群を特定するための情報群とグリフの属性に
関する情報等からなる。また、初期化関数、フォントパ
ターン取得関数等のフォントライブラリ関数群は、各フ
ォントデータに対応して存在する。但し、同様のデータ
構造を有する複数のフォントデータについては1つの初
期化関数やフォントパターン取得関数等が対応付けられ
ていてもよい。つまり、フォントデータが同様のデータ
構造を有する場合にはフォントライブラリ関数を共用し
てもよい。 <APインタフェース>以下、APから呼ばれることと
なる文字描画システム100のAPI関数について説明
する。
【0024】図3は、文字描画システム100がAPに
対して提供するAPI関数の入出力パラメータを示す図
である。実際には各パラメータのサイズ等のフォーマッ
トが予め定められており、各パラメータは引数や戻り値
等の予め定められた形態でAPと文字描画システムとの
間で伝達される。
【0025】RegisterFont関数401は、
フォント登録処理を要求する際にAPから呼び出される
関数であり、その入力パラメータは図2に示した構造の
フォントアクセス情報であり出力パラメータはフォント
IDである。従って、APは、文字描画システム100
を介して利用できるフォントライブラリ関数やフォント
データのアドレスを指定してフォント登録処理を要求し
なければならない。予めAPが使用する予定のフォント
ライブラリ関数及びフォントデータのアドレスが設計事
項として定められていた場合には、フォント登録処理を
要求する際にその定められているアドレスを指定すれば
よいが、ダウンロードされたフォントデータ等において
はGetFontAddr関数406によりそのアドレ
スを得てから指定する必要がある。なお、APは、描画
処理、高さ取得処理又は幅取得処理を要求する前に必ず
フォント登録処理を行わなければならない。
【0026】DeleteFont関数402は、フォ
ント削除処理を要求する際にAPから呼び出される関数
であり、その入力パラメータはフォントIDであり、出
力パラメータはない。DrawText関数403は、
描画処理を要求する際にAPから呼び出される関数であ
り、その入力パラメータは、描画対象キャンバスID、
テキストコンテキストID、描画開始座標(x,y)、
文字列及び文字列長であり、出力パラメータはなく、横
1行に文字列を描画する動作を行う。
【0027】ここで、描画対象キャンバスIDは、複数
のキャンバスから現在文字列描画の対象とするキャンバ
スを特定するための識別子である。描画開始座標は文字
列が描かれるべき矩形の左上の点のキャンバスにおける
2次元座標である。文字列は描画対象となる文字の文字
コード列であり、そのコート列のコード体系は例えばA
SCII等と予め定められている。文字列長は、文字コ
ード列のバイト長である。また、テキストコンテキスト
IDは、文字列を描画するために必要となる詳細なパラ
メータ群であるテキストコンテキストを識別するための
識別子であり、APはテキストコンテキストを作成する
API関数(図示せず)を実行してそのテキストコンテ
キストIDを得ることができる。なお、テキストコンテ
キストの内容については後に説明する。
【0028】GetTextHeight関数404
は、高さ取得処理を要求する際にAPから呼び出される
関数であり、その入力パラメータは、テキストコンテキ
ストIDであり、出力パラメータはフォントについての
高さである。GetTextWidth関数405は、
幅取得処理を要求する際にAPから呼び出される関数で
あり、その入力パラメータは、テキストコンテキストI
Dと文字列と文字列長とであり、出力パラメータは文字
列幅である。
【0029】また、GetFontAddr関数406
は、フォントライブラリ関数又はフォントデータのアド
レス取得を要求する際にAPから呼び出される関数であ
り、その入力パラメータは、フォントライブラリ関数名
又はフォントデータ名であり、出力パラメータはフォン
トライブラリ関数又はフォントデータのアドレスであ
る。
【0030】図4は、テキストコンテキストの内容を示
す図である。同図中のテキスト色は、文字列を描画する
際に用いる色である。下線有無フラグは文字列に下線を
付するか否かの別を示すフラグであり、枠有無フラグ
は、文字列に矩形枠を付するか否かの別を示すフラグで
あり、ふちどり有無フラグは、文字列をふちどりするか
否かの別を示すフラグであり、背景有無フラグは、文字
列に固定的な背景を付加するか又は文字列が描画された
部分に位置する背景の画像をそのまま透過させて表示す
るかの別を示すフラグであり、太字/細字フラグは文字
列を太字とするか細字とするかの別を示すフラグであ
る。フォントサイズは、文字のサイズでありその単位は
例えばポイントである。また同図に示すフォントID
は、上述したようにAPがフォント登録処理を要求した
際に識別子管理部102から付与されるフォントIDで
ある。 <フォントライブラリ関数インタフェース>以下、フォ
ントライブラリ関数について説明する。
【0031】図5は、文字描画システム100が呼び出
すフォントライブラリ関数についての入出力パラメータ
を示す図である。同図には、フォントライブラリ関数の
種別毎にその入出力パラメータを示している。実際には
各パラメータのサイズ等のフォーマットが予め定められ
ており、各パラメータは引数や戻り値等の予め定められ
た形態で文字描画システムとフォントライブラリ関数と
の間で伝達される。
【0032】各種別のフォントライブラリ関数は基本的
にはフォントデータの製造者等が作成することが想定さ
れたものであり、このフォントライブラリ関数を作成す
る者は同図に示すような予め定められたインタフェース
を満たすようにフォントライブラリ関数を作成しなけれ
ばならない。初期化関数501については入出力パラメ
ータがない。なお、初期化関数は、フォントの使用前に
1度呼び出される性質をもつものと定められた関数であ
り、アウトラインフォント等においてフォントパターン
の展開に使用するラスタライザの初期設定のための処理
を内容とする関数である。フォントライブラリ関数を作
成する者は、ラスタライザを使用する必要がないフォン
トに関してはこの初期化関数を作成する必要はない。
【0033】文字コード変換関数502についての入力
パラメータは文字列と文字列長とであり、その出力パラ
メータは内部コード列と内部コード列長とである。ここ
で、文字列は文字コード列であり、文字列長はその文字
コード列のバイト長である。また、内部コード列は文字
コードをフォントデータにアクセスし易いような形式に
変換した結果でありグリフを特定するための2バイトの
識別コードである内部コードの列であり、内部コード列
長は内部コード列のバイト長である。例えば、フォント
ライブラリ関数の作成者は、入力された文字コードに対
応するグリフの特徴を示すメトリクス情報とフォントパ
ターンの所在を示すフォントデータ内アドレスを内部コ
ードと定めてもよい。但しフォントライブラリ関数の作
成者は、文字別メトリクス情報取得関数504及びフォ
ントパターン取得関数505を、その内部コードに基づ
いて特定されるグリフについての特徴であるメトリクス
情報とフォントパターンとを取得できるような関数とし
て作成する必要がある。
【0034】共通メトリクス情報取得関数503につい
ての入力パラメータはフォントデータアドレスとフォン
トサイズとであり、その出力パラメータはフォント全体
の特徴を示すアセントとディセントと平均幅とである。
ここで、フォントデータアドレスは、共通メトリクス情
報の取得対象となるフォントデータのフォントデータ格
納部220におけるメモリアドレスであり、フォントサ
イズは、フォントを描画する際のサイズでありその単位
は例えばポイントである。また、平均幅は全グリフの平
均的な幅であり、固定ピッチのフォントにおいてはあら
ゆるグリフの幅を意味するものとなるデータである。な
お、プロポーショナルフォントにおいては全グリフの幅
が一定ではないため次の文字別メトリクス情報取得関数
504が有用となる。
【0035】文字別メトリクス情報取得関数504につ
いての入力パラメータはフォントデータアドレスとフォ
ントサイズと内部コードとであり、その出力パラメータ
は文字幅である。ここで、文字幅とは内部コードで特定
されるグリフの幅をいう。ここで、グリフの幅とは、あ
るグリフ自体の最大幅であり、グリフの周りに余白を含
めたものの幅ではない。なお、固定ピッチのフォントに
関してはこの文字別メトリクス情報取得関数は作成され
る必要がない。
【0036】フォントパターン取得関数505について
の入力パラメータはフォントデータアドレスとフォント
サイズと内部コードとであり、その出力パラメータはフ
ォントパターンアドレスとフォントパターン幅とフォン
トパターン高さである。フォントパターン取得関数は、
グリフのフォントパターンを取り出してメモリの一領域
に格納した後にその格納したフォントパターンのメモリ
アドレスをフォントパターンアドレスとして出力する。
フォントパターン取得関数は、そのメモリに格納したフ
ォントパターンについてはフォントパターン取得関数が
再度呼び出されるまで内容を保持するような処理構造と
されなければならない。アウトラインフォントに対応す
るフォントパターン取得関数ではハードウェアのラスタ
ライザを使用してフォントパターンを高速に生成する処
理構成としてもよい。
【0037】また、フォントパターン取得関数505に
ついての出力パラメータにおけるフォントパターン幅
は、グリフを包含した矩形のドットパターンであり描画
に用いられるものであるフォントパターンについての水
平方向のピクセル数であり、フォントパターン高さはフ
ォントパターンの垂直方向のピクセル値である。なお、
フォントパターンのデータ形式は予め一定の形式に定め
られており、例えばビットマップ形式である。 <フォントデータ>以下、フォントデータのデータ構造
について、フォントデータA〜Cを例に用いて説明す
る。
【0038】図6〜図8は、フォントデータ格納部22
0に格納されるフォントデータA〜Cのデータ構造を示
す図である。フォントデータAは、ある種の固定ピッチ
のビットマップフォントであり、共通メトリクス情報
と、各グリフについてのフォントパターン群とから構成
される。
【0039】フォントデータBは、ある種のプロポーシ
ョナルフォントであるビットマップフォントであり、共
通メトリクス情報と、グリフ毎のメトリクス情報のアド
レスとフォントパターンアドレスとの組の集合であるア
ドレス情報群と、グリフ毎のメトリクス情報の集合であ
る文字別メトリクス情報群と、グリフ毎のフォントパタ
ーンの集合であるフォントパターン群とから構成され
る。
【0040】フォントデータCは、ある種のプロポーシ
ョナルフォントであるアウトラインフォントであり、共
通メトリクス情報と、アドレス情報群と、文字別メトリ
クス情報群と、グリフ毎の文字を構成する線の座標デー
タやプログラム等のラスタライズ用の情報の集合である
ラスタライズ用データ群とから構成される。上述の文字
コード変換関数は、その出力パラメータを構成する内部
コードを、例えば文字「a」、「c」に対してであれば
図6〜図8中におけるアドレスA1、A2と定めるもの
であってもよい。なお、文字別メトリクス情報取得関数
及びフォントパターン取得関数が内部コードをキーとし
て文字別メトリクス情報或いはフォントパターンの取得
を行うように構成されることを前提とし、文字コード変
換関数は、フォントデータのデータ構造に応じて各グリ
フに関連した情報へのアクセスを迅速化するために有用
な内部コードに文字コードを変換する意義を有する。
【0041】このようなフォントデータA〜Cやまたそ
の他のデータ構造を有するフォントデータがフォントデ
ータ格納部220に格納されている。なお、各フォント
データの製造者等はフォントデータのデータ構造に応じ
て上述したフォントライブラリ関数を作成して供給し、
その供給されたフォントライブラリ関数がフォント処理
関数格納部210に格納されている。 <動作>以下、上述の構成を備える文字描画システム1
00がAPから上述のAPI関数により各種の処理を要
求された場合に行う動作について、フォント登録処理、
描画処理、高さ取得処理、幅取得処理、削除処理の順に
説明する。なお、APは既にテキストコンテキストを作
成してOSからテキストコンテキストIDを取得してい
るものとする。
【0042】まず、フォント登録処理について説明す
る。図9は、フォント登録処理を示すフローチャートで
ある。APはフォントを用いて文字列を描画する場合に
最初に一度RegisterFont関数を実行しなけ
ればならない。APからRegisterFont関数
が呼び出されると、同図に示すようにまずフォントアク
セス情報取得部101が、その関数の入力パラメータで
あるフォントアクセス情報をAPから取得し、フォント
アクセス情報格納部103に格納し(ステップS1
1)、識別子管理部102にフォントIDの付与を要求
する。
【0043】なお、APはRegisterFont関
数の入力パラメータであるフォントアクセス情報中の初
期化関数アドレスと文字別メトリクス情報取得関数アド
レスとについてはNULLにしておいてもよい。即ち、
APは、描画に使用するフォントがビットマップフォン
ト等、ラスタライザを使用しないフォントであって初期
化関数の実行が不要である場合には初期化関数アドレス
をNULLとしておけばよく、描画に使用するフォント
が固定ピッチのフォントである場合には文字別メトリク
ス情報取得関数アドレスをNULLとしておけばよい。
【0044】フォントIDの付与を要求されると識別子
管理部102は、既に付与済みでない1つのフォントI
Dを決定する(ステップS12)。フォントIDを決定
した後、識別子管理部102は、ステップS11でフォ
ントアクセス情報格納部103に格納したフォントアク
セス情報にその決定したフォントIDを対応付けて格納
する(ステップS13)。
【0045】フォントIDがフォントアクセス情報格納
部103に格納された後、フォントアクセス情報取得部
101は、取得したフォントアクセス情報のうち初期化
関数アドレスがNULLであるか判定し(ステップS1
4)、NULLでなければフォント初期化部104がそ
の初期化関数アドレスが示す初期化関数を実行する(ス
テップS15)。なお、初期化関数アドレスがNULL
であればステップS15はスキップされる。
【0046】従って、APによる登録処理の要求は、初
期化関数アドレスをNULL以外にした場合においては
初期化関数の実行要求の意味、即ちラスタライザの初期
設定要求等の意味をも持つことになる。ステップS15
の後に、識別子管理部102はフォントIDをAPに渡
し(ステップS16)、これによりフォント登録処理が
終了する。
【0047】次に、描画処理について説明する。図10
は、描画処理を示すフローチャートである。文字列の描
画をするDrawText関数がAPから呼び出される
と、描画部106は、その関数の入力パラメータを取得
する(ステップS21)。これにより、文字列等が取得
される。続いて、描画部106はその入力パラメータの
テキストコンテキストIDで示されるテキストコンテキ
スト内のフォントIDに基づいて、フォントアクセス情
報格納部103内のそのフォントIDに対応するフォン
トアクセス情報に着目する(ステップS22)。
【0048】続いて描画部106は、その着目したフォ
ントアクセス情報中の文字コード変換関数アドレスが示
す文字コード変換関数を、ステップS21により取得し
た文字列を渡して実行し、その実行結果として内部コー
ド列を得る(ステップS23)。ステップS23の後に
描画部106は、着目したフォントアクセス情報中の共
通メトリクス情報取得関数アドレスが示す共通メトリク
ス情報取得関数を、フォントアクセス情報中のフォント
データアドレスとテキストコンテキスト内のフォントサ
イズとを渡して実行し、その実行結果としてアセントと
ディセントと平均幅とを得る(ステップS24)。
【0049】続いて描画部106は、着目したフォント
アクセス情報中の文字別メトリクス情報取得関数アドレ
スがNULL以外かを判定する(ステップS25)。ス
テップS25においてNULL以外であれば、描画部1
06は、DrawText関数の入力パラメータである
テキストコンテキストIDで特定できるテキストコンテ
キスト内のフォントサイズと、着目しているフォントア
クセス情報中のフォントデータアドレスと、ステップS
23で得た内部コード列を構成する内部コードとを渡し
て、文字別メトリクス情報取得関数アドレスが示す文字
別メトリクス情報取得関数を実行して文字幅を得ること
により、文字列中の各文字の描画位置を計算する(ステ
ップS26)。つまり、内部コード列から2バイトの内
部コード毎に文字別メトリクス情報取得関数を実行し各
文字の文字幅を得ることにより、文字列中の各文字の描
画位置を計算する(ステップS26)。
【0050】また、ステップS25においてNULLで
あれば、描画部106は、ステップS24において得た
平均幅を用いて文字列中の各文字の描画位置を計算する
(ステップS27)。 ステップS26又はステップS
27の後に描画部106は、ステップS26と同様にフ
ォントサイズとフォントデータアドレスと内部コードと
を渡して、着目したフォントアクセス情報中のフォント
パターン取得関数アドレスが示すフォントパターン取得
関数を実行しフォントパターンを取得する(ステップS
28)。即ち、内部コード列から2バイトの内部コード
毎にフォントパターン取得関数を実行し各文字のフォン
トパターンを得る。
【0051】ステップS28によりフォントパターンを
得た描画部106は、DrawText関数の入力パラ
メータである描画対象キャンバスIDで特定されるキャ
ンバス中の描画開始座標で示される点を左上として横一
行に文字列に相当するフォントパターン群を描画し(ス
テップS29)、描画処理を終了する。このとき、描画
されるフォントパターン群はテキストコンテキストに示
されたテキスト色や下線有無フラグその他の属性により
装飾された結果のものである。つまり、ステップS29
では、APから渡された文字列をAPに指定されたフォ
ント及び属性で描画する。なお、ステップS24で得ら
れたアセントとディセントは合計され、フォントパター
ン群に背景を付加する場合にその背景を付加する矩形領
域の高さを得るために用いられる。
【0052】次に、高さ取得処理について説明する。図
11は、高さ取得処理を示すフローチャートである。文
字列の行間距離の調整等を行うためにAPは文字列が描
画される場合における文字列の高さに関する情報を必要
とし、このためAPは文字列の高さを取得するGetT
extHeight関数を呼び出す。
【0053】GetTextHeight関数がAPか
ら呼び出されると、高さ取得部107は、その関数の入
力パラメータを取得する(ステップS31)。これによ
り、テキストコンテキストIDが取得され、そのテキス
トコンテキストIDにより特定されるテキストコンテキ
スト内のフォントIDが取得できるようになる。続い
て、高さ取得部107はそのフォントIDに基づいて、
フォントアクセス情報格納部103内のそのフォントI
Dに対応するフォントアクセス情報に着目する(ステッ
プS32)。
【0054】続いて高さ取得部107は、その着目した
フォントアクセス情報中の共通メトリクス情報取得関数
アドレスが示す共通メトリクス情報取得関数を、フォン
トアクセス情報中のフォントデータアドレスとテキスト
コンテキスト内のフォントサイズとを渡して実行し、そ
の実行結果としてアセントとディセントを得る(ステッ
プS33)。
【0055】続いて高さ取得部107は、アセントとデ
ィセントを合計することによりフォントの高さ即ち文字
列を描画した場合における文字列の高さを計算し(ステ
ップS34)、その高さをAPに渡し(ステップS3
5)、高さ取得処理を終了する。続いて、幅取得処理に
ついて説明する。
【0056】図12は、幅取得処理を示すフローチャー
トである。キャンバスにおける再描画範囲を得る等のた
めにAPは文字列が描画される場合における文字列の幅
に関する情報を必要とし、このためAPは文字列の幅を
取得するGetTextWidth関数を呼び出す。G
etTextWidth関数がAPから呼び出される
と、幅取得部108は、その関数の入力パラメータを取
得する(ステップS41)。これにより、文字列等が取
得される。続いて、幅取得部108はその入力パラメー
タのテキストコンテキストIDで示されるテキストコン
テキスト内のフォントIDに基づいて、フォントアクセ
ス情報格納部103内のそのフォントIDに対応するフ
ォントアクセス情報に着目する(ステップS42)。
【0057】続いて幅取得部108は、その着目したフ
ォントアクセス情報中の文字別メトリクス情報取得関数
アドレスがNULL以外か否かを判定し(ステップS4
3)、NULL以外であれば、フォントアクセス情報中
の文字コード変換関数アドレスが示す文字コード変換関
数を、ステップS41により取得した文字列を渡して実
行し、その実行結果として内部コード列を得る(ステッ
プS44)。
【0058】内部コード列を得た後、幅取得部108
は、フォントアクセス情報中の文字別メトリクス情報取
得関数アドレスが示す文字別メトリクス情報取得関数
を、フォントアクセス情報中のフォントデータアドレス
とテキストコンテキスト内のフォントサイズと内部コー
ドとを渡して実行し、実行結果として文字幅を得ること
により、文字列の幅を計算する(ステップS45)。即
ち、内部コード列から2バイトの内部コード毎に文字別
メトリクス情報取得関数を実行し各文字の文字幅を得
て、合計し、文字列全体の幅を得る。
【0059】また、ステップS43においてアドレスが
NULLであった場合には、幅取得部108は、着目し
ているフォントアクセス情報中の共通メトリクス情報取
得関数アドレスが示す共通メトリクス情報取得関数を、
フォントアクセス情報中のフォントデータアドレスとテ
キストコンテキスト内のフォントサイズとを渡して実行
し、その実行結果として平均幅を得て、平均幅を文字分
だけ積算して文字列全体の幅を得る(ステップS4
6)。
【0060】ステップS45又はステップS46の後
に、幅取得部108は、計算した結果の文字列幅をAP
に渡し(ステップS47)、幅取得処理を終了する。最
後にフォント削除処理について説明する。図13は、フ
ォント削除処理を示すフローチャートである。APはあ
るフォントを用いた文字列の描画が完了した後、そのフ
ォントを使用しなくなった時点でDeleteFont
関数を実行しなければならない。
【0061】DeleteFont関数がAPから呼び
出されると、フォントアクセス情報削除部105は、そ
の関数の入力パラメータであるフォントIDを取得する
(ステップS51)。フォントIDを取得すると、フォ
ントアクセス情報削除部105は、そのフォントIDに
対応するフォントアクセス情報格納部103内のフォン
トアクセス情報を削除し(ステップS52)、フォント
IDの解放を識別子管理部102に通知し(ステップS
53)、フォント削除処理を終了する。なお、フォント
アクセス情報削除部105は、フォントアクセス情報の
削除とともにそれに対応付けていたフォントIDの情報
もフォントアクセス情報格納部103から削除する。ま
た、フォントIDの解放の通知を受けた識別子管理部1
02はそのフォントIDを解放する。つまり識別子管理
部102はそのフォントIDを再度付与可能な状態のも
のとして記憶する。
【0062】このような内容の各種処理を利用すること
により、APは文字列を指定したフォントで文字描画シ
ステムに描画させることができるようになる。なお、A
Pは複数のフォントを使い分けて複数の文字列を描画さ
せたい場合には、使用予定の各フォントについてフォン
トデータのアドレス等からなるフォントアクセス情報を
準備して文字描画システムにフォント登録処理を複数回
要求して複数のフォントIDを得て、以後はフォントI
Dにより各フォントを区別して描画処理等を要求すれば
よい。また、フォントサイズ毎にフォントデータが存在
するようなフォント、例えばビットマップフォント等を
使用する場合には、APは使用予定のフォントサイズに
対応するフォントデータのアドレスをフォントアクセス
情報に含めて文字描画システムにフォント登録処理の要
求を行う必要がある。<補足>以上、本発明に係る文字
列描画装置について、実施の形態である文字描画システ
ムに基づいて説明したが、本発明はこの実施の形態に限
られないことは勿論である。即ち、 (1)本実施の形態では、文字描画システムがアウトラ
インフォント等の可変サイズのフォントデータを扱える
こととしたが、文字描画システムが、一般的なビットマ
ップフォント等の固定サイズのフォントデータしか扱え
ないこととしてもよい。この場合には、フォントライブ
ラリ関数は入力パラメータにフォントサイズを含む必要
はなく、またAPから文字描画システムへのAPI関数
の入力パラメータにもフォントサイズを特定するための
情報を含ませる必要はなく、このため関数のインタフェ
ースが必要最小限の情報を入力パラメータにするように
変更することが可能である。なお、この場合、APは使
用したいサイズに応じたフォントデータ、例えば24ド
ットのビットマップフォントデータや32ドットのビッ
トマップフォントデータ等のアドレスをフォントアクセ
ス情報に含めてフォント登録処理を要求しさえすればよ
い。 (2)本実施の形態で示したフォントライブラリ関数や
API関数の入出力パラメータには、さらに他の情報を
含ませるように関数インタフェースを定義しても差し支
えない。例えば、どの関数についても、関数の処理が正
常に行われたか否かを示す情報を出力パラメータに追加
することとしてもよいし、文字別メトリクス情報取得関
数の出力パラメータに、カーニングに関する情報を含ま
せることと定めてもよい。
【0063】また、文字別メトリクス情報取得関数やフ
ォントパターン取得関数は内部コードの入力を受けるの
ではなく内部コード列を受けて、その列に対応して文字
幅やフォントパターンアドレス等の集合を配列として出
力することとしてもよい。また、文字描画システムがA
Pに対して提供する機能は、本実施の形態で示したもの
に限定されない。例えば、文字描画システムは、共通メ
トリクス情報取得関数及び文字別メトリクス関数を実行
して得た情報をまとめることによりフォントに関する各
種属性をAPに伝えるAPI関数を備えることとしても
よい。
【0064】また、共通メトリクス情報取得関数と文字
別メトリクス情報取得関数との処理内容をまとめた1つ
の関数(以下、「フォントメトリクス情報取得関数」と
いう。)を定義し、このフォントメトリクス情報取得関
数をフォントデータの製造者等が作成することとし、文
字描画システムからはこのフォントメトリクス情報取得
関数を、共通メトリクス情報取得関数及び文字別メトリ
クス情報取得関数の代わりに実行することとしてもよ
い。この場合には、フォントメトリクス情報取得関数は
フォント処理関数格納部210に格納される必要があ
り、またAPはフォント登録処理を要求する際に、フォ
ントアクセス情報にフォントメトリクス情報取得関数の
アドレスを含める必要がある。
【0065】また、あるフォントデータに関するフォン
トライブラリ関数群に初期化関数が含まれているか否か
や文字別メトリクス情報取得関数が含まれているか否か
を示す情報を出力パラメータとするフォントライブラリ
関数を追加することとし、APが文字描画システムを介
してその情報を入手できるようにしてもよい。なお、そ
の情報は例えばフォントがプロポーショナルフォントで
あるか否かやアウトラインフォントであるか否か等を示
すフォント種別情報であってもよい。
【0066】なお、本実施の形態で示したAPI関数の
関数名は一例にすぎず、いかなる名称であってもよい。 (3)本実施の形態で示した文字描画システムにおいて
は、APが処理対象の文字列を指定する場合のコードは
ASCIIコードによることとしたが、この他のコード
体系を使用することと予め定めておいてもよい。また、
コード体系を可変にし、APにコード体系を指定させる
こととしてもよい。コード体系が可変であることとした
場合には、文字コード変換関数の入力パラメータにはコ
ード体系の別を示す情報を追加するように関数インタフ
ェースを変更し、文字コード変換関数の処理内容を、入
力パラメータで指定されたコード体系に応じて文字コー
ド列を内部コード列に変換するように変更する必要があ
る。
【0067】ちなみに、ユニコードに対応するように作
成された文字コード変換関数では、入力された文字列
が、「0x0061」、「0x0062」、「0x00
65」、「0x0308」により表された“abё”で
あったとした場合に、出力する内部コード列は、3つの
内部コードから構成されるものとなる。ここで、文字
“ё”については、コンバイニングキャラクターによ
り、即ち2つの文字コードの結合により1つの字形が表
現されているため、文字“ё”を表す2つの文字コード
が1つの内部コードに変換される。
【0068】なお、本実施の形態では内部コードは2バ
イトであることとしたが、内部コードの大きさはこれに
限定されることない。 (4)本実施の形態で示した文字描画システムでは、フ
ォントライブラリ関数やフォントデータを外部ネットワ
ークからダウンロードし或いは記録媒体から読み出し
て、それぞれフォント処理関数格納部210やフォント
データ格納部220に格納する機能を有することとした
が、フォント処理関数格納部210及びフォントデータ
格納部220は、フォントライブラリ関数及びフォント
データが予め記録されているROMであることとし、文
字描画システムはダウンロードや記録媒体からの読み出
しの機能はもたないこととしてもよい。なお、そのRO
Mは任意に取り替え可能であることとしてもよい。 (5)本実施の形態で示したフォントアクセス情報格納
部103内のデータのデータ構造(図2参照)は、フォ
ントライブラリ関数のアドレス群及びフォントデータの
アドレスと、フォントIDとが対応付けられていさえす
ればどのようなデータ構造であっても差し支えない。 (6)本実施の形態に示したGetTextHeigh
t関数及びGetTextWidth関数は、テキスト
コンテキストに示された情報、例えば太字/細字等の別
等を反映して描画状態における文字列の高さや幅を求め
てAPに渡すようにしてもよい。 (7)本実施の形態におけるフォントパターン取得関数
の出力パラメータの1つであるフォントパターンアドレ
スを通じて得られるフォントパターンのデータ形式はビ
ットマップ形式であることとしたが、データ形式がこれ
に限定されることはなく、文字描画システムが予め定め
た特定のデータ形式であれば、どのようなデータ形式で
あってもよい。
【0069】また、本実施の形態におけるフォントパタ
ーン取得関数や文字別メトリクス情報取得関数の入力パ
ラメータには内部コードが含まれることとしたが、内部
コードの代わりに文字コードを入力パラメータに含ませ
ることとしてもよい。このように関数インタフェースを
定める場合には、文字コード変換関数は不要となり、フ
ォントアクセス情報から文字コード変換関数のアドレス
を除く必要がある。 (8)本実施の形態におけるフォントライブラリ関数
は、例えばフォントデータA専用のフォントデータ取得
関数get_font_data_A、フォントデータ
B専用のフォントデータ取得関数get_font_d
ata_B、フォントデータA専用の共通メトリクス情
報取得関数get_font_info_A等と、特定
の1つのフォントデータのみを処理するものとして構成
されていることとしてもよく、この場合においては、フ
ォントデータアドレスをフォントライブラリ関数の入力
パラメータに含ませないこととし、またフォントアクセ
ス情報はフォントデータのアドレスを含まないこととし
てもよい。 (9)本実施の形態における文字描画システムの処理手
順(図9〜図13に示した手順等)を、プログラム実行
機能を有する家電機器、汎用のコンピュータ等に実行さ
せるためのコンピュータプログラムを、記録媒体に記録
し又は各種通信路等を介して、流通させ頒布することも
できる。このような記録媒体には、ICカード、光ディ
スク、フレキシブルディスク、ROM等がある。流通、
頒布されたコンピュータプログラムは、家電機器、コン
ピュータ等にインストールされることにより利用に供さ
れ、家電機器、コンピュータ等は、当該コンピュータプ
ログラムを実行して、本実施の形態で示したような文字
描画システムを実現する。
【0070】
【発明の効果】以上の説明から明らかなように、本発明
に係る文字列描画装置は、フォントデータと、フォント
データの利用に関連する処理を内容とする複数のフォン
ト処理関数とを記憶している記憶手段と、アプリケーシ
ョンプログラムから複数のフォント処理関数のアドレス
群を含むフォントアクセス情報を取得するフォントアク
セス情報取得手段と、アプリケーションプログラムから
文字列の描画に関連する処理の実行要求を受け付ける要
求受付手段と、前記要求受付手段により要求が受け付け
られた場合に当該要求に対応するフォント処理関数のア
ドレスを前記フォントアクセス情報に基づいて特定して
当該フォント処理関数を実行するフォント処理関数実行
手段とを備えることを特徴とする。
【0071】これにより、文字列描画装置は、フォント
パターンを取得する関数のみならず複数のフォント処理
関数についての複数のアドレス群を含むフォントアクセ
ス情報をAPが指定しておいた場合に、そのアドレス群
で特定されるフォント処理関数群を用いてAPからの文
字列の描画に関する各種の処理要求、例えば文字列の幅
の問い合わせ等に応えることができるようになる。つま
り、フォントを有効活用するためにはフォントデータに
アクセスする等によりフォントに関連した処理を行う様
々なフォント処理関数が必要となり、これらのフォント
処理関数のアドレス群をAPから指定できるため、文字
列描画装置はその様々なフォント処理関数をAPからの
要求内容に応じて実行することができるようになる。な
お、この構成によれば、文字列描画装置は、APが使用
したいフォントに応じてどのようなフォント処理関数を
用いるかを判断する必要がない。
【0072】また、前記複数のフォント処理関数は複数
の関数種別に区分されるものであり、前記記憶手段は前
記複数の関数種別それぞれにつき1以上のフォント処理
関数を記憶しており、前記フォントアクセス情報は、前
記複数の関数種別それぞれにつき1つのフォント処理関
数の所在を示すアドレス情報を含み、前記フォントアク
セス情報取得手段は、アプリケーションプログラムから
フォントアクセス情報を取得する度に、当該フォントア
クセス情報を他のフォントアクセス情報から識別するた
めのフォントIDを定め、当該フォントアクセス情報と
当該フォントIDとを対応付けて保持し、当該フォント
IDをアプリケーションプログラムに渡し、前記要求受
付手段は、前記要求の受け付けに際してアプリケーショ
ンプログラムからフォントIDを取得し、前記フォント
処理関数実行手段は、前記要求受付手段が取得したフォ
ントIDに対応するフォントアクセス情報に基づいてフ
ォント処理関数のアドレスを特定して当該フォント処理
関数を実行することとしてもよい。
【0073】これにより、APはフォントIDを指定し
て文字列の描画に関する処理の要求を文字列描画装置に
対して行えば、文字列描画装置は、そのフォントIDで
特定されるフォント処理関数群を実行しその要求に応え
るので、APは指定するフォントIDを切り換えること
により、文字列毎に複数のフォントを切り換えて使用す
るようにして、文字列描画装置に文字列の描画を行わせ
ることができる。
【0074】また、前記関数種別には少なくとも、フォ
ントデータに基づいてフォントパターンを特定し当該フ
ォントパターンを取得するフォントパターン取得関数が
あり、前記フォントアクセス情報は、前記フォントパタ
ーン取得関数の前記記憶手段内におけるアドレスを内容
とするアドレス情報を含み、前記フォント処理関数実行
手段は、前記要求受付手段により文字列の描画要求が受
け付けられた場合に、フォントパターン取得関数のアド
レスを前記フォントアクセス情報に基づいて得て当該フ
ォントパターン取得関数を実行して描画対象の文字に対
応するフォントパターンを取得することにより文字列を
描画することとしてもよい。
【0075】これにより、フォントデータのデータ構造
がどのようなものであるかに拘わらず、APは、そのフ
ォントデータに対応したフォントパターン取得関数のア
ドレスをフォントアクセス情報に含めて文字列描画装置
に渡しておけば、その後に文字列の描画を要求して文字
列描画装置にそのフォントパターン取得関数を実行させ
フォントパターンを取得させて特定のフォントを使用し
た文字列の描画を行わせることが可能になる。
【0076】また、前記フォントデータは、複数のグリ
フについて共通な属性であって少なくともアセントとデ
ィセントとを含む属性を示す共通メトリクス情報を含
み、前記関数種別には、フォントデータにアクセスして
共通メトリクス情報を取得する共通メトリクス情報取得
関数があり、前記フォントアクセス情報は、前記共通メ
トリクス情報取得関数の前記記憶手段内におけるアドレ
スを内容とするアドレス情報を含み、前記フォント処理
関数実行手段は、前記要求受付手段が取得したフォント
IDに対応するフォントアクセス情報に基づいて共通メ
トリクス情報取得関数のアドレスを得て当該共通メトリ
クス情報取得関数を実行することとしてもよい。
【0077】これにより、フォントデータのデータ構造
がどのようなものであるかに拘わらず、APは、そのフ
ォントデータに対応した共通メトリクス情報取得関数の
アドレスをフォントアクセス情報に含めて文字列描画装
置に渡しておけば、その後にフォントの高さ等の返却を
要求して文字列描画装置にその共通メトリクス情報取得
関数を実行させて特定のフォントの各グリフに共通する
アセント、ディセント等の属性情報を得させて、これら
の属性情報に基づき定まるフォントの高さ等の情報を返
却させることが可能になる。
【0078】また、前記フォント処理関数実行手段は、
前記要求受付手段によりフォントの高さの取得要求が受
け付けられた場合に前記共通メトリクス情報取得関数を
実行してアセントとディセントとを取得して、当該アセ
ントとディセントとに基づいてフォントの高さを計算し
て計算結果をアプリケーションプログラムに渡すことと
してもよい。
【0079】これにより、APはフォントの高さを取得
することが可能になり、このフォントの高さに基づいて
例えば文字列の行間距離の調整等を行うことができるよ
うになる。また、前記フォントデータには、前記複数の
グリフそれぞれについて固有な属性であって少なくとも
グリフ幅を含む属性を示すグリフ別メトリクス情報を含
むものがあり、前記関数種別には、フォントデータにア
クセスしてグリフ別メトリクス情報を取得するグリフ別
メトリクス情報取得関数があり、前記フォントアクセス
情報は、前記グリフ別メトリクス情報取得関数のアドレ
ス情報を含み、当該グリフ別メトリクス情報取得関数の
アドレス情報は当該グリフ別メトリクス情報取得関数の
前記記憶手段内におけるアドレス又はNULL値を内容
とし、前記フォント処理関数実行手段は、前記要求受付
手段が取得したフォントIDに対応するフォントアクセ
ス情報に基づいてグリフ別メトリクス情報取得関数のア
ドレスを得ることができる場合には当該グリフ別メトリ
クス情報取得関数を実行することとしてもよい。
【0080】これにより、APはプロポーショナルフォ
ント等、グリフ毎に固有の性質を有するフォントを使用
する場合に、そのフォントについてのフォントデータの
データ構造がどのようなものであるかに拘わらず、AP
は、そのフォントデータに対応したグリフ別メトリクス
情報取得関数のアドレスをフォントアクセス情報に含め
て文字列描画装置に渡しておけば、その後に文字列の幅
等の返却を要求して文字列描画装置にそのグリフ別メト
リクス情報取得関数を実行させグリフ別の文字幅等の情
報を得させて、その情報に基づき文字列の幅等を返却さ
せることが可能になる。
【0081】また、前記共通メトリクス情報が示す属性
は、複数のグリフについての平均的な幅を含み、前記フ
ォント処理関数実行手段は、前記要求受付手段により文
字列の幅の取得要求が受け付けられた場合に前記要求受
付手段が取得したフォントIDに対応する前記フォント
アクセス情報中のグリフ別メトリクス情報取得関数のア
ドレス情報がNULL値か否かを判定し、NULL値で
あるときには前記共通メトリクス情報取得関数を実行し
てグリフについての平均的な幅を取得して当該平均的な
幅に基づいて文字列の幅を計算して計算結果をアプリケ
ーションプログラムに渡し、NULL値でないときには
前記グリフ別メトリクス情報取得関数を実行して、幅の
取得対象の文字に対応するグリフ幅を取得して、取得し
たグリフ幅に基づいて文字列の幅を計算して計算結果を
アプリケーションプログラムに渡すこととしてもよい。
【0082】これにより、APは、プロポーショナルフ
ォントを使用する場合にはフォントアクセス情報中のグ
リフ別メトリクス情報取得関数のアドレス情報に当該関
数のアドレスを設定し、固定ピッチのフォントを使用す
る場合にはグリフ別メトリクス情報取得関数のアドレス
情報にNULL値を設定して文字列描画装置に渡してお
けば、その後に文字列の幅の返却を文字列描画装置に要
求してその文字列の幅を得ることが可能になり、この文
字列の幅に基づいて再描画すべき範囲を決定すること等
ができるようになる。
【0083】また、前記関数種別には、文字コード列を
入力されると当該文字コード列に対応する内部コード列
を出力する文字コード変換関数があり、前記フォントパ
ターン取得関数は、内部コードが入力されると当該内部
コードに基づいて特定されるグリフについてのフォント
パターンを出力する関数であり、前記フォントアクセス
情報は、前記文字コード変換関数の前記記憶手段内にお
けるアドレスを内容とするアドレス情報を含み、前記フ
ォント処理関数実行手段は、前記要求受付手段により文
字列の描画要求が受け付けられた場合に、描画対象の文
字列を示す文字コード列をアプリケーションプログラム
から取得して当該文字コード列を入力して文字コード変
換関数を実行することにより内部コードの列を得て、当
該各内部コードを入力してフォントパターン取得関数を
実行することにより描画対象の各文字に対するフォント
パターンを取得することとしてもよい。
【0084】これにより、文字コードとは別にフォント
データへのアクセスを高速化するために工夫したコード
体系とすることが可能な内部コードを入力として、文字
列描画装置はフォントパターン取得関数を実行すること
ができるので、文字列の描画を高速化できるようになる
可能性が高まる。また、前記フォントアクセス情報は、
フォントデータの前記記憶手段内におけるアドレスを内
容とするアドレス情報を含み、前記フォントパターン取
得関数は、フォントデータのアドレスが入力されると、
当該アドレスにより特定されるフォントデータに基づい
てフォントパターンの特定を行う関数であり、前記フォ
ント処理関数実行手段は、前記要求受付手段により文字
列の描画要求が受け付けられた場合に、前記要求受付手
段が取得したフォントIDに対応するフォントアクセス
情報に基づいてフォントデータのアドレスを得て当該ア
ドレスを入力してフォントパターン取得関数を実行する
ことにより、文字列を描画することとしてもよい。
【0085】これにより、あるフォントパターン取得関
数が特定のフォントデータ専用のものでなくてもよいこ
ととなり、フォントパターン取得関数を複数のフォント
データへのアクセスに共用することが可能となる。従っ
て、APは、フォントデータが同一のデータ構造を持つ
フォントAとフォントBとを使用したい場合に、フォン
トアクセス情報中のフォントデータアドレスのみを異な
らせて、2度フォントアクセス情報を文字列描画システ
ムに渡しておけば、必要に応じてフォントA又はフォン
トBを使用して文字列を描画させることが可能になる。
なお、このフォントパターン取得関数の共用により、フ
ォントデータ毎にフォントパターン取得関数が必要な場
合と比べて、記憶容量を削減できる。
【0086】また、前記関数種別には、フォントデータ
に基づきフォントパターンを生成するラスタライザに対
する初期設定を行う初期化関数があり、前記フォントア
クセス情報は、前記初期化関数のアドレス情報を含み、
当該初期化関数のアドレス情報は当該初期化関数の前記
記憶手段内におけるアドレス又はNULL値を内容と
し、前記フォント処理関数実行手段は、前記要求受付手
段が取得したフォントIDに対応するフォントアクセス
情報に基づいて初期化関数のアドレスを得ることができ
る場合には当該初期化関数を実行することとしてもよ
い。
【0087】これにより、APは初期化関数のアドレス
をフォントアクセス情報に含めて文字列描画装置に渡せ
ば、フォントデータに対応してラスタライザの初期設定
が行われるようになる。また、前記フォント処理関数実
行手段は、前記フォントアクセス情報取得手段によりフ
ォントアクセス情報が取得されたときに、当該フォント
アクセス情報中の初期化関数のアドレス情報がNULL
値か否かを判定し、NULL値でないときには前記初期
化関数を実行することによりラスタライザに対する初期
設定を行うこととしてもよい。
【0088】これにより、APが、ラスタライザを用い
てフォントパターンの展開を行うようなフォントを使用
する場合にはフォントアクセス情報中の初期化関数のア
ドレス情報に当該関数のアドレスを設定し、ビットマッ
プフォント等のラスタライザを使用しないフォントを使
用する場合には初期化関数のアドレス情報にNULL値
を設定して文字列描画装置に渡せば、それに応じて必要
ならばラスタライザの初期設定がなされることになる。
なお、APが初期化関数のアドレスを設定してフォント
アクセス情報を文字列描画装置に渡したときにハードウ
ェアであるラスタライザの初期設定が行われるため、後
にAPが文字列の描画等を要求した時点においては初期
設定が不要となり迅速に文字列の描画が行われることに
なる。
【0089】また、前記フォントアクセス情報中の複数
のフォント処理関数それぞれについてのアドレス情報
は、当該フォント処理関数の前記記憶手段におけるアド
レス又はNULL値を内容とし、前記フォント処理関数
実行手段は、前記要求受付手段が取得したフォントID
に対応するフォントアクセス情報中のフォント処理関数
のアドレス情報がNULL値でない場合に当該フォント
処理関数を実行することとしてもよい。
【0090】これにより、APは使用するフォントに応
じて、不要なフォント処理関数についてのアドレス情報
をNULL値にしておくだけで、その後に文字列の描画
に関する処理を要求すれば文字列描画装置によって、必
要なフォント処理関数のみが実行され、その要求した処
理が実現されるようになる。また、前記文字列描画装置
はさらに、外部からフォントデータ及びフォント処理関
数を取得して前記記憶手段に格納する読み込み手段と、
アプリケーションプログラムからの要求に応じてフォン
トデータ又はフォント処理関数の前記記憶手段内におけ
るアドレスを当該アプリケーションプログラムに伝える
アドレス管理手段とを備えることとしてもよい。
【0091】これにより、フォントデータ及びフォント
処理関数が予め記憶されておらず外部から取得された場
合であっても、APは、そのフォントデータ等のアドレ
スを得ることができ、そのアドレスをフォントアクセス
情報内に含ませて文字列描画装置に渡すことにより使用
したいフォントについてのフォント処理関数を指定する
ことができるようになる。
【0092】また、本発明に係る文字列描画方法は、記
憶手段に記憶されているフォントデータと、フォントデ
ータの利用に関連する処理を内容とする複数のフォント
処理関数とを利用する文字列描画方法であって、アプリ
ケーションプログラムから複数のフォント処理関数のア
ドレス群を含むフォントアクセス情報を取得するフォン
トアクセス情報取得ステップと、アプリケーションプロ
グラムから文字列の描画に関連する処理の実行要求を受
け付ける要求受付ステップと、前記要求受付ステップに
より要求が受け付けられた場合に当該要求に対応するフ
ォント処理関数のアドレスを前記フォントアクセス情報
に基づいて特定して当該フォント処理関数を実行するフ
ォント処理関数実行ステップとを含むことを特徴とす
る。
【0093】これにより、フォントパターンを取得する
関数のみならず複数のフォント処理関数についての複数
のアドレス群を含むフォントアクセス情報をAPが指定
しておいた場合に、そのアドレス群で特定されるフォン
ト処理関数群を用いてAPからの文字列の描画に関する
各種の処理要求、例えば文字列の幅の問い合わせ等に応
えることができるようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る文字描画システムの
機能構成を示す図である。
【図2】フォントアクセス情報格納部103、フォント
処理関数格納部210及びフォントデータ格納部220
の内容例を示す図である。
【図3】文字描画システム100がAPに対して提供す
るAPI関数の入出力パラメータを示す図である。
【図4】テキストコンテキストの内容を示す図である。
【図5】文字描画システム100が呼び出すフォントラ
イブラリ関数についての入出力パラメータを示す図であ
る。
【図6】フォントデータ格納部220に格納されるフォ
ントデータAのデータ構造を示す図である。
【図7】フォントデータ格納部220に格納されるフォ
ントデータBのデータ構造を示す図である。
【図8】フォントデータ格納部220に格納されるフォ
ントデータCのデータ構造を示す図である。
【図9】フォント登録処理を示すフローチャートであ
る。
【図10】描画処理を示すフローチャートである。
【図11】高さ取得処理を示すフローチャートである。
【図12】幅取得処理を示すフローチャートである。
【図13】フォント削除処理を示すフローチャートであ
る。
【符号の説明】
100 文字描画システム 101 フォントアクセス情報取得部 102 識別子管理部 103 フォントアクセス情報格納部 104 フォント初期化部 105 フォントアクセス情報削除部 106 描画部 107 高さ取得部 108 幅取得部 109 アドレス管理部 200 アプリケーションプログラム(AP) 210 フォント処理関数格納部 220 フォントデータ格納部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G09G 5/00 530 G09G 5/24 690 5/24 690 B41J 3/12 C

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 フォントデータと、フォントデータの利
    用に関連する処理を内容とする複数のフォント処理関数
    とを記憶している記憶手段と、 アプリケーションプログラムから複数のフォント処理関
    数のアドレス群を含むフォントアクセス情報を取得する
    フォントアクセス情報取得手段と、 アプリケーションプログラムから文字列の描画に関連す
    る処理の実行要求を受け付ける要求受付手段と、 前記要求受付手段により要求が受け付けられた場合に当
    該要求に対応するフォント処理関数のアドレスを前記フ
    ォントアクセス情報に基づいて特定して当該フォント処
    理関数を実行するフォント処理関数実行手段とを備える
    ことを特徴とする文字列描画装置。
  2. 【請求項2】 前記複数のフォント処理関数は複数の関
    数種別に区分されるものであり、 前記記憶手段は前記複数の関数種別それぞれにつき1以
    上のフォント処理関数を記憶しており、 前記フォントアクセス情報は、前記複数の関数種別それ
    ぞれにつき1つのフォント処理関数の所在を示すアドレ
    ス情報を含み、 前記フォントアクセス情報取得手段は、アプリケーショ
    ンプログラムからフォントアクセス情報を取得する度
    に、当該フォントアクセス情報を他のフォントアクセス
    情報から識別するためのフォントIDを定め、当該フォ
    ントアクセス情報と当該フォントIDとを対応付けて保
    持し、当該フォントIDをアプリケーションプログラム
    に渡し、 前記要求受付手段は、前記要求の受け付けに際してアプ
    リケーションプログラムからフォントIDを取得し、 前記フォント処理関数実行手段は、前記要求受付手段が
    取得したフォントIDに対応するフォントアクセス情報
    に基づいてフォント処理関数のアドレスを特定して当該
    フォント処理関数を実行することを特徴とする請求項1
    記載の文字列描画装置。
  3. 【請求項3】 前記関数種別には少なくとも、フォント
    データに基づいてフォントパターンを特定し当該フォン
    トパターンを取得するフォントパターン取得関数があ
    り、 前記フォントアクセス情報は、前記フォントパターン取
    得関数の前記記憶手段内におけるアドレスを内容とする
    アドレス情報を含み、 前記フォント処理関数実行手段は、前記要求受付手段に
    より文字列の描画要求が受け付けられた場合に、フォン
    トパターン取得関数のアドレスを前記フォントアクセス
    情報に基づいて得て当該フォントパターン取得関数を実
    行して描画対象の文字に対応するフォントパターンを取
    得することにより文字列を描画することを特徴とする請
    求項2記載の文字列描画装置。
  4. 【請求項4】 前記フォントデータは、複数のグリフに
    ついて共通な属性であって少なくともアセントとディセ
    ントとを含む属性を示す共通メトリクス情報を含み、 前記関数種別には、フォントデータにアクセスして共通
    メトリクス情報を取得する共通メトリクス情報取得関数
    があり、 前記フォントアクセス情報は、前記共通メトリクス情報
    取得関数の前記記憶手段内におけるアドレスを内容とす
    るアドレス情報を含み、 前記フォント処理関数実行手段は、前記要求受付手段が
    取得したフォントIDに対応するフォントアクセス情報
    に基づいて共通メトリクス情報取得関数のアドレスを得
    て当該共通メトリクス情報取得関数を実行することを特
    徴とする請求項3記載の文字列描画装置。
  5. 【請求項5】 前記フォント処理関数実行手段は、前記
    要求受付手段によりフォントの高さの取得要求が受け付
    けられた場合に前記共通メトリクス情報取得関数を実行
    してアセントとディセントとを取得して、当該アセント
    とディセントとに基づいてフォントの高さを計算して計
    算結果をアプリケーションプログラムに渡すことを特徴
    とする請求項4記載の文字列描画装置。
  6. 【請求項6】 前記フォントデータには、前記複数のグ
    リフそれぞれについて固有な属性であって少なくともグ
    リフ幅を含む属性を示すグリフ別メトリクス情報を含む
    ものがあり、 前記関数種別には、フォントデータにアクセスしてグリ
    フ別メトリクス情報を取得するグリフ別メトリクス情報
    取得関数があり、 前記フォントアクセス情報は、前記グリフ別メトリクス
    情報取得関数のアドレス情報を含み、当該グリフ別メト
    リクス情報取得関数のアドレス情報は当該グリフ別メト
    リクス情報取得関数の前記記憶手段内におけるアドレス
    又はNULL値を内容とし、 前記フォント処理関数実行手段は、前記要求受付手段が
    取得したフォントIDに対応するフォントアクセス情報
    に基づいてグリフ別メトリクス情報取得関数のアドレス
    を得ることができる場合には当該グリフ別メトリクス情
    報取得関数を実行することを特徴とする請求項4記載の
    文字列描画装置。
  7. 【請求項7】 前記共通メトリクス情報が示す属性は、
    複数のグリフについての平均的な幅を含み、 前記フォント処理関数実行手段は、 前記要求受付手段により文字列の幅の取得要求が受け付
    けられた場合に前記要求受付手段が取得したフォントI
    Dに対応する前記フォントアクセス情報中のグリフ別メ
    トリクス情報取得関数のアドレス情報がNULL値か否
    かを判定し、 NULL値であるときには前記共通メトリクス情報取得
    関数を実行してグリフについての平均的な幅を取得して
    当該平均的な幅に基づいて文字列の幅を計算して計算結
    果をアプリケーションプログラムに渡し、 NULL値でないときには前記グリフ別メトリクス情報
    取得関数を実行して、幅の取得対象の文字に対応するグ
    リフ幅を取得して、取得したグリフ幅に基づいて文字列
    の幅を計算して計算結果をアプリケーションプログラム
    に渡すことを特徴とする請求項6記載の文字列描画装
    置。
  8. 【請求項8】 前記関数種別には、文字コード列を入力
    されると当該文字コード列に対応する内部コード列を出
    力する文字コード変換関数があり、 前記フォントパターン取得関数は、内部コードが入力さ
    れると当該内部コードに基づいて特定されるグリフにつ
    いてのフォントパターンを出力する関数であり、前記フ
    ォントアクセス情報は、前記文字コード変換関数の前記
    記憶手段内におけるアドレスを内容とするアドレス情報
    を含み、前記フォント処理関数実行手段は、前記要求受
    付手段により文字列の描画要求が受け付けられた場合
    に、描画対象の文字列を示す文字コード列をアプリケー
    ションプログラムから取得して当該文字コード列を入力
    して文字コード変換関数を実行することにより内部コー
    ドの列を得て、当該各内部コードを入力してフォントパ
    ターン取得関数を実行することにより描画対象の各文字
    に対するフォントパターンを取得することを特徴とする
    請求項7記載の文字列描画装置。
  9. 【請求項9】 前記フォントアクセス情報は、フォント
    データの前記記憶手段内におけるアドレスを内容とする
    アドレス情報を含み、前記フォントパターン取得関数
    は、フォントデータのアドレスが入力されると、当該ア
    ドレスにより特定されるフォントデータに基づいてフォ
    ントパターンの特定を行う関数であり、前記フォント処
    理関数実行手段は、前記要求受付手段により文字列の描
    画要求が受け付けられた場合に、前記要求受付手段が取
    得したフォントIDに対応するフォントアクセス情報に
    基づいてフォントデータのアドレスを得て当該アドレス
    を入力してフォントパターン取得関数を実行することに
    より、文字列を描画することを特徴とする請求項6記載
    の文字列描画装置。
  10. 【請求項10】 前記関数種別には、フォントデータに
    基づきフォントパターンを生成するラスタライザに対す
    る初期設定を行う初期化関数があり、前記フォントアク
    セス情報は、前記初期化関数のアドレス情報を含み、当
    該初期化関数のアドレス情報は当該初期化関数の前記記
    憶手段内におけるアドレス又はNULL値を内容とし、
    前記フォント処理関数実行手段は、前記要求受付手段が
    取得したフォントIDに対応するフォントアクセス情報
    に基づいて初期化関数のアドレスを得ることができる場
    合には当該初期化関数を実行することを特徴とする請求
    項3記載の文字列描画装置。
  11. 【請求項11】 前記フォント処理関数実行手段は、 前記フォントアクセス情報取得手段によりフォントアク
    セス情報が取得されたときに、当該フォントアクセス情
    報中の初期化関数のアドレス情報がNULL値か否かを
    判定し、 NULL値でないときには前記初期化関数を実行するこ
    とによりラスタライザに対する初期設定を行うことを特
    徴とする請求項10記載の文字列描画装置。
  12. 【請求項12】 前記フォントアクセス情報中の複数の
    フォント処理関数それぞれについてのアドレス情報は、
    当該フォント処理関数の前記記憶手段におけるアドレス
    又はNULL値を内容とし、 前記フォント処理関数実行手段は、前記要求受付手段が
    取得したフォントIDに対応するフォントアクセス情報
    中のフォント処理関数のアドレス情報がNULL値でな
    い場合に当該フォント処理関数を実行することを特徴と
    する請求項2記載の文字列描画装置。
  13. 【請求項13】 前記文字列描画装置はさらに、 外部からフォントデータ及びフォント処理関数を取得し
    て前記記憶手段に格納する読み込み手段と、 アプリケーションプログラムからの要求に応じてフォン
    トデータ又はフォント処理関数の前記記憶手段内におけ
    るアドレスを当該アプリケーションプログラムに伝える
    アドレス管理手段とを備えることを特徴とする請求項1
    記載の文字列描画装置。
  14. 【請求項14】 前記フォントアクセス情報は、フォン
    トデータの前記記憶手段内におけるアドレスを内容とす
    るアドレス情報を含み、 前記フォント処理関数実行手段は、前記要求受付手段に
    より文字列の描画要求が受け付けられた場合に、当該要
    求に対応するフォント処理関数のアドレスとフォントデ
    ータのアドレスとを前記フォントアクセス情報に基づい
    て特定して、当該フォントデータのアドレスを入力とし
    て当該フォント処理関数を実行することを特徴とする請
    求項1記載の文字列描画装置。
  15. 【請求項15】 記憶手段に記憶されているフォントデ
    ータと、フォントデータの利用に関連する処理を内容と
    する複数のフォント処理関数とを利用する文字列描画方
    法であって、 アプリケーションプログラムから複数のフォント処理関
    数のアドレス群を含むフォントアクセス情報を取得する
    フォントアクセス情報取得ステップと、 アプリケーションプログラムから文字列の描画に関連す
    る処理の実行要求を受け付ける要求受付ステップと、 前記要求受付ステップにより要求が受け付けられた場合
    に当該要求に対応するフォント処理関数のアドレスを前
    記フォントアクセス情報に基づいて特定して当該フォン
    ト処理関数を実行するフォント処理関数実行ステップと
    を含むことを特徴とする文字列描画方法。
  16. 【請求項16】 記憶手段に記憶されているフォントデ
    ータと、フォントデータの利用に関連する処理を内容と
    する複数のフォント処理関数とを利用する文字列描画関
    連処理を、コンピュータに行わせる制御プログラムを記
    録した記録媒体であって、 前記文字列描画関連処理は、 アプリケーションプログラムから複数のフォント処理関
    数のアドレス群を含むフォントアクセス情報を取得する
    フォントアクセス情報取得ステップと、 アプリケーションプログラムから文字列の描画に関連す
    る処理の実行要求を受け付ける要求受付ステップと、 前記要求受付ステップにより要求が受け付けられた場合
    に当該要求に対応するフォント処理関数のアドレスを前
    記フォントアクセス情報に基づいて特定して当該フォン
    ト処理関数を実行するフォント処理関数実行ステップと
    を含むことを特徴とする記録媒体。
JP2000386580A 1999-12-24 2000-12-20 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法 Pending JP2001255867A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000386580A JP2001255867A (ja) 1999-12-24 2000-12-20 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP36716799 1999-12-24
JP11-367167 1999-12-24
JP2000386580A JP2001255867A (ja) 1999-12-24 2000-12-20 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法

Publications (1)

Publication Number Publication Date
JP2001255867A true JP2001255867A (ja) 2001-09-21

Family

ID=26581879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000386580A Pending JP2001255867A (ja) 1999-12-24 2000-12-20 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法

Country Status (1)

Country Link
JP (1) JP2001255867A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013566A1 (ja) * 2005-07-28 2007-02-01 Sharp Kabushiki Kaisha 情報処理装置、情報処理プログラムおよび可読記録媒体
JP2014172319A (ja) * 2013-03-11 2014-09-22 Polar-Method Co Ltd 印刷検証装置及びプログラム
JP2016043553A (ja) * 2014-08-22 2016-04-04 スター精密株式会社 プリンタ、印刷システムおよび印刷制御方法
US9632691B2 (en) 2013-07-29 2017-04-25 Fujitsu Limited Non-transitory computer-readable medium storing selected character specification program, selected character specification method, and selected character specification device
CN109949391A (zh) * 2019-03-18 2019-06-28 武汉斗鱼鱼乐网络科技有限公司 图文绘制方法、装置、电子设备和存储介质
US10733355B2 (en) 2015-11-30 2020-08-04 Canon Kabushiki Kaisha Information processing system that stores metrics information with edited form information, and related control method information processing apparatus, and storage medium

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007013566A1 (ja) * 2005-07-28 2007-02-01 Sharp Kabushiki Kaisha 情報処理装置、情報処理プログラムおよび可読記録媒体
JPWO2007013566A1 (ja) * 2005-07-28 2009-02-12 シャープ株式会社 情報処理装置、情報処理プログラムおよび可読記録媒体
JP4905899B2 (ja) * 2005-07-28 2012-03-28 シャープ株式会社 情報処理システム、情報処理プログラムおよび可読記録媒体
JP2014172319A (ja) * 2013-03-11 2014-09-22 Polar-Method Co Ltd 印刷検証装置及びプログラム
US9632691B2 (en) 2013-07-29 2017-04-25 Fujitsu Limited Non-transitory computer-readable medium storing selected character specification program, selected character specification method, and selected character specification device
JP2016043553A (ja) * 2014-08-22 2016-04-04 スター精密株式会社 プリンタ、印刷システムおよび印刷制御方法
US10026026B2 (en) 2014-08-22 2018-07-17 Star Micronics Co., Ltd. Printer, printing system and print control method
US10733355B2 (en) 2015-11-30 2020-08-04 Canon Kabushiki Kaisha Information processing system that stores metrics information with edited form information, and related control method information processing apparatus, and storage medium
CN109949391A (zh) * 2019-03-18 2019-06-28 武汉斗鱼鱼乐网络科技有限公司 图文绘制方法、装置、电子设备和存储介质
CN109949391B (zh) * 2019-03-18 2023-09-26 武汉斗鱼鱼乐网络科技有限公司 图文绘制方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
JP3092711B2 (ja) 出力制御装置及び方法
JP2004157502A (ja) フォントの選択方法
WO1991015831A1 (en) Page description language interpreter
JPH11282829A (ja) フォント共有システムおよび方法ならびにフォント共有方法を実行するためのプログラムを格納した記録媒体
JP2005536783A (ja) pdfドキュメントのセクション抽出ツール
US20030202716A1 (en) Image processing apparatus, method, and system
US8269791B2 (en) Information processing apparatus and method for processing a vector image composed of a plurality of objects described by structured document data
US7146411B2 (en) System, device, and method for inputting image, and storage medium therefor
JP2911470B2 (ja) 文字処理装置及び方法
JP3963614B2 (ja) データ通信システムならびにデータ通信システムを構成するサーバおよびクライアント・コンピュータ
US6661416B2 (en) Apparatus and method for drawing character sequence using font data with any data structure
JP2001255867A (ja) 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法
JP2010097564A (ja) 情報処理装置及びレイアウト処理方法
JP2845380B2 (ja) 印刷装置及びその制御方法
JP2022090469A (ja) 書式定義装置、書式定義方法、及びプログラム
JP6614857B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2016139360A (ja) コンピュータプログラム及び制御装置
JPH1173288A (ja) 表示装置、表示制御方法及び記録媒体
KR100352787B1 (ko) 네트워크를 이용한 폰트 제공 시스템 및 제공 방법
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2010214746A (ja) 印刷処理システム、印刷処理方法およびプログラム
JP2000066658A (ja) 画像処理装置および記録媒体
JP2951809B2 (ja) 手書き文字フォント印字方式
JP3220437B2 (ja) 出力制御装置及び方法
JP2971547B2 (ja) 文書処理装置