1. Termékek
  2.   Font
  3.   C++
  4.   Aspose.Font for C++

Aspose.Font for C++

 
 

C++ betűtípus API a betűtípusok olvasásához, mentéséhez és konvertálásához

A C++ könyvtár lehetővé teszi a betöltést, olvasást, mentést és különböző betűtípusformátumok, például TrueType, WOFF, EOT, OpenType, CFF és Type1 konvertálását C++ alapú alkalmazásokban.

Az Aspose.Font for C++ egy nagyon hatékony eszköz, amely egyszerűsíti a betűtípusok kezelését, és kiterjedt funkciókészletet kínál a szoftverfejlesztők és programozók számára. Lehetővé teszi a C++ fejlesztőknek, hogy különféle betűtípus-formátumokkal dolgozzanak, és széles körű betűtípussal kapcsolatos feladatokat hajtsanak végre. Segítségével a fejlesztők betűtípus-fájlokat tölthetnek be, generálhatnak, szerkeszthetnek és konvertálhatnak különböző formátumokban, például TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT és még sok más. Az API a betűtípussal kapcsolatos feladatait a következő szintre emelheti külső függőségek nélkül.

Az Aspose.Font for C++ egy funkciógazdag könyvtár, amely átfogó betűtípus-kezelési képességeket biztosít C++ fejlesztők számára. A könyvtár számos betűtípus-műveletet támogat, többek között a betűtípus metaadatainak kinyerését, betűtípusfájlok betöltését lemezről vagy adatfolyamból, glif információk elérését, betűtípusok konvertálását különböző formátumokba, betűtípusinformációk olvasását, betűtípusfájlok frissítését és mentését a lemezre, metrikus információk olvasását a betűtípusfájlokból, szöveg renderelését betűtípusglifekkel, TrueType betűtípusok egyesítését és még sok mást. Támogatja a 32 bites és a 64 bites operációs rendszereket.

Az Aspose.Font for C++ fejlett tipográfiai képességeket kínál, beleértve a ligatúrák kezelését, a kontextuális és önkéntes glifhelyettesítéseket, valamint a fejlett szövegelrendezési lehetőségeket. Ezek a funkciók különösen hasznosak összetett írásrendszerekkel vagy olyan nyelvekkel dolgozva, amelyek kifinomult szövegformázást és renderelést igényelnek. Az API platformfüggetlen, és lehetővé teszi a felhasználók számára, hogy zökkenőmentesen használják különböző operációs rendszereken, beleértve a Windows, Linux és macOS rendszereket. Ha a C++ alkalmazásaiban szeretné bővíteni a betűtípus-kezelési képességeket, az Aspose.Font kétségtelenül érdemes megfontolni.

Previous Next

Az Aspose.Font C++-hoz kezdő lépések

Az ajánlott módja az Aspose.Font for C++ telepítésének a NuGet használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

Az Aspose.Font C++ telepítése NuGet parancs segítségével

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

A könyvtárat közvetlenül letöltheti a Aspose.Font for C++ termékoldalról.

Betűtípus átalakítása a támogatott fájlformátumokra C++ API-val

Hangsúlyozandó funkciója az Aspose.Font for C++-nek, hogy képes betűtípusokat konvertálni a különböző támogatott fájlformátumok között. Ez nagyon kényelmes, amikor a szoftverfejlesztőknek egy adott, a célkörnyezetük vagy platformjuk számára kompatibilis formátumba kell konvertálniuk a betűtípusokat. A könyvtár zökkenőmentes konverziót támogat a TrueType, OpenType, CFF, PostScript Type 1 betűtípusok és még sok más között, lehetővé téve a fejlesztők számára, hogy számos forgatókönyvre reagáljanak. Az alábbi példa bemutatja, hogyan lehet betűtípust betölteni a támogatott formátumok közül, például TTF, és C++ parancsokkal WOFF2 formátumba konvertálni.

TTF konvertálása WOFF2 formátumba C++ API használatával

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 betűtípusok betöltése és kinyerése C++ API-val

Aspose.Font for C++ lehetővé teszi a szoftverfejlesztők számára, hogy Type1 és más támogatott betűtípus-formátumokat töltsenek be különböző forrásokból, például helyi fájlokból, adatfolyamokból vagy URL-ekből. A fejlesztők egyenként vagy tömegesen tölthetnek be betűtípusokat, ami megkönnyíti több betűtípus egyidejű feldolgozását. Betöltés után a fejlesztők frissíthetik a betűtípusok tulajdonságait, és vissza menthetik a kívánt formátumba, vagy könnyedén exportálhatják más formátumokba. Az alábbi példa bemutatja, hogyan lehet betölteni és adatokat kinyerni a type1 betűtípusokból C++ alkalmazásokon belül.

Hogyan töltsünk be és nyerjünk ki adatokat Type1 betűtípusokból C++ API-val?

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

Betűtípus-metrikák és glifek támogatása

Aspose.Font for C++ egy nagyon funkciógazdag könyvtár, amely hozzáférést biztosít a betűtípus-metrikák gazdagságához, beleértve a felülmenést, alulmenést, sorrészt és számos egyéb alapvető mérőszámot. A szoftverfejlesztők lekérhetik a glif információkat, például a Unicode értékeket, a határoló dobozokat, az előrehaladási szélességeket és egyebeket. Ezek a funkciók lehetővé teszik a felhasználók számára, hogy pontosan pozicionálják és megjelenítsék a szöveget az alkalmazásaikban. Az alábbi példa bemutatja, hogyan tudják a szoftverfejlesztők a glifekkel a szöveget megjeleníteni C++ parancsok használatával.

Hogyan jelenítsünk meg szöveget a glifekkel C++ alkalmazásokban?

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

Betűtípus manipuláció & szerkesztés C++ API-val

Az Aspose.Font for C++ lehetővé teszi a szoftverfejlesztők számára, hogy különböző forrásokból, például helyi fájlokból, adatfolyamokból vagy URL-ekből töltsenek be Type1 és egyéb támogatott betűtípus-formátumokat. A fejlesztők betűtípusokat egyenként vagy tömegesen tölthetnek be, így egyszerűen feldolgozhatók több betűtípus egyszerre. A betöltés után a fejlesztők frissíthetik a betűtípusok tulajdonságait, és könnyedén menthetik vissza a kívánt formátumba, vagy exportálhatják más formátumokba. Az alábbi példa bemutatja, hogyan lehet betölteni és adatot kinyerni a type1 betűtípusokból C++ alkalmazásokban.

Olvassa be a betűmetrikákat a Type1 betűtípusokból C++ alkalmazásokban

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

 Magyar