Có cách nào để đặt phông chữ đơn cách * mặc định * trong Safari không?


11

Tôi có một ứng dụng web sử dụng phông chữ đơn cách mặc định của trình duyệt. Nó được thiết lập theo cách đó để người dùng có thể tự chọn. Trong Chrome, điều này hoạt động tốt, vì thật dễ dàng để đặt phông chữ mặc định, nhưng trong Safari, họ đã xóa tùy chọn này.

Có cách nào để người dùng đặt phông chữ mặc định trong Safari không?

Câu trả lời:


2

Kể từ Safari 12, tất cả các tùy chọn để làm như vậy đã bị xóa:

  • Bảng điều khiển Giao diện đã (dài) biến mất
  • Các defaultsphím không còn được tôn trọng
  • Các @font-faceđịnh nghĩa CSS được giới hạn trong danh sách trắng các local()giá trị tích hợp, bỏ qua mọi phông chữ khác được cài đặt trên hệ thống, là một phần của một gói rộng các biện pháp chống dấu vân tay

Được kết hợp với nhau, điều này có nghĩa là không có cách nào để thay đổi mặc định từ Times for serif, Helvetica cho sans-serifvà Courier cho monospace.


Điều duy nhất bạn vẫn có thể làm là tạo biểu định kiểu người dùng để định kiểu trực tiếp các yếu tố khác nhau. Vì vậy, ví dụ bạn có thể thay đổi họ phông chữ mặc định từ serifthành sans-serif:

body { font-family: sans-serif }

Hoặc thậm chí bạn vẫn có thể đặt tên cho các phông chữ không phải là hệ thống được cài đặt cục bộ:

body { font-family: 'Open Sans' }

Thật không may, mặc dù điều này hoạt động khá tốt để thay đổi phông chữ tài liệu mặc định, nhưng thật phức tạp khi sử dụng cùng một cách tiếp cận để sắp xếp lại mọi phần tử mặc định thành phông chữ đơn cách. Tôi không chắc CSS thậm chí có thể mô phỏng hoàn toàn hành vi mặc định cho các phần tử như vậy - trong khi trước đây nó dễ thực hiện bằng cách sử dụng một defaultshoặc một biểu định kiểu người dùng với một @font-facequy tắc monospace(chỉ đơn giản là xác định lại monospaceý nghĩa của nó mà không cần chạm vào kiểu dáng mặc định, và vì vậy cho phép hành vi mặc định áp dụng cho phông chữ khác đó).

Tôi viscerally không thích đọc một lượng lớn bộ văn bản trong Courier, vì vậy nó trông như thế nào trong tương lai tôi sẽ phải sử dụng một trình duyệt khác để đọc RFC ...


Cảm ơn đã cập nhật, Aristotle. Mặc dù câu trả lời của Lri rất hay, nhưng nó không có tuổi, vì vậy tôi đã chuyển séc sang câu trả lời của bạn để hướng khách truy cập trong tương lai đến thông tin mới nhất.
Carl Smith

Cảm ơn. Vâng, tôi đã sử dụng câu trả lời của Lri trong nhiều năm; Thật không may, âm nhạc bây giờ đã dừng lại. Thật đáng tiếc, phải nói là ít nhất, nhưng đó là như thế.
Aristotle Pagaltzis

12

Thông tin sau đây là chính xác khi được đăng, nhưng hiện tại chỉ áp dụng cho các phiên bản Safari lỗi thời.


Có các tùy chọn không được hiển thị để thay đổi phông chữ và kích thước phông chữ mặc định:

defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14

Một tùy chọn khác là chỉnh sửa tệp CSS xác định kiểu mặc định (xem trong Tùy chọn> Nâng cao> Biểu định kiểu ), ví dụ như thêm một cái gì đó như thế này:

@font-face {
   font-family: monospace;
   src: local('Menlo');
}

Quy tắc đó làm cho bất kỳ yếu tố nào sử dụng font-family: monospace(cũng như các yếu tố như <pre><code>theo mặc định) sử dụng Menlo. Chỉ cần thay đổi tên phông chữ (cẩn thận để giữ dấu ngoặc kép) thành bất cứ điều gì bạn thích.


1
Đột nhiên, nó không hoạt động đối với các phông chữ bổ sung được cài đặt qua Sách Sách trên Mojave (10.14.2)
Ilya Vassilevsky

Xem câu trả lời mới của Aristotle Pagaltzis (ở trên). Đó không phải là tin tuyệt vời.
Carl Smith
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.