基于变换向量的点阵字体的放大显示方法及放大显示装置制造方法
【专利摘要】本发明提供了一种基于变换向量的点阵字体放大显示方法,包括以下步骤:获取需要放大显示的字体;将所述原始点阵字体各点的x轴、y轴坐标移动预先计算的x轴、y轴变换向量,以对所述原始点阵字体的点阵数据在x轴、y轴上进行放大变换,从而得到所述需要放大显示字体的点阵数据;输出所述需要放大显示字体的点阵数据。本发明通过变换装置和显示装置,提高了使用时钟主频较低的MPU的装置的点阵字体放大速度。
【专利说明】基于变换向量的点阵字体的放大显示方法及放大显示装置
【技术领域】
[0001]本发明涉及一种基于变换向量的点阵字体的放大显示方法及放大显示装置。
【背景技术】
[0002]在一些简单、小巧的便携设备中,通常都使用液晶屏,以通过点阵字体显示一些人机交互信息。以192X64点阵的液晶屏为例,其一行可以显示12个16X16的点阵汉字,每屏可以显示4行共48个汉字。有时为了方便老年人使用,需要以更大的字体显示信息,例如20X20点阵,这样一行可以显示8个汉字,每屏显示3行共24个汉字。
[0003]为了实现点阵字体的放大,在现有技术中采用字库切换的方法,例如,采用分别包含大、小字体的两个点阵字库,在需要放大字体时只需切换字库即可。该方法缺点在于字库存储成本较大。
[0004]现有技术中另一种放大点阵字体的方法是采用基于浮点运算的算法将目标点阵字体转换为较大的点阵字体,具体包括如下步骤:定义源点阵空间,根据目标点阵大小分别求出源点阵空间在X、Y方向上的放大比例,接着根据放大比例计算确定目标点阵空间。该方法通过点阵运算实现点阵字体的放大,这样可节省字库的存储成本,但并未考虑到基于不同MPU的运算性能针对性地进行优化处理。在具体转换过程中,放大比例的计算次数依目标字体点阵大小而定,举例来说,如果目标字体点阵为20X20的点阵,点阵中的400个点都需要被计算到。这样在需要处理的信息量较大时,会产生较大的运算量。例如对于192X64的点阵屏而言,每屏可显示48个16 X 16点阵的字体,运算量为400X48次。对于32位的MPU来说,由于其自身的运算速度较快,双字运算可单指令周期内完成,由此实现的字体转换对于主频高于100M的MPU而言,这一转换基本不会影响用户的体验,但也占用了太多MPU资源,对于低于100M的MPU而言,这一转换仍然会有显示迟钝感。对于8位的MPU而言,由于其自身运算速度较低,还需要额外消耗更多的MPU时钟周期来进行字/双字运算,由此会使用户明显感觉到字体显示的迟钝,等待显示的时间较长,从而影响了用户体验。此外,由于放大比例的计算会产生小数位取舍的问题,这样根据放大比例计算确定的目标点阵空间与实际目标点阵空间之间会产生一定偏差,即造成放大后的字体与原字体之间存在一定差异,影响放大字体显示的美观性。
【发明内容】
[0005]有鉴于此,本发明的主要目的在于提供一种基于变换向量的点阵字体的放大显示方法及放大显示装置,以解决上述问题。
[0006]本发明提供的一种基于变换向量的点阵字体放大显示方法,包括以下步骤:
[0007]A、获取需要放大显示的字体;
[0008]B、在预先存储的点阵字库中查找上述需要放大显示的字体所对应的原始点阵字体的点阵数据;
[0009]C、将所述原始点阵字体各点的X轴、y轴坐标移动预设的X轴、y轴变换向量,以对所述原始点阵字体的点阵数据在X轴、y轴上进行放大变换,从而得到所述需要放大显示字体的点阵数据;
[0010]D、输出所述需要放大显示字体的点阵数据。
[0011]由上可以看出,上述方法在放大字体时使用原始点阵字体各点的预设变换向量来实现原始点阵字体各点的在X轴、y轴上的变换,以便在放大字体时无需执行指令周期相对较长的用于计算变换比例的浮点运算及固点运算,从而降低了点阵字体大小变换过程中的计算量,进而能够提高字体显示速度,并提高用户体验。
[0012]在上述的方法中,所述步骤B包括:
[0013]将所述需要放大显示的字体对应的字符编码变换得到所述需要放大显示的字体的UNICODE编码,并由该UNICODE编码在所述点阵字库中索引到所述需要放大显示的字体对应的原始点阵字体的点阵数据。
[0014]在上述的方法中,所述预设的X轴、y轴变换向量为通过下列过程计算求出的向量:
[0015]以目标字体点阵与原始字体点阵大小差异除目标字体点阵大小,求出分割单位长度;
[0016]按照所述分割单位长度,将目标字体点阵划分为多个分割区域;
[0017]在各分割区域内,通过循环计算方式获取分别沿X轴、y轴方向以字体点阵单位长度依次递增的向量,并在该循环计算的步长等于所述分割单位长度的分割点上设置过滤标识。
[0018]由上可以看出,通过分割区域确定原始字体点阵中的变换向量替代放大比例来拉伸放大字体,可避免因放大比例计算而产生的小数位取舍,由此避免在目标点阵空间与实际目标点阵空间之间产生偏差,进而解决了放大后的字体与原字体之间存在一定差异,影响放大字体显示美观性的问题。
[0019]在上述的方法中,在所述步骤C、D之间还包括以下步骤:
[0020]对于设置有过滤标识的新增分割点,依据对应点原始相邻关系,对新增点按照原字形轨迹进行取舍。
[0021]由上可以看出,本发明方法可根据原始点阵和目标点阵大小,按照汉字中心对称拉伸放大的原则,计算出目标字体点阵中出现的影响字体显示效果的新增点,并通过对新增点过滤修复,提高了放大字体的显示效果。又因为对于这种新增点的判断计算是在变换向量计算过程中实现的,因此过滤修复不会加重字体放大显示过程的循环计算负担。
[0022]在上述的方法中,所述步骤D包括:
[0023]缓存一行或整屏显示的所述需要放大显示的字体的点阵数据,待完成对所有上述点阵数据的缓存后,再将缓存的所有上述点阵数据一起输出。
[0024]由上可以看出,通过先将一行或整屏显示的显示字体点阵数据缓存至缓冲区,待完成对这些显示字体的点阵数据的缓存后,再将缓冲区内的所有点阵数据输出至液晶屏幕,可减少液晶屏幕的刷新次数,由此可使显示快速且稳定,避免了单个显示字体点阵数据依次输出而造成的屏幕闪烁,提高了用户体验。
[0025]本发明还提供了一种点阵字体放大显示装置,包括:
[0026]输入模块,其用于获取需要放大显示的字体;[0027]存储模块,其用于存储点阵字库和预设的X轴、y轴变换向量;
[0028]变换模块,其用于在所述点阵字库中查找上述需要放大显示的字体所对应的原始点阵字体的点阵数据,并将所述原始点阵字体各点的X轴、y轴坐标移动所述X轴、y轴变换向量,以对所述原始点阵字体的点阵数据在X轴、y轴上进行放大变换,从而得到所述需要放大显示字体的点阵数据;
[0029]显示模块,其用于输出所述需要放大显示字体的点阵数据。
[0030]在上述的装置中,还包括:
[0031]过滤模块,其用于过滤修复计算出所述需要放大显示字体的点阵数据。
[0032]在上述的装置中,还包括:
[0033]缓存模块,其用于缓存一行或整屏显示的所述需要放大显示的字体的点阵数据。
【专利附图】
【附图说明】
[0034]图1为本发明的基于变换向量的点阵字体放大显示方法的流程图;
[0035]图2为本发明的基于变换向量的点阵字体放大显示装置的结构图。
【具体实施方式】
[0036]下面结合附图,详细介绍本发明提供的一种基于变换向量的点阵字体的放大显示方法及放大显示装置。
[0037]点阵字体的放大基于图形比例放大。汉字从小字体变换到大字体时,保持外形结构不变,也就是说,在放大汉字时要保持汉字结构左右上下对称。
[0038]在实施本发明提供的点阵字体放大显示方法之前,需要执行一初始化步骤,包括:根据预先存储的确定大小为(xs,Ys)的点阵字库及目标字体点阵(xt,Yt)即放大字体点阵区域的大小计算原始字体向目标字体放大所需的变换向量,具体计算过程如下:
[0039]以X轴变换向量为例,假设预先存储的原始点阵字体为16X 16点阵字体,目标点阵字体为20X20点阵字体,参照下列算法计算出原始点阵字体各点的变换向量(即原始点阵字体各点向目标点阵字体转换所需的变换向量):
[0040]Δ X= (Xt-Xs) //Xt目标点阵字体各点的X坐标,Xs原始点阵字体各点的X坐标,Δ X字体笔画分布区域在X轴上的变化;
[0041]dt=Xt/ Δ χ//与现有技术中采用放大比例进行字体放大的方式不同,在本发明中,设置字体横向分割单位长度dt,插入分割点,由分割点将字体分割为左右上下对称的若干分割区域。例如,对于20X20的点阵字体而言,由分割点按上述分割单位长度dt将该字体在横向上(X轴向)分割为4个区域。因为字体是对称结构放大,以字体轴对称的左右两侧各包括长度为2个字体横向分割单位长度dt的分割区域;
[0042]
【权利要求】
1.一种基于变换向量的点阵字体放大显示方法,其特征在于,包括以下步骤: A、获取需要放大显示的字体; B、在预先存储的点阵字库中查找上述需要放大显示的字体所对应的原始点阵字体的点阵数据; C、将所述原始点阵字体各点的X轴、y轴坐标移动预设的X轴、y轴变换向量,以对所述原始点阵字体的点阵数据在X轴、y轴上进行放大变换,从而得到所述需要放大显示字体的点阵数据; D、输出所述需要放大显示字体的点阵数据。
2.根据权利要求1所述的方法,其特征在于,所述步骤B包括: 将所述需要放大显示的字体对应的字符编码变换到所述需要放大显示的字体的UNICODE编码,并由该UNICODE编码在所述点阵字库中索引到所述需要放大显示的字体对应的原始点阵字体的点阵数据。
3.根据权利要求1所述的方法,其特征在于,所述预设的X轴、y轴变换向量为通过下列过程计算求出的向量: 以目标字体点阵与原始字体点阵大小差异除目标字体点阵大小,求出分割单位长度; 按照所述分割单位长度,将目标字体点阵划分为多个分割区域; 在各分割区域内,通过循环计算方式获取分别沿X轴、y轴方向以字体点阵单位长度依次递增的向量,并在该循环计算的步长等于所述分割单位长度的分割点上设置过滤标识。
4.根据权利要求3所述的方法,其特征在于,在所述步骤C、D之间还包括以下步骤: 对于设置有过滤标识的新增分割点,依据对应点原始相邻关系,按照原字形轨迹进行取舍。
5.根据权利要求1、2、3或4所述的方法,其特征在于,所述步骤D包括: 缓存一行或整屏显示的所述需要放大显示的字体的点阵数据,待完成对所有上述点阵数据的缓存后,再将缓存的所有上述点阵数据一起输出。
6.一种点阵字体放大显示装置,其特征在于,包括: 输入模块,其用于获取需要放大显示的字体; 存储模块,其用于存储点阵字库和预设的X轴、y轴变换向量; 变换模块,其用于在所述点阵字库中查找上述需要放大显示的字体所对应的原始点阵字体的点阵数据,并将所述原始点阵字体各点的X轴、y轴坐标移动所述X轴、y轴变换向量,以对所述原始点阵字体的点阵数据在X轴、y轴上进行放大变换,从而得到所述需要放大显示字体的点阵数据; 显示模块,其用于输出所述需要放大显示字体的点阵数据。
7.根据权利要求6所述的装置,其特征在于,还包括: 过滤模块,其用于过滤修复计算出所述需要放大显示字体的点阵数据。
8.根据权利要求6或7所述的装置,其特征在于,还包括: 缓存模块,其用于缓存一行或整屏显示的所述需要放大显示的字体的点阵数据。
【文档编号】G06F17/30GK103699651SQ201310733321
【公开日】2014年4月2日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】张军 申请人:北京海泰方圆科技有限公司