Так если не ошибаюсь, то все форматы прописывать это хорошо, не все сразу они грузятся.
Ход подгрузки вроде такой.
@font-face {
font-family: 'Web font';
src: url('webfont.woff2') format('woff2'),
url('webfont.ttf') format('truetype'), /* Только если нужна поддержка старых Android, иначе закомментировать */
url('webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
На developers.google приводится пример как браузер определяет, что для отображении сайта нужен какой-либо шрифт, он читает предоставленных список ресурсов в указанном порядке и старается скачать нужный шрифт.
1)Браузер читает разметку страницы и определяет, какие варианты шрифтов нужны для отрисовки текста.
2)Браузер проверяет, не установлены ли нужные шрифты на устройстве.
3)Если файла нет на устройстве, браузер читает список внешних расположений:
4)Если формат указан, перед скачивание браузер проверяется, поддерживается ли он. В случае отрицательного ответа программа переходит к следующему варианту.
5)Если указание на формат отсутствует, браузер скачивает ресурс.
Но это шрифт, а у меня вопрос по иконки ) svg