文/玄魂

前言

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. (转)Edge实现NodeJS与.NET互操作(包括UI界面示例)

    本文转载自:http://blog.csdn.net/kimmking/article/details/42708049 1.  Edge是什么 Edge是一种在进程内实现NodeJS与.NET互操作 ...

  2. 64. Minimum Path Sum

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  3. c++中的peek函数

    c++中 cin.peek()函数 其返回值是一个char型的字符,返回值是指针指向的当前字符, 但是只是观测,指针任停留在当前位置,并不后移.如果要访问的字符是文件结束符,则函数值是EOF(-1); ...

  4. 2. redis的数据类型

    一. string类型 字符串类型是redis中最基本的数据类型,它能存储任何形式的内容,包含二进制数据,甚至是一张图片(二进制内容).一个字符串类型的值存储的最大容量是1GB 命令 (1)setnx ...

  5. DBA_Oracle DBA常用表汇总(概念)

    2014-06-20 Created By BaoXinjian

  6. Java 内存泄露

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  7. 基于ZooKeeper的分布式Session实现(转)

    1.   认识ZooKeeper ZooKeeper—— “动物园管理员”.动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被 ...

  8. Linux 链接(转载)

    来源:http://www.cnblogs.com/sonic4x/archive/2011/08/05/2128543.html 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Har ...

  9. 并发工具类(三)控制并发线程数的Semaphore

    原文:http://ifeve.com/concurrency-semaphore/#more-14753 简介 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程, ...

  10. 保持UIImagePickerController后导航栏风格统一

    1. UIImagePickerController 状态栏始终保持某一种风格. -(void)navigationController:(UINavigationController *)navig ...