Bug 52145

Summary: FOP does not render Right Arrow (entity '→' or code point '→')
Product: Fop - Now in Jira Reporter: Jeffrey Walton <noloader>
Component: pdfAssignee: fop-dev
Status: NEEDINFO ---    
Severity: normal CC: taffy-tyler6464
Priority: P3    
Version: 0.95   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Attachments: Extra information requested in Comment 2

Description Jeffrey Walton 2011-11-06 16:04:23 UTC
FOP substitutes a pound sign ('#') for right arrows in PDFs - entity '&rarr;' and code point '&#x2192;'.

xmllint OK. xsltproc OK.
Comment 1 Glenn Adams 2011-11-06 19:15:48 UTC
Have you specified a font that has a glyph for &#x2192;? What is input FO file? What is output PDF file? What is console output from running FOP?

Please help us out by doing your homework first and providing full in/out files, etc.
Comment 2 Jeffrey Walton 2011-11-06 20:51:50 UTC
> Have you specified a font that has a glyph for &#x2192;?
The character entities are part of DocBook, and the fonts used a standard (part of Base-14).

> What is input FO file?
Attached.

> What is output PDF file?
Attached.

> What is console output from running FOP?
See below. Note that an empty book with no content produces the font warning.

arrow-book$ ./make-book.sh 
Note: namesp. add : added namespace before processing              The Arrow Book
Making portrait pages on USletter paper (8.5inx11in)
Nov 6, 2011 3:50:15 PM org.apache.fop.fonts.FontInfo notifyFontReplacement
WARNING: Font 'Symbol,normal,700' not found. Substituting with 'Symbol,normal,400'.
Nov 6, 2011 3:50:15 PM org.apache.fop.fonts.FontInfo notifyFontReplacement
WARNING: Font 'ZapfDingbats,normal,700' not found. Substituting with 'ZapfDingbats,normal,400'.
Nov 6, 2011 3:50:15 PM org.apache.fop.hyphenation.Hyphenator getHyphenationTree
SEVERE: Couldn't find hyphenation pattern en
arrow-book$
Comment 3 Jeffrey Walton 2011-11-06 20:52:31 UTC
Created attachment 27903 [details]
Extra information requested in Comment 2
Comment 4 Jeffrey Walton 2011-11-06 22:38:32 UTC
(In reply to comment #1)
> Have you specified a font that has a glyph for &#x2192;? 
Forgot to mention....

FOP 0.95 does not appear to have an option for additional fonts.

$ fop -V

USAGE
Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl|-ps|-txt|-at [mime]|-print] <outfile>
 [OPTIONS]  
  -d                debug mode   
  -x                dump configuration settings  
  -q                quiet mode  
  -c cfg.xml        use additional configuration file cfg.xml
  -l lang           the language to use for user information 
  -r                relaxed/less strict validation (where available)
  -dpi xxx          target resolution in dots per inch (dpi) where xxx is a number
  -s                for area tree XML, down to block areas only
  -v                to show FOP version being used

  -o [password]     PDF file will be encrypted with option owner password
  -u [password]     PDF file will be encrypted with option user password
  -noprint          PDF file will be encrypted without printing permission
  -nocopy           PDF file will be encrypted without copy content permission
  -noedit           PDF file will be encrypted without edit content permission
  -noannotations    PDF file will be encrypted without edit annotation permission
  -pdfprofile prof  PDF file will be generated with the specified profile
                    (Examples for prof: PDF/A-1b or PDF/X-3:2003)

 [INPUT]  
  infile            xsl:fo input file (the same as the next) 
  -fo  infile       xsl:fo input file  
  -xml infile       xml input file, must be used together with -xsl 
  -atin infile      area tree input file 
  -imagein infile   image input file 
  -xsl stylesheet   xslt stylesheet 
 
  -param name value <value> to use for parameter <name> in xslt stylesheet
                    (repeat '-param name value' for each parameter)
 
 [OUTPUT] 
  outfile           input will be rendered as PDF into outfile
  -pdf outfile      input will be rendered as PDF (outfile req'd)
  -pdfa1b outfile   input will be rendered as PDF/A-1b compliant PDF
                    (outfile req'd, same as "-pdf outfile -pdfprofile PDF/A-1b")
  -awt              input will be displayed on screen 
  -rtf outfile      input will be rendered as RTF (outfile req'd)
  -pcl outfile      input will be rendered as PCL (outfile req'd) 
  -ps outfile       input will be rendered as PostScript (outfile req'd) 
  -afp outfile      input will be rendered as AFP (outfile req'd)
  -tiff outfile     input will be rendered as TIFF (outfile req'd)
  -png outfile      input will be rendered as PNG (outfile req'd)
  -txt outfile      input will be rendered as plain text (outfile req'd) 
  -at [mime] out    representation of area tree as XML (outfile req'd) 
                    specify optional mime output to allow AT to be converted
                    to final format later
  -print            input file will be rendered and sent to the printer 
                    see options with "-print help" 
  -out mime outfile input will be rendered using the given MIME type
                    (outfile req'd) Example: "-out application/pdf D:\out.pdf"
                    (Tip: "-out list" prints the list of supported MIME types)
  -mif outfile      input will be rendered as MIF (FrameMaker) (outfile req'd)
                    Experimental feature - requires additional fop-sandbox.jar.
  -svg outfile      input will be rendered as an SVG slides file (outfile req'd) 
                    Experimental feature - requires additional fop-sandbox.jar.

  -foout outfile    input will only be XSL transformed. The intermediate 
                    XSL-FO file is saved and no rendering is performed. 
                    (Only available if you use -xml and -xsl parameters)


 [Examples]
  Fop foo.fo foo.pdf 
  Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)
  Fop -xml foo.xml -xsl foo.xsl -pdf foo.pdf
  Fop -xml foo.xml -xsl foo.xsl -foout foo.fo
  Fop foo.fo -mif foo.mif
  Fop foo.fo -rtf foo.rtf
  Fop foo.fo -print or Fop -print foo.fo 
  Fop foo.fo -awt 

Nov 6, 2011 5:36:10 PM org.apache.fop.cli.Main startFOP
SEVERE: Exception
java.lang.IllegalArgumentException: Error creating InputHandler object.
...
Comment 5 Glenn Adams 2011-11-07 01:23:56 UTC
(In reply to comment #4)
> (In reply to comment #1)
> > Have you specified a font that has a glyph for &#x2192;? 
> Forgot to mention....
> 
> FOP 0.95 does not appear to have an option for additional fonts.

Please read http://xmlgraphics.apache.org/fop/1.0/fonts.html.

Also, I suggest you upgrade to FOP 1.0 before you go further with your efforts.
Comment 6 Glenn Adams 2012-04-01 15:55:08 UTC
the size of the attached book.fo file is too large to undertake a fix; please whittle it down to a minimal FO file that demonstrates the problem in minimal form without redundant context
Comment 7 Glenn Adams 2012-04-07 01:44:42 UTC
resetting P2 open bugs to P3 pending further review
Comment 8 Glenn Adams 2012-04-24 05:47:02 UTC
(In reply to comment #6)
> the size of the attached book.fo file is too large to undertake a fix; please
> whittle it down to a minimal FO file that demonstrates the problem in minimal
> form without redundant context

Jeffrey, I am still awaiting your input as requested above. if I see no further input by April 30, I will close this bug due to lack of requested information. Regards, Glenn

P.S. Also supply the output PDF file and any console output when you run your test content.