Diff for /loncom/xml/lontexconvert.pm between versions 1.112.2.4 and 1.113

version 1.112.2.4, 2014/06/18 06:48:47 version 1.113, 2013/09/15 23:06:46
Line 54  use IO::Socket::INET; Line 54  use IO::Socket::INET;
 #  #
 # Table of substitutions to unicode characters.  # Table of substitutions to unicode characters.
 #  #
   
 my %unicode_harpoons = (  
                         '\rightleftharpoons'  => 0x21cc,  
                       );  
   
 my %unicode_translations = (  my %unicode_translations = (
       '\rightleftharpoons'  => 0x21cc,
   
 # Brackets - unicode for browsers/OS which support it.  # Brackets - unicode is commented out with pure 8-bit ascii ugliness while we need it.
   
     ''             => 0x23a1,  
     ''             => 0x23a2,  
     ''             => 0x23a3,  
     ''             => 0x23a4,  
     ''             => 0x23a5,  
     ''             => 0x23a6,  
   
 #  Parens - unicode for browsers/OS which support it  
   
     ''              => 0x239b,  
     ''              => 0x239c,  
     ''              => 0x239d,  
     ''              => 0x239e,  
     ''              => 0x239f,  
     ''              => 0x23a0,  
   
 );  
   
 my %ascii_8bit_translations = (  
   
 # Brackets - pure 8-bit ascii ugliness for browsers/OS which can't handle unicode  
   
   #    ''             => 0x23a1,
   #    ''             => 0x23a2,
   #    ''             => 0x23a3,   # when unicode catches up with browsers
   #    ''             => 0x23a4,   # use these instead of the cheesey brackets below
   #    ''             => 0x23a5,
   #    ''             => 0x23a6   
     ''              => 0x5b,      ''              => 0x5b,
     ''              => 0x5b,    # '['      ''              => 0x5b,    # '['
     ''              => 0x5b,      ''              => 0x5b,
Line 92  my %ascii_8bit_translations = ( Line 72  my %ascii_8bit_translations = (
     ''              => 0x5d,      ''              => 0x5d,
     ''              => 0x5d,      ''              => 0x5d,
   
 # Parens - pure 8-bit ascii ugliness for browsers/OS which can't handle unicode  #  Parens..again the unicode is commented out with the 8-bit ascii ugliness
   #  turned on until browsers catch up with the unicode world.
   
   #    ''              => 0x239b,
   #    ''              => 0x239c,
   #    ''              => 0x239d,
   #    ''              => 0x239e,
   #    ''              => 0x239f,
   #    ''              => 0x23a0
   
     ''              => 0x28,      ''              => 0x28,
     ''              => 0x28,      # '('      ''              => 0x28,      # '('
     ''              => 0x28,      ''              => 0x28,
   
     ''              => 0x29,      ''              => 0x29,
     ''              => 0x29,      # '('      ''              => 0x29,      # '('
     ''              => 0x29,      ''              => 0x29
   
   
 );  );
   
Line 181  sub convert_real { Line 171  sub convert_real {
     &Apache::lonxml::end_alarm();      &Apache::lonxml::end_alarm();
   
     #      #
     # Several strings produced by tth require      #  Several strings produced by tth require
     # transliteration -> unicode equivalents to render reliably      # transliteration -> unicode equivalents to render reliably
     # in browsers. %unicode_translations and %unicode_harpoons are tables of      # in browsers. %unicode_translations is a table of
     # string->substitution which we now apply. (%ascii_8bit_translations used      # string->substitution which we now apply:
     # instead for Windows XP and mobile devices.  
   
     my $use_ascii;  
     if ($env{'browser.os'} eq 'win') {  
         if (($env{'browser.osversion'}) && ($env{'browser.osversion'} < 6.0)) {  
             $use_ascii = 1;  
         }  
     }  
     if ($env{'browser.mobile'}) {  
         $use_ascii = 1;  
     }  
   
     foreach my $pattern (keys(%unicode_translations)) {      foreach my $pattern (keys(%unicode_translations)) {
  my $unicode = $unicode_translations{$pattern};   my $unicode = $unicode_translations{$pattern};
  if ($use_ascii) {  
     $unicode = $ascii_8bit_translations{$pattern};  
  }  
  $xmlstring = &unicode_subst($xmlstring, $pattern, $unicode);   $xmlstring = &unicode_subst($xmlstring, $pattern, $unicode);
     }      }
   
     foreach my $pattern (keys(%unicode_harpoons)) {  
         $xmlstring = &unicode_subst($xmlstring, $pattern, $unicode_harpoons{$pattern});  
     }  
   
     return ($xmlstring,$errorstring);      return ($xmlstring,$errorstring);
 }  }
Line 296  sub MathJax_converted { Line 269  sub MathJax_converted {
         return          return
           '<script type="text/javascript" src="/adm/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>'."\n";            '<script type="text/javascript" src="/adm/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>'."\n";
     }      }
       #sub MathJax_process {
       #    my $state = pop(@MathJax_sent_header);
       #    return '' if !$state;
       #    return "\n".
       #        '<script type="text/javascript">MathJax.Process()</script>'."\n";
       #}
       #sub MathJax_state {
       #    my ($level) = @_;
       #    return $MathJax_sent_header[$level];
       #}
 }  }
   
   
Line 432  sub converted { Line 415  sub converted {
     } elsif ($mode =~ /jsmath/i) {      } elsif ($mode =~ /jsmath/i) {
  return &jsMath_converted($string);   return &jsMath_converted($string);
     } elsif ($mode =~ /mathjax/i) {      } elsif ($mode =~ /mathjax/i) {
         return &MathJax_converted($string);   return &MathJax_converted($string);
     } elsif ($mode =~ /mimetex/i) {      } elsif ($mode =~ /mimetex/i) {
  return &mimetex_converted($string);   return &mimetex_converted($string);
     } elsif ($mode =~ /raw/i) {      } elsif ($mode =~ /raw/i) {
Line 597  sub postprocess_algebra { Line 580  sub postprocess_algebra {
     $string =~s/\\lim\\left\((.+?),(.+?),(.+?)\\right\)/\\lim_{$2\\to $3}$1/gs;      $string =~s/\\lim\\left\((.+?),(.+?),(.+?)\\right\)/\\lim_{$2\\to $3}$1/gs;
     return $string;      return $string;
 }  }
   
   
 1;  1;
 __END__  __END__
   
Line 644  Header Line 625  Header
 =item jsMath_converted()  =item jsMath_converted()
   
 =item MathJax_converted()  =item MathJax_converted()
         - Mimics the jsMath functionality   - Mimics the jsMath functionality
   
 =item tex_engine()  =item tex_engine()
   

Removed from v.1.112.2.4  
changed lines
  Added in v.1.113


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>