基于Linux操作系统的中文字体渲染控制方法及系统技术方案

技术编号:9142965 阅读:238 留言:0更新日期:2013-09-12 04:34
本发明专利技术公开了一种基于Linux操作系统的中文字体渲染控制方法及系统,该方法包括:发送字体显示请求;根据显示的中文字体的信息,确定相应的字体匹配规则,并按照字体匹配规则查找与待显示的中文字体的信息匹配的字体文件;将字体文件的信息补充到待显示的中文字体的信息中;基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息,渲染参数为Linux操作系统环境的外部变量;基于渲染信息来显示所述待显示的中文字体。本发明专利技术因为采用了根据提取出的预定的渲染参数对中文字体进行渲染,所以克服了部分字体在Linux操作系统上显示残缺的现象,提高了灵活性和针对性。

【技术实现步骤摘要】
基于Linux操作系统的中文字体渲染控制方法及系统
本专利技术涉及渲染
,尤其涉及一种基于Linux操作系统的中文字体渲染控制方法及系统。
技术介绍
字体的显示除了与字体本身所包含的点阵字体和矢量字体,以及显示器硬件条件有关,还与渲染引擎所采用的渲染方法有关。在相同条件下,如果提升显示器硬件条件,例如提高分辨率,字体的显示效果会很清晰。如android操作系统中中文字体显示清晰细腻,很大程度上是与其所使用的显示材质有关。其所使用的材质的分辨率能达到260以上,而普通的LCD显示器的分辨率在96左右。如果一个字体文件中所嵌入的不同字号的点阵字体越多,其显示效果越清晰,像微软雅黑,ARPLUMing,其显示清晰度就比较好。对于一般字体文件,所嵌入的点阵字体不可能太多,这会导致字体文件太大,消耗更多内存资源,所以很多厂商除了在上述两种情况下做字体优化,通常也会在渲染引擎的渲染方法上进行优化。目前,微软所使用的是ClearType渲染技术,苹果采用较多的是MacType(GDI++)渲染技术。而Linux操作系统下普遍采用FreeType渲染引擎进行字体渲染。现有的Linux系统使用FreeType对字体进行渲染,由于其内部用于渲染的变量以有限的幅值范围在FreeType中被使用,对于部分字体可较好地解决字体残缺,模糊不清,字体笔划粗细不一的问题,但并不是所有字体都可以得到这样好的处理。例如,在Linux系统下使用DroidSansFallback会出现字体模糊不全、字体笔画残缺的现象。现有技术中的渲染方法不具有灵活性和针对性。因此,亟需一种解决方案来解决上述问题,使得在Linux操作系统下LCD显示器中显示中文字体时,具有针对性和灵活性,能够灵活地渲染不同字体。
技术实现思路
本专利技术所要解决的技术问题之一是需要提供一种具有针对性和灵活性,能够灵活地渲染不同字体的基于Linux操作系统的中文字体渲染控制方法及系统。为了解决上述技术问题,本专利技术提供了一种基于Linux操作系统的中文字体渲染控制方法,该方法包括:发送字体显示请求,所述请求包括待显示的中文字体的信息;根据所述待显示的中文字体的信息,确定相应的字体匹配规则,并按照字体匹配规则查找与所述待显示的中文字体的信息匹配的字体文件;将所述字体文件的信息补充到所述待显示的中文字体的信息中;基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息,所述渲染参数为用于从FreeType字体引擎外部设置字体渲染条件的Linux操作系统环境变量;基于所述渲染信息来显示所述待显示的中文字体。在一个实施例中,所述字体匹配规则包括以下预定的渲染方式中至少之一:预定的rgba模式;预定是否执行hinting渲染;预定是否执行autohint渲染;预定是否执行抗锯齿处理;预定的渲染风格;预定的LCD过滤方式。在一个实施例中,在利用所述Linux操作系统中的FreeType字体引擎计算关于补充后的字体信息的渲染信息之前,将渲染参数从所述FreeType字体引擎中导出;在所述FreeType字体引擎中打开TT_CONFIG_OPTION_BYTECODE_INTERPRETER选项和FT_CONFIG_OPTION_SUBPIXEL_RENDERING选项。在一个实施例中,还包括,从多种字体匹配规则中切换出所需要的字体匹配规则;从多个渲染参数中切换出所需要的渲染参数。根据本专利技术的另一方面,还提供了一种基于Linux操作系统的中文字体渲染控制系统,该系统包括:发送模块,其发送字体显示请求,所述请求包括待显示的中文字体的信息;查找模块,其根据所述显示的中文字体的信息,确定相应的字体匹配规则,并按照字体匹配规则查找与所述待显示的中文字体的信息匹配的字体文件;补充模块,其将所述字体文件的信息补充到所述待显示的中文字体的信息中;计算模块,其基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息,所述渲染参数为用于从FreeType字体引擎外部设置字体渲染条件的Linux操作系统环境的外部变量;显示模块,其基于所述渲染信息来显示所述待显示的中文字体。在一个实施例中,所述字体匹配规则包括以下预定的渲染方式中至少之一:预定的rgba模式;预定是否执行hinting渲染;预定是否执行autohint渲染;预定是否执行抗锯齿处理;预定的渲染风格;预定的LCD过滤方式。在一个实施例中,在利用所述Linux操作系统中的FreeType字体引擎作为所述计算模块来计算关于补充后的字体信息的渲染信息之前,将渲染参数从所述FreeType字体引擎中导出;在所述FreeType字体引擎中打开TT_CONFIG_OPTION_BYTECODE_INTERPRETER选项和FT_CONFIG_OPTION_SUBPIXEL_RENDERING选项。在一个实施例中,还包括,切换模块,其从多种字体匹配规则中切换出所需要的字体匹配规则,从多个渲染参数中切换出所需要的渲染参数。与现有技术相比,本专利技术的一个或多个实施例可以具有如下优点:本专利技术因为采用了根据提取出的预定的渲染参数对中文字体进行渲染,所以克服了部分字体在Linux操作系统上显示残缺的现象,并且通过外置的渲染参数,可以方便FreeType渲染参数修改,避免了重新修改FreeType源码、编译和安装FreeType带来的冗繁操作。可以有效减少在Linux操作系统下中文字体的锯齿感,减少中文显示中字体笔画残缺,在相同硬件与软件环境下提升字体显示清晰度,减轻用户视觉负担。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例共同用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1是根据本专利技术一实施例的基于Linux操作系统的中文字体渲染控制方法的流程示意图;图2是根据本专利技术一示例的基于Linux操作系统的中文字体渲染控制方法的流程示意图;图3是根据本专利技术另一示例的包括切换器的字体渲染控制方法的流程示意图;图4(a)和图4(b)分别是未渲染的字体结果和渲染后的字体结果示例图;图5是根据本专利技术一实施例的基于Linux操作系统的中文字体渲染控制系统的结构示意图。具体实施方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本专利技术中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。实施例一图1是根据本专利技术一实施例的基于Linux操作系统的中文字体渲染控制方法的流程示意图,下面参考图1来详细说明本专利技术各个步骤。步骤S110,发送字体显示请求,该请求包括待显示的中文字体的信息。例如,要显示的字体为“在线账户”这四个字本文档来自技高网
...
基于Linux操作系统的中文字体渲染控制方法及系统

