字体字型预览的制作方法

文档序号:14655283发布日期:2018-06-08 23:25阅读:413来源:国知局
字体字型预览的制作方法

基于云的字体传送/流服务使应用程序能够按需下载字体,从而减少应用程序包大小和磁盘占用空间。通常情况下,应用程序提供一个字体选择菜单,其中包含可供应用程序使用的字体列表,用户可从中选择所需的字体。为了在提交字体之前向用户提供字体的样子的提示,希望应用程序以它们自己的字型呈现字体名称(或其他字体表示)的预览。当给定字体的字体文件存储在云中(即,不是本地)的时候,以其自己的印刷格式呈现该字体的高保真度预览可能是困难的。



技术实现要素:

提供本发明内容是为了以简化的形式介绍将在以下详细描述部分中进一步描述的一些概念。本发明内容不旨在标识要求保护的主题的关键特征或基本特征,也不旨在帮助确定所要求保护的主题的范围。各方面涉及用于生成独立预览字体文件的自动化系统、方法和设备,用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素。

在一些示例中,字体系统包括:用于执行编程指令的一个或多个处理器;耦合到一个或多个处理器的存储器,用于存储用于由计算机处理器执行的程序指令步骤;字体字型预览引擎,用于:生成预览字体文件,所述预览字体文件包括多个字体字型预览元素,其中每个字体字型预览元素与字体相关联;以及生成包括位置数据的映射文件,该映射文件将每种字体映射到预览字体文件中的其相关联字体字型预览元素的存储位置。

在一些示例中,一种用于生成用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素的独立预览字体文件的方法,包括:生成预览字体文件,所述预览字体文件包括多个字体字型预览元素,其中每个字体字型预览元素与字体相关联;以及生成包括位置数据的映射文件,该映射文件将每种字体映射到预览字体文件中的其相关联字体字型预览元素的存储位置。

在一些示例中,存储计算机可用指令的一个或多个计算机存储介质,计算机可用指令在由一个或多个计算设备使用时使得一个或多个计算设备执行用于以下操作的方法:生成用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素的独立预览字体文件,所述方法包括:生成预览字体文件,所述预览字体文件包括多个字体字型预览元素,其中每个字体字型预览元素与字体相关联;以及生成包括位置数据的映射文件,该映射文件将每种字体映射到预览字体文件中的其相关联字体字型预览元素的存储位置。

在一些示例中,字体系统将预览字体文件和映射文件提供给在客户端计算设备上执行的客户端应用程序,用于在字体选择菜单中将多个字体字型预览元素呈现为字体的表示,其中客户端计算设备不包括字体。在一些示例中,字体系统接收对字体的选择的指示,并且将包括所选字体的字型中的多个字形的字体文件发送到在客户端计算设备上执行的客户端应用程序。

通过生成多个字体字型预览元素,其中每个元素表示可用的基于云的字体并且由字体的字形的子集构成,并且通过在预览字体文件中打包和提供多个字体字型预览元素,预览字体文件的大小可以保持非常低。因此,接收预览字体文件的计算设备能够以高保真度在字体选择菜单中呈现多个字体字型预览元素,同时有利地节省了字体的本地存储器分配,最小化了磁盘占用空间并减少了处理器负载。例如,计算设备能够呈现多个字体字型预览元素,而不是将所有可用的字体下载到客户端计算设备,或者加载和呈现每个字体名称的每个字形(或字体的其他表示),这需要大量的存储器分配和处理。

在字体选择菜单中呈现多个字体字型预览元素为用户提供直观的用户界面。例如,以字体自己的字型显示未在本地存储在计算设备上的字体的表示为用户提供了高保真度的可用字体和字型的可视线索,从而提高了字体选择菜单的可用性。

示例被实现为计算机过程、计算系统或者诸如计算机程序产品或计算机可读介质之类的制品。根据一个方面,该计算机程序产品是计算机系统可读的并且对用于执行计算机过程的指令的计算机程序进行编码的计算机存储介质。

