基于高通手机平台汉字显示解决方案

最新更新时间:2007-11-19来源: 半导体应用关键字:函数  字符  像素  接口 手机看文章 扫描二维码
随时随地手机看文章
引 言

高通作为全球领先CDMA手机平台供应商,在国内得到广大手机设计公司和手机厂商的青睐,其中包括德信无线、上海精佑、赛龙上海和UT斯达康等国内许多手机设计公司和手机厂商。为了支持国内市场,汉字显示是必不可少的,而高通手机平台上没有直接提供完备的汉字显示解决方案,本文就这个热点论题,通过对高通手机平台字符显示特点进行了分析,具体地给出了基于BMP文件格式存储汉字字库的一种汉字显示方案。

2 高通手机平台Brew字符显示原理

高通手机平台Brew字符显示由两部分构成,一部分为上层应用提供一个统一的字符显示接口部分,另一部分为某一种字符集或字体具体实现部分,这两个部分是通过虚函数机制绑定在一起。在Brew字符显示接口统一定义如下:

IFONT AddRef():用于引用记数功能;

IFONT_Release():释放当前应用程序字符显示实例;

IFONT_QueryInterface():他根据字符ID检索当前应用程序字符显示实例;

IFON_DrawText():他用于显示具体的文本;

IFONT_MeasureText():他用于计算以象素为单位文本的大小和字符的总数目;

IFONT_GetFontInfo():他用于检索字符相关信息,比如ascent和descent的值。

从上面的显示接口定义可见,系统的设计者将字符显示接口视为一个脱离依赖具体字符显示的转换模块,而字符具体实现部分则需要根据显示接口每个接口函数给出一个标准实现,功能就是针对某一种字符实现文本显示,计算文本大小,返回该种字体一些信息等。

例如:高通关于ASCII字符显示的参考设计中就定义了一组与显示接口一致的一组函数:

然后通过指针赋值方式把这组函数与接口函数对应部分关联起来,即在函数AEEVarBitFont_NewFromBBF内部通过指针赋值方式使显示接口部分与具体实现部分绑定在一起。

上层应用模块调用字符显示模块的过程如下:

3 高通手机平台上汉宇字库的BMP文件存储结构的设计

在手机平台上汉字显示可以采用国标码或Unicode任何一种编码方案,但为了信息交换方便,大多数手机开发采用Unicode显示方式,这里以Unicode为例来说明。传统的汉字存储结构采用数组方式,明显地,字符集这种存储方式无法直观地显示给用户和软件开发者,用户和软件开发者也很难了解字符集内真正包含了那些字符,再者,当显示汉字时,系统需要将汉字字模存储方式转换为屏幕显示方式,这将会增加系统开销,降低运行效率。这里设计了用BMP文件格式来存储汉字字库,他保证整个存储空间没有明显增加的同时,能够使用户直观地了解字符集内包含了那些字符,提高系统运行效率。

与现有其他的汉字存储结构和汉字显示方法相比,该方法具有3个主要特点:

直观性强 由于采用BMP图片存储结构方式,可以浏览汉字字符集中包含的汉字;

运行效率高 由于采用BMP图片存储结构方式,使得单个字符的字模存储方式与屏幕显示方式保持一致,当显示汉字时,不需要把汉字字模存储方式转换为屏幕显示方式;

可移植性强、开发周期较短 对上层应用模块汉字显示耦合得更好,由于这种方法尽可能地采用了Brew系统现有的字符显示参考设计和已有的显示接口机制。

由于汉字的Unicode编码范围为u4E00~u9FA5和uF900~uFA2D,如果不在这个范围内就不是汉字了。为了讨论方便,这里考虑汉字Unicode编码范围为u4E00~ugFA5,总计有20 901个汉字,他们是连续编码的。

16*16汉字字库BMP文件格式描述如下:

从上面的存储结构可知,他实际就是一幅BMP格式的汉字字库图片,这幅BMP图片就是汉字字符集的二进制表示,他是从BMP图片格式转换过来的。这里每个字符字模对应BMP图片中一个图片片,字模存储方式与屏幕显示方式是一致的。

4 基于BMP文件存储结构汉字显示实现

