[发明专利]一种POS机多国语言的实现方法及其系统有效
申请号: | 201710791804.1 | 申请日: | 2017-09-05 |
公开(公告)号: | CN107562480B | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 黄文潘 | 申请(专利权)人: | 深圳市新国都支付技术有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G07G1/00 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 冯筠 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pos 国语 实现 方法 及其 系统 | ||
1.一种POS机多国语言的实现方法,其特征在于,所述方法包括:
初步设置语言以及相关字库资源;
输入待显示的字符串编码;
判断所述字符串编码是否需要双向排序;
若不需要双向排序,则判断所述字符串编码内的ASCII字符段和非ASCII字符段的字体属性是否一致;
若一致,则对所述字符串编码进行转换为harftbuzz识别的UTF8码;
对UTF8码进行变形处理,获取字符串编码所对应的bitmap;
根据与POS机连接的不同的设备进行灰阶设置,并缓冲位置属性;
获取所有的ASCII字符段和非ASCII字符段的bitmap,根据不同的设备进行输出缓存;
若不一致,则将字符串编码转换为UINICODE码;
对需要双向排序的字符串进行排序,对不需要双向排序的字符串以及排序后的字符串进行字符区分,并进入所述获取所有的ASCII字符段和非ASCII字符段的bitmap,根据不同的设备进行输出缓存的步骤;具体地,采用fribidi实现双向排序算法,再对不需要双向排序的字符串或者重新排序后的字符串进行区分ASCII字符段和非ASCII字符串,再对应提取所有的ASCII字符段和非ASCII字符段的bitmap,根据不同的设备进行输出缓存;
若需要双向排序,则返回所述将字符串编码转换为UINICODE码的步骤;
初步设置语言以及相关字库资源的步骤,包括以下具体步骤:
设置语言、字符编码以及Script字库路径;
初始化freetype以及矢量字库相关资源;
输入待显示的字符串编码的步骤,包括以下具体步骤:
下发需要显示的字符串编码以及字符大小;
依据所述字符串编码以及字符大小生成设置参数;
对UTF8码进行变形处理,获取字符串编码所对应的bitmap的步骤,包括以下具体步骤:
初始化harfbuzz的增益性;
设置语言script,按照ASCII和非ASCII标志,设置字体属性;
调用shape对字符串编码进行变形处理;
保存每个字符的位置属性;
使用freestype获取字符串编码中单个字符的bitmap;
根据与POS机连接的不同的设备进行灰阶设置,并缓冲位置属性的步骤,包括以下具体步骤:
判断与POS机连接的设备是否为显示设备;
若是,则设置颜色为256灰阶,并进入下一步骤,若不是,则设置颜色为单位色,并进入下一步骤;
将按照harfbuzz获取的位置属性填入缓冲区;
获取所有的ASCII字符段和非ASCII字符段的bitmap的步骤,包括以下具体步骤:
按照字符串顺序获取ASCII字符段以及非ASCII字符段的bitmap;
判断获取bitmap所对应的字符段是否是最后字符段;
若是,则根据不同的设备进行输出缓存;
若不是,则返回所述对UTF8码进行变形处理,获取字符串编码所对应的bitmap的步骤;
根据不同的设备进行输出缓存的步骤,包括以下具体步骤:
判断是否输出至打印设备;
若是,则直接输出ASCII字符段以及非ASCII字符段的bitmap到打印设备中;
若不是,则将灰阶转换为RGB,并输出ASCII字符段以及非ASCII字符段的bitmap到显示设备中。
2.一种POS机多国语言的实现系统,其特征在于,包括初步设置单元、输入单元、排序判断单元、属性判断单元、转换单元、处理单元、灰阶设置单元、bitmap获取单元、编码转换单元、排序单元以及区分单元;
所述初步设置单元,用于初步设置语言以及相关字库资源;
所述输入单元,用于输入待显示的字符串编码;
所述排序判断单元,用于判断所述字符串编码是否需要双向排序;
所述属性判断单元,用于若不需要双向排序,则判断所述字符串编码内的ASCII字符段和非ASCII字符段的字体属性是否一致;
所述转换单元,用于若一致,则对所述字符串编码进行转换为harftbuzz识别的UTF8码;
所述处理单元,用于对UTF8码进行变形处理,获取字符串编码所对应的bitmap;
所述灰阶设置单元,用于根据与POS机连接的不同的设备进行灰阶设置,并缓冲位置属性;
所述bitmap获取单元,用于获取所有的ASCII字符段和非ASCII字符段的bitmap,根据不同的设备进行输出缓存;
所述编码转换单元,用于若不一致,则将字符串编码转换为UINICODE码;
所述排序单元,用于对需要双向排序的字符串进行排序;
所述区分单元,用于对不需要双向排序的字符串以及排序后的字符串进行字符区分;具体地,采用fribidi实现双向排序算法,再对不需要双向排序的字符串或者重新排序后的字符串进行区分ASCII字符段和非ASCII字符串,再对应提取所有的ASCII字符段和非ASCII字符段的bitmap,根据不同的设备进行输出缓存;
所述初步设置单元包括语言设置模块以及资源初始化模块;
所述语言设置模块,用于设置语言、字符编码以及Script字库路径;
所述资源初始化模块,用于初始化freetype以及矢量字库相关资源;
所述输入单元包括下发模块以及参数生产模块;
所述下发模块,用于下发需要显示的字符串编码以及字符大小;
所述参数生产模块,用于依据所述字符串编码以及字符大小生成设置参数;
所述处理单元包括buff初始化模块、字体树形设置模块、变形处理模块、保存模块以及单个bitmap获取模块;
buff初始化模块,用于初始化harfbuzz的增益性;
字体树形设置模块,用于设置语言script,按照ASCII和非ASCII标志,设置字体属性;
变形处理模块,用于调用shape对字符串编码进行变形处理;
保存模块,用于保存每个字符的位置属性;
单个bitmap获取模块,用于使用freestype获取字符串编码中单个字符的bitmap;
所述灰阶设置单元包括设备判断模块、颜色设置模块以及缓冲填入模块;
设备判断模块,用于判断与POS机连接的设备是否为显示设备;
颜色设置模块,用于若与POS机连接的设备是显示设备,设置颜色为256灰阶,若与POS机连接的设备不是显示设备,设置颜色为单位色;
缓冲填入模块,用于将按照harfbuzz获取的位置属性填入缓冲区;
所述bitmap获取单元还包括字符段bitmap获取模块、完整性判断模块以及缓存输出模块;
字符段bitmap获取模块,用于按照字符串顺序获取ASCII字符段以及非ASCII字符段的bitmap;
完整性判断模块,用于判断获取bitmap所对应的字符段是否是最后字符段;
缓存输出模块,用于若是,则根据不同的设备进行输出缓存;
所述缓存输出模块包括输出设备判断子模块以及灰阶转换子模块;
输出设备判断子模块,用于判断是否输出至打印设备;若是,则直接输出ASCII字符段以及非ASCII字符段的bitmap到打印设备中;
灰阶转换子模块,用于若不是,则将灰阶转换为RGB,输出ASCII字符段以及非ASCII字符段的bitmap到显示设备中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市新国都支付技术有限公司,未经深圳市新国都支付技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710791804.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多点固定蛋白A的免疫吸附材料及其制备方法
- 下一篇:检测系统及检测方法