Guardar ficheiros de fonte atualizados no disco

Solução API C++ para guardar fontes previamente carregadas a partir de stream.

 

A solução API Aspose.Font oferece capacidades avançadas para trabalhar com fontes, incluindo conversão, manipulação de glifos, deteção de símbolos latinos e muito mais. O tema deste artigo será a funcionalidade de guardar fontes.

Guardar fontes no disco permite armazenamento a longo prazo e partilha dos dados da fonte. Assim, a fonte pode ser usada em projetos futuros ou pode partilhá‑la com outros para garantir que uma fonte específica está disponível no computador deles.

Além disso, guardar a fonte no disco permite recuperar facilmente os dados da fonte, sem precisar de carregar a fonte de uma origem remota cada vez que for necessária. Isto pode ser útil para fontes grandes ou frequentemente usadas que podem demorar muito a carregar.

Ao guardar fontes no disco, também pode garantir que a fonte está disponível mesmo se a origem original da fonte já não estiver acessível. Isto ajuda a preservar os dados da fonte e torna possível usar a fonte em projetos futuros.

Esta página descreve a opção de como guardar uma fonte TrueType no disco, mas todos os restantes fragmentos de código sobre como usar a solução estão disponíveis no Aspose Github Project .

Para guardar ficheiros de fontes precisamos:

  • Aspose.Font para C++ API que é uma API rica em funcionalidades, poderosa e fácil de usar para manipulação e conversão de documentos na plataforma C++.

  • Abra o gestor de pacotes NuGet, procure por Aspose.Font e instale. Também pode usar o seguinte comando no Console do Gestor de Pacotes.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Passos para guardar a fonte antes modificada usando C++:

Aspose.Font para C++ oferece a capacidade de modificar ficheiros de fonte e armazenar os alterados no disco. O exemplo de código abaixo demonstra como guardar um ficheiro de fonte TTF modificado.

  1. Crie um novo objeto FontFileDefinition object.
  2. Defina FontType como TTF e FontFileDefinition como .ttf.
  3. Estabeleça um objeto TtfFont e abra o ficheiro de fonte usando o objeto FontDefinition definido anteriormente.
  4. Guarde o TtfFont num disco chamando o método Save() e passando o nome do ficheiro de saída com o caminho completo. O ficheiro de fonte guardado terá as alterações atualizadas.

Código C++ para guardar fonte TrueType no disco

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
    //byte array to load Font from
    System::String dataDir = RunExamples::GetDataDir_Data();
    
    System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
    System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    
    //Work with data from the just loaded TtfFont object
    
    //Save The TtfFont to disk
    //Output the Font file name with the full path
    System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
    
    ttfFont->Save(outputFile);