1

I would like to know, where are simple svg-markers (for example the one that is defined as "regular_star" in .qml file) are physically located in the system? I searched the system and looked inside the symbology-ng-style.db, but with no luck.

2 Answers 2

1

Symbol references are stored in symbology-ng-style.db in table symbol. But the name in column name is not what is shown as symbol label in style dialogs.

The name regular_star is defined as value of property name in the xml symbol definition in column xml.

styles in db

Look at the xml definition (double click on the cell with xml content):

xml style definition

These symbols are hard coded in the Qgis sources. See this snipped from file qgsmarkersymbollayerv2.cpp:

src of regular_star

3
  • I feared that this is the case... Is there any way to export them to SVG? Jan 30, 2016 at 12:22
  • Hmm. The hard coding seems to extend graphical primitives of Qt. All style properties are parameterized outside, eg in these xml stories. When you take Inkscape you also have a set of primitives, which you can export to svg and then use in QGIS as symbols. But the strange thing is: my own SVG symbol cannot be changed in QGIS (eg fill color), as is the case with the provided symbols.
    – Detlev
    Jan 30, 2016 at 13:07
  • Just delete all attributes from <path .../> element except the geometry description and added fill="param(fill)" stroke="param(outline)" stroke-width="param(outline-width)", and it works: fill color, border width and color can be changed in QGIS style properties.
    – Detlev
    Jan 30, 2016 at 13:24
0

I found the .svg symbols in the QGIS program folder by searching for .svg. On my system, for 3 different QGIS versions, the .svg files for the symbol options were located in C:\Program Files\~QGIS Version~\apps\qgis\svg\. I usually add a custom folder and put my own .svg symbols in there.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.