基于用户代理类型以变化格式提供字体文件的制作方法

文档序号:6340212阅读:344来源:国知局
专利名称:基于用户代理类型以变化格式提供字体文件的制作方法
技术领域
本公开的各方面涉及以各种字体在网络浏览器中的文本显示。
背景技术
网络标准不同已经是web开发者、浏览器厂商和终端用户在开发、支持和访问在 线内容时不得不解决的问题。例如,不同的web浏览器可以提供与各种字体、字体文件格 式、文档类型、文档格式等的不同兼容性。这些不同标准和兼容问题的结果是文档作者可能 被迫使用一般的或者标准的字体,以确保所有潜在的网站访问者能够适当地查看文档。因 此,文档作者有时不能使用为创造性和独特性提供更大的允许的风格化文本和其它非标准 字体。样式表(style sheet)提供一种机制,通过该机制文档作者可以识别特定字体的 位置,使得终端用户可以下载相应的字体文件来查看字体。然而,该字体文件的格式可能不 与终端用户的浏览器或者应用兼容,他或她使用该浏览器或者应用访问网页或者其它网络 文档。因此,使用样式表的字体指定机制,一些用户可能仍然不能如文档作者所预期的查看 网页(例如,使用特定格式字体)。

发明内容
为了提供一个发明一些方面的基本理解,以下呈现简化的发明内容。该
发明内容
不是本发明的详尽概述。它不旨在识别本发明的关键或者重要的元素,也不描绘本发明的 范围。以下的发明内容仅仅以简化的形式呈现本发明的一些概念,作为下面描述的前序。本公开的各方面涉及一种字体服务器,其通过确定用户代理类型(例如,浏览器 类型)处理字体请求。使用确定的用户代理类型,网络服务器可以检索并且以与确定的用 户代理类型兼容的字体文件格式返回所请求的字体。因此,页面或者文档开发者不需要确 定单个字体文件格式以引用特定字体。替代地,该确定可以留给字体服务器,使得可以支持 所有得浏览器类型。根据另一个方面,可以使用对于字体或者字体族是唯一的但是对于该特定字体或 者字体族的所有字体文件格式通用的标识符,在网络文档或者与之相关的样式表中引用字 体文件。根据另一个方面,文档创建应用可以配置为除用于定义web文档的布局和外表的 相应样式表之外,生成web文档。应用可以进一步配置为从字体服务器检索字体或者字体 标识信息,以及引用选择的字体或者字体族的样式表或者web文档中生成代码段。根据另一个方面,如果网络服务器没有用于字体的字体文件或者兼容的格式的字 体文件,则网络服务器可以更新它的字体或者字体文件列表。如果字体服务器然后能够找 到字体文件,则服务器可以重定向请求到指定的其它字体服务器或者字体位置,如果该字 体文件没有存储在那个服务器中。兼容的字体文件然后可以从其它字体服务器或者通过原 始字体服务器(即,担当中介)发送到请求设备。
根据另一个方面,对于特定的字体,web开发者可以指定以及用户代理可以请求减 小的字形范围。这可以用于降低获得用于查看由开发者发布的网络文档的必要信息所需的 带宽量。字体服务器或者与之相关的服务程序可以评估请求的有效性,并且在验证该请求 有效时,生成仅包含请求的字形范围的请求字体的字体文件。请求的字形范围可以在请求 中提供。例如,该字形范围可以在用于HTTP请求的请求字符串中指定。