实现本地汉字显示较早的一种方案基于Native UI,他不需依赖Brew显示接口。目前较多的汉字显示方案会涉及到Brew显示接口,常见汉字显示解决方案为:

(1) 基于Native UI方案,实现汉字显示。完全自己开发一套点阵存储、点阵获取、点阵显示、汉字显示函数,使用者使用特定的汉字显示函数把汉字显示出来。该方法具有最大的灵活性,甚至不理睬Brew任何显示接口机制,直接在上层组件里实现,但这种方法使程序可移植性比较差,对第三方应用程序汉字显示支持也不方便。

(2) 基于Brew方案,实现汉字显示。自己开发点阵存储、点阵获取、点阵显示,改造Brew的显示接口函数,使其能判断汉字码,一旦判断出汉字码,则使用自己开发的点阵获取、点阵显示等把汉字显示出来。然后把该自己开发的显示函数绑接到Brew显示接口上。该方法对点阵的操作更加灵活,工作量较大,开发周期较长,这种方法比较适用已有成熟的点阵操作方法开发者。

这里利用Brew对BMP文件格式的支持,使用BMP文件格式实现对汉字的点阵存储、点阵获取、点阵显示的全过程,并使用Brew的显示函数实现汉字码到汉字显示。这种方法尽可能地使用了Brew系统现有的字符显示参考设计和已有的显示接口机制,开发周期较短,是最根本的解决方法,他使得Brew的其他上层应用模块能很方便实现汉字显示。这种方法使程序通用性好,可移植性强,支持第三方应用程序开发也较方便等特点。

为了支持第三方软件厂商集成不同国家文字显示,高通手机平台提供一个绑定显示接口和对应的实现部分的接口函数,通过这个函数就可以把各种不同文字类型显示方式绑定到Brew统一的显示接口上,软件厂商只需要根据具体文字的显示方式实现具体的接口函数即可。这个接口如下:

各个参数介绍如下

IFont**ppif:汉字接口函数;

const uint16*pwGlyphs:汉字码表;

int cntGlyphs:汉字总数目;

const CHAR*pbyBitmap:用BMP表示的汉字字库;

int cbBitmap:用BMP表示的汉字字库总的字节数目;

int xCHARWid:每个汉字宽度;

int yCHARHeight:每个汉字高度;

int yCHARDescent:点阵打点开始位置在baseline之下的偏移;

uint16 wUndefGlyph:未定义的ASCII字符数目;

int nHalfCHARs:ASCII字符数目;

UTFONTTYPE FontType:汉字类型。

为了实现BMP文件格式存储结构字库的汉字显示方式,主要工作集中于下面两个方面:

(1) 定义创建字体实例接口函数

在Brew方案中,上层应用模块都是通过ID创建字体实例,这里可以按照如下方式定义创建字体接口函数。

(2) 实现汉字显示一组具体的接口函数

由于Brew方案中已经实现了基于BMP格式对ASCII码显示支持方式,所以显示接口函数IFONT_Ad-dRef(),IFONT_Release(),IFONT_QueryInterface的功能已经实现,而汉字显示方式这三个函数要实现的功能与ASCII是一致的,不需要改动。函数IFONT GetFon-tInfo对于汉字显示不适用,因为汉字的ascent和descent的值为0,这里只要考虑IFONT_DrawText()和IFONTMeasureText()两个函数的实现问题。

为了实现IFONT_MeasureText(),在他对应的实现函数内部增加计算一个汉字宽度的相应代码。

为了实现IFONT_DrawText(),由于Brew提供了基于BMP格式对ASCII码显示支持方式,对于汉字显示关键是计算汉字UNICODE码与BMP格式的汉字字模的对应关系。由于汉字的UNICODE码是连续,在BMP图片中字模已经按照UNICODE码顺序排列,对于任何汉字只要计算他与第一个汉字(4E00)的偏移量,然后根据偏移量直接拷贝BMP图片中该字符的图片片到显示缓冲区即可,不需要把单个字符字模转换为屏幕显示方式,提高了系统显示速度。

5 注意事项

