Skeleton pattern data and stroke thickness data are stored for each character composed of a plurality of strokes, and desired skeleton pattern data are converted into skeleton data enlarged or reduced by a scaling factor. Thickness data of the strokes after the scaling are generated based on the stroke thickness data and the scaling factor. An outline of each stroke of the character is generated based on the skeleton pattern data and the stroke thickness data to thereby generate outline pattern data of the character. When generating the outline pattern data based on the skeleton pattern data, a value different from the scaling factor for the skeleton pattern data is determined as a thickness scaling factor for the stroke of the character.