Commit b5e57b041b1ee4a86e58b1f63ea1b95fd0b2a3d7

Werner Lemberg 2023-05-06T16:41:13

[cid] Improve tracing messages; formatting.

diff --git a/include/freetype/internal/ftdrv.h b/include/freetype/internal/ftdrv.h
index f78912c..9001c07 100644
--- a/include/freetype/internal/ftdrv.h
+++ b/include/freetype/internal/ftdrv.h
@@ -157,6 +157,7 @@ FT_BEGIN_HEADER
    *     A handle to a function used to select a new fixed size.  It is used
    *     only if @FT_FACE_FLAG_FIXED_SIZES is set.  Can be set to 0 if the
    *     scaling done in the base layer suffices.
+   *
    * @note:
    *   Most function pointers, with the exception of `load_glyph`, can be set
    *   to 0 to indicate a default behaviour.
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index babaf95..0e6a7ad 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -41,35 +41,36 @@
 
 
   /*
-   * A helper function to compute FD number (fd_select),
-   * the offset to the head of the glyph data (off1),
-   * and the offset to the and of the glyph data (off2).
+   * A helper function to compute FD number (`fd_select`), the offset to the
+   * head of the glyph data (`off1`), and the offset to the and of the glyph
+   * data (`off2`).
    *
-   * The number how many times cid_get_offset() is invoked
-   * can be controlled by the number how many non-NULL
-   * arguments are given.  If fd_select is non-NULL but
-   * off1 and off2 are NULL, cid_get_offset() is invoked
-   * only for fd_select, off1/off2 are not validated.
+   * The number how many times `cid_get_offset` is invoked can be controlled
+   * by the number of non-NULL arguments.  If `fd_select` is non-NULL but
+   * `off1` and `off2` are NULL, `cid_get_offset` is invoked only for
+   * `fd_select`; `off1` and `off2` are not validated.
    *
    */
   FT_LOCAL_DEF( FT_Error )
-  cid_compute_fd_and_offsets( CID_Face    face,
-                              FT_UInt     glyph_index,
-                              FT_ULong*   fd_select_p,
-                              FT_ULong*   off1_p,
-                              FT_ULong*   off2_p )
+  cid_compute_fd_and_offsets( CID_Face   face,
+                              FT_UInt    glyph_index,
+                              FT_ULong*  fd_select_p,
+                              FT_ULong*  off1_p,
+                              FT_ULong*  off2_p )
   {
-    FT_Error      error  =  FT_Err_Ok;
-    CID_FaceInfo  cid    = &face->cid;
-    FT_Stream     stream =  face->cid_stream;
+    FT_Error  error = FT_Err_Ok;
+
+    CID_FaceInfo  cid       = &face->cid;
+    FT_Stream     stream    =  face->cid_stream;
     FT_UInt       entry_len = cid->fd_bytes + cid->gd_bytes;
-    FT_Byte*      p;
-    FT_Bool       need_frame_exit = 0;
-    FT_ULong      fd_select, off1, off2;
+
+    FT_Byte*  p;
+    FT_Bool   need_frame_exit = 0;
+    FT_ULong  fd_select, off1, off2;
 
 
-    /* For ordinary fonts read the CID font dictionary index */
-    /* and charstring offset from the CIDMap.                */
+    /* For ordinary fonts, read the CID font dictionary index */
+    /* and charstring offset from the CIDMap.                 */
 
     if ( FT_STREAM_SEEK( cid->data_offset + cid->cidmap_offset +
                          glyph_index * entry_len )               ||
@@ -78,20 +79,18 @@
 
     need_frame_exit = 1;
 
-    p = (FT_Byte*)stream->cursor;
+    p         = (FT_Byte*)stream->cursor;
     fd_select = cid_get_offset( &p, cid->fd_bytes );
     off1      = cid_get_offset( &p, cid->gd_bytes );
 
-    p += cid->fd_bytes;
-    off2      = cid_get_offset( &p, cid->gd_bytes );
+    p    += cid->fd_bytes;
+    off2  = cid_get_offset( &p, cid->gd_bytes );
 
-    if (fd_select_p)
+    if ( fd_select_p )
       *fd_select_p = fd_select;
-
-    if (off1_p)
+    if ( off1_p )
       *off1_p = off1;
-
-    if (off2_p)
+    if ( off2_p )
       *off2_p = off2;
   
     if ( fd_select >= cid->num_dicts )
@@ -101,36 +100,46 @@
        * has no charstring to be rendered, similar to GID = 0xFFFF
        * in TrueType fonts.
        */
-      if ( (cid->fd_bytes == 1 && fd_select == 0xFFU   ) ||
-           (cid->fd_bytes == 2 && fd_select == 0xFFFFU ) )
+      if ( ( cid->fd_bytes == 1 && fd_select == 0xFFU   ) ||
+           ( cid->fd_bytes == 2 && fd_select == 0xFFFFU ) )
       {
-        FT_TRACE1(( "cid_load_glyph: fail for glyph_index=%d, "
-                    "FD number %ld is the max integer fitting into %d byte%s\n",
-                    glyph_index, fd_select, cid->fd_bytes,
-                    cid->fd_bytes == 1 ? "" : "s" ));
+        FT_TRACE1(( "cid_load_glyph: fail for glyph index %d:\n",
+                    glyph_index ));
+        FT_TRACE1(( "                FD number %ld is the maximum\n",
+                    fd_select ));
+        FT_TRACE1(( "                integer fitting into %d byte%s\n",
+                    cid->fd_bytes, cid->fd_bytes == 1 ? "" : "s" ));
       }
       else
       {
-        FT_TRACE0(( "cid_load_glyph: fail for glyph_index=%d, "
-                    "FD number %ld > number of dicts %d\n",
-                    glyph_index, fd_select, cid->num_dicts ));
+        FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
+                    glyph_index ));
+        FT_TRACE0(( "                FD number %ld is larger\n",
+                    fd_select ));
+        FT_TRACE0(( "                than number of dictionaries (%d)\n",
+                    cid->num_dicts ));
       }
