As your simplified example shows, this is a bug in IE (at least in IE 10 in all modes) and does not depend on @font-face
fonts. A further simplification:
<!DOCTYPE html>
<title>textarea fallback in IE</title>
<style>
body {
font-family: Georgia, Courier New; }
textarea {
font-size: 100%;
font-family: Georgia, Courier New; }
</style>
Hello world ↕<br>
<textarea>Hello world ↕</textarea>
Since Georgia does not contain U+2195 (↕) but Courier New does, we should get the Courier New glyph in both cases. What we get instead in the textarea on IE seems to be from MS Gothic or some similar font.
So apparently IE uses only the first existing font family name in the font-family
property list for textarea
, and for characters not found in it, it uses its own fallback mechanism.
Workaround: instead of textarea
, use div
(or other element) with the contenteditable
attribute and (if the textarea
is part of a form to be submitted) copy the content of that element into a hidden field of the form. (This is complicated by the problem that in a contenteditable
element, things work differently, e.g. hitting Enter adds <p>
markup.)