グリフを使用してテキストをレンダリングする

.NET API ソリューション。目的のフォントでテキストを表示します。

 

Aspose.Font API ソリューションには、フォントを操作する豊富な機能があります。変換、グリフ操作、ラテン記号の検出、その他多数。一部の機能は、テキストのレンダリングなどのグリフを使用した操作にリンクされています。

グリフは、書体の個別にデザインされた文字、またはシンボル/文字のグラフィック表現です。このフォント ユニットの詳細については、 Glyph の紹介 の記事を参照してください。

このページでは、グリフを使用してテキスト «Hello world» を表示するオプションについて説明しますが、機能全体については Glyph オブジェクトの使用 記事。そこでは、より多くの C# コード サンプルが見つかり、グリフおよび特に Glyph オブジェクトを操作するための Aspose.Font の機能について学習できます。

グリフでテキストを入力するには、次のものが必要です。

  • Aspose.Font for .NET API は、C# プラットフォーム向けの機能豊富で強力で使いやすいドキュメント操作および変換 API です。

  • NuGet パッケージ マネージャーを開き、Aspose.Font を検索してインストールします。パッケージ マネージャー コンソールから次のコマンドを使用することもできます。

Package Manager Console Command


    PM> Install-Package Aspose.Font

C# を使用してテキスト «Hello world» をレンダリングする手順

  1. グラフィック描画用に System.Drawing.Drawing2D.GraphicsPath 型のオブジェクトを必要とするクラス GlyphOutlinePainter を作成します。
  2. Rendering.IGlyphOutlinePainter インターフェイスを実装して、このインターフェイスを利用してグリフを描画します。
  3. レンダリング サブシステムは GlyphOutlinePainter のメソッドを呼び出してグリフを描画するため、グリフのレンダリングの結果として、グリフの内部パスが GraphicsPath オブジェクトにレンダリングされます。ビットマップ表現でグリフ イメージを取得するには、結果の GraphicsPath を System.Drawing.Bitmap オブジェクトに描画する必要があります。
  4. より詳細なコード例と明確な説明を取得するには、 TrueType フォントを使用したテキスト レンダリング の記事を参照してください。

フレーズをレンダリングする 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. カーニングとは?

カーニングとは、グリフ間のスペースを調整して、テキストがより滑らかに見えるようにすることです。また、テキスト文字列の長さを短くするのにも役立ちます。