关于PDF的乱码和字体问题的解决

5,839 views
Skip to first unread message

Asura Lie

unread,
Oct 5, 2011, 11:27:34 PM10/5/11
to Fcctt
关于PDF字体问题的解决方法:
昨天跟Steven同学讨论,提到了关于字体和乱码的问题,关于这一点我将之
前在Adobe Acrobat和PDF的一些知识以及对这些问题在Scribus的下的解决方法如下:
关于乱码和字体不舒服的问题:由于PDF文档是采用的对字体识别的机制引起
的,PDF文档包含了字体信息——通常对于字体的识别方式是先在文档内部寻找内 嵌
字体文件,如果没有字体文件,那么就根据文档所使用的字体名称在用户本地查找
相应的字体,最后使用替代机制——利用本地的默认字体来显示。
而为了解决PDF文档中的各种字体的问题,Acrobat采用了两种方法来处理多
样化的字体需求和文件大小之间的矛盾问题——内嵌字体、以及将文字转换为 矢量图。
内嵌字体又分为两种:
一种是内嵌字体的样式名称——这样的情况下,PDF阅读器会在本地查找文档所使用
的字体,当无法找到该字体的时候就会使用系统的默认字体显示—— 很不幸的是,
一般的默认字体都是不识别非acsii字符的,所以就会出现各种乱码和字体很丑的
情况。(在Scribus中,我们发布的时候选择字 体——)
而更好的一种方式是将字体文件直接内嵌到文档内部——目前Scribus只支持英
文的内嵌——这实际上似乎并不是Scribus对东亚文字的支持造成的, 而是由于
Scribus所兼容的Acrobat版本引起的问题——如果在Scribus中插入一个PDF文本框,
大家就会发现,里面你无法找到任 何你已经安装的中文字体——因此我们在内嵌字
体的时候也无法将中文字体内嵌到文档内部。而内嵌字体通常意味着文档的体积会
急剧增加,对于发行来说 也不是什么好事。

因此对于乱码和字体问题的解决的最好方式是采用最后一种方式:将文本全
部转换为矢量图——Scribus的方法是在文本框上面点右键,选择Covert to ->Out
line(中文界面为转换->轮廓)。这样做的有一个缺点就是,这个转换的过程是不可
逆的。因此一旦转换过去,那么要修改就必须将整段文字删除。

因此在排版结束后,排版的同学需要自己保留一份没有转换的文档供自己修
改用,而另外将一份文档转换后发布。

Steven Gu

unread,
Oct 5, 2011, 11:50:55 PM10/5/11
to fc...@googlegroups.com
这是我无意中打开我们刚刚发布的#45期杂志PDF文档时,发现在不同的阅读器里有的字特别难看,起先还以为排版的童鞋使用了不好的字体,但是转念一想,前面勘误时没有发现这个问题啊。随后在IRC里
向Asura Lie请教这个问题,他研究后给我的测试文件证实了他的想法!

用这个办法,好处是字体很漂亮,而且不会因为使用不同的阅读器而字体有变化。存疑的是:
1.最后的正式版本,需要转换一次,不知道是否会增加排版童鞋的工作量?
2.使用其他字体是否有版权问题?Lie说“相当于做了一种海报”,不过,我想做海报使用版权字体,可能也会有问题的?

最后有点遗憾的是:最后版本里还发现有瑕疵(p27有2条分割线位置出错),作为勘误者,汗颜啊。

Asura Lie

unread,
Oct 6, 2011, 1:53:55 AM10/6/11
to fc...@googlegroups.com
�����������С��ֻҪ����Ҽ�ѡ��covert to->out line�Ϳ����ˡ� ���������û�й�ϵ��
���ڰ�Ȩ�����⣬���ǹ�ҵİ�Ȩ������һ������ѧϰ���о��������Ŀ�Ķ���е���ѵĴ��������ݡ�ʹ���Dz���Ҫ���Ȩ������֧���κ���صķ��� �ģ�Ҳ���漰��ν�İ�Ȩ���⡣����Ϊ�ڸ�ϰ��Ϣϵͳ����ʦ��������Ҫ��Ҫ��ⱻ���а�Ȩ������û�뵽��һ�ε�ʵ�þ�Ȼ�õ����ǵĿ�Դ��֯�ˣ�

