A non-transitory computer readable recording medium that records an information processing program executable by a controller circuitry of an image forming apparatus including a communication interface configured to receive printable data including a character code from a host apparatus, a storage device that stores font data including a character code and outline data in association with the character code, the outline data being used to render a character specified by the character code, the outline data including multiple dots and multiple straight-lines, and the controller circuitry, the information processing program causing the controller circuitry to operate as
- a text processing unit configured to obtain, from the font data, the outline data in association with the character code included in the printable data, and
- a character rendering unit configured to
- process the outline data by changing a coordinate of a stroke and/or changing thickness of each line, and changing an interval between characters to thereby create processed outline data, the stroke being a center line of each line included in an object of the character rendered by using the outline data, and
- render an object of the character by using the processed outline data to thereby render the character specified by the same character code as a different object, wherein
- the character rendering unit changes the coordinate of the stroke by relocating the coordinate of the stroke in parallel including relocating two dots that form a straight-line extending in a direction of a line of a character and relocating two dots that form another straight-line extending in the direction of the line of the character in parallel in a direction going apart from a center of the character by a same relocation quantity, without relocating a stroke of another line of the character, to thereby create processed outline data,
- the character rendering unit changes the thickness by relocating two dots that form a straight-line extending in a direction of a line of a character in parallel and not relocating two dots that form another straight-line extending in the direction of the line of the character, without changing a thickness of another line of the character, to thereby create processed outline data,
- the character rendering unit changes the interval between characters by changing escapement to thereby change a position of a next character, and
- the character rendering unit randomly processes one outline data to thereby render a same character specified by a same character code in different touches and in different forms, and obtains different rendering results for the same character.