Conversão de fonte. Detalhes avançados | .NET

Em alguns casos, há um sentido de ler/modificar os dados da fonte convertida antes de salvar a fonte.

O método Aspose.Font.Font.Convert(FontType fontType) foi concebido para estes casos. Este método converte um tipo de letra para o tipo especificado e devolve o objeto herdado da classe Aspose.Font.Font que corresponde ao valor de FontType, passado para o método Convert().

A tabela seguinte mostra um mapa de coerência entre FontType valores e objetos, herdados da classe Aspose.Font.Font.

Tipo de fonteObjeto de fonte
TTFAspose.Font.Ttf.TtfFont
Type1Aspose.Font.Type1.Type1Font
CFFAspose.Font.Cff.CffFont
OTFAspose.Font.Ttf.TtfFont

Use o objeto de fonte resultante para acessar/alterar as propriedades da fonte antes de salvar a fonte resultante ou em vez de salvar a fonte resultante.

Neste momento, o método Convert() suporta a conversão apenas para o formato de fonte TrueType (FontType.TTF), pelo que devolve sempre o objeto do tipo TtfFont como resultado da conversão, independentemente da fonte de origem utilizada.

Cumprir as próximas ações:

  1. Carregue a fonte CFF de origem
1string fontPath = Path.Combine(DataDir, "CenturyGothic.cff");

Isto garante o local correto do ficheiro, independentemente do sistema operativo.

1var fontFileDef = new FontFileDefinition("cff", new FileSystemStreamSource(fontPath));
1var fontDefinition = new FontDefinition(FontType. CFF, fontFileDef);
  1. Converta a fonte para TrueType
1Aspose.Font.Font convertedFont = font.Convert(FontType.TTF);
  1. Transforme o resultado na classe TrueType concreta e renomeie
1Aspose.Font.Ttf.TtfFont destFont = convertedFont as Aspose.Font.Ttf.TtfFont;
1destFont.FontName = "CenturyGothic_Converted";
  1. Prepare o caminho do ficheiro de saída
1string outPath = Path.Combine(OutputDir, "CffToTtf_out.ttf");
  1. Guarde a fonte TrueType convertida
1destFont. Save(outPath);
1bool exists = System.IO.File.Exists(outPath);
 1 
 2    // Abra a fonte CFF
 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);

A gama completa de exemplos para o uso de Aspose.Font para.net é colocada em solução Aspose.Font.examples.sln, na pasta net-examples da documentação Aspose.Font GitHub.