ApwFreetypeLibrary

Check-in [f71f0b18c4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:initial version.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:f71f0b18c460a839556194d5afad727317d2e99b
User & Date: arnulf 2014-12-30 15:55:53
Context
2014-12-30
23:00
fixes. check-in: bb1dc76dfa user: arnulf tags: trunk
15:55
initial version. check-in: f71f0b18c4 user: arnulf tags: trunk
15:55
fixes. check-in: fba1151f13 user: arnulf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added ftbase/FTAutoHinterInterfaceClass.java.























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftbase;

  /* ===================================================================== */
  /*    FTAutoHinterInterfaceClass                                                          */
  /*                                                                       */
  /* ===================================================================== */

public class FTAutoHinterInterfaceClass extends FTModuleInterface {
    private static int oid = 0;

    private int id;
    private final static String TAG = "FTAutoHinterInterfaceClass";

    public FTInstanceMethod reset_face = null;
    public FTInstanceMethod get_global_hints = null;
    public FTInstanceMethod done_global_hints = null;
    public FTInstanceMethod load_glyph = null;
 
    /* ==================== FTAutoHinterInterfaceClass =========================== */
    public FTAutoHinterInterfaceClass() {
      
      String class_name = "org.apwtcl.gles20.truetype.TTAutoHinterLoad";
      // not yet implemented!!
//      reset_face = new TTInstanceMethod(class_name, "sfnt_init_face", 1);
//      get_global_hints = null;
//      done_global_hints = null;
//      load_glyph = null;
    }

    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }

}

Added ftbase/FTOutlineGlyphClass.java.

































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftbase;

import android.util.Log;

  /* ===================================================================== */
  /*    FTOutlineGlyphClass                                                          */
  /*                                                                       */
  /* ===================================================================== */

public class FTOutlineGlyphClass extends FTGlyphClassRec {
    private static int oid = 0;

    private int id;
    private static String TAG = "FTOutlineGlyphClass";

    /* ==================== FTOutlineGlyphClass ================================== */
    public FTOutlineGlyphClass() {
      oid++;
      id = oid;
      String class_name = "org.apwtcl.gles20.truetype.FTOutlineGlyphFuncs";
      this.glyph_size = 0;
      this.glyph_format = FT_GLYPH_FORMAT_BITMAP;
      this.glyph_init = new FTInstanceMethod(class_name, "ft_outline_glyph_init", 1);
      this.glyph_done = new FTInstanceMethod(class_name, "ft_outline_glyph_done", 1);
      this.glyph_copy = new FTInstanceMethod(class_name, "ft_outline_glyph_copy", 1);
      this.glyph_transform = new FTInstanceMethod(class_name, "ft_outline_glyph_transform", 1);
      this.glyph_bbox = new FTInstanceMethod(class_name, "ft_outline_glyph_bbox", 1);
      this.glyph_prepare = new FTInstanceMethod(class_name, "ft_outline_glyph_prepare", 1);
    }
    
    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
    /* =====================================================================
     *    ft_outline_glyph_init
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_init(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_init not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    ft_outline_glyph_done
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_done(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_done not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    ft_outline_glyph_copy
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_copy(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_copy not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    ft_outline_glyph_transform
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_transform(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_transform not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    ft_outline_glyph_bbox
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_bbox(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_bbox not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    ft_outline_glyph_prepare
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_prepare(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_prepare not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     *    FTGlyphTransform
     *
     * =====================================================================
     */
    public static int FTGlyphTransform(Object ... args) {
      Log.w(TAG, "FTGlyphTransform not yet implemented");
      int error = 0;

      return error;
    }

}

Added ftbase/FTOutlineGlyphFuncs.java.

















































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftbase;

import android.util.Log;

  /* ===================================================================== */
  /*    FTOutlineGlyphFuncs                                                        */
  /*                                                                       */
  /* ===================================================================== */

public class FTOutlineGlyphFuncs extends FTDebug {
    private static int oid = 0;

    private int id;
    private static String TAG = "FTOutlineGlyphFuncs";
    
