Sonderzeichen hochgestellte 2 und 3 für LaTeX escapen.
[kivitendo-erp.git] / SL / Template.pm
index 18b44d0..693a349 100644 (file)
@@ -91,7 +91,9 @@ sub format_string {
                  '<pagebreak>',
                  '&', quotemeta("\n"),
                  '"', '\$', '%', '_', '#', quotemeta('^'),
-                 '{', '}',  '<', '>', '£', "\r", '±',
+                 '{', '}',  '<', '>', '£', "\r", '±', '\xe1',
+                 '²', '³',
+
                  ],
      quotemeta("\\") => '\\textbackslash ',
      '<pagebreak>'   => '',
@@ -108,8 +110,11 @@ sub format_string {
      '£'             => '\pounds ',
      "\r"            => "",
      '±'             => '$\pm$',
+     '\xe1'          => '$\bullet$',
      quotemeta('^')  => '\^\\',
-     quotemeta("\n") => '\newline '
+     quotemeta("\n") => '\newline ',
+     '²'             => '$^2$',
+     '³'             => '$^3$',
      );
 
   map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
@@ -125,6 +130,8 @@ sub format_string {
     $variable =~ s/\$\<\$${key}\$\>\$(.*?)\$<\$\/${key}\$>\$/\\${new}\{$1\}/gi;
   }
 
+  $variable =~ s/[\x00-\x1f]//g;
+
   return $variable;
 }
 
@@ -613,6 +620,37 @@ sub convert_to_pdf {
 }
 
 
+####
+#### PlainTextTemplate
+####
+
+package PlainTextTemplate;
+
+use vars qw(@ISA);
+
+@ISA = qw(LaTeXTemplate);
+
+sub new {
+  my $type = shift;
+
+  return $type->SUPER::new(@_);
+}
+
+sub format_string {
+  my ($self, $variable) = @_;
+
+  return $variable;
+}
+
+sub get_mime_type {
+  return "text/plain";
+}
+
+sub parse {
+}
+
+1;
+
 ####
 #### OpenDocumentTemplate
 ####