グリフを使用したテキストのレンダリング

.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» をレンダリングする手順

  1. System.Drawing.Drawing2D.GraphicsPath 型のオブジェクトを使用したグラフィック描画が必要な GlyphOutlinePainter クラスを作成します。
  2. Rendering.IGlyphOutlinePainter インターフェイスを実装し、このインターフェイスを使用してグリフを描画します。
  3. レンダリング サブシステムは GlyphOutlinePainter のメソッドを呼び出してグリフを描画します。その結果、グリフの内部パスが GraphicsPath オブジェクトにレンダリングされます。ビットマップ表現のグリフ画像を取得するには、結果の GraphicsPath を System.Drawing.Bitmap オブジェクトに描画する必要があります。
  4. より詳細なコード例と明確な解説については、 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. カーニングとは?

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