Baca informasi Glyph dan Metrik

.NET API Solusi untuk menghitung lebar string, menghitung koordinat mesin terbang, dan manipulasi lainnya dengan mesin terbang.

 

Aspose.Font API Solution memiliki fungsionalitas yang kaya untuk bekerja dengan font. Konversi, manipulasi dengan mesin terbang, deteksi simbol Latin, dan banyak lagi. Beberapa fitur terkait dengan manipulasi dengan mesin terbang.

Glyph adalah salah satu karakter tipografi yang dirancang secara individual, atau itu adalah representasi grafis dari simbol / karakter. Untuk mempelajari lebih lanjut tentang unit font ini, baca artikel Pengantar Glyph .

Halaman ini menjelaskan opsi tentang cara membaca informasi Glyphs dan Metrics tetapi seluruh fungsi dijelaskan dengan cermat di Menggunakan objek Glyph artikel. Di sana Anda akan menemukan lebih banyak lagi contoh kode C#, dan mempelajari fungsionalitas Aspose.Font untuk bekerja dengan mesin terbang dan objek Glyph pada khususnya. Contoh kode lainnya menggunakan Aspose.Font untuk memanipulasi Glyphs disimpan di Aspose.Font.Examples.sln solusi.

Untuk bekerja dengan mesin terbang kita perlu:

  • Aspose.Font for .NET API yang merupakan API konversi dan manipulasi dokumen yang kaya fitur, kuat, dan mudah digunakan untuk platform C#.

  • Buka manajer paket NuGet, dan cari Aspose.Font dan instal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Langkah-langkah untuk Menghitung lebar string menggunakan C#:

  1. Deklarasikan teks dan konstanta lainnya. Di sini sebagai contoh frase «Halo dunia» digunakan.
  2. Mendeklarasikan variabel untuk lebar string.
  3. Dapatkan glyph untuk setiap huruf dalam teks menggunakan GlyphId Class. Hitung lebar untuk keseluruhan teks.
  4. Hasil yang sama dapat dicapai dengan menggunakan Metode MeasureString() .
  5. Cetak hasil keluaran.

C# Kode untuk mengetahui lebar string

    using System;
    using System.IO;
    using System.Drawing;
    using System.Collections.Generic;
    using Aspose.Font.Sources;
    using Aspose.Font.Glyphs;
    using Aspose.Font.RenderingPath;
    //Declare the text and other constants
    const string text = "Hello world";
    const int fontSize = 10;

    //Declare a variable for string width
    double width = 0;

    //Get a glyph for each letter in text and calculate width for whole text.
    //The same result can be achieved using the method font.Metrics.MeasureString(text, fontSize).
    foreach (char symbol in text)
    {
        GlyphId gid = this._font.Encoding.DecodeToGid(symbol);
        Glyph glyph = this._font.GetGlyphById(gid);
        width += (glyph.WidthVectorX / this._font.Metrics.UnitsPerEM) * fontSize;
    }            

    //Print output results
    Console.WriteLine(string.Format("Width for text \"{0}\" with font size {2} is equal {3}." , 
        text, FontName, fontSize, width));

Langkah-langkah untuk menghitung semua titik mesin terbang dengan koordinat menggunakan C#:

  1. Deklarasikan daftar yang dihasilkan dengan points .
  2. Tentukan referensi layanan Init pada antarmuka IPathSegment .
  3. Ulangi semua segmen jalur mesin terbang dan jumlahkan poinnya.

C# Kode untuk mengetahui titik mesin terbang

    Glyph glyph;

    //Declare the resultant list with points
    List<Point> points = new List<Point>();

    //Init service reference on IPathSegment
    IPathSegment prevSegment = null;

    //Iterate all the glyph path segments and collect points
    foreach (IPathSegment segment in glyph.Path.Segments)
    {
        if ((segment is LineTo)
            || (segment is CurveTo))
        {
            if (prevSegment is MoveTo)
            {
                MoveTo moveTo = prevSegment as MoveTo;
                AddPoint((int)moveTo.X, (int)moveTo.Y, points);
            }
            if (segment is LineTo)
            {
                LineTo line = segment as LineTo;
                AddPoint((int)line.X, (int)line.Y, points);
            }
            else if (segment is CurveTo)
            {
                CurveTo curve = segment as CurveTo;
                AddPoint((int)curve.X1, (int)curve.Y1, points);
                AddPoint((int)curve.X2, (int)curve.Y2, points);
                AddPoint((int)curve.X3, (int)curve.Y3, points);
            }
        }
        prevSegment = segment;
    }	

    void AddPoint(int x, int y, List<Point> points)
    {
        Point p = new Point();
        p.X = x;
        p.Y = y;
        points.Add(p);
    }



FAQ

1. Apa itu metrik mesin terbang?

Metrik mesin terbang adalah parameter yang memengaruhi posisi mesin terbang saat tata letak teks dibuat.

2. Apa itu metrik mesin terbang?

Metrik mesin terbang yang paling banyak digunakan adalah lebar muka, asal, bantalan samping, garis dasar, naik, naik, turun, turun, kotak pembatas, tinggi, lebar, dan kerning.

3. Bagaimana cara mengelola Glyph dengan Solusi API ini?

Untuk membuat kode mesin terbang di C#, gunakan entitas ruang nama Aspose.Font.Glyphs .

4. Apa itu mesin terbang?

Glyph adalah salah satu karakter tipografi yang dirancang secara individual. Itu juga dapat didefinisikan sebagai representasi grafis dari simbol / karakter.