TL; DR : 확실하게 말하는 간단한 방법은 무엇입니까 : 기본 글꼴로 Consolas를 사용하고 Consolas가 지원하지 않는 문자에 대해서는 FreeMono를, 두 가지 모두 지원하지 않는 문자에 대해서는 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)
이해가 정확하다면, FreeMono가없는 경우가 아니라면 Consolas가 처리 할 수없는 문자를 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
가 도움이 될 수 있습니다.