0
Flex에 동적으로 글꼴을 포함시킬 수 있는지 궁금합니다. 다른 사용자를 위해 다른 글꼴을 포함하고자하므로 모든 가능한 글꼴을 동일한 Flex 파일에 포함하고 싶지 않습니다. 가능한 경우 샘플 코드를 게시하십시오.Flex에 동적으로 글꼴을 포함 할 수 있습니까?
Flex에 동적으로 글꼴을 포함시킬 수 있는지 궁금합니다. 다른 사용자를 위해 다른 글꼴을 포함하고자하므로 모든 가능한 글꼴을 동일한 Flex 파일에 포함하고 싶지 않습니다. 가능한 경우 샘플 코드를 게시하십시오.Flex에 동적으로 글꼴을 포함 할 수 있습니까?
Actionscript에서이 작업을 수행 할 수 있습니다. 이 트릭은 주로 Flash IDE에서 컴파일러에서 지원되지 않는 opentype 글꼴을 사용하고 느리게로드 될 수있는 글꼴 라이브러리를 만드는 데 사용되었습니다 (필요할 때만).하지만이 옵션을 사용하여 글꼴을 선택적으로로드 할 수도 있습니다. 서버에 mxmlc 컴파일러가 있으면 fontlib.as 파일을 생성하여 명령으로 컴파일 할 수도 있습니다.
// fontlib.as
// font library file
package {
import flash.display.Sprite;
public class fontlib extends Sprite {
[Embed(source = 'font/path/FontFile.otf', fontName = 'FontFile', unicodeRange = 'U+0020-U+007E,U+00AB,etc...')]
public static var FontFile:Class;
public static const FontFile_name:String = "FontFile"; // matches 'fontName' in embed
public function fontlib() {
}
}
}
이
은과 같이 컴파일 할 수 있습니다 : 글꼴을 기반으로 포함 일부 SWF를 가지고 쉽게되지 않을 것// Main.as
// document class
package {
import flash.text.Font;
import flash.display.Loader;
import flash.events.Event;
import flash.system.ApplicationDomain;
import flash.text.StyleSheet;
public var fontsLoader:Loader;
public var fontFile:String = "";
public var ss:StyleSheet;
public function Main() {
fontsLoader = new Loader();
fontsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, _onFontsLoadComplete);
}
private function _onFontsLoadComplete(e:Event):void {
var fontlib:Class = e.target.applicationDomain.getDefinition('fontlib');
Font.registerFont(fontlib.FontFile); // registers font
fontFile = fontlib.FontFile_name; // name the font was loaded as
// actually using the font looks like this:
ss = new StyleSheet();
ss.parseCSS("div { fontFamily: " + fontFile + "; }");
}
}
:
이당신은 다음과 같은 응용 프로그램에서 사용할 수 있습니다 플랫폼에? winxp.swf가 Windows XP에는없는 글꼴을로드합니다. xp, osx.swf는 osx가없는 글꼴을로드합니다. 클라이언트가 응용 프로그램을로드하면 올바른 플랫폼에 맞는 글꼴 swf를로드하십시오. –