在下面的附图和说明中阐述了一个或多个方面的细节。通过阅读以下详细描述和查看相关附图,其他特征和优点将显而易见。应该理解,下面的详细描述只是解释性的,并不对权利要求进行限制。

附图说明

并入并构成本公开的一部分的附图示出了各个方面。在附图中:

图1是示出包括用于生成和提供独立预览字体文件的字体系统的示例操作环境的组件的简化框图,独立预览字体文件用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素;

图2是示出示例的字体字型预览引擎的各种组件的简化框图;

图3A是示出字形和从字体文件中提取字形的子集的属性提取器的简化框图;

图3B是示出从字形的子集生成单字形字体字型预览元素的预览字体生成器和整形引擎的简化框图;

图3C是示出在字体选择菜单中显示的多个字体字型预览元素的简化框图;

图4是示例字体字型预览元素生成系统中的数据流的图形表示;

图5A是示出用于生成和提供独立预览字体文件的示例方法中涉及的一般阶段的流程图,独立预览字体文件用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素;

图5B是示出用于向在客户端计算设备上执行的客户端应用提供字体文件的示例方法中涉及的一般阶段的流程图;

图6是示出计算设备的示例物理组件的框图;

图7A和7B是移动计算设备的简化框图;以及

图8是分布式计算系统的简化框图。

具体实施方式

以下详细描述参考了附图。在附图中尽可能使用相同的附图标记,并且以下描述是指相同或相似的元件。尽管可以描述示例,但是修改、改编和其他实现方式是可能的。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过对所公开的方法进行替换、重新排序或添加阶段来修改这里描述的方法。因此,以下详细描述不是限制性的,而是适当的范围由所附权利要求限定。示例可以采取硬件实现方式的形式,或者完全软件实现方式的形式,或者结合软件和硬件方面的实现方式。因此,下面的详细描述不应被认为是限制性的。

本公开的各方面涉及用于生成独立预览字体文件的方法、系统和计算机存储介质,独立预览字体文件用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素。在一些示例中,字体字型预览引擎包括:用于从字体数据库加载一个或多个字体文件的字体加载器;字形和属性提取器,用于从每个字体文件中提取字形和字符属性的子集;预览字体生成器,用于根据所述字符属性针对来自每个字形子集的每个字体生成单字形字体字型预览元素;预览字体包生成器,用于生成预览字体文件并将所述一个或多个生成的字体字型预览元素存储在所述预览字体文件中;以及映射文件生成器,用于将每个可用字体映射到预览字体文件中其相关联的字体字型预览元素的位置。在一些示例中,字体字型预览引擎还包括输出引擎,用于将预览字体文件发送到在客户端计算设备上执行的客户端应用程序。

现在参考图1,用于生成独立预览字体文件的操作环境100的一个示例的简化框图,该独立预览字体文件用于在字体选择菜单中呈现表示基于云的字体的字体字型预览元素。所示示例包括字体系统102,字体系统102包括字体字型预览引擎110和字体管理器104。字体系统102还包括:表示用于存储字体文件的集合108a-n(统称为108)的通用数据存储单元或系统的字体数据库106。根据示例,每个字体文件108是包括字体和字体属性或规则(这里称为字符属性)的一组字形的电子数据文件。根据一个方面,字体的字形通常共享共同的设计元素或字型,并且字体通常以其字型命名。字体的字符属性提供了与如何将字形组合成视觉上令人愉悦和有意义的词或集合相关的逻辑。根据一个方面,字体文件108包括轮廓或矢量字体,其包括定义字形边界的线和曲线。因此,矢量字体的字形可以缩放到任意尺寸。

在一个示例中,字体数据库106是在单个位置处的单个设备,例如在单个服务器上。在另一个示例中,字体数据库106包括分布在不同位置中的多个存储设备,例如在多个分布式服务器上。在一些示例中,字体字型预览引擎110、字体管理器104和字体数据库106位于单个计算设备或服务器上。在其他示例中,字体字型预览引擎110、字体管理器104和字体数据库106跨网络分布在多个计算设备、服务器或数据存储库上。

