Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 36557) +++ trunk/src/obj_text.c (revision 36558) @@ -429,6 +429,29 @@ #include "obj_text_old.c" +int pcb_text_invalid_chars(pcb_board_t *pcb, pcb_font_t *FontPtr, pcb_text_t *Text) +{ + unsigned char *rendered; + int ctr; + + if (!(pcb_brave & PCB_BRAVE_NEWFONT)) + return pcb_text_invalid_chars_orig(pcb, FontPtr, Text); + + if (FontPtr == NULL) + FontPtr = pcb_font(pcb, Text->fid, 1); + + rendered = pcb_text_render_str(Text); + if (rendered == NULL) + return 0; + + ctr = rnd_font_invalid_chars(&FontPtr->rnd_font, rendered); + + pcb_text_free_str(Text, rendered); + + return ctr; +} + + void pcb_text_bbox(pcb_font_t *FontPtr, pcb_text_t *Text) { pcb_text_bbox_orig(FontPtr, Text); Index: trunk/src/obj_text_old.c =================================================================== --- trunk/src/obj_text_old.c (revision 36557) +++ trunk/src/obj_text_old.c (revision 36558) @@ -212,7 +212,7 @@ return rnd_round((double)h * scy); } -int pcb_text_invalid_chars(pcb_board_t *pcb, pcb_font_t *FontPtr, pcb_text_t *Text) +static int pcb_text_invalid_chars_orig(pcb_board_t *pcb, pcb_font_t *FontPtr, pcb_text_t *Text) { unsigned char *s, *rendered; int ctr = 0;