+
       error = FT_THROW( Invalid_Offset );
       goto Exit;
     }
     else if ( off2 > stream->size )
     {
-      FT_TRACE0(( "cid_load_glyph: fail for glyph_index=%d, "
-                  "end of the glyph data is beyond the data stream\n",
+      FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
                   glyph_index ));
+      FT_TRACE0(( "               end of the glyph data\n" ));
+      FT_TRACE0(( "               is beyond the data stream\n" ));
+
       error = FT_THROW( Invalid_Offset );
       goto Exit;
     }
     else if ( off1 > off2 )
     {
-      FT_TRACE0(( "cid_load_glyph: fail for glyph_index=%d, "
-                  "the end position of glyph data is set before the start position\n",
+      FT_TRACE0(( "cid_load_glyph: fail for glyph index %d:\n",
                   glyph_index ));
+      FT_TRACE0(( "                the end position of glyph data\n" ));
+      FT_TRACE0(( "                is set before the start position\n" ));
+
       error = FT_THROW( Invalid_Offset );
     }
 
diff --git a/src/cid/cidriver.c b/src/cid/cidriver.c
index 10cb8c1..9669eb7 100644
--- a/src/cid/cidriver.c
+++ b/src/cid/cidriver.c
@@ -153,16 +153,13 @@
 
 
     /*
-     * Currently, FreeType does not support an incrementally-
-     * defined CID-keyed font that stores the glyph description
-     * data in /GlyphDirectory array or dictionary.
-     * Thus the font loaded by the incremental loading feature
-     * is not handled in here.
+     * Currently, FreeType does not support incrementally-defined, CID-keyed
+     * fonts that store the glyph description data in a `/GlyphDirectory`
+     * array or dictionary.  Fonts loaded by the incremental loading feature
+     * are thus not handled here.
      */
     error = cid_compute_fd_and_offsets( face, glyph_index,
                                         NULL, NULL, NULL );
-
-
     if ( error )
       *cid = 0;
     else