Відображення тексту за допомогою гліфів
.NET API Solution. для відображення тексту потрібними шрифтами
Aspose.Font API Solution пропонує потужний функціонал для роботи зі шрифтами. Перетворення, маніпуляції гліфами, виявлення латинських символів та багато іншого. Деякі можливості пов’язані саме з маніпуляціями гліфами, наприклад рендерингом тексту.
Гліф — це індивідуально розроблений символ типографії або графічне представлення символу/знаку. Щоб дізнатися більше про цей елемент шрифту, прочитайте статтю Вступ до Glyph .
На цій сторінці описано, як відобразити текст «Hello world» за допомогою гліфів, але повний функціонал докладно розглянуто в статті Використання об’єктів Glyph . Там ви знайдете безліч прикладів коду C# та дізнаєтеся про можливості Aspose.Font у роботі з гліфами, зокрема об’єктами Glyph.
Щоб вводити текст за допомогою гліфів, нам потрібне:
Aspose.Font for .NET API — багатофункціональний, потужний та простий у використанні API для маніпуляції та конвертації документів на платформі C#.
Відкрийте менеджер пакетів NuGet, знайдіть Aspose.Font та встановіть його. Ви також можете скористатися наступною командою в консолі Package Manager.
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.
- Щоб ознайомитися з більш детальним прикладом коду та чіткими поясненнями, прочитайте статтю Рендеринг тексту за допомогою 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();
}
} FAQ
1. Що таке рендеринг тексту?
Відповідно до Microsoft , рендеринг(візуалізація) тексту – це процес перетворення рядка у формат, який читає користувач. Простіше кажучи, це відображення на екрані текстів за допомогою одиниць шрифту - гліфів.
2. Як відображається шрифт?
Щоб відобразити шрифти за допомогою цього рішення API, вам знадобляться сутності просторів імен Aspose.Font.Rendering і Aspose.Font.Renderers . Спочатку реалізуйте методи IGlyphOutlinePainter. Потім створіть метод DrawText(). Створіть метод утиліти для обчислення ширини шрифту та виклику функціональних можливостей відтворення тексту.
3. Що таке кернінг?
Кернінг регулює пробіли між гліфами, щоб текст виглядав гладкішим. Це також допомагає скоротити довжину текстового рядка.