Отображение текста с помощью глифов
.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#
- Создайте класс GlyphOutlinePainter, который требует объект типа System.Drawing.Drawing2D.GraphicsPath для графического рисования.
- Реализуйте интерфейс 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. Что такое кернинг?
Кернинг корректирует промежутки между глифами, чтобы текст выглядел более гладким. Это также помогает сократить длину текстовой строки.