首页> 中国专利> 基于Linux操作系统的中文字体渲染控制方法及系统

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

摘要

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

著录项

  • 公开/公告号CN103294472A

    专利类型发明专利

  • 公开/公告日2013-09-11

    原文格式PDF

  • 申请/专利权人 中标软件有限公司;

    申请/专利号CN201310211929.4

  • 发明设计人 韩江凯;

    申请日2013-05-30

  • 分类号G06F9/44;

  • 代理机构北京聿宏知识产权代理有限公司;

  • 代理人吴大建

  • 地址 200030 上海市徐汇区番禺路1028号10楼

  • 入库时间 2024-02-19 20:43:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    授权

    授权

  • 2013-10-16

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130530

    实质审查的生效

  • 2013-09-11

    公开

    公开

说明书

技术领域

本发明涉及渲染技术领域,尤其涉及一种基于Linux操作系统的中文字体渲染控制 方法及系统。

背景技术

字体的显示除了与字体本身所包含的点阵字体和矢量字体,以及显示器硬件条件有 关,还与渲染引擎所采用的渲染方法有关。在相同条件下,如果提升显示器硬件条件, 例如提高分辨率,字体的显示效果会很清晰。如android操作系统中中文字体显示清晰细 腻,很大程度上是与其所使用的显示材质有关。其所使用的材质的分辨率能达到260以 上,而普通的LCD显示器的分辨率在96左右。

如果一个字体文件中所嵌入的不同字号的点阵字体越多,其显示效果越清晰,像微 软雅黑,AR PL UMing,其显示清晰度就比较好。

对于一般字体文件,所嵌入的点阵字体不可能太多,这会导致字体文件太大,消耗 更多内存资源,所以很多厂商除了在上述两种情况下做字体优化,通常也会在渲染引擎 的渲染方法上进行优化。

目前,微软所使用的是ClearType渲染技术,苹果采用较多的是MacType(GDI++) 渲染技术。而Linux操作系统下普遍采用FreeType渲染引擎进行字体渲染。

现有的Linux系统使用FreeType对字体进行渲染,由于其内部用于渲染的变量以 有限的幅值范围在FreeType中被使用,对于部分字体可较好地解决字体残缺,模糊不 清,字体笔划粗细不一的问题,但并不是所有字体都可以得到这样好的处理。例如,在 Linux系统下使用Droid Sans Fallback会出现字体模糊不全、字体笔画残缺的现象。现有 技术中的渲染方法不具有灵活性和针对性。

因此,亟需一种解决方案来解决上述问题,使得在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,发送字体显示请求,该请求包括待显示的中文字体的信息。

例如,要显示的字体为“在线账户”这四个字,将关于该文字的信息,例如显示的字 形大小和语言为中文发送出去。

步骤S120,根据待显示的中文字体的信息,确定相应的字体匹配规则,并按照字体 匹配规则查找与待显示的中文字体的信息匹配的字体文件。

由于在步骤S110中发送的请求中所包含的字体信息是不完整的,该信息仅体现要显 示什么字,但是如何显示,用什么字体来显示效果是不确定的,因此通过该步骤可以知道 用什么字体来显示。

在本实施例中包括多种字体匹配规则,需要从多种字体匹配规则中切换出所需要的 字体匹配规则。

优选地,字体匹配规则可以包括以下预定的渲染方式中至少之一:预定的rgba模式; 预定是否执行hinting渲染;预定是否执行autohint渲染;预定是否执行抗锯齿(antialias) 处理;预定的渲染风格(Hintstyle);预定的LCD过滤方式(lcdfilter)。也就是说,上 述的的渲染方式可以单独使用也可以叠加使用。

需要说明的是,LCD过滤方式指的是lcdfilter,其取值可以是lcddefault、lcdlegacy 或lcdlight。Rgba取值可以是rgb或bgr。Autohint取值可以是true或false。Hinting取值 可以是true或false。是否使用抗锯齿antialias可以取值为true或false。渲染风格Hintstyle 可以是hintfull或hintslight等取值。其中lcddefault、rgba、autohint、antialias、hintstyle、 hinting可以叠加使用。

如下以autohint渲染为例,给出单独使用autohint渲染的实施例:

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM"fonts.dtd">

<fontconfig>

<match target="font">

<test name="family"compare="eq">

<string>FZZhunYuan-M02</string>

<string>方正准圆_GBK</string>

</test>

<edit name="autohint"mode="assign">

<bool>true</bool>

</edit>

</match>

</fontconfig>

