commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/reports src/adapters/filters/Standard/Base...


From: Jason Cater
Subject: gnue/reports src/adapters/filters/Standard/Base...
Date: Tue, 22 Apr 2003 09:42:49 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/04/22 09:42:48

Modified files:
        reports/src/adapters/filters/Standard/Base/psutils: 
                                                            FontMetrics.py 
Added files:
        reports/src/adapters/filters/Standard/Base/psutils/GenericDefinitions: 
                                                                               
PageSizes.py 
        reports/src/adapters/filters/Standard/Base/psutils/GenericFonts: 
                                                                         
AvantGardeBook.py 
                                                                         
AvantGardeBookOblique.py 
                                                                         
AvantGardeDemi.py 
                                                                         
AvantGardeDemiOblique.py 
                                                                         
BookmanDemi.py 
                                                                         
BookmanDemiItalic.py 
                                                                         
BookmanLight.py 
                                                                         
BookmanLightItalic.py 
                                                                         
Courier.py 
                                                                         
CourierBold.py 
                                                                         
CourierBoldOblique.py 
                                                                         
CourierOblique.py 
                                                                         
Helvetica.py 
                                                                         
HelveticaBold.py 
                                                                         
HelveticaBoldOblique.py 
                                                                         
HelveticaNarrow.py 
                                                                         
HelveticaNarrowBold.py 
                                                                         
HelveticaNarrowBoldOblique.py 
                                                                         
HelveticaNarrowOblique.py 
                                                                         
HelveticaOblique.py 
                                                                         
NewCenturySchlbkBold.py 
                                                                         
NewCenturySchlbkBoldItalic.py 
                                                                         
NewCenturySchlbkItalic.py 
                                                                         
NewCenturySchlbkRoman.py 
                                                                         
PalatinoBold.py 
                                                                         
PalatinoBoldItalic.py 
                                                                         
PalatinoItalic.py 
                                                                         
PalatinoRoman.py 
                                                                         
Symbol.py 
                                                                         
TimesBold.py 
                                                                         
TimesBoldItalic.py 
                                                                         
TimesItalic.py 
                                                                         
TimesRoman.py 
                                                                         
ZapfChanceryMediumItalic.py 
                                                                         
ZapfDingbats.py 
                                                                         
__init__.py 
        reports/utils  : create-afm-classes.py 

Log message:
        * Support for postscript font metrics, including preloading metrics for 
the 35 standard postscript fonts.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericDefinitions/PageSizes.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/AvantGardeBook.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/AvantGardeBookOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/AvantGardeDemi.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/AvantGardeDemiOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/BookmanDemi.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/BookmanDemiItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/BookmanLight.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/BookmanLightItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/Courier.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/CourierBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/CourierBoldOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/CourierOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/Helvetica.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaBoldOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaNarrow.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaNarrowBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaNarrowBoldOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaNarrowOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/HelveticaOblique.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/NewCenturySchlbkBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/NewCenturySchlbkBoldItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/NewCenturySchlbkItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/NewCenturySchlbkRoman.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/PalatinoBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/PalatinoBoldItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/PalatinoItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/PalatinoRoman.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/Symbol.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/TimesBold.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/TimesBoldItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/TimesItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/TimesRoman.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/ZapfChanceryMediumItalic.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/ZapfDingbats.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/adapters/filters/Standard/Base/psutils/GenericFonts/__init__.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/utils/create-afm-classes.py?rev=1.1

Patches:
Index: gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py
diff -c 
gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py:1.5 
gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py:1.6
*** gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py:1.5  
Tue Apr 15 18:32:49 2003
--- gnue/reports/src/adapters/filters/Standard/Base/psutils/FontMetrics.py      
Tue Apr 22 09:42:48 2003
***************
*** 27,39 ****
  # NOTES:
  #
  
! __all__ = ['FontMetrics']
  
  import string
  from gnue.common.utils.FileUtils import openResource
  
- class FontMetrics:
  
    def __init__(self, location):
      if hasattr(location,'read'):
        handle = location
--- 27,60 ----
  # NOTES:
  #
  
! __all__ = ['FontMetrics','CharMetrics','KernPairs','Composites']
  
  import string
  from gnue.common.utils.FileUtils import openResource
  
  
+ class _Encapsulation:
+   def __init__(self, **params):
+     self.__dict__.update(params)
+ 
+   def addLine(self, line):
+     stuff = line.split()
+     key = stuff[0]
+     val = string.join(stuff[1:],' ')
+     self.add(key, val)
+ 
+   def add(self, key, val):
+     try:
+       curr = self.__dict__[key]
+       try:
+         curr.append(val)
+       except:
+         self.__dict__[key] = [self.__dict__[key], val]
+     except:
+       self.__dict__[key] = val
+ 
+ 
+ class FontMetrics(_Encapsulation):
    def __init__(self, location):
      if hasattr(location,'read'):
        handle = location
***************
*** 45,55 ****
      # Parse the file
      stack = [self]
      current = self
!     boostrap = 1
!     for line in handle.readlines()
        line = line.strip()
  
!       if not len(line) or line[:7] == 'Comment':
          continue
  
        if line[:3] == 'End':
--- 66,76 ----
      # Parse the file
      stack = [self]
      current = self
!     bootstrap = 1
!     for line in handle.readlines():
        line = line.strip()
  
!       if not len(line) or line[:7] == 'Comment' or not stack:
          continue
  
        if line[:3] == 'End':
***************
*** 57,97 ****
  
        elif line[:5] == 'Start':
          if bootstrap:
-           continue
            bootstrap = 0
          else:
            current = {'CharMetrics':  CharMetrics,
                       'KernPairs': KernPairs,
!                      'Composites': Composites}
  
            stack.append(current)
        else:
!         stack[self].addLine(line)
  
      if close:
        handle.close()
  
  
- class _Encapsulation:
-   def addLine(self, line):
-     stuff = line.split()
-     self.__dict__[stuff[0]] = string.join(stuff[1:],' ')
- 
  class CharMetrics(_Encapsulation):
!   def addLine(self, line):
!     stuff = line.split()
!     self.__dict__[stuff[0]] = string.join(stuff[1:],' ')
  
  class KernPairs(_Encapsulation):
!   def addLine(self, line):
!     stuff = line.split()
!     self.__dict__[stuff[0]] = string.join(stuff[1:],' ')
  
  class Composites(_Encapsulation):
!   def addLine(self, line):
!     stuff = line.split()
!     self.__dict__[stuff[0]] = string.join(stuff[1:],' ')
! 
  
  
  if __name__ == '__main__':
--- 78,113 ----
  
        elif line[:5] == 'Start':
          if bootstrap:
            bootstrap = 0
+           continue
          else:
+           section = line[5:].split()[0]
            current = {'CharMetrics':  CharMetrics,
+                      'KernData': KernData,
                       'KernPairs': KernPairs,
!                      'Composites': Composites}[section]()
! 
  
+           stack[-1].add(section, current)
            stack.append(current)
        else:
!         stack[-1].addLine(line)
  
      if close:
        handle.close()
  
  
  class CharMetrics(_Encapsulation):
!   pass
! 
! class KernData(_Encapsulation):
!   pass
  
  class KernPairs(_Encapsulation):
!   pass
  
  class Composites(_Encapsulation):
!   pass
  
  
  if __name__ == '__main__':




reply via email to

[Prev in Thread] Current Thread [Next in Thread]