Interface OutlineConsumer

All Known Subinterfaces:
HintedOutlineConsumer
All Known Implementing Classes:
AutoColor, GlyphBBoxOutlineConsumer, NonOverlappingOutlineConsumer, OutlineConsumerAdapter, StemFinder, Type1CStringConsumerDefault, Type2CStringGenerator

public interface OutlineConsumer
Receives events for unhinted beziers representing glyphs. There is one event for lines, one event for curves, and one event for moves. The path will be closed after the final event. The fill will be to the left when walking in the direction of the path unless the glyph is malformed. The coordinates are in the design space of the font.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    curveto(double x2, double y2, double x3, double y3)
    Called for a quadratic curve.
    void
    curveto(double x2, double y2, double x3, double y3, double x4, double y4)
    Called for a cubic curve.
    void
    Called to signal the end of a glyph's outline.
    void
    lineto(double x, double y)
    Called for a line.
    void
    moveto(double x, double y)
    Called to set a new currentpoint.
    void
    setMatrix(Matrix newMatrix)
    Tells the OutlineConsumer the matrix to be applied to subsequent points in order to get to a 1 ppem size.
  • Method Details

    • setMatrix

      void setMatrix(Matrix newMatrix)
      Tells the OutlineConsumer the matrix to be applied to subsequent points in order to get to a 1 ppem size. It is possible for setMatrix to be called multiple times for a single glyph. Each call replaces the previous matrix. It is guaranteed that setMatrix will be called prior to any other methods.
      Parameters:
      newMatrix -
    • moveto

      void moveto(double x, double y)
      Called to set a new currentpoint. If lineto or curveto was previously been called and was the most recent function called, an implied lineto should precede this move and should close the previous segment by connecting the last point in the most recent line/curve with the point that started the last segment.
      Parameters:
      x - the x coordinate of the new currentpoint
      y - the y coordinate of the new currentpoint
    • lineto

      void lineto(double x, double y)
      Called for a line. The line goes from the current point to (x, y). After this call, the currentpoint should be x,y
    • curveto

      void curveto(double x2, double y2, double x3, double y3, double x4, double y4)
      Called for a cubic curve. The control points are the current point, (x2, y2), (x3, y3), (x4, y4). After this call, the currentpoint should be x4, y4.
    • curveto

      void curveto(double x2, double y2, double x3, double y3)
      Called for a quadratic curve. The control points are the current point, (x2, y2), (x3, y3). After this call, the currentpoint should be x3, y3.
    • endchar

      void endchar()
      Called to signal the end of a glyph's outline. The last path will already be closed by the time this is called.