Clases de fuentes para formatos de fuentes admitidos | .NET
Jerarquía de clases de Aspose.Font
La jerarquía de clases Aspose.Font para admitir fuentes de diferentes formatos es bastante simple.
La clase Font es una clase base única y cualquier clase que admita algún formato de fuente heredado de Font. Hay información común para fuentes de todos los formatos recopilados en esta clase. Esta información incluye datos como estilo de fuente, nombre de fuente, nombre de fuente postscript, familia de fuentes, métricas de fuente, número de glifos de la fuente, codificación, etc.
La clase
Font es una clase abstracta, por lo que la instancia del objeto de tipo Aspose.Font.Font
no se puede crear directamente.
La referencia al objeto recién creado es devuelta por los métodos estáticos de esta clase que son responsables de la carga de la fuente, familia de métodos sobrecargados Open().
En cuanto a la información específica de uno u otro formato de fuente, los responsables de proporcionar dicha información son los objetos heredados de la base Aspose.Font.Font
.
El único dato, específico para el formato de fuente, que incluye la clase base
Font, es el valor de la enumeración
FontType.
Las siguientes clases se heredan de Aspose.Font y se utilizan para trabajar con un formato de fuente específico: TtfFont, Type1Font, CffFont.
Interrelaciones entre el formato de fuente, el valor FontType y el tipo de objeto Aspose.Font
La siguiente tabla muestra la conformidad entre los formatos admitidos por Aspose.Font, los valores correspondientes a estos formatos de la enumeración FontType y las clases utilizadas para manipular cada uno de estos formatos.
Formato de fuente | Valor de tipo de fuente | Tipo de objeto Aspose.Font |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
Interrelaciones entre el formato de archivo de fuente, el valor FontType y el tipo de objeto Aspose.Font
Los formatos de las fuentes antes mencionadas de la enumeración FontType son términos más amplios que los formatos de archivo para esas fuentes.
Por ejemplo, el formato TrueType
cubre los siguientes formatos de archivo disponibles para cargar con Aspose.Font: ttf
, ttc
, eot
, woff
, woff2
. Entonces, la característica común de las fuentes con extensiones .ttf
, .ttc
, .eot
, .woff
, .woff2
es que todas están relacionadas con la familia de fuentes TrueType
.
Es por eso que, si reemplazamos en la tabla la columna “Formato de fuente” por la columna “Formato de archivo de fuente”, obtendremos la siguiente tabla de relaciones entre formatos de archivos de fuente, ajustándose a ellos los valores de FontType, y objetos destinados a trabajar con el formato de fuente correspondiente en Aspose.Font.
Formato de archivo de fuente | Valor FontType | Tipo de objeto Aspose.Font |
---|---|---|
ttf , ttc , eot , woff , woff2 | TTF | TtfFont |
pfa , pfb | Type 1 | Type1Font |
afm , pfm | Type 1 | Type1MetricFont |
binary data of Compact Font Format type | CFF | CffFont |
Funcionalidad de la clase Aspose.Font.Font
La funcionalidad está definida por la clase Font y se puede dividir en varias áreas.
Funcionalidad definida por interfaces que implementa la clase Font
La interfaz más importante de la lista de interfaces de fuentes es la interfaz IFont. Proporciona propiedades para las interfaces IGlyphAccessor y IFontSaver, que son implementadas por la clase Font, por lo que toda la funcionalidad, definida por las interfaces que implementa la clase Font está cubierta por esto IFont interfaz.
La interfaz IFont define propiedades que son comunes para todos los formatos de fuente admitidos por Aspose.Font. A continuación se muestran las descripciones de cada propiedad.
Propiedades para manipular formatos de fuente.
- cadena FontName - el nombre de la fuente.
- MultiLanguageString FontNames - nombre de la fuente en diferentes idiomas.
- MultiLanguageString PostscriptNames - nombre postscript de la fuente, en diferentes idiomas.
- cadena FontFamily - el nombre de la familia de fuentes. Para obtener más detalles sobre las familias de fuentes, consulte el capítulo Familia de fuentes.
- FontType FontType - tipo de formato de fuente, representado por la enumeración FontType.
- FontStyle FontStyle - valor de estilo de fuente de la enumeración FontStyle. Obtenga más información sobre estilos de fuente.
- cadena Style - el nombre del estilo de fuente, similar a la propiedad FontStyle, representado en su forma de cadena sin formato, proporcionado por los datos de la fuente.
- FontDefinition FontDefinition - un objeto que describe el formato y la fuente desde donde cargar la fuente. Vaya a Cómo cargar fuentes donde podrá aprender en detalle cómo trabajar con este objeto.
- int NumGlyphs - obtiene el número de glifos de la fuente.
- IFontMetrics Metrics - obtiene una referencia en la interfaz IFontMetrics que proporciona funcionalidad relacionada con métricas de fuentes comunes.
- IFontEncoding Encoding- obtiene una referencia en la interfaz IFontEncoding, que proporciona funcionalidad de codificación.
- IGlyphAccessor GlyphAccessor - obtiene una referencia en la interfaz IGlyphAccessor, que proporciona funcionalidad para recuperar identificadores de glifos y glifos específicos.
- IFontSaver FontSaver - proporciona una funcionalidad para guardar fuentes con la interfaz IFontSaver.
Además, la interfaz
IFont define el método
Convert(), que se utiliza para convertir la fuente a otro formato.
Por el momento hay conversiones disponibles de cualquier formato compatible con Aspose.Font para leer al formato TTF
.
Formatos de fuente admitidos se representan en la tabla.
Ver Convertidor de fuentes para obtener información adicional sobre cómo convertir fuentes con Aspose.Font.
Carga de fuentes
La funcionalidad de carga de fuentes no está cubierta por las interfaces implementadas y esta funcionalidad está representada por la familia de métodos estáticos Open(). Los parámetros para pasar a estos métodos se describen en el artículo ¿Cómo cargar fuentes?.
Guardar fuente
La clase Font implementa la interfaz IFontSaver, que declara funcionalidad para operaciones de guardado de fuentes. Para guardar una fuente, utilice uno de los métodos sobrecargados Save() y pase el nombre del archivo de fuente o la secuencia donde escribir la fuente.
En algunos casos es necesario guardar una fuente en otro formato. Por ejemplo, muchas páginas web prefieren trabajar con fuentes en formato “WOFF” y si desea colocar su fuente en dicha página, tendrá que guardarla en formato “WOFF”. El método SaveToFormat() fue diseñado para tales casos.
Clases heredadas de la clase base Aspose.Font.Font
Clases CffFont y Type1Font
Estas clases se utilizan para trabajar con fuentes de formato de fuente “Compact Font Format” y Adobe “Type 1”, respectivamente. Estas clases anulan ciertas propiedades y métodos de la clase Font, adaptándolos al formato de fuente real.
Clase TtfFont
Esta clase está diseñada para admitir fuentes de formato “TrueType”.
Se puede obtener una referencia a un objeto de este tipo llamando al método estático
Font.Open(), pasando TTF
, como valor para la enumeración
FontType. El método
Font.Open() devuelve una referencia en el tipo base
Font, por lo que la referencia obtenida debe convertirse al tipo de objeto TtfFont
.
Como se sabe por la especificación del formato “TrueType”, los datos de la fuente se representan en diferentes tablas.
Por el momento, la biblioteca Aspose.Font admite las siguientes tablas:
head
, cmap
, glyf
, loca
, hhea
, hmtx
, maxp
, OS/2
, name
, post
, kern
, cvt
, fpgm
, preparación
.
*Está previsto implementar la compatibilidad con otras tablas especificadas por el estándar “TrueType” en un futuro próximo.
Soporte para tablas TrueType
en Aspose.Font implementadas por clases del espacio de nombres
Aspose.Font.TtfTables.
Cada clase que admite alguna tabla tiene un nombre relacionado con el nombre de la tabla correspondiente.
La denominación de la clase se cumple según la siguiente regla:
el nombre de cada clase tiene el prefijo Ttf
, este prefijo va seguido del nombre de la tabla y luego la palabra “Tabla” termina el nombre de la clase.
Por ejemplo, la tabla head
está soportada por la clase
TtfHeadTable, la tabla hhea
está soportada por la clase
TtfHheaTable, y así sucesivamente.
Las referencias a todas las clases que admiten tablas TrueType
son recopiladas por el objeto de tipo
TtfTableRepository.
La clase
TtfFont proporciona la referencia al objeto
TtfTableRepository como propiedad
TtfTables, por lo que es posible obtener acceso a cualquier tabla TrueType
usando la sintaxis font.TtfTables
, donde font
es la referencia del tipo TtfFont
.
La compatibilidad con las funciones de fuente OpenType
está representada por la propiedad
CffFont. Esta propiedad devuelve la referencia al objeto
Font, cargado desde la tabla CFF
, que contiene una representación de fuente en formato de fuente compacta
.
Propiedad IsSymbolic utilizada para detectar si la fuente es simbólica: fuente especializada, es decir, compuesta de caracteres no alfabéticos, gráficos o ambos.
Acceso a glifos de fuentes
La clase
TtfFont proporciona una funcionalidad ampliada para acceder a los glifos de fuentes. Además de los métodos, definidos por la interfaz
IGlyphAccessor,
TtfFont proporciona dos métodos sobrecargados con el nombre
GetGlyphById(), que requieren identificadores de glifos en forma de número entero o cadena.
Usar estos métodos funciona más rápido que usar el método GetGlyphById() de la interfaz IGlyphAccessor. Además, la clase TtfFont proporciona un conjunto de métodos sobrecargados GetGlyphComponentsById(). Estos métodos están diseñados para trabajar con glifos compuestos.
Glifo compuesto es un glifo que hace referencia a uno o más glifos en la fuente. Por ejemplo, el glifo del carácter Ä (Unicode U+00C4) puede estar compuesto por el glifo del carácter A (como glifo base) y el glifo de marca de diéresis.
Los métodos GetGlyphComponentsById() toman el identificador del glifo compuesto y devuelven la lista de glifos a los que hace referencia el glifo compuesto transferido.