根据一个方面,对于每个字体文件108,字体字型预览引擎110可操作以从字体数据库106加载字体文件108,从字体文件108提取字形和字符属性的子集,并且生成表示字体的单字形字体字型预览元素124a-n(统称为124)。在一些示例中,字形的子集包括字体名称和字体的字型中的字形。例如,字体“Arial”的预览字体包括以Arial字型而组合成单个字形的字形“A”,“r”,“i”,“a”和“1”。字体字型预览引擎110还可操作以将每个生成的字体字型预览元素124打包成预览字体文件112,并且生成映射表文件116以将每个字体的名称映射到预览字体文件112中的字体字型预览元素124的存储位置。

根据一个方面,字体系统102可操作以将包括所生成的字体字型预览元素124和映射文件116的预览字体文件112提供给在客户端计算设备114上执行的一个或多个应用程序118。在一些示例中,在客户端计算设备114上执行的应用程序118从字体系统102下载预览字体文件112。字体系统102可操作以通过分布式计算网络120(诸如因特网或内联网)将预览字体文件112和映射文件116发送到客户端计算设备114。在其他示例中,字体系统102提供预览字体文件112以在客户端应用程序118的构建时将预览字体文件112与客户端应用程序118进行打包。

尽管在图1中被图示为平板计算设备,但应该理解的是,客户端计算设备114可以包括任何合适的计算设备,诸如台式计算机、膝上型计算机、平板计算机、手持式计算设备、移动通信设备、可穿戴设备、游戏设备等。根据示例,客户端计算设备114可操作来执行一个或多个客户端应用程序118,例如但不限于电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助起草应用程序、个人信息管理应用程序、互联网浏览器应用程序等。

在一些示例中,客户端应用程序118是这样的应用程序,其可操作以引用映射文件116来定位表示用于在字体选择菜单126中显示的字体的字体字型预览元素124并且在字体选择菜单126呈现字体字型预览元素124而使得由字体字型预览元素124表示的字体以它们自己的字型显示。数据储存库122是用于存储预览字体文件112和映射文件116的通用数据存储单元或系统的说明。

在从字体选择菜单126接收到对字体字型预览元素124的选择的指示时,客户端应用程序118进一步可操作以经由字体管理器104访问与由所选字体字型预览元素124表示的字体相关联的字体文件108。例如,客户端应用程序118向字体管理器104请求所选字体。字体管理器104接收该请求,取回驻留在字体数据库106中的字体文件108,并且经由分布式计算网络120将字体文件108发送到客户端应用程序118。

现在参考图2,示出了说明字体字型预览引擎110的组件的简化框图。根据示例,字体字型预览引擎110包括至少一个处理器202、耦合到至少一个处理器202的至少一个存储器204以及可由处理器202执行以引起以下操作的代码206:字体加载器208加载来自字体数据库106的多个字体文件108;字形和属性提取器210从多个字体文件108中的每一个中提取字形和字符属性的子集;预览字体生成器212根据字符属性对于来自每个字形子集的每个字体生成单字形字体字型预览元素124;预览字体包生成器214生成预览字体文件112,并将生成的字体字型预览元素124存储在预览字体文件112中;映射文件生成器216将每个可用字体映射到预览字体文件112中其相关联的字体字型预览元素124的位置;以及输出引擎218将预览字体文件112提供给客户端应用程序118。

根据示例,字体加载器208是通信地附接到字体数据库106并可操作以从字体数据库106访问和取回多个字体文件108的软件模块、系统或设备的说明。如上所述,字体数据库106是用于存储多个字体文件108的通用数据存储单元或系统的说明,其中每个字体文件108包括字体的字形的集合以及与该字体相关联的字符属性。

根据示例,字形和属性提取器210是可操作以确定从每个字体文件108提取的字形的子集并提取字形的子集的软件模块、系统或设备的说明。在一些示例中,字形和属性提取器210提取包括字体名称的字形。例如并且参考图3A,对于字体“Arial”,字形和属性提取器210提取的字形302的子集包括来自Arial字体文件108的“A”,“r”,“i”,“a”和“1”字形304a-e(统称为304)。另外,字形和属性提取器210提取与字体相关联的字符属性。

