Значки погоды отображаются просто как квадраты

#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, Windows

для 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