У моего пятилетнего Java-приложения возникли проблемы со шрифтами после того, как некоторые рабочие станции были обновлены до комбинации окон 10 и IE11.Проблема подробно описана с точки зрения Microsoft здесь .Существует несколько ресурсов, описывающих, как отключить эти настройки, но я хотел бы знать, существуют ли какие-либо межбраузерные решения, позволяющие использовать определенные шрифты с заблокированными веб-шрифтами.
Вот рекомендации Microsoftдва:
На каждом компьютере с установленным приложением щелкните правой кнопкой мыши имя шрифта и выберите «Установить».Шрифт должен автоматически установить в вашу директорию %windir%/Fonts
.Если этого не произойдет, вам нужно будет вручную скопировать файлы шрифтов в каталог Fonts и запустить установку оттуда.
Это относится к настольному приложению и не может быть выполнено с помощью Интернета.приложение.В любом случае, это не было бы удовлетворительным решением, так как оно требует активных действий по установке от каждого пользователя.
На каждом компьютере с установленным приложением откройте regedit.exe ...
Я даже не собираюсь включать остальные, поскольку у них те же проблемы, что и в последнем предложении решения.
Что я пробовал:
<link href='http://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.css' rel='stylesheet' type='text/css'>
не работает.Ссылочный файл css пытается загрузить шрифт со следующими строками:
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
импортирует один и тот же шрифт в разных форматах для поддержки разных браузеров.Я надеялся, что смогу продолжать использовать потрясающий шрифт, просто загрузив ресурсы и упаковав их в мой .war-файл.Но другой шрифт, для которого я использую этот подход, тоже не работает:
из моего custom-fonts.css:
@font-face {
font-family: 'Trim';
src: url('../../resources/fonts/TrimCompleteOT/Trim-Bold.woff') format('woff'),
url('../../resources/fonts/TrimCompleteOT/Trim-Bold.otf') format('opentype');
font-weight: 700;
}
Но даже упакованные шрифты внутри моего приложения не будут загружаться или отображаться.
Есть ли способ использовать пользовательские шрифты в веб-приложении Java, который не включает в себя отключение настроек безопасности или необходимость применять настройки (например, устанавливать шрифты) для каждого отдельного компьютера пользователя?
Примечание: все по-прежнему работает в Chrome на любой версии Windows, а также в IE11 на компьютерах, отличных от Windows10.