Hiển thị văn bản bằng glyphs

Giải pháp API .NET để hiển thị văn bản với phông chữ mong muốn

 

Aspose.Font API Solution có chức năng phong phú để làm việc với phông chữ. Chuyển đổi, thao tác glyph, phát hiện ký hiệu Latin và còn nhiều hơn nữa. Một số tính năng liên quan đến thao tác với glyphs như việc render văn bản.

Glyph là một ký tự được thiết kế riêng biệt của một kiểu chữ hoặc một biểu diễn đồ họa của một ký hiệu/ký tự. Để tìm hiểu thêm về đơn vị phông chữ này, hãy đọc bài viết Introduction to Glyph .

Trang này mô tả cách hiển thị văn bản «Hello world» bằng glyphs, nhưng toàn bộ chức năng được mô tả chi tiết trong bài viết Using Glyph objects . Ở đó bạn sẽ tìm thấy nhiều ví dụ mã C# hơn và tìm hiểu chức năng của Aspose.Font trong việc làm việc với glyphs và các đối tượng Glyph.

Để gõ văn bản bằng glyphs, chúng ta cần:

  • Aspose.Font cho .NET API – một API mạnh mẽ, giàu tính năng và dễ sử dụng cho việc thao tác và chuyển đổi tài liệu trên nền tảng C#.

  • Mở trình quản lý gói NuGet, tìm kiếm Aspose.Font và cài đặt. Bạn cũng có thể dùng lệnh sau từ Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Các bước để hiển thị văn bản «Hello world» bằng C#

  1. Tạo lớp GlyphOutlinePainter yêu cầu một đối tượng kiểu System.Drawing.Drawing2D.GraphicsPath để vẽ đồ họa.
  2. Triển khai giao diện Rendering.IGlyphOutlinePainter để vẽ glyphs nhờ giao diện này.
  3. Hệ thống render sẽ gọi các phương thức của GlyphOutlinePainter để vẽ glyph, vì vậy đường dẫn nội bộ của glyph sẽ được render vào đối tượng GraphicsPath. Để lấy ảnh glyph dưới dạng bitmap, GraphicsPath kết quả phải được vẽ vào đối tượng System.Drawing.Bitmap.
  4. Để có ví dụ mã chi tiết hơn với giải thích rõ ràng, hãy đọc bài viết Text Rendering using TrueType Font .

Mã C# để hiển thị cụm từ

    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();
        }
    }  



Câu hỏi thường gặp

1. Kết xuất văn bản là gì?

Theo Microsoft , kết xuất văn bản là quá trình chuyển đổi một chuỗi thành định dạng mà người dùng có thể đọc được. Nói một cách đơn giản hơn, nó đang hiển thị trên màn hình các văn bản sử dụng đơn vị phông chữ - glyphs.

2. Phông chữ được hiển thị như thế nào?

Để kết xuất phông chữ bằng giải pháp API này, bạn sẽ cần các thực thể Aspose.Font.RenderingAspose.Font.Renderers . Đầu tiên, triển khai các phương thức IGlyphOutlinePainter. Sau đó, tạo Phương thức DrawText(). Tạo phương thức tiện ích để tính độ rộng phông chữ và gọi chức năng kết xuất văn bản.

3. Kerning là gì?

Kerning đang điều chỉnh khoảng cách giữa các nét để văn bản trông mượt mà hơn. Nó cũng giúp rút ngắn độ dài của chuỗi văn bản.