17. A non-transitory computer-readable medium having instructions encoded thereon which, when executed by a processing device, causes the processing device to perform operations comprising: receiving an image of at least a portion of a physical text source; segmenting the image into a plurality of character blocks, each character block comprising one of a plurality of glyphs; identifying a first font for a first glyph, wherein identifying the first font comprises: analyzing shape and appearance characteristics of two or more of the plurality of glyphs; identifying a candidate font for the first glyph; determining that the candidate font is a most commonly used font for a related set of two or more of the plurality of glyphs; determining that the candidate font that is the most commonly used font is a dominant font for the related set of two or more of the plurality of glyphs; and identifying a final font for glyphs in the related set based at least in part on the dominant font; identifying a second font for a second glyph, the second font different than the first font; and generating a reflowable content file indicating characters, the first font and the second font.
18. The non-transitory computer-readable medium of claim 17 , wherein identifying the first font comprises determining a signature vector comprising values indicative of shape and appearance characteristics for the first glyph and identifying the first font based at least in part on the signature vector for the first glyph.