На этой неделе мы наткнулись на довольно странную ошибку в IE7 (сюрприз, сюрприз) при встраивании файла шрифта EOT с использованием @ font-face
конструкция.
Чтобы сэкономить на пропускной способности, мы часто редактируем наборы символов из шрифта, который, как мы знаем, не будет использоваться на сайте. В данном конкретном случае мы использовали этот шрифт для заголовков, которые все были составлены в верхнем регистре, но отображались в верхнем регистре с помощью свойства text-transform
. Логично, что мы сохранили все наши файлы шрифтов только с прописными буквами, так как мы просто не используем строчные.
Сайт отлично отображается в каждом браузере (включая IE6 и IE8), который поддерживает @ font-face
, за заметным исключением IE7. IE7 отображал только первый символ каждого слова правильным шрифтом - остальные символы отображались шрифтом по умолчанию в браузере.
Почесав головы, мы наконец выяснили, что, поскольку заголовки на самом деле были написаны как регистр заголовка (и поэтому содержал символы нижнего регистра), даже несмотря на то, что свойство text-transform
было развернуто и символы отображались в верхнем регистре, IE7 требовал, чтобы строчные буквы существовали в файле EOT для отображения символов верхнего регистра. (Интуитивно понятно, не так ли?)
Простым исправлением было перестроить файл EOT с глифами как в верхнем, так и в нижнем регистре, хотя символы в нижнем регистре никогда не используются.
Как я могу это исправить? (т.е. заставить IE7 отображать символы верхнего регистра без необходимости включения глифов нижнего регистра в шрифт.)
Спасибо!