Kanzi软件开发之相关文字编写小知识

当今数字座舱系统显示中,除了缤纷的色彩图案和炫酷的动画效果,文字信息的展示也是不可或缺的一部分。那么下面为大家分享一些基于Kanzi的相关文字编写小知识。

 

字符及其编码

 

字符是根据字符编码方案转换为一个二进制数值存储在计算机之中的。最常见的编码字符集是Unicode(统一字符集),它包含了几乎世界上所有的已经发现且需要使用的字符。字符最直观的表达就是在屏幕上显示了什么。屏幕上能不能显示出字符(语言,数字或者符号)取决于该机器所用字库中有没有该字符。

在Kanzi中进行如下设置

 

直接赋值中文的字符串,其会显示如下:

 

这并不是我们所期待的效果。这是为什么呢?问题就在于Kanzi的屏幕显示中文需要在UTF-8格式下进行,所以我们要在中文前加上u8。设置如下:

 

这样就能实现中文的显示了。

 

同时,你也可以直接把Unicode转化为UTF-8格式的字符串来实现以上的效果。以下为Windows端实现,不同目标平台实现方法有所区别。

 

像这样把“中文”两个字符串转为UTF-8格式的字符串可以直接赋值给Text,在屏幕上输出效果也是一样的。

当然,是否能够正确显示出中文,这还将取决于该Text所用的字库中有没有“中文”这两个字符。大家可以尝试一下。

 

等宽字符

 

等宽字符(Monospaced Font)是指字符宽度相同的电脑字符。在早期,因为技术的局限,无法进行字符宽度的比例调整,所以将每个字符都制作成一样的宽度,从而形成了等宽字体。而与此相对的是字体宽度不尽相同的等比例字体。现在一般的字库中的字体都是等比例字体,因为等比例字体可以提高单词的可读性。但是在实际的项目运用中,一般都是等宽字体和等比例字体混合使用的。

首先给大家展示一下等比例字库的效果,导入两个字库到Kanzi中,等比例字库以及等比例和等宽混合字库。其效果显示如下:

 

从上面的效果展示可以看出,由于每个字符的宽度不尽相同,所以当有多行文字的时候就显的不太美观。其实手机里的通话记录和联系人用的都是等宽字体。

当然,Kanzi作为一款强大的HMI设计工具,是可以调节字体之间的宽度的。

 

对该属性进行以上设置即可得到自己想要的等宽字体。

 

其效果与等比例字体相比较更为美观,但还是存在不足之处。仔细观察,你会发现该属性其实只是延长了每个字体的尾部空白区域,所以从视觉感受就像是左对齐一样。这是Kanzi中设置的等宽,下面看下字库中设置的等宽效果。我们可以通过另外一种方案实现这一效果,通过FontCreator软件在字库中进行如下设置。

 

通过上面的轴线数值(绿色)设置可以改变字体的宽度(黄色),另需要所有等宽的字符的宽度保持一致,才能实现等宽字符效果。当然,小编友情提示:改变字体宽度时,注意要让左右轴线(绿色)同值增长,这样才能让字符居中。

 

当然,不等宽字符和等宽字符可以通过不同的Unicode编码加以区分,这样就可以在一套字库中根据不同场合的需求进行不同的选择。

猜你喜欢

转载自blog.csdn.net/m0_47334080/article/details/113122318