Changes between Version 64 and Version 69 of DevelopersGuide/DefaultPresets


Ignore:
Timestamp:
(multiple changes)
Author:
(multiple changes)
Comment:
(multiple changes)

Legend:

Unmodified
Added
Removed
Modified
  • DevelopersGuide/DefaultPresets

    v64 v69  
    2626
    2727== New Icons ==
    28 * The file format must be **svg** for lossless scaling. (Technically png is supported too but all preset icons are svg since August 2016.)
     28* The file format must be **SVG** for lossless scaling. (Technically png is supported too but all preset icons are svg since August 2016.)
    2929* The icon must be **identifiable at a size of 16 pixels**. This is the default size the icons are displayed in the [wikitr:/Help/MapView Map View] on standard dpi (not hidpi) screens.
    30 * The **license** needs to be compatible with GPL3 (like PD or CC0). A good source for Icons is [https://openclipart.org openclipart.org] (all icons there are PD), [https://publicdomainvectors.org/ publicdomainvectors.org] (all icons CC0), [https://freesvg.org/ freesvg.org] (all icons CC0) or [http://osm-icons.org/wiki/Icons osm-icons.org] (a lot are CC0). You can also check if JOSM already has a fitting unused icon in one of its icon folders: [browser:josm/trunk/resources/images used icons] and [browser:josm/trunk/nodist/images unused icons].
     30* The **license** needs to be compatible with GPL3 (like PD or CC0). A good source for Icons is [https://openclipart.org openclipart.org] (all icons there are PD), [https://publicdomainvectors.org/ publicdomainvectors.org] (all icons CC0), [https://freesvg.org/ freesvg.org] (all icons CC0) or [http://osm-icons.org/wiki/Icons osm-icons.org] (a lot are CC0). You can also check if JOSM already has a fitting unused icon in one of its icon folders: [source:josm/trunk/resources/images used icons] and [source:josm/trunk/nodist/images unused icons].
    3131* If the tag applies to nodes, the icon in the MapView and the icon of the preset should be the same if possible. (It is not possible when different features use the same preset, e.g. `crossing=island` and `crossing=traffic_signals` have different icons, but are handled in only one preset "Pedestrian Crossing".)
    3232* Icons with transparent background must **not be only black or only white**. Otherwise if one uses a black or white background (no aerial imagery as background) in the Map View black or white icons would be invisible. Workaround: if you want to use a black icon add a square white background to the icon instead of a transparent background or better use a white halo. \\
    … …  
    3737* To test your icon against these requirements within JOSM the mappaint style [wikitr:/Styles/IconTester Icon tester] helps you.
    3838
    39 === Possible problems with svg in JOSM ===
    40 Please check if the svg file correctly works within JOSM.
     39=== Possible problems with SVG in JOSM ===
     40Please check if the SVG file correctly works within JOSM.
    4141
    42 * The base size of svg should be 16px or larger than 64px. Images with a base size between 16 and 64 px will not be scaled down to 16px.
    43 * There are some svg libraries which do not work with JOSM (the images get deformed). If you have such a file try the following workaround: create a new svg document with Inkscape, copy the svg data to this new file, resize the page to the data and save.
    44 * Resize your icon to 16px or an integer multiple size of it (not something like 458.1534) to avoid display inaccuracies due to rounding errors within java.
    45 * Check the code of the file in a text editor. Search for **viewBox** value in the beginning of the file. If the icon is, for example, in 16x16 pixels, and if you made it in Inkscape (at least this happens in 0.91 version) and have defined in Document Properties 16,00000 by 16,00000 pixels, probably in the file code you have these values **viewBox="0 0 16.000002 16.000001"**. Change it to **viewBox="0 0 16 16"** or you will have problems (see #12201 and the fix [o31865])
    46 * svg icons are automatically cleaned up to reduce file size in the JOSM build. So there is no need to do this step manually before uploading svg files to svn. See comment:35:ticket:10479, comment:10:ticket:10877 and ticket:12201#comment:21 Uncleaned svgs are better for further editing.
    47 * Due to a bug in svgcleaner however, the svg code shouldn't contain arguments starting with special characters in style codes e.g. `-inkscape-font-specification:Sans;`. This can lead to color changes (see #13158).
    48 * If the icon includes gradients, the offset needs to increase at every stop, i.e. two stops with the same offset are not allowed, see [https://github.com/blackears/svgSalamander/pull/4 svg salamander].
    49 * CSS styles (`<style type="text/css">`) are not supported yet by svgSalamander.
    50 * If possible don't use text elements at all as this can lead to different display results based on e.g. os or installed fonts. To avoid this you can transform text into paths in the svg.
     42* The base size of SVG should be 16px or larger than 64px. Images with a base size between 16 and 64px will not be scaled down to 16px.
     43* There are some SVG libraries which do not work with JOSM (the images get deformed). If you have such a file try the following workaround: create a new SVG document with Inkscape, copy the SVG data to this new file, resize the page to the data and save.
     44* Resize your icon to 16px or an integer multiple size of it (not something like 458.1534) to avoid display inaccuracies due to rounding errors within Java.
     45* Check the code of the file in a text editor. Search for **viewBox** value in the beginning of the file. If the icon is, for example, in 16x16 pixels, and if you made it in Inkscape (at least this happens in 0.91 version) and have defined in Document Properties 16,00000 by 16,00000 pixels, probably in the file code you have these values **viewBox="0 0 16.000002 16.000001"**. Change it to **viewBox="0 0 16 16"** or there can be problems.
     46* SVG icons are automatically cleaned up to reduce file size in the JOSM build. So there is no need to do this step manually before uploading SVG files to SVN. See comment:35:ticket:10479, comment:10:ticket:10877 and ticket:12201#comment:21 Uncleaned SVGs are better for further editing.
     47* Due to a bug in svgcleaner however, the SVG code shouldn't contain arguments starting with special characters in style codes e.g. `-inkscape-font-specification:Sans;`. This can lead to color changes (see #13158).
     48* Test this on a case-by-case basis: If the icon includes gradients, i.e. two stops with the same offset may cause errors.
     49* Not all features of CSS styles (`<style type="text/css">`) are supported.
     50* If possible don't use text elements at all as this can lead to different display results based on e.g. OS or installed fonts. To avoid this you can transform text into paths in the SVG.
     51* The library JSVG may throw exceptions when processing broken or invalid SVG files. These images are broken, but may be displayed in other programs nevertheless. Unsupported features may be ignored or may also cause exceptions.
    5152* Some of the named problems can be detected by executing this [source:/josm/trunk/scripts/geticons.pl script].
    5253