Olvassa el a betűtípus-információkat

.NET API megoldás a betűtípus-információk és -metrikák lekéréséhez.

 

Az Aspose.Font API megoldás gazdag funkcionalitással rendelkezik a betűtípusokkal való munkavégzéshez. Konverzió, karakterjel-manipulációk, latin szimbólumok észlelése és még sok más. Egyes funkciók a karakterjelekkel végzett manipulációkhoz kapcsolódnak, például információszerzés a szövegben található karakterjelekről a betűtípus.

A karakterjel egy betűtípus egyedileg megtervezett karaktere vagy egy szimbólum/karakter grafikus ábrázolása. Ha többet szeretne megtudni erről a betűtípus-egységről, olvassa el a Introduction to Glyph cikk.

Ez az oldal leírja a különböző betűtípus-metrikák (glifszám, betűmagasság, ‘A’ karakterjel szélessége stb.) lekérésének lehetőségét, de a teljes funkcionalitás gondosan le van írva a Glyph objektumok használata . olyan internetes szoftverekbe, mint például a Font Metadata alkalmazás, amelyet az Aspose tartalmaz az ökoszisztémában.

A betűtípus-metrikák fogadásához szükségünk van:

  • Aspose.Font for .NET API, amely funkciókban gazdag, hatékony és könnyen használható dokumentumkezelési és -konverziós API C# platformhoz.

  • Nyissa meg a NuGet csomagkezelőt, keresse meg az Aspose.Font elemet, és telepítse. Használhatja a következő parancsot is a Package Manager konzolból.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Lépések a betűtípus-metrikák lekéréséhez a C# használatával:

  1. Adja meg a betűtípust, amelyből az információkat ki szeretné bontani.
  2. Használjon interfészt Aspose.Font.IFontMetrics a mutatók megadásához.
  3. Szerezze be a cmap Unicode kódolási táblát a betűtípusból objektumként TtfCMapFormatBaseTable , hogy hozzáférjen a szükséges betűjellel kapcsolatos információkhoz.
  4. Az ‘A’ szimbólum glyph indexének lekéréséhez használja a GetGlyphIndex() módszert.
  5. Nyomtassa ki a karakterjel-mutatókat.

C# kód a betűtípus karakterjeleiről való információhoz

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



GYIK

1. Mi a betűtípus mérőszáma?

Ez a tulajdonság határozza meg, hogy a betűtípus hogyan jelenjen meg a képernyőn. Egyes mutatók, például az emelkedés, az ereszkedés, a szélesség és a bevágás hasonló a Glyph metrikákhoz .

2. Hogyan szerezhetek be betűtípus-mutatókat?

Adja meg a fontot, amellyel dolgozni szeretne. Az Aspose.Font.IFontMetrics osztály felület tulajdonságainak használatával kinyerje ki a szükséges információkat a betűtípus-metrikákról.

3. Mi a betűtípus metaadata?

A Font Metadata alapvetően információk róla. Számos adatot tartalmaz, mint például a betűtípus neve, a betűtípus családneve, az utóirat neve, az engedélyezés, a szerzői és tervezői információk és még sok más.

4. Hogyan módosíthatom a betűtípus metaadatait?

A betűtípusadatok online megtekintéséhez vagy módosításához használja a Font Metadata alkalmazásunkat.