Не может служить файл шрифта - PullRequest
0 голосов
/ 06 января 2019

Я использую Node в качестве сервера и пытаюсь обработать файл шрифтов следующих расширений: woff2, woff, ttf. Я использую restify

var ServeFile = (folder: string, page: string, res: Restify.Response) => {
    let path:string = __dirname+"/"+folder+page;
    let MimeType: string | null = Mime.getType(path);
    if(!MimeType) MimeType = "";
    let body:string = fs.readFileSync(path, "utf8");
    // if(MimeType == "font/woff2"){
    //     MimeType = "application/font-woff2";
    // }
    if(MimeType.startsWith('image') || MimeType.startsWith('font') || MimeType.startsWith('application')){
        res.writeHead(200, {
            'Content-Length': Buffer.byteLength(body, "binary"),
            'Content-Type': MimeType
        });
        res.write(body,'binary');
    }else{
        res.writeHead(200, {
            'Content-Length': Buffer.byteLength(body, "utf8"),
            'Content-Type': MimeType
        });
        res.write(body);
    }
    res.end();
}

Когда я пытаюсь это сделать, chrome говорит, что не удалось декодировать загруженный шрифт.

Он также дал следующее предупреждение для каждого типа:

OTS parsing error: Failed to convert WOFF 2.0 font to SFNT
OTS parsing error: incorrect file size in WOFF header
OTS parsing error: FFTM: misaligned table

Что я делаю не так?

...