มีวิธีการตั้งค่าแบบอักษรเริ่มต้น * * * * * * * * monospace ใน Safari?


11

ฉันมีเว็บแอปพลิเคชันที่ใช้ฟอนต์ monospace เริ่มต้นของเบราว์เซอร์ มีการตั้งค่าวิธีนั้นเพื่อให้ผู้ใช้สามารถเลือกได้เอง ใน Chrome สิ่งนี้ใช้ได้ดีเนื่องจากตั้งค่าฟอนต์เริ่มต้นได้ง่าย แต่ใน Safari พวกมันจะลบตัวเลือกออก

มีวิธีให้ผู้ใช้ตั้งค่าฟอนต์เริ่มต้นใน Safari หรือไม่?

คำตอบ:


2

ตั้งแต่ Safari 12 ตัวเลือกทั้งหมดสำหรับการทำเช่นนั้นได้ถูกลบออก:

  • พาเนลลักษณะที่ปรากฏ (ยาว) หายไป
  • defaultsคีย์มีความเคารพนับถือไม่
  • @font-faceคำจำกัดความของCSS ถูก จำกัด อยู่ในรายการที่อนุญาตของlocal()ค่าในตัวโดยไม่สนใจแบบอักษรอื่น ๆ ที่ติดตั้งบนระบบซึ่งเป็นส่วนหนึ่งของแพคเกจที่กว้างขวางของมาตรการป้องกันลายนิ้วมือ

นำมารวมกันที่นี้หมายถึงมีวิธีการเปลี่ยนค่าเริ่มต้นห่างจากไทม์ไม่มีserif, Helvetica สำหรับsans-serifและ Courier monospaceสำหรับ


สิ่งเดียวที่คุณยังสามารถทำได้คือสร้างสไตล์ชีทของผู้ใช้เพื่อกำหนดสไตล์องค์ประกอบต่างๆโดยตรง ตัวอย่างเช่นคุณสามารถเปลี่ยนตระกูลฟอนต์เริ่มต้นserifเป็นsans-serif:

body { font-family: sans-serif }

หรือคุณยังสามารถตั้งชื่อฟอนต์ที่ไม่ใช่ระบบเฉพาะที่ติดตั้งไว้ภายในเครื่อง:

body { font-family: 'Open Sans' }

น่าเสียดายในขณะที่วิธีนี้ใช้งานได้ดีพอสมควรสำหรับการเปลี่ยนแบบอักษรของเอกสารเริ่มต้น แต่ก็มีความซับซ้อนในการใช้วิธีการเดียวกันในการปรับเปลี่ยนองค์ประกอบทุกอย่างที่มีค่าเริ่มต้นเป็นแบบอักษร monospace ผมไม่แน่ใจว่า CSS แม้อย่างเต็มที่สามารถเลียนแบบพฤติกรรมเริ่มต้นสำหรับองค์ประกอบต่างๆที่ทั้งหมด - ในขณะที่มันเคยเป็นเรื่องง่ายที่จะทำเช่นนั้นโดยใช้อย่างใดอย่างหนึ่งdefaultsหรือสไตล์ผู้ใช้ที่มี@font-faceกฎmonospace(ซึ่งก็นิยามใหม่สิ่งที่monospaceหมายโดยไม่ต้องสัมผัสเริ่มต้นจัดแต่งทรงผมตัวเอง และอนุญาตให้พฤติกรรมเริ่มต้นจะใช้กับแบบอักษรอื่นนั้น)

ฉันไม่ชอบอ่านชุดข้อความจำนวนมากใน Courier ดังนั้นดูเหมือนว่าในอนาคตฉันจะต้องใช้เบราว์เซอร์อื่นเพื่ออ่านRFC ...


ขอบคุณสำหรับการอัปเดตอริสโตเติล แม้ว่าคำตอบของ Lri นั้นดีมาก แต่ก็ยังไม่ดีนักดังนั้นฉันจึงย้ายคำตอบไปยังผู้เข้าชมในอนาคตเพื่อรับข้อมูลล่าสุด
Carl Smith

ขอบคุณ ใช่ฉันใช้คำตอบของ Lri มาหลายปี น่าเสียดายที่เพลงหยุดลงแล้ว มัน ... น่าเศร้าที่จะพูดน้อย แต่นั่นเป็นวิธี
อริสโตเติล Pagaltzis

12

ข้อมูลต่อไปนี้ถูกต้องเมื่อมีการโพสต์ แต่ตอนนี้ใช้ได้เฉพาะกับ Safari รุ่นที่ล้าสมัยเท่านั้น


ไม่มีการกำหนดค่าตามความชอบสำหรับการเปลี่ยนแบบอักษรและขนาดแบบอักษรเริ่มต้น:

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

อีกตัวเลือกหนึ่งคือการแก้ไขไฟล์ CSS ที่กำหนดสไตล์เริ่มต้น (ดูในการ ตั้งค่า> ขั้นสูง> สไตล์ชีท ) เพิ่มบางอย่างเช่นนี้:

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

กฎนั้นทำให้องค์ประกอบใด ๆ ที่ใช้font-family: monospace(เช่นเดียวกับองค์ประกอบที่ชอบ<pre>และ<code>โดยค่าเริ่มต้น) ใช้ Menlo เพียงแค่เปลี่ยนชื่อตัวอักษร (ระวังให้คำพูดที่ล้อมรอบ) เป็นสิ่งที่คุณต้องการ


1
ทันใดนั้นมันไม่สามารถใช้งานกับแบบอักษรเพิ่มเติมที่ติดตั้งผ่าน Font Book บน Mojave (10.14.2)
Ilya Vassilevsky

ดู Aristotle Pagaltzis คำตอบใหม่ (ด้านบน) มันไม่ได้เป็นข่าวที่ดี
Carl Smith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.