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

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

 

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

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

Эта страница описывает способ отображения текста «Hello world» с использованием глифов, но вся функция подробно описана в статье Using Glyph objects . Там вы найдете гораздо больше примеров кода 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. Подсистема рендеринга будет вызывать методы 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. Что такое кернинг?

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