def METHOD_NAME():
    """Make a font with a smart component in the shape of a rectangle."""
    font = GSFont()
    master = GSFontMaster()
    font.masters.append(master)
    rectangle = GSGlyph()
    rectangle.name = "_part.rectangle"
    # Could also be rectangle.name = '_smart.rectangle'
    font.glyphs.append(rectangle)
    # Three axes
    width = GSSmartComponentAxis()
    width.name = "Width"
    # This one is easy 0-1
    width.bottomValue = 0.0
    width.topValue = 1.0
    rectangle.smartComponentAxes.append(width)
    height = GSSmartComponentAxis()
    height.name = "Height"
    # This one is off the origin
    height.bottomValue = 100
    height.topValue = 500
    rectangle.smartComponentAxes.append(height)
    shift = GSSmartComponentAxis()
    shift.name = "Shift"
    # This one has negative values
    shift.bottomValue = -100
    shift.topValue = 0
    rectangle.smartComponentAxes.append(shift)
    # Four masters
    regular = GSLayer()
    regular.layerId = font.masters[0].id
    regular.associatedMasterId = font.masters[0].id
    regular.width = 300
    rectangle.layers.append(regular)
    regular.paths.append(rectangle_path(100, 100, 100, 100))
    regular.smartComponentPoleMapping["Width"] = 1  # 1 is bottom pole
    regular.smartComponentPoleMapping["Height"] = 1
    regular.smartComponentPoleMapping["Shift"] = 2  # 2 is the top pole
    wide = GSLayer()
    wide.name = "Wide"
    wide.layerId = "wide"
    wide.associatedMasterId = font.masters[0].id
    wide.width = 700
    rectangle.layers.append(wide)
    wide.paths.append(rectangle_path(100, 100, 500, 100))
    wide.smartComponentPoleMapping["Width"] = 2
    wide.smartComponentPoleMapping["Height"] = 1
    wide.smartComponentPoleMapping["Shift"] = 2
    tall = GSLayer()
    tall.name = "Tall"
    tall.layerId = "tall"
    tall.associatedMasterId = font.masters[0].id
    tall.width = 300
    rectangle.layers.append(tall)
    tall.paths.append(rectangle_path(100, 100, 100, 500))
    tall.smartComponentPoleMapping["Width"] = 1
    tall.smartComponentPoleMapping["Height"] = 2
    tall.smartComponentPoleMapping["Shift"] = 2
    shifted = GSLayer()
    shifted.name = "Shifted"
    shifted.layerId = "shifted"
    shifted.associatedMasterId = font.masters[0].id
    shifted.width = 100
    rectangle.layers.append(shifted)
    shifted.paths.append(rectangle_path(0, 0, 100, 100))
    shifted.smartComponentPoleMapping["Width"] = 1
    shifted.smartComponentPoleMapping["Height"] = 1
    shifted.smartComponentPoleMapping["Shift"] = 1
    # Also add a normal glyph in which we can instanciate the component
    a = GSGlyph()
    a.name = "a"
    font.glyphs.append(a)
    regular = GSLayer()
    regular.layerId = font.masters[0].id
    regular.associatedMasterId = font.masters[0].id
    regular.width = 1000
    a.layers.append(regular)
    component = GSComponent(rectangle.name)
    component.smartComponentValues = {}
    regular.components.append(component)
    return font