TL; DR: วิธีง่าย ๆ ที่จะพูดได้อย่างน่าเชื่อถือคือใช้ Consolas เป็นฟอนต์เริ่มต้น FreeMono สำหรับตัวละครที่ไม่สนับสนุนโดย Consolas และ Symbola สำหรับตัวละครที่ไม่สนับสนุน
เนื่องจากตัวอักษรการเขียนโปรแกรมหลักของฉันไม่ครอบคลุมสัญลักษณ์ทางคณิตศาสตร์ทั้งหมดที่ฉันต้องการฉันจึงเริ่มตั้งค่าตัวเลือกทางเลือกตามที่แสดงด้านล่าง:
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)
น่าเสียดายที่นี่เปลี่ยนฟอนต์สำหรับตัวละครบางตัวที่ฟอนต์หลักของฉันรองรับด้วยดังนั้นฉันจึงเปลี่ยนเป็น
(set-fontset-font t 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)
หากความเข้าใจของฉันถูกต้องสิ่งนี้ควรตรวจสอบให้แน่ใจว่าตัวละครที่ Consolas ไม่สามารถจัดการได้รับการจัดการโดย FreeMono เว้นแต่ว่า FreeMono จะไม่มีตัวละครเหล่านั้นในกรณีนี้พวกเขาควรจะแสดงโดยใช้ Symbola นอกจากนี้ยังเป็นความเข้าใจของฉันที่t
ทำเช่นเดียวกับ"fontset-default"
ข้างต้น
น่าเสียดายที่ยังมีบางกรณีที่ไม่ได้เลือกแบบอักษรที่ถูกต้อง ฉันพบว่าการเปลี่ยนเป็น
(set-fontset-font t 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "Symbola") nil 'append)
ทำงานได้ดีขึ้น แต่ไม่เสมอไป: การเปลี่ยนขนาดตัวอักษรโดยใช้
(set-face-attribute 'default nil :height some-size)
ทำให้การละเว้นทางเลือกถูกละเว้นเนื่องจากมีการสร้างชุดตัวอักษรใหม่
ทางออกปัจจุบันของฉันคือการทำ
(set-fontset-font fontset 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font fontset 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font fontset 'unicode (font-spec :name "Symbola") nil 'append)
ในแต่ละfontset-list
ชุดแบบอักษร( ) หลังจากเปลี่ยนขนาดแบบอักษรแล้ว
วิธีที่เหมาะสมในการตั้งค่าตัวเลือกทางเลือกคืออะไร
หมายเหตุ : สำหรับวัตถุประสงค์ในการทดสอบต่อไปนี้เป็นอักขระทางคณิตศาสตร์ไม่กี่ตัว: ℕ𝓟⧺×≠≥≤±¬∨∧∃∀λ⟿⟹⊥⊤⊢
การอ้างอิง : คู่มือ Emacs บนแบบอักษรและการปรับเปลี่ยนแบบอักษร
fontset
ในทางที่ผิด Emacs ไม่ได้ตรวจสอบอักขระทุกตัวที่แสดงว่าแบบอักษรรู้วิธีแสดงหรือไม่ นั่นจะเป็นการคำนวณที่เข้มข้นเกินไป ดังนั้นจึงไม่มีกลไก "ทางเลือก" ต่อการค้นหา คุณควรตั้งค่าแบบอักษรเริ่มต้นของคุณแล้วปรับเปลี่ยนชุดแบบอักษรเริ่มต้นด้วยตนเองในบางช่วงเพื่อแสดงโดยใช้แบบอักษรที่แตกต่างกัน ขั้นตอนนี้เป็นคู่มือหรืออาจunicode
จะช่วยให้แพคเกจ