与地区和操作平台无关地选择字体的方法和计算机系统的制作方法

文档序号:6556775阅读:128来源:国知局
专利名称:与地区和操作平台无关地选择字体的方法和计算机系统的制作方法
技术领域
本发明涉及字体映射,更特别地涉及支持多个地区(locale)和操作系统的字体选择。
背景技术
字体指的是文本字符在计算机环境中的视觉外观。字体的范围从一般可用的有衬线字体(serif font)和无衬线字体(non-serif font),到符合特定的视觉界面需要的特殊可应用字符集,这些视觉界面需要例如数学方程式、准图形图像(quasi-graphical image)以及特定外语的独特的字符和图标。实际上,由于在现代操作环境中包括多种新外语,因此用于任何一种特定的计算机环境中的可应用字体的种类可以有很多并且还在不断地扩充。
通常,有两种类型的字体,即物理字体和逻辑字体。物理字体是真实的字体库,其例如可以包括TrueType或PostScript Type1字体。物理字体可以包括例如Times Roman、Helvetica和Courier等。相比较而言,逻辑字体不是真实的字体库。更确切地说,逻辑字体是在诸如操作系统、虚拟机或软件开发环境之类的特定平台中识别的字体类型名称。一旦由该环境所识别,这些字体类型名称就可以映射到已经安装在该平台中的物理字体。逻辑字体的例子包括Serif、Sans-Serif、Monospaced、Dialog和DialogInput。
逻辑字体的类型和风格到物理字体的映射是对于平台和地区特定的。通常,字体属性文件可以包含逻辑字体到物理字体的映射。在对平台进行初始化时可以查询字体属性文件,并且基于字体属性文件的映射,在初始化期间平台可以创建逻辑字体到物理字体的映射以便在平台使用期间使用这些字体。在对于同一平台可以存在的大量不同的地区中,甚至对于不同的平台版本,可以创建多个字体属性文件并单独地部署这些字体文件以便用逻辑字体到物理字体的地区特定映射来适应每种不同的地区。
由于基本字体属性文件的固定性,当开发用于跨多个操作平台、多个操作平台版本和多个地区而部署的应用程序时会出现若干问题。首先,在很多情况下,能够在一个操作平台中显示地区特定文本的字体也许不能在另一个操作平台中显示地区特定文本。其次,能够显示一个地区的非拉丁文文本的字体也许不能显示另一个地区的非拉丁文文本。在这两种情况下,不能在特定的操作平台中显示地区特定文本可能是由于缺少关于每个可能操作平台的字体呈现能力的完备开发知识。一种字体不能在特定的操作平台中显示地区特定文本还可能是由于该平台中的运行时间逻辑(runtime logic)不能支持该所选字体。

发明内容
本发明针对的是现有技术关于不同操作平台和不同地区的字体映射的缺点,并且本发明提供了一种新颖且非显而易见的用于与地区和操作平台无关地选择字体的方法、系统和设备。在具有操作平台配置和相关联地区的操作平台中,与地区和操作平台无关的字体选择方法可以包括解析预先建立的字体属性文件以确定该字体属性文件中涉及的期望字体是否支持该操作平台配置和该相关联地区中的至少一个。因此,如果在该字体属性文件内表明该期望字体支持该操作平台配置或该相关联地区中的任意一个或同时支持,则可以在该操作平台中使用该期望字体。
已配置用于与地区和操作平台无关地选择字体的计算机系统可以包括具有操作平台配置和相关联地区的操作平台。该系统还可以包括一个包括多个条目的字体属性文件。每个条目可以定义一种字体以及相应的所支持的地区和相应的所支持的操作平台配置中的至少一个。最后,该系统可以包括与地区和操作平台无关的字体选择处理器。
该与地区和操作平台无关的字体选择处理器可以编程为首先解析字体属性文件以确定该字体属性文件中涉及的期望字体是否支持该操作平台配置和相关联地区中的至少一个。如果在该字体属性文件中表明该期望字体支持该操作平台配置和该相关联地区中的任意一个或同时支持该两者,则与地区和操作平台无关的字体选择处理器随后可以在该操作平台中使用该期望字体。
在下面的描述中将阐述本发明的一部分其他方面,并且根据这些描述,本发明的一部分其他方面将变得明显,或者可以通过实现本发明来了解本发明的一部分其他方面。根据在所附的权利要求中特别指出的元件和组合可以了解和获得本发明的各方面。应当理解,此前的一般描述和此后的详细描述只是示例性和解释性的,而并非如权利要求那样对本发明进行限制。


