An algorithm for constructing closed and shape preserving non-uniform cubic B-spline curve with given tangent polygon is presented. The algorithm for constructing (m +1)th degree B-spline curve with Cm continuity is given too. Practical example illustrates that the constructed curve approximates the tangent polygon quite well.