用于处理字符串以在人/机界面上进行图形表示的技术的制作方法

文档序号:9376893阅读:260来源:国知局
用于处理字符串以在人/机界面上进行图形表示的技术的制作方法
【技术领域】
[0001]本公开涉及一种用于处理字符串以在人/机界面上进行图形表示(graphicalrepresentat1n)的技术。具体而言,详细说明了一种用于处理字符串以在人/机界面上进行图形表示的计算机实现方法。
【背景技术】
[0002]矢量图形(Vector graphic)在两维或三维对象的图形表示中扮演着很重要的作用。矢量图形基于要被表示的对象的数学描述,而不是基于要被表示的对象的每个像素的色彩值的规格,如习惯上在光栅图形的情况中那样。对象的图形表示的类型(例如填充、线宽等)是借助于能够被分配给对象的属性在矢量图形中定义的。例如,由“圆”所构成的对象可仅仅通过限定圆的中心与圆的半径被唯一地描述。此外,经由属性规格(attributespecificat1n)-诸如,例如,轮廓线的粗细、轮廓(contour)颜色、填充颜色等-可定义对象如何用图形表示(即,“呈现(render) ”)。
[0003]矢量图形相比于光栅图形的优点在于以下事实:待被图形表示的对象可由数据组描述,所述数据组很容易被处理且从视野空间的角度来看是可管理的。因此节省了处理器资源和存储器资源。矢量图形对象可进一步被以平滑(stepless)和无损的方式缩放且独立于视觉输出介质的分辨率(resolut1n)。基于矢量图形的对象可因此被更快速地且以更高质量来表示。
[0004]矢量图形被用于使用户界面(人/机界面)实现吸引人、用于实现移动娱乐应用的目的、用于导航应用,或者用于网页浏览的领域中(仅举了几个实例)。但是二维矢量图形也在字符、字符串或文本(也称为文本渲染)的图形表示中得到应用。在文本渲染(textrendering)的情况下,现代应用依靠所谓的轮廓字体(outline font) 0轮廓字体将字形的外形(也被称为轮廓)描述为复杂位置矢量的集合,其还指向直线且弧线也可指向贝塞尔曲线(Bezier curves)和样条曲线(spline)。通过这里所说的“字形(glyph) ”,指示了字符的具体外观。这样的轮廓字体的实例是TrueType字体,或简称为TTF,多样化PostScript字体,或OpenType字体。
[0005]应注意,字符和文本的图形表示可对现代人/机界面的性能产生很大影响。在这方面,字符表示的质量和速度极大地依赖于所采用的表示方法。

【发明内容】

