1. Προϊόντα
  2.   Font
  3.   C++
  4.   Aspose.Font για C++

Aspose.Font για C++

 
 

C++ API Γραμματοσειρών για Ανάγνωση, Αποθήκευση & Μετατροπή Γραμματοσειρών

Η βιβλιοθήκη C++ επιτρέπει τη φόρτωση, ανάγνωση, αποθήκευση και μετατροπή διαφορετικών μορφών γραμματοσειρών όπως TrueType, WOFF, EOT, OpenType, CFF και Type1 σε εφαρμογές βασισμένες σε C++.

Aspose.Font for C++ είναι ένα πολύ ισχυρό εργαλείο που απλοποιεί τη διαχείριση γραμματοσειρών και προσφέρει ένα εκτενές σύνολο λειτουργιών για προγραμματιστές λογισμικού και προγραμματιστές. Ενδυναμώνει τους προγραμματιστές C++ να εργάζονται με διάφορες μορφές γραμματοσειρών και να εκτελούν ένα ευρύ φάσμα εργασιών σχετικών με τις γραμματοσειρές. Επιτρέπει στους προγραμματιστές λογισμικού να φορτώνουν, να δημιουργούν, να επεξεργάζονται και να μετατρέπουν αρχεία γραμματοσειρών σε διάφορες μορφές, όπως TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT και πολλές άλλες. Το API μπορεί να ανεβάσει τις εργασίες σας που σχετίζονται με τις γραμματοσειρές στο επόμενο επίπεδο χωρίς εξωτερικές εξαρτήσεις.

Το Aspose.Font για C++ είναι μια βιβλιοθήκη πλούσια σε δυνατότητες που παρέχει ολοκληρωμένες δυνατότητες διαχείρισης γραμματοσειρών για προγραμματιστές C++. Η βιβλιοθήκη υποστηρίζει ένα ευρύ φάσμα λειτουργιών γραμματοσειρών, συμπεριλαμβανομένης της εξαγωγής μεταδεδομένων γραμματοσειράς, φόρτωσης αρχείων γραμματοσειρών από δίσκο ή ροή, πρόσβασης σε πληροφορίες γλύφων, μετατροπής γραμματοσειρών σε διαφορετικές μορφές, ανάγνωσης πληροφοριών γραμματοσειράς, ενημέρωσης αρχείων γραμματοσειρών & αποθήκευσης τους στον δίσκο, ανάγνωσης πληροφοριών μετρικών από αρχεία γραμματοσειρών, απόδοσης κειμένου χρησιμοποιώντας γλύφους γραμματοσειράς, συγχώνευσης γραμματοσειρών TrueType και πολλά άλλα. Υποστηρίζει λειτουργικά συστήματα 32-bit καθώς και 64-bit.

Το Aspose.Font για C++ προσφέρει προηγμένες τυπογραφικές δυνατότητες, συμπεριλαμβανομένης της διαχείρισης συνδέσεων (ligatures), συμφραζόμενων και προαιρετικών αντικαταστάσεων γλύφων, καθώς και προηγμένων επιλογών διάταξης κειμένου. Αυτές οι δυνατότητες είναι ιδιαίτερα χρήσιμες όταν εργάζεστε με σύνθετα σενάρια ή γλώσσες που απαιτούν εξελιγμένο σχήμα κειμένου και απόδοση. Το API είναι πλατφορμ-ανεξάρτητο και επιτρέπει στους χρήστες να το χρησιμοποιούν απρόσκοπτα σε διαφορετικά λειτουργικά συστήματα, συμπεριλαμβανομένων των Windows, Linux και macOS. Εάν θέλετε να ενισχύσετε τις δυνατότητες διαχείρισης γραμματοσειρών στις εφαρμογές C++ σας, το Aspose.Font είναι σίγουρα άξιο προσοχής.

Previous Next

Ξεκινώντας με το Aspose.Font για C++

Ο προτεινόμενος τρόπος εγκατάστασης του Aspose.Font για C++ είναι μέσω του NuGet. Παρακαλούμε χρησιμοποιήστε την παρακάτω εντολή για ομαλή εγκατάσταση.

Εγκατάσταση του Aspose.Font για C++ μέσω εντολής NuGet

NuGet\Install-Package Aspose.Font.Cpp -Version 23.4.0

Μπορείτε να κατεβάσετε τη βιβλιοθήκη απευθείας από Aspose.Font for C++ σελίδα προϊόντος

