From 445ce3d0292a87bf8d53786e8ce0110cc95aff1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?tr=C3=A9meur?= Date: Wed, 23 Mar 2022 20:49:46 +0000 Subject: [PATCH] =?UTF-8?q?Dryd=E2=80=99c=20ruf=20ed=E2=80=99c=20tuha?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom/al-bhed.el | 142 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 custom/al-bhed.el diff --git a/custom/al-bhed.el b/custom/al-bhed.el new file mode 100644 index 0000000..4344af9 --- /dev/null +++ b/custom/al-bhed.el @@ -0,0 +1,142 @@ +(defun replace-pairs-region (Begin End Pairs) ;; modified xah + (let ((case-fold-search nil) ($tempMapPoints nil) ($changeLog nil)) + (dotimes (i (length Pairs)) (push (char-to-string (+ #xe000 i)) $tempMapPoints)) + (save-excursion + (save-restriction + (narrow-to-region Begin End) + (dotimes (i (length Pairs)) + (goto-char (point-min)) + (while (search-forward (elt (elt Pairs i) 0) nil t) + (replace-match (elt $tempMapPoints i) t t))) + (dotimes (i (length Pairs)) + (goto-char (point-min)) + (while (search-forward (elt $tempMapPoints i) nil t) + (push (vector (point) + (elt (elt Pairs i) 0) + (elt (elt Pairs i) 1)) $changeLog) + (replace-match (elt (elt Pairs i) 1) t t))))) + $changeLog)) + +(defun al-bhed (*begin *end) + (interactive + (if (use-region-p) + (list (region-beginning) (region-end)) + (list (line-beginning-position) (line-end-position)))) + (replace-pairs-region + *begin + *end + '( + ["a" "y"] + ["b" "p"] + ["c" "l"] + ["d" "t"] + ["e" "a"] + ["f" "v"] + ["g" "k"] + ["h" "r"] + ["i" "e"] + ["j" "z"] + ["k" "g"] + ["l" "m"] + ["m" "s"] + ["n" "h"] + ["o" "u"] + ["p" "b"] + ["q" "x"] + ["r" "n"] + ["s" "c"] + ["t" "d"] + ["u" "i"] + ["v" "j"] + ["w" "f"] + ["x" "q"] + ["y" "o"] + ["z" "w"] + ["A" "Y"] + ["B" "P"] + ["C" "L"] + ["D" "T"] + ["E" "A"] + ["F" "V"] + ["G" "K"] + ["H" "R"] + ["I" "E"] + ["J" "Z"] + ["K" "G"] + ["L" "M"] + ["M" "S"] + ["N" "H"] + ["O" "U"] + ["P" "B"] + ["Q" "X"] + ["R" "N"] + ["S" "C"] + ["T" "D"] + ["U" "I"] + ["V" "J"] + ["W" "F"] + ["X" "Q"] + ["Y" "O"] + ["Z" "W"]))) + +(defun de-al-bhed (*begin *end) + (interactive + (if (use-region-p) + (list (region-beginning) (region-end)) + (list (line-beginning-position) (line-end-position)))) + (replace-pairs-region + *begin + *end + '( + ["y" "a"] + ["p" "b"] + ["l" "c"] + ["t" "d"] + ["a" "e"] + ["v" "f"] + ["k" "g"] + ["r" "h"] + ["e" "i"] + ["z" "j"] + ["g" "k"] + ["m" "l"] + ["s" "m"] + ["h" "n"] + ["u" "o"] + ["b" "p"] + ["x" "q"] + ["n" "r"] + ["c" "s"] + ["d" "t"] + ["i" "u"] + ["j" "v"] + ["f" "w"] + ["q" "x"] + ["o" "y"] + ["w" "z"] + ["Y" "A"] + ["P" "B"] + ["L" "C"] + ["T" "D"] + ["A" "E"] + ["V" "F"] + ["K" "G"] + ["R" "H"] + ["E" "I"] + ["Z" "J"] + ["G" "K"] + ["M" "L"] + ["S" "M"] + ["H" "N"] + ["U" "O"] + ["B" "P"] + ["X" "Q"] + ["N" "R"] + ["C" "S"] + ["D" "T"] + ["I" "U"] + ["J" "V"] + ["F" "W"] + ["Q" "X"] + ["O" "Y"] + ["W" "Z"])))