文/玄魂

前言

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 中文字体)的更多相关文章

  1. PyOpenGL利用文泉驿正黑字体显示中文字体

    摘要:在NeHe的OpenGL教程第43课源代码基础上,调用文泉驿正黑字体实现中文字体的显示 在OpenGL中显示汉字一直是个麻烦的事情,很多中文书籍的文抄公乐此不疲地介绍各种方法及其在windows ...

  2. CentOS 7 安装字体库 & 中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体 ...

  3. Centos7 安装字体库&中文字体

    1.概述 在安装一些服务的时候,会涉及到字符编码与字体的问题,字符编码一般在数据库或代码级别设置,字体一般是在系统级别设置.如安装使用jira或confluence的时候,使用一些宏的时候经常会出现乱 ...

  4. Linux CentOS 7 安装字体库 & 中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...

  5. DevExpress ASPxHtmlEditor控件格式化并导出Word (修复中文字体导出丢失)

    在前台页面中先插入一个ASPxHtmlEditor控件,名为ASPxHtmlEditor1. 我用的Dev版本为14.1 格式化文本 在后台插入如下代码  1     const string css ...

  6. 中文字体@font-face的导入

    由于英文字母只有26个,所以生成.eot..woff..ttf..svg等文件是比较小的,也就十几KB而已.但是对于汉字来说,常用的汉字就已经2500个了,生成的文件一般要2-3MB,如此庞大的包对页 ...

  7. latex 对中文字体设置的一些解决

    latex 对中文字体设置的一些解决 直接使用Xelatex编译带中文的文件时,会出现无法识别的错误,这是因为latex默认的环境不支持中文,这时可以使用CTex 宏集.ctex 宏包或xeCJK 宏 ...

  8. Word表格中文字体修改:

    一.设置字体(中文字体) // 创建 段落 XWPFParagraph xp = j.addParagraph(); // 创建 XWPFRun 对象 XWPFRun title = xp.creat ...

  9. BMFont中文字体图集制作的方法~(for unity ngui)

    BMFont中文字体图集制作的方法~(for unity ngui) 好吧~似乎这个问题困扰了很多人,游戏开始中文化是个不错的事儿啊,这里我就做下说明,如何制作中文字体图集~ 这里的字库图集的制作更多 ...

随机推荐

  1. 使用eclipse创建java程序可执行jar包

    一.eclipse中,在要打成jar包的项目名上右击,出现如下弹出框,选择“export”: 二.在接下来出现的界面中点击“jar file”,然后next: 三.在接下来出现的界面中,如图所示勾选上 ...

  2. Java事务处理全解析(二)——失败的案例

    在本系列的上一篇文章中,我们讲到了Java事务处理的基本问题,并且讲到了Service层和DAO层,在本篇文章中,我们将以BankService为例学习一个事务处理失败的案例. BankService ...

  3. POJ 1743 Musical Theme (后缀数组,求最长不重叠重复子串)(转)

    永恒的大牛,kuangbin,膜拜一下,Orz 链接:http://www.cnblogs.com/kuangbin/archive/2013/04/23/3039313.html Musical T ...

  4. 《挑战程序设计竞赛》 4.1.1 矩阵 P286

    想写几篇挑战的感悟,也有助于自己理解这本书.但这上面大多贴的是书上的代码,主要是为了用的时候后直接复制就好了,这样就很方便了,就相当于黑盒模板了. 1.线性方程组 /** \brief 高斯消元法 * ...

  5. 深入理解Javascript

    http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 1.编写高质量JavaScript代码的基本要点 2.Javascript函数 ...

  6. 一个超级简单的HTML模板框架源代码以及使用示例

    HTML模板框架源代码 var HtmlTemplate = (function () { function HtmlTemplate(htmlSource) { this.htmlSource = ...

  7. 冲突--ScrollView嵌套ListView只显示一行

    在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容.在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示.于是乎有了如下布局: & ...

  8. myBatis获取批量插入数据的主键id

    在myBatis中获取刚刚插入的数据的主键id是比较容易的 , 一般来说下面的一句话就可以搞定了 , 网上也有很多相关资料去查. @Options(useGeneratedKeys = true, k ...

  9. OOP三个基本特征:封装、继承、多态

    面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类 ...

  10. Java日期时间使用总结

    一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题.   在J ...