- case '<' : g_string_append (html, "<"); break;
- case '>' : g_string_append (html, ">"); break;
- case '&' : g_string_append (html, """); break;
- case '\n': g_string_append (html, "<br>\n"); break;
+ case '<' : g_string_append (html, "<"); break;
+ case '>' : g_string_append (html, ">"); break;
+ case '&' : g_string_append (html, "&"); break;
+ case '"' : g_string_append (html, """); break;
+ case '\'' : g_string_append (html, "'"); break;
+ case '\n' : g_string_append (html, "<br>\n"); break;
+ case '\t' : g_string_append (html, " "); break; /* note the space at the end*/
+ case ' ':
+ if (space_seen) { /* second space in a row */
+ g_string_append (html, "  ");
+ space_seen = FALSE;
+ } else
+ space_seen = TRUE;
+ break;