Kết xuất văn bản bằng cách sử dụng glyphs

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

 

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

Glyph là một ký tự được thiết kế riêng 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 Giới thiệu về Glyph .

Trang này mô tả tùy chọn về cách hiển thị văn bản «Xin chào thế giới» bằng cách sử dụng glyph nhưng toàn bộ chức năng được mô tả cẩn thận trong Sử dụng đối tượng Glyph mạo từ. Ở đó, bạn sẽ tìm thấy nhiều ví dụ mã C# và tìm hiểu chức năng của Aspose.Font để làm việc với glyph và các đối tượng Glyph nói riêng.

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

  • Aspose.Font for .NET API là một API chuyển đổi và thao tác tài liệu giàu tính năng, mạnh mẽ và dễ sử dụng cho 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ể sử dụng lệnh sau từ Bảng điều khiển Trình quản lý Gói.

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ẽ glyph với sự trợ giúp của giao diện này.
  3. Hệ thống con kết xuất sẽ gọi các phương thức của GlyphOutlinePainter để vẽ glyph, do đó, đường dẫn bên trong của glyph sẽ được kết xuất vào đối tượng GraphicsPath do kết quả của việc kết xuất glyph. Để có được một hình ảnh glyph trong biểu diễn 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 tìm hiểu bài viết Kết xuất văn bản bằng 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.