So have a problem achieving some special uni-code characters to display across multiple users computers. My implemented font-stack is as follows:
font-family:Georgia, "Times New Roman", Times, serif;
Now say for some odd reason a user doesn’t have the letter “A” installed for ‘Georgia’ would the letter “A” change to “Times New Roman” instead?
By the specifications, absolutely. In browser practice, mostly, but far from always.
The CSS 2.1 specification clearly prescribes an algorithm where the font family list is scanned, when necessary, at the character level. The section Font matching algorithm says: “2. At a given element and for each character in that element, the UA assembles the font properties applicable to that element. – – If there is a matching font face, but it does not contain a glyph for the current character, and if there is a next alternative ‘font-family’ in the font sets, then repeat step 2 with the next alternative ‘font-family’.”
One reason why this may fail is that browsers rely on information in the font files about their character coverage, instead of inspecting the font file contents in detail. In the hypothetical case present, a browser would check that Georgia announces to cover the Basic Latin range, among other things. And it would thus delegate it to Georgia to render “A”. If the font has been deprived of the glyph for “A”, by some black magic, then the rendering would fail in some manner.
That’s not probable, but it is possible that a font announces to support a Unicode range but does not cover all the new characters added to that range since the font was last updated.