cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 2313|回复: 11

[fx-CG10/20/50] CG50 C语言编程怎么显示中文?

[复制链接]
发表于 2023-3-5 16:08:41 | 显示全部楼层 |阅读模式
我正在试着用PrismSDK+libfxcg给cg50写插件,但是发现自带的PrintXY、Print_OS、PrintCXY等显示文本的函数都不能显示中文(显示为空白)。SDK文档说,中文显示可能使用了别的函数。
想知道需要用什么方法才能显示中文呢?谢谢。
发表于 2023-3-9 10:57:51 | 显示全部楼层
需要一个点阵字库,并且自己编写调用字库函数。
 楼主| 发表于 2023-3-9 20:39:29 | 显示全部楼层
cctvgm 发表于 2023-3-9 10:57
需要一个点阵字库,并且自己编写调用字库函数。

这样确实可以,不过看系统自带的TEST MODE里的GB Code页面,CG50应该是自带全GB字库的,应该有什么特殊API可以用来显示中文才对。
想知道现在有没有什么用于CG50的调试工具呢?这样也许可以靠调试自带程序来把对应的API逆向出来。
发表于 2023-3-23 20:51:38 | 显示全部楼层
xuhao20040309 发表于 2023-3-9 20:39
这样确实可以,不过看系统自带的TEST MODE里的GB Code页面,CG50应该是自带全GB字库的,应该有什么特殊AP ...

要是cg50能显示中文 9750三代应该也能显示中文
发表于 2023-4-3 20:39:00 | 显示全部楼层
显示中文FXFD10可以呀
 楼主| 发表于 2023-4-4 10:22:37 来自手机 | 显示全部楼层
353640385 发表于 2023-4-3 20:39
显示中文FXFD10可以呀

前几天在cemetech上问到了,需要在输出中文前调用1300h号系统函数(外国网友把它起名叫ProcessPrintChars)。所以输出中文的时候需要这样:
ProcessPrintChars(936);
PrintCXY(……); //PrintMini等同理;PrintXY则不需要ProcessPrintChars,而是将前两个字符换成\x3\xa8
ProcessPrintChars(0);
这样就可以用系统内置字库输出中文了。
发表于 2023-4-4 14:43:41 | 显示全部楼层
举个例子学习学习噻。
 楼主| 发表于 2023-4-5 21:47:18 | 显示全部楼层
本帖最后由 xuhao20040309 于 2023-4-5 21:51 编辑
bioafanda 发表于 2023-4-4 14:43
举个例子学习学习噻。

下面这个例子可以显示一个蓝色的“你好世界”

  1. #include <fxcg/display.h>
  2. #include <fxcg/keyboard.h>
  3. int main() {
  4.   int key;
  5.   ProcessPrintChars(936);
  6.   PrintCXY(1,1,"你好,世界!",0,-1,COLOR_BLUE,COLOR_WHITE,1,0);
  7.   ProcessPrintChars(0);
  8.   while (1) GetKey(&key);
  9.   return 0;
  10. }
复制代码

另外我前几天写了个简单的txt阅读器,感兴趣的话可以看一下(
发表于 2023-4-19 23:00:14 | 显示全部楼层
xuhao20040309 发表于 2023-4-5 21:47
下面这个例子可以显示一个蓝色的“你好世界”

不错呦,这段代码要怎么运行
发表于 2023-4-20 19:26:10 | 显示全部楼层
xuhao20040309 发表于 2023-4-5 21:47
下面这个例子可以显示一个蓝色的“你好世界”

感兴趣,发一下吧,[email protected]
 楼主| 发表于 2023-4-20 21:58:21 来自手机 | 显示全部楼层
mrlgs 发表于 2023-4-20 19:26
感兴趣,发一下吧,

网上搜libfxcg,配置好sdk,把示例项目的代码改成这个之后make就行了
阅读器的话看我之前的主题帖( ̄∇ ̄)点正文里那个GitHub就是那个电子书阅读器的源代码了
发表于 2023-4-25 13:48:05 | 显示全部楼层
太厉害了,技术高超。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-11-21 18:33 , Processed in 0.050592 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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