Unicode Box-Drawing не отображается правильно в браузерах - PullRequest
0 голосов
/ 16 февраля 2019

Я недавно обнаружил этот исторический документ , который призван действовать в качестве теста кодировки UTF-8 для любого приложения, отображающего его.

Когда я вставляю его в свой терминал (iterm2), он красиво загружает рисунки в конце (за исключением пары справа внизу):

correctly rendered unicode box drawings

Но как в Chrome, так и в Firefox оникриво и явно неправильно:

incorrectly rendered unicode box drawings

Кажется, разница связана с шириной отображаемого символа: например, «╲» отображается в моем терминалетакие же широкие, как и другие символы, такие как «а», но в браузере они отображаются шире.

Является ли это осознанным выбором, и если да, то что его вдохновило?Если нет, где находится правильное место для сообщения об ошибке?

РЕДАКТИРОВАТЬ

Благодаря ответу Тома Блоджетта , теперь я знаю, что шрифтыявляются важным фактором.Я уточню:

На моих скриншотах выше Firefox и Chrome используют Courier в качестве моноширинного шрифта, в то время как терминал использует Monaco.В обоих случаях кажется, что шрифт применяется как к символам рисования в рамке, так и к символам ASCII: когда я меняю шрифт, меняется внешний вид рисунков, а также внешний вид текста.

Когда я переключаю терминал на Courier или Courier New, он одинаково хорошо показывает рисунки коробок - в некоторых отношениях лучше!

Когда я переключаю любой браузер на Монако, он все равно показывает неправильные рисунки коробок, опять же изсимволы, по-видимому, отображаются шире, чем моноширинная.

Так что кажется, что браузеры делают что-то не так.

1 Ответ

0 голосов
/ 16 февраля 2019

Когда я обращаюсь к инструментам разработчика, я вижу, что весь тест - это один pre элемент.Несколько шрифтов используются в моей системе.Все выглядит хорошо, кроме штриховки справа.

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

Терминал, вероятно, будет менее опытным в использовании нескольких шрифтов, вместо этого, используя один фиксированный или выбирая одно «лучшее» соответствие для требуемых символов.

[Google Chrome 72.0.3626.96 вWindows 10.]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...