1. A computer system for generating synthetic words for parts of documents, the computer system comprising: an indexing module for receiving an electronic document comprising a first part and a second part, identifying a first bounding box for the first part, identifying a second bounding box for the second part, generating a synthetic word of the first bounding box, the synthetic word including a location of the first bounding box, a first quantized angle measured between a line originating from the first bounding box and a path joining a center of the first bounding box to a center of the second bounding box and a second quantized angle defining a width of the second bounding box, and producing an association between the electronic document and the synthetic word; and a data storage for storing the electronic document, the synthetic word and the association between the electronic document and the synthetic word, wherein the first part and the second part are at least one of text, a character and an image.