I'm not sure if this is a bug, or just undocumented and unexpected behavior. It seems that setTextColor() is only effective on TextFields using fonts derived from TTFont, but not Font. I can get around it by manipulating the color with setColorTransform(), though, which actually makes setTextColor() seem rather redundant.
Comments
self.titles[loop].shadow=TextField.new(fontLarge,self.titles[loop].text)
self.titles[loop].shadow:setTextColor(0x000000)
self.titles[loop].main=TextField.new(fontLarge,self.titles[loop].text)
self.titles[loop].main:setTextColor(self.titles[loop].colour)
self.titles[loop].main:setPosition(-5,-5)
self.titles[loop].shadow:addChild(self.titles[loop].main)
self:addChild(self.titles[loop].shadow)
https://deluxepixel.com
If you are using for example, Bitmap font, basically each letter as an image, then yes it probably won't work, but as you said the colors can be transformed
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
https://deluxepixel.com
I came across this issue today. setTextColour worked for me after I recreated the font using the Gideros font creator. The font was previous created using a different tool.
It seemed to display text fine but the text colour remained white.
I hope this helps someone.
Simon