Làm cách nào để nhúng phông chữ vào HTML?


80

Tôi đang cố gắng tìm ra một giải pháp phù hợp (đặc biệt là từ phía SEO) để nhúng phông chữ vào các trang web. Cho đến nay tôi đã thấy giải pháp W3C , giải pháp này thậm chí không hoạt động trên Firefox và giải pháp này khá hay . Giải pháp thứ hai chỉ dành cho tiêu đề. Có một giải pháp có sẵn cho toàn văn không? Tôi mệt mỏi với các phông chữ tiêu chuẩn cho các trang web.

Cảm ơn!



có thể trùng lặp của Fonts trên Web
user2284570

2
@ user2284570 Câu hỏi này có câu trả lời hay hơn. Tôi đã đóng cái kia như một bản sao của cái này.
Madara's Ghost,

Bất kỳ câu trả lời cập nhật cho câu hỏi này? Tất cả các câu trả lời đều có tuổi đời hơn nửa thập kỷ. Ngoài ra, tôi không thể tìm thấy tài liệu tham khảo trên MDN nếu có ai biết.
1,21 gigawatt vào

Vui lòng cung cấp câu trả lời cập nhật và giúp đỡ Thế giới. Tôi đã không tự làm HTML kể từ năm 2011
Dan Rosenstark

Câu trả lời:


134

Mọi thứ đã thay đổi kể từ khi câu hỏi này ban đầu được hỏi và trả lời. Có một lượng lớn công việc được thực hiện về việc nhúng phông chữ trên nhiều trình duyệt để nội dung văn bản hoạt động bằng cách sử dụng nhúng @ font-face.

Paul Irish đã tập hợp cú pháp Bulletproof @ font-face kết hợp các nỗ lực từ nhiều người khác. Nếu bạn thực sự xem qua toàn bộ bài viết (không chỉ phần trên cùng), nó cho phép một câu lệnh @ font-face duy nhất bao gồm IE, Firefox, Safari, Opera, Chrome và có thể cả những người khác. Về cơ bản, điều này có thể cung cấp OTF, EOT, SVG và WOFF theo những cách không phá vỡ bất cứ điều gì.

Trích từ bài báo của anh ấy:

@font-face {
  font-family: 'Graublau Web';
  src: url('GraublauWeb.eot');
  src: local('Graublau Web Regular'), local('Graublau Web'),
    url("GraublauWeb.woff") format("woff"),
    url("GraublauWeb.otf") format("opentype"),
    url("GraublauWeb.svg#grablau") format("svg");
}

Làm việc từ cơ sở đó, Font Squirrel kết hợp nhiều công cụ hữu ích bao gồm @ font-face Generator cho phép bạn tải lên tệp TTF hoặc OTF và nhận các tệp phông chữ được chuyển đổi tự động cho các loại khác, cùng với CSS được tạo sẵn và một trang HTML demo. Font Squirrel cũng có hàng trăm bộ dụng cụ @ font-face .

Soma Design cũng tập hợp FontFriend Bookmarklet , giúp xác định lại phông chữ trên trang một cách nhanh chóng để bạn có thể thử mọi thứ. Nó bao gồm hỗ trợ kéo và thả @ font-face trong FireFox 3.6+.

Gần đây hơn, Google đã bắt đầu cung cấp Phông chữ web của Google , một loại phông chữ có sẵn theo giấy phép Nguồn mở và được cung cấp từ các máy chủ của Google.

Giới hạn Giấy phép

Cuối cùng, WebFonts.info đã tổng hợp một danh sách các Phông chữ đẹp trên wiki'd có sẵn để nhúng @ font-face dựa trên giấy phép. Nó không được coi là một danh sách đầy đủ, nhưng các phông chữ trên đó sẽ có sẵn (có thể kèm theo các điều kiện như ghi nhận tác giả trong tệp CSS) để nhúng / liên kết. Điều quan trọng là phải đọc giấy phép , bởi vì có một số hạn chế không được đẩy lên rõ ràng về tải xuống phông chữ.


11
Tôi nghĩ cần phải nhấn mạnh rằng bạn không được phép tự động sử dụng một phông chữ và @ font-face-ize nó ngay cả khi bạn đã mua bản quyền phông chữ đó một cách hợp pháp và với giá rất nhiều tiền. Bạn cần kiểm tra giấy phép của phông chữ để biết loại phân phối lại điện tử đó có được phép hay không. Các hành vi vi phạm rất dễ bị phát hiện và rà soát vì vậy có thể dễ dàng gặp rắc rối nếu không, đặc biệt nếu bạn là một công ty có thẩm quyền.
Pekka

FontSquirrel làm rõ điều này trên cả bộ phông chữ được tạo sẵn và trong trình tạo của nó (yêu cầu bạn xác minh rằng các phông chữ thực sự được cấp phép để sử dụng như vậy). Ngoài ra còn có các công cụ chuyển đổi khác, nhưng tôi không biết công cụ nào có ý nghĩa về việc cấp phép.
cột hàng rào

Công cụ hấp dẫn. Vì tò mò, làm thế nào bạn đến được bài đăng này? Có nhiều câu trả lời trong cùng một ngày và một số nhận xét về câu trả lời của bạn. +1 ...
Dan Rosenstark

