Apparatus, methods, programming for automatically laying out documents
First Claim
1. A computerized method of laying out a document containing a combination of text and shape elements, said method comprising:
- providing a user interface with controls for enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
cause one or more shape elements to be located in the sequence box;
cause a shape element, including one in the sequence box having at least one text or shape element as contents, to have a minimize property in at least one dimension; and
cause a shape element, including one in the sequence box, to have a maximize property in at least one dimension; and
performing an automatic layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
arranging shape elements, if any, placed within the sequence box in a sequence along the sequence box'"'"'s sequencing axis;
minimizing the size given to any shape element which has the minimize property in a given dimension, including any shape element within the sequence box, by making the element as small as its contents, if any, will allow in the given dimension, over a given length range; and
maximizing the size given to any shape element which has the maximize property in a given dimension by making the element expand to encompass space available in the given dimension, over a given length range, said maximizing including, if the maximized shape element is within the sequence box, expanding it to encompass space available within the sequence box.
2 Assignments
0 Petitions
Accused Products
Abstract
A computerized system lays out document templates represented as a tree of text and shape elements, including variable elements. The user can define a shape element to have a maximize or minimize property in one or more dimensions. The layout makes the minimized dimensions of a shape as small as its contents will allow; and makes the maximized dimensions expand as much as available space allows. Such maximization or minimization can be performed within a horizontal or vertical sequence box. Variable values mapped into variable shape elements can include sub-trees of text and/or shape elements, including shape elements which have the maximize or minimize property, and elements which are themselves variable elements. An anchor point can be fixed at a selected point on a shape, causing the anchor point to remain fixed as the rest of the shape expands or contract. Variable Image elements can maintain the aspect ratios of images mapped into them as those images are scaled. The layout of variable element into which no variable values have been mapped can be suppressed. Both content and attribute values can be mapped into a variable element. Multiple content-mapping rule sets can be used with a given template, and multiple templates can be used with a given content-mapping rule set. The content mapping rules can include data-base queries that vary in response to variable data. Text or shape elements can be defined, respectively, by reference to text models, which defined text attributes, and geometric models, which define shape attributes.
-
Citations
74 Claims
-
1. A computerized method of laying out a document containing a combination of text and shape elements, said method comprising:
-
providing a user interface with controls for enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
cause one or more shape elements to be located in the sequence box;
cause a shape element, including one in the sequence box having at least one text or shape element as contents, to have a minimize property in at least one dimension; and
cause a shape element, including one in the sequence box, to have a maximize property in at least one dimension; and
performing an automatic layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
arranging shape elements, if any, placed within the sequence box in a sequence along the sequence box'"'"'s sequencing axis;
minimizing the size given to any shape element which has the minimize property in a given dimension, including any shape element within the sequence box, by making the element as small as its contents, if any, will allow in the given dimension, over a given length range; and
maximizing the size given to any shape element which has the maximize property in a given dimension by making the element expand to encompass space available in the given dimension, over a given length range, said maximizing including, if the maximized shape element is within the sequence box, expanding it to encompass space available within the sequence box. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
said user interface enables a user to select to cause the directional sequence box to have the maximize or minimize property in a given dimension; and
said layout process maximizes or minimizes the directional sequence box, respectively.
-
-
5. A method as in claim 1 wherein:
-
one or more shape elements within the sequence box are variable elements;
said method includes mapping variable values into said variable values; and
said layout process lays out a given variable element within the sequence box into which a given variable value has been mapped by laying out the given variable value at the position of the variable element within the sequence box.
-
-
6. A method as in claim 5 further including:
-
defining the document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
defining one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node;
said mapping of variable values into variable elements includes grafting the root nodes of sub-tree variable values onto the nodes of the document tree corresponding to the variable elements into which the sub-tree variable values are mapped; and
said layout process includes laying out the elements of the tree formed by the combination of the nodes of the document tree and the nodes of the sub-trees which have been grafted onto the document tree.
-
-
7. A method as in claim 6 wherein:
-
one of said sub-trees contains one or more shape elements which have said maximize or said minimize property; and
said layout process will respond to the grafting of such a sub-tree onto a variable element by causing the lay out of said maximized or minimized shape element within said grafted sub-tree to be maximized or minimized, respectively.
-
-
8. A method as in claim 1 wherein:
-
said interface is a WYSIWYG graphical user interface which allows a user to select the placement of said sequence box and the shape elements within it, including allowing a user to use a pointing device to create, position and size said shape elements; and
said layout process is performed interactively in response to changes made to the document by the user with said graphical user interface, to enable the user to see a screen display of the layout of the document showing any changes the user has just made to the document.
-
-
9. A method as in claim 8 wherein the shape elements defined within a sequence box with the WYSIWYG graphical user interface contain directional sequence boxes, so directional sequence boxes are nested within other such sequence boxes.
-
10. A method as in claim 1 wherein the user interface enables a user to separately select whether or not a shape element within the sequence box has the maximize property in a vertical dimension and whether or not the shape element has said property in a horizontal dimension.
-
11. A method as in claim 1 wherein the user interface enables a user to separately select whether or not a shape element within the sequence box has the minimize property in a vertical dimension and whether or not the shape element has said property in a horizontal dimension.
-
12. A method as in claim 1 wherein:
-
the one or more shape elements placed within the directional sequence box are variable shape elements;
the method maps variable shape values into the document'"'"'s variable shape elements based on values in a data set using a plurality of content-mapping rules, which rules may not map a shape value into each variable shape element for all possible data sets; and
said layout process will allocate space to lay out a given variable shape element within the sequence box into which a given shape value has been mapped with a lay out of the given shape value at the position of the given variable shape element within the sequence box, but will allocate substantially no space to a variable shape element into which the content-mapping rules have not mapped a shape value.
-
-
13. A method as in claim 12 wherein, if one of the shape elements in the sequence box has a maximize property in a dimension parallel to the sequencing axis of the sequence box, and if no space is allocated to a given variable shape element in the sequence box because the content-mapping rules have not mapped a shape value into the given variable shape element, then said layout process will cause the shape element with the maximize property to expand to take up space not occupied by the given variable shape element.
-
14. A method as in claim 1 wherein if a first shape elements in the sequence box has a maximize property in a dimension parallel to the sequencing axis of the sequence box and second shape element in the sequence box has a minimize property in the same dimension and has contents which can change in size, then said layout process:
-
causes the size of the minimized shape element to expand and contract in the given dimension as the minimized shape element minimizes around the changing size of its contents; and
causes the size of the maximized shape element to contract and expand, respectively, as the space available in the sequence box changes in response to the changes in size of the minimized shape element.
-
-
15. A method as in claim 1 wherein:
-
the shape elements, including the sequence box, each include boundary lines which define the perimeter of each such shape element;
the user interface includes controls for enabling a user to select to give each such shape element an internal margin of a selected width inside one or more boundary lines of such a shape element; and
the layout process causes elements placed within a sequence box to be placed at a distance from the boundary line of the sequence box having such an internal margin at least equal to the width defined by said internal margin.
-
-
16. A method as in claim 1 wherein:
-
the shape elements, including the sequence box, each include boundary lines which define the perimeter of each such shape element;
the user interface includes controls for enabling a user to select to give each such shape element an external margin of a selected width outside one or more boundary lines of such a shape element; and
the layout process causes shape elements having such an external margin within a sequence box to be placed at a distance from the boundary line of the sequence box or any shape within the sequence box at least equal to the width defined by said external margin.
-
-
17. A computerized method of laying out a document containing a combination of text and shape elements, said method comprising:
-
storing a document template which defines a document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
storing content-mapping rules for mapping variable values into individual variable elements;
enabling a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node, including enabling a user to select that a shape element on one of said sub-trees have a maximize property in one or more dimensions;
mapping sub-tree values into variable elements, in which a particular sub-tree value is mapped into a particular variable element by grafting the root node of the particular sub-tree onto the tree node of the particular variable element; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including laying out elements of a tree formed by the combination of the nodes of the template'"'"'s tree and the nodes of sub-trees which have been grafted onto variable elements of the template'"'"'s tree, which laying out of elements includes, if a given shape elements in a grafted sub-tree has the maximize attribute in a given dimension, making the given shape element expand to encompass space available in the given dimension, over a given length range, in the location in the document into which the given sub-tree has been mapped.
-
-
18. A computerized method of laying out a document containing a combination of text and shape elements, said method comprising:
-
storing a document template which defines a document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
storing content-mapping rules for mapping variable values into individual variable elements;
enabling a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node, including enabling a user to select that one or more of said subverts each include a shape element;
into which a variable value can be mapped by said content mapping rules;
which has the minimize property in one or more dimensions; and
mapping sub-tree values into variable elements, in which a particular sub-tree value is mapped into a particular variable element by grafting the root node of the particular sub-tree onto the tree node of the particular variable element; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including laying out elements of a tree formed by the combination of the nodes of the template'"'"'s tree and the nodes of sub-trees which have been grafted onto variable elements of the template'"'"'s tree, which laying out of elements includes, if a given shape element in a grafted sub-tree has the minimize property in a given dimension, making the given shape element as small as the variable value, if any, mapped into the given shape value will allow in the given dimension, over a given length range.
-
-
19. A computerized method of laying out a combination of textual and shape elements in a document, said method comprising:
-
storing a document template which defines a document as a tree of nodes representing layout elements, including text and/or shape elements, at least one of which is a shape elements that contain layout elements within it and at least one of which is a variable text or shape element;
storing content-mapping rules for mapping variable values into individual variable elements;
enabling a user to cause a variable shape element to have either a maximize property or a minimize property;
mapping variable values into variable elements of the template, including mapping shape values into variable shape values; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
minimizing the size given to variable shape elements that have the minimize property in a given dimension, which includes making those shape elements as small as their variable value, if any, will allow in the given dimension, over a given length range;
maximizing the size given to variable shape elements that have the maximize attribute in a given dimension, which includes making those shape elements expand to encompass any space available in the given dimension, over a given length range, within the directional sequence box in which the shape has been placed. - View Dependent Claims (20)
said method includes enabling a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text element or a shape element and each of which includes a root node;
said mapping of variable value into variable elements includes grafting the root nodes of sub-tree variable values onto the nodes of the document tree corresponding to the variable elements into which the sub-tree variable values are mapped; and
said layout process includes laying out the elements of the tree formed by the combination of the nodes of the document tree and the nodes of the sub-trees which have been grafted onto the document tree.
-
-
21. A computerized method of laying out a combination of text and shape elements in a document, said method comprising:
-
representing a document which contains text elements and shape elements into which the user can insert one or more layout elements as content;
enabling a user to select that a given one of said shape elements is to have its size in one or more dimensions determined by that given shape element'"'"'s content;
enabling a user to select that a given one of a plurality of locations on said given shape element is to be an anchor point;
enabling a user to vary the content of said given shape element, with different of said variable contents having different sizes; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
causing the size of the given shape element to be as small as the variable content will allow in the given dimension, over a given length range; and
holding the given shape element'"'"'s anchor point fixed, so that other portions of the given shape element expand or contract in response to the varying content relative to the fixed location of the anchor point.
-
-
22. A computerized method of laying out a combination of text and shape elements in a document, said method comprising:
-
representing a document template which contains one or more variable elements including one or more variable image elements into which two dimensional images can be mapped;
representing content-mapping rules for mapping variable values into individual variable elements, including mapping images, each having an aspect ratio, into variable image element;
enabling a user to set a value for a size attribute which determines the size of a given variable image element in first of the variable element'"'"'s two dimensions;
using the content-mapping rules to map variable values, including images, into the variables of the document template; and
performing a layout process in which elements of the document defined by the template and values mapped into the variable elements of the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including allocating an image mapped into the given variable image element, and the given variable image element, itself, the size in the first dimension specified by the size attribute value and allocating the image and the given variable image element a size in the second of said two dimensions automatically determined so as to maintain the image'"'"'s aspect ratio. - View Dependent Claims (23, 24, 25, 26)
the user can set that the value of said size attribute be a maximize value; and
the layout process causes the size in said first dimension of the given variable image element which has said maximize size attribute value, and the corresponding dimension of an image mapped into the given variable element, to expand to encompass space available in the given dimension, over a given length range, in the location in the document into which the image has been mapped.
-
-
24. A computerized method as in claim 22 wherein a user can set either a width dimension of a height dimension to be said first dimension for which said size attribute value is set.
-
25. A computerized method as in claim 22 wherein the performing of a layout process includes varying the location of the layout of other contents of the document as a function of the amount of space taken up by said given variable image element in said second dimension after the image has been mapped into said variable image element.
-
26. A computerized method as in claim 25:
-
further including enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
place in the sequence box a variable image element having said second dimension parallel to said sequencing axis; and
place in the sequence box another shape element having a maximize property in a dimension parallel to said sequencing axis; and
wherein the performing of the layout process includes causing the maximizable shape element to take ups space in the sequence box as a function of the amount of space taken up by said variable image element in said second dimension after the image has been mapped into said variable image element.
-
-
27. A computerized method of producing different custom versions of a variable document in response to data contained in different data sets, said method comprising:
-
representing a document template containing a plurality of layout elements, including text and/or shape elements that are variable elements, into which variable values can be mapped, and non-variable elements, the values of which are statically defined within the template itself;
representing a plurality of content-mapping rules for mapping variable values into each of the template'"'"'s variable elements, including mapping shape values into variable shape elements, as a function of data from a data set, which content-mapping rules do not always map a shape value into each variable shape element for each possible data set;
using the content-mapping rules to map variable values into the variable elements of the template for a given data set; and
performing a layout process in which elements of the template and the variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
allocating space to individual non-variable shape elements in the template;
allocating space to individual variable shape elements into which a shape value has been mapped; and
allocating no space to an individual variable shape element into which the content-mapping rules have not mapped a shape value. - View Dependent Claims (28, 29, 30, 31)
further including enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
place in the sequence box the given variable shape element; and
place in the sequence box another shape element having a maximize property in a dimension parallel to said sequencing axis; and
wherein the performing of the layout process includes causing the maximizable shape element to take ups space in the sequence box as a function whether or not space is allocated to the given variable shape element.
-
-
32. A computerized method of producing different custom versions of a variable document in response to data contained in different data sets, said method comprising:
-
representing a document template containing a plurality of layout elements, including variable elements, each of which has an associated content type, which defines the type of variable value mapped into the variable element, and one or more associated attributes, the values of which are used to define the properties of the variable element;
representing a plurality of content-mapping rules for mapping variable values of a given type into individual variable elements of the same type;
representing variable values each of which can be mapped into a variable element of a given content type, in which a variable value of a given content type can include;
content of the given content type, which can include text, an image, or shape elements, which can be mapped into a variable element of the given content type; and
values for individual attributes of a variable element the given content type;
using the content-mapping rules to map variable values into variable elements of the template, including;
associating the content of a given variable value mapped into a given variable element with that given variable element; and
assigning any attribute values included in the given variable value to the corresponding attribute of the given variable element; and
performing a layout process in which elements of the template and variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given an appearance, including position and size, in which the appearance of a variable elements is defined as a function of both the content and attribute values, if any, of the variable value mapped into the variable element. - View Dependent Claims (33, 34)
the representation of the document template includes definitions of variable elements contained in the template, which definitions assigns static values to individual attributes of such variable elements; and
the layout process causes the appearance, position, and size of a given variable element to vary as a function of both;
any attribute values contained in a given variable value mapped into the given variable element; and
any static attribute values assigned to the given variable element in said template for which no corresponding attribute value has been included in the given variable value.
-
-
34. A computerized method as in claim 32 wherein:
-
variable elements of one or more of said content types;
have variable values including text mapped into such variable elements; and
have an associated language attribute, the value of which indicates the language of text mapped into such a variable elements;
individual variable values include text and a value for said language attribute which indicates the language of the text; and
the layout process includes responding to the mapping into a given variable element of a variable value which includes given text and a given language attribute value by selecting from a plurality of hyphenation rule sets, each representing hyphenation rules applicable to different languages, a hyphenation rule set corresponding to the language indicated by the given language attribute value, and using the selected hyphenation rule set to hyphenate the given text in said layout process.
-
-
35. A computerized method of generating a different version of a variable document for different data sets, each of which includes one or more corresponding fields, the method comprising:
-
storing a document template containing a plurality of text and shape elements, including one or more variable elements into which variable values are mapped;
storing a plurality of variable values in a data base;
storing a set of user-defined content-mapping rules, each for mapping a variable value into one or more corresponding variable elements in the template as a function of the value of one or more data set fields, including one or more variable-query content-mapping rules, each of which defines a data-base query which varies as a function of the value of one or more data set fields;
generating a given version of the variable document for a give data set by using the content-mapping rules to map variable values into the variable elements of the template, including;
generating an instance of the variable query defined by each variable-query content-mapping rules as a function of the value of one or more fields in the given data set;
sending each such variable query to the data base; and
mapping the variable value fetched by the data base in response to each variable query into the one or more variable elements corresponding to the individual variable-query content-mapping rule which defined that query; and
performing a layout process in which elements of the template and variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size. - View Dependent Claims (36, 37)
said variable queries are each represented in the form of an SQL query template with one or more variable symbols, each of which is defined as a function of one or more of said data set fields; and
the generation of a given instance of the variable query includes using the values of one or more fields in the given data set to define a value corresponding to each variable symbol in the query template, and replacing each such variable symbol with its corresponding value.
-
-
37. A computerized method as in claim 35 wherein:
-
said data base is a media asset management data base in which;
digital content files are stored;
one or more metadata fields are associated with each such content file; and
the data base can fetch a content file based on a query containing one or more metadata fields and values for those fields;
said said generated instances of the variable queries contains metadata fields and values for those fields contained in the data base; and
the variable value selected by said variable query are derived from content files fetched from the media asset management data base.
-
-
38. A computer-readable medium, having computer executable-instructions for performing a method of laying out a document containing a combination of text and shape elements, said method comprising:
-
providing a user interface with controls for enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
cause one or more shape elements to be located in the sequence box;
cause a shape element, including one i the sequence box having at least one text or shape element as contents, to have a minimize property in at least one dimension; and
cause a shape element, including one in the sequence box, to have a maximize property in at least one dimension; and
performing an automatic layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
arranging shape elements, if any, placed within the sequence box in a sequence along the sequence box'"'"'s sequencing axis;
minimizing the size given to any shape element which has the minimize perperty in a given dimension, including any shape element as small as its contents, if any, will allow in the given dimension, over a given length range; and
maximizing the size given to any shape element which has the maximize property in a given dimension by making the element expand to emcompass space available in the given dimension, over a given length range, said maximizing including, inf the maximized shape element is within the sequence box, expanding it to encompass space available withing the sequence box. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
said user interface enables a user to select to cause the directional sequence box to have the maximize or minimize property in a given dimension; and
said layout process maximizes or minimizes the directional sequence box, respectively.
-
-
42. A computer readable medium as in claim 38 wherein:
-
one or more shape elements within the sequence box are variable elements;
said method includes mapping variable values into said variable values; and
said layout process lays out a given variable element within the sequence box into which a given variable value has been mapped by laying out the given variable value at the position of the variable element within the sequence box.
-
-
43. A computer readable medium as in claim 42 further including:
-
defining the document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
defining one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node;
said mapping of variable values into variable elements includes grafting the root nodes of sub-tree variable values onto the nodes of the document tree corresponding to the variable elements into which the sub-tree variable values are mapped; and
said layout process includes laying out the elements of the tree formed by the combination of the nodes of the document tree and the nodes of the sub-trees which have been grafted onto the document tree.
-
-
44. A computer readable medium as in claim 43 wherein:
-
one of said sub-trees contains one or more shape element which have said maximize or said minimize property; and
said sayout process will respond to the grafting of such sub-tree onto a variable element by causing the lay out of said maximized or minimized shape element within said grafted sub-tree to be maximized or minimized, respectively.
-
-
45. A computer readable medium as in claim 38 wherein:
-
said interface is a WYSIWYG graphical user interface which allows a user to select the placement of said sequence box and the shape elements within it, including allowing a user to use a pointing device to create, position and size said shape elements; and
said layout process is performed interactively in response to changes made to the document by the user with said graphical user interface, to enable the user to see a screen display of the layout of the document showing any changes the user has just made to the document.
-
-
46. A computer readable medium as in claim 45 wherein the shape elements defined within a sequence box with the WYSIWYG graphical user interface contain directional sequence boxes, so directional sequence boxes are nested within other such sequence boxes.
-
47. A computer readable medium as in claim 38 wherein the user interface enables a user to separately select whether or not a shape element within the sequence box has a maximize property in a vertical dimension and whether or not the shape element has said property in a horizontal dimension.
-
48. A computer readable medium as in claim 38 wherein the user interface enables a user to separately select whether or not a shape element within the sequence box has the minimize property in a vertical dimension and whether or not the shape element has said property in a horizontal dimension.
-
49. a computer readable medium as in claim 38 wherein:
-
the one or more shape elements placed within the directional sequence box are variable shape elements;
the method maps variable shape value into the document'"'"'s variable shape elements based on values in a data set using a plurality of content-mapping rules, which rules may not map a shape value into each variable shape element for all possible data sets; and
said layout process will allocate space to layout a given variable shape element within the sequence box into which a given shape value has been mapped with a lay out of the given shape value at the position of the given variable shape element within the sequence box, but will allocate substantially no space to a variable shape element into which the content-mapping rules have not mapped a shape value.
-
-
50. A computer readable medium as in claim 49 wherein, if one of the shape elements in the sequence box has a maximize property in a dimension parallel to the sequencing axis of the sequence box, and if no space is allocated to a given variable shape element in the sequence box because the content-mapping rules have not mapped a shape value into the given variable shape element, then said layout process will cause the shape element with the maximize property to expand to take up space not occupied by the given variable shape element.
-
51. A computer readable medium as in claim 38 wherein if a first shape elements in a sequence box has a maximize property in a dimension parallel to the sequencing axis of the sequence box and second shape element in the sequence box has a minimize property in the same dimension and has contents which can change in size, then said layout process:
-
causes the size of the minimized shape element to expand and contract in the given dimension as the minimized shape element minimizes around the charging size of its contents; and
causes the size of the maximized shape element to contract and expand, respectively, as the space available in the sequence box changes in response to the changes in size of the minimized shape element.
-
-
52. A computer readable medium as in claim 38 wherein:
-
the shape elements, including the sequence box, each include boundary lines which define the perimeter of each such shape element;
the user interface includes controls for enabling a user to select to give each such shape element and internal margin of a selected width inside one or more boundary lines of such a shape element; and
the layout process causes elements placed within a sequence box to be placed at a distance from the boundary line of the sequence box having such an internal margin at least equal to the width defined by said internal margin.
-
-
53. A computer readable medium as in claim 38 wherein:
-
the shape elements, including the sequence box, each include boundary lines which define the perimeter of each such shape element;
the user interface includes controls for enabling a user to select to give each such shape element an external margin of a selected width outside one or more boundary lines of such a shape element; and
the layout process causes shape elements having such an external margin within a sequence box to be placed at a distance from the boundary line of the sequence box or any shape within the sequence box at least equal to the width defined by said external margin.
-
-
54. A computer-readable medium, having computer executable-instructions for performing a method of laying out a document containing a combination of text and shape elements, said method comprising:
-
storing a document template which defines a document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
storing content-mapping rules for mapping variable values into individual variable elements;
enabling a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node, including enabling user to select that a shape element on one of said sub-trees have a maximize property in one or more dimensions;
mapping sub-tree values into variable elements, in which a particular sub-tree value is mapped into a particular variable element by grafting the root node of the particular sub-tree onto the tree node of the particular variable element; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including laying out elements of a tree formed by the combination of the nodes of the template'"'"'s tree and the nodes of sub-trees which have been grafted onto variable elements of the template'"'"'s tree, which laying out of elements includes, if a given shape elements in a grafted subtree has the maximize attribute in a given dimension, making the given shape element expand to encompass space available in the given dimension, over a given length range, in the location in the document into which the given sub-tree has been mapped.
-
-
55. A computer-readable medium, having computer executable-instructions for performing a method of laying out a document containing a combination of text and shape elements, said method comprising:
-
storing a document template which defines a document as a tree of layout elements, including text and/or shape elements that are variable elements, in which each layout element is a node of said tree;
storing content-mapping rules for mapping variable values into individual variable elements;
enableing a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text or a shape elements and each of which includes a root node, including enabling a user to select that one or more of said subtrees each include a shape element;
into which a variable value can be mapped by said content mapping rules;
which has the minimize property in one or more dimensions; and
mapping sub-tree values into variable elements, in which a particular sub-tree value is mapped into a particular variable element by grafting the root node of the particular sub-tree onto the tree node of the particular variable element; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including laying out elements of a tree formed by the combination of the nodes of the template'"'"'s tree and the nodes of sub-trees which have been grafted onto variable elements of the template'"'"'s tree, which laying out of elements includes, if a given shape element in a grafted subtree has the minimize property in a given dimension, making the given shape element as small as the variable value, if any, mapped into the given shape value will allow in the given dimension, over a given length range.
-
-
56. A computer-readable medium, having computer executable-instructions for performing a method of laying out a combination of textual and shape elements in a document, said method comprising:
-
storing a document template which defines a docuemtn as a tree of nodes representing layout elements, including text and/or shape elements, at least one of which is ashape elements that contain layout elements within it and at least one of which is a variable text or shape element;
storing content-mapping rules for mapping variable values into individual variable elements;
enabling a user to cause a variable shape element to have either a maximum property or a minimize property;
mapping variable values into variable elements of the template, including mapping shape values into variable shape values; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
minimizing the size given to variable shape elementsthat have the minimize property in a given dimension, which includes making those shape elements as small as their variable value, if any, will allow in the given dimension, over a given length range;
maximizing the size given to variable shape elementsthat have the maximize attribute in a given dimension, which includes making those shape elements expand to encompass any space available in the given dimension, over a given leigth range, within the directional sequence box in which the shape has been placed. - View Dependent Claims (57)
said method includes enabling a user to define one or more variable values, to be mapped into one or more variables elements located in the document, as sub-trees, each of which includes a plurality of nodes each corresponding to either a text element or a shape element and each of which includes a root node;
said mapping of variable value into variable elements includes grafting the root nodes of sub-tree variable value onto the nodes of the document tree corresponding to the variable elements into which the sub-tree variable values are mapped; and
said layout process includes laying out the elements of the tree formed by the combination of the nodes of the document tree and the nodes of the sub-trees which have been grafted onto the document tree.
-
-
58. A computer-readable medium, having computer executable-instructions for forming a method of laying out a combination of text and shape elements in a document, said method comprising:
-
representing a document which contains text elements and shape elements into which the user can insert one or more layout elements as content;
enabling a user to select that a given one of said shape elements is to have its size in one or more dimensions determined by that given shape element'"'"'s content;
enabling a user to select that a given one of a plurality of locations on said given shape element is to be an anchor point;
enabling user to vary the content of said given shape element, with different of said variable contents having different sizes; and
performing a layout process in which elements of the document are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
causing the size of the given shape element to be as small as the variable content will allow in the given dimension, over a given length range; and
holding the given shape element'"'"'s anchor point fixed, so that other portions of the given shape element expand or contract in response to the varying content relative to the fixed location of the anchor point.
-
-
59. A computer-readable medium, having computer executable-instructions for performing a method of laying out a combination of text and shape elements in a document, said method comprising:
-
representing a document template which contains one or more variable elements including one or more variable image elements into which two dimensional images can be mapped;
representing content-mapping rules for mapping variable values into individual variable elements, including mapping imates, each having an aspect ratio, into variable image element;
enabling a user to set a value for a size attribute which determines the size of a given variable image element in first of the variable element'"'"'s two dimensions;
using the content-mapping rules to map variable values, including images, into the variables of the document template; and
performing a layout process in which elements of the document defined by the template and values mapped into the variable elements of the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including allocating an image mapped into the given variable image element, and given variable image element, itself, the size in the first dimension specified by the size attribute value and allocating the image and the given variable image element a size in the second of said two dimensions automatically determined so as to maintain the image'"'"'s aspect ratio. - View Dependent Claims (60, 61, 62, 63)
the user can set that the value of said size attribute be a maximize value; and
the layout process causes the size in said first dimension of the given variable image element which has said maximize size attribute value, and the corresponding dimension of an image mapped into the given variable element, to expand to encompass space available in the given dimension, over a given length range, in the location in the document into which the image has been mapped.
-
-
61. A computer readable medium as in claim 59 wherein a user can set either a width dimension of a height dimension to be said first dimension for which said size attribute value is set.
-
62. A computer readable medium as in claim 59 wherein the performing of a layout process includes varying the location of the layout of other contents of the document as a function of the amount of space taken up by said given variable image element in said second dimension after the image has been mapped into said variable image element.
-
63. A computer medium as in claim 62:
-
further including enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
place in the sequence box a variable image element having said second dimension parallel to said sequencing axis; and
place in the sequence box another shape element having a maximize property in a dimension parallel to said sequencing axis; and
wherein the performing of the layout process includes causing the maximizable shape element to take ups space in the sequence box as a function of the amount of space taken up by said variable image element in said second dimension after the image has been mapped into said variable image element.
-
-
64. A computer-readable medium, having computer executable-instructions for performing a method of producing different custom versions of a variable document in response to data contained in different data sets, said method comprising:
-
representing a document template containing a plurality of layout elements, including text and/or shape elements that are variable elements, into which variable values can be mapped, and non-variable elements, the values of which are statically defined within the template itself;
representing a plurality of content-mapping rules for mapping variable values into each of the template'"'"'s variable elements, including mapping shape values into variable shape elements, as a function of data from a data set, which content-mapping rules do not always map a shape value into each variable shape element for each possible data set;
using the content-mapping rules to map variable values into the variable elements of the templates for a given data set; and
performing a layout process in which elements of the template and the variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size, including;
allocating space to individual non-variable shape elements in the template;
allocating space to individual variable shape elements into which a shape value has been mapped; and
allocating no space to an individual variable shape element into which the content-mapping rules have not mapped a shape value. - View Dependent Claims (65, 66, 67, 68)
further including enabling a user to;
place a sequence box, which has a sequencing axis, in the document;
place in the sequence box the given variable shape element; and
place in the sequence box another shape element having a maximize property in a dimension parallel to said sequencing axis; and
wherein the performing of the layout process includes causing the maximizable shape element to take ups space in the sequence box as a function whether or not space is allocated to the given variable shape element.
-
-
69. A computer-readable medium, having computer executable-instructions for performing a method of producing different custom versions of a variable document in response to data contained in different data sets, said method comprising:
-
representing a document template containing a plurality of layout elements, including variable elements, each of which has an associated content type, which defines the type of variable value mapped into the variable element, and one or more associated attributes, the values of which are used to define the properties of the variable element;
representing a plurality of content-mapping rules for mapping variable values of a given type into individual variable elements of the same type;
representing variable values each of which can be mapped into a variable element of a given content type, in which a variable value of a given content type can include;
content of the given content type, which can include text, an image, or shape elements, which can be mapped into a variable element of the given content type; and
values for individual attributes of a variable element the given content type;
using the content-mapping rules to map variable values into variable elements of the template, including;
associating the content of a given variable value mapped into a given variable element with that given variable element; and
assigning any attribute values included in the given variable value to the corresponding attribute of the given variable element; and
performing a layout process in which elements of the template and variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given an appearance, including position and size, in which the appearance of a variable elements is defined as a function of both the content and attribute values, if any, of the variable value mapped into the variable element. - View Dependent Claims (70, 71)
the representation of the document template includes definitions of variable elements contained in the template, which definitions assigns static values to individual attributes of such variable elements; and
the layout process causes the appearance, position, and size of a given variable element to vary as a function of both;
any attribute values contained in a given variable value mapped into the given variable element; and
any static attribute values assigned to the given variable element in said template for which no corresponding attribute value has been included in the given variable value.
-
-
71. A computer readable medium as in claim 69 wherein:
-
variable elements of one or more of said content types;
have variable values including text mapped into such variable elements; and
have an associated language attribute, the value of which indicates the language of text mapped into such a variable elements;
individual variable values include text and a value for said language attribute which indicates the language of the text; and
the layout process includes responding to the mapping into a given variable element of a variable value which includes given text and a given language attribute value by selecting from a plurality of hyphenation rule sets, each representing hyphenation rules applicable to different languages, a hyphenation rule set corresponding to the language indicated by the given language attribute value, and using the selected hyphenation rule set to hyphenate the given text in said layout process.
-
-
72. A computer-readable medium, having computer executable-instructions for performing a method of generating a different version of a variable document for different data sets, each of which includes one or more corresponding fields, the method comprising:
-
storing a document template containing a plurality of text and shape elements, including one or more variable elements into which variable values are mapped;
storing a plurality of variable values in a data base;
storing a set of user-defined content-mapping rules, each for mapping a variable value into one or more corresponding variable elements in the template as a function of the value of one or more data set fields, including one or more variable-query content-mapping rules, each of which defines a data-base query which varies as a function of the value of one or more data set fields;
generating a given version of the variable document for a give data set by using the content-mapping rules to map variable values into the variable elements of the template, including;
generating an instance of the variable query defined by each variable-query content-mapping rules as a function of the value of one or more fields in the given data set;
sending each such variable query to the data base; and
mapping the variable value fetched by the data base in response to each variable query into the one or more variable elements corresponding to the individual variable-query content-mapping rule which defined that query; and
performing a layout process in which elements of the template and variable values mapped into the template are laid out onto a 2-dimensional area in which each such element is given a precise position and size. - View Dependent Claims (73, 74)
said variable queries are each represented in the form of an SQL query template with one or more variable symbols, each of which is defined as a function of one or more of said data set fields; and
the generation of a given instance of the variable query includes using the values of one or more fields in the given data set to define a value corresponding to each variable symbol in the query template, and replacing each such variable symbol with its corresponding value.
-
-
74. A computer readable medium as in claim 72 wherein:
-
said data base is a media asset management data base in which;
digital content files are stored;
one or more metadata fields are associated with each such content file; and
the data base can fetch a content file based on a query containing one or more metadata fields and values for those fields;
said said generated instances of the variable queries contains metadata fields and values for those fields contained in the data base; and
the variable value selected by said variable query are derived from content files fetched from the media asset management data base.
-
Specification