预览知网的pdf文献会因缺失字体导致乱码或空白

预览知网的pdf文献会因缺失字体导致乱码或空白。

使用acrobat可以正常显示


[经过版主编辑]



发布日期 2019年8月2日 上午10:24

回复
回复量: 23

2019年8月11日 下午10:09 回应 罗立青

另外,第一个貌似属于是bug, 第二个貌似属于功能扩展。

至于,提交bug时,是不是需要代码,我没记得是必须的的

你要是用Mac的时间长点,会感受到预览程序的进步(悄悄说:以前,高亮都显示不正确,即便是纯英文的,高亮无法与字符对齐)


预览程序的功能完善之道路,还长着呢

2019年8月5日 下午9:46 回应 罗立青

还有一种情况,PDF文件可以包含所需字体库也可能不包含,因为许可或者是被优化掉等原因。那么不包含的字体库需要读取PDF的软件或者操作系统提供,如果找不到,而该PDF指定的替代字体可以找到,就使用替代字体,如果所有替代字体都找不到,就无法正确显示使用该字体的字符串。


列出字体

如何判断一个PDF文件内所使用的字体以及是否包含该字体,可以使用Adobe Acrobat Reader等获得具体信息。

在macOS中使用 字体册.app 查看


解决办法

如果系统内没有相关字体,需要购买或者安装特定字体。

还有一种途径,就是改变PDF中所使用的字体,据个人所知,需要使用Acrobat Pro软件(需要单独购买),


参考

最后,也可以参考Adobe的官方文档关于:解决 Mac OS X 上 Adobe 应用程序中的字体问题


2019年8月5日 下午11:28 回应 tonyfromcalgary

也感谢你的回复。你的方法没有用的。我都试过的。

第一,字体是都有的,而且安装在mac系统中,问题不是没字体,是mac的预览不会去使用这些字体,具体问题出在什么地方,我不清楚。

第二,查看cnki的文献是中国学者最查见的应用。一天看几十篇文献,不可能因为这个还一篇篇的去用acrobat改变字体,得不尝失。

第三,真正的解决方法也不是没有。我不用mac的预览,使用acrobat reader完全可以解决问题。那你可能会说,你都解决问题了,还提什么。我是想,一来希望mac可以完善。二来,acrobat你们也都懂的,挺大,而且设计的也不是特别好用。


[经过版主编辑]

2019年8月9日 下午9:19 回应 tonyfromcalgary

cnki也真是够可以的,海外版竟然不提供pdf。

我不喜欢caj,肯定都是直接下载pdf的。但他们的pdf据说也是他们自己从caj转换的。

我直接给你提供个url吧,你下载试试看

https://home.mycloud.com/action/share/beafaf10-ad9d-4f55-a696-070884963919

https://home.mycloud.com/action/share/c91a80d4-a8f2-412a-9ed7-170379847256

这分别是那两个pdf

如果不能下载,你可以试试看iData(https://www.cn-ki.net

注册后一天也能免费下载几篇cnki的文章。

这个网站类似于cnki的镜像


2019年8月10日 下午11:12 回应 罗立青

对于收费,可以理解,不必纠结


根据对你共享的PDF文件的观察,

  1. 的确重现你说的现象
  2. 只有macOS的预览和quicklook出现同样的问题(它们共享代码),Adobe的软件都没问题
  3. 在Acorbat Pro中看,很可能是使用caj转换的PDF文件,程序自动将文字框移动,即便是重叠也会保持文字行距的感官一致,人工太费时。
  4. PDF中的使用的字体都是内嵌的(embedded)


经过个人的有限和粗线分析,出现问题的地方,使用的字体都是非CID的内嵌字体。经过搜索和学习,CID的字体是PDF文件中对于东方等多字节字体支持所使用的标准。那么非CID字体就是使用单字节的。

比如下图中, 左边是用Acrobat Pro打开的,右边是预览的同一个文件。

其中,在Pro中可以看到,“R&D”中的R(1),在预览中缺失(2),它所使用的字体是CAJ FNT00(3),CAJ FNT00不是CID字体(4),所以造成无法显示的问题



问题是,“R”的前面的空格是“FangSong”字体,它是CID的,后面的“&”是CAJ SymbolA,也是CID字体。

同样的情况出现在使用CAJ FNT03和04字体的字符


但是问题是,不是所有的非CID字体字符都不显示,比如下图中,“G”和“v”同样使用的CAJFNT00字体,但是每次都被显示正确,而其它字符,如“l”,"n","R", "i", "t"等从来不会显示正确,如下图:


本人对字体的精妙之处并不熟悉,所以无法看出其中奥秘,但是从粗浅的分析来看,预览程序对于混合CID和非CID字符的文本处理时,问题重复会出现,而且比较稳定不是随机的,很有可能有考虑不周的地方,或者算法实现有欠考虑的地方。


鉴于本人的能力有限,没有办法解决问题。所能给的建议是提交bug,这个可能还真是比较好的途径。


另外,对于转化程序caj来说,一些英文字体,也是可以使用CID字体解决的,并非一定要使用非CID,感官上才舒适。尽量使用CID字体,也是一个不错的选择。


2019年8月11日 下午10:27 回应 tonyfromcalgary

其实chrome显示的算是正确的,他显示的不是黑体,也是宋体,只是好像加粗了。

虽然chrome的显示和adobe不太一样,但至少都是宋体,都是衫线字体。

当然,这种字体的差异对于阅读没有太大影响,但有少数情况可能会影响到排版的样式(几率很小)


其实,我并不是纠结于预览这个app的功能和bug。这个偶尔一用的东西对我影响不大。

主要是目前很多很三方的pdf软件,其查处pdf的核心代码使用的是macos的预览,所以,预览有问题,这些三方的pdf阅读都问题。

比如,最典型的就是pdf expert。这个还是Mac app store大力推荐过的。

还有marginnote,这个应该也是不少科研用户的选择。

我想,因为问题还和cnki有关,所以国外用户应该基本不受影响。


据我目前使用的情况看,我知道pdfelement和foxit是没有使用mac的预览代码,他们都是可以和adobe一致的。


这个主题已被系统或社区团队关闭。 你可以为你认为有帮助的任何帖子投票,也可以在社区中搜索其他答案。

预览知网的pdf文献会因缺失字体导致乱码或空白

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!