包含于本说明书中并构成本说明书一部分的附图、本发明的说明性实施例以及具体描述共同用于说明本发明的原理。在此例示的实施例是目前优选的实施例,然而应当理解,本发明并不限于所示出的这些具体的配置和手段,其中图1是配置为用于与地区和操作平台无关地选择字体的计算机设备的示意图;以及图2是说明在图1的系统中与地区和操作平台无关地选择字体的过程的流程图。
具体实施例方式
本发明是一种用于与地区和操作平台无关地选择字体的方法、系统和设备。根据本发明,可以创建定义文件,该定义文件可以组建已知支持不同的操作平台配置下的特定地区的非拉丁文字符的字体的列表。随后,可以针对选定的地区在特定的操作平台中载入并解析该定义文件,以便能够测试每个所列字体,从而确定对于该选定地区该所列字体是否能支持该特定操作平台的非拉丁文本。无论一种字体是否确定为能够满足前述测试,该字体都可以在该操作平台中注册使用。
通过将与地区和操作平台无关的字体选择过程分成三个阶段,本发明使得不同的特性可以满足彼此独立的不同的字体选择阶段。例如,字体提供者可以生成一种字体的字体属性。随后,具有针对不同地区和操作平台的字体支持知识的开发者可以利用这些字体属性来完成字体定义文件,并用应用程序接口(API)来解析该字体定义文件。最后,为了确定调用哪种字体,应用开发者只需了解查询存储器中的哪个静态值即可。
下面将更具体地说明本发明的结构和操作,图1是设置为用于与地区和操作平台无关地选择字体的计算机设备110的示意图。如图1所示,与地区和操作平台无关的字体选择系统130可以与布置于计算机设备110中的操作平台120协同工作。操作平台120可以具有特定的配置并且可以关联到特定的地区。利用字体属性文件140,与地区和操作平台无关的字体选择系统130可以选择用于操作平台120中的适当字体,以便能够满足操作平台120的非拉丁文文本要求。
为了实现对用于操作平台中的适当字体的无缝选择(seamlessselection)以适应特定的配置和地区,可以在与地区和操作平台无关的字体选择系统130中实现与地区和操作平台无关的字体选择过程。为进一步的说明,图2是说明包含于图1的与地区和操作平台无关的字体选择系统130中的与地区和操作平台无关的字体选择过程的流程图。
首先,在方框205中,可以指定一种用于操作平台的应用程序中的字体。在判断方框210中,可以确定所指定的字体是否已经注册为在该操作平台中用于所要求的地区。如果所指定的字体已经注册为在该操作平台中用于所要求的地区,则在方框255中使用该注册字体。否则,在方框215中在字体属性文件中查找对应于该字体的条目。在判断方框220中,如果找到的条目表明支持该特定操作平台配置和所要求的地区,则在方框260中可以在操作平台中注册该条目中指定的这种字体并且可以在方框255中使用该字体。否则,通过判断方框240继续该过程。
特别地,对于特定地区,字体属性文件中的条目可以包括字体与相应的所支持操作平台配置的列表。特别地,对于指定地区,条目的顺序可以表明各种字体被选择用于特定操作平台中的优先级。在本发明的一个方面中,可以为所有的操作平台配置建立单一的字体属性文件。在本发明的另一个方面中,可以为每个操作平台配置建立一个字体属性文件。在这两个方面中,该文件都可以针对单一的地区。
在判断方框240中,如果确定在字体属性文件中有针对指定字体的其他条目仍未分析,则在方框215中可以针对该指定字体查找字体属性文件中的下一个条目以确定该条目是否表明支持操作平台的设置和支持优选的地区。同样,在判断方框220中,如果找到的条目表明支持特定操作平台配置和所要求的地区,则在方框260中可以在操作平台中注册该条目中指定的字体,并且在方框255中可以使用该字体。否则,继续该过程,直到找到适当的条目,或者直到字体属性文件中不再有剩余的条目。
在方框225中,当已经针对指定字体查找了所有的条目时,在方框225中可以载入平台中的所有字体以供分析。随后,在方框230中,可以分析第一个载入字体以在判断方框235中确定该载入字体是否能够支持所要求地区的非拉丁文文本。如果该载入字体能够支持所要求地区的非拉丁文文本,则在方框260中注册该字体并在方框255中使用该字体。否则,如果在判断方框245中可以载入更多的字体,则可以在方框230中重复所述过程。当不再有剩余的载入字体可供分析时,可以认为载入字体或字体属性文件中指定的字体都不能正好满足该特定的操作平台配置和所要求的地区。因此,在方框250中可以执行以失败结束(failure over)的过程,其可以包括使用默认字体,或返回故障码(failure code)。
本发明可以以硬件、软件或硬件和软件的组合来实现。本发明的方法和系统可以以集中的方式在一个计算机系统中实现,也可以以分布式的方式实现,在分布式的方式中不同的元件分布于多个互连的计算机系统上。任意类型的计算机系统或适于执行在此描述的方法的其他设备都适于执行在此描述的功能。
硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,这些计算机程序在载入并执行时可以控制该计算机系统以使该计算机系统执行在此描述的方法。本发明还可以具体实现为计算机程序产品,其包括能够实现在此描述的方法的所有特征,并且其在载入到计算机系统中时能够执行这些方法。
本上下文中的计算机程序或应用程序意指用于使具有信息处理能力的系统执行特定功能的一组指令的以任意的语言、代码或符号写就的任何表达方式,该系统可以直接地执行特定功能,或在以下任一步骤或以下两个步骤之后执行特定功能a)转换为另一种语言、代码或符号;b)再现为不同的物质形式。值得注意的是,在不偏离本发明的本质和基本属性的情况下,本发明可以以其他的特定形式具体实现,并且因此,在限定本发明的范围时,应当参考下面的权利要求,而不是前面的说明书。
权利要求
1.一种与地区和操作平台无关的字体选择方法,用于具有操作平台配置和相关联地区的操作平台中,所述方法包括步骤解析预先建立的字体属性文件以确定在所述字体属性文件中涉及的期望字体是否支持所述操作平台配置和所述相关联地区中的至少一个;并且如果在所述字体属性文件中表明所述期望字体支持所述操作平台配置和所述相关地区中的至少一个,则在所述操作平台中使用所述期望字体。
2.根据权利要求1所述的方法,其中所述解析步骤包括步骤解析预先建立的字体属性文件以确定在所述字体属性文件中涉及的期望字体是否支持所述相关联地区的非拉丁文文本显示。
3.根据权利要求1所述的方法,其中所述解析步骤包括步骤针对所述期望字体确定在所述字体属性文件中的多个条目的优先级次序;并且以所述优先级次序对每个所述条目进行测试,直到确定一个条目支持所述操作平台配置和所述相关联地区中的至少一个时为止。
4.根据权利要求1所述的方法,其中所述使用步骤包括步骤将所述期望字体登记在所述操作平台的字体目录中。
5.根据权利要求1所述的方法,还包括步骤检索已载入所述操作平台中的一组系统字体;确定是否有任何所述系统字体支持所述相关联地区的非拉丁文文本显示;并且如果确定有一种所述系统字体支持所述相关联地区的非拉丁文文本显示,则使用所确定的这种所述系统字体来代替所述期望字体。
6.一种计算系统,配置为用于与地区和操作平台无关的字体选择,所述系统包括操作平台,其具有操作平台配置和相关联地区;字体属性文件,其包括多个条目,每个所述条目定义一种字体以及相应的所支持的地区和相应的所支持的操作平台配置中的至少一个;以及与地区和操作平台无关的字体选择处理器,其编程为,首先解析所述字体属性文件以确定在所述字体属性文件中涉及的期望字体是否支持所述操作平台配置和所述相关联地区中的至少一个,并且如果在所述字体属性文件中表明所述期望字体支持所述操作平台配置和所述相关联地区中的至少一个,则随后在所述操作平台中使用所述期望字体。
7.根据权利要求6所述的系统,其中每个所述条目定义一种字体和一种相应的所支持的地区,所述字体能够支持所述地区的非拉丁文文本显示。
8.根据权利要求6所述的系统,其中按照所述所定义字体的优先级次序对所述条目进行排序。
9.一种机器可读存储器,其上存储了用于与地区和操作平台无关地为操作平台选择字体的计算机程序,所述计算机程序包括例行的一组指令,当这些指令由机器执行时可以使机器执行根据权利要求1-5中的任一项所述的步骤。
全文摘要
一种用于与地区和操作平台无关地选择字体的方法、系统和装置。在具有操作平台配置和相关联地区的操作平台中,与地区和操作平台无关的字体选择方法可以包括解析预先建立的字体属性文件以确定在该字体属性文件中涉及的期望字体是否支持该操作平台配置和该相关联地区中的至少一个。因此,如果在该字体属性文件中表明该期望字体支持该操作平台配置和该相关联地区中的任意一个或同时支持两者,则可以在该操作平台中使用该期望字体。
文档编号G06F17/30GK1855098SQ20061005772
公开日2006年11月1日 申请日期2006年2月23日 优先权日2005年4月20日
发明者伊马德·马汉纳 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1