结合附图,本发明的各种目标、特征以及优点将从以下详细的描述更容易明显和 更完全理解,在附图中图1图示示例计算机系统和环境,其中可以实践本发明的一个或者多个方面;图2图示嵌入web文档的示例样式表,其可以根据在此描述的一个或者多个方面 使用;图3是图示示例方法的流程图,通过该示例方法可以基于用户代理兼容性从字体 服务器获得字体;图4是图示示例方法的流程图,该示例方法用于生成包括用于定义其结构的样式 表的web文档;图5图示根据在此描述的一个或者多个方面的示例文档创建应用界面;图6图示可以用于选择兼容的字体文件的示例字体服务器;图7是图示示例方法的流程图,其中字体服务器可以将字体文件请求重定向到另 一服务器或者位置;图8图示根据在此描述的一个或者多个方面的用于定义减小的字形范围请求的 示例语法;图9A图示根据在此描述的一个或者多个方面的用于处理减小的字形字体文件请 求和生成减小的字形字体文件的示例方法;以及图9B图示根据在此描述的一个或者多个方面的用于从字体服务器获得减小的字 形字体文件的示例流程图。
具体实施例方式如上所述,本公开的各方面涉及用于在在线web环境中获得和处理字体的系统、 装置、方法和计算机可读介质。如在此所用的字体可以指铅字字体(typeface)中字符的集 合。在一个或者更多示例中,字体可以指为特定铅字字体定义的所有字符组。用于可以以 可以仅仅与一个或者更多特定类型的应用(如web浏览器)兼容的字体文件格式上载字体 文件到web服务器。因此,该web服务器可以以与其它类型的应用和web浏览器兼容的另 一字体文件格式生成第二字体文件。可替代他,用户可以以多个字体文件格式上载字体文 件,而不是要求web服务器以其它格式生成字体文件。使用该web服务器,浏览器可以获取 以适当的格式的字体文件。这允许用户在它们的网页中使用各种样式和字体,而不必定制 页面到一个类型的浏览器或者另一个。图1图示其中可以传输和使用字体文件以在如网页的网络文档中生成文本的网 络环境。网络100可以配置为在包括客户端设备103和网络服务器105的各种设备之间提供通信。该通信可以符合一个或者更多通信协议,包括因特网协议(IP)、超文本传输协议 (HTTP)、文件传送协议(FTP)等。设备103可以包括如个人计算机(PC) 103a的固定设备以 及如个人数字助理(PDA) 10 、移动电话103c和膝上型计算机103d的移动通信设备。网络 服务器105可以配置为存储和主办各种类型的信息,包括网页、音乐内容、视频内容、应用 等。在一个配置中,网络服务器10 可以配置用于为用户或者组织主办一个或者更多网页 或者网站。例如,网页可以根据超文本标记语言(HTML)格式化。其它web格式,如可扩展标 记语言(XML)、可扩展超文本标记语言(XHTML)等。基于配置用于描述以如HTML或者XML 的标记语言编写的文档的布局和表示的层叠式样式表(CSS),可以进一步定义网页和站点。 CSS主要设计为能够从文档表示分离文档内容(以HTML或者类似的标记语言编写),该文 档表示包括如颜色、字体以及布局(例如,边缘、边界)的元素。因此,当设备103中的一个 从网络服务器10 请求页面时,网络服务器10 可以连同一个或者多个在此描述的相应 样式表一起返回web文档。设备103然后可以使用如web浏览器的应用根据文档编码以及 相应的样式表呈现web文档。在一个示例中,样式表可以包括字体参数(例如,Wont-face 规则),其存储或者对应于一个URI,该URI为其中呈现web文档的一个或者多个部分的字 体指定字体文件的位置。字体文件通常指数据文件,其为计算设备存储必要信息,以便以特 定的字体呈现一组符号和字符。设备103可以检索字体文件,使得web文档的那些部分可 以按照创建者/作者的打算呈现。根据一个或者多个方面,网络服务器10 可以配置为存储字体文件。可以根据各 种格式创建字体文件,并且因此不同类型的浏览器和应用可以与那些格式具有不同的兼容 性。例如,可以根据TrueType、OpenType或者嵌入的OpenType格式创建字体。然而,一些 诸如微软(MICROSOFT)的 INTERNETEXPLORER 的 web 浏览器可能不与 TrueType 和 OpenType 字体文件格式兼容,而其它浏览器可能不与嵌入的OpenType字体文件格式兼容。为了解决 这样的兼容性问题,网络服务器10 可以存储多种格式的字体文件,以便提供与多个浏览 器和应用类型的兼容性。在接收来自一个或多个设备103的字体文件请求时,网络服务器 105b可以确定浏览器或者应用类型,并且选择字体文件的可兼容格式来发送到请求设备。 这消除了文档作者决定使用哪个字体文件格式以及由于不兼容性问题而牺牲一部分她的 潜在观众的需要。图2图示可以根据在此描述的字体检索使用的示例样式表。层叠式样式表200包 括(ifont-face规则201,其定义字体或者字体族,诸如用于当前还没有安装字体族205的 用户设备的字体族205。层叠式样式表200还定义位置210 (例如,统一资源标识符),在此 可以获得用于字体族205的字体文件。该字体族可以随后用于定义在由HTML文件220定 义的文档的主体中使用的字体215。如所图示的,尽管层叠式样式表200仅仅提供单个字 体定义,但是可以添加额外的字体或者字体族定义用于在相应web文档中使用。例如,一种 字体可以用于标题,而另一种字体可以用于正文。如所图示的,样式表200嵌入HTML文件 220中。在其它安排中,样式表可以在HTML文档外部,该HTML文件包括对于外部样式表的 引用(如在此进一步详细讨论的)。图3图示了一种方法,通过该方法可以基于请求应用的兼容性从字体服务器获得 字体。在步骤300中,字体服务器可以从web文档作者或者其它源接收对应于新字体的字体 文件。例如,文档作者可能希望在网页中使用在字体服务器中当前未提供的一种字体。在这种情况下,作者可以上载该字体到字体服务器,以使得页面访问者可以以它希望的格式和 样式观看页面,并且使得其它作者也可以使用该字体。在步骤305中,字体服务器可以验证 该字体文件可合法地分发。如果该字体或者字体文件不可合法地分发,则该字体服务器可 以在350步骤中拒绝字体或者字体文件的接受和/或分发。在一个示例中,该验证可以通过 从字体文件提取由创建该字体的字体铸造厂设置的嵌入元数据,并且确定元数据是否指示 该字体文件可以被分发来执行。如果该字体服务器确定字体文件可合法地分发,该字体服 务器然后可以在步骤310中确定创建字体文件的格式。示例字体文件格式包括TrueType、 OpenType、嵌入的OpenType等。该格式可以通过文件名、文件扩展信息、元数据、编码结构 和/或其组合来识别。一旦已经识别字体文件格式,服务器可以在步骤315中确定用于字体 的字体文件是否以其它字体文件格式存在。如果不是,则字体服务器在步骤320中可以基 于在接收的字体文件中存储的字体数据,以其它字体文件格式生成字体文件。在一个或者 更多示例中,可以使用字体文件创建工具,诸如微软的网络嵌入字体工具(Web Embedding Fonts Tool,TOFT)。另外地或者可替代地,字体文件可以使用字体文件格式标准创建,该字 体文件格式标准诸如在http //www. w3. org/Submission/EOT/可得到的嵌入的OpenType 的那些字体文件格式标准。请求的格式可以定义为默认列表或者可以为每个字体或者字体 族定制。在步骤325中,字体服务器或者它的服务程序可以接收对对应于接收的字体文件 的字体或者字体族的请求。在一个示例中,该请求可以根据HTTPGET请求构造,该HTTP GET 请求可以包括包含关于用户代理(即,请求该信息的浏览器或者应用)的信息的用户-代 理请求-报头字段。在步骤330中,字体服务器或者服务程序可以从该请求提取不同的参数 和的其它类型的信息,其包括用于请求的字体或者字体族的标识信息以及用于访问引用请 求的字体或字体族的页面的浏览器类型。例如,字体名称和浏览器应用名可以在HTTP GET 报头中指定。在步骤335中,字体服务器或者服务程序可以确定用于呈现请求的字体的用 户代理。在步骤340中,字体服务器然后可以为用户代理(例如,一种类型的web浏览器) 确定兼容的字体文件格式。例如,微软INTERNET EXPLORER可能仅仅与嵌入的OpenType字 体文件格式兼容。在一种或多种安排中,浏览器类型还可以包括或涉及浏览器的版本。一 旦确定了兼容的字体文件格式,字体服务器或者服务程序就可以在步骤345中以确定的格 式检索请求的字体或者字体族字体文件,并且将它传送到请求设备。在接收字体文件之后和创建可用于分发的字体文件之前的一些点,字体服务器可 以处理字体文件,例如,用于减少字体的字形组为web设计者(或者其中引用字体的web文 档)需要的那些和/或压缩字体数据。在一个示例中,在接收字体文件后,可以立即处理字 体文件。在另一个示例中,响应于接收对相应的字体的请求,可以处理字体文件。字体文件 可以减少到仅仅包含在使用该字体的web文档中使用的那些字符或者符号。图8图示了用于为诸如网页或者样式表的网络文档中的特定字体定义减小的字 形范围(即,小于所有定义或者可用的字形)的示例语法。语法800可以包括用于在减小 的字体文件不需要或者不可用的情况下的可靠或默认字体的字体定义801。除了网络位置 信息805之外,字体定义801可以包括字体族名称803。网络位置或者地址可以根据以下语 法指定服务器地址/使用字体文件的网站的序列号/字体文件名称。例如,字体文件名称 可以是RmtName. eot或者RmtName. ttf。在网站中指定的字体文件的网络位置或者地址(URI)可以是对字体文件的虚拟引用。也就是说,字体或者字体文件可以没有存储在网络位 置。替代地,字体和/或字体文件可以存储在各种服务器或位置。因此,使用查找表格,对 应于网络位置的服务器或者服务程序可以确定字体文件的真实位置。查找表格可以从字体 服务器加载到服务程序中。另一方面,字体定义807指定了减小的字体或者对于动态减小 的字体文件的请求。序列号可以对应于与字体服务的客户相关的标识符。每个web开发者 或者网站可以因此为了标识和计帐的目的而被给与唯一的序列号。序列号的使用可以进一 步防止字体引用交联,即另一个网站使用来自原始客户的字体引用。字体定义807请求与 字体定义801相同的字体,但是指定期望的字形组,S卩,000-5FF、lE00-lFFF、2000-2300。字 形范围也可以在独立的统一字符码范围字段809中指定。取决于样式表规范,范围字段908 可以是可选的。使用上面的定义801和807,用户代理可以仅仅请求如在字体定义807中指 定的减小的字形组,例如如果用户的带宽受到限制或者完整字体文件(包括所有字形)特 别大。通过定义web浏览选项或者用选择提示,也可以提供关于下载哪个字体文件的选择 给用户。图9A图示用于动态字形减小的示例方法。在步骤900中,字体服务器可以接收对 字体的请求。该字体请求可以对应于例如HTTP的请求。在步骤905中,服务器可以剖析请 求以识别与请求相关的序列号。在步骤910中,服务器可以基于序列号验证请求的有效性。 请求的有效性和验证可以包括web服务和/或web界面的使用,其允许客户将网站与安全 记号(例如,序列号)和一组字体相联系。这组信息可以加载到字体服务器或者服务程序 中,当该HTTP请求进入时,请求可以对已存储的组进行检查。例如,序列号和网站地址可以 与在HTTP获取请求和其中包括的引用者字符串(例如HTTP REFERER)中指定的序列号相 比较。该字体可以进一步与序列号和地址相关联地存储的一个或多个存储字体组比较,以 确定请求是否有效和是否应该提供字体。如果该请求是有效的,则在步骤915和920中字 体服务器可以随后剖析请求以确定是否请求了完整的字体文件或期望减小的字形组字体 文件。确定可以基于请求中指定的参数来进行。例如,如果请求包括字形范围,则服务器可 以确定字形范围是否少于所有可用的或者为请求字体定义的字形。可替代地或者另外地, 如果请求不包括或者指定字形范围,则服务器可以确定请求完整的字形字体文件。在一个 或多个示例中,可以通过与特定字体服务器或者用户代理相关的服务程序剖析请求。如果 请求了完整的字体文件,则在步骤925中可以从字体服务器检索和传送完整的字体文件到 请求代理。然而,如果服务器确定请求减小的字形字体文件,则在步骤930中服务器可以确 定的期望的字形范围。在一个或多个安排中,字形范围可以在HTTP请求中指定。如上所述, 字形范围可以按照对应于各种字形的Unicode值定义。一旦定义了期望的范围,在步骤935 中服务器可以仅用期望的字形范围创建字体文件。这种减小的字形字体文件可以通过复制 完整的字体文件和从副本移除所有非期望字形的字形数据来创建。字形数据可以包括数据 (例如,TrueType、嵌入的OpenType或者OpenType数据),其定义了字符和符号、位图信息、 字符到字形映射表等的提纲。另外地或可替代地,字体的其它特征或者方面可以在创建减 小的字形字体文件时移除;例如,如果字形中的一个已被动态移除,则可以移除连字(当发 现某些字形并排时,通过呈现的字体动态替换两个字形的字形)。可替代地,字体服务器可 以创建减小的字形字体文件,并且仅复制指定的字形数据到减小的字形字体文件。在一个或多个安排中,字体服务器可以进一步考虑正在使用的用户代理的类型,并且使用与用户 代理的类型兼容的字体文件格式,如在此所讨论的。一旦已经创建了减小的字形字体文件, 在步骤940中可以将它传送给用户代理用于呈现的相关网络文档(例如,网页)。在步骤 945中,减小的字形字体文件可以缓存在字体服务程序(例如,临时存储器存储)中,使得减 小的字形字体文件可以快速地提供给随后的请求者。减小的字形字体文件与为其创建减小 的字形字体文件的相应网站的地址相关联地存储。因此,当接收对于同一网站的减小的字 形字体文件的随后请求时,可以检索和提供缓存的字体文件给请求方。图9B图示了可以用于创建减小的字形字体文件的另一示例动态字形减小流程 图。如所图示的,在从web服务器请求和接收网络文档时,用户代理可以请求减小的字形字 体文件。因此,可以要求字体服务器动态创建减小的字形字体文件。也就是说,字体服务器 可以在特定请求时和响应特定请求,需要创建字体文件。最初,可以通过对应于字体服务器 的字体服务程序接收和剖析请求。可以由web开发者创建和发布网络文档和/或对应的样 式表。因此,web开发者可以确定查看网络文档所需的字形范围。根据一个或者多个方面,在样式表中对于字体位置的引用可能不是直接引用到特 定字体文件。替代地,引用可能到对字体或字体族唯一的标识符。使用对字体或者字体族 而不是特定的字体文件(和字体文件格式)唯一的标识符,字体服务器能够为请求设备和 用户选择兼容的字体文件格式。标识符可以由字体服务器或者其它一些实体来分配。图4图示了用于生成web文档的示例方法,该web文档包括用于定义其结构的样 式表。在步骤400中,字体管理应用可以与远程字体服务器连接,用于检索服务器提供的可 用字体的列表。在步骤405中,应用可以提供用户界面,用户可以通过该用户界面通过各种 字体进行浏览。在步骤410中,应用可以接收字体之一的用户选择,用于在用户创建的web 文档中使用。例如,用户可以希望为web文档的正文使用名为Helvetica Bold的字体。可 替代地或者另外地,用户可以指定或者要求字体管理应用来确定查看文档所需的字形的范 围(例如,如果文档仅包括为字体定义的某些字形)。因此,应用可以选择性地评估网络和 在此使用的符号和字符,以便识别在文档中并入的字形组。在步骤415中,应用可以生成用 于样式表的代码段,用于将选择的字体和/或字形范围合并到下面的web文档中。生成的 代码段可以包括字体标识符,其对于字体或字体族是唯一的,但是对于特定字体或字体族 的所有字体文件格式是一般的。另外地或可替代地,如图8所示,生成的代码段可以指定减 小的字形范围。这可以减少用户必须下载来查看文档的数据量。在步骤420中,应用可以 使用相应的样式表生成web文档的预览。如在此所述,样式表可以是在web文档代码中嵌 入的样式表,或者是外部样式表。此外,可以在单个网络文档中引用或使用多个样式表。图5图示了示例文档创建应用界面500,其包括文档输入部分501、字体选择条 503、预览选项505、图像插入面板507和格式控制条509。文档输入部分501可以提供表格, 其中作者可以输入文本、图像和其它内容以定义要发布的网页或者其它网络文档。例如,可 以选择图像,并使用图像插入面板507将其插入文档输入部分501。文档输入部分501可以 显示该文档,如显示给终端用户那样(即,隐藏下层代码)或者示出页面代码。图像插入面 板507可以包括浏览功能515,其允许用户查找和选择图像文件。图像插入面板507还可以 允许用户定义图像的大小。文档创建应用可以自动生成文档代码以在文档中定义图像的大 小、位置和其它特征。格式控制条509提供用于修改边缘、设置对准、定义新段落等的控制。字体选择条503可以用来为文档的各个部分选择和定义字体。在一个示例中,字体选择条 503可以包括列出可用字体的下拉菜单511。在一个或者更多配置中,下拉菜单511可以通 过从远程字体服务器检索字体列表填充。随着插入图像和格式化代码,文档创建应用可以 生成用于定义选择用于在文档中使用的字体的代码。在某些安排中,诸如字体代码和颜色 代码的某些代码可以在外部样式表(例如mystyle.css)而不是实际网络文档中定义。网 络文档然后可以包括对样式表的引用。在界面500中,该引用的样式表可以通过选择标签 513可见。在替代实施例中,样式表可以嵌入网络文档中(即,包括样式表代码作为网络文 档代码的一部分)。图6图示了示例字体服务器,其可以用于基于请求字体的浏览器类型,选择兼容 的字体文件。字体服务器600可以包括字体数据库601、用户代理确定模块603、响应发生 器605以及请求剖析器607。字体数据库601可以配置为多个字体存储字体文件。字体数 据库601可以以多个字体文件格式存储字体的字体文件。在接收字体请求时,请求剖析器 607可以剖析和提取包含在请求中的报头字段。例如,请求剖析器607可以从HTTP GET请 求中提取用户代理类型报头字段。用户代理类型报头信息然后可以被传送到用户代理类型 确定模块603,其配置用于识别请求字体和字体文件的用户代理的类型(例如,web浏览器 的类型)。请求剖析器607还可以配置用于分析引用者字符串(例如HTTP REFERER)以及 将引用者信息与字体请求和序列号组合。可以收集和组合该信息用于帮助确定请求是否有 效以及是否应该使用字体。用户代理确定模块603还可以负责确定与确定的用户代理类型兼容的字体文件 格式。在一个示例中,用户代理确定模块603可以检查一个查找表以识别兼容的格式,该查 找表存储格式类型和用户代理类型之间的关联。一旦已经确定(多个)兼容的格式,响应 发生器605可以配置为从数据库601检索以确定的字体文件格式的请求字体。然后可以由 响应发生器605生成包括字体文件的响应并且发送到请求设备。可选地,字体服务器600可以包括请求转向器609,其配置为如果字体服务器600 没有存储所请求的字体或者兼容的字体文件,则将字体请求重定向到另一个服务器(例 如,在字体数据库601中)。转向器609可以使用与它们的位置相关地存储可用字体和字体 文件格式的查找表,确定兼容的字体文件或者所请求的字体的位置。转向器609还可以配 置为从其它服务器接收字体文件,使得响应发生器605可以生成对请求设备的响应。可替 代地,转向器609可以简单地传递已经由其它服务器生成的响应到请求设备,从而起到传 输中介的作用。如果字体服务器600配置为从其它服务器接收字体文件,则字体服务器600 也可以在字体数据库601中存储字体文件,使得将来的请求不需要重定向。描述的模块可 以包括固件、软件、硬件和/或其组合。在一个或者多个安排中,字体服务器600还可以包 括一个或者更多处理器(未示出)、诸如RAM和ROM的存储器模块以帮助处理指令的存储和 执行。描述的模块可以包括固件、软件、硬件和/或其组合。在一个或者多个安排中,字 体服务器600还可以包括一个或者更多处理器(未示出)、诸如RAM和ROM的存储器模块以 帮助处理指令的存储和执行。图7图示了一种方法,字体服务器通过该方法可以处理对于服务器不知道的字体 的请求。在步骤700中,字体服务器或者它的服务程序可以接收字体文件请求。字体文件
12请求可以包括字体标识符和用户代理类型。在步骤705中,字体服务器或服务程序可以确 定请求字体是否可用。例如,字体服务器或者服务程序可以检查与请求字体对应的入口的 查找表。在步骤710中,如果服务器或者服务程序没有关于请求字体的信息,则服务程序可 以从数据库(例如,在字体服务器中)重载或者重读查找表信息。在步骤715中,服务程序 的字体和字体位置的内部列表可以因此使用重载或者更新的查找表信息来更新。一旦服务程序的字体和字体位置的内部列表已经更新,则在步骤720中服务程序 可以进行关于请求字体是否可用的另一确定。如果是这样,则在步骤725中服务程序可以 将该请求重定向到对应于请求字体的位置。可替代地或者另外地,服务程序可以从指定位 置检索请求字体。然而,如果字体仍然不可用,则在步骤730中服务程序可以发送字体请求 拒绝给请求方或者代理。相同或相似的检索系统、方法和装置可以用于不同于字体的信息类型。例如,图像 可以由图像服务器以多种格式存储以确保与请求用户代理的兼容性。因此,当浏览器试图 检索图像时,图像服务器可以确定请求用户代理类型,检索以兼容的图像文件格式的图像 以及返回图像到请求设备。在此所述的方法和特征可以进一步通过任意数目的能存储计算机可读指令的计 算机可读介质实现。可以使用的计算机可读介质的示例包括RAM、R0M、EEPR0M、闪存或其它 存储技术、CD-ROM、DVD或者其它光盘存储、磁带、磁盘、磁存储等。另外地或可替代地,至少在某些实施例中,在此所述的方法和特征可以通过一个 或多个集成电路(IC)实现。集成电路可以是例如存取在只读存储器(ROM)中存储的编程 指令或者其它数据的微处理器。在一些这样的实施例中,ROM存储编程指令,其使得IC根 据一个或者多个在此描述方法执行操作。至少在一些其它的实施例中,在此描述的一个或 多个方法硬布线到IC中。换言之,在这样情况下的IC是专用于在此描述的计算和其它操 作的门电路以及其它逻辑电路的专用集成电路(ASIC)。在其它实施例中,IC可以基于执行 从ROM或者RAM读取的编程指令执行一些操作,其它操作硬布线到IC的门电路或其它逻辑 电路中。此外,IC可以输出图像数据到显示缓冲器。尽管已经描述了执行各种特征的特定示例,但是本领域的技术人员应当理解,存 在包含在如所附权利要求书所提出的本公开的精神和范围内的上述系统和方法的许多的 变化和改变。此外,对本领域的普通技术人员来说,从本公开的回顾将出现在所附权利要求 的范围和精神内的许多其它的实施例、修改和变化。
权利要求
1.一种方法,包括在字体服务器接收对于字体的请求,其中所述请求指示用户代理的类型,所述字体要 在所述用户代理中显示;通过所述字体服务器从多个字体文件格式确定与所述用户代理的类型兼容的第一字 体文件格式,其中所述用户代理的类型与第二字体文件格式不兼容;通过所述字体服务器检索以所述第一字体文件格式的第一字体文件;以及从所述字体服务器发送所述第一字体文件到请求设备。
2.如权利要求1所述的方法,其中所述请求包含统一资源标识符,并且其中所述方法 还包括从所述统一资源标识符提取所述用户代理的类型。
3.如权利要求1所述的方法,其中确定所述第一字体文件格式是否与所述用户代理的 类型兼容包括确定所述第一字体文件格式是否能被一种类型的网络浏览器理解。
4.如权利要求1所述的方法,其中检索所述第一字体文件包括从对应于所述字体的多 个字体文件选择所述第一字体文件,其中所述多个字体文件中的每个包括使得用户代理能 够以所述字体呈现一组字符的数据,并且其中所述多个字体文件中的每个以不同的字体文 件格式。
5.如权利要求1所述的方法,其中所述请求包括对于所述字体唯一的字体标识符,其 中所述字体标识符对于对应于所述字体的多个字体文件是公共的。
6.如权利要求1所述的方法,还包括在接收所述请求之前,接收以第二字体文件格式的第二字体文件;以及使用所述第二字体文件,以所述第一字体文件格式生成所述第一字体文件。
7.如权利要求1所述的方法,还包括基于对应于所述字体的以第二字体文件格式的第 二字体文件,响应于接收所述请求,生成所述字体文件。
8.如权利要求1所述的方法,还包括基于在所述请求中包括的信息,确定所述字体是 否能合法分发。
9.如权利要求8所述的方法,其中所述请求对应于HTTPGET请求。
10.如权利要求1所述的方法,其中通过所述字体服务器检索以所述第一字体文件格 式的第一字体文件包括确定以所述第一字体文件格式的所述第一字体文件是否存储在所述字体服务器中;以及响应于确定所述第一字体文件没有存储在所述字体服务器中,从另一个字体服务器请 求所述第一字体文件。
11.如权利要求10所述的方法,还包括从所述另一个字体服务器接收所述第一字体文件;以及在所述字体服务器中存储所述第一字体文件。
12.一种装置,包括处理器;以及存储器,其操作地耦合到所述处理器并且存储计算机可读指令,当执行所述计算机可 读指令时,使得装置接收对于字体的请求,其中所述请求指示用户代理的类型,所述字体要在所述用户代理中使用;从多个字体文件格式确定与所述用户代理的类型兼容的第一字体文件格式,其中所述 用户代理的类型与第二字体文件格式不兼容;检索以所述第一字体文件格式的第一字体文件;以及 发送所述第一字体文件到请求设备。
13.如权利要求12所述的装置,其中确定所述第一字体文件格式是否与所述用户代理 的类型兼容包括确定所述第一字体文件格式是否能被一种类型的网络浏览器理解。
14.如权利要求12所述的装置,其中检索所述第一字体文件包括从对应于所述字体的 多个字体文件选择所述第一字体文件,其中所述多个字体文件中的每个包括使得用户代理 能够以所述字体呈现一组字符的数据,并且其中所述多个字体文件中的每个以不同的字体 文件格式。
15.如权利要求12所述的装置,其中当执行所述计算机可读指令时,进一步使得所述装置在接收所述请求之前,接收以第二字体文件格式的第二字体文件;以及 使用所述第二字体文件,以所述第一字体文件格式生成所述第一字体文件。
16.如权利要求12所述的装置,其中当执行所述计算机可读指令时,进一步使得所述 装置基于对应于所述字体的以第二字体文件格式的第二字体文件,响应于接收所述请求, 生成所述字体文件。
17.如权利要求12所述的装置,其中检索以所述第一字体文件格式的第一字体文件包括确定以所述第一字体文件格式的所述第一字体文件是否存储在所述装置中;以及 响应于确定所述第一字体文件没有存储在所述装置中,从远程服务器请求所述第一字 体文件。
18.—个或多个存储计算机可读指令的计算机可读介质,当执行所述计算机可读指令 时,使得存储一个或多个字体的装置接收对于字体的请求,其中所述请求指示用户代理的类型,所述字体要在所述用户代 理中使用;从多个字体文件格式确定与所述用户代理的类型兼容的第一字体文件格式,其中所述 用户代理的类型与第二字体文件格式不兼容;检索以所述第一字体文件格式的第一字体文件;以及 发送所述第一字体文件到请求设备。
19.如权利要求18所述的一个或多个计算可读介质,其中确定所述第一字体文件格式 是否与所述用户代理的类型兼容包括确定所述第一字体文件格式是否能被一种类型的网 络浏览器理解。
20.如权利要求18所述的一个或多个计算可读介质,其中检索所述第一字体文件包括 从对应于所述字体的多个字体文件选择所述第一字体文件,其中所述多个字体文件中的每 个包括使得用户代理能够以所述字体呈现一组字符的数据,并且其中所述多个字体文件中 的每个以不同的字体文件格式。
21.如权利要求18所述的一个或多个计算可读介质,其中当执行所述计算机可读指令时,进一步使得所述装置在接收所述请求之前,接收以第二字体文件格式的第二字体文件;以及使用所述第二字体文件,以所述第一字体格式生成所述第一字体文件。
22.如权利要求18所述的一个或多个计算可读介质,其中当执行所述计算机可读指令 时,进一步使得所述装置基于对应于所述字体的以第二字体文件格式的第二字体文件,响 应于接收所述请求,生成所述字体文件。
23.如权利要求18所述的一个或多个计算可读介质,其中检索以所述第一字体文件格 式的第一字体文件包括确定以所述第一字体文件格式的所述第一字体文件是否存储在所述装置中;以及响应于确定所述第一字体文件没有存储在所述装置中,从配置为存储字体的另一装置 请求所述第一字体文件。
24.一种方法,包括通过计算设备接收用于创建网络文档的请求;通过所述计算设备接收要在所述网络文档的部分中使用的字体的选择;以及生成引用所选择字体的代码,其中所述代码识别远程位置,对应于所述字体的字体文 件存储在所述远程位置,其中所述字体文件包括使得所述计算设备能够以所选择字体呈现 字符的数据,并且其中所述代码对于所述字体是唯一的,并且对于对应于所述字体的多个 字体文件是公共的。
25.如权利要求M所述的方法,还包括通过所述计算设备从所述远程位置检索可用字 体列表,其中所述可用字体列表包括所述代码。
26.如权利要求25所述的方法,其中通过第一代码引用所述可用字体的第一字体,通 过不同于所述第一代码的第二代码引用所述可用字体的第二字体。
27.如权利要求M所述的方法,其中对应于所述字体的多个字体文件中的每一个有不 同的字体文件格式。
28.—个或多个存储计算机可读指令的计算机可读介质,当执行所述计算机可读指令 时,使得装置接收用于创建网络文档的请求;接收要在所述网络文档的部分中使用的字体的选择;以及生成引用所选择字体的代码,其中所述代码识别远程位置,对应于所述字体的字体文 件存储在所述远程位置,其中所述字体文件包括使得所述计算设备能够以所选择字体呈现 字符的数据,并且其中所述代码对于所述字体是唯一的,并且对于对应于所述字体的多个 字体文件是公共的。
29.如权利要求观所述的一个或多个计算可读介质,当执行所述计算机可读指令时, 进一步使得所述装置从所述远程位置检索可用字体列表,其中所述可用字体列表包括所述 代码。
30.如权利要求四所述的一个或多个计算可读介质,其中通过第一代码引用所述可 用字体的第一字体,并且通过不同于所述第一代码的第二代码引用所述可用字体的第二字 体。
31.如权利要求28所述的一个或多个计算可读介质,其中对应于所述字体的多个字体文件中的每一个有不同的字体文件格式。
32.一种装置,包括处理器;以及存储器,其操作地耦合到所述处理器并且存储计算机可读指令,当执行所述计算机可 读指令时,使得所述装置接收用于创建网络文档的请求;接收要在所述网络文档的部分中使用的字体的选择;以及生成引用所选择字体的代码,其中所述代码识别远程位置,对应于所述字体的字体文 件存储在所述远程位置,其中所述字体文件包括使得所述计算设备能够以所选择字体呈现 字符的数据,并且其中所述代码对于所述字体是唯一的,并且对于对应于所述字体的多个 字体文件是公共的。
33.如权利要求32所述的装置,当执行所述计算机可读指令时,进一步使得所述装置 从所述远程位置检索可用字体列表,其中所述可用字体列表包括所述代码。
34.如权利要求33所述的装置,其中通过第一代码引用所述可用字体的第一字体,并 且通过不同于所述第一代码的第二代码引用所述可用字体的第二字体。
35.如权利要求32所述的装置,其中对应于所述字体的多个字体文件中的每一个有不 同的字体文件格式。
全文摘要
为了解决在字体文件格式和如web浏览器的用户代理之间的兼容性问题,在从用户代理接收对于字体的请求时,字体库可以确定兼容的字体文件格式。可以基于进行请求的用户代理的类型进行该确定。在一个或多个安排中,如果以兼容的字体文件格式的字体文件在库中不可用,则请求可以被发送到另一个库。在定义网络文档的样式表或代码中的字体引用可以对于该字体是唯一的,但是对对应于该字体的所有字体文件是公共的。为了便于生成网络文档的应用可以因此响应于用户选择期望的字体,自动地生成这样的代码。
文档编号G06F17/30GK102063483SQ20101060939
公开日2011年5月18日 申请日期2010年10月12日 优先权日2009年10月16日
发明者布鲁斯·Q·哈蒙德, 迈克·巴库斯 申请人:以埃克斯坦西斯股份有限公司名义经营的塞拉特姆股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1