2014-04-13 15 views
18

Tôi đang xem mã nguồn của dự án có phông chữ được cấp phép từ myfonts.com được sử dụng.Phông chữ web được cấp phép được hiển thị như thế nào?

Các tập tin css chứa này -

/* @import must be at top of file, otherwise CSS will not work */ 
    @import url("//hello.myfonts.net/count/123d4d"); 

    @font-face { 
    font-family: 'SoliPx'; 
    src: url('webfonts/123D4D_1_0.eot'); 
    src: url('webfonts/123D4D_1_0.eot?#iefix') format('embedded-opentype'),url('webfonts/123D4D_1_0.woff') format('woff'),url('webfonts/123D4D_1_0.ttf') format('truetype'); 
} 

Và như đã đề cập trong các url nguồn - có EOT, WOFF, các file ttf trong phông chữ web địa phương thư mục của dự án.

Tôi biết cách hoạt động của @ phông chữ và webfonts nói chung.

Nhưng trong trường hợp ở trên nơi phông chữ được cấp phép/thương mại được sử dụng, tôi không thấy bất kỳ tệp phông chữ nào được tải xuống trong Công cụ tìm kiếm, nhưng văn bản được hiển thị bằng phông chữ được chỉ định.

Có một yêu cầu ròng đến hello.myfonts.net/count/123d4d với trạng thái 200 và phản hồi content-type của "văn bản/css" nhưng không có gì trong nội dung phản hồi.

Điều gì đang xảy ra trong nội bộ? Làm thế nào điều này đang làm việc?

+0

Câu hỏi này có vẻ ngoài chủ đề vì đó là về cấp phép. –

+5

@ JukkaK.Korpela - Vui lòng đọc câu hỏi của tôi - chỉ muốn biết cách phông chữ được hiển thị, cách các tệp phông được che dấu và không phải về các điều khoản cấp phép –

+0

Tôi nghĩ bạn đã hiểu nhầm cách hoạt động của @ phông chữ - tại) tuyên bố phông chữ là những gì làm cho phông chữ web bằng cách tải các tệp được chỉ định. Nếu bạn không thấy chúng được tải xuống thì có một số khả năng - trước tiên chúng được lưu trong bộ nhớ cache (nên vẫn hiển thị) hoặc bạn có cùng một phông chữ được cài đặt cục bộ trong trường hợp trình duyệt chỉ sử dụng nó. Nhập (at) không ảnh hưởng đến việc hiển thị phông chữ, nó sẽ không hoạt động nếu nó không nằm ở đầu tệp để đăng ký lần truy cập trang cho phông chữ của bạn. – Mark

Trả lời

30

tôi đã xử lý với điều này trước đây, và đây là những gì mà tập tin nhập khẩu thực hiện:

  1. As far as thực tải phông chữ, nó không làm gì. Tôi đã để nó ra trước (trong khi thử nghiệm) và các phông chữ tải tốt từ máy chủ của tôi.

  2. Nó đếm số lần tệp được nhập bởi CSS của bạn (do đó, /count/ trong URL). Nếu bạn đọc giấy phép webfont của myfonts.com, hầu hết các webfont đều có giới hạn lượt xem trang hàng tháng. Nếu bạn vượt qua giới hạn đó, myfonts sẽ muốn tính phí lại tài khoản của bạn hoặc đề xuất bạn mua giấy phép mới với giới hạn cao hơn.

Vì vậy, những gì chúng tôi thực sự có ở đây là điểm cuối API trả về tệp CSS trống. Mỗi khi tệp CSS được tải, myfonts sẽ thêm +1 vào số lượt xem trang hàng tháng vào tài khoản tương ứng với băm ở cuối, trong trường hợp của bạn là 123d4d.

Một lần nữa, nó không liên quan gì đến việc tự tải phông chữ. Bạn có các tệp trên máy chủ của mình và chúng sẽ tải khi được tham chiếu — dừng hoàn toàn.

+3

Vì vậy, nhận xét trong tệp CSS từ MyFonts nêu rõ '@port phải ở đầu tệp, nếu không CSS sẽ không hoạt động' (tham chiếu đến tập lệnh đếm) không thực sự đúng? Họ chỉ là bluffing để đảm bảo rằng bạn đếm quan điểm của bạn? –

+16

Về mặt kỹ thuật, không chính xác. Nó sẽ hoạt động, nhưng họ muốn mọi người đưa nó vào các lần xem trang chính xác. Một cách tiếp cận đạo đức là tải URL hello.myfonts.net đó _asynchronously_ qua Javascript.Bằng cách này, MyFonts vẫn nhận được số lần xem trang của họ và toàn bộ biểu định kiểu của bạn không bị chặn bởi URI của trang (!). –

+6

+1. Tốt bắt @TristanZimmerman. Tôi đã thử nghiệm trang web của mình trên các mạng chậm hơn và nhận thấy rằng quá trình nhập đang ngăn toàn bộ trang hiển thị. Không hiểu tại sao myfonts.net quan tâm đến lượt xem trang. Tôi đã trả tiền cho phông chữ. –

Các vấn đề liên quan