package Ġorg . hex works . ber yl . converter Ċ Ċ import Ġorg . hex works . ber yl . approx imator . Approx imator Ċ import Ġorg . hex works . ber yl . data . FontSize Ċ import Ġjava . awt . image . Raster FormatException Ċ import Ġjava . io . InputStream Ċ import Ġjavax . image io . Image IO ĊĊ Ċ class ĠConverter ( stream : ĠInputStream , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġapprox imator : ĠAppro x imator , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠfontSize : ĠFont Size ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġimage Ġ= ĠImage IO . read ( stream ) ĊĊĠĠĠ Ġfun Ġto Ascii (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 Ġuntil Ġimage . height Ġstep ĠfontSize . height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 0 Ġuntil Ġimage . width Ġstep ĠfontSize . width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub Image Ġ= Ġimage . getSub image ( x , Ġy , ĠfontSize . width , ĠfontSize . height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( approx imator . sub Image To Char ( sub Image )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠR aster FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġwe Ġrun Ġout Ġof Ġimage Ġbounds Ġwe Ġdon 't Ġdo Ġanything Ġ( i . e . Ġcro pping Ġimage ĠÂ ¯ \_ ( ãĥĦ )_ / Â ¯ ). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ('\ n ') ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . toString () ĊĠĠĠ Ġ} Ċ } Ċ