patch: Unix PS utf-8 patch


Subject: patch: Unix PS utf-8 patch
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Tue Feb 06 2001 - 13:48:28 CST


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




This archive was generated by hypermail 2b25 : Tue Feb 06 2001 - 13:55:02 CST