一种实现旋转字体粗体或/和斜体效果的方法技术

技术编号:39400393 阅读:14 留言:0更新日期:2023-11-19 15:53
本申请涉及计算机中字体显示技术领域,具体涉及一种实现旋转字体粗体或/和斜体效果的方法。通过设置字体为旋转字体的预设模式,根据是否成功启用位图模式,选择位图模式操作或矢量模式操作来实现旋转字体的粗体或/和斜体效果。通过以上操作可实现旋转字体在不同模式下的粗体或/和斜体效果,使得粗体或/和斜体效果更美观,用户体验感更好。用户体验感更好。用户体验感更好。

【技术实现步骤摘要】
一种实现旋转字体粗体或/和斜体效果的方法


[0001]本专利技术涉及计算机中字体显示
,具体涉及一种实现旋转字体粗体或/和斜体效果的方法。

技术介绍

[0002]电脑系统的图形化界面,都用到字体。通过字体引擎加载字体后,即可以使用字体进行绘制。使用字体绘制文字的时候,会根据不同设置,由字体引擎进行一些变形,如粗体、斜体、旋转等。
[0003]不同的字体引擎,在实现字体的各种处理上,有不同的实现方式。经常使用的字体引擎,往往只能处理单一倾斜角度下的字体的粗体或/和斜体效果,无法实现旋转字体的粗体或/和斜体效果。

技术实现思路

[0004]本专利技术提供一种实现旋转字体粗体或/和斜体效果的方法。
[0005]本专利技术的技术方案如下:
[0006]本专利技术提供了一种实现旋转字体粗体或/和斜体效果的方法,包括以下步骤:
[0007]判断字体是否设置为旋转字体的预设模式,如果为旋转字体的预设模式,则判断是否成功启用位图模式,
[0008]如果成功启用位图模式,则使用位图模式操作,获得字体旋转矩阵,计算旋转矩阵的旋转角度,根据旋转角度对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转角度将粗体或/和斜体后的字体图像进行旋转,
[0009]如果没有成功启用位图模式,则使用矢量模式操作,获得字体旋转矩阵,计算字体反向旋转矩阵,根据反向旋转矩阵对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转矩阵将粗体或/和斜体后的字体图像进行旋转,
[0010]所述旋转字体的预设模式中,预设信息包括粗体或/和斜体、和位图模式支持的角度。
[0011]本专利技术所述计算旋转矩阵的旋转角度,具体包括以下步骤:
[0012]获得字体旋转矩阵后,若旋转矩阵xx为0,xy为65536,yx为

65536,yy为0,则旋转矩阵的旋转角度为90度,
[0013]若旋转矩阵xx为

65536,xy为0,yx为0,yy为

65536,则旋转矩阵的旋转角度为180度,
[0014]若旋转矩阵xx为0,xy为

65536,yx为65536,yy为0,则旋转矩阵的旋转角度为270度,
[0015]若旋转矩阵xx为65536,xy为0,yx为0,yy为65536,则旋转矩阵的旋转角度为0度。
[0016]本专利技术所述计算字体反向旋转矩阵,具体包括以下步骤:
[0017]获得字体旋转矩阵后,新建反向旋转矩阵,设置反向旋转矩阵xx为旋转矩阵的xx,
设置反向旋转矩阵xy为旋转矩阵的

xy,设置反向旋转矩阵yx为旋转矩阵的