如下以叠加使用上述渲染方式为例,给出叠加使用预定的rgba模式为rgb、预定执 行hinting渲染、预定执行autohint渲染、预定执行抗锯齿(antialias)处理、预定的渲染 风格(Hintstyle)为hintfull以及预定的LCD(lcdfilter)过滤方式为lcddefault的实施例:

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM"fonts.dtd">

<fontconfig>

<match target="font">

<test name="family"compare="eq">

<string>FZZhunYuan-M02</string>

<string>方正准圆_GBK</string>

</test>

<edit name="rgba"mode="assign">

<const>rgb</const>

</edit>

<edit name="hinting"mode="assign">

<bool>true</bool>

</edit>

<edit name="autohint"mode="assign">

<bool>true</bool>

</edit>

<edit name="antialias"mode="assign">

<bool>true</bool>

</edit>

<edit name="hintstyle"mode="assign">

<const>hintfull</const>

</edit>

<edit name="lcdfilter"mode="assign">

<const>lcddefault</const>

</edit>

</match>

</fontconfig>

需要说明的是:单独使用某种渲染方式和叠加使用不同的渲染方式,渲染结果是不 一样的,渲染的效果也需要根据实际效果而定,并非叠加的渲染方式越多效果越好。

例如,通过预定的字体匹配规则,确定“在线账户”这四个字需要用“方正准圆_GBK” 的字体来显示,则可以在包含“方正准圆_GBK”的字体文件“FZZhunYuan-M02.TTF”中找 到关于该字体文件。

步骤S130,将字体文件的信息补充到待显示的中文字体的信息中。

步骤S140,基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息,其中, 渲染参数用来表现不同的渲染风格,渲染参数为用于从FreeType字体引擎外部设置字体 渲染条件的Linux操作系统环境变量。

本实施例中,包括多个渲染参数,需要从多个渲染参数中切换出所需要的预定的渲 染参数。

步骤S150,基于渲染信息来显示待显示的中文字体。

下面通过一示例来进一步说明本发明的特征和优点,下面以Linux操作系统为例, 来说明如何进行中文字体的渲染控制。

如图2所示,具体包括以下步骤。

步骤(1),应用程序将要显示的字体请求发送到fontconfig字体管理器。

步骤(2.3),fontconfig字体管理器根据应用程序提出的字体请求与发送过来的字体 信息,确定对应的字体匹配规则,然后按照字体匹配规则查找与字体信息匹配的字体文件。

在执行该步骤之前,需要事先在fonts.conf规则配置文件导入新的字体匹配规则(步 骤(2.1)),fontconfig字体管理器使用fonts.conf规则配置文件中新的字体匹配规则来 查找(步骤(2.2))。

例如,fontconfig字体管理器接收应用程序发送过来的“在线账户”这四个字,按照 fonts.conf内容,得到关于这四个字的rgba模式为rgb、需要对这四个字作hinting渲染、 需要使用autohint对字体自动渲染、以及需要进行抗锯齿处理、渲染风格为轻度渲染以及 lcd过滤方式使用默认lcd过滤方式(次像素渲染)。

最后根据上述内容查找到最佳渲染的字体为“方正准圆_GBK”。

步骤(3),查找完成之后,将显示该字体的字体文件信息补充到应用程序发送过来 的不完整的字体信息中。

步骤(4),fontconfig字体管理器将补充后的字体信息发送给FreeType字体引擎。

步骤(5),FreeType字体引擎根据fontconfig字体管理器传递过来的完整字体信息, 使用步骤(5.1)中指定的渲染参数(预先设置好的),并计算关于补充后的字体信息的 渲染信息,即对如何显示该字体进行计算,然后将画字信息传递给xft字体服务程序(步 骤(5.2))。其中,所要说明的是,所传递的补充后的字体信息的渲染信息只是画字信 息的一部分,此外画字信息还包括字族信息,字形信息,字符与字体度量信息,字形光栅 化信息,字形度量信息等。

具体地,针对该字体设定渲染参数,然后FreeType字体引擎根据渲染参数来调整字 体渲染计算方法。

需要说明的是,在进行该步骤之前,需要将原FreeType字体引擎中的固定的渲染参 数导出。

具体地,首先,在FreeType字体引擎中重新定义原有供渲染算法使用的渲染参数, 将其设定为由Linux系统环境读取的参数。

然后,打开TT_CONFIG_OPTION_BYTECODE_INTERPRETER选项,该选项表明 对freetype所渲染的字体打开字节码解释器,同时在FreeType中打开 FT_CONFIG_OPTION_SUBPIXEL_RENDERING次像素绘制功能,该选项用来打开 myfreetype.sh中所有渲染参数。然后可以在/etc/profile.d/myfreetype.sh文件中设置以下参 数:

FILTER_PARAMS(FIR过滤器的过滤参数,一般在0-100之间,用于调整平滑度与 浓度之间的关系)

