The focus of this build is rendering vector data.
One thing about maps is that they have huge visual diversity. The number of different symbols, strokes, colors, etc, that people use for vector data in particular is staggering. It is rather obvious that however many preset styles for vector data we provide, there will always be a call for more. So, what we wanted to have for 9 is a way to specify how to display vector data that would be flexible and extensible.
- we converted style strings from plain style names to JSON,
- we added style parameters that the user can tune, changing the look of a style,
- we split style data into logical blocks and allowed combining them independently within a style,
...and we also made sure it is fast, robust, works for both screens and printers, including PDF generation, as well as easy to use both interactively and programmatically.
Graphics engine choices in Options are renamed from Engine: Advanced, hardware acceleration allowed / Advanced / Basic to Graphics: Normal / Normal, no hardware acceleration / Reduced. (We think this better reflects the nature of each choice.)
Font definitions use JSON. Old font definitions are mapped to JSON seamlessly.
Fonts allow weights other than bold: light, semi-bold, ultra-bold, etc.
Fonts allow a new type of italic: oblique. (Currently this can only be set in the JSON string, the system font dialog does not show this option. We are planning to replace the system font dialog with a dialog of our own in the future.) Normal graphics only.
Fonts allow specifying stretch: normal, condensed, expanded, etc. (This also currently can only be set in the JSON string, not via the UI.) Normal graphics only.
Style definitions use JSON. Old style definitions are mapped to JSON seamlessly. (Old and new style definitions can be mixed freely as well. For example, if we open a pre-168.2 MAP file with thematic formatting for styles and change the style for one of the thematic choices in the style pane, the system will happily use the new JSON style for the edited choice and old style strings for all other choices.)
Style pickers for areas, lines, points, labels allow specifying a custom style using a dialog. The dialog allows specifying parameters for a style and displays a preview. The preview as well as all style choices in the dialog are rendered using the graphics engine specified in options (unlike format pickers in the Style and Record panes, which are currently always using reduced graphics - we will change this).
Editing a point style allows choosing styles from either a built-in list of vector shapes (Standard) or from a font. Instead of listing the names of installed fonts, the dialog provides a list of symbol fonts available on Windows systems (Wingdings, etc) and an option to specify a custom font. All parameters of a custom font are preserved (previously we were discarding all options like font weight and were only using the font name).
Point styles for vector shapes allow specifying stroke width. Stroke width as well as all other numeric parameters for distances can be set to either an absolute value in points (for example, '5') or a percentage of the size (for example, '100%'). The default value is 1 pt.
Line styles with dashes allow specifying dash length (default 300%), dash space (default 100%) and whether dashes should use round or flat caps (default flat). Normal graphics only.
Line styles allow specifying exterior rendered "below" the line. The only exterior option for lines is currently is a solid line which is as wide as the line size plus specified padding (default 3 pt). By default there is no exterior.
Default line size is changed from 0 (device-specific pixel) to 1 pt.
Area styles allow specifying border style (default solid) and border stroke width (default 1 pt). Border styles with dashes allow specifying dash length, dash space and dash caps, with same defaults as for lines.
Point styles allow specifying exterior. Exterior options are: circle, rectangle, rounded rectangle. Parameters: stroke width (default 1 pt) and padding (default 3 pt).
Point styles allow specifying exterior: shadow. Parameters: angle (default 135 degrees) and offset (default 3 pt). Rotating a point does not rotate the shadow (intentional).
Area styles support rotation for the fill pattern. The Style pane and the Record pane include controls to specify area rotation similarly to point rotation. Area patterns rendered from vector data continue to use antialiasing, etc. Normal graphics only.
Area styles allow specifying stroke width (default 1 pt).
Label styles are reworked into label exterior options, similar to points, and similarly parameterized.
Labels can display a point sign together with the text. The location of the sign is determined by the label style. (Currently the only option is to have the sign on the left, we are going to add more options.) The point sign can be either a built-in vector shape (with a parameter for stroke width) or a font character.
All styles allow overriding colors for the exterior. (For example, you can set the shadow for a blue-yellow symbol to be light gray, or you can set the border of a red-transparent area to be a darker shade of red.) All overridden colors can be set to be transparent.
Label styles allow specifying the size of the point sign (default 100%) and the space between the point sign and the text (default 3 pt).
Point styles for built-in vector shapes allow specifying width (default 100%, can only decrease).
Editing a style allows specifying colors, size and rotation for the preview.
There are multiple new styles for areas and points.
Clip transform is renamed to Clip Individual, Clip All transform is renamed to Clip.
Parameter pickers in Select and Transform panes are made slightly less tall and cleaner, dropdown arrows on the right are removed.
Gravity and Kriging transforms allow interpolating data with Voronoi neighbors outside of the convex hull. Passing a zero for the number of neighbors (the default) restricts output to the convex hull, passing a negative value produces data outside of the convex hull.
Voronoi transforms use a single margin parameter instead of inflate X and inflate Y parameters. The margin is applied to the extent of the original data, not to the extent of the original data plus Voronoi vertices like before (this stops the result of Voronoi transforms from looking like a huge rect with all data in one of the corners - if preserving all Voronoi vertices is important, this can be achieved by pasing a huge margin). Passing a negative value for the margin sets it to 1% of maximum dimension of input data.
IMG dataport supports more variants of IMG / RRD.
End of list.