1. Produse
  2.   Font
  3.   C++
  4.   Aspose.Font pentru C++

Aspose.Font pentru C++

 
 

API C++ pentru fonturi pentru citire, salvare și conversie a fonturilor

Biblioteca C++ permite încărcarea, citirea, salvarea și conversia diferitelor formate de fonturi, cum ar fi TrueType, WOFF, EOT, OpenType, CFF și Type1, în cadrul aplicațiilor bazate pe C++.

Aspose.Font pentru C++ este un instrument foarte puternic care simplifică gestionarea fonturilor și oferă un set extins de funcționalități pentru dezvoltatori de software și programatori. Îi oferă dezvoltatorilor C++ posibilitatea de a lucra cu diverse formate de fonturi și de a efectua o gamă largă de sarcini legate de fonturi. Permite dezvoltatorilor de software să încarce, să genereze, să editeze și să convertească fișiere de font în diferite formate, cum ar fi TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT și multe altele. API-ul poate ridica sarcinile tale legate de fonturi la nivelul următor fără nicio dependență externă.

Aspose.Font pentru C++ este o bibliotecă bogată în funcționalități care oferă capabilități cuprinzătoare de manipulare a fonturilor pentru dezvoltatorii C++. Biblioteca suportă o gamă largă de operații cu fonturi, inclusiv extragerea metadatelor fontului, încărcarea fișierelor de font de pe disc sau din flux, accesarea informațiilor despre glife, conversia fonturilor în diferite formate, citirea informațiilor despre font, actualizarea fișierelor de font și salvarea acestora pe disc, citirea informațiilor de metrică din fișierele de font, redarea textului utilizând glifele fontului, îmbinarea fonturilor TrueType și multe altele. Suportă sisteme de operare pe 32 de biți, precum și pe 64 de biți.

Aspose.Font pentru C++ oferă capabilități tipografice avansate, inclusiv gestionarea ligaturilor, substituțiilor de glife contextuale și discreționare, și opțiuni avansate de aranjare a textului. Aceste funcționalități sunt deosebit de utile atunci când se lucrează cu scripturi complexe sau limbi care necesită modelare și redare sofisticată a textului. API-ul este cross-platform și permite utilizatorilor să îl folosească fără probleme pe diferite sisteme de operare, inclusiv Windows, Linux și macOS. Dacă doriți să îmbunătățiți capabilitățile de manipulare a fonturilor în aplicațiile dumneavoastră C++, Aspose.Font este cu siguranță o opțiune de luat în considerare.

Previous Next

Începeți cu Aspose.Font pentru C++

Modul recomandat de instalare a Aspose.Font pentru C++ este prin utilizarea NuGet. Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme.

Instalați Aspose.Font pentru C++ prin comandă NuGet

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

Puteți descărca biblioteca direct de pe pagina de produs Aspose.Font pentru C++ product page

Conversia fonturilor în formatele de fișiere acceptate prin API C++

Una dintre caracteristicile remarcabile ale Aspose.Font pentru C++ este capacitatea sa de a converti fonturi între diferite formate de fișiere suportate. Acest lucru devine foarte convenabil atunci când dezvoltatorii de software trebuie să convertească fonturi într-un format specific compatibil cu mediul sau platforma țintă. Biblioteca suportă conversia fără întreruperi între fonturile TrueType, OpenType, CFF, PostScript Type 1 și altele, permițând dezvoltatorilor să acopere o gamă largă de scenarii. Exemplul următor arată cum să încărcați un font din oricare dintre formatele suportate, cum ar fi TTF, și să îl convertiți în WOFF2 utilizând comenzi C++.

Convertiți TTF în WOFF2 utilizând API C++

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

Încărcați și extrageți fonturi Type1 prin API C++

Aspose.Font pentru C++ permite dezvoltatorilor de software să încarce fonturi Type1, precum și alte formate de fonturi suportate, din diferite surse, cum ar fi fișiere locale, fluxuri sau URL-uri. Dezvoltatorii pot încărca fonturi individual sau în lot, facilitând procesarea simultană a mai multor fonturi. Odată încărcate, dezvoltatorii pot actualiza proprietățile fonturilor și le pot salva în formatul dorit sau le pot exporta cu ușurință în alte formate. Exemplul următor arată cum să încărcați și să extrageți date din fonturi type1 în aplicații C++.

Cum să încărcați și să extrageți date din fonturi Type1 utilizând API 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));

Suport pentru metrici de font și glife

Aspose.Font pentru C++ este o bibliotecă foarte bogată în funcționalități care oferă acces la o multitudine de metrici ale fonturilor, inclusiv ascensiune, descensiune, spațiu între linii și diverse alte măsurători esențiale. Dezvoltatorii de software pot recupera informații despre glife, cum ar fi valori Unicode, casete de delimitare, lățimi de avans și altele. Aceste funcționalități permit utilizatorilor să poziționeze și să redea textul cu precizie în aplicațiile dumneavoastră. Exemplul următor arată cum dezvoltatorii de software pot reda textul cu glifele utilizând comenzi C++.

Cum să redați textul cu glifele în aplicații 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;
    }

Manipulare și editare de fonturi prin API C++

Aspose.Font pentru C++ permite dezvoltatorilor de software să încarce Type1, precum și alte formate de fonturi acceptate, din diferite surse, cum ar fi fișiere locale, fluxuri sau URL-uri. Dezvoltatorii pot încărca fonturi individual sau în lot, facilitând procesarea simultană a mai multor fonturi. Odată încărcate, dezvoltatorii pot actualiza proprietățile fonturilor și le pot salva înapoi în formatul dorit sau le pot exporta cu ușurință în alte formate. Exemplul următor arată cum să încărcați și să extrageți date din fonturi type1 în aplicații C++.

Citiți informațiile despre metricele fonturilor Type1 în aplicații 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);

 Română