@font-face в rails 4.0 с sass url не найден для пользовательских шрифтов - программирование
Подтвердить что ты не робот

@font-face в rails 4.0 с sass url не найден для пользовательских шрифтов

Привет всем в моем проекте rails я пытаюсь использовать пользовательские шрифты, кроме того, есть много ответов, связанных с этим вопросом, я следил за этим ответом, который не помогает редактировать development.rb file

# Add the fonts path
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

# Precompile additional assets
config.assets.precompile += %w( .svg .eot .woff .ttf )

пока он показывает No route matches [GET] "/assets/chalkduster-webfont.woff"

и я установил url как

@font-face {
   font-family: 'chalkdusterregular';
    src: url('chalkduster-webfont.eot');
    src:url('chalkduster-webfont.svg#chalkdusterregular') format('svg'), 
    url('chalkduster-webfont.eot?#iefix') format('embedded-opentype'),
         url('chalkduster-webfont.woff') format('woff'),
         url('chalkduster-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

больше, чем пытались font_path('') внутри источника, а также font-url() он никогда не работает..: (

4b9b3361

Ответ 1

Попробуйте asset-url(). Работает для меня.

@font-face {
   font-family: 'chalkdusterregular';
    src: asset-url('chalkduster-webfont.eot');
    src: asset-url('chalkduster-webfont.svg#chalkdusterregular') format('svg'), 
         asset-url('chalkduster-webfont.eot?#iefix') format('embedded-opentype'),
         asset-url('chalkduster-webfont.woff') format('woff'),
         asset-url('chalkduster-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

Кроме того, я добавляю только путь шрифтов и прекомпиляцию дополнительных ресурсов в config/environment/production.rb

# Add the fonts path
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

# Precompile additional assets
config.assets.precompile += %w( .svg .eot .woff .ttf )

Не нужно добавлять в config/environment/development.rb, поскольку asset-url работает немного волшебным.

Ответ 2

Я нашел альтернативу, более удобную для реализации не требуемого импорта, и это: Вы можете преобразовать файл шрифта в текстовый файл базы 64. Убедитесь, что вы проверили выбор Base64 encode введите описание изображения здесь

затем нажмите конвертировать и загрузить ZIP файл, который генерирует страницу. Внутри .zip файла откройте файл .css, и вы увидите код, который вам нужен. введите описание изображения здесь


Я пытаюсь реализовать решение jverban, но для меня это не работает.

Затем я нашел туто, где объясняю два способа сделать это, щелкнуть для открытия тату

и я попробую второе решение (способ хакера). и единственное, что нужно сделать, - это перемещать папку шрифтов внутри таблицы app/assets/stylesheets. (я хочу, чтобы вы поместили все шрифты внутри папки с именем fonts)

то в файле css o scss вы можете сделать это с помощью этого кода.

@font-face {
    font-family: 'GoodDDC';
    src: url(asset_path("fonts/GOODDC.ttf"));
}

ссылка на ресурс_path на рельсах в папке app/assets/stylesheets

папка дерева выглядит как

app/assets/stylesheets/fonts/yourfont.ttf (wof, etc)