STEM_ALIGNMENT_STRENGTH(对字形进行分析,并调整字形的像素边界)

STEM_FITTING_STRENGTH(对字形横向扩展或加粗时调整像素边界)

GRAYSCALE_FILTER_STRENGTH(显示器次像素渲染时字形走形时的灰度调整)

FRINGE_FILTER_STRENGTH(滤波器使用默认autohint来代替,删除水平边缘上 的字形)

AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH(使用autohint水平过滤 呈现半暗)

AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH(使用autohint垂直过滤呈 现半暗)

WINDOWS_STYLE_SHARPENING_STRENGTH(以windows的方式进行锐化字形)

CHROMEOS_STYLE_SHARPENING_STRENGTH(以CHROMEOS的方式锐化字 形)

GAMMA_CORRECTTION(以伽马函数校正LCD显示器的相位)

BRIGHTNESS(LCD显示器亮度调节)

CONTRAST(LCD显示器对比度调节)

USE_VARIOUS_TWEAKS(使用autohint来减轻字体重度,并维持字型宽度)

AUTOHINT_INCREASE_GLYPH_HEIGHTS(使用autohint增加字形高度)

AUTOHINT_SNAP_STEM_HEIGHT(消除autohint时像E,F,T这样的字母上边横 线捕捉不到完整像素的高度的情况)

STEM_SNAPPING_SLIDING_SCALE(以ppem的方式对齐,不使字形变得更剧烈)

USE_KNOWN_SETTINGS_ON_SELECTED_FONTS(比较时候MS字体,适用于已 知良好的字体设置)

在FreeType中用上述参数进行渲染控制,并重新编译,将渲染引擎库放入/usr/lib目 录下,在/etc/profile.d目录下设置控制参数,当Linux操作系统用来启动图形界面的程序 xft字体服务程序(X Server)启动时将其中的参数导出,FreeType进行加载的时候会自 动启用这些参数。

步骤(6),xft字体服务程序完成画字,在应用程序端显示出来。

另外,本示例还包含一个风格切换器,如图3所示,其用于从多种供fontconfig使用 的字体匹配规则切换出所需要的字体匹配规则(新规则)(步骤(7.1)),以及从多种 供FreeType使用的渲染参数切换出所需要的渲染参数(步骤(7.2))。

另外,该风格切换器对myfreetype.sh中的所有渲染参数可以设置不同的控制变量, 按照不同的设置,可以将其分组使用,用一个单独的变量来控制使用某一个分组。

例如,在myfreetype.sh文件中,包括以下三种风格(三个分组),可以从下面的分 组中选定任一渲染控制变量来进行对字体的渲染。

#!/bin/sh

USE_STYLE="LINUX"

#################LINUX STYLE#################

if["$USE_STYLE"="LINUX"];then

export FILTER_PARAMS="0625442506"

export GRAYSCALE_FILTER_STRENGTH=0

export FRINGE_FILTER_STRENGTH=0

export AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH=10 export AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH=25

export WINDOWS_STYLE_SHARPENING_STRENGTH=0

export CHROMEOS_STYLE_SHARPENING_STRENGTH=0

export STEM_ALIGNMENT_STRENGTH=0

export STEM_FITTING_STRENGTH=0

export GAMMA_CORRECTION="0100"

export BRIGHTNESS="0"

export CONTRAST="0"

export USE_VARIOUS_TWEAKS=true

export AUTOHINT_INCREASE_GLYPH_HEIGHTS=false

export AUTOHINT_SNAP_STEM_HEIGHT=100

export STEM_SNAPPING_SLIDING_SCALE=0

export USE_KNOWN_SETTINGS_ON_SELECTED_FONTS=false

fi

#################WINDOWS XP/7STYLE#################

if["$USE_STYLE"="WINDOWS"];then

export FILTER_PARAMS="0625442506"

export GRAYSCALE_FILTER_STRENGTH=0

export FRINGE_FILTER_STRENGTH=100

export AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH=10

export AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH=25

export WINDOWS_STYLE_SHARPENING_STRENGTH=65

export CHROMEOS_STYLE_SHARPENING_STRENGTH=0

export STEM_ALIGNMENT_STRENGTH=15

export STEM_FITTING_STRENGTH=15

export GAMMA_CORRECTION="1000120"

export BRIGHTNESS="10"

export CONTRAST="20"

export USE_VARIOUS_TWEAKS=true

export AUTOHINT_INCREASE_GLYPH_HEIGHTS=false

export AUTOHINT_SNAP_STEM_HEIGHT=100

export STEM_SNAPPING_SLIDING_SCALE=30

export USE_KNOWN_SETTINGS_ON_SELECTED_FONTS=true

