Новые технологии, конечно, прекрасная вещь, когда они правильно поддерживаются. А когда они неправильно поддерживаются -- это уже *зло*. :))
Например: сейчас, по некоторой рабочей надобности, разбираюсь с тем, насколько качественно поддерживается Unicode в разных браузерах (и не только). Тут хороший тест на разрыв -- проверка адекватности преобразований регистров. Особенно это относится к тем преобразованиям, которые необратимы и/или меняют длину строки. Например, латинские лигатуры "ff", "fi", "fl" - просто не имеют аналогов в верхнем регистре; соотв., хотя в UC они кодируются одним кодом (U+FB00, U+FB01, U+FB02 ...) - при преобразовании в верхний регистр каждый такой символ превращается в *два* ("FF", "FI", "FL").
Другими словами, в полноценном Unicode не все преобразования регистров *обратимы* (что, IMHO, большой минус, но так он спроектирован -- см. http://www.unicode.org/Public/UNIDATA/C
Как преобразование лигатур поддерживается в браузерах? Засовываем в любой HTML такой вот JS-код:
var ss = "Ligatures: [ff]=\ufb00 [fi]=\ufb01 [fl]=\ufb02 [ffi]=\ufb03 [ffl]=\ufb04";
alert (ss);
alert (ss.toUpperCase());
Результаты таковы:
IE 6.0 (да, я понимаю, что старье...) -- вообще не преобразует лигатуры!
(Более того: показывает "квадратики" вместо всех, кроме 'fi' и 'fl').
FF 3.6.15 (довольно свежий) -- тоже ничего не преобразует.
Однако, показывает все символы вполне адекватно! Правда, как и в IE, 'fi' и 'fl' не являются *настоящими* лигатурами -- видимо, их просто нет в шрифте, но тут уж не FF виноват.
Chrome 10.0.648.133 -- ура!!!
Вот он преобразует лигатуры *правильно* (то есть, "распаковывает" 'ff' в 'FF', 'fi' в 'FI' и т.п.)
Правда, показывать их правильно все равно не умеет, делая это в стиле IE (то есть, с 'квадратиками', и с 'синтетическими' 'fi' и 'fl' :)
Завтра на работе посмотрю другие браузеры, интересно. :)
К слову сказать, Perl 5.10 тоже преобразует лигатуры вполне правильно:
my $str = "Ligatures: [ff]=\x{fb00} [fi]=\x{fb01} [fl]=\x{fb02} [ffi]=\x{fb03} [ffl]=\x{fb04}";
print $str, "\n";
print "Len=", length($str), "\n";
print uc($str), "\n";
print "Len=", length(uc($str)), "\n";
UPD: продолжение банкета...
IE 8.0 -- абсолютно так же, как и IE 6.0, никаких улучшений.
FF 3.8.8 -- лигатуры не преобразуются, но показываются.
(И, что интересно, по другому, чем в 3.6.15. Глифы для лигатур не показываются -- показываются последовательностями символов, причем почему-то размытыми...)
Opera 9.21 -- лигатуры показываются, в общем, корректно (но не глифами), но вот регистр не преобразуется...
Япония в беспрецедентной опасности
Знаете, пожалуй, одна из проблем заключается в том, что мы, по всей видимости, получаем противоречивую информацию. Запаситесь терпением и позвольте мне прочесть вам три разных информационных сообщения.
В переводе на русский это, по видимому, означает: японские власти все никак не договорятся, что именно будут врать.
А вот и комментарии эксперта:
Я полагаю, что... Насколько я понимаю сложившуюся ситуацию, по крайней мере в одном реакторе произошло частичное расплавление. Реактор в блоке номер три, вероятно, оказался на грани расплавления, или же расплавление уже началось. И в реакторе блока номер три есть топливный стержень, который содержит плутоний, и это делает ситуацию гораздо более сложной и опасной. Тот факт, что реакторы не получается охладить, - это очень серьезная проблема. И я надеюсь, что механизм их охлаждения удастся восстановить.
Если говорить о списке всех возможных мер, то использование морской воды я бы назвал отчаянным шагом, последней попыткой спасти положение. Не представляю, какие еще меры останутся в их распоряжении в случае неудачи. Я надеюсь и молюсь, чтобы первичный корпус реактора выдержал серьезное расплавление стержня, а внешняя защита – толстый бетонный купол, который все это укрывает, - тоже выстоял и помешал масштабному выбросу радиации.
(Власти Японии заявили, что происходящее на АЭС «Фукусима-1» может быть оценено по четвертому уровню. Вы с этим согласны?) -- Я лично полагаю, что, скорее, можно говорить о пятом или шестом.
← Previous day | (Calendar) | Next day → |