Μετατροπή γραμματοσειρών σε υποστηριζόμενες μορφές αρχείων μέσω του C++ API

Ένα από τα αξιοσημείωτα χαρακτηριστικά του Aspose.Font για C++ είναι η ικανότητά του να μετατρέπει γραμματοσειρές μεταξύ διαφορετικών υποστηριζόμενων μορφών αρχείων. Αυτό γίνεται πολύ βολικό όταν οι προγραμματιστές λογισμικού χρειάζεται να μετατρέψουν γραμματοσειρές σε μια συγκεκριμένη μορφή συμβατή με το περιβάλλον ή την πλατφόρμα-στόχο σας. Η βιβλιοθήκη υποστηρίζει απρόσκοπτη μετατροπή μεταξύ γραμματοσειρών TrueType, OpenType, CFF, PostScript Type 1 και άλλων, επιτρέποντας στους προγραμματιστές να καλύψουν ένα ευρύ φάσμα σεναρίων. Το παρακάτω παράδειγμα δείχνει πώς να φορτώσετε μια γραμματοσειρά από οποιαδήποτε από τις υποστηριζόμενες μορφές, όπως TTF, και να τη μετατρέψετε σε WOFF2 χρησιμοποιώντας εντολές C++.

Μετατροπή TTF σε WOFF2 χρησιμοποιώντας C++ API

using namespace System;
    using namespace Aspose::Font::Sources;
    using namespace Aspose::Font::Ttf;
    using namespace Aspose::Font;

    // Open TTF font
    SharedPtr fontFileDefinition = MakeObject(MakeObject(u"Montserrat-Regular.ttf"));
    SharedPtr fontDefinition = MakeObject(FontType::TTF, fontFileDefinition);
    SharedPtr font = Font::Open(fontDefinition);

    // WOFF2 output settings
    SharedPtr outStream = IO::File::Create(u"Montserrat-Regular.woff2");

    // Convert TTF to WOFF2
    font->SaveToFormat(outStream, FontSavingFormats::WOFF2);

Φόρτωση και εξαγωγή γραμματοσειρών Type1 μέσω του C++ API

Το Aspose.Font για C++ επιτρέπει στους προγραμματιστές λογισμικού να φορτώνουν Type1 καθώς και άλλες υποστηριζόμενες μορφές γραμματοσειρών από διάφορες πηγές, όπως τοπικά αρχεία, ροές ή URL. Οι προγραμματιστές λογισμικού μπορούν να φορτώνουν γραμματοσειρές ατομικά ή μαζικά, καθιστώντας εύκολο την επεξεργασία πολλαπλών γραμματοσειρών ταυτόχρονα. Μόλις φορτωθούν, οι προγραμματιστές μπορούν να ενημερώνουν τις ιδιότητες των γραμματοσειρών και να τις αποθηκεύουν ξανά στην επιθυμητή μορφή ή να τις εξάγουν σε άλλες μορφές με ευκολία. Το παρακάτω παράδειγμα δείχνει πώς να φορτώσετε και να εξάγετε δεδομένα από γραμματοσειρές type1 μέσα σε εφαρμογές C++.

Πώς να φορτώσετε και να εξάγετε δεδομένα από γραμματοσειρές Type1 χρησιμοποιώντας το C++ API;

System::String fileName = dataDir + u"courier.pfb";
//Font file name with full path
    
System::SharedPtr fd = System::MakeObject(Aspose::Font::FontType::Type1, System::MakeObject(u"pfb", System::MakeObject(fileName)));
System::SharedPtr font = System::DynamicCast_noexcept(Aspose::Font::Font::Open(fd));

Υποστήριξη μετρικών γραμματοσειρών και γλύφων

Το Aspose.Font για C++ είναι μια πολύ πλούσια σε δυνατότητες βιβλιοθήκη που παρέχει πρόσβαση σε πληθώρα μετρικών γραμματοσειρών, συμπεριλαμβανομένων του ανόδου, της καθόδου, του κενού γραμμής και διαφόρων άλλων βασικών μετρήσεων. Οι προγραμματιστές λογισμικού μπορούν να ανακτήσουν πληροφορίες για τα γλύφους, όπως τιμές Unicode, περιοριστικά πλαίσια, προχωρημένα πλάτη και άλλα. Αυτά τα χαρακτηριστικά επιτρέπουν στους χρήστες να τοποθετούν και να αποδίδουν κείμενο με ακρίβεια μέσα στις εφαρμογές σας. Το παρακάτω παράδειγμα δείχνει πώς οι προγραμματιστές λογισμικού μπορούν να αποδώσουν κείμενο με τα γλύφα χρησιμοποιώντας εντολές C++.

