Index: src_3rd/rnd_inclib/font/font.c =================================================================== --- src_3rd/rnd_inclib/font/font.c (revision 36628) +++ src_3rd/rnd_inclib/font/font.c (revision 36629) @@ -434,7 +434,7 @@ rnd_font_string_bbox_(cx, cy, 1, font, string, x0, y0, scx, scy, rotdeg, mirror, thickness, min_line_width, scale); } -void rnd_font_normalize(rnd_font_t *f) +static void rnd_font_normalize_(rnd_font_t *f, int compat) { long i, n, m, h; rnd_glyph_t *g; @@ -566,7 +566,16 @@ f->unknown_glyph.Y2 = f->unknown_glyph.Y1 + f->max_height; } +void rnd_font_normalize(rnd_font_t *f) +{ + rnd_font_normalize_(f, 0); +} +void rnd_font_normalize_pcb_rnd(rnd_font_t *f) +{ + rnd_font_normalize_(f, 1); +} + void rnd_font_load_internal(rnd_font_t *font, embf_font_t *embf_font, int len, rnd_coord_t embf_minx, rnd_coord_t embf_miny, rnd_coord_t embf_maxx, rnd_coord_t embf_maxy) { int n, l; @@ -595,7 +604,7 @@ g->xdelta = RND_MIL_TO_COORD(embf_font[n].delta); } } - rnd_font_normalize(font); + rnd_font_normalize_(font, 1); /* embedded font doesn't have arcs or polygons, loading in compatibility mode won't change anything */ } void rnd_font_copy(rnd_font_t *dst, const rnd_font_t *src) Index: src_3rd/rnd_inclib/font/font.h =================================================================== --- src_3rd/rnd_inclib/font/font.h (revision 36628) +++ src_3rd/rnd_inclib/font/font.h (revision 36629) @@ -92,6 +92,7 @@ /* transforms symbol coordinates so that the left edge of each symbol is at the zero position. The y coordinates are moved so that min(y) = 0 */ void rnd_font_normalize(rnd_font_t *f); +void rnd_font_normalize_pcb_rnd(rnd_font_t *f); /* Count the number of characters in s that wouldn't render with the given font */ int rnd_font_invalid_chars(rnd_font_t *font, const unsigned char *s);