X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FLaTeX.pm;h=c7d51e0e00bd87e2b35a6c72ab26e2c2964a881f;hb=8add0ccd27ab0ff17256b74dccd1f761c0d09182;hp=8736cc2b1b055a1fe20eaf763160e22c2b4c1e4c;hpb=1a75ec5dd6d9365e6c336549bd2b947aef6200fc;p=kivitendo-erp.git diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index 8736cc2b1..c7d51e0e0 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -5,6 +5,7 @@ use parent qw(SL::Template::Simple); use strict; use Cwd; +use Unicode::Normalize qw(); sub new { my $type = shift; @@ -353,8 +354,13 @@ sub parse { return 0; } - binmode OUT, ":utf8" if $::locale->is_utf8; - print(OUT $new_contents); + if ($::locale->is_utf8) { + binmode OUT, ":utf8"; + print OUT Unicode::Normalize::normalize('C', $new_contents); + + } else { + print OUT $new_contents; + } if ($form->{"format"} =~ /postscript/i) { return $self->convert_to_postscript(); @@ -388,8 +394,7 @@ sub convert_to_postscript { "> $form->{tmpfile}.err"); if ($?) { $ENV{HOME} = $old_home; - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $self->{"error"} = $form->cleanup($latex); return 0; } } @@ -401,7 +406,7 @@ sub convert_to_postscript { if ($?) { $self->{"error"} = "dvips : $!"; - $self->cleanup(); + $self->cleanup('dvips'); return 0; } $form->{tmpfile} =~ s/dvi$/ps/; @@ -433,9 +438,8 @@ sub convert_to_pdf { system("${latex} --interaction=nonstopmode $form->{tmpfile} " . "> $form->{tmpfile}.err"); if ($?) { - $ENV{HOME} = $old_home; - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $ENV{HOME} = $old_home; + $self->{error} = $form->cleanup($latex); return 0; } } @@ -447,7 +451,7 @@ sub convert_to_pdf { } sub _get_latex_path { - return $main::latex_bin || 'pdflatex'; + return $::lx_office_conf{applications}->{latex} || 'pdflatex'; } sub get_mime_type() {