   x = leftX
   dy = settings.fontSize.pin/2 + space
   leftPins = []
+  leftRects = []
   y = -step * left.length/2 + step/2
   for i in left
     if i is '-'

    h = symbol.textWidth(pin.name, 'pin') + space
    x1 = x - dx
    x2 = x + dx
    if y > (-h - space) then y = -h - space
    x += step
    topRects.push
      x1: x1,

      x2: x2,
      y2: h

  topY = symbol.alignToGrid topY, 'floor'

  for r in topRects
    r.y1 += topY
    r.y2 += topY
    rects.push r

  # Pins on the bottom side
  y = bottomY
