Изменение регистра символов
Необходимо было проверить строку на наличие слов, написанных в верхнем регистре и заменить их на слово в нижнем регистре, но с заглавным первым символом.
Функция ctype_upper не подошла, т.к. плохо работает с кириллицей.
Написал такую функцию:
function lower($str, $charset='UTF-8') { // Разбиение строки. $tmp = explode(' ', $str); if (is_array($tmp) && 0 < ($count = count($tmp))) { for ($i=0;$i<$count;$i++) { /** * Для определения кириллицы используется тождественное сравнивание, * т.к. ctype_upper работает некорректно. * */ if ($tmp[$i] !== mb_strtolower($tmp[$i], $charset)) { $tmp[$i] = mb_convert_case(mb_strtolower($tmp[$i], $charset), MB_CASE_TITLE, $charset); } } } $str = implode(' ', $tmp); return $str; }
Использовать можно так:
$str = 'Записки WEB-ПРОГРАММИСТА'; echo lower($str); // Записки Web-Программиста
Кириллица в lightroom
В OC Windows на базе NT в Adobe Lightroom в некоторых местах не отображается кириллица.
Дело в том, что разработчики из компании Adobe вставили в программу шрифты, не поддерживающие кириллицу.
Решение банальное до не возможности. Необходимо удалить из системной папки Adobe Lightroom (C:\Program Files\Adobe\Adobe Photoshop Lightroom) шрифт Myriad. При отсутствии шрифтов по-умолчанию Lightroom загрузит шрифты установленные в системе, которые знают, что такое кириллица.
P.s. Не забудьте сделать резервную комию шрифтов.
P.p.s. Я удалил все файлы шрифтов из папки Lightroom.