グリフを使用したテキストのレンダリング
.NET API ソリューション。希望のフォントでテキストを表示します
Aspose.Font API ソリューションは、フォント操作に豊富な機能を備えています。変換、グリフ操作、ラテン文字の検出など、さまざまな機能があります。そのうちのいくつかは、グリフの操作、例えばテキストのレンダリングに関連しています。
グリフは、書体の個別に設計された文字、または記号/文字のグラフィカルな表現です。このフォント単位について詳しく知るには、 Introduction to Glyph 記事をご覧ください。
このページでは、グリフを使用して「Hello world」テキストを表示する方法を説明しますが、機能全体は Using Glyph objects 記事で詳細に説明されています。そこでは、さらに多くの C# コード例が掲載されており、Aspose.Font のグリフおよび Glyph オブジェクトに関する機能を学ぶことができます。
グリフでテキストを入力するには、以下が必要です:
Aspose.Font for .NET API は、機能が豊富で強力かつ使いやすい C# プラットフォーム向け文書操作および変換 API です。
NuGet パッケージマネージャーを開き、Aspose.Font を検索してインストールします。または、パッケージ マネージャー コンソールから以下のコマンドを使用することもできます。
Package Manager Console Command
PM> Install-Package Aspose.Font
C# を使用してテキスト «Hello world» をレンダリングする手順
- System.Drawing.Drawing2D.GraphicsPath 型のオブジェクトを使用したグラフィック描画が必要な GlyphOutlinePainter クラスを作成します。
- Rendering.IGlyphOutlinePainter インターフェイスを実装し、このインターフェイスを使用してグリフを描画します。
- レンダリング サブシステムは GlyphOutlinePainter のメソッドを呼び出してグリフを描画します。その結果、グリフの内部パスが GraphicsPath オブジェクトにレンダリングされます。ビットマップ表現のグリフ画像を取得するには、結果の GraphicsPath を System.Drawing.Bitmap オブジェクトに描画する必要があります。
- より詳細なコード例と明確な解説については、 Text Rendering using TrueType Font 記事をご覧ください。
フレーズをレンダリングする C# コード
using Aspose.Font.Rendering;
using Aspose.Font.RenderingPath;class GlyphOutlinePainter: IGlyphOutlinePainter
{
private System.Drawing.Drawing2D.GraphicsPath _path;
private System.Drawing.PointF _currentPoint;
public GlyphOutlinePainter(System.Drawing.Drawing2D.GraphicsPath path)
{
_path = path;
}
public void MoveTo(MoveTo moveTo)
{
_path.CloseFigure();
_currentPoint.X = (float)moveTo.X;
_currentPoint.Y = (float)moveTo.Y;
}
public void LineTo(LineTo lineTo)
{
float x = (float)lineTo.X;
float y = (float)lineTo.Y;
_path.AddLine(_currentPoint.X, _currentPoint.Y, x, y);
_currentPoint.X = x;
_currentPoint.Y = y;
}
public void CurveTo(CurveTo curveTo)
{
float x3 = (float)curveTo.X3;
float y3 = (float)curveTo.Y3;
_path.AddBezier(
_currentPoint.X,
_currentPoint.Y,
(float)curveTo.X1,
(float)curveTo.Y1,
(float)curveTo.X2,
(float)curveTo.Y2,
x3,
y3);
_currentPoint.X = x3;
_currentPoint.Y = y3;
}
public void ClosePath()
{
_path.CloseFigure();
}
} よくある質問
1. テキスト レンダリングとは
Microsoft によると、テキスト レンダリングは、文字列をユーザーが読み取れる形式に変換するプロセスです。簡単に言えば、フォント単位 (グリフ) を使用して画面テキストを表示することです。
2. フォントはどのようにレンダリングされますか?
この API ソリューションを使用してフォントをレンダリングするには、 Aspose.Font.Rendering および Aspose.Font.Renderers 名前空間。まず、IGlyphOutlinePainter メソッドを実装します。次に DrawText() メソッドを作成します。フォント幅を計算し、テキストのレンダリング機能を呼び出すユーティリティ メソッドを作成します。
3. カーニングとは?
カーニングとは、グリフ間のスペースを調整して、テキストがより滑らかに見えるようにすることです。また、テキスト文字列の長さを短くするのにも役立ちます。