X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fautotests%2FuseSystemFonts.pl;h=12c98507653f6f0f9efec85a11893370f05e69ce;hb=226e0bb2b7361646bea84098d7bab4b87018ad99;hp=c8f125a1da22e09cf8377b1fa3b829baa830bf80;hpb=fd106637be2e1d25587c9d5e712786a7a044077a;p=lyx.git diff --git a/development/autotests/useSystemFonts.pl b/development/autotests/useSystemFonts.pl index c8f125a1da..12c9850765 100644 --- a/development/autotests/useSystemFonts.pl +++ b/development/autotests/useSystemFonts.pl @@ -53,10 +53,10 @@ sub copyFoundSubdocuments($); sub copyJob($$); sub isrelativeFix($$$); sub isrelative($$$); -sub createTemporaryFileName($$); +sub createTemporaryFileName($$$); sub copyJobPending($$); sub addNewJob($$$$$); -sub addFileCopyJob($$$$); +sub addFileCopyJob($$$$$); sub getNewNameOf($$); sub getlangs($$); sub simplifylangs($); @@ -128,8 +128,9 @@ if (! -d $destdir) { my $destdirOfSubdocuments; { my ($name, $pat, $suffix) = fileparse($source, qr/\.[^.]*/); - my $ext = $format . "_$lang"; - $destdirOfSubdocuments = "$destdir/tmp_$ext" . "_$name"; # Global var, something TODO here + my $ext = $format . "-$lang"; + $name =~ s/[%_]/-/g; + $destdirOfSubdocuments = "$destdir/tmp-$ext" . "-$name"; # Global var, something TODO here } if(-d $destdirOfSubdocuments) { @@ -205,14 +206,35 @@ sub interpretedCopy($$$$) } else { my ($newname, $res1); + my @extlist = (); + if (ref($rStatus->{ext}) eq "ARRAY") { + my @extlist = @{$rStatus->{ext}}; + my $created = 0; + for my $extx (@extlist) { + if (-e "$sourcedir/$f$extx") { + ($newname, $res1) = addFileCopyJob("$sourcedir/$f$extx", + "$destdirOfSubdocuments", + $rStatus->{"filetype"}, + $rFiles, $created); + print "Added ($res1) file \"$sourcedir/$f$extx\" to be copied to \"$newname\"\n"; + if (!$created && $extx ne "") { + $newname =~ s/$extx$//; + } + $created = 1; + } + } + print "WARNING: No prefixed file.(" . join('|', @extlist) . ") seens to exist, at \"$source:$fi_line_no\"\n" if (!$created); + } + else { ($newname, $res1) = addFileCopyJob("$sourcedir/$f$ext", "$destdirOfSubdocuments", $rStatus->{"filetype"}, - $rFiles); + $rFiles, 0); print "Added ($res1) file \"$sourcedir/$f$ext\" to be copied to \"$newname\"\n"; if ($ext ne "") { $newname =~ s/$ext$//; } + } $f = $newname; $res += $res1; } @@ -237,7 +259,12 @@ sub interpretedCopy($$$$) } } if ($foundrelative) { - $rF->[$fidx] = join($separator, @{$filelist}); + # The result can be relative too + my @rel_list = (); + for my $fr (@{$filelist}) { + push(@rel_list, File::Spec->abs2rel($fr, $destdir)); + } + $rF->[$fidx] = join($separator, @rel_list); $l = join('', @{$rF}); } } @@ -290,16 +317,16 @@ sub copyJob($$) for my $k (values %type2hash) { if ($rFiles->{$source}->{$k}) { if (! $rFiles->{$source}->{$k . "copied"}) { - $rFiles->{$source}->{$k . "copied"} = 1; - my $dest = $rFiles->{$source}->{$k}; - push(@dest, $dest); - if ($k eq "copyonly") { - diestack("Could not copy \"$source\" to \"$dest\"") if (! cp($source, $dest)); - } - else { - interpretedCopy($source, $dest, $destdirOfSubdocuments, $rFiles); - } - $res += 1; + $rFiles->{$source}->{$k . "copied"} = 1; + my $dest = $rFiles->{$source}->{$k}; + push(@dest, $dest); + if ($k eq "copyonly") { + diestack("Could not copy \"$source\" to \"$dest\"") if (! cp($source, $dest)); + } + else { + interpretedCopy($source, $dest, $destdirOfSubdocuments, $rFiles); + } + $res += 1; } } } @@ -333,15 +360,24 @@ sub isrelative($$$) } } -sub createTemporaryFileName($$) +my $oldfname = ""; + +sub createTemporaryFileName($$$) { - my ($source, $destdir) = @_; + my ($source, $destdir, $created) = @_; # get the basename to be used for the template my ($name, $path, $suffix) = fileparse($source, qr/\.[^.]*/); #print "source = $source, name = $name, path = $path, suffix = $suffix\n"; - my $template = "xx_$name" . "_"; - my $fname = File::Temp::tempnam($destdir, $template); + my $template = "xx-$name" . "-"; + my $fname; + if (! $created) { + $fname = File::Temp::tempnam($destdir, $template); + $oldfname = $fname; + } + else { + $fname = $oldfname; + } # Append extension from source if ($suffix ne "") { @@ -371,9 +407,9 @@ sub addNewJob($$$$$) $rFiles->{$source} = $rJob; } -sub addFileCopyJob($$$$) +sub addFileCopyJob($$$$$) { - my ($source, $destdirOfSubdocuments, $filetype, $rFiles) = @_; + my ($source, $destdirOfSubdocuments, $filetype, $rFiles, $created) = @_; my ($res, $newname) = (0, undef); my $rJob = $rFiles->{$source}; @@ -383,7 +419,7 @@ sub addFileCopyJob($$$$) } if (!defined($rJob->{$hashname})) { addNewJob($source, - createTemporaryFileName($source, $destdirOfSubdocuments), + createTemporaryFileName($source, $destdirOfSubdocuments, $created), "$hashname", $rJob, $rFiles); $res = 1; }