changeset 4447:15dd5229cea5

Support windows-1250 on Unix as well as Windows. 2008-05-07 Aidan Kehoe <kehoea@parhasard.net> * mule/latin.el (windows-1250): Add the Central European Windows coding system. * mule/mule-win32-init.el: Don't use the Windows-specific CP1250 implementation, rely on that in latin.el instead.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 07 May 2008 21:06:45 +0200
parents c32b3d10c56b
children ac6231e0c1df
files lisp/ChangeLog lisp/mule/latin.el lisp/mule/mule-win32-init.el
diffstat 3 files changed, 139 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Apr 26 16:28:44 2008 +0200
+++ b/lisp/ChangeLog	Wed May 07 21:06:45 2008 +0200
@@ -1,3 +1,10 @@
+2008-05-07  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* mule/latin.el (windows-1250): Add the Central European Windows
+	coding system. 
+	* mule/mule-win32-init.el: Don't use the Windows-specific CP1250
+	implementation, rely on that in latin.el instead. 
+
 2008-04-13  Henry S. Thompson <ht@inf.ed.ac.uk>, Mike Sperber  <mike@xemacs.org>
 
 	* window-xemacs.el (save-window-excursion/mapping,
--- a/lisp/mule/latin.el	Sat Apr 26 16:28:44 2008 +0200
+++ b/lisp/mule/latin.el	Wed May 07 21:06:45 2008 +0200
@@ -188,6 +188,137 @@
 when used to write German (or English, of course).  "
  '(mnemonic "Latin 2"
    aliases (iso-latin-2 latin-2)))
+
+(make-8-bit-coding-system
+ 'windows-1250
+ '((#x80 ?\u20AC) ;; EURO SIGN
+   (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+   (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+   (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+   (#x86 ?\u2020) ;; DAGGER
+   (#x87 ?\u2021) ;; DOUBLE DAGGER
+   (#x89 ?\u2030) ;; PER MILLE SIGN
+   (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
+   (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+   (#x8C ?\u015A) ;; LATIN CAPITAL LETTER S WITH ACUTE
+   (#x8D ?\u0164) ;; LATIN CAPITAL LETTER T WITH CARON
+   (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
+   (#x8F ?\u0179) ;; LATIN CAPITAL LETTER Z WITH ACUTE
+   (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+   (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+   (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+   (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+   (#x95 ?\u2022) ;; BULLET
+   (#x96 ?\u2013) ;; EN DASH
+   (#x97 ?\u2014) ;; EM DASH
+   (#x99 ?\u2122) ;; TRADE MARK SIGN
+   (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
+   (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+   (#x9C ?\u015B) ;; LATIN SMALL LETTER S WITH ACUTE
+   (#x9D ?\u0165) ;; LATIN SMALL LETTER T WITH CARON
+   (#x9E ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
+   (#x9F ?\u017A) ;; LATIN SMALL LETTER Z WITH ACUTE
+   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+   (#xA1 ?\u02C7) ;; CARON
+   (#xA2 ?\u02D8) ;; BREVE
+   (#xA3 ?\u0141) ;; LATIN CAPITAL LETTER L WITH STROKE
+   (#xA4 ?\u00A4) ;; CURRENCY SIGN
+   (#xA5 ?\u0104) ;; LATIN CAPITAL LETTER A WITH OGONEK
+   (#xA6 ?\u00A6) ;; BROKEN BAR
+   (#xA7 ?\u00A7) ;; SECTION SIGN
+   (#xA8 ?\u00A8) ;; DIAERESIS
+   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+   (#xAA ?\u015E) ;; LATIN CAPITAL LETTER S WITH CEDILLA
+   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xAC ?\u00AC) ;; NOT SIGN
+   (#xAD ?\u00AD) ;; SOFT HYPHEN
+   (#xAE ?\u00AE) ;; REGISTERED SIGN
+   (#xAF ?\u017B) ;; LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   (#xB0 ?\u00B0) ;; DEGREE SIGN
+   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+   (#xB2 ?\u02DB) ;; OGONEK
+   (#xB3 ?\u0142) ;; LATIN SMALL LETTER L WITH STROKE
+   (#xB4 ?\u00B4) ;; ACUTE ACCENT
+   (#xB5 ?\u00B5) ;; MICRO SIGN
+   (#xB6 ?\u00B6) ;; PILCROW SIGN
+   (#xB7 ?\u00B7) ;; MIDDLE DOT
+   (#xB8 ?\u00B8) ;; CEDILLA
+   (#xB9 ?\u0105) ;; LATIN SMALL LETTER A WITH OGONEK
+   (#xBA ?\u015F) ;; LATIN SMALL LETTER S WITH CEDILLA
+   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+   (#xBC ?\u013D) ;; LATIN CAPITAL LETTER L WITH CARON
+   (#xBD ?\u02DD) ;; DOUBLE ACUTE ACCENT
+   (#xBE ?\u013E) ;; LATIN SMALL LETTER L WITH CARON
+   (#xBF ?\u017C) ;; LATIN SMALL LETTER Z WITH DOT ABOVE
+   (#xC0 ?\u0154) ;; LATIN CAPITAL LETTER R WITH ACUTE
+   (#xC1 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
+   (#xC2 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+   (#xC3 ?\u0102) ;; LATIN CAPITAL LETTER A WITH BREVE
+   (#xC4 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
+   (#xC5 ?\u0139) ;; LATIN CAPITAL LETTER L WITH ACUTE
+   (#xC6 ?\u0106) ;; LATIN CAPITAL LETTER C WITH ACUTE
+   (#xC7 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
+   (#xC8 ?\u010C) ;; LATIN CAPITAL LETTER C WITH CARON
+   (#xC9 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
+   (#xCA ?\u0118) ;; LATIN CAPITAL LETTER E WITH OGONEK
+   (#xCB ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
+   (#xCC ?\u011A) ;; LATIN CAPITAL LETTER E WITH CARON
+   (#xCD ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
+   (#xCE ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+   (#xCF ?\u010E) ;; LATIN CAPITAL LETTER D WITH CARON
+   (#xD0 ?\u0110) ;; LATIN CAPITAL LETTER D WITH STROKE
+   (#xD1 ?\u0143) ;; LATIN CAPITAL LETTER N WITH ACUTE
+   (#xD2 ?\u0147) ;; LATIN CAPITAL LETTER N WITH CARON
+   (#xD3 ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
+   (#xD4 ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+   (#xD5 ?\u0150) ;; LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+   (#xD6 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
+   (#xD7 ?\u00D7) ;; MULTIPLICATION SIGN
+   (#xD8 ?\u0158) ;; LATIN CAPITAL LETTER R WITH CARON
+   (#xD9 ?\u016E) ;; LATIN CAPITAL LETTER U WITH RING ABOVE
+   (#xDA ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
+   (#xDB ?\u0170) ;; LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+   (#xDC ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
+   (#xDD ?\u00DD) ;; LATIN CAPITAL LETTER Y WITH ACUTE
+   (#xDE ?\u0162) ;; LATIN CAPITAL LETTER T WITH CEDILLA
+   (#xDF ?\u00DF) ;; LATIN SMALL LETTER SHARP S
+   (#xE0 ?\u0155) ;; LATIN SMALL LETTER R WITH ACUTE
+   (#xE1 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
+   (#xE2 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
+   (#xE3 ?\u0103) ;; LATIN SMALL LETTER A WITH BREVE
+   (#xE4 ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
+   (#xE5 ?\u013A) ;; LATIN SMALL LETTER L WITH ACUTE
+   (#xE6 ?\u0107) ;; LATIN SMALL LETTER C WITH ACUTE
+   (#xE7 ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
+   (#xE8 ?\u010D) ;; LATIN SMALL LETTER C WITH CARON
+   (#xE9 ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
+   (#xEA ?\u0119) ;; LATIN SMALL LETTER E WITH OGONEK
+   (#xEB ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
+   (#xEC ?\u011B) ;; LATIN SMALL LETTER E WITH CARON
+   (#xED ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
+   (#xEE ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
+   (#xEF ?\u010F) ;; LATIN SMALL LETTER D WITH CARON
+   (#xF0 ?\u0111) ;; LATIN SMALL LETTER D WITH STROKE
+   (#xF1 ?\u0144) ;; LATIN SMALL LETTER N WITH ACUTE
+   (#xF2 ?\u0148) ;; LATIN SMALL LETTER N WITH CARON
+   (#xF3 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
+   (#xF4 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
+   (#xF5 ?\u0151) ;; LATIN SMALL LETTER O WITH DOUBLE ACUTE
+   (#xF6 ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
+   (#xF7 ?\u00F7) ;; DIVISION SIGN
+   (#xF8 ?\u0159) ;; LATIN SMALL LETTER R WITH CARON
+   (#xF9 ?\u016F) ;; LATIN SMALL LETTER U WITH RING ABOVE
+   (#xFA ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
+   (#xFB ?\u0171) ;; LATIN SMALL LETTER U WITH DOUBLE ACUTE
+   (#xFC ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
+   (#xFD ?\u00FD) ;; LATIN SMALL LETTER Y WITH ACUTE
+   (#xFE ?\u0163) ;; LATIN SMALL LETTER T WITH CEDILLA
+   (#xFF ?\u02D9)) ;; DOT ABOVE
+ "CP 1250, Microsoft's encoding for Central Europe. 
+See also `iso-8859-2' and `window-1252' for Western Europe.  "
+ '(mnemonic "CP1250"
+   aliases (cp1250)))
+
 
 ;; 
 ;; Latin-3 (ISO-8859-3). Esperanto, Maltese and Turkish. Obsolescent.
--- a/lisp/mule/mule-win32-init.el	Sat Apr 26 16:28:44 2008 +0200
+++ b/lisp/mule/mule-win32-init.el	Wed May 07 21:06:45 2008 +0200
@@ -153,10 +153,9 @@
        ;; http://blogs.msdn.com/michkap/archive/2005/08/01/446475.aspx
        ; ("ANSI"        1200 utf-16-little-endian "Unicode (BMP of ISO 10646)")
 
-       ("ANSI"        1250 no-conversion "Windows 3.1 Eastern European")
-
        ;; We implement this ourselves, and keeping the same implementation
        ;; across platforms means behaviour is a bit more consistent.
+       ; ("ANSI"        1250 no-conversion "Windows 3.1 Eastern European")
        ; ("ANSI"        1251 no-conversion "Windows 3.1 Cyrillic")
        ; ("ANSI"        1252 no-conversion "Windows 3.1 US (ANSI)")