commit -- fix to fonts.dir to enable symbols to be viewed on X11.


Subject: commit -- fix to fonts.dir to enable symbols to be viewed on X11.
sterwill@abisource.com
Date: Fri Jan 28 2000 - 19:50:59 CST


Martin Sevior wrote:
> My ignorance shows! On my Redhat 6.1 system Symbol fonts do not show up in
> abiword. If I copy in what appears to be an identical font from
> /usr/share/fonts called "symbol" into the adiword fonts directory and hand
> edit fonts.dir to recognize it, abiword happily displays all the symbols
> in that font. After playing around inside the font directory I found that
> the minimum change to allow abi to display symbol fonts was to change
> "ABISOURCE" to "adobe" in the character set registry field of the
> pre-existing symbol font definition in fonts.dir. I also noticed that the
> "DINGBATS" fonts also have "adobe" in the character set registry field so
> it appears that this has also been implemented for "DINGBATS" (which
> display correctly on my redhat 6.1) system. If symbol fonts already
> display in your debian system without the change I suggested then I assume
> it is something screwy with my set up. I don't know though. All my
> diagnostics never showed that abi was doing anything wrong. The only thing
> differenet between dingbats and symbol was the "adobe" in the charater set
> registry.

I had originally planned to have fonts.dir evolve when we started
supporting registries other than ISO-8859-1 (Latin-1). Currently, that
has been a lower priority, so that we can make 8859-1 work correctly
first. Following this assumption, I added a PostScript macro to the
printing output to cast all fonts to a Latin-1 encoding. Of course
this only works for fonts that really are Latin-1. Standard Symbols
is not. :)

Should they be using an "adobe-fontspecific" registry-encoding? If this
is the case, and it appears to be by my testing, then the fonts.dir file
should be changed. Is this the fix we need?

If this is what we do, we'll need to change the registries in the
printed output (PostScript) to NOT be Latin-1. The quick way to
do this fix is to look for that font name, and omit the macro.
The correct thing to do is query the Unix Font manager (which has
read this registry in from the fonts.dir file at startup) and ask it.

> I just looked at the fonts.dir file again. The Symbol fonts are the only
> ones shipped with abi that have AbiSource in the character set registry
> and they are the only ones that don't work.

Ok... I've changed the fonts.dir to use the following lines for
Standard Symbols:

s050000l.pfa -AbiSource-Standard Symbols-regular-r-normal--0-0-0-0-p-0-adobe-fontspecific
s050000l.pfa -AbiSource-Standard Symbols-bold-r-normal--0-0-0-0-p-0-adobe-fontspecific
s050000l.pfa -AbiSource-Standard Symbols-regular-i-normal--0-0-0-0-p-0-adobe-fontspecific

I've also changed the PostScript generation to test that the
registry == iso8859 and the encoding == 1, and it will emit the LAT
macro. This was quite a small change, since the Unix Font Manager
classes craftily stored all this information, ready for us to use. :)

I've committed these changes, and I can write in Standard Symbol font in
my documents (and print PostScript without Latin-1 encoding set, so it
looks correct to me).

-- 
Shaw Terwilliger



This archive was generated by hypermail 2b25 : Fri Jan 28 2000 - 19:51:00 CST