3

TrueType フォント ファイルのglyf テーブルから文字のグリフ データを取得しています。
このデータは、10 進数のブロックとして表されます。

例: Calibri 11pt (グリフ インデックス 258) の文字「a」

0209225523736332020510640176643215663166476631192352121217752161317752241117752161516176521841247641403939150112016151770581842552401791217758184255232179131775818425523217911177581842552321801516176581842864201723197052165225919252105215252466542184127641520834134344292344674612201277404763237632371857479323717185747931139493237147225434343431964394935747162254343434350574948949337206635343838535366353446253526225151535246235341423534462535262451503022173534142212022515054553631628272631145914581711158145621161681051242249785761977349128129472766861025297136843816414168100663189806511161241212661212906370377010265761127437705280532729352981625152529263529194485126841962345634170836668

このキャラクターを画面に描く可能性は何ですか?

4

1 に答える 1

4

簡単な答え: 自分でこれをしないでください。freetypeなどのフォント レンダリング ライブラリを使用するか、既にフォント レンダラーがあるプラットフォームを使用している場合は、それを使用します。多数の商用レンダリング ライブラリも利用できます。

長い答え: グリフ データを曲線にデコードするためのデータ仕様 (さらに、オプションで命令) は、ここにあります。だからあなたはそれから始めることができます。しかし、もっと多くのことが必要になります...また、最低限、'head' テーブルと 'hhea' テーブルを解析して、物を配置する場所と、デザイン ユニットを描画スペースにスケーリングする方法を知る必要があります。次に、「グローバル」(フォント全体) 命令 (「ヒント」と呼ばれることもあります) を含む「fpgm」、「cvt」、および「prep」テーブルを解析する必要があります。次に、各グリフに存在する命令を解析し、このすべての情報を使用して個々のピクセルを配置する塗りつぶしルーチンを開発する必要があります。幸運を!これは、気弱な人や迅速な解決策を探している人向けではありません. ライブラリを使用します。

于 2012-04-29T15:13:35.383 に答える