2010-07-16 14 views
7

मैं एक JTextArea में यूनिकोड मुद्रित करने का प्रयास कर रहा हूं। मुझे इसे कंसोल पर ठीक प्रिंट करने के लिए मिला है, लेकिन जब मैं इसे टेक्स्टरेरा में प्रिंट करने का प्रयास करता हूं, तो मुझे दो बाइट यूनिकोड वर्णों के लिए बॉक्स मिलते हैं। कोई भी सहायताकाफी प्रशंसनीय होगी।जावा में यूनिकोड प्रदर्शित करना JTextArea

package edu.afit.jieddo; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class JTextAreaDemo extends JFrame { 
    StringBuffer m = new StringBuffer("\u14c7 \u14c4 \u1557 \u00d6"); 
    StringBuffer m2 =new StringBuffer(" means one."); 
    String message = m.append(m2).toString(); 

    public JTextAreaDemo() { 
     super("\u14c7 \u14c4 \u1557 \u00d6"); 
     java.awt.Font font = new java.awt.Font("Arial Unicode MS", java.awt.Font.PLAIN, 18); 
     JTextArea textArea = new JTextArea(message); 
     textArea.setFont(font); 

     java.awt.Container container=this.getContentPane(); 
     container.add(textArea); 
     System.out.println(textArea.getFont().getFamily());// testing output in the command line 
    } 

    public static void main(String[] args) { 
     JTextAreaDemo frame = new JTextAreaDemo(); 
     frame.setFont(new Font("Arial Unicode MS",Font.ITALIC,11)); 
     frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     frame.pack(); 
     frame.setVisible(true); 
    System.out.println("\u14c7 \u14c4 \u1557 \u00d6"); 
     System.out.println(frame.getFont().getFamily());//testing output in the command line 
    } 
} 

उत्तर

3

उन यूनिकोड वर्णों में से, एरियल यूनिकोड एमएस केवल यू +00 डी 6 प्रदान करता है।

DejaVu Sans का उपयोग करने का प्रयास करें।

बीटीडब्ल्यू, FileFormat.info यूनिकोड वर्णों के लिए एक महान संसाधन है। यूनिकोड नंबर: http://www.fileformat.info/info/unicode/char/XXXX/index.htm के साथ इस यूआरएल में बस XXXX को प्रतिस्थापित करें। उदाहरण के लिए: http://www.fileformat.info/info/unicode/char/14C7/index.htm

+0

डेवन, बिल्कुल सही! जबकि मेरे पास देजावु सांस नहीं थे, मेरे पास यूफेमिया था और उसने तुरंत इसे ठीक कर दिया। बहुत बहुत धन्यवाद! – JimmyButterfly

1

मेरे Ubuntu प्रणाली है, जो शायद "Arial Unicode MS" कभी नहीं सुना है पर, अपने कार्यक्रम में कोई बदलाव नहीं कार्यान्वित करता है, दोषरहित। पहले दो अक्षर जो मैं टाइटल बार और टेक्स्ट एरिया में देखता हूं, विभिन्न दिशाओं में इशारा करते हुए घोंघे की तरह दिखता है। या लोअरकेस d और b उनकी पीठ पर झूठ बोलने की तरह।

आकार में बदलाव के अलावा, मैं setFont कॉल को हटाते समय वही वर्ण देखता हूं।

इस प्रकार, यह मेरा शिक्षित अनुमान है कि आपके द्वारा उपयोग किए जा रहे फ़ॉन्ट में वे वर्ण नहीं हैं। उन पात्रों के लिए एर, ग्लिफ।

विंडोज़ में एक फ़ॉन्ट व्यूअर उपयोगिता है जहां आप फ़ॉन्ट में सभी पात्रों को देख सकते हैं। क्या घोंघे दिखते हैं?

+0

कार्ल, मुझे यह बताने के लिए बहुत बहुत धन्यवाद कि मैं पागल नहीं था। मैंने एक हफ्ते कोड को देखकर बिताया है जो ठीक दिखता है और संदेश बोर्डों पर अनुत्तरित संदेश छोड़ देता है। मुझे बहुत खुशी है कि मैंने स्टैक ओवरफ्लो पाया! एक अच्छा सप्ताहांत है! – JimmyButterfly

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