Fix default (ISO-8859-1) char image strings.
authorTaylor R Campbell <campbell@mumble.net>
Sat, 22 Feb 2014 19:20:29 +0000 (19:20 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Sat, 22 Feb 2014 19:20:36 +0000 (19:20 +0000)
We previously used `ANSI' char image strings, which really meant
Windows-1252 for some reason.  Now we use ISO-8859-1 so things get
displayed correctly in X at least.  Some characters may not display
*nicely* on Windows, but they will display *correctly* (with an octal
escape).

src/edwin/image.scm

index 392862acff31b53c6d2303fd1db9e2cda1c0b609..0c90162c131c10cc0d1e885aa10bbf615a18c1ee 100644 (file)
@@ -94,16 +94,24 @@ USA.
       (vector-set! strings i (string-append "\\" (number->string i 8))))
     strings))
 
-(define default-char-image-strings/ansi
+(define default-char-image-strings/iso-8859-1
   (let ((strings (vector-copy default-char-image-strings/original-emacs)))
-    (do ((i #x91 (+ i 1)))
-       ((= #x93 i))
-      (vector-set! strings i (string (integer->char i))))
     (do ((i #xA0 (+ i 1)))
        ((= #x100 i))
       (vector-set! strings i (string (integer->char i))))
     strings))
 
+(define default-char-image-strings/windows-1252
+  (let ((strings (vector-copy default-char-image-strings/iso-8859-1)))
+    (define (fixup i) (vector-set! strings i (string (integer->char i))))
+    (fixup #x80)                        ;Euro
+    (do ((i #x82 (+ i 1))) ((= i #x8d)) (fixup i))
+    (fixup #x8e)                        ;Z with hacek
+    (do ((i #x91 (+ i 1))) ((= i #x9d)) (fixup i))
+    (fixup #x9e)                        ;z with hacek
+    (fixup #x9f)                        ;Y with diaeresis
+    strings))
+
 (define default-char-image-strings/ascii
   (let ((strings (vector-copy default-char-image-strings/original-emacs)))
     (subvector-move-left!
@@ -114,7 +122,7 @@ USA.
      0 #x20 strings 0)
     strings))
 
-(define default-char-image-strings default-char-image-strings/ansi)
+(define default-char-image-strings default-char-image-strings/iso-8859-1)
 \f
 (define (group-line-columns group start end column
                            tab-width char-image-strings)