Cargue archivos de fuentes desde una matriz de bytes

Solución API de C++ para cargar fuentes TTF, WOFF, EOT, Type 1 y CFF desde un MemoryStream.

 

La solución API Aspose.Font le brinda amplias capacidades para trabajar con fuentes, incluida la conversión, la manipulación de glifos, la detección de símbolos latinos y muchas más. Pero el primer paso en la manipulación de fuentes es cargar los archivos de fuentes para usarlos más tarde.

Este artículo describe cómo cargar archivos de fuentes desde secuencias, pero para obtener información más detallada sobre la carga de fuentes, consulte el artículo ¿Cómo cargar archivos? . Allí encontrará numerosos ejemplos de código C++ y comprenderá los objetos y parámetros necesarios para la carga de fuentes.

La API admite varios formatos de fuente, incluidos TrueType (fuente única), TrueType (colección de fuentes), formato de fuente abierta web, formato de fuente abierta web versión 2.0, OpenType incrustado, fuente Adobe Type 1 (pfa, pfb, afm, pfm) y Formato de fuente compacto. Los fragmentos de código proporcionados demuestran cómo cargar un archivo de fuente True Type (TTF) desde una secuencia.

Como podemos aprender de Wikipedia TTF significa TrueType Font y es un formato de archivo para fuentes de computadora escalables. Originalmente fue desarrollado por Apple Computer, pero ahora se usa ampliamente en los sistemas operativos Mac y Windows. Los archivos TTF contienen instrucciones sobre cómo representar cada carácter de una fuente en diferentes tamaños y estilos de fuente, y se pueden cambiar de tamaño y usar fácilmente en diferentes aplicaciones sin perder calidad. Las fuentes TTF se usan ampliamente para tipografía digital y se usan comúnmente en diseño web, procesamiento de textos y autoedición.

Para cargar fuentes, necesitará la API Aspose.Font para C++, que es una API de manipulación y conversión de documentos potente y fácil de usar para la plataforma C++. Para obtener la API, abra el administrador de paquetes NuGet y busque Aspose.Font, luego instálelo. También puede usar el siguiente comando en la consola del administrador de paquetes.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Cargue TTF desde una matriz de bytes/MemoryStream usando C++

Este fragmento de código está escrito en C++ y muestra cómo cargar un archivo de fuente TrueType (TTF) mediante la API de Aspose.Font. El código realiza los siguientes pasos:

  1. Construya la ruta al archivo de fuente. Aquí, DataDir es una variable predefinida que contiene la ruta al directorio donde se encuentra el archivo de fuente Montserrat-Regular.ttf. El método Path.Combine combina las dos rutas para crear la ruta completa al archivo de fuente.
  2. Cargue los datos binarios de la fuente en una matriz de bytes. El método File.ReadAllBytes() lee el contenido del archivo de fuente y devuelve los datos como una matriz de bytes.
  3. Inicialice un objeto FontDefinition . FontType.TTF indica que el archivo de fuente es una fuente TrueType (.ttf) y el nuevo ByteContentStreamSource (fontBytes) crea un objeto ByteContentStreamSource basado en los datos binarios de fuentes almacenados en la matriz fontBytes.
  4. Cargue la fuente. El método Font.Open() toma el objeto FontDefinition como parámetro y devuelve la fuente cargada , que luego se puede utilizar para otras manipulaciones.

Código C++ para cargar fuentes desde la secuencia

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
     // Construct the path to the file
    System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");

	// Load font binary data into the byte array
    System::ArrayPtr<uint8_t> fontBytes = System::IO::File::ReadAllBytes(fontPath);
    
    // Initialize the FontDefinition object  passing TTF as the FontType value, "ttf" as the fileExtension value, 
    // and ByteContentStreamSource object based on the fontBytes array
    System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition (Aspose::Font::FontType::TTF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));

     // Load the font
    System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);



Preguntas más frecuentes

1. ¿Cuáles son los parámetros para cargar fuentes mediante programación?

Para cargar correctamente la fuente, debe conocer dos parámetros clave. Son formato de fuente y almacenamiento.

2. ¿Dónde se encuentran las fuentes en mi computadora?

Para ver las fuentes disponibles en su computadora, vaya al directorio C:>Windows>Fonts. Allí podrá administrar sus fuentes.

3. ¿Cómo cargar una fuente de una secuencia?

Establezca la matriz de baño utilizando FontFileDefinition y cree el objeto mediante el método Open(). Especifique el formato de fuente. Termine de cargar usando el método Aspose.Font.Font.Open().