Java

2009-10-20 11 views
6

'da Apache FOP ile yeni yazı tiplerini kullanma Bir uygulamayı uluslararasılaştırmalıyım ve bu nedenle bir kullanıcının çalışma zamanında oluşturacağım bir PDF için bir yazı tipi seçmesine izin vermeliyim. BenJava

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

Bu yazı almak için çalışıyor kullanarak kullanıcının sisteminden yazı tipi seçenekleri listesini görüntülemek için isterler, ama sonra ben güzel oynamak için bu yazı almak için bazı çemberler üzerinden atlamak zorunda gibi görünüyor here özetlenen FOP ile. Dışında çizdikleri tüm talimatları takip edebilirim, ancak TTFReader'ı çalıştırmak için yazı tiplerinin konumunu nasıl alacağımı bilmiyorum.

  1. Java'nın getAllFonts() komutuyla topladığı her yazı tipinin yolunu nasıl listeleyeceğini bilen var mı?
  2. Yazı tiplerini PDF'lere gömmek iyi bir fikir midir? Örneğin Arial Unicode MS TFF dosyası ~ 30 MB'dir.
  3. FOP ve XSL ile uluslararası pdf'leri oluşturmanın tek yolu bu mu?

cevap

7
son sürümü (FOP 0.95) ile yazı tipi yapılandırmasında önemli ilerlemeler olmuştur

, bu yüzden sadece çok daha kolay bir yaklaşım için orada belgeyi başvurun: http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

XML yazı tipi ölçülerine dosyaları artık gerekli. sorularınızın için

: imkansız

  1. . Java size bu bilgiyi vermez. Bu kısmen FOP'un kendi yazı tipi alt sistemine sahip olması.
  2. Evet, aslında önerilir. FOP'un font alt kümesini desteklediğini lütfen unutmayın, bu yüzden sadece gerekli olan glifler PDF'ye gömülüdür.
  3. Ne demek istediğinizden emin değilsiniz. Yukarıdaki bilgiler ve en son sürüme yükseltme ile bu kadar basit olması gerekir.
+1

Gönderdiğiniz web sitesi, mükemmel bir şekilde çalıştı ve yazı tipini doğru bir şekilde gömdü. Ancak, tüm karakterleri doğru şekilde göstermez. Arial Unicode MS (çoğu unicode karakter için glifleri olan) kullanıyorum ve Arial Unicode MS'de desteklenen olsa da, rastgele bir Çince karakter oluşturmaya çalışıyorum ve PDF'nin yazı tipi Arial Unicode MS'dir. (doğruladığım doğrulanmış), herhangi bir fikir olarak yorumluyor? – Jon