EP1762984A2

Hierarchical image-based representation of animated three-dimensional object and method for using this representation for the object rendering

Abstract

Methods and apparatus, including computer program products, that implement a method for adjusting a glyph outline while rendering. In one aspect a method includes receiving a glyph to be rendered at a size; generating from the glyph an outline of line segments, each line segment having two endpoints; translating the line segments all in an outward or inward direction, each line segment being moved by a distance and then rejoining pairs of adjacent line segments by extending or trimming their endpoints until each pair of adjacent line segments join at an intersection point that is an endpoint of each the line segments of the pair; and determining an augmented scaled outline of the glyph from the translated and rejoined line segments.

EP1762984A2, drawing sheet 1
Sheet 1 of 55

Term

Term ended

Projected expiry passed 11 September 2026, 0 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

32 claims: 12 independent, 20 dependent

  1. 1
    A computer-implemented method comprising:receiving a glyph to be rendered at a size;generating from the glyph an outline of line segments, each line segment having two endpoints;translating the line segments all in an outward or inward direction, each line segment being moved by a distance, and then rejoining pairs of adjacent line segments by extending or trimming their endpoints until each pair of adjacent line segments join at an intersection point that is an endpoint of each the line segments of the pair;and determining an augmented scaled outline of the glyph from the translated and rejoined line segments.
  2. 5
    The method of any preceding claim, wherein:the distance which a line segment is moved is represented by a horizontal component and a vertical component, and the line segment is moved by moving each endpoint of the line segment by the horizontal component and by the vertical component.
  3. 6
    The method of any preceding claim, wherein generating the outline of line segments includes:generating from the glyph an initial outline;scaling the initial outline in accordance with the size to generate a scaled outline;and changing any curve of the scaled outline to one or more line segments.
  4. 8
    The method of any preceding claim, wherein:the distance which a line segment is translated is based on a displacement number that is calculated as a function of scaled stem width or size.
  5. 11
    The method of any preceding claim, further comprising:determining whether a rejoining of two line segments has violated one or more constraints, wherein the rejoining produces an intersection point that is the intersection of the two line segments, the intersection being an endpoint for each of the line segment;and when the rejoining is determined to have violated the one or more constraints, adjusting the position of the intersection point.
  6. 14
    The method of any preceding claim, further comprising:generating a bitmap from the augmented scaled outline.
  7. 17
    A computer-program product, tangibly stored on machine-readable medium, the product comprising instructions operable to cause a computing device to perform a method comprising:receiving a glyph to be rendered at a size;generating from the glyph an outline of line segments, each line segment having two endpoints;translating the line segments all in an outward or inward direction, each line segment being moved by a distance, and then rejoining pairs of adjacent line segments by extending or trimming their endpoints until each pair of adjacent line segments join at an intersection point that is an endpoint of each the line segments of the pair;and determining an augmented scaled outline of the glyph from the translated and rejoined line segments.
  8. 21
    The product of any of claims 17 to 20, wherein:the distance which a line segment is moved is represented by a horizontal component and a vertical component, and the line segment is moved by moving each endpoint of the line segment by the horizontal component and by the vertical component.
  9. 22
    The product of any of claims 17 to 21, wherein generating the outline of line segments includes:generating from the glyph an initial outline;scaling the initial outline in accordance with the size to generate a scaled outline;and changing any curve of the scaled outline to one or more line segments.
  10. 24
    The product of any of claims 17 to 23, wherein:the distance which a line segment is translated is based on a displacement number that is calculated as a function of scaled stem width or size.
  11. 27
    The product of any of claims 17 to 26, wherein the method further comprises:determining whether a rejoining of two line segments has violated one or more constraints, wherein the rejoining produces an intersection point that is the intersection of the two line segments, the intersection being an endpoint for each of the line segment;and when the rejoining is determined to have violated the one or more constraints, adjusting the position of the intersection point.
  12. 30
    The product of any of claims 17 to 29, wherein the method further comprises:generating a bitmap from the augmented scaled outline.