[LON-CAPA-cvs] cvs: loncom /xml lonplot.pm

foxr lon-capa-cvs-allow@mail.lon-capa.org
Tue, 27 May 2008 10:40:33 -0000


This is a MIME encoded message

--foxr1211884833
Content-Type: text/plain

foxr		Tue May 27 06:40:33 2008 EDT

  Modified files:              
    /loncom/xml	lonplot.pm 
  Log:
  Fixed some incorrect chunks of the lookup table. Dealt with workarounds
  for font limitations.. testing, testing each and every entity.
  
  
--foxr1211884833
Content-Type: text/plain
Content-Disposition: attachment; filename="foxr-20080527064033.txt"

Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.142 loncom/xml/lonplot.pm:1.143
--- loncom/xml/lonplot.pm:1.142	Mon May 26 06:51:42 2008
+++ loncom/xml/lonplot.pm	Tue May 27 06:40:30 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Dynamic plot
 #
-# $Id: lonplot.pm,v 1.142 2008/05/26 10:51:42 foxr Exp $
+# $Id: lonplot.pm,v 1.143 2008/05/27 10:40:30 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -819,6 +819,13 @@
     return $result;
 }
 
+#
+#  Note that there are severe restrictions on font selection in the
+# ps driver now.  later in life Gnuplot is supposed to support
+# utf-8 fonts in the posts script driver.  When this happens,
+# the tex entries with comments that include the word <FIX>
+# should be changed to print the correct glyphs rather than some
+# approximation or fallback of what is intended.
 
 my %lookup = 
    (  # Greek alphabet:
@@ -888,31 +895,31 @@
       '#134'          => {'tex' => '{/Text \262}',    'web' => "\x{2020}"},
       '#135'          => {'tex' => '{/Text \263}',    'web' => "\x{2021}"},
       '#136'          => {'tex' => '\\\\^',           'web' => '\\\\^'},
-      '#137'          => {'tex' => '{/Text \275}',    'web' => "\x{2030}"},
-      '#138'          => {'tex' => 'S',               'web' => "\x{160}"}, # no S-caron in ps fonts.
+      '#137'          => {'tex' => '%o',              'web' => "\x{2030}"}, # Per Mille <FIX>
+      '#138'          => {'tex' => 'S',               'web' => "\x{160}"}, # S-Caron <FIX>
       '#139'          => {'tex' => '<',               'web' => '<'},
-      '#140'          => {'tex' => '{/Text \352}',    'web' => "\x{152}"},
+      '#140'          => {'tex' => 'AE',              'web' => "\x{152}"}, # AE ligature <FIX>
       '#145'          => {'tex' => '\140',            'web' => "\x{2018}"},
       '#146'          => {'tex' => '\47',             'web' => "\x{2019}"},
-      '#147'          => {'tex' => '{/Text \252}',    'web' => "\x{201c}"},
-      '#148'          => {'tex' => '{/Text \315}',    'web' => '\\"'},
+      '#147'          => {'tex' => '\140\140',        'web' => "\x{201c}"}, # Left " <FIX>
+      '#148'          => {'tex' => '\47\47',          'web' => '\\"'},      # Right " <FIX>
       '#149'          => {'tex' => '{/Symbol \267}',  'web' => "\x{2022}"},
-      '#150'          => {'tex' => '{/Text \55}',     'web' => "\x{2013}"},  #Untested here en dash
+      '#150'          => {'tex' => '{/Text \55}',     'web' => "\x{2013}"},  # en dash
       '#151'          => {'tex' => '{/Symbol \55}',   'web' => "\x{2014}"},  # em dash
-      '#152'          => {'tex' => '~',               'web' => '~'},
-      '#153'          => {'tex' => '{/Text \324}',    'web' => "\x{2122}"}, # trademark
+      '#152'          => {'tex' => '\\\\~',           'web' => '\\\\~'},
+      '#153'          => {'tex' => '{/Symbol \324}',  'web' => "\x{2122}"}, # trademark
 
       # Accented letters, and other furreign language glyphs.
 
       '#154'          => {'tex' => 's',               'web' => "\x{161}"}, # small s-caron no ps.
       '#155'          => {'tex' => '>',               'web' => '\76'},     # >
-      '#156'          => {'tex' => '{/Text \372}',    'web' => "\x{153}"}, # oe ligature.
-      '#159',         => {'tex' => 'Y',               'web' => "\x{178}"}, # Y-umlaut - can't print
+      '#156'          => {'tex' => '{/Text \366}',    'web' => "\x{153}"}, # oe ligature.<FIX>
+      '#159',         => {'tex' => 'Y',               'web' => "\x{178}"}, # Y-umlaut - can't print <FIX>
       '(nbsp|#160)'   => {'tex' => ' ',               'web' => ' '},       # non breaking space.
       '(iexcl|#161)'  => {'tex' => '{/Text \241}',    'web' => "\x{a1}"},  # inverted !
       '(cent|#162)'   => {'tex' => '{/Text \242}',    'web' => "\x{a2}"},  # Cent currency.
       '(pound|#163)'  => {'tex' => '{/Text \243}',    'web' => "\x{a3}"},  # GB Pound currency.
-      '(curren|#164)' => {'tex' => '{/Text \250}',    'web' => "\x{a4}"},  # Generic currency symb.
+      '(curren|#164)' => {'tex' => '{/ZapfDingbats \161}','web' => "\x{a4}"},  # Generic currency symb. <FIX>
       '(yen|#165)'    => {'tex' => '{/Text \245}',    'web' => "\x{a5}"},  # Yen currency.
       '(brvbar|#166)' => {'tex' => '{/Symbol \174}',  'web' => "\x{a6}"},  # Broken vert bar no print.
       '(sect|#167)'   => {'tex' => '{\247}',          'web' => "\x{a7}"},  # Section symbol.
@@ -921,20 +928,20 @@
       '(ordf|#170)'   => {'tex' => '{/Text \343}',    'web' => "\x{aa}"},  # Feminine ordinal.
       '(laquo|#171)'  => {'tex' => '{/Text \253}',    'web' => "\x{ab}"},  # << quotes.
       '(not|#172)'    => {'tex' => '\254',            'web' => "\x{ac}"},  # Logical not.
-      '(shy|#173)'    => {'tex' => '-',               'web' => "\x{ad}"},  # soft hyphen.
+      '(shy|#173)'    => {'tex' => '\255',               'web' => "\x{ad}"},  # soft hyphen.
       '(reg|#174)'    => {'tex' => '{/Symbol \342}',  'web' => "\x{ae}"},  # Registered tm.
-      '(macr|#175)'   => {'tex' => '^{-}',            'web' => "\x{af}"},  # 'naked' macron (overbar).
-      '(deg|#176)'    => {'tex' => '{/Text \312}',    'web' => "\x{b0}"},  # Degree symbo..
+      '(macr|#175)'   => {'tex' => '^{\255}',            'web' => "\x{af}"},  # 'naked' macron (overbar).
+      '(deg|#176)'    => {'tex' => '{/Text \260}',    'web' => "\x{b0}"},  # Degree symbo..`
       '(plusmn|#177)' => {'tex' => '{/Symbol \261}',  'web' => "\x{b1}"},  # +/- symbol.
       '(sup2|#178)'   => {'tex' => '^2',              'web' => "\x{b2}"},  # Superscript 2.
       '(sup3|#179)'   => {'tex' => '^3',              'web' => "\x{b3}"},  # Superscript 3.
-      '(acute|#180)'  => {'tex' => '{/Text \302}',    'web' => "\x{b4}"},  # 'naked' acute accent.
+      '(acute|#180)'  => {'tex' => '{/Text \222}',    'web' => "\x{b4}"},  # 'naked' acute accent.
       '(micro|#181)'  => {'tex' => '{/Symbol \155}',  'web' => "\x{b5}"},  # Micro (small mu).
       '(para|#182)'   => {'tex' => '{/Text \266}',    'web' => "\x{b6}"},  # Paragraph symbol.
-      '(middot|#183)' => {'tex' => '^.',              'web' => "\x{b7}"},  # middle dot (maybe text 267 is better)?
+      '(middot|#183)' => {'tex' => '\267',            'web' => "\x{b7}"},  # middle dot
       '(cedil|#184)'  => {'tex' => '\233',            'web' => "\x{b8}"},  # 'naked' cedilla.
       '(sup1|#185)'   => {'tex' => '^1',              'web' => "\x{b9}"},  # superscript 1.
-      '(ordm|#186)'   => {'tex' => '\353',            'web' => "\x{ba}"},  # masculine ordinal.
+      '(ordm|#186)'   => {'tex' => '{\260}',          'web' => "\x{ba}"},  # masculine ordinal.
       '(raquo|#187)', => {'tex' => '\273',            'web' => "\x{bb}"},  # Right angle quotes.
       '(frac14|#188)' => {'tex' => '\274',            'web' => "\x{bc}"},  # 1/4.
       '(frac12|#189)' => {'tex' => '\275',            'web' => "\x{bd}"},  # 1/2.
@@ -992,7 +999,7 @@
       '(ntilde|#241)' => {'tex' => '\361',            'web' => "\x{f1}"},  # n tilde.
       '(ograve|#242)' => {'tex' => '\362',            'web' => "\x{f2}"},  # o grave.
       '(oacute|#243)' => {'tex' => '\363',            'web' => "\x{f3}"},  # o acute.
-      '(ocirc'|#244)' => {'tex' => '\364',            'web' => "\x{f4}"},  # o circumflex.
+      '(ocirc|#244)'  => {'tex' => '\364',            'web' => "\x{f4}"},  # o circumflex.
       '(otilde|#245)' => {'tex' => '\365',            'web' => "\x{f5}"},  # o tilde.
       '(ouml|#246)'   => {'tex' => '\366',            'web' => "\x{f6}"},  # o umlaut.
       '(divide|#247)' => {'tex' => '\367',            'web' => "\x{f7}"},  # division symbol
@@ -1007,15 +1014,15 @@
       
       # Latin extended A entities:
 
-      '(OElig|#338)'  => {'tex' => '{/Text \352}',   'web' => "\x{152}"},  # OE ligature.
-      '(oelig|#339)'  => {'tex' => '{/Text \372}',   'web' => "\x{153}"},  # oe ligature.
+      '(OElig|#338)'  => {'tex' => '{/Text \326}',   'web' => "\x{152}"},  # OE ligature.
+      '(oelig|#339)'  => {'tex' => '{/Text \366}',   'web' => "\x{153}"},  # oe ligature.
       '(Scaron|#352)' => {'tex' => 'S',              'web' => "\x{160}"},  # S caron no printable.
       '(scaron|#353)' => {'tex' => 's',              'web' => "\x{161}"},  # s caron no printable.
       '(Yuml|#376)'   => {'tex' => 'Y',              'web' => "\x{178}"},  # Y umlaut - no printable.
 
       # Latin extended B.
 
-      '(fnof|#402)'  => {'tex' =>'{/Symbol 246}',    'web' => "\x{192}"},  # f with little hook.
+      '(fnof|#402)'  => {'tex' =>'{/Symbol \246}',    'web' => "\x{192}"},  # f with little hook.
 
       # Standalone accents:
 
@@ -1570,6 +1577,8 @@
 	$gnuplot_input .= $fontsize;
 	$gnuplot_input .= "\nset output \"/home/httpd/perl/tmp/".
 	    &unescape($filename).".eps\"\n";
+	$gnuplot_input .= "set encoding iso_8859_1\n"; # Get access to extended font.
+
     }
     # cartesian or polar plot?
     if (lc($Apache::lonplot::plot{'plottype'}) eq 'polar') {

--foxr1211884833--