For some reason I can switch FontSmoothingType on Label but fillText() on Canvas will still use grayscale antialiasing if I use
setFontSmoothingType(FontSmoothingType.LCD);