Проблема: шрифт, перетворений в формат EOT, не сприймається браузерами IE6-8, а IE9 + видають помилку виду "CSS3111: В @ font-face виявлена невідома помилка." :
У деяких випадках проблема обумовлена конфліктом назв шрифту і гарнітури, і вирішити її вдається їх корекцією.
Суть в наступному: назва EOT-шрифта має починатися з імені гарнітури (сімейства шрифту). Т. е. якщо гарнітура має вигляд 'ABCFont'. то назва 'ABCFont Bold' буде коректним, а 'ABC Font Bold' - немає. У другому випадку IE видасть помилку.
Обидві рядки знаходяться в заголовку EOT-шрифта, куди копіюються конвертується програмою з вихідного файлу. Вихідний шрифт часто має дві назви: технічне і человекочітаемое. Яке саме візьме конвертер і чи буде він проводити будь-яку корекцію - залежить від конвертера. Застосовуваний нижче ttf2eot використовує человекочітаемое назву і ніяких корекцій не виконує.
Для корекції назв можна скористатися fontforge. Послідовність дій така:
- відкрити вихідний шрифт (НЕ EOT) в fontforge;
- вибрати в меню «Елемент» пункт «Інформація про шрифт» (або натиснути Ctrl + Shift + F); на вкладці «PS Names» відредагувати графи «Гарнітура» і «читати назву» - назва повинна починатися з точного імені гарнітури;
Зауваження: це спрацьовує з ttf2eot. Для будь-якого іншого перетворювача буде потрібно відновити графу «Назва шрифту».
Зауваження: не слід заміняти існуючий TTF - цей формат не є для fontforge нативним, тому шрифт може як-небудь постраждати.
ttf2eot font .eot
Корисні посилання:
Исходник прикладу з батонами (для повноти картини)