Commit 57b8fcacd369975ca76d7ec5ba6867cddc4df0fb

David Turner 2002-02-08T10:50:12

adding comments to FT_Get_Next_Char

diff --git a/ChangeLog b/ChangeLog
index 704be4a..990500c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-02-08  David Turner  <david@freetype.org>
+
+        * include/freetype/freetype.h: adding comments to FT_Get_Next_Char
+        note that this function might temporarily be removed for the 2.0.8
+        release..
+
 2002-02-07  David Turner  <david@freetype.org>
 
 	* src/pcf/pcfread.c (pcf_load_font): Removed immature support of
@@ -32,6 +38,7 @@
 	better (delaying format checks out of FT_Access_Frame ..
 	FT_Forget_Frame blocks to avoid leaving the stream in an incorrect
 	state when encountering an invalid PCF font).
+	
 	* src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ...
 	(PCF_Face_Done): This.
 	(PCF_Init_Face): Renamed to ...
@@ -41,6 +48,7 @@
 	(PCF_Get_Next_Char): Renamed to ...
 	(PCF_Char_Get_Next): This.
 	(pcf_driver_class): Updated.
+	
 	* src/pcf/pcf.h (PCF_Done_Face): Removed.
 
 2002-02-06  Detlef Würkner  <TetiSoft@apg.lahn.de>
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index d6275a6..17e5fe3 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -2398,15 +2398,39 @@ FT_BEGIN_HEADER
   /*    FT_Get_Next_Char                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Returns the next charcode that is defined in the charmap.          */
+  /*    Returns the next charcode that is defined in a face's current      */
+  /*    charmap.                                                           */
   /*                                                                       */
   /* <Input>                                                               */
   /*    face     :: A handle to the source face object.                    */
   /*                                                                       */
-  /*    charcode :: The character code.                                    */
+  /*    charcode :: The current character code.                            */
   /*                                                                       */
   /* <Return>                                                              */
-  /*    The charcode.  0 means `no encoded values above charcode'.         */
+  /*    The next character code in the current charmap. 0 means            */
+  /*    `no encoded values above charcode'.                                */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    You can always retrieve the first charcode in a given charmap      */
+  /*    by calling FT_Get_Next_Char(face,0)                                */
+  /*                                                                       */
+  /*    (this assumes that 0 is not a valid character code in any known    */
+  /*     charmap format, which is basically true for TrueType and Type1)   */
+  /*                                                                       */
+  /*    note that certain charmaps can map character codes to "empty"      */
+  /*    glyphs sometimes. Here are two examples:                           */
+  /*                                                                       */
+  /*      - the embedded bitmaps were stripped from the font, and certain  */
+  /*        glyphs didn't have a corresponding outline                     */
+  /*                                                                       */
+  /*      - the font is a sub-set of another one and was generated with    */
+  /*        a tool that simply changed the glyph tables, but not the       */
+  /*        charmap..                                                      */
+  /*                                                                       */
+  /*    you should thus use this function only to enumerate charmaps. If   */
+  /*    you need to determine the list of "displayable" glyphs, you'll     */
+  /*    need to use FT_Load_Glyph or wait until we provide another API     */
+  /*    to do that..                                                       */
   /*                                                                       */
   FT_EXPORT( FT_ULong )
   FT_Get_Next_Char( FT_Face   face,