WO1998036630A2 - Parametric font models based on features and constraints - Google Patents
Parametric font models based on features and constraints Download PDFInfo
- Publication number
- WO1998036630A2 WO1998036630A2 PCT/IL1998/000066 IL9800066W WO9836630A2 WO 1998036630 A2 WO1998036630 A2 WO 1998036630A2 IL 9800066 W IL9800066 W IL 9800066W WO 9836630 A2 WO9836630 A2 WO 9836630A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- glyph
- constraints
- features
- constraint
- points
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
Definitions
- the present invention relates to font models in general and to dynamic font models using geometric constraints in particular.
- More advanced font models such as Apple's QuickDraw GX (Apple Computer Inc. of California, USA) and Adobe's Multiple Master fonts (Adobe Systems Inc. of California, USA), directly support linear interpolations of the points defining glyph outlines.
- the design of such multiple outline fonts is extremely difficult.
- the range of shape deformations that can be achieved is limited.
- Parametric font models can in principle produce several variations of the same glyph. Most of these were created with selection and compression of static font in mind and do not tackle dynamic issues. The most important model in this category is metafont, which allows attaching parameters to programmable glyph descriptions and also includes an evaluator for algebraic equations. The use of metafont requires programming skills that are not common with graphics designers. In a sense, metafont is more a general purpose graphical programming language than a high-level font model. US Patent No. 5,586,241 to Bauerffle et al. describes a system for parametrically generating characters and fonts.
- LiveType The dynamic font model known as "LiveType”, supports complex non-linear dynamic behaviours of letter shapes. Inherent typographic and stylistic constraints are preserved during dynamic behavior. The capability of modifying letter shapes through parameter specification is present in the font itself and is provided to any user of the font.
- LiveType is implemented using parametric features and constraints.
- the constraints evaluation algorithm operates in linear time in the size of a glyph and guarantees finding a single solution.
- Constraints are represented using a special novel type of constraints graph, a mixed ratio graph, which can deal with most constraints cycles of the kind arising in the font domain.
- a novel constraint state machine enables modification of the shape's underlying topology during dynamic behavior.
- LiveType features combine geometric elements and are usually used to represent typographically significant entities such as bars and serifs. Feature characteristics are preserved using geometric constraints defined between their elements. Features and constraints possess parameters, which can be combined hierarchically in order to encapsulate a variety of complex glyph behaviours. Specification of new parameter values triggers a constraint re-evaluation, which in turn yields deformations of letter shapes. To facilitate interfacing with existing font rasterizers, the LiveType model is capable of rapidly producing glyph outlines.
- the constraints evaluation algorithm operates in linear time with respect to the number of points in the glyph and guarantees finding a single solution.
- the present invention uses the mixed ratio graph, that is a directed graph that can be separated into two directed acyclic graphs according to constraint types that are common in the typographic domain.
- a constraint state machine which enables modification of the shape's underlying topology during dynamic behavior, in addition to the non-linear geometric modifications.
- the state machine allows a geometric entity to change the constraints governing it under certain conditions.
- a glyph which is defined by its geometry and includes a plurality of features each of the features being defined by at least one constraint and at least one parameter attached to at least one of the plurality of features.
- a font model which includes a plurality of glyphs.
- Each of the plurality of glyphs are defined by its geometry and includes a plurality of features wherein each of the features is defined by at least one constraint.
- the font model further includes a feature store for storing a plurality of glyph features wherein each glyph points to at least one of the stored glyph features.
- a feature store for storing a plurality of glyph features wherein each glyph points to at least one of the stored glyph features.
- at least one of the plurality of features within each of at least two different glyphs is connected to a single parameter, whereby by changing the single parameter at least one of the plurality of features within each of at least two different glyphs is correspondingly changed.
- each of the plurality of features are further defined by its boundary and support points.
- the plurality of features includes typographic features and supporting features.
- the typographic features include at least one of a group including bars, stems, bows, arc, curve stems, curve bars and serifs.
- the constraint includes at least one of a group including distances between points and lines, ratios of the distances and angles between lines.
- each of the plurality of features includes a plurality of parameters combined together to form a typographical axis parameter whereby by changing a single axis value, at least two of the plurality of parameters are correspondingly changed.
- the rate of change of one of the two parameters is independent of the rate of change of the second parameter.
- a change to each of the parameters is connected to at least one of the constraints.
- the constraint has a value which is a multiplication of a scalar and the parameter.
- At least two of the plurality of features are connected to a single parameter, whereby by changing the single parameter the two features are correspondingly changed.
- a method for creating a variation of a glyph having at least one constraint includes the step of altering at least one parameter attached to the at least one constraint.
- the method further includes the step of reevaluating the constraints graph of the glyph to modify the geometry the glyph. Additionally, in accordance with an embodiment of the present invention, there is thus also provided a method for reevaluating a constraint graph for a glyph.
- the glyph has a plurality of points, each of which has first and second constraints, the graph having outline YRatio and XRatio constraints and a plurality of geometric constraints.
- the method includes the steps of: marking all of the plurality of glyph points as unevaluated; removing the YRatio constraints connected to outline points; determining the position of each of the plurality of glyph points by evaluating each of its geometric constraints; marking all of the plurality of glyph points as unevaluated; removing the XRatio constraints connected to outline points; and determining the position of each of the plurality of glyph points by evaluating each of its geometric constraints;
- the step of evaluating includes the steps of:
- a system of constraint states for a geometric object includes a plurality of states wherein each of the states has at least one constraint attached thereto and wherein a change from one of the plurality of states to another is determined by transition rules.
- the geometric object may be a glyph.
- the transition rules include any of a group of rules including geometric conditions or time.
- Fig.. 1 is a high level block diagram illustration of the dynamic font model
- Figs. 2A, 2B and 2C illustrate the outline, features and underlying geometry, respectively, of a Kanji symbol
- Fig. 3A illustrates the outline and supporting constructs of a Courier ⁇ ' glyph
- Fig. 3B illustrates the points defining some of the features of the glyph of Fig. 3A;
- Figs. 4A and 4B illustrate the effect of changing a parameter on the shape of a glyph
- Fig. 5 illustrates a parametric space of 'A' shapes formed by two parameters and a dynamic path in it
- Figs. 6A-6D illustrate the connection of one parameter to several constraints
- Figs. 7A and 7B illustrate the carrying over a parametric change from one feature to another
- Figs. 8A-8D illustrate the generation of a holding axis for the ⁇ ' glyph
- Figs. 9A-9C illustrate degrees of freedom and line of freedom of a glyph point
- Figs. 10A-10C illustrate constraint types associated with the glyph of Fig.
- Figs. 11A -11 B illustrates a bar feature from the letter 'A' and the sub-graph of constraints imposed therein;
- Figs 12A-12C illustrates the effect of ratio constraints
- Fig. 13A illustrates a simple circle shape
- Fig. 13B illustrates the mixed ratio constraint graph imposed by the shape of Fig. 13A;
- Fig. 14 illustrates the underlying geometry of the letter 'A'
- Fig. 15A illustrates the pseudo source code of the constraint evaluation algorithm
- Figs 15B is a high level flow chart illustration of the method for re-evaluating a mixed ratio constraints graph whenever a parameter is altered;
- Fig. 15C is a high level flow chart illustration of the algorithm of Fig. 15A;
- Figs. 16A-E illustrates the holding of the Courier Font letter M without the use of constraint states
- Figs. 17A-F illustrate the use of constraint states to resolve the topological problems of the letter 'M' of Fig. 16;
- Figs. 18, 19, 20 and 21 illustrate alternative applications utilizing the glyph of Fig.1 ;
- Figs. 22, 23 and 24 illustrate possible variations which may be made to existing font models using the glyph of Fig. 1 ;
- Fig. 25 is a high level block diagram illustration of a dynamic font model (glyph), constructed in accordance with a further preferred embodiment of the present invention.
- Figs. 26 and 27 are examples of possible variations illustrating the use of the glyph of Fig. 25.
- FIG. 1 is a high level block diagram illustration of a glyph model, generally designated 10, hereinafter also referred to as "LiveType", in accordance with a preferred embodiment of the present invention.
- the components of the basic glyph model 10 are its underlying geometry, generally designated 12 and its feature hierarchy, generally designated 14.
- the geometry 12 includes both the outline 16 and support geometries 18 and 19, which are defined from line segments and curve spleens.
- the feature hierarchy 14 comprises a plurality of features 15.
- Each of the features 15 comprises components (illustrated by the callout box, referenced 30) consisting of its geometry (boundary and support points) 20, constraints 22 and parameters 24.
- Any subset of the glyph geometry can be designated as a feature 15.
- there are typographic features such as bars, stems, bows, and serifs, and supporting features such as the baseline or centerline.
- Features are organized in a hierarchy, for example, treating a bar and an attached serif as a single stroke unit.
- Figs. 2A -2C illustrate the outline (Fig. 2A), features (Fig. 2B) and complete underlying geometry (Fig. 2C) of a Japanese Kanji symbol.
- the geometrical features of Fig. 2B include the stems 26 (dark), bars 28 and serifs 30.
- Constraints 22 are defined using points belonging to the feature's geometry. There are several constraint types, including distances between points and lines, ratios of such distances, and angles between lines as will be described hereinbelow.
- the constraints 22 are represented in a constraint graph, which is solved using a constructive evaluation algorithm, to be described hereinbelow. Almost every constraint can be linked to a parameter 24; for example, in a constraint specifying that the distance between two points should be "d", "d' can be used as a parameter.
- Several parameters can be combined together to form an axis, providing an efficient mechanism for mapping high level font or glyph parameters and behaviours to low level feature parameters as will be described hereinbelow.
- the dynamic functionality of the model is provided through modifications of axes and parametric values.
- the constraint solver is invoked to compute the new coordinates of the supporting and outline points, and new glyph shapes are produced. Therefore, in order to create continuous change in shape, the user need only apply a continuous change to parametric values.
- “LiveType” support points, lines, circular arcs and spleen curves All these geometric types are represented using 2-D points. Points are classified as being either outline points or support points (e.g., for modeling guiding lines and bounding boxes). Outline points can be further classified as being on-points or off-points, depending on whether they lie on the glyph boundary or not. For example, some spleen control points are off points. Outline and support points 20 are used in the definition of features inside a glyph. A feature is designated as any subset of the glyph's points. The subset is stored in the feature as an array of point indices.
- features themselves form a cover to the glyph geometry and not a disjoint decomposition.
- Some examples of features include bars, stems, arcs, bows and serifs.
- features do not have to directly correspond to typographic elements. Any part considered as significant can be designated as a feature.
- the dynamic font model 10 of the present application utilizes features 15 to encapsulate functionality of glyph sub-parts and connect them at the font level.
- a set of points is called a stem when they are ordered as two facing sets of points having the same distance.
- This information is important and meaningful especially when it is desired to change the positions of points and change the shape of the design.
- the fact that these points form a stem will mean that they must remain parallel and in a predefined distance from a centerline during all changes. This distance can be parameterized and, for example, named 'stem width'.
- the set of constraints needed to preserve these relations can be defined on the points without defining a feature.
- most features constantly reappear in many glyphs. Thus, it is an advantage to be able to refer to them together and control them as a single logical entity; for example, by modifying all of their stem width parameters described hereinbelow with respect to Figs. 4 and 5.
- Fig. 3A shows the outline and supporting constructs of a Courier ⁇ ' glyph. Each feature includes both a partial outline and supporting constructs, visualized as a line. Lines 1-3 represent bars, 4 the glyph's baseline, 5-6 serifs, 7 a stem, 8 a joint, and 9-10 bows. Line 11 is used as a supporting construct in the definition of the Italic version of the glyph.
- Fig. 3B shows the points defining some of the features. Squares (for example, 5a, 5b and 9b) denote on-points while circles (9c and 9d) denote off-points.
- Any numerical value used in the definition of a constraint such as distance, ratio and angle, can be connected to a parameter. This means that the fixed numerical value is turned into a variable.
- Parameters are associated with features, as features encapsulate the basic functionality parts of glyphs. Parameters act as the external interface to dynamic behaviours of the features and glyphs. Thus, modifying a parametric value in a certain feature will cause the constraints it is connected to, to become invalid, and trigger the constraint evaluation process. This will create a new glyph variation.
- Figs. 4A and 4B illustrate the effect of changing a parameter on the shape.
- the line distance width is altered from 44 (Fig 4A) to 62 (Fig. 4B).
- the dynamic parametric change can described as a navigation in some space of feasible objects.
- Each parameter defined in a glyph adds a dimension to this space.
- Fig. 5 which illustrates a parametric space of 'A' shapes formed by two parameters and a dynamic path in it.
- Each value pair (horizontal bar-width, top-angle) is mapped to a point in a two dimensional space of possible shapes for the letter ' A'.
- a dynamic behavior of a letter is in fact a path in the parametric space, and is achieved by changing the vector of parametric values.
- each parameter is connected to a single constraint, and the mapping between the parameter value to the constraint's value is direct; for example, the parameter 'width' will hold the value of the distance in a distance constraint.
- the semantics of parameters should cover the following cases:
- a preferred embodiment of the present invention comprises a connecting mechanism that translates the parametric changes to numerical values at each constraint.
- This mechanism is intuitive, simple and highly efficient. All parameters are used as multipliers for the connected constraint's values. For example, if an x distance constraint with value d is connected to a width parameter w then the new distance used in the constraint will be d x w .
- parameters effects are not limited to a single constraint or a single geometric entity.
- a parameter can be connected to several different constraints in different geometric entities, enabling global control over shapes using a single parameter shown in Figs. 6A-6C to which reference is now made.
- Fig. 6A illustrates the letter “O” having both X and Y ratio constraints connected to the parameter "beta Round”, which has a value of 1.
- Fig. 6C illustrates the shape shown in Fig. 6C.
- Fig. 6D is formed by altering the value of "beta Round” to 3.8.
- parameter change is not limited to one feature or glyph.
- a parametric change can be carried from one feature to other features in the glyph and across to other glyphs in the font, as shown in Figs. 7A and 7B.
- Fig. 7A illustrates the letter "M" where the increase in the width of the middle stem is carried over to the other stems.
- Fig. 7B illustrates the carrying over of the increased width of the middle stem to other glyphs (the associated letters N, O and P).
- Some complex variations can be achieved only by modifying several parameters simultaneously. For example, changing the weight of a glyph involves modifying several different parameters in different features, and in different rates. In order to present a higher level interface for the user, parameters can be grouped together to define an axis parameter.
- Axis parameters are stored in a table that converts the unit of change of the axis parameter to the appropriate units in the other parameters. If a s the axis value in the range - R ⁇ a ⁇ R then for each parameter p included in this axis, we define F p to be the parameter factor, S /; to be the parameter shift, then the map from a to p is:
- Figs. 8A-8D show the generation of holding axis for the ⁇ ' glyph. It is implemented by grouping a change in "width" attribute of all features such as stems and bows (Fig. 8B). Then, a serif "length” parameter is added to correct serif shapes, (Fig 8C). Finally the glyph intersects the baseline: a bar “shift” parameter is added and used for translating the lower bar, namely the distance of the bar guiding line from the base line (Fig. 8D).
- Constraints are defined between the geometric entities representing a feature. They allow incorporating relations between geometric entities into the glyph, and defining desired behaviours of shape changes according to parameter modifications. Such modifications trigger the constraint solver to be executed and compute a new glyph geometry.
- the preferred method is graph-based method that transforms the original graph to a directed acyclic graph (DAG), such as described by Owen, J.C.: in Algebraic Solution for Geometry from Dimensional Constraints. ACM/Siggraph Symp. On Solid Modeling and Applications, Austin. June 1991 , Rossignac. J Turner, I, (eds). ACM Press, 397-408., and by Bouma W. Fudos, I.: Hoffmann. CM, Cai, J., Paige. R. in Geometric Constraint Solver. Computer-Aided Design, Vol. 27. No. 6. 1995, 487-501.
- the DAG can be viewed as a procedural " program' to solve the system.
- the present invention by taking into account the special characteristics of the domain of typography, gives expressive power to designers or animators using the fonts.
- the complex behaviours of elements are also incorporated in the design, especially when a change in the topology of the glyph is needed (as described hereinbelow).
- LiveType constraints are linear, guaranteeing a single solution, and the LiveType system of constraints is a special type of DAG, enabling an efficient, procedural evaluation.
- Constraints in the model of the present application determine the position of points by using zero, one or two constraints for each point.
- the constraint types chosen yield only a single possible solution for the point position. This means that the system does not need any complex or heuristic mechanism to select between different possible solutions.
- the constraints are algebraic, hence can eventually be translated to linear equations on the glyph point coordinates.
- Figs. 9A-9C An unconstrained point possesses two degrees of freedom (DOFs) Fig. 9A.
- DOFs degrees of freedom
- a point possessing a single linear DOF can move along a line called the line of freedom (LOF) illustrated by arrows in Fig. 9B.
- LEF line of freedom
- a fully constrained point possesses no DOFs (Fig. 9C). All types of LiveType constraints can be formulated as giving a LOF. The position of a fully constrained point is determined by intersecting its two LOFs.
- LiveType constraints distinguish between the x and y coordinate of a point. That is because the vertical and horizontal directions possess an inherent significance in typography. Letters and text in all languages are mostly placed above, below or along straight lines. The letters themselves are displayed perpendicularly to the guiding line. Much of the feel of a certain typographic design comes from the frequency of display arranged along lines. Many font variations are performed along one of these directions. For example, condensing and extending a font design is accomplished by horizontal scale of distances inside the glyphs (note that this scaling is not a simple affine scaling). Likewise, most grid fitting procedures during rasterization use separate horizontal and vertical passes in order to arrange elements along grid lines, and use separate vertical and horizontal interpolations for smoothing the shape of glyphs.
- XDist, YDist the x or ⁇ coordinate of point p 0 must remain in signed distance d from the x or > coordinate of point p .
- Angle point p 0 must lie on a line having angle ⁇ with a line defined by p ,p 2 and passing through p x .
- the line of freedom is obtained by rotating p 0 around p x .
- XRatio, Yratio the or ⁇ coordinate of point p 0 must remain in ratio tfrom the xor y coordinates of points p x an ⁇ p 2 .
- Figs. 11A and 11B An example for defining constraints in a bar feature and the part of the constraint graph it imposes can be seen in Figs. 11A and 11B.
- Fig. 11A illustrates the bar feature of the letter 'A' and Fig. 11 B shows the sub-graph of constraints it imposes.
- Increasing the width parameter will increase the distance between points 2,3 and point 1 , which in turn translates points 5, 6, 7, 8 preserving the bar's shape.
- Additional constraints can be added to the same glyph in order to define different variations.
- the LiveType constraint scheme must guarantee finding a solution at a predictable rapid time.
- only systems of constraints that can be transformed to a DAG and solved procedurally are used.
- the LiveType constraint scheme utilizes directional constraints rather than stating a symmetric relation between objects, and only constraint cycles in the graph which can be handled by the algorithms such as described by Owen, J.C: in Algebraic Solution for Geometry from Dimensional Constraints, at the ACM/Siggraph Symp. On Solid Modeling and Applications, Austin. June 1991 , Rossignac. J Turner, I, (eds). ACM Press, 397-408., and by Bouma W. Fudos, I.: Hoffmann. CM, Cai, J., Paige. R. in Geometric Constraint Solver. Computer-Aided Design, Vol. 27. No. 6. 1995, 487-501.
- ratio constraints connect each intermediate point to the extreme points of its contour (Fig. 12D), distributing shape changes gradually along the outline points, and preserving the glyph's continuous shape.
- the XRatio and YRatio constraints are defined by relating a point inside a contour to the two closest local extreme points in the same contour (Fig. 12D). These constraints are responsible for smoothing the shape of glyphs during dynamic variations (Fig. 12A). They are used as default constraints whenever an outline point does not possess another constraint in the xor y direction respectively. For that reason, ratio constraints are the most prevalent ones.
- the difficulty is that even in the most simple shapes, using both x and y ratio constraints will create cycles in the constraints graph (see Figs. 13A-13B). Therefore, in order to use ratio constraints, mixed ratio graphs were defined to overcome this difficulty and Applicants have devised an algorithm that is capable of evaluating cyclic graphs. The evaluation algorithm, which can handle mixed ratio graphs using a two step pass is described hereinbelow (see Fig. 15A).
- Fig. 13A illustrates a simple circle shape and Fig. 13B illustrates the mixed ratio constraint graph imposed by the shape.
- Fig. 14A illustrates the underlying geometry of the letter 'A' together with a portion of its mixed ratio graph. Each point has not more than four outgoing arcs pointing to its constraining points, but might have several incoming arcs coming from points constrained by it. Reference is now made to Figs. 15A and 15B.
- Fig. 15B is a high level flow chart illustration of the method for re-evaluating the mixed ratio constraints graph whenever a parameter is altered, as described by the pseudo source code of Fig. 15A.
- step 202 all points in the glyph are marked as unevaluated, (step 202) and all YRatio constraints connected to outline points are removed from the constraint graph (step 204). Looping on all points in the glyph, a recursive evaluation procedure for each point is called (step 206).
- step 208 all points in the glyph are again marked as unevaluated (step 208), all XRatio constraints connected to outline points are removed (step 210), and the same loop is carried out again (step 212).
- a point is marked as evaluated (query box 214), it returns its current position (step 216). If the point is unevaluated, its position is calculated based on its constraints. Constraints can be expressed as yielding lines of freedom (LOF). Each LOF is computed, based on the constraining points, which are evaluated recursively by the same procedure.
- step 220 The constraints (d and c2, say) for each point are obtained (step 220). If both d and c2 are empty (query box 222), it returns its current position (step 216). A check is then made to see whether either d or c2 is empty.
- c2 is empty (query box 232)
- the lines of freedom (LOF) L1 and L2 for d and c2, respectively, are computed (step 240) and the current positions of the point is set to the intersection of these lines. The current position is then returned (step 216).
- Some points in the graph might be under-constrained. Specifically, this refers to the leaves of the graph or points that include XRatio or YRatio constraints that were removed by the first or second evaluation step respectively.
- the current positions of such points is taken as a default constraint using XAbs or YAbs to fix their location in the or y direction.
- the algorithm executes several times consecutively, switching between primary x and primary y directions in a continuous manner, so that the result is effectively order independent.
- k be some number representing the longest time for calculating two lines of freedom from their geometries and finding their intersection.
- Such calculations are done 2kn times for each parametric change, where n is the number of glyph points (outline and supporting). A point is dependent on at most four other points. Therefore, evaluation time for a single pass is bounded by An + 2kn (this happens if all points were constrained, which is impossible because there must be leaves to the DAG). Therefore, evaluation time is linear in the number of points, with a small constant. Note that the time it takes to re-compute the glyph's geometry is at least as efficient as the time it takes to rasterize a glyph.
- Fig. 16E illustrates the Courier Font letter 'M' and the effect of holding caused by increasing the width parameter of the line distance is shown in Figs. 16A-16C
- the constraints cause an undesirable topological change in shape, as shown by Fig. 16C where points 1 and 2 are pushed away from lines a and c, leaving a triangular "hole”.
- Fig. 16D illustrates the relationship between points 1 and 2 and lines a, b and c.
- the state of a glyph's constraints system can be fully determined by the set of glyph points P and the set of constraints defined on these points C(P). As described hereinbelow, some constraints are connected to external parameters, and therefore a fixed set of constraints can produce several glyph shapes by altering parametric values.
- a set S of states S 0, 1, ...., rsuch that for each i e S, C,(R) is a set of constraints defined on the given set of points P .
- the constraints C,(R) of the states i impose different mixed ratio graphs. Therefore, we can evaluate the constraint set C,(R) using our evaluation algorithm, resulting in a glyph shape.
- a glyph state i e S is implemented in our model as the union of all states i p for all p e P .
- Each point has several constraint states, and the state of the glyph is the union of all of its point states.
- Each point has a default start state, including its default constraints.
- States are used by defining a set of transition rules that switch from using one concrete constraints system to another. There are many types of transition rules possible, including outside events or user interaction.
- states are specified by the font designer through a graphical user interface. The designer visually recognizes a situation in which the constraints governing the behavior of a glyph point should be modified.
- Figs. 17A-17F show the transition rule and the portion of constraints graph which changes in two states (Figs. 17D and 17F) to correct the behavior of the Courier points while holding axis is used. Constraint states are used to overcome topology changes during dynamic parameterization.
- Figs. 17A -F illustrate the use of constraint states to solve topological problems.
- An additional point 3 is added (Fig. 17A).
- a transition rule (fig. 17E) using this point between two constraint cases (Figs. 17D and 17F) is defined to govern the movement of points 1 and 2.
- the change due to holding is illustrated by Figs 17A- 17C
- Fig. 17B illustrates an intermediate position between the non-bold Fig.17A and Fig. 17C Points 1 , 2 and 3 remain together during holding.
- Figs. 17B illustrates an intermediate position between the non-bold Fig.17A and Fig. 17C Points 1 , 2 and 3 remain together during holding.
- the present invention is not limited to a single glyph but is also applicable to a font model.
- the single glyph described hereinabove is self contained in that all the underlying geometry, features and constraints defining a glyph are stores as a single unit. This self-containment has the advantage that in order to see the glyph, it is not necessary to see the complete font.
- a "compressed" font model can be constructed in which features which are common to several glyphs are stored only once.
- the compressed font model generally designated 100, which is illustrated with reference to Fig. 25, to which reference is now made, is obtained by several simple modifications to the LiveType design glyph model 10, described hereinabove with respect to Fig. 1A.
- the components of the basic glyph model 10 are its underlying geometry 12 and its feature hierarchy 14.
- the feature hierarchy 14 comprises a plurality of features 102.
- the main components comprising a feature 102 are its geometry (boundary and support points) 20, constraints 22 and parameters 24.
- the features of all the glyphs forming the font model 100 are stored in a feature store 104.
- the glyph model does not store its underlying geometry; instead, each feature stores its own geometry.
- the glyph model does not store its features; it only points to a 'feature store' common for all glyphs in the font.
- the feature hierarchy inside the glyph is enhanced by attaching an affine transformation to every pointer to a child feature (102). This transformation should be applied on the feature geometry to bring it to the same coordinate system as its parent in the feature hierarchy.
- a glyph in the compressed font model it thus emptied of some of its content; essentially, the main remaining component is the feature hierarchy, enhanced by the affine transformations.
- each feature stores its own underlying geometry (though actually, features could still share geometry).
- each segment in a feature's geometry is optionally labeled either as an outline segment or an auxiliary segment. This optional labeling can be used when composing the outline of a glyph from its features, as described below.
- parameter signatures may be arranged either globally or locally in a feature, depending on their intended usage and type.
- Figs 15A-15C When there is a need to display a glyph or to compute its outline for some other reason, the following modifications are made to the evaluation algorithm (Figs 15A-15C). For every feature, its final affine transformation is computed (it is simply the concatenation of the affine transformations leading to it from the root feature of the glyph). Now the algorithm described in Figs. 15A- 15C is invoked, resulting in the feature's geometry. There are two ways to compose the geometries of different features. First, the segments (lines or curves) originating from all the features can be connected together, removing the segments denoted as auxiliary segments and retaining only the outline segments. Because the glyph was designed properly, the outline segments belonging to different features automatically form a valid glyph outline.
- each feature is decomposed into a solid area that covers part of the glyph and into other auxiliary parts. After the affine transformation and the evaluation process, all solid areas of all features are rasterized independently, producing a bitmap of the whole glyph. Of course, rasterizing hints should still be used for high-quality rasterization in both options.
- the compressed font model results in glyphs that are composed of features that are identical up to an affine transformation.
- a pointer feature in a glyph can store other modifications to be performed on the feature after it is evaluated in the glyph and before it is used for composing the final glyph bitmap. For example, points representing serifs can be moved finely in order to create fine differentiations between different instances of the same general serif.
- Figs. 18-21 show several illustrations for possible applications of the LiveType glyph .
- Figs. 18A-D show several snapshots from dynamic behaviours of letters: in Figs. 18A and 18B, classical typographic font family axes, weight and slant, were defined as LiveType axes for the fonts Times (a) and Courier (b), and were used to create dynamic modifications of letters.
- Fig. 18C shows the effect of changing the shape of serifs (the snow flakes were added externally).
- Fig. 18D letters from different fonts were extruded in a 3-D environment, while retaining their typographic nature as letters and being manipulated accordingly.
- Figures 19-21 show some additional dynamic behaviours, which are used either to enhance and illustrate the semantics of the word or for pure fun.
- Fig. 22 illustrates the glyphs of characters A, B and C from the Courier new font.
- the characters A, B, C contain several different features, such as sterns, bows, arcs, bars, serifs, counters and joints.
- Figs. 23A and 23B illustrate variations stemming from a single 'A' model along three different axes: horizontally, slanted variations; vertically, weight variations; and width variations between the two figures. Slant and weight axes of
- 'B' and 'C are shown in Fig. 24.
- the glyphs bounded by squares are similar to the limited variations provided by current outline representations.
- a LiveType model can support highly diverse variations by utilizing the same set of constraints with different grouping of parameters.
- Figs. 8A-8D and Fig. 17A-17C show complex modifications of glyph shapes yielding variations that cannot be achieved by interpolation methods.
- LiveType is much more space efficient than other models for font families.
- LiveType is much more powerful than existing models, supporting non-linear deformations without losing design intent.
- LiveType supports non-linear navigation in design space by effortless manipulation of parameters. Examples of possible variations are illustrated in Fig. 26 and 27.
- LiveType can be used by end-users interactively in order to create interesting font effects. These could be functionally useful in order to emphasize the user's intentions, or be done simply for aesthetic pleasure and pure fun.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU58773/98A AU5877398A (en) | 1997-02-10 | 1998-02-10 | Parametric font models based on features and constraints |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US3757997P | 1997-02-10 | 1997-02-10 | |
| US60/037,579 | 1997-02-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO1998036630A2 true WO1998036630A2 (en) | 1998-08-27 |
| WO1998036630A3 WO1998036630A3 (en) | 1998-11-19 |
Family
ID=21895102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IL1998/000066 WO1998036630A2 (en) | 1997-02-10 | 1998-02-10 | Parametric font models based on features and constraints |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU5877398A (en) |
| WO (1) | WO1998036630A2 (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002027484A3 (en) * | 2000-09-28 | 2003-01-16 | Curl Corp | Method for processing grid and table layout using elastic properties |
| EP1600895A1 (en) * | 2004-05-28 | 2005-11-30 | Microsoft Corporation | Rendering a graphical object when a corresponding outline lacks control points |
| US7136067B2 (en) * | 2004-01-26 | 2006-11-14 | Microsoft Corporation | Using externally parameterizeable constraints in a font-hinting language to synthesize font variants |
| US7187382B2 (en) * | 2004-01-26 | 2007-03-06 | Microsoft Corporation | Iteratively solving constraints in a font-hinting language |
| US7236174B2 (en) | 2004-01-26 | 2007-06-26 | Microsoft Corporation | Adaptively filtering outlines of typographic characters to simplify representative control data |
| US7292247B2 (en) | 2004-01-26 | 2007-11-06 | Microsoft Corporation | Dynamically determining directions of freedom for control points used to represent graphical objects |
| US7711208B2 (en) | 2003-11-06 | 2010-05-04 | Socoto Gmbh & Co. Kg | Method for changing the dimensions of an electronically stored image |
| US8253742B2 (en) | 2004-05-28 | 2012-08-28 | Microsoft Corporation | Rendering stroke pairs for graphical objects |
| CN106033402A (en) * | 2015-03-02 | 2016-10-19 | 汉阳信息与通讯有限公司 | System and method for generating multiple master glyph |
| KR20210072399A (en) * | 2019-12-09 | 2021-06-17 | 숭실대학교산학협력단 | Font generating device and method for changing partial character style |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5583978A (en) * | 1994-05-27 | 1996-12-10 | Bitstream Inc. | Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions |
-
1998
- 1998-02-10 WO PCT/IL1998/000066 patent/WO1998036630A2/en active Application Filing
- 1998-02-10 AU AU58773/98A patent/AU5877398A/en not_active Abandoned
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002027484A3 (en) * | 2000-09-28 | 2003-01-16 | Curl Corp | Method for processing grid and table layout using elastic properties |
| US6919890B2 (en) | 2000-09-28 | 2005-07-19 | Curl Corporation | Grid and table layout using elastics |
| US7978935B2 (en) | 2003-11-06 | 2011-07-12 | Socoto Gmbh & Co. Kg | Method for changing the dimensions of an electronically stored image |
| US7711208B2 (en) | 2003-11-06 | 2010-05-04 | Socoto Gmbh & Co. Kg | Method for changing the dimensions of an electronically stored image |
| US7505041B2 (en) | 2004-01-26 | 2009-03-17 | Microsoft Corporation | Iteratively solving constraints in a font-hinting language |
| US7136067B2 (en) * | 2004-01-26 | 2006-11-14 | Microsoft Corporation | Using externally parameterizeable constraints in a font-hinting language to synthesize font variants |
| US7236174B2 (en) | 2004-01-26 | 2007-06-26 | Microsoft Corporation | Adaptively filtering outlines of typographic characters to simplify representative control data |
| US7292247B2 (en) | 2004-01-26 | 2007-11-06 | Microsoft Corporation | Dynamically determining directions of freedom for control points used to represent graphical objects |
| US7187382B2 (en) * | 2004-01-26 | 2007-03-06 | Microsoft Corporation | Iteratively solving constraints in a font-hinting language |
| WO2005074411A3 (en) * | 2004-01-26 | 2009-04-16 | Microsoft Corp | Interactively solving constraints in a font-hinting language |
| EP1600895A1 (en) * | 2004-05-28 | 2005-11-30 | Microsoft Corporation | Rendering a graphical object when a corresponding outline lacks control points |
| US7265757B2 (en) | 2004-05-28 | 2007-09-04 | Microsoft Corporation | Appropriately rendering a graphical object when a corresponding outline lacks control points |
| US8253742B2 (en) | 2004-05-28 | 2012-08-28 | Microsoft Corporation | Rendering stroke pairs for graphical objects |
| US8471856B2 (en) | 2004-05-28 | 2013-06-25 | Microsoft Corporation | Rendering stroke pairs for graphical objects |
| CN106033402A (en) * | 2015-03-02 | 2016-10-19 | 汉阳信息与通讯有限公司 | System and method for generating multiple master glyph |
| US9569870B2 (en) * | 2015-03-02 | 2017-02-14 | Hanyang Information & Communications Co., Ltd. | System and method for generating multiple master glyph |
| KR20210072399A (en) * | 2019-12-09 | 2021-06-17 | 숭실대학교산학협력단 | Font generating device and method for changing partial character style |
| KR102329116B1 (en) | 2019-12-09 | 2021-11-19 | 숭실대학교 산학협력단 | Font generating device and method for changing partial character style |
| US11651140B2 (en) | 2019-12-09 | 2023-05-16 | Foundation Of Soongsil University Industry Cooperation | Font generating device and method for changing partial character style |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1998036630A3 (en) | 1998-11-19 |
| AU5877398A (en) | 1998-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4434343B2 (en) | Character generation apparatus and character generation method | |
| US6249908B1 (en) | System and method for representing graphical font data and for converting the font data to font instructions | |
| US6628295B2 (en) | Modifying a stylistic property of a vector-based path | |
| Bostock et al. | D³ data-driven documents | |
| US6504545B1 (en) | Animated font characters | |
| EP1611550B1 (en) | Method and apparatus for antialiasing a region of a two-dimensional distance field representing an object | |
| US7412360B2 (en) | Method and apparatus for shape deformation and placement | |
| US6917369B2 (en) | Method and apparatus for rendering cell-based distance fields using texture mapping | |
| US20040189664A1 (en) | Method for antialiasing a set of objects represented as a set of two-dimensional distance fields in object-order | |
| EP2043048B1 (en) | Method for rendering a region of a composite glyph | |
| EP1642261B1 (en) | Method and apparatus for determining an antialiased intensity of a component of a pixel from a two-dimensional adaptively distance field | |
| US5640589A (en) | Method and device for generating graphic data using a writing motion model | |
| US20050237325A1 (en) | Using constrained optimization in curve editing | |
| WO1998036630A2 (en) | Parametric font models based on features and constraints | |
| Pereira et al. | Generative type design: Creating glyphs from typographical skeletons | |
| US7034830B2 (en) | Method for generating a two-dimensional distance field within a cell associated with a corner of a two-dimensional object | |
| US7327368B2 (en) | Methods and apparatus for supporting and implementing computer based animation | |
| US7176926B2 (en) | Method for animating two-dimensional objects | |
| Shamir et al. | Feature-based design of fonts using constraints | |
| Lim et al. | Oriental character font design by a structured composition of stroke elements | |
| Dragicevic et al. | Artistic resizing: a technique for rich scale-sensitive vector graphics | |
| Halper et al. | Creating non-photorealistic images the designer's way | |
| McQueen III et al. | Infinifont: a parametric font generation system | |
| US7123271B2 (en) | Method and apparatus for antialiasing a set of objects represented as a set of two-dimensional distance fields in image-order | |
| Haralambous | Parametrization of PostScript fonts through mEtaFoNt—an alternative to Adobe Multiple Master Fonts |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 09355914 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: JP Ref document number: 1998536450 Format of ref document f/p: F |
|
| 122 | Ep: pct application non-entry in european phase |