1. A method to scale a digital representation of an image, comprising: selecting a plurality of target pixels within a digital representation of an image; and for each of the target pixels, determining a corner gradient pattern; analyzing the corner gradient pattern to classify the target pixel as an edge pixel or a non-edge pixel; if the target pixel is a non-edge pixel, replacing the target pixel with a plurality of non-edge output pixels; if the target pixel is an edge pixel, replacing the target pixel with a first plurality of edge output pixels, comprising determining an orientation of an edge, and selecting, based on the orientation, and applying a filter kernel to produce the edge output pixels to replace the target pixel, wherein determining an orientation of an edge comprises one of: applying a first rule that gradients on opposite sides of the target pixel pointing in approximately a common direction identify the target pixel as a member of an edge perpendicular to the common direction; applying a second rule that the gradients on the opposite sides of the target pixel pointing in approximately opposite directions identify the target pixel as a member of a fine line.