Cargar archivos de fuentes desde un array de bytes
Solución API C++ para cargar TTF, WOFF, EOT, Type 1, y CFF fuentes desde un MemoryStream.
Aspose.Font API Solution 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 mucho más. Pero el primer paso en la manipulación de fuentes es cargar los archivos de fuentes para usarlos posteriormente.
Este artículo describe cómo cargar archivos de fuentes desde flujos, pero para obtener información más detallada sobre la carga de fuentes, consulte el artículo How to Load Files? . Allí encontrará numerosos ejemplos de código C++ y comprenderá los objetos y parámetros necesarios para la carga de fuentes.
La API soporta varios formatos de fuentes, incluyendo TrueType (fuente única), TrueType (colección de fuentes), Web Open Font Format, Web Open Font Format versión 2.0, Embedded OpenType, Adobe Type 1 (pfa, pfb, afm, pfm), y Compact Font Format. Los fragmentos de código proporcionados demuestran cómo cargar un archivo True Type Font (TTF) desde un flujo.
Como podemos aprender de Wikipedia TTF significa TrueType Font y es un formato de archivo para fuentes de computadora escalables. Fue desarrollado originalmente por Apple Computer, pero ahora se usa ampliamente tanto en sistemas operativos Mac como Windows. Los archivos TTF contienen instrucciones sobre cómo renderizar cada carácter de una fuente en diferentes tamaños y estilos, y pueden redimensionarse fácilmente y usarse en diferentes aplicaciones sin perder calidad. Las fuentes TTF se usan mucho en tipografía digital y son comunes en diseño web, procesamiento de textos y publicación de escritorio.
Para cargar fuentes, necesitará Aspose.Font para la API C++, que es una poderosa y fácil de usar API de manipulación y conversión de documentos para la plataforma C++. Para obtener la API, abra el gestor de paquetes NuGet y busque Aspose.Font, luego instálela. También puede usar el siguiente comando en la consola del Administrador de paquetes.
Package Manager Console Command
PM> Install-Package Aspose.Font
Cargar TTF desde array de bytes/MemoryStream usando C++
Este fragmento de código está escrito en C++ y demuestra cómo cargar un TrueType Font (TTF) usando la API Aspose.Font. El código realiza los siguientes pasos:
- Construir 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.
- Cargar los datos binarios de la fuente en un array de bytes. El método File.ReadAllBytes() lee el contenido del archivo de fuente y devuelve los datos como un array de bytes.
- Inicializar un objeto FontDefinition . FontType.TTF indica que el archivo de fuente es un TrueType Font(.ttf) y el nuevo ByteContentStreamSource (fontBytes) crea un objeto ByteContentStreamSource basado en los datos binarios de la fuente almacenados en el array fontBytes.
- Cargar la fuente. El método Font.Open() toma el objeto FontDefinition como parámetro y devuelve la fuente cargada, que luego puede usarse para manipulaciones posteriores.
Código C++ para cargar fuentes desde el flujo
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);