Clases de fuentes para formatos de fuentes admitidos | Java
Jerarquía de clases de com.aspose.font
La jerarquía de clases del paquete com.aspose.font cuyo objetivo es 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 com.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 un formato de fuente en particular, los responsables de proporcionar dicha información son los objetos heredados de la base com.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 com.aspose.font.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 com.aspose.font.Font
La siguiente tabla muestra la conformidad entre los formatos admitidos por com.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 com.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 com.aspose.font.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 com.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 fuentes, ajustándose a ellos los valores FontType y los objetos destinados a trabajar. con el formato de fuente correspondiente en com.aspose.font.
Formato de archivo de fuente | Valor FontType | Tipo de objeto com.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 com.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 implementados por la clase Font, por lo que toda la funcionalidad, definida por las interfaces que implementa la clase Font está cubierta por esto Interfaz IFont.
La interfaz IFont define propiedades que son comunes para todos los formatos de fuente admitidos por com.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 clase 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.
Consulte 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 transmita dónde 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 com.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 la clase
TtfTableBase.
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 fuente.TtfTables
, donde font
es la referencia al 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.