my ($self, $variable) = @_;
my $form = $self->{"form"};
- my %replace =
- ('order' => [quotemeta("\\"),
- '<pagebreak>',
- '&', quotemeta("\n"),
- '"', '\$', '%', '_', '#', quotemeta('^'),
- '{', '}', '<', '>', '£', "\r", '±', '\xe1',
- '²', '³',
-
- ],
- quotemeta("\\") => '\\textbackslash ',
- '<pagebreak>' => '',
- '"' => "''",
- '&' => '\&',
- '\$' => '\$',
- '%' => '\%',
- '_' => '\_',
- '#' => '\#',
- '{' => '\{',
- '}' => '\}',
- '<' => '$<$',
- '>' => '$>$',
- '£' => '\pounds ',
- "\r" => "",
- '±' => '$\pm$',
- '\xe1' => '$\bullet$',
- quotemeta('^') => '\^\\',
- quotemeta("\n") => '\newline ',
- '²' => '$^2$',
- '³' => '$^3$',
- );
-
- map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
+ $variable = $main::locale->quote_special_chars('Template/LaTeX', $variable);
# Allow some HTML markup to be converted into the output format's
# corresponding markup code, e.g. bold or italic.
my ($self, $variable) = @_;
my $form = $self->{"form"};
- my %replace =
- ('order' => ['<', '>', quotemeta("\n")],
- '<' => '<',
- '>' => '>',
- quotemeta("\n") => '<br>',
- );
-
- map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
+ $variable = $main::locale->quote_special_chars('Template/HTML', $variable);
# Allow some HTML markup to be converted into the output format's
# corresponding markup code, e.g. bold or italic.
my $form = $self->{"form"};
my $iconv = $self->{"iconv"};
- my %replace =
- ('order' => ['&', '<', '>', '"', "'",
- '\x80', # Euro
- quotemeta("\n"), quotemeta("\r")],
- '<' => '<',
- '>' => '>',
- '"' => '"',
- "'" => ''',
- '&' => '&',
- '\x80' => chr(0xa4), # Euro
- quotemeta("\n") => '<text:line-break/>',
- quotemeta("\r") => '',
- );
-
- map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
+ $variable = $main::locale->quote_special_chars('Template/OpenDocument', $variable);
# Allow some HTML markup to be converted into the output format's
# corresponding markup code, e.g. bold or italic.
my ($self, $variable) = @_;
my $form = $self->{"form"};
- my %replace =
- ('order' => ['<', '>', quotemeta("\n")],
- '<' => '<',
- '>' => '>',
- quotemeta("\n") => '<br>',
- );
-
- map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
+ $variable = $main::locale->quote_special_chars('Template/XML', $variable);
# Allow no markup to be converted into the output format
my @markup_replace = ('b', 'i', 's', 'u', 'sub', 'sup');