Forum Bugs

Solaris : upgrade problem (prince-6.0r6 to prince-6.0r8)

fran
Hello,

I have tried to update princexml on my server and I have some problems.

With prince-6.0r6-sol10x86, everything works fine.
With prince-6.0r8-sol10x86, it does not work.

I am using the solaris version.

I obtain the error :
prince: internal error: no available fonts

or
prince: warning: no glyphs for character U+0057, fallback to '?'
prince: internal error: no fallback glyph for character U+0057


I've got police true type install on the server.

-bast-3.00$ /usr/dt/bin/sdtfpls
/usr/openwin/lib/X11/fonts/Type1/
/usr/openwin/lib/X11/fonts/Type1/sun/
/usr/openwin/lib/X11/fonts/F3bitmaps/
/usr/openwin/lib/X11/fonts/Speedo/
/usr/openwin/lib/X11/fonts/misc/
/usr/openwin/lib/X11/fonts/75dpi/
/usr/openwin/lib/X11/fonts/100dpi/
/usr/openwin/lib/X11/fonts/TrueType


example with prince-6.0r8-sol10x86
/usr/local/lib/prince_nok/bin/prince http://www.google.fr/ -o /tmp/google.pdf  --debug
prince: debug: loading license: /usr/local/lib/prince_nok/license/license.dat
prince: loading style sheet: /usr/local/lib/prince_nok/style/fonts.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/fonts.css
prince: debug: loaded resource: type: no
prince: loading document: http://www.google.fr/
prince: debug: loaded resource: http://www.google.fr/
prince: debug: loaded resource: type: yes(resource_type("text/html", ["charset" - "iso-8859-1"], html, yes(iso_8859_1)))
prince: loading HTML input: http://www.google.fr/
prince: loading document: http://www.google.fr/
prince: debug: loaded resource: http://www.google.fr/
prince: debug: loaded resource: type: yes(resource_type("text/html", ["charset" - "iso-8859-1"], html, yes(iso_8859_1)))
prince: http://www.google.fr/:7: error: Tag nobr invalid
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: Tag nobr invalid
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: no name
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: debug: loaded document: http://www.google.fr/
prince: debug: sniffed doctype: XHTML (no namespace)
prince: loading style sheet: /usr/local/lib/prince_nok/style/xhtml.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/xhtml.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince_nok/style/common.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/common.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince_nok/style/hyph.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/hyph.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince_nok/style/xlink.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/xlink.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince_nok/style/mathml.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/mathml.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince_nok/style/svg.css
prince: debug: loaded resource: /usr/local/lib/prince_nok/style/svg.css
prince: debug: loaded resource: type: no
prince: debug: prepack
prince: loading image: http://www.google.fr/intl/fr_fr/images/logo.gif
prince: debug: loaded resource: http://www.google.fr/intl/fr_fr/images/logo.gif
prince: debug: loaded resource: type: yes(resource_type("image/gif", [], image(gif), no))
prince: debug: ["arial", "sans-serif"] -> [font_record(font_desc("sans-serif", [], normal, [], []), [redirect("Arial"), redirect("Helvetica"), redirect("OpenSymbol"), redirect("DejaVu Sans")])]
prince: debug: ["Arial"] -> []
prince: debug: ["Helvetica"] -> []
prince: debug: ["OpenSymbol"] -> []
prince: debug: ["DejaVu Sans"] -> []
prince: warning: no glyphs for character U+0057, fallback to '?'
prince: internal error: no fallback glyph for character U+0057


