Renderizar texto usando glifos
Solução de API .NET. para exibir o texto com a fonte desejada.
Aspose.Font API Solution tem uma funcionalidade rica para trabalhar com fontes. Conversão, manipulações de glifos, detecção de símbolos latinos e muito mais. Alguns dos recursos estão vinculados a manipulações com glifos, como renderização de textos.
Um glifo é um caractere projetado individualmente de um tipo de letra ou uma representação gráfica de um símbolo/caractere. Para saber mais sobre esta unidade de fonte, leia o artigo Introduction to Glyph .
Esta página descreve a opção de como exibir o texto «Hello world» usando glifos, mas toda a funcionalidade é cuidadosamente descrita no Using Glyph objects artigo. Lá você encontrará muito mais exemplos de código C# e aprenderá a funcionalidade do Aspose.Font para trabalhar com glifos e os objetos Glyph em particular.
Para digitar textos com glifos, precisamos:
Aspose.Font for .NET API, que é uma API de conversão e manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma C#.
Abra o gerenciador de pacotes NuGet e procure por Aspose.Font e instale. Você também pode usar o seguinte comando do Console do Gerenciador de Pacotes.
Package Manager Console Command
PM> Install-Package Aspose.Font
Etapas para renderizar texto «Hello world» usando C#
- Crie a classe GlyphOutlinePainter que requer um objeto do tipo System.Drawing.Drawing2D.GraphicsPath para desenho gráfico.
- Implemente a interface Rendering.IGlyphOutlinePainter para desenhar glifos com a ajuda desta interface.
- O subsistema de renderização chamará métodos de GlyphOutlinePainter para desenhar o glifo, portanto, o caminho interno do glifo será renderizado no objeto GraphicsPath como resultado da renderização do glifo. Para obter uma imagem de glifo na representação de bitmap, o GraphicsPath resultante deve ser desenhado no objeto System.Drawing.Bitmap.
- Para obter um exemplo de código mais detalhado com explicações claras, conheça o artigo Text Rendering using TrueType Font .
Código C# para renderizar a frase
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();
}
}
Perguntas frequentes
1. O que é renderização de texto?
De acordo com Microsoft , a renderização de texto é o processo de converter uma string em um formato legível para o usuário. Em palavras mais simples, ele exibe na tela textos usando unidades de fonte - glifos.
2. Como a fonte é renderizada?
Para renderizar fontes usando esta solução de API, você precisará das entidades de Aspose.Font.Rendering e Aspose.Font.Renderers namespaces. Primeiro, implemente os métodos IGlyphOutlinePainter. Em seguida, crie o método DrawText(). Crie o método utilitário para calcular a largura da fonte e chame a funcionalidade de renderização de texto.
3. O que é kerning?
O kerning está ajustando os espaços entre os glifos para que o texto pareça mais suave. Também ajuda a reduzir o comprimento da string de texto.