返回参照图2,根据示例,预览字体生成器212是可操作以对于字形302的每个子集而将字形304组合成单个字形的软件模块、系统或设备的说明。因此,预览字体生成器212针对从字体文件108提取的每个字形302的子集而生成字体字型预览元素124。例如,并且参照图3B,预览字体生成器212将字形302的子集组合成单字形字体字型预览元素124,其包括字体字型中的字形302并且表示存储在字体文件108中的字体。在所示示例中,字形302的子集包括来自Arial字体文件108的“A”,“r”,“i”,“a”和“1”字形304。

根据一个方面,预览字体生成器212与整形引擎220通信。根据另一方面,预览字体生成器212包括整形引擎220。整形引擎220可操作以查询由字形和属性提取器210提取的字符特性,并且根据字符属性对字形302的子集中的字形304进行调整间距、整形、定位及上下文地重新排序。例如,字符属性包括与间距、整形、定位、特殊行为或上下文重新排序相关的逻辑。在一些示例中,字符属性还包括与语言特定属性相关联的逻辑。预览字体生成器212连同整形引擎220一起生成多个单字形字体字型预览元素124,单字形字体字型预览元素124是存储在字体数据库106中的字体文件108中的字体的精确表示。

再次参照图2,根据示例,预览字体包生成器214是可操作来收集多个字体字型预览元素124并将它们打包成预览字体文件112的软件模块、系统或设备的说明。即,预览字体包生成器214将表示字体文件108中的字体的多个字体字型预览元素124存储在可发送到客户端计算设备114的单个文件中。

根据示例,映射文件生成器216是可操作以生成映射文件116的软件模块、系统或设备的说明,映射文件116将每种字体映射到预览字体文件112中其相关联字体字型预览元素124的位置。例如,映射文件116是映射表。

根据示例,输出引擎218是可操作以将包括所生成的字体字型预览元素124和映射文件116的预览字体文件112提供给一个或多个客户端应用程序118的软件模块、系统或设备。在一些示例中,输出引擎218可操作以通过诸如因特网或内联网之类的分布式计算网络120将预览字体文件112发送到在客户端计算设备114上执行的客户端应用程序118。因此,客户端计算设备114可操作以接收预览字体文件112和映射文件116(例如,下载预览字体文件112和映射文件116),并将预览字体文件112和映射文件116存储在本地数据储存库122中,使得字体字型预览元素124和映射文件116可供由在客户端计算设备114上执行的一个或多个应用程序118使用。

在其他示例中,输出引擎218可操作以提供预览字体文件112和映射文件116以在构建时将预览字体文件112和映射文件116与客户端应用程序118一起打包。

例如并且参考图3C,用户可以利用在客户端计算设备114上执行的诸如文字处理应用程序的应用程序118,其中计算设备114包括数据储存库122,在该数据储存库122内存储有包括多个字体字型预览元素124和映射文件116的字体文件112。因此,当进行选择的指示以显示可用字体的列表时,例如,当用户从用户界面工具栏或菜单中选择字体选择命令时,应用程序118读取映射文件116以确定与要在字体选择菜单126中显示的字体相关联的字体字型预览元素124的位置,从它们的存储位置取回字体字型预览元素124,并且在字体选择菜单126中呈现字体字型预览元素124a-n,如图3C中所示。

现在参考图4,示出了示例字体字型预览元素生成系统中的数据流的图形表示。如图所示,对于存储在字体数据库106中的每个字体文件108,字形302的子集被字体字型预览引擎110提取并被发送到字体字型预览引擎110。如上所述,字形302的每个子集包括多个字形304,当被分组在一起时,多个字形304是存储在字体文件108中的字体的表示。在一些示例中,字形302的子集中的字形304形成字体名称中的字母。

