92 char tmp[2048], ilc[9], line[256], allsame[128];
94 if(verbose>0) printf(
"svg_define_symbols(fp, errmsg, %d)\n", verbose);
96 if(
SVG_INLINE) strcpy(ilc,
"svg:");
else strcpy(ilc,
"");
97 strcpy(allsame,
"viewBox=\"0 0 120 120\" preserveAspectRatio=\"xMinYMin meet\"");
100 sprintf(line,
" <%sdefs>\n", ilc); strcat(tmp, line);
102 sprintf(line,
" <%ssymbol id=\"sym-rect\" %s >\n", ilc, allsame);
105 sprintf(line,
" <%spolygon points=\"13 13, 13 107, 107 107, 107 13\" />\n", ilc);
107 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
109 sprintf(line,
" <%ssymbol id=\"sym-circ\" %s >\n", ilc, allsame);
112 sprintf(line,
" <%scircle cx=\"60\" cy=\"60\" r=\"46\" />\n", ilc);
114 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
116 sprintf(line,
" <%ssymbol id=\"sym-uptr\" %s >\n", ilc, allsame);
119 sprintf(line,
" <%spolygon points=\" 14 14, 106 14, 60 106 \" />\n", ilc);
121 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
123 sprintf(line,
" <%ssymbol id=\"sym-dotr\" %s >\n", ilc, allsame);
126 sprintf(line,
" <%spolygon points=\" 14 106, 106 106, 60 14 \" />\n", ilc);
128 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
130 sprintf(line,
" <%ssymbol id=\"sym-letr\" %s >\n", ilc, allsame);
133 sprintf(line,
" <%spolygon points=\" 106 14, 106 106, 14 60 \" />\n", ilc);
135 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
137 sprintf(line,
" <%ssymbol id=\"sym-ritr\" %s >\n", ilc, allsame);
140 sprintf(line,
" <%spolygon points=\" 14 14, 14 106, 106 60 \" />\n", ilc);
142 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
144 sprintf(line,
" <%ssymbol id=\"sym-diam\" %s >\n", ilc, allsame);
147 sprintf(line,
" <%spolygon points=\" 60 14, 106 60, 60 106, 14 60 \" />\n", ilc);
149 sprintf(line,
" </%ssymbol>\n", ilc); strcat(tmp, line);
151 sprintf(line,
" </%sdefs>\n", ilc); strcat(tmp, line);
153 return(
svg_write(fp, tmp, errmsg, verbose-5));