找回密码
 立即注册
查看: 741|回复: 7

使用gbk字库如何实现换行

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 09:12:37

14

主题

128

回帖

2036

积分

金牌会员

积分
2036
发表于 2024-1-8 16:55:56 | 显示全部楼层 |阅读模式
用znfat,模拟电子书,OLED显示文本内容,用的是GBK字库,请问文本中的换行如何在OLED上实现,我这里显示的换行是一个乱码

video_20240108_165001.mp4

9.3 MB, 下载次数: 61

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:339
  • 最近打卡:2025-05-02 12:21:25

4

主题

242

回帖

1291

积分

金牌会员

积分
1291
发表于 2024-1-11 09:38:43 | 显示全部楼层
这个只能你的程序去处理,检测到换行符手动在OLED上换行。OLED的驱动一般都不支持换行。,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 09:12:37

14

主题

128

回帖

2036

积分

金牌会员

积分
2036
发表于 2024-1-11 17:29:18 | 显示全部楼层
目前还没有处理好
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2025-05-02 21:51:53

0

主题

71

回帖

151

积分

注册会员

积分
151
发表于 2024-1-12 09:28:12 | 显示全部楼层
字库没有换行的概念,你可以自己检测,把换行跳掉,手动切到下一行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2025-05-02 13:12:00

24

主题

305

回帖

2560

积分

荣誉版主

积分
2560
发表于 2024-1-12 09:53:32 | 显示全部楼层
换行和分段是在现实字符的函数里实现。
换行是当显示的字符的x坐标到屏幕右边界的距离不够一个字符宽度时,就执行一段让x坐标归零,同时让y坐标增加一个字符高度。

段落换行也一样,当读取到换行符的时候,让xy坐标归零和下移。



至于断尾的乱码,看下文本是什么编码,文档里换行符的内码是多少,读取到的时候,替换成单片机能识别的数值。

能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 09:12:37

14

主题

128

回帖

2036

积分

金牌会员

积分
2036
发表于 2024-1-12 10:03:25 | 显示全部楼层
大*** 发表于 2024-1-12 09:53
换行和分段是在现实字符的函数里实现。
换行是当显示的字符的x坐标到屏幕右边界的距离不够一个字符宽度时, ...

用的是GBK字库编码,ZNFAT读取到的TXT文件的内容显示到OLED,GBK编码表查询不到换行符对对应的内码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-05-13 13:47:53

1

主题

11

回帖

149

积分

注册会员

积分
149
发表于 2024-5-11 15:12:28 | 显示全部楼层
哇偶,原来早就有人做出来了小说阅读器……不知道能不能分享下代码?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-5-12 01:53:28 | 显示全部楼层
yan*** 发表于 2024-1-12 10:03
用的是GBK字库编码,ZNFAT读取到的TXT文件的内容显示到OLED,GBK编码表查询不到换行符对对应的内码 ...

用二进制方式打开txt文件,看看换行的地方是什么,然后显示代码里面对这个特殊字符换行处理就好了吧.??
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:58 , Processed in 0.124026 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表