example with prince-6.0r6-sol10x86 :
-bash-3.00$ /usr/local/lib/prince/bin/prince http://www.google.fr/ -o /tmp/google.pdf --debug
prince: debug: loading license: /usr/local/lib/prince/license/license.dat
prince: debug: font-family: Akhbar MT
prince: debug: font-family: AngsanaUPC
prince: debug: font-family: Arial
prince: debug: font-family: Arial Hebrew
prince: debug: font-family: Arial Narrow MT
prince: debug: font-family: Baekmuk Batang
prince: debug: font-family: Baekmuk Dotum
prince: debug: font-family: Baekmuk Gulim
prince: debug: font-family: Baekmuk Headline
prince: debug: font-family: Bembo
prince: debug: font-family: Bembo MT
prince: debug: font-family: Bitstream Vera Sans
prince: debug: font-family: Bitstream Vera Sans Mono
prince: debug: font-family: Bitstream Vera Serif
prince: debug: font-family: Book Antiqua
prince: debug: font-family: Book Antiqua Cyr
prince: debug: font-family: BookAntiqua
prince: debug: font-family: Bookman Old Style
prince: debug: font-family: Bookman Old Style Cyr
prince: debug: font-family: BrowalliaUPC
prince: debug: font-family: Century Gothic
prince: debug: font-family: Century Gothic Cyr
prince: debug: font-family: Century Schoolbook
prince: debug: font-family: Century Schoolbook Cyr
prince: debug: font-family: Charter
prince: debug: font-family: CordiaUPC
prince: debug: font-family: Corsiva
prince: debug: font-family: Courier
prince: debug: font-family: Courier New
prince: debug: font-family: Courier New Hebrew
prince: debug: font-family: FZMingTi
prince: debug: font-family: FZSongTi
prince: debug: font-family: Fixed
prince: debug: font-family: FreeMono
prince: debug: font-family: FreeSans
prince: debug: font-family: FreeSerif
prince: debug: font-family: Gallant
prince: debug: font-family: Gill Sans
prince: debug: font-family: Gill Sans CE
prince: debug: font-family: Gill Sans Cyr MT
prince: debug: font-family: Gill Sans Greek
prince: debug: font-family: Gill Sans MT
prince: debug: font-family: HG-GothicB-Sun
prince: debug: font-family: Helvetica
prince: debug: font-family: ITC Avant Garde
prince: debug: font-family: ITC Bookman
prince: debug: font-family: KacstArt
prince: debug: font-family: KacstBook
prince: debug: font-family: KacstDecorative
prince: debug: font-family: KacstDigital
prince: debug: font-family: KacstFarsi
prince: debug: font-family: KacstOne
prince: debug: font-family: KacstOneFixed
prince: debug: font-family: KacstPoster
prince: debug: font-family: KacstQurn
prince: debug: font-family: KacstTitle
prince: debug: font-family: Lucida
prince: debug: font-family: Lucida Bright
prince: debug: font-family: Lucida Sans
prince: debug: font-family: Lucida Sans Thai Typewriter
prince: debug: font-family: Lucida Sans Typewriter
prince: debug: font-family: Lucida Sans Typewriter Devanagari
prince: debug: font-family: LucidaBright
prince: debug: font-family: LucidaBrightLat2
prince: debug: font-family: LucidaBrightLat4
prince: debug: font-family: LucidaBrightLat5
prince: debug: font-family: LucidaSans
prince: debug: font-family: LucidaSansCyr
prince: debug: font-family: LucidaSansGreek
prince: debug: font-family: LucidaSansHebrew
prince: debug: font-family: LucidaSansLat2
prince: debug: font-family: LucidaSansLat4
prince: debug: font-family: LucidaSansLat5
prince: debug: font-family: LucidaSansTypCyr
prince: debug: font-family: LucidaSansTypGreek
prince: debug: font-family: LucidaSansTypHebrew
prince: debug: font-family: LucidaSansTypLat4
prince: debug: font-family: LucidaSansTypLat5
prince: debug: font-family: LucidaSansTypewriter
prince: debug: font-family: LucidaTypewriter
prince: debug: font-family: MSungGB
prince: debug: font-family: Monotype Century Schoolbook
prince: debug: font-family: Monotype Corsiva
prince: debug: font-family: Monotype Sorts
prince: debug: font-family: Naskh MT
prince: debug: font-family: New Century Schoolbook
prince: debug: font-family: Palatino
prince: debug: font-family: Rockwell
prince: debug: font-family: Rockwell MT
prince: debug: font-family: Saraswati 5
prince: debug: font-family: Saraswati5
prince: debug: font-family: Screen
prince: debug: font-family: Shayyal MT
prince: debug: font-family: Song
prince: debug: font-family: Symbol
prince: debug: font-family: Terminal
prince: debug: font-family: Times
prince: debug: font-family: Times New Roman
prince: debug: font-family: Times New Roman Hebrew
prince: debug: font-family: Utopia
prince: debug: font-family: h2gtrm
prince: debug: font-family: system-serif
prince: loading style sheet: /usr/local/lib/prince/style/fonts.css
prince: debug: loaded resource: /usr/local/lib/prince/style/fonts.css
prince: debug: loaded resource: type: no
prince: loading document: http://www.google.fr/
prince: debug: loaded resource: http://www.google.fr/
prince: debug: loaded resource: type: yes(resource_type("text/html", ["charset" - "iso-8859-1"], html, yes(iso_8859_1)))
prince: loading HTML input: http://www.google.fr/
prince: loading document: http://www.google.fr/
prince: debug: loaded resource: http://www.google.fr/
prince: debug: loaded resource: type: yes(resource_type("text/html", ["charset" - "iso-8859-1"], html, yes(iso_8859_1)))
prince: http://www.google.fr/:7: error: Tag nobr invalid
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: Tag nobr invalid
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: no name
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: http://www.google.fr/:7: error: htmlParseEntityRef: expecting ';'
prince: debug: loaded document: http://www.google.fr/
prince: debug: sniffed doctype: XHTML (no namespace)
prince: loading style sheet: /usr/local/lib/prince/style/xhtml.css
prince: debug: loaded resource: /usr/local/lib/prince/style/xhtml.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince/style/common.css
prince: debug: loaded resource: /usr/local/lib/prince/style/common.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince/style/hyph.css
prince: debug: loaded resource: /usr/local/lib/prince/style/hyph.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince/style/xlink.css
prince: debug: loaded resource: /usr/local/lib/prince/style/xlink.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince/style/mathml.css
prince: debug: loaded resource: /usr/local/lib/prince/style/mathml.css
prince: debug: loaded resource: type: no
prince: loading style sheet: /usr/local/lib/prince/style/svg.css
prince: debug: loaded resource: /usr/local/lib/prince/style/svg.css
prince: debug: loaded resource: type: no
prince: debug: prepack
prince: loading image: http://www.google.fr/intl/fr_fr/images/logo.gif
prince: debug: loaded resource: http://www.google.fr/intl/fr_fr/images/logo.gif
prince: debug: loaded resource: type: yes(resource_type("image/gif", [], image(gif), no))
prince: debug: ["arial", "sans-serif"] -> [font_record(font_desc("Arial", [normal], normal, [bold], [normal]), [font_handle(mutvar('<<reference>>'))]), font_record(font_desc("sans-serif", [], normal, [], []), [redirect("Arial"), redirect("Helvetica"), redirect("OpenSymbol"), redirect("DejaVu Sans")])]
prince: used font: Arial, Bold
prince: debug: ["arial", "sans-serif"] -> [font_record(font_desc("Arial", [normal], normal, [normal], [normal]), [font_handle(mutvar('<<reference>>'))]), font_record(font_desc("sans-serif", [], normal, [], []), [redirect("Arial"), redirect("Helvetica"), redirect("OpenSymbol"), redirect("DejaVu Sans")])]
prince: used font: Arial, Regular
prince: debug: writing output: /tmp/google.pdf