    /* ==================== FTOutlineGlyphFuncs ================================== */
    public FTOutlineGlyphFuncs() {
      oid++;
      id = oid;
    }
    
    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_init
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_init(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_init not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_done
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_done(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_done not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_copy
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_copy(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_copy not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_transform
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_transform(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_transform not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_bbox
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_bbox(Object ... args) {
      Log.w(TAG, "ft_outline_glyph_bbox not yet implemented");
      int error = 0;

      return error;
    }

    /* =====================================================================
     * <Function>
     *    ft_outline_glyph_prepare
     *
     * =====================================================================
     */
    public static int ft_outline_glyph_prepare(Object ... args) {
      FTGlyphRec glyph = (FTGlyphRec)args[0];
      FTReference<FTGlyphSlotRec> slot_ref = (FTReference<FTGlyphSlotRec>)args[1];
      FTGlyphSlotRec slot = slot_ref.Get();
      FTOutlineGlyphRec outline_glyph_rec = new FTOutlineGlyphRec(glyph);
      int error = 0;

      slot.format = FT_GLYPH_FORMAT_OUTLINE;
      
      slot.outline = outline_glyph_rec.outline;
      slot.outline.flags &= ~FTOutlineRec.FT_OUTLINE_OWNER;
      return error;
    }

}

Added ftbase/FTOutlineGlyphRec.java.



































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftbase;

  /* ===================================================================== */
  /*    FTOutlineGlyphRec                                                  */
  /*                                                                       */
  /* <Description>                                                         */
  /*    A structure used for outline (vectorial) glyph images.  This       */
  /*    really is a `sub-class' of @FT_GlyphRec.                           */
  /*                                                                       */
  /* <Fields>                                                              */
  /*    root    :: The root @FTGlyphRec fields.                            */
  /*                                                                       */
  /*    outline :: A descriptor for the outline.                           */
  /*                                                                       */
  /* <Note>                                                                */
  /*    You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have      */
  /*    `glyph->format == FT_GLYPH_FORMAT_OUTLINE'.  This lets you access  */
  /*    the outline's content easily.                                      */
  /*                                                                       */
  /*    As the outline is extracted from a glyph slot, its coordinates are */
  /*    expressed normally in 26.6 pixels, unless the flag                 */
  /*    @FT_LOAD_NO_SCALE was used in @FT_Load_Glyph() or @FT_Load_Char(). */
  /*                                                                       */
  /*    The outline's tables are always owned by the object and are        */
  /*    destroyed with it.                                                 */
  /*                                                                       */
  /* ===================================================================== */

public class FTOutlineGlyphRec extends FTDebug {
    private static int oid = 0;

    private int id;
    private static String TAG = "FTOutlineGlyphRec";

    public FTGlyphRec root = null;
    public FTOutlineRec outline = null;

    /* ==================== FTOutlineGlyphRec ================================== */
    public FTOutlineGlyphRec() {
      oid++;
      id = oid;
    }
    
    /* ==================== FTOutlineGlyphRec ================================== */
    public FTOutlineGlyphRec(FTGlyphRec glyph_rec) {
      oid++;
      id = oid;
      root = glyph_rec;
      outline = new FTOutlineRec();
    }
    
    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
}

Added ftbase/FTServiceTTCMapsRec.java.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftbase;

  /* ===================================================================== */
  /*    FTServiceTTCMapsRec                                                  */
  /*                                                                       */
  /*  This structure is used to store a cache for several frequently used  */
  /*  services.  It is the type of `face->services'.  You                  */
  /*  should only use FT_FACE_LOOKUP_SERVICE to access it.                 */
  /*                                                                       */
  /*  All fields should have the type FT_Pointer to relax compilation      */
  /*  dependencies.  We assume the developer isn't completely stupid.      */
  /*                                                                       */
  /*  Each field must be named `service_XXXX' where `XXX' corresponds to   */
  /*  the correct FT_SERVICE_ID_XXXX macro.  See the definition of         */
  /*  FT_FACE_LOOKUP_SERVICE below how this is implemented                 */
  /* ===================================================================== */

public class FTServiceTTCMapsRec extends FTDebug {
    private static int oid = 0;

    private int id;
    private static String TAG = "FTServiceTTCMapsRec";

    public FTInstanceMethod get_cmap_info = null;

    /* ==================== FTServiceTTCMapsRec ================================== */
    public FTServiceTTCMapsRec() {
      oid++;
      id = oid;
    }
    
    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
}

Added ftcache/FTServiceCacheRec.java.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftcache;

  /* ===================================================================== */
  /*    FTServiceCacheRec                                                  */
  /*                                                                       */
  /*  This structure is used to store a cache for several frequently used  */
  /*  services.  It is the type of `face->services'.  You                  */
  /*  should only use FT_FACE_LOOKUP_SERVICE to access it.                 */
  /*                                                                       */
  /*  All fields should have the type FT_Pointer to relax compilation      */
  /*  dependencies.  We assume the developer isn't completely stupid.      */
  /*                                                                       */
  /*  Each field must be named `service_XXXX' where `XXX' corresponds to   */
  /*  the correct FT_SERVICE_ID_XXXX macro.  See the definition of         */
  /*  FT_FACE_LOOKUP_SERVICE below how this is implemented                 */
  /* ===================================================================== */

public class FTServiceCacheRec extends ftbase.FTDebug {
    private static int oid = 0;

    private int id;
    private static String TAG = "FTServiceCacheRec";

    public Object service_POSTSCRIPT_FONT_NAME = null;
    public Object service_MULTI_MASTERS = null;
    public Object service_GLYPH_DICT = null;
    public Object service_PFR_METRICS = null;
    public Object service_WINFNT = null;

    /* ==================== FTServiceCacheRec ================================== */
    public FTServiceCacheRec() {
      oid++;
      id = oid;
    }
    
    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
}

Added ftsfnt/FTSfntInterfaceClass.java.















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* =====================================================================
 *  This Java implementation is derived from FreeType code
 *  Portions of this software are copyright (C) 2014 The FreeType
 *  Project (www.freetype.org).  All rights reserved.
 *
 *  Copyright (C) of the Java implementation 2014
 *  Arnulf Wiedemann arnulf at wiedemann-pri.de
 *
 *  See the file "license.terms" for information on usage and
 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * =====================================================================
 */

package ftsfnt;

  /* ===================================================================== */
  /*    FTSfntInterfaceClass                                                          */
  /*                                                                       */
  /* <Description>                                                         */
  /*    This structure holds pointers to the functions used to load and    */
  /*    free the basic tables that are required in a `sfnt' font file.     */
  /*                                                                       */
  /* <Fields>                                                              */
  /*    Check the various xxx_Func() descriptions for details.             */
  /* ===================================================================== */

public class FTSfntInterfaceClass extends ftbase.FTModuleInterface {
    private static int oid = 0;

    private int id;
    private final static String TAG = "FTSfntInterfaceClass";

    public ftbase.FTInstanceMethod init_face = null;
    public ftbase.FTInstanceMethod load_face = null;
    public ftbase.FTInstanceMethod goto_table = null;
    public ftbase.FTInstanceMethod load_font_dir = null;
    public ftbase.FTInstanceMethod load_bhed = null;
    public ftbase.FTInstanceMethod load_sbit_image = null;
    public ftbase.FTInstanceMethod load_head = null;
    public ftbase.FTInstanceMethod load_maxp = null;
    public ftbase.FTInstanceMethod load_cmap = null;
    public ftbase.FTInstanceMethod load_name = null;
    public ftbase.FTInstanceMethod load_post = null;
    public ftbase.FTInstanceMethod load_hhea = null;
    public ftbase.FTInstanceMethod load_hmtx = null;
    public ftbase.FTInstanceMethod load_os2 = null;
    public ftbase.FTInstanceMethod load_eblc = null;
    public ftbase.FTInstanceMethod load_pclt = null;
    public ftbase.FTInstanceMethod load_gasp = null;
    public ftbase.FTInstanceMethod load_kern = null;
    public ftbase.FTInstanceMethod get_metrics = null;

    /* ==================== FTSfntInterfaceClass =========================== */
    public FTSfntInterfaceClass() {
      oid++;
      id = oid;
      
      String class_name = "org.apwtcl.gles20.truetype.TTSfntLoad";
      init_face = new ftbase.FTInstanceMethod(class_name, "sfnt_init_face", 1);
      load_face = new ftbase.FTInstanceMethod(class_name, "sfnt_load_face", 5);

      String class_name2 = "org.apwtcl.gles20.truetype.TTLoad";
      goto_table = new ftbase.FTInstanceMethod(class_name2, "tt_face_goto_table", 1);
      load_font_dir = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_font_dir", 2);
      load_bhed = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_bhed", 2);
      load_sbit_image = new ftbase.FTInstanceMethod(class_name2, "load_sbit_image", 2);
      load_head = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_head", 2);
      load_maxp = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_maxp", 2);
      load_cmap = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_cmap", 2);
      load_name = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_name", 2);
      load_post = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_post", 2);
      load_os2 = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_os2", 2);
      load_pclt = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_pclt", 2);
      load_gasp = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_gasp", 2);
      load_kern = new ftbase.FTInstanceMethod(class_name2, "tt_face_load_kern", 2);
      get_metrics = new ftbase.FTInstanceMethod(class_name2, "tt_face_get_metrics", 2);

      String class_name3 = "org.apwtcl.gles20.truetype.TTLoadSfntMetrics";
      load_hhea = new ftbase.FTInstanceMethod(class_name3, "tt_face_load_hhea", 2);
      load_hmtx = new ftbase.FTInstanceMethod(class_name3, "tt_face_load_hmtx", 2);

      String class_name4 = "org.apwtcl.gles20.truetype.TTLoadEmbeddedBitmap";
      load_eblc = new ftbase.FTInstanceMethod(class_name4, "tt_face_load_eblc", 2);

    }

    /* ==================== mySelf ================================== */
    public String mySelf() {
      return TAG+"!"+id+"!";
    }
        
    /* ==================== toString ===================================== */
    public String toString() {
      return mySelf()+"!";
    }

    /* ==================== toDebugString ===================================== */
    public String toDebugString() {
      StringBuffer str = new StringBuffer(mySelf()+"\n");
      return str.toString();
    }
 
}