Отображение текста с помощью глифов

Решение .NET API. для отображения текста нужным шрифтом.

 

Aspose.Font API Solution имеет богатый функционал для работы со шрифтами. Преобразование, манипуляции с глифами, обнаружение латинских символов и многое другое. Некоторые функции связаны с манипуляциями с глифами, такими как рендеринг текстов.

Глиф — это индивидуально разработанный символ шрифта или графическое представление символа/знака. Чтобы узнать больше об этой единице шрифта, прочитайте статью Introduction to Glyph .

На этой странице описан вариант отображения текста «Hello world» с помощью глифов, но вся функциональность подробно описана в Использовании объектов Glyph статья. Там вы найдете гораздо больше примеров кода C# и узнаете о возможностях Aspose.Font для работы с глифами и объектами Glyph в частности.

Для отрисовки текста глифами нам понадобится:

  • Aspose.Font for .NET API — многофункциональный, мощный и простой в использовании API для работы с документами и преобразования для платформы C#.

  • Откройте диспетчер пакетов NuGet, найдите Aspose.Font и установите его. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Шаги для отрисовки текста «Hello world» с помощью C#

  1. Создайте класс GlyphOutlinePainter, которому требуется объект типа System.Drawing.Drawing2D.GraphicsPath для графического рисования.
  2. Реализуйте интерфейс Rendering.IGlyphOutlinePainter для рисования глифов с помощью этого интерфейса.
  3. Подсистема рендеринга будет вызывать Mетоды 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. Что такое кернинг?

Кернинг корректирует промежутки между глифами, чтобы текст выглядел более гладким. Это также помогает сократить длину текстовой строки.