PDF 阅读器找不到字体 Helvetica
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
PDF 阅读器找不到字体 Helvetica
已经安装了该字体,fc-cache 过也重启过,fc-list 里也有,但无论是 Adobe Reader 还是 evince 或者 Foxit 都找不到此字体。字体未嵌入到 PDF。
-
- 帖子: 789
- 注册时间: 2006-10-14 22:07
Re: PDF 阅读器找不到字体 Helvetica
core字体里面好像也有Helvetica,是点阵字体。
fontconfig默认配置里面可能有将Helvetica自动替换为arial等的配置。
查看 /etc/fonts/conf.d/里面有没有链接到以下文件的文件:
/etc/fonts/conf.avail/29-replace-bitmap-fonts.conf
查看该文件,里面有没有替换Helvetica的内容。
fontconfig默认配置里面可能有将Helvetica自动替换为arial等的配置。
查看 /etc/fonts/conf.d/里面有没有链接到以下文件的文件:
/etc/fonts/conf.avail/29-replace-bitmap-fonts.conf
查看该文件,里面有没有替换Helvetica的内容。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: PDF 阅读器找不到字体 Helvetica
没有该文件。bodhi 写了: 查看 /etc/fonts/conf.d/里面有没有链接到以下文件的文件:
/etc/fonts/conf.avail/29-replace-bitmap-fonts.conf
另外,在其它程序和 PDF(XeTeX 生成,内嵌字体)文件中并无异常。
还有,Adobe Reader 说那个文件中的字体类型是 Type 1,不是 TrueType,这是怎么回事?
- honghong
- 帖子: 317
- 注册时间: 2009-05-14 14:06
Re: PDF 阅读器找不到字体 Helvetica
代码: 全选
/etc/fonts/conf.d/49-sansserif.conf
That is in my life!
-
- 帖子: 789
- 注册时间: 2006-10-14 22:07
Re: PDF 阅读器找不到字体 Helvetica
文末的内容懒得删了,但是无关紧要。
在 ubuntu 和 我自己的arch上面做了个比较。
分别用ooo打开同一文档(文本字体为hel),显示当然都是一样的,用的是 hel 字体的normal样式。
分别导出pdf,设置都是 tagged 仅做标记而不嵌入字体。
之后各自查看,之后交换查看。期间我给ubuntu装了 okular,这个阅读器可以直接显示tagged类字体调用了哪个本地字体文件。
结果是:
两个pdf在ubuntu下显示用的是 hel bold,加粗样式的那个 sub family。
arch 下面显示准确,用的是 hel 常规体 normal 。
如果你也是用的ooo,如果矛盾的根源是不知道如何嵌入字体,那么可以选择 导出pdf,并选定 pdf/a-1。这样就可以嵌入hel字体了(这是hel自己的原因,其他自己只要不选择tagged便会嵌入,应该是矢量字体不同标准或者字体信息内的嵌入授权设置造成的)
关于字体嵌入,可以看一下 adobe 的简要声明 http://www.adobe.com/cn/aboutadobe/anti ... #section-2
据此,这应该是个技术活儿 不光是口头协议的东西。
=================================
你的意思是“做了一个文档,文本字体为 helvetica,输出为pdf,pdf设置为字体标记而不内嵌”
但是阅读pdf的时候却没有用helvetica显示。
是么?
我前文的想法是,linux x core 字体里面有点阵的helvetica,他默认用户不安装同名的矢量字体,当文档向fontconfig索要helvetica的时候他无法使用点阵字体来显示,于是使用29那个配置来用arial替换helvetica进行显示。不过刚找了一台ubuntu发现默认没有点阵的helvetica,我错了。
那么你用下面的命令看一下提供helvetica字体的字体文件是不是你安装的那个:
另外,如果我上面的理解没错,你用什么制作的源文件+不嵌入字体输出PDF。
我刚才在一台ubuntu上安装helvetica字体、使用ooo制作文档其文本用字为helvetica、输出pdf(设置为 tagged PDF 只标记不嵌入字体子集),得到的文档可以正确找到本地的hel字体并显示无误。

