texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Texmacs-dev] Patches: various encoding and latex-export issues


From: Norbert Nemec
Subject: [Texmacs-dev] Patches: various encoding and latex-export issues
Date: Sat, 09 May 2009 09:49:57 +0100
User-agent: Thunderbird 2.0.0.21 (X11/20090409)

Hi there,

enclosed are a few small patches that I had lying around for some time now. They fix a few minor encoding issues. Each one has comments in the header.

The first one (09-ligatures-keyboard) might be slightly controversial. I find that it works more consistently that way. It should be fully backward compatible. Please check for yourself.

Greetings,
Norbert
Up to now, the endash (--), as well as opening and closing double quotes (`` 
and '') were handled

From:  <>

as ligatures by the font renderer. In fact, however, there are specific 
characters in the
Cork T1 encoding for each of these.

This behavior is not consistent with that of other characters like the lower 
double quote (,,),
the guillemot (<< and >>) or the emdash (---). Consider, e.g. the behavior when 
using the backspace
key: Upper double quotes are deleted as two characters, lower quotes as one.

This patch reverts to the use of the actual Cork T1 codes for the three special 
characters.

The ligature-handling of the special combinations stays in place, even though 
it not needed any more.
---

 src/TeXmacs/progs/text/text-kbd.scm         |   18 +++++----
 src/TeXmacs/progs/utils/edit/auto-close.scm |   54 ++++++++++++++-------------
 2 files changed, 36 insertions(+), 36 deletions(-)


diff --git a/src/TeXmacs/progs/text/text-kbd.scm 
b/src/TeXmacs/progs/text/text-kbd.scm
index db3c47c..505fcab 100644
--- a/src/TeXmacs/progs/text/text-kbd.scm
+++ b/src/TeXmacs/progs/text/text-kbd.scm
@@ -20,16 +20,16 @@
   ("\"" (insert-quote))
   ("<" "<less>")
   (">" "<gtr>")
-  ("< var" "")
-  ("> var" "")
-  ("< <" "")
-  ("> >" "")
-  (", ," "")
+  ("< var" "\x0E")
+  ("> var" "\x0F")
+  ("` `" "\x10")
+  ("' '" "\x11")
+  (", ," "\x12")
+  ("< <" "\x13")
+  ("> >" "\x14")
+  ("- -" "\x15")
+  ("- - -" "\x16")
   ("sz" "ÿ")