yx,设置反向旋转矩阵yy为旋转矩阵的yy。
[0018]本专利技术所述位图模式下进行斜体操作,具体包括以下步骤:
[0019]根据字体的倾斜幅度,使用横向斜体操作或者竖向斜体操作,实现字体斜体效果。
[0020]本专利技术所述横向斜体操作,包括以下步骤:
[0021]计算字体的横向视图高度进行初始化横向目标对象后,计算插槽横向偏移,同时调整插槽横向信息;
[0022]所述竖向斜体操作,包括以下步骤:
[0023]计算字体的竖向视图宽度进行初始化竖向目标对象后,计算插槽竖向偏移,同时调整插槽竖向信息。
[0024]本专利技术所述矢量模式下进行斜体操作,具体包括以下步骤:
[0025]根据计算公式:坐标倾斜值=65536*倾斜幅度,计算矢量模式下变形矩阵的坐标倾斜值,新建变形矩阵,初始化变形矩阵,设置xx/xy/yx/yy四个成员变量分别为65536、0、0、65536,
[0026]如果文字的排列方向是从上到下的属性,则变形矩阵的类型为第一类矩阵,坐标倾斜值取负后,设置变形矩阵的yx成员变量值为坐标倾斜值,使用变形矩阵,进行矢量斜体操作实现斜体效果;
[0027]如果变形矩阵非第一类矩阵,则设置变形矩阵的xy成员变量值为坐标倾斜值,然后使用变形矩阵,进行矢量斜体操作实现斜体效果。
[0028]本专利技术所述的成功启用位图模式,具体包括以下步骤:
[0029]在字体允许位图模式的情况下,如果当前字体旋转角度为0度、或90度、或180度、或270度,则启用位图模式,
[0030]在启用位图模式下,若限制了字体,则获取设置的字体名组,若当前字体名在设置的字体名组之内,则判断是否限制了字号,
[0031]若限制了字号,则获取设置的字体号组,若当前字号在设置的字体号组之内,则使用位图模式加载该字符的字体图像。
[0032]本专利技术还提供了一种实现旋转字体粗体或/和斜体效果的系统,包括:
[0033]旋转字体的一致化模块:设置字体粗体或/和斜体、位图模式支持的旋转角度;位图模式判断模块:用于判断是否成功启用位图模式;
[0034]位图模式字体旋转矩阵的旋转角度判断模块:用于判断位图模式下字体旋转矩阵的旋转角度;
[0035]位图模式粗体或/和斜体操作模块:使用位图模式操作,获得字体旋转矩阵,计算旋转矩阵的旋转角度,根据旋转角度对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转角度将粗体或/和斜体后的字体图像进行旋转,实现旋转字体粗体或/和斜体效果;
[0036]矢量模式粗体或/和斜体操作模块:使用矢量模式操作,获得字体旋转矩阵,计算字体反向旋转矩阵,根据反向旋转矩阵对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转矩阵将粗体或/和斜体后的字体图像进行旋转,实现旋转字体粗体或/和斜体效果。
[0037]本专利技术还提供了一种实现旋转字体粗体或/和斜体效果的设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现所述的实现旋转字体粗体或/和斜体效果的方法。
[0038]本专利技术还提供了一种实现旋转字体粗体或/和斜体效果的存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现所述的实现旋转字体粗体或/和斜体效果的方法。
[0039]有益效果
[0040]本专利技术提供了一种实现旋转字体粗体或/和斜体效果的方法,采用本方法可以根据是否成功启用位图模式,选择相应的模式进行操作,以实现旋转字体的粗体或/和斜体效果;采用本方法实现旋转字体的粗体或/和斜体,操作更加便捷,显示效果更加美观。
附图说明
[0041]图1为字体引擎处理旋转字体的粗体或/和斜体的流程示意图,
[0042]图2为启用位图模式的流程示意图,
[0043]图3为位图模式下计算旋转矩阵旋转角度的流程示意图。
具体实施方式
[0044]专业术语解释:
[0045]为描述准确和方便,作出以下约定和说明:
[0046]1.字体和字体文件:同样的文字(或字符),使用不同的字体绘制,就会呈现不同的样子。而字体信息都是保存在文件中,称为字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现旋转字体粗体或/和斜体效果的方法,其特征在于,包括以下步骤:判断字体是否设置为旋转字体的预设模式,如果为旋转字体的预设模式,则判断是否成功启用位图模式,如果成功启用位图模式,则使用位图模式操作,获得字体旋转矩阵,计算旋转矩阵的旋转角度,根据旋转角度对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转角度将粗体或/和斜体后的字体图像进行旋转,如果没有成功启用位图模式,则使用矢量模式操作,获得字体旋转矩阵,计算字体反向旋转矩阵,根据反向旋转矩阵对字体图像进行反向旋转,进行粗体或/和斜体操作后,根据旋转矩阵将粗体或/和斜体后的字体图像进行旋转,所述旋转字体的预设模式中,预设信息包括粗体或/和斜体、和位图模式支持的角度。2.根据权利要求1所述的一种实现旋转字体粗体或/和斜体效果的方法,其特征在于,所述计算旋转矩阵的旋转角度,具体包括以下步骤:获得字体旋转矩阵后,若旋转矩阵xx为0,xy为65536,yx为

65536,yy为0,则旋转矩阵的旋转角度为90度,若旋转矩阵xx为

65536,xy为0,yx为0,yy为

65536,则旋转矩阵的旋转角度为180度,若旋转矩阵xx为0,xy为

65536,yx为65536,yy为0,则旋转矩阵的旋转角度为270度,若旋转矩阵xx为65536,xy为0,yx为0,yy为65536,则旋转矩阵的旋转角度为0度。3.根据权利要求1所述的一种实现旋转字体粗体或/和斜体效果的方法,其特征在于,所述计算字体反向旋转矩阵,具体包括以下步骤:获得字体旋转矩阵后,新建反向旋转矩阵,设置反向旋转矩阵xx为旋转矩阵的xx,设置反向旋转矩阵xy为旋转矩阵的

xy,设置反向旋转矩阵yx为旋转矩阵的

yx,设置反向旋转矩阵yy为旋转矩阵的yy。4.根据权利要求1所述的一种实现旋转字体粗体或/和斜体效果的方法,其特征在于,所述位图模式下进行斜体操作,具体包括以下步骤:根据字体的倾斜幅度,使用横向斜体操作或者竖向斜体操作,实现字体斜体效果。5.根据权利要求4所述的一种实现旋转字体粗体或/和斜体效果的方法,其特征在于,所述横向斜体操作,包括以下步骤:计算字体的横向视图高度进行初始化横向目标对象后,计算插槽横向偏移,同时调整插槽横向信息;所述竖向斜体操作,包括以下步骤:计算字体的竖向视图宽度进行初始化竖向目标对象后,计算插槽竖向偏移,同时调整插槽竖向信息。6.根据权利要求1所述的一种实现旋转字体粗...

【专利技术属性】
技术研发人员:崔海东柳鲲鹏冯建培王斌
申请(专利权)人:泰山信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1