OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Odd Characters in UTF-8, Docbook 5.1


Hi,
 
Thank you everyone! With the info on that fop configuration for custom setup I was able to get fop to actually use the xconf file....so much trouble because I had thought fop had been using the standard system configuration file by default, but it does not. Edits to use the required font mentioned in earlier replies now works...it just goes to show...be careful what you edit, it might not be the file being used! Fonts now work as they should and include the previously missing glyphs.
 
The quick workaround is to add the "-c /usr/share/fop/conf/fop.xconf". That custom font script though adds a lot to making sure doc builds are more predictable.
 
I think I do need to ask the fop people why the dump of current configuration details fails. If this had been working I might have seen earlier that the expected xconf file was not used...I'm still curious as to where its configuration is really from. The base-14 fonts are standard so perhaps no config file was used at all and these are just built in...fop just doesn't want to tell me about its configuration.
 
Thanks!
 
----- Original Message -----
From: DeanNelson@aol.com
To: stimits@comcast.net, docbook-apps@lists.oasis-open.org
Sent: Fri, 03 Feb 2017 01:38:19 -0000 (UTC)
Subject: Re: [docbook-apps] Odd Characters in UTF-8, Docbook 5.1
I use DejaVu fonts with FOP on both Windows and Linux.
 
I use my own config file via "-c configFile.xml" switch with FOPs command
line to override the standard config. The integration with DejaVu fonts is
pretty straight forward.
 
This may help you - attached is part of the script that I use on Linux to
call FOP and also the configuration file.
 
You should be able to comment out the DejaVu parts of the config file and
see your fonts return to default. If not, I would check the fop script that
starts FOP.  (using 'which fop' to locate it)
 
Good luck.
 
Dean Nelson
 
 
In a message dated 2/2/2017 2:19:16 P.M. Pacific Standard Time,
stimits@comcast.net writes:
This is turning out to be odd...I have to conclude that fop is not
reading any configuration files...especially none named "fop.xconf". The short
story is that I can intentionally introduce errors in fop.xconf (all
occurrences on the computer as verified by updatedb and locate .xconf),
introduce "<strict-configuration>true</strict-configuration>", and
no mention of anything different occurs. I can run this under strace, and I
see no calls at all referring to opening any xconf file (nor any attempt to do
so). Somehow I need to figure out how fop is configured since the installed
xconf files are ignored.
 
Here's a summary of how I go there:
 
The DejaVuSans fonts do contain the character glyphs, and this is what
I've been trying to switch to instead of Helvetica for the sans-serif.
 
It was determined that param.xsl picks between serif and sans-serif by
naming one of these:
<xsl:param name="body.font.family">serif</xsl:param>
<xsl:param
name="body.font.family">sans-serif</xsl:param>
 
When changing between serif and sans-serif vi param.xsl edits, it is
verified that that either Times or Helvetica are used upon switch. This works
as expected.
 