【技术保护点】
一种基于Linux操作系统的中文字体渲染控制方法,其特征在于,包括:发送字体显示请求,所述请求包括待显示的中文字体的信息;根据所述待显示的中文字体的信息,确定相应的字体匹配规则,并按照字体匹配规则查找与所述待显示的中文字体的信息匹配的字体文件;将所述字体文件的信息补充到所述待显示的中文字体的信息中;基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息,所述渲染参数为用于从FreeType字体引擎外部设置字体渲染条件的Linux操作系统环境变量;基于所述渲染信息来显示所述待显示的中文字体。

【技术特征摘要】
1.一种基于Linux操作系统的中文字体渲染控制方法,其特征在于,包括:发送字体显示请求,所述请求包括待显示的中文字体的信息;根据所述待显示的中文字体的信息,确定相应的字体匹配规则,并按照字体匹配规则查找与所述待显示的中文字体的信息匹配的字体文件,所述字体匹配规则包括以下预定的渲染方式中至少之一:预定的rgba模式;预定是否执行hinting渲染;预定是否执行autohint渲染;预定是否执行抗锯齿处理;预定的渲染风格;预定的LCD过滤方式;将所述字体文件的信息补充到所述待显示的中文字体的信息中;对myfreetype.sh中的所有渲染参数进行分组,设置不同的控制变量来使用不同的分组以实现渲染参数的设定,所述渲染参数为用于从FreeType字体引擎外部设置字体渲染条件的Linux操作系统环境变量;基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息;基于所述渲染信息来显示所述待显示的中文字体。2.根据权利要求1所述的方法,其特征在于,在利用所述Linux操作系统中的FreeType字体引擎计算关于补充后的字体信息的渲染信息之前,将渲染参数从所述FreeType字体引擎中导出,并在所述FreeType字体引擎中打开TT_CONFIG_OPTION_BYTECODE_INTERPRETER选项和FT_CONFIG_OPTION_SUBPIXEL_RENDERING选项。3.根据权利要求1或2所述的方法,其特征在于,还包括,从多种字体匹配规则中切换出所需要的字体匹配规则;从多个渲染参数中切换出所需要的渲染参数。4.一种基于Linux操作系统的中文字体渲染控制系统...

【专利技术属性】
技术研发人员:韩江凯
申请(专利权)人:中标软件有限公司
类型:发明
国别省市:

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

1