Un símbolo de carácter latino es un carácter en forma de marca, signo o palabra. La fuente define cómo se mostrarán los caracteres/símbolos digitalmente o en forma imprimible utilizando un conjunto de propiedades. El archivo de fuente contiene el diseño y otra información sobre la fuente. En ciertos casos, es posible que debamos verificar si alguna fuente específica admite símbolos latinos o no. En este artículo, aprenderemos cómo comprobar la compatibilidad de los símbolos latinos con las fuentes TrueType o Type1 en C#.
En este artículo se tratarán los siguientes temas:
- API de C# para detectar compatibilidad con símbolos latinos en fuentes
- Detectar símbolos latinos en fuentes TrueType usando C#
- Detectar símbolos latinos en fuentes Type1 usando C#
API de C# para detectar compatibilidad con símbolos latinos en fuentes
Para detectar la compatibilidad con símbolos latinos en las fuentes, utilizaremos la API Aspose.Font for .NET. Permite cargar, guardar y extraer información de tipos de fuentes compatibles. Descargue la DLL de la API o instálela usando NuGet.
PM> Install-Package Aspose.Font
Detectar símbolos latinos en fuentes TrueType usando C#
Podemos detectar símbolos latinos en las fuentes TrueType siguiendo los pasos que se detallan a continuación:
- En primer lugar, cargue el archivo de fuente usando la clase FontFileDefinition.
- A continuación, inicialice el objeto de clase FontDefinition con FontType (TTF) y el objeto FontFileDefinition como argumentos.
- Luego, llame al método Font.Open() con el objeto FontDefinition como argumento e inicialice el objeto de clase TtfFont.
- Después de eso, recorra los diferentes códigos y decodifíquelos en Glyph ID.
- Finalmente, verifique los ID de glifo para la compatibilidad con símbolos latinos.
El siguiente ejemplo de código muestra cómo detectar si una fuente TrueType en particular admite símbolos latinos o no en C#.
// Este ejemplo de código demuestra cómo detectar si una fuente TrueType en particular admite símbolos latinos o no.
// Ruta del archivo TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Cargue el archivo de fuente
FontFileDefinition fontFileDefinition = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));
// Objeto de definición de fuente
FontDefinition fd = new FontDefinition(FontType.TTF, fontFileDefinition);
// abre la fuente
TtfFont font = (TtfFont)Font.Open(fd);
var latinText = true;
// Compruebe el soporte de símbolos latinos
for (uint code = 65; code < 123; code++)
{
GlyphId gid = font.Encoding.DecodeToGid(code);
if (gid == null || gid == GlyphUInt32Id.NotDefId)
{
latinText = false;
}
}
if (latinText)
{
Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}
Detectar símbolos latinos en fuentes Type1 usando C#
También podemos detectar símbolos latinos en las fuentes Type1 siguiendo los pasos que se detallan a continuación:
- En primer lugar, cargue el archivo de fuente usando la clase FontFileDefinition.
- A continuación, inicialice el objeto de clase FontDefinition con FontType (Type1) y el objeto FontFileDefinition como argumentos.
- Luego, llame al método Font.Open() con el objeto FontDefinition como argumento e inicialice el objeto de clase Type1Font.
- Después de eso, recorre los diferentes códigos y descifralos en Glyph ID.
- Finalmente, verifique los ID de glifo para la compatibilidad con símbolos latinos.
El siguiente ejemplo de código muestra cómo detectar si una fuente Type1 en particular admite símbolos latinos o no en C#.
// Este ejemplo de código demuestra cómo detectar si una fuente Type1 en particular admite símbolos latinos o no.
// Ruta del archivo de fuente Type1
string fontPath = @"D:\Files\font\courier.pfb";
// Cargue el archivo de fuente
FontFileDefinition fontFileDefinition = new FontFileDefinition("pfb", new FileSystemStreamSource(fontPath));
// Objeto de definición de fuente
FontDefinition fd = new FontDefinition(FontType.Type1, fontFileDefinition);
// abre la fuente
Type1Font font = (Type1Font)Font.Open(fd);
var latinText = true;
// Compruebe el soporte de símbolos latinos
for (uint code = 65; code < 123; code++)
{
GlyphId gid = font.Encoding.DecodeToGid(code);
if (gid == null || gid == GlyphUInt32Id.NotDefId)
{
latinText = false;
}
}
if (latinText)
{
Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.
Conclusión
En este artículo, hemos aprendido cómo determinar si una fuente TrueType o Type1 en particular admite símbolos latinos o no en C#. Además, puede obtener más información sobre Aspose.Font for .NET API utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.