Emacs में फ़ॉन्ट आकार कैसे सेट करें?



Answers

Emacswiki , जीएनयू Emacs 23 में एक अंतर्निहित कुंजी संयोजन है:

सीएक्स सी- + और सीएक्स सी - बफर टेक्स्ट आकार को बढ़ाने या घटाने के लिए

Question

मैं अपने .emacs फ़ाइल में फ़ॉन्ट आकार को भी सहेजना चाहता हूं।




एमएक्स कस्टमाइज़-फेस आरईटी डिफ़ॉल्ट आपको चेहरे का default चेहरा सेट करने की अनुमति देगा, जिस पर अन्य सभी चेहरों का आधार होगा। वहां आप फ़ॉन्ट आकार सेट कर सकते हैं।

मेरे .emacs में क्या है। असल में, कलर-थीम मूल बातें सेट करेगा, फिर मेरी कस्टम फेस सेटिंग कुछ चीजों को ओवरराइड कर देगी। कस्टम-सेट चेहरे Emacs के कस्टमाइज़-फेस तंत्र द्वारा लिखे गए हैं:

;; my colour theme is whateveryouwant :)
(require 'color-theme)
(color-theme-initialize)
(color-theme-whateveryouwant)

(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))
 '(font-lock-comment-face ((t (:foreground "darkorange4"))))
 '(font-lock-function-name-face ((t (:foreground "navy"))))
 '(font-lock-keyword-face ((t (:foreground "red4"))))
 '(font-lock-type-face ((t (:foreground "black"))))
 '(linum ((t (:inherit shadow :background "gray95"))))
 '(mode-line ((t (nil nil nil nil :background "grey90" (:line-width -1 :color nil :style released-button) "black" :box nil :width condensed :foundry "unknown" :family "DejaVu Sans Mono")))))



मैं कंसोल emacs (emacs -nw) से खुश हूं, आधुनिक vterm कार्यान्वयन (जैसे gnome-terminal) बेहतर फ़ॉन्ट समर्थन होता है। इसके अलावा यदि आप इसका उपयोग करते हैं, तो आप टीएमयूक्स का उपयोग कर सकते हैं, और इसलिए दूरस्थ सर्वर पर आपके पूर्ण वातावरण के साथ काम करना संभव हो जाता है, यहां तक ​​कि X के बिना भी।




मुझे अपने .emacs में निम्नलिखित मिल गया है:

(defun fontify-frame (frame)
  (set-frame-parameter frame 'font "Monospace-11"))

;; Fontify current frame
(fontify-frame nil)
;; Fontify any future frames
(push 'fontify-frame after-make-frame-functions) 

आप "Monospace-11" लिए अपने चयन के किसी भी फ़ॉन्ट का सब्सक्राइब कर सकते हैं। उपलब्ध विकल्पों का सेट अत्यधिक सिस्टम-निर्भर है। Mx set-default-font का उपयोग करके और टैब-पूर्णता को देखते हुए आपको कुछ विचार मिलेंगे। मेरे सिस्टम पर, Emacs 23 और एंटी-एलाइजिंग सक्षम के साथ, नाम से सिस्टम फोंट का चयन कर सकते हैं, उदाहरण के लिए, Monospace , Sans Serif इत्यादि।




एक्वामाक्स :

(set-face-attribute 'default nil :font "Monaco-16" )

Emacs विकी से वैश्विक रूप से डिफ़ॉल्ट फ़ॉन्ट बदलें , यह कहता है कि आप इनमें से किसी एक का उपयोग कर सकते हैं:

(set-face-attribute 'default nil :font FONT )

(set-frame-font FONT nil t)

जहां FONT "Monaco-16" जैसा कुछ है, उदाहरण के लिए:

(set-face-attribute 'default nil :font "Monaco-16" )

विकी पर पहले सुझाव में एक अतिरिक्त समापन संश्लेषण था, जिसने स्टार्टअप पर एक त्रुटि उत्पन्न की। अंत में मैंने अतिरिक्त समापन कोष्ठक देखा, और बाद में मैंने विकी पर सुझाव को सही किया। तब दोनों सुझाव मेरे लिए काम करते थे।




एनटीईएमएक्स 23.1 में, विकल्प मेनू में "डिफ़ॉल्ट फ़ॉन्ट सेट करें ..." विकल्प है।




फ़ायरफ़ॉक्स और अन्य प्रोग्राम आपको सी-+ और सी-- के साथ फ़ॉन्ट आकार को बढ़ाने और घटाने की अनुमति देते हैं। मैंने अपना .emacs सेट अप किया है ताकि कोड की इन पंक्तियों को जोड़कर मेरे पास वही क्षमता हो:

(global-set-key [C-kp-add] 'text-scale-increase)

(global-set-key [C-kp-subtract] 'text-scale-decrease)



फ़ॉन्ट हाइट्स को अंतःक्रियात्मक रूप से आकार देने का एक विकल्प यहां दिया गया है, एक समय में एक बिंदु:

;; font sizes
(global-set-key (kbd "s-=")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (+ old-face-attribute 10)))))

(global-set-key (kbd "s--")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (- old-face-attribute 10)))))

यह तब बेहतर होता है जब आप सभी बफर में टेक्स्ट का आकार बदलना चाहते हैं। मुझे text-scale-increase और text-scale-decrease का उपयोग करके समाधान पसंद नहीं हैं क्योंकि गटर में रेखा संख्या बाद में कटौती की जा सकती है।






Links