Bug in custom fonts on iOS?
Ken Ray
kray at sonsothunder.com
Sat Mar 24 02:00:10 EDT 2012
>
> Doing a 'Get Info' for those fonts, they all come up with names like this:
>
> Myriad Pro-Cond
> Myriad Pro-Bold
> Myriad Pro-Italic
> etc...
>
> Using my calibrated eye, the hyphen between 'Myriad Pro' and 'Cond'
> looks like an em-dash. Could that break things?
>
> Has anyone else seen this problem? (bonus: anyone have a work around?)
It's not a bug, technically, but an idiosyncracy of working with mobile - this is referenced loosely in the iOS Deployment Release Notes (page 13), but here's the skinny:
Fonts are assigned using the internal font name of a specific weight of a font (like "AmericanTypewriter-CondensedLight"), but that is not in "the fontNames"; it's in "the fontStyles" for a specific font, so to verify that you are setting a font properly, you have to check the fontStyles of every font.
For example, you can set the textFont of a field in the IDE to "Palatino", but when you move the app to iOS, the textFont of the field is actually "Palatino-Roman", which is one of the fontStyles of the Palatino font.
So for your app, if you want to display the different weights of the font, on iOS you'd say:
put the fontStyles("Myriad Pro",0) into tFontWeights
… which would give you back "Myriad Pro-Cond", "Myriad Pro-Bold", etc.
What I've done for my application is to create a lookup table that I store in a custom property of my stack that maps these "weights" to names I want to have appear in a font menu. So for example, you could have:
Myriad Pro-Cond = Myriad Pro Condensed
Myriad Pro-Bold = Myriad Pro Bold
(etc.)
and then when someone picks "Myriad Pro Condensed" from the font menu, you do the lookup, find out that the weight is actually "Myriad Pro-Cond" and execute:
set the textfont of <whatever> to "Myriad Pro-Cond"
A pain, but it works…
Ken Ray
Sons of Thunder Software, Inc.
Email: kray at sonsothunder.com
Web Site: http://www.sonsothunder.com/
More information about the use-livecode
mailing list