summaryrefslogtreecommitdiff
path: root/libjava/gnu/java/awt/font
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/java/awt/font')
-rw-r--r--libjava/gnu/java/awt/font/FontDelegate.h8
-rw-r--r--libjava/gnu/java/awt/font/GNUGlyphVector.h2
-rw-r--r--libjava/gnu/java/awt/font/autofit/AutoHinter.h59
-rw-r--r--libjava/gnu/java/awt/font/autofit/AxisHints.h10
-rw-r--r--libjava/gnu/java/awt/font/autofit/Constants.h5
-rw-r--r--libjava/gnu/java/awt/font/autofit/Edge.h55
-rw-r--r--libjava/gnu/java/awt/font/autofit/GlyphHints.h34
-rw-r--r--libjava/gnu/java/awt/font/autofit/HintScaler.h (renamed from libjava/gnu/java/awt/font/autofit/Scaler.h)13
-rw-r--r--libjava/gnu/java/awt/font/autofit/Latin.h58
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinAxis.h7
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinBlue.h48
-rw-r--r--libjava/gnu/java/awt/font/autofit/LatinMetrics.h5
-rw-r--r--libjava/gnu/java/awt/font/autofit/Script.h9
-rw-r--r--libjava/gnu/java/awt/font/autofit/ScriptMetrics.h4
-rw-r--r--libjava/gnu/java/awt/font/autofit/Segment.h31
-rw-r--r--libjava/gnu/java/awt/font/autofit/Utils.h60
-rw-r--r--libjava/gnu/java/awt/font/autofit/Width.h4
-rw-r--r--libjava/gnu/java/awt/font/opentype/Hinter.h45
-rw-r--r--libjava/gnu/java/awt/font/opentype/OpenTypeFont.h7
-rw-r--r--libjava/gnu/java/awt/font/opentype/Scaler.h3
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Fixed.h4
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h11
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Point.h99
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h3
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/Zone.h22
-rw-r--r--libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h3
26 files changed, 572 insertions, 37 deletions
diff --git a/libjava/gnu/java/awt/font/FontDelegate.h b/libjava/gnu/java/awt/font/FontDelegate.h
index 202529b547a..a84c93e1c75 100644
--- a/libjava/gnu/java/awt/font/FontDelegate.h
+++ b/libjava/gnu/java/awt/font/FontDelegate.h
@@ -58,10 +58,16 @@ public:
virtual jint getMissingGlyphCode() = 0;
virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *) = 0;
virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0;
- virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0;
+ virtual ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint) = 0;
virtual ::java::lang::String * getGlyphName(jint) = 0;
virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
+ static const jint FLAG_FITTED = 1;
+ static const jint FLAG_NO_HINT_HORIZONTAL = 2;
+ static const jint FLAG_NO_HINT_VERTICAL = 4;
+ static const jint FLAG_NO_HINT_EDGE_POINTS = 8;
+ static const jint FLAG_NO_HINT_STRONG_POINTS = 16;
+ static const jint FLAG_NO_HINT_WEAK_POINTS = 32;
static ::java::lang::Class class$;
} __attribute__ ((java_interface));
diff --git a/libjava/gnu/java/awt/font/GNUGlyphVector.h b/libjava/gnu/java/awt/font/GNUGlyphVector.h
index 4d47e2addc2..99086f13f2a 100644
--- a/libjava/gnu/java/awt/font/GNUGlyphVector.h
+++ b/libjava/gnu/java/awt/font/GNUGlyphVector.h
@@ -63,7 +63,9 @@ public:
virtual ::java::awt::geom::Rectangle2D * getVisualBounds();
virtual ::java::awt::Shape * getOutline();
virtual ::java::awt::Shape * getOutline(jfloat, jfloat);
+ virtual ::java::awt::Shape * getOutline(jfloat, jfloat, jint);
virtual ::java::awt::Shape * getGlyphOutline(jint);
+ virtual ::java::awt::Shape * getGlyphOutline(jint, jint);
virtual ::java::awt::geom::Point2D * getGlyphPosition(jint);
virtual void setGlyphPosition(jint, ::java::awt::geom::Point2D *);
virtual ::java::awt::geom::AffineTransform * getGlyphTransform(jint);
diff --git a/libjava/gnu/java/awt/font/autofit/AutoHinter.h b/libjava/gnu/java/awt/font/autofit/AutoHinter.h
new file mode 100644
index 00000000000..e11a394aaba
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/AutoHinter.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_AutoHinter__
+#define __gnu_java_awt_font_autofit_AutoHinter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class AutoHinter;
+ class GlyphHints;
+ class HintScaler;
+ class Latin;
+ class LatinMetrics;
+ }
+ namespace opentype
+ {
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::AutoHinter : public ::java::lang::Object
+{
+
+public:
+ AutoHinter();
+ virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *);
+ virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *);
+ virtual void setFlags(jint);
+public: // actually package-private
+ ::gnu::java::awt::font::autofit::Latin * __attribute__((aligned(__alignof__( ::java::lang::Object)))) latinScript;
+ ::gnu::java::awt::font::autofit::LatinMetrics * metrics;
+ ::gnu::java::awt::font::autofit::GlyphHints * hints;
+ ::gnu::java::awt::font::autofit::HintScaler * scaler;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_AutoHinter__
diff --git a/libjava/gnu/java/awt/font/autofit/AxisHints.h b/libjava/gnu/java/awt/font/autofit/AxisHints.h
index 29dad47f239..0d8b7eac121 100644
--- a/libjava/gnu/java/awt/font/autofit/AxisHints.h
+++ b/libjava/gnu/java/awt/font/autofit/AxisHints.h
@@ -22,6 +22,7 @@ extern "Java"
namespace autofit
{
class AxisHints;
+ class Edge;
class Segment;
}
}
@@ -35,7 +36,16 @@ class gnu::java::awt::font::autofit::AxisHints : public ::java::lang::Object
public: // actually package-private
AxisHints();
+ virtual ::gnu::java::awt::font::autofit::Segment * newSegment();
+public:
+ virtual ::gnu::java::awt::font::autofit::Edge * newEdge(jint);
+public: // actually package-private
+ virtual jint getEdgeIndex(::gnu::java::awt::font::autofit::Edge *);
JArray< ::gnu::java::awt::font::autofit::Segment * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) segments;
+ jint majorDir;
+ jint numSegments;
+ jint numEdges;
+ JArray< ::gnu::java::awt::font::autofit::Edge * > * edges;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/autofit/Constants.h b/libjava/gnu/java/awt/font/autofit/Constants.h
index ae103683e0d..60932a91dc7 100644
--- a/libjava/gnu/java/awt/font/autofit/Constants.h
+++ b/libjava/gnu/java/awt/font/autofit/Constants.h
@@ -34,6 +34,11 @@ public:
static const jint DIMENSION_HORZ = 0;
static const jint DIMENSION_VERT = 1;
static const jint DIMENSION_MAX = 2;
+ static const jint DIR_NONE = 0;
+ static const jint DIR_RIGHT = 1;
+ static const jint DIR_LEFT = -1;
+ static const jint DIR_UP = 2;
+ static const jint DIR_DOWN = -2;
static ::java::lang::Class class$;
} __attribute__ ((java_interface));
diff --git a/libjava/gnu/java/awt/font/autofit/Edge.h b/libjava/gnu/java/awt/font/autofit/Edge.h
new file mode 100644
index 00000000000..f456c3618b1
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Edge.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Edge__
+#define __gnu_java_awt_font_autofit_Edge__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Edge;
+ class Segment;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Edge : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Edge();
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) fpos;
+ ::gnu::java::awt::font::autofit::Segment * first;
+ ::gnu::java::awt::font::autofit::Segment * last;
+ jint opos;
+ ::gnu::java::awt::font::autofit::Edge * link;
+ ::gnu::java::awt::font::autofit::Edge * serif;
+ jint flags;
+ jint dir;
+ ::gnu::java::awt::font::autofit::Width * blueEdge;
+ jint pos;
+ jint scale;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Edge__
diff --git a/libjava/gnu/java/awt/font/autofit/GlyphHints.h b/libjava/gnu/java/awt/font/autofit/GlyphHints.h
index 6a878d56c81..27ce96390ed 100644
--- a/libjava/gnu/java/awt/font/autofit/GlyphHints.h
+++ b/libjava/gnu/java/awt/font/autofit/GlyphHints.h
@@ -29,6 +29,7 @@ extern "Java"
{
namespace truetype
{
+ class Point;
class Zone;
}
}
@@ -45,13 +46,42 @@ public: // actually package-private
GlyphHints();
virtual void rescale(::gnu::java::awt::font::autofit::ScriptMetrics *);
virtual void reload(::gnu::java::awt::font::opentype::truetype::Zone *);
- virtual void computeSegments(jint);
- virtual void linkSegments(jint);
+private:
+ void setWeakPoint(::gnu::java::awt::font::opentype::truetype::Point *);
+ void computeInflectionPoints();
+public: // actually package-private
+ virtual jboolean doHorizontal();
+ virtual jboolean doVertical();
+ virtual void alignWeakPoints(jint);
+private:
+ void iupShift(jint, jint, jint);
+ void iupInterp(jint, jint, jint, jint);
+public: // actually package-private
+ virtual void alignStrongPoints(jint);
+private:
+ void storePoint(::gnu::java::awt::font::opentype::truetype::Point *, jint, jint, jshort);
+public: // actually package-private
+ virtual void alignEdgePoints(jint);
+private:
+ jint getPointIndex(::gnu::java::awt::font::opentype::truetype::Point *);
+public:
+ virtual jboolean doAlignEdgePoints();
+ virtual jboolean doAlignStrongPoints();
+ virtual jboolean doAlignWeakPoints();
+public: // actually package-private
jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale;
jint xDelta;
jint yScale;
jint yDelta;
JArray< ::gnu::java::awt::font::autofit::AxisHints * > * axis;
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * points;
+ jint numPoints;
+ jint maxPoints;
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * contours;
+ jint numContours;
+ jint maxContours;
+ ::gnu::java::awt::font::autofit::ScriptMetrics * metrics;
+ jint flags;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/autofit/Scaler.h b/libjava/gnu/java/awt/font/autofit/HintScaler.h
index ffebc5a30dd..b494fe4516b 100644
--- a/libjava/gnu/java/awt/font/autofit/Scaler.h
+++ b/libjava/gnu/java/awt/font/autofit/HintScaler.h
@@ -1,8 +1,8 @@
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
-#ifndef __gnu_java_awt_font_autofit_Scaler__
-#define __gnu_java_awt_font_autofit_Scaler__
+#ifndef __gnu_java_awt_font_autofit_HintScaler__
+#define __gnu_java_awt_font_autofit_HintScaler__
#pragma interface
@@ -19,7 +19,7 @@ extern "Java"
{
namespace autofit
{
- class Scaler;
+ class HintScaler;
}
namespace opentype
{
@@ -31,18 +31,19 @@ extern "Java"
}
}
-class gnu::java::awt::font::autofit::Scaler : public ::java::lang::Object
+class gnu::java::awt::font::autofit::HintScaler : public ::java::lang::Object
{
public: // actually package-private
- Scaler();
+ HintScaler();
jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) xScale;
jint xDelta;
jint yScale;
jint yDelta;
::gnu::java::awt::font::opentype::OpenTypeFont * face;
+ jint renderMode;
public:
static ::java::lang::Class class$;
};
-#endif // __gnu_java_awt_font_autofit_Scaler__
+#endif // __gnu_java_awt_font_autofit_HintScaler__
diff --git a/libjava/gnu/java/awt/font/autofit/Latin.h b/libjava/gnu/java/awt/font/autofit/Latin.h
index af4c300d943..7afa24ca8bb 100644
--- a/libjava/gnu/java/awt/font/autofit/Latin.h
+++ b/libjava/gnu/java/awt/font/autofit/Latin.h
@@ -7,6 +7,8 @@
#pragma interface
#include <java/lang/Object.h>
+#include <gcj/array.h>
+
extern "Java"
{
namespace gnu
@@ -19,19 +21,36 @@ extern "Java"
{
namespace autofit
{
+ class Edge;
class GlyphHints;
+ class HintScaler;
class Latin;
class LatinMetrics;
class ScriptMetrics;
+ class Width;
}
namespace opentype
{
class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
}
}
}
}
}
+ namespace java
+ {
+ namespace awt
+ {
+ namespace geom
+ {
+ class AffineTransform;
+ }
+ }
+ }
}
class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object
@@ -40,16 +59,51 @@ class gnu::java::awt::font::autofit::Latin : public ::java::lang::Object
public: // actually package-private
Latin();
public:
- virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
+ virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
+private:
+ void hintEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void alignSerifEdge(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
+ jint computeStemWidth(::gnu::java::awt::font::autofit::GlyphHints *, jint, jint, jint, jint);
+ jboolean doMono(::gnu::java::awt::font::autofit::GlyphHints *);
+ jint snapWidth(JArray< ::gnu::java::awt::font::autofit::Width * > *, jint, jint);
+ jint doneWidth(jint, jint);
+ jboolean doVertSnap(::gnu::java::awt::font::autofit::GlyphHints *);
+ jboolean doHorzSnap(::gnu::java::awt::font::autofit::GlyphHints *);
+ jboolean doStemAdjust(::gnu::java::awt::font::autofit::GlyphHints *);
+ void alignLinkedEdge(::gnu::java::awt::font::autofit::GlyphHints *, jint, ::gnu::java::awt::font::autofit::Edge *, ::gnu::java::awt::font::autofit::Edge *);
+public:
virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *);
virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *);
virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
- virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *);
+ virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *);
private:
+ void scaleMetricsDim(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::autofit::HintScaler *, jint);
void initWidths(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *, jchar);
+public: // actually package-private
+ virtual void linkSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+private:
void initBlues(::gnu::java::awt::font::autofit::LatinMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *);
jint constant(::gnu::java::awt::font::autofit::LatinMetrics *, jint);
+ void computeSegments(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ jboolean isTopBlue(jint);
+ void detectFeatures(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void computeEdges(::gnu::java::awt::font::autofit::GlyphHints *, jint);
+ void computeBlueEdges(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::LatinMetrics *);
+public: // actually package-private
static const jint MAX_WIDTHS = 16;
+private:
+ static const jint MAX_TEST_CHARS = 12;
+ static const jint CAPITAL_TOP = 0;
+ static const jint CAPITAL_BOTTOM = 1;
+ static const jint SMALL_F_TOP = 2;
+ static const jint SMALL_TOP = 3;
+ static const jint SMALL_BOTTOM = 4;
+ static const jint SMALL_MINOR = 5;
+public: // actually package-private
+ static const jint BLUE_MAX = 6;
+private:
+ static JArray< ::java::lang::String * > * TEST_CHARS;
+ static ::java::awt::geom::AffineTransform * IDENTITY;
public: // actually package-private
static jboolean $assertionsDisabled;
public:
diff --git a/libjava/gnu/java/awt/font/autofit/LatinAxis.h b/libjava/gnu/java/awt/font/autofit/LatinAxis.h
index 631cd794a57..8c56e5a1075 100644
--- a/libjava/gnu/java/awt/font/autofit/LatinAxis.h
+++ b/libjava/gnu/java/awt/font/autofit/LatinAxis.h
@@ -22,6 +22,7 @@ extern "Java"
namespace autofit
{
class LatinAxis;
+ class LatinBlue;
class Width;
}
}
@@ -39,7 +40,11 @@ public: // actually package-private
jint delta;
jint widthCount;
JArray< ::gnu::java::awt::font::autofit::Width * > * widths;
- jfloat edgeDistanceTreshold;
+ jint edgeDistanceTreshold;
+ JArray< ::gnu::java::awt::font::autofit::LatinBlue * > * blues;
+ jint blueCount;
+ jint orgDelta;
+ jint orgScale;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/autofit/LatinBlue.h b/libjava/gnu/java/awt/font/autofit/LatinBlue.h
new file mode 100644
index 00000000000..b8a6a39a78b
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/LatinBlue.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_LatinBlue__
+#define __gnu_java_awt_font_autofit_LatinBlue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class LatinBlue;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::LatinBlue : public ::java::lang::Object
+{
+
+public:
+ LatinBlue();
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static const jint FLAG_BLUE_ACTIVE = 1;
+ static const jint FLAG_TOP = 2;
+ static const jint FLAG_ADJUSTMENT = 4;
+ ::gnu::java::awt::font::autofit::Width * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ref;
+ ::gnu::java::awt::font::autofit::Width * shoot;
+ jint flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_LatinBlue__
diff --git a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h
index a7a12fd4c7e..18a21db4bc3 100644
--- a/libjava/gnu/java/awt/font/autofit/LatinMetrics.h
+++ b/libjava/gnu/java/awt/font/autofit/LatinMetrics.h
@@ -24,6 +24,10 @@ extern "Java"
class LatinAxis;
class LatinMetrics;
}
+ namespace opentype
+ {
+ class OpenTypeFont;
+ }
}
}
}
@@ -35,6 +39,7 @@ class gnu::java::awt::font::autofit::LatinMetrics : public ::gnu::java::awt::fon
public: // actually package-private
LatinMetrics();
+ LatinMetrics(::gnu::java::awt::font::opentype::OpenTypeFont *);
JArray< ::gnu::java::awt::font::autofit::LatinAxis * > * __attribute__((aligned(__alignof__( ::gnu::java::awt::font::autofit::ScriptMetrics)))) axis;
jint unitsPerEm;
public:
diff --git a/libjava/gnu/java/awt/font/autofit/Script.h b/libjava/gnu/java/awt/font/autofit/Script.h
index 5a722896a80..6455af524cc 100644
--- a/libjava/gnu/java/awt/font/autofit/Script.h
+++ b/libjava/gnu/java/awt/font/autofit/Script.h
@@ -20,12 +20,17 @@ extern "Java"
namespace autofit
{
class GlyphHints;
+ class HintScaler;
class Script;
class ScriptMetrics;
}
namespace opentype
{
class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
}
}
}
@@ -38,10 +43,10 @@ class gnu::java::awt::font::autofit::Script : public ::java::lang::Object
public:
virtual void initMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::opentype::OpenTypeFont *) = 0;
- virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
+ virtual void scaleMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *, ::gnu::java::awt::font::autofit::HintScaler *) = 0;
virtual void doneMetrics(::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
virtual void initHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
- virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
+ virtual void applyHints(::gnu::java::awt::font::autofit::GlyphHints *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::autofit::ScriptMetrics *) = 0;
static ::java::lang::Class class$;
} __attribute__ ((java_interface));
diff --git a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h
index 79ab128b5a5..c58575b354e 100644
--- a/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h
+++ b/libjava/gnu/java/awt/font/autofit/ScriptMetrics.h
@@ -19,7 +19,7 @@ extern "Java"
{
namespace autofit
{
- class Scaler;
+ class HintScaler;
class Script;
class ScriptMetrics;
}
@@ -35,7 +35,7 @@ class gnu::java::awt::font::autofit::ScriptMetrics : public ::java::lang::Object
public: // actually package-private
ScriptMetrics();
::gnu::java::awt::font::autofit::Script * __attribute__((aligned(__alignof__( ::java::lang::Object)))) script;
- ::gnu::java::awt::font::autofit::Scaler * scaler;
+ ::gnu::java::awt::font::autofit::HintScaler * scaler;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/autofit/Segment.h b/libjava/gnu/java/awt/font/autofit/Segment.h
index 4b2adef67b0..d3c1d72d740 100644
--- a/libjava/gnu/java/awt/font/autofit/Segment.h
+++ b/libjava/gnu/java/awt/font/autofit/Segment.h
@@ -19,8 +19,16 @@ extern "Java"
{
namespace autofit
{
+ class Edge;
class Segment;
}
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ }
+ }
}
}
}
@@ -32,9 +40,28 @@ class gnu::java::awt::font::autofit::Segment : public ::java::lang::Object
public: // actually package-private
Segment();
- ::gnu::java::awt::font::autofit::Segment * __attribute__((aligned(__alignof__( ::java::lang::Object)))) link;
- jint index;
+public:
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static const jint FLAG_EDGE_NORMAL = 0;
+ static const jint FLAG_EDGE_ROUND = 1;
+ static const jint FLAG_EDGE_SERIF = 2;
+ static const jint FLAG_EDGE_DONE = 4;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) dir;
+ jint flags;
+ ::gnu::java::awt::font::autofit::Segment * link;
+ ::gnu::java::awt::font::autofit::Segment * serif;
+ jint numLinked;
jint pos;
+ ::gnu::java::awt::font::opentype::truetype::Point * first;
+ ::gnu::java::awt::font::opentype::truetype::Point * last;
+ ::gnu::java::awt::font::opentype::truetype::Point * contour;
+ jint minPos;
+ jint maxPos;
+ jint score;
+ jint len;
+ ::gnu::java::awt::font::autofit::Segment * edgeNext;
+ ::gnu::java::awt::font::autofit::Edge * edge;
public:
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/autofit/Utils.h b/libjava/gnu/java/awt/font/autofit/Utils.h
new file mode 100644
index 00000000000..12fb2f542a5
--- /dev/null
+++ b/libjava/gnu/java/awt/font/autofit/Utils.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_autofit_Utils__
+#define __gnu_java_awt_font_autofit_Utils__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace autofit
+ {
+ class Utils;
+ class Width;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::autofit::Utils : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Utils();
+ static jint computeDirection(jint, jint);
+public:
+ static jint atan(jint, jint);
+ static jint angleDiff(jint, jint);
+public: // actually package-private
+ static void sort(jint, JArray< jint > *);
+ static void sort(jint, JArray< ::gnu::java::awt::font::autofit::Width * > *);
+ static jint pixRound(jint);
+ static jint pixFloor(jint);
+public:
+ static jint mulDiv(jint, jint, jint);
+private:
+ static const jint ATAN_BITS = 8;
+ static JArray< jbyte > * ATAN;
+ static const jint ANGLE_PI = 256;
+ static const jint ANGLE_PI2 = 128;
+ static const jint ANGLE_PI4 = 64;
+ static const jint ANGLE_2PI = 512;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_autofit_Utils__
diff --git a/libjava/gnu/java/awt/font/autofit/Width.h b/libjava/gnu/java/awt/font/autofit/Width.h
index 23d21fe07c5..d107e50b281 100644
--- a/libjava/gnu/java/awt/font/autofit/Width.h
+++ b/libjava/gnu/java/awt/font/autofit/Width.h
@@ -30,8 +30,10 @@ extern "Java"
class gnu::java::awt::font::autofit::Width : public ::java::lang::Object
{
+public: // actually package-private
+ Width(jint);
public:
- Width();
+ virtual ::java::lang::String * toString();
public: // actually package-private
jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) org;
jint cur;
diff --git a/libjava/gnu/java/awt/font/opentype/Hinter.h b/libjava/gnu/java/awt/font/opentype/Hinter.h
new file mode 100644
index 00000000000..29992b70a10
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/Hinter.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_Hinter__
+#define __gnu_java_awt_font_opentype_Hinter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ class Hinter;
+ class OpenTypeFont;
+ namespace truetype
+ {
+ class Zone;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::Hinter : public ::java::lang::Object
+{
+
+public:
+ virtual void init(::gnu::java::awt::font::opentype::OpenTypeFont *) = 0;
+ virtual void applyHints(::gnu::java::awt::font::opentype::truetype::Zone *) = 0;
+ virtual void setFlags(jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_java_awt_font_opentype_Hinter__
diff --git a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h
index 149337c4c8a..7d07889c7d6 100644
--- a/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h
+++ b/libjava/gnu/java/awt/font/opentype/OpenTypeFont.h
@@ -23,6 +23,7 @@ extern "Java"
{
class CharGlyphMap;
class GlyphNamer;
+ class Hinter;
class OpenTypeFont;
class Scaler;
namespace truetype
@@ -88,13 +89,16 @@ public:
jint getGlyph(jint);
::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *);
- ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean);
+ ::java::awt::geom::GeneralPath * getGlyphOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jint);
::gnu::java::awt::font::opentype::truetype::Zone * getRawGlyphOutline(jint, ::java::awt::geom::AffineTransform *);
::java::lang::String * getGlyphName(jint);
jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean);
public: // actually package-private
static ::java::lang::String * tagToString(jint);
+private:
+ void checkHinter(jint);
+public: // actually package-private
static const jint TAG_OTTO = 1330926671;
static const jint TAG_SFNT = 1936092788;
static const jint TAG_TRUE = 1953658213;
@@ -114,6 +118,7 @@ private:
::gnu::java::awt::font::opentype::Scaler * scaler;
::gnu::java::awt::font::opentype::CharGlyphMap * cmap;
::gnu::java::awt::font::opentype::GlyphNamer * glyphNamer;
+ ::gnu::java::awt::font::opentype::Hinter * hinter;
::java::nio::ByteBuffer * nameTable;
public:
static ::java::lang::Class class$;
diff --git a/libjava/gnu/java/awt/font/opentype/Scaler.h b/libjava/gnu/java/awt/font/opentype/Scaler.h
index a9118288ba2..6d229d70981 100644
--- a/libjava/gnu/java/awt/font/opentype/Scaler.h
+++ b/libjava/gnu/java/awt/font/opentype/Scaler.h
@@ -19,6 +19,7 @@ extern "Java"
{
namespace opentype
{
+ class Hinter;
class Scaler;
namespace truetype
{
@@ -48,7 +49,7 @@ class gnu::java::awt::font::opentype::Scaler : public ::java::lang::Object
public:
Scaler();
- virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean) = 0;
+ virtual ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint) = 0;
virtual void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *) = 0;
virtual jfloat getAscent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
virtual jfloat getDescent(jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean) = 0;
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h
index e93546aca72..9427f135a06 100644
--- a/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Fixed.h
@@ -36,15 +36,19 @@ class gnu::java::awt::font::opentype::truetype::Fixed : public ::java::lang::Obj
Fixed();
public:
static jint mul(jint, jint);
+ static jint mul16(jint, jint);
static jint div(jint, jint);
+ static jint div16(jint, jint);
static jint ceil(jint);
static jint floor(jint);
static jint vectorLength(jint, jint);
static jint intValue(jint);
static jfloat floatValue(jint);
+ static jfloat floatValue16(jint);
static jdouble doubleValue(jint);
static jint valueOf(jfloat);
static jint valueOf(jdouble);
+ static jint valueOf16(jdouble);
static ::java::lang::String * toString(jint);
static ::java::lang::String * toString(jint, jint);
static const jint ONE = 64;
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h
index 2b0dd072428..f0582d347a5 100644
--- a/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h
+++ b/libjava/gnu/java/awt/font/opentype/truetype/GlyphLoader.h
@@ -21,6 +21,7 @@ extern "Java"
{
namespace opentype
{
+ class Hinter;
namespace truetype
{
class GlyphLoader;
@@ -56,12 +57,12 @@ class gnu::java::awt::font::opentype::truetype::GlyphLoader : public ::java::lan
public: // actually package-private
GlyphLoader(::gnu::java::awt::font::opentype::truetype::GlyphLocator *, ::gnu::java::awt::font::opentype::truetype::VirtualMachine *, jint, jint, jint, ::gnu::java::awt::font::opentype::truetype::GlyphMeasurer *);
public:
- void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *);
- void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *);
+ void loadGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadGlyph(jint, ::java::awt::geom::AffineTransform *, ::gnu::java::awt::font::opentype::truetype::Zone *, ::gnu::java::awt::font::opentype::Hinter *);
private:
- void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint);
- void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint);
- void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint);
+ void loadSubGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadSimpleGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
+ void loadCompoundGlyph(jint, jdouble, ::java::awt::geom::AffineTransform *, jboolean, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *, jint, jint, ::gnu::java::awt::font::opentype::Hinter *);
jdouble getDouble214(::java::nio::ByteBuffer *);
void loadFlags(jint, ::java::nio::ByteBuffer *);
void loadCoordinates(jint, ::java::nio::ByteBuffer *, ::gnu::java::awt::font::opentype::truetype::Zone *);
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Point.h b/libjava/gnu/java/awt/font/opentype/truetype/Point.h
new file mode 100644
index 00000000000..a993ca0234c
--- /dev/null
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Point.h
@@ -0,0 +1,99 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_java_awt_font_opentype_truetype_Point__
+#define __gnu_java_awt_font_opentype_truetype_Point__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace awt
+ {
+ namespace font
+ {
+ namespace opentype
+ {
+ namespace truetype
+ {
+ class Point;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::java::awt::font::opentype::truetype::Point : public ::java::lang::Object
+{
+
+public:
+ Point();
+ virtual ::gnu::java::awt::font::opentype::truetype::Point * getNext();
+ virtual void setNext(::gnu::java::awt::font::opentype::truetype::Point *);
+ virtual ::gnu::java::awt::font::opentype::truetype::Point * getPrev();
+ virtual void setPrev(::gnu::java::awt::font::opentype::truetype::Point *);
+ virtual jint getOrigX();
+ virtual void setOrigX(jint);
+ virtual jint getOrigY();
+ virtual void setOrigY(jint);
+ virtual jint getInDir();
+ virtual void setInDir(jint);
+ virtual jint getOutDir();
+ virtual void setOutDir(jint);
+ virtual jshort getFlags();
+ virtual void setFlags(jshort);
+ virtual void addFlags(jshort);
+ virtual jboolean isControlPoint();
+ virtual jint getU();
+ virtual void setU(jint);
+ virtual jint getV();
+ virtual void setV(jint);
+ virtual ::java::lang::String * toString();
+ virtual jint getX();
+ virtual void setX(jint);
+ virtual jint getY();
+ virtual void setY(jint);
+ virtual jint getScaledX();
+ virtual void setScaledX(jint);
+ virtual jint getScaledY();
+ virtual void setScaledY(jint);
+ static const jshort FLAG_TOUCHED_X = 1;
+ static const jshort FLAG_TOUCHED_Y = 2;
+ static const jshort FLAG_ON_CURVE = 4;
+ static const jshort FLAG_CONTOUR_END = 8;
+ static const jshort FLAG_WEAK_INTERPOLATION = 16;
+ static const jshort FLAG_INFLECTION = 32;
+ static const jshort FLAG_DONE_X = 64;
+ static const jshort FLAG_DONE_Y = 128;
+ static const jint DIR_RIGHT = 1;
+ static const jint DIR_LEFT = -1;
+ static const jint DIR_UP = 2;
+ static const jint DIR_DOWN = -2;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) origX;
+ jint origY;
+ jint scaledX;
+ jint scaledY;
+ jint x;
+ jint y;
+ jint u;
+ jint v;
+ jshort flags;
+private:
+ ::gnu::java::awt::font::opentype::truetype::Point * prev;
+ ::gnu::java::awt::font::opentype::truetype::Point * next;
+public: // actually package-private
+ jint inDir;
+ jint outDir;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_java_awt_font_opentype_truetype_Point__
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h
index 77ae20fb3ad..fadc996ccf0 100644
--- a/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h
+++ b/libjava/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.h
@@ -19,6 +19,7 @@ extern "Java"
{
namespace opentype
{
+ class Hinter;
namespace truetype
{
class GlyphLoader;
@@ -54,7 +55,7 @@ class gnu::java::awt::font::opentype::truetype::TrueTypeScaler : public ::gnu::j
public:
TrueTypeScaler(jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, jint, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *);
- ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean);
+ ::java::awt::geom::GeneralPath * getOutline(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, ::gnu::java::awt::font::opentype::Hinter *, jint);
::gnu::java::awt::font::opentype::truetype::Zone * getRawOutline(jint, ::java::awt::geom::AffineTransform *);
void getAdvance(jint, jfloat, ::java::awt::geom::AffineTransform *, jboolean, jboolean, jboolean, ::java::awt::geom::Point2D *);
private:
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h
index b3ff4f05959..e5647898e48 100644
--- a/libjava/gnu/java/awt/font/opentype/truetype/Zone.h
+++ b/libjava/gnu/java/awt/font/opentype/truetype/Zone.h
@@ -23,6 +23,7 @@ extern "Java"
{
namespace truetype
{
+ class Point;
class Zone;
}
}
@@ -52,9 +53,11 @@ public:
jint getCapacity();
jint getSize();
jint getX(jint);
+ jint getX(jint, jint);
void setX(jint, jint, jboolean);
void setY(jint, jint, jboolean);
jint getY(jint);
+ jint getY(jint, jint);
jint getOriginalX(jint);
jint getOriginalY(jint);
void setOriginalX(jint, jint);
@@ -70,18 +73,19 @@ public: // actually package-private
private:
void dump();
public:
- ::java::awt::geom::PathIterator * getPathIterator();
- ::java::awt::geom::GeneralPath * getPath();
+ ::java::awt::geom::PathIterator * getPathIterator(jint);
+ ::java::awt::geom::GeneralPath * getPath(jint);
+ jint getNumContours();
+ jint getContourEnd(jint);
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * getPoints();
private:
- JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos;
- JArray< jint > * origPos;
- JArray< jbyte > * flags;
+ JArray< ::gnu::java::awt::font::opentype::truetype::Point * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) points;
jint numPoints;
- static const jint FLAG_TOUCHED_X = 1;
- static const jint FLAG_TOUCHED_Y = 2;
- static const jint FLAG_ON_CURVE = 4;
- static const jint FLAG_CONTOUR_END = 8;
public:
+ jdouble scaleX;
+ jdouble scaleY;
+ jdouble shearX;
+ jdouble shearY;
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h
index fe610037981..5e64ba8753d 100644
--- a/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h
+++ b/libjava/gnu/java/awt/font/opentype/truetype/ZonePathIterator.h
@@ -37,7 +37,7 @@ class gnu::java::awt::font::opentype::truetype::ZonePathIterator : public ::java
{
public: // actually package-private
- ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *);
+ ZonePathIterator(::gnu::java::awt::font::opentype::truetype::Zone *, jint);
public:
jint getWindingRule();
jboolean isDone();
@@ -58,6 +58,7 @@ private:
jint numPoints;
jint curPoint;
jint contourStart;
+ jint type;
public: // actually package-private
JArray< jfloat > * floats;
public: