I also wanted this and decided to use Georgia for most chars but take digits from another font.
I ended up using Charter digits, as a webfont. You can test the combo at https://www.mathdown.net/?doc=georgia-replaced-digits (feel free to edit).
See https://github.com/cben/mathdown/issues/95 for all my experiments (most screenshots are Chrome on Ubuntu with Georgia installed, look for crossbrowsertesting links for cross-platform screenshots)
There are 2 easy ways to do this in a website:
@font-face with limited
unicode-range. Clean and effecient — the replacement font can reference system fonts or webfonts (which some browsers will skip loading if no characters use them).
Code: http://codepen.io/cben/pen/BoZBga =>
Results on crossbrowsertesting
(top is Palatino/Palladio digits, Georgia; bottom is pure Georgia)
Unfortunately I never got it to work cross-browser. IE8 doesn't support it and shows only Georgia; that's OK. What's worse is Firefox which ignored
unicode-range but didn't invalidate the whole
@font-face, resulting in everything using the font I wanted only for digits.
I also tried a "double sandwitch" of Georgia without digits, only digits, full Georgia — I hoped this will make Firefox at least use Georgia for everything — but it failed in weird ways.
Also, I noticed that digit-letter kerning was too tight with most fonts and platforms, e.g.:
(this is Bitstream Charter, Chrome on Ubuntu)
Note especially "0th" and "4rd" on the italic lines.
A webfont subsetted to include only the characters 0-9. No
unicode-range necessary. [Font Squirrel's generator is a quick way to extract a subset from any font. It even has an option to match x-height to Georgia.] The price is close to 10KB compressed.
This solved all compatibility problems!
Code: http://codepen.io/cben/pen/jbLPyo => Results on crossbrowsertesting
(this is Bitstream Charter)
=> Replaced digits everywhere except IE8 (I only used WOFF format which is IE9+, probably could work with the right EOT incantation);
didn't inhibit Georgia for other characters anywhere;
looks fine on platforms lacking Georgia (android, ubuntu).
And now kerning looks OK everywhere! (No idea why kerning is better — is it a different code path or just slightly different font — perhaps Font Squirrel did some magic?)
You should also consider what happens on systems that don't have Georgia (android and many linuxes) and/or don't have your replacement font (not a problem if it's a webfont). For example
So from what font to take the digits?
I considered system font stacks that are (approximately) cross-platform (there aren't many serif ones), and Georgia-resembling fonts with an open license (so subsetting is legally OK):
Times was not bad but narrower than Georgia (I didn't seriously test it cross-platform though).
Palatino/Palladio — also narrow and worse kerning.
URW Bookman L looked great, except that its digit 1 is extremely similar to Georgia's lowercase L:
For me this was a deal-breaker as my original motivation to replace Georgia's digits was that its 0 digit is extremely similar to lowercase O...
Charter, by the same designer as Georgia and somewhat similar in spirit. Note however that its 4, 6, 7, 9 have a hint of old-style dripping. This is the one I picked.