我想弄清楚爲什麼有些字母(如挪威A(Å))在頂部中間的板缺了「O」:AS3文本字段設置文本的頂邊距,因爲一些字符的板缺了
我的代碼是這樣的:
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;
所以,我已經嘗試,如設置高度硬編碼並大於文本不同的東西,但美國頂級板缺一次,我曾嘗試用CSS,但沒有成功。任何人有想法,爲什麼這封信沒有完全表現爲什麼,如果我在SWF(2-3變焦INS)放大它顯示了正常的(也是我努力實現)這樣的:
我認爲它與topMargin有關,但不幸的是我在as3文檔中沒有找到類似的東西。
在Flex樣式中有'paddingTop',但是您有純TextField。這可以是文字測量的錯誤 - 字母開箱即用。你可能會嘗試渲染文本到位圖並顯示位圖(它也可以被剪切,但也許有矩陣縮放/字體大小組合來避免它)。 – alxx
是的,我也嘗試過,但正如你所說的那樣,它也被緩存了沒有頂部的位圖。我認爲這可能是一個需要在未來的Flash版本中修復的bug,或者添加一個新的邊距(現在只剩下leftMargin和rightMargin,可能需要topMargin和bottomMargin,這樣我們才能通過設置文字更多裏面) – Daniel