Đọc thông tin phông chữ

.NET API Giải pháp để lấy thông tin và số liệu phông chữ.

 

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ư lấy thông tin về glyph có trong phông chữ.

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 lấy các số liệu phông chữ khác nhau (số lượng glyph, chiều cao chữ cái, chiều rộng của glyph ‘A’, v.v.) nhưng toàn bộ chức năng được mô tả cẩn thận trong Sử dụng đối tượng Glyph . Ví dụ này cũng bao gồm một phần mã để lấy siêu dữ liệu phông chữ, Tên phông chữ nếu cụ thể. Chức năng như vậy có thể được triển khai vào phần mềm web như ứng dụng Siêu dữ liệu phông chữ mà Aspose có trong hệ sinh thái của nó.

Để nhận số liệu phông chữ, chúng tôi 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 để lấy số liệu phông chữ bằng C#:

  1. Chỉ định phông chữ để trích xuất thông tin.
  2. Sử dụng giao diện Aspose.Font.IFontMetrics để nhận các chỉ số được chỉ định.
  3. Lấy bảng mã cmap Unicode từ phông chữ dưới dạng đối tượng TtfCMapFormatBaseTable để truy cập thông tin về phông chữ cần thiết.
  4. Để lấy chỉ số glyph cho biểu tượng ‘A’, hãy sử dụng phương pháp GetGlyphIndex() .
  5. In các chỉ số glyph.

Mã C# để nhận thông tin về glyphs của phông chữ

    using Aspose.Font;
    using Aspose.Font.Glyphs;
    using Aspose.Font.Ttf;
    //Font to extract info from
    TtfFont font;
    string name = font.FontName;
    Console.WriteLine("Font name: " + name);
    Console.WriteLine("Glyph count: " + font.NumGlyphs);
    string metrics = string.Format(
        "Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}",
        font.Metrics.Ascender, font.Metrics.Descender,
        font.Metrics.TypoAscender, font.Metrics.TypoDescender, font.Metrics.UnitsPerEM);

    Console.WriteLine(metrics);

    //Get the cmap unicode encoding table from the font as an object TtfCMapFormatBaseTable to access information about the font glyph for symbol 'A'.
    //Also check that font has the object TtfGlyfTable (table 'glyf') to access glyph.
    Aspose.Font.TtfCMapFormats.TtfCMapFormatBaseTable cmapTable = null;
    if (font.TtfTables.CMapTable != null)
    {
        cmapTable = font.TtfTables.CMapTable.FindUnicodeTable();
    }
    if (cmapTable != null && font.TtfTables.GlyfTable != null)
    {
        Console.WriteLine("Font cmap unicode table: PlatformID = " + cmapTable.PlatformId + ", PlatformSpecificID = " + cmapTable.PlatformSpecificId);

        //Code for 'A' symbol
        char unicode = (char)65;

        //Glyph index for 'A'
        uint glIndex = cmapTable.GetGlyphIndex(unicode);

        if (glIndex != 0)
        {
            //Glyph for 'A'
            Glyph glyph = font.GetGlyphById(glIndex);
            if (glyph != null)
            {
                //Print glyph metrics
                Console.WriteLine("Glyph metrics for 'A' symbol:");
                string bbox = string.Format(
                    "Glyph BBox: Xmin = {0}, Xmax = {1}" + ", Ymin = {2}, Ymax = {3}",
                    glyph.GlyphBBox.XMin, glyph.GlyphBBox.XMax,
                    glyph.GlyphBBox.YMin, glyph.GlyphBBox.YMax);
                Console.WriteLine(bbox);
                Console.WriteLine("Width:" + font.Metrics.GetGlyphWidth(new GlyphUInt32Id(glIndex)));
            }
        }
    }



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

1. Chỉ số phông chữ là gì?

Đó là thuộc tính xác định cách hiển thị phông chữ trên màn hình. Một số chỉ số như tăng dần, giảm dần, chiều rộng và khoảng cách hạt nhân tương tự như Chỉ số hình tượng .

2. Làm cách nào để nhận số liệu về phông chữ?

Chỉ định phông chữ bạn muốn làm việc. Sử dụng các thuộc tính của giao diện Lớp Aspose.Font.IFontMetrics, trích xuất thông tin về số liệu phông chữ mà bạn cần.

3. Siêu dữ liệu phông chữ là gì?

Font Metadata về cơ bản là thông tin về nó. Nó bao gồm nhiều dữ liệu như Tên phông chữ, Tên họ phông chữ, Tên bản mô tả, giấy phép, thông tin của tác giả và nhà thiết kế, v.v.

4. Làm cách nào để thay đổi siêu dữ liệu phông chữ?

Để xem hoặc thay đổi thông tin phông chữ trực tuyến, hãy sử dụng ứng dụng Siêu dữ liệu phông chữ của chúng tôi.