add (C) notice.
[mftrace.git] / afm.py
blob9183e51e3d4d2f50ed9ab964750b64c7404c0f03
1 # part of
2 # mftrace - Generate Type1 or TrueType font from Metafont source.
4 # Copyright (c) 2001--2006 by
5 # Han-Wen Nienhuys, Jan Nieuwenhuizen
6 #
7 # Distributed under terms of the GNU General Public License. It comes with
8 # NO WARRANTY.
12 import re
13 import sys
15 # Read some global vars
16 class Afm_reader:
17 def __init__ (self, lines):
18 self.lines = lines
20 def get_afm (self):
21 afm = Afm_font_metric ()
22 for i in self.lines[:20]:
23 m = re.match ('([^ \t\n]*)[ \t]*(.*[^ \t\n])', i)
24 if m and m.group (1):
25 key = m.group (1)
26 value = m.group (2)
27 if key != 'Comment':
28 afm.__dict__[key] = value
29 return afm
31 class Afm_font_metric:
32 def __init__ (self):
33 pass
35 def read_afm_file (filename):
36 reader = Afm_reader (open (filename).readlines ())
37 return reader.get_afm ()
39 if __name__ == '__main__':
40 i = read_afm_file (sys.argv[1])
41 print i, i.FullName, i.FontName