[0006]本公开的目的是描述一种方法,所述方法进一步改进了人/机界面上的字符或字符串的图形表示。
[0007]根据本发明的第一方面,提供了一种用于处理字符串以在人/机界面上进行图形表示的计算机实现方法,其中,字符串的每个字符由保存在字体库中的字形表示,并且其中,分配给每个字符的字形至少提供该字符的外形,所述方法包括以下步骤:从所述字体库中至少检索出所述字符串的每个字符的外形;基于所检索出的外形生成表示所述字符串的单个路径对象,所述单个路径对象至少包括所述字符串的所有字符的外形;并且将所述路径对象传送到图形界面以便图形表示所述路径对象。
[0008]每个字符可能已经作为字形存储在字体库中。通过字体库的方式,可使用FreeType (或也称为iTYPE)。字形可表示字符的具体外观。具体而言,字形可描述字符如何用图形表示(渲染)。
[0009]对于图形表示,可使用矢量字体。具体而言,可使用轮廓字体,其中,字形至少通过字形的外形的规格(specificat1n)来描述。外形可描述分配给字符的字形的轮廓。可借助于矢量数据以数学的方式描述外形。在这种情况下,外形可由至少一个闭合(和/或开放)路径描述。路径可表示基于矢量(关闭和/或打开)的线或形状。每个路径可由一系列的点来定义,该一系列的点可经由多个段而彼此连接。所述点可相对于二维坐标系统(通过定义点的坐标)而定义。所述段可表示直线、圆弧、贝塞尔曲线和/或样条曲线(spline)。
[0010]所生成的路径对象可包括对待表示的字符串的所有字符的外形进行描述的所有路径。换言之,所生成的路径对象可包括能够被分配给字符串的字符的那些字形的所有外形。因此,待表示的字符串可由单个路径对象表示。因此不会针对字符串的每个字形生成用于图形表示的单独路径对象。
[0011]此外,路径对象可包括属性信息,其进一步定义视觉外观(诸如,例如,填充颜色、填充图案、轮廓线、轮廓颜色等)。路径对象可因此包括用于描述待表示的对象的视觉外观所需的所有矢量数据。
[0012]由于针对待表示的字符串仅生成单个路径对象,所以只有这一个路径对象被传送到图形界面以用于图形表示。待表示的字符串可因此作为单个对象被传送到图形界面并被进一步处理。图形界面然后可以以常规方式处理传送过来的路径对象,以便根据对象的基于矢量的图形数据生成图像数据,该图像数据能够被显示在视觉输出单元上。
[0013]生成路径对象的步骤还可包括:以由字符串预定的字符序列将所检索出的外形组装成单个路径对象。按照由字符串预定的序列,表示字符的外形可以以下面的方式进行组装:相邻外形之间的水平间距和/或垂直间距呈现为可调整的字符间距和/或期望的字符间距。
[0014]生成路径对象的步骤可包括相对于字符串中的前面字符的预定的或计算的位置来计算表示一字符的外形的平移(位置的移位)。具体而言,计算平移矢量,该平移矢量指明字符的每个外形段(路径段)相对于前面字符的外形需位移多少且在哪个方向上位移。外形的位置(或描述外形的路径的位置)可相对于预定的相对或绝对坐标系统而定义。生成路径对象的步骤可因此包括重新计算对字符进行表示的外形的位置。生成步骤可进一步包括组合重新计算的外形以形成单一路径对象。生成的路径对象于是可包括字符串的所有重新计算的外形(路径段)。
[0015]每个字符的外形的平移或平移矢量的计算可基于在自身前面的字符(前面字符的外形)而依次计算。
[0016]字形可进一步提供至少以下信息项:与外形的高度、宽度、偏移、字距和/或坐标点(例如,起始点)有关的信息项。经由字距信息,与其它字符之间的间距可根据它们的图形表示而定义。可利用该信息,例如以便避免两个连续字符之间的异常大的间隔,或避免连字(ligature)。在计算字符的外形的平移中考虑这些信息项中的至少一个。例如,可考虑前面字符的外形的宽度,以便计算后面字符相对于前面字符的水平平移。同样地,字符的高度可参与到该字符后面的字符在垂直方向上的垂直平移的计算。可替代地,高度和宽度可共同参与到平移的计算中,以便生成字符相对于前面字符的在水平方向和垂直方向上的位置的相应位移。
[0017]基于各个字形的外形的高度、宽度、偏移、字距和坐标位置而计算的平移可以是一维或二维的。一维平移可意味着字形的外形仅在一个方向(水平或垂直)上相对于前面字形的外形进行位移。二维平移可意味着字形的外形在水平方向和在垂直方向两者上相对于前面字形的外形进行位移。
[0018]所述方法可进一步包括为路径对象提供统一属性组的步骤。可用的属性组可因此以均一方式(即,集中)详细限定字符串的所有字符的视觉表示。作为对此的一种替代方式,路径对象也可被设有多个属性组,以便分别定义字符串的各个字符的视觉表示。
[0019]附加地或替代地,所述方法可进一步包括为路径对象提供图案(pattern)信息项或梯度(gradient)信息项。经由图案信息,可定义填充图案,通过该填充图案,字符被表示。经由梯度信息,可定义字符的所定义的图案和/或填充如何在字符串的方向上进行改变。
[0020]待表示的字符串的字符可包括任意的字母字符、数字字符、音节字符、特殊字符和/或其字符部分。待表示的字符串可仅包括一个字符或几个字符。特别而言,字符串可包括由上述字符组装的任意长度的文本、文本段、几个字的组或集合。根据本发明的方法,可对整个文本、文本段、几个字的组或集合进行编译以形成单一路径对象并且其本身可被传送到图形界面以进行绘图。
[0021]此外,提供了一种计算机程序产品,具有程序代码以用于在计算机程序产品在计算机装置上被执行时实现上述方法。在这方面,计算机程序产品可存储在计算机可读记录介质上。
[0022]根据另一的方面,提供了一种用于处理字符串以在人/机界面上进行图形表示的模块,其中,字符串的每个字符由保存在字体库中的字形表示。在这种情况下,分配给每个字符的字形至少提供关于字符的外形的信息项。模块包括:文本渲染单元,其被配置为从字体库中至少检索出字符
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1