Тест на поддержку UTF-8

    Недавно натолкнулся на следующий текстовый файл: ссылка (если сайт не выдержит, искать так) авторства Dr Markus Kuhn из Кембриджа. По сути это просто текст в кодировке UTF-8, однако вся соль в том, что в нем содержатся различные «фишки» кодировки, вроде combining characters. Как вы увидите, даже «простой текст» браузеры отображают кое-где по-разному и кое-где вообще не отображают. Сводная таблица прохождения теста для некоторых известных имен (под Windows 7 64-bit, шрифты по умолчанию):



    Стоит заметить, что в Chrome, Firefox, IE моноширинным шрифтом по умолчанию является Courier New, в Opera — Consolas.

    Комментарии



    Mathematics and sciences

    Chrome не нашел часть символов и заменил их квадратами. IE все нашел, но выдал



    Firefox и Opera тоже все нашли, но отрендерили еще хуже. Amaya не нашел практически ничего.

    Linguistics and dictionaries



    Никаких претензий ко всем участникам.

    APL



    По всей видимости, автор имел в виду язык программирования APL. Квадратов не было у Chrome, Firefox и Opera.

    Nicer typography in plain text files



    Только Opera смогла показать круглые кавычки (curly apostrophes) корректно. Остальные с этим не справились. Впрочем, проблемы рядом с правым нижним углом рамки возникли у всех.

    Combining characters



    Идея в том, чтобы символы группировались, вместо того чтобы рисоваться по очереди. В общем, пока что не рисуются. Нужно заметить, что у Opera почти получилось — не поддался только знак вектора.

    Greek (in Polytonic), Georgian, Russian



    С греческим, грузинским и русским языками у браузеров все в порядке.

    Thai (UCS Level 2)



    Сами символы нашли все браузеры. Однако внизу говорится, что при корректной отрисовке должно быть два ровных столбца. Этого не происходит.

    Ethiopian



    IE и Amaya не нашли эфиопского языка.

    Runes



    Настоящие древние руны! Жаль, что Chrome и Amaya не нашли соответствующего шрифта.

    Braille



    Шрифт Брайля. Аналогично предыдущему тесту.

    Compact font selection example text



    IE и Amaya не нашли некоторых символов и заменили их квадратами. Firefox странным образом совершил отступ на предпоследней строке.

    Greetings in various languages


    Все браузеры справились с этим тестом.

    Box drawing alignment

    Chrome


    Internet Explorer


    Firefox


    Opera


    Amaya


    Резюме


    Amaya 11 я включил в тестирование, потому что думал, что раз это официальный браузер W3C, то и спецификациям он должен соответствовать наиболее полно. Однако он показал самый слабый результат. В тестах заслуженно лидирует Opera, но даже она набрала лишь две трети очков. Хоть современные браузеры и поддерживают юникод и большинство языков, соответствие стандартам явно хромает. Конечно, никто в реальной жизни не будет верстать рамки или круглые кавычки в UTF-8, и это не критично. Тем не менее, в погоне за новыми тегами HTML5 и производительностью Javascript, разработчики могли бы уделить больше внимания рендерингу текста в кодировке UTF-8.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 83

      +1
      Сафарю на маке проверьте. Много интересного узнаете о поддержке юникода макосью вообще и сафарей в частности. "౪_ರೃ", не воспринимает ни в каком виде, например, пока каких-то левых pkgшек не поставишь.
      –5
      Chrome 8 получил 8 баллов из 15. Хмм… ну значит в 15-ой версии хрома все будет хорошо с этим тестом.
        +21
        image
          +3
          Даешь по петросяну в каждый пост!
          –1
          [петросян моде]
          Ничего, 15-ая версия выходит через неделю!
          [/петросян моде]
          –1
          а какой смысл в поддержке брайля на обычных мониторах?
          на брайлевскую консоль кто-то вобще вывести то сможет?
            +1
            Специализированные ресурсы для преподавателей/друзей/родственников слепых?
              0
              да в любом случае это тест наличия шрифта в системе
                +1
                И как вы объясните, что один браузер шрифт брайля нашел, а другой нет?
                  0
                  Ниже посмотрите, я такое же предположение высказал, у меня все тесты отлично показываются.
                    +1
                    Тогда добавляю в статью, что шрифты я не трогал и они дефолтные
            +1
            Box drawing alignment tests у меня опера показывает корректно. В вот вместо рун квадратики. Opera 11, debian 5.
              +16
              Вообще как-то не очень правильно говорить о «поддержке браузерами utf-8», есть целая куча внешних факторов, которые делают это сравнение практически некорректным — шрифты, ОС, итд итп. Вот в хроме (8.0.552.224 beta linux) последний тест с рамками отображается у меня преотлитчно:



              хотя в предыдущем (см.первая строчка), наоборот, квадратики. Потому что часть ненужных мне поддержек шрифтов я однажды (можно сказать случайно) грохнул. Остальное по пунктам почти тоже нигде не совпадает — где-то корректно, а где-то нет.
                –1
                видимо, тесты предполагают, что все шрифты установлены.
                но со шрифтами тестировать имеет смысл развечто моноширинность/кернинг/комбинирование, поскольку движки рендеринга в браузерах свои.

                а браузер «не нашёл символ» — это действительно бредятина какая-то.

                  0
                  Ну, если есть шрифты с поддержкой всех проверяемых символов, то квадратиков так и так не будет. Но это уже тестирование шрифтов, а не браузеров получается :)
                    0
                    Как тогда объяснить, что один браузер шрифт нашел, а второй нет? В тестах это присутствует
                      0
                      загадка!

                      наверно они разные алгоритмы поиска используют :)
                      в разных местах ищут.
                  0
                  Я думал, что отрисовка шрифтов в Gecko и Webkit от ОС не должна зависеть… Оказывается, еще как зависит. Мажорирования по тестам нет — в Linux одно, в Windows другое. И непонятно, кто в итоге виноват — ОС или браузер
                    –1
                    В никсах рендеринг шрифтов отдается сторонней либе.
                    0
                    Ну вот кстати Chromium 8 под Ubuntu 10.10 прошел не все тесты. В том числе первый и последний. Пруф вставлять лень
                    +1
                    а в 9ом хроме почти всё хорошо,
                    кроме многоэтажной мат.формулы, штрихпункутирных рамок,
                    и моноширинного тайского, которого просто нет в системе.
                    в древнегреческом символ "᾿" иногда над буквами, а иногда рядом. но как оно должно быть хз.
                      0
                      Я в смятении, у меня в Firefox 3.6.12 под OpenSuse 11.2 x64 всё отобразилось как надо, попробую дома у меня там такой же файрфокс с теми же модулями, только Windows 7 Pro x64 есть.
                        +4
                        Кажется я понял в чём дело, у меня шрифт по умолчанию изменён, у меня там Deja Vu шрифты (мне очень нравятся), так что видимо. дело не в браузере а в шрифтах по умолчанию.
                          +1
                          По поводу шрифтов хотел добавить. Цитата из поста:
                          Стоит заметить, что во всех браузерах шрифтом по умолчанию является Times New Roman.
                          Какой к черту Times New Roman?! Для рендеринга txt-шника используется МОНОШИРИННЫЙ шрифт, он задается отдельно и не имеет никакого отношения к шрифту по умолчанию. Пруф. Такое ощущение, что автор не совсем понимает тему.

                          Да, у меня на Win7x64 шрифт Deja Vu решает часть проблем, которые были при использовании Courier New, хотя не все.
                            0
                            Я действительно тему не совсем понимал. Уже поправил. Очевидно, чтобы все было честно, надо Опере выставить Courier New и переделать тест. Спасибо
                              0
                              Opera 11 build 1156 Win7x64, Courier New:

                                0
                                А вот до этого у меня стоял шрифт Consolas, в нём комбинируемые символы правильно отображались:
                                  0
                                  Получается, что нет идеального шрифта. Жаль, жаль
                                    0
                                    Опять же, я писал выше — DejaVu всё отображает 100% =)
                                    0
                                    Над b нет вектора, и что-то мне подсказывает, что COMBINING RING ABOVE должен быть above Λ, а не T.
                                      0
                                      в нём комбинируемые символы правильно отображались

                                      Над b таки не хватает стрелочки.
                            0
                            APL — это такой язык программирования, типа brainfuck'а, только еще с символами, которых на клавиатуре нет. Где-то тут на хабре пробегал рассказик про APL. Лично мое мнение — боже сохрани и спаси от таких языков. Но некоторые олдфаги пруцца.
                              0
                              Opera 11 build 1156 @ WinXP SP3 RU чистая
                              Ethiopian, Runes, Braille — квадратики
                              Mathematics — большой межстрочный интервал, показало всё
                              Thai — колонки не ровные
                              всё остальное — ОК
                                0
                                Странная у вас подборка браузеров.
                                  0
                                  Кроме амайи — последние стабильные сборки. Чего же странного?
                                    0
                                    Извиняюсь, почему-то думал, что 11ая опера — нот стейбл.
                                  0
                                  Ой, curly braces — это фигурные скобки {}, а не круглые кавычки
                                    0
                                    Упс. Исправляю…
                                    –1
                                    Странно… Хром 8 на Линухе отрендерил как то лучше… Даже руны нашёл, ня!)
                                    А особенно почти весь последний тест нормально отрендерил. И Nicer Typography тоже
                                      +1
                                      ff на linux тоже лучше рендерит. Это от либы, видимо, зависит.
                                        +3
                                        Видимо, на ЛОРе настолько часто проскакивало «ШГ», что теперь в Linux шрифты просто идеальные =)
                                        0
                                        надо было лучше собрать лучше набор шрифтов, установив которые, можно было бы увидеть все как надо; все же поддержка символов больше зависит от наличия в системе шрифтов с нужными глифами.
                                          0
                                          Шрифты в браузерах можно настраивать вручную. В хроме по крайней мере точно можно. Достаточно выставить везде один и тот же шрифт, который наиболее полно поддерживает UTF-8. Arial какой-нибудь
                                          +4
                                          Опера православна
                                            0
                                            Эта ваша православная Опера до сих пор не может по-человечески &thinp; отобразить.
                                              +2
                                              Где такой символ в стандарте?
                                              www.w3.org/TR/REC-html40/sgml/entities.html
                                                0
                                                Если вы имеете ввиду thinsp, то в моей «Опере» 11 он отображается, меньше, чем пробел.
                                                  0
                                                  Так спешил, так спешил…
                                                  Да, его конечно же.
                                                  Не знаю, в чём заморочка, но начиная где-то с версии 9.80 она на некоторых системах начала отображать его квадратиками.
                                                    0
                                                    Вроде как это бич 10ой и ниже оперы, но в 11 все гуд. Пользователи оперы почти всегда использую последнюю версию, т.к. через месяц этот баг уже будет неактуальным.
                                              +1
                                              Спасибо теперь вкурсе что такое Amaya.
                                                0
                                                >Впрочем, проблемы рядом с правым нижним углом рамки возникли у всех.
                                                habrastorage.org/storage/e56c2847/367f5a81/48405649/caf2a8ca.png
                                                fake and gay!
                                                  –1
                                                  Если вы прочтете комментарии выше и начало статьи внимательно, то обнаружите, что
                                                  1)Тест был на Windows 7 x64
                                                  2)У вас ОС отличается
                                                  3)Результат от ОС зависит
                                                  +1
                                                  Конечно, никто в реальной жизни не будет верстать […] круглые кавычки в UTF-8, и это не критично.

                                                  Простите великодушно, я в реальной жизни пишу даже в письмах и жаббире круглую кавычку там, где ей по правилам положено быть — уже лет эдак 10. Что я делаю не так?
                                                    0
                                                    В основном там особые кавычки — немецкие или латинские. Впрочем, есть и обычные, которые также некорректно отображаются. А как вы печатаете круглые кавычки в жаббере? В моей русской раскладке выводятся обычные прямые " (вот как сейчас)
                                                      –1
                                                      ilyabirman.ru/typography-layout/ — Windows;
                                                      Из коробки — во всех современных Linuces (третий уровень в настройке клавиатуры).
                                                    0
                                                    Chrome 10, Ubuntu 9.10 — Всё ок
                                                      0
                                                      Простите, я не понимаю. Рендерится текст шрифтом. Получается что в статье тестируется не потдержка UTF-8 браузерами, а потдержка UTF-8 шрифтом по умлочнию для этих браузеров. Может быть хотябы стоило шрифты одинаковые поставить?
                                                        0
                                                        Вот сейчас специально посмотрел, какой шрифт какой браузер выбирает по умолчанию. И везде Times New Roman. А вообще не все так просто. Например, один браузер находит руны, а другой нет. Шрифты в настройках — одинаковые. Вот и проблема
                                                          0
                                                          Текстовые файлы оборачиваются тегом pre с фонтом monochrome (Firefox, Google Chrome)
                                                            0
                                                            извините, не monochrome, а monospace
                                                        +1
                                                        > APL
                                                        > Не известно, что автор обозначил этой аббревиатурой

                                                        Это кусок кода на en.wikipedia.org/wiki/APL_(programming_language)
                                                          +5
                                                          Больше похоже на то, что проблема не в браузерах, а в операционной системе ил шрифте.
                                                          Лично я в firefox 3.6.13 каких-то проблем не обнаружил
                                                            +2
                                                            От браузера ничего не зависит.

                                                            Ubuntu, Chrome-dev, все символы отображены. Только пробелы в математике в паре строк съехали
                                                              0
                                                              Офигеть, сколько в этом юникоде всего интересного. Долой GUI, все в консоли можно нарисовать :)
                                                                +6
                                                                Топик видимо стоило обозвать поддержка UTF в Windows.


                                                                Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101211 Firefox/3.6
                                                                  0
                                                                  В Rekonq также почти все хорошо, только еще нет проблем с субпиксельным сглаживанием. Firefox некоторые буквы (особенно руны) прямо аж разукрасил, у Rekonq с этим все Ок.
                                                                    0
                                                                    Какой у вас шрифт используется в качестве моноширинного в браузерах?
                                                                      0
                                                                      В настройках фокса указано Monospace.

                                                                      Times New Roman — не моноширинный, соответственно если его выбрать, то все съезжает, но по-прежнему отображается правильно, без каких-либо квадратиков.
                                                                        0
                                                                        В настройках kde также в качестве моноширинного Monospace, причем Times New Roman выбрать нельзя, можно только какой-нибудь другой моноширинный. Автор просто не в теме, было бы странно если бы в качестве моноширинного шрифта по-умолчанию стоял не моноширинный.
                                                                          0
                                                                          Ну вот правда и восторжествовала. Опера использует моноширинный Consolas, в то время как остальные — Courier New. И я действительно был не в теме, за что честно получил по карме :)
                                                                      0
                                                                      они еще РТЛ языки не проверяли… (Иврит, Арабский) Там тоже — бардак
                                                                        0
                                                                        В тексте топика:
                                                                        Недавно натолкнулся на следующий текстовый файл: ссылка (если сайт не выдержит, искать так) авторства Dr Markus Kuhn из Кембриджа.

                                                                        Озадачен. Как сайт может не выдержать отдавая статичный текстовый файл ;-?
                                                                          0
                                                                          Насмотревшись на хабраэффекты, решил перестраховаться. Я все-таки ученый-компиляторщик а не веб-специалист. Хотите сказать я написал бред и статика никогда сайт не обрушит?
                                                                          0
                                                                          Вот еще один тест:
                                                                          www.columbia.edu/kermit/utf8.html
                                                                            +2
                                                                            Улыбнуло по-украински: «Я можу їсти шкло» в монотайпе. Кто знает украинский- поймёт.
                                                                            0
                                                                            Firefox, вот, лигатуры поддерживает, а Chrome вроде ещё нет.
                                                                              0
                                                                              В общем, судя по таблице разница только в рунах и Брайлле. В остальном тройка браузеров поддерживает все пункты. Интереснее было бы посмотреть на тесты svg и html5, webgl. Опера должна слить :)
                                                                                0
                                                                                Здесь тестируется не UTF-8, а поддержка отображения Unicode-символов. Тест на поддержку UTF-8 все браузеры выполнили на 5+ :)

                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                Самое читаемое