Где я могу разместить пользовательские шрифты в Laravel 5?

Заполните новичок в Laravel 5 и попытайтесь импортировать пользовательские шрифты, используя этот код в моем заголовке:

<style> @font-face { font-family: 'Conv_OptimusPrinceps'; src: url('fonts/OptimusPrinceps.eot'); src: local('☺'), url('fonts/OptimusPrinceps.woff') format('woff'), url('fonts/OptimusPrinceps.ttf') format('truetype'), url('fonts/OptimusPrinceps.svg') format('svg'); font-weight: normal; font-style: normal; } 

и называя его в моих переменных.scss. В настоящее время мои шрифты хранятся в моем общедоступном каталоге:

 public/fonts/OptimusPrinceps.woff public/fonts/OptimusPrinceps.tff etc. 

По некоторым причинам это предупреждение появляется в моих инструментах dev

 Failed to decode downloaded font: http://localhost:3000/fonts/OptimusPrinceps.tff OTS parsing error: invalid version tag 

И мой шрифт загружается неправильно.

Поместите все, что браузер клиента должен получить в /public/ . Вы можете использовать функцию public_path функции public_path для создания для нее полных URL-адресов.
https://laravel.com/docs/5.2/helpers#method-public-path

Например, если вы помещаете свой шрифт в /public/fonts/OptimusPrinceps.tff (который вы сделали), вы можете получить к нему доступ одним из двух способов.

В Blade:

 <style type="text/css"> @font-face { font-family: OptimusPrinceps; src: url('{{ public_path('fonts/OptimusPrinceps.tff') }}'); } </style> 

В CSS:

 @font-face { font-family: OptimusPrinceps; src: url('/fonts/OptimusPrinceps.tff'); } 

Во втором примере вам действительно не нужна магия Ларавелла. Просто укажите путь абсолютно так, чтобы он указывал на правильный каталог.

Стоит отметить, что это работает с Bootstrap и SCSS. Обычно я помещаю шрифты в /public/static/fonts/ .

В Laravel 5.4 в CSS мне пришлось добавить /public перед папкой /fonts чтобы она работала.

@font-face { font-family: OptimusPrinceps; src: url('/public/fonts/OptimusPrinceps.tff'); }

Чтобы добавить общедоступное ключевое слово, когда вы включаете пользовательский шрифт в laravel, добавьте следующее:

Предположим, что путь шрифта – css / fonts / proxima-nova-light-59f99460e7b28.otf в общедоступном каталоге, а затем использовать как

 @font-face { font-family: 'proxima-nova'; font-style: normal; font-weight: 900; src: url('../public/css/fonts/proxima-nova-light-59f99460e7b28.otf'); } 

Таким образом, вы можете использовать путь ../public/ + font в общедоступном каталоге. Если у вас есть какие-либо проблемы, пожалуйста, сообщите мне свой путь к шрифту. Я уточню вам путь для этого.