2012-04-11 5 views
8

मैं एएस 3 में एम्बेडिंग फोंट पर सभी विषयों से गुजर चुका हूं, मुझे लगता है कि, सभी समाधानों का प्रयास किया गया। मैं शायद कुछ स्पष्ट याद कर रहा हूं, लेकिन मैं पूरी तरह से समझ नहीं पा रहा हूं कि मैं क्या कर रहा हूं इसलिए कृपया मुझे सही दिशा में मार्गदर्शन करें। कई उत्तरों में फ़्लैश बिल्डर या कोई अन्य टूल शामिल है लेकिन मैं FlashDevelop का उपयोग करता हूं। कोई फर्क नहीं पड़ता कि क्या मायने रखता है।मैं एएस 3 में एम्बेडेड फोंट क्यों नहीं प्रदर्शित कर सकता हूं?

मैं अपने Main.as में इस लाइन है:

[Embed(source = "assets/SKA_75_marul_CE_extended.ttf", 
fontName = "SKA_75_marul_CE_extended", 
fontWeight = "bold", 
advancedAntiAliasing = "true", 
mimeType = "application/x-font")] 
public static var SKA_75_marul_CE_extended:String; 

और यह एक विस्तारित स्प्राइट के निर्माता में मौजूद है Pointer.as कहा जाता है:

var format:TextFormat = new TextFormat(); 
format.font = "SKA_75_marul_CE_extended"; 
format.color = 0xFFCCCC; 
format.size = 20;   

var label:TextField = new TextField(); 
label.defaultTextFormat = format; 
label.text = "test"; 
label.embedFonts = true; 
label.antiAliasType = AntiAliasType.ADVANCED; 

//label.setTextFormat(format); --> I tried this too, didn't work... 
label.defaultTextFormat = format; 
label.x += img.width + 50; 
this.addChild(label); 

एक ही रास्ता मैंने पाया कुछ भी प्रदर्शित करने के लिए यह है कि अगर मैं एम्बेडफॉन्ट बंद कर देता हूं। मैंने सफलता के बिना C: /windows/fonts/arial.ttf एम्बेड करने का प्रयास किया है।

ऐसा लगता है कि एम्बेडिंग फ़ॉन्ट्स किसी अन्य की तरह एक अंधेरा कला नहीं है और मुझे संघर्ष के 1 घंटे बाद स्वीकार करना होगा। कृपया मदद भेजें।

अद्यतन:

यहाँ काम कर कोड है, यह आपरेशन के सही क्रम होने की वजह से था पता चला है ...:

[Embed(source="assets/SKA_75_marul_CE_extended.ttf", 
       fontName = "myFont", 
       mimeType = "application/x-font", 
       fontWeight="normal", 
       fontStyle="normal", 
       unicodeRange="U+0020-U+007E", 
       advancedAntiAliasing="true", 
       embedAsCFF="false")] 
     private var myEmbeddedFont:Class; 

      var tf:TextFormat = new TextFormat("myFont", 20,0xffffff); 

      var t:TextField  = new TextField; 
      t.embedFonts  = true; // very important to set 
      t.defaultTextFormat = tf; 
      t.text    = text; 
      t.x += img.width + 50; 
      t.width = 700; 
      this.addChild(t); 
+0

अपने जवाब के लिए धन्यवाद। "संचालन का सही क्रम" कुंजी –

उत्तर

5

यह सबसे बिल्कुल एक "अंधेरे कला" प्राप्त करने के लिए है सही काम करने के लिए एम्बेडेड फोंट। मैं सबसे पहले जांचता हूं कि "SKA_75_marul_CE_extended" फ़ॉन्ट का मेटाडाटा में वास्तविक नाम है (मैंने नाम निकालने के लिए सूटकेस फ़्यूज़न का उपयोग किया था)। मैंने टीटीएफ फ़ॉन्ट्स को भी देखा है कि फ्लैश बस एम्बेड करने से इंकार कर देता है (शायद अमान्य मेटाडाटा एम्बेड सिस्टम को गलती का कारण बनता है)। मैं एक ज्ञात काम करने वाले फ़ॉन्ट के साथ परीक्षण जारी रखूंगा जब तक कि आपको वास्तविक फ़ाइल समस्या न हो, जब तक कि यह एक फ़ॉन्ट फ़ाइल समस्या न हो।

एक बात मैंने देखी है "सार्वजनिक स्थैतिक var SKA_75_marul_CE_extended: स्ट्रिंग;" ... क्या यह कक्षा प्रकार का नहीं होना चाहिए? जो समस्याएं थीं किसी से

FlashDevelop फ़ॉन्ट एम्बेड संदर्भ: http://www.flashdevelop.org/community/viewtopic.php?p=28301

+0

के रूप में सामने आया, मुझे अंत में यह काम करने के लिए मिला, मैं आपका जवाब स्वीकार कर रहा हूं और मैं प्रश्न में कोड को कोड डाल दूंगा। – joon

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