Index: read.c =================================================================== --- read.c (revision 34354) +++ read.c (revision 34355) @@ -2356,6 +2356,15 @@ iolht_warn(rctx, vp, -1, "Route style %s references to non-existent prototype %ld\n", s->via_proto); } } + if (rctx->rdver >= 8) { + lht_node_t *fidn = lht_dom_hash_get(stn, "fid"); + if (fidn != NULL) { + unsigned long fid; + if (parse_ulong(&fid, fidn) != 0) + return iolht_error(stn, "Invalid route style font ID\n"); + s->fid = fid; + } + } } return 0; } Index: write.c =================================================================== --- write.c (revision 34354) +++ write.c (revision 34355) @@ -1528,6 +1528,11 @@ else if (s->texts > 0) pcb_io_incompat_save(NULL, NULL, "route-style", "lihata boards before version v6 did not support text scale in route style\n", "Either save in lihata v6+ or be aware of losing this information"); + if ((wrver >= 8) && (s->fid != -1)) + lht_dom_hash_put(sn, build_textf("fid", "%ld", s->fid)); + else if (s->fid != -1) + pcb_io_incompat_save(NULL, NULL, "route-style", "lihata boards before version v8 did not support setting font from style\n", "Either save in lihata v8+ or be aware of losing this information"); + lht_dom_hash_put(sn, build_attributes(&s->attr)); } return stl;