Index: trunk/src/font.c =================================================================== --- trunk/src/font.c (revision 36697) +++ trunk/src/font.c (revision 36698) @@ -49,7 +49,7 @@ #include "font_internal.c" -static int pcb_parse_font_default(pcb_font_t *ptr, const char *filename) +static int pcb_parse_font_default(rnd_font_t *ptr, const char *filename) { int res = pcb_parse_font(ptr, filename); if (res == 0) @@ -72,7 +72,7 @@ gds_t buff; s = rnd_conf_concat_strlist(&conf_core.rc.default_font_file, &buff, NULL, ':'); rnd_message(RND_MSG_WARNING, "Can't find font-symbol-file. Searched: '%s'; falling back to the embedded default font\n", s); - rnd_font_load_internal(&pcb->fontkit.dflt.rnd_font, embf_font, sizeof(embf_font) / sizeof(embf_font[0]), embf_minx, embf_miny, embf_maxx, embf_maxy); + rnd_font_load_internal(&pcb->fontkit.dflt, embf_font, sizeof(embf_font) / sizeof(embf_font[0]), embf_minx, embf_miny, embf_maxx, embf_maxy); rnd_file_loaded_set_at("font", "default", "", "original default font"); gds_uninit(&buff); } @@ -82,7 +82,7 @@ { if (id <= 0) { do_default:; - return &pcb->fontkit.dflt.rnd_font; + return &pcb->fontkit.dflt; } if (pcb->fontkit.hash_inited) { @@ -125,9 +125,9 @@ fk->hash_inited = 1; } -pcb_font_t *pcb_new_font(pcb_fontkit_t *fk, rnd_font_id_t id, const char *name) +rnd_font_t *pcb_new_font(pcb_fontkit_t *fk, rnd_font_id_t id, const char *name) { - pcb_font_t *f; + rnd_font_t *f; if (id == 0) return NULL; @@ -142,14 +142,14 @@ if (f != NULL) return NULL; - f = calloc(sizeof(pcb_font_t), 1); + f = calloc(sizeof(rnd_font_t), 1); htip_set(&fk->fonts, id, f); if (name != NULL) - f->rnd_font.name = rnd_strdup(name); - f->rnd_font.id = id; + f->name = rnd_strdup(name); + f->id = id; - if (f->rnd_font.id > fk->last_id) - fk->last_id = f->rnd_font.id; + if (f->id > fk->last_id) + fk->last_id = f->id; return f; } @@ -156,7 +156,7 @@ void pcb_fontkit_free(pcb_fontkit_t *fk) { - rnd_font_free(&fk->dflt.rnd_font); + rnd_font_free(&fk->dflt); if (fk->hash_inited) { htip_entry_t *e; for (e = htip_first(&fk->fonts); e; e = htip_next(&fk->fonts, e)) { @@ -222,10 +222,10 @@ e = htip_popentry(&fk->fonts, src); src_font = e->value; if (dst == 0) { - rnd_font_free(&fk->dflt.rnd_font); - rnd_font_copy(&fk->dflt.rnd_font, &src_font->rnd_font); + rnd_font_free(&fk->dflt); + rnd_font_copy(&fk->dflt, &src_font->rnd_font); rnd_font_free(&src_font->rnd_font); - fk->dflt.rnd_font.id = 0; + fk->dflt.id = 0; } else { htip_set(&fk->fonts, dst, src_font); Index: trunk/src/font.h =================================================================== --- trunk/src/font.h (revision 36697) +++ trunk/src/font.h (revision 36698) @@ -45,7 +45,7 @@ }; struct pcb_fontkit_s { /* a set of unrelated fonts */ - pcb_font_t dflt; /* default, fallback font, also the sysfont */ + rnd_font_t dflt; /* default, fallback font, also the sysfont */ htip_t fonts; /* key: ->id; val: (pcb_font_t *) */ rnd_bool valid, hash_inited; rnd_font_id_t last_id; /* highest font id ever seen in this kit */ @@ -60,7 +60,7 @@ /*** font kit handling ***/ void pcb_fontkit_free(pcb_fontkit_t *fk); -pcb_font_t *pcb_new_font(pcb_fontkit_t *fk, rnd_font_id_t id, const char *name); +rnd_font_t *pcb_new_font(pcb_fontkit_t *fk, rnd_font_id_t id, const char *name); int pcb_del_font(pcb_fontkit_t *fk, rnd_font_id_t id); int pcb_move_font(pcb_fontkit_t *fk, rnd_font_id_t src, rnd_font_id_t dst); Index: trunk/src/font_act.c =================================================================== --- trunk/src/font_act.c (revision 36697) +++ trunk/src/font_act.c (revision 36698) @@ -43,7 +43,7 @@ const char *fname = NULL, *sid = NULL; static char *default_file = NULL; rnd_font_id_t fid, dst_fid = -1; - pcb_font_t *fnt; + rnd_font_t *fnt; int r; RND_ACT_MAY_CONVARG(1, FGW_STR, load_font_from, fname = argv[1].val.str); @@ -94,18 +94,18 @@ } r = pcb_parse_font(fnt, fname); - rnd_event(RND_ACT_HIDLIB, PCB_EVENT_FONT_CHANGED, "i", fnt->rnd_font.id); + rnd_event(RND_ACT_HIDLIB, PCB_EVENT_FONT_CHANGED, "i", fnt->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->rnd_font.id); + pcb_del_font(&PCB_ACT_BOARD->fontkit, fnt->id); return 1; } if (dst_fid != -1) { - pcb_move_font(&PCB_ACT_BOARD->fontkit, fnt->rnd_font.id, dst_fid); + pcb_move_font(&PCB_ACT_BOARD->fontkit, fnt->id, dst_fid); } - fid = dst_fid == 0 ? 0 : fnt->rnd_font.id; + fid = dst_fid == 0 ? 0 : fnt->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_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 36697) +++ trunk/src/obj_subc.c (revision 36698) @@ -2166,14 +2166,14 @@ pcb_subc_t *subc = (pcb_subc_t *) b; rnd_box_t *bb = &subc->BoundingBox; rnd_coord_t x0, y0, dx, dy; - pcb_font_t *font = &PCB->fontkit.dflt; + rnd_font_t *font = &PCB->fontkit.dflt; /* do not display anyting from the other-side subcs */ draw_subc_per_layer(); /* calculate where the label ends up - always top-right, even if board is flipped */ - dx = font->rnd_font.max_width/2; - dy = font->rnd_font.max_height/2; + dx = font->max_width/2; + dy = font->max_height/2; if (rnd_conf.editor.view.flip_x) { x0 = bb->X2; Index: trunk/src/plug_io.c =================================================================== --- trunk/src/plug_io.c (revision 36697) +++ trunk/src/plug_io.c (revision 36698) @@ -323,7 +323,7 @@ return res; } -int pcb_parse_font(pcb_font_t *Ptr, const char *Filename) +int pcb_parse_font(rnd_font_t *Ptr, const char *Filename) { int res = -1; RND_HOOK_CALL(pcb_plug_io_t, pcb_plug_io_chain, parse_font, res, == 0, (self, Ptr, Filename)); Index: trunk/src/plug_io.h =================================================================== --- trunk/src/plug_io.h (revision 36697) +++ trunk/src/plug_io.h (revision 36698) @@ -93,7 +93,7 @@ /* Attempt to load fonts from a file. Return 0 on success. */ - int (*parse_font)(pcb_plug_io_t *ctx, pcb_font_t *Ptr, const char *Filename); + int (*parse_font)(pcb_plug_io_t *ctx, rnd_font_t *Ptr, const char *Filename); /* Attempt to load a complete buffer from a file. Return 0 on success. */ int (*parse_buffer)(pcb_plug_io_t *ctx, pcb_buffer_t *buff, const char *filename); @@ -153,7 +153,7 @@ /********** hook wrappers **********/ int pcb_parse_pcb(pcb_board_t *Ptr, const char *Filename, const char *fmt, int load_settings, int ignore_missing); int pcb_parse_footprint(pcb_data_t *Ptr, const char *name, const char *fmt); -int pcb_parse_font(pcb_font_t *Ptr, const char *Filename); +int pcb_parse_font(rnd_font_t *Ptr, const char *Filename); int pcb_write_footprint_data(FILE *f, pcb_data_t *e, const char *fmt, long subc_idx); int pcb_write_font(pcb_font_t *Ptr, const char *Filename, const char *fmt); Index: trunk/src_plugins/diag/diag.c =================================================================== --- trunk/src_plugins/diag/diag.c (revision 36697) +++ trunk/src_plugins/diag/diag.c (revision 36698) @@ -158,7 +158,7 @@ static fgw_error_t pcb_act_DumpFonts(fgw_arg_t *res, int argc, fgw_arg_t *argv) { printf("Font summary:\n"); - print_font(&PCB->fontkit.dflt.rnd_font, " Default"); + print_font(&PCB->fontkit.dflt, " Default"); if (PCB->fontkit.hash_inited) { htip_entry_t *e; for (e = htip_first(&PCB->fontkit.fonts); e; e = htip_next(&PCB->fontkit.fonts, e)) Index: trunk/src_plugins/draw_fontsel/draw_fontsel.c =================================================================== --- trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36697) +++ trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36698) @@ -150,7 +150,7 @@ int y = 0; font_coords = 0; - pcb_draw_font(gc, &PCB->fontkit.dflt.rnd_font, 0, &y, txt, dst_fid); + pcb_draw_font(gc, &PCB->fontkit.dflt, 0, &y, txt, dst_fid); if (PCB->fontkit.hash_inited) { htip_entry_t *e; Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 36697) +++ trunk/src_plugins/io_lihata/read.c (revision 36698) @@ -2175,7 +2175,7 @@ pcb_fontkit_reset (fk); for(n = lht_dom_first(&it, nd); n != NULL; n = lht_dom_next(&it)) { - pcb_font_t *f; + rnd_font_t *f; if (strcmp(n->name, "geda_pcb") != 0) { char *end; @@ -2187,12 +2187,12 @@ return iolht_error(nd, "Failed to allocate font id %d (name '%s').\n", id, n->name); } else { - rnd_font_free(&fk->dflt.rnd_font); - fk->dflt.rnd_font.id = 0; /* restore default font's ID */ + rnd_font_free(&fk->dflt); + fk->dflt.id = 0; /* restore default font's ID */ f = &fk->dflt; } - if (rnd_font_lht_parse_font(&f->rnd_font, n) != 0) + if (rnd_font_lht_parse_font(f, n) != 0) return -1; } @@ -2776,7 +2776,7 @@ return (state == TPS_GOOD); } -int io_lihata_parse_font(pcb_plug_io_t *ctx, pcb_font_t *Ptr, const char *Filename) +int io_lihata_parse_font(pcb_plug_io_t *ctx, rnd_font_t *Ptr, const char *Filename) { int res; char *errmsg = NULL, *realfn; @@ -2801,7 +2801,7 @@ } else { TODO("font: remove this whole function and call rnd_font_load(Ptr, Filanem, pcb_io_err_inhibit) instead"); - res = rnd_font_lht_parse_font(&Ptr->rnd_font, doc->root->data.list.first); + res = rnd_font_lht_parse_font(Ptr, doc->root->data.list.first); } free(errmsg); Index: trunk/src_plugins/io_lihata/read.h =================================================================== --- trunk/src_plugins/io_lihata/read.h (revision 36697) +++ trunk/src_plugins/io_lihata/read.h (revision 36698) @@ -28,7 +28,7 @@ int io_lihata_test_parse(pcb_plug_io_t *ctx, pcb_plug_iot_t typ, const char *Filename, FILE *f); int io_lihata_parse_pcb(pcb_plug_io_t *ctx, pcb_board_t *Ptr, const char *Filename, rnd_conf_role_t settings_dest); -int io_lihata_parse_font(pcb_plug_io_t *ctx, pcb_font_t *Ptr, const char *Filename); +int io_lihata_parse_font(pcb_plug_io_t *ctx, rnd_font_t *Ptr, const char *Filename); int io_lihata_parse_subc(pcb_plug_io_t *ctx, pcb_data_t *Ptr, const char *name, const char *subfpname); int io_lihata_parse_padstack(pcb_plug_io_t *ctx, pcb_pstk_proto_t *proto, const char *filename); int io_lihata_parse_buffer(pcb_plug_io_t *ctx, pcb_buffer_t *buff, const char *filename); Index: trunk/src_plugins/io_lihata/write.c =================================================================== --- trunk/src_plugins/io_lihata/write.c (revision 36697) +++ trunk/src_plugins/io_lihata/write.c (revision 36698) @@ -1514,9 +1514,9 @@ #include "brave.h" -static lht_node_t *build_font(pcb_font_t *font) +static lht_node_t *build_font(rnd_font_t *font) { - return build_font_rnd(&font->rnd_font); + return build_font_rnd(font); } @@ -1989,7 +1989,7 @@ return io_lihata_write_pcb(ctx, FP, old_filename, new_filename, emergency, 8); } -int io_lihata_write_font(pcb_plug_io_t *ctx, pcb_font_t *font, const char *Filename) +int io_lihata_write_font(pcb_plug_io_t *ctx, rnd_font_t *font, const char *Filename) { FILE *f; int res; Index: trunk/src_plugins/io_pcb/file.c =================================================================== --- trunk/src_plugins/io_pcb/file.c (revision 36697) +++ trunk/src_plugins/io_pcb/file.c (revision 36698) @@ -815,8 +815,7 @@ if (!yyPCB) return; - yyFont = &yyPCB->fontkit.dflt; - yyRndFont = &yyPCB->fontkit.dflt.rnd_font; + yyRndFont = &yyPCB->fontkit.dflt; yyData = yyPCB->Data; PCB_SET_PARENT(yyData, board, yyPCB); yyData->LayerN = 0; @@ -1073,7 +1072,7 @@ extern rnd_coord_t yysubc_ox, yysubc_oy; pcb_subc_t *io_pcb_element_new(pcb_data_t *Data, pcb_subc_t *subc, - pcb_font_t *PCBFont, pcb_flag_t Flags, char *Description, char *NameOnPCB, + rnd_font_t *PCBFont, pcb_flag_t Flags, char *Description, char *NameOnPCB, char *Value, rnd_coord_t TextX, rnd_coord_t TextY, unsigned int Direction, int TextScale, pcb_flag_t TextFlags, rnd_bool uniqueName) { Index: trunk/src_plugins/io_pcb/file.h =================================================================== --- trunk/src_plugins/io_pcb/file.h (revision 36697) +++ trunk/src_plugins/io_pcb/file.h (revision 36698) @@ -81,7 +81,7 @@ /* Improvise layers and groups for a partial input file that lacks layer groups (and maybe even some layers) */ int pcb_layer_improvise(pcb_board_t *pcb, rnd_bool setup); -pcb_subc_t *io_pcb_element_new(pcb_data_t *Data, pcb_subc_t *Element, pcb_font_t *PCBFont, pcb_flag_t Flags, char *Description, char *NameOnPCB, char *Value, rnd_coord_t TextX, rnd_coord_t TextY, unsigned int Direction, int TextScale, pcb_flag_t TextFlags, rnd_bool uniqueName); +pcb_subc_t *io_pcb_element_new(pcb_data_t *Data, pcb_subc_t *Element, rnd_font_t *PCBFont, pcb_flag_t Flags, char *Description, char *NameOnPCB, char *Value, rnd_coord_t TextX, rnd_coord_t TextY, unsigned int Direction, int TextScale, pcb_flag_t TextFlags, rnd_bool uniqueName); void io_pcb_element_fin(pcb_data_t *Data); pcb_line_t *io_pcb_element_line_new(pcb_subc_t *subc, rnd_coord_t X1, rnd_coord_t Y1, rnd_coord_t X2, rnd_coord_t Y2, rnd_coord_t Thickness); pcb_arc_t *io_pcb_element_arc_new(pcb_subc_t *subc, rnd_coord_t X, rnd_coord_t Y, rnd_coord_t Width, rnd_coord_t Height, rnd_angle_t angle, rnd_angle_t delta, rnd_coord_t Thickness); Index: trunk/src_plugins/io_pcb/parse_common.h =================================================================== --- trunk/src_plugins/io_pcb/parse_common.h (revision 36697) +++ trunk/src_plugins/io_pcb/parse_common.h (revision 36698) @@ -38,6 +38,6 @@ int io_pcb_ParsePCB(pcb_plug_io_t *ctx, pcb_board_t *Ptr, const char *Filename, rnd_conf_role_t settings_dest); int io_pcb_ParseElement(pcb_plug_io_t *ctx, pcb_data_t *, const char *, const char *); -int io_pcb_ParseFont(pcb_plug_io_t *ctx, pcb_font_t *, const char *); +int io_pcb_ParseFont(pcb_plug_io_t *ctx, rnd_font_t *, const char *); #endif Index: trunk/src_plugins/io_pcb/parse_l.c =================================================================== --- trunk/src_plugins/io_pcb/parse_l.c (revision 36697) +++ trunk/src_plugins/io_pcb/parse_l.c (revision 36698) @@ -2861,14 +2861,13 @@ /* --------------------------------------------------------------------------- * initializes LEX and calls parser for a font */ -int io_pcb_ParseFont(pcb_plug_io_t *ctx, pcb_font_t *Ptr, const char *Filename) +int io_pcb_ParseFont(pcb_plug_io_t *ctx, rnd_font_t *Ptr, const char *Filename) { int r = 0, valid; const char *fcmd; yy_parse_tags = 1; yyPCB = NULL; - yyFont = Ptr; - yyRndFont = &yyFont->rnd_font; + yyRndFont = Ptr; yyFontkitValid = &valid; yysubc = NULL; yyFontReset = rnd_false; Index: trunk/src_plugins/io_pcb/parse_l.l =================================================================== --- trunk/src_plugins/io_pcb/parse_l.l (revision 36697) +++ trunk/src_plugins/io_pcb/parse_l.l (revision 36698) @@ -478,14 +478,13 @@ /* --------------------------------------------------------------------------- * initializes LEX and calls parser for a font */ -int io_pcb_ParseFont(pcb_plug_io_t *ctx, pcb_font_t *Ptr, const char *Filename) +int io_pcb_ParseFont(pcb_plug_io_t *ctx, rnd_font_t *Ptr, const char *Filename) { int r = 0, valid; const char *fcmd; yy_parse_tags = 1; yyPCB = NULL; - yyFont = Ptr; - yyRndFont = &yyFont->rnd_font; + yyRndFont = Ptr; yyFontkitValid = &valid; yysubc = NULL; yyFontReset = rnd_false; Index: trunk/src_plugins/io_pcb/parse_y.c =================================================================== --- trunk/src_plugins/io_pcb/parse_y.c (revision 36697) +++ trunk/src_plugins/io_pcb/parse_y.c (revision 36698) @@ -156,7 +156,6 @@ extern pcb_data_t * yyData; extern pcb_subc_t *yysubc; extern rnd_coord_t yysubc_ox, yysubc_oy; -extern pcb_font_t * yyFont; extern rnd_font_t * yyRndFont; extern rnd_bool yyFontReset; extern int pcb_lineno; /* linenumber */ @@ -196,7 +195,7 @@ #include "parse_y.h" -#line 200 "parse_y.c" /* yacc.c:337 */ +#line 199 "parse_y.c" /* yacc.c:337 */ # ifndef YY_NULLPTR # if defined __cplusplus # if 201103L <= __cplusplus @@ -290,7 +289,7 @@ union YYSTYPE { -#line 128 "parse_y.y" /* yacc.c:352 */ +#line 127 "parse_y.y" /* yacc.c:352 */ int integer; double number; @@ -298,7 +297,7 @@ pcb_flag_t flagtype; PLMeasure measure; -#line 302 "parse_y.c" /* yacc.c:352 */ +#line 301 "parse_y.c" /* yacc.c:352 */ }; typedef union YYSTYPE YYSTYPE; @@ -606,28 +605,28 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 155, 155, 156, 157, 158, 162, 162, 237, 237, - 262, 262, 281, 282, 287, 287, 307, 309, 319, 326, - 333, 343, 344, 345, 348, 356, 371, 386, 390, 394, - 397, 399, 406, 408, 414, 416, 417, 418, 422, 432, - 443, 455, 459, 464, 468, 472, 476, 485, 494, 498, - 499, 503, 504, 508, 509, 509, 510, 511, 513, 513, - 520, 524, 525, 526, 527, 528, 533, 543, 554, 564, - 574, 590, 595, 605, 604, 640, 641, 645, 646, 650, - 651, 652, 653, 654, 655, 657, 662, 663, 664, 665, - 665, 666, 670, 679, 688, 699, 708, 717, 726, 736, - 754, 784, 783, 822, 824, 829, 828, 835, 837, 842, - 846, 853, 854, 855, 856, 857, 865, 864, 883, 882, - 901, 900, 921, 919, 943, 941, 966, 967, 971, 972, - 973, 974, 975, 977, 982, 987, 992, 997, 1002, 1007, - 1007, 1011, 1012, 1016, 1017, 1018, 1019, 1020, 1022, 1028, - 1035, 1040, 1045, 1045, 1051, 1064, 1076, 1087, 1103, 1122, - 1137, 1150, 1174, 1185, 1196, 1197, 1201, 1202, 1205, 1207, - 1223, 1242, 1243, 1246, 1248, 1249, 1254, 1261, 1267, 1268, - 1272, 1277, 1278, 1282, 1283, 1289, 1288, 1300, 1301, 1305, - 1306, 1310, 1327, 1328, 1332, 1337, 1338, 1342, 1343, 1358, - 1359, 1360, 1364, 1377, 1378, 1382, 1383, 1388, 1389, 1390, - 1391, 1392, 1393, 1394, 1395, 1396, 1397 + 0, 154, 154, 155, 156, 157, 161, 161, 235, 235, + 260, 260, 279, 280, 285, 285, 305, 307, 317, 324, + 331, 341, 342, 343, 346, 354, 369, 384, 388, 392, + 395, 397, 404, 406, 412, 414, 415, 416, 420, 430, + 441, 453, 457, 462, 466, 470, 474, 483, 492, 496, + 497, 501, 502, 506, 507, 507, 508, 509, 511, 511, + 518, 522, 523, 524, 525, 526, 531, 541, 552, 562, + 572, 588, 593, 603, 602, 638, 639, 643, 644, 648, + 649, 650, 651, 652, 653, 655, 660, 661, 662, 663, + 663, 664, 668, 677, 686, 697, 706, 715, 724, 734, + 752, 782, 781, 820, 822, 827, 826, 833, 835, 840, + 844, 851, 852, 853, 854, 855, 863, 862, 881, 880, + 899, 898, 919, 917, 941, 939, 964, 965, 969, 970, + 971, 972, 973, 975, 980, 985, 990, 995, 1000, 1005, + 1005, 1009, 1010, 1014, 1015, 1016, 1017, 1018, 1020, 1026, + 1033, 1038, 1043, 1043, 1049, 1062, 1074, 1085, 1101, 1120, + 1135, 1148, 1172, 1183, 1194, 1195, 1199, 1200, 1203, 1205, + 1221, 1240, 1241, 1244, 1246, 1247, 1252, 1259, 1265, 1266, + 1270, 1275, 1276, 1280, 1281, 1287, 1286, 1298, 1299, 1303, + 1304, 1308, 1325, 1326, 1330, 1335, 1336, 1340, 1341, 1356, + 1357, 1358, 1362, 1375, 1376, 1380, 1381, 1386, 1387, 1388, + 1389, 1390, 1391, 1392, 1393, 1394, 1395 }; #endif @@ -1815,13 +1814,13 @@ switch (yyn) { case 5: -#line 158 "parse_y.y" /* yacc.c:1652 */ +#line 157 "parse_y.y" /* yacc.c:1652 */ { YYABORT; } -#line 1821 "parse_y.c" /* yacc.c:1652 */ +#line 1820 "parse_y.c" /* yacc.c:1652 */ break; case 6: -#line 162 "parse_y.y" /* yacc.c:1652 */ +#line 161 "parse_y.y" /* yacc.c:1652 */ { /* reset flags for 'used layers'; * init font and data pointers @@ -1835,8 +1834,7 @@ } for (i = 0; i < PCB_MAX_LAYER + 2; i++) LayerFlag[i] = rnd_false; - yyFont = &yyPCB->fontkit.dflt; - yyRndFont = &yyPCB->fontkit.dflt.rnd_font; + yyRndFont = &yyPCB->fontkit.dflt; yyFontkitValid = &yyPCB->fontkit.valid; yyData = yyPCB->Data; PCB_SET_PARENT(yyData, board, yyPCB); @@ -1845,11 +1843,11 @@ layer_group_string = NULL; old_fmt = 0; } -#line 1849 "parse_y.c" /* yacc.c:1652 */ +#line 1847 "parse_y.c" /* yacc.c:1652 */ break; case 7: -#line 199 "parse_y.y" /* yacc.c:1652 */ +#line 197 "parse_y.y" /* yacc.c:1652 */ { pcb_board_t *pcb_save = PCB; if ((yy_settings_dest != RND_CFR_invalid) && (layer_group_string != NULL)) @@ -1887,18 +1885,18 @@ PCB_ENDALL_LOOP; PCB = pcb_save; } -#line 1891 "parse_y.c" /* yacc.c:1652 */ +#line 1889 "parse_y.c" /* yacc.c:1652 */ break; case 8: -#line 237 "parse_y.y" /* yacc.c:1652 */ +#line 235 "parse_y.y" /* yacc.c:1652 */ { PreLoadElementPCB (); layer_group_string = NULL; } -#line 1898 "parse_y.c" /* yacc.c:1652 */ +#line 1896 "parse_y.c" /* yacc.c:1652 */ break; case 9: -#line 240 "parse_y.y" /* yacc.c:1652 */ +#line 238 "parse_y.y" /* yacc.c:1652 */ { LayerFlag[0] = rnd_true; LayerFlag[1] = rnd_true; if (yyElemFixLayers) { @@ -1918,11 +1916,11 @@ } PostLoadElementPCB (); } -#line 1922 "parse_y.c" /* yacc.c:1652 */ +#line 1920 "parse_y.c" /* yacc.c:1652 */ break; case 10: -#line 262 "parse_y.y" /* yacc.c:1652 */ +#line 260 "parse_y.y" /* yacc.c:1652 */ { /* reset flags for 'used layers'; * init font and data pointers @@ -1929,7 +1927,7 @@ */ int i; - if (!yyData || !yyFont) + if (!yyData || !yyRndFont) { rnd_message(RND_MSG_ERROR, "illegal fileformat\n"); YYABORT; @@ -1938,14 +1936,14 @@ LayerFlag[i] = rnd_false; yyData->LayerN = 0; } -#line 1942 "parse_y.c" /* yacc.c:1652 */ +#line 1940 "parse_y.c" /* yacc.c:1652 */ break; case 14: -#line 287 "parse_y.y" /* yacc.c:1652 */ +#line 285 "parse_y.y" /* yacc.c:1652 */ { /* mark all symbols invalid */ - if (!yyFont) + if (!yyRndFont) { rnd_message(RND_MSG_ERROR, "illegal fileformat\n"); YYABORT; @@ -1952,24 +1950,24 @@ } if (yyFontReset) { rnd_font_free(yyRndFont); - yyFont->rnd_font.id = 0; + yyRndFont->id = 0; } *yyFontkitValid = rnd_false; } -#line 1960 "parse_y.c" /* yacc.c:1652 */ +#line 1958 "parse_y.c" /* yacc.c:1652 */ break; case 15: -#line 301 "parse_y.y" /* yacc.c:1652 */ +#line 299 "parse_y.y" /* yacc.c:1652 */ { *yyFontkitValid = rnd_true; rnd_font_normalize_pcb_rnd(yyRndFont); } -#line 1969 "parse_y.c" /* yacc.c:1652 */ +#line 1967 "parse_y.c" /* yacc.c:1652 */ break; case 17: -#line 310 "parse_y.y" /* yacc.c:1652 */ +#line 308 "parse_y.y" /* yacc.c:1652 */ { if (check_file_version ((yyvsp[-1].integer)) != 0) { @@ -1976,11 +1974,11 @@ YYABORT; } } -#line 1980 "parse_y.c" /* yacc.c:1652 */ +#line 1978 "parse_y.c" /* yacc.c:1652 */ break; case 18: -#line 320 "parse_y.y" /* yacc.c:1652 */ +#line 318 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.name = (yyvsp[-1].string); yyPCB->hidlib.size_x = RND_MAX_COORD; @@ -1987,11 +1985,11 @@ yyPCB->hidlib.size_y = RND_MAX_COORD; old_fmt = 1; } -#line 1991 "parse_y.c" /* yacc.c:1652 */ +#line 1989 "parse_y.c" /* yacc.c:1652 */ break; case 19: -#line 327 "parse_y.y" /* yacc.c:1652 */ +#line 325 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.name = (yyvsp[-3].string); yyPCB->hidlib.size_x = OU ((yyvsp[-2].measure)); @@ -1998,11 +1996,11 @@ yyPCB->hidlib.size_y = OU ((yyvsp[-1].measure)); old_fmt = 1; } -#line 2002 "parse_y.c" /* yacc.c:1652 */ +#line 2000 "parse_y.c" /* yacc.c:1652 */ break; case 20: -#line 334 "parse_y.y" /* yacc.c:1652 */ +#line 332 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.name = (yyvsp[-3].string); yyPCB->hidlib.size_x = NU ((yyvsp[-2].measure)); @@ -2009,21 +2007,21 @@ yyPCB->hidlib.size_y = NU ((yyvsp[-1].measure)); old_fmt = 0; } -#line 2013 "parse_y.c" /* yacc.c:1652 */ +#line 2011 "parse_y.c" /* yacc.c:1652 */ break; case 24: -#line 349 "parse_y.y" /* yacc.c:1652 */ +#line 347 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.grid = OU ((yyvsp[-3].measure)); yyPCB->hidlib.grid_ox = OU ((yyvsp[-2].measure)); yyPCB->hidlib.grid_oy = OU ((yyvsp[-1].measure)); } -#line 2023 "parse_y.c" /* yacc.c:1652 */ +#line 2021 "parse_y.c" /* yacc.c:1652 */ break; case 25: -#line 357 "parse_y.y" /* yacc.c:1652 */ +#line 355 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.grid = OU ((yyvsp[-4].measure)); yyPCB->hidlib.grid_ox = OU ((yyvsp[-3].measure)); @@ -2035,11 +2033,11 @@ rnd_conf_set(yy_settings_dest, "editor/draw_grid", -1, "false", RND_POL_OVERWRITE); } } -#line 2039 "parse_y.c" /* yacc.c:1652 */ +#line 2037 "parse_y.c" /* yacc.c:1652 */ break; case 26: -#line 372 "parse_y.y" /* yacc.c:1652 */ +#line 370 "parse_y.y" /* yacc.c:1652 */ { yyPCB->hidlib.grid = NU ((yyvsp[-4].measure)); yyPCB->hidlib.grid_ox = NU ((yyvsp[-3].measure)); @@ -2051,44 +2049,44 @@ rnd_conf_set(yy_settings_dest, "editor/draw_grid", -1, "false", RND_POL_OVERWRITE); } } -#line 2055 "parse_y.c" /* yacc.c:1652 */ +#line 2053 "parse_y.c" /* yacc.c:1652 */ break; case 27: -#line 387 "parse_y.y" /* yacc.c:1652 */ +#line 385 "parse_y.y" /* yacc.c:1652 */ { /* Not loading cursor position and zoom anymore */ } -#line 2063 "parse_y.c" /* yacc.c:1652 */ +#line 2061 "parse_y.c" /* yacc.c:1652 */ break; case 28: -#line 391 "parse_y.y" /* yacc.c:1652 */ +#line 389 "parse_y.y" /* yacc.c:1652 */ { /* Not loading cursor position and zoom anymore */ } -#line 2071 "parse_y.c" /* yacc.c:1652 */ +#line 2069 "parse_y.c" /* yacc.c:1652 */ break; case 31: -#line 400 "parse_y.y" /* yacc.c:1652 */ +#line 398 "parse_y.y" /* yacc.c:1652 */ { /* Read in cmil^2 for now; in future this should be a noop. */ load_meta_float("design/poly_isle_area", RND_MIL_TO_COORD(RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0) / 100.0); } -#line 2080 "parse_y.c" /* yacc.c:1652 */ +#line 2078 "parse_y.c" /* yacc.c:1652 */ break; case 33: -#line 409 "parse_y.y" /* yacc.c:1652 */ +#line 407 "parse_y.y" /* yacc.c:1652 */ { yyPCB->ThermScale = (yyvsp[-1].number); } -#line 2088 "parse_y.c" /* yacc.c:1652 */ +#line 2086 "parse_y.c" /* yacc.c:1652 */ break; case 38: -#line 423 "parse_y.y" /* yacc.c:1652 */ +#line 421 "parse_y.y" /* yacc.c:1652 */ { load_meta_coord("design/bloat", NU((yyvsp[-3].measure))); load_meta_coord("design/shrink", NU((yyvsp[-2].measure))); @@ -2095,11 +2093,11 @@ load_meta_coord("design/min_wid", NU((yyvsp[-1].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-1].measure))); } -#line 2099 "parse_y.c" /* yacc.c:1652 */ +#line 2097 "parse_y.c" /* yacc.c:1652 */ break; case 39: -#line 433 "parse_y.y" /* yacc.c:1652 */ +#line 431 "parse_y.y" /* yacc.c:1652 */ { load_meta_coord("design/bloat", NU((yyvsp[-4].measure))); load_meta_coord("design/shrink", NU((yyvsp[-3].measure))); @@ -2107,11 +2105,11 @@ load_meta_coord("design/min_slk", NU((yyvsp[-1].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-2].measure))); } -#line 2111 "parse_y.c" /* yacc.c:1652 */ +#line 2109 "parse_y.c" /* yacc.c:1652 */ break; case 40: -#line 444 "parse_y.y" /* yacc.c:1652 */ +#line 442 "parse_y.y" /* yacc.c:1652 */ { load_meta_coord("design/bloat", NU((yyvsp[-6].measure))); load_meta_coord("design/shrink", NU((yyvsp[-5].measure))); @@ -2120,36 +2118,36 @@ load_meta_coord("design/min_drill", NU((yyvsp[-2].measure))); load_meta_coord("design/min_ring", NU((yyvsp[-1].measure))); } -#line 2124 "parse_y.c" /* yacc.c:1652 */ +#line 2122 "parse_y.c" /* yacc.c:1652 */ break; case 41: -#line 456 "parse_y.y" /* yacc.c:1652 */ +#line 454 "parse_y.y" /* yacc.c:1652 */ { yy_pcb_flags = pcb_flag_make((yyvsp[-1].integer) & PCB_FLAGS); } -#line 2132 "parse_y.c" /* yacc.c:1652 */ +#line 2130 "parse_y.c" /* yacc.c:1652 */ break; case 42: -#line 460 "parse_y.y" /* yacc.c:1652 */ +#line 458 "parse_y.y" /* yacc.c:1652 */ { yy_pcb_flags = pcb_strflg_board_s2f((yyvsp[-1].string), yyerror); free((yyvsp[-1].string)); } -#line 2141 "parse_y.c" /* yacc.c:1652 */ +#line 2139 "parse_y.c" /* yacc.c:1652 */ break; case 44: -#line 469 "parse_y.y" /* yacc.c:1652 */ +#line 467 "parse_y.y" /* yacc.c:1652 */ { layer_group_string = (yyvsp[-1].string); } -#line 2149 "parse_y.c" /* yacc.c:1652 */ +#line 2147 "parse_y.c" /* yacc.c:1652 */ break; case 46: -#line 477 "parse_y.y" /* yacc.c:1652 */ +#line 475 "parse_y.y" /* yacc.c:1652 */ { if (pcb_route_string_parse(yyPCB->Data, (yyvsp[-1].string), &yyPCB->RouteStyle, "mil")) { @@ -2158,11 +2156,11 @@ } free((yyvsp[-1].string)); } -#line 2162 "parse_y.c" /* yacc.c:1652 */ +#line 2160 "parse_y.c" /* yacc.c:1652 */ break; case 47: -#line 486 "parse_y.y" /* yacc.c:1652 */ +#line 484 "parse_y.y" /* yacc.c:1652 */ { if (pcb_route_string_parse(yyPCB->Data, ((yyvsp[-1].string) == NULL ? "" : (yyvsp[-1].string)), &yyPCB->RouteStyle, "cmil")) { @@ -2171,17 +2169,17 @@ } free((yyvsp[-1].string)); } -#line 2175 "parse_y.c" /* yacc.c:1652 */ +#line 2173 "parse_y.c" /* yacc.c:1652 */ break; case 54: -#line 509 "parse_y.y" /* yacc.c:1652 */ +#line 507 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yyPCB->Attributes; } -#line 2181 "parse_y.c" /* yacc.c:1652 */ +#line 2179 "parse_y.c" /* yacc.c:1652 */ break; case 58: -#line 513 "parse_y.y" /* yacc.c:1652 */ +#line 511 "parse_y.y" /* yacc.c:1652 */ { /* clear pointer to force memory allocation by * the appropriate subroutine @@ -2188,57 +2186,57 @@ */ yysubc = NULL; } -#line 2192 "parse_y.c" /* yacc.c:1652 */ +#line 2190 "parse_y.c" /* yacc.c:1652 */ break; case 60: -#line 520 "parse_y.y" /* yacc.c:1652 */ +#line 518 "parse_y.y" /* yacc.c:1652 */ { YYABORT; } -#line 2198 "parse_y.c" /* yacc.c:1652 */ +#line 2196 "parse_y.c" /* yacc.c:1652 */ break; case 66: -#line 534 "parse_y.y" /* yacc.c:1652 */ +#line 532 "parse_y.y" /* yacc.c:1652 */ { pcb_old_via_new(yyData, -1, NU ((yyvsp[-8].measure)), NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } -#line 2208 "parse_y.c" /* yacc.c:1652 */ +#line 2206 "parse_y.c" /* yacc.c:1652 */ break; case 67: -#line 544 "parse_y.y" /* yacc.c:1652 */ +#line 542 "parse_y.y" /* yacc.c:1652 */ { pcb_old_via_new(yyData, -1, OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2218 "parse_y.c" /* yacc.c:1652 */ +#line 2216 "parse_y.c" /* yacc.c:1652 */ break; case 68: -#line 555 "parse_y.y" /* yacc.c:1652 */ +#line 553 "parse_y.y" /* yacc.c:1652 */ { pcb_old_via_new(yyData, -1, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-5].measure)) + OU((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2228 "parse_y.c" /* yacc.c:1652 */ +#line 2226 "parse_y.c" /* yacc.c:1652 */ break; case 69: -#line 565 "parse_y.y" /* yacc.c:1652 */ +#line 563 "parse_y.y" /* yacc.c:1652 */ { pcb_old_via_new(yyData, -1, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), 2*PCB_GROUNDPLANEFRAME, OU((yyvsp[-4].measure)) + 2*PCB_MASKFRAME, OU ((yyvsp[-3].measure)), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2238 "parse_y.c" /* yacc.c:1652 */ +#line 2236 "parse_y.c" /* yacc.c:1652 */ break; case 70: -#line 575 "parse_y.y" /* yacc.c:1652 */ +#line 573 "parse_y.y" /* yacc.c:1652 */ { rnd_coord_t hole = (OU((yyvsp[-3].measure)) * PCB_DEFAULT_DRILLINGHOLE); @@ -2251,29 +2249,29 @@ OU((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, hole, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2255 "parse_y.c" /* yacc.c:1652 */ +#line 2253 "parse_y.c" /* yacc.c:1652 */ break; case 71: -#line 591 "parse_y.y" /* yacc.c:1652 */ +#line 589 "parse_y.y" /* yacc.c:1652 */ { pcb_rat_new(yyData, -1, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), (yyvsp[-5].integer), (yyvsp[-2].integer), conf_core.appearance.rat_thickness, (yyvsp[-1].flagtype), NULL, NULL); } -#line 2264 "parse_y.c" /* yacc.c:1652 */ +#line 2262 "parse_y.c" /* yacc.c:1652 */ break; case 72: -#line 596 "parse_y.y" /* yacc.c:1652 */ +#line 594 "parse_y.y" /* yacc.c:1652 */ { pcb_rat_new(yyData, -1, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-5].integer), (yyvsp[-2].integer), conf_core.appearance.rat_thickness, pcb_flag_old((yyvsp[-1].integer)), NULL, NULL); } -#line 2273 "parse_y.c" /* yacc.c:1652 */ +#line 2271 "parse_y.c" /* yacc.c:1652 */ break; case 73: -#line 605 "parse_y.y" /* yacc.c:1652 */ +#line 603 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-4].integer) <= 0 || (yyvsp[-4].integer) > PCB_MAX_LAYER) { @@ -2305,44 +2303,44 @@ if ((yyvsp[-2].string) != NULL) free((yyvsp[-2].string)); } -#line 2309 "parse_y.c" /* yacc.c:1652 */ +#line 2307 "parse_y.c" /* yacc.c:1652 */ break; case 85: -#line 658 "parse_y.y" /* yacc.c:1652 */ +#line 656 "parse_y.y" /* yacc.c:1652 */ { pcb_poly_new_from_rectangle(Layer, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-5].measure)) + OU ((yyvsp[-3].measure)), OU ((yyvsp[-4].measure)) + OU ((yyvsp[-2].measure)), 0, pcb_flag_old((yyvsp[-1].integer))); } -#line 2318 "parse_y.c" /* yacc.c:1652 */ +#line 2316 "parse_y.c" /* yacc.c:1652 */ break; case 89: -#line 665 "parse_y.y" /* yacc.c:1652 */ +#line 663 "parse_y.y" /* yacc.c:1652 */ { attr_list = & Layer->Attributes; } -#line 2324 "parse_y.c" /* yacc.c:1652 */ +#line 2322 "parse_y.c" /* yacc.c:1652 */ break; case 92: -#line 671 "parse_y.y" /* yacc.c:1652 */ +#line 669 "parse_y.y" /* yacc.c:1652 */ { pcb_line_new(Layer, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), (yyvsp[-1].flagtype)); } -#line 2333 "parse_y.c" /* yacc.c:1652 */ +#line 2331 "parse_y.c" /* yacc.c:1652 */ break; case 93: -#line 680 "parse_y.y" /* yacc.c:1652 */ +#line 678 "parse_y.y" /* yacc.c:1652 */ { pcb_line_new(Layer, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), pcb_flag_old((yyvsp[-1].integer))); } -#line 2342 "parse_y.c" /* yacc.c:1652 */ +#line 2340 "parse_y.c" /* yacc.c:1652 */ break; case 94: -#line 689 "parse_y.y" /* yacc.c:1652 */ +#line 687 "parse_y.y" /* yacc.c:1652 */ { /* eliminate old-style rat-lines */ if ((IV ((yyvsp[-1].measure)) & PCB_FLAG_RAT) == 0) @@ -2349,48 +2347,48 @@ pcb_line_new(Layer, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), 200*PCB_GROUNDPLANEFRAME, pcb_flag_old(IV ((yyvsp[-1].measure)))); } -#line 2353 "parse_y.c" /* yacc.c:1652 */ +#line 2351 "parse_y.c" /* yacc.c:1652 */ break; case 95: -#line 700 "parse_y.y" /* yacc.c:1652 */ +#line 698 "parse_y.y" /* yacc.c:1652 */ { pcb_arc_new(Layer, NU ((yyvsp[-9].measure)), NU ((yyvsp[-8].measure)), NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-1].flagtype), rnd_true); } -#line 2362 "parse_y.c" /* yacc.c:1652 */ +#line 2360 "parse_y.c" /* yacc.c:1652 */ break; case 96: -#line 709 "parse_y.y" /* yacc.c:1652 */ +#line 707 "parse_y.y" /* yacc.c:1652 */ { pcb_arc_new(Layer, OU ((yyvsp[-9].measure)), OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), pcb_flag_old((yyvsp[-1].integer)), rnd_true); } -#line 2371 "parse_y.c" /* yacc.c:1652 */ +#line 2369 "parse_y.c" /* yacc.c:1652 */ break; case 97: -#line 718 "parse_y.y" /* yacc.c:1652 */ +#line 716 "parse_y.y" /* yacc.c:1652 */ { pcb_arc_new(Layer, OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-6].measure)), IV ((yyvsp[-3].measure)), (yyvsp[-2].number), OU ((yyvsp[-4].measure)), 200*PCB_GROUNDPLANEFRAME, pcb_flag_old((yyvsp[-1].integer)), rnd_true); } -#line 2380 "parse_y.c" /* yacc.c:1652 */ +#line 2378 "parse_y.c" /* yacc.c:1652 */ break; case 98: -#line 727 "parse_y.y" /* yacc.c:1652 */ +#line 725 "parse_y.y" /* yacc.c:1652 */ { /* use a default scale of 100% */ - pcb_text_new(Layer,&yyFont->rnd_font,OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number) * 90.0, 100, 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); + pcb_text_new(Layer,yyRndFont,OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number) * 90.0, 100, 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2390 "parse_y.c" /* yacc.c:1652 */ +#line 2388 "parse_y.c" /* yacc.c:1652 */ break; case 99: -#line 737 "parse_y.y" /* yacc.c:1652 */ +#line 735 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-1].integer) & PCB_FLAG_ONSILK) { @@ -2397,19 +2395,19 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (((yyvsp[-1].integer) & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay ,&yyFont->rnd_font, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), + pcb_text_new(lay ,yyRndFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); } else - pcb_text_new(Layer, &yyFont->rnd_font, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), + pcb_text_new(Layer, yyRndFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2409 "parse_y.c" /* yacc.c:1652 */ +#line 2407 "parse_y.c" /* yacc.c:1652 */ break; case 100: -#line 755 "parse_y.y" /* yacc.c:1652 */ +#line 753 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-2].string) == NULL) { rnd_message(RND_MSG_ERROR, "Empty string in text object - not loading this text object to avoid invisible objects\n"); @@ -2427,26 +2425,26 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (((yyvsp[-1].flagtype).f & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay, &yyFont->rnd_font, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); + pcb_text_new(lay, yyRndFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); } else - pcb_text_new(Layer, &yyFont->rnd_font, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); + pcb_text_new(Layer, yyRndFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } } -#line 2438 "parse_y.c" /* yacc.c:1652 */ +#line 2436 "parse_y.c" /* yacc.c:1652 */ break; case 101: -#line 784 "parse_y.y" /* yacc.c:1652 */ +#line 782 "parse_y.y" /* yacc.c:1652 */ { Polygon = pcb_poly_new(Layer, 0, (yyvsp[-2].flagtype)); } -#line 2446 "parse_y.c" /* yacc.c:1652 */ +#line 2444 "parse_y.c" /* yacc.c:1652 */ break; case 102: -#line 789 "parse_y.y" /* yacc.c:1652 */ +#line 787 "parse_y.y" /* yacc.c:1652 */ { rnd_cardinal_t contour, contour_start, contour_end; rnd_bool bad_contour_found = rnd_false; @@ -2478,77 +2476,77 @@ rnd_r_insert_entry(Layer->polygon_tree, (rnd_box_t *) Polygon); } } -#line 2482 "parse_y.c" /* yacc.c:1652 */ +#line 2480 "parse_y.c" /* yacc.c:1652 */ break; case 105: -#line 829 "parse_y.y" /* yacc.c:1652 */ +#line 827 "parse_y.y" /* yacc.c:1652 */ { pcb_poly_hole_new(Polygon); } -#line 2490 "parse_y.c" /* yacc.c:1652 */ +#line 2488 "parse_y.c" /* yacc.c:1652 */ break; case 109: -#line 843 "parse_y.y" /* yacc.c:1652 */ +#line 841 "parse_y.y" /* yacc.c:1652 */ { pcb_poly_point_new(Polygon, OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2498 "parse_y.c" /* yacc.c:1652 */ +#line 2496 "parse_y.c" /* yacc.c:1652 */ break; case 110: -#line 847 "parse_y.y" /* yacc.c:1652 */ +#line 845 "parse_y.y" /* yacc.c:1652 */ { pcb_poly_point_new(Polygon, NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2506 "parse_y.c" /* yacc.c:1652 */ +#line 2504 "parse_y.c" /* yacc.c:1652 */ break; case 116: -#line 865 "parse_y.y" /* yacc.c:1652 */ +#line 863 "parse_y.y" /* yacc.c:1652 */ { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_no_flags(), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_no_flags(), (yyvsp[-6].string), (yyvsp[-5].string), NULL, OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), (yyvsp[-2].integer), 100, pcb_no_flags(), rnd_false); free ((yyvsp[-6].string)); free ((yyvsp[-5].string)); pin_num = 1; } -#line 2518 "parse_y.c" /* yacc.c:1652 */ +#line 2516 "parse_y.c" /* yacc.c:1652 */ break; case 117: -#line 873 "parse_y.y" /* yacc.c:1652 */ +#line 871 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_fin(yyData); } -#line 2526 "parse_y.c" /* yacc.c:1652 */ +#line 2524 "parse_y.c" /* yacc.c:1652 */ break; case 118: -#line 883 "parse_y.y" /* yacc.c:1652 */ +#line 881 "parse_y.y" /* yacc.c:1652 */ { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old((yyvsp[-9].integer)), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old((yyvsp[-9].integer)), (yyvsp[-8].string), (yyvsp[-7].string), NULL, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), IV ((yyvsp[-4].measure)), IV ((yyvsp[-3].measure)), pcb_flag_old((yyvsp[-2].integer)), rnd_false); free ((yyvsp[-8].string)); free ((yyvsp[-7].string)); pin_num = 1; } -#line 2538 "parse_y.c" /* yacc.c:1652 */ +#line 2536 "parse_y.c" /* yacc.c:1652 */ break; case 119: -#line 891 "parse_y.y" /* yacc.c:1652 */ +#line 889 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_fin(yyData); } -#line 2546 "parse_y.c" /* yacc.c:1652 */ +#line 2544 "parse_y.c" /* yacc.c:1652 */ break; case 120: -#line 901 "parse_y.y" /* yacc.c:1652 */ +#line 899 "parse_y.y" /* yacc.c:1652 */ { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old((yyvsp[-10].integer)), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old((yyvsp[-10].integer)), (yyvsp[-9].string), (yyvsp[-8].string), (yyvsp[-7].string), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), IV ((yyvsp[-4].measure)), IV ((yyvsp[-3].measure)), pcb_flag_old((yyvsp[-2].integer)), rnd_false); free ((yyvsp[-9].string)); free ((yyvsp[-8].string)); @@ -2555,21 +2553,21 @@ free ((yyvsp[-7].string)); pin_num = 1; } -#line 2559 "parse_y.c" /* yacc.c:1652 */ +#line 2557 "parse_y.c" /* yacc.c:1652 */ break; case 121: -#line 910 "parse_y.y" /* yacc.c:1652 */ +#line 908 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_fin(yyData); } -#line 2567 "parse_y.c" /* yacc.c:1652 */ +#line 2565 "parse_y.c" /* yacc.c:1652 */ break; case 122: -#line 921 "parse_y.y" /* yacc.c:1652 */ +#line 919 "parse_y.y" /* yacc.c:1652 */ { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old((yyvsp[-12].integer)), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old((yyvsp[-12].integer)), (yyvsp[-11].string), (yyvsp[-10].string), (yyvsp[-9].string), OU ((yyvsp[-8].measure)) + OU ((yyvsp[-6].measure)), OU ((yyvsp[-7].measure)) + OU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), pcb_flag_old((yyvsp[-2].integer)), rnd_false); yysubc_ox = OU ((yyvsp[-8].measure)); @@ -2578,21 +2576,21 @@ free ((yyvsp[-10].string)); free ((yyvsp[-9].string)); } -#line 2582 "parse_y.c" /* yacc.c:1652 */ +#line 2580 "parse_y.c" /* yacc.c:1652 */ break; case 123: -#line 932 "parse_y.y" /* yacc.c:1652 */ +#line 930 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_fin(yyData); } -#line 2590 "parse_y.c" /* yacc.c:1652 */ +#line 2588 "parse_y.c" /* yacc.c:1652 */ break; case 124: -#line 943 "parse_y.y" /* yacc.c:1652 */ +#line 941 "parse_y.y" /* yacc.c:1652 */ { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, (yyvsp[-12].flagtype), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, (yyvsp[-12].flagtype), (yyvsp[-11].string), (yyvsp[-10].string), (yyvsp[-9].string), NU ((yyvsp[-8].measure)) + NU ((yyvsp[-6].measure)), NU ((yyvsp[-7].measure)) + NU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), (yyvsp[-2].flagtype), rnd_false); yysubc_ox = NU ((yyvsp[-8].measure)); @@ -2601,11 +2599,11 @@ free ((yyvsp[-10].string)); free ((yyvsp[-9].string)); } -#line 2605 "parse_y.c" /* yacc.c:1652 */ +#line 2603 "parse_y.c" /* yacc.c:1652 */ break; case 125: -#line 954 "parse_y.y" /* yacc.c:1652 */ +#line 952 "parse_y.y" /* yacc.c:1652 */ { if (pcb_subc_is_empty(yysubc)) { pcb_subc_free(yysubc); @@ -2615,111 +2613,111 @@ io_pcb_element_fin(yyData); } } -#line 2619 "parse_y.c" /* yacc.c:1652 */ +#line 2617 "parse_y.c" /* yacc.c:1652 */ break; case 133: -#line 978 "parse_y.y" /* yacc.c:1652 */ +#line 976 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2627 "parse_y.c" /* yacc.c:1652 */ +#line 2625 "parse_y.c" /* yacc.c:1652 */ break; case 134: -#line 983 "parse_y.y" /* yacc.c:1652 */ +#line 981 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2635 "parse_y.c" /* yacc.c:1652 */ +#line 2633 "parse_y.c" /* yacc.c:1652 */ break; case 135: -#line 988 "parse_y.y" /* yacc.c:1652 */ +#line 986 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-1].measure))); } -#line 2643 "parse_y.c" /* yacc.c:1652 */ +#line 2641 "parse_y.c" /* yacc.c:1652 */ break; case 136: -#line 993 "parse_y.y" /* yacc.c:1652 */ +#line 991 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-1].measure))); } -#line 2651 "parse_y.c" /* yacc.c:1652 */ +#line 2649 "parse_y.c" /* yacc.c:1652 */ break; case 137: -#line 998 "parse_y.y" /* yacc.c:1652 */ +#line 996 "parse_y.y" /* yacc.c:1652 */ { yysubc_ox = NU ((yyvsp[-2].measure)); yysubc_oy = NU ((yyvsp[-1].measure)); } -#line 2660 "parse_y.c" /* yacc.c:1652 */ +#line 2658 "parse_y.c" /* yacc.c:1652 */ break; case 138: -#line 1003 "parse_y.y" /* yacc.c:1652 */ +#line 1001 "parse_y.y" /* yacc.c:1652 */ { yysubc_ox = OU ((yyvsp[-2].measure)); yysubc_oy = OU ((yyvsp[-1].measure)); } -#line 2669 "parse_y.c" /* yacc.c:1652 */ +#line 2667 "parse_y.c" /* yacc.c:1652 */ break; case 139: -#line 1007 "parse_y.y" /* yacc.c:1652 */ +#line 1005 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yysubc->Attributes; } -#line 2675 "parse_y.c" /* yacc.c:1652 */ +#line 2673 "parse_y.c" /* yacc.c:1652 */ break; case 148: -#line 1023 "parse_y.y" /* yacc.c:1652 */ +#line 1021 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, NU ((yyvsp[-5].measure)) + yysubc_ox, NU ((yyvsp[-4].measure)) + yysubc_oy, NU ((yyvsp[-3].measure)) + yysubc_ox, NU ((yyvsp[-2].measure)) + yysubc_oy, NU ((yyvsp[-1].measure))); } -#line 2685 "parse_y.c" /* yacc.c:1652 */ +#line 2683 "parse_y.c" /* yacc.c:1652 */ break; case 149: -#line 1029 "parse_y.y" /* yacc.c:1652 */ +#line 1027 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_line_new(yysubc, OU ((yyvsp[-5].measure)) + yysubc_ox, OU ((yyvsp[-4].measure)) + yysubc_oy, OU ((yyvsp[-3].measure)) + yysubc_ox, OU ((yyvsp[-2].measure)) + yysubc_oy, OU ((yyvsp[-1].measure))); } -#line 2695 "parse_y.c" /* yacc.c:1652 */ +#line 2693 "parse_y.c" /* yacc.c:1652 */ break; case 150: -#line 1036 "parse_y.y" /* yacc.c:1652 */ +#line 1034 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, NU ((yyvsp[-7].measure)) + yysubc_ox, NU ((yyvsp[-6].measure)) + yysubc_oy, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-1].measure))); } -#line 2704 "parse_y.c" /* yacc.c:1652 */ +#line 2702 "parse_y.c" /* yacc.c:1652 */ break; case 151: -#line 1041 "parse_y.y" /* yacc.c:1652 */ +#line 1039 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_arc_new(yysubc, OU ((yyvsp[-7].measure)) + yysubc_ox, OU ((yyvsp[-6].measure)) + yysubc_oy, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-1].measure))); } -#line 2713 "parse_y.c" /* yacc.c:1652 */ +#line 2711 "parse_y.c" /* yacc.c:1652 */ break; case 152: -#line 1045 "parse_y.y" /* yacc.c:1652 */ +#line 1043 "parse_y.y" /* yacc.c:1652 */ { attr_list = & yysubc->Attributes; } -#line 2719 "parse_y.c" /* yacc.c:1652 */ +#line 2717 "parse_y.c" /* yacc.c:1652 */ break; case 154: -#line 1052 "parse_y.y" /* yacc.c:1652 */ +#line 1050 "parse_y.y" /* yacc.c:1652 */ { pcb_pstk_t *pin = io_pcb_element_pin_new(yysubc, NU ((yyvsp[-9].measure)) + yysubc_ox, NU ((yyvsp[-8].measure)) + yysubc_oy, NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-3].string), @@ -2728,11 +2726,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2732 "parse_y.c" /* yacc.c:1652 */ +#line 2730 "parse_y.c" /* yacc.c:1652 */ break; case 155: -#line 1065 "parse_y.y" /* yacc.c:1652 */ +#line 1063 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pin_new(yysubc, OU ((yyvsp[-9].measure)) + yysubc_ox, OU ((yyvsp[-8].measure)) + yysubc_oy, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].string), @@ -2740,11 +2738,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2744 "parse_y.c" /* yacc.c:1652 */ +#line 2742 "parse_y.c" /* yacc.c:1652 */ break; case 156: -#line 1077 "parse_y.y" /* yacc.c:1652 */ +#line 1075 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pin_new(yysubc, OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), 2*PCB_GROUNDPLANEFRAME, OU ((yyvsp[-5].measure)) + 2*PCB_MASKFRAME, OU ((yyvsp[-4].measure)), (yyvsp[-3].string), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); @@ -2751,11 +2749,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2755 "parse_y.c" /* yacc.c:1652 */ +#line 2753 "parse_y.c" /* yacc.c:1652 */ break; case 157: -#line 1088 "parse_y.y" /* yacc.c:1652 */ +#line 1086 "parse_y.y" /* yacc.c:1652 */ { char p_number[8]; @@ -2765,11 +2763,11 @@ free ((yyvsp[-2].string)); } -#line 2769 "parse_y.c" /* yacc.c:1652 */ +#line 2767 "parse_y.c" /* yacc.c:1652 */ break; case 158: -#line 1104 "parse_y.y" /* yacc.c:1652 */ +#line 1102 "parse_y.y" /* yacc.c:1652 */ { rnd_coord_t hole = OU ((yyvsp[-3].measure)) * PCB_DEFAULT_DRILLINGHOLE; char p_number[8]; @@ -2784,11 +2782,11 @@ OU ((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, hole, (yyvsp[-2].string), p_number, pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2788 "parse_y.c" /* yacc.c:1652 */ +#line 2786 "parse_y.c" /* yacc.c:1652 */ break; case 159: -#line 1123 "parse_y.y" /* yacc.c:1652 */ +#line 1121 "parse_y.y" /* yacc.c:1652 */ { pcb_pstk_t *pad = io_pcb_element_pad_new(yysubc, NU ((yyvsp[-10].measure)) + yysubc_ox, NU ((yyvsp[-9].measure)) + yysubc_oy, @@ -2799,11 +2797,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2803 "parse_y.c" /* yacc.c:1652 */ +#line 2801 "parse_y.c" /* yacc.c:1652 */ break; case 160: -#line 1138 "parse_y.y" /* yacc.c:1652 */ +#line 1136 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pad_new(yysubc,OU ((yyvsp[-10].measure)) + yysubc_ox, OU ((yyvsp[-9].measure)) + yysubc_oy, OU ((yyvsp[-8].measure)) + yysubc_ox, @@ -2812,11 +2810,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2816 "parse_y.c" /* yacc.c:1652 */ +#line 2814 "parse_y.c" /* yacc.c:1652 */ break; case 161: -#line 1151 "parse_y.y" /* yacc.c:1652 */ +#line 1149 "parse_y.y" /* yacc.c:1652 */ { rnd_coord_t cx = OU((yyvsp[-9].measure)), cy = OU((yyvsp[-8].measure)), sx = OU((yyvsp[-7].measure)), sy = OU((yyvsp[-6].measure)); rnd_coord_t x1, y1, x2, y2; @@ -2836,11 +2834,11 @@ (yyvsp[-3].string), (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } -#line 2840 "parse_y.c" /* yacc.c:1652 */ +#line 2838 "parse_y.c" /* yacc.c:1652 */ break; case 162: -#line 1175 "parse_y.y" /* yacc.c:1652 */ +#line 1173 "parse_y.y" /* yacc.c:1652 */ { io_pcb_element_pad_new(yysubc,OU ((yyvsp[-8].measure)),OU ((yyvsp[-7].measure)),OU ((yyvsp[-6].measure)),OU ((yyvsp[-5].measure)),OU ((yyvsp[-4].measure)), 2*PCB_GROUNDPLANEFRAME, OU ((yyvsp[-4].measure)) + 2*PCB_MASKFRAME, (yyvsp[-3].string), (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); @@ -2847,11 +2845,11 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2851 "parse_y.c" /* yacc.c:1652 */ +#line 2849 "parse_y.c" /* yacc.c:1652 */ break; case 163: -#line 1186 "parse_y.y" /* yacc.c:1652 */ +#line 1184 "parse_y.y" /* yacc.c:1652 */ { char p_number[8]; @@ -2860,23 +2858,23 @@ OU ((yyvsp[-3].measure)) + 2*PCB_MASKFRAME, (yyvsp[-2].string),p_number, pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } -#line 2864 "parse_y.c" /* yacc.c:1652 */ +#line 2862 "parse_y.c" /* yacc.c:1652 */ break; case 164: -#line 1196 "parse_y.y" /* yacc.c:1652 */ +#line 1194 "parse_y.y" /* yacc.c:1652 */ { (yyval.flagtype) = pcb_flag_old((yyvsp[0].integer)); } -#line 2870 "parse_y.c" /* yacc.c:1652 */ +#line 2868 "parse_y.c" /* yacc.c:1652 */ break; case 165: -#line 1197 "parse_y.y" /* yacc.c:1652 */ +#line 1195 "parse_y.y" /* yacc.c:1652 */ { (yyval.flagtype) = pcb_strflg_s2f((yyvsp[0].string), yyerror, &yy_intconn, 1); free((yyvsp[0].string)); } -#line 2876 "parse_y.c" /* yacc.c:1652 */ +#line 2874 "parse_y.c" /* yacc.c:1652 */ break; case 169: -#line 1208 "parse_y.y" /* yacc.c:1652 */ +#line 1206 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-3].integer) <= 0 || (yyvsp[-3].integer) > PCB_MAX_FONTPOSITION) { @@ -2892,11 +2890,11 @@ Glyph->valid = rnd_true; Glyph->xdelta = NU ((yyvsp[-2].measure)); } -#line 2896 "parse_y.c" /* yacc.c:1652 */ +#line 2894 "parse_y.c" /* yacc.c:1652 */ break; case 170: -#line 1224 "parse_y.y" /* yacc.c:1652 */ +#line 1222 "parse_y.y" /* yacc.c:1652 */ { if ((yyvsp[-3].integer) <= 0 || (yyvsp[-3].integer) > PCB_MAX_FONTPOSITION) { @@ -2912,27 +2910,27 @@ Glyph->valid = rnd_true; Glyph->xdelta = OU ((yyvsp[-2].measure)); } -#line 2916 "parse_y.c" /* yacc.c:1652 */ +#line 2914 "parse_y.c" /* yacc.c:1652 */ break; case 176: -#line 1255 "parse_y.y" /* yacc.c:1652 */ +#line 1253 "parse_y.y" /* yacc.c:1652 */ { rnd_font_new_line_in_glyph(Glyph, OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), OU ((yyvsp[-3].measure)), OU ((yyvsp[-2].measure)), OU ((yyvsp[-1].measure))); } -#line 2924 "parse_y.c" /* yacc.c:1652 */ +#line 2922 "parse_y.c" /* yacc.c:1652 */ break; case 177: -#line 1262 "parse_y.y" /* yacc.c:1652 */ +#line 1260 "parse_y.y" /* yacc.c:1652 */ { rnd_font_new_line_in_glyph(Glyph, NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), NU ((yyvsp[-3].measure)), NU ((yyvsp[-2].measure)), NU ((yyvsp[-1].measure))); } -#line 2932 "parse_y.c" /* yacc.c:1652 */ +#line 2930 "parse_y.c" /* yacc.c:1652 */ break; case 185: -#line 1289 "parse_y.y" /* yacc.c:1652 */ +#line 1287 "parse_y.y" /* yacc.c:1652 */ { currnet = pcb_net_get(yyPCB, &yyPCB->netlist[PCB_NETLIST_INPUT], (yyvsp[-3].string), PCB_NETA_ALLOC); if (((yyvsp[-2].string) != NULL) && (*(yyvsp[-2].string) != '\0')) @@ -2940,38 +2938,38 @@ free ((yyvsp[-3].string)); free ((yyvsp[-2].string)); } -#line 2944 "parse_y.c" /* yacc.c:1652 */ +#line 2942 "parse_y.c" /* yacc.c:1652 */ break; case 191: -#line 1311 "parse_y.y" /* yacc.c:1652 */ +#line 1309 "parse_y.y" /* yacc.c:1652 */ { pcb_net_term_get_by_pinname(currnet, (yyvsp[-1].string), 1); free ((yyvsp[-1].string)); } -#line 2953 "parse_y.c" /* yacc.c:1652 */ +#line 2951 "parse_y.c" /* yacc.c:1652 */ break; case 199: -#line 1358 "parse_y.y" /* yacc.c:1652 */ +#line 1356 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_ADD_CONN, (yyvsp[-2].string), (yyvsp[-1].string), NULL, 0); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2959 "parse_y.c" /* yacc.c:1652 */ +#line 2957 "parse_y.c" /* yacc.c:1652 */ break; case 200: -#line 1359 "parse_y.y" /* yacc.c:1652 */ +#line 1357 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_DEL_CONN, (yyvsp[-2].string), (yyvsp[-1].string), NULL, 0); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2965 "parse_y.c" /* yacc.c:1652 */ +#line 2963 "parse_y.c" /* yacc.c:1652 */ break; case 201: -#line 1360 "parse_y.y" /* yacc.c:1652 */ +#line 1358 "parse_y.y" /* yacc.c:1652 */ { pcb_ratspatch_append(yyPCB, RATP_CHANGE_ATTRIB, (yyvsp[-3].string), (yyvsp[-2].string), (yyvsp[-1].string), 0); free((yyvsp[-3].string)); free((yyvsp[-2].string)); free((yyvsp[-1].string)); } -#line 2971 "parse_y.c" /* yacc.c:1652 */ +#line 2969 "parse_y.c" /* yacc.c:1652 */ break; case 202: -#line 1365 "parse_y.y" /* yacc.c:1652 */ +#line 1363 "parse_y.y" /* yacc.c:1652 */ { char *old_val, *key = (yyvsp[-2].string), *val = (yyvsp[-1].string) ? (yyvsp[-1].string) : (char *)""; old_val = pcb_attribute_get(attr_list, key); @@ -2982,95 +2980,95 @@ free(key); if ((yyvsp[-1].string) != NULL) free(val); } -#line 2986 "parse_y.c" /* yacc.c:1652 */ +#line 2984 "parse_y.c" /* yacc.c:1652 */ break; case 203: -#line 1377 "parse_y.y" /* yacc.c:1652 */ +#line 1375 "parse_y.y" /* yacc.c:1652 */ { (yyval.string) = (yyvsp[0].string); } -#line 2992 "parse_y.c" /* yacc.c:1652 */ +#line 2990 "parse_y.c" /* yacc.c:1652 */ break; case 204: -#line 1378 "parse_y.y" /* yacc.c:1652 */ +#line 1376 "parse_y.y" /* yacc.c:1652 */ { (yyval.string) = 0; } -#line 2998 "parse_y.c" /* yacc.c:1652 */ +#line 2996 "parse_y.c" /* yacc.c:1652 */ break; case 205: -#line 1382 "parse_y.y" /* yacc.c:1652 */ +#line 1380 "parse_y.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[0].number); } -#line 3004 "parse_y.c" /* yacc.c:1652 */ +#line 3002 "parse_y.c" /* yacc.c:1652 */ break; case 206: -#line 1383 "parse_y.y" /* yacc.c:1652 */ +#line 1381 "parse_y.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[0].integer); } -#line 3010 "parse_y.c" /* yacc.c:1652 */ +#line 3008 "parse_y.c" /* yacc.c:1652 */ break; case 207: -#line 1388 "parse_y.y" /* yacc.c:1652 */ +#line 1386 "parse_y.y" /* yacc.c:1652 */ { do_measure(&(yyval.measure), (yyvsp[0].number), RND_MIL_TO_COORD ((yyvsp[0].number)) / 100.0, 0); } -#line 3016 "parse_y.c" /* yacc.c:1652 */ +#line 3014 "parse_y.c" /* yacc.c:1652 */ break; case 208: -#line 1389 "parse_y.y" /* yacc.c:1652 */ +#line 1387 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3022 "parse_y.c" /* yacc.c:1652 */ +#line 3020 "parse_y.c" /* yacc.c:1652 */ break; case 209: -#line 1390 "parse_y.y" /* yacc.c:1652 */ +#line 1388 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number)) / 100.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3028 "parse_y.c" /* yacc.c:1652 */ +#line 3026 "parse_y.c" /* yacc.c:1652 */ break; case 210: -#line 1391 "parse_y.y" /* yacc.c:1652 */ +#line 1389 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MIL_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3034 "parse_y.c" /* yacc.c:1652 */ +#line 3032 "parse_y.c" /* yacc.c:1652 */ break; case 211: -#line 1392 "parse_y.y" /* yacc.c:1652 */ +#line 1390 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_INCH_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3040 "parse_y.c" /* yacc.c:1652 */ +#line 3038 "parse_y.c" /* yacc.c:1652 */ break; case 212: -#line 1393 "parse_y.y" /* yacc.c:1652 */ +#line 1391 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) / 1000000.0); pcb_io_pcb_usty_seen |= PCB_USTY_NANOMETER; } -#line 3046 "parse_y.c" /* yacc.c:1652 */ +#line 3044 "parse_y.c" /* yacc.c:1652 */ break; case 213: -#line 1394 "parse_y.y" /* yacc.c:1652 */ +#line 1392 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) / 1000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3052 "parse_y.c" /* yacc.c:1652 */ +#line 3050 "parse_y.c" /* yacc.c:1652 */ break; case 214: -#line 1395 "parse_y.y" /* yacc.c:1652 */ +#line 1393 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number))); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3058 "parse_y.c" /* yacc.c:1652 */ +#line 3056 "parse_y.c" /* yacc.c:1652 */ break; case 215: -#line 1396 "parse_y.y" /* yacc.c:1652 */ +#line 1394 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) * 1000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3064 "parse_y.c" /* yacc.c:1652 */ +#line 3062 "parse_y.c" /* yacc.c:1652 */ break; case 216: -#line 1397 "parse_y.y" /* yacc.c:1652 */ +#line 1395 "parse_y.y" /* yacc.c:1652 */ { M ((yyval.measure), (yyvsp[-1].number), RND_MM_TO_COORD ((yyvsp[-1].number)) * 1000000.0); pcb_io_pcb_usty_seen |= PCB_USTY_UNITS; } -#line 3070 "parse_y.c" /* yacc.c:1652 */ +#line 3068 "parse_y.c" /* yacc.c:1652 */ break; -#line 3074 "parse_y.c" /* yacc.c:1652 */ +#line 3072 "parse_y.c" /* yacc.c:1652 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3301,7 +3299,7 @@ #endif return yyresult; } -#line 1400 "parse_y.y" /* yacc.c:1918 */ +#line 1398 "parse_y.y" /* yacc.c:1918 */ /* --------------------------------------------------------------------------- Index: trunk/src_plugins/io_pcb/parse_y.h =================================================================== --- trunk/src_plugins/io_pcb/parse_y.h (revision 36697) +++ trunk/src_plugins/io_pcb/parse_y.h (revision 36698) @@ -105,7 +105,7 @@ union YYSTYPE { -#line 128 "parse_y.y" /* yacc.c:1921 */ +#line 127 "parse_y.y" /* yacc.c:1921 */ int integer; double number; Index: trunk/src_plugins/io_pcb/parse_y.y =================================================================== --- trunk/src_plugins/io_pcb/parse_y.y (revision 36697) +++ trunk/src_plugins/io_pcb/parse_y.y (revision 36698) @@ -79,7 +79,6 @@ extern pcb_data_t * yyData; extern pcb_subc_t *yysubc; extern rnd_coord_t yysubc_ox, yysubc_oy; -extern pcb_font_t * yyFont; extern rnd_font_t * yyRndFont; extern rnd_bool yyFontReset; extern int pcb_lineno; /* linenumber */ @@ -172,8 +171,7 @@ } for (i = 0; i < PCB_MAX_LAYER + 2; i++) LayerFlag[i] = rnd_false; - yyFont = &yyPCB->fontkit.dflt; - yyRndFont = &yyPCB->fontkit.dflt.rnd_font; + yyRndFont = &yyPCB->fontkit.dflt; yyFontkitValid = &yyPCB->fontkit.valid; yyData = yyPCB->Data; PCB_SET_PARENT(yyData, board, yyPCB); @@ -265,7 +263,7 @@ */ int i; - if (!yyData || !yyFont) + if (!yyData || !yyRndFont) { rnd_message(RND_MSG_ERROR, "illegal fileformat\n"); YYABORT; @@ -286,7 +284,7 @@ : { /* mark all symbols invalid */ - if (!yyFont) + if (!yyRndFont) { rnd_message(RND_MSG_ERROR, "illegal fileformat\n"); YYABORT; @@ -293,7 +291,7 @@ } if (yyFontReset) { rnd_font_free(yyRndFont); - yyFont->rnd_font.id = 0; + yyRndFont->id = 0; } *yyFontkitValid = rnd_false; } @@ -726,7 +724,7 @@ : T_TEXT '(' measure measure number STRING INTEGER ')' { /* use a default scale of 100% */ - pcb_text_new(Layer,&yyFont->rnd_font,OU ($3), OU ($4), $5 * 90.0, 100, 0, $6, pcb_flag_old($7)); + pcb_text_new(Layer,yyRndFont,OU ($3), OU ($4), $5 * 90.0, 100, 0, $6, pcb_flag_old($7)); free ($6); } ; @@ -740,11 +738,11 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (($8 & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay ,&yyFont->rnd_font, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, + pcb_text_new(lay ,yyRndFont, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, pcb_flag_old($8)); } else - pcb_text_new(Layer, &yyFont->rnd_font, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, + pcb_text_new(Layer, yyRndFont, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, pcb_flag_old($8)); free ($7); } @@ -769,10 +767,10 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (($8.f & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay, &yyFont->rnd_font, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); + pcb_text_new(lay, yyRndFont, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); } else - pcb_text_new(Layer, &yyFont->rnd_font, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); + pcb_text_new(Layer, yyRndFont, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); free ($7); } } @@ -863,7 +861,7 @@ */ : T_ELEMENT '(' STRING STRING measure measure INTEGER ')' '(' { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_no_flags(), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_no_flags(), $3, $4, NULL, OU ($5), OU ($6), $7, 100, pcb_no_flags(), rnd_false); free ($3); free ($4); @@ -881,7 +879,7 @@ */ : T_ELEMENT '(' INTEGER STRING STRING measure measure measure measure INTEGER ')' '(' { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old($3), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old($3), $4, $5, NULL, OU ($6), OU ($7), IV ($8), IV ($9), pcb_flag_old($10), rnd_false); free ($4); free ($5); @@ -899,7 +897,7 @@ */ : T_ELEMENT '(' INTEGER STRING STRING STRING measure measure measure measure INTEGER ')' '(' { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old($3), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old($3), $4, $5, $6, OU ($7), OU ($8), IV ($9), IV ($10), pcb_flag_old($11), rnd_false); free ($4); free ($5); @@ -919,7 +917,7 @@ : T_ELEMENT '(' INTEGER STRING STRING STRING measure measure measure measure number number INTEGER ')' '(' { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, pcb_flag_old($3), + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, pcb_flag_old($3), $4, $5, $6, OU ($7) + OU ($9), OU ($8) + OU ($10), $11, $12, pcb_flag_old($13), rnd_false); yysubc_ox = OU ($7); @@ -941,7 +939,7 @@ : T_ELEMENT '[' flags STRING STRING STRING measure measure measure measure number number flags ']' '(' { - yysubc = io_pcb_element_new(yyData, yysubc, yyFont, $3, + yysubc = io_pcb_element_new(yyData, yysubc, yyRndFont, $3, $4, $5, $6, NU ($7) + NU ($9), NU ($8) + NU ($10), $11, $12, $13, rnd_false); yysubc_ox = NU ($7);