summaryrefslogtreecommitdiff
path: root/leim
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-02-08 10:48:36 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2013-02-08 10:48:36 -0500
commit91554659b87da48b5373471ca4ac9245b68b1e54 (patch)
tree7e9bb80ab45bb23fdeff6b82a7028973b55ea067 /leim
parent1a60168030ae1f7ddc9c004a19d73758b97bc029 (diff)
* leim/quail/latin-ltx.el: Add greek superscripts.
Diffstat (limited to 'leim')
-rw-r--r--leim/ChangeLog4
-rw-r--r--leim/quail/latin-ltx.el18
2 files changed, 15 insertions, 7 deletions
diff --git a/leim/ChangeLog b/leim/ChangeLog
index b07102d44b..b6591afb75 100644
--- a/leim/ChangeLog
+++ b/leim/ChangeLog
@@ -1,3 +1,7 @@
+2013-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * quail/latin-ltx.el: Add greek superscripts.
+
2012-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
* quail/latin-ltx.el: Avoid deprecated chars for \langle and \rangle.
diff --git a/leim/quail/latin-ltx.el b/leim/quail/latin-ltx.el
index e686d7bc04..2179e6264a 100644
--- a/leim/quail/latin-ltx.el
+++ b/leim/quail/latin-ltx.el
@@ -248,14 +248,18 @@ system, including many technical ones. Examples:
(string (if (match-end 2) ?^ ?_) basechar))))
"\\(.*\\)SU\\(?:B\\|\\(PER\\)\\)SCRIPT \\(.*\\)")
- ("^\\gamma" ?ˠ)
-
((lambda (name char)
- (let* ((base (format "LATIN %s LETTER %s"
- (match-string 1 name) (match-string 2 name)))
- (basechar (cdr (assoc base (ucs-names)))))
- (when (latin-ltx--ascii-p basechar)
- (string ?^ basechar))))
+ (let* ((basename (match-string 2 name))
+ (lbase (format "LATIN %s LETTER %s"
+ (match-string 1 name) basename))
+ (gbase (format "GREEK %s LETTER %s"
+ (match-string 1 name) basename))
+ tmp)
+ (cond
+ ((assoc gbase (ucs-names)) (concat "^\\" (downcase basename)))
+ ((latin-ltx--ascii-p (setq tmp (cdr (assoc lbase (ucs-names)))))
+ (string ?^ tmp))
+ (t (message "Unknown modifier letter %s" basename)))))
"MODIFIER LETTER \\(SMALL\\|CAPITAL\\) \\(.*\\)")
;; ((lambda (name char) (format "^%s" (downcase (match-string 1 name))))