Здравствуйте, есть проблема с подстановкой шрифтов при использовании японских иероглифов. Есть EMF-файл, который содержит текст с японскими иероглифами и английскими буквами. Функция PlayEnhMetafile() отображает их корректно. EMF-файл содержит записи EMREXTCREATEFONTINDIRECTW, которые содержат информацию об используемом шрифте. В нашем случае для всех строк используется шрифт Arial, но он не поддерживает японские иероглифы(по крайней мере тот, что установлен на моей системе Windows 8.1 x64 для одного языка — русская локализация). Поэтому я использую функцию
IMLangFontLink2::MapFont(), которая выбирает оптимальный шрифт для нужного языка на основе заданного шрифта. В нашем случае эта функция выбирает шрифт MS PGothic вместо Arial для японских иероглифов. Проблема в том, что MS PGothic шире, чем Arial, в следствие чего текст наезжает друг на друга. Если открыть этот файл в Paint, то непонятно какой шрифт он использует для отображения японских символов. При чем текст не наезжает друг на друга. Точно такой же результат можно добиться при помощи функции PlayEnhMetafile(). У меня существует подозрение, что Paint использует функцию PlayEnhMetafile() для конвертации EMF-файла в растр, но неизвестно как он подбирает шрифт. Есть ли у вас какие-либо мысли как подобрать нужный шрифт, который бы поддерживал японские символы, но при этом сохранил нужную ширину текста? Заранее спасибо.