[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: latin-prefix input method niggles
From: |
Robert Pluim |
Subject: |
Re: latin-prefix input method niggles |
Date: |
Fri, 11 Jan 2019 11:58:24 +0100 |
Robert Pluim <address@hidden> writes:
>>> *time passes* I hadn't realised you could define multiple productions
>>> for the same mapping. So we instead end up with
>>>
>>> ~c -> ç
>>> ~c -> č
>>> ~a -> ã
>>> ~a -> ă
>>>
>>> in that order, since that keeps the current latin-prefix mappings of
>>> ~c and ~a first. We could also add ,c -> ç for consistency with
>>> latin-postfix.
>>
>> Right.
> Eli Zaretskii <address@hidden> writes:
>
>>> From: Robert Pluim <address@hidden>
>>> Cc: address@hidden
>>> Date: Thu, 10 Jan 2019 21:36:01 +0100
>>>
>>> Eli Zaretskii <address@hidden> writes:
>>>
>>> > I think we should make latin-prefix be consistent with latin-postfix.
>>> > Each one of the above is correct in the latter, AFAICT, so we should
>>> > just fix the problems in latin-prefix. E.g., ~a should produce both ã
>>> > and ă, ~c should produce č, and ġ should be produced by .g. I see no
>>> > reason to have these two behave inconsistently; do you?
>>>
>>> .g already produces ġ, changing ~c to produce č is easy. I take it
>>> youʼre ok with adding ,c -> ç
>>
>> Yes, because it'd be consistent with latin-postfix.
>>
This is what I have so far. The first two hunks correct the
documentation of romanian-prefix and romanian-alt-prefix to match the
actual implementation, which I can commit separately. The last three
hunks implement what we discussed above.
I have no idea why ~o produces ġ in latin-prefix, if thatʼs an error I
can remove it. It might be confusion caused by the docstring of
latin-3-prefix, which says
dot above | / . | /g -> ġ .o -> ġ
when itʼs actually .g -> ġ , with no mapping for 'o' at all.
Iʼm going to stop looking now before I get stuck further down the
rabbit hole.
diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el
index 63565d4ced..3b24e9ee36 100644
--- a/lisp/leim/quail/latin-pre.el
+++ b/lisp/leim/quail/latin-pre.el
@@ -320,7 +320,7 @@
effect | prefix | examples
------------+--------+------------------
- tilde | ~ | ~a -> ă
+ breve | ~ | ~a -> ă
circumflex | ^ | ^a -> â, ^i -> î
cedilla | , | ,s -> ş, ,t -> ţ
~ | ~ | ~~ -> ~
@@ -342,11 +342,11 @@
effect | prefix | examples
------------+--------+------------------
- tilde | \" | \"a -> â
- circumflex | \\=' | \\='a -> â, \\='i -> î
- cedilla | \\=' | \\='s -> ş, \\='t -> ţ
- \\=' | \\=' | \\='\\=' -> \\='
- \" | \" | \"\" -> \"
+ breve | \\=' | \\='a -> ă
+ circumflex | \" \\=' | \"a -> â \\='i -> î
+ cedilla | \\=' | \\='s -> ş \\='t -> ţ
+ \\=' | \\=' | \\='\\=' -> \\='
+ \" | \" | \"\" -> \"
" nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
@@ -1089,15 +1089,15 @@
effect | prefix | examples
------------+--------+----------
- acute | \\=' | \\='a -> á, \\='\\=' -> ´
+ acute | \\=' | \\='a -> á \\='\\=' -> ´
grave | \\=` | \\=`a -> à
circumflex | ^ | ^a -> â
diaeresis | \" | \"a -> ä \"\" -> ¨
tilde | ~ | ~a -> ã
- cedilla | ~ | ~c -> ç
+ cedilla | , ~ | ,c -> ç ~c -> ç
+ caron | ~ | ~c -> č ~g -> ğ
breve | ~ | ~a -> ă
- caron | ~ | ~c -> č
- dot above | ~ / . | ~o -> ġ /o -> ġ .o -> ġ
+ dot above | ~ / . | ~o -> ġ /g -> ġ .g -> ġ
misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø
symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸
symbol | _ / | _o -> º _a -> ª // -> ° /\\ -> × _y -> ¥
@@ -1252,7 +1252,10 @@
("~>" ?\»)
("~?" ?¿)
("~A" ?Ã)
+ ("~A" ?Ă)
("~C" ?Ç)
+ ("~C" ?Č)
+ (",C" ?Ç)
("~D" ?Ð)
("~G" ?Ğ)
("~N" ?Ñ)
@@ -1265,7 +1268,10 @@
("~Z" ?Ž)
("~`" ?˘)
("~a" ?ã)
+ ("~a" ?ă)
("~c" ?ç)
+ ("~c" ?č)
+ (",c" ?ç)
("~d" ?ð)
("~e" ?€)
("~g" ?ğ)