2011-10-31 21 views
5

मैं क्यों कुछ पत्र (norwegian एक (Å) की तरह) शीर्ष के बीच में बाहर cutted कर रहे हैं 'ओ' यह पता लगाने की कोशिश कर रहा हूँ बाहर cutted कर रहे हैं:AS3 TextField पाठ के शीर्ष मार्जिन की स्थापना क्योंकि कुछ वर्ण

 var titleFormat:TextFormat = new TextFormat(); 
     titleFormat.size = textSize; 
      // this is embedded font, and exported for action script, declared 
     titleFormat.font = myFontBold.fontName; 
     titleFormat.bold = true; 
     titleFormat.color = parseInt("0x"+fontColor,16); 

     var titleText:TextField = new TextField(); 
     titleText.defaultTextFormat = titleFormat; 
     titleText.embedFonts = true;    
     titleText.antiAliasType = AntiAliasType.ADVANCED; 
     titleText.text = "Å"+text; 
     addChild(titleText); 

     titleText.selectable = false;   
     titleText.wordWrap = true;   
     titleText.width = maskImg.width - 80;   
      // this should autosize to fit all text, but it doesn't the top of text 
     titleText.autoSize = TextFieldAutoSize.LEFT; 
     titleText.x = x; 
     titleText.y = y; 

तो मैं ऊंचाई hardcoded और पाठ से भी बड़ा स्थापित करने की तरह अलग अलग बातें की कोशिश की है, लेकिन हमें cutted फिर से, मैं सीएसएस लेकिन कोई सफलता के साथ की कोशिश की है ऊपर,:

मेरे कोड इस है। किसी को भी विचार है क्यों पत्र पूरी तरह से पता चला नहीं है और यही कारण है कि अगर मैं swf (2-3 जूम इन) में ज़ूम यह सामान्य दिखाई देता है (और क्या मैं प्राप्त करने का प्रयास) इस तरह:

मैं लगता है कि इसे शीर्ष मार्जिन के साथ करना है, लेकिन दुर्भाग्यवश मुझे एएस 3 दस्तावेज में ऐसा कुछ नहीं मिला।

+0

फ्लेक्स शैलियों में 'पैडिंगटॉप' है, लेकिन आपके पास शुद्ध टेक्स्टफ़िल्ल्ड है। यह टेक्स्ट मापने वाला बग हो सकता है - बॉक्स बॉक्स से बाहर चला जाता है। आप बिटमैप पर टेक्स्ट प्रस्तुत करने का प्रयास कर सकते हैं और बिटमैप दिखा सकते हैं (इसे भी काटा जा सकता है, लेकिन शायद मैट्रिक्स स्केल/फ़ॉन्ट आकार संयोजन है जो इसे टालता है।) – alxx

+0

हां, मैंने भी कोशिश की है, लेकिन जैसा कि आपने कहा है कि यह भी कैश किया गया है शीर्ष के बिना बिटमैप। मुझे लगता है कि यह शायद एक बग है जिसे कुछ भविष्य के फ़्लैश संस्करणों में तय करने की आवश्यकता है, या एक नया मार्जिन जोड़ें (अब इसका एकमात्र बाएं मार्जिन और दाएं मार्जिन, शायद इसे शीर्ष मार्जिन और नीचे मार्जिन की आवश्यकता है, ताकि हम इन चीजों को ठीक करके इन चीजों को ठीक कर सकें पाठ के अंदर और अधिक) – Daniel

उत्तर

1

यह सुनिश्चित नहीं करता कि यह मदद करता है, लेकिन मैंने वर्डाना फ़ॉन्ट के साथ निम्नलिखित पूर्ण, स्वयं निहित कोड का परीक्षण किया, एम्बेडेड नहीं है और यह ठीक काम करता है। शायद आपके द्वारा एम्बेड किए जा रहे फ़ॉन्ट में कोई समस्या है, या एम्बेडिंग किसी कारण से समस्या पैदा कर रही है?

package { 

    import flash.display.MovieClip; 
    import flash.text.*; 

    public class TestText extends MovieClip { 

     public function TestText() { 

      var textSize = 20; 

      var titleFormat:TextFormat = new TextFormat(); 
      titleFormat.size = textSize; 
      titleFormat.font = "Verdana"; 
      titleFormat.color = 0xFF0000; 

      var titleText:TextField = new TextField(); 
      titleText.defaultTextFormat = titleFormat;   
      titleText.text = "Åbcdefg"; 
      titleText.backgroundColor = 0x000000; 
      titleText.background = true; 
      addChild(titleText); 

      titleText.autoSize = TextFieldAutoSize.LEFT; 
      titleText.selectable = false;   
      titleText.wordWrap = true;   
      titleText.width = 200;  

     } 
    } 
} 
+0

वर्डाना में इसे बदलना काम करता था, इसलिए संभवतः आपके द्वारा सुझाए गए फ़ॉन्ट का फ़ॉन्ट। लेकिन फिर, मैंने देखा कि एम्बेडिंग का उपयोग नहीं करते समय, "ओ" उस फ़ॉन्ट पर बिल्कुल दिखाई नहीं दे रहा है, और इसे एम्बेड करने से यह आधे में दिखाई देता है (पहली छवि देखें)। तो, मुझे लगता है कि फ़ॉन्ट इसके लिए कारण है, लेकिन फ्लैश के पास इन प्रकार के फ़ॉन्ट्स को संभालने का तरीका होना चाहिए, या कम से कम इसे मार्जिन और नीचे मार्जिन के साथ ठीक करने का एक तरीका होना चाहिए। – Daniel

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

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