openKylin实现新国标系统级全面支持!
在近期发布的openKylin(开放麒麟) 1.0版本中,实现从底层库到应用程序对新国标GB 18030-2022的支持,可正常查看和编辑符合GB 18030-2022规范的文本文件,并内置国标宋体系列字体,新增GB 18030-2022内码输入法,完成对新国标GB 18030-2022的全面支持。
今天,就带大家详细了解什么是GB18030-2022,为什么要实现对其的支持以及openKylin所做工作。
一、什么是GB18030-2022
GB18030全称为《信息技术 中文编码字符集》,是我国自主研制的超大型中文编码字符集国家标准。该标准规定了中文字符及其他常用字符的二进制编码及其对应的字形或图形。2022年7月19日发布的GB18030-2022是其最新版本(简称新国标),并将于2023年8月1日正式实施。
GB18030-2022标准相比旧版标准GB18030-2005,新增了17000多个汉字,共收录87887个汉字,228个汉字部首。新国标大幅扩充了汉字字符数量,尤其是生僻字数量,基本上满足了人名、地名、古籍等场景中生僻字处理的需求。
此外,GB18030-2022对旧的中文编码规范提供了良好的兼容性,新国标在字汇和编码上兼容GBK和GB2312。
GB18030-2022规定了三个实现级别,openKylin支持的级别3是最高实现级别——支持新国标中全部汉字字符。
二、为何需要支持GB18030-2022
依据GB18030-2022国标文件规定,新国标适用于所有"具备中文和其他文字图形字符信息化处理及交换功能的技术类产品",包括计算机,操作系统,输入法等软硬件产品。从适用范围的角度来讲,openKylin操作系统需要支持新国标。
三、为支持GB18030-2022所作工作
为了完整准确支持GB18030-2022标准,需要从底层基础库到应用程序进行全面修改才能实现该目标。其涉及到的模块如下图所示:
在openKylin社区GBCharactersEncoding SIG组的主导推动下,openKylin 1.0版本完成了文本编辑器(pluma)、GTK3框架、harfbuzz以及glibc库的相关修改,实现了对GB18030-2022的完整支持。
取之于开源,回馈于开源。在支持新国标的过程中,openKylin向上游pluma提交了一个PR,解决了pluma文本编辑无法设置非ASCII字符字体名字体的问题。
并向上游GTK提交了2个PR,解决了GTK3中存在的CSS解析器无法正确识别非ASCII字符字体名的问题。
四、后续计划
当然,支持新国标离不开各方面的支持与配合。为此,openKylin社区GBCharactersEncoding SIG还将与业界各方进行配合,进一步推动新国标的落地,包括但不限于以下几个方面:
- 推动第三方应用支持新国标
- 推动WPS、奇安信浏览器、搜狗输入法等主流应用程序支持新国标。
- 完善Qt GUI框架对新国标的支持
未来,GBCharactersEncoding SIG将持续跟进国标字符编码相关工作,力争成为权威的国标实现开源组织。欢迎各位爱好者加入GBCharactersEncoding SIG,和我们一起为国标字符信息化处理添砖加瓦。
- GBCharactersEncoding SIG主页地址:
- https://gitee.com/openkylin/community/tree/master/sig/GBCharactersEncoding