在字体字型预览引擎110生成多个字体字型预览元素124之后,将多个字体字型预览元素124打包在预览字体文件112中,并且生成包括位置数据402的映射文件116,映射文件116将每种字体映射到预览字体文件112中的字体字型预览元素124的位置,字体字型预览引擎110将预览字体文件112和映射文件116输出到在客户端计算设备114上执行的客户端应用程序118。客户端计算设备114然后将预览字体文件112和映射文件116存储在与客户端计算设备114相关联的数据储存库122中。

当接收到选择以查看可用于客户端应用程序118的字体的列表的指示时,客户端应用程序118针对可用于客户端应用程序118的字体的字体字型预览元素124的位置而读取映射文件116中的位置数据402。客户端应用程序118然后从预览字体文件112中取回字体字型预览元素124,以在字体选择菜单126中显示字体字型预览元素124。

当接收到对字体选择菜单126中的字体字型预览元素124的选择的指示时,客户端应用程序118向字体管理器104发送请求404,请求404针对与由所选的字体字型预览元素124所表示的字体相关联的字体文件108。例如,如果用户选择表示Algerian字体的字体字型预览元素124c,则客户端应用程序118向字体管理器104发送针对Algerian字体的字体文件108c的请求404。字体管理器104取回驻留在字体数据库106中的字体文件108c,并将字体文件108c发送到客户端应用程序118。

已经关于图1-4描述了操作环境、数据流示例和各个方面,图5A示出了示出用于生成和提供独立预览字体文件112的示例方法中涉及的一般阶段的流程图,独立预览字体文件112用于在字体选择菜单126中呈现表示基于云的字体的字体字型预览元素124。方法500在开始操作505处开始并且前进到文件加载操作510,其中字体加载器208访问字体数据库106并从字体数据库106取回多个字体文件108,其中字体文件108包括字体和字符属性的字形304。

方法500继续到提取操作515,其中字形和属性提取器210确定要从字体文件108提取哪些字形304,并且从每个字体文件108提取确定的字形302和字符属性的子集。根据一个方面,根据期望的字体的表示来确定从字体文件108中提取哪些字形304。例如,如果字体的名称是字体的期望表示,则字形和属性提取器210提取包括字体名称的字形304(例如,从Arial字体文件108中提取“A”,“r”,“i”,“a”和“1”字形304a-e)。根据另一方面,根据特定语言或位置来确定从字体文件108提取哪些字形304。例如,对于特定的地区或语言,某些字体可以可能是可用的。另外,可能需要使用特定语言的字形304(例如,日文字符)以特定语言来表示字体。

方法500继续到预览元素生成操作520,其中对于字形302的每个子集,预览字体生成器212将字形304组合成单字形字体字型预览元素124。根据示例,预览字体生成器212采用整形引擎220来查询与间距、整形、定位、特殊行为或上下文重新排序相关联的字符属性,并且对字形302的子集302中的字形304进行调整间距,整形,定位或重新排序,或者应用根据字符属性对字形302的子集中的字形304应用特殊行为。

方法500继续到打包操作525,其中预览字体包生成器214收集由预览字体生成器212生成的多个字体字型预览元素124,并将多个字体字型预览元素124打包成预览字体文件112。

方法500继续到映射文件生成操作530,其中映射文件生成器216生成映射文件116,该映射文件116将多个字体文件108的每种字体映射到预览字体文件112中其相关联的字体字型预览元素124的位置。

方法500继续到发送操作535,其中输出引擎218将预览字体文件112提供给客户端应用程序118。在一些示例中,响应于接收到针对客户端应用程序118下载预览字体文件112和映射文件116的请求,输出引擎218通过分布式计算网络120将预览字体文件112和映射文件116发送到在客户端计算设备114上执行的客户端应用程序118。在其他示例中,输出引擎218将预览字体文件112和映射文件116提供给字体管理器104,以在构建时将预览字体文件112和映射文件116与客户端应用程序118一起打包。因此,在客户端计算设备114上执行的客户端应用程序118能够访问预览字体文件112中的多个字体字型预览元素124,以在字体选择菜单126中显示字体字型预览元素124。

