summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/awt/font/autofit
diff options
context:
space:
mode:
authordoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-03 23:18:43 +0000
committerdoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-03 23:18:43 +0000
commit5bf762459121cc397663d22498d62d71fa179ef6 (patch)
treea9c9e7d91c484d53fe154f9285fc57325572ce50 /libjava/gnu/java/awt/font/autofit
parent6d7301dc346a198a89ac987c1008aac09f191ee6 (diff)
downloadppe42-gcc-5bf762459121cc397663d22498d62d71fa179ef6.tar.gz
ppe42-gcc-5bf762459121cc397663d22498d62d71fa179ef6.zip
libjava/classpath/ChangeLog.gcj:
2007-05-31 Matthias Klose <doko@ubuntu.com> * javax/management/NotificationBroadcasterSupport.java (getNotificationInfo): Add cast. * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include directories. * native/jni/qt-peer/Makefile.in: Regenerate. libjava/ChangeLog: 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/natFileWin32.cc (setFilePermissions): New (stub only). _access: Handle EXEC query, stub only. 2007-06-03 Matthias Klose <doko@ubuntu.com> Merged from classpath: * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. * java/lang/System.java(inheritedChannel): New. * java/lang/Character.java: Remove stray`;'. * java/net/MulticastSocket.java: Merged. * java/text/DateFormatSymbols.java(getInstance): New, comment updates. * java/text/Collator.java(getInstance): Merged. * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. getDisplayName, getDisplayNames: New. * java/util/logging/Logger.java: Merged. * Regenerate .class and .h files. 2007-06-03 Matthias Klose <doko@ubuntu.com> * java/io/File.java: Merge with classpath-0.95, new method setFilePermissions, new attribute EXEC. * java/io/natFilePosix.cc (setFilePermissions): New. _access: Handle EXEC query. * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. 2007-06-03 Matthias Klose <doko@ubuntu.com> Imported GNU Classpath 0.95. * classpath/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/include/Makefile.in, classpath/examples/Makefile.in: Regenerate. * classpath/config.guess, classpath/config.sub, classpath/ltmain.sh : Update. * classpath/configure, classpath/depcomp, classpath/missing, classpath/aclocal.m4, classpath/install-sh: Regenerate. * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. * sources.am: Regenerate. * Makefile.in: Regenerate. * Update the .class files and generated CNI header files, add new .class and generated CNI header files. * Remove generated files for removed java source files: classpath/gnu/java/net/BASE64.java, classpath/gnu/java/security/util/Base64.java, classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, classpath/gnu/java/awt/font/autofit/Scaler.java, classpath/gnu/classpath/jdwp/util/Value.java, classpath/gnu/javax/net/ssl/Base64.java. * Remove empty directories. * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. * java/lang/Class.java(setAccessible): Merge from classpath. * java/util/Locale.java: Remove. * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. * gcj/javaprims.h: Update class declarations. * scripts/classes.pl: Update usage. * HACKING: Mention to build all peers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125302 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/awt/font/autofit')
-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
15 files changed, 384 insertions, 18 deletions
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;
OpenPOWER on IntegriCloud