#html #flask #fonts #weather
#HTML #колба #шрифты #Погода
Вопрос:
Я пытаюсь использовать здесь отлично выглядящие значки погоды Erik Flower, но я не могу заставить это работать. Я использую Flask, и структура папок выглядит следующим образом:
-static
-css
-fonts
-js
Я скопировал шрифты и файлы css в соответствующие папки выше. Я вставляю ссылку на файлы css следующим образом:
<link href="{{ url_for('.static', filename='css/weather-icons.min.css') }}" rel="stylesheet" media="screen">
И, похоже, все работает нормально, я могу перейти к файлу css при просмотре исходного кода страницы. Но когда я пытаюсь отобразить значки, как описано на странице github, вот так:
<i class="wi wi-day-sunny"></i>
Я просто получаю квадрат. Я предполагаю, что он не находит шрифты там, где он их ожидает, но шрифты начальной загрузки Twitter находятся в том же каталоге и, похоже, работают нормально (я вижу символы).
Я прошу прощения за то, что может быть глупой ошибкой.
Большое спасибо, Алекс
Комментарии:
1. Ваш браузер пытается загрузить шрифты? Если это произойдет, что произойдет? Это успешно или вы получаете 404?
Ответ №1:
Предполагая, что вы ничего не меняли в файле CSS, путь к файлам шрифтов указан неверно.
Bootstrap по умолчанию ожидает, что файл шрифта Glyphicons будет находиться в каталоге «font s«, но CSS для значков погоды ищет каталог «font» (обратите внимание на пропущенные «s»). Настройте CSS или скопируйте шрифты в правильный каталог.
Комментарии:
1. В этом и была проблема! Большое спасибо.
Ответ №2:
вам необходимо установить шрифт в вашей операционной системе в качестве используемого шрифта…
в Windows это означает, что поместите файл «weather icons regular.ttf» в папку fonts (вы можете легко добраться до него с панели управления).
после этого просто используйте шестнадцатеричные коды unicode для того, что вы хотите отобразить, и укажите виджету использовать установленный вами шрифт …. коды и ассоциации для различных погодных API находятся в папке «значения» папки «погода-значки-мастер» под weathericons.xml
для python 3.6
from tkinter.font import font
...
weather = Font(family="weather icons regular")
fontsize = 20
...
example = Button(master, text="uf01e,uf01e,u...", command=some_def)
example.configure(font=(weather, fontsize), fg="white", bg="black")
example.pack()
очевидно, что вы можете настроить шрифт и стиль виджета так, как вы хотите, чтобы они выглядели…
Комментарии:
1. Спасибо, но проблема в моем случае была такой, как описал Тисон Т. Мне просто нужно было превратить каталог «шрифт» в «шрифты».
2. да, я видел это … у меня были концептуальные проблемы с общим случаем, и я ходил по кругу, пока не понял, что мне не нужно создавать сопоставления unicode для python, чтобы правильно интерпретировать код ttf… Я подумал, что это может быть кому-то полезно… (может быть, только такие идиоты, как я)
3. обратите внимание, что отображение значений для кода day_200 в открытых записях карты погоды неверно… он указан как uf010, но должен быть uf01e