CN1834903B - 使文本适合于图形内形状的方法和系统 - Google Patents

使文本适合于图形内形状的方法和系统 Download PDF

Info

Publication number
CN1834903B
CN1834903B CN2006100044984A CN200610004498A CN1834903B CN 1834903 B CN1834903 B CN 1834903B CN 2006100044984 A CN2006100044984 A CN 2006100044984A CN 200610004498 A CN200610004498 A CN 200610004498A CN 1834903 B CN1834903 B CN 1834903B
Authority
CN
China
Prior art keywords
shape
constraint
text
discerned
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006100044984A
Other languages
English (en)
Other versions
CN1834903A (zh
Inventor
I·贝克尔
J·C·科斯塔
K·程
M·J·科特勒
J·L·司高尔
S·A·舍曼
K·K·翁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1834903A publication Critical patent/CN1834903A/zh
Application granted granted Critical
Publication of CN1834903B publication Critical patent/CN1834903B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/0206Portable telephones comprising a plurality of mechanically joined movable body parts, e.g. hinged housings
    • H04M1/0208Portable telephones comprising a plurality of mechanically joined movable body parts, e.g. hinged housings characterized by the relative motions of the body parts
    • H04M1/0214Foldable telephones, i.e. with body parts pivoting to an open position around an axis parallel to the plane they define in closed position
    • H04M1/0216Foldable in one direction, i.e. using a one degree of freedom hinge

Abstract

提供了一种使文本适于一图形内形状的方法和系统。根据本方法,定义的初始值包括描述了一形状和该形状内的文本应该如何布置的初始值。还定义约束规则用于在对一形状内的该文本应用这些初始约束而使得该文本超出该形状的边界时修改所述初始约束。可以检测到会影响一个或多个所述形状或在一形状内所述文本的大小和位置的所述图形的改变。如果这一改变使得在使用初始约束的布局时文本超出了,则顺序应用约束规则以修改约束。随后将被修改的约束重新应用于所述形状从而为该图形创建一新的布置。

Description

使文本适合于图形内形状的方法和系统
相关申请
本专利申请涉及于2004年9月30日提交的美国专利申请,序列号为No.10/955,271(代理案卷No.60001.0423US01),标题为“Method,System,andComputer-Readable Medium for Creating and Laying Out A Graphic Within anApplication Program”,还涉及于此同时提交的美国专利申请,序列号为No.11/081,323(代理案卷No.14917.0068US01),标题为″Method andComputer-Readable Medium For Generating Graphics Having A Finite Number ofDynamically Sized and Positioned Shapes″,还涉及于2004年9月30日提交的美国专利申请,序列号为No.10/957,103(代理案卷No.40062.0247US01),标题为″Editing The Text Of An Arbitrary Graphic Via A Hierarchical List″,它们都是由本申请的同一代理人所代理的。前述的专利申请结合在此作为参考。
背景技术
当今的文字处理器和专用绘图应用程序允许用户创建简单和复杂的图形。这些程序允许用户使用带有文本评注的各种形状来创建图形。由这些应用程序创建的图形可以是独立的文档或者可以并入文本文档。然而除了这些程序所提供的优点之外,它们现今的版本却受到阻碍了典型用户对图形的创建和布局的缺点的困扰。
当前绘图程序的一个具体缺点是这些程序通常利用对所有形状和图形都同样的文本属性(例如页边距、行间距等等)默认值。在大多数情况下,这些默认值并不能使各种图形得到最佳展现。结果是用户必需手动取代默认属性以获取专业的外观图形。而这对用户是恼人并耗时。
当前绘图程序的另一缺点是这些程序在形状和文本被添加至图形时要求用户手动调整形状内的文本大小。例如,如果用户添加至形状的文本超出了该形状的边界,则用户就需要手动调整该图形或文本的大小,使得文本可以完全适合于该形状内。这个问题在图形中大量利用带有文本的形状的情况下是非常耗时的。这个问题还涉及了许多图形在文本大小刚好充满相关形状时看起来最好的事实。为了利用当前的绘图程序做到这些,用户必需手动调整每个相关形状内的文本大小。这对计算机用户来说也是耗时和恼人的。
正是出于这些和其他考虑,作出了本发明的各实施例。
发明内容
依照本发明,可以借助使文本适于图形内形状的方法和计算机可读介质来解决上述和其他问题。根据此方法,将定义包括有描述如何布置一形状和该形状内的文本的初始值的一个或多个初始约束。例如,可以指定初始约束来表示要布置的文本的字体、字体大小和字符属性。当初始约束应用到形状内文本使得该文本超出形状边界时也可定义一个或多个约束规则用于修改所述初始约束。也可以定义影响形状内文本布置的一个或多个参数,但这些参数不可由规则修改。
根据本发明的一个实施例,可以探测到将会影响一个或多个形状或一形状内的文本的大小或位置的图形的变化。例如,可以添加或移除一个形状,可以改变图形的布置,可以改变字体或者可以在图形内的形状中添加或移除文本。响应对这一改变的探测,就可应用所述初始约束。如果文本超出形状,随后就顺序应用约束规则来修改约束。然后将被修改的约束重新应用于所述形状以创建新的图形布置。
根据本发明的另一个实施例,应用约束规则修改约束包括首先识别在图形内具有文本不适于形状内部的形状。当已识别该形状时,就识别出图形定义文件内与被识别形状相关联的第一约束规则。该约束规则识别对于与该形状相关联的约束的限制。随后就执行诸如二进制查找的查找以识别在初始约束值和使得文本适于被识别形状内部的限制之间的约束值。根据一个实施例,被识别的值包括当允许文本适合形状内部时最接近初始约束的值。
如果在使得文本适于形状内的查找期间识别出一个值,则将对该约束的被识别值应用于该形状。如果无法定位使得文本适于形状内的值,就将一限制应用于该形状同时识别下一个约束规则并将其应用于该形状。另外,还可以将由规则识别的中间值应用于该形状。以此方式,都可以将与一形状相关联的每个约束规则以顺序方式应用于该形状。根据实施例,可以跳过不能帮助定位一布置使得文本适于形状内的规则。如果应用了所有的约束规则还不能使得文本适于形状内,就应用保证文本不超出该形状的预定规则。例如,可以应用截短文本并添加省略号的规则以使得文本不超出该形状。
根据本发明的另一个实施例,提供了具有数据结构存储其上的计算机可读介质。所述数据结构包括一组数据字段,这些字段含有表示使文本适于图形内形状的一个或多个初始约束的数据。所述约束包括描述应如何布置一个或多个形状内的文本的初始值。
根据一个实施例,所述数据结构还包括第二字段,该字段含有表示使文本适于形状的一个或多个初始约束的数据。所述约束包括在约束的应用未能成功地将文本完全置于形状内时用于修改这些约束的规则。更具体地,每个约束规则包括对至少一个约束的极限值。可以利用约束规则来修改字体大小、页边距、自动换行、连字符、字距调整、行间距或形状内文本的其他属性。
本发明可以实现作为一计算机进程、计算机系统或者作为一种产品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是计算机系统可读并能够编码成用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算机系统可读并能够编码成用于执行计算机进程的指令的计算机程序的载波上的传播信号。
作为本发明特征的这些和各种特性以及优点将在阅读随后的详细描述并查看附图后将变得显而易见。
附图说明
图1是示出了由本发明各实施例提供并在其中利用的计算机系统的计算机系统体系结构图;
图2A到图4是示出了根据本发明的一个实施例由说明性绘图程序产生的图形的框图;
图5是示出了在本发明一个实施例中利用的用于一形状的若干可能约束的框图;
图6是示出了在本发明一个实施例中利用的图形定义文件内容的一部分的框图;
图7到图8B是示出了根据本发明的一个实施例用于使文本适于图形内一个或多个形状的例程的流程图。
具体实施方式
现在参见附图在其中类似序号代表类似元素,将要描述本发明的各方面。尤其是图1和相应的讨论旨在提供一个能够实现本发明的合适的计算机环境的简要通用的描述。虽然本发明在结合可在个人计算机操作系统上运行的程序模块而执行的程序模块的一般上下文中描述,但是本领域普通技术人员将认识到,也可结合其他类型的计算机系统和程序模块实现本发明。
程序模块通常包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构或其他类型结构。此外,本领域普通技术人员可以理解也能使用包括手持设备、多处理器系统、基于微处理器或可编程消费电子品、小型机、大型机等在内的其他计算机系统配置来实现本发明。也可以在分布式计算环境内实现本发明,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备内。
现在转向图1,将描述在本发明各个实施例中使用的计算机2的说明性计算机结构。图1所示的计算机体系结构示出了传统的台式或膝上计算机,它包括了中央处理单元5(“CPU”)、包含随机存取存储器9(“RAM”)和只读存储器(“ROM”)11在内的系统存储器7以及将存储器耦合至CPU 5的系统总线12。含有帮助计算机内部各元件间在诸如启动期间传递信息的基本例程的基本输入/输出系统被存储在ROM 11内。计算机2还包括用于存储操作系统16、应用程序以及将在如下详述的其他程序模块的大容量存储设备14。
大容量存储设备14通过连接到总线12的大容量存储控制器(未示出)与CPU 5相连。大容量存储设备14以及与其相关联的计算机可读介质为计算机2提供了非易失性的存储装置。虽然这里包含的计算机可读介质的描述意指诸如硬盘或CD-ROM驱动的大容量存储设备,但是本领域普通技术人员可以理解所述计算机可读介质可以是任何能被计算机2访问的任何可用介质。
作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或者其他数据的信息的任何信息存储方法和技术实现的易失性的和非易失性的、可移动和不可移动的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字通用盘(“DVD”)或者其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁性存储设备或者能够存储期望信息并可由计算机2访问的任何其他介质。
根据本发明的各个实施例,计算机2可以在使用通过诸如因特网的网络18到远程计算机的逻辑连接的网络环境中运行。计算机2可以通过连接到总线12的网络接口单元20与网络18相连。应该认识到也可使用网络接口单元20与其他类型的网络和远程计算机系统相连。计算机2还包括用于接收和处理来自包括键盘、鼠标或电子输入笔(未示出)在内的多个设备的输入的输入/输出控制器22。类似地,输入/输出控制器22可以提供输出给显示屏、打印机或其他类型输出设备。
如上简述,在计算机2的大容量存储设备14和RAM 9内可以存储多个程序模块和数据文件,它们包括了适用于控制网络化个人计算机操作的操作系统16,诸如由华盛顿州雷蒙德的微软公司研发的WINDOWS操作系统。大容量存储设备14和RAM 9还可存储一个或多个程序模块。更具体地,大容量存储设备14和RAM 9可以存储绘图应用程序10。可操作绘图应用程序10提供创建和布置诸如图形24的图形的功能。根据本发明的一个实施例,绘图应用程序10包括来自MICROSOFT CORPORATION含有WORD、EXCEL和POWERPOINT应用程序的OFFICE应用程序套件中的任一程序。
大容量存储设备14还可以存储在绘图应用程序10中图形的创建和布置中使用的若干组件。更具体地,所述组件可以包括数据模型30和图形定义文件40。在本发明的各实施例中,绘图应用程序10读取图形定义文件40内关于图形创建和布置的指令。应该认识到在本发明的一个实施例中,数据模型30和图形定义文件40可作为分别的文件存储在可由绘图应用程序10访问的计算机系统2内。
数据模型30包括节点、关系、文本和性质的集合,它含有用于构建图形24的内容。图形定义文件40是描述如何创建一指定图形布置的数据集合。在本发明的各实施例中,可利用可扩展标记语言(“XML”)格式化所述图形定义文件40。正如本领域普通技术人员所理解的那样,XML是通信数据的标准格式。在XML数据格式中,使用一种规划为XML数据提供用于管理将被通信数据的类型和结构的一组文法和数据类型规则。XML数据格式对本领域普通技术人员来说是已知的,因此无需在此进一步讨论。由图形定义文件40描述的图形的各个方面包括用于每个布置节点的布置算法名、算法参数、约束和用于构建布置树的约束规则、形状几何结构以及风格性质的默认值、图形分类数据和样本数据模型。关于图形定义文件40的内容和使用的另外细节可在2004年9月30日提交的美国专利申请,序列号为No.10/955,271(律师概要No.60001.0423US01),标题为“Method,System,and Computer-Readable Mediumfor Creating and Laying Out A Graphic Within an Application Program”的申请找到,该申请结合在此作为参考。
约束是由布置算法用来创建图形的条件。约束的一个实例是用于形状的宽度的值。应该认识到约束可以包括数值或布尔值。数字约束能够指定明确的数值(例如宽度=1英寸)。数字约束还可通过使用基准值表示其他约束值(例如高度=宽度×0.75)来计算它们的值。布尔约束可以包括迫使一组内所有节点与另一约束具有相同值的等式约束,并且还可以包括不等式约束,其中基于另一个约束值限制一约束值(例如形状的宽度需要小于或大于另一个形状的高度)。
约束可以在布置节点之间传播以执行绘图元素之间的等式(例如所有正规节点都具有相同的字体大小)或不等式(例如过渡节点的宽度应该小于等于正规节点的宽度)。可以通过对将其状态传播给其他布置节点的约束附加共享传播者来传播约束。应该认识到约束和约束规则都可以在其他的节点上根据传播的约束加以更新。
约束规则是在布置算法无法满足一组约束的情况下如何对该组约束进行修改的描述。例如,一约束可以指定字体大小必需是14磅,但是一约束规则可以指定字体大小可最小减少至8磅。
根据本发明的一个实施例,约束包括描述形状和该形状内文本应如何布置的初始值。在这方面,就可以指定包括了在应用约束无法成功地使得文本布置在形状边界内时用于修改所述约束的约束规则。下面将参考图4提供关于约束和约束规则的结构和使用以及图形定义文件40的内容的另外细节。
现在参见图2A和图2B,将描述由本发明的一个实施例生成的若干说明性图形24A和24B。如图2A所示,图形24A包括形状50A、50B和50C。每个形状分别包括文本52A、52B和52C。根据本发明的一个实施例,可以基于数据结构动态地改变文本框、段落和诸如页边距、间距和对齐方式的字符性质,以提供最具美感的文本布置。例如,如果编辑形状50B内的文本52B以添加若干黑点,则文本52B的对齐方式就可从居中变为左对齐。这可从图2B中示出的左侧整版文本52B中反映出来。
根据本发明的一个实施例,也可基于数据改变动态地修改越过多个形状的文本对齐方式。例如,响应于对文本52B添加黑点,文本52B的对齐方式可以如上所述从居中变为左对齐。此外,形状50A和50C内的文本52A和52C的对齐方式也可响应于文本52B的改变从居中变为左对齐。这可从图2B中示出的文本52A和52C中反映出来。
现在参见图3A和图3B,将参考图形24C和24D提出本发明另外的方面。图形24C包括形状50A、50B和50C,它们分别具有文本52A、52B和52C。文本52A、52B和52C是顶上并且是左端对齐的。如果用户改变了图表类型,诸如从图3A中示出的进程图变为图3B中示出的分层图24D,则将文本52A、52B和52C映射至图形24D中的合适形状。此外,响应于图形风格的改变,在每个图形52A到52D内文本的对齐方式就从靠上左对齐变为居中对齐。发生这一改变是因为与图形24D相关联的图形定义文件表示文本应该居中对齐。
接下来参考图4,将描述关于通过本发明的实施例应用的格式改变类型的附加细节。图4示出了包括形状50E的图形24E。形状50E是由一个父形状和一个子形状组成的复合形状。复合形状包括一个父形状并可具有任意数量的子形状。应该认识到结合本发明的实施例来利用一复合形状不是必须的。在此提供的算法可以操作任何形状的组合。如下将详述,可以变化形状的大小和格式以确保与该形状相关联的任何文本都可完全适于该形状内。该文本的格式和大小也是变化的。根据本发明的一个实施例,父形状的文本和形状可以独立于子形状变化。类似地,子形状也可独立于其父形状变化。以此方式,复合形状的任何部分都可以独立于任何其他部分而变化。如下将讨论关于该进程的另外细节。
现在转到图5,将描述关于可以被修改以确保形状包容文本的形状以及相关文本的各方面的附加细节。更具体地,图5示出了形状50F。形状50F具有相关联的文本52D。形状50F还包括内部边界58、垂直尺度56和水平尺度54。如下将详述,形状50F的垂直和水平尺度可以改变使得文本52D完全适于该形状内。类似地,内部边界58也可根据指定改变以允许文本52D适于形状50F内。诸如字体大小和文本对齐方式的文本52D的属性也可在得到修改以求文本52D适于形状50F内。应该认识到在此提供的算法可由任何几何形状界定的文本主体。
如下将详述,图形定义文件40包括定义了形状50F和文本52D的哪些属性应该被修改以求将文本52D适于形状以及它们应被修改的次序的约束规则。应该认识到图5中示出并在此讨论的形状50F和文本52D的属性仅是说明性的并且也可修改其他的形状属性以求文本52D适于形状内。还应该认识到可以在每一形状的基础上指定约束和约束规则。也可以为一组形状指定约束和约束规则。
现在参考图6,将讨论说明性图形定义文件40的部分内容。更具体地,图形定义文件40包括一个或多个约束60。约束60包括描述形状和该形状内的文本如何布置的初始值。例如,在图6中示出的约束60包括将该形状的宽度设置为1.5英寸的约束。另一个约束将该形状的高度设置为宽度的0.667倍。又一个约束将父形状的文本大小设置为36磅而另一个约束将子形状的文本大小也设置为36磅。利用这些约束对该形状以及相关文本进行初始布置。还可以在文件40内指定参数。
图形定义文件还包括一个或多个约束规则62。约束规则62是在布置算法无法满足一组约束的情况下对如何修改该组约束所进行的描述。例如,在图5中示出的约束规则62包括表示该形状的宽度能以0.25英寸的步长上升至3英寸的第一约束规则。如果应用第一约束规则不能使得文本适于形状内,则应用下一个约束规则。下一个约束规则表示该形状的高度可以增加到该形状宽度的1.5倍。如果该约束规则也不能很好地调整文本,随后就顺序应用下一个规则直到没有另外的约束规则剩余。图5中示出的另一个约束规则是将父文本的字体大小最小减至16磅,将子文本的字体大小最小减至16磅,将高度增至3英寸并将父文本的大小减至4磅。应该认识到,对于未在该文件40中具体定义的约束可利用默认值。
现在参考图7,将描述说明性例程700以示出用于定义初始约束和约束规则的过程。当阅读对在此提出的例程的讨论时,应该理解本发明各实施例的逻辑操作可实现作为(1)在计算系统上运行的一系列计算机实现的动作或程序模块和/或(2)在计算系统内互连的机器逻辑电路或电路模块。该实现是依赖实现本发明的计算系统的运行请求所做出的选择。因此,在图7和图8中示出的并组成了在此描述的本发明实施例的逻辑操作可被指定作为各种操作、结构设备、动作或模块。本领域普通技术人员应该认识到这些操作、结构设备、动作和模块是能够以软件、固件、专用数字逻辑或者其任何组合来实现而不背离在所附权利要求中的本发明精神和范围。
例程700在操作702处开始,在其中定义初始约束值。随后例程700就行进至操作704,在其中定义约束规则。然后例程700从操作704行进至操作706,其中将约束值和约束规则存储在图形定义文件40内。随后例程700行进至操作708并在此结束。
现在转到图8A和8B,将描述使得文本适于形状的说明性例程800。如果接收到创建新图形请求,例程800就从操作802处开始。由此在操作802处接收到插入新图形的请求。随后例程800就行进到操作804,在其中接收新图形类型的选择。随后例程行进到806,在其中确定了初始形状的位置。可以根据初始约束在图形中来确定形状的位置。然后例程800从操作806行进至操作808,在其中就把接收到要放入形状内的文本。随后例程800行进至如下将讨论的操作814。
如果要修改图形类型,例程800就从操作810处开始。由此在操作810处接收到对新图形类型的选择。然后例程800就从操作810行进至如下将讨论的操作814。
在操作814处,.将文本内容映射至图形内的形状。随后例程800就行进至操作816,在其中将初始约束应用于这些形状。也将参数应用于这些形状。例如颜色可以是一个参数,因为文本颜色的修改不会改变文本的大小或位置。然后例程800将从操作816行进到操作818。
在操作818处,要做出文本是否适于每个形状的决定。如果该文本不适于,则例程800就行进至操作820,在其中就做出在图形定义文件中是否还有另外的约束规则用于处理的决定。如果还有另外的约束规则待处理,则例程800就行进至操作822。在操作822处,就从图形定义文件中读取下一个约束规则。随后例程800就行进至操作824,在其中就查找在约束规则内指定的一组值以确定该文本的最佳配合的情况。例如,如果初始约束指定该形状的宽度应该是1.5英寸而约束规则指定宽度的上限为3英寸,则执行查找以识别在1.5到3英寸之间会使得文本适于形状内的最小值。根据一个实施例,可以利用二分搜索。然而应该认识到除了搜索算法外也可利用其他类型的算法来识别最佳配合值。
应该认识到根据本发明的一个实施例,即使是在已定位一个成功的值之后,还是可以利用一个被修改的二进制查找算法来持续查找更接近于所述起始值的值。此过程一直继续到允许适于的第一结果在导致适于的后续值的预定阈值内。由此方式确定最佳配合值。
一旦利用当前约束规则执行了用于最佳配合值的查找,则方法800返回操作818,在其中要做出文本是否适于形状的另一个决定。如果该文本仍然不适合,就参考操作820、822和824重复以上过程。如果该文本适合,则例程800就从操作818转移至操作828。
应该认识到根据一个实施例,由查找例程识别并作为具有溢出文本的形状的最佳配合值的所述值可被传播至其他形状。以此方式,可以一致性地调整相关形状的大小从而避免了用户必须手动重新调整相关形状的大小。
在操作828处,要做出图形内任何内容的大小或位置是否已改变的决定。如果尚未改变,则例程800转移到操作832并在此结束。如果已做出改变,则例程800就转移到操作826,在其中要做出是否存在新内容要映射至图形内形状的决定。如果存在新的内容要映射,则例程800就从操作826转移回到上述的操作814。如果没有新的内容要映射,则例程800就从操作826转移回到上述的操作816。
如果在操作820处确定没有另外的约束规则可处理,则例程800就从操作820转移到操作830。在操作830处,就把一预定规则应用于该形状以确保文本不超出该形状的范围。例如根据本发明的一个实施例,可以截短文本并在文本后添加省略号(“...”)以表示该截短。可以截短足够的文本使得剩下的文本完全适于该形状内。也可应用其他类型的规则以确保文本不超出该形状的范围。然后例程800就从操作830转移到上述的操作828。
基于所述,可以认识到本发明的各个实施例包括了使文本适于图形内形状的方法和计算机可读介质。以上的说明、实例和数据为本发明的生产和组合使用提供了完整的描述。因为可以在不背离本发明精神和范围的情况下做出本发明的多个实施例,所以本发明的范围由所附的权利要求确定。

Claims (16)

1.一种使文本适于布置节点的图形内至少一个形状的方法,所述方法包括:
定义使文本适于所述形状的至少一个约束以及至少一个约束规则,其中所述至少一个约束规则和至少一个约束是为下述项中的至少一个定义的:所述至少一个形状中的每个形状和一组形状,并且所述至少一个约束的状态被传播给至少一个其它的布置节点;
应用所述至少一个约束的初始值以使所述文本在所述至少一个形状内适合;
检测所述文本在所述至少一个形状内不适合;
响应于检测出所述文本不适合,应用所述至少一个约束规则以修改所述至少一个约束中的至少一个;以及
将经修改的所述至少一个约束重新应用于所述至少一个形状中的至少一个从而为该图形创建新的布置;
其中,所述方法还包括:将经修改的所述至少一个约束传播给该布置节点的图形中的至少一个其它形状。
2.如权利要求1所述的方法,其特征在于,所述至少一个约束的初始值描述所述至少一个形状和这些形状内的文本应该如何布置。
3.如权利要求2所述的方法,其特征在于,所述至少一个约束规则包括用于在应用所述至少一个约束未能使得文本成功地布置在所述至少一个形状内时修改所述至少一个约束的规则。
4.如权利要求3所述的方法,其特征在于,还包括:
检测导致文本不适于所述至少一个形状的图形改变;以及
响应于检测到所述改变,应用所述至少一个约束规则来修改所述至少一个约束中的至少一个,并且将经修改的所述至少一个约束重新应用于所述至少一个形状。
5.如权利要求4所述的方法,其特征在于,应用所述至少一个约束规则来修改所述至少一个约束中的至少一个包括:
识别文本在所述至少一个形状内不适合的至少一个形状;
识别与所识别的至少一个形状相关联的第一约束规则,所述第一约束规则识别对一约束的限制;
识别在所述约束的初始值和将导致所述文本在所识别的至少一个形状内适合的限制之间的所述至少一个约束的最佳配合值;
确定是否对所述至少一个约束识别了使得所述文本在所识别的至少一个形状内适合的值;以及
响应于确定识别了使得所述文本在所识别的至少一个形状内适合的值,将所识别的使得所述文本在所识别的至少一个形状内适合的值应用于所述至少一个形状。
6.如权利要求5所述的方法,其特征在于,还包括:
响应于确定识别了使得所述文本在所识别的至少一个形状内适合的值,将所识别的使得所述文本在所识别的至少一个形状内适合的值应用于一个或多个其他形状。
7.如权利要求5所述的方法,其特征在于,还包括:
响应于确定未识别使得所述文本在所识别的至少一个形状内适合的值,识别下一个约束规则并将其应用于所述至少一个形状。
8.如权利要求7所述的方法,其特征在于,还包括在把所述下一个约束规则应用于所述至少一个形状之前,对由所述第一约束规则指定的至少一个约束应用所述限制。
9.如权利要求8所述的方法,其特征在于,还包括响应于确定对所述至少一个形状应用了所述至少一个约束规则的所有的约束规则也未能使得所述文本在所述至少一个形状内适合,把一预定的规则应用于所述至少一个形状以确保文本不超出所述至少一个形状。
10.如权利要求9所述的方法,其特征在于,识别最佳配合值包括执行二进制搜索。
11.如权利要求9所述的方法,其特征在于,所述至少一个约束和所述至少一个约束规则是在与所述图形相关联的图形定义文件内指定的。
12.一种使文本适于布置节点的图形内至少一个形状的系统,包括:
用于定义使文本适于所述形状的至少一个约束以及至少一个约束规则的装置,其中所述至少一个约束规则和至少一个约束是为下述项中的至少一个定义的:所述至少一个形状中的每个形状和一组形状,并且所述至少一个约束的状态被传播给至少一个其它的布置节点;
用于应用所述至少一个约束的初始值以使所述文本在所述至少一个形状内适合的装置;
用于检测所述文本在所述至少一个形状内不适合的装置;
响应于检测出所述文本不适合,用于应用所述至少一个约束规则以修改所述至少一个约束中的至少一个的装置;以及
用于将经修改的所述至少一个约束重新应用于所述至少一个形状中的至少一个从而为该图形创建新的布置的装置;
其中,所述系统还包括:用于将经修改的所述至少一个约束传播给该布置节点的图形中的至少一个其它形状的装置。
13.如权利要求12所述的系统,其特征在于,所述至少一个约束的初始值描述在所述至少一个形状内的文本应该如何布置。
14.如权利要求13所述的系统,其特征在于,所述至少一个约束规则包括用于在应用所述至少一个约束未能使得文本成功地布置在所述至少一个形状内时修改所述至少一个约束的规则。
15.如权利要求14所述的系统,其特征在于,用于检测所述文本在所述至少一个形状内不适合的装置包括检测下述至少一项:检测形状的添加、形状的移除、对所述图形的布置的改变、在所述图形中添加文本和从所述图形中移除文本。
16.如权利要求15所述的系统,其特征在于,用于应用所述至少一个约束规则来修改所述至少一个约束中的至少一个的装置包括:
用于识别文本在至少一个形状内不适合的至少一个形状的装置;
用于识别与所识别的至少一个形状相关联的第一约束规则的装置,所述第一约束规则识别对约束的限制;
用于识别在所述约束的初始值和将使得所述文本在所识别的至少一个形状内适合的限制之间的所述至少一个约束的最佳配合值的装置;
用于确定是否对所述至少一个约束识别了使得所述文本在所识别的至少一个形状内适合的值的装置;以及
响应于确定识别了使得所述文本在所识别的至少一个形状内适合的值,用于将所识别的使得所述文本在所识别的至少一个形状内适合的值应用于所述至少一个形状的装置。
CN2006100044984A 2005-03-15 2006-02-15 使文本适合于图形内形状的方法和系统 Expired - Fee Related CN1834903B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/081,324 2005-03-15
US11/081,324 US7743325B2 (en) 2005-03-15 2005-03-15 Method and computer-readable medium for fitting text to shapes within a graphic

Publications (2)

Publication Number Publication Date
CN1834903A CN1834903A (zh) 2006-09-20
CN1834903B true CN1834903B (zh) 2010-06-02

Family

ID=36586025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100044984A Expired - Fee Related CN1834903B (zh) 2005-03-15 2006-02-15 使文本适合于图形内形状的方法和系统

Country Status (5)

Country Link
US (1) US7743325B2 (zh)
EP (1) EP1703417A3 (zh)
JP (2) JP2006260560A (zh)
KR (1) KR101176659B1 (zh)
CN (1) CN1834903B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2416614A (en) * 2004-07-27 2006-02-01 Hewlett Packard Development Co Document creation
JP4095592B2 (ja) * 2004-08-06 2008-06-04 キヤノン株式会社 情報処理装置、情報処理方法ならびにプログラム
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US7348982B2 (en) * 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8510657B2 (en) 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7750924B2 (en) * 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7747944B2 (en) 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
US20070016456A1 (en) * 2005-07-12 2007-01-18 International Business Machines Corporation System, method and program product for reporting status of contract performance or a process
US8438486B2 (en) * 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
US7949948B2 (en) * 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8516365B2 (en) 2007-06-15 2013-08-20 Microsoft Corporation Dynamically laying out images and associated text using pre-defined layouts
US8037410B2 (en) * 2008-10-27 2011-10-11 Yahoo! Inc. Method and apparatus for estimating the size of rendered text
US9405449B2 (en) * 2010-01-14 2016-08-02 Microsoft Technology Licensing, Llc Layout constraint manipulation via user gesture recognition
US8799325B2 (en) * 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
US20110221764A1 (en) * 2010-03-12 2011-09-15 Microsoft Corporation Laying out and cropping images in pre-defined layouts
TW201214152A (en) * 2010-09-29 2012-04-01 Hon Hai Prec Ind Co Ltd System and method for multi-line text view with auto wrap and cutting
US9213681B2 (en) * 2010-10-08 2015-12-15 Adobe Systems, Incorporated Method and system to modify source content to fit into a target display area in a browser
US8869026B2 (en) * 2010-10-29 2014-10-21 Konica Minolta Laboratory U.S.A., Inc. Using a layout engine to display an overflowed textbox
US9424584B2 (en) * 2011-06-28 2016-08-23 Rovi Guides, Inc. Systems and methods for generating and displaying user preference tag clouds
US20130084999A1 (en) * 2011-10-04 2013-04-04 Jason Churchill Costa Game centered on building nontrivial computer programs
US20140006942A1 (en) * 2012-06-29 2014-01-02 Google Inc. Computing an Optimal Font-Size for Content Item Text
US9361278B2 (en) 2013-03-15 2016-06-07 Facebook, Inc. Overlaying photographs with text on a social networking system
US10275142B2 (en) 2014-10-29 2019-04-30 International Business Machines Corporation Managing content displayed on a touch screen enabled device
CN106649245B (zh) * 2015-10-30 2021-08-17 方正国际软件(北京)有限公司 一种页面布局方法及装置
US10937127B2 (en) 2018-08-13 2021-03-02 International Business Machines Corporation Methods and systems for managing text in rendered images

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649216A (en) * 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
US6189132B1 (en) * 1998-04-09 2001-02-13 International Business Machines Corporation Design rule correction system and method

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JPH03177964A (ja) 1989-12-07 1991-08-01 Toshiba Corp 文書整形装置
CA2048039A1 (en) 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
US5426729A (en) * 1992-06-24 1995-06-20 Microsoft Corporation Method and system for nonuniformly adjusting a predefined shape
JPH08506670A (ja) * 1993-01-22 1996-07-16 タリジェント インコーポレイテッド フレキシブル・ネットワーク・システム
JP2620576B2 (ja) * 1993-04-15 1997-06-18 インターナショナル・ビジネス・マシーンズ・コーポレイション ユーザが要求したフォントに従ってグラフィカル・ユーザ・インターフェースを調節する方法及びシステム
US5909220A (en) * 1993-05-10 1999-06-01 Sandow; Robin Interactive computerized image coloring systems and methods for processing combinations of color with automated subroutines and color standardization for diverse color systems
US5596691A (en) 1994-06-15 1997-01-21 Claris Corporation Computer system and method for manipulating the display of drawings
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5669006A (en) * 1995-02-23 1997-09-16 International Business Machines Corporation Method for automatically obtaining spatial layout for multimedia presentations
US5619631A (en) * 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
JPH09109351A (ja) * 1995-10-16 1997-04-28 Toppan Printing Co Ltd 表示情報レイアウト装置
US6173286B1 (en) * 1996-02-29 2001-01-09 Nth Degree Software, Inc. Computer-implemented optimization of publication layouts
US5818447A (en) * 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US6057858A (en) * 1996-08-07 2000-05-02 Desrosiers; John J. Multiple media fonts
US5903902A (en) * 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5973692A (en) * 1997-03-10 1999-10-26 Knowlton; Kenneth Charles System for the capture and indexing of graphical representations of files, information sources and the like
US6288726B1 (en) 1997-06-27 2001-09-11 Microsoft Corporation Method for rendering glyphs using a layout services library
US6321243B1 (en) 1997-06-27 2001-11-20 Microsoft Corporation Laying out a paragraph by defining all the characters as a single text run by substituting, and then positioning the glyphs
US6289502B1 (en) * 1997-09-26 2001-09-11 Massachusetts Institute Of Technology Model-based software design and validation
US6204859B1 (en) * 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
JP3377419B2 (ja) * 1997-11-11 2003-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令列生成方法及び装置、変換方法、及びコンピュータ
US6289505B1 (en) * 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US6081816A (en) * 1998-03-18 2000-06-27 Microsoft Corporation Method for placing text around polygons and other constraints
US6256650B1 (en) * 1998-05-18 2001-07-03 Microsoft Corporation Method and system for automatically causing editable text to substantially occupy a text frame
US6301704B1 (en) * 1998-06-16 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
US6405225B1 (en) * 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US6166738A (en) * 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6305012B1 (en) * 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US6308322B1 (en) * 1999-04-06 2001-10-23 Hewlett-Packard Company Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints
US6667750B1 (en) * 1999-07-30 2003-12-23 Curl Corporation Multiple pass layout of graphical objects with elastics
US6826727B1 (en) 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7246316B2 (en) * 1999-11-30 2007-07-17 Siebel Systems, Inc. Methods and apparatus for automatically generating presentations
EP1111543A3 (en) 1999-12-22 2002-11-27 Adobe Systems, Inc. Method and apparatus for painting groups of objects
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US20010051962A1 (en) * 2000-06-08 2001-12-13 Robert Plotkin Presentation customization
US20020111969A1 (en) * 2000-09-28 2002-08-15 Halstead Robert H. System and method for processing graphical objects for layout using an elastic difference operation
US20020065852A1 (en) 2000-11-30 2002-05-30 Matt Hendrickson Online guided resume creation system that allows dynamic style formatting
US6944830B2 (en) * 2000-12-21 2005-09-13 Xerox Corporation System and method for browsing hierarchically based node-link structures based on an estimated degree of interest
US20040205602A1 (en) * 2001-07-25 2004-10-14 Douglas Croeni Page layout design using geometric interference schema
JP2003044464A (ja) 2001-07-31 2003-02-14 Seiko Epson Corp レイアウト装置及びレイアウトプログラム
AUPR962001A0 (en) 2001-12-19 2002-01-24 Redbank Manor Pty Ltd Document display system and method
US7107525B2 (en) * 2002-07-23 2006-09-12 Xerox Corporation Method for constraint-based document generation
US7945846B2 (en) * 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
AU2002952711A0 (en) 2002-11-18 2002-11-28 Typefi Systems Pty Ltd A method of formatting documents
CA2414047A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method of extending scalable vector graphics capabilities
TW562221U (en) 2002-12-27 2003-11-11 Hon Hai Prec Ind Co Ltd Mounting device for disk drive
US20040133854A1 (en) * 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
US7339598B2 (en) * 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
US20050091584A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Methods for applying styles to visual aspects of user interface elements
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7395510B2 (en) * 2003-12-16 2008-07-01 Hewlett-Packard Development Company, L.P. Method of, and system for, adjusting a document configuration
US7536048B2 (en) * 2004-01-15 2009-05-19 Xerox Corporation Method and apparatus for automatically determining image foreground color
US20050289466A1 (en) * 2004-06-24 2005-12-29 Kaihu Chen Multimedia authoring method and system using bi-level theme templates
US20060064642A1 (en) * 2004-09-22 2006-03-23 Edurite Technologies Pvt. Ltd. Seamless presentation integrator
US7348982B2 (en) * 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7750924B2 (en) * 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US20060277476A1 (en) 2005-06-02 2006-12-07 Hsuan-Cheng Lai Method and system for dynamic generation of graphical content using a markup language
US7555711B2 (en) * 2005-06-24 2009-06-30 Hewlett-Packard Development Company, L.P. Generating a text layout boundary from a text block in an electronic document
US7747944B2 (en) 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
US7423646B2 (en) * 2005-11-08 2008-09-09 Microsoft Corporation Smart shape insert
US8042065B2 (en) * 2005-11-17 2011-10-18 Microsoft Corporation Smart copy/paste of graphical nodes
US7949948B2 (en) * 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8225278B2 (en) * 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
US8479218B2 (en) * 2007-07-09 2013-07-02 National Instruments Corporation Automatically arranging objects in a graphical program block diagram
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649216A (en) * 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
US6189132B1 (en) * 1998-04-09 2001-02-13 International Business Machines Corporation Design rule correction system and method

Also Published As

Publication number Publication date
US20060212801A1 (en) 2006-09-21
EP1703417A2 (en) 2006-09-20
JP2006260560A (ja) 2006-09-28
KR20060101218A (ko) 2006-09-22
JP5336569B2 (ja) 2013-11-06
KR101176659B1 (ko) 2012-08-23
EP1703417A3 (en) 2009-01-14
CN1834903A (zh) 2006-09-20
US7743325B2 (en) 2010-06-22
JP2012104117A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
CN1834903B (zh) 使文本适合于图形内形状的方法和系统
CN100478876C (zh) 在应用程序内创建和布局图形的方法和系统
CN102722364B (zh) 用于用户界面的基于标记的可扩展性
EP1406181A2 (en) Document revision support
US20090019064A1 (en) Document processing device and document processing method
US7899846B2 (en) Declarative model editor generation
JP2006178946A (ja) ワークブックを表現するためのファイルフォーマット、方法およびコンピュータプログラム製品
US20090132906A1 (en) Document processing device and document processing method
US20090021767A1 (en) Document processing device
US20170154019A1 (en) Template-driven transformation systems and methods
US7805452B2 (en) Data processing device and data processing method
US20010014899A1 (en) Structural documentation system
CN113655996B (zh) 一种基于需求模型的企业级系统生成方法
JP4566196B2 (ja) 文書処理方法および装置
US20090235156A1 (en) Document processing device and document processing method
US20080320412A1 (en) Document Processing Device and Document Processing Method
JP4627530B2 (ja) 文書処理方法および装置
US20100077295A1 (en) Document processing device and document processing module
US10902210B2 (en) System and method for generating blocks of natural language
US20080147957A1 (en) Archiver Device, Data Acquisition Device, and Data Acquisition Method
US20090077369A1 (en) Data Processing Device And Data Processing Method
JP6647954B2 (ja) 設計書の入出力装置、設計書の入出力システム及び設計書の入出力方法
JP2007128520A (ja) マニュアルの作成方法及びそのシステム
CN112835567A (zh) 一种基于自然语言的可视化智能合约开发系统
Gomes et al. PNML based composition in non-autonomous Petri net models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20220215

CF01 Termination of patent right due to non-payment of annual fee