sam th               
        [EMAIL PROTECTED]
        http://www.abisource.com/~sam/
        GnuPG Key:  
        http://www.abisource.com/~sam/key


Content-Description: Mail message body

**** note ****
my default ISP is down so I was not able to send a copy of the 
patch to the developer list
***************

This patch implements the core changes needed to print under utf-
8 locale, as well as making some changes generally beneficial 
(fixing a memory leak).

The patch implements a XP class UT_AdobeEncoding to handle 
Adobe glyph name <-> UCS-2 translation, replacing some not 
entirely satisfactory code in the UnixFont class:
    * it handles the entire Adobe set of glyph names (or so I believe;
      it certainly is more complete than that used by the existing
      code);
    * it further handles glyphs named using the uniXXXX convention
      (currently unhandled)
    * the adobe -> to UCS conversion uses binary search instead 
      of straight search
    * because it is XP, it will be ready when some gets to implement
      the XP PS driver.

In addition the patch removes the getUniWidths function of the 
UnixFont class and implements in its place 
getCharWidth(UT_UCSChar). The rational for this is:
    * the existing mechanism is unwieldy, requiring to carry out
      UCS-2 to native conversion every time the PS driver wants to 
      get width of some particular character; in the new mechanism
      this is replaced by a one-off native to UCS conversion when the
      the width data is created from the afm file.
    * the width look up through indexing an array is unsuitable for 
      16-bit fonts, because it would require that a 128K look up table
      is allocated for each font, eventhough some 90+% of this table 
      would be unused in virtually all cases (Unicode fonts rarely
      contain more than a couple of thousand glyphs). The new
      mechanism uses a table of the size 4 *
      number_of_chars_in_font.

Tomas

Content-Description: Attachment information.
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:  UnixPS_patch.gz
     Date:  3 Feb 2001, 10:56
     Size:  13566 bytes.
     Type:  Unknown




PGP signature

Reply via email to