Yes, with Mathematica there are almost always other approaches possible. Here is one on the basis of image manipulation (but the result is less convincing):
img0 = Import["https://community.wolfram.com//c/portal/getImageAttachment?filename=shapes.jpg&userId=1703851"];
img = ImagePad[Thinning@Dilation[DeleteSmallComponents[ColorNegate@Binarize[img0], 10], 3], 50];
mcp = MorphologicalComponents[img];
indx = Rest@DeleteDuplicates@Flatten[mcp];
singleImgs = Table[Image[Map[If[# == c, 1, 0] &, mcp, {2}]], {c, indx}];
width = (1 /. ComponentMeasurements[#, "Width"] & /@ singleImgs)/2;
ColorNegate@ImagePad[ImageAdd@MapThread[Closing[#1, #2] &, {singleImgs, width}], -50]