Πώς να αποδίδετε κείμενο με τα γλύφους σε εφαρμογές C++;

 using Aspose::Font::Glyphs;
using Aspose::Font::Rendering;
using Aspose::Font::RenderingPath;

class GlyphOutlinePainter: IGlyphOutlinePainter
    RenderingText::GlyphOutlinePainter::GlyphOutlinePainter(System::SharedPtr path)
    {
        _path = path;
    }
    void RenderingText::GlyphOutlinePainter::MoveTo(System::SharedPtr moveTo)
    {
        _path->CloseFigure();
        _currentPoint.set_X((float)moveTo->get_X());
        _currentPoint.set_Y((float)moveTo->get_Y());
    }

    void RenderingText::GlyphOutlinePainter::LineTo(System::SharedPtr lineTo)
    {
        float x = (float)lineTo->get_X();
        float y = (float)lineTo->get_Y();
        _path->AddLine(_currentPoint.get_X(), _currentPoint.get_Y(), x, y);
        _currentPoint.set_X(x);
        _currentPoint.set_Y(y);
    }

    void RenderingText::GlyphOutlinePainter::CurveTo(System::SharedPtr curveTo)
    {
        float x3 = (float)curveTo->get_X3();
        float y3 = (float)curveTo->get_Y3();
    
        _path->AddBezier(_currentPoint.get_X(), _currentPoint.get_Y(), (float)curveTo->get_X1(), (float)curveTo->get_Y1(), (float)curveTo->get_X2(), (float)curveTo->get_Y2(), x3, y3);
    
        _currentPoint.set_X(x3);
        _currentPoint.set_Y(y3);
    }

    void RenderingText::GlyphOutlinePainter::ClosePath()
    {
        _path->CloseFigure();
    }

    System::Object::shared_members_type Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::GetSharedMembers()
    {
        auto result = System::Object::GetSharedMembers();
    
        result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_path", this->_path);      result.Add("Aspose::Font::Examples::WorkingWithTrueTypeAndOpenTypeFonts::RenderingText::GlyphOutlinePainter::_currentPoint", this->_currentPoint);
    
        return result;
    }

Διαχείριση και επεξεργασία γραμματοσειρών μέσω του C++ API

Το Aspose.Font για C++ επιτρέπει στους προγραμματιστές λογισμικού να φορτώνουν Type1 καθώς και άλλες υποστηριζόμενες μορφές γραμματοσειρών από διαφορετικές πηγές, όπως τοπικά αρχεία, ροές ή URL. Οι προγραμματιστές μπορούν να φορτώνουν γραμματοσειρές μεμονωμένα ή μαζικά, καθιστώντας εύκολη την επεξεργασία πολλαπλών γραμματοσειρών ταυτόχρονα. Μόλις φορτωθούν, μπορούν να ενημερώνουν τις ιδιότητες των γραμματοσειρών και να τις αποθηκεύουν ξανά στην επιθυμητή μορφή ή να τις εξάγουν σε άλλες μορφές με ευκολία. Το παρακάτω παράδειγμα δείχνει πώς να φορτώσετε και να εξάγετε δεδομένα από γραμματοσειρές type1 σε εφαρμογές C++.

Ανάγνωση πληροφοριών μετρικών γραμματοσειρών από γραμματοσειρές Type1 σε εφαρμογές C++

System::String fileName = dataDir + u"courier.pfb";
//Font file name with full path
    
System::SharedPtr fd = System::MakeObject(Aspose::Font::FontType::Type1, System::MakeObject(u"pfb", System::MakeObject(fileName)));
System::SharedPtr font = System::DynamicCast_noexcept(Aspose::Font::Font::Open(fd));
    
System::String name = font->get_FontName();
System::Console::WriteLine(System::String(u"Font name: ") + name);
System::Console::WriteLine(System::String(u"Glyph count: ") + font->get_NumGlyphs());
System::String metrics = System::String::Format(u"Font metrics: ascender - {0}, descender - {1}, typo ascender = {2}, typo descender = {3}, UnitsPerEm = {4}", font->get_Metrics()->get_Ascender(), font->get_Metrics()->get_Descender(), font->get_Metrics()->get_TypoAscender(), font->get_Metrics()->get_TypoDescender(), font->get_Metrics()->get_UnitsPerEM());
    
System::Console::WriteLine(metrics);

 Ελληνικά