Yazı tipleri, farklı stillere, ağırlıklara vb. sahip yazdırılabilir veya görüntülenebilir karakterler kümesidir. Farklı gereksinimlere dayalı olarak belgelere veya web sayfalarına farklı bir görünüm ve his eklemek için kullanılırlar. Yazı tipi dosyaları, yazı tipiyle ilgili tasarımı ve diğer bilgileri içerir. Bu yazıda, bir yazı tipinin Java ile programlı olarak Latin sembollerini destekleyip desteklemediğini tespit etmek için yazı tipi dosyalarını kullanacağız.

TrueType ve Type1 Yazı Tiplerinde Latin Sembollerini Algılamak için Java API

Aspose.Font for Java, TrueType, CFF, Type1 vb. gibi yazı tipleriyle çalışmaya yönelik bir kitaplıktır. API, yükleme, kaydetme ve yazı tipleriyle ilgili bilgilerin ayıklanması. API ayrıca yazı tiplerinde Latin sembolleri desteğini algılamanıza olanak tanır. API’yi Maven kullanarak indirebilir veya JAR’ı indirilenler bölümünden indirebilirsiniz.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.4</version>
</dependency>

Java kullanarak TrueType Yazı Tiplerinde Latin Sembollerini Algılama

Aşağıdakiler, belirli bir TrueType yazı tipinin Latin sembollerini destekleyip desteklemediğini algılamak için gereken adımlardır.

  • Yazı tipi dosyasını kullanarak FontDefinition sınıfının bir örneğini oluşturun.
  • Önceki adımda oluşturulan FontDefinition nesnesini kullanarak TtfFont sınıfının bir örneğini oluşturun.
  • Farklı kodlar arasında geçiş yapın ve bunları glif kimliklerine dönüştürün.
  • Latin sembollerinin desteği için glif kimliklerini kontrol edin.

Aşağıdaki örnek kod, belirli bir TrueType yazı tipinin Latin sembollerini destekleyip desteklemediğinin nasıl algılanacağını gösterir.

// Yazı tipi dosyası yolu
String fileName = Utils.getDataDir() + "Montserrat-Regular.ttf"; //Font file name with full path

// Yazı tipi dosyasını yükleyin
FontDefinition fd = new FontDefinition(FontType.TTF, new FontFileDefinition("ttf", new FileSystemStreamSource(fileName)));
TtfFont ttfFont = (TtfFont) Font.open(fd);

boolean latinText = true;

// Latin sembollerinin desteğini kontrol edin
for (int code = 65; code < 123; code++)
{
    GlyphId gid = ttfFont.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", ttfFont.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", ttfFont.getFontName()));
}

Java kullanarak Type1 Yazı Tiplerinde Latin Sembollerini Algılama

Type1 yazı tiplerinde Latin sembolleri desteğini algılama süreci, TrueType yazı tiplerine benzer. Tek fark, yazı tipi bilgilerine erişmek için Type1Font sınıfını kullanacağız. Aşağıdakiler, Type1 yazı tiplerinde Latin sembolleri desteğini algılama adımlarıdır.

  • Yazı tipi dosyasını kullanarak FontDefinition sınıfının bir örneğini oluşturun.
  • Önceki adımda oluşturulan FontDefinition nesnesini kullanarak Type1Font sınıfının bir örneğini oluşturun.
  • Farklı kodlar arasında geçiş yapın ve bunları glif kimliklerine dönüştürün.
  • Latin sembollerinin desteği için glif kimliklerini kontrol edin.

Aşağıdaki örnek kod, belirli bir Type1 yazı tipinin Latin sembollerini destekleyip desteklemediğinin nasıl algılanacağını gösterir.

// Yazı tipi dosyası yolu
String fileName = Utils.getDataDir() + "courier.pfb"; //Font file name with full path

// Yazı tipi dosyasını yükleyin
FontDefinition fd = new FontDefinition(FontType.Type1, new FontFileDefinition("pfb", new FileSystemStreamSource(fileName)));
Type1Font font = (Type1Font) Font.open(fd);

boolean latinText = true;

// Latin sembollerinin desteğini kontrol edin
for (int code = 65; code < 123; code++)
{
    GlyphId gid = font.getEncoding().decodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.getNotDef())
    {
        latinText = false;
    }
}

if (latinText)
{
    System.out.println(MessageFormat.format("Font {0} supports latin symbols.", font.getFontName()));
}
else
{
    System.out.println(MessageFormat.format("Latin symbols are not supported by font {0}.", font.getFontName()));
}

Ücretsiz Lisans Alın

API’yi değerlendirme kısıtlamaları olmaksızın denemek için [ücretsiz bir geçici lisans] talep edebilirsiniz13.

Çözüm

Bu makalede, Java kullanarak yazı tiplerinde Latin sembolleri desteğini nasıl tespit edeceğinizi öğrendiniz. Paylaşılan kod örnekleri, belirli bir yazı tipinin Latin sembollerini destekleyip desteklemediğini tespit etmenizi sağlar. Aspose.Font for Java, yazı tipleriyle çalışmak için resmi belgeleri ziyaret ederek ayrıntılı olarak keşfedebileceğiniz birçok ek özellik sağlar. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız