文/玄魂

前言

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. Config Advisor

    Description: Config Advisor Overview Config Advisor is a configuration validation and health check t ...

  2. rails里routes配置文件里的resources和resource的区别

    抄自 http://stackoverflow.com/questions/11356146/difference-between-resource-and-resources-in-rails-ro ...

  3. 关于Linux中exec的一点心得

    最近在学习linux操作系统中的相关知识,在使用execlp系统调用时,发现了些有趣的东西. 首先,关于execlp函数的用法: int execlp(const char *file, const ...

  4. Exception error message with incorrect line number

    In Release mode the number in front of the exception is NOT the line of code. Instead it's an offset ...

  5. pythomn

    等我学号数据结构,明年就去找三胖 前端,写js相关代码.了解前端架构 而非页面设计 主要使用的是脚本语言 了解http web相关技术等 知道页面调优 浏览器加载方式等

  6. java学习日志(1):命令行and小程序

    1.dos命令行,常见的命令 dir:列出当前目录下的文件以及文件夹md:创建目录rd:删除目录(必须空)cd:进入指定目录cd.. :退回到上一级目录cd/:退回到根目录del:删除文件exit:退 ...

  7. shell中实现自动登录(bash环境脚本中)

    自己的脚本: #!/bin/bash expect  -c  "     set timeout 3600;     spawn su -;     expect *assword:*;  ...

  8. KEIL编译错误总结:

    1 expected an identifier:#define宏定义常量后,如果再用前面定义的常量作为枚举常量就会报错,方法,去掉#define宏定义

  9. mac下反编译android apk

    所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...

  10. LInux SSH远程文件/目录传输命令scp(转载)

    From:http://www.vpser.net/manage/scp.html 相信各位VPSer在使用VPS是经常会在不同VPS间相互备份数据或转移数据.一般情况下VPS都已安装了Ngnix或者 ...