--- a/jdk/src/share/native/sun/font/layout/ArabicShaping.cpp Sun Dec 05 15:51:31 2010 +0300
+++ b/jdk/src/share/native/sun/font/layout/ArabicShaping.cpp Mon Dec 06 16:10:01 2010 -0800
@@ -104,6 +104,7 @@
#define markFeatureMask 0x00040000UL
#define mkmkFeatureMask 0x00020000UL
+#define NO_FEATURES 0
#define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask)
#define SHAPE_MASK 0xF0000000UL
@@ -198,7 +199,11 @@
LEUnicode c = chars[in];
ShapeType t = getShapeType(c);
+ if (t == ST_NOSHAPE_NONE) {
+ glyphStorage.setAuxData(out, NO_FEATURES, success);
+ } else {
glyphStorage.setAuxData(out, ISOL_FEATURES, success);
+ }
if ((t & MASK_TRANSPARENT) != 0) {
continue;