The SVG Library compiler allows creating a user-defined SVG symbols library.
Most of the SVG symbols are accepted. However, some complicated ones, with gradient files, for example, can be rendered incompletely. Generally, please follow SVG Tiny specification for the best results.
Create an empty folder and copy your *.svg symbols there. You can place your symbols in subfolders. The compiler will read all the symbols, but the folder organization will be ignored. Only SVG files are supported - SVGZ symbols should be extracted first.
A folder must contain file copyright.txt which briefly (like in 250 characters, but it is not a hard limit) describes your library.
All full black colors (
“#00000) within SVG symbols will react to DK Symbol.Color. By specifying colors as
#000002, you can enforce colors to be interpreted as Symbol.Color and Symbol.OutlineColor.
Each SVG file like myfile.svg must have a corresponding description file name myfile.svg.inf.
[INFO] CATEGORY= CAPTION=
Non-ASCII characters should be encoded as UTF8 and a file should have a proper UTF BOM header.
An example file in our library Cirel01.svg.inf is:
[INFO] CATEGORY=Locators;Circles CAPTION=Circle 1
ttkSymLibCompiler.exe name source output
LIBSVG:std:Cirel01(name are not case sensitive!); use a unique name preferably using your product or company name; TatukGIS already uses
ttkSymLibCompiler.exe std c:\project\symbollibrary\std c:\libaryoutput
The library will be automatically registered if placed together with an executable file of your application.
The library name is not significant as long as the file extension is '.ttklibsvg'. Symbol prefixes, which are the same as the original library name, are embedded upon compilation into the library file.
You can also use TGIS_SymbolLibrarySVG.RegisterFileLibrary method or TGIS_SymbolLibrarySVG.RegisterResourceLibrary method to register your library upon startup.