Enable font ligatures for Emacs 27!
Now that Emacs is capable a rendering font ligatures, I defined a function to enable them in fonts.el. Everything works, and it's beautiful.
This commit is contained in:
		
							parent
							
								
									97c2706821
								
							
						
					
					
						commit
						aae5b4c88c
					
				
					 2 changed files with 32 additions and 0 deletions
				
			
		|  | @ -137,5 +137,36 @@ The size of the font is determined by `fonts-size'." | |||
|   (interactive) | ||||
|   (fonts-whitelist-set (fonts-current))) | ||||
| 
 | ||||
| (defun fonts-enable-ligatures () | ||||
|   "Call this function to enable ligatures." | ||||
|   (interactive) | ||||
|   (let ((alist '((33 . ".\\(?:\\(?:==\\|!!\\)\\|[!=]\\)") | ||||
|                  (35 . ".\\(?:###\\|##\\|_(\\|[#(?[_{]\\)") ;; | ||||
|                  (36 . ".\\(?:>\\)") | ||||
|                  (37 . ".\\(?:\\(?:%%\\)\\|%\\)") | ||||
|                  (38 . ".\\(?:\\(?:&&\\)\\|&\\)") | ||||
|                  (42 . ".\\(?:\\(?:\\*\\*/\\)\\|\\(?:\\*[*/]\\)\\|[*/>]\\)") ;; | ||||
|                  (43 . ".\\(?:\\(?:\\+\\+\\)\\|[+>]\\)") | ||||
|                  (45 . ".\\(?:\\(?:-[>-]\\|<<\\|>>\\)\\|[<>}~-]\\)") | ||||
|                  (46 . ".\\(?:\\(?:\\.[.<]\\)\\|[.=-]\\)") ;; | ||||
|                  (47 . ".\\(?:\\(?:\\*\\*\\|//\\|==\\)\\|[*/=>]\\)") | ||||
|                  (48 . ".\\(?:x[a-zA-Z]\\)") | ||||
|                  (58 . ".\\(?:::\\|[:=]\\)") | ||||
|                  (59 . ".\\(?:;;\\|;\\)") | ||||
|                  (60 . ".\\(?:\\(?:!--\\)\\|\\(?:~~\\|->\\|\\$>\\|\\*>\\|\\+>\\|--\\|<[<=-]\\|=[<=>]\\||>\\)\\|[*$+~/<=>|-]\\)") | ||||
|                  (61 . ".\\(?:\\(?:/=\\|:=\\|<<\\|=[=>]\\|>>\\)\\|[<=>~]\\)") | ||||
|                  (62 . ".\\(?:\\(?:=>\\|>[=>-]\\)\\|[=>-]\\)") | ||||
|                  (63 . ".\\(?:\\(\\?\\?\\)\\|[:=?]\\)") | ||||
|                  (91 . ".\\(?:]\\)") | ||||
|                  (92 . ".\\(?:\\(?:\\\\\\\\\\)\\|\\\\\\)") | ||||
|                  (94 . ".\\(?:=\\)") | ||||
|                  (119 . ".\\(?:ww\\)") | ||||
|                  (123 . ".\\(?:-\\)") | ||||
|                  (124 . ".\\(?:\\(?:|[=|]\\)\\|[=>|]\\)") | ||||
|                  (126 . ".\\(?:~>\\|~~\\|[>=@~-]\\)")))) | ||||
|     (dolist (char-regexp alist) | ||||
|       (set-char-table-range composition-function-table (car char-regexp) | ||||
|                             `([,(cdr char-regexp) 0 font-shape-gstring]))))) | ||||
| 
 | ||||
| (provide 'fonts) | ||||
| ;;; fonts.el ends here | ||||
|  |  | |||
|  | @ -164,6 +164,7 @@ | |||
|   (laptop-battery-display)) | ||||
| 
 | ||||
| (fonts-whitelist-set "JetBrainsMono") | ||||
| (fonts-enable-ligatures) | ||||
| (colorscheme-whitelist-set 'doom-solarized-light) | ||||
| 
 | ||||
| (modeline-setup) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue