I think this is an issue of fallback fonts in the font-family property. The entities are resolving, but the font being used does not contain a glyph for the missing character.

When I run your test file with XEP 4.16, I don't see the problem you are seeing; all the symbols display properly. When I view your PDF file with Acrobat Pro and use the Text Touchup Tool to examine the fonts used for those missing characters, I find the following:

- In footnotes, the cap symbol is rendered with Symbol font.

- In text, the cap symbol is rendered with Cardo font.

And it seems that the Cardo font does not contain the cap character. Normally if you specify a custom font for the body.font.family, the Symbol font is automatically added to the font list in the font-family property of the XSL-FO output. See:

http://www.sagehill.net/docbookxsl/SpecialChars.html#fontFamilyList

The internal parameter 'body.fontset' param handles that. Have you customized 'body.fontset' to eliminate Symbol from it? And perhaps customized the footnote.properties attribute-set to add it?

Bob Stayton
Sagehill Enterprises
[email protected]


----- Original Message ----- From: "Ron Catterall" <[email protected]>
To: <[email protected]>
Sent: Saturday, November 28, 2009 10:15 AM
Subject: [docbook-apps] Problem with resolution of entities


Docbook 5, xsl 1.75.2, Oxygen 11.0 MacOS 10.4.11 Saxon 6.5.5 XEP 4.16 -
FO to PDF
I find that set theory symbols (&cap; etc) resolve correctly in
footnotes to text in a <para> and in footnotes to text in a
<table><info><title>, but do not resolve in text (<para>) or text in
<table><tgroup>(<thead>|<tbody>)<row><entry>.  I have tried both entity
names (&cap; etc) and code points (&#x2229; etc) - both react the same way.
Looks like a bug, but any suggestions/help welcome.
The files are below, and the PDF output attached as test.pdf

*****file test.xml*****
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE appendix
[
<!ENTITY % qwerty SYSTEM
"/Library/WebServer/Documents/_XML/_JC_a_DB5/qwerty.ent">
%qwerty;
]>

<appendix xmlns="http://docbook.org/ns/docbook"; version="5.0"
xml:id="Venn" xml:lang="EN">
     <info><title>A Simple Set Theory Approach</title></info>
     <para>try cap:   A&cap;A      ---  try 2229: A&#x2229;A</para>
     <para>try sup:   B&sup;B      ---  try 2283: B&#x2283;B</para>
     <para>try sub:   C&sub;C      ---  try 2282: C&#x2282;C</para>
     <para>try empty: D&empty;D    ---  try 2205: D&#x2205;D</para>
     <para>try ne:    E&ne;E       ---  try 2260: E&#x2260;E</para>
     <para>try 2260:  F&hellip;F   ---  try 2026: F&#x2026;F</para>
     <para>try nbsp:  G&nbsp;G     ---  try 0020: G&#x0020;Z</para>
     <para>para<footnote><para>try cap:    A&cap;A     ---  try 2229:
A&#x2229;A</para></footnote></para>
     <para>para<footnote><para>try sup:    B&sup;B     ---  try 2283:
B&#x2283;B</para></footnote></para>
     <para>para<footnote><para>try sub:    C&sub;C     ---  try 2282:
C&#x2282;C</para></footnote></para>
     <para>para<footnote><para>try empty:  D&empty;D   ---  try 2205:
D&#x2205;D</para></footnote></para>
     <para>para<footnote><para>try ne:     E&ne;E      ---  try 2260:
E&#x2260;E</para></footnote></para>
     <para>para<footnote><para>try hellip: F&hellip;F  ---  try 2026:
F&#x2026;F</para></footnote></para>
     <para>para<footnote><para>try nbsp:   G&nbsp;G    ---  try 0020:
G&#x0020;Z</para></footnote></para>
     <table frame="all" xml:id="Pop_anal" colsep="1"
rowsep="1"><info><title>The Effect of Constraints upon the Size of the
Population Set<footnote><para> &hellip; then we have no knowledge of the
possible overlap of the two sets, (we have no knowledge of whether
B&cap;A=&empty;, B&sub;A, B=A or B&sup;A.)&nbsp; However, if &nbsp; B=A
or B&sup;A; then we would have to infer &ne; &hellip;
</para></footnote></title></info>
         <tgroup align="left" cols="4" colsep="1" rowsep="1">
             <colspec colname="cl" colwidth="1*"/>
             <colspec colname="c2" colwidth="0.7*"/>
             <colspec colname="c3" colwidth="0.8*"/>
             <colspec colname="c4" colwidth="1.2*"/>
             <spanspec align="center" nameend="c4" namest="c1"
spanname="hspan"/>
             <thead>
                 <row>
                     <entry>Independent Requirement &cap;</entry>
                     <entry>Fraction of Population&sup;</entry>
                     <entry>Population of set&sub;</entry>
                     <entry>Intersection Set&empty;</entry>
                 </row>
             </thead>
             <tbody>
                 <row>
                     <entry>(&hellip;X&#x2026; Z&nbsp;&#x0020;&nbsp;Z
&ne;X&#x2260; G)</entry>
                     <entry>1 in 10</entry>
                     <entry>0.0024</entry>

<entry>(A&cap;B&cap;C&cap;D&cap;E&cap;F&cap;G)</entry>
                 </row>
                 <row>
                     <entry>(&hellip; &ne; &empty; &sub; &sup; H)</entry>
                     <entry>1 in 10</entry>
                     <entry>0.0002</entry>

<entry>(A&cap;B&cap;C&cap;D&cap;E&cap;F&cap;G&cap;H)</entry>
                 </row>
             </tbody>
         </tgroup>
     </table>
</appendix>

*****file qwerty.ent*****
<!ELEMENT ents (a?)>
<!ENTITY  sub              "&#x2282;">   <!--   is a proper sub-set of
(i.e. is not equal to)   -->
<!ENTITY  sup              "&#x2283;">   <!--   is a superset of   -->
<!ENTITY  cap              "&#x2229;">   <!--   intersection of sets   -->
<!ENTITY  empty            "&#x2205;">   <!--   empty or null set   -->
<!ENTITY  ne               "&#x2260;">   <!--   not equal to   -->
<!ENTITY  hellip           "&#x2026;">   <!--   horizontal ellipsis  -->
<!ENTITY  nbsp             "&#x0020;">   <!--   ascii space  -->
--
Ron Catterall Ph.D. D.Sc.
[email protected]
http://catterall.net




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to