如何制作prezi swf格式字体(prezi 中文字体)
文/玄魂
前言
Prezi软件虽然没有正式进入中国,但是中国的Prezi爱好者却在不遗余力的推广着Prezi。我接触这款软件比较晚,但是从接触到现在,已经正式抛弃了PPT,爱不释手。
Prezi在4.60及之前版本之前不支持中文输入,社区内的高手制作了swf格式,通过编辑css替换字体的方法做到了中文输入。如何使用中文字体不是本文的重点,对此感兴趣的同学请到www.prezicn.com学习相关教程。
Prezi目前支持两种字体:swf和keg字体。但是swf字体的封装会涉及版权问题,在新版本的prezi文件中,只支持keg格式字体。笔者当前正在尝试分析keg字体,以后会撰文详细分析。今天这篇文章,主要是从技术层面讲解如何创建swf格式的prezi字体。
注:国内最好的Prezi论坛:www.prezicn.com. www.mbdongbo.com是国内唯一支持Prezi在线播放的网站,同时支持中文内容展示。不了解prezi但同时对这款动态呈现软件感兴趣的同学,可以到以上两个站点看看。
1.1 反编译
首先,打开Prezi在本机的安装目录,找到字体文件的位置,我的机器上的目录为:C:\Program Files (x86)\Prezi Desktop 4\assets\fonts,如下图:
随便找一个swf格式字体拷贝到一个单独的文件夹里(比如fonttest)。
接下来推荐大家一款flash反编译工具:JPEXS Free Flash Decompiler (FFDec)(http://www.free-decompiler.com/flash/)。这是目前我用到的最好的免费的Flash反编译工具。
使用FFDec打开刚才拷贝出来的swf字体文件。
接下来,选择“Export to FLA“选项,将文件导出到指定文件夹中。
导出后结果如下图:
准备工作到此结束。
1.2 编辑fla
文件导出完毕,我们使用flash开发工具打开fla文件,我使用的是Adobe Flash Professional CS6。
选中fla的选项卡,在菜单栏选择“文本->字体嵌入“。
之后在 选项->系列 中选择要封装的字体名称,如果你封装的是英文字体,在名称栏里输入“选项”下方的字体名称内容(图中是“华文彩云”),如果是中文字体随便输入一个名字,我这里输入“hwcy”,然后点击左侧的加号添加字体链接。
切换到“ActionScript”选项,按下图进行配置:
注意,类选项一定要填写“CustomFont_fontClass”。
点击确定,回到主界面,保存fla文件。在“文件”菜单中,选择发布。
此时在我们导出fla文件的文件夹里可以看到生成的swf文件。
如果我们选择的是英文字体,到这一步,就大功告成 了,但是如果是中文字体还需要下一步。
1.3 修改swf
我们再次使用FFDEC,打开生成的swf文件,点开“fonts”选项卡,
我们这里可以看到括号中的“STCaiyun”,这是字体的名称,然后打开CustomFont类,
将光标点到最后一行(public var fontName:String = "NanumGothicBold";),点击右边栏的“Edit”。
修改字符串内容为fonts里显示的“STCaiyun”。
点击保存。
将swf字体文件随便起个名字(我这里重命名为“caiyun.swf”),然后将该文件拷贝到prezi的字体缓存目录(C:\Users\[currentuser]\AppData\Roaming\com.prezi.PreziDesktop\Local Store\fonts),我这里为C:\Users\Administrator\AppData\Roaming\com.prezi.PreziDesktop\Local Store\fonts。
1.4 测试
打开prezi(笔者使用的是4.6.0),使用快捷键“ctrl+shift+c”调出css编辑器,修改字体文件为拷贝过去的caiyun.swf。
看看效果吧:
为了兼顾flash新人,prezi新人,本文某些地方略显繁琐,还望见谅。
更多相关内容:玄魂的博客
如何制作prezi swf格式字体(prezi 中文字体)的更多相关文章
- PyOpenGL利用文泉驿正黑字体显示中文字体
摘要:在NeHe的OpenGL教程第43课源代码基础上,调用文泉驿正黑字体实现中文字体的显示 在OpenGL中显示汉字一直是个麻烦的事情,很多中文书籍的文抄公乐此不疲地介绍各种方法及其在windows ...
- CentOS 7 安装字体库 & 中文字体
前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体 ...
- Centos7 安装字体库&中文字体
1.概述 在安装一些服务的时候,会涉及到字符编码与字体的问题,字符编码一般在数据库或代码级别设置,字体一般是在系统级别设置.如安装使用jira或confluence的时候,使用一些宏的时候经常会出现乱 ...
- Linux CentOS 7 安装字体库 & 中文字体
前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...
- DevExpress ASPxHtmlEditor控件格式化并导出Word (修复中文字体导出丢失)
在前台页面中先插入一个ASPxHtmlEditor控件,名为ASPxHtmlEditor1. 我用的Dev版本为14.1 格式化文本 在后台插入如下代码 1 const string css ...
- 中文字体@font-face的导入
由于英文字母只有26个,所以生成.eot..woff..ttf..svg等文件是比较小的,也就十几KB而已.但是对于汉字来说,常用的汉字就已经2500个了,生成的文件一般要2-3MB,如此庞大的包对页 ...
- latex 对中文字体设置的一些解决
latex 对中文字体设置的一些解决 直接使用Xelatex编译带中文的文件时,会出现无法识别的错误,这是因为latex默认的环境不支持中文,这时可以使用CTex 宏集.ctex 宏包或xeCJK 宏 ...
- Word表格中文字体修改:
一.设置字体(中文字体) // 创建 段落 XWPFParagraph xp = j.addParagraph(); // 创建 XWPFRun 对象 XWPFRun title = xp.creat ...
- BMFont中文字体图集制作的方法~(for unity ngui)
BMFont中文字体图集制作的方法~(for unity ngui) 好吧~似乎这个问题困扰了很多人,游戏开始中文化是个不错的事儿啊,这里我就做下说明,如何制作中文字体图集~ 这里的字库图集的制作更多 ...
随机推荐
- (转)扩展jquery easyui datagrid 之动态绑定列和数据
本文转载自:http://blog.csdn.net/littlewolf766/article/details/7336550 easyui datagrid 不支持动态加载列,上次使用的方法是自己 ...
- Hadoop学习6--里程碑式的开始之执行第一个程序wordcount
一.先在HDFS文件系统创建对应的目录,具体如下: 1.待处理文件存放目录 /data/wordcount(之所以创建wordcount,是为了对文件分类,对应本次任务名) 命令:hadoop fs ...
- Debug program crash with dump file.
1. Task manager, -> find the process for the program which crashed. 2. Right click the process -& ...
- Shuffle相关分析
Shuffle描述是一个过程,表现出的是多对多的依赖关系.Shuffle是连接map阶段和Reduce阶段的纽带,每个Reduce Task都会从Map Task产生的数据里读取其中的一片数据.Shu ...
- Redefining already defined constructor
报错:Strict standards: Redefining already defined constructor for class SplitWord in D:\wamp\www\wsc\i ...
- 安装Android SDK和ADT步骤和遇到的问题
http://894503895.diandian.com/post/2012-05-16/18695648 1.安装eclipse.下载地址:http://www.eclipse.org/downl ...
- 1小时vpn coding让开发更简单 或https://www.imfreevpn.org/
- nfs不能自动mount(转载)
From:http://www.wenzizone.com/2009/08/14/nfs_can_not_automount_supplementary.html 手动挂载nfs没有问题,说明port ...
- ubuntu命令查补
Linux删除目录的命令有:rm,rm命令删除目录虽说比较简单,不过一旦所操作的目录非空时,就会让你陷入深深的苦恼之中 rm -rf 目录名字: -r 就是向下递归,管理有多少级目录,一并删除 -f ...
- [ActionScript 3.0] AS3 时间格式化方法
/** * 格式化时间,格式 00:00:00 * @param total 总时间(毫秒) */ function getFormatTime(total:uint):String { if (to ...