It appears that TextNode::set_text_scale does not properly handle spaces. They do not get scaled, so it appears that text is rendered without spaces.
The bug is in TextAssembler::assemble_row where the handling for spaces (and tabs) does not account for scaling.
if (character == ' ') {
// A space is a special case.
xpos += font->get_space_advance();
should change to:
if (character == ' ') {
// A space is a special case.
xpos += properties->get_glyph_scale() * properties->get_text_scale() * font->get_space_advance();
Can someone review and apply?