Index: trunk/src/data.c =================================================================== --- trunk/src/data.c (revision 36687) +++ trunk/src/data.c (revision 36688) @@ -266,7 +266,7 @@ PCB_ENDALL_LOOP; PCB_TEXT_ALL_LOOP(Data); { - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); if (!ignore_floaters || !PCB_FLAG_TEST(PCB_FLAG_FLOATER, text)) rnd_box_bump_box(out, &text->BoundingBox); } @@ -318,7 +318,7 @@ PCB_ENDALL_LOOP; PCB_TEXT_ALL_LOOP(Data); { - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); if (!ignore_floaters || !PCB_FLAG_TEST(PCB_FLAG_FLOATER, text)) rnd_box_bump_box(out, &text->bbox_naked); } Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 36687) +++ trunk/src/draw.c (revision 36688) @@ -1044,7 +1044,7 @@ #define PCB_TERM_LABEL_SETUP(label) \ rnd_bool flip_x = rnd_conf.editor.view.flip_x; \ rnd_bool flip_y = rnd_conf.editor.view.flip_y; \ - pcb_font_t *font = pcb_font(PCB, 0, 0); \ + pcb_font_t *font = pcb_font_old(PCB, 0, 0); \ rnd_coord_t w, h, dx, dy; \ double scl = scale/100.0; \ if (vert) { \ Index: trunk/src/draw_label_smart.c =================================================================== --- trunk/src/draw_label_smart.c (revision 36687) +++ trunk/src/draw_label_smart.c (revision 36688) @@ -147,7 +147,7 @@ if (smart_labels == NULL) return; rnd_rtree_init(&rt); - font = pcb_font(PCB, 0, 0); + font = pcb_font_old(PCB, 0, 0); rnd_render->set_color(pcb_draw_out.fgGC, &conf_core.appearance.color.pin_name); if (rnd_render->gui) pcb_draw_force_termlab++; Index: trunk/src/font.c =================================================================== --- trunk/src/font.c (revision 36687) +++ trunk/src/font.c (revision 36688) @@ -100,11 +100,17 @@ return NULL; } -pcb_font_t *pcb_font(pcb_board_t *pcb, rnd_font_id_t id, int fallback) +pcb_font_t *pcb_font_old(pcb_board_t *pcb, rnd_font_id_t id, int fallback) { return pcb_font_(pcb, id, fallback, 0); } +rnd_font_t *pcb_font(pcb_board_t *pcb, rnd_font_id_t id, int fallback) +{ + pcb_font_t *res = pcb_font_(pcb, id, fallback, 0); + return res == NULL ? NULL : &res->rnd_font; +} + pcb_font_t *pcb_font_unlink(pcb_board_t *pcb, rnd_font_id_t id) { return pcb_font_(pcb, id, 0, 1); Index: trunk/src/font.h =================================================================== --- trunk/src/font.h (revision 36687) +++ trunk/src/font.h (revision 36688) @@ -53,7 +53,8 @@ /* Look up font. If not found: return NULL (fallback=0), or return the default font (fallback=1) */ -pcb_font_t *pcb_font(pcb_board_t *pcb, rnd_font_id_t id, int fallback); +pcb_font_t *pcb_font_old(pcb_board_t *pcb, rnd_font_id_t id, int fallback); +rnd_font_t *pcb_font(pcb_board_t *pcb, rnd_font_id_t id, int fallback); void pcb_font_create_default(pcb_board_t *pcb); Index: trunk/src/font_act.c =================================================================== --- trunk/src/font_act.c (revision 36687) +++ trunk/src/font_act.c (revision 36688) @@ -56,7 +56,7 @@ rnd_message(RND_MSG_ERROR, "LoadFontFrom(): when second argument is present, it must be an integer\n"); return 1; } - if (pcb_font(PCB_ACT_BOARD, fid, 0) != NULL) { /* font already exists */ + if (pcb_font_old(PCB_ACT_BOARD, fid, 0) != NULL) { /* font already exists */ dst_fid = fid; fid = -1; /* allocate a new id, which will be later moved to dst_fid */ } @@ -133,7 +133,7 @@ rnd_message(RND_MSG_ERROR, "SaveFontTo(): when second argument is present, it must be an integer\n"); return 1; } - if (pcb_font(PCB_ACT_BOARD, fid, 0) == NULL) { + if (pcb_font_old(PCB_ACT_BOARD, fid, 0) == NULL) { rnd_message(RND_MSG_ERROR, "SaveFontTo(): can not fetch font ID %d\n", fid); return 1; } @@ -141,7 +141,7 @@ else fid = conf_core.design.text_font_id; - fnt = pcb_font(PCB_ACT_BOARD, fid, 0); + fnt = pcb_font_old(PCB_ACT_BOARD, fid, 0); if (fnt == NULL) { rnd_message(RND_MSG_ERROR, "SaveFontTo(): failed to fetch font %d\n", fid); return 1; Index: trunk/src/obj_common.c =================================================================== --- trunk/src/obj_common.c (revision 36687) +++ trunk/src/obj_common.c (revision 36688) @@ -468,7 +468,7 @@ case PCB_OBJ_ARC: pcb_arc_bbox((pcb_arc_t *)obj); break; case PCB_OBJ_LINE: pcb_line_bbox((pcb_line_t *)obj); break; case PCB_OBJ_POLY: pcb_poly_bbox((pcb_poly_t *)obj); break; - case PCB_OBJ_TEXT: pcb_text_bbox(pcb_font(pcb, ((pcb_text_t *)obj)->fid, 1), (pcb_text_t *)obj); break; + case PCB_OBJ_TEXT: pcb_text_bbox(pcb_font_old(pcb, ((pcb_text_t *)obj)->fid, 1), (pcb_text_t *)obj); break; case PCB_OBJ_SUBC: pcb_subc_bbox((pcb_subc_t *)obj); break; case PCB_OBJ_PSTK: pcb_pstk_bbox((pcb_pstk_t *)obj); break; case PCB_OBJ_GFX: pcb_gfx_bbox((pcb_gfx_t *)obj); break; Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 36687) +++ trunk/src/obj_subc.c (revision 36688) @@ -694,7 +694,7 @@ } if (dstly != NULL) - pcb_text_new(dstly, pcb_font(PCB, 0, 0), buffer->X, buffer->Y, 0, 100, 0, "%a.parent.refdes%", pcb_flag_make(PCB_FLAG_DYNTEXT | PCB_FLAG_FLOATER | botflg)); + pcb_text_new(dstly, pcb_font_old(PCB, 0, 0), buffer->X, buffer->Y, 0, 100, 0, "%a.parent.refdes%", pcb_flag_make(PCB_FLAG_DYNTEXT | PCB_FLAG_FLOATER | botflg)); else rnd_message(RND_MSG_ERROR, "Error: can't create primary silk layer in subc for placing the refdes\n"); } Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 36687) +++ trunk/src/obj_text.c (revision 36688) @@ -155,7 +155,7 @@ rnd_swap(rnd_font_id_t, g->fid, g->text->fid); if (pcb != NULL) - pcb_text_bbox(pcb_font(pcb, g->text->fid, 1), g->text); + pcb_text_bbox(pcb_font_old(pcb, g->text->fid, 1), g->text); if (layer->text_tree != NULL) rnd_r_insert_entry(layer->text_tree, (rnd_box_t *)g->text); pcb_poly_clear_from_poly(layer->parent.data, PCB_OBJ_TEXT, layer, g->text); @@ -303,7 +303,7 @@ pcb_text_t *pcb_text_dup(pcb_layer_t *dst, pcb_text_t *src) { - pcb_text_t *t = pcb_text_new_scaled(dst, pcb_font(PCB, src->fid, 1), src->X, src->Y, src->rot, text_mirror_bits(src), src->Scale, src->scale_x, src->scale_y, src->thickness, src->TextString, src->Flags); + pcb_text_t *t = pcb_text_new_scaled(dst, pcb_font_old(PCB, src->fid, 1), src->X, src->Y, src->rot, text_mirror_bits(src), src->Scale, src->scale_x, src->scale_y, src->thickness, src->TextString, src->Flags); t->clearance = src->clearance; pcb_text_copy_meta(t, src); return t; @@ -311,7 +311,7 @@ pcb_text_t *pcb_text_dup_at(pcb_layer_t *dst, pcb_text_t *src, rnd_coord_t dx, rnd_coord_t dy) { - pcb_text_t *t = pcb_text_new_scaled(dst, pcb_font(PCB, src->fid, 1), src->X+dx, src->Y+dy, src->rot, text_mirror_bits(src), src->Scale, src->scale_x, src->scale_y, src->thickness, src->TextString, src->Flags); + pcb_text_t *t = pcb_text_new_scaled(dst, pcb_font_old(PCB, src->fid, 1), src->X+dx, src->Y+dy, src->rot, text_mirror_bits(src), src->Scale, src->scale_x, src->scale_y, src->thickness, src->TextString, src->Flags); t->clearance = src->clearance; pcb_text_copy_meta(t, src); return t; @@ -433,7 +433,7 @@ int ctr; if (FontPtr == NULL) - FontPtr = pcb_font(pcb, Text->fid, 1); + FontPtr = pcb_font_old(pcb, Text->fid, 1); rendered = pcb_text_render_str(Text); if (rendered == NULL) @@ -453,7 +453,7 @@ unsigned char *rendered = pcb_text_render_str(Text); double scx, scy; rnd_coord_t min_line_width; - pcb_font_t *font = pcb_font(PCB, Text->fid, 1); + pcb_font_t *font = pcb_font_old(PCB, Text->fid, 1); /* Calculate the bounding box based on the larger of the thicknesses * the text might clamped at on silk or copper layers. */ @@ -528,7 +528,7 @@ void *pcb_textop_add_to_buffer(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_text_t *Text) { pcb_layer_t *layer = &ctx->buffer.dst->Layer[pcb_layer_id(ctx->buffer.src, Layer)]; - pcb_text_t *t = pcb_text_new_scaled(layer, pcb_font(PCB, Text->fid, 1), Text->X, Text->Y, Text->rot, text_mirror_bits(Text), Text->Scale, Text->scale_x, Text->scale_y, Text->thickness, Text->TextString, pcb_flag_mask(Text->Flags, ctx->buffer.extraflg)); + pcb_text_t *t = pcb_text_new_scaled(layer, pcb_font_old(PCB, Text->fid, 1), Text->X, Text->Y, Text->rot, text_mirror_bits(Text), Text->Scale, Text->scale_x, Text->scale_y, Text->thickness, Text->TextString, pcb_flag_mask(Text->Flags, ctx->buffer.extraflg)); t->clearance = Text->clearance; pcb_text_copy_meta(t, Text); @@ -583,7 +583,7 @@ Text->scale_x = (double)value / 100.0; if (Text->scale_y > 0) Text->scale_y = (double)value / 100.0; - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); rnd_r_insert_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); pcb_text_invalidate_draw(Layer, Text); @@ -613,7 +613,7 @@ rnd_r_delete_entry(Layer->text_tree, (rnd_box_t *)text); text->clearance = value; if (pcb != NULL) - pcb_text_bbox(pcb_font(pcb, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(pcb, text->fid, 1), text); rnd_r_insert_entry(Layer->text_tree, (rnd_box_t *)text); pcb_poly_clear_from_poly(ctx->chgsize.pcb->Data, PCB_OBJ_TEXT, Layer, text); pcb_text_invalidate_draw(Layer, text); @@ -636,7 +636,7 @@ rnd_r_delete_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); Text->thickness = value; - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); rnd_r_insert_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); pcb_text_invalidate_draw(Layer, Text); @@ -658,7 +658,7 @@ rnd_r_delete_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); Text->rot = value; - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); rnd_r_insert_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); pcb_text_invalidate_draw(Layer, Text); @@ -681,7 +681,7 @@ Text->TextString = ctx->chgname.new_name; /* calculate size of the bounding box */ - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); rnd_r_insert_entry(Layer->text_tree, (rnd_box_t *) Text); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_TEXT, Layer, Text); pcb_text_invalidate_draw(Layer, Text); @@ -729,7 +729,7 @@ { pcb_text_t *text; - text = pcb_text_new_scaled(Layer, pcb_font(PCB, Text->fid, 1), Text->X + ctx->copy.DeltaX, + text = pcb_text_new_scaled(Layer, pcb_font_old(PCB, Text->fid, 1), Text->X + ctx->copy.DeltaX, Text->Y + ctx->copy.DeltaY, Text->rot, text_mirror_bits(Text), Text->Scale, Text->scale_x, Text->scale_y, Text->thickness, Text->TextString, pcb_flag_mask(Text->Flags, PCB_FLAG_FOUND)); if (ctx->copy.keep_id) text->ID = Text->ID; @@ -792,7 +792,7 @@ PCB_FLAG_CLEAR(PCB_FLAG_ONSOLDER, text); /* re-calculate the bounding box (it could be mirrored now) */ - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); if (!Destination->text_tree) Destination->text_tree = rnd_r_create_tree(); rnd_r_insert_entry(Destination->text_tree, (rnd_box_t *) text); @@ -865,7 +865,7 @@ Text->rot += 360.0; /* can't optimize with box rotation because of closed boxes */ - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); } /* rotates a text; only the bounding box is rotated, @@ -880,7 +880,7 @@ Text->rot += 360.0; /* can't optimize with box rotation because of closed boxes */ - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); } /* rotates a text object and redraws it */ @@ -934,7 +934,7 @@ text->X = PCB_SWAP_X(text->X); text->Y = PCB_SWAP_Y(text->Y) + y_offs; PCB_FLAG_TOGGLE(PCB_FLAG_ONSOLDER, text); - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); if (layer->text_tree != NULL) rnd_r_insert_entry(layer->text_tree, (rnd_box_t *) text); } @@ -982,7 +982,7 @@ if ((sth != 1.0) && (text->thickness > 0.0)) text->thickness = rnd_round((double)text->thickness * sth); - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); if (onbrd) pcb_text_post(text); } @@ -997,7 +997,7 @@ pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_TEXT, layer, text); rnd_r_delete_entry(layer->text_tree, (rnd_box_t *) text); text->fid = fid; - pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(PCB, text->fid, 1), text); rnd_r_insert_entry(layer->text_tree, (rnd_box_t *) text); pcb_poly_clear_from_poly(PCB->Data, PCB_OBJ_TEXT, layer, text); } @@ -1033,7 +1033,7 @@ pcb_poly_restore_to_poly(data, PCB_OBJ_TEXT, layer, text); rnd_r_delete_entry(layer->text_tree, (rnd_box_t *) text); - pcb_text_bbox(pcb_font(pcb, text->fid, 1), text); + pcb_text_bbox(pcb_font_old(pcb, text->fid, 1), text); rnd_r_insert_entry(layer->text_tree, (rnd_box_t *) text); pcb_poly_clear_from_poly(data, PCB_OBJ_TEXT, layer, text); } @@ -1058,7 +1058,7 @@ unsigned long newflagbits = Text->Flags.f; if ((oldflagbits & PCB_FLAG_DYNTEXT) || (newflagbits & PCB_FLAG_DYNTEXT) || (orig_layer != NULL)) - pcb_text_bbox(pcb_font(PCB, Text->fid, 1), Text); + pcb_text_bbox(pcb_font_old(PCB, Text->fid, 1), Text); if (orig_layer != NULL) rnd_r_insert_entry(orig_layer->text_tree, (rnd_box_t *)Text); @@ -1375,7 +1375,7 @@ info.xform = &xform; if (font == NULL) - font = pcb_font(PCB, 0, 0); + font = pcb_font_old(PCB, 0, 0); pcb_text_draw_string_(&info, font, (const unsigned char *)string, x0, y0, scx, scy, rotdeg, mirror, thickness, 0, xordraw, xordx, xordy, PCB_TXT_TINY_CHEAP, NULL, NULL); } @@ -1391,7 +1391,7 @@ unsigned char *rendered = pcb_text_render_str(text); double scx, scy; pcb_text_get_scale_xy(text, &scx, &scy); - pcb_text_decompose_string(info, pcb_font(PCB, text->fid, 1), rendered, text->X, text->Y, scx, scy, text->rot, text_mirror_bits(text), text->thickness, cb, cb_ctx); + pcb_text_decompose_string(info, pcb_font_old(PCB, text->fid, 1), rendered, text->X, text->Y, scx, scy, text->rot, text_mirror_bits(text), text->thickness, cb, cb_ctx); pcb_text_free_str(text, rendered); } @@ -1402,7 +1402,7 @@ unsigned char *rendered = pcb_text_render_str(Text); double scx, scy; pcb_text_get_scale_xy(Text, &scx, &scy); - pcb_text_draw_string_(info, pcb_font(PCB, Text->fid, 1), rendered, Text->X, Text->Y, scx, scy, Text->rot, text_mirror_bits(Text), Text->thickness, min_line_width, xordraw, xordx, xordy, tiny, NULL, NULL); + pcb_text_draw_string_(info, pcb_font_old(PCB, Text->fid, 1), rendered, Text->X, Text->Y, scx, scy, Text->rot, text_mirror_bits(Text), Text->thickness, min_line_width, xordraw, xordx, xordy, tiny, NULL, NULL); pcb_text_free_str(Text, rendered); } Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 36687) +++ trunk/src/object_act.c (revision 36688) @@ -930,7 +930,7 @@ return 1; } - t = pcb_text_new(ly, pcb_font(pcb, fid, 1), x, y, dir*90, scale, 0, txt, pcb_no_flags()); + t = pcb_text_new(ly, pcb_font_old(pcb, fid, 1), x, y, dir*90, scale, 0, txt, pcb_no_flags()); res->type = FGW_LONG; res->val.nat_long = (t == NULL ? -1 : t->ID); return 0; Index: trunk/src_plugins/act_draw/act_draw.c =================================================================== --- trunk/src_plugins/act_draw/act_draw.c (revision 36687) +++ trunk/src_plugins/act_draw/act_draw.c (revision 36688) @@ -185,7 +185,7 @@ if ((data != pcb->Data) || (layer == NULL)) return 0; - font = pcb_font(pcb, fontid, 0); + font = pcb_font_old(pcb, fontid, 0); if (font != NULL) { flags = pcb_strflg_s2f(sflg, flg_error, NULL, 0); text = pcb_text_new(layer, font, x, y, rot, scale, th, str, flags); Index: trunk/src_plugins/draw_csect/draw_csect.c =================================================================== --- trunk/src_plugins/draw_csect/draw_csect.c (revision 36687) +++ trunk/src_plugins/draw_csect/draw_csect.c (revision 36688) @@ -321,7 +321,7 @@ { pcb_text_t *t; t = dtext_bg(gc, x, y, 200, 0, label, &COLOR_BG, &COLOR_ANNOT); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); dhrect(RND_COORD_TO_MM(t->BoundingBox.X1), y, RND_COORD_TO_MM(t->BoundingBox.X2)+1, y+4, 0.25, 0, 0, 0, OMIT_NONE); box->X1 = t->BoundingBox.X1; box->Y1 = RND_MM_TO_COORD(y); @@ -521,7 +521,7 @@ if (lid == drag_lid) continue; t = dtext_bg(gc, x, y, 200, 0, l->name, &COLOR_BG, &l->meta.real.color); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); if (l->comb & PCB_LYC_SUB) { dhrect(RND_COORD_TO_MM(t->BoundingBox.X1), y, RND_COORD_TO_MM(t->BoundingBox.X2)+1, y+4, 1.2, 0, 0, 0, OMIT_NONE); redraw_text = 1; @@ -529,7 +529,7 @@ if (redraw_text) { t = dtext_bg(gc, x, y, 200, 0, l->name, &COLOR_BG, &l->meta.real.color); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); } else dhrect(RND_COORD_TO_MM(t->BoundingBox.X1), y, RND_COORD_TO_MM(t->BoundingBox.X2)+1, y+4, 0.25, 0, 0, 0, OMIT_NONE); @@ -555,7 +555,7 @@ pcb_layer_t *l = &PCB->Data->Layer[g->lid[0]]; rnd_render->set_color(gc, &l->meta.real.color); t = dtext_bg(gc, 1, y, 200, 0, l->name, &COLOR_BG, &l->meta.real.color); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); dhrect(RND_COORD_TO_MM(t->BoundingBox.X1), y, RND_COORD_TO_MM(t->BoundingBox.X2)+1, y+4, 1, 0, 0, 0, OMIT_NONE); dtext_bg(gc, 1, y, 200, 0, l->name, &COLOR_BG, &l->meta.real.color); reg_layer_coords(g->lid[0], t->BoundingBox.X1, RND_MM_TO_COORD(y), t->BoundingBox.X2+RND_MM_TO_COORD(1), RND_MM_TO_COORD(y+4)); @@ -563,7 +563,7 @@ else { rnd_render->set_color(gc, &COLOR_OUTLINE); t = dtext_bg(gc, 1, y, 200, 0, "", &COLOR_BG, &COLOR_OUTLINE); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); dhrect(RND_COORD_TO_MM(t->BoundingBox.X1), y, RND_COORD_TO_MM(t->BoundingBox.X2)+1, y+4, 1, 0, 0, 0, OMIT_NONE); dtext_bg(gc, 1, y, 200, 0, "", &COLOR_BG, &COLOR_OUTLINE); } Index: trunk/src_plugins/draw_fab/draw_fab.c =================================================================== --- trunk/src_plugins/draw_fab/draw_fab.c (revision 36687) +++ trunk/src_plugins/draw_fab/draw_fab.c (revision 36688) @@ -78,7 +78,7 @@ int w = 0, i; pcb_text_t t; va_list a; - pcb_font_t *font = pcb_font(PCB, 0, 1); + pcb_font_t *font = pcb_font_old(PCB, 0, 1); va_start(a, fmt); vsprintf(tmp, fmt, a); va_end(a); Index: trunk/src_plugins/draw_fontsel/draw_fontsel.c =================================================================== --- trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36687) +++ trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 36688) @@ -132,7 +132,7 @@ rnd_render->set_color(gc, BLACK); t = dtext(x, *y, 200, f->id, buf); - pcb_text_bbox(pcb_font(PCB, f->id, 1), t); + pcb_text_bbox(pcb_font_old(PCB, f->id, 1), t); *y += rnd_round(RND_COORD_TO_MM(t->BoundingBox.Y2 - t->BoundingBox.Y1) + 0.5); Index: trunk/src_plugins/export_openems/mesh.c =================================================================== --- trunk/src_plugins/export_openems/mesh.c (revision 36687) +++ trunk/src_plugins/export_openems/mesh.c (revision 36688) @@ -731,9 +731,9 @@ { aux -= RND_MM_TO_COORD(0.6); if (dir == PCB_MESH_HORIZONTAL) - pcb_text_new(mesh->ui_layer_xy, pcb_font(PCB, 0, 0), aux, 0, 90, 75, 0, label, pcb_no_flags()); + pcb_text_new(mesh->ui_layer_xy, pcb_font_old(PCB, 0, 0), aux, 0, 90, 75, 0, label, pcb_no_flags()); else - pcb_text_new(mesh->ui_layer_xy, pcb_font(PCB, 0, 0), 0, aux, 0, 75, 0, label, pcb_no_flags()); + pcb_text_new(mesh->ui_layer_xy, pcb_font_old(PCB, 0, 0), 0, aux, 0, 75, 0, label, pcb_no_flags()); } @@ -787,7 +787,7 @@ if (grp->ltype & PCB_LYT_COPPER) { y2 = y + mesh->def_copper_thick * mag / 2; pcb_line_new(mesh->ui_layer_z, xr, y2, xr+RND_MM_TO_COORD(2), y2, cpen, 0, pcb_no_flags()); - pcb_text_new(mesh->ui_layer_z, pcb_font(PCB, 0, 0), xr+RND_MM_TO_COORD(3), y2 - RND_MM_TO_COORD(1), 0, 100, 0, grp->name, pcb_no_flags()); + pcb_text_new(mesh->ui_layer_z, pcb_font_old(PCB, 0, 0), xr+RND_MM_TO_COORD(3), y2 - RND_MM_TO_COORD(1), 0, 100, 0, grp->name, pcb_no_flags()); y += mesh->def_copper_thick * mag; } else if (grp->ltype & PCB_LYT_SUBSTRATE) { Index: trunk/src_plugins/exto_std/dimension.c =================================================================== --- trunk/src_plugins/exto_std/dimension.c (revision 36687) +++ trunk/src_plugins/exto_std/dimension.c (revision 36688) @@ -216,7 +216,7 @@ /* text */ if (rnd_safe_snprintf(ttmp, sizeof(ttmp), RND_SAFEPRINT_COORD_ONLY | 1, dim->fmt, (rnd_coord_t)dim->len) < 0) strcpy(ttmp, ""); - t = pcb_text_new(ly, pcb_font(PCB, 0, 0), 0, 0, 0, 100, 0, ttmp, pcb_flag_make(0)); + t = pcb_text_new(ly, pcb_font_old(PCB, 0, 0), 0, 0, 0, 100, 0, ttmp, pcb_flag_make(0)); tx = t->BoundingBox.X2 - t->BoundingBox.X1; ty = t->BoundingBox.Y2 - t->BoundingBox.Y1; Index: trunk/src_plugins/fontmode/fontmode.c =================================================================== --- trunk/src_plugins/fontmode/fontmode.c (revision 36687) +++ trunk/src_plugins/fontmode/fontmode.c (revision 36688) @@ -100,10 +100,10 @@ if ((s > 32) && (s < 127)) { sprintf(txt, "%c", s); - pcb_text_new(lsilk, pcb_font(pcb, 0, 0), ox+CELL_SIZE-CELL_SIZE/3, oy+CELL_SIZE-CELL_SIZE/3, 0, 50, 0, txt, pcb_no_flags()); + pcb_text_new(lsilk, pcb_font_old(pcb, 0, 0), ox+CELL_SIZE-CELL_SIZE/3, oy+CELL_SIZE-CELL_SIZE/3, 0, 50, 0, txt, pcb_no_flags()); } sprintf(txt, "%d", s); - pcb_text_new(lsilk, pcb_font(pcb, 0, 0), ox+CELL_SIZE/20, oy+CELL_SIZE-CELL_SIZE/3, 0, 50, 0, txt, pcb_no_flags()); + pcb_text_new(lsilk, pcb_font_old(pcb, 0, 0), ox+CELL_SIZE/20, oy+CELL_SIZE-CELL_SIZE/3, 0, 50, 0, txt, pcb_no_flags()); for(n = 0, a = g->atoms.array; n < g->atoms.used; n++, a++) { pcb_poly_t *poly, *newpoly; @@ -375,7 +375,7 @@ static fgw_error_t pcb_act_FontSave(fgw_arg_t *res, int argc, fgw_arg_t *argv) { pcb_board_t *pcb = PCB_ACT_BOARD; - pcb_font_t *font = pcb_font(pcb, 0, 1); + pcb_font_t *font = pcb_font_old(pcb, 0, 1); char *fn = NULL; RND_ACT_MAY_CONVARG(1, FGW_STR, FontSave, fn = argv[1].val.str); @@ -643,7 +643,7 @@ static fgw_error_t pcb_act_FontNormalize(fgw_arg_t *res, int argc, fgw_arg_t *argv) { pcb_board_t *pcb = PCB_ACT_BOARD; - pcb_font_t *font = pcb_font(pcb, 0, 1); + pcb_font_t *font = pcb_font_old(pcb, 0, 1); editor2font(pcb, &font->rnd_font); rnd_font_normalize(&font->rnd_font); Index: trunk/src_plugins/import_ttf/ttf.c =================================================================== --- trunk/src_plugins/import_ttf/ttf.c (revision 36687) +++ trunk/src_plugins/import_ttf/ttf.c (revision 36688) @@ -256,7 +256,7 @@ static int ttf_import(pcb_board_t *pcb, pcb_ttf_t *ctx, pcb_ttf_stroke_t *stroke, int src_from, int src_to, int dst) { int r, src, ret = 0; - pcb_font_t *f = pcb_font(pcb, conf_core.design.text_font_id, 1); + pcb_font_t *f = pcb_font_old(pcb, conf_core.design.text_font_id, 1); stroke->funcs.move_to = str_move_to; Index: trunk/src_plugins/io_altium/pcbdoc.c =================================================================== --- trunk/src_plugins/io_altium/pcbdoc.c (revision 36687) +++ trunk/src_plugins/io_altium/pcbdoc.c (revision 36688) @@ -1425,7 +1425,7 @@ if (text != NULL) { assert(text->val_type == ALTIUM_FT_STR); - t = pcb_text_new_by_bbox(ly, pcb_font(rctx->pcb, 1, 1), + t = pcb_text_new_by_bbox(ly, pcb_font_old(rctx->pcb, 1, 1), x1, y1, x2-x1, y2-y1, mir ? x2-x1 : 0, 0, 1.0, (mir ? PCB_TXT_MIRROR_X : 0), rot, w, Index: trunk/src_plugins/io_autotrax/read.c =================================================================== --- trunk/src_plugins/io_autotrax/read.c (revision 36687) +++ trunk/src_plugins/io_autotrax/read.c (revision 36688) @@ -218,7 +218,7 @@ else Flags = pcb_flag_make(0); /* Text rotation is limited to 90*direction by the file format */ - if (pcb_text_new(ly, pcb_font(st->pcb, 0, 1), X, Y, 90.0*direction, scaling, 0, t, Flags) != 0) + if (pcb_text_new(ly, pcb_font_old(st->pcb, 0, 1), X, Y, 90.0*direction, scaling, 0, t, Flags) != 0) return 1; return -1; } Index: trunk/src_plugins/io_autotrax/write.c =================================================================== --- trunk/src_plugins/io_autotrax/write.c (revision 36687) +++ trunk/src_plugins/io_autotrax/write.c (revision 36688) @@ -423,7 +423,7 @@ /* writes generic autotrax text descriptor line layouts onl, since no text in .fp */ static int wrax_text(wctx_t *ctx, rnd_cardinal_t number, pcb_layer_t *layer, rnd_coord_t dx, rnd_coord_t dy, rnd_bool in_subc) { - pcb_font_t *myfont = pcb_font(PCB, 0, 1); + pcb_font_t *myfont = pcb_font_old(PCB, 0, 1); rnd_coord_t mHeight = myfont->rnd_font.max_height; /* autotrax needs the width of the widest letter */ int autotrax_mirrored = 0; /* 0 is not mirrored, +16 is mirrored */ Index: trunk/src_plugins/io_bxl/read.c =================================================================== --- trunk/src_plugins/io_bxl/read.c (revision 36687) +++ trunk/src_plugins/io_bxl/read.c (revision 36688) @@ -483,7 +483,7 @@ } mirror = ctx->state.flipped ? PCB_TXT_MIRROR_X : 0; - pcb_text_new_by_bbox(ctx->state.layer, pcb_font(ctx->pcb, 0, 1), + pcb_text_new_by_bbox(ctx->state.layer, pcb_font_old(ctx->pcb, 0, 1), ctx->state.origin_x, ctx->state.origin_y, bbw, bbh, anchx, anchy, scxy, mirror, ctx->state.rot, thickness, ctx->state.text_str, Index: trunk/src_plugins/io_eagle/read.c =================================================================== --- trunk/src_plugins/io_eagle/read.c (revision 36687) +++ trunk/src_plugins/io_eagle/read.c (revision 36688) @@ -718,7 +718,7 @@ default: anchy = rnd_round((double)-basel/2.0); } - pcb_text_new_by_bbox(ly, pcb_font(st->pcb, 0, 1), X, Y, bbw, bbh, anchx, anchy, 1, mirror, rotdeg, 0, text_val, text_flags); + pcb_text_new_by_bbox(ly, pcb_font_old(st->pcb, 0, 1), X, Y, bbw, bbh, anchx, anchy, 1, mirror, rotdeg, 0, text_val, text_flags); return 0; } Index: trunk/src_plugins/io_kicad/read.c =================================================================== --- trunk/src_plugins/io_kicad/read.c (revision 36687) +++ trunk/src_plugins/io_kicad/read.c (revision 36688) @@ -930,7 +930,7 @@ X += st->primitive_dx; Y += st->primitive_dy; - pcb_text_new_by_bbox(ly, pcb_font(PCB_FOR_FP, 0, 1), X, Y, bbw, bbh, + pcb_text_new_by_bbox(ly, pcb_font_old(PCB_FOR_FP, 0, 1), X, Y, bbw, bbh, xanch, yanch, sx/sy, mirrored ? PCB_TXT_MIRROR_X : 0, rotdeg, thickness, text, flg); Index: trunk/src_plugins/io_kicad/write.c =================================================================== --- trunk/src_plugins/io_kicad/write.c (revision 36687) +++ trunk/src_plugins/io_kicad/write.c (revision 36688) @@ -297,7 +297,7 @@ static void kicad_print_text(const wctx_t *ctx, const klayer_t *kly, pcb_text_t *text, int ind, rnd_coord_t dx, rnd_coord_t dy) { - pcb_font_t *myfont = pcb_font(PCB, 0, 1); + pcb_font_t *myfont = pcb_font_old(PCB, 0, 1); rnd_coord_t mWidth = myfont->rnd_font.max_width; /* kicad needs the width of the widest letter */ rnd_coord_t defaultStrokeThickness = 100 * 2540; /* use 100 mil as default 100% stroked font line thickness */ int kicadMirrored = 1; /* 1 is not mirrored, 0 is mirrored */ Index: trunk/src_plugins/io_kicad_legacy/write.c =================================================================== --- trunk/src_plugins/io_kicad_legacy/write.c (revision 36687) +++ trunk/src_plugins/io_kicad_legacy/write.c (revision 36688) @@ -208,7 +208,7 @@ static int write_kicad_legacy_layout_text(FILE *FP, rnd_cardinal_t number, pcb_layer_t *layer, rnd_coord_t xOffset, rnd_coord_t yOffset) { - pcb_font_t *myfont = pcb_font(PCB, 0, 1); + pcb_font_t *myfont = pcb_font_old(PCB, 0, 1); rnd_coord_t mWidth = myfont->rnd_font.max_width; /* kicad needs the width of the widest letter */ rnd_coord_t defaultStrokeThickness = 100 * 2540; /* use 100 mil as default 100% stroked font line thickness */ int kicadMirrored = 1; /* 1 is not mirrored, 0 is mirrored */ Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 36687) +++ trunk/src_plugins/io_lihata/read.c (revision 36688) @@ -1119,7 +1119,7 @@ } if (ly != NULL) - pcb_add_text_on_layer(ly, text, pcb_font(PCB, text->fid, 1)); + pcb_add_text_on_layer(ly, text, pcb_font_old(PCB, text->fid, 1)); return err; } Index: trunk/src_plugins/io_mentor_cell/read.c =================================================================== --- trunk/src_plugins/io_mentor_cell/read.c (revision 36687) +++ trunk/src_plugins/io_mentor_cell/read.c (revision 36688) @@ -635,7 +635,7 @@ if (mirrored != 0) rot = -rot; - pcb_text_new_by_bbox(ly, pcb_font(ctx->pcb, 0, 0), tx, ty, width, height, anchx, anchy, 1, mirrored, rot, thickness, nt->argv[1], pcb_flag_make(flg)); + pcb_text_new_by_bbox(ly, pcb_font_old(ctx->pcb, 0, 0), tx, ty, width, height, anchx, anchy, 1, mirrored, rot, thickness, nt->argv[1], pcb_flag_make(flg)); } static void parse_dgw_via(hkp_ctx_t *ctx, const hkp_netclass_t *nc, node_t *nv) Index: trunk/src_plugins/io_pads/delay_create.c =================================================================== --- trunk/src_plugins/io_pads/delay_create.c (revision 36687) +++ trunk/src_plugins/io_pads/delay_create.c (revision 36688) @@ -222,7 +222,7 @@ t->TextString = rnd_strdup(str); if (flags != 0) PCB_FLAG_SET(flags, t); - pcb_text_bbox(pcb_font(PCB, 0, 1), t); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), t); if (dlcr->subc_begin != NULL) { if (!(flags & PCB_FLAG_FLOATER)) rnd_box_bump_box(&dlcr->subc_begin->val.subc_begin.subc->bbox_naked, &t->bbox_naked); @@ -609,7 +609,7 @@ } break; case PCB_OBJ_TEXT: - r = (pcb_any_obj_t *)pcb_text_new(ly, pcb_font(pcb, 0, 1), ox+CRDX(t->X), oy+CRDY(t->Y), t->rot, t->Scale, t->thickness, t->TextString, pcb_flag_make(PCB_FLAG_CLEARLINE | t->Flags.f)); + r = (pcb_any_obj_t *)pcb_text_new(ly, pcb_font_old(pcb, 0, 1), ox+CRDX(t->X), oy+CRDY(t->Y), t->rot, t->Scale, t->thickness, t->TextString, pcb_flag_make(PCB_FLAG_CLEARLINE | t->Flags.f)); free(t->TextString); break; case PCB_OBJ_DLCR_TEXT_BY_BBOX: Index: trunk/src_plugins/io_pads/read_high.c =================================================================== --- trunk/src_plugins/io_pads/read_high.c (revision 36687) +++ trunk/src_plugins/io_pads/read_high.c (revision 36688) @@ -413,7 +413,7 @@ anchx = rnd_round(str_width * anx); anchy = rnd_round(h * any); - text = pcb_dlcr_text_by_bbox_new(&rctx->dlcr, pcb_font(rctx->pcb, 0, 1), + text = pcb_dlcr_text_by_bbox_new(&rctx->dlcr, pcb_font_old(rctx->pcb, 0, 1), x+xo, y+yo+h, str_width, h, anchx, anchy, 1, tmir, rot, thick, str, (is_label ? PCB_FLAG_FLOATER : 0) | flg); Index: trunk/src_plugins/io_pcb/file.c =================================================================== --- trunk/src_plugins/io_pcb/file.c (revision 36687) +++ trunk/src_plugins/io_pcb/file.c (revision 36688) @@ -327,7 +327,7 @@ static void WritePCBFontData_rnd(FILE * FP) { rnd_cardinal_t i, j; - pcb_font_t *font_ = pcb_font(PCB, 0, 1); + pcb_font_t *font_ = pcb_font_old(PCB, 0, 1); rnd_font_t *font = &font_->rnd_font; int warned = 0; Index: trunk/src_plugins/io_pcb/parse_l.c =================================================================== --- trunk/src_plugins/io_pcb/parse_l.c (revision 36687) +++ trunk/src_plugins/io_pcb/parse_l.c (revision 36688) @@ -2708,7 +2708,7 @@ yyPCB = NULL; yyData = Ptr; pcb_data_set_layer_parents(Ptr); - yyFont = pcb_font(PCB, 0, 1); + yyFont = pcb_font_old(PCB, 0, 1); yyRndFont = &yyFont->rnd_font; yyFontReset = rnd_false; yyFontkitValid = NULL; Index: trunk/src_plugins/io_pcb/parse_l.l =================================================================== --- trunk/src_plugins/io_pcb/parse_l.l (revision 36687) +++ trunk/src_plugins/io_pcb/parse_l.l (revision 36688) @@ -325,7 +325,7 @@ yyPCB = NULL; yyData = Ptr; pcb_data_set_layer_parents(Ptr); - yyFont = pcb_font(PCB, 0, 1); + yyFont = pcb_font_old(PCB, 0, 1); yyRndFont = &yyFont->rnd_font; yyFontReset = rnd_false; yyFontkitValid = NULL; Index: trunk/src_plugins/io_tedax/tlayer.c =================================================================== --- trunk/src_plugins/io_tedax/tlayer.c (revision 36687) +++ trunk/src_plugins/io_tedax/tlayer.c (revision 36688) @@ -402,11 +402,11 @@ } if (rot < 0) rot += 360; - text = pcb_text_new(ly, pcb_font(PCB, 0, 1), bx1, by1, rot, 100, 0, argv[8], pcb_flag_make(PCB_FLAG_CLEARLINE)); + text = pcb_text_new(ly, pcb_font_old(PCB, 0, 1), bx1, by1, rot, 100, 0, argv[8], pcb_flag_make(PCB_FLAG_CLEARLINE)); rw = bx2-bx1; rh = by2-by1; pcb_text_pre(text); for(n = 0; n < 8; n++) { - pcb_text_bbox(pcb_font(PCB, 0, 1), text); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), text); aw = text->bbox_naked.X2 - text->bbox_naked.X1; ah = text->bbox_naked.Y2 - text->bbox_naked.Y1; zx = (double)rw/(double)aw; zy = (double)rh/(double)ah; z = zx < zy ? zx : zy; @@ -414,7 +414,7 @@ break; text->Scale = rnd_round(text->Scale*z); } - pcb_text_bbox(pcb_font(PCB, 0, 1), text); + pcb_text_bbox(pcb_font_old(PCB, 0, 1), text); aw = text->bbox_naked.X2 - text->bbox_naked.X1; ah = text->bbox_naked.Y2 - text->bbox_naked.Y1; text->X += (double)(rw-aw)/2.0; text->Y += (double)(rh-ah)/2.0; Index: trunk/src_plugins/lib_compat_help/subc_help.c =================================================================== --- trunk/src_plugins/lib_compat_help/subc_help.c (revision 36687) +++ trunk/src_plugins/lib_compat_help/subc_help.c (revision 36688) @@ -31,7 +31,7 @@ pcb_layer_type_t side = bottom ? PCB_LYT_BOTTOM : PCB_LYT_TOP; pcb_layer_t *ly = pcb_subc_get_layer(sc, side | PCB_LYT_SILK, 0, rnd_true, "top-silk", rnd_false); if (ly != NULL) - return pcb_text_new(ly, pcb_font(PCB, 0, 0), x, y, 90.0 * direction, scale, 0, pattern, pcb_flag_make(PCB_FLAG_DYNTEXT | PCB_FLAG_FLOATER | (bottom ? PCB_FLAG_ONSOLDER : 0))); + return pcb_text_new(ly, pcb_font_old(PCB, 0, 0), x, y, 90.0 * direction, scale, 0, pattern, pcb_flag_make(PCB_FLAG_DYNTEXT | PCB_FLAG_FLOATER | (bottom ? PCB_FLAG_ONSOLDER : 0))); return 0; } Index: trunk/src_plugins/report/report.c =================================================================== --- trunk/src_plugins/report/report.c (revision 36687) +++ trunk/src_plugins/report/report.c (revision 36688) @@ -832,7 +832,7 @@ rnd_snprintf(tmp, sizeof(tmp), "%m+len=%.02$$mS via=%d%s", rnd_conf.editor.grid_unit->allow, nl->len, nl->num_vias, nl->has_junction ? " BAD" : ""); tx = atx+dx*th*50; ty = aty+dy*th*50; - t = pcb_text_new(ly, pcb_font(pcb, 0, 1), tx, ty, 0, 25, th, tmp, pcb_no_flags()); + t = pcb_text_new(ly, pcb_font_old(pcb, 0, 1), tx, ty, 0, 25, th, tmp, pcb_no_flags()); if (nl->has_junction) t->override_color = rnd_clrdup(rnd_color_red); Index: trunk/src_plugins/show_netnames/show_netnames.c =================================================================== --- trunk/src_plugins/show_netnames/show_netnames.c (revision 36687) +++ trunk/src_plugins/show_netnames/show_netnames.c (revision 36688) @@ -97,7 +97,7 @@ char *atv; t.TextString = net->name; - pcb_text_bbox(pcb_font(pcb, 0, 1), &t); + pcb_text_bbox(pcb_font_old(pcb, 0, 1), &t); shn.w = t.BoundingBox.X2 - t.BoundingBox.X1; shn.h = t.BoundingBox.Y2 - t.BoundingBox.Y1; @@ -122,7 +122,7 @@ } t.TextString = ""; - pcb_text_bbox(pcb_font(pcb, 0, 1), &t); + pcb_text_bbox(pcb_font_old(pcb, 0, 1), &t); shn_nonet.w = t.BoundingBox.X2 - t.BoundingBox.X1; shn_nonet.h = t.BoundingBox.Y2 - t.BoundingBox.Y1; shn_nonet.show = 1; @@ -197,7 +197,7 @@ return NULL; pcb_obj_center(obj, &x, &y); - font = pcb_font(PCB, 0, 0); + font = pcb_font_old(PCB, 0, 0); switch(obj->type) { case PCB_OBJ_LINE: Index: trunk/src_plugins/tool_std/tool_text.c =================================================================== --- trunk/src_plugins/tool_std/tool_text.c (revision 36687) +++ trunk/src_plugins/tool_std/tool_text.c (revision 36688) @@ -57,7 +57,7 @@ if (pcb_layer_flags(pcb, PCB_CURRLID(pcb)) & PCB_LYT_BOTTOM) flag |= PCB_FLAG_ONSOLDER; - if ((text = pcb_text_new(pcb_loose_subc_layer(pcb, PCB_CURRLAYER(pcb), rnd_true), pcb_font(pcb, conf_core.design.text_font_id, 1), hl->tool_x, + if ((text = pcb_text_new(pcb_loose_subc_layer(pcb, PCB_CURRLAYER(pcb), rnd_true), pcb_font_old(pcb, conf_core.design.text_font_id, 1), hl->tool_x, hl->tool_y, 0, conf_core.design.text_scale, conf_core.design.text_thickness, string, pcb_flag_make(flag))) != NULL) { pcb_obj_add_attribs((pcb_any_obj_t *)text, pcb->pen_attr, NULL); pcb_undo_add_obj_to_create(PCB_OBJ_TEXT, PCB_CURRLAYER(pcb), text, text);