技术回溯,点阵字库为3D中文字符展示提供新思路

本文探讨了如何利用点阵字库技术,在现代高清屏幕上以3D方式展示汉字。通过解析HZK16点阵字库,生成JS文件,并结合Twaver的3D场景进行汉字显示。文章还介绍了如何获取汉字的区位码,以及在JavaScript中进行转换的方法,为3D环境中处理汉字提供了一种创新思路。
摘要由CSDN通过智能技术生成

早在遥远的DOS时代,点阵汉字库为计算机处理汉字起到了关键作用。当时的显示器在图形模式下的分辨率只有640x480甚至320x200,显示汉字直接使用点阵字库在屏幕上打点就可以了。如今的电脑屏幕甚至手机、电视屏幕都已经进入视网膜高清屏时代,字体也早使用了矢量化技术。其实在工控机等嵌入式设备领域点阵字库依旧用途广泛。除此之外,前辈们苦心整理的这些HZK12、HZK16、HZK24汉字点阵字库还有什么用途吗?本文我们就尝试用twaver的3d技术来继续发挥这些点阵字库的余热。



字库

网上可以轻松搜索到hzk12、hzk16、hzk24、hzk32等各规格的点阵字库文件。以最简单常用的汉字集合gb2312为例,6763个汉字,对12的点阵字库来说,只有不到200k。但是12的点阵有点太粗糙了,视觉上已经很难接受,甚至无法辨认。16的显示效果略好,文件在260k左右。32点阵的汉字尺寸会达到几兆,一个汉字点阵=32x32=1024个点,无论用3d还是2d来处理,量都有点大。所以这里选择16的字库做例子。另外一般24的点阵字库主要用于打印,其方向是反的,程序处理时需要注意循环方向。

现在也有软件可以自动生成点阵的汉字库,指定机器上的字库和分辨率然后处理即可。如果对点阵字库不满意,您可以自己生成一个。对于16的点阵来说,能显示清楚就不错了,字体样式美观性就谈不上了,所以重新生成也没什么意义。这些字库中的文字点阵已经是优化处理成最好的显示效果了。

要在js中处理这些点阵数据,直接用二进制文件太麻烦,最好是处理成js的格式,例如数组、json等。首先要熟悉一下字库的结构。

hzk16二进制点阵文件包含了GB2312中定义的汉字。GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。GB2312 将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。01-09 区为符号、数字区,16-87区为汉字区,10-15区、88-94区是有待进一步标准化的空白区。GB2312将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值