在实际开发中,手机软件开发商一般以点阵形式从第三方购买字库,为了能够应用第三方字库到高通手机平台上需要转换成BMP格式的文件。另一个要注意的问题是这里把汉字显示作为单独的一个字符集来考虑的,在实际中可以把ASCII,汉字和汉字偏旁部首构成一个字符集来考虑。只要根据不同的码值分别计算他们各自对应BMP图形的偏移量即可。

6 结 语

本文就高通手机平台关于汉字存储和汉字显示方式这一热门论题进行了详尽讨论,论述高通手机平台Brew字符显示原理、传统汉字存储结构的不足和不同汉字显示方案的特点,并在论述这些原理和方案的同时提出了一种具有通用强,移植方便和容易扩展的汉字显示方案,也提出了在实际应用需要注意问题。

关键字:函数  字符  像素  接口 编辑: 引用地址:基于高通手机平台汉字显示解决方案

上一篇:光强度自动报警控制系统的设计
下一篇:基于EZ-Color控制器的高亮LED照明混色方案

推荐阅读最新更新时间:2023-10-18 14:39

串行接口中文图形点阵液晶显示模块的应用
摘要:介绍一种具有4位/8位并行、2线/3线串行多种接口方式,内部含有国标一级、二极简体中文字库的图形点阵液晶显示模块;利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。介绍模块的性能特点、操作指令及接口方式;以AT89C2051单片机及2线串行接口方式为例,给出相应的硬件电路及显示子程序。 关键词:串/并接口 液晶模块 中文字库 引言 液晶显示器件由于具有显示信息丰富、功耗低、体积小、质量小、无辐射等优点,得到了广泛的应用;但液晶显示模块复杂的硬件接口和软件编程却令产品设计人员生畏,因而限制了该模块在某些领域的应用。本文介绍一种具有串/并多种接口方式,且内部含有GB2312一级、二级简体中文字库
[应用]
标准化连接口将统一 新能源车充电国标发布倒计时
    新能源汽车用户再也不用为充电兼容问题所烦恼。日前,在国家信息中心主办的全国汽车信息发布会上,北京市科委双新处处长许心超表示,“充电国标的修 订工作已基本完成,开始征求意见,并有望在今年8月正式发布”。昨日,许心超在接受北京商报记者采访时表示,此次充电国标的核心在于将新能源汽车充电桩规 范化、一致化,且不同车型充电插口将统一,并采用标准化的充电桩。    充电桩将实现标准化       此前由于是不同品牌新能源车而出现充电桩电压、功率不同导致充不进电的情况,对此,许心超表示,充电国标也将在充电桩的兼容性上做出调整,具体表现在统一充电插口尺寸以及通信协议标准,即保证不同品牌的新能源车都能与同一充电桩正常连接,进行
[汽车电子]
MAX1169 ADC与PIC微控制器的接口
MAX1169是一款16位、低功耗ADC,具有I 2 C兼容的2线串行接口。MAX1169的接口可支持快速模式(400kHz)和高速模式(高达1.7MHz)。 本应用笔记包括实例应用电路和用于PIC18F442的软件。该软件提供了利用内部MSSP I 2 C端口,以400kHz速率连接ADC至PIC微控制器的函数调用。因为其它微控制器具有类似的片上外围设备,所以实例中所提供的I 2 C通信程序被有意拆分为单独的I 2 C函数调用,以便快速移植到其它微控制器。表1所示为汇编程序范例中用到的单独的I 2 C接口函数调用。 这里讨论的应用电路采用了MAX1169EVKIT,包括:MAX1169、输入缓冲器(MAX4430)和
[应用]
惠普全新的光影精灵5代游戏本评测:接口齐全的实力派
《全职高手》这部新剧不仅让许多杨洋的迷妹们爱得死去活来,同样也在游戏爱好者的圈子里有颇高的关注度,而剧中出现的惠普光影精灵游戏本作为御用游戏本,自然也让追剧的小伙伴们十分好奇。 《全职高手》剧照 《全职高手》剧照    在日本动漫中,主要角色所使用的电子设备往往会“沦为”粉丝们的手办,比如《轻音少女》中秋山澪所使用的耳机,《埃罗芒阿老师》中和泉纱雾所使用的蓝牙音箱,看来我们的惠普光影精灵游戏本也很有这方面的潜力啊。    当然了,惠普光影精灵可不光是偶像派选手,它在游戏本市场同时也是响当当的实力派!全新的光影精灵5代游戏本在延续了系列产品设计风格的同时还带来了新的进化,无论是硬件规格还是外观造型都有了
[嵌入式]
惠普全新的光影精灵5代游戏本评测:<font color='red'>接口</font>齐全的实力派
elmos推出具备I2C总线接口的双天线电源芯片
         德国多特蒙德,艾尔默斯公司(elmos)日前宣布推出一种紧凑型封装的汽车级双天线电源保护芯片。该芯片为天线系统提供静电保护(ESD保护)以及电源对地/电池的短路保护,同时该芯片具备过热保护的功能。通过I2C总线接口,可以非常方便的通过两根数据线对多个不同的器件进行寻址。该芯片采用QFN20L5封装。       该芯片可以用在输入电压从4.5V-25V的天线应用中。芯片把输出端的电压通过电阻分压,然后反馈到芯片内部作为调整的依据,可以独立地输出两路电源,电压范围从3.3 V直至至VBat。       采用QFN的封装形式,使得芯片体积可以做的很小,但却具有全面的诊断功能。由于它采用I2C接口和8位ADC
