TL; DR: Güvenilir bir şekilde söylemenin basit yolu nedir: varsayılan yazı tipi olarak Consolas, Consolas tarafından desteklenmeyen karakterler için FreeMono ve her ikisi tarafından desteklenmeyen karakterler için Symbola kullanın?
Ana programlama yazı tipim ihtiyacım olan tüm matematiksel sembolleri kapsamadığından, başlangıçta yazı tipi yedeğini aşağıda gösterildiği gibi ayarladım:
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)
Ne yazık ki bu, ana yazı tipimin desteklediği bazı karakterlerin yazı tipini de değiştirdi, bu yüzden onu
(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)
Anlayışım doğruysa, bu, Consolas'ın işleyemediği karakterlerin, FreeMono'da yoksa, FreeMono tarafından ele alınmasını sağlamalıdır, bu durumda Symbola kullanılarak gösterilmelidir. Benim anlayışım t
da "fontset-default"
yukarıdaki ile aynıdır .
Ne yazık ki, hala doğru yazı tipinin seçilmediği durumlar vardı; Bunu değiştirerek buldum
(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)
daha iyi çalıştı, ancak her zaman değil: kullanarak yazı tipi boyutunu değiştirme
(set-face-attribute 'default nil :height some-size)
yeni yazı tiplerinin oluşturulması nedeniyle yedeklerin yok sayılmasına neden oldu.
Şu anki çözümüm
(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
her yazı tipi boyutu değişikliğinden sonra her yazı tipinde ( ).
Yazı tipi yedeklemesini ayarlamanın doğru yolu nedir?
Not : test amacıyla birkaç matematik karakteri aşağıda verilmiştir: ℕ𝓟⧺×≠≥≤±¬∨∧∃∀λ⟿⟹⊥⊤⊢
Referanslar : Yazı tiplerinde ve yazı tiplerinde değişiklik yapma emacs kılavuzu
fontset
Yanlış şekilde düşünüyorsun . Emacs, bir yazı tipinin nasıl görüntülenip görüntülenmeyeceğini bildiği her karakteri kontrol etmez. Bu, hesaplama açısından çok yoğun olurdu. Yani kendi başına "geri dönüş" mekanizması yoktur. Varsayılan yazı tipinizi ayarlamanız ve ardından farklı yazı tiplerini kullanarak görüntülemek için belirli aralıklarda varsayılan yazı tipini el ile değiştirmeniz gerekir. Bu prosedür manueldir veya paket size unicode
yardımcı olabilir.