1 
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3 
4 #ifndef __gnu_java_awt_font_autofit_Latin__
5 #define __gnu_java_awt_font_autofit_Latin__
6 
7 #pragma interface
8 
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
11 
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace java
17     {
18       namespace awt
19       {
20         namespace font
21         {
22           namespace autofit
23           {
24               class Edge;
25               class GlyphHints;
26               class HintScaler;
27               class Latin;
28               class LatinMetrics;
29               class ScriptMetrics;
30               class Width;
31           }
32           namespace opentype
33           {
34               class OpenTypeFont;
35             namespace truetype
36             {
37                 class Zone;
38             }
39           }
40         }
41       }
42     }
43   }
44   namespace java
45   {
46     namespace awt
47     {
48       namespace geom
49       {
50           class AffineTransform;
51       }
52     }
53   }
54 }
55 
56 class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object
57 {
58 
59 public: // actually package-private
60   Latin();
61 public:
62   virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
63 private:
64   void hintEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
65   void alignSerifEdge(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
66   jint computeStemWidth(::gnu::java::awt::font::autofit::GlyphHints *, jint, jint, jint, jint);
67   jboolean doMono(::gnu::java::awt::font::autofit::GlyphHints *);
68   jint snapWidth(JArray< ::gnu::java::awt::font::autofit::Width * > *, jint, jint);
69   jint doneWidth(jint, jint);
70   jboolean doVertSnap(::gnu::java::awt::font::autofit::GlyphHints *);
71   jboolean doHorzSnap(::gnu::java::awt::font::autofit::GlyphHints *);
72   jboolean doStemAdjust(::gnu::java::awt::font::autofit::GlyphHints *);
73   void alignLinkedEdge(::gnu::java::awt::font::autofit::GlyphHints *, jint, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
74 public:
75   virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *);
76   virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
77   virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
78   virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *);
79 private:
80   void scaleMetricsDim(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::autofit::HintScaler *, jint);
81   void initWidths(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *, jchar);
82 public: // actually package-private
83   virtual void linkSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
84 private:
85   void initBlues(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
86   jint constant(::gnu::java::awt::font::autofit::LatinMetrics *, jint);
87   void computeSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
88   jboolean isTopBlue(jint);
89   void detectFeatures(::gnu::java::awt::font::autofit::GlyphHints *, jint);
90   void computeEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
91   void computeBlueEdges(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::LatinMetrics *);
92 public: // actually package-private
93   static const jint MAX_WIDTHS = 16;
94 private:
95   static const jint MAX_TEST_CHARS = 12;
96   static const jint CAPITAL_TOP = 0;
97   static const jint CAPITAL_BOTTOM = 1;
98   static const jint SMALL_F_TOP = 2;
99   static const jint SMALL_TOP = 3;
100   static const jint SMALL_BOTTOM = 4;
101   static const jint SMALL_MINOR = 5;
102 public: // actually package-private
103   static const jint BLUE_MAX = 6;
104 private:
105   static JArray< ::java::lang::String * > * TEST_CHARS;
106   static ::java::awt::geom::AffineTransform * IDENTITY;
107 public: // actually package-private
108   static jboolean $assertionsDisabled;
109 public:
110   static ::java::lang::Class class$;
111 };
112 
113 #endif // __gnu_java_awt_font_autofit_Latin__
114