Diff for /loncom/xml/lonplot.pm between versions 1.134 and 1.137

version 1.134, 2008/01/20 02:47:06 version 1.137, 2008/05/12 11:13:28
Line 91  BEGIN { Line 91  BEGIN {
 my $max_str_len = 50;    # if a label, title, xlabel, or ylabel text  my $max_str_len = 50;    # if a label, title, xlabel, or ylabel text
                          # is longer than this, it will be truncated.                           # is longer than this, it will be truncated.
   
   my %linetypes =
       (
        solid          => 1,
        dashed         => 0
       );
   
 my %linestyles =   my %linestyles = 
     (      (
      lines          => 2,     # Maybe this will be used in the future       lines          => 2,     # Maybe this will be used in the future
Line 497  my %axis_defaults = Line 503  my %axis_defaults =
   
      );       );
   
 my @curve_edit_order = ('color','name','linestyle','linewidth','pointtype','pointsize','limit');  my @curve_edit_order = ('color','name','linestyle','linewidth','linetype','pointtype','pointsize','limit');
   
 my %curve_defaults =   my %curve_defaults = 
     (      (
Line 518  my %curve_defaults = Line 524  my %curve_defaults =
      linestyle => {       linestyle => {
  default => 'lines',   default => 'lines',
  test => $linestyle_test,   test => $linestyle_test,
  description => 'Line style',   description => 'Plot with:',
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => [keys(%linestyles)]   choices     => [keys(%linestyles)]
  },   },
      linewidth => {       linewidth => {
          default     => 1,           default     => 1,
          test        => $int_test,           test        => $int_test,
          description => 'Line width (may not apply to all line styles)',           description => 'Line width (may not apply to all plot styles)',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [1,2,3,4,5,6,7,8,9,10]           choices     => [1,2,3,4,5,6,7,8,9,10]
          },           },
        linetype => {
            default     => 'solid',
            test        => sub {$_[0]=~/^(solid|dashed)$/},
            description => 'Line type (may not apply to all plot styles)',
            edit_type   => 'choice',
            choices     => ['solid', 'dashed']
            }, 
      pointsize => {       pointsize => {
          default     => 1,           default     => 1,
          test        => $pos_real_test,           test        => $pos_real_test,
          description => 'Point size (may not apply to all line styles)',           description => 'Point size (may not apply to all plot styles)',
          edit_type   => 'entry',           edit_type   => 'entry',
          size        => '5'           size        => '5'
          },           },
      pointtype => {       pointtype => {
          default     => 1,           default     => 1,
          test        => $int_test,           test        => $int_test,
          description => 'Point type (may not apply to all line styles)',           description => 'Point type (may not apply to all plot styles)',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [0,1,2,3,4,5,6]           choices     => [0,1,2,3,4,5,6]
          },           },
      limit     => {       limit     => {
          default     => 'closed',           default     => 'closed',
  test        => sub {$_[0]=~/^(closed|x1|x2|y1|y2)$/},   test        => sub {$_[0]=~/^(above|below|closed|x1|x2|y1|y2)$/},
          description => 'Point to fill -- for filledcurves',           description => 'Point to fill -- for filledcurves',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => ['closed','x1','x2','y1','y2']           choices     => ['above', 'below', 'closed','x1','x2','y1','y2']
          },           },
      );       );
   
Line 808  sub parse_label { Line 821  sub parse_label {
   
   
 my %lookup =   my %lookup = 
    ('(Alpha|#913)'    => {'tex' => '{/Symbol A}', 'web' => "\x{391}"},     (  # Greek alphabet:
      '(Beta|#914)'    => {'tex' => '{/Symbol B}', 'web' => "\x{392}"},  
        '(Alpha|#913)'    => {'tex' => '{/Symbol A}', 'web' => "\x{391}"},
         '(Beta|#914)'    => {'tex' => '{/Symbol B}', 'web' => "\x{392}"},
      '(Chi|#935)'     => {'tex' => '{/Symbol C}', 'web' => "\x{3A7}"},       '(Chi|#935)'     => {'tex' => '{/Symbol C}', 'web' => "\x{3A7}"},
      '(Delta|#916)'   => {'tex' => '{/Symbol D}', 'web' => "\x{394}"},       '(Delta|#916)'   => {'tex' => '{/Symbol D}', 'web' => "\x{394}"},
      '(Epsilon|#917)' => {'tex' => '{/Symbol E}', 'web' => "\x{395}"},       '(Epsilon|#917)' => {'tex' => '{/Symbol E}', 'web' => "\x{395}"},
Line 856  my %lookup = Line 871  my %lookup =
      '(xi|#958)'      => {'tex' => '{/Symbol x}', 'web' => "\x{3BE}"},       '(xi|#958)'      => {'tex' => '{/Symbol x}', 'web' => "\x{3BE}"},
      '(psi|#968)'     => {'tex' => '{/Symbol y}', 'web' => "\x{3C8}"},       '(psi|#968)'     => {'tex' => '{/Symbol y}', 'web' => "\x{3C8}"},
      '(zeta|#950)'    => {'tex' => '{/Symbol z}', 'web' => "\x{3B6}"},       '(zeta|#950)'    => {'tex' => '{/Symbol z}', 'web' => "\x{3B6}"},
   
         # Punctuation:
         
         '(quot|#034)'   => {'tex' =>  '\42',        'web' => '\42'},
         '(amp|#038)'    => {'tex' =>  '\46',        'web' => '\46'},
         '(lt|#060)'     => {'tex' =>  '\74',        'web' => '\74'},
         '(gt|#062)'     => {'tex' =>  '\76',        'web' => '\76'},
         '#131'          => {'tex' =>  '{/Symbol \246}', 'web' => "\x{192}"},
         '#132'          => {'tex' => '{/Text \271}',        'web' => "\x{201e}"},
         '#133'          => {'tex' => '{/Symbol \274}', 'web'=> "\x{2026}"},
         '#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.
         '#139'          => {'tex' => '<',           'web' => '<'},
         '#140'          => {'tex' => '{/Text \352}','web' => "\x{152}"},
         '#145'          => {'tex' => '\140',        'web' => "\x{2018}"},
         '#146'          => {'tex' => '\47',         'web' => "\x{2019}"},
         '#147'          => {'tex' => '{/Text \252}','web' => "\x{201c}"},
         '#148'          => {'tex' => '{/Text \315}','web' => '\\"'},
         '#149'          => {'tex' => '{/Symbol \267}', 'web' => "\x{2022}"},
         
     );      );
   
   
Line 863  sub replace_entities { Line 901  sub replace_entities {
     my ($target,$text) = @_;      my ($target,$text) = @_;
     $text =~ s{([_^~\{\}]|\\\\)}{\\\\$1}g;      $text =~ s{([_^~\{\}]|\\\\)}{\\\\$1}g;
     while (my ($re, $replace) = each(%lookup)) {      while (my ($re, $replace) = each(%lookup)) {
    my $repl = $replace->{$target};
  $text =~ s/&$re;/$replace->{$target}/g;   $text =~ s/&$re;/$replace->{$target}/g;
     }      }
     $text =~ s{(&)}{\\\\$1}g;      $text =~ s{(&)}{\\\\$1}g;
Line 1464  sub write_gnuplot_file { Line 1503  sub write_gnuplot_file {
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
               } elsif ($curve->{'linetype'} ne '' &&
                        $curve->{'linestyle'} eq 'lines') {
                   $gnuplot_input.= ' linetype ';
                   $gnuplot_input.= $linetypes{$curve->{'linetype'}};
                   $gnuplot_input.= ' linecolor rgb "';
                   # convert color from xaaaaaa to #aaaaaa
                   $curve->{'color'} =~ s/^x/#/;
                   $gnuplot_input.= $curve->{'color'}.'"';
             }              }
             $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};              $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};
   
Line 1500  sub write_gnuplot_file { Line 1547  sub write_gnuplot_file {
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
               } elsif ($curve->{'linetype'} ne '' &&
                        $curve->{'linestyle'} eq 'lines') {
                   $gnuplot_input.= ' linetype ';
                   $gnuplot_input.= $linetypes{$curve->{'linetype'}};
                   $gnuplot_input.= ' linecolor rgb "';
                   # convert color from xaaaaaa to #aaaaaa
                   $curve->{'color'} =~ s/^x/#/;
                   $gnuplot_input.= $curve->{'color'}.'"';
             }              }
             $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};                  $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; 
  }   }
     }      }
     # Write the output to a file.      # Write the output to a file.

Removed from v.1.134  
changed lines
  Added in v.1.137


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