В Windows очень мало шрифтов с достаточно широким репертуаром символов для представления всего арабского, кириллического и китайского языков.Те, о которых я знаю, по умолчанию не поставляются с Windows.
Вместо этого большинство API-интерфейсов Windows для рисования текста автоматически переключаются между шрифтами, как это необходимо для покрытия.Например, вы можете нарисовать строку в Tahoma, в которой есть несколько китайских символов.Windows автоматически переключится с Tahoma на шрифт с китайскими иероглифами.Это создает иллюзию наличия шрифта с огромным набором символов.
Windows делает это автоматически, если выбранный вами шрифт является одним из основных шрифтов TrueType или OpenType.Если вы выбрали неясный шрифт или растровый шрифт, это не так.Как указывает другой ответ, MS Sans Serif является растровым шрифтом.Microsoft Sans Serif - это шрифт TrueType.
Кроме того, для работы связывания шрифтов и отступления необходимо наличие некоторого шрифта, к которому можно обратиться.Например, если у вас нет шрифтов с китайскими иероглифами, вместо китайских вы получите поля-заполнители.Более новые версии Windows (например, Windows 7) имеют множество запасных шрифтов, доступных из коробки.Более старые версии Windows (например, XP) поставлялись для конкретных регионов, в которых были только шрифты для этого региона.Если у вас установлена Windows XP в «США», вам, вероятно, придется зайти в панель управления и сказать, что вам нужна многоязычная поддержка, которая будет загружать шрифты и таблицы для китайского, арабского и т. Д.
Обновление: Марк Рэнсом попросил ссылки на документацию.Я не нашел ни одного места, где бы описывались детали связывания шрифтов и откат шрифтов в одном месте.То, что я знаю, я собрал из различных источников, таких как блоги MSDN (особенно Майкл Каплан и Рэймонд Чен) и документация Uniscribe.Из-за проекта с чрезвычайно необычными ограничениями мне пришлось реализовать собственную связку шрифтов и откат.В процессе я узнал много нового о том, как Windows это делает.
Вот несколько лакомых кусочков:
Определения связывания шрифтов и восстановления шрифтов: http://msdn.microsoft.com/en-us/goglobal/bb688163
РазъяснениеРазличия между ними: http://www.siao2.com/2005/10/01/476022.aspx
Неподписанная документация: http://msdn.microsoft.com/en-us/library/windows/desktop/dd374091(v=vs.85).aspx
Некоторые особенности резервного копирования шрифтов: http://msdn.microsoft.com/en-us/library/windows/desktop/dd374105(v=vs.85).aspx
Сообщения Майкла Каплана в блоге о замене и шрифте шрифтовссылки начинаются здесь: http://www.siao2.com/2005/03/20/399322.aspx
Вы можете немного узнать о связывании шрифтов из старых API MLang, предоставляемых IE: http://msdn.microsoft.com/en-us/library/ie/aa767872(v=vs.85).aspx