2009-10-20 12 views
6

मुझे एक आवेदन को अंतर्राष्ट्रीय बनाना है, और इसलिए उपयोगकर्ता को पीडीएफ के लिए एक फ़ॉन्ट चुनना है जिसे मैं रनटाइम पर बनाउंगा। मैंजावा में अपाचे एफओपी के साथ नए फोंट का उपयोग

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

इस फोंट प्राप्त करने के लिए ठीक काम करता है का उपयोग कर उपयोगकर्ता के सिस्टम से फ़ॉन्ट विकल्प की एक सूची प्रदर्शित करने के लिए सक्षम होना चाहता हूँ, लेकिन फिर ऐसा लगता है मैं कुछ हुप्स के माध्यम से कूद करने के लिए अच्छा खेलने के लिए उस फ़ॉन्ट प्राप्त करने के लिए कि एफओपी के साथ, here रूपरेखा के रूप में। मैं उन सभी निर्देशों का पालन कर सकता हूं जिन्हें उन्होंने रेखांकित किया है, सिवाय इसके कि मुझे यकीन नहीं है कि टीटीएफ रीडर चलाने के लिए फोंट का स्थान कैसे प्राप्त करें।

  1. क्या किसी को यह पता है कि जावा को getAllFonts() कमांड के साथ एकत्रित प्रत्येक फ़ॉन्ट के पथ को कैसे सूचीबद्ध किया जाए?
  2. क्या पीडीएफ में फोंट एम्बेड करना अच्छा विचार है? उदाहरण के लिए एरियल यूनिकोड एमएस टीएफएफ फ़ाइल ~ 30 एमबी है।
  3. क्या यह एफओपी और एक्सएसएल के साथ अंतर्राष्ट्रीयकृत पीडीएफ बनाने का एकमात्र तरीका है?

उत्तर

7

अंतिम रिलीज (एफओपी 0.95) के साथ फ़ॉन्ट विन्यास में प्रमुख सुधार किया गया है, तो बस दस्तावेज़ वहाँ एक बहुत आसान दृष्टिकोण के लिए विचार-विमर्श करें: http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

एक्सएमएल फ़ॉन्ट मैट्रिक्स फ़ाइलें नहीं रह रहे हैं ज़रूरी।

अपने प्रश्नों के

:

  1. कि असंभव है। जावा आपको वह जानकारी नहीं देगा। यही कारण है कि एफओपी का अपना फ़ॉन्ट उपप्रणाली क्यों है।
  2. हां, वास्तव में इसकी अनुशंसा की जाती है। कृपया ध्यान दें कि एफओपी फ़ॉन्ट सबसेटिंग का समर्थन करता है, इसलिए केवल आवश्यक ग्लिफ पीडीएफ में एम्बेडेड हैं।
  3. सुनिश्चित नहीं है कि आपका क्या मतलब है। उपर्युक्त जानकारी और नवीनतम रिलीज के लिए अपग्रेड के साथ यह इतना आसान बनाना चाहिए।
+1

वेबसाइट, आपने पोस्ट किया है पूरी तरह से काम किया है, और फ़ॉन्ट को सही ढंग से एम्बेड किया है। हालांकि, यह सभी पात्रों को सही तरीके से प्रदर्शित नहीं करता है। मैं एरियल यूनिकोड एमएस (जिसमें अधिकांश यूनिकोड वर्णों के लिए ग्लाइफ हैं) का उपयोग कर रहा हूं, और मैं एक यादृच्छिक चीनी चरित्र प्रस्तुत करने की कोशिश कर रहा हूं, हालांकि, यह एरियल यूनिकोड एमएस में समर्थित है, और पीडीएफ का फ़ॉन्ट एरियल यूनिकोड एमएस है (जिसे मैंने सत्यापित किया है एम्बेडेड है), यह इसे किसी भी विचार के रूप में प्रस्तुत करता है? – Jon