2012-10-17 35 views
6

मैं कुछ कस्टम चीनी फ़ॉन्ट फ़ाइलों है:जब मैं बेसफॉन्ट.क्रेटफॉन्ट() को इसके साथ कॉल करता हूं तो मुझे सही एन्कोडिंग कैसे पता चलेगा?

aaa.ttf 
bbb.ttf 
ccc.ttf 

और मैं iText के साथ अपने पीडीएफ बनाने के लिए उन्हें का उपयोग करना चाहते।

इस कोड को मैं एक BaseFont बनाने के लिए उपयोग है:

String encoding = ??? 
BaseFont messageBaseFont = BaseFont.createFont("fonts/aaa.ttf", 
           encoding, 
           BaseFont.EMBEDDED); 

लेकिन मैं encoding लगाने के लिए कैसे पता नहीं है। उदाहरण के लिए aaa.ttf लें:

enter image description here

मैं जानकारी से encoding मिल सकता है? मैंने BaseFont.CP1252 या BaseFont.WINANSI जैसे कुछ एन्कोडिंग की कोशिश की, लेकिन वे काम नहीं कर पाए, आउटपुट खाली पृष्ठ हैं या ?????? वर्ण हैं यदि वे चीनी वर्ण हैं।

उत्तर

8

इस प्रश्न के अलग-अलग जवाब हैं। एक पूर्ण अवलोकन के लिए, आप मेरी पुस्तक "iText in Action" के अध्याय 11 को पढ़ सकते हैं, लेकिन यदि आप केवल सुरक्षित रहना चाहते हैं, तो क्षैतिज पाठ (और पहचान-वी) के लिए पहचान-एच का उपयोग करें। यह वास्तव में एक एन्कोडिंग नहीं है, लेकिन यह पीडीएफ में एक समग्र फ़ॉन्ट बनाएगा जो यूनिकोड का उपयोग करता है: http://api.itextpdf.com/itext/com/itextpdf/text/pdf/BaseFont.html#IDENTITY_H

+0

आपकी सहायता के लिए धन्यवाद, इसके निर्माता। मैंने अभी 'IDENTITY_H' की कोशिश की, और पाया कि वर्ण पीडीएफ में सही ढंग से प्रदर्शित किए जा सकते हैं। – Freewind

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^