例如,客户端应用程序118读取映射文件116,以找出与可用于客户端应用程序118的字体相关联的字体字型预览元素124的存储位置,将关联的字体字型预览元素124从预览字体文件112中取出,并且在字体选择菜单126中呈现字体字型预览元素124。因此,字体以它们自己的印刷体来表示。客户端应用程序118的用户能够看到可用字体的精确表示。

方法500在操作540处结束。

图5B示出了示出用于向在客户端计算设备114上执行的客户端应用程序118提供字体文件108的示例方法545中涉及的一般阶段的流程图。在一些示例中,示例方法545是图5A中所示的示例方法500的发送操作535的继续。

方法545在开始操作550处开始并且前进到选择操作555,在选择操作中接收到对字体的选择的指示。根据示例,对字体的选择的指示是响应于用户做出的对字体选择菜单126中的字体字型预览元素124的选择的,其中字体字型预览元素124与字体相关联。根据示例,经由在客户端计算设备114上执行的客户端应用程序118将选择的指示传送到字体管理器104。

方法545继续到传输操作560,其中包括字形304和所选字体的字符属性的字体文件108被发送到在客户端计算设备114上执行的客户端应用程序118。因此,客户端应用程序118能够利用所选字体来呈现字体字型中的字形和字符。

方法545在操作565处结束。

尽管已经在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了实现方式,但是本领域技术人员将认识到,各方面还可以与其他程序模块相结合来实现。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。

这里描述的方面和功能可以经由多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板计算机或板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机和大型计算机。

另外,根据一个方面,本文描述的方面和功能性在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和取回以及各种处理功能通过分布式计算网络(例如互联网或内联网)彼此远程地操作。根据一个方面,各种类型的用户界面和信息经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息在用户界面和各种类型的信息被投影到的墙面上显示和交互。与实施实现方式的大量计算系统的交互包括按键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕捉和解释用户手势的检测(例如,照相机)功能用于控制计算设备的功能等。

图6-8和相关描述提供了对实践示例的各种操作环境的讨论。然而,相对于图6-8所示出和讨论的设备和系统是用于示例和说明的目的,并不限制用于实践本文所述的方面的大量计算设备配置。

