19. A computer program product, embodied on a machine-readable storage device, for searching an electronic document that includes a non-coded representation of characters of text, the computer program product including instructions operable to cause data processing apparatus to: receive text coding information identifying each of a plurality of characters of text represented by the non-coded representation; based on the text coding information, generate a coded representation that: specifies, for each of the plurality of characters of text represented by the non-coded representation, a respective code value based on a character encoding, the code value selected to represent the respective character of text, and associates a particular glyph from a collection of glyphs with each of the code values specified for the plurality of characters of text, the particular glyph selected independently of any relation to the respective character of text, the collection of glyphs being insufficient to semantically represent the plurality of characters of text; associate the coded representation with the non-coded representation, wherein a code value of one of the plurality of characters of text is associated with one or more positions in a visual representation of the non-coded representation; displaying the visual representation of the non-coded representation; searching the coded representation to find a coded character sequence that includes one or more characters at a location in the coded representation; and highlighting, in the displayed visual representation of the non-coded representation, the portion of the non-coded visual representation associated with the coded character sequence at the location in the coded representation.
19. A computer program product, embodied on a machine-readable storage device, for searching an electronic document that includes a non-coded representation of characters of text, the computer program product including instructions operable to cause data processing apparatus to: receive text coding information identifying each of a plurality of characters of text represented by the non-coded representation; based on the text coding information, generate a coded representation that: specifies, for each of the plurality of characters of text represented by the non-coded representation, a respective code value based on a character encoding, the code value selected to represent the respective character of text, and associates a particular glyph from a collection of glyphs with each of the code values specified for the plurality of characters of text, the particular glyph selected independently of any relation to the respective character of text, the collection of glyphs being insufficient to semantically represent the plurality of characters of text; associate the coded representation with the non-coded representation, wherein a code value of one of the plurality of characters of text is associated with one or more positions in a visual representation of the non-coded representation; displaying the visual representation of the non-coded representation; searching the coded representation to find a coded character sequence that includes one or more characters at a location in the coded representation; and highlighting, in the displayed visual representation of the non-coded representation, the portion of the non-coded visual representation associated with the coded character sequence at the location in the coded representation. 30. The computer program product of claim 19 , further comprising instructions operable to cause data processing apparatus to: store the coded representation in a first document; and store the non-coded representation in a second document; wherein associating the coded representation with the non-coded representation includes associating the first document with the second document.