The text printer in Emerald is very versatile and has a lot of control codes. But it seems Game Freak skipped implementing one of the control codes in the release of the game, since it was likely never used. There's a control code that pokeemerald calls the `FONT` control code, allowing you to change fonts (and thus font size) mid-text. But there's another control code right after that called the `RESET_SIZE` control code that does nothing. Here's how to implement it: Go to [gflib/text.c](https://github.com/pret/pokeemerald/blob/master/gflib/text.c), find the function `RenderText` and add the following: ```diff case EXT_CTRL_CODE_FONT: subStruct->fontId = *textPrinter->printerTemplate.currentChar; textPrinter->printerTemplate.currentChar++; return RENDER_REPEAT; case EXT_CTRL_CODE_RESET_SIZE: + subStruct->fontId = textPrinter->printerTemplate.fontId; return RENDER_REPEAT; ``` Further down the same file, find the function `GetStringWidth` and add the following as well: ```diff case EXT_CTRL_CODE_ENG: isJapanese = 0; break; case EXT_CTRL_CODE_RESET_SIZE: + if (letterSpacing == -1) + localLetterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING); + else + localLetterSpacing = letterSpacing; + break; case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS: ``` Both of these will reset the font to whatever the previous font was when the text printer comes across a `RESET_SIZE` control code.