Раньше я отображал японские символы с imagettftext , используя шрифт для Восточной Азии напрямую. Некоторые из них поставляются в комплекте с Windows: «simsun» (китайский), «MS Gothic» (японский), «Ms Mincho» (японский). Последние два эквивалента без засечек и засечек для японского текста. Я думаю, что у китайцев тоже есть оба стиля. В моем старом php-коде он использует файлы шрифтов с расширением .ttc, не знаю почему. Возможно, TTF - это определение, а фактический шрифт - это файл TTC? (это было давно)
В любом случае, что касается использования Arial и т. Д., В Windows, по крайней мере, работает так, что система обнаруживает символы вне «западного» диапазона Юникода и автоматически переключается на один из установленных по умолчанию «азиатских» шрифтов для рендеринга те. Это, среди прочего, приводит к тому, что некоторые пользователи получают китайские символы вместо японских или наоборот, потому что многие из этих символов имеют одинаковый диапазон Юникода, но в зависимости от того, какой шрифт используется, вы можете использовать стиль «китайский» или японский стиль.
Смешивание обоих шрифтов выглядит не очень хорошо. Использование чисто японского шрифта отобразит буквенные символы в моноширинном шрифте, который выглядит не очень хорошо.
Если ничего не помогло, вы можете попытаться разбить вашу строку на отдельные подстроки диапазона западных / восточных символов (цикл символов и проверить диапазон Юникода), а затем отобразить каждую часть соответствующим шрифтом. Помните, что восточные шрифты моноширинные (по крайней мере, китайский / японский, я не знаю о корейском и т. Д.).