1. Produtos
  2.   Font
  3.   C++
  4.   Aspose.Font for C++

Aspose.Font for C++

 
 

API de Fontes C++ para Ler, Salvar e Converter Fontes

A biblioteca C++ permite Carregar, Ler, Salvar e Converter diferentes formatos de fonte, como TrueType, WOFF, EOT, OpenType, CFF e Type1, em aplicações baseadas em C++.

Aspose.Font para C++ é uma ferramenta muito poderosa que simplifica o manuseio de fontes e oferece um conjunto extenso de recursos para desenvolvedores de software e programadores. Ela capacita desenvolvedores C++ a trabalhar com vários formatos de fonte e a executar uma ampla gama de tarefas relacionadas a fontes. Permite que desenvolvedores de software carreguem, gerem, editem e convertam arquivos de fonte em diversos formatos, como TrueType (TTF), OpenType (OTF), PostScript Type 1 (PFB/PFA), WOFF, EOT e muitos outros. A API pode elevar suas tarefas relacionadas a fontes ao próximo nível sem quaisquer dependências externas.

Aspose.Font para C++ é uma biblioteca rica em recursos que oferece capacidades abrangentes de manipulação de fontes para desenvolvedores C++. A biblioteca suporta uma ampla gama de operações de fontes, incluindo extração de metadados de fontes, carregamento de arquivos de fontes a partir de disco ou fluxo, acesso a informações de glifos, conversão de fontes para diferentes formatos, leitura de informações de fontes, atualização de arquivos de fontes e salvamento no disco, leitura de informações métricas de arquivos de fontes, renderização de texto usando glifos de fontes, mesclagem de fontes TrueType e muito mais. Ela suporta sistemas operacionais de 32 bits assim como de 64 bits.

Aspose.Font para C++ oferece recursos tipográficos avançados, incluindo o tratamento de ligaduras, substituições contextuais e discricionárias de glifos, e opções avançadas de layout de texto. Esses recursos são particularmente úteis ao trabalhar com scripts complexos ou idiomas que exigem modelagem e renderização de texto sofisticadas. A API é multiplataforma e permite que os usuários a utilizem de forma contínua em diferentes sistemas operacionais, incluindo Windows, Linux e macOS. Se você está procurando aprimorar as capacidades de manipulação de fontes em suas aplicações C++, o Aspose.Font vale, sem dúvida, a consideração.

Previous Next

Introdução ao Aspose.Font para C++

A forma recomendada de instalar o Aspose.Font for C++ é usando o NuGet. Por favor, use o comando a seguir para uma instalação tranquila.

Instalar Aspose.Font para C++ via comando NuGet

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

Você pode baixar a biblioteca diretamente da página do produto Aspose.Font for C++

Conversão de fontes para formatos de arquivo suportados via API C++

Uma das características notáveis do Aspose.Font for C++ é sua capacidade de converter fontes entre diferentes formatos de arquivo suportados. Isso se torna muito conveniente quando os desenvolvedores de software precisam converter fontes para um formato específico compatível com seu ambiente ou plataforma alvo. A biblioteca oferece conversão perfeita entre fontes TrueType, OpenType, CFF, PostScript Type 1 e mais, permitindo que os desenvolvedores atendam a uma ampla variedade de cenários. O exemplo a seguir mostra como carregar uma fonte de qualquer um dos formatos suportados, como TTF, e convertê‑la para WOFF2 usando comandos C++.

Converter TTF para WOFF2 usando 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);

Carregar e extrair fontes Type1 via API C++

Aspose.Font para C++ permite que desenvolvedores de software carreguem Type1, bem como outros formatos de fonte suportados, a partir de diferentes fontes, como arquivos locais, streams ou URLs. Os desenvolvedores podem carregar fontes individualmente ou em lote, facilitando o processamento de várias fontes simultaneamente. Uma vez carregadas, os desenvolvedores podem atualizar as propriedades das fontes e salvá‑las de volta ao formato desejado ou exportá‑las para outros formatos com facilidade. O exemplo a seguir mostra como carregar e extrair dados de fontes type1 em aplicações C++.

Como carregar e extrair dados de fontes Type1 usando 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));

Suporte a métricas de fontes e glifos

Aspose.Font para C++ é uma biblioteca muito rica em recursos que fornece acesso a uma grande quantidade de métricas de fonte, incluindo ascendente, descendente, espaçamento de linha e várias outras medições essenciais. Os desenvolvedores de software podem recuperar informações de glifos, como valores Unicode, caixas delimitadoras, larguras de avanço e muito mais. Esses recursos permitem que os usuários posicionem e renderizem texto com precisão dentro de suas aplicações. O exemplo a seguir mostra como os desenvolvedores de software podem renderizar texto com os glifos usando comandos C++.

Como Renderizar Texto com os Glifos em Aplicações 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;
    }

Manipulação e edição de fontes via API C++

Aspose.Font para C++ permite que desenvolvedores de software carreguem Type1, bem como outros formatos de fonte suportados, a partir de diferentes fontes, como arquivos locais, streams ou URLs. Os desenvolvedores podem carregar fontes individualmente ou em lote, facilitando o processamento de várias fontes simultaneamente. Uma vez carregadas, os desenvolvedores podem atualizar as propriedades das fontes e salvá‑las de volta ao formato desejado ou exportá‑las para outros formatos com facilidade. O exemplo a seguir mostra como carregar e extrair dados de fontes type1 em aplicações C++.

Ler informações de Métricas de Fonte de Fontes Type1 em Aplicativos 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);

 Português