Что на самом деле делает «Бета: использование Unicode UTF-8 для поддержки языков во всем мире»? - PullRequest
3 голосов
/ 03 июня 2019

В некоторых сборках Windows 10 (инсайдеры, начиная с апреля 2018 года, а также «нормальный» 1903 год) есть новая опция под названием «Бета: использование Unicode UTF-8 для всемирной языковой поддержки».

Вы можете увидеть эту опцию, перейдя в Настройки и затем: Все настройки -> Время и язык -> Язык -> «Настройки административного языка»

Вот как это выглядит:

enter image description here

Когда этот флажок установлен, я наблюдаю некоторые нерегулярности (ниже) и Я хотел бы знать, что именно делает этот флажок и почему происходит следующее .

Создайте новое приложение Windows Froms в Visual Studio 2019. В главной форме укажите обработчик Paint even следующим образом:

private void Form1_Paint(object sender, PaintEventArgs e)
{
    Font buttonFont = new Font("Webdings", 9.25f);
    TextRenderer.DrawText(e.Graphics, "0r", buttonFont, new Point(), Color.Black);
}

Запустите программу, вот что вы увидите, если флажок НЕ установлен:

enter image description here

Однако, если вы установите флажок (и перезагрузите компьютер в соответствии с запросом), это изменится на:

enter image description here

Вы можете найти шрифт Webdings в Википедии. Согласно приведенной таблице символов коды для этих двух символов "\U0001F5D5\U0001F5D9". Если я использую их вместо "0r", он работает с , флажок установлен, но без флажок отмечен, теперь он выглядит следующим образом:

enter image description here

Я хотел бы найти решение, которое всегда работает без перестраиваемых, независимо от того, установлен флажок или нет.

Можно ли это сделать?

...