I added the fop option "-d" to debug...this did not indicate any error,
though it was more explicit about not finding glyphs. After that I tried the
strict-configuration modification. No change. I looked for any possible
occurrence of fop.xconf, these two exist (I don't know how they differ), I
intentionally tried to break both for warning information:
/usr/share/fop/conf/fop.xconf
/usr/share/publican/fop/fop.xconf
 
This had no effect, so this is when I tried strace. It seems fop does not
use external configuration file searches, and I don't know why...so I can't
actually add DejaVuSans. I'm currently trying to figure out where there is a
mailing list or other support for fop. Incidentally, the "fop -x" command to
dump configuration fails...it wants an input file or it won't tell me anything
about configuration.
 
Thanks everyone for the help!
 
----- Original Message -----
From: Dave Pawson
<dave.pawson@gmail.com>
To: Richard Hamilton
<hamilton@xmlpress.net>
Cc: stimits@comcast.net, Docbook
<docbook-apps@lists.oasis-open.org>
Sent: Thu, 02 Feb 2017 06:37:36
-0000 (UTC)
Subject: Re: [docbook-apps] Odd Characters in UTF-8, Docbook
5.1
Perhaps start where the problem is. Look for a font which contains
the
glyphs for the Unicode code points you want to use. Check the
code points
produce the glyphs you want.
Find out how the app (fop and any others you
use in your tool chain)
selects fonts.
Run the app knowing that the font
has what you want and your code
points are correct.
HTH
On 1 February 2017 at 23:44, Richard Hamilton
<hamilton@xmlpress.net> wrote:
> I’m getting out of my depth on
fop, so maybe someone else on the list can help here.
>
> However,
diving in deeper than I should:-)I suspect the problem is number
1.
>
> I suggest running fop with the -d (debug) mode, and you
might also try -x, which will dump the configuration; that way you can see if
the configuration fop uses is what you think it is using.
>
> Good
luck,
> Dick
> -------
> XML Press
> XML for Technical
Communicators
> http://xmlpress.net
>
hamilton@xmlpress.net
>
>
>
>> On Feb 1, 2017, at
15:21, stimits@comcast.net wrote:
>>
>>
Hi,
>>
>> So what my experimenting shows so far for trying
to change font is that I can adjust param.xsl and switch between serif or
sans-serif. The result depends on what is available in fop.xconf which lists
Times-Roman for serif, and Helvetica for sans-serif. I've attempted to add an
additional font definition for DejaVuSans by the following inside the
<fonts> of fop.xconf:
>>
>> <!-- DejaVuSans
-->
>> <font
embed-url="">
>>
<font-triplet name="DejaVuSans" style="normal"
weight="normal"/>
>> </font>
>>
>> I am
unable to name "DejaVuSans" instead of "sans-serif" in param.xsl (it falls
back to Symbol). I see three possibilities...
>> 1. My DejaVuSans
declaration is wrong.
>> 2. I have to remove Helvetica in fop.xconf
from the sans-serif listings.
>> 3. The Docbook parameters you
mentioned are somewhere outside of fop.xconf or
param.xsl.
>>
>> It seems unlikely I need to remove
Helvetica, more likely there is another configuration elsewhere. However, I
don't see any occurrence of "Helvetica" in any of the other Docbook files
under the "stylesheet/docbook-xsl-ns-1.79.1/" directory tree which are related
to this case (for example, there is a subdirectory for "slides" which would
seem to be unrelated to the "book" being published to pdf). The full path to
the ttf font file is available and readable to everyone; this is verifiable
with a font editor (one reason to choose DejaVu is that the font editor
actually shows the desired box drawing font glyphs at index 0x2500 and
on).
>>
>> Am I missing another file to edit, or am I simply
using the wrong syntax for my addition of DejaVuSans?
>>
>>
Thanks!
>>
>> ----- Original Message -----
>> From:
Richard Hamilton <hamilton@xmlpress.net>
>> To:
stimits@comcast.net
>> Cc: Docbook
<docbook-apps@lists.oasis-open.org>
>> Sent: Wed, 01 Feb 2017
20:36:59 -0000 (UTC)
>> Subject: Re: [docbook-apps] Odd Characters in
UTF-8, Docbook 5.1
>> Hi,
>> There are two steps to the font
assignment process: 1) configuring fop’s fonts and 2) setting DocBook
parameters to call the fonts you have configured in fop.
>> In this
case, the mapping between serif and Times (and sans-serif and Helvetica)
happens in the fop configuration file, fop.xconf.
>> So, when you set
the DocBook parameter to sans-serif, fop defaults to Helvetica. If you want
sans-serif to default to something else, or if you want to add a font, you
need to change the configuration in fop.xconf. Once you have configured fop to
recognize a font, you can refer to it from the DocBook parameters using the
name you have associated with the font in fop.xconf. If you look in your
fop.xconf file, you will find that the definition for Times contains several
instances of the <font-triplet> element, each of which defines a name
you can use for that font, along with information about style and
weight.
>> This page has some information on configuring the
fop.xconf file for fonts:
>>
https://xmlgraphics.apache.org/fop/2.1/fonts.html
>> Best
regards,
>> Dick Hamilton
>> -------
>> XML
Press
>> XML for Technical Communicators
>>
http://xmlpress.net
>> hamilton@xmlpress.net
>> > On Feb
1, 2017, at 11:53, stimits@comcast.net wrote:
>> >
>>
> Hi,
>> >
>> > I tested this by changing
body.font.family to sans-serif. The document did successfully switch, and used
Helvetica. Unfortunately, Helvetica also lacks the box drawing characters. Is
there a configuration file used for a given Docbook 5.1 installation which
maps "Times Roman" to serif, and "Helvetica" to sans-serif? I think this is
the key to getting those box drawing characters to work...perhaps if I can
remap serif and sans-serif to valid fonts other than Helvetica and Times Roman
it would work with those characters.
>> >
>> >
Thanks!
>> >
>> > ----- Original Message
-----
>> > From: Bob Stayton <bobs@sagehill.net>
>>
> To: stimits@comcast.net, docbook-apps@lists.oasis-open.org
>>
> Sent: Wed, 01 Feb 2017 18:51:04 -0000 (UTC)
>> > Subject: Re:
[docbook-apps] Odd Characters in UTF-8, Docbook 5.1
>> >
Hi,
>> > If by system-wide you mean everyone sharing one DocBook
XSL
>> > installation, you could edit the parameters file for that
installation.
>> > Find the file named fo/param.xsl and change
these stylesheet parameters:
>> > <xsl:param
name="body.font.family">serif</xsl:param>
>> >
<xsl:param
name="title.font.family">sans-serif</xsl:param>
>> > All
of the stylesheet params are documented here:
>> >
http://docbook.sourceforge.net/release/xsl/current/doc/fo/index.html
>>
>
>> > Bob Stayton
>> > Sagehill
Enterprises
>> > bobs@sagehill.net
>> > On 2/1/2017
10:22 AM, stimits@comcast.net wrote:
>> > > I just wanted to
add some information from reading build logs for the
>> > >
document. It turns out the error shows up under "fop" because the
>>
> > particular font does not support this character (I'm
surprised
>> > > Times-Roman does not have this by default
since just about every
>> > > application on the system has the
character):
>> > > WARNING: Glyph "├" (0x251c, SF080000) not
available in font "Times-Roman".
>> > >
>> > >
The trouble here is I now want to change this for the system as a
whole,
>> > > not just on the document (I want to avoid any
project using
>> > > Times-Roman). I am curious if there is
some simple way under Linux to
>> > > find out which fonts fop
has available, and how to change the default
>> > > font family
for all Docbook publishing via a system-wide setting? I've
>> >
> found many documents on modifying Docbook behavior within source
code,
>> > > but not much seems to exist on system-wide Docbook
configuration from a
>> > > system administrator's point of
view...if anyone has a URL for
>> > > information on specifics
of tuning Docbook defaults under Linux I'd be
>> > > very
happy!
>> > >
>> > > Thanks!
>> >
>
>> > > ----- Original Message -----
>> > >
From: stimits@comcast.net
>> > > To:
docbook-apps@lists.oasis-open.org
>> > > Sent: Tue, 31 Jan 2017
23:20:24 -0000 (UTC)
>> > > Subject: [docbook-apps] Odd
Characters in UTF-8, Docbook 5.1
>> > > Hi,
>> >
>
>> > > I'm working on a Linux machine which has UTF-8
encoding. The docbook 5.1
>> > > I'm working with is
declared:
>> > > <?xml version="1.0"
encoding="utf-8"?>
>> > > <!DOCTYPE book [
>>
> > <!ENTITY version "0.1 unreleased">
>> > >
]>
>> > >
>> > > Entities changed a while
back (relaxng changed things), but so far as I
>> > > know I
should still be able to work with numeric entities when using odd
>>
> > characters which are part of UTF-8. I'm trying to get some box
drawing
>> > > characters to work, specifically because I need
to illustrate a file
>> > > directory structure which has been
output like this from the "tree -d"
>> > > command. Here's a
short sample:
>> > >> tree -d -L 2 /etc | tail -n 20 | tail
-n 6
>> > > │ ├── pluginconf.d
>> > > │ ├──
protected.d
>> > > │ └── vars
>> > > └──
yum.repos.d
>> > >
>> > > As you can see the
vertical and horizontal box drawing characters are
>> > > used.
When I redirect this to a file or copy and paste into the document
>>
> > all I get is a substitute...each shows as "#". So I tried to use
numeric
>> > > entities instead. As an example "boxh"
(horizontal box line) should work
>> > > as "&#x2500;".
This does not work, and rendering still ends up as "#". I
>> >
> tried the numeric code for the plus/minus character, "|&#x00B1;|",
and
>> > > this does work. I don't know if it proves anything,
but since my UTF-8
>> > > terminal shows all of the above
characters just fine on a terminal, it
>> > > seems like the
ability to output is not in question...perhaps this is an
>> >
> invalid assumption.
>> > >
>> > > Btw, one
reference on the Unicode numeric value is from:
>> > >
http://www.oasis-open.org/docbook/documentation/reference/html/iso-box.html
>>
> >
>> > > Under Docbook 5.1, what do I need to do to use
this numeric entity other
>> > > than using UTF-8 and the
numeric entity syntax? Is there an additional
>> > > XML
declaration I need?
>> > >
>> > >
Thanks!
>
>
>
---------------------------------------------------------------------
>
To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>
For additional commands, e-mail:
docbook-apps-help@lists.oasis-open.org
>
--
Dave Pawson
XSLT XSL-FO FAQ.
Docbook
FAQ.
http://www.dpawson.co.uk


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]