1
Tôi không nhớ mình đã hoàn thành nó như thế nào - có lẽ là tìm kiếm phông chữ HTML, nhưng tôi đã trả lời vì tôi đang làm việc này cho một khách hàng ngay trước Giáng sinh nên thông tin rất mới. Tôi cho rằng Pekka coi đó là hoạt động mới trên một bài đăng cũ; Tôi không biết hệ thống có gắn cờ cố gắng đăng nhiều liên kết hay không (tôi biết ban đầu nó bị chặn) nhưng tôi nhận ra có thể là trường hợp "hãy kiểm tra điều này để chắc chắn rằng đó không phải là ai đó đang gửi thư rác".
cột hàng rào

@Pekka "vi phạm rất dễ bị phát hiện và dò tìm" ... bạn có thể cho tôi biết một chút được không ... việc phát hiện và rà soát này sẽ được thực hiện như thế nào và nó sẽ xảy ra trong trường hợp nào?
Dan Rosenstark

9

Hãy thử Facetype.js , bạn chuyển đổi phông chữ .TTF của mình thành một tệp Javascript. Tương thích hoàn toàn với SEO, hỗ trợ FF, IE6 và Safari và giảm chất lượng trên các trình duyệt khác.


2
Đối với những người thắc mắc về cách hoạt động, nó sử dụng thẻ canvas (html 5) hoặc VML.
Chris S

1
Tôi sẽ phải đồng ý với giải pháp này, nó trông cực kỳ đơn giản và dường như hoạt động trên mọi trình duyệt mà tôi sử dụng.
askon

1
Liên kết này đã chết.
aleclarson,

6

Không, không có giải pháp phù hợp cho loại cơ thể, trừ khi bạn sẵn sàng chỉ phục vụ những người có trình duyệt vượt trội.

Microsoft có WEFT , công nghệ nhúng phông chữ độc quyền của họ, nhưng tôi đã không nghe nó nói về nó trong nhiều năm và tôi không biết ai sử dụng nó.

Tôi nhận được bằng sIFR cho loại hiển thị (tiêu đề, tiêu đề của bài đăng trên blog, v.v.) và sử dụng một trong những phông chữ an toàn trên web ít bị mòn cho loại nội dung (như Trebuchet MS). Nếu bạn cảm thấy nhàm chán với tất cả các phông chữ an toàn cho web, có thể bạn đang định nghĩa thuật ngữ này quá hạn hẹp - hãy nhìn vào ma trận phông chữ cổ phiếu này đi kèm với các hệ điều hành chính và rất có thể bạn sẽ tìm thấy một dòng phông chữ phù hợp thu hút gần như tất cả người dùng web.

Ví dụ: font-family: "Lucida Grande", "Verdana", sans-seriflà một tầng phông chữ chung; OS X đi kèm với Lucida Grande, nhưng những người dùng Windows sẽ nhận được Verdana, một phông chữ an toàn trên web với các chữ cái có kích thước và hình dạng tương tự như Lucida Grande. Người dùng Linux cũng sẽ nhận được Verdana nếu họ đã cài đặt gói phông chữ an toàn cho web tồn tại trong hầu hết các trình quản lý gói của bản phân phối, nếu không họ sẽ trở lại sans-serif bình thường.


2
Hãy để tôi đứng trên hộp xà phòng trong một phút: mặc dù tôi ước Windows có nhiều phông chữ "tốt" hơn (OS X có những thành công lớn nhất trong lịch sử typography: Futura, Helvetica, Gill Sans, v.v.), nhưng đó là một điều tốt mà chúng tôi có để hạn chế bản thân khi chọn phông chữ. Tự do cũng có thể được sử dụng cho điều xấu.
savetheclocktower

Không có bình luận về nhận xét của bạn, nhưng cảm ơn vì câu trả lời. Thật tuyệt. Có danh sách các thác ở đâu đó không? Cảm ơn một lần nữa.
Dan Rosenstark

Đây là một danh sách: ( ampsoft.net/webdesign-l/WindowsMacFonts.html ). Nó thận trọng, chỉ liệt kê các phông chữ giống hệt nhau (hoặc gần như vậy) trên các nền tảng. Bạn có thể phải so sánh để xem phông chữ "an toàn" nào giống phông chữ "rủi ro" của bạn nhất.
savetheclocktower

(Oh, cũng:. Luôn luôn chỉ định một dự phòng chung - sans-serif, serif, hoặc monospace Bằng cách đó, nó sẽ ít nhất là trong sân chơi bóng chày, nên người dùng có none các phông chữ của bạn yêu cầu.)
savetheclocktower

1
Hầu hết người dùng truy cập vào các trang web mà tôi làm việc vẫn sử dụng IE6 (những kẻ khốn nạn đó) Vì vậy, từ quan điểm đó, tôi coi các phiên bản chính mới nhất là rất khó.
Gene

4

Và nó cũng không chắc - EOT là một định dạng khá hạn chế chỉ được hỗ trợ bởi IE. Cả Safari 3.1 và Firefox 3.1 (cũng là alpha hiện tại) và có thể cả Opera 9.6 đều hỗ trợ nhúng phông chữ true type (ttf) và ít nhất Safari hỗ trợ phông chữ SVG thông qua cùng một cơ chế. Một danh sách khác đã có một cuộc thảo luận tốt về điều này một thời gian trở lại .


3

Kiểm tra Typekit , một tùy chọn thương mại (họ cũng có gói miễn phí).

Nó sử dụng các kỹ thuật khác nhau tùy thuộc vào trình duyệt đang được sử dụng ( @font-faceso với EOTđịnh dạng) và họ cũng xử lý tất cả các vấn đề cấp phép phông chữ cho bạn. Nó hỗ trợ mọi thứ cho đến IE6.

Dưới đây là một số thông tin thêm về cách Typekit hoạt động:


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.