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 (∩ 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 (∩ etc) and code points (∩ 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∩A --- try 2229: A∩A</para>
<para>try sup: B⊃B --- try 2283: B⊃B</para>
<para>try sub: C⊂C --- try 2282: C⊂C</para>
<para>try empty: D∅D --- try 2205: D∅D</para>
<para>try ne: E≠E --- try 2260: E≠E</para>
<para>try 2260: F…F --- try 2026: F…F</para>
<para>try nbsp: G G --- try 0020: G Z</para>
<para>para<footnote><para>try cap: A∩A --- try 2229:
A∩A</para></footnote></para>
<para>para<footnote><para>try sup: B⊃B --- try 2283:
B⊃B</para></footnote></para>
<para>para<footnote><para>try sub: C⊂C --- try 2282:
C⊂C</para></footnote></para>
<para>para<footnote><para>try empty: D∅D --- try 2205:
D∅D</para></footnote></para>
<para>para<footnote><para>try ne: E≠E --- try 2260:
E≠E</para></footnote></para>
<para>para<footnote><para>try hellip: F…F --- try 2026:
F…F</para></footnote></para>
<para>para<footnote><para>try nbsp: G G --- try 0020:
G 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> … then we have no knowledge of the
possible overlap of the two sets, (we have no knowledge of whether
B∩A=∅, B⊂A, B=A or B⊃A.) However, if B=A
or B⊃A; then we would have to infer ≠ …
</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 ∩</entry>
<entry>Fraction of Population⊃</entry>
<entry>Population of set⊂</entry>
<entry>Intersection Set∅</entry>
</row>
</thead>
<tbody>
<row>
<entry>(…X… Z   Z
≠X≠ G)</entry>
<entry>1 in 10</entry>
<entry>0.0024</entry>
<entry>(A∩B∩C∩D∩E∩F∩G)</entry>
</row>
<row>
<entry>(… ≠ ∅ ⊂ ⊃ H)</entry>
<entry>1 in 10</entry>
<entry>0.0002</entry>
<entry>(A∩B∩C∩D∩E∩F∩G∩H)</entry>
</row>
</tbody>
</tgroup>
</table>
</appendix>
*****file qwerty.ent*****
<!ELEMENT ents (a?)>
<!ENTITY sub "⊂"> <!-- is a proper sub-set of
(i.e. is not equal to) -->
<!ENTITY sup "⊃"> <!-- is a superset of -->
<!ENTITY cap "∩"> <!-- intersection of sets -->
<!ENTITY empty "∅"> <!-- empty or null set -->
<!ENTITY ne "≠"> <!-- not equal to -->
<!ENTITY hellip "…"> <!-- horizontal ellipsis -->
<!ENTITY nbsp " "> <!-- 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]