From 38208a6e6b07c8d3e144632c33833e16023b410b Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Thu, 11 Jan 2001 09:27:49 +0000 Subject: [PATCH] * docs/docmaker.py: Minor improvements to reduce unwanted spaces and empty lines in output. * docs/docmaker.py: Improved script to generate table of contents and index pages. It also supports wildcards on non Unix systems. * include/freetype/*.h, include/freetype/cache/*.h: Updated comments to include section definitions/delimitations for the API Reference generator. * include/freetype/freetype.h: Moved declaration of `FT_Generic_Finalizer' and the `FT_Generic' structure to... * include/freetype/fttypes.h: here. --- ChangeLog | 23 +++- docs/docmaker.py | 203 ++++++++++++++--------------- include/freetype/cache/ftcimage.h | 12 +- include/freetype/cache/ftcmanag.h | 12 +- include/freetype/cache/ftcsbits.h | 206 ++++++++++++++++-------------- include/freetype/freetype.h | 30 +++-- include/freetype/ftbbox.h | 10 +- include/freetype/ftcache.h | 34 +++-- include/freetype/ftglyph.h | 29 +++-- include/freetype/ftimage.h | 124 ++++++++++-------- include/freetype/ftlist.h | 34 +++-- include/freetype/ftmac.h | 34 +++-- include/freetype/ftmm.h | 36 ++++-- include/freetype/ftmodule.h | 33 +++-- include/freetype/ftnames.h | 44 ++++--- include/freetype/ftoutln.h | 21 ++- include/freetype/ftrender.h | 12 +- include/freetype/ftsystem.h | 2 + include/freetype/fttypes.h | 29 +++-- include/freetype/t1tables.h | 31 +++-- include/freetype/tttables.h | 13 +- 21 files changed, 559 insertions(+), 413 deletions(-) diff --git a/ChangeLog b/ChangeLog index ef0bfa016..c5a2e4fc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,22 @@ -2000-01-09 David Turner +2001-01-10 Werner Lemberg - * docs/docmaker.py: improved script to generate table of contents and - index pages. it also supports wildcards on non Unix systems + * docs/docmaker.py: Minor improvements to reduce unwanted spaces + and empty lines in output. - * include/freetype/*.h, include/freetype/cache/*.h: updated comments - to include section definitions / delimitations for the API Reference - generator.. +2001-01-09 David Turner -2000-01-04 Werner Lemberg + * docs/docmaker.py: Improved script to generate table of contents + and index pages. It also supports wildcards on non Unix systems. + + * include/freetype/*.h, include/freetype/cache/*.h: Updated comments + to include section definitions/delimitations for the API Reference + generator. + + * include/freetype/freetype.h: Moved declaration of + `FT_Generic_Finalizer' and the `FT_Generic' structure to... + * include/freetype/fttypes.h: here. + +2001-01-04 Werner Lemberg * include/freetype/ttnameid.h: Updated Unicode code range comments. diff --git a/docs/docmaker.py b/docs/docmaker.py index c3d69c4c6..752be467d 100644 --- a/docs/docmaker.py +++ b/docs/docmaker.py @@ -10,7 +10,7 @@ import fileinput, sys, string, glob -html_header = """ +html_header = """\
FreeType 2 API Reference @@ -21,54 +21,39 @@ html_header = """ LI { text-align=justify }
- +

FreeType 2 API Reference

""" -html_footer = """ +html_footer = """\ - -""" - -section_title_header = """ -

-""" +""" -section_title_footer = """ -

-""" - - -code_header = """ -
-"""
+section_title_header = "

" +section_title_footer = "

" -code_footer = """ -
-""" +code_header = "
"
+code_footer = "
" para_header = "

" para_footer = "

" -block_header = """

""" +block_header = "

" block_footer = "
" -description_header = """
""" -description_footer = """

""" +description_header = "
" +description_footer = "

" -marker_header = """
""" +marker_header = "
" marker_inter = "
" marker_footer = "
" -source_header = """
-"""
-source_footer = """
-
-""" +source_header = "
"
+source_footer = "

" current_section = None @@ -206,10 +191,14 @@ class DocCode: while l > 0 and string.strip( self.lines[l - 1] ) == "": l = l - 1 - print code_header + # the code footer should be directly appended to the last code + # line to avoid an additional blank line + # + sys.stdout.write( code_header ) for line in self.lines[0 : l]: - print line - print code_footer + sys.stdout.write( '\n' + line ) + sys.stdout.write( code_footer ) + ############################################################################# @@ -219,7 +208,6 @@ class DocCode: # # The paragraph is filled line by line by the parser. # - class DocParagraph: def __init__( self ): @@ -229,13 +217,13 @@ class DocParagraph: def add( self, line ): # Get rid of unwanted spaces in the paragraph. # - # The following line is the same as + # The following two lines are the same as # # self.words.extend( string.split( line ) ) # # but older Python versions don't have the `extend' attribute. # - last = len(self.words) + last = len( self.words ) self.words[last:last] = string.split( line ) @@ -287,6 +275,7 @@ class DocParagraph: print para_footer + ############################################################################# # # DocContent is used to store the content of a given marker. @@ -320,8 +309,6 @@ class DocParagraph: # The DocContent object is entirely built at creation time; you must # pass a list of input text lines in the "lines_list" parameter. # -# - class DocContent: def __init__( self, lines_list ): @@ -390,7 +377,7 @@ class DocContent: paragraph.add( line ) else: - # we're in code mode... + # we are in code mode... # line = aline @@ -454,7 +441,7 @@ class DocContent: element.dump() if field: - print " " + print "" def dump_html( self ): @@ -475,7 +462,7 @@ class DocContent: else: if not in_table: - print '
' + print "" @@ -878,7 +871,6 @@ class DocSectionList: old_stdout = sys.stdout for section in self.sections.values(): - if section.filename: new_file = open( section.filename, "w" ) sys.stdout = new_file @@ -889,7 +881,6 @@ class DocSectionList: def dump_html_index( self ): - old_stdout = sys.stdout new_file = open( self.index_filename, "w" ) sys.stdout = new_file @@ -899,36 +890,32 @@ class DocSectionList: line = 0 print html_header - print "

General Index

" - print "
" in_table = 1 else: print "
" @@ -514,7 +501,7 @@ class DocContent: -###################################################################################### +############################################################################# # # # The DocBlock class is used to store a given comment block. It contains @@ -527,9 +514,9 @@ class DocContent: # "self.source" is simply a list of text lines taken from the # uncommented source itself. # -# Finally, "self.name" is a simple identifier used to -# uniquely identify the block. it is taken from the first word of the first -# paragraphe of the first marker of a given block, i.e: +# Finally, "self.name" is a simple identifier used to uniquely identify +# the block. It is taken from the first word of the first +# paragraph of the first marker of a given block, i.e: # # Goo # Bla bla bla @@ -539,13 +526,13 @@ class DocContent: class DocBlock: def __init__( self, block_line_list = [], source_line_list = [] ): - self.items = [] # current ( marker, contents ) list - self.section = None # section this block belongs to - - marker = None # current marker - content = [] # current content lines list - alphanum = string.letters + string.digits + "_" - self.name = None + self.items = [] # current ( marker, contents ) list + self.section = None # section this block belongs to + + marker = None # current marker + content = [] # current content lines list + alphanum = string.letters + string.digits + "_" + self.name = None for line in block_line_list: line2 = string.lstrip( line ) @@ -613,7 +600,7 @@ class DocBlock: content = DocContent( lines ) self.items.append( ( string.lower( marker ), content ) ) - + def find_content( self, marker ): for item in self.items: if ( item[0] == marker ): @@ -629,23 +616,24 @@ class DocBlock: def dump_html( self ): - types = [ 'type', 'struct', 'functype', 'function', 'constant', - 'enum', 'macro' ] + types = [ 'type', 'struct', 'functype', 'function', + 'constant', 'enum', 'macro' ] parameters = [ 'input', 'inout', 'output', 'return' ] if not self.items: return - # place html anchor when needed - if self.name: - print '' - # start of a block # print block_header - print "

" + self.name + "

" + # place html anchor if needed + # + if self.name: + print '
' + print "

" + self.name + "

" + print "
" # print source code # @@ -657,12 +645,13 @@ class DocBlock: while l >= 0 and string.strip( lines[l] ) == "": l = l - 1 print source_header + print "" for line in lines[0 : l + 1]: - print line + print line print source_footer in_table = 0 - + # dump each (marker,content) element # for element in self.items: @@ -675,19 +664,19 @@ class DocBlock: print description_footer elif not ( marker in types ): - - print marker_header - print marker - print marker_inter + sys.stdout.write( marker_header ) + sys.stdout.write( marker ) + sys.stdout.write( marker_inter + '\n' ) content.dump_html() print marker_footer - + print "" print block_footer -###################################################################################### + +############################################################################# # # The DocSection class is used to store a given documentation section. # @@ -725,7 +714,7 @@ class DocSection: # section # if self.elements.has_key( block.name ): - sys.stderr.write( "ERROR - duplicate element definition for " + + sys.stderr.write( "ERROR - duplicate element definition for " + "'" + block.name + "' in section '" + section.name + "'" ) sys.quit() @@ -767,8 +756,8 @@ class DocSectionList: self.sections = {} self.list = [] self.current_section = None - self.index = [] # sorted list of blocks that are not sections - + self.index = [] # sorted list of blocks that + # are not sections def append_section( self, block ): name = string.lower( block.name ) @@ -776,7 +765,7 @@ class DocSectionList: if self.sections.has_key( name ): # There is already a section with this name in our - # list. We'll try to complete it. + # list. We will try to complete it. # section = self.sections[name] if section.abstract: @@ -789,7 +778,7 @@ class DocSectionList: " for '" + name + "'" ) sys.quit() else: - # The old section didn't contain an abstract; we're + # The old section didn't contain an abstract; we are # now going to replace it. # section.abstract = abstract @@ -802,7 +791,7 @@ class DocSectionList: section = DocSection( block ) self.sections[name] = section self.list.append( section ) - + self.current_section = section @@ -822,12 +811,14 @@ class DocSectionList: def prepare_files( self, file_prefix = None ): # prepare the section list, by computing section filenames # and the index + # if file_prefix: prefix = file_prefix + "-" else: prefix = "" # compute section names + # for section in self.sections.values(): title_content = section.block.find_content( "title" ) if title_content: @@ -835,7 +826,8 @@ class DocSectionList: else: section.title = "UNKNOWN_SECTION_TITLE!" - # compute section filenames + # compute section filenames + # for section in self.sections.values(): section.filename = prefix + section.name + ".html" @@ -843,8 +835,9 @@ class DocSectionList: self.index_filename = prefix + "index.html" # compute the sorted block list for the index + # self.index.sort( block_lexicographical_compare ) - + def dump_html_toc( self ): # dump an html table of contents @@ -852,7 +845,7 @@ class DocSectionList: old_stdout = sys.stdout new_file = open( self.toc_filename, "w" ) sys.stdout = new_file - + print html_header print "

Table of Contents

" @@ -861,9 +854,9 @@ class DocSectionList: for section in self.list: if section.abstract: print "
" - print '' - print section.title - print "" + sys.stdout.write( '' ) + sys.stdout.write( section.title ) + sys.stdout.write( "" + '\n' ) section.abstract.dump_html() print "
" for block in self.index: + sys.stdout.write( '' ) + sys.stdout.write( block.name ) + sys.stdout.write( "
" + '\n' ) - print '' - print block.name - print "
" - - if line*num_columns >= total: + if line * num_columns >= total: print "
" line = 0 else: - line = line+1 + line = line + 1 print "
" - print html_footer - + sys.stdout = old_stdout - + # Filter a given list of DocBlocks. Returns a new list # of DocBlock objects that only contains element whose # "type" (i.e. first marker) is in the "types" parameter. # def filter_blocks_by_type( block_list, types ): - new_list = [] for block in block_list: if block.items: @@ -964,7 +951,6 @@ def block_lexicographical_compare( b1, b2 ): return 1 - # dump a list block as a single HTML page # def dump_html_1( block_list ): @@ -976,18 +962,16 @@ def dump_html_1( block_list ): print html_footer - - def make_block_list_inner(): """parse a file and extract comments blocks from it""" file_list = [] sys.stderr.write( repr( sys.argv[1:] ) + '\n' ) - + for pathname in sys.argv[1:]: newpath = glob.glob( pathname ) - sys.stderr.write ( repr(newpath) + '\n' ) - last = len(file_list) + sys.stderr.write( repr(newpath) + '\n' ) + last = len( file_list ) file_list[last:last] = newpath if len( file_list ) == 0: @@ -1006,9 +990,9 @@ def make_block_list_inner(): # 4 - wait for beginning of source (or comment ??) # 5 - process source # - comment = [] - source = [] - state = 0 + comment = [] + source = [] + state = 0 for line in fileinput.input( file_list ): l = len( line ) @@ -1144,7 +1128,6 @@ def make_block_list_inner(): # create a list of DocBlock elements # def make_block_list(): - source_block_list = make_block_list_inner() list = [] @@ -1155,7 +1138,6 @@ def make_block_list(): return list - # This function is only used for debugging # def dump_block_list( list ): @@ -1191,8 +1173,8 @@ def main( argv ): section_list.dump_html_toc() section_list.dump_html_sections() section_list.dump_html_index() - - # list2 = filter_blocks( list, ['type','macro','enum','constant', 'functype'] ) + + # list2 = filter_blocks( list, ['type','macro','enum','constant','functype'] ) # list2 = list # list2.sort( block_lexicographical_compare ) @@ -1203,6 +1185,7 @@ def main( argv ): # If called from the command line +# if __name__ == '__main__': main( sys.argv ) diff --git a/include/freetype/cache/ftcimage.h b/include/freetype/cache/ftcimage.h index 7c10ef51b..2746db529 100644 --- a/include/freetype/cache/ftcimage.h +++ b/include/freetype/cache/ftcimage.h @@ -35,9 +35,13 @@ FT_BEGIN_HEADER - /*** - *
cache_subsystem - */ + /*************************************************************************/ + /* */ + /*
*/ + /* cache_subsystem */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /*************************************************************************/ @@ -163,8 +167,10 @@ FT_BEGIN_HEADER FT_UInt gindex, FT_Glyph *aglyph ); + /* */ + FT_END_HEADER #endif /* __FTCIMAGE_H__ */ diff --git a/include/freetype/cache/ftcmanag.h b/include/freetype/cache/ftcmanag.h index 40d107bdd..a8b8a8620 100644 --- a/include/freetype/cache/ftcmanag.h +++ b/include/freetype/cache/ftcmanag.h @@ -70,9 +70,14 @@ FT_BEGIN_HEADER - /*** - *
cache_subsystem - */ + + /*************************************************************************/ + /* */ + /*
*/ + /* cache_subsystem */ + /* */ + /*************************************************************************/ + #define FTC_MAX_FACES_DEFAULT 2 #define FTC_MAX_SIZES_DEFAULT 4 @@ -363,6 +368,7 @@ FT_BEGIN_HEADER } FTC_CacheRec; + /* */ diff --git a/include/freetype/cache/ftcsbits.h b/include/freetype/cache/ftcsbits.h index e86ea9d37..a5555d965 100644 --- a/include/freetype/cache/ftcsbits.h +++ b/include/freetype/cache/ftcsbits.h @@ -26,63 +26,76 @@ #include FT_CACHE_IMAGE_H - FT_BEGIN_HEADER - /*** - *
cache_subsystem - */ - - /*********************************************************************** - * - * FTC_SBit - * - * - * handle to a small bitmap descriptor. see the FTC_SBitRec - * structure for details.. - */ + + /*************************************************************************/ + /* */ + /*
*/ + /* cache_subsystem */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* */ + /* FTC_SBit */ + /* */ + /* */ + /* A handle to a small bitmap descriptor. See the FTC_SBitRec */ + /* structure for details. */ + /* */ typedef struct FTC_SBitRec_* FTC_SBit; - /*********************************************************************** - * - * FTC_SBit_Cache - * - * - * handle to a small bitmap cache. These are special cache objects - * used to store small glyph bitmaps (and anti-aliased pixmaps) in - * a much more efficient way than the traditional glyph image cache - * implemented by FTC_Image_Cache - */ + + /*************************************************************************/ + /* */ + /* */ + /* FTC_SBit_Cache */ + /* */ + /* */ + /* A handle to a small bitmap cache. These are special cache objects */ + /* used to store small glyph bitmaps (and anti-aliased pixmaps) in a */ + /* much more efficient way than the traditional glyph image cache */ + /* implemented by FTC_Image_Cache. */ + /* */ typedef struct FTC_SBit_CacheRec_* FTC_SBit_Cache; - /*********************************************************************** - * - * FTC_SBitRec - * - * - * a very compact structure used to describe a small glyph bitmap - * - * - * width :: bitmap width in pixels - * height :: bitmap height in pixels - * - * left :: horizontal distance from pen position to left bitmap - * border (a.k.a. "left side bearing", or "lsb") - * - * top :: vertical distance from pen position (on the baseline) - * to the upper bitmap border (a.k.a. "top side bearing") - * the distance is positive for upwards Y coordinates. - * - * format :: format of glyph bitmap (mono or gray) - * - * pitch :: number of bytes per bitmap lines. may be positive or - * negative - * - * xadvance :: horizontal advance width in pixels - * yadvance :: vertical advance height in pixels - * - * buffer :: pointer to bitmap pixels - */ + + /*************************************************************************/ + /* */ + /* */ + /* FTC_SBitRec */ + /* */ + /* */ + /* A very compact structure used to describe a small glyph bitmap. */ + /* */ + /* */ + /* width :: The bitmap width in pixels. */ + /* */ + /* height :: The bitmap height in pixels. */ + /* */ + /* left :: The horizontal distance from the pen position to the */ + /* left bitmap border (a.k.a. `left side bearing', or */ + /* `lsb'). */ + /* */ + /* top :: The vertical distance from the pen position (on the */ + /* baseline) to the upper bitmap border (a.k.a. `top side */ + /* bearing'). The distance is positive for upwards */ + /* Y coordinates. */ + /* */ + /* format :: The format of the glyph bitmap (monochrome or gray). */ + /* */ + /* pitch :: The number of bytes per bitmap line. May be positive */ + /* or negative. */ + /* */ + /* xadvance :: The horizontal advance width in pixels. */ + /* */ + /* yadvance :: The vertical advance height in pixels. */ + /* */ + /* buffer :: A pointer to the bitmap pixels. */ + /* */ typedef struct FTC_SBitRec_ { FT_Byte width; @@ -100,59 +113,64 @@ FT_BEGIN_HEADER } FTC_SBitRec; - /************************************************************************* - * - *
FTC_SBit_Cache_New - * - * - * Create a new cache to store small glyph bitmaps - * - * - * manager :: handle to source cache manager - * - * - * acache :: handle to new sbit cache. NULL in case of error - * - * - * error code. 0 means success - */ + /*************************************************************************/ + /* */ + /* */ + /* FTC_SBit_Cache_New */ + /* */ + /* */ + /* Creates a new cache to store small glyph bitmaps. */ + /* */ + /* */ + /* manager :: A handle to the source cache manager. */ + /* */ + /* */ + /* acache :: A handle to the new sbit cache. NULL in case of error. */ + /* */ + /* */ + /* FreeType error code. 0 means success. */ + /* */ FT_EXPORT( FT_Error ) FTC_SBit_Cache_New( FTC_Manager manager, FTC_SBit_Cache *acache ); - /************************************************************************* - * - *
FTC_SBit_Cache_Lookup - * - * - * Lookup a given small glyph bitmap in a given sbit cache - * - * - * cache :: handle to source sbit cache - * desc :: pointer to glyph image descriptor - * gindex :: glyph index - * - * - * sbit :: handle to a small bitmap descriptor - * - * - * error code. 0 means success - * - * - * the small bitmap descriptor, and its bit buffer are owned by the - * cache and should never be freed by the application. They might - * as well disappear from memory on the next cache lookup, so don't - * treat them like persistent data.. - * - * the descriptor's "buffer" field is set to 0 to indicate a missing - * glyph bitmap. - */ + + /*************************************************************************/ + /* */ + /* */ + /* FTC_SBit_Cache_Lookup */ + /* */ + /* */ + /* Looks up a given small glyph bitmap in a given sbit cache. */ + /* */ + /* */ + /* cache :: A handle to the source sbit cache. */ + /* desc :: A pointer to the glyph image descriptor. */ + /* gindex :: The glyph index. */ + /* */ + /* */ + /* sbit :: A handle to a small bitmap descriptor. */ + /* */ + /* */ + /* FreeType error code. 0 means success. */ + /* */ + /* */ + /* The small bitmap descriptor and its bit buffer are owned by the */ + /* cache and should never be freed by the application. They might */ + /* as well disappear from memory on the next cache lookup, so don't */ + /* treat them as persistent data. */ + /* */ + /* The descriptor's `buffer' field is set to 0 to indicate a missing */ + /* glyph bitmap. */ + /* */ FT_EXPORT( FT_Error ) FTC_SBit_Cache_Lookup( FTC_SBit_Cache cache, FTC_Image_Desc* desc, FT_UInt gindex, FTC_SBit *sbit ); + /* */ + FT_END_HEADER #endif /* __FTCSBITS_H__ */ diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 17ec70761..6f98776e3 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -55,18 +55,23 @@ FT_BEGIN_HEADER /*************************************************************************/ /*************************************************************************/ - /************************************************************************* - * - *
base_interface - * - * Base Interface - * - * <Abstract> - * The FreeType 2 base font interface - * - * <Description> - * This sections details the public high-level API of FreeType 2 - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* base_interface */ + /* */ + /* <Title> */ + /* Base Interface */ + /* */ + /* <Abstract> */ + /* The FreeType 2 base font interface. */ + /* */ + /* <Description> */ + /* This section describes the public high-level API of FreeType 2. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -2243,6 +2248,7 @@ FT_BEGIN_HEADER FT_EXPORT( void ) FT_Vector_Transform( FT_Vector* vec, FT_Matrix* matrix ); + /* */ diff --git a/include/freetype/ftbbox.h b/include/freetype/ftbbox.h index 9d9252f25..ddc506c1f 100644 --- a/include/freetype/ftbbox.h +++ b/include/freetype/ftbbox.h @@ -38,9 +38,13 @@ FT_BEGIN_HEADER - /******************************** - * <Section> outline_processing - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* outline_processing */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ diff --git a/include/freetype/ftcache.h b/include/freetype/ftcache.h index 81b8d4906..cedf6d906 100644 --- a/include/freetype/ftcache.h +++ b/include/freetype/ftcache.h @@ -50,19 +50,24 @@ FT_BEGIN_HEADER #define FT_CACHE_INTERNAL_GLYPH_H FT2_PUBLIC_FILE(cache/ftcglyph.h) #define FT_CACHE_INTERNAL_CHUNK_H FT2_PUBLIC_FILE(cache/ftcchunk.h) - /************************************************************************** - * - * <Section> cache_subsystem - * - * <Title> Cache Sub-System - * - * <Abstract> - * How to cache face, size and glyph data with FreeType 2 - * - * <Description> - * This section details the FreeType 2 cache sub-system which is still - * in beta. - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* cache_subsystem */ + /* */ + /* <Title> */ + /* Cache Sub-System */ + /* */ + /* <Abstract> */ + /* How to cache face, size, and glyph data with FreeType 2. */ + /* */ + /* <Description> */ + /* This section describes the FreeType 2 cache sub-system which is */ + /* stile in beta. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /*************************************************************************/ @@ -345,6 +350,9 @@ FT_BEGIN_HEADER FTC_Cache *acache ); + /* */ + + FT_END_HEADER #endif /* __FTCACHE_H__ */ diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h index 7824b8134..60dcf3592 100644 --- a/include/freetype/ftglyph.h +++ b/include/freetype/ftglyph.h @@ -39,20 +39,25 @@ FT_BEGIN_HEADER + /*************************************************************************/ /* */ - /* <Section> glyph_management */ + /* <Section> */ + /* glyph_management */ /* */ - /* <Title> Glyph Management */ + /* <Title> */ + /* Glyph Management */ /* */ /* <Abstract> */ - /* Generic interface to manage individual glyph data */ + /* Generic interface to manage individual glyph data. */ /* */ /* <Description> */ /* This section contains definitions used to manage glyph data */ - /* through generic FT_Glyph objects. Each one of them can contain */ - /* a bitmap, a vector outline, or even images in other formats. */ + /* through generic FT_Glyph objects. Each of them can contain a */ + /* bitmap, a vector outline, or even images in other formats. */ /* */ + /*************************************************************************/ + /* forward declaration to a private type */ typedef struct FT_Glyph_Class_ FT_Glyph_Class; @@ -296,7 +301,6 @@ FT_BEGIN_HEADER /* */ /* The default value for `bbox_mode' is `ft_glyph_bbox_pixels'. */ /* */ - enum { ft_glyph_bbox_unscaled = 0, /* return unscaled font units */ @@ -405,9 +409,13 @@ FT_BEGIN_HEADER /* other helpful functions */ - /***** - * <Section> base_interface - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* base_interface */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -448,6 +456,9 @@ FT_BEGIN_HEADER FT_EXPORT( FT_Error ) FT_Matrix_Invert( FT_Matrix* matrix ); + /* */ + + FT_END_HEADER #endif /* __FTGLYPH_H__ */ diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h index 19e2b9b7e..8db53395f 100644 --- a/include/freetype/ftimage.h +++ b/include/freetype/ftimage.h @@ -33,11 +33,14 @@ FT_BEGIN_HEADER - /*********************************************************************** - * - * <Section> basic_types - * - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* basic_types */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -231,11 +234,13 @@ FT_BEGIN_HEADER } FT_Bitmap; - /*********************************************************************** - * - * <Section> outline_processing - * - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* outline_processing */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -528,11 +533,13 @@ FT_BEGIN_HEADER } FT_Outline_Funcs; - /*********************************************************************** - * - * <Section> Basic_Types - * - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* basic_types */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -612,18 +619,23 @@ FT_BEGIN_HEADER /* */ /*************************************************************************/ - /************************************************************************ - * - * <Section> Raster - * - * <Title> Scanline converter - * - * <Abstract> - * How vectorial outlines are converted into bitmaps and pixmaps - * - * <Description> - * This section contains technical definitions - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* Raster */ + /* */ + /* <Title> */ + /* Scanline converter */ + /* */ + /* <Abstract> */ + /* How vectorial outlines are converted into bitmaps and pixmaps. */ + /* */ + /* <Description> */ + /* This section contains technical definitions. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -692,9 +704,9 @@ FT_BEGIN_HEADER /* */ typedef struct FT_Span_ { - short x; - unsigned short len; - unsigned char coverage; + short x; + unsigned short len; + unsigned char coverage; } FT_Span; @@ -804,28 +816,33 @@ FT_BEGIN_HEADER /* <Fields> */ /* ft_raster_flag_default :: This value is 0. */ /* */ - /* ft_raster_flag_aa :: */ - /* this flag is set to indicate that a anti-aliased glyph image */ - /* should be generated. Otherwise, it will be monochrome (1-bit) */ - /* */ - /* ft_raster_flag_direct :: */ - /* this flag is set to indicate direct rendering. In this mode, */ - /* client applications must provide their own span callback. */ - /* this let them direct drawing or composition over an existing */ - /* bitmap. If this bit is not set, the target pixmap's buffer */ - /* _must_ be zeroed before rendering. */ - /* */ - /* note that for now, direct rendering is only possible with */ - /* anti-aliased glyphs only.. */ - /* */ - /* ft_raster_flag_clip :: */ - /* this flag is only used in direct rendering mode. When set, */ - /* the output will be clipped to a box specified in the "clip_box" */ - /* field of the FT_Raster_Params structure. */ - /* */ - /* note that by default, the glyph bitmap is clipped to the */ - /* target pixmap, except in direct rendering mode where all */ - /* spans are generated if no clipping box is set. */ + /* ft_raster_flag_aa :: This flag is set to indicate that an */ + /* anti-aliased glyph image should be */ + /* generated. Otherwise, it will be */ + /* monochrome (1-bit) */ + /* */ + /* ft_raster_flag_direct :: This flag is set to indicate direct */ + /* rendering. In this mode, client */ + /* applications must provide their own span */ + /* callback. This lets them directly */ + /* draw or compose over an existing bitmap. */ + /* If this bit is not set, the target */ + /* pixmap's buffer _must_ be zeroed before */ + /* rendering. */ + /* */ + /* Note that for now, direct rendering is */ + /* only possible with anti-aliased glyphs. */ + /* */ + /* ft_raster_flag_clip :: This flag is only used in direct */ + /* rendering mode. If set, the output will */ + /* be clipped to a box specified in the */ + /* "clip_box" field of the FT_Raster_Params */ + /* structure. */ + /* */ + /* Note that by default, the glyph bitmap */ + /* is clipped to the target pixmap, except */ + /* in direct rendering mode where all spans */ + /* are generated if no clipping box is set. */ /* */ typedef enum { @@ -1066,6 +1083,9 @@ FT_BEGIN_HEADER } FT_Raster_Funcs; + /* */ + + FT_END_HEADER #endif /* __FTIMAGE_H__ */ diff --git a/include/freetype/ftlist.h b/include/freetype/ftlist.h index 4d4397c9e..d0b96df4d 100644 --- a/include/freetype/ftlist.h +++ b/include/freetype/ftlist.h @@ -34,20 +34,24 @@ FT_BEGIN_HEADER - /************************************************************************** - * - * <Section> list_processing - * - * <Title> List Processing - * - * <Abstract> - * simple management of lists - * - * <Description> - * This section contains various definitions related to list processing - * using doubly-linked nodes. - * - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* list_processing */ + /* */ + /* <Title> */ + /* List Processing */ + /* */ + /* <Abstract> */ + /* Simple management of lists. */ + /* */ + /* <Description> */ + /* This section contains various definitions related to list */ + /* processing using doubly-linked nodes. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -227,7 +231,9 @@ FT_BEGIN_HEADER FT_Memory memory, void* user ); + /* */ + FT_END_HEADER diff --git a/include/freetype/ftmac.h b/include/freetype/ftmac.h index 99654c742..442a27c7c 100644 --- a/include/freetype/ftmac.h +++ b/include/freetype/ftmac.h @@ -34,19 +34,24 @@ FT_BEGIN_HEADER - /******************************************************************* - * - * <Section> Mac_Specific - * - * <Title> Mac-Specific Interface - * - * <Abstract> - * Only available on the Macintosh - * - * <Description> - * The following definitions are only available when FreeType - * is compiled on a Macintosh. - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* Mac_Specific */ + /* */ + /* <Title> */ + /* Mac-Specific Interface */ + /* */ + /* <Abstract> */ + /* Only available on the Macintosh. */ + /* */ + /* <Description> */ + /* The following definitions are only available if FreeType is */ + /* compiled on a Macintosh. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -78,7 +83,6 @@ FT_BEGIN_HEADER /* { */ /* fond = GetResource( 'FOND', fontName ); */ /* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */ - /* */ /* } */ /* */ FT_EXPORT( FT_Error ) FT_New_Face_From_FOND( FT_Library library, @@ -86,8 +90,10 @@ FT_BEGIN_HEADER FT_Long face_index, FT_Face *aface ); + /* */ + FT_END_HEADER diff --git a/include/freetype/ftmm.h b/include/freetype/ftmm.h index bf4a1e6ea..33d1a0abd 100644 --- a/include/freetype/ftmm.h +++ b/include/freetype/ftmm.h @@ -26,20 +26,25 @@ FT_BEGIN_HEADER - /********************************************************************** - * - * <Section> Multiple_Masters - * - * <Title> Multiple Masters - * - * <Abstract> - * How to manage multiple masters fonts - * - * <Description> - * The following types and functions are used to manage multiple - * master fonts, i.e. choose specific design instances by setting - * design axis coordinates. - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* multiple_masters */ + /* */ + /* <Title> */ + /* Multiple Masters */ + /* */ + /* <Abstract> */ + /* How to manage Multiple Masters fonts. */ + /* */ + /* <Description> */ + /* The following types and functions are used to manage Multiple */ + /* Master fonts, i.e. the selection of specific design instances by */ + /* setting design axis coordinates. */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -182,6 +187,9 @@ FT_BEGIN_HEADER FT_Fixed* coords ); + /* */ + + FT_END_HEADER #endif /* __FTMM_H__ */ diff --git a/include/freetype/ftmodule.h b/include/freetype/ftmodule.h index 0416c648f..3fcc95e8f 100644 --- a/include/freetype/ftmodule.h +++ b/include/freetype/ftmodule.h @@ -26,18 +26,24 @@ FT_BEGIN_HEADER - /************************************************************************** - * - * <Section> Module_Management - * - * <Title> Module Management - * - * <Abstract> How to add, upgrade and remove modules from FreeType - * - * <Description> - * The definitions below are used to manage modules within FreeType. - * Modules can be added, upgraded and removed at runtime. - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* module_management */ + /* */ + /* <Title> */ + /* Module Management */ + /* */ + /* <Abstract> */ + /* How to add, upgrade, and remove modules from FreeType. */ + /* */ + /* <Description> */ + /* The definitions below are used to manage modules within FreeType. */ + /* Modules can be added, upgraded, and removed at runtime. */ + /* */ + /*************************************************************************/ + /* module bit flags */ typedef enum FT_Module_Flags_ @@ -278,6 +284,9 @@ FT_BEGIN_HEADER FT_EXPORT( void ) FT_Add_Default_Modules( FT_Library library ); + /* */ + + FT_END_HEADER #endif /* __FTMODULE_H__ */ diff --git a/include/freetype/ftnames.h b/include/freetype/ftnames.h index a82406577..61ffd85f8 100644 --- a/include/freetype/ftnames.h +++ b/include/freetype/ftnames.h @@ -30,24 +30,29 @@ FT_BEGIN_HEADER - /************************************************************************** - * - * <Section> SFNT_Names - * - * <Title> SFNT Names - * - * <Abstract> Access the names embedded in TrueType and OpenType files - * - * <Description> - * The TrueType and OpenType specification allow the inclusion of - * a special "names table" in font files. This table contains textual - * (and internationalised) information regarding the font, like - * family name, copyright, version, etc.. - * - * the definitions below are used to access them when available - * - * note that this has nothing to do with "glyph names" !! - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* sfnt_names */ + /* */ + /* <Title> */ + /* SFNT Names */ + /* */ + /* <Abstract> */ + /* Access the names embedded in TrueType and OpenType files. */ + /* */ + /* <Description> */ + /* The TrueType and OpenType specification allow the inclusion of */ + /* a special `names table' in font files. This table contains */ + /* textual (and internationalized) information regarding the font, */ + /* like family name, copyright, version, etc. */ + /* */ + /* The definitions below are used to access them if available. */ + /* */ + /* Note that this has nothing to do with glyph names! */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -137,8 +142,11 @@ FT_BEGIN_HEADER FT_EXPORT( FT_Error ) FT_Get_Sfnt_Name( FT_Face face, FT_UInt index, FT_SfntName *aname ); + + /* */ + FT_END_HEADER #endif /* __FTNAMES_H__ */ diff --git a/include/freetype/ftoutln.h b/include/freetype/ftoutln.h index 9c16ca1d1..52b2d57a0 100644 --- a/include/freetype/ftoutln.h +++ b/include/freetype/ftoutln.h @@ -27,21 +27,25 @@ FT_BEGIN_HEADER + /*************************************************************************/ /* */ - /* <Section> outline_processing */ + /* <Section> */ + /* outline_processing */ /* */ - /* <Title> Outline Processing */ + /* <Title> */ + /* Outline Processing */ /* */ /* <Abstract> */ - /* Functions to create, transform and render vectorial glyph images */ + /* Functions to create, transform, and render vectorial glyph images. */ /* */ /* <Description> */ - /* This sections contains routines used to create and destroy */ - /* scalable glyph images known as "outlines". These can also be */ - /* measured, transformed and converted into bitmaps, pixmaps and */ - /* */ + /* This section contains routines used to create and destroy scalable */ + /* glyph images known as `outlines'. These can also be measured, */ + /* transformed, and converted into bitmaps and pixmaps. */ /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -331,6 +335,9 @@ FT_BEGIN_HEADER FT_Raster_Params* params ); + /* */ + + FT_END_HEADER #endif /* __FTOUTLN_H__ */ diff --git a/include/freetype/ftrender.h b/include/freetype/ftrender.h index fa4d1f908..c6a0d2e77 100644 --- a/include/freetype/ftrender.h +++ b/include/freetype/ftrender.h @@ -27,9 +27,14 @@ FT_BEGIN_HEADER - /**** - * <Section> Module_Management - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* module_management */ + /* */ + /*************************************************************************/ + /* create a new glyph object */ typedef FT_Error (*FT_Glyph_Init_Func) ( FT_Glyph glyph, @@ -183,6 +188,7 @@ FT_BEGIN_HEADER FT_UInt num_params, FT_Parameter* parameters ); + /* */ diff --git a/include/freetype/ftsystem.h b/include/freetype/ftsystem.h index 802a61ea5..f355421d2 100644 --- a/include/freetype/ftsystem.h +++ b/include/freetype/ftsystem.h @@ -264,8 +264,10 @@ FT_BEGIN_HEADER unsigned char* limit; }; + /* */ + FT_END_HEADER #endif /* __FTSYSTEM_H__ */ diff --git a/include/freetype/fttypes.h b/include/freetype/fttypes.h index 4f03c8b9d..a31c00f2b 100644 --- a/include/freetype/fttypes.h +++ b/include/freetype/fttypes.h @@ -29,19 +29,24 @@ FT_BEGIN_HEADER + /*************************************************************************/ /* */ - /* <Section> basic_types */ + /* <Section> */ + /* basic_types */ /* */ - /* <Title> Basic Data Types */ + /* <Title> */ + /* Basic Data Types */ /* */ /* <Abstract> */ - /* The basic data types defined by the library */ + /* The basic data types defined by the library. */ /* */ /* <Description> */ - /* This sections contains the basic data types defined by FreeType 2, */ - /* rangine from simple scalar types to font specific ones */ + /* This section contains the basic data types defined by FreeType 2, */ + /* ranging from simple scalar types to font specific ones. */ /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -341,7 +346,6 @@ FT_BEGIN_HEADER } FT_Generic; - /*************************************************************************/ /* */ /* <Macro> */ @@ -366,10 +370,14 @@ FT_BEGIN_HEADER /*************************************************************************/ /*************************************************************************/ - /************************************************************************** - * - * <Section> list_processing - */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* list_processing */ + /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -440,6 +448,7 @@ FT_BEGIN_HEADER } FT_ListRec; + /* */ #define FT_IS_EMPTY( list ) ( (list).head == 0 ) diff --git a/include/freetype/t1tables.h b/include/freetype/t1tables.h index 696c4cb6d..cc23ddeb5 100644 --- a/include/freetype/t1tables.h +++ b/include/freetype/t1tables.h @@ -28,18 +28,24 @@ FT_BEGIN_HEADER - /******************************************************************** - * - * <Section> Type1_Tables - * - * <Title> Type 1 Tables - * - * <Abstract> Type 1 (Postscript) specific font tables - * - * <Description> - * This section .... - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* type1_tables */ + /* */ + /* <Title> */ + /* Type 1 Tables */ + /* */ + /* <Abstract> */ + /* Type 1 (PostScript) specific font tables. */ + /* */ + /* <Description> */ + /* This section contains the definition of Type 1-specific tables, */ + /* including structures related to other PostScript font formats. */ + /* */ + /*************************************************************************/ + /* Note that we separate font data in T1_FontInfo and T1_Private */ /* structures in order to support Multiple Master fonts. */ @@ -246,6 +252,9 @@ FT_BEGIN_HEADER } CID_Info; + /* */ + + FT_END_HEADER #endif /* __T1TABLES_H__ */ diff --git a/include/freetype/tttables.h b/include/freetype/tttables.h index 557fd2ca6..e2caaf84f 100644 --- a/include/freetype/tttables.h +++ b/include/freetype/tttables.h @@ -29,17 +29,21 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* <Section> TrueType_Tables */ + /* <Section> */ + /* truetype_tables */ /* */ - /* <Title> TrueType Tables */ + /* <Title> */ + /* TrueType Tables */ /* */ /* <Abstract> */ - /* TrueType-specific table types and functions */ + /* TrueType-specific table types and functions. */ /* */ /* <Description> */ - /* This sections contains the definition of TrueType-specific tables */ + /* This section contains the definition of TrueType-specific tables */ /* as well as some routines used to access and process them. */ /* */ + /*************************************************************************/ + /*************************************************************************/ /* */ @@ -586,6 +590,7 @@ FT_BEGIN_HEADER /* */ + FT_END_HEADER #endif /* __TTTABLES_H__ */