Index: /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 19588)
+++ /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintSettings.java	(revision 19589)
@@ -15,6 +15,7 @@
 
     /** The unique instance **/
-    public static final MapPaintSettings INSTANCE = new MapPaintSettings();
-
+    public static final MapPaintSettings INSTANCE = new MapPaintSettings("");
+
+    private final String prefix;
     private boolean useRealWidth;
     /** Preference: should directional arrows be displayed */
@@ -67,5 +68,6 @@
     private Color taggedConnectionColor;
 
-    private MapPaintSettings() {
+    private MapPaintSettings(String prefix) {
+        this.prefix = prefix;
         load();
         Config.getPref().addPreferenceChangeListener(this);
@@ -73,26 +75,19 @@
 
     /**
-     * Creates MapPaintSettings with most neutral settings, that do not override MapCSS.
+     * Creates MapPaintSettings with optional prefix to fine-tune settings influence
      * Useful for MapCSS CLI/Plugin rendering, via {@link org.openstreetmap.josm.gui.mappaint.RenderingHelper}
+     * @param prefix a option prefix, should be lowercase with a dot at the end
      * @return a new MapPaintSettings instance with neutral values.
-     * @since 19549
-     */
-    public static MapPaintSettings createNeutralSettings() {
-        MapPaintSettings neutralSettings = new MapPaintSettings();
-        neutralSettings.useRealWidth = false; // Real width is not used (at least currently)
-        neutralSettings.showDirectionArrow = false; // Direction arrows are turned off
-        neutralSettings.showOnewayArrow = false; // One way arrows are disabled
-        neutralSettings.showNamesDistance = 0; // Forced labels are turned off
-        neutralSettings.showOrderNumber = false;
-        neutralSettings.showOrderNumberOnSelectedWay = false;
-        neutralSettings.outlineOnly = false;
-        return neutralSettings;
+     * @since 19589
+     */
+    public static MapPaintSettings createSettings(String prefix) {
+        return new MapPaintSettings(name);
     }
 
     private void load() {
-        showDirectionArrow = Config.getPref().getBoolean("draw.segment.direction", false);
-        showOnewayArrow = Config.getPref().getBoolean("draw.oneway", true);
-        useRealWidth = Config.getPref().getBoolean("mappaint.useRealWidth", false);
-        defaultSegmentWidth = Config.getPref().getInt("mappaint.segment.default-width", 2);
+        showDirectionArrow = Config.getPref().getBoolean(prefix+"draw.segment.direction", false);
+        showOnewayArrow = Config.getPref().getBoolean(prefix+"draw.oneway", true);
+        useRealWidth = Config.getPref().getBoolean(prefix+"mappaint.useRealWidth", false);
+        defaultSegmentWidth = Config.getPref().getInt(prefix+"mappaint.segment.default-width", 2);
 
         selectedColor = PaintColors.SELECTED.get();
@@ -109,22 +104,22 @@
         }
 
-        showOrderNumber = Config.getPref().getBoolean("draw.segment.order_number", false);
-        showOrderNumberOnSelectedWay = Config.getPref().getBoolean("draw.segment.order_number.on_selected", false);
-        showHeadArrowOnly = Config.getPref().getBoolean("draw.segment.head_only", false);
-
-        showNamesDistance = Config.getPref().getInt("mappaint.shownames", 10_000_000);
-        useStrokesDistance = Config.getPref().getInt("mappaint.strokes", 10_000_000);
-        showIconsDistance = Config.getPref().getInt("mappaint.showicons", 10_000_000);
-
-        selectedNodeSize = Config.getPref().getInt("mappaint.node.selected-size", 5);
-        unselectedNodeSize = Config.getPref().getInt("mappaint.node.unselected-size", 3);
-        connectionNodeSize = Config.getPref().getInt("mappaint.node.connection-size", 5);
-        taggedNodeSize = Config.getPref().getInt("mappaint.node.tagged-size", 3);
-        fillSelectedNode = Config.getPref().getBoolean("mappaint.node.fill-selected", true);
-        fillUnselectedNode = Config.getPref().getBoolean("mappaint.node.fill-unselected", false);
-        fillTaggedNode = Config.getPref().getBoolean("mappaint.node.fill-tagged", true);
-        fillConnectionNode = Config.getPref().getBoolean("mappaint.node.fill-connection", false);
-
-        outlineOnly = Config.getPref().getBoolean("draw.data.area_outline_only", false);
+        showOrderNumber = Config.getPref().getBoolean(prefix+"draw.segment.order_number", false);
+        showOrderNumberOnSelectedWay = Config.getPref().getBoolean(prefix+"draw.segment.order_number.on_selected", false);
+        showHeadArrowOnly = Config.getPref().getBoolean(prefix+"draw.segment.head_only", false);
+
+        showNamesDistance = Config.getPref().getInt(prefix+"mappaint.shownames", 10_000_000);
+        useStrokesDistance = Config.getPref().getInt(prefix+"mappaint.strokes", 10_000_000);
+        showIconsDistance = Config.getPref().getInt(prefix+"mappaint.showicons", 10_000_000);
+
+        selectedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.selected-size", 5);
+        unselectedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.unselected-size", 3);
+        connectionNodeSize = Config.getPref().getInt(prefix+"mappaint.node.connection-size", 5);
+        taggedNodeSize = Config.getPref().getInt(prefix+"mappaint.node.tagged-size", 3);
+        fillSelectedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-selected", true);
+        fillUnselectedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-unselected", false);
+        fillTaggedNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-tagged", true);
+        fillConnectionNode = Config.getPref().getBoolean(prefix+"mappaint.node.fill-connection", false);
+
+        outlineOnly = Config.getPref().getBoolean(prefix+"draw.data.area_outline_only", false);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java	(revision 19588)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/RenderingHelper.java	(revision 19589)
@@ -45,4 +45,5 @@
     private Color backgroundColor;
     private boolean fillBackground = true;
+    private String prefix = "";
     private PrintStream debugStream;
 
@@ -185,5 +186,5 @@
             g.fillRect(0, 0, imgDimPx.width, imgDimPx.height);
         }
-        StyledMapRenderer smr = new StyledMapRenderer(g, nc, false, MapPaintSettings.createNeutralSettings());
+        StyledMapRenderer smr = new StyledMapRenderer(g, nc, false, MapPaintSettings.createSettings(prefix));
         smr.setStyles(elemStyles);
         smr.render(ds, false, bounds);
@@ -208,3 +209,12 @@
         this.debugStream = debugStream;
     }
+
+    /**
+     * Set a prefix for rendering style defaults.
+     * @param prefix the option prefix used when accessing style settings, should be lowercase with a dot at the end
+     * @since 19589
+     */
+    void setPrefix(String prefix) {
+        this.prefix = prefix;
+    }
 }