On 10/06/2011 11:50 AM, Steven Gu wrote:
�����������д����Ǹոշ�����#45����־PDF�ĵ�ʱ�������ڲ�ͬ���Ķ������е����ر��ѿ������Ȼ���Ϊ�Ű�� ͯЬʹ���˲��õ����壬����ת��һ�룬ǰ�濱��ʱû�з���������Ⱑ�������IRC��
��Asura Lie���������⣬���о�����ҵIJ����ļ�֤ʵ������뷨��

������취���ô��������Ư�������Ҳ�����Ϊʹ�ò�ͬ���Ķ����������б仯�����ɵ��ǣ�
1.������ʽ�汾����Ҫת��һ�Σ���֪���Ƿ�������Ű�ͯЬ�Ĺ�������
2.ʹ�����������Ƿ��а�Ȩ���⣿Lie˵���൱������һ�ֺ���������������������ʹ�ð�Ȩ���壬����Ҳ��������ģ�

����е��ź����ǣ����汾�ﻹ������覴ã�p27��2���ָ���λ�ó��?����Ϊ�����ߣ����հ���


�� 2011��10��6�� ����11:27��Asura Lie <ash...@gmail.com>д ����
����PDF��������Ľ��������
   �����Stevenͬѧ���ۣ��ᵽ�˹����������������⣬������һ���ҽ�֮ ǰ��Adobe Acrobat��PDF��һЩ֪ʶ�Լ�����Щ������Scribus���µĽ���������£� 

Aron Xu

unread,
Oct 6, 2011, 10:53:46 AM10/6/11
to fc...@googlegroups.com
2011/10/6 Asura Lie <ash...@gmail.com>:

> 关于PDF字体问题的解决方法:
> 昨天跟Steven同学讨论,提到了关于字体和乱码的问题,关于这一点我将之 前在Adobe
> Acrobat和PDF的一些知识以及对这些问题在Scribus的下的解决方法如下:
> 关于乱码和字体不舒服的问题:由于PDF文档是采用的对字体识别的机制引起 的,PDF文档包含了字体信息----通常对于字体的识别方式是先在文档内部寻找内
> 嵌 字体文件,如果没有字体文件,那么就根据文档所使用的字体名称在用户本地查找 相应的字体,最后使用替代机制----利用本地的默认字体来显示。
> 而为了解决PDF文档中的各种字体的问题,Acrobat采用了两种方法来处理多 样化的字体需求和文件大小之间的矛盾问题----内嵌字体、以及将文字转换为
> 矢量图。
> 内嵌字体又分为两种:
> 一种是内嵌字体的样式名称----这样的情况下,PDF阅读器会在本地查找文档所使用 的字体,当无法找到该字体的时候就会使用系统的默认字体显示---- 很不幸的是,
> 一般的默认字体都是不识别非acsii字符的,所以就会出现各种乱码和字体很丑的 情况。(在Scribus中,我们发布的时候选择字 体----)
> 而更好的一种方式是将字体文件直接内嵌到文档内部----目前Scribus只支持英 文的内嵌----这实际上似乎并不是Scribus对东亚文字的支持造成的,
> 而是由于 Scribus所兼容的Acrobat版本引起的问题----如果在Scribus中插入一个PDF文本框, 大家就会发现,里面你无法找到任
> 何你已经安装的中文字体----因此我们在内嵌字 体的时候也无法将中文字体内嵌到文档内部。而内嵌字体通常意味着文档的体积会 急剧增加,对于发行来说
> 也不是什么好事。
>
> 因此对于乱码和字体问题的解决的最好方式是采用最后一种方式:将文本全 部转换为矢量图----Scribus的方法是在文本框上面点右键,选择Covert

> to ->Out line(中文界面为转换->轮廓)。这样做的有一个缺点就是,这个转换的过程是不可
> 逆的。因此一旦转换过去,那么要修改就必须将整段文字删除。
>
> 因此在排版结束后,排版的同学需要自己保留一份没有转换的文档供自己修 改用,而另外将一份文档转换后发布。
>

Tex 编译 PDF 的时候似乎是用到哪个字就嵌入哪个字,Scribus 好像还没有这种功能。。。

--
Regards,
Aron Xu

Reply all
Reply to author
Forward
0 new messages