[电源管理]
elmos推出具备I2C总线<font color='red'>接口</font>的双天线电源芯片
凌华发布PCI Express®接口高速数字I/O模块
2013年9月11日,北京讯。 亚洲最大的数据采集与PXI平台产品供货商——凌华科技发表新款PCI Express®高速数字I/O模块-PCIe-7360。PCIe-7360具备优越的采样性能,提供高达400 MB/s数据带宽和100 MHz内/外部时钟采样频率,具有32个平行高速数字输出入通道及8通道多功能可编程I/O,适用于大数据量平行高速数字数据采集与输出的应用,如CMOS影像传感器影像输出性能检测、ADC/DAC测试、数字影像采集、播放及用于输出数字图像数据至大尺寸打印机或绘图机等应用。 “随着数字影像装置对于分辨率及画面更新率规格的要求提升,客户需要寻找更高速的连续数据采集模块以满足功能检测的需求。”凌华科技量测与
[模拟电子]
基于PIC单片机的USB接口设计
  引言   USB是一种快速的、双向同步传输的、廉价并可以进行热插拔的串行接口。利用USB总线技术,开发适用于科学研究和工业牛产的各种仪器仪表设备,借以取代传统计算机测控系统中采用串行RS232或并行接口的仪器仪表设备,使计算机测控系统更加高效实时,方便灵活。   利用USB总线的数据采集方案有两种,一种是采用普通单片机加上专用的USB通信芯片。该方案可充分利用开发人员原有的硬件资源和软件知识,开发成本较低,但系统的设计和调试较为麻烦,且电磁兼容性差,容易造成主机不能识别USB设备。另一种是利用具有USB接口功能的单片机。使用这些专用芯片构成的数据采集系统电路设计简单,调试方便,电磁兼容性好。然而,目前大部分具有US
[单片机]
基于PIC单片机的USB<font color='red'>接口</font>设计
CMOSIS推出业内首款全局快门48M像素CMOS图像传感器
中国,2016年11月7日,全球领先的高性能传感器和模拟IC供应商艾迈斯半导体公司(ams AG,瑞士股票交易所股票代码:AMS)旗下品牌CMOSIS今天推出业内首款全局快门CMOS图像传感器CMV50000,它能够提供48M像素的高分辨率,是前一代CMOSIS全局快门CMOS图像传感器的两倍以上。 CMV50000是一个采用专利的8晶体管像素结构制作而成的中片幅48M像素传感器,像素大小为4.6 m,分辨率为7920 x 6002。它的噪音很低,且能够提供绝佳的电子快门效率。全局快门操作意味着能够捕捉到快速移动的物体影像,且不会发生失真。 在全分辨率模式下光学动态范围最高可达64dB,在二
[传感器]
CMOSIS推出业内首款全局快门48M<font color='red'>像素</font>CMOS图像传感器
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved