1;;; iso-insert.el --- insert functions for ISO 8859/1 -*- coding: iso-8859-1;-*- 2 3;; Copyright (C) 1987, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007 4;; Free Software Foundation, Inc. 5 6;; Author: Howard Gayle 7;; Maintainer: FSF 8;; Keywords: i18n 9 10;; This file is part of GNU Emacs. 11 12;; GNU Emacs is free software; you can redistribute it and/or modify 13;; it under the terms of the GNU General Public License as published by 14;; the Free Software Foundation; either version 2, or (at your option) 15;; any later version. 16 17;; GNU Emacs is distributed in the hope that it will be useful, 18;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20;; GNU General Public License for more details. 21 22;; You should have received a copy of the GNU General Public License 23;; along with GNU Emacs; see the file COPYING. If not, write to the 24;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25;; Boston, MA 02110-1301, USA. 26 27;;; Commentary: 28 29;; Provides keys for inserting ISO Latin-1 characters. They use the 30;; prefix key C-x 8. Type C-x 8 C-h for a list. 31 32;;; Code: 33 34(defun insert-no-break-space () 35 (interactive "*") 36 (insert ?\�) 37) 38 39(defun insert-inverted-exclamation-mark () 40 (interactive "*") 41 (insert ?\�) 42) 43 44(defun insert-cent-sign () 45 (interactive "*") 46 (insert ?\�) 47) 48 49(defun insert-pound-sign () 50 (interactive "*") 51 (insert ?\�) 52) 53 54(defun insert-general-currency-sign () 55 (interactive "*") 56 (insert ?\�) 57) 58 59(defun insert-yen-sign () 60 (interactive "*") 61 (insert ?\�) 62) 63 64(defun insert-broken-vertical-line () 65 (interactive "*") 66 (insert ?\�) 67) 68 69(defun insert-section-sign () 70 (interactive "*") 71 (insert ?\�) 72) 73 74(defun insert-diaeresis () 75 (interactive "*") 76 (insert ?\�) 77) 78 79(defun insert-copyright-sign () 80 (interactive "*") 81 (insert ?\�) 82) 83 84(defun insert-ordinal-indicator-feminine () 85 (interactive "*") 86 (insert ?\�) 87) 88 89(defun insert-angle-quotation-mark-left () 90 (interactive "*") 91 (insert ?\�) 92) 93 94(defun insert-not-sign () 95 (interactive "*") 96 (insert ?\�) 97) 98 99(defun insert-soft-hyphen () 100 (interactive "*") 101 (insert ?\�) 102) 103 104(defun insert-registered-sign () 105 (interactive "*") 106 (insert ?\�) 107) 108 109(defun insert-macron () 110 (interactive "*") 111 (insert ?\�) 112) 113 114(defun insert-degree-sign () 115 (interactive "*") 116 (insert ?\�) 117) 118 119(defun insert-plus-or-minus-sign () 120 (interactive "*") 121 (insert ?\�) 122) 123 124(defun insert-superscript-two () 125 (interactive "*") 126 (insert ?\�) 127) 128 129(defun insert-superscript-three () 130 (interactive "*") 131 (insert ?\�) 132) 133 134(defun insert-acute-accent () 135 (interactive "*") 136 (insert ?\�) 137) 138 139(defun insert-micro-sign () 140 (interactive "*") 141 (insert ?\�) 142) 143 144(defun insert-pilcrow () 145 (interactive "*") 146 (insert ?\�) 147) 148 149(defun insert-middle-dot () 150 (interactive "*") 151 (insert ?\�) 152) 153 154(defun insert-cedilla () 155 (interactive "*") 156 (insert ?\�) 157) 158 159(defun insert-superscript-one () 160 (interactive "*") 161 (insert ?\�) 162) 163 164(defun insert-ordinal-indicator-masculine () 165 (interactive "*") 166 (insert ?\�) 167) 168 169(defun insert-angle-quotation-mark-right () 170 (interactive "*") 171 (insert ?\�) 172) 173 174(defun insert-fraction-one-quarter () 175 (interactive "*") 176 (insert ?\�) 177) 178 179(defun insert-fraction-one-half () 180 (interactive "*") 181 (insert ?\�) 182) 183 184(defun insert-fraction-three-quarters () 185 (interactive "*") 186 (insert ?\�) 187) 188 189(defun insert-inverted-question-mark () 190 (interactive "*") 191 (insert ?\�) 192) 193 194(defun insert-A-grave () 195 (interactive "*") 196 (insert ?\�) 197) 198 199(defun insert-A-acute () 200 (interactive "*") 201 (insert ?\�) 202) 203 204(defun insert-A-circumflex () 205 (interactive "*") 206 (insert ?\�) 207) 208 209(defun insert-A-tilde () 210 (interactive "*") 211 (insert ?\�) 212) 213 214(defun insert-A-umlaut () 215 (interactive "*") 216 (insert ?\�) 217) 218 219(defun insert-A-ring () 220 (interactive "*") 221 (insert ?\�) 222) 223 224(defun insert-AE () 225 (interactive "*") 226 (insert ?\�) 227) 228 229(defun insert-C-cedilla () 230 (interactive "*") 231 (insert ?\�) 232) 233 234(defun insert-E-grave () 235 (interactive "*") 236 (insert ?\�) 237) 238 239(defun insert-E-acute () 240 (interactive "*") 241 (insert ?\�) 242) 243 244(defun insert-E-circumflex () 245 (interactive "*") 246 (insert ?\�) 247) 248 249(defun insert-E-umlaut () 250 (interactive "*") 251 (insert ?\�) 252) 253 254(defun insert-I-grave () 255 (interactive "*") 256 (insert ?\�) 257) 258 259(defun insert-I-acute () 260 (interactive "*") 261 (insert ?\�) 262) 263 264(defun insert-I-circumflex () 265 (interactive "*") 266 (insert ?\�) 267) 268 269(defun insert-I-umlaut () 270 (interactive "*") 271 (insert ?\�) 272) 273 274(defun insert-D-stroke () 275 (interactive "*") 276 (insert ?\�) 277) 278 279(defun insert-N-tilde () 280 (interactive "*") 281 (insert ?\�) 282) 283 284(defun insert-O-grave () 285 (interactive "*") 286 (insert ?\�) 287) 288 289(defun insert-O-acute () 290 (interactive "*") 291 (insert ?\�) 292) 293 294(defun insert-O-circumflex () 295 (interactive "*") 296 (insert ?\�) 297) 298 299(defun insert-O-tilde () 300 (interactive "*") 301 (insert ?\�) 302) 303 304(defun insert-O-umlaut () 305 (interactive "*") 306 (insert ?\�) 307) 308 309(defun insert-multiplication-sign () 310 (interactive "*") 311 (insert ?\�) 312) 313 314(defun insert-O-slash () 315 (interactive "*") 316 (insert ?\�) 317) 318 319(defun insert-U-grave () 320 (interactive "*") 321 (insert ?\�) 322) 323 324(defun insert-U-acute () 325 (interactive "*") 326 (insert ?\�) 327) 328 329(defun insert-U-circumflex () 330 (interactive "*") 331 (insert ?\�) 332) 333 334(defun insert-U-umlaut () 335 (interactive "*") 336 (insert ?\�) 337) 338 339(defun insert-Y-acute () 340 (interactive "*") 341 (insert ?\�) 342) 343 344(defun insert-THORN () 345 (interactive "*") 346 (insert ?\�) 347) 348 349(defun insert-ss () 350 (interactive "*") 351 (insert ?\�) 352) 353 354(defun insert-a-grave () 355 (interactive "*") 356 (insert ?\�) 357) 358 359(defun insert-a-acute () 360 (interactive "*") 361 (insert ?\�) 362) 363 364(defun insert-a-circumflex () 365 (interactive "*") 366 (insert ?\�) 367) 368 369(defun insert-a-tilde () 370 (interactive "*") 371 (insert ?\�) 372) 373 374(defun insert-a-umlaut () 375 (interactive "*") 376 (insert ?\�) 377) 378 379(defun insert-a-ring () 380 (interactive "*") 381 (insert ?\�) 382) 383 384(defun insert-ae () 385 (interactive "*") 386 (insert ?\�) 387) 388 389(defun insert-c-cedilla () 390 (interactive "*") 391 (insert ?\�) 392) 393 394(defun insert-e-grave () 395 (interactive "*") 396 (insert ?\�) 397) 398 399(defun insert-e-acute () 400 (interactive "*") 401 (insert ?\�) 402) 403 404(defun insert-e-circumflex () 405 (interactive "*") 406 (insert ?\�) 407) 408 409(defun insert-e-umlaut () 410 (interactive "*") 411 (insert ?\�) 412) 413 414(defun insert-i-grave () 415 (interactive "*") 416 (insert ?\�) 417) 418 419(defun insert-i-acute () 420 (interactive "*") 421 (insert ?\�) 422) 423 424(defun insert-i-circumflex () 425 (interactive "*") 426 (insert ?\�) 427) 428 429(defun insert-i-umlaut () 430 (interactive "*") 431 (insert ?\�) 432) 433 434(defun insert-d-stroke () 435 (interactive "*") 436 (insert ?\�) 437) 438 439(defun insert-n-tilde () 440 (interactive "*") 441 (insert ?\�) 442) 443 444(defun insert-o-grave () 445 (interactive "*") 446 (insert ?\�) 447) 448 449(defun insert-o-acute () 450 (interactive "*") 451 (insert ?\�) 452) 453 454(defun insert-o-circumflex () 455 (interactive "*") 456 (insert ?\�) 457) 458 459(defun insert-o-tilde () 460 (interactive "*") 461 (insert ?\�) 462) 463 464(defun insert-o-umlaut () 465 (interactive "*") 466 (insert ?\�) 467) 468 469(defun insert-division-sign () 470 (interactive "*") 471 (insert ?\�) 472) 473 474(defun insert-o-slash () 475 (interactive "*") 476 (insert ?\�) 477) 478 479(defun insert-u-grave () 480 (interactive "*") 481 (insert ?\�) 482) 483 484(defun insert-u-acute () 485 (interactive "*") 486 (insert ?\�) 487) 488 489(defun insert-u-circumflex () 490 (interactive "*") 491 (insert ?\�) 492) 493 494(defun insert-u-umlaut () 495 (interactive "*") 496 (insert ?\�) 497) 498 499(defun insert-y-acute () 500 (interactive "*") 501 (insert ?\�) 502) 503 504(defun insert-thorn () 505 (interactive "*") 506 (insert ?\�) 507) 508 509(defun insert-y-umlaut () 510 (interactive "*") 511 (insert ?\�) 512) 513 514(defvar 8859-1-map nil "Keymap for ISO 8859/1 character insertion.") 515(if 8859-1-map nil 516 (setq 8859-1-map (make-keymap)) 517 (define-key 8859-1-map " " 'insert-no-break-space) 518 (define-key 8859-1-map "!" 'insert-inverted-exclamation-mark) 519 (define-key 8859-1-map "\"" (make-sparse-keymap)) 520 (define-key 8859-1-map "\"\"" 'insert-diaeresis) 521 (define-key 8859-1-map "\"A" 'insert-A-umlaut) 522 (define-key 8859-1-map "\"E" 'insert-E-umlaut) 523 (define-key 8859-1-map "\"I" 'insert-I-umlaut) 524 (define-key 8859-1-map "\"O" 'insert-O-umlaut) 525 (define-key 8859-1-map "\"U" 'insert-U-umlaut) 526 (define-key 8859-1-map "\"a" 'insert-a-umlaut) 527 (define-key 8859-1-map "\"e" 'insert-e-umlaut) 528 (define-key 8859-1-map "\"i" 'insert-i-umlaut) 529 (define-key 8859-1-map "\"o" 'insert-o-umlaut) 530 (define-key 8859-1-map "\"u" 'insert-u-umlaut) 531 (define-key 8859-1-map "\"y" 'insert-y-umlaut) 532 (define-key 8859-1-map "'" (make-sparse-keymap)) 533 (define-key 8859-1-map "''" 'insert-acute-accent) 534 (define-key 8859-1-map "'A" 'insert-A-acute) 535 (define-key 8859-1-map "'E" 'insert-E-acute) 536 (define-key 8859-1-map "'I" 'insert-I-acute) 537 (define-key 8859-1-map "'O" 'insert-O-acute) 538 (define-key 8859-1-map "'U" 'insert-U-acute) 539 (define-key 8859-1-map "'Y" 'insert-Y-acute) 540 (define-key 8859-1-map "'a" 'insert-a-acute) 541 (define-key 8859-1-map "'e" 'insert-e-acute) 542 (define-key 8859-1-map "'i" 'insert-i-acute) 543 (define-key 8859-1-map "'o" 'insert-o-acute) 544 (define-key 8859-1-map "'u" 'insert-u-acute) 545 (define-key 8859-1-map "'y" 'insert-y-acute) 546 (define-key 8859-1-map "$" 'insert-general-currency-sign) 547 (define-key 8859-1-map "+" 'insert-plus-or-minus-sign) 548 (define-key 8859-1-map "," (make-sparse-keymap)) 549 (define-key 8859-1-map ",," 'insert-cedilla) 550 (define-key 8859-1-map ",C" 'insert-C-cedilla) 551 (define-key 8859-1-map ",c" 'insert-c-cedilla) 552 (define-key 8859-1-map "-" 'insert-soft-hyphen) 553 (define-key 8859-1-map "." 'insert-middle-dot) 554 (define-key 8859-1-map "/" (make-sparse-keymap)) 555 (define-key 8859-1-map "//" 'insert-division-sign) 556 (define-key 8859-1-map "/O" 'insert-O-slash) 557 (define-key 8859-1-map "/o" 'insert-o-slash) 558 (define-key 8859-1-map "1" (make-sparse-keymap)) 559 (define-key 8859-1-map "1/" (make-sparse-keymap)) 560 (define-key 8859-1-map "1/2" 'insert-fraction-one-half) 561 (define-key 8859-1-map "1/4" 'insert-fraction-one-quarter) 562 (define-key 8859-1-map "3" (make-sparse-keymap)) 563 (define-key 8859-1-map "3/" (make-sparse-keymap)) 564 (define-key 8859-1-map "3/4" 'insert-fraction-three-quarters) 565 (define-key 8859-1-map "<" 'insert-angle-quotation-mark-left) 566 (define-key 8859-1-map "=" 'insert-macron) 567 (define-key 8859-1-map ">" 'insert-angle-quotation-mark-right) 568 (define-key 8859-1-map "?" 'insert-inverted-question-mark) 569 (define-key 8859-1-map "A" 'insert-A-ring) 570 (define-key 8859-1-map "E" 'insert-AE) 571 (define-key 8859-1-map "C" 'insert-copyright-sign) 572 (define-key 8859-1-map "D" 'insert-D-stroke) 573 (define-key 8859-1-map "L" 'insert-pound-sign) 574 (define-key 8859-1-map "P" 'insert-pilcrow) 575 (define-key 8859-1-map "R" 'insert-registered-sign) 576 (define-key 8859-1-map "S" 'insert-section-sign) 577 (define-key 8859-1-map "T" 'insert-THORN) 578 (define-key 8859-1-map "Y" 'insert-yen-sign) 579 (define-key 8859-1-map "^" (make-sparse-keymap)) 580 (define-key 8859-1-map "^1" 'insert-superscript-one) 581 (define-key 8859-1-map "^2" 'insert-superscript-two) 582 (define-key 8859-1-map "^3" 'insert-superscript-three) 583 (define-key 8859-1-map "^A" 'insert-A-circumflex) 584 (define-key 8859-1-map "^E" 'insert-E-circumflex) 585 (define-key 8859-1-map "^I" 'insert-I-circumflex) 586 (define-key 8859-1-map "^O" 'insert-O-circumflex) 587 (define-key 8859-1-map "^U" 'insert-U-circumflex) 588 (define-key 8859-1-map "^a" 'insert-a-circumflex) 589 (define-key 8859-1-map "^e" 'insert-e-circumflex) 590 (define-key 8859-1-map "^i" 'insert-i-circumflex) 591 (define-key 8859-1-map "^o" 'insert-o-circumflex) 592 (define-key 8859-1-map "^u" 'insert-u-circumflex) 593 (define-key 8859-1-map "_" (make-sparse-keymap)) 594 (define-key 8859-1-map "_a" 'insert-ordinal-indicator-feminine) 595 (define-key 8859-1-map "_o" 'insert-ordinal-indicator-masculine) 596 (define-key 8859-1-map "`" (make-sparse-keymap)) 597 (define-key 8859-1-map "`A" 'insert-A-grave) 598 (define-key 8859-1-map "`E" 'insert-E-grave) 599 (define-key 8859-1-map "`I" 'insert-I-grave) 600 (define-key 8859-1-map "`O" 'insert-O-grave) 601 (define-key 8859-1-map "`U" 'insert-U-grave) 602 (define-key 8859-1-map "`a" 'insert-a-grave) 603 (define-key 8859-1-map "`e" 'insert-e-grave) 604 (define-key 8859-1-map "`i" 'insert-i-grave) 605 (define-key 8859-1-map "`o" 'insert-o-grave) 606 (define-key 8859-1-map "`u" 'insert-u-grave) 607 (define-key 8859-1-map "a" 'insert-a-ring) 608 (define-key 8859-1-map "e" 'insert-ae) 609 (define-key 8859-1-map "c" 'insert-cent-sign) 610 (define-key 8859-1-map "d" 'insert-d-stroke) 611 (define-key 8859-1-map "o" 'insert-degree-sign) 612 (define-key 8859-1-map "s" 'insert-ss) 613 (define-key 8859-1-map "t" 'insert-thorn) 614 (define-key 8859-1-map "u" 'insert-micro-sign) 615 (define-key 8859-1-map "x" 'insert-multiplication-sign) 616 (define-key 8859-1-map "|" 'insert-broken-vertical-line) 617 (define-key 8859-1-map "~" (make-sparse-keymap)) 618 (define-key 8859-1-map "~A" 'insert-A-tilde) 619 (define-key 8859-1-map "~N" 'insert-N-tilde) 620 (define-key 8859-1-map "~O" 'insert-O-tilde) 621 (define-key 8859-1-map "~a" 'insert-a-tilde) 622 (define-key 8859-1-map "~n" 'insert-n-tilde) 623 (define-key 8859-1-map "~o" 'insert-o-tilde) 624 (define-key 8859-1-map "~~" 'insert-not-sign) 625 (if (not (lookup-key global-map "\C-x8")) 626 (define-key global-map "\C-x8" 8859-1-map)) 627) 628(defalias '8859-1-map 8859-1-map) 629 630(provide 'iso-insert) 631 632;;; arch-tag: eb5f97bd-a034-4851-92ff-ab1f1bf92814 633;;; iso-insert.el ends here 634