如何制作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) 好吧~似乎这个问题困扰了很多人,游戏开始中文化是个不错的事儿啊,这里我就做下说明,如何制作中文字体图集~ 这里的字库图集的制作更多 ...
随机推荐
- bzoj1043 下落的圆盘
Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. Input 第一行为1个整数n,N<=100 ...
- Installing IPython using pip on CentOS
1. First to install pip # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py 2. Install i ...
- ORA-04031案例一则
ORA-04031这个错误,几乎每一个专业的DBA都遇到过.这是一个相当严重的错误,Oracle进程在向SGA申请内存时,如果申请失败,则会报这个错误.大部分情况下是在向SGA中的shared poo ...
- 共享内存是最快的一种IPC方式
在linux进程间通信的方式中,共享内存是一种最快的IPC方式.因此,共享内存用于实现进程间大量的数据传输,共享内存的话,会在内存中单独开辟一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限 ...
- 黄聪:Mysql数据库还原备份提示MySQL server has gone away 的解决方法(备份文件数据过大)
使用mysql做数据库还原的时候,由于有些数据很大,会出现这样的错误:The MySQL Server returned this Error:MySQL Error Nr. MySQL server ...
- java面试常考题
基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是JAVA类库 ...
- phpmyadmin数据库导入出错
SQL 查询: -- phpMyAdmin SQL Dump-- version 3.5.1-- http://www.phpmyadmin.net---- 主机: localhost-- 生成日期: ...
- [MySQL] 常用SQL技巧--18.5
1.正则表达式使用 MySQl利用REGEXP命令,提供正则表达式功能. 例子:select 'abcdef' REGEXP '^a'; select 'efg' REGEXP '[^XYZ]'; 2 ...
- 树莓派通过apt方式安装opencv库
1.安装opencv 开始之前进行必要的更新工作. sudo apt-get update 安装opencv. sudo apt-get install libcv-dev 安 ...
- git fetch和git pull(转载)
From:http://www.tech126.com/git-fetch-pull/ Git中从远程的分支获取最新的版本到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本到 ...