Index: trunk/src/font.c =================================================================== --- trunk/src/font.c (revision 36680) +++ trunk/src/font.c (revision 36681) @@ -82,25 +82,7 @@ { if (id <= 0) { do_default:; - if (unlink) { - int s; - pcb_font_t *f = malloc(sizeof(pcb_font_t)); - memcpy(f, &pcb->fontkit.dflt, sizeof(pcb_font_t)); - /* change the parent of linked lists to f */ - for(s = 0; s < PCB_MAX_FONTPOSITION; s++) { - pcb_symbol_t *symbol = &f->Symbol[s]; - pcb_poly_t *poly; - pcb_arc_t *arc; - for(poly = polylist_first(&symbol->polys); poly != NULL; poly = polylist_next(poly)) - poly->link.parent = (gdl_list_t *)&symbol->polys; - for(arc = arclist_first(&symbol->arcs); arc != NULL; arc = arclist_next(arc)) - arc->link.parent = (gdl_list_t *)&symbol->arcs; - } - memset(&pcb->fontkit.dflt, 0, sizeof(pcb_font_t)); - return f; - } - else - return &pcb->fontkit.dflt; + return &pcb->fontkit.dflt; } if (pcb->fontkit.hash_inited) { Index: trunk/src/font.h =================================================================== --- trunk/src/font.h (revision 36680) +++ trunk/src/font.h (revision 36681) @@ -40,23 +40,7 @@ #include -/* --------------------------------------------------------------------------- - * symbol and font related stuff - */ -typedef struct symbol_s { /* a single symbol */ - pcb_line_t *Line; - rnd_bool Valid; - rnd_cardinal_t LineN; /* number of lines */ - rnd_cardinal_t LineMax; /* lines allocated */ - rnd_coord_t Width, Height, Delta; /* size of cell, distance to next symbol */ - polylist_t polys; /* simple (non-clipped) polygons */ - arclist_t arcs; -} pcb_symbol_t; - struct pcb_font_s { /* complete set of symbols */ - rnd_coord_t MaxHeight, MaxWidth; /* maximum cell width and height */ - rnd_box_t DefaultSymbol; /* the default symbol is a filled box */ - pcb_symbol_t Symbol[PCB_MAX_FONTPOSITION + 1]; char *name; pcb_font_id_t id; Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 36680) +++ trunk/src/obj_subc.c (revision 36681) @@ -2172,8 +2172,8 @@ draw_subc_per_layer(); /* calculate where the label ends up - always top-right, even if board is flipped */ - dx = font->MaxWidth/2; - dy = font->MaxHeight/2; + dx = font->rnd_font.max_width/2; + dy = font->rnd_font.max_height/2; if (rnd_conf.editor.view.flip_x) { x0 = bb->X2;