[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--