Я провел несколько вечеров, исследуя лучший способ реализации @ font-face в современных браузерах. Я постоянно работаю веб-разработчиком / системным разработчиком с опытом работы в качестве графического дизайнера. Я считаю, что возможности и возможности веб-дизайна становятся все более интересными. Итак, я провел небольшое тестирование и хотел бы услышать, есть ли у кого-нибудь советы, лучшие идеи или предложения по этому поводу. Мой сценарий тестирования выглядит так.
Я тестировал МНОГО различных онлайн-инструментов и приложений, но в конце концов я свел это к одной онлайн-службе и одному приложению.
- FontSquirrel, онлайн-инструмент - бесплатно. http://www.fontsquirrel.com/fontface/generator
- FontXChange, приложение для mac / win - 99 $. http://fontgear.net/fontxchange.html.
Я использовал шрифт, который поставлялся с моим Mac, Tamil Sangam MN и Tamil Sangam MN Bold, оба были открытого типа, .otf.
- TamilSangamMN.otf - 290 КБ
- TamilSangamMNBold.otf - 271 КБ
Изучение размеров конверсии
FontSquirrel
Это хороший онлайн-инструмент, он очень хорош. Есть несколько разных режимов, я использовал Базовый и Оптимальный. Результатом моего файла .otf были svg, ttf, eot и woff.
Базовый
Обычный
- TamilSangamMN.svg 233 КБ
- TamilSangamMN.ttf 71 КБ
- TamilSangamMN.eot 25 КБ
- TamilSangamMN.woff 30 КБ
- Всего: 359 КБ
Полужирный
- TamilSangamMNbold.svg 225 КБ
- TamilSangamMNbold.ttf 69 КБ
- TamilSangamMNbold.eot 25 КБ
- TamilSangamMNbold.woff 30 КБ
- Всего: 349 КБ
Оптимально
Первое, что я заметил с оптимальными шрифтами, это то, что они значительно меньше базовых вариантов ~ 260 КБ!
Обычный
- TamilSangamMN.svg 33 КБ
- TamilSangamMN.ttf 25 КБ
- TamilSangamMN.eot 15 КБ
- TamilSangamMN.woff 17 КБ
- Всего: 90 КБ
Полужирный
- TamilSangamMNbold.svg 33 КБ
- TamilSangamMNbold.ttf 25 КБ
- TamilSangamMNbold.eot 15 КБ
- TamilSangamMNbold.woff 17 КБ
- Всего: 90 КБ
FontXChange
Этот инструмент может делать гораздо больше, чем просто манипулировать шрифтами для Интернета. Он может конвертировать несколько форматов между собой; такие как opentype, true type, веб-шрифты, почтовый скрипт и так далее. Результатом является очень высокое качество файлов, размер файлов почти в два раза больше, чем у версий FontSquirrels Basic, и более чем в 7 раз больше, чем у версии FontSquirrels Optimal.
Обычный
- TamilSangamMN.svg 480 КБ
- TamilSangamMN.ttf 72 КБ
- TamilSangamMN.eot 72 КБ
- TamilSangamMN.woff 80 КБ
- Всего: 704 КБ
Полужирный
- TamilSangamMNbold.svg 463 КБ
- TamilSangamMNbold.ttf 69 КБ
- TamilSangamMNbold.eot 70 КБ
- TamilSangamMNbold.woff 80 КБ
- Всего: 682 КБ
Настройка CSS
Вначале меня немного озадачило, что реальный порядок в списке шрифтов имеет значение. Затем я обнаружил, что некоторые берут первый формат, который они считают совместимым, а не придерживаются оптимального формата - и это отстой. После некоторых лабораторных работ я обнаружил, что это оптимальный способ форматирования CSS (обратите внимание на порядок типов файлов | важно!).
@font-face {
font-family: 'TamilSangam';
src: url('.eot');
src: url('.svg') format('svg'),
url('.eot?#iefix') format('embedded-opentype'),
url('.woff') format('woff'),
url('.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
Мои результаты тестов
Обычные шрифты
Я отметил лучшую версию знаком *
Firefox MAC (15.0.1)
- FontSquirrel Optimal: немного увеличивает жирность
- FontSquirrel Basic: немного увеличивает жирность
- FontXChange 4.0: отображается немного жирно, но кернинг лучше, чем в версии FontSquirrel *
Firefox Windows (15.0.1)
- FontSquirrel Optimal: очень красиво отображается
- FontSquirrel Basic: шрифт неровный / прерывистый
- FontXChange 4.0: отлично отображается *
Safari Mac (6.0)
- FontSquirrel Optimal: идеальный рендеринг
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: идеальный рендеринг *
Chrome Mac (21.0)
- FontSquirrel Optimal: немного толстоват
- FontSquirrel Basic: немного толстоват
- FontXChange 4.0: идеальный рендеринг *
Chrome Windows (21.0)
- FontSquirrel Optimal: идеальный рендеринг
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: идеальный рендеринг *
Internet Explorer (9.0)
- FontSquirrel Optimal: идеальный рендеринг *
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: шрифт неровный / прерывистый
Полужирный шрифт
Firefox MAC (15.0.1)
- FontSquirrel Optimal: очень толстый *
- FontSquirrel Basic: отображает очень толстый
- FontXChange 4.0: отображает очень толстый, но лучший кернинг (я бы хотел выбрать этот вариант для Mac, но поскольку версия firefox для Windows здесь несовместима, ее нужно убрать)
Firefox Windows (15.0.1)
- FontSquirrel Optimal: отображается нормально, без сглаживания *
- FontSquirrel Basic: шрифт неровный / прерывистый
- FontXChange 4.0: шрифт немного искажается / зазубрен.
Safari Mac (6.0)
- FontSquirrel Optimal: идеальный рендеринг *
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: отображает жирность
Chrome Mac (21.0)
- FontSquirrel Optimal: идеальный рендеринг *
- FontSquirrel Basic: хороший рендер, жирность несколько процентов.
- FontXChange 4.0: отображает жирность
Chrome Windows (21.0)
- FontSquirrel Optimal: идеальный рендеринг *
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: рендеринг очень толстый
Internet Explorer (9.0)
- FontSquirrel Optimal: идеальный рендеринг *
- FontSquirrel Basic: идеальный рендеринг
- FontXChange 4.0: шрифт неровный / прерывистый
Окончательная реализация
Обычно я размещаю свои веб-шрифты по следующему шаблону: ‹webfonts› / ‹источник преобразования› / ‹метод преобразования› / ‹fonts›
/* Regular */
@font-face {
font-family: 'TamilSangam';
src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn.eot');
src: url('webfonts/fontxchange/TamilSangamMN.svg#TamilSangamMN') format('svg'),
url('webfonts/fontsquirrel/optimal/tamil_sangam_mn.eot?#iefix') format('embedded-opentype'),
url('webfonts/fontxchange/TamilSangamMN.woff') format('woff'),
url('webfonts/fontxchange/TamilSangamMN.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
/* Bold */
@font-face {
font-family: 'TamilSangam';
src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.eot');
src: url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.svg#tamil_sangam_mnbold') format('svg'),
url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.eot?#iefix') format('embedded-opentype'),
url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.woff') format('woff'),
url('webfonts/fontsquirrel/optimal/tamil_sangam_mn_bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}
Графический обзор результата (полный размер на https://i.stack.imgur.com/atb98.png)
Выводы и квесты
Нет ни одного инструмента, который предоставил бы шрифты, которые хорошо отображались бы на Mac и Windows во всех браузерах. Вы должны экспериментировать и тестировать каждый шрифт. Приведенная выше методология - это простой способ и предложение, как протестировать и поэкспериментировать с @ font-face.
Есть ли что-нибудь, что, по вашему мнению, я могу изменить в своих методах или реализации, есть ли какое-либо приложение или услуга, которые я пропустил?
Всего наилучшего / Т
.eot?#iefix
строки над.svg#TamilSangamMN
строками. Я получил это из другого вопроса stackoverflow о font-face и IE8. - person yitwail   schedule 30.12.2012