aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Pluim2024-05-16 16:25:24 +0200
committerRobert Pluim2024-06-03 13:23:44 +0200
commit0e811aba53f5cc3a8d8c13fa8922149f95e83da4 (patch)
treed634a86421392656594b4e4c63e0333e1202f582
parent288b0db9682c519a3d7f8fa0c037640997209375 (diff)
downloademacs-0e811aba53f5cc3a8d8c13fa8922149f95e83da4.tar.gz
emacs-0e811aba53f5cc3a8d8c13fa8922149f95e83da4.zip
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)
-rw-r--r--etc/NEWS30
-rw-r--r--lisp/international/iso-transl.el12
-rw-r--r--lisp/leim/quail/latin-post.el19
-rw-r--r--lisp/leim/quail/latin-pre.el11
4 files changed, 71 insertions, 1 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 53abce8a472..d4d8ee87dec 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -586,6 +586,36 @@ These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E',
586respectively, in addition to the existing translations 'C-x 8 / e' and 586respectively, in addition to the existing translations 'C-x 8 / e' and
587'C-x 8 / E'. 587'C-x 8 / E'.
588 588
589*** New 'C-x 8' key translations for "low" quotes "„", and "‚".
590These can now be entered with 'C-x , "' and 'C-x , ''.
591
592*** New German language 'C-x 8' key translations for quotation marks.
593The characters "„", "“", and "”" can now be entered with 'C-x 8 v',
594'C-x 8 b' and 'C-x 8 n'. The single versions "‚", "‘", and "’" can now
595be entered with 'C-x 8 V', 'C-x 8 B' and 'C-x 8 N'. These characters
596are used for the official German quoting style. Using them requires
597activating German language support via 'iso-transl-set-language'.
598
599*** "latin-prefix" and "latin-postfix" quotation marks additions.
600These input methods can now produce single, double and "low" left and
601right quotation marks:
602
603 "‘", "’", "“", "”", "„", and "‚"
604
605by using "[", "]", and "," for "left", "right", and "low" respectively
606to modify "'" and """.
607
608*** "latin-prefix" and "latin-postfix" guillemets support.
609These input methods can now produce single guillemets "‹" and "›". For
610"latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and
611">~". Double guillemets ("«" and "»") were already supported.
612
613*** New French language 'C-x 8' key translations for "‹" and "›".
614These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >'
615respectively, after activating French language support via
616'iso-transl-set-language'. Double guillemets were already supported via
617'C-x 8 <' and 'C-x 8 >'
618
589 619
590* Changes in Specialized Modes and Packages in Emacs 30.1 620* Changes in Specialized Modes and Packages in Emacs 30.1
591 621
diff --git a/lisp/international/iso-transl.el b/lisp/international/iso-transl.el
index 67659f7c265..a3f2dfb9f9e 100644
--- a/lisp/international/iso-transl.el
+++ b/lisp/international/iso-transl.el
@@ -111,6 +111,8 @@
111 ("*+" . [?±]) 111 ("*+" . [?±])
112 ("+" . [?±]) 112 ("+" . [?±])
113 (",," . [?¸]) 113 (",," . [?¸])
114 (",\"" . [?„])
115 (",'" . [?‚])
114 (",A" . [?Ą]) 116 (",A" . [?Ą])
115 (",C" . [?Ç]) 117 (",C" . [?Ç])
116 (",N" . [?Ņ]) 118 (",N" . [?Ņ])
@@ -327,7 +329,9 @@ sequence VECTOR. (VECTOR is normally one character long.)")
327 ("u" . [?ŭ])) 329 ("u" . [?ŭ]))
328 ("French" 330 ("French"
329 ("C" . [?Ç]) 331 ("C" . [?Ç])
330 ("c" . [?ç])) 332 ("c" . [?ç])
333 ("~<" . [?‹])
334 ("~>" . [?›]))
331 ("German" 335 ("German"
332 ("A" . [?Ä]) 336 ("A" . [?Ä])
333 ("O" . [?Ö]) 337 ("O" . [?Ö])
@@ -336,6 +340,12 @@ sequence VECTOR. (VECTOR is normally one character long.)")
336 ("a" . [?ä]) 340 ("a" . [?ä])
337 ("o" . [?ö]) 341 ("o" . [?ö])
338 ("s" . [?ß]) 342 ("s" . [?ß])
343 ("v" . [?„])
344 ("b" . [?“])
345 ("n" . [?”])
346 ("V" . [?‚])
347 ("B" . [?‘])
348 ("N" . [?’])
339 ("u" . [?ü])) 349 ("u" . [?ü]))
340 ("Portuguese" 350 ("Portuguese"
341 ("C" . [?Ç]) 351 ("C" . [?Ç])
diff --git a/lisp/leim/quail/latin-post.el b/lisp/leim/quail/latin-post.el
index 25e7c4a64a8..00851a94284 100644
--- a/lisp/leim/quail/latin-post.el
+++ b/lisp/leim/quail/latin-post.el
@@ -2302,6 +2302,9 @@ of characters from a single Latin-N charset.
2302 subscript | _ | 0_ -> ₀ 1_ -> ₁ +_ -> ₊ -_ -> ₋ 2302 subscript | _ | 0_ -> ₀ 1_ -> ₁ +_ -> ₊ -_ -> ₋
2303 others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> ° o/ -> œ 2303 others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> ° o/ -> œ
2304 | / | 2/ -> ½ 3/ -> ¾ 4/ -> ?¼ 2304 | / | 2/ -> ½ 3/ -> ¾ 4/ -> ?¼
2305 | [ | \\='[ -> ‘ \"[ -> “
2306 | ] | \\='] -> ’ \"] -> ”
2307 | , | \\=', -> ‚ \", -> „
2305 | various | << -> « >> -> » o_ -> º a_ -> ª 2308 | various | << -> « >> -> » o_ -> º a_ -> ª
2306 2309
2307Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\=' 2310Doubling 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\\='
2309 2312
2310;; Fixme: ¦ § ¨ © ¬ ± ´ µ ¶ · ¸ × ÷ 2313;; Fixme: ¦ § ¨ © ¬ ± ´ µ ¶ · ¸ × ÷
2311(quail-define-rules 2314(quail-define-rules
2315 ("'[" ?‘)
2316 ("']" ?’)
2317 ("\"[" ?“)
2318 ("\"]" ?”)
2319 ("\"," ?„)
2320 ("'," ?‚)
2312 ("2/" ?½) 2321 ("2/" ?½)
2313 ("3/" ?¾) 2322 ("3/" ?¾)
2314 ("4/" ?¼) 2323 ("4/" ?¼)
@@ -2341,6 +2350,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
2341 ("//" ?°) 2350 ("//" ?°)
2342 ("<<" ?\«) 2351 ("<<" ?\«)
2343 (">>" ?\») 2352 (">>" ?\»)
2353 ("<~" ?\‹)
2354 (">~" ?\›)
2344 ("?/" ?¿) 2355 ("?/" ?¿)
2345 ("$/" ?£) 2356 ("$/" ?£)
2346 ("$/" ?¤) 2357 ("$/" ?¤)
@@ -2532,6 +2543,12 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
2532 ("z~" ?ž) 2543 ("z~" ?ž)
2533 ("--" ?¯) 2544 ("--" ?¯)
2534 2545
2546 ("'[[" ["'["])
2547 ("']]" ["']"])
2548 ("\"[[" ["\"["])
2549 ("\"]]" ["\"]"])
2550 ("\",," ["\","])
2551 ("',," ["',"])
2535 ("2//" ["2/"]) 2552 ("2//" ["2/"])
2536 ("3//" ["3/"]) 2553 ("3//" ["3/"])
2537 ("4//" ["4/"]) 2554 ("4//" ["4/"])
@@ -2564,6 +2581,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
2564 ("///" ["//"]) 2581 ("///" ["//"])
2565 ("<<<" ["<<"]) 2582 ("<<<" ["<<"])
2566 (">>>" [">>"]) 2583 (">>>" [">>"])
2584 ("<~~" ["<~"])
2585 (">~~" [">~"])
2567 ("?//" ["?/"]) 2586 ("?//" ["?/"])
2568 ("$//" ["$/"]) 2587 ("$//" ["$/"])
2569 ("A''" ["A'"]) 2588 ("A''" ["A'"])
diff --git a/lisp/leim/quail/latin-pre.el b/lisp/leim/quail/latin-pre.el
index 91164df0c72..b344a6304bb 100644
--- a/lisp/leim/quail/latin-pre.el
+++ b/lisp/leim/quail/latin-pre.el
@@ -1107,6 +1107,9 @@ of characters from a single Latin-N charset.
1107 macron | - | -a -> ā -/e -> ǣ -- -> ¯ 1107 macron | - | -a -> ā -/e -> ǣ -- -> ¯
1108 dot above | / . | /g -> ġ .g -> ġ 1108 dot above | / . | /g -> ġ .g -> ġ
1109 misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø 1109 misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø
1110 | [ | [\\=' -> ‘ [\" -> “
1111 | ] | ]\\=' -> ’ ]\" -> ”
1112 | , | ,\\=' -> ‚ ,\" -> „
1110 symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸ 1113 symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸
1111 symbol | _ / | _o -> º _a -> ª // -> ° /\\ -> × _y -> ¥ 1114 symbol | _ / | _o -> º _a -> ª // -> ° /\\ -> × _y -> ¥
1112 symbol | ^ | ^r -> ® ^t -> ™ ^c -> © ^1 -> ¹ ^2 -> ² ^3 -> ³ 1115 symbol | ^ | ^r -> ® ^t -> ™ ^c -> © ^1 -> ¹ ^2 -> ² ^3 -> ³
@@ -1132,6 +1135,12 @@ of characters from a single Latin-N charset.
1132 ("-y" ?ȳ) 1135 ("-y" ?ȳ)
1133 ("' " ?') 1136 ("' " ?')
1134 ("''" ?´) 1137 ("''" ?´)
1138 ("['" ?‘)
1139 ("]'" ?’)
1140 ("[\"" ?“)
1141 ("]\"" ?”)
1142 (",\"" ?„)
1143 (",'" ?‚)
1135 ("'A" ?Á) 1144 ("'A" ?Á)
1136 ("'E" ?É) 1145 ("'E" ?É)
1137 ("'I" ?Í) 1146 ("'I" ?Í)
@@ -1295,8 +1304,10 @@ of characters from a single Latin-N charset.
1295 ("~-" ?­) 1304 ("~-" ?­)
1296 ("~." ?·) 1305 ("~." ?·)
1297 ("~<" ?\«) 1306 ("~<" ?\«)
1307 ("~~<" ?\‹)
1298 ("~=" ?¯) 1308 ("~=" ?¯)
1299 ("~>" ?\») 1309 ("~>" ?\»)
1310 ("~~>" ?\›)
1300 ("~?" ?¿) 1311 ("~?" ?¿)
1301 ("~A" ?Ã) 1312 ("~A" ?Ã)
1302 ("~A" ?Ă) 1313 ("~A" ?Ă)