by Michael S. Kaplan, published on 2007/10/18 10:31 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/10/18/5508950.aspx
And then meanwhile vinaynahata asked:
Hi
I have an issue with font substitution.I have an italic text which uses Arial as its font.I have been combining font's name along with its style to get its PSname which i use for further processing.However there are cases where a glyph might be present in Arial and not present in ArialItalic.Also there are cases where corresponding to same glypid in both the fonts,the glyphs vary.Is there any way using some uniscribe functions to know beforehand whether i should be using Arial as the fontname or ArialItalic?
Please help me with the issue.
If you select a device context containing your Arial Italic you can use Uniscribe's ScriptGetCMap to find out if a particular character is in a font (if it is there; if not then you will be told that it wasn't with the function returning S_FALSE).
But you shouldn't be too quick to dismiss differences between the normal font and the italic form, or the glyph differences between them.
Like I pointed out in posts like Small case is not just tinier capitals; italics are not merely slanted letters (and this other one), those differences may be both intended and expected. That first post even has an Arial example of such a difference!
This post brought to you by ѝ (U+045d, a.k.a. CYRILLIC SMALL LETTER I WITH GRAVE)