Index: trunk/src/font.c =================================================================== --- trunk/src/font.c (revision 36681) +++ trunk/src/font.c (revision 36682) @@ -140,12 +140,11 @@ f = calloc(sizeof(pcb_font_t), 1); htip_set(&fk->fonts, id, f); if (name != NULL) - f->name = rnd_strdup(name); - f->id = id; + f->rnd_font.name = rnd_strdup(name); f->rnd_font.id = id; - if (f->id > fk->last_id) - fk->last_id = f->id; + if (f->rnd_font.id > fk->last_id) + fk->last_id = f->rnd_font.id; return f; } @@ -221,11 +220,10 @@ rnd_font_free(&fk->dflt.rnd_font); rnd_font_copy(&fk->dflt.rnd_font, &src_font->rnd_font); rnd_font_free(&src_font->rnd_font); - fk->dflt.id = 0; + fk->dflt.rnd_font.id = 0; } else { htip_set(&fk->fonts, dst, src_font); - src_font->id = dst; src_font->rnd_font.id = dst; } if (src == fk->last_id) Index: trunk/src/font.h =================================================================== --- trunk/src/font.h (revision 36681) +++ trunk/src/font.h (revision 36682) @@ -41,9 +41,6 @@ #include struct pcb_font_s { /* complete set of symbols */ - char *name; - pcb_font_id_t id; - rnd_font_t rnd_font; /* temporary */ }; Index: trunk/src/font_act.c =================================================================== --- trunk/src/font_act.c (revision 36681) +++ trunk/src/font_act.c (revision 36682) @@ -94,18 +94,18 @@ } r = pcb_parse_font(fnt, fname); - rnd_event(RND_ACT_HIDLIB, PCB_EVENT_FONT_CHANGED, "i", fnt->id); + rnd_event(RND_ACT_HIDLIB, PCB_EVENT_FONT_CHANGED, "i", fnt->rnd_font.id); if (r != 0) { rnd_message(RND_MSG_ERROR, "LoadFontFrom(): failed to load font from %s\n", fname); - pcb_del_font(&PCB_ACT_BOARD->fontkit, fnt->id); + pcb_del_font(&PCB_ACT_BOARD->fontkit, fnt->rnd_font.id); return 1; } if (dst_fid != -1) { - pcb_move_font(&PCB_ACT_BOARD->fontkit, fnt->id, dst_fid); + pcb_move_font(&PCB_ACT_BOARD->fontkit, fnt->rnd_font.id, dst_fid); } - fid = dst_fid == 0 ? 0 : fnt->id; + fid = dst_fid == 0 ? 0 : fnt->rnd_font.id; rnd_message(RND_MSG_INFO, "LoadFontFrom(): new font (ID %d) successfully loaded from file %s\n", fid, fname); RND_ACT_IRES(0); return 0; Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 36681) +++ trunk/src/obj_text.c (revision 36682) @@ -206,7 +206,7 @@ text->scale_y = scy; text->thickness = thickness; text->TextString = rnd_strdup(TextString); - text->fid = PCBFont->id; + text->fid = PCBFont->rnd_font.id; return text; } Index: trunk/src_plugins/diag/diag.c =================================================================== --- trunk/src_plugins/diag/diag.c (revision 36681) +++ trunk/src_plugins/diag/diag.c (revision 36682) @@ -149,8 +149,8 @@ } } - name = f->name == NULL ? "" : f->name; - rnd_printf("%s: %d %s; dim: %$$mm * %$$mm glyphs: %d (letter: %d, digit: %d)\n", prefix, f->id, name, f->rnd_font.max_width, f->rnd_font.max_height, g, gletter, gdigit); + name = f->rnd_font.name == NULL ? "" : f->rnd_font.name; + rnd_printf("%s: %d %s; dim: %$$mm * %$$mm glyphs: %d (letter: %d, digit: %d)\n", prefix, f->rnd_font.id, name, f->rnd_font.max_width, f->rnd_font.max_height, g, gletter, gdigit); } static const char dump_fonts_syntax[] = "dumpfonts()\n"; Index: trunk/src_plugins/draw_fontsel/draw_fontsel.c =================================================================== --- trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36681) +++ trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36682) @@ -125,14 +125,14 @@ else target_fid = conf_core.design.text_font_id; - nm = (f->name == NULL) ? "" : f->name; - rnd_snprintf(buf, sizeof(buf), "#%d [abc ABC 123] %s", f->id, nm); + nm = (f->rnd_font.name == NULL) ? "" : f->rnd_font.name; + rnd_snprintf(buf, sizeof(buf), "#%d [abc ABC 123] %s", f->rnd_font.id, nm); - dchkbox(gc, x-4, *y, (f->id == target_fid)); + dchkbox(gc, x-4, *y, (f->rnd_font.id == target_fid)); rnd_render->set_color(gc, BLACK); - t = dtext(x, *y, 200, f->id, buf); - pcb_text_bbox(pcb_font(PCB, f->id, 1), t); + t = dtext(x, *y, 200, f->rnd_font.id, buf); + pcb_text_bbox(pcb_font(PCB, f->rnd_font.id, 1), t); *y += rnd_round(RND_COORD_TO_MM(t->BoundingBox.Y2 - t->BoundingBox.Y1) + 0.5); @@ -139,7 +139,7 @@ if (font_coords < MAX_FONT) { font_coord[font_coords].y1 = y_old; font_coord[font_coords].y2 = *y; - font_coord[font_coords].fid = f->id; + font_coord[font_coords].fid = f->rnd_font.id; font_coords++; } } Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 36681) +++ trunk/src_plugins/io_lihata/read.c (revision 36682) @@ -2188,7 +2188,7 @@ } else { rnd_font_free(&fk->dflt.rnd_font); - fk->dflt.id = 0; /* restore default font's ID */ + fk->dflt.rnd_font.id = 0; /* restore default font's ID */ f = &fk->dflt; } Index: trunk/src_plugins/io_pcb/parse_l.c =================================================================== --- trunk/src_plugins/io_pcb/parse_l.c (revision 36681) +++ trunk/src_plugins/io_pcb/parse_l.c (revision 36682) @@ -2904,8 +2904,8 @@ if (yyFont != NULL) { /* printf("tag:%s=%s:\n", key,val); */ if (strcmp(key, "name") == 0) { - free(yyFont->name); - yyFont->name = rnd_strdup(val); + free(yyFont->rnd_font.name); + yyFont->rnd_font.name = rnd_strdup(val); } } } Index: trunk/src_plugins/io_pcb/parse_l.l =================================================================== --- trunk/src_plugins/io_pcb/parse_l.l (revision 36681) +++ trunk/src_plugins/io_pcb/parse_l.l (revision 36682) @@ -521,8 +521,8 @@ if (yyFont != NULL) { /* printf("tag:%s=%s:\n", key,val); */ if (strcmp(key, "name") == 0) { - free(yyFont->name); - yyFont->name = rnd_strdup(val); + free(yyFont->rnd_font.name); + yyFont->rnd_font.name = rnd_strdup(val); } } } Index: trunk/src_plugins/io_pcb/parse_y.c =================================================================== --- trunk/src_plugins/io_pcb/parse_y.c (revision 36681) +++ trunk/src_plugins/io_pcb/parse_y.c (revision 36682) @@ -1952,7 +1952,7 @@ } if (yyFontReset) { rnd_font_free(yyRndFont); - yyFont->id = 0; + yyFont->rnd_font.id = 0; } *yyFontkitValid = rnd_false; } Index: trunk/src_plugins/io_pcb/parse_y.y =================================================================== --- trunk/src_plugins/io_pcb/parse_y.y (revision 36681) +++ trunk/src_plugins/io_pcb/parse_y.y (revision 36682) @@ -293,7 +293,7 @@ } if (yyFontReset) { rnd_font_free(yyRndFont); - yyFont->id = 0; + yyFont->rnd_font.id = 0; } *yyFontkitValid = rnd_false; }