`
ch_kexin
  • 浏览: 902893 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

FontLoader 2外部调用swf字体嵌入类

 
阅读更多
如果想对SWF中的动态文本应用非系统的字体,方法当然是在本身的SWF中嵌入相应的字体,另外一种方法是把字体嵌入到另外的SWF中,当需要对应的字体时,把这个SWF载入,并引用相应的字体。FontLoader是一个字体载入类,它帮助你实现这个过程。

dome演示: http://etcs.ru/pre/FontLoaderDemo/

用法,假设把字体编译在fonts.swf中:

程序代码

var _loader:FontLoader = new FontLoader();
_loader.load( new URLRequest( 'fonts.swf') );

载入完成后,可以引用字体:

程序代码

var fonts = _loader.fonts;
var tf:TextFormat = new TextFormat(fonts[0].fontName, 20);

示例:

程序代码

//加载http://vintage.etcs.ru/newkernel.swf中的字体;
const _LOADER:FontLoader = new FontLoader();
const _FIELD:TextField = new TextField();

function init():void {
_FIELD.embedFonts = true;
_FIELD.autoSize = TextFieldAutoSize.LEFT;
_FIELD.rotation = 45;
_FIELD.x = 150;
_FIELD.y = 150;
_FIELD.border = true;
_FIELD.antiAliasType = AntiAliasType.ADVANCED;
addChild(_FIELD);
_LOADER.addEventListener(Event.COMPLETE, handler_complete);
_LOADER.addEventListener(ProgressEvent.PROGRESS, handler_progress);
_LOADER.load(new URLRequest("http://vintage.etcs.ru/newkernel.swf"));
}
function handler_progress(evt:ProgressEvent):void {
var percent:int=100*evt.bytesLoaded/evt.bytesTotal;
trace("loading:"+percent+"%");
}
function handler_complete(evt:Event):void {
var fonts:Array = _LOADER.fonts;
for each (var font:Font in fonts) {
var text:String = font.fontName;
var tf:TextFormat = new TextFormat(font.fontName, 20);
switch (font.fontStyle) {
case FontStyle.BOLD :
tf.bold = true;
break;
case FontStyle.BOLD_ITALIC :
tf.bold = true;
tf.italic = true;
break;
case FontStyle.ITALIC :
tf.italic = true;
break;
}
_FIELD.appendText(text+"\n");
_FIELD.setTextFormat(tf, _FIELD.length-text.length-1, _FIELD.length);
}
}

init();

fonts.swf中建立字库步骤:
在library库中右键建立新字型,并加入linkage链接在第一帧导出,运行导出swf即可!

注意:中文字体太大,请慎重考虑使用。

分享到:
评论

相关推荐

    fontloader:适用于现代浏览器的小巧快速的字体加载器

    将此脚本放在任何外部样式表之前的文档头中,并使用 CSS 文件的最后修改时间戳附加函数调用的参数,如下所示: (function f(modifiedDate) {...})(1428208579) 这最好使用构建工具或某种动态生成的页面来完成。 ...

    fontloader:无痛,可靠地将本地字体和Web字体加载到Framer原型中

    安装将fontloader.coffee到项目的modules文件夹中将字体的本地副本(即'YourFont-Regular.ttf)放入项目的文件夹中在您的项目代码的顶部需要此模块。 如果您正在加载本地文件... { loadLocalFonts } = require ' ...

    fontloader:Fontloader Polyfill

    您可以使用fontloader polyfill防止未样式化文本(FOUT)闪烁,或者在加载字体后执行JavaScript代码(例如,执行布局或显示用户界面元素。) 原料药 安装 如果您使用npm: $ npm install fontloader 否则,将文件...

    threejs 显示中文需要的字体包json

    Three.js中的TextGeometry类或FontGeometry类需要这样的字体数据才能生成3D文本。JSON文件通常由工具如`Glyphs.js`或`fontgen`生成,它们将TrueType字体转换为Three.js可理解的格式。 让我们详细了解一下这个过程:...

    Qml获取字体列表QmlFontList.7z

    值得注意的是,QML的字体处理不仅仅是获取列表,还可以使用`FontLoader`组件动态加载字体文件,或者通过`FontMetrics`和`TextMetrics`获取文本的尺寸信息,以实现更复杂的布局和设计。 在实际开发中,你可以根据...

    runtime-font-loader-as3:运行时字体加载器 as3

    2. **加载字体**:调用`load()`方法开始加载字体。 3. **监听事件**:通过添加事件监听器来处理加载成功、失败或进度更新等事件。 4. **应用字体**:一旦字体加载完成,你可以通过设置`TextField`的`fontFamily`属性...

    字体安装工具

    2. **内存加载**:工具可能支持将字体临时加载到内存中,这样在使用特定字体时,系统可以直接从内存读取,提高效率。 3. **便捷管理**:提供界面友好的管理界面,让用户可以轻松查看、添加、删除字体。 4. **跨盘符...

    FontLoader v1.1

    一个字体装卸工具,右击字体文件或包含字体的文件夹就能执行安装、卸载字体的操作

    vue字库,齐全,已验证.zip

    4. 如何在Three.js中加载和使用外部字体文件,如YaHei.js,以创建TextGeometry。 5. 使用FontLoader和TextGeometry创建3D文本对象的方法。 这些知识点对于进行Vue和Three.js结合开发的前端工程师来说,是非常实用和...

    cocos2d框架.pdf

    - fontLoader(字体加载器):加载字体资源,使游戏能显示不同的文字样式。 - helper(辅助方法):提供解码UUID和其它辅助方法。 - initializing(初始化器):负责初始化资源。 - packManager(打包管理器):...

    fontFile.zip

    2. **使用Loader加载字体**:`three.js`提供了`THREE.FontLoader`,它可以异步加载字体文件。在`Vue`组件中,你可以在`mounted()`或`created()`生命周期钩子中调用这个加载器,并提供加载完成后的回调函数。 ```...

    WebGL/ThreeJS创建立体文字TextGeometry

    首先创建一个`FontLoader`,然后调用`load`方法加载字体文件,例如`.json`格式的Typeface.js字体数据。 ```javascript var loader = new THREE.FontLoader(); loader.load('path/to/font.json', function(font) { ...

    WebGL/ThreeJS场景中创建立体文字TextGeometry

    2. 创建文字参数:定义文字的属性,如字体、大小、高度等。这可以通过`FontLoader`加载自定义字体或者使用内置的默认字体。 ```javascript var loader = new THREE.FontLoader(); loader.load('path/to/font.json',...

    FontAwesomeChars:简单的 JavaScript 脚本,用于为他的名字获取字体真棒 unicode char

    FontAwesomeChars 简单的 JavaScript 脚本,用于为他的名字获取字体 Awesome unicode ... FontLoader { source: "fontawesome-webfont.ttf" } Text { text: FontAwesomeChars.getChar("fa-user") font.family:

    typetools:React组件和挂钩,用于读写OpenType和可变字体。 基于opentype.js

    5. **React 组件**:`typetools` 提供了一系列的 React 组件,如 `<Text>`、`<FontLoader>` 等,可以直接在 JSX 中使用,简化了在 React 应用中处理复杂字体的流程。 6. **Next.js 集成**:由于 `typetools` 还兼容...

    150813_fontawesome:示例文章“如何在HTML5 Canvas和WebGL中使用Awesome字体”

    在本文中,我们将深入探讨如何在HTML5 Canvas和WebGL中使用Font Awesome字体库...`three.js`有一个名为`FontLoader`的工具,可以加载自定义字体并创建几何形状以在3D场景中使用。 首先,引入`three.js`库: ```html ...

    java基本组件使用

    Java提供`ImageIcon`类来加载和显示图像,`javax.sound`包用于处理音频,而JavaFX中的`FontLoader`则可以帮助加载自定义字体。此外,I18N(国际化)是资源管理的一部分,Java提供`ResourceBundle`类支持多语言环境的...

    webfont-loader:下载网络字体并将其托管在WordPress网站上

    下载网络字体(例如Google字体),并将其托管在WordPress网站本地。 这样可以提高性能(减少对多个顶级域的请求)并提高隐私性。 由于字体是在站点上本地托管的,因此无法ping通到第三方服务器来获取Web字体,因此...

Global site tag (gtag.js) - Google Analytics