Index: fontmode.c =================================================================== --- fontmode.c (revision 7789) +++ fontmode.c (revision 7790) @@ -194,10 +194,12 @@ for(arc = arclist_first(&symbol->arcs); arc != NULL; arc = arclist_next(arc)) { pcb_arc_new(lfont, arc->X + ox, arc->Y + oy, arc->Width, arc->Height, arc->StartAngle, arc->Delta, arc->Thickness, 0, pcb_no_flags()); newarc = pcb_arc_new(lorig, arc->X + ox, arc->Y + oy, arc->Width, arc->Height, arc->StartAngle, arc->Delta, arc->Thickness, 0, pcb_no_flags()); - if (maxx < newarc->BoundingBox.X2 - ox) - maxx = newarc->BoundingBox.X2 - ox; - if (maxy < newarc->BoundingBox.Y2 - oy) - maxy = newarc->BoundingBox.Y2 - oy; + if (newarc != NULL) { + if (maxx < newarc->BoundingBox.X2 - ox) + maxx = newarc->BoundingBox.X2 - ox; + if (maxy < newarc->BoundingBox.Y2 - oy) + maxy = newarc->BoundingBox.Y2 - oy; + } } for(poly = polylist_first(&symbol->polys); poly != NULL; poly = polylist_next(poly)) { @@ -300,6 +302,9 @@ cx -= ox; cy -= oy; + if (symbol->Width < a->BoundingBox.X2 - ox) + symbol->Width = a->BoundingBox.X2 - ox; + if (symbol->Width < cx) symbol->Width = cx; symbol->Valid = 1;