Provides a high-fidelity alternative to standard FME labeling when working with complex, curved linear features. Standard labeling tools struggle with character-level rotation on tight curves, and advanced plugins can be cost-prohibitive. This transformer uses a "Mapnik-proxy" technique to ensure text follows the road spine with mathematical precision.
Input
Line Geometry: The transformer accepts linear features.
Rejection: Any non-linear features (Points, Polygons, Nulls) will be rejected to ensure the linear referencing and measure-based sorting logic remains intact.
Output
Labels: Depending on user settings, labels are output as either:
Multi-text Features: Individual characters placed as text entities, ideal for further vector styling or CAD export.
Stroked Polygons: Characters converted into vector shapes. This ensures the font renders exactly the same on every system, regardless of whether the font is installed.
Parameters
Name
The attribute containing the text string to be used for the label (e.g., FULLNAME).
Label Height in Ground Units
The desired height of the text in map units (e.g., meters). This is the master driver for the transformer; all internal offsets and tolerances scale automatically based on this value.
Spacing
Label Spacing: The distance (in pixels) between repeated labels along a single long line. Setting this to 0 will place only a single label per feature.
Character Spacing
The horizontal gap between individual letters. Use 0 for standard Monospace fonts.
Use values > 20 for proportional fonts (like Georgia) to mask alignment shifts.
Font
Font Name: Specify the font family.
Note: Optimized for Monospace fonts (SF Mono, Menlo, Courier, Consolas). For non-monospace fonts, high Character Spacing values are required for clean results.
Stroke Labels
Choose Yes to output labels as geometric polygons or No to keep them as text entities.
Usage Notes
Choosing the Right Font
For perfectly "locked" alignment where characters touch, always use a Monospace font. Because every character has the same width, the transformer can calculate the exact center of every glyph.
The "Optical Spacing" Trick
If your map design requires a proportional font (like Georgia or Arial), you must increase the Character Spacing (typically to 25 or 30). This creates a "spaced-out" aesthetic that masks the slight irregularities caused by varying letter widths (like a thin "i" vs. a wide "w"), resulting in a sophisticated, intentional look on curved roads.
Performance
Because this transformer performs character-level calculations and raster-to-vector proxies, processing time increases with label density. For large city-wide datasets, consider filtering for major roads first to maintain optimal performance.
Compatibility & CAD Output
When writing to CAD-based systems (AutoCAD DWG, Bentley MicroStation DGN), please note the following:
- Data Inspector vs. Native CAD: The alignment and rotation seen in the FME Data Inspector may vary slightly from the final result in CAD software. This is because each system uses unique internal engines to render text justification and font metrics.
- The "Stroked" Solution: For 100% visual fidelity across all platforms (including DWG/DGN), set Stroke Labels to Yes. This outputs the text as geometric polygons, bypassing the target system's font engine entirely.
- Text Entities: If outputting as native text entities, the transformer provides a single anchor point per character. You may need to use a DGNStyler or DWGStyler after this transformer to ensure the "Justification" matches your intended anchor (Bottom-Center for spaced-out text).
- Format Specifics: Unlike specialized plugins (e.g., MapText), this transformer does not pre-calculate format-specific headers for every individual GIS/CAD system.
- Scale Integrity: To avoid character-sorting errors, ensure your Label Spacing is at least 1.5x the total horizontal length of your text string. If labels appear scrambled or overlapping, it is a sign that the spacing between anchor points is too small for the chosen font size.
- Unit Consistency: This transformer calculates geometry based on the units of your Coordinate System. It is highly recommended to use Projected systems. Using Geographic systems (Degrees) will require extremely small decimal values for Label Height (e.g., 0.0001) and may lead to precision errors.
Would you like to know more? Click here to find out more details!

