ref: 38208a6e6b07c8d3e144632c33833e16023b410b
parent: 0f5616a801e9401bf2e7abab3c709ada557ea6cf
author: Werner Lemberg <[email protected]>
date: Thu Jan 11 04:27:49 EST 2001
* 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.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,22 @@
-2000-01-09 David Turner <[email protected]>
+2001-01-10 Werner Lemberg <[email protected]>
- * 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 <[email protected]>
-2000-01-04 Werner Lemberg <[email protected]>
+ * 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 <[email protected]>
* include/freetype/ttnameid.h: Updated Unicode code range comments.
--- a/docs/docmaker.py
+++ b/docs/docmaker.py
@@ -10,7 +10,7 @@
import fileinput, sys, string, glob
-html_header = """
+html_header = """\
<html>
<header>
<title>FreeType 2 API Reference</title>
@@ -21,54 +21,39 @@
LI { text-align=justify }
</style>
</header>
-<body text="#000000"
- bgcolor="#FFFFFF"
- link="#0000EF"
- vlink="#51188E"
- alink="#FF0000">
+<body text=#000000
+ bgcolor=#FFFFFF
+ link=#0000EF
+ vlink=#51188E
+ alink=#FF0000>
<center><h1>FreeType 2 API Reference</h1></center>
"""
-html_footer = """
+html_footer = """\
</body>
-</html>
-"""
+</html>"""
-section_title_header = """
-<center><h1>
-"""
+section_title_header = "<center><h1>"
+section_title_footer = "</h1></center>"
-section_title_footer = """
-</h1></center>
-"""
+code_header = "<font color=blue><pre>"
+code_footer = "</pre></font>"
-
-code_header = """
-<font color=blue><pre>
-"""
-
-code_footer = """
-</pre></font>
-"""
-
para_header = "<p>"
para_footer = "</p>"
-block_header = """<center><hr width="750"><table width="750"><tr><td>"""
+block_header = "<center><hr width=75%><table width=75%><tr><td>"
block_footer = "</td></tr></table></center>"
-description_header = """<center><table width="650"><tr><td>"""
-description_footer = """</td></tr></table></center><br>"""
+description_header = "<center><table width=65%><tr><td>"
+description_footer = "</td></tr></table></center><br>"
-marker_header = """<center><table width="650" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>"""
+marker_header = "<center><table width=65% cellpadding=5><tr bgcolor=#EEEEFF><td><em><b>"
marker_inter = "</b></em></td></tr><tr><td>"
marker_footer = "</td></tr></table></center>"
-source_header = """<center><table width="650"><tr bgcolor="#D6E8FF" width="100%"><td><pre>
-"""
-source_footer = """</pre></table></center>
-<br>
-"""
+source_header = "<center><table width=65%><tr bgcolor=#D6E8FF width=100%><td><pre>"
+source_footer = "</pre></table></center><br>"
current_section = None
@@ -206,12 +191,16 @@
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 )
+
#############################################################################
#
# The DocParagraph is used to store text paragraphs.
@@ -219,7 +208,6 @@
#
# The paragraph is filled line by line by the parser.
#
-
class DocParagraph:
def __init__( self ):
@@ -229,13 +217,13 @@
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 @@
print para_footer
+
#############################################################################
#
# DocContent is used to store the content of a given marker.
@@ -320,8 +309,6 @@
# 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 @@
paragraph.add( line )
else:
- # we're in code mode...
+ # we are in code mode...
#
line = aline
@@ -454,7 +441,7 @@
element.dump()
if field:
- print "</field> "
+ print "</field>"
def dump_html( self ):
@@ -475,7 +462,7 @@
else:
if not in_table:
- print '<table cellpadding=4><tr valign=top><td>'
+ print "<table cellpadding=4><tr valign=top><td>"
in_table = 1
else:
print "</td></tr><tr valign=top><td>"
@@ -514,7 +501,7 @@
-######################################################################################
+#############################################################################
#
#
# The DocBlock class is used to store a given comment block. It contains
@@ -527,9 +514,9 @@
# "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:
#
# <Type> Goo
# <Description> Bla bla bla
@@ -539,14 +526,14 @@
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 )
l = len( line2 )
@@ -613,7 +600,7 @@
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,8 +616,8 @@
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' ]
@@ -637,15 +624,16 @@
if not self.items:
return
- # place html anchor when needed
- if self.name:
- print '<a name="'+self.name+'">'
-
# start of a block
#
print block_header
- print "<h4>" + self.name + "</h4>"
+ # place html anchor if needed
+ #
+ if self.name:
+ print '<a name="' + self.name + '">'
+ print "<h4>" + self.name + "</h4>"
+ print "</a>"
# print source code
#
@@ -657,12 +645,13 @@
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 @@
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 @@
# 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,9 +756,9 @@
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 )
abstract = block.find_content( "abstract" )
@@ -776,7 +765,7 @@
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 @@
" 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 @@
section = DocSection( block )
self.sections[name] = section
self.list.append( section )
-
+
self.current_section = section
@@ -822,6 +811,7 @@
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:
@@ -828,6 +818,7 @@
prefix = ""
# compute section names
+ #
for section in self.sections.values():
title_content = section.block.find_content( "title" )
if title_content:
@@ -835,7 +826,8 @@
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,9 +835,10 @@
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 @@
old_stdout = sys.stdout
new_file = open( self.toc_filename, "w" )
sys.stdout = new_file
-
+
print html_header
print "<center><h1>Table of Contents</h1></center>"
@@ -861,9 +854,9 @@
for section in self.list:
if section.abstract:
print "<tr valign=top><td>"
- print '<a href="' + section.filename + '">'
- print section.title
- print "</a></td><td>"
+ sys.stdout.write( '<a href="' + section.filename + '">' )
+ sys.stdout.write( section.title )
+ sys.stdout.write( "</a></td><td>" + '\n' )
section.abstract.dump_html()
print "</td></tr>"
@@ -878,7 +871,6 @@
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 @@
def dump_html_index( self ):
-
old_stdout = sys.stdout
new_file = open( self.index_filename, "w" )
sys.stdout = new_file
@@ -899,36 +890,32 @@
line = 0
print html_header
-
print "<center><h1>General Index</h1></center>"
-
print "<center><table cellpadding=5><tr valign=top><td>"
for block in self.index:
+ sys.stdout.write( '<a href="' + block.section.filename +
+ '#' + block.name + '">' )
+ sys.stdout.write( block.name )
+ sys.stdout.write( "</a><br>" + '\n' )
- print '<a href="'+block.section.filename+'#'+block.name+'">'
- print block.name
- print "</a><br>"
-
- if line*num_columns >= total:
+ if line * num_columns >= total:
print "</td><td>"
line = 0
else:
- line = line+1
+ line = line + 1
print "</tr></table></center>"
-
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 @@
return 1
-
# dump a list block as a single HTML page
#
def dump_html_1( block_list ):
@@ -976,18 +962,16 @@
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 @@
# 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 @@
# create a list of DocBlock elements
#
def make_block_list():
-
source_block_list = make_block_list_inner()
list = []
@@ -1155,7 +1138,6 @@
return list
-
# This function is only used for debugging
#
def dump_block_list( list ):
@@ -1191,8 +1173,8 @@
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 @@
# If called from the command line
+#
if __name__ == '__main__':
main( sys.argv )
--- a/include/freetype/cache/ftcimage.h
+++ b/include/freetype/cache/ftcimage.h
@@ -35,9 +35,13 @@
FT_BEGIN_HEADER
- /***
- * <Section> cache_subsystem
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* cache_subsystem */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/*************************************************************************/
@@ -163,7 +167,9 @@
FT_UInt gindex,
FT_Glyph *aglyph );
+
/* */
+
FT_END_HEADER
--- a/include/freetype/cache/ftcmanag.h
+++ b/include/freetype/cache/ftcmanag.h
@@ -70,10 +70,15 @@
FT_BEGIN_HEADER
- /***
- * <Section> cache_subsystem
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* cache_subsystem */
+ /* */
+ /*************************************************************************/
+
+
#define FTC_MAX_FACES_DEFAULT 2
#define FTC_MAX_SIZES_DEFAULT 4
#define FTC_MAX_BYTES_DEFAULT 200000 /* 200kByte by default! */
@@ -362,6 +367,7 @@
FT_Pointer cache_data; /* passed to cache node methods */
} FTC_CacheRec;
+
/* */
--- a/include/freetype/cache/ftcsbits.h
+++ b/include/freetype/cache/ftcsbits.h
@@ -26,63 +26,76 @@
#include FT_CACHE_IMAGE_H
-
FT_BEGIN_HEADER
- /***
- * <Section> cache_subsystem
- */
- /***********************************************************************
- *
- * <Type> FTC_SBit
- *
- * <Description>
- * handle to a small bitmap descriptor. see the FTC_SBitRec
- * structure for details..
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* cache_subsystem */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
+ /* <Type> */
+ /* FTC_SBit */
+ /* */
+ /* <Description> */
+ /* A handle to a small bitmap descriptor. See the FTC_SBitRec */
+ /* structure for details. */
+ /* */
typedef struct FTC_SBitRec_* FTC_SBit;
- /***********************************************************************
- *
- * <Type> FTC_SBit_Cache
- *
- * <Description>
- * 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
- */
+
+ /*************************************************************************/
+ /* */
+ /* <Type> */
+ /* FTC_SBit_Cache */
+ /* */
+ /* <Description> */
+ /* 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;
- /***********************************************************************
- *
- * <Struct> FTC_SBitRec
- *
- * <Description>
- * a very compact structure used to describe a small glyph bitmap
- *
- * <Fields>
- * 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
- */
+
+ /*************************************************************************/
+ /* */
+ /* <Struct> */
+ /* FTC_SBitRec */
+ /* */
+ /* <Description> */
+ /* A very compact structure used to describe a small glyph bitmap. */
+ /* */
+ /* <Fields> */
+ /* 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,58 +113,63 @@
} FTC_SBitRec;
- /*************************************************************************
- *
- * <Section> FTC_SBit_Cache_New
- *
- * <Description>
- * Create a new cache to store small glyph bitmaps
- *
- * <Input>
- * manager :: handle to source cache manager
- *
- * <Output>
- * acache :: handle to new sbit cache. NULL in case of error
- *
- * <Return>
- * error code. 0 means success
- */
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FTC_SBit_Cache_New */
+ /* */
+ /* <Description> */
+ /* Creates a new cache to store small glyph bitmaps. */
+ /* */
+ /* <Input> */
+ /* manager :: A handle to the source cache manager. */
+ /* */
+ /* <Output> */
+ /* acache :: A handle to the new sbit cache. NULL in case of error. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
FT_EXPORT( FT_Error ) FTC_SBit_Cache_New( FTC_Manager manager,
FTC_SBit_Cache *acache );
- /*************************************************************************
- *
- * <Section> FTC_SBit_Cache_Lookup
- *
- * <Description>
- * Lookup a given small glyph bitmap in a given sbit cache
- *
- * <Input>
- * cache :: handle to source sbit cache
- * desc :: pointer to glyph image descriptor
- * gindex :: glyph index
- *
- * <Output>
- * sbit :: handle to a small bitmap descriptor
- *
- * <Return>
- * error code. 0 means success
- *
- * <Note>
- * 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.
- */
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FTC_SBit_Cache_Lookup */
+ /* */
+ /* <Description> */
+ /* Looks up a given small glyph bitmap in a given sbit cache. */
+ /* */
+ /* <Input> */
+ /* cache :: A handle to the source sbit cache. */
+ /* desc :: A pointer to the glyph image descriptor. */
+ /* gindex :: The glyph index. */
+ /* */
+ /* <Output> */
+ /* sbit :: A handle to a small bitmap descriptor. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
+ /* <Note> */
+ /* 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
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -55,21 +55,26 @@
/*************************************************************************/
/*************************************************************************/
- /*************************************************************************
- *
- * <Section> base_interface
- *
- * <Title> 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. */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Struct> */
/* FT_Glyph_Metrics */
/* */
@@ -2242,6 +2247,7 @@
/* */
FT_EXPORT( void ) FT_Vector_Transform( FT_Vector* vec,
FT_Matrix* matrix );
+
/* */
--- a/include/freetype/ftbbox.h
+++ b/include/freetype/ftbbox.h
@@ -38,9 +38,13 @@
FT_BEGIN_HEADER
- /********************************
- * <Section> outline_processing
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* outline_processing */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
--- a/include/freetype/ftcache.h
+++ b/include/freetype/ftcache.h
@@ -50,23 +50,28 @@
#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. */
+ /* */
/*************************************************************************/
+
+
/*************************************************************************/
+ /*************************************************************************/
+ /*************************************************************************/
/***** *****/
/***** BASIC TYPE DEFINITIONS *****/
/***** *****/
@@ -343,6 +348,9 @@
FTC_Manager manager,
FTC_Cache_Class* clazz,
FTC_Cache *acache );
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -39,21 +39,26 @@
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 @@
/* */
/* The default value for `bbox_mode' is `ft_glyph_bbox_pixels'. */
/* */
-
enum
{
ft_glyph_bbox_unscaled = 0, /* return unscaled font units */
@@ -405,10 +409,14 @@
/* other helpful functions */
- /*****
- * <Section> base_interface
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* base_interface */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Function> */
@@ -446,6 +454,9 @@
/* FreeType error code. 0 means success. */
/* */
FT_EXPORT( FT_Error ) FT_Matrix_Invert( FT_Matrix* matrix );
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -33,14 +33,17 @@
FT_BEGIN_HEADER
- /***********************************************************************
- *
- * <Section> basic_types
- *
- */
/*************************************************************************/
/* */
+ /* <Section> */
+ /* basic_types */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Type> */
/* FT_Pos */
/* */
@@ -231,12 +234,14 @@
} FT_Bitmap;
- /***********************************************************************
- *
- * <Section> outline_processing
- *
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* outline_processing */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Struct> */
@@ -528,12 +533,14 @@
} FT_Outline_Funcs;
- /***********************************************************************
- *
- * <Section> Basic_Types
- *
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* basic_types */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Macro> */
@@ -612,21 +619,26 @@
/* */
/*************************************************************************/
- /************************************************************************
- *
- * <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. */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Type> */
/* FT_Raster */
/* */
@@ -692,9 +704,9 @@
/* */
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 @@
/* <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_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 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. */
+ /* 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 only.. */
+ /* 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. When set, */
- /* the output will be clipped to a box specified in the "clip_box" */
- /* field of the FT_Raster_Params structure. */
+ /* 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. */
+ /* 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
{
@@ -1064,6 +1081,9 @@
FT_Raster_Done_Func raster_done;
} FT_Raster_Funcs;
+
+
+ /* */
FT_END_HEADER
--- 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_Memory memory,
void* user );
+
/* */
+
FT_END_HEADER
--- a/include/freetype/ftmac.h
+++ b/include/freetype/ftmac.h
@@ -34,22 +34,27 @@
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. */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Function> */
/* FT_New_Face_From_FOND */
/* */
@@ -78,7 +83,6 @@
/* { */
/* 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,7 +90,9 @@
FT_Long face_index,
FT_Face *aface );
+
/* */
+
FT_END_HEADER
--- a/include/freetype/ftmm.h
+++ b/include/freetype/ftmm.h
@@ -26,23 +26,28 @@
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. */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Struct> */
/* FT_MM_Axis */
/* */
@@ -180,6 +185,9 @@
FT_Face face,
FT_UInt num_coords,
FT_Fixed* coords );
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/ftmodule.h
+++ b/include/freetype/ftmodule.h
@@ -26,19 +26,25 @@
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_
{
@@ -276,6 +282,9 @@
/* library :: A handle to a new library object. */
/* */
FT_EXPORT( void ) FT_Add_Default_Modules( FT_Library library );
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/ftnames.h
+++ b/include/freetype/ftnames.h
@@ -30,25 +30,30 @@
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! */
+ /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Struct> */
@@ -137,7 +142,10 @@
FT_EXPORT( FT_Error ) FT_Get_Sfnt_Name( FT_Face face,
FT_UInt index,
FT_SfntName *aname );
+
+
/* */
+
FT_END_HEADER
--- a/include/freetype/ftoutln.h
+++ b/include/freetype/ftoutln.h
@@ -27,22 +27,26 @@
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. */
/* */
- /* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Function> */
@@ -329,6 +333,9 @@
FT_EXPORT( FT_Error ) FT_Outline_Render( FT_Library library,
FT_Outline* outline,
FT_Raster_Params* params );
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/ftrender.h
+++ b/include/freetype/ftrender.h
@@ -27,10 +27,15 @@
FT_BEGIN_HEADER
- /****
- * <Section> Module_Management
- */
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* module_management */
+ /* */
+ /*************************************************************************/
+
+
/* create a new glyph object */
typedef FT_Error (*FT_Glyph_Init_Func) ( FT_Glyph glyph,
FT_GlyphSlot slot );
@@ -182,6 +187,7 @@
FT_Renderer renderer,
FT_UInt num_params,
FT_Parameter* parameters );
+
/* */
--- a/include/freetype/ftsystem.h
+++ b/include/freetype/ftsystem.h
@@ -264,7 +264,9 @@
unsigned char* limit;
};
+
/* */
+
FT_END_HEADER
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -29,20 +29,25 @@
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. */
/* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Type> */
@@ -341,7 +346,6 @@
} FT_Generic;
-
/*************************************************************************/
/* */
/* <Macro> */
@@ -366,13 +370,17 @@
/*************************************************************************/
/*************************************************************************/
- /**************************************************************************
- *
- * <Section> list_processing
- */
/*************************************************************************/
/* */
+ /* <Section> */
+ /* list_processing */
+ /* */
+ /*************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
/* <Type> */
/* FT_ListNode */
/* */
@@ -439,6 +447,7 @@
FT_ListNode tail;
} FT_ListRec;
+
/* */
--- 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. */
@@ -244,6 +250,9 @@
FT_ULong data_offset;
} CID_Info;
+
+
+ /* */
FT_END_HEADER
--- a/include/freetype/tttables.h
+++ b/include/freetype/tttables.h
@@ -29,18 +29,22 @@
/*************************************************************************/
/* */
- /* <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. */
/* */
+ /*************************************************************************/
+
/*************************************************************************/
/* */
/* <Struct> */
@@ -585,6 +589,7 @@
/* */
+
FT_END_HEADER