图6是示出实践本公开的示例的计算设备600的物理组件(即,硬件)的框图。在基本配置中,计算设备600包括至少一个处理单元602和系统存储器604。根据一个方面,取决于计算设备的配置和类型,系统存储器604包括但不限于易失性存储设备(例如随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪存或这些存储器的任何组合。根据一个方面,系统存储器604包括操作系统605和适于运行软件应用程序650的一个或多个程序模块606。根据一个方面,系统存储器604包括字体字型预览引擎110和字体管理器104。操作系统605例如适合于控制计算设备600的操作。此外,方面结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定应用或系统。该基本配置在图6中由虚线608内的那些组件示出。根据一个方面,计算设备600具有附加特征或功能。例如,根据一个方面,计算设备600包括附加的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘或磁带。这种附加存储在图6中由可移动存储设备609和不可移动存储设备610示出。

如上所述,根据一个方面,多个程序模块和数据文件被存储在系统存储器604中。当在处理单元602上执行时,程序模块606(例如,字体字型预览引擎110和字体管理器104)执行包括但不限于图5A和5B所示的方法500和545的一个或多个阶段的过程。根据一个方面,根据示例使用其他程序模块并且包括诸如电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助应用程序等的应用程序。

根据一个方面,各方面在包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路或包含电子元件或微处理器的单个芯片上的电路中实施。例如,通过片上系统(SOC)来实施各方面,其中图6中所示的每个或多个组件被集成到单个集成电路上。根据一个方面,这种SOC设备包括作为单个集成电路集成(或“烧”)到芯片衬底上的一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能。当通过SOC进行操作时,在此描述的功能通过与单个集成电路(芯片)上的计算设备600的其他组件集成的专用逻辑来操作。根据一个方面,使用能够执行逻辑运算的其他技术来实践本公开的各方面,例如与(AND)、或(OR)和非(NOT),包括但不限于机械、光学、流体和量子技术。另外,各方面在通用计算机或任何其他电路或系统内实施。

根据一个方面,计算设备600具有诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等的一个或多个输入设备612。根据一个方面还包括输出设备614,诸如显示器、扬声器、打印机等。上述设备是示例,可以使用其他设备。根据一个方面,计算设备600包括允许与其他计算设备618进行通信的一个或多个通信连接616。合适的通信连接616的示例包括但不限于射频(RF)发射机、接收机和/或收发机电路;通用串行总线(USB),并行和/或串行端口。

这里使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括以用于存储信息(例如计算机可读指令、数据结构或程序模块)的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。系统存储器604、可移动存储设备609和不可移动存储设备610都是计算机存储介质示例(即,存储器存储)。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光存储、磁盒、磁带、磁盘存储或其他磁存储设备或任何可以用来存储信息并且可以由计算设备600访问的其他制品。根据一个方面,任何这样的计算机存储介质是计算设备600的一部分。计算机存储介质不包括载波或其他传播的数据信号。

根据一个方面,通信介质通过计算机可读指令、数据结构、程序模块或调制数据信号(例如载波或其他传输机制)中的其他数据来体现,并且包括任何信息传递介质。根据一个方面,术语“调制数据信号”描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线以及其他无线介质之类的无线介质。

图7A和图7B示出了可以实施这些方面的移动计算设备700,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参照图7A,示出了用于实现这些方面的移动计算设备700的示例。在基本配置中,移动计算设备700是具有输入元件和输出元件的手持式计算机。移动计算设备700通常包括显示器705和允许用户将信息输入到移动计算设备700中的一个或多个输入按钮710。根据一个方面,移动计算设备700的显示器705用作输入设备(例如,触摸屏显示器)。如果包括,则可选的侧面输入元件715允许进一步的用户输入。根据一个方面,侧面输入元件715是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备700结合更多或更少的输入元件。例如,在一些示例中,显示器705可能不是触摸屏。在替代示例中,移动计算设备700是便携式电话系统,诸如蜂窝电话。根据一个方面,移动计算设备700包括可选小键盘735。根据一个方面,可选小键盘735是物理小键盘。根据另一方面,可选小键盘735是在触摸屏显示器上生成的“软”小键盘。在各个方面,输出元件包括用于示出图形用户界面(GUI)的显示器705、视觉指示器720(例如,发光二极管)和/或音频换能器725(例如,扬声器)。在一些示例中,移动计算设备700结合了用于向用户提供触觉反馈的振动换能器。在又一个示例中,移动计算设备700结合了诸如音频输入(例如,麦克风插孔)、音频输出(例如耳机插孔)和视频输出(例如HDMI端口)的输入和/或输出端口,用于向外部设备发送信号或从外部设备接收信号。在又一示例中,移动计算设备700结合了诸如音频输入(例如麦克风插孔)、音频输出(例如耳机插孔)和视频输出(例如HDMI端口)的外围设备端口740,用于向外部设备发送信号或从外部设备接收信号。

图7B是说明移动计算装置的一个实例的体系结构的框图。也就是说,移动计算设备700结合了系统(即,体系结构)702来实现一些示例。在一个示例中,系统702被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和介质客户端/播放器)的“智能电话”。在一些示例中,系统702被集成为计算设备,诸如集成个人数字助理(PDA)和无线电话。

根据一个方面,一个或多个应用程序750被加载到存储器762中并且在操作系统764上运行或者与操作系统764关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息程序等等。根据一个方面,字体字型预览引擎110和字体管理器104被加载到存储器762中。系统702还包括存储器762内的非易失性存储区域768。非易失性存储区域768用于存储如果系统702断电则不应丢失的信的持久性信息。应用程序750可以使用信息并将信息存储在非易失性存储区域768中,诸如由电子邮件应用使用的电子邮件或其他消息等。同步应用程序(未示出)也驻留在系统702上,并被编程为与驻留在主计算机上的相应同步应用程序交互以保持存储在非易失性存储区域768中的信息与存储在主计算机中的对应信息同步。应该理解,其他应用程序可以被加载到存储器762中并且在移动计算设备700上运行。

