用于使字母数字字符动画化的方法
背景
诸如蜂窝电话,以及个人数字助理(PDA)之类的无线移动通信设备的使用已经快速变为当今社会的流行主题。人们不断地找到使用这些移动设备相互进行通信的新方式。已经出现的一种有趣的通信形式是在消息中使用字符来表达发送者的情绪或感觉,而无需依赖于单词的含义。
向消息中添加情绪内容的一种公知的方式是通过使用所谓的表情图释。表情图释由一起常常看起来像一张脸并旨在表示发送者的当前情绪或感觉的一串字符构成。例如,一个常见的表情图释是笑脸“:-)”,当横向查看时看起来像笑脸。此表情图释显然表明发送者对某事感到高兴。
概述
此处描述了使显示在显示屏上的消息或文档中的字母数字字符动画化的字体动画技术实施例。这可以用来传达向动画的查看者发送消息或文档的作者的情绪。在一个一般实施例中,动画通过消息或文档的发送者向接收者发送涉及消息或文档中找到的字母数字字符的参数信息来完成的。在一种实现中,对于每一个正在被动画化的字母数字字符,此参数信息包括横切字符以便将字符分割成第一和第二部分的分界线的位置和方向,以及分配给至少一个字符部分的旋转点的位置。此外,发送者还向接收者传送涉及消息或文档中找到的字母数字字符的显示的动画指令。对于正在被动画化的每一个字符的每一部分,这些动画指令包括用于在一系列规定长度的时间段中的每一个时间段内显示该部分的指令。更具体而言,指令规定该部分是否相对于另一个部分平移或围绕该部分的旋转点旋转或两者(或者甚至无变化,只要在一个时间段内至少一个部分已经有或者将有一些变化)。此外,指令还可以规定应缩放一部分。然而,值得注意的是,有关一部分将如何显示的指令并非仅仅限于平移和/或旋转和/或缩放。规定其他变化的指令也是可能的。
接收者接收参数信息和动画指令,并且如将被动画化的每一个字符的动画指令中所标识的那样确定一系列规定长度的时间段。在每一时间段内显示受影响的每一字符的各部分,如在与该字符相关联的动画指令中所规定的。另外,在一种实现中,如果在某一个时间段期间在字符的各部分之间存在动画字符的笔画间隙,则显示连接部分,该连接部分将第一部分中的字符笔画的末端与第二部分中的字符笔画的对应末端连接,以使得字符表现得跨笔画间隙连续。
应该注意,提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图描述
参考以下描述、所附权利要求书以及附图,将更好地理解本公开的具体特征、方面和优点,附图中:
图1是其中动画消息或文档被传送到一个或多个接收者(示出了两个)的计算机网络的简化体系结构图。
图2A-B描绘了连续的流程图,该流程图大致概述了用于使消息或文档的字母数字字符动画化的过程的一个实施例。
图3-5描绘了作为字符动画化的一部分可以如何在两个时间段内操纵字母“r”,其中图3示出了处于其初始状态的字符,图4示出了在第一时间段内可能出现的字符模样,图5示出了在第二时间段可能出现的字符模样。
图6-8描绘了作为字符动画化的一部分可以如何在两个时间段内操纵字母“a”,其中图6示出了处于其初始状态的字符,图7示出了在第一时间段内可能出现的字符模样,图8示出了在第二时间段可能出现的字符模样。
图9-11描绘了作为字符动画化的一部分可以如何在两个时间段内操纵字母“a”,其中图9示出了处于其初始状态的字符,图10示出了在第一时间段内可能出现的字符模样,图11示出了在第二时间段可能出现的字符模样,且上部分被放大。
图12描绘了一流程图,该流程图大致概述了参数信息和动画指令的传输和使用的实施例。
图13描绘了概述图12的过程的实现的流程图,其中为每一个接收者定制参数信息和动画指令,并将参数信息和动画指令以关于将被动画化的每一个字母数字字符的元数据的形式与消息或文档一起发送。
图14描绘了概述图12的过程的实现的流程图,其中参数信息和动画指令针对消息或文档中找到的触发字符,并以将被动画化的每一个字母数字字符的元数据的形式与消息或文档一起发送。
图15描绘了大致概述了参数信息和动画指令的传输和使用的实施例的流程图,其中此数据以拆分和脚本文件的形式被提前发送到接收者,并且只有对将被动画化的每一个字符的所需字体类型和行为类别的指定与消息或文档一起发送。
图16是描绘了构成用于实现此处所描述的情绪字体动画技术实施例的示例性系统的通用计算设备的图示。
详细描述
在以下对情绪字体动画技术实施例的描述中,对附图进行了参考,附图构成了实施例的一部分且在其中作为说明示出了可在其中实践该技术的具体实施例。可以理解,可以使用其它实施例并且可以做出结构上的改变而不背离本发明技术的范围。
1.0情绪字体动画
此处所描述的情绪字体动画技术实施例旨在唤起查看传达作者的情绪的消息(诸如短消息收发服务(SMS)、多媒体消息收发服务(MMS)、增强的消息收发服务(EMS)、即时消息收发(IM),电子邮件等等)或演示文稿和文档(诸如网页、幻灯片演示文稿、文本等等)的人的响应。更具体而言,此处所描述的实施例允许作者通过消息或文档中的字符、单词、句子、段落中的字母数字字符的动画化来传达情绪和心情。值得注意的是,术语“字母数字字符”被定义为表示字母、数字和任何特殊字符。
通过字符的动画化向消息或文档添加情绪内容具有许多优点。这会增加兴趣,并有助于捕捉并吸引读者的注意力。它也可以被用作教学工具。以上述方式添加情绪内容也允许作者添加未单独包含在单词中的信息。例如,使字符动画化可以强调某些部分,或帮助读者理解消息或文档中的单词、句子、段落等的预期含义。取决于动画化,所传达的含义可以是细微的,甚至是下意识的,或十分显眼的。
例如,可以使整个消息或文档或其任何部分的文本动画化,以通过使涉及的字母数字字符看起来跳跃来传达高兴。可以通过使字符看起来慢慢地下垂来传达忧愁。它也可以表示通过摇动字符的某些部分来传达诸如寒冷之类的感觉。也可以通过显示字符熔化来传达热。也可以通过显示字符伸展并入睡来传达困倦。这些只是一些示例;也可以通过动画来传达很多情绪。
一般而言,此处所描述的情绪字体动画技术实施例可以经由通过计算机网络(诸如因特网或内联网)从发送者向接收者传输的通信来实现。图1示出了此网络环境的简化视图,其中由发送者生成动画消息或文档10,并经由发送者的计算设备12,通过网络14向一个或多个接收者(示出了两个)的计算设备16传输。如下文在此描述中所描述的,发送者的和接收者的计算设备可以采取许多形式,包括但不仅限于蜂窝电话、PDA等等。
下面的几节将首先描述情绪字体动画技术实施例的动画方面,然后再描述动画消息或文档的传输和显示。值得注意的是,在某些实施例中,可以提前向接收者提供使消息或文档动画化所需的信息和指令。在这样的情况下,发送者简单地指定将使用什么动画,并且信息和指令已经与接收者驻留在一起。在其他实施例中,与消息或文档本身一起提供动画所需的信息和指令。在任一种情况下,发送者都可以在逐个接收者的基础上定制呈现给接收者的动画类型。由此,取决于接收者,也可以以不同的方式使同一个消息或文档动画化。还要注意,可以在编写消息或文档之前指定呈现给接收者的动画的类型。在这样的情况下,可以基于这些先前的指定,自动地实现与接收者相关联的动画类型。在其他实施例中,发送者可以在编写消息本身的过程中指定动画类型。由此,发送者将不会被绑定到对应于特定接收者的预定义类型的动画。
2.0字母数字字符的参数表示和动画化
此处所描述的情绪字体动画技术可以使用支持丰富的动画风格的消息或文档中的字母数字字符的参数表示来实现,这些参数表示仍能够通过诸如移动设备(例如,蜂窝电话、PDA等等)中找到的那些轻型处理器来呈现。此外,该表示还应该跨任何字体类型起作用。
在一个版本中,用参数表示并动画化消息或文档中的将被动画化的每一字母数字字符,如图2A-B所示。首先,沿着分界线将字符分割成第一部分和第二部分(200)。然后,向这些字符部分中的至少一个分配旋转点(202)。这会创建上述字符的的参数表示。然后,通过确定一系列规定长度的时间段(204)并将第一时间段选为当前时间段(206)来实现字符动画。值得注意的是,每一时间段的规定长度可以与所有其他时间段相同,或者随时间段变化。然后选择一个字符部分(208),并且向查看者显示该部分,以使得与其在前一时间段(如果有的话)内的外观相比,该部分展示相对于另一部分的平移,或围绕所选部分的旋转点的旋转或两者,或无变化,只要在一个已确定的时间段内两个部分中的至少一个部分已经有或者将有一些变化(210)。另外,选择另一字符部分(212),并且向查看者显示该部分,以使得与其在前一时间段(如果有的话)内的外观相比,该部分展示相对于另一部分的平移,或围绕所选部分的旋转点的旋转或两者,或无变化,只要在一个已确定的时间段内两个部分中的至少一个部分已经有或者将有一些变化(214)。接下来确定在字符的各部分之间是否存在笔画间隙(216)。如果是,则显示连接部分,对于具有间隙的每一个笔画,该连接部分将第一部分中的字符笔画的末端与第二部分中的字符笔画的对应末端连接(218)。以此方式,字符表现得跨笔画间隙连续。值得注意的是,笔画间隙被定义为在字符的第一和第二部分在动画时间段期间变为分开时形成的与字符相关联的笔画的各部分之间的间隙。换言之,如果构成字符的一部分的笔画延伸跨越如前所述的横切分界线,并作为动画时间段内各部分的动画化的结果被分成两个部分(第一部分中的一个部分,第二部分中的一个部分),则形成笔画间隙。由此,例如,如果小写字母“i”在垂直线和叠加点之间被横切,则不会形成笔画间隙。尽管存在间隙,但它不是笔画间隙。如果冒号“:”或分号“;”在它们的上下笔画之间被横切,则也出现类似的非笔画间隙情况。一般而言,在被横切的字符中存在并非由于字符笔画被横切而产生的间隙的任何时刻,该间隙不被认为是笔画间隙,并因此不使用连接部分来弥合该间隙。
动画化以上述方式继续,直到动画化的最后一个时间段。为此,一旦显示连接部分,或者如果没有笔画间隙,则确定当前时间段是否是最后一个时间段(220)。如果是最后一个时间段,则过程结束。然而,如果不是动画化的最后一个时间段,则递增时间段,并将新时间段选为当前时间段(222)。然后,对于当前时间段在适当时重复动作208到222。
一般而言,如前所述的分界线可以具有任何所需高度和方向。作为示例,分界线的高度可以从正在被横切的字符的底部起直到由该线条的中心定义的位置。或者,其高度可以被定义为字符的底部和该线条上的最低点之间的距离(假设该线不是垂直的)。还作为示例,该线可以具有被定义为围绕沿着其长度方向的一个点的从0度到180度的旋转角的方向。由此,线可以是水平方向、垂直方向,或水平和垂直之间的任何角度。在前面的参数表示的一个实现中,使用具有字符的底部之上的规定高度的水平线来分割每一个字母数字字符。所产生的部分可以独立地围绕位于相关联的部分之外或之内的任何位置的旋转点旋转。然而,在经过测试的实施例中,旋转点位于分界线上。更具体而言,如果字符被分界线只横切了一次,则将旋转点分配给位于字符的被横切部分内的分界线上的一个位置。例如,旋转点可以位于字符的笔画的中心。如果字符被分界线横切了两次,则可以将旋转点分配给位于字符的两个横切部分之间的分界线上的一个位置。例如,旋转点可以位于与每一横切字符部分的等距离处。如果字符被分界线横切了三次,则可以将旋转点分配给位于介于字符的其他两个被横切部分之间的该字符的被横切部分内的分界线上的一个位置。例如,旋转点可以位于字符的中间笔画的中心。
关于动画化,在前面的一个实线中,每一部分都可以在任何所需方向上相对于另一部分平移。然而,在经过测试的实施例中,使用规定距离的垂直平移。另外,如果旋转某一部分,则它将围绕该部分的旋转点按顺时针方向或者逆时针方向旋转规定的度数。值得注意的是,应用于字符部分的这些简单变换方便它们在甚至许多移动设备中找到的初级处理器中执行。
关于如前所述的连接部分,在前面的一个实现中,字符的每一个笔画中有四个点与分界线相交(即,每一个部分有两个点)。为绘制字符笔画的连接部分,计算各部分被平移、缩放和/或旋转之后点的位置,并且连接每一部分中的适当点,并填充所产生的形状。
图3-5例示了作为使字符动画的一部分可以如何在两个时间段内操纵字母“r”300。在图3中,通过水平分界线306,将该字母分割成上部分302和下部分304,水平分界线306从字符的底部向上以高度h308横切该字符。还要注意,旋转点310,312在字符的垂直笔画中心落在分界线306上。在图4中,将字符的上部分302相对于下部分304垂直地平移距离Δy314。值得注意的是,可以将下部分相对于上部分垂直地向下平移,也可取得类似的效果。事实上,由于独立地对每一字符的每一部分进行操作,上部分可以被向上平移,而同时下部分被向下平移。此外,水平平移也是可以的,其中字符的上部分相对于下部分水平地平移距离Δx。此外,上部分302已经围绕其旋转点310按逆时针方向旋转等于角度α316的量。也要注意,字符的两个部分之间的笔画间隙已经利用连接部分318联接。图5描绘了为继续动画在下一时间段可以对字符作出的改变。这里,字符的上部分302相对于下部分304垂直地平移了距离Δy314。然而,上部分302已经围绕其旋转点310按顺时针方向旋转到与水平轴形成角度φ320的位置。字符的两个部分之间的笔画间隙也已经利用连接部分318联接。
图6-8例示了作为字符动画的一部分可以如何在两个时间段内操纵具有两个横切部分的字符。在此情况下,字母“a”600被用作示例字符。在图6中,通过水平分界线606,将该字母分割成上部分602和下部分604,水平分界线606从底部向上以高度h608横切该字符。旋转点610,612在该字符的两个被横切的部分之间落在分界线606上。在图7中,该字符的上部分602已经相对于下部分604垂直地平移了距离Δy614。此外,上部分602已经围绕其旋转点610按逆时针方向旋转等于角度α616的量。注意,字符的两个部分602,604之间的笔画间隙已经利用连接部分618,620联接。图8描绘了为继续动画在下一时间段可以对字符作出的改变。这里,字符的上部分602相对于下部分604垂直地平移了距离Δy614。然而,上部分602已经围绕其旋转点610按顺时针方向旋转到与水平轴形成角度φ622的位置。两个部分之间的被横切部分之间的笔画间隙也已经利用连接部分618、620联接。
除上文所描述的平移和旋转之外,在一个实现中,动画也可以包括显示某一部分以便展示规定程度的大小缩放。此缩放可以导致字符部分的增大或缩小。值得注意的是,缩放在x和y轴方向是一致的,或者每一方向都可以缩放不同的量。图9-11例示了作为包括缩放的字符动画的一部分如何在两个时间段内操纵字符—在此示例中,缩放是字母“a”900的上部分增大。在图9中,通过水平分界线906,将该字母900分割成上部分902和下部分904,水平分界线906从底部向上以高度h908横切该字符。旋转点910,912在该字符的两个被横切的部分之间落在分界线906上。在图10中,该字符的上部分902已经相对于下部分904垂直地平移了距离Δy914。注意,字符的两个部分902,904之间的笔画间隙已经利用连接部分916,918联接。图11描绘了为继续动画在下一时间段可以对字符作出的改变。这里,字符的上部分902相对于下部分904垂直地平移了距离Δy914。然而,上部分902已经放大了规定的缩放因子。两个部分之间的被横切部分之间的笔画间隙也已经利用连接部分916,918联接。
给定上述内容,可以看出,可以动画化消息或文档中的全部字母数字字符或任何子集。被选择用于动画化的字符被划分为可以独立地平移、旋转和/或缩放的两个部分。然后在运行中生成联接以便按需将动画字符的上下部分连接在一起。此操作的混合支持可以被定制成表达发送者的情绪的各种各样的可能的动画。
值得注意的是,在图4、5、7、8、10和11中使用虚线描绘了连接部分,以方便前面的描述。在实际实现中,连接部分通常是实线,并用与字符的其余部分相同颜色填充。然而,如下文所描述的,各部分的颜色可以不同,由此,连接部分的颜色可以匹配任一部分,或者展示不同于其他部分的它们自己的颜色。
3.0参数信息和动画指令的传输
在一个一般实施例中,参数信息和动画指令的传输和使用按如下方式实现。参考图12,发送计算设备经由计算机网络将涉及消息或文档中找到的字母数字字符的先前描述的参数信息传送到接收者计算设备(1200)。此外,发送设备还经由计算机网络将涉及消息或文档中找到的字母数字字符的显示的先前描述的动画指令传送到接收者设备(1202)。接收者设备接收参数信息(1204)和动画指令(1206)。然后,接收者计算设备确定如在动画指令(1208)中标识的一系列规定长度的时间段,并将第一时间段选为当前时间段(1210)。然后,接收者设备在动画的当前时间段内如与每一字符相关联的动画指令所规定的那样显示该字符的各部分(1212)。此外,接收者设备还确定在字符的各部分之间是否存在笔画间隙(1214)。如果是,则显示连接部分,该连接部分将第一部分中的字符的末端与第二部分中的字符的对应末端连接,以使得字符表现得跨笔画间隙(1216)。
一旦显示连接部分,或者如果没有笔画间隙,则确定当前时间段是否是最后一个时间段(1218)。如果是最后一个时间段,则过程结束。然而,如果不是动画的最后一个时间段,则递增时间段,并且将新时间段选为当前时间段(1220)。然后,对于当前时间段在适当时重复动作1212到1220。
在一个实现中,先前描述的参数信息和动画指令被预先安装在接收者的设备上。在另一个实现中,参数信息和动画指令与消息或文档一起发送到接收者。在又一个实现中,信息和指令被提前发送到接收者,并用于当接收到消息或文档时使消息或文档动画化。下面将比较详细地描述后两个实现。
3.1与消息或文档一起传输
在其中参数信息和动画指令与消息或文档一起发送的实现中,这些项目可以采取将被动画化的每一个字母数字字符的元数据的形式。此元数据标识分界线的高度和方向以及旋转点的位置,并包括指定在动画持续时间内的每一时间段期间要应用于每一字符部分的先前描述的操纵的脚本。
由于为消息或文档中的将被动画化的每一字符提供了参数信息和动画指令,因此,元数据可以针对它所关联的特定字符来定制。例如,参考图13,该每一个字符的元数据的生成可以通过以下操作来完成:对于将接收消息或文档的每一个接收者,首先确定字母数字字符将在消息或文档中展示的字体类型(1300),以及字母数字字符的动画将展示的行为类别(1302)。接收者是由发送者所指定的—例如,作为生成消息或文档的一部分。字体类型规定将发送什么参数信息,因为此信息是针对字体类型预先定制的。行为类别规定什么指令将被包括在每一个字符的脚本中。字体专用参数信息与行为专用脚本一起被设计成产生传达消息发送者的情绪的动画。值得注意的是,可以为不同接收者分配不同字体类型和行为类别,以使得针对各种接收者以不同的方式动画化相同消息或文档。为此,选择正在被发送的消息或文档的先前未选择的接收者(1304)。接下来是指定已经为所选接收者确定的字体类型和行为类别(1306)。然后将由消息或文档中找到的字母数字字符的指定的字体类型规定的参数信息和由指定的行为类别规定的脚本作为元数据与消息或文档字符一起发送到所选接收者(1308)。对于消息或文档的每一个额外的接收者,重复此过程的后一部分。为此,确定是否有任何先前未选择的接收者(1310)。如果有,则重复动作1304到1310。当已经考虑了正在被发送的消息或文档的全部接收者时,过程结束。
在前面的过程中,字母数字字符的字体类型和行为类别可以被实现为与消息或文档的生成分开的任务。由此,发送者可以在发送消息或文档之前为接收者定制字符动画。然而,在一个实施例中,这是作为生成消息过程的一部分来进行的。更具体而言,从由作者输入到消息或文档中的某些触发字符中标识与字符(或字符组—例如,单词、句子、段落、整个消息或文档)相关联的字体类型和行为类别。例如,这些触发字符可以是表情图释,或者它们可以是预定义的单词、短语、标点符号等等。这可使发送者在编写消息或文档时定制字符动画。
参考图14,在该后一实施例中,基于消息或文档中找到的触发字符的每一个字符的元数据的生成可以通过以下操作来完成:对于在消息或文档中找到的每一个触发字符,首先确定字母数字字符将在消息或文档中展示的字体类型(1400),以及字母数字字符的动画将展示的行为类别(1402)。如同前面的实施例,字体专用参数信息与行为专用脚本一起被设计成产生传达消息发送者的情绪的动画。然后,标识和选择正在被发送的消息或文档中的触发字符(如果单个字符本身是触发字符)或字符串(如果一系列字符表示触发字符—诸如触发单词或短语)的先前未选择的实例(1404),并且还标识消息或文档中的所选触发字符或字符串所适用的部分(1406)。接下来是指定已经为所选触发字符或字符串确定的字体类型和行为类别(1408)。然后将由指定字体类型规定的参数信息和由指定行为类别规定的脚本作为涉及消息或文档的所标识的部分的元数据与构成该部分的字母数字字符一起发送(1410)。对于消息或文档中的触发字符或字符串的每一个额外的实例,重复此过程的后一部分。为此,确定是否有任何先前未选择的触发字符或字符串(1412)。如果有,则重复动作1404到1412。当已经考虑了全部触发字符或字符串时,过程结束。
3.2在发送消息或文档之前传输
在其中参数信息和动画指令被提前发送到消息或文档的接收者的实现中,这些项目可以采取参数信息文件(将被称为拆分文件)和动画指令文件(将被称为脚本文件)的形式。拆分文件为与期望在从发送者来到该接收者的消息或文档中使用的至少每一字体类型相关联的每一个字母数字字符提供分界线的高度和方向,或旋转点的位置,或两者。对于每一个行为类别,脚本文件提供指定要应用于期望在每一个动画时间段期间动画化的每一种类型的字母数字字符的各部分的先前描述的操纵的脚本。由此,脚本文件在每一行为类别中包括对应于每一个字符的单独脚本。值得注意的是,在一个实现中,脚本不是字体专用的,这意味着同一个脚本适用于跨所有期望字体类型的字符。然而,不必始终如此。在需要时可以针对特定字体类型或特定字体类型组来定制脚本也是可能的。
在此实现中,发送者的计算设备只需发送对于消息中的将要动画化的每一个字符的所需字体类型和行为类别指定,而并非参数信息和动画指令本身,因为此信息已经以拆分和脚本文件的形式驻留在接收者计算设备上。对于接收者,这些指定可以预先确定并自动地与消息一起发送,或者可由发送者在编写消息或文档时为每一个接收者指定。
由此,例如,参考图15,发送计算设备经由计算机网络将对涉及消息或文档中找到的将被动画化的每一字母数字字符的字体类型和行为类别的指定与消息或文档本身一起传送到接收者计算设备(1500)。接收者设备接收消息或文档,以及字体类型和行为类别指定(1502)。值得注意的是,字体类型可以包含在消息本身内。然后,接收者计算设备从拆分和脚本文件中检索与消息或文档中的具有指定字体类型和行为类别且将动画化的每一个字符的指定字体类型和行为类别相关联的参数信息和脚本(1504)。然后,如在每一个涉及的字符的脚本中所标识的,确定一系列规定长度的时间段(1506)。将第一时间段选为所涉及的每一个字符的当前时间段(1508)。然后,接收者设备在当前时间段内如与每一字符相关联的参数信息和脚本所规定的那样显示正在被动画化的该字符的各部分(1510)。此外,接收者设备还确定在动画化的字符的上下部分之间是否存在笔画间隙(1512)。如果存在,则对于具有笔画间隙的每一个字符,显示一个或多个连接部分,这些部分将上部分中的字符的下端与下部分中的字符或上端连接,以使得字符表现得跨笔画间隙连续(1514)。
一旦显示连接部分,或者如果没有笔画间隙,则确定当前时间段是否是最后一个时间段(1516)。如果是最后一个时间段,则过程结束。然而,如果不是动画化的最后一个时间段,则递增时间段,将新时间段选为当前时间段(1518)。然后,在适当时对于当前时间段重复动作1510到1518。
4.0附加情绪传达属性
除使消息或文档中的一些或全部字母数字字符动画化之外,也可以包括其他情绪传达属性。例如,在一个实现中,可以与动画指令一起提供音频指令(与消息或文档一起,或者在预先定位的音频脚本文件中)。音频指令规定动画的规定长度的时间段中的一个或多个内的播放音频声音效果。在另一个实现中,可以与动画指令一起提供纹理指令(同样或者与消息或文档一起,或者在预先定位的纹理脚本文件中)。纹理指令规定消息或程序中的每一字符的颜色和/或外观(例如,宽、窄、高、矮、软,尖等等),这是在动画的规定长度的时间段中的一个或多个内所需的。例如,在颜色的情况下,在动画的过程中,颜色可以从浅色变为深色,以传达增强的情绪的感觉。
5.0计算环境
现在将描述其中可实现此处所描述的情绪字体动画技术实施例的各部分的合适和计算环境的一般描述。各技术实施例可用于众多通用或专用计算系统环境或配置。适合的公知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包括以上系统或设备的任一个的分布式计算环境等等。
图16示出合适的计算系统环境的示例。计算系统环境仅为合适的计算环境的一个示例,并非旨在对此处所描述的情绪字体动画技术实施例的使用范围或功能提出任何限制。也不应将该计算环境解释为对示例性操作环境中示出的任一组件或其组合有任何依赖性或要求。参考图16,用于实现此处所描述的各实施例的示例性系统包括计算设备,诸如计算设备100。在其最基本配置中,计算设备100通常包括至少一个处理单元102和存储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性(如RAM)、非易失性(如ROM、闪存等)或是两者的某种组合。该最基本配置在图16中由虚线106来示出。另外,设备100还可具有附加特征/功能。例如,设备100还可包括附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图16中由可移动存储108和不可移动存储110例示。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息并且可由设备100访问的任何其他介质。任何这样的计算机存储介质可以是设备100的一部分。
设备100还可包含允许该设备与其它设备通信的通信连接112。设备100还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、照相机等输入设备114。还可以包括诸如显示器、扬声器、打印机等输出设备116。所有这些装置在本领域中都是众所周知的,因此不必在此详细讨论。
此处所描述的情绪字体动画技术还可在由计算设备执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此处所描述的各实施例还能在其中任务由通过通信网络链接的远程处理设备完成的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
6.0其他实施例
在前面的对情绪字体动画技术实施例的描述中,字母数字字符被分成两个部分—即,上部分和下部分,假设分界线是水平的。然而,更一般而言,给定分界线可以具有如上所述的各种方向,字符可以被说成分成第一和第二部分,将对这些部分如上文针对上下部分所描述的那样操作。此外,尽管前面的描述仅限于一条分界线和两个部分,但不一定如此。可以使用多条分界线,从而产生两个以上的部分。无论如何,将如上文对于上及下部分中的任一部分所描述的那样对每一部分进行操作。更进一步,尽管如前所述的连接部分被描述为具有直边,但不一定如此。相反,根据需要,连接部分的边也可以是曲线。此外,如前所述的分界线也不必是直线—它也可以是曲线。
应当注意,可以按所需的任何组合来使用本说明书全文中的上述实施例的任一个或全部以形成另外的混合实施例。另外,尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上文所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。