1  typedef unsigned char byte;
       2  typedef unsigned int uint;
       3  typedef unsigned long ulong;
       4  typedef ulong gs_char;
       5  typedef struct gs_show_enum_s gs_show_enum;
       6  typedef struct gs_font_s gs_font;
       7  typedef struct gx_font_stack_item_s {
       8    gs_font *font;
       9  } gx_font_stack_item;
      10  typedef struct gx_font_stack_s {
      11    gx_font_stack_item items[1 + 5 ];
      12  } gx_font_stack;
      13  struct gs_show_enum_s {
      14    gx_font_stack fstack;
      15  };
      16  typedef enum {
      17    ft_composite = 0,
      18  } font_type;
      19  struct gs_font_s {
      20    font_type FontType;
      21  };
      22  typedef enum {
      23    fmap_escape = 3,
      24    fmap_shift = 8
      25    } fmap_type;
      26  typedef struct gs_type0_data_s {
      27    fmap_type FMapType;
      28  } gs_type0_data;
      29  gs_type0_next_char(register gs_show_enum *penum)
      30  {
      31    const byte *p;
      32    int fdepth;
      33    gs_font *pfont;
      34    gs_type0_data *pdata;
      35    uint fidx;
      36    gs_char chr;
      37    for (; pfont->FontType == ft_composite; )
      38      {
      39        fmap_type fmt;
      40        switch ( fmt )
      41  	{
      42  	  do {} while (0);
      43  	rdown:
      44  	  continue;
      45  	case fmap_shift:
      46  	  p++;
      47  	  do {} while (0);
      48  	  goto rdown;
      49  	}
      50        break;
      51      }
      52   up:
      53    while ( fdepth > 0 )
      54      {
      55        switch ( pdata->FMapType )
      56  	{
      57  	default:
      58  	  continue;
      59  	case fmap_escape:
      60  	  fidx = *++p;
      61  	  do {} while (0);
      62  	  if ( fidx == chr && fdepth > 1 )
      63  	    goto up;
      64  	down:
      65  	  fdepth--;
      66  	  do {} while (0);
      67  	}
      68        break;
      69      }
      70    while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )
      71      ;
      72  }