fi

#################CUSTOM STYLE#################

if["$USE_STYLE"="CUSTOM"];then

export FILTER_PARAMS="1122382211"

export GRAYSCALE_FILTER_STRENGTH=0

export FRINGE_FILTER_STRENGTH=0

export AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH=10

export AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH=25

export WINDOWS_STYLE_SHARPENING_STRENGTH=0

export CHROMEOS_STYLE_SHARPENING_STRENGTH=0

export STEM_ALIGNMENT_STRENGTH=100

export STEM_FITTING_STRENGTH=100

export GAMMA_CORRECTION="0100"

export BRIGHTNESS="0"

export CONTRAST="0"

export USE_VARIOUS_TWEAKS=true

export AUTOHINT_INCREASE_GLYPH_HEIGHTS=true

export AUTOHINT_SNAP_STEM_HEIGHT=100

export STEM_SNAPPING_SLIDING_SCALE=0

export USE_KNOWN_SETTINGS_ON_SELECTED_FONTS=true

fi

例如,Linux桌面要显示用户菜单下的“在线账户”这四个字,会将这四个字的字体信 息(例如显示的字形大小、语言为中文)传递给fontconfig字体管理器。fontconfig字体 管理器根据已经配置好的fonts.conf文件(匹配规则),对字体添加是否需要hinting渲染、 需要抗锯齿、需要lcd次像素渲染的信息,并根据完整的字体信息找到最接近的一种字体 “方正准圆_GBK”来使用。fontconfig字体管理器将已经选择的字体的所有渲染信息提交给 FreeType引擎,FreeType引擎根据字体的渲染信息对字体进行字形渲染出来。完成之后, FreeType引擎将渲染好的字体字形信息交由X server,让X xserver指派Xft字体服务程序 进行排版、画字等出来,最后文字“在线账户”显示在用户菜单界面上。

图4(b)是渲染后的字体,可以看出通过本实施例渲染后的“在线账户”比渲染前的 图4(a)所示的字体清晰。

现有的FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提 供统一的接口来访问多种字体格式文件,包括TrueType,OpenType,Type1,CID,CFF, Windows FON/FNT,X11PCF等,支持单色位图、反走样位图的渲染。FreeType库是高度 模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType 的用户可以灵活地对它进行裁剪。相比现有的FreeType引擎,由于在FreeType中渲染参 数被写为内部变量,难以修改,FreeType的固定的渲染模式不利于任何字体的调整。而 本发明示例是通过将FreeType中的参数提取为变量,在外部环境中对FreeType中的渲染 参数进行设置,大大提高了FreeType引擎渲染字体的针对性与灵活性。

本示例通过在FreeType中使用次像素渲染,以及通过渲染参数来控制freetype内 部的渲染参数,可以提高FreeType渲染字体的针对性和灵活性。

实施例二

图5是根据本发明一实施例的基于Linux操作系统的中文字体渲染控制系统的结构 示意图。

如图5所示,该系统包括发送模块51、查找模块52、补充模块53、计算模块54和 显示模块55。

其中,发送模块51,其发送字体显示请求,该请求包括待显示的中文字体的信息。

查找模块52,其根据显示的中文字体的信息,确定相应的字体匹配规则,并按照字 体匹配规则查找与所述待显示的中文字体的信息匹配的字体文件。

优选地,字体匹配规则包括以下预定的渲染方式中至少之一:预定的rgba模式;预 定是否执行hinting渲染;预定是否执行autohint渲染;预定是否执行抗锯齿(antialias) 处理;预定的渲染风格(Hintstyle);预定的LCD过滤方式(lcdfilter)。

补充模块53,其将字体文件的信息补充到待显示的中文字体的信息中。

计算模块54,其基于已设定的渲染参数来计算关于补充后的字体信息的渲染信息, 渲染参数为用于从FreeType字体引擎外部设置字体渲染条件的Linux操作系统环境的外 部变量。

在利用Linux操作系统中的FreeType字体引擎作为计算模块来计算关于补充后的字 体信息的渲染信息之前,将渲染参数从FreeType字体引擎中导出,并在FreeType字体引 擎中打开TT_CONFIG_OPTION_BYTECODE_INTERPRETER选项和 FT_CONFIG_OPTION_SUBPIXEL_RENDERING选项。

显示模块55,其基于渲染信息来显示待显示的中文字体。

另外,还包括切换模块56,其从多种字体匹配规则中切换出所需要的字体匹配规则, 从多个渲染参数中切换出所需要的渲染参数。

本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装 置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上, 可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装 置中由计算装置来执行。这样,本发明不限制于任何特定的硬件和软件结合。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用 的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本 发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号