We describe novel methods of feature extraction for recognition of single isolated character images. Our approach is flexible in that the same algorithms can be used, without modification, for feature extraction in a variety of OCR problems. These include handwritten, machine-print, grayscale, binary and low-resolution character recognition. We use the gradient representation as the basis for extraction of low-level, structural and stroke-type features. These algorithms require a few simple arithmetic operations per image pixel which makes them suitable for real-time applications. A description of the algorithms and experiments with several data sets are presented in this paper. Experimental results using artificial neural networks are presented. Our results demonstrate high performance of these features when tested on data sets distinct from the training data.