The older approach had to find every character first, and touching letters broke it. A CRNN looks at the whole line, makes a guess for every thin vertical slice, and CTC turns those guesses into text. Nobody ever told it where each letter is.
No dictionary and no character cutting: the text comes only from the per-slice guesses below.
What is happeningWrite something, then press Read to watch it go through the network.
No human labelled a single image. Every training line was generated: printed and handwriting fonts plus real handwritten EMNIST letters and MNIST digits glued together so they touch, then slanted, stretched, blurred and speckled. A new random batch was made at every step.
Compare with the character-by-character reader, which must cut the line into letters first: Multi-letter recognizer ↗. Write the same joined-up word in both.