WOFF (Web Açık Yazı Tipi Formatı) temel olarak bir TTF (True Type Yazı Tipi)‘dir ancak formata özel sıkıştırma ve ek XML meta verileri içerir. WOFF2, WOFF’un genişletilmiş bir sürümüdür. WOFF’a kıyasla daha fazla sıkıştırma sunar. Web sayfalarında hem WOFF hem de WOFF2 kullanılır. Öte yandan, TTF (True Type Font) tüm dijital platformlarda sorunsuz çalışır ve ekranda ve basılı belgelerde mükemmel kalite sunar. Bazı durumlarda, gerçek tip yazı tiplerini Java uygulamalarında programlı olarak Web yazı tiplerine dönüştürmemiz gerekebilir. Bu yazıda, Java kullanarak TTF’yi WOFF ve WOFF2’ye nasıl dönüştüreceğimizi öğreneceğiz.
Bu yazıda aşağıdaki konular ele alınacaktır:
- TTF’yi WOFF ve WOFF2’ye Dönüştürmek için Java API
- Java kullanarak TTF’yi WOFF’a dönüştürün
- Java kullanarak TTF’yi WOFF2’ye dönüştürün
TTF’yi WOFF ve WOFF2’ye Dönüştürmek için Java API
TTF’yi WOFF’a dönüştürmek için Aspose.Font for Java API’sini kullanacağız. Font dosya tanımını temsil eden FontFileDefinition sınıfını sağlar. Ayrıca, Font dosyası kümesi tanımını temsil eden ve Font’un ad, tür vb. gibi temel ayrıntılarını sağlayan FontDefinition sınıfını sağlar. Bu sınıfın Open() yöntemi, font dosyası ve font türü için FontDefinition’ı döndürür. Font sınıfının SaveToFormat() yöntemini kullanarak yüklenen fontu başka biçimlere dönüştürebiliriz. Ayrıca API, desteklenen yazı tipi türlerinden bilgi yüklenmesine, kaydedilmesine ve çıkarılmasına olanak tanır.
Lütfen API’nin JAR’ını indirin veya Maven tabanlı bir Java uygulamasında aşağıdaki pom.xml yapılandırmasını ekleyin.
<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.12</version>
<type>pom</type>
</dependency>
Java kullanarak TTF’yi WOFF’a dönüştürün
Aşağıda verilen adımları izleyerek True Type Fontları (TTF) Web Open Font Formatına (WOFF) kolayca dönüştürebiliriz:
- İlk olarak, FileSystemStreamSource sınıfını kullanarak yazı tipi dosyasını yükleyin.
- Ardından, bağımsız değişken olarak kaynak dosya nesnesiyle FontFileDefinition sınıfının bir örneğini oluşturun.
- Ardından, FontDefinition sınıf nesnesini Font türü olarak TTF ve FontFileDefinition nesnesi ile başlatın.
- Bundan sonra, bağımsız değişken olarak FontDefinition nesnesiyle Font.Open() yöntemini kullanarak yazı tipini açın.
- Son olarak, kaydetmek için SaveToFormat() yöntemini çağırın. Çıktı dosyası yolunu ve FontSavingFormats‘ü bağımsız değişken olarak WOFF’a alır.
Aşağıdaki kod örneği, Java kullanılarak TTF’nin WOFF’a nasıl dönüştürüleceğini gösterir.
// Bu kod örneği, TTF'nin WOFF'a nasıl dönüştürüleceğini gösterir.
// TTF dosya yolu
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Yazı tipi dosyasını yükleyin
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Yazı tipi dosyası tanımı oluştur
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Yazı tipi tanımı oluştur
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Yazı tipini aç
Font font = Font.open(fontDefinition);
// WOFF çıkış yolu
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);
// TTF'yi WOFF'ye dönüştür
font.saveToFormat(outStream, FontSavingFormats.WOFF);
Java kullanarak TTF’yi WOFF2’ye dönüştürün
WOFF2, WOFF’un güncellenmiş bir sürümüdür. Dosya boyutunun daha küçük olması nedeniyle daha fazla sıkıştırma sunar ve modern tarayıcılar için daha iyi performans sağlar. Daha önce bahsedilen adımları izleyerek TTF’yi WOFF2’ye de dönüştürebiliriz. Ancak son adımda FontSavingFormats’ı WOFF2 olarak ayarlamamız yeterli.
Aşağıdaki kod örneği, Java kullanılarak TTF’nin WOFF2’ye nasıl dönüştürüleceğini gösterir.
// Bu kod örneği, TTF'nin WOFF2'ye nasıl dönüştürüleceğini gösterir.
// TTF dosya yolu
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// Yazı tipi dosyasını yükleyin
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Yazı tipi dosyası tanımı oluştur
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Yazı tipi tanımı oluştur
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Yazı tipini aç
Font font = Font.open(fontDefinition);
// WOFF çıkış yolu
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);
// TTF'yi WOFF'ye dönüştür
font.saveToFormat(outStream, FontSavingFormats.WOFF2);
Ücretsiz Lisans Alın
Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu yazımızda True Type Yazı Tiplerini Java’da Web Açık Yazı Tiplerine nasıl dönüştüreceğimizi öğrendik. TTF’yi programlı olarak WOFF2 olarak nasıl kaydedeceğimizi de gördük. Ayrıca, belgeleri kullanarak Aspose.Font for Java API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen [forum] üzerinden bizimle iletişime geçmekten çekinmeyin]16.