1. Producten
  2.   Font
  3.   C++
  4.   Aspose.Font voor C++

Aspose.Font voor C++

 
 

C++ Lettertype API om lettertypen te lezen, opslaan & converteren

C++-bibliotheek maakt het mogelijk om verschillende lettertypeformaten zoals TrueType, WOFF, EOT, OpenType, CFF en Type1 te laden, lezen, opslaan en converteren binnen C++-toepassingen.

Aspose.Font voor C++ is een zeer krachtig hulpmiddel dat het werken met lettertypen vereenvoudigt en een uitgebreide reeks functies biedt voor softwareontwikkelaars en programmeurs. Het stelt C++-ontwikkelaars in staat om met verschillende lettertypeformaten te werken en een breed scala aan lettertypegerelateerde taken uit te voeren. Het maakt het mogelijk voor softwareontwikkelaars om lettertypebestanden te laden, genereren, bewerken en converteren in diverse formaten, zoals TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT en vele anderen. De API kan uw lettertypegerelateerde taken naar een hoger niveau tillen zonder externe afhankelijkheden.

Aspose.Font voor C++ is een functie-rijke bibliotheek die uitgebreide mogelijkheden voor lettertypebewerkingen biedt voor C++-ontwikkelaars. De bibliotheek ondersteunt een breed scala aan lettertypebewerkingen, waaronder het extraheren van lettertype‑metadata, het laden van lettertypebestanden vanaf schijf of stream, het benaderen van glyph‑informatie, het converteren van lettertypen naar verschillende formaten, het lezen van lettertype‑informatie, het bijwerken van lettertypebestanden & het opslaan ervan op de schijf, het lezen van metrische informatie uit lettertypebestanden, het renderen van tekst met behulp van lettertype‑glyphs, het samenvoegen van TrueType-lettertypen en nog veel meer. Het ondersteunt zowel 32‑bit als 64‑bit besturingssystemen.

Aspose.Font voor C++ biedt geavanceerde typografische mogelijkheden, waaronder het verwerken van ligaturen, contextuele en discretionaire glyph‑substituties, en geavanceerde tekstindelingsopties. Deze functies zijn bijzonder nuttig bij het werken met complexe scripts of talen die een verfijnde tekstvormgeving en weergave vereisen. De API is cross‑platform en stelt gebruikers in staat deze naadloos te gebruiken op verschillende besturingssystemen, waaronder Windows, Linux en macOS. Als je de mogelijkheden voor lettertypebewerkingen in je C++‑toepassingen wilt verbeteren, is Aspose.Font ongetwijfeld het overwegen waard.

Previous Next

Aan de slag met Aspose.Font voor C++

De aanbevolen manier om Aspose.Font voor C++ te installeren is via NuGet. Gebruik alstublieft het volgende commando voor een soepele installatie.

Installeer Aspose.Font voor C++ via NuGet-opdracht

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

U kunt de bibliotheek rechtstreeks downloaden van Aspose.Font for C++ productpagina

Lettertypeconversie naar ondersteunde bestandsformaten via C++-API

Een van de opvallende kenmerken van Aspose.Font voor C++ is het vermogen om lettertypen tussen verschillende ondersteunde bestandsformaten te converteren. Dit is zeer handig wanneer softwareontwikkelaars lettertypen moeten converteren naar een specifiek formaat dat compatibel is met uw doelomgeving of platform. De bibliotheek ondersteunt naadloze conversie tussen TrueType-, OpenType-, CFF-, PostScript Type 1-lettertypen en meer, waardoor ontwikkelaars een breed scala aan scenario's kunnen bedienen. Het volgende voorbeeld laat zien hoe u een lettertype kunt laden uit een van de ondersteunde formaten, zoals TTF, en het kunt converteren naar WOFF2 met behulp van C++-commando's.

Converteer TTF naar WOFF2 met 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-lettertypen laden en extraheren via C++-API

Aspose.Font voor C++ stelt softwareontwikkelaars in staat om Type1 en andere ondersteunde lettertypeformaten te laden vanuit verschillende bronnen, zoals lokale bestanden, streams of URL's. Softwareontwikkelaars kunnen lettertypen individueel of in bulk laden, waardoor het eenvoudig is om meerdere lettertypen tegelijk te verwerken. Zodra ze geladen zijn, kunnen ontwikkelaars de eigenschappen van de lettertypen bijwerken en ze terug opslaan in het gewenste formaat of ze moeiteloos exporteren naar andere formaten. Het volgende voorbeeld laat zien hoe je type1-lettertypen kunt laden en gegevens eruit kunt extraheren binnen C++-toepassingen.

Hoe laad en extraheer je gegevens uit Type1-lettertypen met 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));

Lettertype-metrics en glyph-ondersteuning

Aspose.Font voor C++ is een zeer uitgebreide bibliotheek die toegang biedt tot een overvloed aan lettertype‑metingen, waaronder stijging, daling, regelafstand en diverse andere essentiële afmetingen. Softwareontwikkelaars kunnen glyph‑informatie ophalen, zoals Unicode‑waarden, begrenzingsvakken, voortschrijdende breedtes en meer. Deze functies stellen gebruikers in staat om tekst nauwkeurig te positioneren en weer te geven binnen uw toepassingen. Het volgende voorbeeld laat zien hoe softwareontwikkelaars tekst kunnen renderen met de glyphs met behulp van C++‑commando's.

Hoe tekst weergeven met de glyphs in C++-toepassingen?

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

Lettertypebewerking & -aanpassing via C++-API

Aspose.Font voor C++ stelt softwareontwikkelaars in staat om Type1 en andere ondersteunde lettertypeformaten te laden vanuit verschillende bronnen, zoals lokale bestanden, streams of URL's. Softwareontwikkelaars kunnen lettertypen individueel of in bulk laden, waardoor het eenvoudig is om meerdere lettertypen tegelijk te verwerken. Eenmaal geladen kunnen ontwikkelaars de eigenschappen van de lettertypen bijwerken en ze terug opslaan in het gewenste formaat of ze gemakkelijk exporteren naar andere formaten. Het volgende voorbeeld toont hoe je type1-lettertypen kunt laden en gegevens eruit kunt extraheren in C++-toepassingen.

Lees fontmetriekinformatie van Type1-lettertypen in C++-apps

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

 Dutch