Loại MIME thích hợp cho phông chữ .woff2


279

Hôm nay tôi đã cập nhật gói Font Awesome lên 4.3.0 và nhận thấy rằng phông chữ woff2 đã được thêm vào. Tập tin đó được liên kết trong CSS nên tôi cần cấu hình nginx để phục vụ các tập tin woff2 đúng cách.

Hiện tại tôi có khối này trong cấu hình nginx cho phông chữ:

location ~* \.(otf|eot|woff|ttf)$ {
    types     {font/opentype otf;}
    types     {application/vnd.ms-fontobject eot;}
    types     {font/truetype ttf;}
    types     {application/font-woff woff;}
}

Loại mime thích hợp cho phông chữ woff2 là gì?


1
Đây là cách lưu trữ các tệp woff2 trong Apache: <IfModule mod_mime.c> AddType font/woff2 woff2<IfModule mod_expires.c> ExpiresActive On ExpiresByType font/woff2 "access plus 1 month". (Đóng thẻ và dòng mới bỏ qua.)
Chloe

Câu trả lời:


437

Trong IIS, bạn có thể khai báo loại mime cho các tệp phông chữ WOFF2 bằng cách thêm dòng sau vào web.config của dự án của bạn:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

Cập nhật : Loại mime có thể thay đổi theo thông số Dự thảo WOFF2 mới nhất của W3C Editor . Xem Phụ lục A: Internet Media Type Đăng ký doanh nghiệp phần 6.5. WOFF 2.0 trong đó nêu rõ định dạng đề xuất mới nhất làfont/woff2


6
Bây giờ các loại MIME trong IIS 10 đã hỗ trợ .woff2. Với IIS 10, bạn không cần thay đổi bất cứ điều gì trong web.config.
Kevin

7
Mục đích của <remove>thẻ phục vụ ở đây là gì? Nó dường như không được ghi lại trong tài liệu tham khảo IIS ( iis.net/configreference )
Pathogen

18
@Pathogen Đôi khi IIS ném lỗi nếu mimeMap đã tồn tại. Loại bỏ nó trước khi thêm nó sửa lỗi đó.
Allan

214

font/woff2

Đối với nginx thêm phần sau vào mime.typestệp:

font/woff2 woff2;


Câu trả lời cũ

Loại mime (đôi khi được viết là mimetype) cho phông chữ WOFF2 đã được đề xuất như application/font-woff2.

