Class TTFMarkFactory

  • All Implemented Interfaces:

    public class TTFMarkFactory
    extends Object
    implements MarkFactory
    This factory accepts mark paths in the ttf://fontName#code format, where fontName is the name of a TrueType font installed in the system, or a URL to a TTF file, and the code is the character code, which may be expressed in decimal, hexadecimal (e.g. 0x10) octal (e.g. 045) form, as well as Unicode codes (e.g. U+F054 or ).
    Andrea Aime - TOPP
    • Field Detail

      • INSTANCE

        public static TTFMarkFactory INSTANCE
        The factory is completely stateless, this single instance can be safely used across multiple threads
    • Constructor Detail

      • TTFMarkFactory

        public TTFMarkFactory()
    • Method Detail

      • getShape

        public Shape getShape​(Graphics2D graphics,
                              Expression symbolUrl,
                              Feature feature)
                       throws Exception
        Description copied from interface: MarkFactory
        Turns the specified URL into an Shape, eventually using the Feature attributes to evaluate the expression, or returns null if the factory cannot evaluate this symbolUrl.

        The returned Shape must not exceed the [-0.5, -0.5, 0.5, 0.5] bounds (will be rescaled according to the parameter given in graphics on the fly

        Specified by:
        getShape in interface MarkFactory
        symbolUrl - the expression that will return the symbol name. Once evaluated the expression should return something like plainName or like protocol://path. See the actual implementations for details on the kind of supported name.
        feature - The feature that will be used to evaluate the symbolURL expression (or to extract data from it, think complex attributes, in that case a visit to the expression and some direct attribute value extraction might be needed instead)
      • getShape

        public Shape getShape​(ExternalMark mark)
        Returns a shape from an external mark definition
      • main

        public static void main​(String[] args)