void persistent_write_map (url file, hashmap<string,string> map) { string s; iterator<string> it= iterate (map); while (it->busy ()) { string key= it->next (); write_escaped (s, key); s << '\n'; write_escaped (s, map[key]); s << '\n'; } save_string (file, s, false); }
static void svg_text(double x, double y, const char *str, double rot, double hadj, const pGEcontext gc, pDevDesc dd) { SVGDesc *svgd = (SVGDesc*) dd->deviceSpecific; fputs("<text", svgd->file); if (rot == 0) { write_attr_dbl(svgd->file, "x", x); write_attr_dbl(svgd->file, "y", y); } else { fprintf(svgd->file, " transform='translate(%.2f,%.2f) rotate(%0.0f)'", x, y, -1.0 * rot); } write_attr_dbl(svgd->file, "font-size", gc->cex * gc->ps); if (is_bold(gc->fontface)) write_attr_str(svgd->file, "font-weight", "bold"); if (is_italic(gc->fontface)) write_attr_str(svgd->file, "font-style", "italic"); if (gc->col != -16777216) // black write_attr_col(svgd->file, "fill", gc->col); std::string font = fontname(gc->fontfamily); write_attr_str(svgd->file, "font-family", font.c_str()); fputs(">", svgd->file); write_escaped(svgd->file, str); fputs("</text>\n", svgd->file); }
static gboolean write_attribute_string (GDataOutputStream *stream, const char *elt_name, const char *str, GError **error) { gboolean ret = FALSE; char *elt; elt = g_strdup_printf (" %s=\"", elt_name); ret = g_data_output_stream_put_string (stream, elt, NULL, error); g_free (elt); if (!ret) goto out; ret = write_escaped (stream, str, error); if (!ret) goto out; ret = g_data_output_stream_put_string (stream, "\"", NULL, error); out: return ret; }