我在kobo上读pdf完全依赖koreader,但有些pdf文件在翻页的时候会把koreader弄崩溃。查看koreader根目录下的crash.log,得到如下报错信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-GB1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: ... repeated 2 times...
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-GB1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-GB1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-Japan1-UCS2)
warning: non-embedded font using identity encoding: SimHei (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: ArialUnicodeMS (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-GB1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-Japan1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: ... repeated 2 times...
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-Japan1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-GB1-UCS2)
08/19/24-01:11:18 WARN  Running low on memory (~11%, ~59.21/495 MiB), evicting half of the cache... 
08/19/24-01:11:22 WARN  Running low on memory (~14%, ~70.57/495 MiB), evicting half of the cache... 
warning: ... repeated 2 times...
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: AngsanaUPC (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-Japan1-UCS2)
warning: non-embedded font using identity encoding: MingLiU (mapping via Adobe-CNS1-UCS2)
08/19/24-01:11:41 WARN  Running low on memory (~2%, ~14.48/495 MiB), evicting half of the cache... 
08/19/24-01:11:43 WARN  Running low on memory (~1%, ~9.49/495 MiB), evicting half of the cache... 
warning: ... repeated 2 times...
warning: dropping unclosed PDF processor
./luajit: ./ffi/mupdf.lua:71: cannot calculate bbox for page: realloc (7661467 bytes) failed (0)

non-embedded font using identity encoding意思是文件里有非内嵌字体在使用身份编码,估计是编码占了太多内存导致koreader崩溃了。

用福昕打开pdf,file-properties-font里可以查看pdf文件用的字体。一般来说即使字体没有内嵌,字体名称只要和true font一致,也不会有问题。遇到字体名称和true font不一致的,用foxit pdf printer再打印一份,打的时候把properties里embed font的选项勾上就可以了。