9 getopt.getopt (sys.argv[1:],
25 for design_size in [11,13,14,16,18,20,23,26]:
27 filename = name.lower ()
28 script = '''#!@FONTFORGE@
32 # Separate Feta versioning?
33 # * using 20 as Weight works for gnome-font-select widget: gfs
36 notice += "This font is distributed under the GNU General Public License. ";
37 notice += "As a special exception, if you create a document which uses ";
38 notice += "this font, and embed this font or unaltered portions of this ";
39 notice += "font into the document, this font does not by itself cause the ";
40 notice += "resulting document to be covered by the GNU General Public License.";;
42 SetFontNames("%(name)s-%(design_size)d", "%(name)s", "%(name)s %(design_size)d", "%(design_size)d", notice, "@TOPLEVEL_VERSION@");
44 MergeFonts("feta%(design_size)d.pfa");
45 MergeFonts("parmesan%(design_size)d.pfa");
47 # load nummer/din after setting PUA.
51 # crashes fontforge, use PUA for now -- jcn
52 # SetUnicodeValue(i + 0xF0000, 0);
55 In the BMP, the range 0xe000 to 0xf8ff will never be assigned to any
56 characters by the standard and is reserved for private usage. For the
57 Linux community, this private area has been subdivided further into the
58 range 0xe000 to 0xefff which can be used individually by any end-user
59 and the Linux zone in the range 0xf000 to 0xf8ff where extensions are
60 coordinated among all Linux users. The registry of the characters
61 assigned to the Linux zone is currently maintained by H. Peter Anvin
62 <Peter.Anvin@linux.org>.
64 SetUnicodeValue(i + 0xE000, 0);
69 MergeFonts("feta-alphabet%(design_size)d.pfa");
70 MergeKern("feta-alphabet%(design_size)d.tfm");
72 LoadTableFromFile("LILF", "%(filename)s-%(design_size)d.subfonts");
73 LoadTableFromFile("LILC", "feta%(design_size)d.otf-table");
74 LoadTableFromFile("LILY", "feta%(design_size)d.otf-gtable");
76 Generate("%(filename)s-%(design_size)d.otf");
77 Generate("%(filename)s-%(design_size)d.svg");
78 SetFontNames("PFA%(name)s-%(design_size)d", "PFA%(name)s", "PFA%(name)s %(design_size)d", "%(design_size)d", notice, "@TOPLEVEL_VERSION@");
80 # different name to prevent conflict with OTF
81 #LoadEncodingFile("feta%(design_size)d.enc");
82 Generate("PFA%(filename)s-%(design_size)d.pfa");
85 basename = '%s-%d' % (filename, design_size)
86 path = os.path.join (outdir, basename + '.pe')
87 open (path, 'w').write (script)
89 subfonts = ['feta%(design_size)d',
90 'parmesan%(design_size)d',
91 'feta-alphabet%(design_size)d']
95 ns.append ('%s' % (s % vars()))
97 subfonts_str = string.join (ns)
99 open (os.path.join (outdir, '%(filename)s-%(design_size)d.subfonts' % vars()), 'w').write (subfonts_str)
101 path = os.path.join (outdir, '%s-%d.dep' % (filename, design_size))
103 deps = r'''%(filename)s-%(design_size)d.otf: $(outdir)/feta%(design_size)d.pfa \
104 $(outdir)/parmesan%(design_size)d.pfa \
105 $(outdir)/feta-alphabet%(design_size)d.pfa feta%(design_size)d.otf-table \
106 $(outdir)/feta-alphabet%(design_size)d.pfa feta%(design_size)d.otf-gtable
108 open (path, 'w').write (deps)
110 open (os.path.join (outdir, basename + '.fontname'), 'w').write ("%s-%d" % (name, design_size))