一种嵌入式系统多字体文字的显示方法和显示系统的制作方法

文档序号:8282381阅读:432来源:国知局
一种嵌入式系统多字体文字的显示方法和显示系统的制作方法
【技术领域】
[0001] 本发明属于文字显示领域,尤其涉及一种嵌入式系统多字体文字的显示方法和显 示系统。
【背景技术】
[0002] 在嵌入式系统应用中,为实现更为良好的人机界面,通常需要在不同界面中显示 不同字体的中英文字符。
[0003] 嵌入式系统需要显示的文字中无重复的文字数通常较少,且嵌入式系统的存储容 量通常较小,为了节省系统的存储资源,所以无法建立完整的字库。为此,通常现有的采用 单一字体的嵌入式系统中的文字显示方法为:
[0004] 1、确定需要显示的文字;
[0005] 2、建立某种所需字体的无重复文字的点阵字库和机内码表,点阵字库和机内码表 在文字顺序上保持一致;
[0006] 3、以当前需显示文字的机内码为索引查找机内码表,确定该内码在机内码表中的 索引值;
[0007] 4、根据索引值计算需显示文字的点阵字模数据在点阵字库中的起始地址;
[0008] 5、根据起始地址获取字模数据,显示相应文字。
[0009] 在嵌入式系统需要多字体显示中英文字符时,面临着几个新问题,主要是:
[0010] 1、如何以简单、统一的方式为每种所需字体建立所需字符的字库;
[0011] 2、如何以简单的方式实现字体的选择;
[0012] 3、在每种字体的点阵字库所含的字符数、点阵数据不尽相同的情况下,如何以一 种统一、高效的方式从所选字体的字库中找到待显示字符的点阵字模数据并加以显示,而 不是为每种字体分别建立一种字模数据的查找和显示方法。

【发明内容】