Ngoài ra, nếu bạn tham khảo thông số kỹ thuật ( http://dev.w3.org/webfonts/WOFF2/spec/ ) bạn sẽ thấy điều đó font/woff2đang được thảo luận. Tôi nghi ngờ rằng loại mime filal cho tất cả các phông chữ cuối cùng sẽ hợp lý hơn font/*( font/ttf, font/woff2v.v.) ...

NB WOFF2 vẫn ở trạng thái 'Bản nháp làm việc' - chưa được thông qua chính thức.


38
Điều này đã được cập nhật. Thông số kỹ thuật làm cho nó rất rõ ràng. Kiểu là phông chữ và kiểu con là woff2, tạo thành phông chữ / woff2. Đây cũng là những gì Google Fonts sử dụng.
Raivo Laanemets

Tôi vẫn không thể nhìn thấy bất cứ điều gì dứt khoát trong thông số kỹ thuật. Mặc dù họ nói về việc muốn giới thiệu một font/*loại cấp cao nhất. Tôi nghĩ rằng vì lợi ích của thông tin đầy đủ, tôi sẽ thêm nó vào câu trả lời của tôi.
atwright147

@ atwright147 các loại mime được bao phủ trong phụ lục A, đối với Woff2, đó là phần 6.5 của phụ lục A.
Richard

3
Cập nhật tháng 3 năm 2016: bây giờ đây là một đề xuất ứng cử viên và phông chữ / woff2 là mimetype w3.org/TR/WOFF2/#IMT
Chris F Carroll

36

Apache

Trong Apache, bạn có thể thêm woff2loại mime thông qua .htaccesstệp của mình như được nêu bởi liên kết này .

AddType  application/font-woff2  .woff2

IIS

Trong IIS, chỉ cần thêm mimeMapthẻ sau vào web.configtệp của bạn bên trong staticContentthẻ.

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />

những gì vềapplication/x-font-woff2
Nerdroid

1
Hey @Moes :) Về mặt hình thức, đây application/x-font-woff2là loại cũ khi woff2 còn rất mới. Các W3C Spec tại khuyến cáo sử dụng application/font-woff2kể từ khi được hỗ trợ rộng rãi. Nếu bạn sau khi tương thích ngược, vui lòng bao gồm x-font-woff2.
Fizzix

Trong IIS, hãy cẩn thận để xóa mọi mục mở rộng được xác định trước đó trong trường hợp chúng được xác định ở một nơi khác trong máy chủ. Điều này sẽ cung cấp cho bạn những lỗi rất khó hiểu nếu bạn gặp phải nó! <remove fileExtension=".woff2" />và sau đó xác định nó như trên :)
jocull

Lưu ý rằng đề xuất và cũng có thể được chấp nhận nhất là font / woff2
Syakur Rahman

1
Các khuyến cáo của W3C cho WOFF File Format 2.0 hiện nay khuyên bạn sử dụng font/woff2như các loại MIME nhưng danh sách IANA của các loại phương tiện truyền thông chính thức không (chưa) bao gồm WOFF2.
Anthony Geoghegan

17

http://dev.w3.org/webfonts/WOFF2/spec/#IMT

Có vẻ như w3c đã chuyển nó sang font/woff2

Tôi thấy có một số cuộc thảo luận về loại mime thích hợp. Trong liên kết chúng tôi đọc:

Tài liệu này xác định loại "phông chữ" MIME cấp cao nhất ...

... các kiểu con IANA được xác định chính thức, chẳng hạn như "application / font-woff" ...

Các thành viên của W3C WebFonts WG tin rằng việc sử dụng loại cấp cao nhất của "ứng dụng" là không lý tưởng.

và sau đó

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

Vì vậy, mệnh đề từ W3C khác với IANA.

Chúng ta có thể thấy rằng nó cũng khác với loại woff: http://dev.w3.org/webfonts/WOFF/spec/#IMT nơi chúng ta đọc:

Type name:

    application
Subtype name:

    font-woff

đó là

application/font-woff

http://www.w3.org/TR/WOFF/#appcill-b


1
Tôi không thấy bất cứ điều gì trên trang đó để đề nghị rằng nó đã được thay đổi để font/woff2bạn có thể bình tĩnh không?
atwright147

Có lẽ tôi đã hiểu sai về nó. Ý tôi là Phụ lục A, '6.5. WOFF 2.0 '
tưởng tượng

1
Không thể tưởng tượng rằng điều này được hạ cấp. Thông số kỹ thuật làm cho nó rất rõ ràng. Kiểu là phông chữ và kiểu con là woff2, tạo thành phông chữ / woff2. Đây cũng là những gì Google Fonts sử dụng.
Raivo Laanemets

2
Tôi đã ủng hộ điều này ban đầu nhưng và nghĩ rằng tôi có thể nhận được một bài đăng trên blog này. Vì bài đăng này là nội tuyến với thông số WOFF2 nhưng đó vẫn là Bản nháp hoạt động và chưa được chuyển đến Trạng thái đề xuất . Điều này có nghĩa là woff2 về mặt kỹ thuật không có mime vì font/woff2nó không hợp lệ cho đến khi được phê duyệt nhưng tài liệu đặc tả đã thu hồi chứng thực application/font-woff2khiến chúng tôi không có ai chính thức. Vì vậy, tôi nghĩ rằng tại thời điểm này tôi sẽ sử dụng application/font-woff2.
rtpHarry

2
@rtpHarry Trước đây tôi đã nêu lên cả câu trả lời này và nhận xét của bạn. Kể từ tháng 2 năm 2017, W3C đã xuất bản RFC 8081 theo dõi tiêu chuẩn , làm cho font/woff2loại phương tiện truyền thông chính thức. Xem stackoverflow.com/a/43321601/1640661
Anthony Geoghegan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.