1. A method of generating a reflowable content file, the method comprising: receiving an image of at least a portion of a physical text source comprising textual content; segmenting the image into paragraph blocks, line blocks, word blocks and character blocks, a paragraph block representing a paragraph of the textual content, a line block representing a line of the textual content, a word block representing a word of the textual content and a character block comprising a glyph representing a character of the textual content; identifying a first character corresponding to a first glyph of a first word in a first paragraph, wherein the first glyph is one of a plurality of glyphs in the first paragraph; identifying a first font for the first glyph, wherein identifying the first font comprises: determining a signature vector for the first glyph; identifying a candidate font for the first glyph based at least in part on comparing the signature vector to a database of signature vectors; determining that the candidate font is a most commonly used font for the plurality of glyphs in the first paragraph; determining that the candidate font that is the most commonly used font is a dominant font for the first paragraph; determining an error metric for the first word of the first paragraph indicative of a difference between glyphs of the first word and a representation of the glyphs of the first word generated using the dominant font; and identifying a final font for the glyphs of the first word based on the error metric; identifying a second character corresponding to a second glyph of a second word in the first paragraph, wherein the second glyph is one of the plurality of glyphs in the first paragraph; identifying a second font for the second glyph, wherein the second font is different than the first font; and generating a reflowable content file including the first character, the second character, the first font and the second font.