[0013] 鉴于此,本发明提供一种嵌入式系统多字体文字的显示方法和显示系统,以解决 现有技术无法显示多种字体的技术问题。
[0014] 本发明实施例是这样实现的,一种嵌入式系统多字体文字的显示方法,所述方法 包括以下步骤:
[0015] 预设当前字库信息索引表;
[0016] 将当前使用的中文字体和英文字体的字库信息表地址存放到所述当前字库信息 索引表;
[0017] 读取待显示的机内码格式的字符数据;
[0018] 通过所述当前字库信息索引表获取当前使用的字库信息,并根据所述字库信息和 所述字符数据获取当前使用的字库和字符的点阵数据;
[0019] 根据所述点阵数据和字库信息提供的点阵字模的宽度、高度显示字符。
[0020] 本发明实施例还提供一种嵌入式系统多字体文字的显示系统,所述系统包括:
[0021] 预设单元,用于预设当前字库信息索引表;
[0022] 存放单元,用于将当前使用的中文字体和英文字体的字库信息表地址存放到所述 预设单元预设的当前字库信息索引表;
[0023] 字符数据读取单元,用于读取待显示的机内码格式的字符数据;
[0024] 获取单元,用于通过所述当前字库信息索引表获取当前使用的字库信息,并根据 所述字库信息和所述字符数据读取单元读取的字符数据获取当前使用的字库和字符的点 阵数据;
[0025] 显示单元,用于根据所述获取单元获取的点阵数据和字库信息提供的点阵字模的 宽度、高度显示字符。
[0026] 本发明实施例,预设当前字库信息索引表,将当前使用的中文字体和英文字体的 字库信息表地址存放到所述当前字库信息索引表,读取待显示的机内码格式的字符数据, 通过所述当前字库信息索引表获取当前使用的字库信息,并根据所述字库信息和读取的字 符数据获取当前使用的字库和字符的点阵数据,根据所述字符的点阵数据和字库信息提供 的点阵字模的宽度、高度显示字符,使得字库建立、字体选择以及显示简单方便,且便于字 符的增减等维护操作。
【附图说明】
[0027] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0028] 图1是本发明实施例提供的嵌入式系统多字体文字显示方法的流程图;
[0029] 图2是本发明实施例提供的接口函数的实现流程图;
[0030] 图3是本发明实施例提供的嵌入式系统多字体文字显示系统的结构图。
【具体实施方式】
[0031] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0032] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0033] 实施例一
[0034] 如图1所示为本发明实施例提供的嵌入式系统多字体文字显示方法的流程图,所 述方法包括以下步骤:
[0035] 步骤S101,确定需要使用的字体种类以及每种字体中无重复的文字。
[0036] 在本发明实施例中,不同的嵌入式系统所需的字体以及每种字体下需要的无重复 文字都不相同,实际应用中,可根据当前嵌入式系统的需求确定需要使用的字体种类以及 每种字体下需要的无重复文字。
[0037] 步骤S102,为所述每种字体建立点阵字库,并为所述点阵字库建立字库信息表。
[0038] 在本发明实施例中,对于每种字体,都分别建立一个点阵字库,用于存放相应字体 所包含的文字的机内码和点阵字模数据。点阵字库中,一个文字的机内码和它的点阵字模 数据相邻存放,通常机内码在前;各文字按照其机内码升序或降序无间隔地排列。点阵字库 的具体实现方式可采用二维数组,其中的某一维即存放某个文字的机内码和它的点阵字模 数据。
[0039] 对于每一个所建立的点阵字库,分别建立对应的字库信息表,用于存储相应点阵 字库的如下信息:字库类型(英文或中文)、文字数、字模宽度、字模高度、字模字节数、对应 的点阵字库地址。所述字模字节数为单个文字字模数据的字节数与单个文字机内码字节数 之和。字库信息表的具体实现方式可采用结构体形式。
[0040] 步骤S103,预设当前字库信息索引表。
[0041] 在本发明实施例中,嵌入式系统在不同的情况下需要使用不同字体的中文文字和 英文字母显示文字,当前字库信息索引表用于同时存放嵌入式系统当前使用的中文文字的 字库信息表地址和当前使用的英文字母的字库信息表地址。
[0042] 步骤S104,将当前使用的中文字体和英文字体的字库信息表地址存放到所述当前 字库信息索引表。
[0043] 在本发明实施例中,根据嵌入式系统当前的显示需要,选择当前使用的一种中文 字体和一种英文字体,分别将对应的中文字体的字库信息表地址和对应的英文字体的字库 信息表地址存放到当前字库信息索引表中。
[0044] 步骤S105,读取待显示的机内码格式的字符数据。
[0045] 在本发明实施例中,字符数据以机内码格式存储于嵌入式系统中,可以是字符串 或单个字符,中英文字符数据可以混合。字符数据以字节为单位,一个机内码格式的中文字 符数据具有2个字节,每个字节的最高位为1 ;一个机内码格式的英文字符数据具有1个字 节,字节的最高位为〇。在显示中英文文字时,以字节为单位依次读取待显示的字符数据,如 果当前读取的1字节字符数据的值小于128,则将当前数据作为1个英文字符数据;否则, 将当前的1字节字符数据以及后续读入的1字节字符数据共同构成1个中文文字的字符数 据。
[0046] 步骤S106,通过所述当前字库信息索引表获取当前使用的字库信息,并根据所述 字库信息和所述字符数据获取当前使用的字库和字符的点阵数据。
[0047] 在本发明实施例中,如果读取的字符数据属于英文字符,根据当前字库信息索引 表中的当前采用的英文字体的字库信息表地址,找到当前采用的英文字体的字库信息表, 取得字库信息,再根据当前采用的英文字体的字库信息中的字库地址,查找对应的点阵字 库。如果读取的字符数据属于中文字符,根据当前字库信息索引表中的当前采用的中文字 体的字库信息表地址,找到当前采用的中文字体的字库信息表,取得字库信息,再根据当前 采用的中文字体的字库信息中的字库地址,查找对应的点阵字库。
[0048] 查找点阵字库时,将字符数据的机内码值与点阵字库中所有字符的机内码以二分 法逐一比较,如果字符数据的机内码值与点阵字库中第η个字符的机内码一致,则英文字 符点阵数据的地址可计算为:字库地址+ηΧ字模字节数+1,中文字符点阵数据的地址可 计算为:字库地址 +ηΧ字模字节数+2,其中字库地址和字模字节数由字库信息提供。如果 字符数据的机内码值与点阵字库中所有字符的机内码均不一致,表明字库中没有对应的字 符,可将所查找字符的点阵数据的地址定为NULL.根据所述字符点阵数据的地址,找到字 符点阵数据。
[0049] 步骤S107,根据所述点阵数据和字库信息提供的点阵字模的宽度、高度显示字符。
[0050] 本发明实施例,预设当前字库信息索引表,将当前使用的中文字体和英文字体的 字库信息表地址存放到所述当前字库信息索引表,读取待显示的机内码格式的字符数据, 通过所述当前字库信息索引表获取当前使用的字库信息,并根据所述字库信息和读取的字 符数据获取当前使用的字库和字符的点阵数据,根据所述字符的点阵数据和字库信息提供 的点阵字模的宽度、高度显示字符,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1