Conversión de fuentes. Detalles avanzados | .NET

En algunos casos, tiene sentido leer/modificar los datos de la fuente convertida antes de guardar la fuente.

El método Aspose.Font.Font.Convert(FontType fontType) se diseñó para estos casos. Este método convierte una fuente al tipo especificado y devuelve el objeto heredado de la clase Aspose.Font.Font que corresponde al valor FontType, pasado al método Convert().

La siguiente tabla muestra un mapa de coherencia entre FontType valores y objetos, heredado de la clase base Aspose.Font.Font.

Tipo de fuenteObjeto de fuente
TTFAspose.Font.Ttf.TtfFont
Type1Aspose.Font.Type1.Type1Font
CFFAspose.Font.Cff.CffFont
OTFAspose.Font.Ttf.TtfFont
Type1Aspose.Font.Type1.Type1Font
CFFAspose.Font.Cff.CffFont

Utilice el objeto de fuente resultante para acceder/cambiar las propiedades de la fuente antes de guardar la fuente resultante o en lugar de guardar la fuente resultante.

En este momento, el método Convert() solo admite la conversión al formato de fuente TrueType (FontType.TTF), por lo que siempre devuelve el objeto de tipo TtfFont como resultado de la conversión, independientemente de la fuente de origen utilizada.

El siguiente fragmento de código carga la fuente CFF CenturyGothic desde el disco, la convierte al formato TrueType y cambia el nombre de la fuente convertida a “CenturyGothic_Converted”.

Cumplir con las siguientes acciones:

  1. Cargar la fuente CFF de origen
1- Cree una `FontDefinition` que combine el tipo de fuente deseado (`FontType.CFF`) con el `fontFileDef` creado previamente:
2```csharp
3var fontDefinition = new FontDefinition(FontType.CFF, fontFileDef);
  1. Convertir la fuente a TrueType
1Aspose.Font.Font turnedFont = font.Convert(FontType.TTF); ```
2- El método `Convert` lee los datos CFF de origen, aplica el algoritmo de conversión y devuelve una nueva instancia `Aspose.Font.Font` que representa internamente una fuente TrueType (`TtfFont`).
3- Esta `convertedFont` genérica se puede convertir al tipo `Aspose.Font.Ttf.TtfFont` concreto para acceder a propiedades específicas de TrueType.
4
53. **Convertir el resultado a la clase TrueType concreta y renombrar** 
6- Convertir de forma segura la `convertedFont` genérica a la clase TrueType concreta:
7```csharp
8Aspose.Font.Ttf.TtfFont destFont = turnedFont as Aspose.Font.Ttf.TtfFont;
1destFont.FontName = "CenturyGothic_Converted";
  1. Preparar la ruta del archivo de salida
1string outPath = Path.Combine(OutputDir, "CffToTtf_out.ttf");
  1. Guardar la fuente TrueType convertida
1destFont.Save(outPath);
1bool exists = System.IO.File.Exists(outPath);
 1 
 2    // Open cff font
 3    string fontPath = Path.Combine(DataDir, "CenturyGothic.cff");
 4    FontDefinition fontDefinition = new FontDefinition(FontType.CFF, new FontFileDefinition("cff", new FileSystemStreamSource(fontPath)));
 5    Font font = Font.Open(fontDefinition);
 6
 7    // Convert font into TrueType format and cast font returned to Aspose.Font.Ttf.TtfFont
 8    Aspose.Font.Ttf.TtfFont destFont = font.Convert(FontType.TTF) as Aspose.Font.Ttf.TtfFont;
 9
10    // Change name of converted font
11    destFont.FontName = "CenturyGothic_Converted";
12
13    // Ttf output settings
14    string outPath = Path.Combine(OutputDir, "CffToTtf_out.ttf");
15
16    // Save resultant font with font name changed
17    destFont.Save(outPath);

La gama completa de ejemplos para usar Aspose.Font para .NET se encuentra en la solución Aspose.Font.Examples.sln, en la carpeta net-examples del repositorio de Github Aspose.Font Documentation.