apv重新编译,支持cjk字体
http://code.google.com/p/apv/
这是项目地址,hg下载需要代理。似乎是天朝的问题。不说了。
apv是一个功能强大的阅读pdf的Android软件,它的主要功能在于阅读,高级版本还提供了书签导航功能,Market里这个版本要付费,自己编译的话也可以去除这些限制。
可惜的是它对cjk的支持,估计作者不会是亚洲等cjk字体需要的人所以去除cjk字体支持也是正常的,不过它的c库mupdf就可以支持。
顺便赞下,apv的缓存功能,图片是切割成块的,只要 原始显示图片不变,就是缩放级别固定,它们会把一张图片切割成固定大小的块,然后按照当前屏幕需要显示出一些块,所以在加载时,如果有些慢就会看到一块一块从黑到白的显示。再一旦加载成功后拖动,不会再调用c切割,当然流畅许多了。
然而我下载了mupdf,它的示例太简单了,本人c语言能力有限,修改了下发现要实现apv的类似功能太遥远了。不过已经可以显示中文。
cjk字体支持去除的问题会导致一些中文pdf非扫描版无法观看,扫描版不会有这个问题。
apv底层库支持,所以中文等字体应该可以显示的啊,它在K:\apv\pdfview\jni\mupdf\pdf\Android.mk文件里去除了,只需要打开,再编译就可以正常显示中文了。
大约是第9行:
#LOCAL_CFLAGS := -DNOCJK -O3 -DARCH_ARM
LOCAL_CFLAGS := -O3 -DARCH_ARM上面那行修改成下面的就可以 了,因为NOCJK会在K:\apv\pdfview\jni\mupdf\pdf\pdf_fontfile.c里用到
#ifdef NOCJK#define NOCJKFONT#endif#include "../generated/font_base14.h"#ifndef NODROIDFONT#include "../generated/font_droid.h"#endif#ifndef NOCJKFONT#include "../generated/font_cjk.h"#endif最后 一句就是有没有包含cjk.h文件