How can I resolve the problem ? I don't want to modify fonts.css.

I have bought a license of the software.

Thanks,
mikeday
That's strange, it doesn't seem to be detecting any fonts with Fontconfig. Can you verify that the Prince binary is still linked against the Fontconfig library? For example, run "ldd /usr/lib/prince/bin/prince" and see if the output includes a line like this:
libfontconfig.so.1 =>    /usr/lib/libfontconfig.so.1

Also, how about trying the new beta version of Prince 7.0 on your server?
fran
The prince binary is still linked to Font Config Library :

with prince-6.0r8-sol10x86 :
-bash-3.00$ ldd /usr/local/lib/prince_nok/bin/prince
        libpthread.so.1 =>       /lib/libpthread.so.1
        libz.so =>       /usr/lib/libz.so
        libpng.so.3 =>   /usr/lib/libpng.so.3
        libtiff.so.3 =>  /usr/lib/libtiff.so.3
        libjpeg.so.62 =>         /usr/lib/libjpeg.so.62
        libdl.so.1 =>    /lib/libdl.so.1
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libfontconfig.so.1 =>    /usr/lib/libfontconfig.so.1
        libm.so.2 =>     /lib/libm.so.2
        libc.so.1 =>     /lib/libc.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd5.so.1 =>   /lib/libmd5.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
        libexpat.so.0 =>         /usr/sfw/lib/libexpat.so.0
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1


with prince-6.0r8-sol10x86 :
ldd /usr/local/lib/prince/bin/prince
        libpthread.so.1 =>       /lib/libpthread.so.1
        libz.so =>       /usr/lib/libz.so
        libpng.so.3 =>   /usr/lib/libpng.so.3
        libtiff.so.3 =>  /usr/lib/libtiff.so.3
        libjpeg.so.62 =>         /usr/lib/libjpeg.so.62
        libdl.so.1 =>    /lib/libdl.so.1
        libsocket.so.1 =>        /lib/libsocket.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libfontconfig.so.1 =>    /usr/lib/libfontconfig.so.1
        libm.so.2 =>     /lib/libm.so.2
        libc.so.1 =>     /lib/libc.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd5.so.1 =>   /lib/libmd5.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
        libexpat.so.0 =>         /usr/sfw/lib/libexpat.so.0
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1


Prince7 is not stable. I want to work with stable version.

Thanks,
Fran
P.S : Sorry for my poor english.
mikeday
Hmm, that looks fine, and both versions correctly scan for fonts when we run them here.

At this point Prince 7.0 is probably more stable than 6.0, as well as being faster and more correct, so it would be worth trying it out and seeing if this solves the problem.
fran
Thanks for your answer.

I have tried Prince 7.0 and it's working.
Concerning this problem, what is the difference between prince-6.0r8-sol10x86 and prince-7.0b1-sol10x86 ?

When do you plan to release Prince 7.0 ?

Thanks,
François
mikeday
In terms of Fontconfig there should be no difference, so I am surprised that 6.0 rev 8 is not properly scanning fonts for you.

Prince 7.0 supports OpenType fonts, including layout features like kerning and ligatures, Arabic and Indic shaping, bidirectional text layout for mixing right-to-left and left-to-right scripts, and has better font scanning support on Windows and MacOS X.

Prince 7.0 also includes a TeX-style justification algorithm which should produce more balanced paragraph layouts when justification and hyphenation are enabled.