1. Prodotti
  2.   Font
  3.   C++
  4.   Aspose.Font per C++

Aspose.Font per C++

 
 

API Font C++ per Leggere, Salvare e Convertire Font

La libreria C++ consente di caricare, leggere, salvare e convertire diversi formati di font come TrueType, WOFF, EOT, OpenType, CFF e Type1 all'interno di applicazioni basate su C++.

Aspose.Font per C++ è uno strumento molto potente che semplifica la gestione dei font e offre un ampio set di funzionalità per sviluppatori software e programmatori. Consente agli sviluppatori C++ di lavorare con vari formati di font ed eseguire una vasta gamma di operazioni legate ai font. Permette agli sviluppatori di caricare, generare, modificare e convertire file di font in diversi formati, come TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT e molti altri. L'API può elevare le tue attività legate ai font al livello successivo senza alcuna dipendenza esterna.

Aspose.Font per C++ è una libreria ricca di funzionalità che offre capacità complete di manipolazione dei font per gli sviluppatori C++. La libreria supporta un'ampia gamma di operazioni sui font, tra cui l'estrazione dei metadati del font, il caricamento dei file dei font da disco o stream, l'accesso alle informazioni sui glifi, la conversione dei font in diversi formati, la lettura delle informazioni del font, l'aggiornamento dei file dei font e il salvataggio su disco, la lettura delle informazioni metriche dai file dei font, il rendering del testo usando i glifi del font, l'unione di font TrueType e molto altro. Supporta sistemi operativi a 32 bit così come a 64 bit.

Aspose.Font per C++ offre capacità tipografiche avanzate, inclusa la gestione delle legature, delle sostituzioni di glifi contestuali e discrezionali, e opzioni avanzate di layout del testo. Queste funzionalità sono particolarmente utili quando si lavora con script complessi o lingue che richiedono una modellazione e un rendering del testo sofisticati. L'API è cross‑platform e consente agli utenti di utilizzarla senza problemi su diversi sistemi operativi, inclusi Windows, Linux e macOS. Se desideri migliorare le capacità di manipolazione dei font nelle tue applicazioni C++, Aspose.Font è senza dubbio da prendere in considerazione.

Previous Next

Guida introduttiva a Aspose.Font per C++

Il modo consigliato per installare Aspose.Font per C++ è utilizzare NuGet. Si prega di utilizzare il comando seguente per un'installazione senza problemi.

Installa Aspose.Font per C++ tramite comando NuGet

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

Puoi scaricare la libreria direttamente dalla pagina prodotto Aspose.Font per C++ product page

Conversione dei font in formati di file supportati tramite API C++

Una delle caratteristiche notevoli di Aspose.Font per C++ è la sua capacità di convertire i font tra diversi formati di file supportati. Questo risulta molto comodo quando gli sviluppatori software devono convertire i font in un formato specifico compatibile con l'ambiente o la piattaforma di destinazione. La libreria supporta la conversione fluida tra font TrueType, OpenType, CFF, PostScript Type 1 e altri, consentendo agli sviluppatori di coprire una vasta gamma di scenari. L'esempio seguente mostra come caricare un font da uno qualsiasi dei formati supportati, come TTF, e convertirlo in WOFF2 utilizzando comandi C++.

Converti TTF in WOFF2 usando l'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);

Caricamento ed estrazione di font Type1 tramite API C++

Aspose.Font per C++ consente agli sviluppatori di software di caricare Type1 così come altri formati di font supportati da diverse fonti, come file locali, stream o URL. Gli sviluppatori possono caricare i font individualmente o in blocco, facilitando l'elaborazione simultanea di più font. Una volta caricati, gli sviluppatori possono aggiornare le proprietà dei font e salvarli nuovamente nel formato desiderato o esportarli in altri formati con facilità. L'esempio seguente mostra come caricare ed estrarre dati dai font type1 all'interno di applicazioni C++.

Come caricare ed estrarre dati dai font Type1 usando l'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));

Supporto per metriche dei font e glifi

Aspose.Font per C++ è una libreria molto ricca di funzionalità che offre l'accesso a una vasta gamma di metriche dei font, tra cui ascissa, discendente, interlinea e varie altre misurazioni essenziali. Gli sviluppatori di software possono recuperare informazioni sui glifi, come valori Unicode, box di delimitazione, larghezze di avanzamento e altro. Queste funzionalità consentono agli utenti di posizionare e renderizzare il testo con precisione all'interno delle proprie applicazioni. L'esempio seguente mostra come gli sviluppatori di software possano renderizzare il testo con i glifi utilizzando comandi C++.

Come rendere il testo con i glifi nelle applicazioni 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;
    }

Manipolazione e modifica dei font tramite API C++

Aspose.Font per C++ consente agli sviluppatori di software di caricare Type1 e altri formati di font supportati da diverse fonti, come file locali, stream o URL. Gli sviluppatori possono caricare i font individualmente o in blocco, facilitando l'elaborazione simultanea di più font. Una volta caricati, gli sviluppatori possono aggiornare le proprietà dei font e salvarli nuovamente nel formato desiderato o esportarli facilmente in altri formati. L'esempio seguente mostra come caricare ed estrarre dati dai font Type1 all'interno di applicazioni C++.

Leggi le informazioni sulle metriche dei font Type1 nelle app 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);

 Italiano