We present two practical algorithms for partitioning circuit components represented by rectilinear polygons so that they can be stored using the L-shaped corner stitching data structure; i.e., our algorithms decompose a simple polygon into non-overlapping L-shapes and rectangles by using horizontal cuts only. The more general of our algorithms computes an optimal configuration for a wide variety of optimization functions, while the other computes a minimum configuration of rectangles and L-shapes. Both run in O(n + h log h) time, where n is the number of vertices in the polygon and h is the number of H-pairs. Experimental results on VLSI data demonstrate the gains in performance for corner stitching obtained by using our algorithms instead of traditional rectangular partitioning algorithms.