使用QML显示彩色表情的方法及系统、服务器及介质技术方案

技术编号:19098553 阅读:288 留言:0更新日期:2018-10-03 02:39
本发明专利技术公开了一种使用QML显示彩色表情的方法及系统、服务器及介质,其通过查找Windows系统支持的彩色表情字体,采用QML提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体,同时在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;然后根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;最后分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符,从而实现使用QML能绘制彩色表情的目的。

【技术实现步骤摘要】
使用QML显示彩色表情的方法及系统、服务器及介质
本专利技术涉及软件工程领域,尤其涉及一种使用QML显示彩色表情的方法及系统、服务器及介质。
技术介绍
自Emoji诞生以来,Emoji极大地丰富了我们的生活和通讯交流,用户越来越习惯于输入Emoji,因此接触Emoji也只会越来越频繁。Emoji(绘文字)是一种图形字符,网络中经常用作表情符号。Emoji不是图片,每个Emoji都像文字一样拥有独立编码并且可以存放于字库中。Emoji诞生自程序员,但反过来对程序员也造成过一些困扰,比如Emoji在计算机表示形式。从2010开始,一些表情符号字符集已经统一被纳入标准的Unicode索引系统中,即表情符号映射到Unicode表中字符序列,因此在不同的平台上同一表情能有统一的Unicode表现形式,在Unicode编码中,Emoji主要安排在1号平面第241行至第247行(1F000-1F6FF),以及0号平面第39行和40行(2600-27FF)等位置,同时编码采用的是U+序列的表现形式,同时在UTF-8也给出了具体的表现形式。由于很多Windows软件都用基于QML开发,如何利用QML渲染方式绘制Emoji黑白表情本身就是一个难题,同时由于Windows提供的系统字体通常是黑白的,然后需要通过使用QML来显示Emoji彩色表情,也是一个难题,本方案就是提供一种通过使用QML能绘制Emoji表情并能绘制彩色表情的方法。
技术实现思路
有鉴于此,本专利技术实施例提供了一种使用QML显示彩色表情的方法及系统、服务器及介质,以解决现有技术中无法利用QML渲染方式绘制Emoji彩色表情的问题。本专利技术实施例的第一方面,提供了一种使用QML显示彩色表情的方法,其包括如下步骤:查找Windows系统支持的彩色表情字体;通过基于QML开发的应用程序中提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体;在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符。本专利技术实施例的第二方面,提供了一种使用QML显示彩色表情的系统,其包括如下功能模块:字体查找模块,用于查找Windows系统支持的彩色表情字体;字体加载模块,用于通过基于QML开发的应用程序中提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体;控件设置模块,用于在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;字符筛选模块,用于根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;字符解析模块,用于分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符。本专利技术实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述使用QML显示彩色表情的方法的步骤。本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述使用QML显示彩色表情的方法的步骤。本专利技术所述使用QML显示彩色表情的方法及系统、服务器及介质,其通过查找Windows系统支持的彩色表情字体,采用QML提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体,同时在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;然后根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;最后分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符,从而实现使用QML能绘制彩色表情的目的。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的使用QML显示彩色表情的方法的流程框图;图2为本专利技术实施例提供的使用QML显示彩色表情的方法的步骤流程图;图3为图1中步骤S5的流程框图;图4为本专利技术实施例提供的使用QML显示彩色表情的系统的功能模块框图;图5为本专利技术实施例提供的字符解析模块的功能单元框图;图6为本专利技术实施例提供的服务器的结构示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。如图1和图2所示,本专利技术实施例提供的一种使用QML显示彩色表情的方法,其中,所述使用QML显示彩色表情的方法包括如下步骤:S1、查找Windows系统支持的彩色表情字体。所述Windows系统支持的彩色表情字体为SegeoUIEmoji。具体通过查看微软Windows系统中提供的字体映射表可以发现,在windows7之后,微软提供了一种专门用于绘制Emoji表情的字体SegoeUIEmoji字体,且SegeoUIEmoji提供了搜索功能,通过输入Unicode可以获得对应的Emoji符号表情,同时通过Emoji表情可以得到相应的Unicode内容。S2、通过基于QML开发的应用程序中提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体。采用基于QML开发的应用程序中具有LoadFont接口,通过所述LoadFont接口可以动态加载Windows系统支持的彩色表情字体,具体操作方式是将字体文件放入到指定目录,再通过所述LoadFont接口中的Source字段指定字体文件路径,当基于QML开发的应用程序启动时,由于预先指定了文件路径,基于QML开发的应用程序就会自动加载相关字体。但由于非表情字体也要同时支持,而QML中只提供一种字体,如果将字体直接改为Windows系统支持的彩色表情字体SegeoUIEmoji,则无法支持英文和数字的解析,因此,需要使用另一种字体例如:微软雅黑来支持数字和英文等字符。由于表情使用的频率没有英文和数字高,直接使用html中的层叠样式表提供的表情字体族又比较耗时,所以本专利技术通过基于QML开发的应用程序中提供的LoadFont接口加载非彩色表情字体,同时使用html中层叠样式表提供的表情字体族加载彩色表情字体,从而来支持所有字符的显示本文档来自技高网...

【技术保护点】
1.一种使用QML显示彩色表情的方法,其特征在于,所述使用QML显示彩色表情的方法包括如下步骤:查找Windows系统支持的彩色表情字体;通过基于QML开发的应用程序中提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体;在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符。

【技术特征摘要】
1.一种使用QML显示彩色表情的方法,其特征在于,所述使用QML显示彩色表情的方法包括如下步骤:查找Windows系统支持的彩色表情字体;通过基于QML开发的应用程序中提供的LoadFont接口加载非表情普通字体,并使用html中层叠样式表提供的表情字体族加载彩色表情字体;在基于QML开发的应用程序的文本控件中,选择能够支持字体本身渲染方式的渲染模块,并设置能够支持html解析字符的文本格式;根据Unicode提供的表情字符,匹配筛选区分出基于QML开发的应用程序的输入字符串中的表情字符和非表情普通字符;分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符。2.根据权利要求1所述使用QML显示彩色表情的方法,其特征在于,所述分别采用彩色表情字体、非表情普通字体来解析表情字符、非表情普通字符包括如下具体步骤:在筛选得到的表情字符前加入字形标记;根据字形标记,为彩色表情字符指定使用Windows系统支持的彩色表情字体进行解析;非表情字符则使用LoadFont接口加载非表情普通字体进行解析。3.根据权利要求1或2中任意一项所述使用QML显示彩色表情的方法,其特征在于,所述Windows系统支持的彩色表情字体为SegeoUIEmoji。4.根据权利要求1所述使用QML显示彩色表情的方法,其特征在于,在基于QML开发的应用程序的文本控件中,所述能够支持字体本身渲染方式的渲染模块具体为NativeRender渲染模块,所述能够支持html解析字符的文本格式具体为RichText。5.根据权利要求4所述使用QML显示彩色表情的方法,其特征在于,将NativeRender中的缩放比例修改为边框和字体的等比缩放。6.根据权利要求1所述使用QML显示彩色表...

【专利技术属性】
技术研发人员:魏洪陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1