From 1b8d70a3622e0ebe6c79d92344da17b7cdce7814 Mon Sep 17 00:00:00 2001 From: David Turner Date: Wed, 21 Aug 2002 21:36:26 +0000 Subject: [PATCH] * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py, src/tools/docmaker/tohtml.py: updating the DocMaker tool --- ChangeLog | 13 ++++++++++ src/tools/docmaker/docmaker.py | 47 +++++++++++++++++++++++++++------- src/tools/docmaker/tohtml.py | 1 + src/tools/docmaker/utils.py | 11 ++++---- 4 files changed, 58 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e5a7bb55..c51a0935d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2002-08-21 David Turner + + * src/pshinter/pshalgo3.c, src/autohint/ahangles.c, + src/autohint/ahangles.h, src/autohint/ahglyph.c, src/autohint/ahhint.c, + src/autohint/ahtypes.h: the automatic and Postscript hinter now + automatically detect inflection points in glyph outlines and treats + them specially. This is very useful to prevent nasty effect like the + disappearing diagonals of "S" and "s" in many, many fonts.. + + * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py, + src/tools/docmaker/tohtml.py: updating the DocMaker tool + + 2002-08-20 Werner Lemberg * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0. diff --git a/src/tools/docmaker/docmaker.py b/src/tools/docmaker/docmaker.py index a502c9c3a..285bcd6a2 100644 --- a/src/tools/docmaker/docmaker.py +++ b/src/tools/docmaker/docmaker.py @@ -13,9 +13,13 @@ # to speed things significantly # -from sources import * -from content import * -from tohtml import * +from sources import * +from content import * +from utils import * +from formatter import * +from tohtml import * + +import utils import sys, os, time, string, glob, getopt @@ -28,7 +32,7 @@ def file_exists( pathname ): file.close() except: result = None - sys.err.write( pathname + " couldn't be accessed\n" ) + sys.stderr.write( pathname + " couldn't be accessed\n" ) return result @@ -50,8 +54,7 @@ def make_file_list( args = None ): else: newpath = [pathname] - last = len( file_list ) - file_list[last : last] = newpath + file_list.extend( newpath ) if len( file_list ) == 0: file_list = None @@ -68,13 +71,24 @@ def usage(): print " docmaker [options] file1 [ file2 ... ]\n" print "using the following options:\n" print " -h : print this page" + print " -t : set project title, as in '-t \"My Project\"'" + print " -o : set output directory, as in '-o mydir'" + print " -p : set documentation prefix, as in '-p ft2'" + print "" + print " --title : same as -t, as in '--title=\"My Project\"'" + print " --output : same as -o, as in '--output=mydir'" + print " --prefix : same as -p, as in '--prefix=ft2'" def main( argv ): """main program loop""" + global output_dir + try: - opts, args = getopt.getopt( argv[1:],"h", [ "help" ] ) + opts, args = getopt.getopt( sys.argv[1:], + "ht:o:p:", + [ "help", "title=", "output=", "prefix=" ] ) except getopt.GetoptError: usage() @@ -86,17 +100,32 @@ def main( argv ): # process options # + project_title = "Project" + project_prefix = None + output_dir = None + for opt in opts: if opt[0] in ( "-h", "--help" ): usage() sys.exit( 0 ) + if opt[0] in ( "-t", "--title" ): + project_title = opt[1] + + if opt[0] in ( "-o", "--output" ): + utils.output_dir = opt[1] + + if opt[0] in ( "-p", "--prefix" ): + project_prefix = opt[1] + + check_output( ) + # create context and processor source_processor = SourceProcessor() content_processor = ContentProcessor() # retrieve the list of files to process - file_list = make_file_list() + file_list = make_file_list( args ) for filename in file_list: source_processor.parse_file( filename ) content_processor.parse_sources( source_processor ) @@ -104,7 +133,7 @@ def main( argv ): # process sections content_processor.finish() - formatter = HtmlFormatter( content_processor, "Example", "zz" ) + formatter = HtmlFormatter( content_processor, project_title, project_prefix ) formatter.toc_dump() formatter.index_dump() diff --git a/src/tools/docmaker/tohtml.py b/src/tools/docmaker/tohtml.py index 1067d3494..fcc0e6d7e 100644 --- a/src/tools/docmaker/tohtml.py +++ b/src/tools/docmaker/tohtml.py @@ -1,6 +1,7 @@ from sources import * from content import * from formatter import * + import time # The following defines the HTML header used by all generated pages. diff --git a/src/tools/docmaker/utils.py b/src/tools/docmaker/utils.py index f27353e99..6d4653db5 100644 --- a/src/tools/docmaker/utils.py +++ b/src/tools/docmaker/utils.py @@ -1,4 +1,9 @@ -import string, sys +import string, sys, os + +# current output directory +# +output_dir = None + # This function is used to sort the index. It is a simple lexicographical # sort, except that it places capital letters before lowercase ones. @@ -43,10 +48,6 @@ def sort_order_list( input_list, order_list ): return new_list -# current output directory -# -output_dir = None - # Open the standard output to a given project documentation file. Use # "output_dir" to determine the filename location if necessary and save the