Index: write.c =================================================================== --- write.c (revision 38414) +++ write.c (revision 38415) @@ -1439,6 +1439,15 @@ lht_dom_hash_put(ndt, build_textf("height", CFMT, g->height)); lht_dom_hash_put(ndt, build_textf("delta", CFMT, g->xdelta)); +#ifdef PCB_WANT_FONT2 + if (g->advance_valid) { + if (wrver >= 9) + lht_dom_hash_put(ndt, build_textf("advance", CFMT, g->advance)); + else + pcb_io_incompat_save(NULL, NULL, "font", "lihata board before v9 did not have font glyph advance", "glyph width and delta are saved; there may be slight variations in glyph spacing (this error should be in the range of nanometers)"); + } +#endif + lst = lht_dom_node_alloc(LHT_LIST, "objects"); lht_dom_hash_put(ndt, lst); for(n = 0, a = g->atoms.array; n < g->atoms.used; n++,a++) { Index: write_style.c =================================================================== --- write_style.c (revision 38414) +++ write_style.c (revision 38415) @@ -470,10 +470,12 @@ static const char *pat_width[] = {"te:width", "*", NULL}; static const char *pat_height[] = {"te:height", "*", NULL}; static const char *pat_delta[] = {"te:delta", "*", NULL}; +static const char *pat_advance[] = {"te:advance", "*", NULL}; static lhtpers_rule_t r_symbol[] = { {pat_width, &style_inline, NULL}, {pat_height, &style_inline, NULL}, {pat_delta, &style_inline, NULL}, + {pat_advance, &style_inline, NULL}, {pat_objects, &style_nlstruct, NULL}, {pat_attributes, &style_nlstruct, NULL}, {NULL, NULL, NULL}