diff options
Diffstat (limited to 'libjava/gnu/java/awt/font')
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: |