;;; config--pkg-mixed-pitch.el --- Generated package (no.40) from my config -*- lexical-binding: t; -*- ;; ;; Copyright (C) 2024 TEC ;; ;; Author: TEC <https://code.tecosaur.net/tec> ;; Maintainer: TEC <contact@tecosaur.net> ;; Created: June 26, 2024 ;; Modified: June 26, 2024 ;; Version: 2024.06.26 ;; Homepage: https://code.tecosaur.net/tec/emacs-config ;; Package-Requires: ((emacs "29.1")) ;; ;; This file is not part of GNU Emacs. ;; ;;; Commentary: ;; ;; Generated package (no.40) from my config. ;; ;; During generation, dependency on other aspects of my configuration and ;; packages is inferred via (regexp-based) static analysis. While this seems ;; to do a good job, this method is imperfect. This code likely depends on ;; utilities provided by Doom, and if you try to run it in isolation you may ;; discover the code makes more assumptions. ;; ;; That said, I've found pretty good results so far. ;; ;;; Code: (require 'config-variable-pitch-serif-font) (defvar mixed-pitch-modes '(org-mode LaTeX-mode markdown-mode gfm-mode Info-mode) "Modes that `mixed-pitch-mode' should be enabled in, but only after UI initialisation.") (defun init-mixed-pitch-h () "Hook `mixed-pitch-mode' into each mode in `mixed-pitch-modes'. Also immediately enables `mixed-pitch-modes' if currently in one of the modes." (when (memq major-mode mixed-pitch-modes) (mixed-pitch-mode 1)) (dolist (hook mixed-pitch-modes) (add-hook (intern (concat (symbol-name hook) "-hook")) #'mixed-pitch-mode))) (add-hook 'doom-init-ui-hook #'init-mixed-pitch-h) (autoload #'mixed-pitch-serif-mode "mixed-pitch" "Change the default face of the current buffer to a serifed variable pitch, while keeping some faces fixed pitch." t) (setq! variable-pitch-serif-font (font-spec :family "Alegreya" :size 27)) (after! mixed-pitch (setq mixed-pitch-set-height t) (set-face-attribute 'variable-pitch-serif nil :font variable-pitch-serif-font) (defun mixed-pitch-serif-mode (&optional arg) "Change the default face of the current buffer to a serifed variable pitch, while keeping some faces fixed pitch." (interactive) (let ((mixed-pitch-face 'variable-pitch-serif)) (mixed-pitch-mode (or arg 'toggle))))) (set-char-table-range composition-function-table ?f '(["\\(?:ff?[fijlt]\\)" 0 font-shape-gstring])) (set-char-table-range composition-function-table ?T '(["\\(?:Th\\)" 0 font-shape-gstring])) (provide 'config--pkg-mixed-pitch) ;;; config--pkg-mixed-pitch.el ends here