Improve support for entering quotation marks

* lisp/international/iso-transl.el (iso-transl-char-map): Add entries
for "low" single and double quotation marks.
(iso-transl-language-alist): Add convenient support for the official
German quoting style to the German language entry. It uses "low" double
quotes on the left, and *left* double quotes on the right.  Add support
for single guillemets to the French language entry.
* lisp/leim/quail/latin-post.el ("latin-postfix"): Add entries for
single, double and "low" Unicode quotation marks.  Add entries for
single guillemets.
* lisp/leim/quail/latin-pre.el ("latin-prefix"): And here.

* etc/NEWS: Announce the changes.

(Bug#70984)
This commit is contained in:
Robert Pluim 2024-05-16 16:25:24 +02:00
parent 288b0db968
commit 0e811aba53
4 changed files with 71 additions and 1 deletions

View file

@ -586,6 +586,36 @@ These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E',
respectively, in addition to the existing translations 'C-x 8 / e' and
'C-x 8 / E'.
*** New 'C-x 8' key translations for "low" quotes "„", and "".
These can now be entered with 'C-x , "' and 'C-x , ''.
*** New German language 'C-x 8' key translations for quotation marks.
The characters "„", "“", and "”" can now be entered with 'C-x 8 v',
'C-x 8 b' and 'C-x 8 n'. The single versions "", "", and "" can now
be entered with 'C-x 8 V', 'C-x 8 B' and 'C-x 8 N'. These characters
are used for the official German quoting style. Using them requires
activating German language support via 'iso-transl-set-language'.
*** "latin-prefix" and "latin-postfix" quotation marks additions.
These input methods can now produce single, double and "low" left and
right quotation marks:
"", "", "“", "”", "„", and ""
by using "[", "]", and "," for "left", "right", and "low" respectively
to modify "'" and """.
*** "latin-prefix" and "latin-postfix" guillemets support.
These input methods can now produce single guillemets "" and "". For
"latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and
">~". Double guillemets ("«" and "»") were already supported.
*** New French language 'C-x 8' key translations for "" and "".
These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >'
respectively, after activating French language support via
'iso-transl-set-language'. Double guillemets were already supported via
'C-x 8 <' and 'C-x 8 >'
* Changes in Specialized Modes and Packages in Emacs 30.1

View file

@ -111,6 +111,8 @@
("*+" . [])
("+" . [])
(",," . [?¸])
(",\"" . [?„])
(",'" . [?])
(",A" . [])
(",C" . [])
(",N" . [])
@ -327,7 +329,9 @@ sequence VECTOR. (VECTOR is normally one character long.)")
("u" . []))
("French"
("C" . [])
("c" . []))
("c" . [])
("~<" . [?])
("~>" . [?]))
("German"
("A" . [])
("O" . [])
@ -336,6 +340,12 @@ sequence VECTOR. (VECTOR is normally one character long.)")
("a" . [])
("o" . [])
("s" . [])
("v" . [?„])
("b" . [?“])
("n" . [?”])
("V" . [?])
("B" . [?])
("N" . [?])
("u" . []))
("Portuguese"
("C" . [])

View file

@ -2302,6 +2302,9 @@ of characters from a single Latin-N charset.
subscript | _ | 0_ -> 1_ -> +_ -> -_ ->
others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> ° o/ -> œ
| / | 2/ -> ½ 3/ -> ¾ 4/ ->
| [ | \\='[ -> \"[ ->
| ] | \\='] -> \"] ->
| , | \\=', -> \", ->
| various | << -> « >> -> » o_ -> º a_ -> ª
Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
@ -2309,6 +2312,12 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
;; Fixme: ¦ § ¨ © ¬ ± ´ µ ¶ · ¸ × ÷
(quail-define-rules
("'[" ?)
("']" ?)
("\"[" ?“)
("\"]" ?”)
("\"," ?„)
("'," ?)
("2/" )
("3/" )
("4/" )
@ -2341,6 +2350,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("//" )
("<<" ?\«)
(">>" ?\»)
("<~" ?\)
(">~" ?\)
("?/" ?¿)
("$/" )
("$/" )
@ -2532,6 +2543,12 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("z~" )
("--" )
("'[[" ["'["])
("']]" ["']"])
("\"[[" ["\"["])
("\"]]" ["\"]"])
("\",," ["\","])
("',," ["',"])
("2//" ["2/"])
("3//" ["3/"])
("4//" ["4/"])
@ -2564,6 +2581,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
("///" ["//"])
("<<<" ["<<"])
(">>>" [">>"])
("<~~" ["<~"])
(">~~" [">~"])
("?//" ["?/"])
("$//" ["$/"])
("A''" ["A'"])

View file

@ -1107,6 +1107,9 @@ of characters from a single Latin-N charset.
macron | - | -a -> ā -/e -> ǣ -- -> ¯
dot above | / . | /g -> ġ .g -> ġ
misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø
| [ | [\\=' -> [\" ->
| ] | ]\\=' -> ]\" ->
| , | ,\\=' -> ,\" ->
symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸
symbol | _ / | _o -> º _a -> ª // -> ° /\\ -> × _y -> ¥
symbol | ^ | ^r -> ® ^t -> ^c -> © ^1 -> ¹ ^2 -> ² ^3 -> ³
@ -1132,6 +1135,12 @@ of characters from a single Latin-N charset.
("-y" )
("' " ?')
("''" ?´)
("['" ?)
("]'" ?)
("[\"" ?“)
("]\"" ?”)
(",\"" ?„)
(",'" ?)
("'A" )
("'E" )
("'I" )
@ -1295,8 +1304,10 @@ of characters from a single Latin-N charset.
("~-" ?­)
("~." )
("~<" ?\«)
("~~<" ?\)
("~=" )
("~>" ?\»)
("~~>" ?\)
("~?" ?¿)
("~A" )
("~A" )