在 ubuntu 和 我自己的arch上面做了个比较。
分别用ooo打开同一文档(文本字体为hel),显示当然都是一样的,用的是 hel 字体的normal样式。
分别导出pdf,设置都是 tagged 仅做标记而不嵌入字体。
之后各自查看,之后交换查看。期间我给ubuntu装了 okular,这个阅读器可以直接显示tagged类字体调用了哪个本地字体文件。
结果是:
两个pdf在ubuntu下显示用的是 hel bold,加粗样式的那个 sub family。
arch 下面显示准确,用的是 hel 常规体 normal 。
如果你也是用的ooo,如果矛盾的根源是不知道如何嵌入字体,那么可以选择 导出pdf,并选定 pdf/a-1。这样就可以嵌入hel字体了(这是hel自己的原因,其他自己只要不选择tagged便会嵌入,应该是矢量字体不同标准或者字体信息内的嵌入授权设置造成的)
关于字体嵌入,可以看一下 adobe 的简要声明 http://www.adobe.com/cn/aboutadobe/anti ... #section-2
据此,这应该是个技术活儿 不光是口头协议的东西。
=================================
你的意思是“做了一个文档,文本字体为 helvetica,输出为pdf,pdf设置为字体标记而不内嵌”
但是阅读pdf的时候却没有用helvetica显示。
是么?
我前文的想法是,linux x core 字体里面有点阵的helvetica,他默认用户不安装同名的矢量字体,当文档向fontconfig索要helvetica的时候他无法使用点阵字体来显示,于是使用29那个配置来用arial替换helvetica进行显示。不过刚找了一台ubuntu发现默认没有点阵的helvetica,我错了。
那么你用下面的命令看一下提供helvetica字体的字体文件是不是你安装的那个:
代码: 全选
fc-list : family file | grep -i helvetica
我刚才在一台ubuntu上安装helvetica字体、使用ooo制作文档其文本用字为helvetica、输出pdf(设置为 tagged PDF 只标记不嵌入字体子集),得到的文档可以正确找到本地的hel字体并显示无误。
-
- 帖子: 789
- 注册时间: 2006-10-14 22:07
Re: PDF 阅读器找不到字体 Helvetica
这个涉及的是筛选字体并分类吧。honghong 写了:看下是不是这个文件被你删了代码: 全选
/etc/fonts/conf.d/49-sansserif.conf
-
- 帖子: 789
- 注册时间: 2006-10-14 22:07
Re: PDF 阅读器找不到字体 Helvetica
刚才又试了试,发现调用 hel bold 显示 hel regular 不是ubuntu的问题,是字体问题。
我用的这套是从mac转换来的,换做灵狗斯自己出的那套就没事了
我用的这套是从mac转换来的,换做灵狗斯自己出的那套就没事了

- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: PDF 阅读器找不到字体 Helvetica
谢谢各位!
我用Ooo自己制作文件测试,又用 Okular 查看,看来是那个 PDF 文档本身的问题。
Ooo tagged PDF 输出的正常,但那个出问题的 PDF 虽然调用的是正确的 Helvetica 字体文件,但依旧无法显示相关文本,控制台输出一大串错误信息:
那个文件是从网上下载的,制作者是 Advanced PDF Repair: http://www.pdf-repair.com,现在在 Foxit Reader 下可以显示,但宽度貌似不对,有时和后面的字有重叠。
我用Ooo自己制作文件测试,又用 Okular 查看,看来是那个 PDF 文档本身的问题。
Ooo tagged PDF 输出的正常,但那个出问题的 PDF 虽然调用的是正确的 Helvetica 字体文件,但依旧无法显示相关文本,控制台输出一大串错误信息:
代码: 全选
Error (86213): No font in show
Error: font resource is not a dictionary
Error: Unknown font tag 'T1_3'
Error (95523): No font in show
Error: Unknown font tag 'T1_3'
Error (95539): No font in show
Error: Bad annotation destination
Error: font resource is not a dictionary
Error: Unknown font tag 'T1_3'
Error (95523): No font in show
Error: Unknown font tag 'T1_3'
Error (95539): No font in show