Okay, that was a nightmare. When the font object is created (its implemented with SDL_TTF) it creates a nice big texture with every possible character on it. Which is... kind of yuck. But it gets the job done, and minimizes texture switches, which means I can render all text with a single batched call.
And I've been watching Evangelion for a year on and off, and I still have no idea what the hell is going on. Is that normal?