Chrome и Firefox не отображают WOFF/TTF Font-Awesome, даже если они загружают их из HttpListener, тем не менее, Safari на iOS правильно выполняет Font-Awesome. Я посылаю ответ HTTP, используя класс HttpListener .NET, как показано ниже:Какое ContentEncoding используется для WOFF и TTF с ответом HttpListener?
private void Send(HttpListenerContext context, byte[] response, string contentType)
{
context.Response.StatusCode = (int)HttpStatusCode.OK;
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.ContentType = contentType;
context.Response.ContentLength64 = response.Length;
context.Response.AddHeader("Server", SERVER);
if (response == null || response.Length == 0)
{
logger.Error("Send: Engine generated null or empty content");
context.Response.StatusCode = (int)HttpStatusCode.NotFound;
return;
}
using (var s = context.Response.OutputStream)
{
s.Write(response, 0, response.Length);
}
}
Есть еще один тип кодировки (кроме UTF8) для WOFF? или есть что-то, о чем я должен заботиться в Chrome или Firefox?
Любая помощь или указатель оценили, спасибо.
Спасибо за ваше решение, но это не сработало для меня. Мои шрифты пока не отображаются. Chrome по-прежнему показывает «не удалось декодировать загруженный шрифт» – Vikrant
Что вы думаете об этом: у меня есть файлы woff, eot, ttf как «Embedded Resources» в моем проекте CS. Возможно ли, что .NET может преобразовывать эти файлы шрифтов в кодировку UTF-8 при преобразовании файла в «Встроенный ресурс», в то время как я получаю байты файлов шрифтов через метод 'assembly.GetManifestResourceStream'? – Vikrant