现在在写一个文本阅读器,主要读取txt文档,中英文不限,在这块儿遇到一个分页的问题,看了很多以前的帖子,很头疼,没有能够解决我的问题的,故在此要请教下CSDN的各位高手,大虾们。
这个文本阅读器要实现翻页和书签跳转。
好的问题来了:
因为要翻页,所以,文档的显示以屏为单位
1.以字节分页:由于文本文档的编码格式(utf-8,gbk,gbk2312...)不固定,在读取文档的时候进行转码,统一转成GBk编码,但是中文和英文,标点占用的字节不同,假如我设置每一页为10K,这样就可能出现在分页时将某个中文截断了,从而导致乱码出现---这个可有什么解决方案?2.以字符分页:(假设一屏显示的字符为100字符)。由于字号固定下来之后,一个屏幕能显示的行数也就固定了。假设一篇文档中包含有某100个字符,而这100个字符中出现了很多换行,就出现了100字符所占用的行数超过了一屏所能显示的最大行数,那么剩下的行怎么处理,书签又怎么设置?这剩下的行仍然在在100个字符中,3.以行分(由于字号固定下来之后,一个屏幕能显示的行数也就固定了):如果某一行的文字特别多,超过了一屏所能显示的最大文字,也就是说一个屏幕没能够显示完一行,这个怎么处理,书签又怎么设定?
不知道我说清楚了没有,希望各位高手解惑。在线等各位回答
如果有高手愿意指点,请加QQ779408826
拜谢

解决方案 »

  1.   

    这里有个简单的电子书的例子,不知道能否帮到你http://blog.csdn.net/hmg25/article/details/6419694
      

  2.   

    谢谢2楼的朋友,想请教你是如何确定每一页文本显示的?刚才点了链接过去看了下截图,既然你将文本转换为bitmap,那么请教下你是将多少的内容转换为bitmap,如果这个文档很大,那么肯定不是一次行转换,你如何确定每次转换的凝结值,也就是每次将多少的文本进行转换?谢谢