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