TrueTypeフォントのテキスト品質の調整(1/2)

はじめに

 

ODAソフトウェアがTrueTypeフォントをベクター化する方法は2つあります。

 

  • 一定のテキスト品質(デフォルト) — TrueTypeフォント内の曲線はデフォルトでテッセレーションされるため、文字は一定数の頂点を持つ単純なシェルプリミティブとして描画されます。
  • 動的TTF PolyDrawモード — ベジェ曲線情報がジオメトリコンベアに追加で渡されるため、クライアントコードはTrueTypeフォント処理に必要な任意の品質を使用してテキストをテッセレーションできます。

最適な方法はアプリケーションの要件によって異なります。一定のテキスト品質調整は通常、エクスポート、ラスター画像へのレンダリングなどに適しています。エディターやビューアーなどの動的アプリケーションの場合、ズームレベル、メモリ制限、その他の要件に応じてテキストレンダリング品質を増減できるTTF PolyDrawモードが通常より適しています。

TrueTypeフォントの一定のテキスト品質調整はすべてのプラットフォームで機能します。TTF PolyDrawモードは現在、デスクトップWindowsオペレーティングシステムでのみサポートされています。

TrueTypeフォントの一定のテキスト品質(デフォルト)

デフォルト品質でベクター化されたTrueTypeフォントテキスト:

 

image1

 

デフォルト品質でベクター化されたTrueTypeフォントテキストの一部を拡大:

 

image2

 

デフォルトでは、テキスト品質は50%に設定されています。以下の画像は、テキスト品質が75%に上書きされた状態を示しています。

 

image3 image 4

 

生成されたテキストはより正確にテッセレーションされますが、拡大されたテキストにはまだわずかな角ばりが見られます。テキスト品質を100%に上げると、結果のテキストテッセレーションは理想的に見えます。

image5

 

.dwgファイルの一定のテキスト品質を調整する

 

.dwgファイルの場合、定数テキストの品質は「TEXTQLTY」システム変数を使用して変更できます。デフォルトでは50%に設定されています。ODAドキュメントには、システム変数をプログラムで変更する方法が記載されています: システム変数の取得と設定(ログインが必要です)。OdaMfcAppおよびTeighaViewerの例では、コンソールを使用してこの変数を変更できます。システム変数を変更した後、グラフィックキャッシュが有効になっている場合は、REGENコマンドを呼び出してグラフィックキャッシュを再生成することを忘れないでください。

 

一般的な定数テキスト品質の調整

 

テキストのベクトル化品質を調整する一般的な方法は、OdGiContext::textQuality() メソッドをオーバーライドすることです(ODAドキュメントを参照、ログインが必要です)。これは、Visualize SDKを使用するすべてのODA製品で機能します。OdGiContextはすべてのベクトル化プロセスによって呼び出されるため、textQuality() メソッドは、あらゆる領域でTrueTypeフォントのテキスト品質を調整するために使用できます。デフォルトでは、textQuality() メソッドは品質が50%に設定されていることを返します。各ODA製品、Drawings(.dwgおよび.dgnファイルの両方)、BIM、およびPRCは、OdGiContextの独自の実装を持っています。たとえば、Drawings SDKでは、このクラスはOdGiContextForDbDatabaseと呼ばれます。各OdGiContext実装は、OdGiContextForDbDatabaseのようにtextQuality() メソッドの独自のオーバーライドと実装を持つことができますが、必要なOdGiContext実装から継承された独自のクラスでこのメソッドをもう一度オーバーライドし、それをODAベクトル化フレームワークに渡すことに問題はありません。

 

このシリーズの次の記事では、TTF PolyDrawモードでの作業について説明します。

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す