I’m using this workaround:
[lua]function retinaText(params)
if params.fontSize then
params.fontSize = params.fontSize * 2
else
params.fontSize = 24
end
local o = display.newText(params)
o.xScale = 0.5
o.yScale = 0.5
return o
end
text1 = display.newText( { text = “display.newText() - Blurry”, x = 200, y = 300, font = “Times New Roman”, fontSize = 14})
text2 = retinaText( { text = “retinaText() - Sharp”, x = 200, y = 350, font = “Times New Roman”, fontSize = 14})[/lua]
display.newText works fine on Retina mobiles, but on macOS with Retina display it looks like the text is rendered at half resolution, then stretched up to 2x.
retinaText renders the text in double size and immediately scales down to 50% before returning the rendered text object.