I can hack around it by making separate calls for rendering the flag and the artist but then I'm in no better position that I would have been using images. Urgh. :/
Here's a quick and dirty workaround. On line 24 of original script. replace
var y = thumbs.properties.layout.value == 0 ? margin : this.y - margin;
DrawStyledText(gr, this.header_text(), panel.fonts.title, colourh, this.x, y, this.w, TM, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
with
var x = this.x;
var y = thumbs.properties.layout.value == 0 ? margin : this.y - margin;
if (this.twitter_font && this.flag.length) {
var font_size = _scale(panel.fonts.size.value);
var font = CreateFontString('Twitter Color Emoji', font_size);
var width = utils.CalcTextWidth(this.flag + ' ', 'Twitter Color Emoji', font_size);
gr.WriteText(this.flag, font, 0, x, y, width, TM, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER);
x += width
}
gr.WriteText(this.artist, panel.fonts.title, colourh, x, y, this.w, TM, DWRITE_TEXT_ALIGNMENT_LEADING, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);