根据一个方面,系统702具有电源770,其被实现为一个或多个电池。根据一个方面,电源770进一步包括外部电源,例如补充或再充电电池的AC适配器或电动对接托架。

根据一个方面,系统702包括执行发送和接收射频通信功能的无线电772。无线电772通过通信运营商或服务提供商促进系统702与“外界”之间的无线连接。去往和来自无线电772的传输在操作系统764的控制下进行。换句话说,无线电772接收的通信可以经由操作系统764传播到应用程序750,反之亦然。

根据一个方面,视觉指示器720用于提供视觉通知和/或音频接口774用于经由音频换能器725产生可听通知。在所示示例中,视觉指示器720是发光二极管(LED)并且音频换能器725是扬声器。这些设备可以直接耦合到电源770,使得当被激活时,即使处理器760和其他组件可能关闭以保存电池电力,它们仍然保持在由通知机构规定的持续时间内开启。LED可被编程为无限期地保持开启,直到用户采取措施指示设备的开机状态。音频接口774用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器725之外,音频接口774还可以耦合到麦克风以接收可听输入,诸如促进电话对话。根据一个方面,系统702还包括视频接口776,其使得机载相机730的操作能够记录静止图像、视频流等。

根据一个方面,实现系统702的移动计算设备700具有附加特征或功能。例如,移动计算设备700包括附加的数据存储设备(可移动的和/或不可移动的),诸如磁盘、光盘或磁带。这种附加存储在图7B中由非易失性存储区域768示出。

根据一个方面,如上所述,由移动计算设备700生成或捕获并经由系统702存储的数据/信息本地存储在移动计算设备700上。根据另一方面,数据存储在设备可经由无线电772或经由移动计算设备700和与移动计算设备700相关联的单独计算设备(例如,分布式计算网络(例如因特网)中的服务器计算机)之间的有线连接可访问的任意数量的存储介质上。应该理解,这种数据/信息可以经由无线电772或经由分布式计算网络经由移动计算设备700访问。类似地,根据一个方面,根据众所周知的数据/信息传输和存储装置(包括电子邮件和协作数据/信息共享系统),这些数据/信息容易在计算设备之间传输以用于存储和使用。

图8示出了用于生成和提供表示如上所述的字体选择菜单126中的基于云的字体的字体字型预览元素124的系统的体系结构的一个示例。与字体字型预览引擎110和字体管理器104相关联地开发、交互或编辑的内容能够被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务822、web门户824、邮箱服务826、即时消息传送库828或社交网站830来存储各种文档。字体字型预览引擎110和字体管理器104可操作来如这里所描述的,使用这些类型的系统等中的任何一个来在字体选择菜单126中生成和提供表示基于云的字体的字体字型预览元素124。根据一个方面,服务器820将字体字型预览引擎110和字体管理器104提供给客户端805a,b,c。作为一个示例,服务器820是通过web提供字体字型预览引擎110和字体管理器104的web服务器。服务器820通过网络810将web上的字体字型预览引擎110和字体管理器104提供给客户端805。作为示例,客户端计算设备被实现并体现在个人计算机805a、平板计算设备805b或者移动计算设备805c(例如,智能电话)或其他计算设备中。客户端计算设备的这些示例中的任何一个可操作以从存储库816获得内容。

以上参照根据各方面的方法、系统和计算机程序产品的框图和/或操作说明描述了实现方式。框中记录的功能/行为可能不按任何流程图中所示的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行。

本申请中提供的一个或多个示例的描述和说明不意图以任何方式限制或线索要求保护的范围。本应用程序中提供的方面、示例和详细信息被认为足以传达拥有权并使其他人能够制作和使用最佳模式。实现方式不应该被解释为限于本申请中提供的任何方面、示例或细节。无论是组合还是单独显示和描述,各种特征(结构和方法两者)都旨在被选择性地包括或省略以产生具有特定特征集合的示例。在被提供本申请的描述和说明之后,本领域技术人员可以设想不脱离更广范围的落入本申请中体现的总体发明构思的更广泛方面的精神内的变型、修改和替代实例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1