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#

  1. Crie a classe GlyphOutlinePainter que requer um objeto do tipo System.Drawing.Drawing2D.GraphicsPath para desenho gráfico.
  2. Implemente a interface Rendering.IGlyphOutlinePainter para desenhar glifos com a ajuda desta interface.
  3. 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.
  4. 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.