-  ("- - -" (make 'emdash))
-  ;;("- -" "")
-  ;;("' '" "")
-  ;;("` `" "")
 
   ("text:symbol s" "ÿ")
   ("text:symbol S" "ß")
diff --git a/src/TeXmacs/progs/utils/edit/auto-close.scm 
b/src/TeXmacs/progs/utils/edit/auto-close.scm
index 7ac5885..589539d 100644
--- a/src/TeXmacs/progs/utils/edit/auto-close.scm
+++ b/src/TeXmacs/progs/utils/edit/auto-close.scm
@@ -44,37 +44,37 @@
        (> (cAr p) 0))))
 
 (define (open-quotes lan)
-  (cond ((== lan "none") (insert "\""))
-       ((== lan "danish") (insert "''"))
-       ((== lan "dutch") (insert ""))
-       ((== lan "french") (insert " "))
-       ((== lan "german") (insert ""))
-       ((== lan "spanish") (insert ""))
-       ((== lan "swiss") (insert ""))
-       ((== lan "polish") (insert ""))
-       (else (insert "``"))))
+  (cond ((== lan "none")    (insert "\""))
+       ((== lan "danish")  (insert "\x11"))   ; "''"
+       ((== lan "dutch")   (insert "\x12"))   ; ",,"
+       ((== lan "french")  (insert "\x13 "))  ; ">> "
+       ((== lan "german")  (insert "\x12"))   ; ",,"
+       ((== lan "spanish") (insert "\x13"))   ; ">>"
+       ((== lan "swiss")   (insert "\x14"))   ; "<<"
+       ((== lan "polish")  (insert "\x12"))   ;
+       (else               (insert "\x10")))) ; "``"
 
 (define (close-quotes lan)
-  (cond ((== lan "none") (insert "\""))
-       ((== lan "danish") (insert "''"))
-       ((== lan "dutch") (insert "''"))
-       ((== lan "french") (insert " "))
-       ((== lan "german") (insert "``"))
-       ((== lan "spanish") (insert ""))
-       ((== lan "swiss") (insert ""))
-       ((== lan "polish") (insert "''"))
-       (else (insert "''"))))
+  (cond ((== lan "none")    (insert "\""))
+       ((== lan "danish")  (insert "\x11"))   ; "''"
+       ((== lan "dutch")   (insert "\x11"))   ; "''"
+       ((== lan "french")  (insert " \x14"))  ; " <<"
+       ((== lan "german")  (insert "\x10"))   ; "``"
+       ((== lan "spanish") (insert "\x14"))   ; "<<"
+       ((== lan "swiss")   (insert "\x13"))   ; ">>"
+       ((== lan "polish")  (insert "\x11"))   ; "''"
+       (else               (insert "\x11")))) ; "''"
 
 (define (insert-quote-both lan)
-  (cond ((== lan "none") (insert "\""))
-       ((== lan "danish") (insert-go-to "''''" '(2)))
-       ((== lan "dutch") (insert-go-to "''" '(1)))
-       ((== lan "french") (insert-go-to "  " '(2)))
-       ((== lan "german") (insert-go-to "``" '(1)))
-       ((== lan "spanish") (insert-go-to "" '(1)))
-       ((== lan "swiss") (insert-go-to "" '(1)))
-       ((== lan "polish") (insert-go-to "''" '(1)))
-       (else (insert-go-to "``''" '(2)))))
+  (cond ((== lan "none")    (insert-go-to "\"\"" '(1)))       ; "some text"
+       ((== lan "danish")  (insert-go-to "\x11\x11" '(1)))   ; ''some text''
+       ((== lan "dutch")   (insert-go-to "\x12\x11" '(1)))   ; ,,some text''
+       ((== lan "french")  (insert-go-to "\x13  \x14" '(2))) ; >> some text <<
+       ((== lan "german")  (insert-go-to "\x12\x10" '(1)))   ; ,,some text``
+       ((== lan "spanish") (insert-go-to "\x13\x14" '(1)))   ; >>some text<<
+       ((== lan "swiss")   (insert-go-to "\x14\x13" '(1)))   ; <<some text>>
+       ((== lan "polish")  (insert-go-to "\x12\x11" '(1)))   ; ,,some text''
+       (else               (insert-go-to "\x10\x11" '(1))))) ; ``some text''
 
 (define (insert-quote-sub lan)
   (cond (auto-close-brackets? (insert-quote-both lan))
Correct latex import of the special sequences

From:  <>

<< >> ?` !? -- --- ,, `` ''

The cases `` '' -- would also be correctly handled as ligatures by the font 
renderer
but are cleaner represented by their specific codes.
---

 src/src/Data/Convert/Tex/parsetex.cpp |   73 ++++++++++++++++++++++++---------
 1 files changed, 52 insertions(+), 21 deletions(-)


diff --git a/src/src/Data/Convert/Tex/parsetex.cpp 
b/src/src/Data/Convert/Tex/parsetex.cpp
index 2d5a3ed..c253449 100644
--- a/src/src/Data/Convert/Tex/parsetex.cpp
+++ b/src/src/Data/Convert/Tex/parsetex.cpp
@@ -173,12 +173,15 @@ latex_parser::parse (string s, int& i, string stop, bool 
change) {
       break;
     case '\'':
       i++;
-      if (command_type ["!mode"] == "math") {
+      if ((i<n) && s[i] == '\'') {
+        i++;
+        t << "\x11"; // "''"
+      } else if (command_type ["!mode"] == "math") {
        int start= i-1;
        while ((i < N(s)) && (s[i] == '\'')) i++;
        t << tuple ("\\prime", s (start, i));
-      }
-      else t << s (i-1, i);
+      } else
+        t << s (i-1, i);
       break;
     case '*':
       if (command_type ["!mode"] == "math") t << tree (TUPLE, "\\ast");
@@ -204,16 +207,24 @@ latex_parser::parse (string s, int& i, string stop, bool 
change) {
       */
       break;
     case '<':
-      t << tree (TUPLE, "\\<less>");
       i++;
+      if ((i<n) && s[i] == '<') {
+        i++;
+        t << "\x13"; // "<<"
+      } else
+        t << tree (TUPLE, "\\<less>");
       break;
     case '>':
-      t << tree (TUPLE, "\\<gtr>");
       i++;
+      if ((i<n) && s[i] == '>') {
+        i++;
+        t << "\x14"; // ">>"
+      } else
+        t << tree (TUPLE, "\\<gtr>");
       break;
-    case '\244':
+    case '\xA4':
       i++;
-      t << parse_verbatim (s, i, "\244");
+      t << parse_verbatim (s, i, "\xA4");
       break;
     case '{': {
       i++;
@@ -229,7 +240,7 @@ latex_parser::parse (string s, int& i, string stop, bool 
change) {
     }
     case '$': {
       i++;
-      if ((i<n) & (s[i]=='$')) {
+      if ((i<n) && (s[i]=='$')) {
        i++;
        t << tree (TUPLE, "\\begin-displaymath");
        command_type ("!mode")= "math";
@@ -250,11 +261,29 @@ latex_parser::parse (string s, int& i, string stop, bool 
change) {
       break;
     }
     default:
-      if (unicode && ((unsigned char) s[i]) >= 128) {
+      if (s[i] == '-' && (i+1<n) && s[i+1] == '-') {
+        i += 2;
+        if ((i<n) && s[i] == '-') {
+          t << "\x16"; // "---"
+         i++;
+       } else
+         t << "\x15"; // "--"
+      } else if (s[i] == ',' && (i+1<n) && s[i+1] == ',') {
+        t << "\x12"; // ",,"
+       i += 2;
+      } else if (s[i] == '`' && (i+1<n) && s[i+1] == '`') {
+        t << "\x10"; // "``"
+       i += 2;
+      } else if (s[i] == '!' && (i+1<n) && s[i+1] == '`') {
+        t << "\xBD"; // "!`"
+       i += 2;
+      } else if (s[i] == '?' && (i+1<n) && s[i+1] == '`') {
+        t << "\xBE"; // "?`"
+       i += 2;
+      } else if (unicode && ((unsigned char) s[i]) >= 128) {
        unsigned int code= decode_from_utf8 (s, i);
        t << tree (TUPLE, "\\#" * as_hexadecimal (code));
-      }
-      else if (!unicode && is_iso_alpha (s[i])) {
+      } else if (!unicode && is_iso_alpha (s[i])) {
        // If we encounter too much text in math mode, then return
        int start= i;
        while ((i<n) && is_iso_alpha (s[i])) i++;
@@ -651,16 +680,18 @@ accented_to_Cork (tree t) {
        ret_s[0]= '\000';
        return ret_s;
       }
-      if (s[1] == '\'') return "\001";
-      if (s[1] == '^' ) return "\136";
-      if (s[1] == '\"') return "\004"; // "
-      if (s[1] == '~' ) return "\176";
-      if (s[1] == '=' ) return "\026";
-      if (s[1] == '.' ) return "\137";
-      if (s[1] == 'u' ) return "\025";
-      if (s[1] == 'v' ) return "\024";
-      if (s[1] == 'H' ) return "\175";
-      if (s[1] == 'c' ) return "\030";
+      if (s[1] == '\'') return "\x01";
+      if (s[1] == '^' ) return "^";
+      if (s[1] == '~' ) return "~";
+      if (s[1] == '\"') return "\x04";
+      if (s[1] == 'H' ) return "\x05";
+      if (s[1] == 'r' ) return "\x06";
+      if (s[1] == 'v' ) return "\x07";
+      if (s[1] == 'u' ) return "\x08";
+      if (s[1] == 'b' ) return "\x09";
+      if (s[1] == '.' ) return "\x0A";
+      if (s[1] == 'c' ) return "\x0B";
+      if (s[1] == 'k' ) return "\x0C";
     }
     else {
       char c1= v[0], c2= s[1];
Export numerical rgb colors correctly to latex

From:  <>


---

 src/TeXmacs/progs/convert/latex/tmtex.scm |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)


diff --git a/src/TeXmacs/progs/convert/latex/tmtex.scm 
b/src/TeXmacs/progs/convert/latex/tmtex.scm
index 145df83..1cd8127 100644
--- a/src/TeXmacs/progs/convert/latex/tmtex.scm
+++ b/src/TeXmacs/progs/convert/latex/tmtex.scm
@@ -20,6 +20,8 @@
        (convert latex texout)
        (convert latex latex-tools)))
 
+(use-modules (ice-9 format))
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Global variables
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -894,7 +896,13 @@
              ((== "par-first" var) (tmtex-make-parmod "0pt" "0pt" val arg))
              ((== "par-par-sep" var) (tmtex-make-parsep val arg))
              ((== var "color")
-               (list '!group (tex-concat (list (list 'color val) " " arg))))
+               (if (and (= (string-length val) 7) (char=? (string-ref val 0) 
#\#))
+                 (let* ((r (quotient (* (string->number (substring val 1 3) 
16) 1000) 255))
+                        (g (quotient (* (string->number (substring val 3 5) 
16) 1000) 255))
+                        (b (quotient (* (string->number (substring val 5 7) 
16) 1000) 255))
+                        (rgb (format #f "~,,-3f,~,,-3f,~,,-3f" r g b)))
+                   (list '!group (tex-concat (list (list 'color (list '!option 
"rgb") rgb) " " arg))))
+                 (list '!group (tex-concat (list (list 'color val) " " arg)))))
              (else arg)))))
 
 (define (tmtex-with l)
Fix some issues in the cork-to-latex converter. Also remove non-ascii 
characters from the sources.

From:  <>

(These are nasty in some editors)
---

 .../progs/convert/latex/latex-texmacs-drd.scm      |  228 ++++++++++++++------
 src/TeXmacs/progs/convert/latex/latex-tools.scm    |    5 
 src/TeXmacs/progs/convert/latex/tmtex.scm          |    3 
 3 files changed, 164 insertions(+), 72 deletions(-)


diff --git a/src/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm 
b/src/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm
index 55473c4..587efe4 100644
--- a/src/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm
+++ b/src/TeXmacs/progs/convert/latex/latex-texmacs-drd.scm
@@ -470,73 +470,167 @@
 ;; Catcode tables
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(drd-table iso-latin-catcodes%
-  ("à" "\\`a")
-  ("À" "\\`A")
-  ("á" "\\'a")
-  ("Á" "\\'A")
-  ("ä" "\\\"a")
-  ("Ä" "\\\"A")
-  ("â" "\\^a")
-  ("Â" "\\^A")
-  ("å" "{\\aa}")
-  ("Å" "{\\AA}")
-  ("Ã" "\\~A")
-  ("ã" "\\~a")
-  ("Æ" "{\\AE}")
-  ("æ" "{\\ae}")
-  ("ç" "\\c{c}")
-  ("Ç" "\\c{C}")
-  ("ð" "{\\dh}")
-  ("Ð" "{\\DH}")
-  ("è" "\\`e")
-  ("È" "\\`E")
-  ("é" "\\'e")
-  ("É" "\\'E")
-  ("ë" "\\\"e")
-  ("Ë" "\\\"E")
-  ("ê" "\\^e")
-  ("Ê" "\\^E")
-  ("ì" "\\`{\\i}")
-  ("Ì" "\\`I")
-  ("í" "\\'{\\i}")
-  ("Í" "\\'I")
-  ("ï" "\\\"{\\i}")
-  ("Ï" "\\\"I")
-  ("î" "\\^{\\i}")
-  ("Î" "\\^I")
-  ("Ñ" "\\~N")
-  ("ñ" "\\~n")
-  ("ò" "\\`o")
-  ("Ò" "\\`O")
-  ("ó" "\\'o")
-  ("Ó" "\\'O")
-  ("ö" "\\\"o")
-  ("Ö" "\\\"O")
-  ("ô" "\\^o")
-  ("Ô" "\\^O")
-  ("Õ" "\\~O")
-  ("õ" "\\~o")
-  ("Ø" "{\\O}")
-  ("ø" "{\\o}")
-  ("ß" "{\\ss}")
-  ("þ" "{\\th}")
-  ("Þ" "{\\TH}")
-  ("ù" "\\`u")
-  ("Ù" "\\`U")
-  ("ú" "\\'u")
-  ("Ú" "\\'U")
-  ("ü" "\\\"u")
-  ("Ü" "\\\"U")
-  ("û" "\\^u")
-  ("Û" "\\^U")
-  ("ý" "\\'y")
-  ("Ý" "\\'Y")
-  ("ÿ" "\\\"y")
-  ("¾" "\\\"Y")
-  ("¡" "!`")
-  ("" "?`")
-  ("¿" "?`"))
+(drd-table corkT1-to-latex-catcodes%
+  ("\x00" "\\`{ }")
+  ("\x01" "\\'{ }")
+  ("\x02" "\\^{ }")
+  ("\x03" "\\~{ }")
+  ("\x04" "\\\"{ }")
+  ("\x05" "\\H{ }")
+  ("\x06" "\\r{ }")
+  ("\x07" "\\v{ }")
+  ("\x08" "\\u{ }")
+  ("\x09" "\\b{ }")
+;  ("\x0A" "\\.{ }") ; newline may still be present in strings!!!
+  ("\x0B" "\\c{ }")
+  ("\x0C" "\\k{ }")
+  ("\x0D" ",")
+  ("\x0E" "{\\guilsinglleft}")
+  ("\x0F" "{\\guilsinglright}")
+  ("\x10" "``")
+  ("\x11" "''")
+  ("\x12" ",,")
+  ("\x13" "<<")
+  ("\x14" ">>")
+  ("\x15" "--")
+  ("\x16" "---")
+  ("\x17" "{}")
+  ("\x18" "{}")
+  ("\x19" "\\i")
+  ("\x1A" "\\j")
+  ("\x1B" "ff")
+  ("\x1C" "fi")
+  ("\x1D" "fl")
+  ("\x1E" "ffi")
+  ("\x1F" "ffl")
+  ("\x80" "\\u{A}")
+  ("\x81" "\\k{A}")
+  ("\x82" "\\'C")
+  ("\x83" "\\v{C}")
+  ("\x84" "\\v{D}")
+  ("\x85" "\\v{E}")
+  ("\x86" "\\k{E}")
+  ("\x87" "\\u{G}")
+  ("\x88" "\\'L")
+  ("\x89" "\\v{L}")
+  ("\x8A" "\\L")
+  ("\x8B" "\\'N")
+  ("\x8C" "\\v{N}")
+  ("\x8D" "{\\NG}")
+  ("\x8E" "\\H{O}")
+  ("\x8F" "\\'R")
+  ("\x90" "\\v{R}")
+  ("\x91" "\\'S")
+  ("\x92" "\\v{S}")
+  ("\x93" "\\c{S}")
+  ("\x94" "\\v{T}")
+  ("\x95" "\\c{T}")
+  ("\x96" "\\H{U}")
+  ("\x97" "\\r{U}")
+  ("\x98" "\\\"Y")
+  ("\x99" "\\'Z")
+  ("\x9A" "\\v{Z}")
+  ("\x9B" "\\.Z")
+  ("\x9C" "IJ")
+  ("\x9D" "\\.I")
+  ("\x9E" "{\\dj}")
+  ("\x9F" "{\\S}")
+  ("\xA0" "\\u{a}")
+  ("\xA1" "\\k{a}")
+  ("\xA2" "\\'c")
+  ("\xA3" "\\v{c}")
+  ("\xA4" "\\v{d}")
+  ("\xA5" "\\v{e}")
+  ("\xA6" "\\k{e}")
+  ("\xA7" "\\u{g}")
+  ("\xA8" "\\'l")
+  ("\xA9" "\\v{l}")
+  ("\xAA" "{\\l}")
+  ("\xAB" "\\'n")
+  ("\xAC" "\\v{n}")
+  ("\xAD" "{\\ng}")
+  ("\xAE" "\\H{o}")
+  ("\xAF" "\\'r")
+  ("\xB0" "\\v{r}")
+  ("\xB1" "\\'s")
+  ("\xB2" "\\v{s}")
+  ("\xB3" "\\c{s}")
+  ("\xB4" "\\v{t}")
+  ("\xB5" "\\c{t}")
+  ("\xB6" "\\H{u}")
+  ("\xB7" "\\r{u}")
+  ("\xB8" "\\\"y")
+  ("\xB9" "\\'z")
+  ("\xBA" "\\v{z}")
+  ("\xBB" "\\.z")
+  ("\xBC" "ij")
+  ("\xBD" "!`")
+  ("\xBE" "?`")
+  ("\xBF" "{\\pounds}")
+  ("\xC0" "\\`A")
+  ("\xC1" "\\'A")
+  ("\xC2" "\\^A")
+  ("\xC3" "\\~A")
+  ("\xC4" "\\\"A")
+  ("\xC5" "{\\AA}")
+  ("\xC6" "{\\AE}")
+  ("\xC7" "\\c{C}")
+  ("\xC8" "\\`E")
+  ("\xC9" "\\'E")
+  ("\xCA" "\\^E")
+  ("\xCB" "\\\"E")
+  ("\xCC" "\\`I")
+  ("\xCD" "\\'I")
+  ("\xCE" "\\^I")
+  ("\xCF" "\\\"I")
+  ("\xD0" "{\\DH}")
+  ("\xD1" "\\~N")
+  ("\xD2" "\\`O")
+  ("\xD3" "\\'O")
+  ("\xD4" "\\^O")
+  ("\xD5" "\\~O")
+  ("\xD6" "\\\"O")
+  ("\xD7" "{\\OE}")
+  ("\xD8" "{\\O}")
+  ("\xD9" "\\`U")
+  ("\xDA" "\\'U")
+  ("\xDB" "\\^U")
+  ("\xDC" "\\\"U")
+  ("\xDD" "\\'Y")
+  ("\xDE" "{\\TH}")
+  ("\xDF" "{\\SS}")
+  ("\xE0" "\\`a")
+  ("\xE1" "\\'a")
+  ("\xE2" "\\^a")
+  ("\xE3" "\\~a")
+  ("\xE4" "\\\"a")
+  ("\xE5" "{\\aa}")
+  ("\xE6" "{\\ae}")
+  ("\xE7" "\\c{c}")
+  ("\xE8" "\\`e")
+  ("\xE9" "\\'e")
+  ("\xEA" "\\^e")
+  ("\xEB" "\\\"e")
+  ("\xEC" "\\`{\\i}")
+  ("\xED" "\\'{\\i}")
+  ("\xEE" "\\^{\\i}")
+  ("\xEF" "\\\"{\\i}")
+  ("\xF0" "{\\dh}")
+  ("\xF1" "\\~n")
+  ("\xF2" "\\`o")
+  ("\xF3" "\\'o")
+  ("\xF4" "\\^o")
+  ("\xF5" "\\~o")
+  ("\xF6" "\\\"o")
+  ("\xF7" "{\\oe}")
+  ("\xF8" "{\\o}")
+  ("\xF9" "\\`u")
+  ("\xFA" "\\'u")
+  ("\xFB" "\\^u")
+  ("\xFC" "\\\"u")
+  ("\xFD" "\\'y")
+  ("\xFE" "{\\th}")
+  ("\xFF" "{\\ss}"))
 
 (drd-table cyrillic-catcodes%
   ("À" "\\CYRA")
diff --git a/src/TeXmacs/progs/convert/latex/latex-tools.scm 
b/src/TeXmacs/progs/convert/latex/latex-tools.scm
index 12f3bf8..7b4e610 100644
--- a/src/TeXmacs/progs/convert/latex/latex-tools.scm
+++ b/src/TeXmacs/progs/convert/latex/latex-tools.scm
@@ -54,7 +54,7 @@
 (define (latex-replace-catcode s)
   (or (if latex-cyrillic-catcode?
          (drd-ref cyrillic-catcodes% s)
-         (drd-ref iso-latin-catcodes% s))
+         (drd-ref corkT1-to-latex-catcodes% s))
       s))
 
 (tm-define (latex-expand-catcodes t)
@@ -285,8 +285,9 @@
         (pre-page     (latex-serialize-preamble Page))
         (pre-macro    (latex-serialize-preamble Macro))
         (pre-catcode  (latex-catcode-defs Text))
+        (pre-fontenc  "\\usepackage[T1]{fontenc}\n")
         (pre-uses     (latex-use-package-command Text)))
     (values
-      (string-append pre-uses)
+      (string-append pre-uses pre-fontenc)
       (string-append pre-page)
       (string-append pre-language pre-catcode pre-macro))))
diff --git a/src/TeXmacs/progs/convert/latex/tmtex.scm 
b/src/TeXmacs/progs/convert/latex/tmtex.scm
index 1cd8127..0e622ac 100644
--- a/src/TeXmacs/progs/convert/latex/tmtex.scm
+++ b/src/TeXmacs/progs/convert/latex/tmtex.scm
@@ -316,9 +316,6 @@
              ((== c #\22) (tmtex-text-sub ",," l))
              ((== c #\25) (tmtex-text-sub "--" l))
              ((== c #\26) (tmtex-text-sub "---" l))
-             ((== c #\237) (tmtex-text-sub "\\S" l))
-             ((== c #\337) (tmtex-text-sub "SS" l))
-             ((== c #\377) (tmtex-text-sub "ß" l))
              (else (cons c (tmtex-text-list (cdr l))))))))
 
 (define (tmtex-math-operator l)
Ass the <AA> and <aa> characters to the unicode converter

From:  <>


---

 src/TeXmacs/langs/encoding/symbol-unicode-math.scm |    2 ++
 .../langs/encoding/tmuniversaltounicode.scm        |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)


diff --git a/src/TeXmacs/langs/encoding/symbol-unicode-math.scm 
b/src/TeXmacs/langs/encoding/symbol-unicode-math.scm
index 95b1810..f7dadd1 100644
--- a/src/TeXmacs/langs/encoding/symbol-unicode-math.scm
+++ b/src/TeXmacs/langs/encoding/symbol-unicode-math.scm
@@ -26,10 +26,12 @@
 ("<acute>"     "#B4")
 ("<cedille>"   "#B8")
 ("<flip-?>"    "#BF")
+("<AA>"                "#C5")
 ("<AE>"                "#C6")
 ("<Thorn>"     "#DE")
 ("<O/>"                "#D8")
 ("<sz>"                "#DF")
+("<aa>"                "#E5")
 ("<ae>"                "#E6")
 ("<dh>"                "#F0")
 ("<o/>"                "#F8")
diff --git a/src/TeXmacs/langs/encoding/tmuniversaltounicode.scm 
b/src/TeXmacs/langs/encoding/tmuniversaltounicode.scm
index 7baef95..2ad851b 100644
--- a/src/TeXmacs/langs/encoding/tmuniversaltounicode.scm
+++ b/src/TeXmacs/langs/encoding/tmuniversaltounicode.scm
@@ -172,11 +172,13 @@
 ; vulgar fraction one half "#BD"
 ; vulgar fraction three quarters "#BE"
 ;("<flip-?>"   "#BF") ; see symbol-unicode-math.scm
+;("<AA>"       "#C5") ; see symbol-unicode-math.scm
 ;("<AE>"       "#C6") ; see symbol-unicode-math.scm
 ;("<Thorn>"    "#DE") ; see symbol-unicode-math.scm
 ("<times>"     "#D7")
 ;("<O/>"       "#D8") ; see symbol-unicode-math.scm
 ;("<sz>"       "#DF") ; see symbol-unicode-math.scm
+;("<aa>"       "#E5") ; see symbol-unicode-math.scm
 ;("<ae>"       "#E6") ; see symbol-unicode-math.scm
 ;("<dh>"       "#F0") ; see symbol-unicode-math.scm
 ("<div>"       "#F7")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]