X-Git-Url: http://git.projectaon.org/?p=project-aon.git;a=blobdiff_plain;f=common%2Fscripts%2Fgbtoepub.pl;h=da50fbed82acfcef5b7e850387f4818d12311bfe;hp=810b5e69b77df846598dec00d64463488f7236bd;hb=195eff31df03c6416660c0095263990b1efc6675;hpb=55c699b91078bdf221aac2689840fa62647a7226 diff --git a/common/scripts/gbtoepub.pl b/common/scripts/gbtoepub.pl index 810b5e6..da50fbe 100755 --- a/common/scripts/gbtoepub.pl +++ b/common/scripts/gbtoepub.pl @@ -17,7 +17,10 @@ my $TAR = qx{which tar}; my $ZIP = qx{which zip}; my $BZIP2 = qx{which bzip2}; my $JAVA = qx{which java}; +# Note: In Debian/Ubuntu the Xalan processor is provided in the package libxalan2-java my $XALAN_JAR = '/usr/share/java/xalan2.jar'; +# Old version of Xalan processor (Xalan 1) +#my $XALAN_JAR = '/usr/share/ant/lib/xalan.jar'; my $RM = qx{which rm}; my $CHMOD = qx{which chmod}; @@ -64,7 +67,7 @@ my $ncxXSL = 'common/xsl/epub-ncx.xsl'; my $epubXSL = 'common/xsl/epub-xhtml.xsl'; my $metadataXSL = 'common/xsl/epub-opf-metadata.xsl'; my $spineXSL = 'common/xsl/epub-opf-spine.xsl'; -my $fontFiles = "$ENV{'HOME'}${FILENAME_SEPARATOR}souvenir"; +my $fontFiles = "common/fonts"; my $language = 'en'; my $verbose = 0; @@ -233,7 +236,7 @@ foreach my $cssTemplate (split( /:/, $rulesHash{'csst'} )) { unless( -e $fontFiles && -d $fontFiles ) { die "$PROGRAM_NAME: font files directory does not exist or is not a directory \"$fontFiles\": $!\n"; } -print qx{$CP $fontFiles${FILENAME_SEPARATOR}*.otf $outPath{'oebps'}}; +print qx{$CP $fontFiles${FILENAME_SEPARATOR}*tf $outPath{'oebps'}}; ### write NCX file @@ -482,93 +485,8 @@ sub get_series_number { return $series_number; } -# Determine the book title by reading the book meta information -sub find_title { - my ($book) = @_; - my $title = ""; my $line = ""; - open (BOOK, "head -100 $book | ") || die ("Could not read $book: $!"); - while ($title eq "" && ( $line = ) ) { - chomp $line; - if ( $line =~ /(.*?)<\/title>/ ) { - $title = $1; - } - } - close BOOK; - - if ( $title eq "" ) { - print STDERR "WARN: Cannot find title for book '$book'\n"; - $title = "[Undefined]"; - } - - return convert_entities($title); -} - -# Determine the book author by reading the book meta information -sub find_author { - my ($book) = @_; - my $author = ""; - my $line = ""; - open (BOOK, "head -100 $book |") || die ("Could not read $book: $!"); - - my $find_line = 0; - while ($author eq "" && ( $line = <BOOK> ) ) { - chomp $line; - if ( $find_line == 1 && $line =~ /<line>(.*?)<\/line>/ ) { - $author = $1; - } - $find_line = 1 if ( $line =~ /<creator class="medium">/ ); - $find_line = 0 if ( $line =~ /<\/creator>/ ); - if ( $line =~ /<creator class="author">(.*?)<\/title>/ ) { - $author = $1; - } - } - close BOOK; - - if ( $author eq "" ) { - print STDERR "WARN: Cannot find author for book '$book'\n"; - $author = "[Undefined]"; - } - - - return $author; -} - -# Determine the book illustrator by reading the book meta information -sub find_illustrator { - my ($book) = @_; - my $illustrator = ""; - my $line = ""; - open (BOOK, "head -100 $book | ") || die ("Could not read $book: $!"); - - my $find_line = 0; - while ($illustrator eq "" && ( $line = <BOOK> ) ) { - chomp $line; - if ( $find_line == 1 && $line =~ /<line>Illustrated by (.*?)<\/line>/ ) { - $illustrator = $1; - } - $find_line = 1 if ( $line =~ /<creator class="medium">/ ); - $find_line = 0 if ( $line =~ /<\/creator>/ ); - if ( $line =~ /<creator class="illustrator">(.*?)<\/title>/ ) { - $illustrator = $1; - } - } - close BOOK; - - if ( $illustrator eq "" ) { - print STDERR "WARN: Cannot find illustrator for book '$book'\n"; - $illustrator = "[Undefined]"; - } - if ( $language eq "en" ) { - $illustrator = "Illustrated by ".$illustrator; - } elsif ( $language eq "es" ) { - $illustrator = "Illustrado por ".$illustrator; - } - - return $illustrator; -} - -sub convert_entities { # Convert character entities to their correspondent values +sub convert_entities { my ($text) = @_; $text =~ s/\<ch.apos\/\>/'/g;