1.从FBReader的官网(http://www.fbreader.org/)得到源代码包
(这里用到的是fbreader-0.8.17)
2.编译,执行make,报错,这是因为其用到了linebreak这个库,他是负责处理unicode编码文档的换行问题的。
google到linebreak,make,将DebugDir里的*.a *.o全部复制到/usr/lib/下面,再将linebreak.h复制到/usr/include下面,即可编译通过。
3.由于现在是为MID做的,故将其显示到Xephyr的800x480的屏幕里,就会有很多问题
问题一: 执行会直接退出显示内存错误-->原因为
zlibrary/text/src/view/ZLTextPositionIndicator.cpp文件中的muldiv函数中
执行了一个0/0的非法计算
--用判断函数输入的方式解决。
问题二: 若打开文档中图片尺寸超出屏幕范围,不显示-->原因为
其设计理念是当前要在屏幕上画的对象的高减去上一个对象的终止位置,
与屏幕高作比较,看能否放下,
显然封面图片肯定是放不下的,怎么办?这里只能够在画之前进行缩小。
zlibrary/ui/src/maemo/view/ZLGtkPaintContext.cpp文件中的drawImage函
3.由于现在是为MID做的,故将其显示到Xephyr的800x480的屏幕里,就会有很多问题
问题一: 执行会直接退出显示内存错误-->原因为
zlibrary/text/src/view/ZLTextPositionIndicator.cpp文件中的muldiv函数中
执行了一个0/0的非法计算
--用判断函数输入的方式解决。
问题二: 若打开文档中图片尺寸超出屏幕范围,不显示-->原因为
其设计理念是当前要在屏幕上画的对象的高减去上一个对象的终止位置,
与屏幕高作比较,看能否放下,
显然封面图片肯定是放不下的,怎么办?这里只能够在画之前进行缩小。
zlibrary/ui/src/maemo/view/ZLGtkPaintContext.cpp文件中的drawImage函