The attached patch implements the necessary changes to allow 
printing with Unicode fonts, including ttf fonts. The following is a 
summary of what it does:

    * implements an XP class UT_AdobeEncoding that handles
      conversions from glyph names to ucs and vice versa.

    * removes all glyph name tables from the source files. Instead
      these tables are located in files with u2g extension residing 
      the fonts directory, from where they are loaded when needed.
      These tables occupy significant resources
      (the complete Adobe glyph table occupies around 16K!) but are
      only used when creating the PS font class, which only
      happens when the PS output is generated; thus for 99% of the
      time these are not needed. Further, this system simplifies font
      handling and caters for fonts with non-standard glyph names
      (dingbats, symbols, MS ttf fonts ...), for which suitable u2g file
      can be created.

     * removes the UnixFont::getUniWidths() function, replacing it
       with getCharWidth( UT_UCSChar). The entire width lookup
       mechanism has been rewritten, since the existing one was
       unsuitable for 16-bit fonts. (Look up by indexing an array
       would require 128K lookup table!)

    * makes changes to drawCharsCJK allowing output of
      characters by glyph name.

The tarball contains the patch, + files adobe-full.u2g, adobe-
short.u2g, dingbats.u2g and symbol.u2g; these should be copied 
to the fonts peer directory, and installed with the fonts. 
dingbats.u2g and symbol.u2g need to be further symlinked to 
d050000l.u2g and s050000l.u2g respectively. The format of the
u2g files is explained in u2g_format.txt which is also included.

(I have further included files tahoma.afm and tahoma.u2g which can 
be used with the MS tahoma Unicode font, for those who wish to 
experiment with ttf fonts.)

Tomas
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any another MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.

   ---- File information -----------
     File:  UnixPSpatch.tgz
     Date:  6 Feb 2001, 20:26
     Size:  41571 bytes.
     Type:  Unknown

UnixPSpatch.tgz

Reply via email to