]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Cosmetics only: enabled Checkstyle MethodParamPad rule and fixed corresponding violations
authorVincent Hennebert <vhennebert@apache.org>
Tue, 7 May 2013 16:23:13 +0000 (16:23 +0000)
committerVincent Hennebert <vhennebert@apache.org>
Tue, 7 May 2013 16:23:13 +0000 (16:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1479969 13f79535-47bb-0310-9956-ffa450edef68

202 files changed:
checkstyle-5.5.xml
src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java
src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java
src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java
src/java/org/apache/fop/afp/AFPBorderPainter.java
src/java/org/apache/fop/afp/AFPRectanglePainter.java
src/java/org/apache/fop/afp/modca/GraphicsObject.java
src/java/org/apache/fop/area/Area.java
src/java/org/apache/fop/area/AreaTreeParser.java
src/java/org/apache/fop/area/BodyRegion.java
src/java/org/apache/fop/area/CTM.java
src/java/org/apache/fop/area/CachedRenderPagesModel.java
src/java/org/apache/fop/area/LineArea.java
src/java/org/apache/fop/area/MainReference.java
src/java/org/apache/fop/area/RenderPagesModel.java
src/java/org/apache/fop/area/inline/InlineArea.java
src/java/org/apache/fop/area/inline/InlineParent.java
src/java/org/apache/fop/area/inline/SpaceArea.java
src/java/org/apache/fop/area/inline/TextArea.java
src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java
src/java/org/apache/fop/area/inline/WordArea.java
src/java/org/apache/fop/cli/CommandLineOptions.java
src/java/org/apache/fop/complexscripts/bidi/BidiClass.java
src/java/org/apache/fop/complexscripts/bidi/BidiResolver.java
src/java/org/apache/fop/complexscripts/bidi/DelimitedTextRange.java
src/java/org/apache/fop/complexscripts/bidi/InlineRun.java
src/java/org/apache/fop/complexscripts/bidi/TextInterval.java
src/java/org/apache/fop/complexscripts/bidi/UnflattenProcessor.java
src/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java
src/java/org/apache/fop/complexscripts/fonts/GlyphClassMapping.java
src/java/org/apache/fop/complexscripts/fonts/GlyphClassTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageMapping.java
src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphDefinition.java
src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionSubtable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphMappingTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphPositioning.java
src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningState.java
src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningSubtable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java
src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitution.java
src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionState.java
src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionSubtable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphSubtable.java
src/java/org/apache/fop/complexscripts/fonts/GlyphTable.java
src/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java
src/java/org/apache/fop/complexscripts/fonts/Positionable.java
src/java/org/apache/fop/complexscripts/fonts/Substitutable.java
src/java/org/apache/fop/complexscripts/scripts/ArabicScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/DefaultScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/DevanagariScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/GujaratiScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/GurmukhiScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/IndicScriptProcessor.java
src/java/org/apache/fop/complexscripts/scripts/ScriptProcessor.java
src/java/org/apache/fop/complexscripts/util/CharMirror.java
src/java/org/apache/fop/complexscripts/util/CharScript.java
src/java/org/apache/fop/complexscripts/util/GlyphContextTester.java
src/java/org/apache/fop/complexscripts/util/GlyphSequence.java
src/java/org/apache/fop/complexscripts/util/GlyphTester.java
src/java/org/apache/fop/complexscripts/util/NumberConverter.java
src/java/org/apache/fop/complexscripts/util/ScriptContextTester.java
src/java/org/apache/fop/complexscripts/util/UTF32.java
src/java/org/apache/fop/events/EventFormatter.java
src/java/org/apache/fop/fo/FONode.java
src/java/org/apache/fop/fo/FOPropertyMapping.java
src/java/org/apache/fop/fo/FOText.java
src/java/org/apache/fop/fo/FObj.java
src/java/org/apache/fop/fo/expr/FromNearestSpecifiedValueFunction.java
src/java/org/apache/fop/fo/expr/FromParentFunction.java
src/java/org/apache/fop/fo/expr/FromTableColumnFunction.java
src/java/org/apache/fop/fo/expr/FunctionBase.java
src/java/org/apache/fop/fo/expr/InheritedPropFunction.java
src/java/org/apache/fop/fo/expr/PropertyParser.java
src/java/org/apache/fop/fo/expr/PropertyTokenizer.java
src/java/org/apache/fop/fo/extensions/svg/SVGElement.java
src/java/org/apache/fop/fo/flow/AbstractGraphics.java
src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java
src/java/org/apache/fop/fo/flow/BidiOverride.java
src/java/org/apache/fop/fo/flow/BlockContainer.java
src/java/org/apache/fop/fo/flow/Character.java
src/java/org/apache/fop/fo/flow/InlineContainer.java
src/java/org/apache/fop/fo/flow/InlineLevel.java
src/java/org/apache/fop/fo/flow/Leader.java
src/java/org/apache/fop/fo/flow/ListItem.java
src/java/org/apache/fop/fo/flow/PageNumber.java
src/java/org/apache/fop/fo/flow/RetrieveTableMarker.java
src/java/org/apache/fop/fo/flow/Wrapper.java
src/java/org/apache/fop/fo/flow/table/Table.java
src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java
src/java/org/apache/fop/fo/pagination/PageSequence.java
src/java/org/apache/fop/fo/pagination/RegionAfter.java
src/java/org/apache/fop/fo/pagination/RegionBA.java
src/java/org/apache/fop/fo/pagination/RegionBefore.java
src/java/org/apache/fop/fo/pagination/RegionBody.java
src/java/org/apache/fop/fo/pagination/RegionEnd.java
src/java/org/apache/fop/fo/pagination/RegionSE.java
src/java/org/apache/fop/fo/pagination/RegionStart.java
src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java
src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java
src/java/org/apache/fop/fo/properties/TextDecorationMaker.java
src/java/org/apache/fop/fonts/CMapSegment.java
src/java/org/apache/fop/fonts/Font.java
src/java/org/apache/fop/fonts/FontInfo.java
src/java/org/apache/fop/fonts/LazyFont.java
src/java/org/apache/fop/fonts/MultiByteFont.java
src/java/org/apache/fop/fonts/truetype/TTFFile.java
src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java
src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java
src/java/org/apache/fop/hyphenation/SerializeHyphPattern.java
src/java/org/apache/fop/layoutmgr/AbstractBreaker.java
src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
src/java/org/apache/fop/layoutmgr/KnuthSequence.java
src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java
src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java
src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/KnuthInlineBox.java
src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java
src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java
src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java
src/java/org/apache/fop/pdf/DestinationComparator.java
src/java/org/apache/fop/pdf/PDFTextUtil.java
src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java
src/java/org/apache/fop/render/AbstractRenderer.java
src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java
src/java/org/apache/fop/render/afp/AFPInfo.java
src/java/org/apache/fop/render/afp/AFPPainter.java
src/java/org/apache/fop/render/afp/AFPSVGHandler.java
src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java
src/java/org/apache/fop/render/intermediate/AffineTransformArrayParser.java
src/java/org/apache/fop/render/intermediate/IFGraphicContext.java
src/java/org/apache/fop/render/intermediate/IFPainter.java
src/java/org/apache/fop/render/intermediate/IFParser.java
src/java/org/apache/fop/render/intermediate/IFRenderer.java
src/java/org/apache/fop/render/intermediate/IFUtil.java
src/java/org/apache/fop/render/java2d/Java2DPainter.java
src/java/org/apache/fop/render/pcl/PCLPainter.java
src/java/org/apache/fop/render/pdf/PDFPainter.java
src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java
src/java/org/apache/fop/render/ps/PSFontUtils.java
src/java/org/apache/fop/render/rtf/RTFHandler.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfBookmarkContainer.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfExternalGraphicContainer.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfHyperLinkContainer.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfOptions.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IrtfTemplateContainer.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfAttributes.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmark.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmarkContainerImpl.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfContainer.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExtraRowSet.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHyperLink.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraphBreak.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfSection.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTable.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableCell.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java
src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java
src/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java
src/java/org/apache/fop/render/xml/XMLRenderer.java
src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java
src/java/org/apache/fop/svg/PDFGraphics2D.java
src/java/org/apache/fop/svg/PDFTranscoder.java
src/java/org/apache/fop/traits/WritingMode.java
src/java/org/apache/fop/traits/WritingModeTraits.java
src/java/org/apache/fop/traits/WritingModeTraitsSetter.java
src/java/org/apache/fop/util/CharUtilities.java
src/java/org/apache/fop/util/XMLUtil.java
src/sandbox/org/apache/fop/render/mif/MIFHandler.java
test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java
test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java
test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java
test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java
test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java
test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java
test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java
test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java
test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicTestCase.java
test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java
test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/BasicLink.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/ExternalGraphic.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/NestedTable.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/ParagraphAlignment.java
test/java/org/apache/fop/render/rtf/rtflib/testdocs/SimpleTable.java
test/java/org/apache/fop/visual/BitmapComparator.java

index 20ca9623860c219a320b0f4ec4a12132f46a5e31..5c79c0e884cdf7e56b6e4276d1554e245513896f 100644 (file)
     <!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... -->
 
     <!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... -->
-    <!-- <module name="MethodParamPad"/> produces 4316 new errors -->
+    <module name="MethodParamPad"/>
     <!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... -->
 
     <!-- ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... -->
index ad8f6edc209757268cc46a730c29744c2452f425..42e250574d071555c3434ad0842068a65b482b08 100644 (file)
@@ -93,11 +93,11 @@ public final class GenerateBidiClass {
         out.println("}");
         out.println();
         dumpData(out);
-        out.println ("/**");
-        out.println (" * Lookup bidi class for character expressed as unicode scalar value.");
-        out.println (" * @param ch a unicode scalar value");
-        out.println (" * @return bidi class");
-        out.println (" */");
+        out.println("/**");
+        out.println(" * Lookup bidi class for character expressed as unicode scalar value.");
+        out.println(" * @param ch a unicode scalar value");
+        out.println(" * @return bidi class");
+        out.println(" */");
         out.println("public static int getBidiClass ( int ch ) {");
         out.println("  if ( ch <= 0x00FF ) {");
         out.println("    return bcL1 [ ch - 0x0000 ];");
@@ -147,29 +147,29 @@ public final class GenerateBidiClass {
             } else if (line.length() == 0) {
                 continue;
             } else {
-                if (line.indexOf ("#") != -1) {
-                    line = (line.split ("#")) [ 0 ];
+                if (line.indexOf("#") != -1) {
+                    line = (line.split("#")) [ 0 ];
                 }
-                String[] fa = line.split (";");
+                String[] fa = line.split(";");
                 if (fa.length == 2) {
-                    int[] interval = parseInterval (fa[0].trim());
-                    byte bidiClass = (byte) parseBidiClass (fa[1].trim());
+                    int[] interval = parseInterval(fa[0].trim());
+                    byte bidiClass = (byte) parseBidiClass(fa[1].trim());
                     if (interval[1] == interval[0]) { // singleton
                         int c = interval[0];
                         if (c <= 0x00FF) {
                             if (bcL1 [ c - 0x0000 ] == 0) {
                                 bcL1 [ c - 0x0000 ] = bidiClass;
                             } else {
-                                throw new Exception ("duplicate singleton entry: " + c);
+                                throw new Exception("duplicate singleton entry: " + c);
                             }
                         } else if ((c >= 0x0590) && (c <= 0x06FF)) {
                             if (bcR1 [ c - 0x0590 ] == 0) {
                                 bcR1 [ c - 0x0590 ] = bidiClass;
                             } else {
-                                throw new Exception ("duplicate singleton entry: " + c);
+                                throw new Exception("duplicate singleton entry: " + c);
                             }
                         } else {
-                            addInterval (intervals, c, c, bidiClass);
+                            addInterval(intervals, c, c, bidiClass);
                         }
                     } else {                            // non-singleton
                         int s = interval[0];
@@ -180,10 +180,10 @@ public final class GenerateBidiClass {
                                     if (bcL1 [ i - 0x0000 ] == 0) {
                                         bcL1 [ i - 0x0000 ] = bidiClass;
                                     } else {
-                                        throw new Exception ("duplicate singleton entry: " + i);
+                                        throw new Exception("duplicate singleton entry: " + i);
                                     }
                                 } else {
-                                    addInterval (intervals, i, e, bidiClass);
+                                    addInterval(intervals, i, e, bidiClass);
                                     break;
                                 }
                             }
@@ -193,19 +193,19 @@ public final class GenerateBidiClass {
                                     if (bcR1 [ i - 0x0590 ] == 0) {
                                         bcR1 [ i - 0x0590 ] = bidiClass;
                                     } else {
-                                        throw new Exception ("duplicate singleton entry: " + i);
+                                        throw new Exception("duplicate singleton entry: " + i);
                                     }
                                 } else {
-                                    addInterval (intervals, i, e, bidiClass);
+                                    addInterval(intervals, i, e, bidiClass);
                                     break;
                                 }
                             }
                         } else {
-                            addInterval (intervals, s, e, bidiClass);
+                            addInterval(intervals, s, e, bidiClass);
                         }
                     }
                 } else {
-                    throw new Exception ("bad syntax, line(" + lineNumber + "): " + line);
+                    throw new Exception("bad syntax, line(" + lineNumber + "): " + line);
                 }
             }
         }
@@ -225,90 +225,90 @@ public final class GenerateBidiClass {
         test();
     }
 
-    private static int[] parseInterval (String interval) throws Exception {
+    private static int[] parseInterval(String interval) throws Exception {
         int s;
         int e;
         String[] fa = interval.split("\\.\\.");
         if (fa.length == 1) {
-            s = Integer.parseInt (fa[0], 16);
+            s = Integer.parseInt(fa[0], 16);
             e = s;
         } else if (fa.length == 2) {
-            s = Integer.parseInt (fa[0], 16);
-            e = Integer.parseInt (fa[1], 16);
+            s = Integer.parseInt(fa[0], 16);
+            e = Integer.parseInt(fa[1], 16);
         } else {
-            throw new Exception ("bad interval syntax: " + interval);
+            throw new Exception("bad interval syntax: " + interval);
         }
         if (e < s) {
-            throw new Exception ("bad interval, start must be less than or equal to end: " + interval);
+            throw new Exception("bad interval, start must be less than or equal to end: " + interval);
         }
         return new int[] {s, e};
     }
 
-    private static int parseBidiClass (String bidiClass) {
+    private static int parseBidiClass(String bidiClass) {
         int bc = 0;
-        if ("L".equals (bidiClass)) {
+        if ("L".equals(bidiClass)) {
             bc = BidiConstants.L;
-        } else if ("LRE".equals (bidiClass)) {
+        } else if ("LRE".equals(bidiClass)) {
             bc = BidiConstants.LRE;
-        } else if ("LRO".equals (bidiClass)) {
+        } else if ("LRO".equals(bidiClass)) {
             bc = BidiConstants.LRO;
-        } else if ("R".equals (bidiClass)) {
+        } else if ("R".equals(bidiClass)) {
             bc = BidiConstants.R;
-        } else if ("AL".equals (bidiClass)) {
+        } else if ("AL".equals(bidiClass)) {
             bc = BidiConstants.AL;
-        } else if ("RLE".equals (bidiClass)) {
+        } else if ("RLE".equals(bidiClass)) {
             bc = BidiConstants.RLE;
-        } else if ("RLO".equals (bidiClass)) {
+        } else if ("RLO".equals(bidiClass)) {
             bc = BidiConstants.RLO;
-        } else if ("PDF".equals (bidiClass)) {
+        } else if ("PDF".equals(bidiClass)) {
             bc = BidiConstants.PDF;
-        } else if ("EN".equals (bidiClass)) {
+        } else if ("EN".equals(bidiClass)) {
             bc = BidiConstants.EN;
-        } else if ("ES".equals (bidiClass)) {
+        } else if ("ES".equals(bidiClass)) {
             bc = BidiConstants.ES;
-        } else if ("ET".equals (bidiClass)) {
+        } else if ("ET".equals(bidiClass)) {
             bc = BidiConstants.ET;
-        } else if ("AN".equals (bidiClass)) {
+        } else if ("AN".equals(bidiClass)) {
             bc = BidiConstants.AN;
-        } else if ("CS".equals (bidiClass)) {
+        } else if ("CS".equals(bidiClass)) {
             bc = BidiConstants.CS;
-        } else if ("NSM".equals (bidiClass)) {
+        } else if ("NSM".equals(bidiClass)) {
             bc = BidiConstants.NSM;
-        } else if ("BN".equals (bidiClass)) {
+        } else if ("BN".equals(bidiClass)) {
             bc = BidiConstants.BN;
-        } else if ("B".equals (bidiClass)) {
+        } else if ("B".equals(bidiClass)) {
             bc = BidiConstants.B;
-        } else if ("S".equals (bidiClass)) {
+        } else if ("S".equals(bidiClass)) {
             bc = BidiConstants.S;
-        } else if ("WS".equals (bidiClass)) {
+        } else if ("WS".equals(bidiClass)) {
             bc = BidiConstants.WS;
-        } else if ("ON".equals (bidiClass)) {
+        } else if ("ON".equals(bidiClass)) {
             bc = BidiConstants.ON;
         } else {
-            throw new IllegalArgumentException ("unknown bidi class: " + bidiClass);
+            throw new IllegalArgumentException("unknown bidi class: " + bidiClass);
         }
         return bc;
     }
 
-    private static void addInterval (SortedSet intervals, int start, int end, int bidiClass) {
-        intervals.add (new Interval (start, end, bidiClass));
+    private static void addInterval(SortedSet intervals, int start, int end, int bidiClass) {
+        intervals.add(new Interval(start, end, bidiClass));
     }
 
-    private static void dumpData (PrintWriter out) {
+    private static void dumpData(PrintWriter out) {
         boolean first;
         StringBuffer sb = new StringBuffer();
 
         // bcL1
         first = true;
         sb.setLength(0);
-        out.println ("private static byte[] bcL1 = {");
+        out.println("private static byte[] bcL1 = {");
         for (int i = 0; i < bcL1.length; i++) {
             if (! first) {
-                sb.append (",");
+                sb.append(",");
             } else {
                 first = false;
             }
-            sb.append (bcL1[i]);
+            sb.append(bcL1[i]);
             if (sb.length() > 120) {
                 sb.append(',');
                 out.println(sb);
@@ -319,20 +319,20 @@ public final class GenerateBidiClass {
         if (sb.length() > 0) {
             out.println(sb);
         }
-        out.println ("};");
+        out.println("};");
         out.println();
 
         // bcR1
         first = true;
         sb.setLength(0);
-        out.println ("private static byte[] bcR1 = {");
+        out.println("private static byte[] bcR1 = {");
         for (int i = 0; i < bcR1.length; i++) {
             if (! first) {
-                sb.append (",");
+                sb.append(",");
             } else {
                 first = false;
             }
-            sb.append (bcR1[i]);
+            sb.append(bcR1[i]);
             if (sb.length() > 120) {
                 sb.append(',');
                 out.println(sb);
@@ -343,20 +343,20 @@ public final class GenerateBidiClass {
         if (sb.length() > 0) {
             out.println(sb);
         }
-        out.println ("};");
+        out.println("};");
         out.println();
 
         // bcS1
         first = true;
         sb.setLength(0);
-        out.println ("private static int[] bcS1 = {");
+        out.println("private static int[] bcS1 = {");
         for (int i = 0; i < bcS1.length; i++) {
             if (! first) {
-                sb.append (",");
+                sb.append(",");
             } else {
                 first = false;
             }
-            sb.append (bcS1[i]);
+            sb.append(bcS1[i]);
             if (sb.length() > 120) {
                 sb.append(',');
                 out.println(sb);
@@ -367,20 +367,20 @@ public final class GenerateBidiClass {
         if (sb.length() > 0) {
             out.println(sb);
         }
-        out.println ("};");
+        out.println("};");
         out.println();
 
         // bcE1
         first = true;
         sb.setLength(0);
-        out.println ("private static int[] bcE1 = {");
+        out.println("private static int[] bcE1 = {");
         for (int i = 0; i < bcE1.length; i++) {
             if (! first) {
-                sb.append (",");
+                sb.append(",");
             } else {
                 first = false;
             }
-            sb.append (bcE1[i]);
+            sb.append(bcE1[i]);
             if (sb.length() > 120) {
                 sb.append(',');
                 out.println(sb);
@@ -391,20 +391,20 @@ public final class GenerateBidiClass {
         if (sb.length() > 0) {
             out.println(sb);
         }
-        out.println ("};");
+        out.println("};");
         out.println();
 
         // bcC1
         first = true;
         sb.setLength(0);
-        out.println ("private static byte[] bcC1 = {");
+        out.println("private static byte[] bcC1 = {");
         for (int i = 0; i < bcC1.length; i++) {
             if (! first) {
-                sb.append (",");
+                sb.append(",");
             } else {
                 first = false;
             }
-            sb.append (bcC1[i]);
+            sb.append(bcC1[i]);
             if (sb.length() > 120) {
                 sb.append(',');
                 out.println(sb);
@@ -415,22 +415,22 @@ public final class GenerateBidiClass {
         if (sb.length() > 0) {
             out.println(sb);
         }
-        out.println ("};");
+        out.println("};");
         out.println();
     }
 
-    private static int getBidiClass (int ch) {
+    private static int getBidiClass(int ch) {
         if (ch <= 0x00FF) {
             return bcL1 [ ch - 0x0000 ];
         } else if ((ch >= 0x0590) && (ch <= 0x06FF)) {
             return bcR1 [ ch - 0x0590 ];
         } else {
-            return getBidiClass (ch, bcS1, bcE1, bcC1);
+            return getBidiClass(ch, bcS1, bcE1, bcC1);
         }
     }
 
-    private static int getBidiClass (int ch, int[] sa, int[] ea, byte[] ca) {
-        int k = Arrays.binarySearch (sa, ch);
+    private static int getBidiClass(int ch, int[] sa, int[] ea, byte[] ca) {
+        int k = Arrays.binarySearch(sa, ch);
         if (k >= 0) {
             return ca [ k ];
         } else {
@@ -498,9 +498,9 @@ public final class GenerateBidiClass {
         for (int i = 0, n = testData.length / 2; i < n; i++) {
             int ch = testData [ i * 2 + 0 ];
             int tc = testData [ i * 2 + 1 ];
-            int bc = getBidiClass (ch);
+            int bc = getBidiClass(ch);
             if (bc != tc) {
-                throw new Exception ("test mapping failed for character (0x" + Integer.toHexString(ch) + "): expected " + tc + ", got " + bc);
+                throw new Exception("test mapping failed for character (0x" + Integer.toHexString(ch) + "): expected " + tc + ", got " + bc);
             }
         }
     }
@@ -548,12 +548,12 @@ public final class GenerateBidiClass {
         int start;                                              // CSOK: VisibilityModifier
         int end;                                                // CSOK: VisibilityModifier
         int bidiClass;                                          // CSOK: VisibilityModifier
-        Interval (int start, int end, int bidiClass) {
+        Interval(int start, int end, int bidiClass) {
             this.start = start;
             this.end = end;
             this.bidiClass = bidiClass;
         }
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             Interval iv = (Interval) o;
             if (start < iv.start) {
                 return -1;
index 7ccf58196a427aabdc6bbf19f12fcb0a53180772..0c02e305e0f741e217f332280fc2e8392e2dacb3 100644 (file)
@@ -125,7 +125,7 @@ public final class GenerateBidiTestData {
         out.println("    private BidiTestData() {");
         out.println("    }");
         out.println();
-        dumpData (out, outFileName);
+        dumpData(out, outFileName);
         out.println("    public static final int NUM_TEST_SEQUENCES = " + numTestSpecs + ";");
         out.println();
         out.println("    public static int[] readTestData ( String prefix, int index ) {");
@@ -179,91 +179,91 @@ public final class GenerateBidiTestData {
             } else if (line.startsWith("#")) {
                 continue;
             } else {
-                parseTypeProperties (line, sm, im);
+                parseTypeProperties(line, sm, im);
             }
         }
         // extract type data list
-        List tdl = processTypeData (sm, im, new ArrayList());
+        List tdl = processTypeData(sm, im, new ArrayList());
         // dump instrumentation
         if (verbose) {
             System.out.println();
             System.out.println("Read type ranges : " + numTypeRanges);
             System.out.println("Read lines       : " + lineNumber);
         }
-        td = (int[][]) tdl.toArray (new int [ tdl.size() ] []);
+        td = (int[][]) tdl.toArray(new int [ tdl.size() ] []);
     }
 
-    private static void parseTypeProperties (String line, Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im) {
+    private static void parseTypeProperties(String line, Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im) {
         String[] sa = line.split(";");
         if (sa.length >= 5) {
-            int uc = Integer.parseInt (sa[0], 16);
-            int bc = parseBidiClassAny (sa[4]);
+            int uc = Integer.parseInt(sa[0], 16);
+            int bc = parseBidiClassAny(sa[4]);
             if (bc >= 0) {
                 String ucName = sa[1];
-                if (isBlockStart (ucName)) {
-                    String ucBlock = getBlockName (ucName);
-                    if (! im.containsKey (ucBlock)) {
-                        im.put (ucBlock, new int[] { uc, -1, bc });
+                if (isBlockStart(ucName)) {
+                    String ucBlock = getBlockName(ucName);
+                    if (! im.containsKey(ucBlock)) {
+                        im.put(ucBlock, new int[] { uc, -1, bc });
                     } else {
-                        throw new IllegalArgumentException ("duplicate start of block '" + ucBlock + "' at entry: " + line);
+                        throw new IllegalArgumentException("duplicate start of block '" + ucBlock + "' at entry: " + line);
                     }
-                } else if (isBlockEnd (ucName)) {
-                    String ucBlock = getBlockName (ucName);
-                    if (im.containsKey (ucBlock)) {
-                        int[] ba = (int[]) im.get (ucBlock);
+                } else if (isBlockEnd(ucName)) {
+                    String ucBlock = getBlockName(ucName);
+                    if (im.containsKey(ucBlock)) {
+                        int[] ba = (int[]) im.get(ucBlock);
                         assert ba.length == 3;
                         if (ba[1] < 0) {
                             ba[1] = uc;
                         } else {
-                            throw new IllegalArgumentException ("duplicate end of block '" + ucBlock + "' at entry: " + line);
+                            throw new IllegalArgumentException("duplicate end of block '" + ucBlock + "' at entry: " + line);
                         }
                     } else {
-                        throw new IllegalArgumentException ("missing start of block '" + ucBlock + "' at entry: " + line);
+                        throw new IllegalArgumentException("missing start of block '" + ucBlock + "' at entry: " + line);
                     }
                 } else {
-                    Integer k = Integer.valueOf (bc);
+                    Integer k = Integer.valueOf(bc);
                     List sl;
-                    if (! sm.containsKey (k)) {
+                    if (! sm.containsKey(k)) {
                         sl = new ArrayList();
-                        sm.put (k, sl);
+                        sm.put(k, sl);
                     } else {
-                        sl = (List) sm.get (k);
+                        sl = (List) sm.get(k);
                     }
                     assert sl != null;
-                    sl.add (Integer.valueOf (uc));
+                    sl.add(Integer.valueOf(uc));
                 }
             } else {
-                throw new IllegalArgumentException ("invalid bidi class '" + sa[4] + "' at entry: " + line);
+                throw new IllegalArgumentException("invalid bidi class '" + sa[4] + "' at entry: " + line);
             }
         } else {
-            throw new IllegalArgumentException ("invalid unicode character database entry: " + line);
+            throw new IllegalArgumentException("invalid unicode character database entry: " + line);
         }
     }
 
-    private static boolean isBlockStart (String s) {
+    private static boolean isBlockStart(String s) {
         return s.startsWith("<") && s.endsWith("First>");
     }
 
-    private static boolean isBlockEnd (String s) {
+    private static boolean isBlockEnd(String s) {
         return s.startsWith("<") && s.endsWith("Last>");
     }
 
-    private static String getBlockName (String s) {
-        String[] sa = s.substring (1, s.length() - 1).split(",");
+    private static String getBlockName(String s) {
+        String[] sa = s.substring(1, s.length() - 1).split(",");
         assert (sa != null) && (sa.length > 0);
         return sa[0].trim();
     }
 
-    private static List processTypeData (Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im, List tdl) {
+    private static List processTypeData(Map/*<Integer,List>*/ sm, Map/*<String,int[3]>*/ im, List tdl) {
         for (int i = BidiConstants.FIRST, k = BidiConstants.LAST; i <= k; i++) {
             Map/*<Integer,Integer>*/ rm = new TreeMap/*<Integer,Integer>*/();
             // populate intervals from singleton map
-            List sl = (List) sm.get (Integer.valueOf (i));
+            List sl = (List) sm.get(Integer.valueOf(i));
             if (sl != null) {
                 for (Iterator it = sl.iterator(); it.hasNext(); ) {
                     Integer s = (Integer) it.next();
                     int uc = s.intValue();
-                    rm.put (Integer.valueOf (uc), Integer.valueOf (uc + 1));
+                    rm.put(Integer.valueOf(uc), Integer.valueOf(uc + 1));
                 }
             }
             // populate intervals from (block) interval map
@@ -272,16 +272,16 @@ public final class GenerateBidiTestData {
                     int[] ba = (int[]) it.next();
                     assert (ba != null) && (ba.length > 2);
                     if (ba[2] == i) {
-                        rm.put (Integer.valueOf (ba[0]), Integer.valueOf (ba[1] + 1));
+                        rm.put(Integer.valueOf(ba[0]), Integer.valueOf(ba[1] + 1));
                     }
                 }
             }
-            tdl.add (createTypeData (i, extractRanges (rm)));
+            tdl.add(createTypeData(i, extractRanges(rm)));
         }
         return tdl;
     }
 
-    private static List extractRanges (Map/*<Integer,Integer>*/ rm) {
+    private static List extractRanges(Map/*<Integer,Integer>*/ rm) {
         List ranges = new ArrayList();
         int sLast = 0;
         int eLast = 0;
@@ -291,7 +291,7 @@ public final class GenerateBidiTestData {
             int e = ((Integer) me.getValue()).intValue();
             if (s > eLast) {
                 if (eLast > sLast) {
-                    ranges.add (new int[] { sLast, eLast });
+                    ranges.add(new int[] { sLast, eLast });
                     if (verbose) {
                         if ((++numTypeRanges % 10) == 0) {
                             System.out.print("#");
@@ -305,7 +305,7 @@ public final class GenerateBidiTestData {
             }
         }
         if (eLast > sLast) {
-            ranges.add (new int[] { sLast, eLast });
+            ranges.add(new int[] { sLast, eLast });
             if (verbose) {
                 if ((++numTypeRanges % 10) == 0) {
                     System.out.print("#");
@@ -337,19 +337,19 @@ public final class GenerateBidiTestData {
                 continue;
             } else if (line.startsWith(PFX_TYPE) && ! ignoreDeprecatedTypeData) {
                 List lines = new ArrayList();
-                if ((n = readType (line, b, lines)) < 0) {
+                if ((n = readType(line, b, lines)) < 0) {
                     break;
                 } else {
                     lineNumber += n;
-                    tdl.add (parseType (lines));
+                    tdl.add(parseType(lines));
                 }
             } else if (line.startsWith(PFX_LEVELS)) {
                 List lines = new ArrayList();
-                if ((n = readLevels (line, b, lines)) < 0) {
+                if ((n = readLevels(line, b, lines)) < 0) {
                     break;
                 } else {
                     lineNumber += n;
-                    ldl.add (parseLevels (lines));
+                    ldl.add(parseLevels(lines));
                 }
             }
         }
@@ -364,27 +364,27 @@ public final class GenerateBidiTestData {
             System.out.println("Read lines       : " + lineNumber);
         }
         if (! ignoreDeprecatedTypeData) {
-            td = (int[][]) tdl.toArray (new int [ tdl.size() ] []);
+            td = (int[][]) tdl.toArray(new int [ tdl.size() ] []);
         }
-        ld = (int[][]) ldl.toArray (new int [ ldl.size() ] []);
+        ld = (int[][]) ldl.toArray(new int [ ldl.size() ] []);
     }
 
-    private static int readType (String line, BufferedReader b, List lines) throws IOException {
-        lines.add (line);
+    private static int readType(String line, BufferedReader b, List lines) throws IOException {
+        lines.add(line);
         return 0;
     }
 
-    private static int readLevels (String line, BufferedReader b, List lines) throws IOException {
+    private static int readLevels(String line, BufferedReader b, List lines) throws IOException {
         boolean done = false;
         int n = 0;
-        lines.add (line);
+        lines.add(line);
         while (! done) {
-            switch (testPrefix (b, PFX_LEVELS)) {
+            switch (testPrefix(b, PFX_LEVELS)) {
             case 0:     // within current levels
                 if ((line = b.readLine()) != null) {
                     n++;
                     if ((line.length() > 0) && ! line.startsWith("#")) {
-                        lines.add (line);
+                        lines.add(line);
                     }
                 } else {
                     done = true;
@@ -400,16 +400,16 @@ public final class GenerateBidiTestData {
         return n;
     }
 
-    private static int testPrefix (BufferedReader b, String pfx) throws IOException {
+    private static int testPrefix(BufferedReader b, String pfx) throws IOException {
         int rv = 0;
         int pfxLen = pfx.length();
-        b.mark (pfxLen);
+        b.mark(pfxLen);
         for (int i = 0, n = pfxLen; i < n; i++) {
             int c = b.read();
             if (c < 0) {
                 rv = -1;
                 break;
-            } else if (c != pfx.charAt (i)) {
+            } else if (c != pfx.charAt(i)) {
                 rv = 0;
                 break;
             } else {
@@ -420,25 +420,25 @@ public final class GenerateBidiTestData {
         return rv;
     }
 
-    private static int[] parseType (List lines) {
+    private static int[] parseType(List lines) {
         if ((lines != null) && (lines.size() >= 1)) {
             String line = (String) lines.get(0);
             if (line.startsWith(PFX_TYPE)) {
                 // @Type: BIDI_CLASS ':' LWSP CHARACTER_CLASS
-                String[] sa = line.split (":");
+                String[] sa = line.split(":");
                 if (sa.length == 3) {
                     String bcs = sa[1].trim();
                     String crs = sa[2].trim();
-                    int bc = parseBidiClass (bcs);
-                    List rl = parseCharacterRanges (crs);
-                    return createTypeData (bc, rl);
+                    int bc = parseBidiClass(bcs);
+                    List rl = parseCharacterRanges(crs);
+                    return createTypeData(bc, rl);
                 }
             }
         }
         return null;
     }
 
-    private static int[] createTypeData (int bc, List ranges) {
+    private static int[] createTypeData(int bc, List ranges) {
         int[] data = new int [ 1 + (2 * ranges.size()) ];
         int k = 0;
         data [ k++ ] = bc;
@@ -450,102 +450,102 @@ public final class GenerateBidiTestData {
         return data;
     }
 
-    private static int parseBidiClass (String bidiClass) {
+    private static int parseBidiClass(String bidiClass) {
         int bc = 0;
-        if ("L".equals (bidiClass)) {
+        if ("L".equals(bidiClass)) {
             bc = BidiConstants.L;
-        } else if ("LRE".equals (bidiClass)) {
+        } else if ("LRE".equals(bidiClass)) {
             bc = BidiConstants.LRE;
-        } else if ("LRO".equals (bidiClass)) {
+        } else if ("LRO".equals(bidiClass)) {
             bc = BidiConstants.LRO;
-        } else if ("R".equals (bidiClass)) {
+        } else if ("R".equals(bidiClass)) {
             bc = BidiConstants.R;
-        } else if ("AL".equals (bidiClass)) {
+        } else if ("AL".equals(bidiClass)) {
             bc = BidiConstants.AL;
-        } else if ("RLE".equals (bidiClass)) {
+        } else if ("RLE".equals(bidiClass)) {
             bc = BidiConstants.RLE;
-        } else if ("RLO".equals (bidiClass)) {
+        } else if ("RLO".equals(bidiClass)) {
             bc = BidiConstants.RLO;
-        } else if ("PDF".equals (bidiClass)) {
+        } else if ("PDF".equals(bidiClass)) {
             bc = BidiConstants.PDF;
-        } else if ("EN".equals (bidiClass)) {
+        } else if ("EN".equals(bidiClass)) {
             bc = BidiConstants.EN;
-        } else if ("ES".equals (bidiClass)) {
+        } else if ("ES".equals(bidiClass)) {
             bc = BidiConstants.ES;
-        } else if ("ET".equals (bidiClass)) {
+        } else if ("ET".equals(bidiClass)) {
             bc = BidiConstants.ET;
-        } else if ("AN".equals (bidiClass)) {
+        } else if ("AN".equals(bidiClass)) {
             bc = BidiConstants.AN;
-        } else if ("CS".equals (bidiClass)) {
+        } else if ("CS".equals(bidiClass)) {
             bc = BidiConstants.CS;
-        } else if ("NSM".equals (bidiClass)) {
+        } else if ("NSM".equals(bidiClass)) {
             bc = BidiConstants.NSM;
-        } else if ("BN".equals (bidiClass)) {
+        } else if ("BN".equals(bidiClass)) {
             bc = BidiConstants.BN;
-        } else if ("B".equals (bidiClass)) {
+        } else if ("B".equals(bidiClass)) {
             bc = BidiConstants.B;
-        } else if ("S".equals (bidiClass)) {
+        } else if ("S".equals(bidiClass)) {
             bc = BidiConstants.S;
-        } else if ("WS".equals (bidiClass)) {
+        } else if ("WS".equals(bidiClass)) {
             bc = BidiConstants.WS;
-        } else if ("ON".equals (bidiClass)) {
+        } else if ("ON".equals(bidiClass)) {
             bc = BidiConstants.ON;
         } else {
-            throw new IllegalArgumentException ("unknown bidi class: " + bidiClass);
+            throw new IllegalArgumentException("unknown bidi class: " + bidiClass);
         }
         return bc;
     }
 
-    private static int parseBidiClassAny (String bidiClass) {
+    private static int parseBidiClassAny(String bidiClass) {
         try {
-            return parseBidiClass (bidiClass);
+            return parseBidiClass(bidiClass);
         } catch (IllegalArgumentException e) {
             return -1;
         }
     }
 
-    private static List parseCharacterRanges (String charRanges) {
+    private static List parseCharacterRanges(String charRanges) {
         List ranges = new ArrayList();
-        CharacterIterator ci = new StringCharacterIterator (charRanges);
+        CharacterIterator ci = new StringCharacterIterator(charRanges);
         // read initial list delimiter
-        skipSpace (ci);
-        if (! readStartOfList (ci)) {
-            badRangeSpec ("missing initial list delimiter", charRanges);
+        skipSpace(ci);
+        if (! readStartOfList(ci)) {
+            badRangeSpec("missing initial list delimiter", charRanges);
         }
         // read negation token if present
         boolean negated = false;
-        skipSpace (ci);
-        if (maybeReadNext (ci, '^')) {
+        skipSpace(ci);
+        if (maybeReadNext(ci, '^')) {
             negated = true;
         }
         // read item
         int[] r;
-        skipSpace (ci);
-        if ((r = maybeReadItem (ci)) != null) {
-            ranges.add (r);
+        skipSpace(ci);
+        if ((r = maybeReadItem(ci)) != null) {
+            ranges.add(r);
             if (verbose) {
                 if ((++numTypeRanges % 10) == 0) {
                     System.out.print("#");
                 }
             }
         } else {
-            badRangeSpec ("must contain at least one item", charRanges);
+            badRangeSpec("must contain at least one item", charRanges);
         }
         // read more items if present
         boolean more = true;
         while (more) {
             // read separator if present
             String s;
-            skipSpace (ci);
-            if ((s = maybeReadSeparator (ci)) != null) {
+            skipSpace(ci);
+            if ((s = maybeReadSeparator(ci)) != null) {
                 if ((s.length() != 0) && ! s.equals("||")) {
-                    badRangeSpec ("invalid item separator \"" + s + "\"", charRanges);
+                    badRangeSpec("invalid item separator \"" + s + "\"", charRanges);
                 }
             }
             // read item
-            skipSpace (ci);
-            if ((r = maybeReadItem (ci)) != null) {
-                ranges.add (r);
+            skipSpace(ci);
+            if ((r = maybeReadItem(ci)) != null) {
+                ranges.add(r);
                 if (verbose) {
                     if ((++numTypeRanges % 10) == 0) {
                         System.out.print("#");
@@ -556,31 +556,31 @@ public final class GenerateBidiTestData {
             }
         }
         // read terminating list delimiter
-        skipSpace (ci);
-        if (! readEndOfList (ci)) {
-            badRangeSpec ("missing terminating list delimiter", charRanges);
+        skipSpace(ci);
+        if (! readEndOfList(ci)) {
+            badRangeSpec("missing terminating list delimiter", charRanges);
         }
-        if (! atEnd (ci)) {
-            badRangeSpec ("extraneous content prior to end of line", ci);
+        if (! atEnd(ci)) {
+            badRangeSpec("extraneous content prior to end of line", ci);
         }
         if (negated) {
-            ranges = complementRanges (ranges);
+            ranges = complementRanges(ranges);
         }
-        return removeSurrogates (ranges);
+        return removeSurrogates(ranges);
     }
 
-    private static boolean atEnd (CharacterIterator ci) {
+    private static boolean atEnd(CharacterIterator ci) {
         return ci.getIndex() >= ci.getEndIndex();
     }
 
-    private static boolean readStartOfList (CharacterIterator ci) {
-        return maybeReadNext (ci, '[');
+    private static boolean readStartOfList(CharacterIterator ci) {
+        return maybeReadNext(ci, '[');
     }
 
-    private static void skipSpace (CharacterIterator ci) {
-        while (! atEnd (ci)) {
+    private static void skipSpace(CharacterIterator ci) {
+        while (! atEnd(ci)) {
             char c = ci.current();
-            if (! Character.isWhitespace (c)) {
+            if (! Character.isWhitespace(c)) {
                 break;
             } else {
                 ci.next();
@@ -588,8 +588,8 @@ public final class GenerateBidiTestData {
         }
     }
 
-    private static boolean maybeReadNext (CharacterIterator ci, char next) {
-        while (! atEnd (ci)) {
+    private static boolean maybeReadNext(CharacterIterator ci, char next) {
+        while (! atEnd(ci)) {
             char c = ci.current();
             if (c == next) {
                 ci.next();
@@ -601,20 +601,20 @@ public final class GenerateBidiTestData {
         return false;
     }
 
-    private static int[] maybeReadItem (CharacterIterator ci) {
+    private static int[] maybeReadItem(CharacterIterator ci) {
         // read first code point
         int p1 = -1;
-        skipSpace (ci);
-        if ((p1 = maybeReadCodePoint (ci)) < 0) {
+        skipSpace(ci);
+        if ((p1 = maybeReadCodePoint(ci)) < 0) {
             return null;
         }
         // read second code point if present
         int p2 = -1;
-        skipSpace (ci);
-        if (maybeReadNext (ci, '-')) {
-            skipSpace (ci);
-            if ((p2 = maybeReadCodePoint (ci)) < 0) {
-                badRangeSpec ("incomplete item range, requires second item", ci);
+        skipSpace(ci);
+        if (maybeReadNext(ci, '-')) {
+            skipSpace(ci);
+            if ((p2 = maybeReadCodePoint(ci)) < 0) {
+                badRangeSpec("incomplete item range, requires second item", ci);
             }
         }
         if (p2 < 0) {
@@ -622,31 +622,31 @@ public final class GenerateBidiTestData {
         } else if (p1 <= p2) {
             return new int[] { p1, p2 + 1 };    // convert to half open interval [ P1, P2+2 )
         } else {
-            badRangeSpec ("invalid item range, second item must be greater than or equal to first item", ci);
+            badRangeSpec("invalid item range, second item must be greater than or equal to first item", ci);
             return null;
         }
     }
 
-    private static int maybeReadCodePoint (CharacterIterator ci) {
-        if (maybeReadNext (ci, '\\')) {
-            if (maybeReadNext (ci, 'u')) {
-                String s = maybeReadHexDigits (ci, 4);
+    private static int maybeReadCodePoint(CharacterIterator ci) {
+        if (maybeReadNext(ci, '\\')) {
+            if (maybeReadNext(ci, 'u')) {
+                String s = maybeReadHexDigits(ci, 4);
                 if (s != null) {
-                    return Integer.parseInt (s, 16);
+                    return Integer.parseInt(s, 16);
                 } else {
-                    badRangeSpec ("incomplete escaped code point, requires 4 hex digits", ci);
+                    badRangeSpec("incomplete escaped code point, requires 4 hex digits", ci);
                 }
-            } else if (maybeReadNext (ci, 'U')) {
-                String s = maybeReadHexDigits (ci, 8);
+            } else if (maybeReadNext(ci, 'U')) {
+                String s = maybeReadHexDigits(ci, 8);
                 if (s != null) {
-                    return Integer.parseInt (s, 16);
+                    return Integer.parseInt(s, 16);
                 } else {
-                    badRangeSpec ("incomplete escaped code point, requires 8 hex digits", ci);
+                    badRangeSpec("incomplete escaped code point, requires 8 hex digits", ci);
                 }
             } else {
                 char c = ci.current();
                 if (c == CharacterIterator.DONE) {
-                    badRangeSpec ("incomplete escaped code point", ci);
+                    badRangeSpec("incomplete escaped code point", ci);
                 } else {
                     ci.next();
                     return (int) c;
@@ -664,14 +664,14 @@ public final class GenerateBidiTestData {
         return -1;
     }
 
-    private static String maybeReadHexDigits (CharacterIterator ci, int numDigits) {
+    private static String maybeReadHexDigits(CharacterIterator ci, int numDigits) {
         StringBuffer sb = new StringBuffer();
         while ((numDigits < 0) || (sb.length() < numDigits)) {
             char c = ci.current();
             if (c != CharacterIterator.DONE) {
-                if (isHexDigit (c)) {
+                if (isHexDigit(c)) {
                     ci.next();
-                    sb.append (c);
+                    sb.append(c);
                 } else {
                     break;
                 }
@@ -686,13 +686,13 @@ public final class GenerateBidiTestData {
         }
     }
 
-    private static boolean isHexDigit (char c) {
+    private static boolean isHexDigit(char c) {
         return ((c >= '0') && (c <= '9')) || ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
     }
 
-    private static String maybeReadSeparator (CharacterIterator ci) {
-        if (maybeReadNext (ci, '|')) {
-            if (maybeReadNext (ci, '|')) {
+    private static String maybeReadSeparator(CharacterIterator ci) {
+        if (maybeReadNext(ci, '|')) {
+            if (maybeReadNext(ci, '|')) {
                 return "||";
             } else {
                 return "|";
@@ -702,47 +702,47 @@ public final class GenerateBidiTestData {
         }
     }
 
-    private static boolean readEndOfList (CharacterIterator ci) {
-        return maybeReadNext (ci, ']');
+    private static boolean readEndOfList(CharacterIterator ci) {
+        return maybeReadNext(ci, ']');
     }
 
-    private static List complementRanges (List ranges) {
+    private static List complementRanges(List ranges) {
         Map/*<Integer,Integer>*/ rm = new TreeMap/*<Integer,Integer>*/();
         for (Iterator it = ranges.iterator(); it.hasNext(); ) {
             int[] r = (int[]) it.next();
-            rm.put (Integer.valueOf (r[0]), Integer.valueOf (r[1]));
+            rm.put(Integer.valueOf(r[0]), Integer.valueOf(r[1]));
         }
         // add complement ranges save last
         int s;
         int e;
         int cs = 0;
-        List compRanges = new ArrayList (rm.size() + 1);
+        List compRanges = new ArrayList(rm.size() + 1);
         for (Iterator it = rm.entrySet().iterator(); it.hasNext(); ) {
             Map.Entry/*<Integer,Integer>*/ me = (Map.Entry/*<Integer,Integer>*/) it.next();
             s = ((Integer) me.getKey()).intValue();
             e = ((Integer) me.getValue()).intValue();
             if (s > cs) {
-                compRanges.add (new int[] { cs, s });
+                compRanges.add(new int[] { cs, s });
             }
             cs = e;
         }
         // add trailing complement range
         if (cs < 0x110000) {
-            compRanges.add (new int[] { cs, 0x110000 });
+            compRanges.add(new int[] { cs, 0x110000 });
         }
         return compRanges;
     }
 
     private static final int[] SURROGATES = new int[] { 0xD800, 0xE000 };
 
-    private static List removeSurrogates (List ranges) {
-        List rsl = new ArrayList (ranges.size());
+    private static List removeSurrogates(List ranges) {
+        List rsl = new ArrayList(ranges.size());
         for (Iterator it = ranges.iterator(); it.hasNext(); ) {
             int[] r = (int[]) it.next();
-            if (intersectsRange (r, SURROGATES)) {
-                rsl.addAll (removeRange (r, SURROGATES));
+            if (intersectsRange(r, SURROGATES)) {
+                rsl.addAll(removeRange(r, SURROGATES));
             } else {
-                rsl.add (r);
+                rsl.add(r);
             }
         }
         return rsl;
@@ -751,7 +751,7 @@ public final class GenerateBidiTestData {
     /**
      * Determine if range r2 intersects with range r1.
      */
-    private static boolean intersectsRange (int[] r1, int[] r2) {
+    private static boolean intersectsRange(int[] r1, int[] r2) {
         if (r1[1] <= r2[0]) {                                 // r1 precedes r2 or abuts r2 on right
             return false;
         } else if (r1[0] >= r2[1]) {                          // r2 precedes r1 or abuts r1 on left
@@ -771,42 +771,42 @@ public final class GenerateBidiTestData {
      * Remove range r2 from range r1, leaving zero, one, or two
      * remaining ranges.
      */
-    private static List removeRange (int[] r1, int[] r2) {
+    private static List removeRange(int[] r1, int[] r2) {
         List rl = new ArrayList();
         if (r1[1] <= r2[0]) {                                 // r1 precedes r2 or abuts r2 on right
-            rl.add (r1);
+            rl.add(r1);
         } else if (r1[0] >= r2[1]) {                          // r2 precedes r1 or abuts r1 on left
-            rl.add (r1);
+            rl.add(r1);
         } else if ((r1[0] < r2[0]) && (r1[1] > r2[1])) {  // r1 encloses r2
-            rl.add (new int[] { r1[0], r2[0] });
-            rl.add (new int[] { r2[1], r1[1] });
+            rl.add(new int[] { r1[0], r2[0] });
+            rl.add(new int[] { r2[1], r1[1] });
         } else if (r1[0] < r2[0]) {                           // r1 precedes and overlaps r2
-            rl.add (new int[] { r1[0], r2[0] });
+            rl.add(new int[] { r1[0], r2[0] });
         } else if (r2[1] < r1[1]) {                           // r2 precedes and overlaps r1
-            rl.add (new int[] { r2[1], r1[1] });
+            rl.add(new int[] { r2[1], r1[1] });
         }
         return rl;
     }
 
-    private static void badRangeSpec (String reason, String charRanges) throws IllegalArgumentException {
+    private static void badRangeSpec(String reason, String charRanges) throws IllegalArgumentException {
         if (verbose) {
             System.out.println();
         }
-        throw new IllegalArgumentException ("bad range specification: " + reason + ": \"" + charRanges + "\"");
+        throw new IllegalArgumentException("bad range specification: " + reason + ": \"" + charRanges + "\"");
     }
 
-    private static void badRangeSpec (String reason, CharacterIterator ci) throws IllegalArgumentException {
+    private static void badRangeSpec(String reason, CharacterIterator ci) throws IllegalArgumentException {
         if (verbose) {
             System.out.println();
         }
-        throw new IllegalArgumentException ("bad range specification: " + reason + ": starting at \"" + remainder (ci) + "\"");
+        throw new IllegalArgumentException("bad range specification: " + reason + ": starting at \"" + remainder(ci) + "\"");
     }
 
-    private static String remainder (CharacterIterator ci) {
+    private static String remainder(CharacterIterator ci) {
         StringBuffer sb = new StringBuffer();
         for (char c; (c = ci.current()) != CharacterIterator.DONE; ) {
             ci.next();
-            sb.append (c);
+            sb.append(c);
         }
         return sb.toString();
     }
@@ -818,7 +818,7 @@ public final class GenerateBidiTestData {
      * REORDER_SPEC \n
      * ( TEST_SPEC \n )+
      */
-    private static int[] parseLevels (List lines) {
+    private static int[] parseLevels(List lines) {
         int[] la = null;        // levels array
         int[] ra = null;        // reorder array
         List tal = new ArrayList();
@@ -827,48 +827,48 @@ public final class GenerateBidiTestData {
                 String line = (String) it.next();
                 if (line.startsWith(PFX_LEVELS)) {
                     if (la == null) {
-                        la = parseLevelSpec (line);
+                        la = parseLevelSpec(line);
                         if (verbose) {
                             if ((++numLevelSpecs % 10) == 0) {
                                 System.out.print("&");
                             }
                         }
                     } else {
-                        throw new IllegalArgumentException ("redundant levels array: \"" + line + "\"");
+                        throw new IllegalArgumentException("redundant levels array: \"" + line + "\"");
                     }
                 } else if (line.startsWith(PFX_REORDER)) {
                     if (la == null) {
-                        throw new IllegalArgumentException ("missing levels array before: \"" + line + "\"");
+                        throw new IllegalArgumentException("missing levels array before: \"" + line + "\"");
                     } else if (ra == null) {
-                        ra = parseReorderSpec (line, la);
+                        ra = parseReorderSpec(line, la);
                     } else {
-                        throw new IllegalArgumentException ("redundant reorder array: \"" + line + "\"");
+                        throw new IllegalArgumentException("redundant reorder array: \"" + line + "\"");
                     }
                 } else if ((la != null) && (ra != null)) {
-                    int[] ta = parseTestSpec (line, la);
+                    int[] ta = parseTestSpec(line, la);
                     if (ta != null) {
                         if (verbose) {
                             if ((++numTestSpecs % 100) == 0) {
                                 System.out.print("!");
                             }
                         }
-                        tal.add (ta);
+                        tal.add(ta);
                     }
                 } else if (la == null) {
-                    throw new IllegalArgumentException ("missing levels array before: \"" + line + "\"");
+                    throw new IllegalArgumentException("missing levels array before: \"" + line + "\"");
                 } else if (ra == null) {
-                    throw new IllegalArgumentException ("missing reorder array before: \"" + line + "\"");
+                    throw new IllegalArgumentException("missing reorder array before: \"" + line + "\"");
                 }
             }
         }
         if ((la != null) && (ra != null)) {
-            return createLevelData (la, ra, tal);
+            return createLevelData(la, ra, tal);
         } else {
             return null;
         }
     }
 
-    private static int[] createLevelData (int[] la, int[] ra, List tal) {
+    private static int[] createLevelData(int[] la, int[] ra, List tal) {
         int nl = la.length;
         int[] data = new int [ 1 + nl * 2 + ((nl + 1) * tal.size()) ];
         int k = 0;
@@ -883,13 +883,13 @@ public final class GenerateBidiTestData {
         for (Iterator it = tal.iterator(); it.hasNext(); ) {
             int[] ta = (int[]) it.next();
             if (ta == null) {
-                throw new IllegalStateException ("null test array");
+                throw new IllegalStateException("null test array");
             } else if (ta.length == (nl + 1)) {
                 for (int i = 0, n = ta.length; i < n; i++) {
                     data [ k++ ] = ta [ i ];
                 }
             } else {
-                throw new IllegalStateException ("test array length error, expected " + (nl + 1) + " entries, got " + ta.length + " entries");
+                throw new IllegalStateException("test array length error, expected " + (nl + 1) + " entries, got " + ta.length + " entries");
             }
         }
         assert k == data.length;
@@ -901,42 +901,42 @@ public final class GenerateBidiTestData {
      *
      * @Levels: ( LWSP ( NUMBER | 'x' ) )+
      */
-    private static int[] parseLevelSpec (String line) {
-        CharacterIterator ci = new StringCharacterIterator (line);
+    private static int[] parseLevelSpec(String line) {
+        CharacterIterator ci = new StringCharacterIterator(line);
         List ll = new ArrayList();
         // read prefix
-        skipSpace (ci);
-        if (! maybeReadToken (ci, PFX_LEVELS)) {
-            badLevelSpec ("missing prefix \"" + PFX_LEVELS + "\"", ci);
+        skipSpace(ci);
+        if (! maybeReadToken(ci, PFX_LEVELS)) {
+            badLevelSpec("missing prefix \"" + PFX_LEVELS + "\"", ci);
         }
         // read level values
         boolean more = true;
         while (more) {
             Integer l;
-            skipSpace (ci);
-            if ((l = maybeReadInteger (ci)) != null) {
-                ll.add (l);
-            } else if (maybeReadToken (ci, "x")) {
-                ll.add (Integer.valueOf (-1));
+            skipSpace(ci);
+            if ((l = maybeReadInteger(ci)) != null) {
+                ll.add(l);
+            } else if (maybeReadToken(ci, "x")) {
+                ll.add(Integer.valueOf(-1));
             } else {
                 more = false;
             }
         }
         // read to end of line
-        skipSpace (ci);
-        if (! atEnd (ci)) {
-            badLevelSpec ("extraneous content prior to end of line", ci);
+        skipSpace(ci);
+        if (! atEnd(ci)) {
+            badLevelSpec("extraneous content prior to end of line", ci);
         }
         if (ll.size() == 0) {
-            badLevelSpec ("must have at least one level value", ci);
+            badLevelSpec("must have at least one level value", ci);
         }
-        return createLevelsArray (ll);
+        return createLevelsArray(ll);
     }
 
-    private static Integer maybeReadInteger (CharacterIterator ci) {
+    private static Integer maybeReadInteger(CharacterIterator ci) {
         // read optional minus sign if present
         boolean negative;
-        if (maybeReadNext (ci, '-')) {
+        if (maybeReadNext(ci, '-')) {
             negative = true;
         } else {
             negative = false;
@@ -945,9 +945,9 @@ public final class GenerateBidiTestData {
         StringBuffer sb = new StringBuffer();
         while (true) {
             char c = ci.current();
-            if ((c != CharacterIterator.DONE) && isDigit (c)) {
+            if ((c != CharacterIterator.DONE) && isDigit(c)) {
                 ci.next();
-                sb.append (c);
+                sb.append(c);
             } else {
                 break;
             }
@@ -955,40 +955,40 @@ public final class GenerateBidiTestData {
         if (sb.length() == 0) {
             return null;
         } else {
-            int value = Integer.parseInt (sb.toString());
+            int value = Integer.parseInt(sb.toString());
             if (negative) {
                 value = -value;
             }
-            return Integer.valueOf (value);
+            return Integer.valueOf(value);
         }
     }
 
-    private static boolean isDigit (char c) {
+    private static boolean isDigit(char c) {
         return ((c >= '0') && (c <= '9'));
     }
 
-    private static boolean maybeReadToken (CharacterIterator ci, String s) {
+    private static boolean maybeReadToken(CharacterIterator ci, String s) {
         int startIndex = ci.getIndex();
         for (int i = 0, n = s.length(); i < n; i++) {
-            char c = s.charAt (i);
+            char c = s.charAt(i);
             if (ci.current() == c) {
                 ci.next();
             } else {
-                ci.setIndex (startIndex);
+                ci.setIndex(startIndex);
                 return false;
             }
         }
         return true;
     }
 
-    private static void badLevelSpec (String reason, CharacterIterator ci) throws IllegalArgumentException {
+    private static void badLevelSpec(String reason, CharacterIterator ci) throws IllegalArgumentException {
         if (verbose) {
             System.out.println();
         }
-        throw new IllegalArgumentException ("bad level specification: " + reason + ": starting at \"" + remainder (ci) + "\"");
+        throw new IllegalArgumentException("bad level specification: " + reason + ": starting at \"" + remainder(ci) + "\"");
     }
 
-    private static int[] createLevelsArray (List levels) {
+    private static int[] createLevelsArray(List levels) {
         int[] la = new int [ levels.size() ];
         int k = 0;
         for (Iterator it = levels.iterator(); it.hasNext(); ) {
@@ -1002,41 +1002,41 @@ public final class GenerateBidiTestData {
      *
      * @Reorder: ( LWSP NUMBER )*
      */
-    private static int[] parseReorderSpec (String line, int[] levels) {
-        CharacterIterator ci = new StringCharacterIterator (line);
+    private static int[] parseReorderSpec(String line, int[] levels) {
+        CharacterIterator ci = new StringCharacterIterator(line);
         List rl = new ArrayList();
         // read prefix
-        skipSpace (ci);
-        if (! maybeReadToken (ci, PFX_REORDER)) {
-            badReorderSpec ("missing prefix \"" + PFX_REORDER + "\"", ci);
+        skipSpace(ci);
+        if (! maybeReadToken(ci, PFX_REORDER)) {
+            badReorderSpec("missing prefix \"" + PFX_REORDER + "\"", ci);
         }
         // read reorder values
         boolean more = true;
         while (more) {
-            skipSpace (ci);
+            skipSpace(ci);
             Integer l;
-            if ((l = maybeReadInteger (ci)) != null) {
-                rl.add (l);
+            if ((l = maybeReadInteger(ci)) != null) {
+                rl.add(l);
             } else {
                 more = false;
             }
         }
         // read to end of line
-        skipSpace (ci);
-        if (! atEnd (ci)) {
-            badReorderSpec ("extraneous content prior to end of line", ci);
+        skipSpace(ci);
+        if (! atEnd(ci)) {
+            badReorderSpec("extraneous content prior to end of line", ci);
         }
-        return createReorderArray (rl, levels);
+        return createReorderArray(rl, levels);
     }
 
-    private static void badReorderSpec (String reason, CharacterIterator ci) throws IllegalArgumentException {
+    private static void badReorderSpec(String reason, CharacterIterator ci) throws IllegalArgumentException {
         if (verbose) {
             System.out.println();
         }
-        throw new IllegalArgumentException ("bad reorder specification: " + reason + ": starting at \"" + remainder (ci) + "\"");
+        throw new IllegalArgumentException("bad reorder specification: " + reason + ": starting at \"" + remainder(ci) + "\"");
     }
 
-    private static int[] createReorderArray (List reorders, int[] levels) {
+    private static int[] createReorderArray(List reorders, int[] levels) {
         int nr = reorders.size();
         int nl = levels.length;
         if (nr <= nl) {
@@ -1053,7 +1053,7 @@ public final class GenerateBidiTestData {
             }
             return ra;
         } else {
-            throw new IllegalArgumentException ("excessive number of reorder array entries, expected no more than " + nl + ", but got " + nr + " entries");
+            throw new IllegalArgumentException("excessive number of reorder array entries, expected no more than " + nl + ", but got " + nr + " entries");
         }
     }
 
@@ -1062,37 +1062,37 @@ public final class GenerateBidiTestData {
      *
      * BIDI_CLASS ( LWSP BIDI_CLASS )+ ';' LWSP NUMBER
      */
-    private static int[] parseTestSpec (String line, int[] levels) {
-        CharacterIterator ci = new StringCharacterIterator (line);
+    private static int[] parseTestSpec(String line, int[] levels) {
+        CharacterIterator ci = new StringCharacterIterator(line);
         List cl = new ArrayList();
         // read bidi class identifier sequence
-        while (! atEnd (ci) && ! maybeReadNext (ci, ';')) {
-            skipSpace (ci);
+        while (! atEnd(ci) && ! maybeReadNext(ci, ';')) {
+            skipSpace(ci);
             int bc;
-            if ((bc = maybeReadBidiClass (ci)) >= 0) {
-                cl.add (Integer.valueOf (bc));
+            if ((bc = maybeReadBidiClass(ci)) >= 0) {
+                cl.add(Integer.valueOf(bc));
             } else {
                 break;
             }
         }
         // read bit set
-        skipSpace (ci);
+        skipSpace(ci);
         String s;
         int bs = 0;
-        if ((s = maybeReadHexDigits (ci, -1)) != null) {
-            bs = Integer.parseInt (s, 16);
+        if ((s = maybeReadHexDigits(ci, -1)) != null) {
+            bs = Integer.parseInt(s, 16);
         } else {
-            badTestSpec ("missing bit set", ci);
+            badTestSpec("missing bit set", ci);
         }
         // read to end of line
-        skipSpace (ci);
-        if (! atEnd (ci)) {
-            badTestSpec ("extraneous content prior to end of line", ci);
+        skipSpace(ci);
+        if (! atEnd(ci)) {
+            badTestSpec("extraneous content prior to end of line", ci);
         }
-        return createTestArray (cl, bs, levels);
+        return createTestArray(cl, bs, levels);
     }
 
-    private static String maybeReadIdentifier (CharacterIterator ci) {
+    private static String maybeReadIdentifier(CharacterIterator ci) {
         // read keyword chars ([A-Z])
         StringBuffer sb = new StringBuffer();
         while (true) {
@@ -1100,16 +1100,16 @@ public final class GenerateBidiTestData {
             if (c == CharacterIterator.DONE) {
                 break;
             } else if (sb.length() == 0) {
-                if (Character.isUnicodeIdentifierStart (c)) {
+                if (Character.isUnicodeIdentifierStart(c)) {
                     ci.next();
-                    sb.append (c);
+                    sb.append(c);
                 } else {
                     break;
                 }
             } else {
-                if (Character.isUnicodeIdentifierPart (c)) {
+                if (Character.isUnicodeIdentifierPart(c)) {
                     ci.next();
-                    sb.append (c);
+                    sb.append(c);
                 } else {
                     break;
                 }
@@ -1122,31 +1122,31 @@ public final class GenerateBidiTestData {
         }
     }
 
-    private static int maybeReadBidiClass (CharacterIterator ci) {
+    private static int maybeReadBidiClass(CharacterIterator ci) {
         int bc = -1;
         int i = ci.getIndex();
         String s;
-        if ((s = maybeReadIdentifier (ci)) != null) {
+        if ((s = maybeReadIdentifier(ci)) != null) {
             try {
-                bc = parseBidiClass (s);
+                bc = parseBidiClass(s);
             } catch (IllegalArgumentException e) {
                 throw e;
             }
         }
         if (bc < 0) {
-            ci.setIndex (i);
+            ci.setIndex(i);
         }
         return bc;
     }
 
-    private static void badTestSpec (String reason, CharacterIterator ci) throws IllegalArgumentException {
+    private static void badTestSpec(String reason, CharacterIterator ci) throws IllegalArgumentException {
         if (verbose) {
             System.out.println();
         }
-        throw new IllegalArgumentException ("bad test specification: " + reason + ": starting at \"" + remainder (ci) + "\"");
+        throw new IllegalArgumentException("bad test specification: " + reason + ": starting at \"" + remainder(ci) + "\"");
     }
 
-    private static int[] createTestArray (List classes, int bitset, int[] levels) {
+    private static int[] createTestArray(List classes, int bitset, int[] levels) {
         int nc = classes.size();
         if (nc <= levels.length) {
             int[] ta = new int [ 1 + nc ];
@@ -1157,7 +1157,7 @@ public final class GenerateBidiTestData {
             }
             return ta;
         } else {
-            throw new IllegalArgumentException ("excessive number of test array entries, expected no more than " + levels.length + ", but got " + nc + " entries");
+            throw new IllegalArgumentException("excessive number of test array entries, expected no more than " + levels.length + ", but got " + nc + " entries");
         }
     }
 
@@ -1166,42 +1166,42 @@ public final class GenerateBidiTestData {
      * @param out - bidi test data java class file print writer
      * @param outFileName - (full path) name of bidi test data java class file
      */
-    private static void dumpData (PrintWriter out, String outFileName) throws IOException {
-        File f = new File (outFileName);
+    private static void dumpData(PrintWriter out, String outFileName) throws IOException {
+        File f = new File(outFileName);
         File p = f.getParentFile();
         if (td != null) {
             String pfxTD = "TD";
-            dumpResourcesDescriptor (out, pfxTD, td.length);
-            dumpResourcesData (p, f.getName(), pfxTD, td);
+            dumpResourcesDescriptor(out, pfxTD, td.length);
+            dumpResourcesData(p, f.getName(), pfxTD, td);
         }
         if (ld != null) {
             String pfxTD = "LD";
-            dumpResourcesDescriptor (out, pfxTD, ld.length);
-            dumpResourcesData (p, f.getName(), pfxTD, ld);
+            dumpResourcesDescriptor(out, pfxTD, ld.length);
+            dumpResourcesData(p, f.getName(), pfxTD, ld);
         }
     }
 
-    private static void dumpResourcesDescriptor (PrintWriter out, String prefix, int numResources) {
-        out.println ("    public static final String " + prefix + "_PFX = \"" + prefix + "\";");
-        out.println ("    public static final int " + prefix + "_CNT = " + numResources + ";");
+    private static void dumpResourcesDescriptor(PrintWriter out, String prefix, int numResources) {
+        out.println("    public static final String " + prefix + "_PFX = \"" + prefix + "\";");
+        out.println("    public static final int " + prefix + "_CNT = " + numResources + ";");
         out.println("");
     }
 
-    private static void dumpResourcesData (File btcDir, String btcName, String prefix, int[][] data) throws IOException {
-        String btdName = extractDataFileName (btcName);
+    private static void dumpResourcesData(File btcDir, String btcName, String prefix, int[][] data) throws IOException {
+        String btdName = extractDataFileName(btcName);
         for (int i = 0, n = data.length; i < n; i++) {
-            File f = new File (btcDir, btdName + "$" + prefix + i + ".ser");
-            ObjectOutputStream os = new ObjectOutputStream (new FileOutputStream (f));
-            os.writeObject (data[i]);
+            File f = new File(btcDir, btdName + "$" + prefix + i + ".ser");
+            ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(f));
+            os.writeObject(data[i]);
             os.close();
         }
     }
 
     private static final String JAVA_EXT = ".java";
 
-    private static String extractDataFileName (String btcName) {
-        if (btcName.endsWith (JAVA_EXT)) {
-            return btcName.substring (0, btcName.length() - JAVA_EXT.length());
+    private static String extractDataFileName(String btcName) {
+        if (btcName.endsWith(JAVA_EXT)) {
+            return btcName.substring(0, btcName.length() - JAVA_EXT.length());
         } else {
             return btcName;
         }
index 728f91e486becbed26bbc7f664a7cac79e589638..df25831ea98082cb1f0e1455c819b83858965ffb 100644 (file)
@@ -179,8 +179,8 @@ public final class UnicodeClasses {
         }
         String scheme = unidata.getScheme();
         if (scheme == null || !(scheme.equals("file") || scheme.equals("http"))) {
-            throw new FileNotFoundException
-            ("URI with file or http scheme required for UNIDATA input directory");
+            throw new FileNotFoundException(
+            "URI with file or http scheme required for UNIDATA input directory");
         }
 
         File f = new File(outfilePath);
index b39970b878b25e2ef3648840601c9b8e17a11ac5..675027100a2d0a3419f9b6c504ce5eb5ceeb6643 100644 (file)
@@ -91,8 +91,8 @@ public class AFPBorderPainter extends AbstractAFPPainter {
         AFPLineDataInfo lineDataInfo = new AFPLineDataInfo();
         lineDataInfo.setColor(borderPaintInfo.getColor());
         lineDataInfo.setRotation(paintingState.getRotation());
-        lineDataInfo.setX1 (Math.round(x1));
-        lineDataInfo.setY1 (Math.round(y1));
+        lineDataInfo.setX1(Math.round(x1));
+        lineDataInfo.setY1(Math.round(y1));
         float thickness;
         if (borderPaintInfo.isHorizontal()) {
             thickness = y2 - y1;
@@ -107,68 +107,68 @@ public class AFPBorderPainter extends AbstractAFPPainter {
             int thickness3 = (int)Math.floor(thickness / 3f);
             lineDataInfo.setThickness(thickness3);
             if (borderPaintInfo.isHorizontal()) {
-                lineDataInfo.setX2 (Math.round(x2));
-                lineDataInfo.setY2 (lineDataInfo.getY1());
+                lineDataInfo.setX2(Math.round(x2));
+                lineDataInfo.setY2(lineDataInfo.getY1());
                 dataStream.createLine(lineDataInfo);
                 int distance = thickness3 * 2;
                 lineDataInfo = new AFPLineDataInfo(lineDataInfo);
-                lineDataInfo.setY1 (lineDataInfo.getY1() + distance);
-                lineDataInfo.setY2 (lineDataInfo.getY2() + distance);
+                lineDataInfo.setY1(lineDataInfo.getY1() + distance);
+                lineDataInfo.setY2(lineDataInfo.getY2() + distance);
                 dataStream.createLine(lineDataInfo);
             } else {
-                lineDataInfo.setX2 (lineDataInfo.getX1());
-                lineDataInfo.setY2 (Math.round(y2));
+                lineDataInfo.setX2(lineDataInfo.getX1());
+                lineDataInfo.setY2(Math.round(y2));
                 dataStream.createLine(lineDataInfo);
                 int distance = thickness3 * 2;
                 lineDataInfo = new AFPLineDataInfo(lineDataInfo);
-                lineDataInfo.setX1 (lineDataInfo.getX1() + distance);
-                lineDataInfo.setX2 (lineDataInfo.getX2() + distance);
+                lineDataInfo.setX1(lineDataInfo.getX1() + distance);
+                lineDataInfo.setX2(lineDataInfo.getX2() + distance);
                 dataStream.createLine(lineDataInfo);
             }
             break;
         case Constants.EN_DASHED:
             if (borderPaintInfo.isHorizontal()) {
                 int dashWidth = (int) unitConv.pt2units(BorderPainter.dashWidthCalculator(w, h));
-                lineDataInfo.setX2 (lineDataInfo.getX1() + dashWidth);
-                lineDataInfo.setY2 (lineDataInfo.getY1());
+                lineDataInfo.setX2(lineDataInfo.getX1() + dashWidth);
+                lineDataInfo.setY2(lineDataInfo.getY1());
                 int ex2 = Math.round(x2);
                 int spaceWidth = (int) (BorderPainter.DASHED_BORDER_SPACE_RATIO * dashWidth);
                 while (lineDataInfo.getX2() <= ex2) {
                     dataStream.createLine(lineDataInfo);
-                    lineDataInfo.setX1 (lineDataInfo.getX2() + spaceWidth);
-                    lineDataInfo.setX2 (lineDataInfo.getX1() + dashWidth);
+                    lineDataInfo.setX1(lineDataInfo.getX2() + spaceWidth);
+                    lineDataInfo.setX2(lineDataInfo.getX1() + dashWidth);
                 }
             } else {
                 int dashWidth = (int) unitConv.pt2units(BorderPainter.dashWidthCalculator(h, w));
-                lineDataInfo.setX2 (lineDataInfo.getX1());
-                lineDataInfo.setY2 (lineDataInfo.getY1() + dashWidth);
+                lineDataInfo.setX2(lineDataInfo.getX1());
+                lineDataInfo.setY2(lineDataInfo.getY1() + dashWidth);
                 int ey2 = Math.round(y2);
                 int spaceWidth = (int) (BorderPainter.DASHED_BORDER_SPACE_RATIO * dashWidth);
                 while (lineDataInfo.getY2() <= ey2) {
                     dataStream.createLine(lineDataInfo);
-                    lineDataInfo.setY1 (lineDataInfo.getY2() + spaceWidth);
-                    lineDataInfo.setY2 (lineDataInfo.getY1() + dashWidth);
+                    lineDataInfo.setY1(lineDataInfo.getY2() + spaceWidth);
+                    lineDataInfo.setY2(lineDataInfo.getY1() + dashWidth);
                 }
             }
             break;
         case Constants.EN_DOTTED:
             if (borderPaintInfo.isHorizontal()) {
-                lineDataInfo.setX2 (lineDataInfo.getX1() + lineDataInfo.getThickness());
-                lineDataInfo.setY2 (lineDataInfo.getY1());
+                lineDataInfo.setX2(lineDataInfo.getX1() + lineDataInfo.getThickness());
+                lineDataInfo.setY2(lineDataInfo.getY1());
                 int ex2 = Math.round(x2);
                 while (lineDataInfo.getX1() + lineDataInfo.getThickness() < ex2) {
                     dataStream.createLine(lineDataInfo);
-                    lineDataInfo.setX1 (lineDataInfo.getX1() + 3 * lineDataInfo.getThickness());
-                    lineDataInfo.setX2 (lineDataInfo.getX1() + lineDataInfo.getThickness());
+                    lineDataInfo.setX1(lineDataInfo.getX1() + 3 * lineDataInfo.getThickness());
+                    lineDataInfo.setX2(lineDataInfo.getX1() + lineDataInfo.getThickness());
                 }
             } else {
-                lineDataInfo.setX2 (lineDataInfo.getX1());
-                lineDataInfo.setY2 (lineDataInfo.getY1() + lineDataInfo.getThickness());
+                lineDataInfo.setX2(lineDataInfo.getX1());
+                lineDataInfo.setY2(lineDataInfo.getY1() + lineDataInfo.getThickness());
                 int ey2 = Math.round(y2);
                 while (lineDataInfo.getY1() + lineDataInfo.getThickness() < ey2) {
                     dataStream.createLine(lineDataInfo);
-                    lineDataInfo.setY1 (lineDataInfo.getY1() + 3 * lineDataInfo.getThickness());
-                    lineDataInfo.setY2 (lineDataInfo.getY1() + lineDataInfo.getThickness());
+                    lineDataInfo.setY1(lineDataInfo.getY1() + 3 * lineDataInfo.getThickness());
+                    lineDataInfo.setY2(lineDataInfo.getY1() + lineDataInfo.getThickness());
                 }
             }
             break;
@@ -176,25 +176,25 @@ public class AFPBorderPainter extends AbstractAFPPainter {
         case Constants.EN_RIDGE:
             //TODO
             int yNew;
-            lineDataInfo.setX2 (Math.round(x2));
+            lineDataInfo.setX2(Math.round(x2));
             float colFactor = (borderPaintInfo.getStyle() == Constants.EN_GROOVE ? 0.4f : -0.4f);
             float h3 = (y2 - y1) / 3;
-            lineDataInfo.setColor
-                (ColorUtil.lightenColor(borderPaintInfo.getColor(), -colFactor));
-            lineDataInfo.setThickness (Math.round(h3));
+            lineDataInfo.setColor(
+                ColorUtil.lightenColor(borderPaintInfo.getColor(), -colFactor));
+            lineDataInfo.setThickness(Math.round(h3));
             yNew = Math.round(y1);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
             dataStream.createLine(lineDataInfo);
-            lineDataInfo.setColor (borderPaintInfo.getColor());
+            lineDataInfo.setColor(borderPaintInfo.getColor());
             yNew = Math.round(y1 + h3);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
             dataStream.createLine(lineDataInfo);
-            lineDataInfo.setColor (ColorUtil.lightenColor(borderPaintInfo.getColor(), colFactor));
+            lineDataInfo.setColor(ColorUtil.lightenColor(borderPaintInfo.getColor(), colFactor));
             yNew = Math.round(y1 + h3 + h3);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
             dataStream.createLine(lineDataInfo);
             break;
         case Constants.EN_HIDDEN:
@@ -204,11 +204,11 @@ public class AFPBorderPainter extends AbstractAFPPainter {
         case Constants.EN_SOLID:
         default:
             if (borderPaintInfo.isHorizontal()) {
-                lineDataInfo.setX2 (Math.round(x2));
-                lineDataInfo.setY2 (lineDataInfo.getY1());
+                lineDataInfo.setX2(Math.round(x2));
+                lineDataInfo.setY2(lineDataInfo.getY1());
             } else {
-                lineDataInfo.setX2 (lineDataInfo.getX1());
-                lineDataInfo.setY2 (Math.round(y2));
+                lineDataInfo.setX2(lineDataInfo.getX1());
+                lineDataInfo.setY2(Math.round(y2));
             }
             dataStream.createLine(lineDataInfo);
         }
index 4a57bb125ada6e58ac01dd425adf8e127bfdf5ba..8b598008a776f032cfbbd065bfa3395b7bb3bb47 100644 (file)
@@ -53,39 +53,39 @@ public class AFPRectanglePainter extends AbstractAFPPainter {
         AffineTransform at = paintingState.getData().getTransform();
 
         AFPLineDataInfo lineDataInfo = new AFPLineDataInfo();
-        lineDataInfo.setColor (paintingState.getColor());
-        lineDataInfo.setRotation (paintingState.getRotation());
-        lineDataInfo.setThickness (Math.round(height));
+        lineDataInfo.setColor(paintingState.getColor());
+        lineDataInfo.setRotation(paintingState.getRotation());
+        lineDataInfo.setThickness(Math.round(height));
 
         switch (lineDataInfo.getRotation()) {
         case 90:
-            lineDataInfo.setX1 (Math.round((float)at.getTranslateY() + x));
+            lineDataInfo.setX1(Math.round((float)at.getTranslateY() + x));
             yNew = pageWidth - Math.round((float)at.getTranslateX()) + Math.round(y);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
-            lineDataInfo.setX2 (Math.round(width + (float)at.getTranslateY() + x));
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
+            lineDataInfo.setX2(Math.round(width + (float)at.getTranslateY() + x));
             break;
         case 180:
-            lineDataInfo.setX1 (pageWidth - Math.round((float)at.getTranslateX() - x));
+            lineDataInfo.setX1(pageWidth - Math.round((float)at.getTranslateX() - x));
             yNew = pageHeight - Math.round((float)at.getTranslateY() - y);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
-            lineDataInfo.setX2 (pageWidth - Math.round((float)at.getTranslateX() - x - width));
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
+            lineDataInfo.setX2(pageWidth - Math.round((float)at.getTranslateX() - x - width));
             break;
         case 270:
-            lineDataInfo.setX1 (pageHeight - Math.round((float)at.getTranslateY() - x));
+            lineDataInfo.setX1(pageHeight - Math.round((float)at.getTranslateY() - x));
             yNew = Math.round((float)at.getTranslateX() + y);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
-            lineDataInfo.setX2 (pageHeight - Math.round((float)at.getTranslateY() - x - width));
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
+            lineDataInfo.setX2(pageHeight - Math.round((float)at.getTranslateY() - x - width));
             break;
         case 0:
         default:
-            lineDataInfo.setX1 (Math.round((float)at.getTranslateX() + x));
+            lineDataInfo.setX1(Math.round((float)at.getTranslateX() + x));
             yNew = Math.round((float)at.getTranslateY() + y);
-            lineDataInfo.setY1 (yNew);
-            lineDataInfo.setY2 (yNew);
-            lineDataInfo.setX2 (Math.round((float)at.getTranslateX() + x + width));
+            lineDataInfo.setY1(yNew);
+            lineDataInfo.setY2(yNew);
+            lineDataInfo.setX2(Math.round((float)at.getTranslateX() + x + width));
             break;
         }
         dataStream.createLine(lineDataInfo);
index e48e636c2bba4bac86b6f53cb02c3d334f431cf8..79aa3147bbabe60c723a2fbd515fcbbe5a39e4de 100644 (file)
@@ -195,8 +195,8 @@ public class GraphicsObject extends AbstractDataObject {
      * @param lineWidth the line width multiplier
      */
     public void setLineWidth(float lineWidth) {
-        float epsilon = Float.intBitsToFloat (0x00800000); // Float.MIN_NORMAL (JDK1.6)
-        if (Math.abs (graphicsState.lineWidth - lineWidth) > epsilon) {
+        float epsilon = Float.intBitsToFloat(0x00800000); // Float.MIN_NORMAL (JDK1.6)
+        if (Math.abs(graphicsState.lineWidth - lineWidth) > epsilon) {
             addObject(new GraphicsSetFractionalLineWidth(lineWidth));
             graphicsState.lineWidth = lineWidth;
         }
index 5ba1117906a15874921c9d821bb8f42c22acbe8e..628e9e3ad0396b58559f5c3ec9f3a775d08a6cbe 100644 (file)
@@ -225,7 +225,7 @@ public class Area extends AreaTreeObject implements Serializable {
      *
      * @param bidiLevel the bidirectional embedding level
      */
-    public void setBidiLevel (int bidiLevel) {
+    public void setBidiLevel(int bidiLevel) {
         this.bidiLevel = bidiLevel;
     }
 
@@ -412,7 +412,7 @@ public class Area extends AreaTreeObject implements Serializable {
      *
      * @param traits the map of traits
      */
-    public void setTraits (Map traits) {
+    public void setTraits(Map traits) {
         if (traits != null) {
             this.traits = new TreeMap<Integer, Object>(traits);
         } else {
index fed2a8316a5cbedd6026647b23a1b37274588f88..c79f975c1e3bd949c32ce08c5dae3c2f8199ba4b 100644 (file)
@@ -797,8 +797,8 @@ public class AreaTreeParser {
                 int[][] gposAdjustments
                     = XMLUtil.getAttributeAsPositionAdjustments(lastAttributes, "position-adjust");
                 content.flip();
-                WordArea word = new WordArea
-                    (offset, level, content.toString().trim(), letterAdjust,
+                WordArea word = new WordArea(
+                    offset, level, content.toString().trim(), letterAdjust,
                       null, gposAdjustments, reversed);
                 AbstractTextArea text = getCurrentText();
                 word.setParentArea(text);
@@ -850,8 +850,8 @@ public class AreaTreeParser {
                 setTraits(attributes, leader, SUBSET_BOX);
                 setTraits(attributes, leader, SUBSET_COLOR);
                 setTraits(attributes, leader, SUBSET_FONT);
-                leader.setBlockProgressionOffset
-                    (XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                leader.setBlockProgressionOffset(
+                    XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 String ruleStyle = attributes.getValue("ruleStyle");
                 if (ruleStyle != null) {
                     leader.setRuleStyle(ruleStyle);
@@ -875,8 +875,8 @@ public class AreaTreeParser {
                 setTraits(attributes, viewport, SUBSET_COLOR);
                 viewport.setContentPosition(XMLUtil.getAttributeAsRectangle2D(attributes, "pos"));
                 viewport.setClip(XMLUtil.getAttributeAsBoolean(attributes, "clip", false));
-                viewport.setBlockProgressionOffset
-                    (XMLUtil.getAttributeAsInt(attributes, "offset", 0));
+                viewport.setBlockProgressionOffset(
+                    XMLUtil.getAttributeAsInt(attributes, "offset", 0));
                 Area parent = (Area)areaStack.peek();
                 parent.addChildArea(viewport);
                 areaStack.push(viewport);
index 56c71ac591c1c466dc83d265062c78c4050bd152..b71f689a1289bc80526517932513974a7d7ea893 100644 (file)
@@ -147,7 +147,7 @@ public class BodyRegion extends RegionReference {
      */
     public void setWritingModeTraits(WritingModeTraitsGetter wmtg) {
         if (getMainReference() != null) {
-            getMainReference().setWritingModeTraits (wmtg);
+            getMainReference().setWritingModeTraits(wmtg);
         }
     }
 
index 4a35af9aa5c2f1b3cbf8f45ac754128dcc3f0c35..80172be8b46cad6ad35eaf0044288b7f286369fd 100644 (file)
@@ -164,7 +164,7 @@ public class CTM implements Serializable {
      * @return CTM The result of multiplying premult * this.
      */
     public CTM multiply(CTM premult) {
-        return new CTM ((premult.a * a) + (premult.b * c),
+        return new CTM((premult.a * a) + (premult.b * c),
                               (premult.a * b) + (premult.b * d),
                               (premult.c * a) + (premult.d * c),
                               (premult.c * b) + (premult.d * d),
index 0837e5ae5443f1bc4bff028de679eaafc4f95e1d..e5c6f5b2bb74ca919faba87369ff4147000a28d7 100644 (file)
@@ -64,7 +64,7 @@ public class CachedRenderPagesModel extends RenderPagesModel {
      * @param stream OutputStream
      * @throws FOPException if the renderer cannot be properly initialized
      */
-    public CachedRenderPagesModel (FOUserAgent userAgent, String outputFormat,
+    public CachedRenderPagesModel(FOUserAgent userAgent, String outputFormat,
             FontInfo fontInfo, OutputStream stream) throws FOPException {
         super(userAgent, outputFormat, fontInfo, stream);
         tempBaseURI = TEMP_URI_GENERATOR.generate();
index ccd290a3616010469a0e143eab86a41bb9e25710..169c3728f6b2e550cfe19850f7e8816061031247 100644 (file)
@@ -130,12 +130,12 @@ public class LineArea extends Area {
      * <p> Used by bidirectional processing after line area consituent reordering.</p>
      * @param inlineAreas the list of inline areas
      */
-    public void setInlineAreas (List inlineAreas) {
+    public void setInlineAreas(List inlineAreas) {
         for (Iterator<InlineArea> it = inlineAreas.iterator(); it.hasNext();) {
             InlineArea ia = it.next();
             Area pa = ia.getParentArea();
             if (pa == null) {
-                ia.setParentArea (this);
+                ia.setParentArea(this);
             } else {
                 assert pa == this;
             }
index 57c43075471887ca7ae395f5cf05e082858ee9e0..efc16515d6b1345c5eaa6f142ec71e47f59f7daf 100644 (file)
@@ -132,7 +132,7 @@ public class MainReference extends Area {
      */
     public void setWritingModeTraits(WritingModeTraitsGetter wmtg) {
         for (Span s : getSpans()) {
-            s.setWritingModeTraits (wmtg);
+            s.setWritingModeTraits(wmtg);
         }
     }
 
index cef2552c83666d6253144678f480dbdc67f31ba0..b94a32b4bc40439752939442d5d8396ff9983d93 100644 (file)
@@ -64,7 +64,7 @@ public class RenderPagesModel extends AreaTreeModel {
      * @param stream OutputStream
      * @throws FOPException if the renderer cannot be properly initialized
      */
-    public RenderPagesModel (FOUserAgent userAgent, String outputFormat,
+    public RenderPagesModel(FOUserAgent userAgent, String outputFormat,
         FontInfo fontInfo, OutputStream stream) throws FOPException {
 
         super();
index 826f7a8c18e553b63a018e2ea307abf9ba6dec87..c6089f1e040fd5c546fefaa47519c90c9657a9b5 100644 (file)
@@ -114,7 +114,7 @@ public class InlineArea extends Area {
      * @param blockProgressionOffset a block progression offset or zero
      * @param bidiLevel a resolved bidi level or -1
      */
-    protected InlineArea (int blockProgressionOffset, int bidiLevel) {
+    protected InlineArea(int blockProgressionOffset, int bidiLevel) {
         this.blockProgressionOffset = blockProgressionOffset;
         setBidiLevel(bidiLevel);
     }
@@ -311,9 +311,9 @@ public class InlineArea extends Area {
      * @param runs current list of inline runs
      * @return modified list of inline runs, having appended new run
      */
-    public List collectInlineRuns (List runs) {
+    public List collectInlineRuns(List runs) {
         assert runs != null;
-        runs.add (new InlineRun (this, new int[] {getBidiLevel()}));
+        runs.add(new InlineRun(this, new int[] {getBidiLevel()}));
         return runs;
     }
 
@@ -322,8 +322,8 @@ public class InlineArea extends Area {
      * @param ia inline area to test
      * @return true if specified inline area is an ancestor or same as this area
      */
-    public boolean isAncestorOrSelf (InlineArea ia) {
-        return (ia == this) || isAncestor (ia);
+    public boolean isAncestorOrSelf(InlineArea ia) {
+        return (ia == this) || isAncestor(ia);
     }
 
     /**
@@ -331,7 +331,7 @@ public class InlineArea extends Area {
      * @param ia inline area to test
      * @return true if specified inline area is an ancestor of this area
      */
-    public boolean isAncestor (InlineArea ia) {
+    public boolean isAncestor(InlineArea ia) {
         for (Area p = getParentArea(); p != null;) {
             if (p == ia) {
                 return true;
index cc2dd577c391fc64ac17a049c0f4606612cea059..c65c803c3bce0a22efa35372f9c176fdd6c11f3e 100644 (file)
@@ -64,7 +64,7 @@ public class InlineParent extends InlineArea {
         if (autoSize) {
             increaseIPD(childArea.getAllocIPD());
         }
-        updateLevel (childArea.getBidiLevel());
+        updateLevel(childArea.getBidiLevel());
         int childOffset = childArea.getVirtualOffset();
         minChildOffset = Math.min(minChildOffset, childOffset);
         maxAfterEdge = Math.max(maxAfterEdge, childOffset + childArea.getVirtualBPD());
@@ -114,10 +114,10 @@ public class InlineParent extends InlineArea {
     }
 
     @Override
-    public List collectInlineRuns (List runs) {
+    public List collectInlineRuns(List runs) {
         for (Iterator<InlineArea> it = getChildAreas().iterator(); it.hasNext();) {
             InlineArea ia = it.next();
-            runs = ia.collectInlineRuns (runs);
+            runs = ia.collectInlineRuns(runs);
         }
         return runs;
     }
@@ -132,15 +132,15 @@ public class InlineParent extends InlineArea {
         }
     }
 
-    private void updateLevel (int newLevel) {
+    private void updateLevel(int newLevel) {
         if (newLevel >= 0) {
             int curLevel = getBidiLevel();
             if (curLevel >= 0) {
                 if (newLevel < curLevel) {
-                    setBidiLevel (newLevel);
+                    setBidiLevel(newLevel);
                 }
             } else {
-                setBidiLevel (newLevel);
+                setBidiLevel(newLevel);
             }
         }
     }
index 6ee89cbf422389a6646d803cb12635e8b382320d..be7b61a9fdf00b27941ca2586024289ee4219474 100644 (file)
@@ -44,7 +44,7 @@ public class SpaceArea extends InlineArea {
      * @param bidiLevel the bidirectional embedding level (or -1 if not defined)
      */
     public SpaceArea(int blockProgressionOffset, int bidiLevel, char space, boolean adjustable) {
-        super (blockProgressionOffset, bidiLevel);
+        super(blockProgressionOffset, bidiLevel);
         this.space = space;
         this.isAdjustable = adjustable;
     }
index a0ca5717afa08df38b1ba8fbb0430d08112b48c2..4cb946af3c7b51cec8e7a896a5f38aaf81e8499d 100644 (file)
@@ -88,13 +88,13 @@ public class TextArea extends AbstractTextArea {
      * @param gposAdjustments array of general position adjustments or null if none apply
      * @param blockProgressionOffset the offset for the next area
      */
-    public void addWord
-        (String word, int ipd, int[] letterAdjust, int[] levels,
+    public void addWord(
+        String word, int ipd, int[] letterAdjust, int[] levels,
           int[][] gposAdjustments, int blockProgressionOffset) {
-        int minWordLevel = findMinLevel (levels);
-        WordArea wordArea = new WordArea
-            (blockProgressionOffset, minWordLevel, word, letterAdjust, levels, gposAdjustments);
-        wordArea.setIPD (ipd);
+        int minWordLevel = findMinLevel(levels);
+        WordArea wordArea = new WordArea(
+            blockProgressionOffset, minWordLevel, word, letterAdjust, levels, gposAdjustments);
+        wordArea.setIPD(ipd);
         addChildArea(wordArea);
         wordArea.setParentArea(this);
         updateLevel(minWordLevel);
@@ -109,10 +109,10 @@ public class TextArea extends AbstractTextArea {
      * @param adjustable is this space adjustable?
      * @param level resolved bidirection level of space character
      */
-    public void addSpace
-        (char space, int ipd, boolean adjustable, int blockProgressionOffset, int level) {
+    public void addSpace(
+        char space, int ipd, boolean adjustable, int blockProgressionOffset, int level) {
         SpaceArea spaceArea = new SpaceArea(blockProgressionOffset, level, space, adjustable);
-        spaceArea.setIPD (ipd);
+        spaceArea.setIPD(ipd);
         addChildArea(spaceArea);
         spaceArea.setParentArea(this);
         updateLevel(level);
@@ -167,20 +167,20 @@ public class TextArea extends AbstractTextArea {
         return sb.toString();
     }
 
-    private void updateLevel (int newLevel) {
+    private void updateLevel(int newLevel) {
         if (newLevel >= 0) {
             int curLevel = getBidiLevel();
             if (curLevel >= 0) {
                 if (newLevel < curLevel) {
-                    setBidiLevel (newLevel);
+                    setBidiLevel(newLevel);
                 }
             } else {
-                setBidiLevel (newLevel);
+                setBidiLevel(newLevel);
             }
         }
     }
 
-    private static int findMinLevel (int[] levels) {
+    private static int findMinLevel(int[] levels) {
         if (levels != null) {
             int lMin = Integer.MAX_VALUE;
             for (int i = 0, n = levels.length; i < n; i++) {
@@ -199,10 +199,10 @@ public class TextArea extends AbstractTextArea {
         }
     }
 
-    private int[] makeLevels (int level, int count) {
+    private int[] makeLevels(int level, int count) {
         if (level >= 0) {
             int[] levels = new int [ count ];
-            Arrays.fill (levels, level);
+            Arrays.fill(levels, level);
             return levels;
         } else {
             return null;
index 87fc80d6786d841ab00743948cbc9ac829e12807..df991cd20c84ef712c434dfae70622b309ae3773 100644 (file)
@@ -162,9 +162,9 @@ public class UnresolvedPageNumber extends TextArea implements Resolvable {
      * @return modified list of inline runs, having appended new run
      */
     @Override
-    public List collectInlineRuns (List runs) {
+    public List collectInlineRuns(List runs) {
         assert runs != null;
-        runs.add (new InlineRun (this, new int[] {getBidiLevel()}));
+        runs.add(new InlineRun(this, new int[] {getBidiLevel()}));
         return runs;
     }
 }
index 443fcbf21bc1cbd617aed5dc8d09d29a5720d2bf..0854e30234a72b4d340b1ba265045c3bca8bd876 100644 (file)
@@ -66,15 +66,15 @@ public class WordArea extends InlineArea {
      * @param gposAdjustments array of general position adjustments or null if none apply
      * @param reversed true if word is known to be reversed at construction time
      */
-    public WordArea
-        (int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
+    public WordArea(
+        int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
           int[][] gposAdjustments, boolean reversed) {
-        super (blockProgressionOffset, level);
+        super(blockProgressionOffset, level);
         int length = (word != null) ? word.length() : 0;
         this.word = word;
-        this.letterAdjust = maybeAdjustLength (letterAdjust, length);
-        this.levels = maybePopulateLevels (levels, level, length);
-        this.gposAdjustments = maybeAdjustLength (gposAdjustments, length);
+        this.letterAdjust = maybeAdjustLength(letterAdjust, length);
+        this.levels = maybePopulateLevels(levels, level, length);
+        this.gposAdjustments = maybeAdjustLength(gposAdjustments, length);
         this.reversed = reversed;
     }
 
@@ -88,8 +88,8 @@ public class WordArea extends InlineArea {
      * in case word area is heterogenously leveled
      * @param gposAdjustments array of general position adjustments or null if none apply
      */
-    public WordArea
-        (int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
+    public WordArea(
+        int blockProgressionOffset, int level, String word, int[] letterAdjust, int[] levels,
           int[][] gposAdjustments) {
         this (blockProgressionOffset, level, word, letterAdjust, levels, gposAdjustments, false);
     }
@@ -120,7 +120,7 @@ public class WordArea extends InlineArea {
      * @return a (possibly null) array of per-character (glyph) levels over the specified
      * sequence
      */
-    public int[] getBidiLevels (int start, int end) {
+    public int[] getBidiLevels(int start, int end) {
         assert start <= end;
         if (this.levels != null) {
             int n = end - start;
@@ -141,7 +141,7 @@ public class WordArea extends InlineArea {
      * level
      * @return a resolved bidirectional level or, if not specified, then -1
      */
-    public int bidiLevelAt (int position) {
+    public int bidiLevelAt(int position) {
         if (position > word.length()) {
             throw new IndexOutOfBoundsException();
         } else if (levels != null) {
@@ -152,15 +152,15 @@ public class WordArea extends InlineArea {
     }
 
     @Override
-    public List collectInlineRuns (List runs) {
+    public List collectInlineRuns(List runs) {
         assert runs != null;
         InlineRun r;
         if (getBidiLevels() != null) {
-            r = new InlineRun (this, getBidiLevels());
+            r = new InlineRun(this, getBidiLevels());
         } else {
-            r = new InlineRun (this, -1, word.length());
+            r = new InlineRun(this, -1, word.length());
         }
-        runs.add (r);
+        runs.add(r);
         return runs;
     }
 
@@ -180,7 +180,7 @@ public class WordArea extends InlineArea {
      * level
      * @return an array of adjustments or null if none applies
      */
-    public int[] glyphPositionAdjustmentsAt (int position) {
+    public int[] glyphPositionAdjustmentsAt(int position) {
         if (position > word.length()) {
             throw new IndexOutOfBoundsException();
         } else if (gposAdjustments != null) {
@@ -195,18 +195,18 @@ public class WordArea extends InlineArea {
      * adjustments.</p>
      * @param mirror if true, then perform mirroring if mirrorred characters
      */
-    public void reverse (boolean mirror) {
+    public void reverse(boolean mirror) {
         if (word.length() > 0) {
-            word = ((new StringBuffer (word)) .reverse()) .toString();
+            word = ((new StringBuffer(word)) .reverse()) .toString();
             if (levels != null) {
-                reverse (levels);
+                reverse(levels);
             }
             if (gposAdjustments != null) {
-                reverse (gposAdjustments);
+                reverse(gposAdjustments);
             }
             reversed = !reversed;
             if (mirror) {
-                word = CharMirror.mirror (word);
+                word = CharMirror.mirror(word);
             }
         }
     }
@@ -216,7 +216,7 @@ public class WordArea extends InlineArea {
      */
     public void mirror() {
         if (word.length() > 0) {
-            word = CharMirror.mirror (word);
+            word = CharMirror.mirror(word);
         }
     }
 
@@ -236,7 +236,7 @@ public class WordArea extends InlineArea {
      * If int[] array is not of specified length, then create
      * a new copy of the first length entries.
      */
-    private static int[] maybeAdjustLength (int[] ia, int length) {
+    private static int[] maybeAdjustLength(int[] ia, int length) {
         if (ia != null) {
             if (ia.length == length) {
                 return ia;
@@ -260,7 +260,7 @@ public class WordArea extends InlineArea {
      * If int[][] matrix is not of specified length, then create
      * a new shallow copy of the first length entries.
      */
-    private static int[][] maybeAdjustLength (int[][] im, int length) {
+    private static int[][] maybeAdjustLength(int[][] im, int length) {
         if (im != null) {
             if (im.length == length) {
                 return im;
@@ -280,15 +280,15 @@ public class WordArea extends InlineArea {
         }
     }
 
-    private static int[] maybePopulateLevels (int[] levels, int level, int count) {
+    private static int[] maybePopulateLevels(int[] levels, int level, int count) {
         if ((levels == null) && (level >= 0)) {
             levels = new int[count];
-            Arrays.fill (levels, level);
+            Arrays.fill(levels, level);
         }
-        return maybeAdjustLength (levels, count);
+        return maybeAdjustLength(levels, count);
     }
 
-    private static void reverse (int[] a) {
+    private static void reverse(int[] a) {
         for (int i = 0, n = a.length, m = n / 2; i < m; i++) {
             int k = n - i - 1;
             int t = a [ k ];
@@ -297,7 +297,7 @@ public class WordArea extends InlineArea {
         }
     }
 
-    private static void reverse (int[][] aa) {
+    private static void reverse(int[][] aa) {
         for (int i = 0, n = aa.length, m = n / 2; i < m; i++) {
             int k = n - i - 1;
             int[] t = aa [ k ];
index 9e83400f679549c915864faeb295818e280b049e..080fe7930d0142aa9b8d2c66d1f4fbe986a58793 100644 (file)
@@ -904,7 +904,7 @@ public class CommandLineOptions {
         }
     }
 
-    private void setLogOption (String option, String level) {
+    private void setLogOption(String option, String level) {
         if (log instanceof CommandLineLogger
             || System.getProperty("org.apache.commons.logging.Log") == null) {
             setLogLevel(level);
index f2a8462e7d9da61639e21a664685f996a2b3e607..eed7b983b22adf1f0f2ff97018cc1fb4221639df 100644 (file)
@@ -241,18 +241,18 @@ private static byte[] bcC1 = {
  * @param ch a unicode scalar value
  * @return bidi class
  */
-public static int getBidiClass (int ch) {
+public static int getBidiClass(int ch) {
   if (ch <= 0x00FF) {
     return bcL1 [ ch - 0x0000 ];
   } else if ((ch >= 0x0590) && (ch <= 0x06FF)) {
     return bcR1 [ ch - 0x0590 ];
   } else {
-    return getBidiClass (ch, bcS1, bcE1, bcC1);
+    return getBidiClass(ch, bcS1, bcE1, bcC1);
   }
 }
 
-private static int getBidiClass (int ch, int[] sa, int[] ea, byte[] ca) {
-  int k = Arrays.binarySearch (sa, ch);
+private static int getBidiClass(int ch, int[] sa, int[] ea, byte[] ca) {
+  int k = Arrays.binarySearch(sa, ch);
   if (k >= 0) {
     return ca [ k ];
   } else {
index 66d26a83f1477a1e7e0178e41b675d30cf2d5d65..3ae1605f9d29a63fbfb10293564a709cde620ba1 100644 (file)
@@ -57,34 +57,34 @@ public final class BidiResolver {
      * Resolve inline directionality.
      * @param ps a page sequence FO instance
      */
-    public static void resolveInlineDirectionality (PageSequence ps) {
+    public static void resolveInlineDirectionality(PageSequence ps) {
         if (log.isDebugEnabled()) {
-            log.debug ("BD: RESOLVE: " + ps);
+            log.debug("BD: RESOLVE: " + ps);
         }
-        List ranges = pruneEmptyRanges (ps.collectDelimitedTextRanges (new Stack()));
-        resolveInlineDirectionality (ranges);
+        List ranges = pruneEmptyRanges(ps.collectDelimitedTextRanges(new Stack()));
+        resolveInlineDirectionality(ranges);
     }
 
     /**
      * Reorder line area.
      * @param la a line area instance
      */
-    public static void reorder (LineArea la) {
+    public static void reorder(LineArea la) {
 
         // 1. collect inline levels
-        List runs = collectRuns (la.getInlineAreas(), new Vector());
+        List runs = collectRuns(la.getInlineAreas(), new Vector());
         if (log.isDebugEnabled()) {
-            dumpRuns ("BD: REORDER: INPUT:", runs);
+            dumpRuns("BD: REORDER: INPUT:", runs);
         }
 
         // 2. split heterogeneous inlines
-        runs = splitRuns (runs);
+        runs = splitRuns(runs);
         if (log.isDebugEnabled()) {
-            dumpRuns ("BD: REORDER: SPLIT INLINES:", runs);
+            dumpRuns("BD: REORDER: SPLIT INLINES:", runs);
         }
 
         // 3. determine minimum and maximum levels
-        int[] mm = computeMinMaxLevel (runs, null);
+        int[] mm = computeMinMaxLevel(runs, null);
         if (log.isDebugEnabled()) {
             log.debug("BD: REORDER: { min = " + mm[0] + ", max = " + mm[1] + "}");
         }
@@ -94,75 +94,75 @@ public final class BidiResolver {
         int mx = mm[1];
         if (mx > 0) {
             for (int l1 = mx, l2 = ((mn & 1) == 0) ? (mn + 1) : mn; l1 >= l2; l1--) {
-                runs = reorderRuns (runs, l1);
+                runs = reorderRuns(runs, l1);
             }
         }
         if (log.isDebugEnabled()) {
-            dumpRuns ("BD: REORDER: REORDERED RUNS:", runs);
+            dumpRuns("BD: REORDER: REORDERED RUNS:", runs);
         }
 
         // 5. reverse word consituents (characters and glyphs) while mirroring
         boolean mirror = true;
-        reverseWords (runs, mirror);
+        reverseWords(runs, mirror);
         if (log.isDebugEnabled()) {
-            dumpRuns ("BD: REORDER: REORDERED WORDS:", runs);
+            dumpRuns("BD: REORDER: REORDERED WORDS:", runs);
         }
 
         // 6. replace line area's inline areas with reordered runs' inline areas
-        replaceInlines (la, replicateSplitWords (runs));
+        replaceInlines(la, replicateSplitWords(runs));
     }
 
-    private static void resolveInlineDirectionality (List ranges) {
+    private static void resolveInlineDirectionality(List ranges) {
         for (Iterator it = ranges.iterator(); it.hasNext(); ) {
             DelimitedTextRange r = (DelimitedTextRange) it.next();
             r.resolve();
             if (log.isDebugEnabled()) {
-                log.debug (r);
+                log.debug(r);
             }
         }
     }
 
-    private static List collectRuns (List inlines, List runs) {
+    private static List collectRuns(List inlines, List runs) {
         for (Iterator it = inlines.iterator(); it.hasNext(); ) {
             InlineArea ia = (InlineArea) it.next();
-            runs = ia.collectInlineRuns (runs);
+            runs = ia.collectInlineRuns(runs);
         }
         return runs;
     }
 
-    private static List splitRuns (List runs) {
+    private static List splitRuns(List runs) {
         List runsNew = new Vector();
         for (Iterator it = runs.iterator(); it.hasNext(); ) {
             InlineRun ir = (InlineRun) it.next();
             if (ir.isHomogenous()) {
-                runsNew.add (ir);
+                runsNew.add(ir);
             } else {
-                runsNew.addAll (ir.split());
+                runsNew.addAll(ir.split());
             }
         }
-        if (! runsNew.equals (runs)) {
+        if (! runsNew.equals(runs)) {
             runs = runsNew;
         }
         return runs;
     }
 
-    private static int[] computeMinMaxLevel (List runs, int[] mm) {
+    private static int[] computeMinMaxLevel(List runs, int[] mm) {
         if (mm == null) {
             mm = new int[] {Integer.MAX_VALUE, Integer.MIN_VALUE};
         }
         for (Iterator it = runs.iterator(); it.hasNext(); ) {
             InlineRun ir = (InlineRun) it.next();
-            ir.updateMinMax (mm);
+            ir.updateMinMax(mm);
         }
         return mm;
     }
-    private static List reorderRuns (List runs, int level) {
+    private static List reorderRuns(List runs, int level) {
         assert level >= 0;
         List runsNew = new Vector();
         for (int i = 0, n = runs.size(); i < n; i++) {
             InlineRun iri = (InlineRun) runs.get(i);
             if (iri.getMinLevel() < level) {
-                runsNew.add (iri);
+                runsNew.add(iri);
             } else {
                 int s = i;
                 int e = s;
@@ -175,65 +175,65 @@ public final class BidiResolver {
                     }
                 }
                 if (s < e) {
-                    runsNew.addAll (reverseRuns (runs, s, e));
+                    runsNew.addAll(reverseRuns(runs, s, e));
                 }
                 i = e - 1;
             }
         }
-        if (! runsNew.equals (runs)) {
+        if (! runsNew.equals(runs)) {
             runs = runsNew;
         }
         return runs;
     }
-    private static List reverseRuns (List runs, int s, int e) {
+    private static List reverseRuns(List runs, int s, int e) {
         int n = e - s;
-        Vector runsNew = new Vector (n);
+        Vector runsNew = new Vector(n);
         if (n > 0) {
             for (int i = 0; i < n; i++) {
                 int k = (n - i - 1);
                 InlineRun ir = (InlineRun) runs.get(s + k);
                 ir.reverse();
-                runsNew.add (ir);
+                runsNew.add(ir);
             }
         }
         return runsNew;
     }
-    private static void reverseWords (List runs, boolean mirror) {
+    private static void reverseWords(List runs, boolean mirror) {
         for (Iterator it = runs.iterator(); it.hasNext(); ) {
             InlineRun ir = (InlineRun) it.next();
-            ir.maybeReverseWord (mirror);
+            ir.maybeReverseWord(mirror);
         }
     }
-    private static List replicateSplitWords (List runs) {
+    private static List replicateSplitWords(List runs) {
         // [TBD] for each run which inline word area appears multiple times in
         // runs, replicate that word
         return runs;
     }
-    private static void replaceInlines (LineArea la, List runs) {
+    private static void replaceInlines(LineArea la, List runs) {
         List<InlineArea> inlines = new ArrayList<InlineArea>();
         for (Iterator it = runs.iterator(); it.hasNext(); ) {
             InlineRun ir = (InlineRun) it.next();
-            inlines.add (ir.getInline());
+            inlines.add(ir.getInline());
         }
-        la.setInlineAreas (unflattenInlines (inlines));
+        la.setInlineAreas(unflattenInlines(inlines));
     }
-    private static List unflattenInlines (List<InlineArea> inlines) {
-        return new UnflattenProcessor (inlines) .unflatten();
+    private static List unflattenInlines(List<InlineArea> inlines) {
+        return new UnflattenProcessor(inlines) .unflatten();
     }
-    private static void dumpRuns (String header, List runs) {
-        log.debug (header);
+    private static void dumpRuns(String header, List runs) {
+        log.debug(header);
         for (Iterator it = runs.iterator(); it.hasNext(); ) {
             InlineRun ir = (InlineRun) it.next();
-            log.debug (ir);
+            log.debug(ir);
         }
     }
 
-    private static List pruneEmptyRanges (Stack ranges) {
+    private static List pruneEmptyRanges(Stack ranges) {
         Vector rv = new Vector();
         for (Iterator it = ranges.iterator(); it.hasNext(); ) {
             DelimitedTextRange r = (DelimitedTextRange) it.next();
             if (! r.isEmpty()) {
-                rv.add (r);
+                rv.add(r);
             }
         }
         return rv;
index bbcd4ff7ae9129374badba229d5c47ae3219b6c9..48cd8df6fc0d057c998a6205bae11a80419afdcb 100644 (file)
@@ -54,7 +54,7 @@ public class DelimitedTextRange {
      * Primary constructor.
      * @param fn node that generates this text range
      */
-    public DelimitedTextRange (FONode fn) {
+    public DelimitedTextRange(FONode fn) {
         this.fn = fn;
         this.buffer = new StringBuffer();
         this.intervals = new Vector();
@@ -71,16 +71,16 @@ public class DelimitedTextRange {
      * @param it character iterator
      * @param fn node that generates interval being appended
      */
-    public void append (CharIterator it, FONode fn) {
+    public void append(CharIterator it, FONode fn) {
         if (it != null) {
             int s = buffer.length();
             int e = s;
             while (it.hasNext()) {
                 char c = it.nextChar();
-                buffer.append (c);
+                buffer.append(c);
                 e++;
             }
-            intervals.add (new TextInterval (fn, s, e));
+            intervals.add(new TextInterval(fn, s, e));
         }
     }
     /**
@@ -88,12 +88,12 @@ public class DelimitedTextRange {
      * @param c character
      * @param fn node that generates interval being appended
      */
-    public void append (char c, FONode fn) {
+    public void append(char c, FONode fn) {
         if (c != 0) {
             int s = buffer.length();
             int e = s + 1;
-            buffer.append (c);
-            intervals.add (new TextInterval (fn, s, e));
+            buffer.append(c);
+            intervals.add(new TextInterval(fn, s, e));
         }
     }
     /**
@@ -108,14 +108,14 @@ public class DelimitedTextRange {
      */
     public void resolve() {
         WritingModeTraitsGetter tg;
-        if ((tg = WritingModeTraits.getWritingModeTraitsGetter (getNode())) != null) {
-            resolve (tg.getInlineProgressionDirection());
+        if ((tg = WritingModeTraits.getWritingModeTraitsGetter(getNode())) != null) {
+            resolve(tg.getInlineProgressionDirection());
         }
     }
     @Override
     public String toString() {
-        StringBuffer sb = new StringBuffer ("DR: " + fn.getLocalName() + " { <" + CharUtilities.toNCRefs (buffer.toString()) + ">");
-        sb.append (", intervals <");
+        StringBuffer sb = new StringBuffer("DR: " + fn.getLocalName() + " { <" + CharUtilities.toNCRefs(buffer.toString()) + ">");
+        sb.append(", intervals <");
         boolean first = true;
         for (Iterator it = intervals.iterator(); it.hasNext(); ) {
             TextInterval ti = (TextInterval) it.next();
@@ -124,16 +124,16 @@ public class DelimitedTextRange {
             } else {
                 sb.append(',');
             }
-            sb.append (ti.toString());
+            sb.append(ti.toString());
         }
         sb.append("> }");
         return sb.toString();
     }
-    private void resolve (Direction paragraphEmbeddingLevel) {
+    private void resolve(Direction paragraphEmbeddingLevel) {
         int [] levels;
-        if ((levels = UnicodeBidiAlgorithm.resolveLevels (buffer, paragraphEmbeddingLevel)) != null) {
-            assignLevels (levels);
-            assignBlockLevel (paragraphEmbeddingLevel);
+        if ((levels = UnicodeBidiAlgorithm.resolveLevels(buffer, paragraphEmbeddingLevel)) != null) {
+            assignLevels(levels);
+            assignBlockLevel(paragraphEmbeddingLevel);
             assignTextLevels();
         }
     }
@@ -145,13 +145,13 @@ public class DelimitedTextRange {
      * @param levels array of levels each corresponding to each index of the delimited
      * text range
      */
-    private void assignLevels (int[] levels) {
-        Vector intervalsNew = new Vector (intervals.size());
+    private void assignLevels(int[] levels) {
+        Vector intervalsNew = new Vector(intervals.size());
         for (Iterator it = intervals.iterator(); it.hasNext(); ) {
             TextInterval ti = (TextInterval) it.next();
-            intervalsNew.addAll (assignLevels (ti, levels));
+            intervalsNew.addAll(assignLevels(ti, levels));
         }
-        if (! intervalsNew.equals (intervals)) {
+        if (! intervalsNew.equals(intervals)) {
             intervals = intervalsNew;
         }
     }
@@ -167,7 +167,7 @@ public class DelimitedTextRange {
      * @return a list of text intervals as described above
      */
     private static final Log log = LogFactory.getLog(BidiResolver.class); // CSOK: ConstantNameCheck
-    private List assignLevels (TextInterval ti, int[] levels) {
+    private List assignLevels(TextInterval ti, int[] levels) {
         Vector tiv = new Vector();
         FONode fn = ti.getNode();
         int fnStart = ti.getStart();                                     // start of node's text in delimited text range
@@ -183,14 +183,14 @@ public class DelimitedTextRange {
                 }
             }
             if ((ti.getStart() == s) && (ti.getEnd() == e)) {
-                ti.setLevel (l);                                       // reuse interval, assigning it single level
+                ti.setLevel(l);                                       // reuse interval, assigning it single level
             } else {
-                ti = new TextInterval (fn, fnStart, s, e, l);     // subdivide interval
+                ti = new TextInterval(fn, fnStart, s, e, l);     // subdivide interval
             }
             if (log.isDebugEnabled()) {
-                log.debug ("AL(" + l + "): " + ti);
+                log.debug("AL(" + l + "): " + ti);
             }
-            tiv.add (ti);
+            tiv.add(ti);
             i = e;
         }
         return tiv;
@@ -204,20 +204,20 @@ public class DelimitedTextRange {
             ti.assignTextLevels();
         }
     }
-    private void assignBlockLevel (Direction paragraphEmbeddingLevel) {
+    private void assignBlockLevel(Direction paragraphEmbeddingLevel) {
         int defaultLevel = (paragraphEmbeddingLevel == Direction.RL) ? 1 : 0;
         for (Iterator it = intervals.iterator(); it.hasNext(); ) {
             TextInterval ti = (TextInterval) it.next();
-            assignBlockLevel (ti.getNode(), defaultLevel);
+            assignBlockLevel(ti.getNode(), defaultLevel);
         }
     }
-    private void assignBlockLevel (FONode node, int defaultLevel) {
+    private void assignBlockLevel(FONode node, int defaultLevel) {
         for (FONode fn = node; fn != null; fn = fn.getParent()) {
             if (fn instanceof FObj) {
                 FObj fo = (FObj) fn;
                 if (fo.isBidiRangeBlockItem()) {
                     if (fo.getBidiLevel() < 0) {
-                        fo.setBidiLevel (defaultLevel);
+                        fo.setBidiLevel(defaultLevel);
                     }
                     break;
                 }
index 17457653358637cd70983524a49c95d3b1c4f0e4..c51d95c6efa1e73668774d370989649e1ac907d4 100644 (file)
@@ -57,12 +57,12 @@ public class InlineRun {
      * @param inline which generated this inline run
      * @param levels levels array
      */
-    public InlineRun (InlineArea inline, int[] levels) {
+    public InlineRun(InlineArea inline, int[] levels) {
         assert inline != null;
         assert levels != null;
         this.inline = inline;
         this.levels = levels;
-        setMinMax (levels);
+        setMinMax(levels);
     }
     /**
      * Alternate constructor.
@@ -70,8 +70,8 @@ public class InlineRun {
      * @param level for each index
      * @param count of indices
      */
-    public InlineRun (InlineArea inline, int level, int count) {
-        this (inline, makeLevels (level, count));
+    public InlineRun(InlineArea inline, int level, int count) {
+        this (inline, makeLevels(level, count));
     }
     /**
      * Obtain inline area that generated this inline run.
@@ -94,7 +94,7 @@ public class InlineRun {
     public int getMaxLevel() {
         return maxLevel;
     }
-    private void setMinMax (int[] levels) {
+    private void setMinMax(int[] levels) {
         int mn = Integer.MAX_VALUE;
         int mx = Integer.MIN_VALUE;
         if ((levels != null) && (levels.length > 0)) {
@@ -138,7 +138,7 @@ public class InlineRun {
                 }
             }
             if (s < e) {
-                runs.add (new InlineRun (inline, l, e - s));
+                runs.add(new InlineRun(inline, l, e - s));
             }
             i = e;
         }
@@ -149,7 +149,7 @@ public class InlineRun {
      * Update a min/max array to correspond with this run's min/max values.
      * @param mm reference to min/max array
      */
-    public void updateMinMax (int[] mm) {
+    public void updateMinMax(int[] mm) {
         if (minLevel < mm[0]) {
             mm[0] = minLevel;
         }
@@ -175,13 +175,13 @@ public class InlineRun {
      * reversal.
      * @param mirror if true then also mirror characters
      */
-    public void maybeReverseWord (boolean mirror) {
+    public void maybeReverseWord(boolean mirror) {
         if (inline instanceof WordArea) {
             WordArea w = (WordArea) inline;
             // if not already reversed, then reverse now
             if (! w.isReversed()) {
                 if ((reversals & 1) != 0) {
-                    w.reverse (mirror);
+                    w.reverse(mirror);
                 } else if (mirror && maybeNeedsMirroring()) {
                     w.mirror();
                 }
@@ -189,7 +189,7 @@ public class InlineRun {
         }
     }
     @Override
-    public boolean equals (Object o) {
+    public boolean equals(Object o) {
         if (o instanceof InlineRun) {
             InlineRun ir = (InlineRun) o;
             if (ir.inline != inline) {
@@ -254,21 +254,21 @@ public class InlineRun {
         } else {
             c = '?';
         }
-        sb.append (c);
-        sb.append ("\', levels = \'");
-        sb.append (generateLevels (levels));
-        sb.append ("\', min = ");
-        sb.append (minLevel);
-        sb.append (", max = ");
-        sb.append (maxLevel);
-        sb.append (", reversals = ");
-        sb.append (reversals);
-        sb.append (", content = <");
-        sb.append (CharUtilities.toNCRefs (content));
-        sb.append ("> }");
+        sb.append(c);
+        sb.append("\', levels = \'");
+        sb.append(generateLevels(levels));
+        sb.append("\', min = ");
+        sb.append(minLevel);
+        sb.append(", max = ");
+        sb.append(maxLevel);
+        sb.append(", reversals = ");
+        sb.append(reversals);
+        sb.append(", content = <");
+        sb.append(CharUtilities.toNCRefs(content));
+        sb.append("> }");
         return sb.toString();
     }
-    private String generateLevels (int[] levels) {
+    private String generateLevels(int[] levels) {
         StringBuffer lb = new StringBuffer();
         int maxLevel = -1;
         int numLevels = levels.length;
@@ -283,7 +283,7 @@ public class InlineRun {
         } else if (maxLevel < 10) {
             // use string of decimal digits
             for (int i = 0; i < numLevels; i++) {
-                lb.append ((char) ('0' + levels [ i ]));
+                lb.append((char) ('0' + levels [ i ]));
             }
         } else {
             // use comma separated list
@@ -294,14 +294,14 @@ public class InlineRun {
                 } else {
                     lb.append(',');
                 }
-                lb.append (levels [ i ]);
+                lb.append(levels [ i ]);
             }
         }
         return lb.toString();
     }
-    private static int[] makeLevels (int level, int count) {
+    private static int[] makeLevels(int level, int count) {
         int[] levels = new int [ count ];
-        Arrays.fill (levels, level);
+        Arrays.fill(levels, level);
         return levels;
     }
 }
index ec1fdeec9cdfb3a332ccda33195b11689753a325..d904aedbbec34e5b984cd2284255fdbbc3542d7f 100644 (file)
@@ -42,10 +42,10 @@ class TextInterval {
     private int start;              // starting index within delimited text range
     private int end;                // ending index within delimited text range
     private int level;              // resolved level or default (-1)
-    TextInterval (FONode fn, int start, int end) {
+    TextInterval(FONode fn, int start, int end) {
         this (fn, start, start, end, -1);
     }
-    TextInterval (FONode fn, int textStart, int start, int end, int level) {
+    TextInterval(FONode fn, int textStart, int start, int end, int level) {
         this.fn = fn;
         this.textStart = textStart;
         this.start = start;
@@ -67,7 +67,7 @@ class TextInterval {
     int getLevel() {
         return level;
     }
-    void setLevel (int level) {
+    void setLevel(int level) {
         this.level = level;
     }
     public int length() {
@@ -77,25 +77,25 @@ class TextInterval {
         if (fn instanceof FOText) {
             return ((FOText) fn) .getCharSequence() .toString();
         } else if (fn instanceof Character) {
-            return new String (new char[] {((Character) fn) .getCharacter()});
+            return new String(new char[] {((Character) fn) .getCharacter()});
         } else {
             return null;
         }
     }
     public void assignTextLevels() {
         if (fn instanceof FOText) {
-            ((FOText) fn) .setBidiLevel (level, start - textStart, end - textStart);
+            ((FOText) fn) .setBidiLevel(level, start - textStart, end - textStart);
         } else if (fn instanceof Character) {
-            ((Character) fn) .setBidiLevel (level);
+            ((Character) fn) .setBidiLevel(level);
         } else if (fn instanceof AbstractPageNumberCitation) {
-            ((AbstractPageNumberCitation) fn) .setBidiLevel (level);
+            ((AbstractPageNumberCitation) fn) .setBidiLevel(level);
         } else if (fn instanceof AbstractGraphics) {
-            ((AbstractGraphics) fn) .setBidiLevel (level);
+            ((AbstractGraphics) fn) .setBidiLevel(level);
         } else if (fn instanceof Leader) {
-            ((Leader) fn) .setBidiLevel (level);
+            ((Leader) fn) .setBidiLevel(level);
         }
     }
-    public boolean equals (Object o) {
+    public boolean equals(Object o) {
         if (o instanceof TextInterval) {
             TextInterval ti = (TextInterval) o;
             if (ti.getNode() != fn) {
@@ -135,8 +135,8 @@ class TextInterval {
         } else {
             c = '?';
         }
-        sb.append (c);
-        sb.append ("[" + start + "," + end + "][" + textStart + "](" + level + ")");
+        sb.append(c);
+        sb.append("[" + start + "," + end + "][" + textStart + "](" + level + ")");
         return sb.toString();
     }
 }
index d20bd692f58521857f8044de11219a3c7cec7b11..60ad7ba5b0f88780df0ea39f116445aea09ca7f5 100644 (file)
@@ -54,7 +54,7 @@ class UnflattenProcessor {
     private TextArea                tcNew;          // new text area container being constructed
     private Stack<InlineParent>     icOrig;         // stack of original inline parent containers
     private Stack<InlineParent>     icNew;          // stack of new inline parent containers being constructed
-    UnflattenProcessor (List<InlineArea> inlines) {
+    UnflattenProcessor(List<InlineArea> inlines) {
         this.il = inlines;
         this.ilNew = new ArrayList<InlineArea>();
         this.iaLevelLast = -1;
@@ -64,26 +64,26 @@ class UnflattenProcessor {
     List unflatten() {
         if (il != null) {
             for (Iterator<InlineArea> it = il.iterator(); it.hasNext(); ) {
-                process (it.next());
+                process(it.next());
             }
         }
         finishAll();
         return ilNew;
     }
-    private void process (InlineArea ia) {
-        process (findInlineContainers (ia), findTextContainer (ia), ia);
+    private void process(InlineArea ia) {
+        process(findInlineContainers(ia), findTextContainer(ia), ia);
     }
-    private void process (List<InlineParent> ich, TextArea tc, InlineArea ia) {
+    private void process(List<InlineParent> ich, TextArea tc, InlineArea ia) {
         if ((tcNew == null) || (tc != tcNew)) {
-            maybeFinishTextContainer (tc, ia);
-            maybeFinishInlineContainers (ich, tc, ia);
-            update (ich, tc, ia);
+            maybeFinishTextContainer(tc, ia);
+            maybeFinishInlineContainers(ich, tc, ia);
+            update(ich, tc, ia);
         } else {
             // skip inline area whose text container is the current new text container,
             // which occurs in the context of the inline runs produced by a filled area
         }
     }
-    private boolean shouldFinishTextContainer (TextArea tc, InlineArea ia) {
+    private boolean shouldFinishTextContainer(TextArea tc, InlineArea ia) {
         if ((tcOrig != null) && (tc != tcOrig)) {
             return true;
         } else if ((iaLevelLast != -1) && (ia.getBidiLevel() != iaLevelLast)) {
@@ -93,41 +93,41 @@ class UnflattenProcessor {
         }
     }
     private void finishTextContainer() {
-        finishTextContainer (null, null);
+        finishTextContainer(null, null);
     }
-    private void finishTextContainer (TextArea tc, InlineArea ia) {
+    private void finishTextContainer(TextArea tc, InlineArea ia) {
         if (tcNew != null) {
-            updateIPD (tcNew);
+            updateIPD(tcNew);
             if (! icNew.empty()) {
-                icNew.peek().addChildArea (tcNew);
+                icNew.peek().addChildArea(tcNew);
             } else {
-                ilNew.add (tcNew);
+                ilNew.add(tcNew);
             }
         }
         tcNew = null;
     }
-    private void maybeFinishTextContainer (TextArea tc, InlineArea ia) {
-        if (shouldFinishTextContainer (tc, ia)) {
-            finishTextContainer (tc, ia);
+    private void maybeFinishTextContainer(TextArea tc, InlineArea ia) {
+        if (shouldFinishTextContainer(tc, ia)) {
+            finishTextContainer(tc, ia);
         }
     }
-    private boolean shouldFinishInlineContainer (List<InlineParent> ich, TextArea tc, InlineArea ia) {
+    private boolean shouldFinishInlineContainer(List<InlineParent> ich, TextArea tc, InlineArea ia) {
         if ((ich == null) || ich.isEmpty()) {
             return ! icOrig.empty();
         } else {
             if (! icOrig.empty()) {
                 InlineParent ic  = ich.get(0);
                 InlineParent ic0 = icOrig.peek();
-                return (ic != ic0) && ! isInlineParentOf (ic, ic0);
+                return (ic != ic0) && ! isInlineParentOf(ic, ic0);
             } else {
                 return false;
             }
         }
     }
     private void finishInlineContainer() {
-        finishInlineContainer (null, null, null);
+        finishInlineContainer(null, null, null);
     }
-    private void finishInlineContainer (List<InlineParent> ich, TextArea tc, InlineArea ia) {
+    private void finishInlineContainer(List<InlineParent> ich, TextArea tc, InlineArea ia) {
         if ((ich != null) && ! ich.isEmpty()) {     // finish non-matching inner inline container(s)
             for (Iterator<InlineParent> it = ich.iterator(); it.hasNext(); ) {
                 InlineParent ic  = it.next();
@@ -141,9 +141,9 @@ class UnflattenProcessor {
                     assert icO0 != null;
                     assert icN0 != null;
                     if (icNew.empty()) {
-                        ilNew.add (icN0);
+                        ilNew.add(icN0);
                     } else {
-                        icNew.peek().addChildArea (icN0);
+                        icNew.peek().addChildArea(icN0);
                     }
                     if (! icOrig.empty() && (icOrig.peek() == ic)) {
                         break;
@@ -159,31 +159,31 @@ class UnflattenProcessor {
                 assert icO0 != null;
                 assert icN0 != null;
                 if (icNew.empty()) {
-                    ilNew.add (icN0);
+                    ilNew.add(icN0);
                 } else {
-                    icNew.peek().addChildArea (icN0);
+                    icNew.peek().addChildArea(icN0);
                 }
             }
         }
     }
-    private void maybeFinishInlineContainers (List<InlineParent> ich, TextArea tc, InlineArea ia) {
-        if (shouldFinishInlineContainer (ich, tc, ia)) {
-            finishInlineContainer (ich, tc, ia);
+    private void maybeFinishInlineContainers(List<InlineParent> ich, TextArea tc, InlineArea ia) {
+        if (shouldFinishInlineContainer(ich, tc, ia)) {
+            finishInlineContainer(ich, tc, ia);
         }
     }
     private void finishAll() {
         finishTextContainer();
         finishInlineContainer();
     }
-    private void update (List<InlineParent> ich, TextArea tc, InlineArea ia) {
-        if (! alreadyUnflattened (ia)) {
+    private void update(List<InlineParent> ich, TextArea tc, InlineArea ia) {
+        if (! alreadyUnflattened(ia)) {
             if ((ich != null) && ! ich.isEmpty()) {
-                pushInlineContainers (ich);
+                pushInlineContainers(ich);
             }
             if (tc != null) {
-                pushTextContainer (tc, ia);
+                pushTextContainer(tc, ia);
             } else {
-                pushNonTextInline (ia);
+                pushNonTextInline(ia);
             }
             iaLevelLast = ia.getBidiLevel();
             tcOrig = tc;
@@ -194,65 +194,65 @@ class UnflattenProcessor {
             tcOrig = null;
         }
     }
-    private boolean alreadyUnflattened (InlineArea ia) {
+    private boolean alreadyUnflattened(InlineArea ia) {
         for (Iterator<InlineArea> it = ilNew.iterator(); it.hasNext(); ) {
-            if (ia.isAncestorOrSelf (it.next())) {
+            if (ia.isAncestorOrSelf(it.next())) {
                 return true;
             }
         }
         return false;
     }
-    private void pushInlineContainers (List<InlineParent> ich) {
+    private void pushInlineContainers(List<InlineParent> ich) {
         LinkedList<InlineParent> icl = new LinkedList<InlineParent>();
         for (Iterator<InlineParent> it = ich.iterator(); it.hasNext(); ) {
             InlineParent ic = it.next();
-            if (icOrig.search (ic) >= 0) {
+            if (icOrig.search(ic) >= 0) {
                 break;
             } else {
-                icl.addFirst (ic);
+                icl.addFirst(ic);
             }
         }
         for (Iterator<InlineParent> it = icl.iterator(); it.hasNext(); ) {
             InlineParent ic = it.next();
-            icOrig.push (ic);
-            icNew.push (generateInlineContainer (ic));
+            icOrig.push(ic);
+            icNew.push(generateInlineContainer(ic));
         }
     }
-    private void pushTextContainer (TextArea tc, InlineArea ia) {
+    private void pushTextContainer(TextArea tc, InlineArea ia) {
         if (tc instanceof UnresolvedPageNumber) {
             tcNew = tc;
         } else {
             if (tcNew == null) {
-                tcNew = generateTextContainer (tc);
+                tcNew = generateTextContainer(tc);
             }
-            tcNew.addChildArea (ia);
+            tcNew.addChildArea(ia);
         }
     }
-    private void pushNonTextInline (InlineArea ia) {
+    private void pushNonTextInline(InlineArea ia) {
         if (icNew.empty()) {
-            ilNew.add (ia);
+            ilNew.add(ia);
         } else {
-            icNew.peek().addChildArea (ia);
+            icNew.peek().addChildArea(ia);
         }
     }
-    private InlineParent generateInlineContainer (InlineParent i) {
+    private InlineParent generateInlineContainer(InlineParent i) {
         if (i instanceof BasicLinkArea) {
-            return generateBasicLinkArea ((BasicLinkArea) i);
+            return generateBasicLinkArea((BasicLinkArea) i);
         } else if (i instanceof FilledArea) {
-            return generateFilledArea ((FilledArea) i);
+            return generateFilledArea((FilledArea) i);
         } else {
-            return generateInlineContainer0 (i);
+            return generateInlineContainer0(i);
         }
     }
-    private InlineParent generateBasicLinkArea (BasicLinkArea l) {
+    private InlineParent generateBasicLinkArea(BasicLinkArea l) {
         BasicLinkArea lc = new BasicLinkArea();
         if (l != null) {
-            initializeInlineContainer (lc, l);
-            initializeLinkArea (lc, l);
+            initializeInlineContainer(lc, l);
+            initializeLinkArea(lc, l);
         }
         return lc;
     }
-    private void initializeLinkArea (BasicLinkArea lc, BasicLinkArea l) {
+    private void initializeLinkArea(BasicLinkArea lc, BasicLinkArea l) {
         assert lc != null;
         assert l != null;
         LinkResolver r = l.getResolver();
@@ -260,54 +260,54 @@ class UnflattenProcessor {
             String[] idrefs = r.getIDRefs();
             if (idrefs.length > 0) {
                 String idref = idrefs[0];
-                LinkResolver lr = new LinkResolver (idref, lc);
-                lc.setResolver (lr);
-                r.addDependent (lr);
+                LinkResolver lr = new LinkResolver(idref, lc);
+                lc.setResolver(lr);
+                r.addDependent(lr);
             }
         }
     }
-    private InlineParent generateFilledArea (FilledArea f) {
+    private InlineParent generateFilledArea(FilledArea f) {
         FilledArea fc = new FilledArea();
         if (f != null) {
-            initializeInlineContainer (fc, f);
-            initializeFilledArea (fc, f);
+            initializeInlineContainer(fc, f);
+            initializeFilledArea(fc, f);
         }
         return fc;
     }
-    private void initializeFilledArea (FilledArea fc, FilledArea f) {
+    private void initializeFilledArea(FilledArea fc, FilledArea f) {
         assert fc != null;
         assert f != null;
-        fc.setIPD (f.getIPD());
-        fc.setUnitWidth (f.getUnitWidth());
+        fc.setIPD(f.getIPD());
+        fc.setUnitWidth(f.getUnitWidth());
         fc.setAdjustingInfo(f.getAdjustingInfo());
     }
-    private InlineParent generateInlineContainer0 (InlineParent i) {
+    private InlineParent generateInlineContainer0(InlineParent i) {
         InlineParent ic = new InlineParent();
         if (i != null) {
-            initializeInlineContainer (ic, i);
+            initializeInlineContainer(ic, i);
         }
         return ic;
     }
-    private void initializeInlineContainer (InlineParent ic, InlineParent i) {
+    private void initializeInlineContainer(InlineParent ic, InlineParent i) {
         assert ic != null;
         assert i != null;
-        ic.setTraits (i.getTraits());
-        ic.setBPD (i.getBPD());
-        ic.setBlockProgressionOffset (i.getBlockProgressionOffset());
+        ic.setTraits(i.getTraits());
+        ic.setBPD(i.getBPD());
+        ic.setBlockProgressionOffset(i.getBlockProgressionOffset());
     }
-    private TextArea generateTextContainer (TextArea t) {
+    private TextArea generateTextContainer(TextArea t) {
         TextArea tc = new TextArea();
         if (t != null) {
-            tc.setTraits (t.getTraits());
-            tc.setBPD (t.getBPD());
-            tc.setBlockProgressionOffset (t.getBlockProgressionOffset());
-            tc.setBaselineOffset (t.getBaselineOffset());
-            tc.setTextWordSpaceAdjust (t.getTextWordSpaceAdjust());
-            tc.setTextLetterSpaceAdjust (t.getTextLetterSpaceAdjust());
+            tc.setTraits(t.getTraits());
+            tc.setBPD(t.getBPD());
+            tc.setBlockProgressionOffset(t.getBlockProgressionOffset());
+            tc.setBaselineOffset(t.getBaselineOffset());
+            tc.setTextWordSpaceAdjust(t.getTextWordSpaceAdjust());
+            tc.setTextLetterSpaceAdjust(t.getTextLetterSpaceAdjust());
         }
         return tc;
     }
-    private void updateIPD (TextArea tc) {
+    private void updateIPD(TextArea tc) {
         int numAdjustable = 0;
         for (Iterator it = tc.getChildAreas().iterator(); it.hasNext(); ) {
             InlineArea ia = (InlineArea) it.next();
@@ -319,10 +319,10 @@ class UnflattenProcessor {
             }
         }
         if (numAdjustable > 0) {
-            tc.setIPD (tc.getIPD() + (numAdjustable * tc.getTextWordSpaceAdjust()));
+            tc.setIPD(tc.getIPD() + (numAdjustable * tc.getTextWordSpaceAdjust()));
         }
     }
-    private TextArea findTextContainer (InlineArea ia) {
+    private TextArea findTextContainer(InlineArea ia) {
         assert ia != null;
         TextArea t = null;
         while (t == null) {
@@ -339,14 +339,14 @@ class UnflattenProcessor {
         }
         return t;
     }
-    private List<InlineParent> findInlineContainers (InlineArea ia) {
+    private List<InlineParent> findInlineContainers(InlineArea ia) {
         assert ia != null;
         List<InlineParent> ich = new ArrayList<InlineParent>();
         Area a = ia.getParentArea();
         while (a != null) {
             if (a instanceof InlineArea) {
                 if ((a instanceof InlineParent) && ! (a instanceof TextArea)) {
-                    ich.add ((InlineParent) a);
+                    ich.add((InlineParent) a);
                 }
                 a = ((InlineArea) a) .getParentArea();
             } else {
@@ -355,7 +355,7 @@ class UnflattenProcessor {
         }
         return ich;
     }
-    private boolean isInlineParentOf (InlineParent ic0, InlineParent ic1) {
+    private boolean isInlineParentOf(InlineParent ic0, InlineParent ic1) {
         assert ic0 != null;
         return ic0.getParentArea() == ic1;
     }
index 75b6d19ffc27b59e545c514a64f649eb028342ef..77cc6de134a71f4d3cb6566848ac4d4e4cb3b680 100644 (file)
@@ -59,10 +59,10 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @param cs input character sequence representing a UTF-16 encoded string
      * @param defaultLevel the default paragraph level, which must be zero (LR) or one (RL)
      */
-    public static int[] resolveLevels (CharSequence cs, Direction defaultLevel) {
+    public static int[] resolveLevels(CharSequence cs, Direction defaultLevel) {
         int[] chars = new int [ cs.length() ];
-        if (convertToScalar (cs, chars) || (defaultLevel == Direction.RL)) {
-            return resolveLevels (chars, (defaultLevel == Direction.RL) ? 1 : 0, new int [ chars.length ]);
+        if (convertToScalar(cs, chars) || (defaultLevel == Direction.RL)) {
+            return resolveLevels(chars, (defaultLevel == Direction.RL) ? 1 : 0, new int [ chars.length ]);
         } else {
             return null;
         }
@@ -78,8 +78,8 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @param defaultLevel the default paragraph level, which must be zero (LR) or one (RL)
      * @param levels array to receive levels, one for each character in chars array
      */
-    public static int[] resolveLevels (int[] chars, int defaultLevel, int[] levels) {
-        return resolveLevels (chars, getClasses (chars), defaultLevel, levels, false);
+    public static int[] resolveLevels(int[] chars, int defaultLevel, int[] levels) {
+        return resolveLevels(chars, getClasses(chars), defaultLevel, levels, false);
     }
 
     /**
@@ -94,26 +94,26 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @param levels array to receive levels, one for each character in chars array
      * @param useRuleL1 true if rule L1 should be used
      */
-    public static int[] resolveLevels (int[] chars, int[] classes, int defaultLevel, int[] levels, boolean useRuleL1) {
+    public static int[] resolveLevels(int[] chars, int[] classes, int defaultLevel, int[] levels, boolean useRuleL1) {
         int[] ica = classes;
-        int[] wca = copySequence (ica);
+        int[] wca = copySequence(ica);
         int[] ea  = new int [ levels.length ];
-        resolveExplicit (wca, defaultLevel, ea);
-        resolveRuns (wca, defaultLevel, ea, levelsFromEmbeddings (ea, levels));
+        resolveExplicit(wca, defaultLevel, ea);
+        resolveRuns(wca, defaultLevel, ea, levelsFromEmbeddings(ea, levels));
         if (useRuleL1) {
-            resolveSeparators (ica, wca, defaultLevel, levels);
+            resolveSeparators(ica, wca, defaultLevel, levels);
         }
-        dump ("RL: CC(" + ((chars != null) ? chars.length : -1) + ")", chars, classes, defaultLevel, levels);
+        dump("RL: CC(" + ((chars != null) ? chars.length : -1) + ")", chars, classes, defaultLevel, levels);
         return levels;
     }
 
-    private static int[] copySequence (int[] ta) {
+    private static int[] copySequence(int[] ta) {
         int[] na = new int [ ta.length ];
-        System.arraycopy (ta, 0, na, 0, na.length);
+        System.arraycopy(ta, 0, na, 0, na.length);
         return na;
     }
 
-    private static void resolveExplicit (int[] wca, int defaultLevel, int[] ea) {
+    private static void resolveExplicit(int[] wca, int defaultLevel, int[] ea) {
         int[] es = new int [ MAX_LEVELS ];          /* embeddings stack */
         int ei = 0;                                 /* embeddings stack index */
         int ec = defaultLevel;                      /* current embedding level */
@@ -175,7 +175,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                 break;
             default:
                 if ((el & OVERRIDE) != 0) {
-                    wca [ i ] = directionOfLevel (el);
+                    wca [ i ] = directionOfLevel(el);
                 }
                 break;
             }
@@ -183,38 +183,38 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static int directionOfLevel (int level) {
+    private static int directionOfLevel(int level) {
         return ((level & 1) != 0) ? R : L;
     }
 
-    private static int levelOfEmbedding (int embedding) {
+    private static int levelOfEmbedding(int embedding) {
         return embedding & ~OVERRIDE;
     }
 
-    private static int[] levelsFromEmbeddings (int[] ea, int[] la) {
+    private static int[] levelsFromEmbeddings(int[] ea, int[] la) {
         assert ea != null;
         assert la != null;
         assert la.length == ea.length;
         for (int i = 0, n = la.length; i < n; i++) {
-            la [ i ] = levelOfEmbedding (ea [ i ]);
+            la [ i ] = levelOfEmbedding(ea [ i ]);
         }
         return la;
     }
 
-    private static void resolveRuns (int[] wca, int defaultLevel, int[] ea, int[] la) {
+    private static void resolveRuns(int[] wca, int defaultLevel, int[] ea, int[] la) {
         if (la.length != wca.length) {
-            throw new IllegalArgumentException ("levels sequence length must match classes sequence length");
+            throw new IllegalArgumentException("levels sequence length must match classes sequence length");
         } else if (la.length != ea.length) {
-            throw new IllegalArgumentException ("levels sequence length must match embeddings sequence length");
+            throw new IllegalArgumentException("levels sequence length must match embeddings sequence length");
         } else {
             for (int i = 0, n = ea.length, lPrev = defaultLevel; i < n; ) {
                 int s = i;
                 int e = s;
-                int l = findNextNonRetainedFormattingLevel (wca, ea, s, lPrev);
+                int l = findNextNonRetainedFormattingLevel(wca, ea, s, lPrev);
                 while (e < n) {
                     if (la [ e ] != l) {
-                        if (startsWithRetainedFormattingRun (wca, ea, e)) {
-                            e += getLevelRunLength (ea, e);
+                        if (startsWithRetainedFormattingRun(wca, ea, e)) {
+                            e += getLevelRunLength(ea, e);
                         } else {
                             break;
                         }
@@ -222,34 +222,34 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                         e++;
                     }
                 }
-                lPrev = resolveRun (wca, defaultLevel, ea, la, s, e, l, lPrev);
+                lPrev = resolveRun(wca, defaultLevel, ea, la, s, e, l, lPrev);
                 i = e;
             }
         }
     }
 
-    private static int findNextNonRetainedFormattingLevel (int[] wca, int[] ea, int start, int lPrev) {
+    private static int findNextNonRetainedFormattingLevel(int[] wca, int[] ea, int start, int lPrev) {
         int s = start;
         int e = wca.length;
         while (s < e) {
-            if (startsWithRetainedFormattingRun (wca, ea, s)) {
-                s += getLevelRunLength (ea, s);
+            if (startsWithRetainedFormattingRun(wca, ea, s)) {
+                s += getLevelRunLength(ea, s);
             } else {
                 break;
             }
         }
         if (s < e) {
-            return levelOfEmbedding (ea [ s ]);
+            return levelOfEmbedding(ea [ s ]);
         } else {
             return lPrev;
         }
     }
 
-    private static int getLevelRunLength (int[] ea, int start) {
+    private static int getLevelRunLength(int[] ea, int start) {
         assert start < ea.length;
         int nl = 0;
-        for (int s = start, e = ea.length, l0 = levelOfEmbedding (ea [ start ]); s < e; s++) {
-            if (levelOfEmbedding (ea [ s ]) == l0) {
+        for (int s = start, e = ea.length, l0 = levelOfEmbedding(ea [ start ]); s < e; s++) {
+            if (levelOfEmbedding(ea [ s ]) == l0) {
                 nl++;
             } else {
                 break;
@@ -258,17 +258,17 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         return nl;
     }
 
-    private static boolean startsWithRetainedFormattingRun (int[] wca, int[] ea, int start) {
-        int nl = getLevelRunLength (ea, start);
+    private static boolean startsWithRetainedFormattingRun(int[] wca, int[] ea, int start) {
+        int nl = getLevelRunLength(ea, start);
         if (nl > 0) {
-            int nc = getRetainedFormattingRunLength (wca, start);
+            int nc = getRetainedFormattingRunLength(wca, start);
             return (nc >= nl);
         } else {
             return false;
         }
     }
 
-    private static int getRetainedFormattingRunLength (int[] wca, int start) {
+    private static int getRetainedFormattingRunLength(int[] wca, int start) {
         assert start < wca.length;
         int nc = 0;
         for (int s = start, e = wca.length; s < e; s++) {
@@ -281,41 +281,41 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         return nc;
     }
 
-    private static int resolveRun (int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int levelPrev) {
+    private static int resolveRun(int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int levelPrev) {
 
         // determine start of run direction
-        int sor = directionOfLevel (max (levelPrev, level));
+        int sor = directionOfLevel(max(levelPrev, level));
 
         // determine end of run direction
         int le = -1;
         if (end == wca.length) {
-            le = max (level, defaultLevel);
+            le = max(level, defaultLevel);
         } else {
             for (int i = end; i < wca.length; i++) {
                 if (wca [ i ] != BidiConstants.BN) {
-                    le = max (level, la [ i ]);
+                    le = max(level, la [ i ]);
                     break;
                 }
             }
             if (le < 0) {
-                le = max (level, defaultLevel);
+                le = max(level, defaultLevel);
             }
         }
-        int eor = directionOfLevel (le);
+        int eor = directionOfLevel(le);
 
         if (log.isDebugEnabled()) {
-            log.debug ("BR[" + padLeft (start, 3) + "," + padLeft (end, 3) + "] :" + padLeft (level, 2) + ": SOR(" + getClassName(sor) + "), EOR(" + getClassName(eor) + ")");
+            log.debug("BR[" + padLeft(start, 3) + "," + padLeft(end, 3) + "] :" + padLeft(level, 2) + ": SOR(" + getClassName(sor) + "), EOR(" + getClassName(eor) + ")");
         }
 
-        resolveWeak (wca, defaultLevel, ea, la, start, end, level, sor, eor);
-        resolveNeutrals (wca, defaultLevel, ea, la, start, end, level, sor, eor);
-        resolveImplicit (wca, defaultLevel, ea, la, start, end, level, sor, eor);
+        resolveWeak(wca, defaultLevel, ea, la, start, end, level, sor, eor);
+        resolveNeutrals(wca, defaultLevel, ea, la, start, end, level, sor, eor);
+        resolveImplicit(wca, defaultLevel, ea, la, start, end, level, sor, eor);
 
         // if this run is all retained formatting, then return prior level, otherwise this run's level
-        return isRetainedFormatting (wca, start, end) ? levelPrev : level;
+        return isRetainedFormatting(wca, start, end) ? levelPrev : level;
     }
 
-    private static void resolveWeak (int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
+    private static void resolveWeak(int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
 
         // W1 - X BN* NSM -> X BN* X
         for (int i = start, n = end, bcPrev = sor; i < n; i++) {
@@ -334,7 +334,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                 if (bcPrev == AL) {
                     wca [ i ] = AN;
                 }
-            } else if (isStrong (bc)) {
+            } else if (isStrong(bc)) {
                 bcPrev = bc;
             }
         }
@@ -405,7 +405,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
             int bc = wca [ i ];
             if ((bc == ET) || (bc == ES) || (bc == CS)) {
                 wca [ i ] = ON;
-                resolveAdjacentBoundaryNeutrals (wca, start, end, i, ON);
+                resolveAdjacentBoundaryNeutrals(wca, start, end, i, ON);
             }
         }
 
@@ -423,12 +423,12 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
 
     }
 
-    private static void resolveNeutrals (int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
+    private static void resolveNeutrals(int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
 
         // N1 - (L|R) N+ (L|R) -> L L+ L | R R+ R; (AN|EN) N+ R -> (AN|EN) R+ R; R N+ (AN|EN) -> R R+ (AN|EN)
         for (int i = start, n = end, bcPrev = sor; i < n; i++) {
             int bc = wca [ i ];
-            if (isNeutral (bc)) {
+            if (isNeutral(bc)) {
                 int bcNext = eor;
                 for (int j = i + 1; j < n; j++) {
                     bc = wca [ j ];
@@ -438,9 +438,9 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                     } else if ((bc == AN) || (bc == EN)) {
                         bcNext = R;
                         break;
-                    } else if (isNeutral (bc)) {
+                    } else if (isNeutral(bc)) {
                         continue;
-                    } else if (isRetainedFormatting (bc)) {
+                    } else if (isRetainedFormatting(bc)) {
                         continue;
                     } else {
                         break;
@@ -448,7 +448,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                 }
                 if (bcPrev == bcNext) {
                     wca [ i ] = bcPrev;
-                    resolveAdjacentBoundaryNeutrals (wca, start, end, i, bcPrev);
+                    resolveAdjacentBoundaryNeutrals(wca, start, end, i, bcPrev);
                 }
             } else if ((bc == L) || (bc == R)) {
                 bcPrev = bc;
@@ -460,16 +460,16 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         // N2 - N -> embedding level
         for (int i = start, n = end; i < n; i++) {
             int bc = wca [ i ];
-            if (isNeutral (bc)) {
-                int bcEmbedding = directionOfLevel (levelOfEmbedding (ea [ i ]));
+            if (isNeutral(bc)) {
+                int bcEmbedding = directionOfLevel(levelOfEmbedding(ea [ i ]));
                 wca [ i ] = bcEmbedding;
-                resolveAdjacentBoundaryNeutrals (wca, start, end, i, bcEmbedding);
+                resolveAdjacentBoundaryNeutrals(wca, start, end, i, bcEmbedding);
             }
         }
 
     }
 
-    private static void resolveAdjacentBoundaryNeutrals (int[] wca, int start, int end, int index, int bcNew) {
+    private static void resolveAdjacentBoundaryNeutrals(int[] wca, int start, int end, int index, int bcNew) {
         if ((index < start) || (index >= end)) {
             throw new IllegalArgumentException();
         } else {
@@ -492,7 +492,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static void resolveImplicit (int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
+    private static void resolveImplicit(int[] wca, int defaultLevel, int[] ea, int[] la, int start, int end, int level, int sor, int eor) {
         for (int i = start, n = end; i < n; i++) {
             int bc = wca [ i ];                     // bidi class
             int el = la [ i ];                      // embedding level
@@ -526,7 +526,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @param dl default paragraph level
      * @param la array of output levels to be adjusted, as produced by bidi algorithm
      */
-    private static void resolveSeparators (int[] ica, int[] wca, int dl, int[] la) {
+    private static void resolveSeparators(int[] ica, int[] wca, int dl, int[] la) {
         // steps (1) through (3)
         for (int i = 0, n = ica.length; i < n; i++) {
             int ic = ica[i];
@@ -534,7 +534,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                 la[i] = dl;
                 for (int k = i - 1; k >= 0; k--) {
                     int pc = ica[k];
-                    if (isRetainedFormatting (pc)) {
+                    if (isRetainedFormatting(pc)) {
                         continue;
                     } else if (pc == BidiConstants.WS) {
                         la[k] = dl;
@@ -548,7 +548,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         for (int i = ica.length; i > 0; i--) {
             int k = i - 1;
             int ic = ica[k];
-            if (isRetainedFormatting (ic)) {
+            if (isRetainedFormatting(ic)) {
                 continue;
             } else if (ic == BidiConstants.WS) {
                 la[k] = dl;
@@ -559,7 +559,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         // step (5) - per section 5.2
         for (int i = 0, n = ica.length; i < n; i++) {
             int ic = ica[i];
-            if (isRetainedFormatting (ic)) {
+            if (isRetainedFormatting(ic)) {
                 if (i == 0) {
                     la[i] = dl;
                 } else {
@@ -569,7 +569,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static boolean isStrong (int bc) {
+    private static boolean isStrong(int bc) {
         switch (bc) {
         case L:
         case R:
@@ -580,7 +580,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static boolean isNeutral (int bc) {
+    private static boolean isNeutral(int bc) {
         switch (bc) {
         case WS:
         case ON:
@@ -592,7 +592,7 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static boolean isRetainedFormatting (int bc) {
+    private static boolean isRetainedFormatting(int bc) {
         switch (bc) {
         case LRE:
         case LRO:
@@ -606,16 +606,16 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static boolean isRetainedFormatting (int[] ca, int s, int e) {
+    private static boolean isRetainedFormatting(int[] ca, int s, int e) {
         for (int i = s; i < e; i++) {
-            if (! isRetainedFormatting (ca[i])) {
+            if (! isRetainedFormatting(ca[i])) {
                 return false;
             }
         }
         return true;
     }
 
-    private static int max (int x, int y) {
+    private static int max(int x, int y) {
         if (x > y) {
             return x;
         } else {
@@ -623,13 +623,13 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static int[] getClasses (int[] chars) {
+    private static int[] getClasses(int[] chars) {
         int[] classes = new int [ chars.length ];
         int bc;
         for (int i = 0, n = chars.length; i < n; i++) {
             int ch = chars [ i ];
             if (ch >= 0) {
-                bc = BidiClass.getBidiClass (chars [ i ]);
+                bc = BidiClass.getBidiClass(chars [ i ]);
             } else {
                 bc = SURROGATE;
             }
@@ -652,13 +652,13 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @throws IllegalArgumentException if the input sequence is not a valid UTF-16 string, e.g.,
      * if it contains an isolated UTF-16 surrogate
      */
-    private static boolean convertToScalar (CharSequence cs, int[] chars) throws IllegalArgumentException {
+    private static boolean convertToScalar(CharSequence cs, int[] chars) throws IllegalArgumentException {
         boolean triggered = false;
         if (chars.length != cs.length()) {
-            throw new IllegalArgumentException ("characters array length must match input sequence length");
+            throw new IllegalArgumentException("characters array length must match input sequence length");
         }
         for (int i = 0, n = chars.length; i < n; ) {
-            int chIn = cs.charAt (i);
+            int chIn = cs.charAt(i);
             int chOut;
             if (chIn < 0xD800) {
                 chOut = chIn;
@@ -666,21 +666,21 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
                 int chHi = chIn;
                 int chLo;
                 if ((i + 1) < n) {
-                    chLo = cs.charAt (i + 1);
+                    chLo = cs.charAt(i + 1);
                     if ((chLo >= 0xDC00) && (chLo <= 0xDFFF)) {
-                        chOut = convertToScalar (chHi, chLo);
+                        chOut = convertToScalar(chHi, chLo);
                     } else {
-                        throw new IllegalArgumentException ("isolated high surrogate");
+                        throw new IllegalArgumentException("isolated high surrogate");
                     }
                 } else {
-                    throw new IllegalArgumentException ("truncated surrogate pair");
+                    throw new IllegalArgumentException("truncated surrogate pair");
                 }
             } else if (chIn < 0xE000) {
-                throw new IllegalArgumentException ("isolated low surrogate");
+                throw new IllegalArgumentException("isolated low surrogate");
             } else {
                 chOut = chIn;
             }
-            if (! triggered && triggersBidi (chOut)) {
+            if (! triggered && triggersBidi(chOut)) {
                 triggered = true;
             }
             if ((chOut & 0xFF0000) == 0) {
@@ -700,11 +700,11 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @param chLo low (least significant or second) surrogate
      * @throws IllegalArgumentException if one of the input surrogates is not valid
      */
-    private static int convertToScalar (int chHi, int chLo) {
+    private static int convertToScalar(int chHi, int chLo) {
         if ((chHi < 0xD800) || (chHi > 0xDBFF)) {
-            throw new IllegalArgumentException ("bad high surrogate");
+            throw new IllegalArgumentException("bad high surrogate");
         } else if ((chLo < 0xDC00) || (chLo > 0xDFFF)) {
-            throw new IllegalArgumentException ("bad low surrogate");
+            throw new IllegalArgumentException("bad low surrogate");
         } else {
             return (((chHi & 0x03FF) << 10) | (chLo & 0x03FF)) + 0x10000;
         }
@@ -718,8 +718,8 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
      * @return true if character triggers bidirectional processing
      * @param ch a unicode scalar value
      */
-    private static boolean triggersBidi (int ch) {
-        switch (BidiClass.getBidiClass (ch)) {
+    private static boolean triggersBidi(int ch) {
+        switch (BidiClass.getBidiClass(ch)) {
         case R:
         case AL:
         case AN:
@@ -731,38 +731,38 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static void dump (String header, int[] chars, int[] classes, int defaultLevel, int[] levels) {
-        log.debug (header);
-        log.debug ("BD: default level(" + defaultLevel + ")");
+    private static void dump(String header, int[] chars, int[] classes, int defaultLevel, int[] levels) {
+        log.debug(header);
+        log.debug("BD: default level(" + defaultLevel + ")");
         StringBuffer sb = new StringBuffer();
         if (chars != null) {
             for (int i = 0, n = chars.length; i < n; i++) {
                 int ch = chars [ i ];
                 sb.setLength(0);
                 if ((ch > 0x20) && (ch < 0x7F)) {
-                    sb.append ((char) ch);
+                    sb.append((char) ch);
                 } else {
-                    sb.append (CharUtilities.charToNCRef (ch));
+                    sb.append(CharUtilities.charToNCRef(ch));
                 }
                 for (int k = sb.length(); k < 12; k++) {
-                    sb.append (' ');
+                    sb.append(' ');
                 }
-                sb.append (": " + padRight (getClassName (classes[i]), 4) + " " + levels[i]);
-                log.debug (sb);
+                sb.append(": " + padRight(getClassName(classes[i]), 4) + " " + levels[i]);
+                log.debug(sb);
             }
         } else {
             for (int i = 0, n = classes.length; i < n; i++) {
                 sb.setLength(0);
                 for (int k = sb.length(); k < 12; k++) {
-                    sb.append (' ');
+                    sb.append(' ');
                 }
-                sb.append (": " + padRight (getClassName (classes[i]), 4) + " " + levels[i]);
-                log.debug (sb);
+                sb.append(": " + padRight(getClassName(classes[i]), 4) + " " + levels[i]);
+                log.debug(sb);
             }
         }
     }
 
-    private static String getClassName (int bc) {
+    private static String getClassName(int bc) {
         switch (bc) {
         case L:                                     // left-to-right
             return "L";
@@ -809,16 +809,16 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
         }
     }
 
-    private static String padLeft (int n, int width) {
-        return padLeft (Integer.toString (n), width);
+    private static String padLeft(int n, int width) {
+        return padLeft(Integer.toString(n), width);
     }
 
-    private static String padLeft (String s, int width) {
+    private static String padLeft(String s, int width) {
         StringBuffer sb = new StringBuffer();
         for (int i = s.length(); i < width; i++) {
             sb.append(' ');
         }
-        sb.append (s);
+        sb.append(s);
         return sb.toString();
     }
 
@@ -828,8 +828,8 @@ public final class UnicodeBidiAlgorithm implements BidiConstants {
     }
     */
 
-    private static String padRight (String s, int width) {
-        StringBuffer sb = new StringBuffer (s);
+    private static String padRight(String s, int width) {
+        StringBuffer sb = new StringBuffer(s);
         for (int i = sb.length(); i < width; i++) {
             sb.append(' ');
         }
index 2223ba98ad355a9a4ce3429e809cd7650414ad03..f3b89fb8c3ae0e65b2c0facac0e3201b83ae3949 100644 (file)
@@ -35,7 +35,7 @@ public interface GlyphClassMapping {
      * @param set for coverage set based class mappings, indicates set index, otherwise ignored
      * @return size of class table
      */
-    int getClassSize (int set);
+    int getClassSize(int set);
 
     /**
      * Map glyph identifier (code) to coverge index. Returns -1 if glyph identifier is not in the domain of
@@ -44,6 +44,6 @@ public interface GlyphClassMapping {
      * @param set for coverage set based class mappings, indicates set index, otherwise ignored
      * @return non-negative glyph class index or -1 if glyph identifiers is not mapped by table
      */
-    int getClassIndex (int gid, int set);
+    int getClassIndex(int gid, int set);
 
 }
index 9a42d04c4b0a96964b624c3147506d8222b99435..62926dc5ed2c5dc5939f207828892757f8a92049 100644 (file)
@@ -46,7 +46,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
 
     private GlyphClassMapping cm;
 
-    private GlyphClassTable (GlyphClassMapping cm) {
+    private GlyphClassTable(GlyphClassMapping cm) {
         assert cm != null;
         assert cm instanceof GlyphMappingTable;
         this.cm = cm;
@@ -63,13 +63,13 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
     }
 
     /** {@inheritDoc} */
-    public int getClassSize (int set) {
-        return cm.getClassSize (set);
+    public int getClassSize(int set) {
+        return cm.getClassSize(set);
     }
 
     /** {@inheritDoc} */
-    public int getClassIndex (int gid, int set) {
-        return cm.getClassIndex (gid, set);
+    public int getClassIndex(int gid, int set) {
+        return cm.getClassIndex(gid, set);
     }
 
     /**
@@ -77,24 +77,24 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
      * @param entries list of mapped or ranged class entries, or null or empty list
      * @return a new covera table instance
      */
-    public static GlyphClassTable createClassTable (List entries) {
+    public static GlyphClassTable createClassTable(List entries) {
         GlyphClassMapping cm;
         if ((entries == null) || (entries.size() == 0)) {
-            cm = new EmptyClassTable (entries);
-        } else if (isMappedClass (entries)) {
-            cm = new MappedClassTable (entries);
-        } else if (isRangeClass (entries)) {
-            cm = new RangeClassTable (entries);
-        } else if (isCoverageSetClass (entries)) {
-            cm = new CoverageSetClassTable (entries);
+            cm = new EmptyClassTable(entries);
+        } else if (isMappedClass(entries)) {
+            cm = new MappedClassTable(entries);
+        } else if (isRangeClass(entries)) {
+            cm = new RangeClassTable(entries);
+        } else if (isCoverageSetClass(entries)) {
+            cm = new CoverageSetClassTable(entries);
         } else {
             cm = null;
         }
         assert cm != null : "unknown class type";
-        return new GlyphClassTable (cm);
+        return new GlyphClassTable(cm);
     }
 
-    private static boolean isMappedClass (List entries) {
+    private static boolean isMappedClass(List entries) {
         if ((entries == null) || (entries.size() == 0)) {
             return false;
         } else {
@@ -108,7 +108,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
         }
     }
 
-    private static boolean isRangeClass (List entries) {
+    private static boolean isRangeClass(List entries) {
         if ((entries == null) || (entries.size() == 0)) {
             return false;
         } else {
@@ -122,7 +122,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
         }
     }
 
-    private static boolean isCoverageSetClass (List entries) {
+    private static boolean isCoverageSetClass(List entries) {
         if ((entries == null) || (entries.size() == 0)) {
             return false;
         } else {
@@ -137,15 +137,15 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
     }
 
     private static class EmptyClassTable extends GlyphMappingTable.EmptyMappingTable implements GlyphClassMapping {
-        public EmptyClassTable (List entries) {
-            super (entries);
+        public EmptyClassTable(List entries) {
+            super(entries);
         }
         /** {@inheritDoc} */
-        public int getClassSize (int set) {
+        public int getClassSize(int set) {
             return 0;
         }
         /** {@inheritDoc} */
-        public int getClassIndex (int gid, int set) {
+        public int getClassIndex(int gid, int set) {
             return -1;
         }
     }
@@ -154,16 +154,16 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
         private int firstGlyph;
         private int[] gca;
         private int gcMax = -1;
-        public MappedClassTable (List entries) {
-            populate (entries);
+        public MappedClassTable(List entries) {
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             List entries = new java.util.ArrayList();
-            entries.add (Integer.valueOf (firstGlyph));
+            entries.add(Integer.valueOf(firstGlyph));
             if (gca != null) {
                 for (int i = 0, n = gca.length; i < n; i++) {
-                    entries.add (Integer.valueOf (gca [ i ]));
+                    entries.add(Integer.valueOf(gca [ i ]));
                 }
             }
             return entries;
@@ -173,7 +173,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
             return gcMax + 1;
         }
         /** {@inheritDoc} */
-        public int getMappedIndex (int gid) {
+        public int getMappedIndex(int gid) {
             int i = gid - firstGlyph;
             if ((i >= 0) && (i < gca.length)) {
                 return gca [ i ];
@@ -182,14 +182,14 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
             }
         }
         /** {@inheritDoc} */
-        public int getClassSize (int set) {
+        public int getClassSize(int set) {
             return getMappingSize();
         }
         /** {@inheritDoc} */
-        public int getClassIndex (int gid, int set) {
-            return getMappedIndex (gid);
+        public int getClassIndex(int gid, int set) {
+            return getMappedIndex(gid);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             // obtain entries iterator
             Iterator it = entries.iterator();
             // extract first glyph
@@ -199,7 +199,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
                 if (o instanceof Integer) {
                     firstGlyph = ((Integer) o) . intValue();
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal entry, first entry must be Integer denoting first glyph value, but is: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal entry, first entry must be Integer denoting first glyph value, but is: " + o);
                 }
             }
             // extract glyph class array
@@ -216,7 +216,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
                         gcMax = gc;
                     }
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal mapping entry, must be Integer: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal mapping entry, must be Integer: " + o);
                 }
             }
             assert i == n;
@@ -233,7 +233,7 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
                 if (i > 0) {
                     sb.append(',');
                 }
-                sb.append (Integer.toString (gca [ i ]));
+                sb.append(Integer.toString(gca [ i ]));
             }
             sb.append("} }");
             return sb.toString();
@@ -241,37 +241,37 @@ public final class GlyphClassTable extends GlyphMappingTable implements GlyphCla
     }
 
     private static class RangeClassTable extends GlyphMappingTable.RangeMappingTable implements GlyphClassMapping {
-        public RangeClassTable (List entries) {
-            super (entries);
+        public RangeClassTable(List entries) {
+            super(entries);
         }
         /** {@inheritDoc} */
-        public int getMappedIndex (int gid, int s, int m) {
+        public int getMappedIndex(int gid, int s, int m) {
             return m;
         }
         /** {@inheritDoc} */
-        public int getClassSize (int set) {
+        public int getClassSize(int set) {
             return getMappingSize();
         }
         /** {@inheritDoc} */
-        public int getClassIndex (int gid, int set) {
-            return getMappedIndex (gid);
+        public int getClassIndex(int gid, int set) {
+            return getMappedIndex(gid);
         }
     }
 
     private static class CoverageSetClassTable extends GlyphMappingTable.EmptyMappingTable implements GlyphClassMapping {
-        public CoverageSetClassTable (List entries) {
-            throw new UnsupportedOperationException ("coverage set class table not yet supported");
+        public CoverageSetClassTable(List entries) {
+            throw new UnsupportedOperationException("coverage set class table not yet supported");
         }
         /** {@inheritDoc} */
         public int getType() {
             return GLYPH_CLASS_TYPE_COVERAGE_SET;
         }
         /** {@inheritDoc} */
-        public int getClassSize (int set) {
+        public int getClassSize(int set) {
             return 0;
         }
         /** {@inheritDoc} */
-        public int getClassIndex (int gid, int set) {
+        public int getClassIndex(int gid, int set) {
             return -1;
         }
     }
index 8f5b2b5529470619eb9a79ac7211a5b4caf60044..3969d2f38afe732f9f40941292ae5173886e4757 100644 (file)
@@ -42,6 +42,6 @@ public interface GlyphCoverageMapping {
      * @param gid glyph identifier (code)
      * @return non-negative glyph coverage index or -1 if glyph identifiers is not mapped by table
      */
-    int getCoverageIndex (int gid);
+    int getCoverageIndex(int gid);
 
 }
index 101126be65090e8d695455622bc629d04a16128f..19b3f7c195949691a0660d824423b6947ef13a14 100644 (file)
@@ -51,7 +51,7 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
 
     private GlyphCoverageMapping cm;
 
-    private GlyphCoverageTable (GlyphCoverageMapping cm) {
+    private GlyphCoverageTable(GlyphCoverageMapping cm) {
         assert cm != null;
         assert cm instanceof GlyphMappingTable;
         this.cm = cm;
@@ -73,8 +73,8 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
     }
 
     /** {@inheritDoc} */
-    public int getCoverageIndex (int gid) {
-        return cm.getCoverageIndex (gid);
+    public int getCoverageIndex(int gid) {
+        return cm.getCoverageIndex(gid);
     }
 
     /**
@@ -82,22 +82,22 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
      * @param entries list of mapped or ranged coverage entries, or null or empty list
      * @return a new covera table instance
      */
-    public static GlyphCoverageTable createCoverageTable (List entries) {
+    public static GlyphCoverageTable createCoverageTable(List entries) {
         GlyphCoverageMapping cm;
         if ((entries == null) || (entries.size() == 0)) {
-            cm = new EmptyCoverageTable (entries);
-        } else if (isMappedCoverage (entries)) {
-            cm = new MappedCoverageTable (entries);
-        } else if (isRangeCoverage (entries)) {
-            cm = new RangeCoverageTable (entries);
+            cm = new EmptyCoverageTable(entries);
+        } else if (isMappedCoverage(entries)) {
+            cm = new MappedCoverageTable(entries);
+        } else if (isRangeCoverage(entries)) {
+            cm = new RangeCoverageTable(entries);
         } else {
             cm = null;
         }
         assert cm != null : "unknown coverage type";
-        return new GlyphCoverageTable (cm);
+        return new GlyphCoverageTable(cm);
     }
 
-    private static boolean isMappedCoverage (List entries) {
+    private static boolean isMappedCoverage(List entries) {
         if ((entries == null) || (entries.size() == 0)) {
             return false;
         } else {
@@ -111,7 +111,7 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
         }
     }
 
-    private static boolean isRangeCoverage (List entries) {
+    private static boolean isRangeCoverage(List entries) {
         if ((entries == null) || (entries.size() == 0)) {
             return false;
         } else {
@@ -126,30 +126,30 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
     }
 
     private static class EmptyCoverageTable extends GlyphMappingTable.EmptyMappingTable implements GlyphCoverageMapping {
-        public EmptyCoverageTable (List entries) {
-            super (entries);
+        public EmptyCoverageTable(List entries) {
+            super(entries);
         }
         /** {@inheritDoc} */
         public int getCoverageSize() {
             return 0;
         }
         /** {@inheritDoc} */
-        public int getCoverageIndex (int gid) {
+        public int getCoverageIndex(int gid) {
             return -1;
         }
     }
 
     private static class MappedCoverageTable extends GlyphMappingTable.MappedMappingTable implements GlyphCoverageMapping {
         private int[] map;
-        public MappedCoverageTable (List entries) {
-            populate (entries);
+        public MappedCoverageTable(List entries) {
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             List entries = new java.util.ArrayList();
             if (map != null) {
                 for (int i = 0, n = map.length; i < n; i++) {
-                    entries.add (Integer.valueOf (map [ i ]));
+                    entries.add(Integer.valueOf(map [ i ]));
                 }
             }
             return entries;
@@ -158,9 +158,9 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
         public int getMappingSize() {
             return (map != null) ? map.length : 0;
         }
-        public int getMappedIndex (int gid) {
+        public int getMappedIndex(int gid) {
             int i;
-            if ((i = Arrays.binarySearch (map, gid)) >= 0) {
+            if ((i = Arrays.binarySearch(map, gid)) >= 0) {
                 return i;
             } else {
                 return -1;
@@ -171,10 +171,10 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
             return getMappingSize();
         }
         /** {@inheritDoc} */
-        public int getCoverageIndex (int gid) {
-            return getMappedIndex (gid);
+        public int getCoverageIndex(int gid) {
+            return getMappedIndex(gid);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             int i = 0;
             int skipped = 0;
             int n = entries.size();
@@ -188,14 +188,14 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
                         if (gid > gidMax) {
                             map [ i++ ] = gidMax = gid;
                         } else {
-                            log.info ("ignoring out of order or duplicate glyph index: " + gid);
+                            log.info("ignoring out of order or duplicate glyph index: " + gid);
                             skipped++;
                         }
                     } else {
-                        throw new AdvancedTypographicTableFormatException ("illegal glyph index: " + gid);
+                        throw new AdvancedTypographicTableFormatException("illegal glyph index: " + gid);
                     }
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal coverage entry, must be Integer: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal coverage entry, must be Integer: " + o);
                 }
             }
             assert (i + skipped) == n;
@@ -210,7 +210,7 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
                 if (i > 0) {
                     sb.append(',');
                 }
-                sb.append (Integer.toString (map [ i ]));
+                sb.append(Integer.toString(map [ i ]));
             }
             sb.append('}');
             return sb.toString();
@@ -218,11 +218,11 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
     }
 
     private static class RangeCoverageTable extends GlyphMappingTable.RangeMappingTable implements GlyphCoverageMapping {
-        public RangeCoverageTable (List entries) {
-            super (entries);
+        public RangeCoverageTable(List entries) {
+            super(entries);
         }
         /** {@inheritDoc} */
-        public int getMappedIndex (int gid, int s, int m) {
+        public int getMappedIndex(int gid, int s, int m) {
             return m + gid - s;
         }
         /** {@inheritDoc} */
@@ -230,8 +230,8 @@ public final class GlyphCoverageTable extends GlyphMappingTable implements Glyph
             return getMappingSize();
         }
         /** {@inheritDoc} */
-        public int getCoverageIndex (int gid) {
-            return getMappedIndex (gid);
+        public int getCoverageIndex(int gid) {
+            return getMappedIndex(gid);
         }
     }
 
index 2e1ccf9e94d01607f19d60054ee977d306d2275f..6fc43cbc9c613bc88cbca6fa907397a71bcbe9dd 100644 (file)
@@ -34,6 +34,6 @@ public interface GlyphDefinition {
      * @param gi a glyph index
      * @return true if some (unspecified) definition is available for the specified glyph
      */
-    boolean hasDefinition (int gi);
+    boolean hasDefinition(int gi);
 
 }
index a09287cff39e2bcf000bc77d38243d6539f339b9..eaa16146a5b333961df507106ab631081f8ed703 100644 (file)
@@ -38,8 +38,8 @@ public abstract class GlyphDefinitionSubtable extends GlyphSubtable implements G
      * @param format subtable format
      * @param mapping subtable coverage table
      */
-    protected GlyphDefinitionSubtable (String id, int sequence, int flags, int format, GlyphMappingTable mapping) {
-        super (id, sequence, flags, format, mapping);
+    protected GlyphDefinitionSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping) {
+        super(id, sequence, flags, format, mapping);
     }
 
     /** {@inheritDoc} */
@@ -49,7 +49,7 @@ public abstract class GlyphDefinitionSubtable extends GlyphSubtable implements G
 
     /** {@inheritDoc} */
     public String getTypeName() {
-        return GlyphDefinitionTable.getLookupTypeName (getType());
+        return GlyphDefinitionTable.getLookupTypeName(getType());
     }
 
     /** {@inheritDoc} */
@@ -58,16 +58,16 @@ public abstract class GlyphDefinitionSubtable extends GlyphSubtable implements G
     }
 
     /** {@inheritDoc} */
-    public boolean hasDefinition (int gi) {
+    public boolean hasDefinition(int gi) {
         GlyphCoverageMapping cvm;
         if ((cvm = getCoverage()) != null) {
-            if (cvm.getCoverageIndex (gi) >= 0) {
+            if (cvm.getCoverageIndex(gi) >= 0) {
                 return true;
             }
         }
         GlyphClassMapping clm;
         if ((clm = getClasses()) != null) {
-            if (clm.getClassIndex (gi, 0) >= 0) {
+            if (clm.getClassIndex(gi, 0) >= 0) {
                 return true;
             }
         }
index 0bcc68c64e0290bce0c8e585b23773cd001d014c..3deaa7d8bee6c2246341102970a5485205e1adad 100644 (file)
@@ -74,17 +74,17 @@ public class GlyphDefinitionTable extends GlyphTable {
      * Instantiate a <code>GlyphDefinitionTable</code> object using the specified subtables.
      * @param subtables a list of identified subtables
      */
-    public GlyphDefinitionTable (List subtables) {
-        super (null, new HashMap(0));
+    public GlyphDefinitionTable(List subtables) {
+        super(null, new HashMap(0));
         if ((subtables == null) || (subtables.size() == 0)) {
-            throw new AdvancedTypographicTableFormatException ("subtables must be non-empty");
+            throw new AdvancedTypographicTableFormatException("subtables must be non-empty");
         } else {
             for (Iterator it = subtables.iterator(); it.hasNext();) {
                 Object o = it.next();
                 if (o instanceof GlyphDefinitionSubtable) {
-                    addSubtable ((GlyphSubtable) o);
+                    addSubtable((GlyphSubtable) o);
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("subtable must be a glyph definition subtable");
+                    throw new AdvancedTypographicTableFormatException("subtable must be a glyph definition subtable");
                 }
             }
             freezeSubtables();
@@ -102,13 +102,13 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param language a language identifier
      * @return the reordered (output) glyph sequence
      */
-    public GlyphSequence reorderCombiningMarks (GlyphSequence gs, int[][] gpa, String script, String language) {
-        ScriptProcessor sp = ScriptProcessor.getInstance (script);
-        return sp.reorderCombiningMarks (this, gs, gpa, script, language);
+    public GlyphSequence reorderCombiningMarks(GlyphSequence gs, int[][] gpa, String script, String language) {
+        ScriptProcessor sp = ScriptProcessor.getInstance(script);
+        return sp.reorderCombiningMarks(this, gs, gpa, script, language);
     }
 
     /** {@inheritDoc} */
-    protected void addSubtable (GlyphSubtable subtable) {
+    protected void addSubtable(GlyphSubtable subtable) {
         if (subtable instanceof GlyphClassSubtable) {
             this.gct = (GlyphClassSubtable) subtable;
         } else if (subtable instanceof AttachmentPointSubtable) {
@@ -120,7 +120,7 @@ public class GlyphDefinitionTable extends GlyphTable {
         } else if (subtable instanceof MarkAttachmentSubtable) {
             this.mat = (MarkAttachmentSubtable) subtable;
         } else {
-            throw new UnsupportedOperationException ("unsupported glyph definition subtable type: " + subtable);
+            throw new UnsupportedOperationException("unsupported glyph definition subtable type: " + subtable);
         }
     }
 
@@ -130,9 +130,9 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param gc a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
      * @return true if glyph belongs to specified glyph class
      */
-    public boolean isGlyphClass (int gid, int gc) {
+    public boolean isGlyphClass(int gid, int gc) {
         if (gct != null) {
-            return gct.isGlyphClass (gid, gc);
+            return gct.isGlyphClass(gid, gc);
         } else {
             return false;
         }
@@ -143,9 +143,9 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param gid a glyph identifier (index)
      * @return a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
      */
-    public int getGlyphClass (int gid) {
+    public int getGlyphClass(int gid) {
         if (gct != null) {
-            return gct.getGlyphClass (gid);
+            return gct.getGlyphClass(gid);
         } else {
             return -1;
         }
@@ -157,9 +157,9 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param mac a (font specific) mark attachment class
      * @return true if glyph belongs to specified mark attachment class
      */
-    public boolean isMarkAttachClass (int gid, int mac) {
+    public boolean isMarkAttachClass(int gid, int mac) {
         if (mat != null) {
-            return mat.isMarkAttachClass (gid, mac);
+            return mat.isMarkAttachClass(gid, mac);
         } else {
             return false;
         }
@@ -170,9 +170,9 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param gid a glyph identifier (index)
      * @return a non-negative mark attachment class, or -1 if no class defined
      */
-    public int getMarkAttachClass (int gid) {
+    public int getMarkAttachClass(int gid) {
         if (mat != null) {
-            return mat.getMarkAttachClass (gid);
+            return mat.getMarkAttachClass(gid);
         } else {
             return -1;
         }
@@ -183,16 +183,16 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param name lookup type name
      * @return lookup type
      */
-    public static int getLookupTypeFromName (String name) {
+    public static int getLookupTypeFromName(String name) {
         int t;
         String s = name.toLowerCase();
-        if ("glyphclass".equals (s)) {
+        if ("glyphclass".equals(s)) {
             t = GDEF_LOOKUP_TYPE_GLYPH_CLASS;
-        } else if ("attachmentpoint".equals (s)) {
+        } else if ("attachmentpoint".equals(s)) {
             t = GDEF_LOOKUP_TYPE_ATTACHMENT_POINT;
-        } else if ("ligaturecaret".equals (s)) {
+        } else if ("ligaturecaret".equals(s)) {
             t = GDEF_LOOKUP_TYPE_LIGATURE_CARET;
-        } else if ("markattachment".equals (s)) {
+        } else if ("markattachment".equals(s)) {
             t = GDEF_LOOKUP_TYPE_MARK_ATTACHMENT;
         } else {
             t = -1;
@@ -205,7 +205,7 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param type lookup type
      * @return lookup type name
      */
-    public static String getLookupTypeName (int type) {
+    public static String getLookupTypeName(int type) {
         String tn = null;
         switch (type) {
         case GDEF_LOOKUP_TYPE_GLYPH_CLASS:
@@ -238,20 +238,20 @@ public class GlyphDefinitionTable extends GlyphTable {
      * @param entries subtable entries
      * @return a glyph subtable instance
      */
-    public static GlyphSubtable createSubtable (int type, String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+    public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
         GlyphSubtable st = null;
         switch (type) {
         case GDEF_LOOKUP_TYPE_GLYPH_CLASS:
-            st = GlyphClassSubtable.create (id, sequence, flags, format, mapping, entries);
+            st = GlyphClassSubtable.create(id, sequence, flags, format, mapping, entries);
             break;
         case GDEF_LOOKUP_TYPE_ATTACHMENT_POINT:
-            st = AttachmentPointSubtable.create (id, sequence, flags, format, mapping, entries);
+            st = AttachmentPointSubtable.create(id, sequence, flags, format, mapping, entries);
             break;
         case GDEF_LOOKUP_TYPE_LIGATURE_CARET:
-            st = LigatureCaretSubtable.create (id, sequence, flags, format, mapping, entries);
+            st = LigatureCaretSubtable.create(id, sequence, flags, format, mapping, entries);
             break;
         case GDEF_LOOKUP_TYPE_MARK_ATTACHMENT:
-            st = MarkAttachmentSubtable.create (id, sequence, flags, format, mapping, entries);
+            st = MarkAttachmentSubtable.create(id, sequence, flags, format, mapping, entries);
             break;
         default:
             break;
@@ -260,8 +260,8 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private abstract static class GlyphClassSubtable extends GlyphDefinitionSubtable {
-        GlyphClassSubtable (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping);
+        GlyphClassSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping);
         }
         /** {@inheritDoc} */
         public int getType() {
@@ -273,16 +273,16 @@ public class GlyphDefinitionTable extends GlyphTable {
          * @param gc a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
          * @return true if glyph belongs to specified glyph class
          */
-        public abstract boolean isGlyphClass (int gid, int gc);
+        public abstract boolean isGlyphClass(int gid, int gc);
         /**
          * Determine glyph class.
          * @param gid a glyph identifier (index)
          * @return a pre-defined glyph class (GLYPH_CLASS_BASE|GLYPH_CLASS_LIGATURE|GLYPH_CLASS_MARK|GLYPH_CLASS_COMPONENT).
          */
-        public abstract int getGlyphClass (int gid);
-        static GlyphDefinitionSubtable create (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+        public abstract int getGlyphClass(int gid);
+        static GlyphDefinitionSubtable create(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
             if (format == 1) {
-                return new GlyphClassSubtableFormat1 (id, sequence, flags, format, mapping, entries);
+                return new GlyphClassSubtableFormat1(id, sequence, flags, format, mapping, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -290,31 +290,31 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private static class GlyphClassSubtableFormat1 extends GlyphClassSubtable {
-        GlyphClassSubtableFormat1 (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping, entries);
+        GlyphClassSubtableFormat1(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping, entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             return null;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof GlyphClassSubtable;
         }
         /** {@inheritDoc} */
-        public boolean isGlyphClass (int gid, int gc) {
+        public boolean isGlyphClass(int gid, int gc) {
             GlyphClassMapping cm = getClasses();
             if (cm != null) {
-                return cm.getClassIndex (gid, 0) == gc;
+                return cm.getClassIndex(gid, 0) == gc;
             } else {
                 return false;
             }
         }
         /** {@inheritDoc} */
-        public int getGlyphClass (int gid) {
+        public int getGlyphClass(int gid) {
             GlyphClassMapping cm = getClasses();
             if (cm != null) {
-                return cm.getClassIndex (gid, 0);
+                return cm.getClassIndex(gid, 0);
             } else {
                 return -1;
             }
@@ -322,16 +322,16 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private abstract static class AttachmentPointSubtable extends GlyphDefinitionSubtable {
-        AttachmentPointSubtable (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping);
+        AttachmentPointSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GDEF_LOOKUP_TYPE_ATTACHMENT_POINT;
         }
-        static GlyphDefinitionSubtable create (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+        static GlyphDefinitionSubtable create(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
             if (format == 1) {
-                return new AttachmentPointSubtableFormat1 (id, sequence, flags, format, mapping, entries);
+                return new AttachmentPointSubtableFormat1(id, sequence, flags, format, mapping, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -339,30 +339,30 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private static class AttachmentPointSubtableFormat1 extends AttachmentPointSubtable {
-        AttachmentPointSubtableFormat1 (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping, entries);
+        AttachmentPointSubtableFormat1(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping, entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             return null;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof AttachmentPointSubtable;
         }
     }
 
     private abstract static class LigatureCaretSubtable extends GlyphDefinitionSubtable {
-        LigatureCaretSubtable (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping);
+        LigatureCaretSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GDEF_LOOKUP_TYPE_LIGATURE_CARET;
         }
-        static GlyphDefinitionSubtable create (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+        static GlyphDefinitionSubtable create(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
             if (format == 1) {
-                return new LigatureCaretSubtableFormat1 (id, sequence, flags, format, mapping, entries);
+                return new LigatureCaretSubtableFormat1(id, sequence, flags, format, mapping, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -370,22 +370,22 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private static class LigatureCaretSubtableFormat1 extends LigatureCaretSubtable {
-        LigatureCaretSubtableFormat1 (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping, entries);
+        LigatureCaretSubtableFormat1(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping, entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             return null;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof LigatureCaretSubtable;
         }
     }
 
     private abstract static class MarkAttachmentSubtable extends GlyphDefinitionSubtable {
-        MarkAttachmentSubtable (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping);
+        MarkAttachmentSubtable(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping);
         }
         /** {@inheritDoc} */
         public int getType() {
@@ -397,16 +397,16 @@ public class GlyphDefinitionTable extends GlyphTable {
          * @param mac a (font specific) mark attachment class
          * @return true if glyph belongs to specified mark attachment class
          */
-        public abstract boolean isMarkAttachClass (int gid, int mac);
+        public abstract boolean isMarkAttachClass(int gid, int mac);
         /**
          * Determine mark attachment class.
          * @param gid a glyph identifier (index)
          * @return a non-negative mark attachment class, or -1 if no class defined
          */
-        public abstract int getMarkAttachClass (int gid);
-        static GlyphDefinitionSubtable create (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+        public abstract int getMarkAttachClass(int gid);
+        static GlyphDefinitionSubtable create(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
             if (format == 1) {
-                return new MarkAttachmentSubtableFormat1 (id, sequence, flags, format, mapping, entries);
+                return new MarkAttachmentSubtableFormat1(id, sequence, flags, format, mapping, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -414,31 +414,31 @@ public class GlyphDefinitionTable extends GlyphTable {
     }
 
     private static class MarkAttachmentSubtableFormat1 extends MarkAttachmentSubtable {
-        MarkAttachmentSubtableFormat1 (String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
-            super (id, sequence, flags, format, mapping, entries);
+        MarkAttachmentSubtableFormat1(String id, int sequence, int flags, int format, GlyphMappingTable mapping, List entries) {
+            super(id, sequence, flags, format, mapping, entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             return null;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof MarkAttachmentSubtable;
         }
         /** {@inheritDoc} */
-        public boolean isMarkAttachClass (int gid, int mac) {
+        public boolean isMarkAttachClass(int gid, int mac) {
             GlyphClassMapping cm = getClasses();
             if (cm != null) {
-                return cm.getClassIndex (gid, 0) == mac;
+                return cm.getClassIndex(gid, 0) == mac;
             } else {
                 return false;
             }
         }
         /** {@inheritDoc} */
-        public int getMarkAttachClass (int gid) {
+        public int getMarkAttachClass(int gid) {
             GlyphClassMapping cm = getClasses();
             if (cm != null) {
-                return cm.getClassIndex (gid, 0);
+                return cm.getClassIndex(gid, 0);
             } else {
                 return -1;
             }
index 17f1b78faefe6dc1152443099a706c4aeefd7f2b..eef49c39934eb0e2bd429a1018a08ef090dab1fe 100644 (file)
@@ -76,7 +76,7 @@ public class GlyphMappingTable {
      * @param gid glyph identifier (code)
      * @return non-negative glyph mapping index or -1 if glyph identifiers is not mapped by table
      */
-    public int getMappedIndex (int gid) {
+    public int getMappedIndex(int gid) {
         return -1;
     }
 
@@ -92,7 +92,7 @@ public class GlyphMappingTable {
          * Construct empty mapping table with entries (ignored).
          * @param entries list of entries (ignored)
          */
-        public EmptyMappingTable (List entries) {
+        public EmptyMappingTable(List entries) {
         }
         /** {@inheritDoc} */
         public int getType() {
@@ -107,7 +107,7 @@ public class GlyphMappingTable {
             return 0;
         }
         /** {@inheritDoc} */
-        public int getMappedIndex (int gid) {
+        public int getMappedIndex(int gid) {
             return -1;
         }
     }
@@ -135,8 +135,8 @@ public class GlyphMappingTable {
          * Construct range mapping table.
          * @param entries of mapping ranges
          */
-        public RangeMappingTable (List entries) {
-            populate (entries);
+        public RangeMappingTable(List entries) {
+            populate(entries);
         }
         /** {@inheritDoc} */
         public int getType() {
@@ -147,7 +147,7 @@ public class GlyphMappingTable {
             List entries = new java.util.ArrayList();
             if (sa != null) {
                 for (int i = 0, n = sa.length; i < n; i++) {
-                    entries.add (new MappingRange (sa [ i ], ea [ i ], ma [ i ]));
+                    entries.add(new MappingRange(sa [ i ], ea [ i ], ma [ i ]));
                 }
             }
             return entries;
@@ -157,17 +157,17 @@ public class GlyphMappingTable {
             return miMax + 1;
         }
         /** {@inheritDoc} */
-        public int getMappedIndex (int gid) {
+        public int getMappedIndex(int gid) {
             int i;
             int mi;
-            if ((i = Arrays.binarySearch (sa, gid)) >= 0) {
-                mi = getMappedIndex (gid, sa [ i ], ma [ i ]);                // matches start of (some) range
+            if ((i = Arrays.binarySearch(sa, gid)) >= 0) {
+                mi = getMappedIndex(gid, sa [ i ], ma [ i ]);                // matches start of (some) range
             } else if ((i = - (i + 1)) == 0) {
                 mi = -1;                                                        // precedes first range
             } else if (gid > ea [ --i ]) {
                 mi = -1;                                                        // follows preceding (or last) range
             } else {
-                mi = getMappedIndex (gid, sa [ i ], ma [ i ]);                // intersects (some) range
+                mi = getMappedIndex(gid, sa [ i ], ma [ i ]);                // intersects (some) range
             }
             return mi;
         }
@@ -179,8 +179,8 @@ public class GlyphMappingTable {
          * @param m mapping value
          * @return non-negative glyph mapping index or -1 if glyph identifiers is not mapped by table
          */
-        public abstract int getMappedIndex (int gid, int s, int m);
-        private void populate (List entries) {
+        public abstract int getMappedIndex(int gid, int s, int m);
+        private void populate(List entries) {
             int i = 0;
             int n = entries.size();
             int gidMax = -1;
@@ -196,15 +196,15 @@ public class GlyphMappingTable {
                     int ge = r.getEnd();
                     int mi = r.getIndex();
                     if ((gs < 0) || (gs > 65535)) {
-                        throw new AdvancedTypographicTableFormatException ("illegal glyph range: [" + gs + "," + ge + "]: bad start index");
+                        throw new AdvancedTypographicTableFormatException("illegal glyph range: [" + gs + "," + ge + "]: bad start index");
                     } else if ((ge < 0) || (ge > 65535)) {
-                        throw new AdvancedTypographicTableFormatException ("illegal glyph range: [" + gs + "," + ge + "]: bad end index");
+                        throw new AdvancedTypographicTableFormatException("illegal glyph range: [" + gs + "," + ge + "]: bad end index");
                     } else if (gs > ge) {
-                        throw new AdvancedTypographicTableFormatException ("illegal glyph range: [" + gs + "," + ge + "]: start index exceeds end index");
+                        throw new AdvancedTypographicTableFormatException("illegal glyph range: [" + gs + "," + ge + "]: start index exceeds end index");
                     } else if (gs < gidMax) {
-                        throw new AdvancedTypographicTableFormatException ("out of order glyph range: [" + gs + "," + ge + "]");
+                        throw new AdvancedTypographicTableFormatException("out of order glyph range: [" + gs + "," + ge + "]");
                     } else if (mi < 0) {
-                        throw new AdvancedTypographicTableFormatException ("illegal mapping index: " + mi);
+                        throw new AdvancedTypographicTableFormatException("illegal mapping index: " + mi);
                     } else {
                         int miLast;
                         sa [ i ] = gs;
@@ -216,7 +216,7 @@ public class GlyphMappingTable {
                         i++;
                     }
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal mapping entry, must be Integer: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal mapping entry, must be Integer: " + o);
                 }
             }
             assert i == n;
@@ -236,11 +236,11 @@ public class GlyphMappingTable {
                 if (i > 0) {
                     sb.append(',');
                 }
-                sb.append ('[');
-                sb.append (Integer.toString (sa [ i ]));
-                sb.append (Integer.toString (ea [ i ]));
-                sb.append ("]:");
-                sb.append (Integer.toString (ma [ i ]));
+                sb.append('[');
+                sb.append(Integer.toString(sa [ i ]));
+                sb.append(Integer.toString(ea [ i ]));
+                sb.append("]:");
+                sb.append(Integer.toString(ma [ i ]));
             }
             sb.append('}');
             return sb.toString();
@@ -270,7 +270,7 @@ public class GlyphMappingTable {
          * @param gidEnd end of range
          * @param index mapping index
          */
-        public MappingRange (int gidStart, int gidEnd, int index) {
+        public MappingRange(int gidStart, int gidEnd, int index) {
             if ((gidStart < 0) || (gidEnd < 0) || (index < 0)) {
                 throw new AdvancedTypographicTableFormatException();
             } else if (gidStart > gidEnd) {
@@ -307,7 +307,7 @@ public class GlyphMappingTable {
          * @param interval an array of length two or greater or null
          * @return interval as a pair of integers, filled into specified array
          */
-        public int[] getInterval (int[] interval) {
+        public int[] getInterval(int[] interval) {
             if ((interval == null) || (interval.length != 2)) {
                 throw new IllegalArgumentException();
             } else {
index 98436165549e2aedcb95770c4bf48be105c9f0ff..fc8c6eae43354c672246bcc517a803a18d97bf65 100644 (file)
@@ -39,6 +39,6 @@ public interface GlyphPositioning {
      * adjustment occurred; it only means that no further glyph subtables for the current lookup table
      * should be applied.
      */
-    boolean position (GlyphPositioningState ps);
+    boolean position(GlyphPositioningState ps);
 
 }
index 0cd8fc1e439f97e2d4bebd71a3dfb07e7105d3da..6600a82560d90b77e9abef935ef9e8243bb8f5f4 100644 (file)
@@ -60,8 +60,8 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param adjustments positioning adjustments to which positioning is applied
      * @param sct script context tester (or null)
      */
-    public GlyphPositioningState (GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
-        super (gs, script, language, feature, sct);
+    public GlyphPositioningState(GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+        super(gs, script, language, feature, sct);
         this.fontSize = fontSize;
         this.widths = widths;
         this.adjustments = adjustments;
@@ -72,8 +72,8 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * except as follows: input glyph sequence is copied deep except for its characters array.
      * @param ps existing positioning state to copy from
      */
-    public GlyphPositioningState (GlyphPositioningState ps) {
-        super (ps);
+    public GlyphPositioningState(GlyphPositioningState ps) {
+        super(ps);
         this.fontSize = ps.fontSize;
         this.widths = ps.widths;
         this.adjustments = ps.adjustments;
@@ -90,8 +90,8 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param adjustments positioning adjustments to which positioning is applied
      * @param sct script context tester (or null)
      */
-    public GlyphPositioningState reset (GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
-        super.reset (gs, script, language, feature, sct);
+    public GlyphPositioningState reset(GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+        super.reset(gs, script, language, feature, sct);
         this.fontSize = fontSize;
         this.widths = widths;
         this.adjustments = adjustments;
@@ -104,7 +104,7 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param gi glyph index
      * @return design advancement, or zero if glyph index is not present
      */
-    public int getWidth (int gi) {
+    public int getWidth(int gi) {
         if ((widths != null) && (gi < widths.length)) {
             return widths [ gi ];
         } else {
@@ -117,8 +117,8 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param v value containing adjustments
      * @return true if a non-zero adjustment was made
      */
-    public boolean adjust (GlyphPositioningTable.Value v) {
-        return adjust (v, 0);
+    public boolean adjust(GlyphPositioningTable.Value v) {
+        return adjust(v, 0);
     }
 
     /**
@@ -127,10 +127,10 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param offset from current position index
      * @return true if a non-zero adjustment was made
      */
-    public boolean adjust (GlyphPositioningTable.Value v, int offset) {
+    public boolean adjust(GlyphPositioningTable.Value v, int offset) {
         assert v != null;
         if ((index + offset) < indexLast) {
-            return v.adjust (adjustments [ index + offset ], fontSize);
+            return v.adjust(adjustments [ index + offset ], fontSize);
         } else {
             throw new IndexOutOfBoundsException();
         }
@@ -141,7 +141,7 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @return array of adjustments (int[4]) at current position
      */
     public int[] getAdjustment() {
-        return getAdjustment (0);
+        return getAdjustment(0);
     }
 
     /**
@@ -150,7 +150,7 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @return array of adjustments (int[4]) at specified offset
      * @throws IndexOutOfBoundsException if offset is invalid
      */
-    public int[] getAdjustment (int offset) throws IndexOutOfBoundsException {
+    public int[] getAdjustment(int offset) throws IndexOutOfBoundsException {
         if ((index + offset) < indexLast) {
             return adjustments [ index + offset ];
         } else {
@@ -165,10 +165,10 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @return true if subtable applied, or false if it did not (e.g., its
      * input coverage table did not match current input context)
      */
-    public boolean apply (GlyphPositioningSubtable st) {
+    public boolean apply(GlyphPositioningSubtable st) {
         assert st != null;
-        updateSubtableState (st);
-        boolean applied = st.position (this);
+        updateSubtableState(st);
+        boolean applied = st.position(this);
         return applied;
     }
 
@@ -182,7 +182,7 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * the lookups are to apply, and to be consumed once the application has finished
      * @return true if lookups are non-null and non-empty; otherwise, false
      */
-    public boolean apply (GlyphTable.RuleLookup[] lookups, int nig) {
+    public boolean apply(GlyphTable.RuleLookup[] lookups, int nig) {
         if ((lookups != null) && (lookups.length > 0)) {
             // apply each rule lookup to extracted input glyph array
             for (int i = 0, n = lookups.length; i < n; i++) {
@@ -191,15 +191,15 @@ public class GlyphPositioningState extends GlyphProcessingState {
                     GlyphTable.LookupTable lt = l.getLookup();
                     if (lt != null) {
                         // perform positioning on a copy of previous state
-                        GlyphPositioningState ps = new GlyphPositioningState (this);
+                        GlyphPositioningState ps = new GlyphPositioningState(this);
                         // apply lookup table positioning
-                        if (lt.position (ps, l.getSequenceIndex())) {
-                            setAdjusted (true);
+                        if (lt.position(ps, l.getSequenceIndex())) {
+                            setAdjusted(true);
                         }
                     }
                 }
             }
-            consume (nig);
+            consume(nig);
             return true;
         } else {
             return false;
@@ -218,7 +218,7 @@ public class GlyphPositioningState extends GlyphProcessingState {
      * @param adjusted true if to set adjusted state, otherwise false to
      * clear adjusted state
      */
-    public void setAdjusted (boolean adjusted) {
+    public void setAdjusted(boolean adjusted) {
         this.adjusted = adjusted;
     }
 
index e1bf6adcb670b92496a32c30e950a116394c5d5d..36d175ff1fa033577a47704104d67ae0d9cc4910 100644 (file)
@@ -44,8 +44,8 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
      * @param format subtable format
      * @param coverage subtable coverage table
      */
-    protected GlyphPositioningSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage) {
-        super (id, sequence, flags, format, coverage);
+    protected GlyphPositioningSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage) {
+        super(id, sequence, flags, format, coverage);
     }
 
     /** {@inheritDoc} */
@@ -55,11 +55,11 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
 
     /** {@inheritDoc} */
     public String getTypeName() {
-        return GlyphPositioningTable.getLookupTypeName (getType());
+        return GlyphPositioningTable.getLookupTypeName(getType());
     }
 
     /** {@inheritDoc} */
-    public boolean isCompatible (GlyphSubtable subtable) {
+    public boolean isCompatible(GlyphSubtable subtable) {
         return subtable instanceof GlyphPositioningSubtable;
     }
 
@@ -69,7 +69,7 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
     }
 
     /** {@inheritDoc} */
-    public boolean position (GlyphPositioningState ps) {
+    public boolean position(GlyphPositioningState ps) {
         return false;
     }
 
@@ -85,7 +85,7 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
      * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
      * @return true if a non-zero adjustment occurred
      */
-    public static final boolean position (GlyphPositioningState ps, GlyphPositioningSubtable[] sta, int sequenceIndex) {
+    public static final boolean position(GlyphPositioningState ps, GlyphPositioningSubtable[] sta, int sequenceIndex) {
         int sequenceStart = ps.getPosition();
         boolean appliedOneShot = false;
         while (ps.hasNext()) {
@@ -93,9 +93,9 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
             if (! appliedOneShot && ps.maybeApplicable()) {
                 for (int i = 0, n = sta.length; ! applied && (i < n); i++) {
                     if (sequenceIndex < 0) {
-                        applied = ps.apply (sta [ i ]);
+                        applied = ps.apply(sta [ i ]);
                     } else if (ps.getPosition() == (sequenceStart + sequenceIndex)) {
-                        applied = ps.apply (sta [ i ]);
+                        applied = ps.apply(sta [ i ]);
                         if (applied) {
                             appliedOneShot = true;
                         }
@@ -123,9 +123,9 @@ public abstract class GlyphPositioningSubtable extends GlyphSubtable implements
      * @param sct script context tester
      * @return true if a non-zero adjustment occurred
      */
-    public static final boolean position (GlyphSequence gs, String script, String language, String feature, int fontSize, GlyphPositioningSubtable[] sta, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+    public static final boolean position(GlyphSequence gs, String script, String language, String feature, int fontSize, GlyphPositioningSubtable[] sta, int[] widths, int[][] adjustments, ScriptContextTester sct) {
         synchronized (state) {
-            return position (state.reset (gs, script, language, feature, fontSize, widths, adjustments, sct), sta, -1);
+            return position(state.reset(gs, script, language, feature, fontSize, widths, adjustments, sct), sta, -1);
         }
     }
 
index f0840f5cfea95bab5ee1b702df496a45f69bd48d..0a6a17d053f05bd43c5660c479585dbaa639218c 100644 (file)
@@ -74,17 +74,17 @@ public class GlyphPositioningTable extends GlyphTable {
      * @param lookups a map of lookup specifications to subtable identifier strings
      * @param subtables a list of identified subtables
      */
-    public GlyphPositioningTable (GlyphDefinitionTable gdef, Map lookups, List subtables) {
-        super (gdef, lookups);
+    public GlyphPositioningTable(GlyphDefinitionTable gdef, Map lookups, List subtables) {
+        super(gdef, lookups);
         if ((subtables == null) || (subtables.size() == 0)) {
-            throw new AdvancedTypographicTableFormatException ("subtables must be non-empty");
+            throw new AdvancedTypographicTableFormatException("subtables must be non-empty");
         } else {
             for (Iterator it = subtables.iterator(); it.hasNext();) {
                 Object o = it.next();
                 if (o instanceof GlyphPositioningSubtable) {
-                    addSubtable ((GlyphSubtable) o);
+                    addSubtable((GlyphSubtable) o);
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("subtable must be a glyph positioning subtable");
+                    throw new AdvancedTypographicTableFormatException("subtable must be a glyph positioning subtable");
                 }
             }
             freezeSubtables();
@@ -96,26 +96,26 @@ public class GlyphPositioningTable extends GlyphTable {
      * @param name lookup type name
      * @return lookup type
      */
-    public static int getLookupTypeFromName (String name) {
+    public static int getLookupTypeFromName(String name) {
         int t;
         String s = name.toLowerCase();
-        if ("single".equals (s)) {
+        if ("single".equals(s)) {
             t = GPOS_LOOKUP_TYPE_SINGLE;
-        } else if ("pair".equals (s)) {
+        } else if ("pair".equals(s)) {
             t = GPOS_LOOKUP_TYPE_PAIR;
-        } else if ("cursive".equals (s)) {
+        } else if ("cursive".equals(s)) {
             t = GPOS_LOOKUP_TYPE_CURSIVE;
-        } else if ("marktobase".equals (s)) {
+        } else if ("marktobase".equals(s)) {
             t = GPOS_LOOKUP_TYPE_MARK_TO_BASE;
-        } else if ("marktoligature".equals (s)) {
+        } else if ("marktoligature".equals(s)) {
             t = GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE;
-        } else if ("marktomark".equals (s)) {
+        } else if ("marktomark".equals(s)) {
             t = GPOS_LOOKUP_TYPE_MARK_TO_MARK;
-        } else if ("contextual".equals (s)) {
+        } else if ("contextual".equals(s)) {
             t = GPOS_LOOKUP_TYPE_CONTEXTUAL;
-        } else if ("chainedcontextual".equals (s)) {
+        } else if ("chainedcontextual".equals(s)) {
             t = GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
-        } else if ("extensionpositioning".equals (s)) {
+        } else if ("extensionpositioning".equals(s)) {
             t = GPOS_LOOKUP_TYPE_EXTENSION_POSITIONING;
         } else {
             t = -1;
@@ -128,7 +128,7 @@ public class GlyphPositioningTable extends GlyphTable {
      * @param type lookup type
      * @return lookup type name
      */
-    public static String getLookupTypeName (int type) {
+    public static String getLookupTypeName(int type) {
         String tn;
         switch (type) {
         case GPOS_LOOKUP_TYPE_SINGLE:
@@ -176,32 +176,32 @@ public class GlyphPositioningTable extends GlyphTable {
      * @param entries subtable entries
      * @return a glyph subtable instance
      */
-    public static GlyphSubtable createSubtable (int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+    public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
         GlyphSubtable st = null;
         switch (type) {
         case GPOS_LOOKUP_TYPE_SINGLE:
-            st = SingleSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = SingleSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_PAIR:
-            st = PairSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = PairSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_CURSIVE:
-            st = CursiveSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = CursiveSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_MARK_TO_BASE:
-            st = MarkToBaseSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = MarkToBaseSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE:
-            st = MarkToLigatureSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = MarkToLigatureSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_MARK_TO_MARK:
-            st = MarkToMarkSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = MarkToMarkSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_CONTEXTUAL:
-            st = ContextualSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = ContextualSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
-            st = ChainedContextualSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = ChainedContextualSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         default:
             break;
@@ -220,8 +220,8 @@ public class GlyphPositioningTable extends GlyphTable {
      * @param entries subtable entries
      * @return a glyph subtable instance
      */
-    public static GlyphSubtable createSubtable (int type, String id, int sequence, int flags, int format, List coverage, List entries) {
-        return createSubtable (type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable (coverage), entries);
+    public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, List coverage, List entries) {
+        return createSubtable(type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable(coverage), entries);
     }
 
     /**
@@ -235,39 +235,39 @@ public class GlyphPositioningTable extends GlyphTable {
      * with one 4-tuple for each element of glyph sequence
      * @return true if some adjustment is not zero; otherwise, false
      */
-    public boolean position (GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments) {
-        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups (script, language, "*");
+    public boolean position(GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments) {
+        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups(script, language, "*");
         if ((lookups != null) && (lookups.size() > 0)) {
-            ScriptProcessor sp = ScriptProcessor.getInstance (script);
-            return sp.position (this, gs, script, language, fontSize, lookups, widths, adjustments);
+            ScriptProcessor sp = ScriptProcessor.getInstance(script);
+            return sp.position(this, gs, script, language, fontSize, lookups, widths, adjustments);
         } else {
             return false;
         }
     }
 
     private abstract static class SingleSubtable extends GlyphPositioningSubtable {
-        SingleSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        SingleSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_SINGLE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof SingleSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             int gi = ps.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
-                Value v = getValue (ci, gi);
+                Value v = getValue(ci, gi);
                 if (v != null) {
                     if (ps.adjust(v)) {
-                        ps.setAdjusted (true);
+                        ps.setAdjusted(true);
                     }
                     ps.consume(1);
                 }
@@ -280,12 +280,12 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param gi input glyph index
          * @return positioning value or null if none applies
          */
-        public abstract Value getValue (int ci, int gi);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract Value getValue(int ci, int gi);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new SingleSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new SingleSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new SingleSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new SingleSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -295,38 +295,38 @@ public class GlyphPositioningTable extends GlyphTable {
     private static class SingleSubtableFormat1 extends SingleSubtable {
         private Value value;
         private int ciMax;
-        SingleSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        SingleSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (value != null) {
-                List entries = new ArrayList (1);
-                entries.add (value);
+                List entries = new ArrayList(1);
+                entries.add(value);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public Value getValue (int ci, int gi) {
+        public Value getValue(int ci, int gi) {
             if ((value != null) && (ci <= ciMax)) {
                 return value;
             } else {
                 return null;
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if ((entries == null) || (entries.size() != 1)) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null and contain exactly one entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null and contain exactly one entry");
             } else {
                 Value v;
                 Object o = entries.get(0);
                 if (o instanceof Value) {
                     v = (Value) o;
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries entry, must be Value, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries entry, must be Value, but is: " + ((o != null) ? o.getClass() : null));
                 }
                 assert this.value == null;
                 this.value = v;
@@ -337,16 +337,16 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class SingleSubtableFormat2 extends SingleSubtable {
         private Value[] values;
-        SingleSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        SingleSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (values != null) {
-                List entries = new ArrayList (values.length);
+                List entries = new ArrayList(values.length);
                 for (int i = 0, n = values.length; i < n; i++) {
-                    entries.add (values[i]);
+                    entries.add(values[i]);
                 }
                 return entries;
             } else {
@@ -354,26 +354,26 @@ public class GlyphPositioningTable extends GlyphTable {
             }
         }
         /** {@inheritDoc} */
-        public Value getValue (int ci, int gi) {
+        public Value getValue(int ci, int gi) {
             if ((values != null) && (ci < values.length)) {
                 return values [ ci ];
             } else {
                 return null;
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof Value[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, single entry must be a Value[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, single entry must be a Value[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     Value[] va = (Value[]) o;
                     if (va.length != getCoverageSize()) {
-                        throw new AdvancedTypographicTableFormatException ("illegal values array, " + entries.size() + " values present, but requires " + getCoverageSize() + " values");
+                        throw new AdvancedTypographicTableFormatException("illegal values array, " + entries.size() + " values present, but requires " + getCoverageSize() + " values");
                     } else {
                         assert this.values == null;
                         this.values = va;
@@ -384,35 +384,35 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class PairSubtable extends GlyphPositioningSubtable {
-        PairSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        PairSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_PAIR;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof PairSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int gi = ps.getGlyph(0);
             int ci;
-            if ((ci = getCoverageIndex (gi)) >= 0) {
-                int[] counts = ps.getGlyphsAvailable (0);
+            if ((ci = getCoverageIndex(gi)) >= 0) {
+                int[] counts = ps.getGlyphsAvailable(0);
                 int nga = counts[0];
                 if (nga > 1) {
-                    int[] iga = ps.getGlyphs (0, 2, null, counts);
+                    int[] iga = ps.getGlyphs(0, 2, null, counts);
                     if ((iga != null) && (iga.length == 2)) {
-                        PairValues pv = getPairValues (ci, iga[0], iga[1]);
+                        PairValues pv = getPairValues(ci, iga[0], iga[1]);
                         if (pv != null) {
                             int offset = 0;
                             int offsetLast = counts[0] + counts[1];
                             // skip any ignored glyphs prior to first non-ignored glyph
                             for ( ; offset < offsetLast; ++offset) {
-                                if (! ps.isIgnoredGlyph (offset)) {
+                                if (! ps.isIgnoredGlyph(offset)) {
                                     break;
                                 } else {
                                     ps.consume(1);
@@ -422,14 +422,14 @@ public class GlyphPositioningTable extends GlyphTable {
                             Value v1 = pv.getValue1();
                             if (v1 != null) {
                                 if (ps.adjust(v1, offset)) {
-                                    ps.setAdjusted (true);
+                                    ps.setAdjusted(true);
                                 }
                                 ps.consume(1);          // consume first non-ignored glyph
                                 ++offset;
                             }
                             // skip any ignored glyphs prior to second non-ignored glyph
                             for ( ; offset < offsetLast; ++offset) {
-                                if (! ps.isIgnoredGlyph (offset)) {
+                                if (! ps.isIgnoredGlyph(offset)) {
                                     break;
                                 } else {
                                     ps.consume(1);
@@ -439,7 +439,7 @@ public class GlyphPositioningTable extends GlyphTable {
                             Value v2 = pv.getValue2();
                             if (v2 != null) {
                                 if (ps.adjust(v2, offset)) {
-                                    ps.setAdjusted (true);
+                                    ps.setAdjusted(true);
                                 }
                                 ps.consume(1);          // consume second non-ignored glyph
                                 ++offset;
@@ -458,12 +458,12 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param gi2 second input glyph index
          * @return pair values or null if none applies
          */
-        public abstract PairValues getPairValues (int ci, int gi1, int gi2);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract PairValues getPairValues(int ci, int gi1, int gi2);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new PairSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new PairSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new PairSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new PairSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -472,22 +472,22 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class PairSubtableFormat1 extends PairSubtable {
         private PairValues[][] pvm;                     // pair values matrix
-        PairSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        PairSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (pvm != null) {
-                List entries = new ArrayList (1);
-                entries.add (pvm);
+                List entries = new ArrayList(1);
+                entries.add(pvm);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public PairValues getPairValues (int ci, int gi1, int gi2) {
+        public PairValues getPairValues(int ci, int gi1, int gi2) {
             if ((pvm != null) && (ci < pvm.length)) {
                 PairValues[] pvt = pvm [ ci ];
                 for (int i = 0, n = pvt.length; i < n; i++) {
@@ -506,15 +506,15 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof PairValues[][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first (and only) entry must be a PairValues[][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first (and only) entry must be a PairValues[][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     pvm = (PairValues[][]) o;
                 }
@@ -528,32 +528,32 @@ public class GlyphPositioningTable extends GlyphTable {
         private int nc1;                                // class 1 count
         private int nc2;                                // class 2 count
         private PairValues[][] pvm;                     // pair values matrix
-        PairSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        PairSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (pvm != null) {
-                List entries = new ArrayList (5);
-                entries.add (cdt1);
-                entries.add (cdt2);
-                entries.add (Integer.valueOf (nc1));
-                entries.add (Integer.valueOf (nc2));
-                entries.add (pvm);
+                List entries = new ArrayList(5);
+                entries.add(cdt1);
+                entries.add(cdt2);
+                entries.add(Integer.valueOf(nc1));
+                entries.add(Integer.valueOf(nc2));
+                entries.add(pvm);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public PairValues getPairValues (int ci, int gi1, int gi2) {
+        public PairValues getPairValues(int ci, int gi1, int gi2) {
             if (pvm != null) {
-                int c1 = cdt1.getClassIndex (gi1, 0);
+                int c1 = cdt1.getClassIndex(gi1, 0);
                 if ((c1 >= 0) && (c1 < nc1) && (c1 < pvm.length)) {
                     PairValues[] pvt = pvm [ c1 ];
                     if (pvt != null) {
-                        int c2 = cdt2.getClassIndex (gi2, 0);
+                        int c2 = cdt2.getClassIndex(gi2, 0);
                         if ((c2 >= 0) && (c2 < nc2) && (c2 < pvt.length)) {
                             return pvt [ c2 ];
                         }
@@ -562,35 +562,35 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 5) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     cdt1 = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     cdt2 = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     nc1 = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     nc2 = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(4)) == null) || ! (o instanceof PairValues[][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fifth entry must be a PairValues[][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fifth entry must be a PairValues[][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     pvm = (PairValues[][]) o;
                 }
@@ -599,47 +599,47 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class CursiveSubtable extends GlyphPositioningSubtable {
-        CursiveSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        CursiveSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_CURSIVE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof CursiveSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int gi = ps.getGlyph(0);
             int ci;
-            if ((ci = getCoverageIndex (gi)) >= 0) {
-                int[] counts = ps.getGlyphsAvailable (0);
+            if ((ci = getCoverageIndex(gi)) >= 0) {
+                int[] counts = ps.getGlyphsAvailable(0);
                 int nga = counts[0];
                 if (nga > 1) {
-                    int[] iga = ps.getGlyphs (0, 2, null, counts);
+                    int[] iga = ps.getGlyphs(0, 2, null, counts);
                     if ((iga != null) && (iga.length == 2)) {
                         // int gi1 = gi;
                         int ci1 = ci;
                         int gi2 = iga [ 1 ];
-                        int ci2 = getCoverageIndex (gi2);
-                        Anchor[] aa = getExitEntryAnchors (ci1, ci2);
+                        int ci2 = getCoverageIndex(gi2);
+                        Anchor[] aa = getExitEntryAnchors(ci1, ci2);
                         if (aa != null) {
                             Anchor exa = aa [ 0 ];
                             Anchor ena = aa [ 1 ];
                             // int exw = ps.getWidth ( gi1 );
-                            int enw = ps.getWidth (gi2);
+                            int enw = ps.getWidth(gi2);
                             if ((exa != null) && (ena != null)) {
-                                Value v = ena.getAlignmentAdjustment (exa);
-                                v.adjust (- enw, 0, 0, 0);
-                                if (ps.adjust (v)) {
-                                    ps.setAdjusted (true);
+                                Value v = ena.getAlignmentAdjustment(exa);
+                                v.adjust(- enw, 0, 0, 0);
+                                if (ps.adjust(v)) {
+                                    ps.setAdjusted(true);
                                 }
                             }
                             // consume only first glyph of exit/entry glyph pair
-                            ps.consume (1);
+                            ps.consume(1);
                             applied = true;
                         }
                     }
@@ -656,10 +656,10 @@ public class GlyphPositioningTable extends GlyphTable {
          * missing, where the first entry is the exit anchor of the first glyph and the second entry is the
          * entry anchor of the second glyph
          */
-        public abstract Anchor[] getExitEntryAnchors (int ci1, int ci2);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract Anchor[] getExitEntryAnchors(int ci1, int ci2);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new CursiveSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new CursiveSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -668,22 +668,22 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class CursiveSubtableFormat1 extends CursiveSubtable {
         private Anchor[] aa;                            // anchor array, where even entries are entry anchors, and odd entries are exit anchors
-        CursiveSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        CursiveSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (aa != null) {
-                List entries = new ArrayList (1);
-                entries.add (aa);
+                List entries = new ArrayList(1);
+                entries.add(aa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public Anchor[] getExitEntryAnchors (int ci1, int ci2) {
+        public Anchor[] getExitEntryAnchors(int ci1, int ci2) {
             if ((ci1 >= 0) && (ci2 >= 0)) {
                 int ai1 = (ci1 * 2) + 1; // ci1 denotes glyph with exit anchor
                 int ai2 = (ci2 * 2) + 0; // ci2 denotes glyph with entry anchor
@@ -697,17 +697,17 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof Anchor[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first (and only) entry must be a Anchor[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first (and only) entry must be a Anchor[], but is: " + ((o != null) ? o.getClass() : null));
                 } else if ((((Anchor[]) o) . length % 2) != 0) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, Anchor[] array must have an even number of entries, but has: " + ((Anchor[]) o) . length);
+                    throw new AdvancedTypographicTableFormatException("illegal entries, Anchor[] array must have an even number of entries, but has: " + ((Anchor[]) o) . length);
                 } else {
                     aa = (Anchor[]) o;
                 }
@@ -716,41 +716,41 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class MarkToBaseSubtable extends GlyphPositioningSubtable {
-        MarkToBaseSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        MarkToBaseSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_MARK_TO_BASE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof MarkToBaseSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int giMark = ps.getGlyph();
             int ciMark;
-            if ((ciMark = getCoverageIndex (giMark)) >= 0) {
-                MarkAnchor ma = getMarkAnchor (ciMark, giMark);
+            if ((ciMark = getCoverageIndex(giMark)) >= 0) {
+                MarkAnchor ma = getMarkAnchor(ciMark, giMark);
                 if (ma != null) {
                     for (int i = 0, n = ps.getPosition(); i < n; i++) {
-                        int gi = ps.getGlyph (- (i + 1));
-                        if (ps.isMark (gi)) {
+                        int gi = ps.getGlyph(- (i + 1));
+                        if (ps.isMark(gi)) {
                             continue;
                         } else {
-                            Anchor a = getBaseAnchor (gi, ma.getMarkClass());
+                            Anchor a = getBaseAnchor(gi, ma.getMarkClass());
                             if (a != null) {
-                                Value v = a.getAlignmentAdjustment (ma);
+                                Value v = a.getAlignmentAdjustment(ma);
                                 // start experimental fix for END OF AYAH in Lateef/Scheherazade
                                 int[] aa = ps.getAdjustment();
                                 if (aa[2] == 0) {
-                                    v.adjust (0, 0, - ps.getWidth (giMark), 0);
+                                    v.adjust(0, 0, - ps.getWidth(giMark), 0);
                                 }
                                 // end experimental fix for END OF AYAH in Lateef/Scheherazade
-                                if (ps.adjust (v)) {
-                                    ps.setAdjusted (true);
+                                if (ps.adjust(v)) {
+                                    ps.setAdjusted(true);
                                 }
                             }
                             ps.consume(1);
@@ -768,17 +768,17 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param giMark input glyph index of mark glyph
          * @return mark anchor or null if none applies
          */
-        public abstract MarkAnchor getMarkAnchor (int ciMark, int giMark);
+        public abstract MarkAnchor getMarkAnchor(int ciMark, int giMark);
         /**
          * Obtain anchor associated with base glyph index and mark class.
          * @param giBase input glyph index of base glyph
          * @param markClass class number of mark glyph
          * @return anchor or null if none applies
          */
-        public abstract Anchor getBaseAnchor (int giBase, int markClass);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract Anchor getBaseAnchor(int giBase, int markClass);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new MarkToBaseSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new MarkToBaseSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -790,25 +790,25 @@ public class GlyphPositioningTable extends GlyphTable {
         private int nmc;                                // mark class count
         private MarkAnchor[] maa;                       // mark anchor array, ordered by mark coverage index
         private Anchor[][] bam;                         // base anchor matrix, ordered by base coverage index, then by mark class
-        MarkToBaseSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        MarkToBaseSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if ((bct != null) && (maa != null) && (nmc > 0) && (bam != null)) {
-                List entries = new ArrayList (4);
-                entries.add (bct);
-                entries.add (Integer.valueOf (nmc));
-                entries.add (maa);
-                entries.add (bam);
+                List entries = new ArrayList(4);
+                entries.add(bct);
+                entries.add(Integer.valueOf(nmc));
+                entries.add(maa);
+                entries.add(bam);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public MarkAnchor getMarkAnchor (int ciMark, int giMark) {
+        public MarkAnchor getMarkAnchor(int ciMark, int giMark) {
             if ((maa != null) && (ciMark < maa.length)) {
                 return maa [ ciMark ];
             } else {
@@ -816,9 +816,9 @@ public class GlyphPositioningTable extends GlyphTable {
             }
         }
         /** {@inheritDoc} */
-        public Anchor getBaseAnchor (int giBase, int markClass) {
+        public Anchor getBaseAnchor(int giBase, int markClass) {
             int ciBase;
-            if ((bct != null) && ((ciBase = bct.getCoverageIndex (giBase)) >= 0)) {
+            if ((bct != null) && ((ciBase = bct.getCoverageIndex(giBase)) >= 0)) {
                 if ((bam != null) && (ciBase < bam.length)) {
                     Anchor[] ba = bam [ ciBase ];
                     if ((ba != null) && (markClass < ba.length)) {
@@ -828,30 +828,30 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 4) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 4 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 4 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphCoverageTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     bct = (GlyphCoverageTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     nmc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof MarkAnchor[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     maa = (MarkAnchor[]) o;
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof Anchor[][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be a Anchor[][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be a Anchor[][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     bam = (Anchor[][]) o;
                 }
@@ -860,35 +860,35 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class MarkToLigatureSubtable extends GlyphPositioningSubtable {
-        MarkToLigatureSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        MarkToLigatureSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof MarkToLigatureSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int giMark = ps.getGlyph();
             int ciMark;
-            if ((ciMark = getCoverageIndex (giMark)) >= 0) {
-                MarkAnchor ma = getMarkAnchor (ciMark, giMark);
+            if ((ciMark = getCoverageIndex(giMark)) >= 0) {
+                MarkAnchor ma = getMarkAnchor(ciMark, giMark);
                 int mxc = getMaxComponentCount();
                 if (ma != null) {
                     for (int i = 0, n = ps.getPosition(); i < n; i++) {
-                        int gi = ps.getGlyph (- (i + 1));
-                        if (ps.isMark (gi)) {
+                        int gi = ps.getGlyph(- (i + 1));
+                        if (ps.isMark(gi)) {
                             continue;
                         } else {
-                            Anchor a = getLigatureAnchor (gi, mxc, i, ma.getMarkClass());
+                            Anchor a = getLigatureAnchor(gi, mxc, i, ma.getMarkClass());
                             if (a != null) {
-                                if (ps.adjust (a.getAlignmentAdjustment (ma))) {
-                                    ps.setAdjusted (true);
+                                if (ps.adjust(a.getAlignmentAdjustment(ma))) {
+                                    ps.setAdjusted(true);
                                 }
                             }
                             ps.consume(1);
@@ -906,7 +906,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param giMark input glyph index of mark glyph
          * @return mark anchor or null if none applies
          */
-        public abstract MarkAnchor getMarkAnchor (int ciMark, int giMark);
+        public abstract MarkAnchor getMarkAnchor(int ciMark, int giMark);
         /**
          * Obtain maximum component count.
          * @return maximum component count (>=0)
@@ -920,10 +920,10 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param markClass class number of mark glyph
          * @return anchor or null if none applies
          */
-        public abstract Anchor getLigatureAnchor (int giLig, int maxComponents, int component, int markClass);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract Anchor getLigatureAnchor(int giLig, int maxComponents, int component, int markClass);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new MarkToLigatureSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new MarkToLigatureSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -936,26 +936,26 @@ public class GlyphPositioningTable extends GlyphTable {
         private int mxc;                                // maximum ligature component count
         private MarkAnchor[] maa;                       // mark anchor array, ordered by mark coverage index
         private Anchor[][][] lam;                       // ligature anchor matrix, ordered by ligature coverage index, then ligature component, then mark class
-        MarkToLigatureSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        MarkToLigatureSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (lam != null) {
-                List entries = new ArrayList (5);
-                entries.add (lct);
-                entries.add (Integer.valueOf (nmc));
-                entries.add (Integer.valueOf (mxc));
-                entries.add (maa);
-                entries.add (lam);
+                List entries = new ArrayList(5);
+                entries.add(lct);
+                entries.add(Integer.valueOf(nmc));
+                entries.add(Integer.valueOf(mxc));
+                entries.add(maa);
+                entries.add(lam);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public MarkAnchor getMarkAnchor (int ciMark, int giMark) {
+        public MarkAnchor getMarkAnchor(int ciMark, int giMark) {
             if ((maa != null) && (ciMark < maa.length)) {
                 return maa [ ciMark ];
             } else {
@@ -967,9 +967,9 @@ public class GlyphPositioningTable extends GlyphTable {
             return mxc;
         }
         /** {@inheritDoc} */
-        public Anchor getLigatureAnchor (int giLig, int maxComponents, int component, int markClass) {
+        public Anchor getLigatureAnchor(int giLig, int maxComponents, int component, int markClass) {
             int ciLig;
-            if ((lct != null) && ((ciLig = lct.getCoverageIndex (giLig)) >= 0)) {
+            if ((lct != null) && ((ciLig = lct.getCoverageIndex(giLig)) >= 0)) {
                 if ((lam != null) && (ciLig < lam.length)) {
                     Anchor[][] lcm = lam [ ciLig ];
                     if (component < maxComponents) {
@@ -982,35 +982,35 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 5) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphCoverageTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     lct = (GlyphCoverageTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     nmc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     mxc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof MarkAnchor[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     maa = (MarkAnchor[]) o;
                 }
                 if (((o = entries.get(4)) == null) || ! (o instanceof Anchor[][][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fifth entry must be a Anchor[][][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fifth entry must be a Anchor[][][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     lam = (Anchor[][][]) o;
                 }
@@ -1019,30 +1019,30 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class MarkToMarkSubtable extends GlyphPositioningSubtable {
-        MarkToMarkSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        MarkToMarkSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_MARK_TO_MARK;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof MarkToMarkSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int giMark1 = ps.getGlyph();
             int ciMark1;
-            if ((ciMark1 = getCoverageIndex (giMark1)) >= 0) {
-                MarkAnchor ma = getMark1Anchor (ciMark1, giMark1);
+            if ((ciMark1 = getCoverageIndex(giMark1)) >= 0) {
+                MarkAnchor ma = getMark1Anchor(ciMark1, giMark1);
                 if (ma != null) {
                     if (ps.hasPrev()) {
-                        Anchor a = getMark2Anchor (ps.getGlyph(-1), ma.getMarkClass());
+                        Anchor a = getMark2Anchor(ps.getGlyph(-1), ma.getMarkClass());
                         if (a != null) {
-                            if (ps.adjust (a.getAlignmentAdjustment (ma))) {
-                                ps.setAdjusted (true);
+                            if (ps.adjust(a.getAlignmentAdjustment(ma))) {
+                                ps.setAdjusted(true);
                             }
                         }
                         ps.consume(1);
@@ -1058,17 +1058,17 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param giMark1 input glyph index of mark 1 glyph
          * @return mark 1 anchor or null if none applies
          */
-        public abstract MarkAnchor getMark1Anchor (int ciMark1, int giMark1);
+        public abstract MarkAnchor getMark1Anchor(int ciMark1, int giMark1);
         /**
          * Obtain anchor associated with mark 2 glyph index and mark 1 class.
          * @param giMark2 input glyph index of mark 2 glyph
          * @param markClass class number of mark 1 glyph
          * @return anchor or null if none applies
          */
-        public abstract Anchor getMark2Anchor (int giBase, int markClass);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract Anchor getMark2Anchor(int giBase, int markClass);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new MarkToMarkSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new MarkToMarkSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -1080,25 +1080,25 @@ public class GlyphPositioningTable extends GlyphTable {
         private int nmc;                                // mark class count
         private MarkAnchor[] maa;                       // mark1 anchor array, ordered by mark1 coverage index
         private Anchor[][] mam;                         // mark2 anchor matrix, ordered by mark2 coverage index, then by mark1 class
-        MarkToMarkSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        MarkToMarkSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if ((mct2 != null) && (maa != null) && (nmc > 0) && (mam != null)) {
-                List entries = new ArrayList (4);
-                entries.add (mct2);
-                entries.add (Integer.valueOf (nmc));
-                entries.add (maa);
-                entries.add (mam);
+                List entries = new ArrayList(4);
+                entries.add(mct2);
+                entries.add(Integer.valueOf(nmc));
+                entries.add(maa);
+                entries.add(mam);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public MarkAnchor getMark1Anchor (int ciMark1, int giMark1) {
+        public MarkAnchor getMark1Anchor(int ciMark1, int giMark1) {
             if ((maa != null) && (ciMark1 < maa.length)) {
                 return maa [ ciMark1 ];
             } else {
@@ -1106,9 +1106,9 @@ public class GlyphPositioningTable extends GlyphTable {
             }
         }
         /** {@inheritDoc} */
-        public Anchor getMark2Anchor (int giMark2, int markClass) {
+        public Anchor getMark2Anchor(int giMark2, int markClass) {
             int ciMark2;
-            if ((mct2 != null) && ((ciMark2 = mct2.getCoverageIndex (giMark2)) >= 0)) {
+            if ((mct2 != null) && ((ciMark2 = mct2.getCoverageIndex(giMark2)) >= 0)) {
                 if ((mam != null) && (ciMark2 < mam.length)) {
                     Anchor[] ma = mam [ ciMark2 ];
                     if ((ma != null) && (markClass < ma.length)) {
@@ -1118,30 +1118,30 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 4) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 4 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 4 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphCoverageTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphCoverageTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     mct2 = (GlyphCoverageTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     nmc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof MarkAnchor[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be a MarkAnchor[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     maa = (MarkAnchor[]) o;
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof Anchor[][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be a Anchor[][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be a Anchor[][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     mam = (Anchor[][]) o;
                 }
@@ -1150,27 +1150,27 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class ContextualSubtable extends GlyphPositioningSubtable {
-        ContextualSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        ContextualSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_CONTEXTUAL;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof ContextualSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int gi = ps.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) >= 0) {
+            if ((ci = getCoverageIndex(gi)) >= 0) {
                 int[] rv = new int[1];
-                RuleLookup[] la = getLookups (ci, gi, ps, rv);
+                RuleLookup[] la = getLookups(ci, gi, ps, rv);
                 if (la != null) {
-                    ps.apply (la, rv[0]);
+                    ps.apply(la, rv[0]);
                     applied = true;
                 }
             }
@@ -1185,14 +1185,14 @@ public class GlyphPositioningTable extends GlyphTable {
          * where the first entry is used to return the input sequence length of the matched rule
          * @return array of rule lookups or null if none applies
          */
-        public abstract RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new ContextualSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new ContextualSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else if (format == 3) {
-                return new ContextualSubtableFormat3 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat3(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -1201,26 +1201,26 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class ContextualSubtableFormat1 extends ContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
-        ContextualSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1232,8 +1232,8 @@ public class GlyphPositioningTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedGlyphSequenceRule)) {
                             ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
-                            int[] iga = cr.getGlyphs (gi);
-                            if (matches (ps, iga, 0, rv)) {
+                            int[] iga = cr.getGlyphs(gi);
+                            if (matches(ps, iga, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -1242,19 +1242,19 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphPositioningState ps, int[] glyphs, int offset, int[] rv) {
+        static boolean matches(GlyphPositioningState ps, int[] glyphs, int offset, int[] rv) {
             if ((glyphs == null) || (glyphs.length == 0)) {
                 return true;                            // match null or empty glyph sequence
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ps.getIgnoreDefault();
-                int[] counts = ps.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ps.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = glyphs.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ps.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ps.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         if (ga [ k ] != glyphs [ k ]) {
                             return false;               // match fails at ga [ k ]
@@ -1267,15 +1267,15 @@ public class GlyphPositioningTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1287,28 +1287,28 @@ public class GlyphPositioningTable extends GlyphTable {
         private GlyphClassTable cdt;                    // class def table
         private int ngc;                                // class set count
         private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
-        ContextualSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (3);
-                entries.add (cdt);
-                entries.add (Integer.valueOf (ngc));
-                entries.add (rsa);
+                List entries = new ArrayList(3);
+                entries.add(cdt);
+                entries.add(Integer.valueOf(ngc));
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1320,8 +1320,8 @@ public class GlyphPositioningTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedClassSequenceRule)) {
                             ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
-                            int[] ca = cr.getClasses (cdt.getClassIndex (gi, ps.getClassMatchSet (gi)));
-                            if (matches (ps, cdt, ca, 0, rv)) {
+                            int[] ca = cr.getClasses(cdt.getClassIndex(gi, ps.getClassMatchSet(gi)));
+                            if (matches(ps, cdt, ca, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -1330,24 +1330,24 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
+        static boolean matches(GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
             if ((cdt == null) || (classes == null) || (classes.length == 0)) {
                 return true;                            // match null class definitions, null or empty class sequence
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ps.getIgnoreDefault();
-                int[] counts = ps.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ps.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = classes.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ps.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ps.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         int gi = ga [ k ];
-                        int ms = ps.getClassMatchSet (gi);
-                        int gc = cdt.getClassIndex (gi, ms);
-                        if ((gc < 0) || (gc >= cdt.getClassSize (ms))) {
+                        int ms = ps.getClassMatchSet(gi);
+                        int gc = cdt.getClassIndex(gi, ms);
+                        if ((gc < 0) || (gc >= cdt.getClassSize(ms))) {
                             return false;               // none or invalid class fails mat ch
                         } else if (gc != classes [ k ]) {
                             return false;               // match fails at ga [ k ]
@@ -1360,29 +1360,29 @@ public class GlyphPositioningTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 3) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 3 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 3 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     cdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     ngc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                     if (rsa.length != ngc) {
-                        throw new AdvancedTypographicTableFormatException ("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
+                        throw new AdvancedTypographicTableFormatException("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
                     }
                 }
             }
@@ -1391,26 +1391,26 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class ContextualSubtableFormat3 extends ContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, containing a single rule set
-        ContextualSubtableFormat3 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat3(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1423,7 +1423,7 @@ public class GlyphPositioningTable extends GlyphTable {
                         if ((r != null) && (r instanceof ChainedCoverageSequenceRule)) {
                             ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
                             GlyphCoverageTable[] gca = cr.getCoverages();
-                            if (matches (ps, gca, 0, rv)) {
+                            if (matches(ps, gca, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -1432,23 +1432,23 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv) {
+        static boolean matches(GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv) {
             if ((gca == null) || (gca.length == 0)) {
                 return true;                            // match null or empty coverage array
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ps.getIgnoreDefault();
-                int[] counts = ps.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ps.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = gca.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ps.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ps.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         GlyphCoverageTable ct = gca [ k ];
                         if (ct != null) {
-                            if (ct.getCoverageIndex (ga [ k ]) < 0) {
+                            if (ct.getCoverageIndex(ga [ k ]) < 0) {
                                 return false;           // match fails at ga [ k ]
                             }
                         }
@@ -1460,15 +1460,15 @@ public class GlyphPositioningTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1477,27 +1477,27 @@ public class GlyphPositioningTable extends GlyphTable {
     }
 
     private abstract static class ChainedContextualSubtable extends GlyphPositioningSubtable {
-        ChainedContextualSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        ChainedContextualSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof ChainedContextualSubtable;
         }
         /** {@inheritDoc} */
-        public boolean position (GlyphPositioningState ps) {
+        public boolean position(GlyphPositioningState ps) {
             boolean applied = false;
             int gi = ps.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) >= 0) {
+            if ((ci = getCoverageIndex(gi)) >= 0) {
                 int[] rv = new int[1];
-                RuleLookup[] la = getLookups (ci, gi, ps, rv);
+                RuleLookup[] la = getLookups(ci, gi, ps, rv);
                 if (la != null) {
-                    ps.apply (la, rv[0]);
+                    ps.apply(la, rv[0]);
                     applied = true;
                 }
             }
@@ -1512,14 +1512,14 @@ public class GlyphPositioningTable extends GlyphTable {
          * where the first entry is used to return the input sequence length of the matched rule
          * @return array of rule lookups or null if none applies
          */
-        public abstract RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv);
-        static GlyphPositioningSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv);
+        static GlyphPositioningSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new ChainedContextualSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new ChainedContextualSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else if (format == 3) {
-                return new ChainedContextualSubtableFormat3 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat3(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -1528,26 +1528,26 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class ChainedContextualSubtableFormat1 extends ChainedContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
-        ChainedContextualSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1559,12 +1559,12 @@ public class GlyphPositioningTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedGlyphSequenceRule)) {
                             ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
-                            int[] iga = cr.getGlyphs (gi);
-                            if (matches (ps, iga, 0, rv)) {
+                            int[] iga = cr.getGlyphs(gi);
+                            if (matches(ps, iga, 0, rv)) {
                                 int[] bga = cr.getBacktrackGlyphs();
-                                if (matches (ps, bga, -1, null)) {
+                                if (matches(ps, bga, -1, null)) {
                                     int[] lga = cr.getLookaheadGlyphs();
-                                    if (matches (ps, lga, rv[0], null)) {
+                                    if (matches(ps, lga, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1575,18 +1575,18 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphPositioningState ps, int[] glyphs, int offset, int[] rv) {
-            return ContextualSubtableFormat1.matches (ps, glyphs, offset, rv);
+        private boolean matches(GlyphPositioningState ps, int[] glyphs, int offset, int[] rv) {
+            return ContextualSubtableFormat1.matches(ps, glyphs, offset, rv);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1600,30 +1600,30 @@ public class GlyphPositioningTable extends GlyphTable {
         private GlyphClassTable lcdt;                   // lookahead class def table
         private int ngc;                                // class set count
         private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
-        ChainedContextualSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (5);
-                entries.add (icdt);
-                entries.add (bcdt);
-                entries.add (lcdt);
-                entries.add (Integer.valueOf (ngc));
-                entries.add (rsa);
+                List entries = new ArrayList(5);
+                entries.add(icdt);
+                entries.add(bcdt);
+                entries.add(lcdt);
+                entries.add(Integer.valueOf(ngc));
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1635,12 +1635,12 @@ public class GlyphPositioningTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedClassSequenceRule)) {
                             ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
-                            int[] ica = cr.getClasses (icdt.getClassIndex (gi, ps.getClassMatchSet (gi)));
-                            if (matches (ps, icdt, ica, 0, rv)) {
+                            int[] ica = cr.getClasses(icdt.getClassIndex(gi, ps.getClassMatchSet(gi)));
+                            if (matches(ps, icdt, ica, 0, rv)) {
                                 int[] bca = cr.getBacktrackClasses();
-                                if (matches (ps, bcdt, bca, -1, null)) {
+                                if (matches(ps, bcdt, bca, -1, null)) {
                                     int[] lca = cr.getLookaheadClasses();
-                                    if (matches (ps, lcdt, lca, rv[0], null)) {
+                                    if (matches(ps, lcdt, lca, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1651,42 +1651,42 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
-            return ContextualSubtableFormat2.matches (ps, cdt, classes, offset, rv);
+        private boolean matches(GlyphPositioningState ps, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
+            return ContextualSubtableFormat2.matches(ps, cdt, classes, offset, rv);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 5) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     icdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(1)) != null) && ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass());
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass());
                 } else {
                     bcdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(2)) != null) && ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass());
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass());
                 } else {
                     lcdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     ngc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(4)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fifth entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fifth entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                     if (rsa.length != ngc) {
-                        throw new AdvancedTypographicTableFormatException ("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
+                        throw new AdvancedTypographicTableFormatException("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
                     }
                 }
             }
@@ -1695,26 +1695,26 @@ public class GlyphPositioningTable extends GlyphTable {
 
     private static class ChainedContextualSubtableFormat3 extends ChainedContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, containing a single rule set
-        ChainedContextualSubtableFormat3 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat3(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphPositioningState ps, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphPositioningState ps, int[] rv) {
             assert ps != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1727,11 +1727,11 @@ public class GlyphPositioningTable extends GlyphTable {
                         if ((r != null) && (r instanceof ChainedCoverageSequenceRule)) {
                             ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
                             GlyphCoverageTable[] igca = cr.getCoverages();
-                            if (matches (ps, igca, 0, rv)) {
+                            if (matches(ps, igca, 0, rv)) {
                                 GlyphCoverageTable[] bgca = cr.getBacktrackCoverages();
-                                if (matches (ps, bgca, -1, null)) {
+                                if (matches(ps, bgca, -1, null)) {
                                     GlyphCoverageTable[] lgca = cr.getLookaheadCoverages();
-                                    if (matches (ps, lgca, rv[0], null)) {
+                                    if (matches(ps, lgca, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1742,18 +1742,18 @@ public class GlyphPositioningTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv) {
-            return ContextualSubtableFormat3.matches (ps, gca, offset, rv);
+        private boolean matches(GlyphPositioningState ps, GlyphCoverageTable[] gca, int offset, int[] rv) {
+            return ContextualSubtableFormat3.matches(ps, gca, offset, rv);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1777,7 +1777,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param endSize the ending (scaled) size
          * @param deltas adjustments for each scaled size
          */
-        public DeviceTable (int startSize, int endSize, int[] deltas) {
+        public DeviceTable(int startSize, int endSize, int[] deltas) {
             assert startSize >= 0;
             assert startSize <= endSize;
             assert deltas != null;
@@ -1807,7 +1807,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param fontSize the font size to search for
          * @return an adjustment if font size matches an entry
          */
-        public int findAdjustment (int fontSize) {
+        public int findAdjustment(int fontSize) {
             // [TODO] at present, assumes that 1 device unit equals one point
             int fs = fontSize / 1000;
             if (fs < startSize) {
@@ -1821,7 +1821,7 @@ public class GlyphPositioningTable extends GlyphTable {
 
         /** {@inheritDoc} */
         public String toString() {
-            return "{ start = " + startSize + ", end = " + endSize + ", deltas = " + Arrays.toString (deltas) + "}";
+            return "{ start = " + startSize + ", end = " + endSize + ", deltas = " + Arrays.toString(deltas) + "}";
         }
 
     }
@@ -1879,7 +1879,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param xAdvDevice the x advance device table or null
          * @param yAdvDevice the y advance device table or null
          */
-        public Value (int xPlacement, int yPlacement, int xAdvance, int yAdvance, DeviceTable xPlaDevice, DeviceTable yPlaDevice, DeviceTable xAdvDevice, DeviceTable yAdvDevice) {
+        public Value(int xPlacement, int yPlacement, int xAdvance, int yAdvance, DeviceTable xPlaDevice, DeviceTable yPlaDevice, DeviceTable xAdvDevice, DeviceTable yAdvDevice) {
             this.xPlacement = xPlacement;
             this.yPlacement = yPlacement;
             this.xAdvance = xAdvance;
@@ -1937,7 +1937,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param xAdvance the x advance or zero
          * @param yAdvance the y advance or zero
          */
-        public void adjust (int xPlacement, int yPlacement, int xAdvance, int yAdvance) {
+        public void adjust(int xPlacement, int yPlacement, int xAdvance, int yAdvance) {
             this.xPlacement += xPlacement;
             this.yPlacement += yPlacement;
             this.xAdvance += xAdvance;
@@ -1950,7 +1950,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param fontSize font size for device table adjustments
          * @return true if some adjustment was made
          */
-        public boolean adjust (int[] adjustments, int fontSize) {
+        public boolean adjust(int[] adjustments, int fontSize) {
             boolean adjust = false;
             int dv;
             if ((dv = xPlacement) != 0) {
@@ -1972,25 +1972,25 @@ public class GlyphPositioningTable extends GlyphTable {
             if (fontSize != 0) {
                 DeviceTable dt;
                 if ((dt = xPlaDevice) != null) {
-                    if ((dv = dt.findAdjustment (fontSize)) != 0) {
+                    if ((dv = dt.findAdjustment(fontSize)) != 0) {
                         adjustments [ IDX_X_PLACEMENT ] += dv;
                         adjust = true;
                     }
                 }
                 if ((dt = yPlaDevice) != null) {
-                    if ((dv = dt.findAdjustment (fontSize)) != 0) {
+                    if ((dv = dt.findAdjustment(fontSize)) != 0) {
                         adjustments [ IDX_Y_PLACEMENT ] += dv;
                         adjust = true;
                     }
                 }
                 if ((dt = xAdvDevice) != null) {
-                    if ((dv = dt.findAdjustment (fontSize)) != 0) {
+                    if ((dv = dt.findAdjustment(fontSize)) != 0) {
                         adjustments [ IDX_X_ADVANCE ] += dv;
                         adjust = true;
                     }
                 }
                 if ((dt = yAdvDevice) != null) {
-                    if ((dv = dt.findAdjustment (fontSize)) != 0) {
+                    if ((dv = dt.findAdjustment(fontSize)) != 0) {
                         adjustments [ IDX_Y_ADVANCE ] += dv;
                         adjust = true;
                     }
@@ -2003,70 +2003,70 @@ public class GlyphPositioningTable extends GlyphTable {
         public String toString() {
             StringBuffer sb = new StringBuffer();
             boolean first = true;
-            sb.append ("{ ");
+            sb.append("{ ");
             if (xPlacement != 0) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xPlacement = " + xPlacement);
+                sb.append("xPlacement = " + xPlacement);
             }
             if (yPlacement != 0) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("yPlacement = " + yPlacement);
+                sb.append("yPlacement = " + yPlacement);
             }
             if (xAdvance != 0) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xAdvance = " + xAdvance);
+                sb.append("xAdvance = " + xAdvance);
             }
             if (yAdvance != 0) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("yAdvance = " + yAdvance);
+                sb.append("yAdvance = " + yAdvance);
             }
             if (xPlaDevice != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xPlaDevice = " + xPlaDevice);
+                sb.append("xPlaDevice = " + xPlaDevice);
             }
             if (yPlaDevice != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xPlaDevice = " + yPlaDevice);
+                sb.append("xPlaDevice = " + yPlaDevice);
             }
             if (xAdvDevice != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xAdvDevice = " + xAdvDevice);
+                sb.append("xAdvDevice = " + xAdvDevice);
             }
             if (yAdvDevice != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("xAdvDevice = " + yAdvDevice);
+                sb.append("xAdvDevice = " + yAdvDevice);
             }
             sb.append(" }");
             return sb.toString();
@@ -2090,7 +2090,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param value1 the value of the first glyph in pair (or null)
          * @param value2 the value of the second glyph in pair (or null)
          */
-        public PairValues (int glyph, Value value1, Value value2) {
+        public PairValues(int glyph, Value value1, Value value2) {
             assert glyph >= 0;
             this.glyph = glyph;
             this.value1 = value1;
@@ -2116,30 +2116,30 @@ public class GlyphPositioningTable extends GlyphTable {
         public String toString() {
             StringBuffer sb = new StringBuffer();
             boolean first = true;
-            sb.append ("{ ");
+            sb.append("{ ");
             if (glyph != 0) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("glyph = " + glyph);
+                sb.append("glyph = " + glyph);
             }
             if (value1 != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("value1 = " + value1);
+                sb.append("value1 = " + value1);
             }
             if (value2 != null) {
                 if (! first) {
-                    sb.append (", ");
+                    sb.append(", ");
                 } else {
                     first = false;
                 }
-                sb.append ("value2 = " + value2);
+                sb.append("value2 = " + value2);
             }
             sb.append(" }");
             return sb.toString();
@@ -2164,7 +2164,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param x the x coordinate
          * @param y the y coordinate
          */
-        public Anchor (int x, int y) {
+        public Anchor(int x, int y) {
             this (x, y, -1, null, null);
         }
 
@@ -2174,7 +2174,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param y the y coordinate
          * @param anchorPoint anchor index (or -1)
          */
-        public Anchor (int x, int y, int anchorPoint) {
+        public Anchor(int x, int y, int anchorPoint) {
             this (x, y, anchorPoint, null, null);
         }
 
@@ -2185,7 +2185,7 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param xDevice the x device table (or null if not present)
          * @param yDevice the y device table (or null if not present)
          */
-        public Anchor (int x, int y, DeviceTable xDevice, DeviceTable yDevice) {
+        public Anchor(int x, int y, DeviceTable xDevice, DeviceTable yDevice) {
             this (x, y, -1, xDevice, yDevice);
         }
 
@@ -2193,11 +2193,11 @@ public class GlyphPositioningTable extends GlyphTable {
          * Instantiate an Anchor based on an existing anchor.
          * @param a the existing anchor
          */
-        protected Anchor (Anchor a) {
+        protected Anchor(Anchor a) {
             this (a.x, a.y, a.anchorPoint, a.xDevice, a.yDevice);
         }
 
-        private Anchor (int x, int  y, int anchorPoint, DeviceTable xDevice, DeviceTable yDevice) {
+        private Anchor(int x, int  y, int anchorPoint, DeviceTable xDevice, DeviceTable yDevice) {
             assert (anchorPoint >= 0) || (anchorPoint == -1);
             this.x = x;
             this.y = y;
@@ -2237,25 +2237,25 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param a the anchor to align
          * @return the adjustment value needed to effect alignment
          */
-        public Value getAlignmentAdjustment (Anchor a) {
+        public Value getAlignmentAdjustment(Anchor a) {
             assert a != null;
             // TODO - handle anchor point
             // TODO - handle device tables
-            return new Value (x - a.x, y - a.y, 0, 0, null, null, null, null);
+            return new Value(x - a.x, y - a.y, 0, 0, null, null, null, null);
         }
 
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ [" + x + "," + y + "]");
+            sb.append("{ [" + x + "," + y + "]");
             if (anchorPoint != -1) {
-                sb.append (", anchorPoint = " + anchorPoint);
+                sb.append(", anchorPoint = " + anchorPoint);
             }
             if (xDevice != null) {
-                sb.append (", xDevice = " + xDevice);
+                sb.append(", xDevice = " + xDevice);
             }
             if (yDevice != null) {
-                sb.append (", yDevice = " + yDevice);
+                sb.append(", yDevice = " + yDevice);
             }
             sb.append(" }");
             return sb.toString();
@@ -2276,8 +2276,8 @@ public class GlyphPositioningTable extends GlyphTable {
          * @param markClass the mark class
          * @param a the underlying anchor (whose fields are copied)
          */
-        public MarkAnchor (int markClass, Anchor a) {
-            super (a);
+        public MarkAnchor(int markClass, Anchor a) {
+            super(a);
             this.markClass = markClass;
         }
 
index 9c6f5731c47ad9c2238ed2f4249e290d6448aa9d..330a27593a39d083feba4ba5ba80eb309dc09dfd 100644 (file)
@@ -89,14 +89,14 @@ public class GlyphProcessingState {
      * @param feature feature identifier
      * @param sct script context tester (or null)
      */
-    protected GlyphProcessingState (GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
+    protected GlyphProcessingState(GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
         this.script = script;
         this.language = language;
         this.feature = feature;
         this.igs = gs;
         this.indexLast = gs.getGlyphCount();
         this.sct = sct;
-        this.gct = (sct != null) ? sct.getTester (feature) : null;
+        this.gct = (sct != null) ? sct.getTester(feature) : null;
         this.ignoreBase = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredBase(gi, flags); } };
         this.ignoreLigature = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredLigature(gi, flags); } };
         this.ignoreMark = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredMark(gi, flags); } };
@@ -107,9 +107,9 @@ public class GlyphProcessingState {
      * except as follows: input glyph sequence is copied deep except for its characters array.
      * @param s existing processing state to copy from
      */
-    protected GlyphProcessingState (GlyphProcessingState s) {
-        this (new GlyphSequence (s.igs), s.script, s.language, s.feature, s.sct);
-        setPosition (s.index);
+    protected GlyphProcessingState(GlyphProcessingState s) {
+        this (new GlyphSequence(s.igs), s.script, s.language, s.feature, s.sct);
+        setPosition(s.index);
     }
 
     /**
@@ -120,7 +120,7 @@ public class GlyphProcessingState {
      * @param feature feature identifier
      * @param sct script context tester (or null)
      */
-    protected GlyphProcessingState reset (GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
+    protected GlyphProcessingState reset(GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
         this.gdef = null;
         this.script = script;
         this.language = language;
@@ -132,7 +132,7 @@ public class GlyphProcessingState {
         this.lookupFlags = 0;
         this.classMatchSet = 0;
         this.sct = sct;
-        this.gct = (sct != null) ? sct.getTester (feature) : null;
+        this.gct = (sct != null) ? sct.getTester(feature) : null;
         this.ignoreBase = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredBase(gi, flags); } };
         this.ignoreLigature = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredLigature(gi, flags); } };
         this.ignoreMark = new GlyphTester() { public boolean test(int gi, int flags) { return isIgnoredMark(gi, flags); } };
@@ -145,7 +145,7 @@ public class GlyphProcessingState {
      * Set governing glyph definition table.
      * @param gdef glyph definition table (or null, to unset)
      */
-    public void setGDEF (GlyphDefinitionTable gdef) {
+    public void setGDEF(GlyphDefinitionTable gdef) {
         if (this.gdef == null) {
             this.gdef = gdef;
         } else if (gdef == null) {
@@ -165,7 +165,7 @@ public class GlyphProcessingState {
      * Set governing lookup flags
      * @param flags lookup flags (or zero, to unset)
      */
-    public void setLookupFlags (int flags) {
+    public void setLookupFlags(int flags) {
         if (this.lookupFlags == 0) {
             this.lookupFlags = flags;
         } else if (flags == 0) {
@@ -186,7 +186,7 @@ public class GlyphProcessingState {
      * @param gi glyph index that may be used to determine which match set applies
      * @return class match set (zero may indicate unset or no set)
      */
-    public int getClassMatchSet (int gi) {
+    public int getClassMatchSet(int gi) {
         return 0;
     }
 
@@ -194,7 +194,7 @@ public class GlyphProcessingState {
      * Set default ignore tester.
      * @param ignoreDefault glyph tester (or null, to unset)
      */
-    public void setIgnoreDefault (GlyphTester ignoreDefault) {
+    public void setIgnoreDefault(GlyphTester ignoreDefault) {
         if (this.ignoreDefault == null) {
             this.ignoreDefault = ignoreDefault;
         } else if (ignoreDefault == null) {
@@ -217,11 +217,11 @@ public class GlyphProcessingState {
      * this state is to be reset.
      * @param st glyph subtable to use for update
      */
-    public void updateSubtableState (GlyphSubtable st) {
+    public void updateSubtableState(GlyphSubtable st) {
         if (this.subtable != st) {
-            setGDEF (st.getGDEF());
-            setLookupFlags (st.getFlags());
-            setIgnoreDefault (getIgnoreTester (getLookupFlags()));
+            setGDEF(st.getGDEF());
+            setLookupFlags(st.getFlags());
+            setIgnoreDefault(getIgnoreTester(getLookupFlags()));
             this.subtable = st;
         }
     }
@@ -240,7 +240,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if index is less than zero
      * or exceeds last valid position
      */
-    public void setPosition (int index) throws IndexOutOfBoundsException {
+    public void setPosition(int index) throws IndexOutOfBoundsException {
         if ((index >= 0) && (index <= indexLast)) {
             this.index =  index;
         } else {
@@ -262,7 +262,7 @@ public class GlyphProcessingState {
      * @return true if one or more glyph remains
      */
     public boolean hasNext() {
-        return hasNext (1);
+        return hasNext(1);
     }
 
     /**
@@ -271,7 +271,7 @@ public class GlyphProcessingState {
      * @param count of glyphs to test
      * @return true if at least <code>count</code> glyphs are available
      */
-    public boolean hasNext (int count) {
+    public boolean hasNext(int count) {
         return (index + count) <= indexLast;
     }
 
@@ -303,7 +303,7 @@ public class GlyphProcessingState {
      * @return true if one or more glyph remains
      */
     public boolean hasPrev() {
-        return hasPrev (1);
+        return hasPrev(1);
     }
 
     /**
@@ -312,7 +312,7 @@ public class GlyphProcessingState {
      * @param count of glyphs to test
      * @return true if at least <code>count</code> glyphs are available
      */
-    public boolean hasPrev (int count) {
+    public boolean hasPrev(int count) {
         return (index - count) >= 0;
     }
 
@@ -348,7 +348,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if count would cause consumption
      * to exceed count of glyphs in input glyph sequence
      */
-    public int consume (int count) throws IndexOutOfBoundsException {
+    public int consume(int count) throws IndexOutOfBoundsException {
         if ((consumed + count) <= indexLast) {
             consumed += count;
             return consumed;
@@ -379,12 +379,12 @@ public class GlyphProcessingState {
      * @return glyph at specified offset from current position
      * @throws IndexOutOfBoundsException if no glyph available at offset
      */
-    public int getGlyph (int offset) throws IndexOutOfBoundsException {
+    public int getGlyph(int offset) throws IndexOutOfBoundsException {
         int i = index + offset;
         if ((i >= 0) && (i < indexLast)) {
-            return igs.getGlyph (i);
+            return igs.getGlyph(i);
         } else {
-            throw new IndexOutOfBoundsException ("attempting index at " + i);
+            throw new IndexOutOfBoundsException("attempting index at " + i);
         }
     }
 
@@ -394,7 +394,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if no glyph available
      */
     public int getGlyph() throws IndexOutOfBoundsException {
-        return getGlyph (0);
+        return getGlyph(0);
     }
 
     /**
@@ -403,12 +403,12 @@ public class GlyphProcessingState {
      * @param glyph to set at specified offset from current position
      * @throws IndexOutOfBoundsException if specified offset is not valid position
      */
-    public void setGlyph (int offset, int glyph) throws IndexOutOfBoundsException {
+    public void setGlyph(int offset, int glyph) throws IndexOutOfBoundsException {
         int i = index + offset;
         if ((i >= 0) && (i < indexLast)) {
-            igs.setGlyph (i, glyph);
+            igs.setGlyph(i, glyph);
         } else {
-            throw new IndexOutOfBoundsException ("attempting index at " + i);
+            throw new IndexOutOfBoundsException("attempting index at " + i);
         }
     }
 
@@ -418,12 +418,12 @@ public class GlyphProcessingState {
      * @return character association of glyph at current position
      * @throws IndexOutOfBoundsException if offset results in an invalid index into input glyph sequence
      */
-    public GlyphSequence.CharAssociation getAssociation (int offset) throws IndexOutOfBoundsException {
+    public GlyphSequence.CharAssociation getAssociation(int offset) throws IndexOutOfBoundsException {
         int i = index + offset;
         if ((i >= 0) && (i < indexLast)) {
-            return igs.getAssociation (i);
+            return igs.getAssociation(i);
         } else {
-            throw new IndexOutOfBoundsException ("attempting index at " + i);
+            throw new IndexOutOfBoundsException("attempting index at " + i);
         }
     }
 
@@ -433,7 +433,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if no glyph available
      */
     public GlyphSequence.CharAssociation getAssociation() throws IndexOutOfBoundsException {
-        return getAssociation (0);
+        return getAssociation(0);
     }
 
     /**
@@ -452,39 +452,39 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getGlyphs (int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
+    public int[] getGlyphs(int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
         if (count < 0) {
-            count = getGlyphsAvailable (offset, reverseOrder, ignoreTester) [ 0 ];
+            count = getGlyphsAvailable(offset, reverseOrder, ignoreTester) [ 0 ];
         }
         int start = index + offset;
         if (start < 0) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + start);
+            throw new IndexOutOfBoundsException("will attempt index at " + start);
         } else if (! reverseOrder && ((start + count) > indexLast)) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + (start + count));
+            throw new IndexOutOfBoundsException("will attempt index at " + (start + count));
         } else if (reverseOrder && ((start + 1) < count)) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + (start - count));
+            throw new IndexOutOfBoundsException("will attempt index at " + (start - count));
         }
         if (glyphs == null) {
             glyphs = new int [ count ];
         } else if (glyphs.length != count) {
-            throw new IllegalArgumentException ("glyphs array is non-null, but its length (" + glyphs.length + "), is not equal to count (" + count + ")");
+            throw new IllegalArgumentException("glyphs array is non-null, but its length (" + glyphs.length + "), is not equal to count (" + count + ")");
         }
         if (! reverseOrder) {
-            return getGlyphsForward (start, count, ignoreTester, glyphs, counts);
+            return getGlyphsForward(start, count, ignoreTester, glyphs, counts);
         } else {
-            return getGlyphsReverse (start, count, ignoreTester, glyphs, counts);
+            return getGlyphsReverse(start, count, ignoreTester, glyphs, counts);
         }
     }
 
-    private int[] getGlyphsForward (int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
+    private int[] getGlyphsForward(int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         for (int i = start, n = indexLast; (i < n) && (counted < count); i++) {
-            int gi = getGlyph (i - index);
+            int gi = getGlyph(i - index);
             if (gi == 65535) {
                 ignored++;
             } else {
-                if ((ignoreTester == null) || ! ignoreTester.test (gi, getLookupFlags())) {
+                if ((ignoreTester == null) || ! ignoreTester.test(gi, getLookupFlags())) {
                     glyphs [ counted++ ] = gi;
                 } else {
                     ignored++;
@@ -498,15 +498,15 @@ public class GlyphProcessingState {
         return glyphs;
     }
 
-    private int[] getGlyphsReverse (int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
+    private int[] getGlyphsReverse(int start, int count, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         for (int i = start; (i >= 0) && (counted < count); i--) {
-            int gi = getGlyph (i - index);
+            int gi = getGlyph(i - index);
             if (gi == 65535) {
                 ignored++;
             } else {
-                if ((ignoreTester == null) || ! ignoreTester.test (gi, getLookupFlags())) {
+                if ((ignoreTester == null) || ! ignoreTester.test(gi, getLookupFlags())) {
                     glyphs [ counted++ ] = gi;
                 } else {
                     ignored++;
@@ -534,8 +534,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getGlyphs (int offset, int count, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
-        return getGlyphs (offset, count, offset < 0, ignoreDefault, glyphs, counts);
+    public int[] getGlyphs(int offset, int count, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
+        return getGlyphs(offset, count, offset < 0, ignoreDefault, glyphs, counts);
     }
 
     /**
@@ -544,7 +544,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if no glyph available
      */
     public int[] getGlyphs() throws IndexOutOfBoundsException {
-        return getGlyphs (0, indexLast - index, false, null, null, null);
+        return getGlyphs(0, indexLast - index, false, null, null, null);
     }
 
     /**
@@ -563,8 +563,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getIgnoredGlyphs (int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
-        return getGlyphs (offset, count, reverseOrder, new NotGlyphTester (ignoreTester), glyphs, counts);
+    public int[] getIgnoredGlyphs(int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, int[] glyphs, int[] counts) throws IndexOutOfBoundsException {
+        return getGlyphs(offset, count, reverseOrder, new NotGlyphTester(ignoreTester), glyphs, counts);
     }
 
     /**
@@ -576,8 +576,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getIgnoredGlyphs (int offset, int count) throws IndexOutOfBoundsException {
-        return getIgnoredGlyphs (offset, count, offset < 0, ignoreDefault, null, null);
+    public int[] getIgnoredGlyphs(int offset, int count) throws IndexOutOfBoundsException {
+        return getIgnoredGlyphs(offset, count, offset < 0, ignoreDefault, null, null);
     }
 
     /**
@@ -589,8 +589,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset results in an
      * invalid index into input glyph sequence
      */
-    public boolean isIgnoredGlyph (int offset, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
-        return (ignoreTester != null) && ignoreTester.test (getGlyph (offset), getLookupFlags());
+    public boolean isIgnoredGlyph(int offset, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
+        return (ignoreTester != null) && ignoreTester.test(getGlyph(offset), getLookupFlags());
     }
 
     /**
@@ -601,8 +601,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset results in an
      * invalid index into input glyph sequence
      */
-    public boolean isIgnoredGlyph (int offset) throws IndexOutOfBoundsException {
-        return isIgnoredGlyph (offset, ignoreDefault);
+    public boolean isIgnoredGlyph(int offset) throws IndexOutOfBoundsException {
+        return isIgnoredGlyph(offset, ignoreDefault);
     }
 
     /**
@@ -612,7 +612,7 @@ public class GlyphProcessingState {
      * invalid index into input glyph sequence
      */
     public boolean isIgnoredGlyph() throws IndexOutOfBoundsException {
-        return isIgnoredGlyph (getPosition());
+        return isIgnoredGlyph(getPosition());
     }
 
     /**
@@ -625,29 +625,29 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getGlyphsAvailable (int offset, boolean reverseOrder, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
+    public int[] getGlyphsAvailable(int offset, boolean reverseOrder, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
         int start = index + offset;
         if ((start < 0) || (start > indexLast)) {
             return new int[] { 0, 0 };
         } else if (! reverseOrder) {
-            return getGlyphsAvailableForward (start, ignoreTester);
+            return getGlyphsAvailableForward(start, ignoreTester);
         } else {
-            return getGlyphsAvailableReverse (start, ignoreTester);
+            return getGlyphsAvailableReverse(start, ignoreTester);
         }
     }
 
-    private int[] getGlyphsAvailableForward (int start, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
+    private int[] getGlyphsAvailableForward(int start, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         if (ignoreTester == null) {
             counted = indexLast - start;
         } else {
             for (int i = start, n = indexLast; i < n; i++) {
-                int gi = getGlyph (i - index);
+                int gi = getGlyph(i - index);
                 if (gi == 65535) {
                     ignored++;
                 } else {
-                    if (ignoreTester.test (gi, getLookupFlags())) {
+                    if (ignoreTester.test(gi, getLookupFlags())) {
                         ignored++;
                     } else {
                         counted++;
@@ -658,18 +658,18 @@ public class GlyphProcessingState {
         return new int[] { counted, ignored };
     }
 
-    private int[] getGlyphsAvailableReverse (int start, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
+    private int[] getGlyphsAvailableReverse(int start, GlyphTester ignoreTester) throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         if (ignoreTester == null) {
             counted = start + 1;
         } else {
             for (int i = start; i >= 0; i--) {
-                int gi = getGlyph (i - index);
+                int gi = getGlyph(i - index);
                 if (gi == 65535) {
                     ignored++;
                 } else {
-                    if (ignoreTester.test (gi, getLookupFlags())) {
+                    if (ignoreTester.test(gi, getLookupFlags())) {
                         ignored++;
                     } else {
                         counted++;
@@ -690,8 +690,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getGlyphsAvailable (int offset, boolean reverseOrder) throws IndexOutOfBoundsException {
-        return getGlyphsAvailable (offset, reverseOrder, ignoreDefault);
+    public int[] getGlyphsAvailable(int offset, boolean reverseOrder) throws IndexOutOfBoundsException {
+        return getGlyphsAvailable(offset, reverseOrder, ignoreDefault);
     }
 
     /**
@@ -703,8 +703,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int[] getGlyphsAvailable (int offset) throws IndexOutOfBoundsException {
-        return getGlyphsAvailable (offset, offset < 0);
+    public int[] getGlyphsAvailable(int offset) throws IndexOutOfBoundsException {
+        return getGlyphsAvailable(offset, offset < 0);
     }
 
     /**
@@ -723,43 +723,43 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public GlyphSequence.CharAssociation[] getAssociations (int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
+    public GlyphSequence.CharAssociation[] getAssociations(int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
         throws IndexOutOfBoundsException {
         if (count < 0) {
-            count = getGlyphsAvailable (offset, reverseOrder, ignoreTester) [ 0 ];
+            count = getGlyphsAvailable(offset, reverseOrder, ignoreTester) [ 0 ];
         }
         int start = index + offset;
         if (start < 0) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + start);
+            throw new IndexOutOfBoundsException("will attempt index at " + start);
         } else if (! reverseOrder && ((start + count) > indexLast)) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + (start + count));
+            throw new IndexOutOfBoundsException("will attempt index at " + (start + count));
         } else if (reverseOrder && ((start + 1) < count)) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + (start - count));
+            throw new IndexOutOfBoundsException("will attempt index at " + (start - count));
         }
         if (associations == null) {
             associations = new GlyphSequence.CharAssociation [ count ];
         } else if (associations.length != count) {
-            throw new IllegalArgumentException ("associations array is non-null, but its length (" + associations.length + "), is not equal to count (" + count + ")");
+            throw new IllegalArgumentException("associations array is non-null, but its length (" + associations.length + "), is not equal to count (" + count + ")");
         }
         if (! reverseOrder) {
-            return getAssociationsForward (start, count, ignoreTester, associations, counts);
+            return getAssociationsForward(start, count, ignoreTester, associations, counts);
         } else {
-            return getAssociationsReverse (start, count, ignoreTester, associations, counts);
+            return getAssociationsReverse(start, count, ignoreTester, associations, counts);
         }
     }
 
-    private GlyphSequence.CharAssociation[] getAssociationsForward (int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
+    private GlyphSequence.CharAssociation[] getAssociationsForward(int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
         throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         for (int i = start, n = indexLast, k = 0; i < n; i++) {
-            int gi = getGlyph (i - index);
+            int gi = getGlyph(i - index);
             if (gi == 65535) {
                 ignored++;
             } else {
-                if ((ignoreTester == null) || ! ignoreTester.test (gi, getLookupFlags())) {
+                if ((ignoreTester == null) || ! ignoreTester.test(gi, getLookupFlags())) {
                     if (k < count) {
-                        associations [ k++ ] = getAssociation (i - index);
+                        associations [ k++ ] = getAssociation(i - index);
                         counted++;
                     } else {
                         break;
@@ -776,18 +776,18 @@ public class GlyphProcessingState {
         return associations;
     }
 
-    private GlyphSequence.CharAssociation[] getAssociationsReverse (int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
+    private GlyphSequence.CharAssociation[] getAssociationsReverse(int start, int count, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
         throws IndexOutOfBoundsException {
         int counted = 0;
         int ignored = 0;
         for (int i = start, k = 0; i >= 0; i--) {
-            int gi = getGlyph (i - index);
+            int gi = getGlyph(i - index);
             if (gi == 65535) {
                 ignored++;
             } else {
-                if ((ignoreTester == null) || ! ignoreTester.test (gi, getLookupFlags())) {
+                if ((ignoreTester == null) || ! ignoreTester.test(gi, getLookupFlags())) {
                     if (k < count) {
-                        associations [ k++ ] = getAssociation (i - index);
+                        associations [ k++ ] = getAssociation(i - index);
                         counted++;
                     } else {
                         break;
@@ -814,8 +814,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public GlyphSequence.CharAssociation[] getAssociations (int offset, int count) throws IndexOutOfBoundsException {
-        return getAssociations (offset, count, offset < 0, ignoreDefault, null, null);
+    public GlyphSequence.CharAssociation[] getAssociations(int offset, int count) throws IndexOutOfBoundsException {
+        return getAssociations(offset, count, offset < 0, ignoreDefault, null, null);
     }
 
     /**
@@ -834,9 +834,9 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public GlyphSequence.CharAssociation[] getIgnoredAssociations (int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
+    public GlyphSequence.CharAssociation[] getIgnoredAssociations(int offset, int count, boolean reverseOrder, GlyphTester ignoreTester, GlyphSequence.CharAssociation[] associations, int[] counts)
         throws IndexOutOfBoundsException {
-        return getAssociations (offset, count, reverseOrder, new NotGlyphTester (ignoreTester), associations, counts);
+        return getAssociations(offset, count, reverseOrder, new NotGlyphTester(ignoreTester), associations, counts);
     }
 
     /**
@@ -849,8 +849,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public GlyphSequence.CharAssociation[] getIgnoredAssociations (int offset, int count) throws IndexOutOfBoundsException {
-        return getIgnoredAssociations (offset, count, offset < 0, ignoreDefault, null, null);
+    public GlyphSequence.CharAssociation[] getIgnoredAssociations(int offset, int count) throws IndexOutOfBoundsException {
+        return getIgnoredAssociations(offset, count, offset < 0, ignoreDefault, null, null);
     }
 
     /**
@@ -866,7 +866,7 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public boolean replaceInput (int offset, int count, GlyphSequence gs, int gsOffset, int gsCount) throws IndexOutOfBoundsException {
+    public boolean replaceInput(int offset, int count, GlyphSequence gs, int gsOffset, int gsCount) throws IndexOutOfBoundsException {
         int nig = (igs != null) ? igs.getGlyphCount() : 0;
         int position = getPosition() + offset;
         if (position < 0) {
@@ -887,23 +887,23 @@ public class GlyphProcessingState {
             gsCount = nrg - gsOffset;
         }
         int ng = nig + gsCount - count;
-        IntBuffer gb = IntBuffer.allocate (ng);
-        List al = new ArrayList (ng);
+        IntBuffer gb = IntBuffer.allocate(ng);
+        List al = new ArrayList(ng);
         for (int i = 0, n = position; i < n; i++) {
-            gb.put (igs.getGlyph (i));
-            al.add (igs.getAssociation (i));
+            gb.put(igs.getGlyph(i));
+            al.add(igs.getAssociation(i));
         }
         for (int i = gsOffset, n = gsOffset + gsCount; i < n; i++) {
-            gb.put (gs.getGlyph (i));
-            al.add (gs.getAssociation (i));
+            gb.put(gs.getGlyph(i));
+            al.add(gs.getAssociation(i));
         }
         for (int i = position + count, n = nig; i < n; i++) {
-            gb.put (igs.getGlyph (i));
-            al.add (igs.getAssociation (i));
+            gb.put(igs.getGlyph(i));
+            al.add(igs.getAssociation(i));
         }
         gb.flip();
-        if (igs.compareGlyphs (gb) != 0) {
-            this.igs = new GlyphSequence (igs.getCharacters(), gb, al);
+        if (igs.compareGlyphs(gb) != 0) {
+            this.igs = new GlyphSequence(igs.getCharacters(), gb, al);
             this.indexLast = gb.limit();
             return true;
         } else {
@@ -921,8 +921,8 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public boolean replaceInput (int offset, int count, GlyphSequence gs) throws IndexOutOfBoundsException {
-        return replaceInput (offset, count, gs, 0, gs.getGlyphCount());
+    public boolean replaceInput(int offset, int count, GlyphSequence gs) throws IndexOutOfBoundsException {
+        return replaceInput(offset, count, gs, 0, gs.getGlyphCount());
     }
 
     /**
@@ -935,16 +935,16 @@ public class GlyphProcessingState {
      * @throws IndexOutOfBoundsException if offset or count results in an
      * invalid index into input glyph sequence
      */
-    public int erase (int offset, int[] glyphs) throws IndexOutOfBoundsException {
+    public int erase(int offset, int[] glyphs) throws IndexOutOfBoundsException {
         int start = index + offset;
         if ((start < 0) || (start > indexLast)) {
-            throw new IndexOutOfBoundsException ("will attempt index at " + start);
+            throw new IndexOutOfBoundsException("will attempt index at " + start);
         } else {
             int erased = 0;
             for (int i = start - index, n = indexLast - start; i < n; i++) {
-                int gi = getGlyph (i);
+                int gi = getGlyph(i);
                 if (gi == glyphs [ erased ]) {
-                    setGlyph (i, 65535);
+                    setGlyph(i, 65535);
                     erased++;
                 }
             }
@@ -962,7 +962,7 @@ public class GlyphProcessingState {
         if (gct == null) {
             return true;
         } else {
-            return gct.test (script, language, feature, igs, index, getLookupFlags());
+            return gct.test(script, language, feature, igs, index, getLookupFlags());
         }
     }
 
@@ -979,9 +979,9 @@ public class GlyphProcessingState {
      * @param gi glyph index to test
      * @return true if glyph definition table records glyph as a base glyph; otherwise, false
      */
-    public boolean isBase (int gi) {
+    public boolean isBase(int gi) {
         if (gdef != null) {
-            return gdef.isGlyphClass (gi, GlyphDefinitionTable.GLYPH_CLASS_BASE);
+            return gdef.isGlyphClass(gi, GlyphDefinitionTable.GLYPH_CLASS_BASE);
         } else {
             return false;
         }
@@ -994,8 +994,8 @@ public class GlyphProcessingState {
      * @param flags that apply to lookup in scope
      * @return true if glyph definition table records glyph as a base glyph; otherwise, false
      */
-    public boolean isIgnoredBase (int gi, int flags) {
-        return ((flags & GlyphSubtable.LF_IGNORE_BASE) != 0) && isBase (gi);
+    public boolean isIgnoredBase(int gi, int flags) {
+        return ((flags & GlyphSubtable.LF_IGNORE_BASE) != 0) && isBase(gi);
     }
 
     /**
@@ -1004,9 +1004,9 @@ public class GlyphProcessingState {
      * @param gi glyph index to test
      * @return true if glyph definition table records glyph as a ligature glyph; otherwise, false
      */
-    public boolean isLigature (int gi) {
+    public boolean isLigature(int gi) {
         if (gdef != null) {
-            return gdef.isGlyphClass (gi, GlyphDefinitionTable.GLYPH_CLASS_LIGATURE);
+            return gdef.isGlyphClass(gi, GlyphDefinitionTable.GLYPH_CLASS_LIGATURE);
         } else {
             return false;
         }
@@ -1019,8 +1019,8 @@ public class GlyphProcessingState {
      * @param flags that apply to lookup in scope
      * @return true if glyph definition table records glyph as a ligature glyph; otherwise, false
      */
-    public boolean isIgnoredLigature (int gi, int flags) {
-        return ((flags & GlyphSubtable.LF_IGNORE_LIGATURE) != 0) && isLigature (gi);
+    public boolean isIgnoredLigature(int gi, int flags) {
+        return ((flags & GlyphSubtable.LF_IGNORE_LIGATURE) != 0) && isLigature(gi);
     }
 
     /**
@@ -1029,9 +1029,9 @@ public class GlyphProcessingState {
      * @param gi glyph index to test
      * @return true if glyph definition table records glyph as a mark glyph; otherwise, false
      */
-    public boolean isMark (int gi) {
+    public boolean isMark(int gi) {
         if (gdef != null) {
-            return gdef.isGlyphClass (gi, GlyphDefinitionTable.GLYPH_CLASS_MARK);
+            return gdef.isGlyphClass(gi, GlyphDefinitionTable.GLYPH_CLASS_MARK);
         } else {
             return false;
         }
@@ -1044,12 +1044,12 @@ public class GlyphProcessingState {
      * @param flags that apply to lookup in scope
      * @return true if glyph definition table records glyph as a ligature glyph; otherwise, false
      */
-    public boolean isIgnoredMark (int gi, int flags) {
+    public boolean isIgnoredMark(int gi, int flags) {
         if ((flags & GlyphSubtable.LF_IGNORE_MARK) != 0) {
-            return isMark (gi);
+            return isMark(gi);
         } else if ((flags & GlyphSubtable.LF_MARK_ATTACHMENT_TYPE) != 0) {
             int lac = (flags & GlyphSubtable.LF_MARK_ATTACHMENT_TYPE) >> 8;
-            int gac = gdef.getMarkAttachClass (gi);
+            int gac = gdef.getMarkAttachClass(gi);
             return (gac != lac);
         } else {
             return false;
@@ -1061,26 +1061,26 @@ public class GlyphProcessingState {
      * @param flags lookup flags
      * @return a glyph tester
      */
-    public GlyphTester getIgnoreTester (int flags) {
+    public GlyphTester getIgnoreTester(int flags) {
         if ((flags & GlyphSubtable.LF_IGNORE_BASE) != 0) {
             if ((flags & (GlyphSubtable.LF_IGNORE_LIGATURE | GlyphSubtable.LF_IGNORE_MARK)) == 0) {
                 return ignoreBase;
             } else {
-                return getCombinedIgnoreTester (flags);
+                return getCombinedIgnoreTester(flags);
             }
         }
         if ((flags & GlyphSubtable.LF_IGNORE_LIGATURE) != 0) {
             if ((flags & (GlyphSubtable.LF_IGNORE_BASE | GlyphSubtable.LF_IGNORE_MARK)) == 0) {
                 return ignoreLigature;
             } else {
-                return getCombinedIgnoreTester (flags);
+                return getCombinedIgnoreTester(flags);
             }
         }
         if ((flags & GlyphSubtable.LF_IGNORE_MARK) != 0) {
             if ((flags & (GlyphSubtable.LF_IGNORE_BASE | GlyphSubtable.LF_IGNORE_LIGATURE)) == 0) {
                 return ignoreMark;
             } else {
-                return getCombinedIgnoreTester (flags);
+                return getCombinedIgnoreTester(flags);
             }
         }
         return null;
@@ -1091,7 +1091,7 @@ public class GlyphProcessingState {
      * @param flags lookup flags
      * @return a glyph tester
      */
-    public GlyphTester getCombinedIgnoreTester (int flags) {
+    public GlyphTester getCombinedIgnoreTester(int flags) {
         GlyphTester[] gta = new GlyphTester [ 3 ];
         int ngt = 0;
         if ((flags & GlyphSubtable.LF_IGNORE_BASE) != 0) {
@@ -1103,7 +1103,7 @@ public class GlyphProcessingState {
         if ((flags & GlyphSubtable.LF_IGNORE_MARK) != 0) {
             gta [ ngt++ ] = ignoreMark;
         }
-        return getCombinedOrTester (gta, ngt);
+        return getCombinedOrTester(gta, ngt);
     }
 
     /**
@@ -1112,9 +1112,9 @@ public class GlyphProcessingState {
      * @param ngt number of glyph testers present in specified array
      * @return a combined OR glyph tester
      */
-    public GlyphTester getCombinedOrTester (GlyphTester[] gta, int ngt) {
+    public GlyphTester getCombinedOrTester(GlyphTester[] gta, int ngt) {
         if (ngt > 0) {
-            return new CombinedOrGlyphTester (gta, ngt);
+            return new CombinedOrGlyphTester(gta, ngt);
         } else {
             return null;
         }
@@ -1126,9 +1126,9 @@ public class GlyphProcessingState {
      * @param ngt number of glyph testers present in specified array
      * @return a combined AND glyph tester
      */
-    public GlyphTester getCombinedAndTester (GlyphTester[] gta, int ngt) {
+    public GlyphTester getCombinedAndTester(GlyphTester[] gta, int ngt) {
         if (ngt > 0) {
-            return new CombinedAndGlyphTester (gta, ngt);
+            return new CombinedAndGlyphTester(gta, ngt);
         } else {
             return null;
         }
@@ -1138,16 +1138,16 @@ public class GlyphProcessingState {
     private static class CombinedOrGlyphTester implements GlyphTester {
         private GlyphTester[] gta;
         private int ngt;
-        CombinedOrGlyphTester (GlyphTester[] gta, int ngt) {
+        CombinedOrGlyphTester(GlyphTester[] gta, int ngt) {
             this.gta = gta;
             this.ngt = ngt;
         }
         /** {@inheritDoc} */
-        public boolean test (int gi, int flags) {
+        public boolean test(int gi, int flags) {
             for (int i = 0, n = ngt; i < n; i++) {
                 GlyphTester gt = gta [ i ];
                 if (gt != null) {
-                    if (gt.test (gi, flags)) {
+                    if (gt.test(gi, flags)) {
                         return true;
                     }
                 }
@@ -1160,16 +1160,16 @@ public class GlyphProcessingState {
     private static class CombinedAndGlyphTester implements GlyphTester {
         private GlyphTester[] gta;
         private int ngt;
-        CombinedAndGlyphTester (GlyphTester[] gta, int ngt) {
+        CombinedAndGlyphTester(GlyphTester[] gta, int ngt) {
             this.gta = gta;
             this.ngt = ngt;
         }
         /** {@inheritDoc} */
-        public boolean test (int gi, int flags) {
+        public boolean test(int gi, int flags) {
             for (int i = 0, n = ngt; i < n; i++) {
                 GlyphTester gt = gta [ i ];
                 if (gt != null) {
-                    if (! gt.test (gi, flags)) {
+                    if (! gt.test(gi, flags)) {
                         return false;
                     }
                 }
@@ -1181,13 +1181,13 @@ public class GlyphProcessingState {
     /** NOT glyph tester */
     private static class NotGlyphTester implements GlyphTester {
         private GlyphTester gt;
-        NotGlyphTester (GlyphTester gt) {
+        NotGlyphTester(GlyphTester gt) {
             this.gt = gt;
         }
         /** {@inheritDoc} */
-        public boolean test (int gi, int flags) {
+        public boolean test(int gi, int flags) {
             if (gt != null) {
-                if (gt.test (gi, flags)) {
+                if (gt.test(gi, flags)) {
                     return false;
                 }
             }
index 0cbb4cc4f77506c43942a0b357f5bd87b865a8be..4d0939337e82ef4ec821a5c02325d57be726ffc2 100644 (file)
@@ -37,6 +37,6 @@ public interface GlyphSubstitution {
      * @return true if the glyph subtable was applied, meaning that the current context matches the
      * associated input context glyph coverage table
      */
-    boolean substitute (GlyphSubstitutionState ss);
+    boolean substitute(GlyphSubstitutionState ss);
 
 }
index fba5343617813e7481d8049696ab11025cdd676e..0b599d088e4d940947012fc8e45096cc45ace32c 100644 (file)
@@ -61,10 +61,10 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @param feature feature identifier
      * @param sct script context tester (or null)
      */
-    public GlyphSubstitutionState (GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
-        super (gs, script, language, feature, sct);
-        this.ogb = IntBuffer.allocate (gs.getGlyphCount());
-        this.oal = new ArrayList (gs.getGlyphCount());
+    public GlyphSubstitutionState(GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
+        super(gs, script, language, feature, sct);
+        this.ogb = IntBuffer.allocate(gs.getGlyphCount());
+        this.oal = new ArrayList(gs.getGlyphCount());
         this.predications = gs.getPredications();
     }
 
@@ -73,10 +73,10 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * except as follows: input glyph sequence is copied deep except for its characters array.
      * @param ss existing positioning state to copy from
      */
-    public GlyphSubstitutionState (GlyphSubstitutionState ss) {
-        super (ss);
-        this.ogb = IntBuffer.allocate (indexLast);
-        this.oal = new ArrayList (indexLast);
+    public GlyphSubstitutionState(GlyphSubstitutionState ss) {
+        super(ss);
+        this.ogb = IntBuffer.allocate(indexLast);
+        this.oal = new ArrayList(indexLast);
     }
 
     /**
@@ -87,11 +87,11 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @param feature feature identifier
      * @param sct script context tester (or null)
      */
-    public GlyphSubstitutionState reset (GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
-        super.reset (gs, script, language, feature, sct);
+    public GlyphSubstitutionState reset(GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
+        super.reset(gs, script, language, feature, sct);
         this.alternatesIndex = null;
-        this.ogb = IntBuffer.allocate (gs.getGlyphCount());
-        this.oal = new ArrayList (gs.getGlyphCount());
+        this.ogb = IntBuffer.allocate(gs.getGlyphCount());
+        this.oal = new ArrayList(gs.getGlyphCount());
         this.predications = gs.getPredications();
         return this;
     }
@@ -100,7 +100,7 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * Set alternates indices.
      * @param alternates array of alternates indices ordered by coverage index
      */
-    public void setAlternates (int[] alternates) {
+    public void setAlternates(int[] alternates) {
         this.alternatesIndex = alternates;
     }
 
@@ -113,7 +113,7 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @param ci coverage index
      * @return an alternates index
      */
-    public int getAlternatesIndex (int ci) {
+    public int getAlternatesIndex(int ci) {
         if (alternatesIndex == null) {
             return 0;
         } else if ((ci < 0) || (ci > alternatesIndex.length)) {
@@ -129,15 +129,15 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @param a character association that applies to glyph
      * @param predication a predication value to add to association A if predications enabled
      */
-    public void putGlyph (int glyph, GlyphSequence.CharAssociation a, Object predication) {
+    public void putGlyph(int glyph, GlyphSequence.CharAssociation a, Object predication) {
         if (! ogb.hasRemaining()) {
-            ogb = growBuffer (ogb);
+            ogb = growBuffer(ogb);
         }
-        ogb.put (glyph);
+        ogb.put(glyph);
         if (predications && (predication != null)) {
-            a.setPredication (feature, predication);
+            a.setPredication(feature, predication);
         }
-        oal.add (a);
+        oal.add(a);
     }
 
     /**
@@ -146,12 +146,12 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @param associations array of character associations that apply to glyphs
      * @param predication optional predicaion object to be associated with glyphs' associations
      */
-    public void putGlyphs (int[] glyphs, GlyphSequence.CharAssociation[] associations, Object predication) {
+    public void putGlyphs(int[] glyphs, GlyphSequence.CharAssociation[] associations, Object predication) {
         assert glyphs != null;
         assert associations != null;
         assert associations.length >= glyphs.length;
         for (int i = 0, n = glyphs.length; i < n; i++) {
-            putGlyph (glyphs [ i ], associations [ i ], predication);
+            putGlyph(glyphs [ i ], associations [ i ], predication);
         }
     }
 
@@ -163,9 +163,9 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
     public GlyphSequence getOutput() {
         int position = ogb.position();
         if (position > 0) {
-            ogb.limit (position);
+            ogb.limit(position);
             ogb.rewind();
-            return new GlyphSequence (igs.getCharacters(), ogb, oal);
+            return new GlyphSequence(igs.getCharacters(), ogb, oal);
         } else {
             return igs;
         }
@@ -181,10 +181,10 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * @return true if subtable applied, or false if it did not (e.g., its
      * input coverage table did not match current input context)
      */
-    public boolean apply (GlyphSubstitutionSubtable st) {
+    public boolean apply(GlyphSubstitutionSubtable st) {
         assert st != null;
-        updateSubtableState (st);
-        boolean applied = st.substitute (this);
+        updateSubtableState(st);
+        boolean applied = st.substitute(this);
         return applied;
     }
 
@@ -198,7 +198,7 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
      * the lookups are to apply, and to be consumed once the application has finished
      * @return true if lookups are non-null and non-empty; otherwise, false
      */
-    public boolean apply (GlyphTable.RuleLookup[] lookups, int nig) {
+    public boolean apply(GlyphTable.RuleLookup[] lookups, int nig) {
         // int nbg = index;
         int nlg = indexLast - (index + nig);
         int nog = 0;
@@ -210,20 +210,20 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
                     GlyphTable.LookupTable lt = l.getLookup();
                     if (lt != null) {
                         // perform substitution on a copy of previous state
-                        GlyphSubstitutionState ss = new GlyphSubstitutionState (this);
+                        GlyphSubstitutionState ss = new GlyphSubstitutionState(this);
                         // apply lookup table substitutions
-                        GlyphSequence gs = lt.substitute (ss, l.getSequenceIndex());
+                        GlyphSequence gs = lt.substitute(ss, l.getSequenceIndex());
                         // replace current input sequence starting at current position with result
-                        if (replaceInput (0, -1, gs)) {
+                        if (replaceInput(0, -1, gs)) {
                             nog = gs.getGlyphCount() - nlg;
                         }
                     }
                 }
             }
             // output glyphs and associations
-            putGlyphs (getGlyphs (0, nog, false, null, null, null), getAssociations (0, nog, false, null, null, null), null);
+            putGlyphs(getGlyphs(0, nog, false, null, null, null), getAssociations(0, nog, false, null, null, null), null);
             // consume replaced input glyphs
-            consume (nog);
+            consume(nog);
             return true;
         } else {
             return false;
@@ -238,16 +238,16 @@ public class GlyphSubstitutionState extends GlyphProcessingState {
         super.applyDefault();
         int gi = getGlyph();
         if (gi != 65535) {
-            putGlyph (gi, getAssociation(), null);
+            putGlyph(gi, getAssociation(), null);
         }
     }
 
-    private static IntBuffer growBuffer (IntBuffer ib) {
+    private static IntBuffer growBuffer(IntBuffer ib) {
         int capacity = ib.capacity();
         int capacityNew = capacity * 2;
-        IntBuffer ibNew = IntBuffer.allocate (capacityNew);
+        IntBuffer ibNew = IntBuffer.allocate(capacityNew);
         ib.rewind();
-        return ibNew.put (ib);
+        return ibNew.put(ib);
     }
 
 }
index 6545cc60176aefe45102d7760b4fd97c6ea9b08b..458d960ead705579fcda9e6ec8b7ef1639334b3d 100644 (file)
@@ -43,8 +43,8 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
      * @param format subtable format
      * @param coverage subtable coverage table
      */
-    protected GlyphSubstitutionSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage) {
-        super (id, sequence, flags, format, coverage);
+    protected GlyphSubstitutionSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage) {
+        super(id, sequence, flags, format, coverage);
     }
 
     /** {@inheritDoc} */
@@ -54,11 +54,11 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
 
     /** {@inheritDoc} */
     public String getTypeName() {
-        return GlyphSubstitutionTable.getLookupTypeName (getType());
+        return GlyphSubstitutionTable.getLookupTypeName(getType());
     }
 
     /** {@inheritDoc} */
-    public boolean isCompatible (GlyphSubtable subtable) {
+    public boolean isCompatible(GlyphSubtable subtable) {
         return subtable instanceof GlyphSubstitutionSubtable;
     }
 
@@ -68,7 +68,7 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
     }
 
     /** {@inheritDoc} */
-    public boolean substitute (GlyphSubstitutionState ss) {
+    public boolean substitute(GlyphSubstitutionState ss) {
         return false;
     }
 
@@ -85,7 +85,7 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
      * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
      * @return output glyph sequence
      */
-    public static final GlyphSequence substitute (GlyphSubstitutionState ss, GlyphSubstitutionSubtable[] sta, int sequenceIndex) {
+    public static final GlyphSequence substitute(GlyphSubstitutionState ss, GlyphSubstitutionSubtable[] sta, int sequenceIndex) {
         int sequenceStart = ss.getPosition();
         boolean appliedOneShot = false;
         while (ss.hasNext()) {
@@ -93,9 +93,9 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
             if (! appliedOneShot && ss.maybeApplicable()) {
                 for (int i = 0, n = sta.length; ! applied && (i < n); i++) {
                     if (sequenceIndex < 0) {
-                        applied = ss.apply (sta [ i ]);
+                        applied = ss.apply(sta [ i ]);
                     } else if (ss.getPosition() == (sequenceStart + sequenceIndex)) {
-                        applied = ss.apply (sta [ i ]);
+                        applied = ss.apply(sta [ i ]);
                         if (applied) {
                             appliedOneShot = true;
                         }
@@ -120,9 +120,9 @@ public abstract class GlyphSubstitutionSubtable extends GlyphSubtable implements
      * @param sct script context tester
      * @return output glyph sequence
      */
-    public static final GlyphSequence substitute (GlyphSequence gs, String script, String language, String feature, GlyphSubstitutionSubtable[] sta, ScriptContextTester sct) {
+    public static final GlyphSequence substitute(GlyphSequence gs, String script, String language, String feature, GlyphSubstitutionSubtable[] sta, ScriptContextTester sct) {
         synchronized (state) {
-            return substitute (state.reset (gs, script, language, feature, sct), sta, -1);
+            return substitute(state.reset(gs, script, language, feature, sct), sta, -1);
         }
     }
 
index 39a8cb18433b9fe04bd7f65b41446be33cc710aa..c80c0bbae30426ecdf1d84e375528d5933bdee5c 100644 (file)
@@ -70,17 +70,17 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param lookups a map of lookup specifications to subtable identifier strings
      * @param subtables a list of identified subtables
      */
-    public GlyphSubstitutionTable (GlyphDefinitionTable gdef, Map lookups, List subtables) {
-        super (gdef, lookups);
+    public GlyphSubstitutionTable(GlyphDefinitionTable gdef, Map lookups, List subtables) {
+        super(gdef, lookups);
         if ((subtables == null) || (subtables.size() == 0)) {
-            throw new AdvancedTypographicTableFormatException ("subtables must be non-empty");
+            throw new AdvancedTypographicTableFormatException("subtables must be non-empty");
         } else {
             for (Iterator it = subtables.iterator(); it.hasNext();) {
                 Object o = it.next();
                 if (o instanceof GlyphSubstitutionSubtable) {
-                    addSubtable ((GlyphSubtable) o);
+                    addSubtable((GlyphSubtable) o);
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("subtable must be a glyph substitution subtable");
+                    throw new AdvancedTypographicTableFormatException("subtable must be a glyph substitution subtable");
                 }
             }
             freezeSubtables();
@@ -94,12 +94,12 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param language a language identifier
      * @return the substituted (output) glyph sequence
      */
-    public GlyphSequence substitute (GlyphSequence gs, String script, String language) {
+    public GlyphSequence substitute(GlyphSequence gs, String script, String language) {
         GlyphSequence ogs;
-        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups (script, language, "*");
+        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups(script, language, "*");
         if ((lookups != null) && (lookups.size() > 0)) {
-            ScriptProcessor sp = ScriptProcessor.getInstance (script);
-            ogs = sp.substitute (this, gs, script, language, lookups);
+            ScriptProcessor sp = ScriptProcessor.getInstance(script);
+            ogs = sp.substitute(this, gs, script, language, lookups);
         } else {
             ogs = gs;
         }
@@ -111,24 +111,24 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param name lookup type name
      * @return lookup type
      */
-    public static int getLookupTypeFromName (String name) {
+    public static int getLookupTypeFromName(String name) {
         int t;
         String s = name.toLowerCase();
-        if ("single".equals (s)) {
+        if ("single".equals(s)) {
             t = GSUB_LOOKUP_TYPE_SINGLE;
-        } else if ("multiple".equals (s)) {
+        } else if ("multiple".equals(s)) {
             t = GSUB_LOOKUP_TYPE_MULTIPLE;
-        } else if ("alternate".equals (s)) {
+        } else if ("alternate".equals(s)) {
             t = GSUB_LOOKUP_TYPE_ALTERNATE;
-        } else if ("ligature".equals (s)) {
+        } else if ("ligature".equals(s)) {
             t = GSUB_LOOKUP_TYPE_LIGATURE;
-        } else if ("contextual".equals (s)) {
+        } else if ("contextual".equals(s)) {
             t = GSUB_LOOKUP_TYPE_CONTEXTUAL;
-        } else if ("chainedcontextual".equals (s)) {
+        } else if ("chainedcontextual".equals(s)) {
             t = GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
-        } else if ("extensionsubstitution".equals (s)) {
+        } else if ("extensionsubstitution".equals(s)) {
             t = GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION;
-        } else if ("reversechainiingcontextualsingle".equals (s)) {
+        } else if ("reversechainiingcontextualsingle".equals(s)) {
             t = GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
         } else {
             t = -1;
@@ -141,7 +141,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param type lookup type
      * @return lookup type name
      */
-    public static String getLookupTypeName (int type) {
+    public static String getLookupTypeName(int type) {
         String tn = null;
         switch (type) {
         case GSUB_LOOKUP_TYPE_SINGLE:
@@ -186,29 +186,29 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param entries subtable entries
      * @return a glyph subtable instance
      */
-    public static GlyphSubtable createSubtable (int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+    public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
         GlyphSubtable st = null;
         switch (type) {
         case GSUB_LOOKUP_TYPE_SINGLE:
-            st = SingleSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = SingleSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_MULTIPLE:
-            st = MultipleSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = MultipleSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_ALTERNATE:
-            st = AlternateSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = AlternateSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_LIGATURE:
-            st = LigatureSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = LigatureSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_CONTEXTUAL:
-            st = ContextualSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = ContextualSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
-            st = ChainedContextualSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = ChainedContextualSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         case GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE:
-            st = ReverseChainedSingleSubtable.create (id, sequence, flags, format, coverage, entries);
+            st = ReverseChainedSingleSubtable.create(id, sequence, flags, format, coverage, entries);
             break;
         default:
             break;
@@ -227,34 +227,34 @@ public class GlyphSubstitutionTable extends GlyphTable {
      * @param entries subtable entries
      * @return a glyph subtable instance
      */
-    public static GlyphSubtable createSubtable (int type, String id, int sequence, int flags, int format, List coverage, List entries) {
-        return createSubtable (type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable (coverage), entries);
+    public static GlyphSubtable createSubtable(int type, String id, int sequence, int flags, int format, List coverage, List entries) {
+        return createSubtable(type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable(coverage), entries);
     }
 
     private abstract static class SingleSubtable extends GlyphSubstitutionSubtable {
-        SingleSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        SingleSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_SINGLE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof SingleSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
-                int go = getGlyphForCoverageIndex (ci, gi);
+                int go = getGlyphForCoverageIndex(ci, gi);
                 if ((go < 0) || (go > 65535)) {
                     go = 65535;
                 }
-                ss.putGlyph (go, ss.getAssociation(), Boolean.TRUE);
+                ss.putGlyph(go, ss.getAssociation(), Boolean.TRUE);
                 ss.consume(1);
                 return true;
             }
@@ -266,12 +266,12 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @return substituted glyph value
          * @throws IllegalArgumentException if coverage index is not valid
          */
-        public abstract int getGlyphForCoverageIndex (int ci, int gi) throws IllegalArgumentException;
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract int getGlyphForCoverageIndex(int ci, int gi) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new SingleSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new SingleSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new SingleSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new SingleSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -281,34 +281,34 @@ public class GlyphSubstitutionTable extends GlyphTable {
     private static class SingleSubtableFormat1 extends SingleSubtable {
         private int delta;
         private int ciMax;
-        SingleSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        SingleSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
-            List entries = new ArrayList (1);
-            entries.add (Integer.valueOf (delta));
+            List entries = new ArrayList(1);
+            entries.add(Integer.valueOf(delta));
             return entries;
         }
         /** {@inheritDoc} */
-        public int getGlyphForCoverageIndex (int ci, int gi) throws IllegalArgumentException {
+        public int getGlyphForCoverageIndex(int ci, int gi) throws IllegalArgumentException {
             if (ci <= ciMax) {
                 return gi + delta;
             } else {
-                throw new IllegalArgumentException ("coverage index " + ci + " out of range, maximum coverage index is " + ciMax);
+                throw new IllegalArgumentException("coverage index " + ci + " out of range, maximum coverage index is " + ciMax);
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if ((entries == null) || (entries.size() != 1)) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null and contain exactly one entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null and contain exactly one entry");
             } else {
                 Object o = entries.get(0);
                 int delta = 0;
                 if (o instanceof Integer) {
                     delta = ((Integer) o) . intValue();
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries entry, must be Integer, but is: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal entries entry, must be Integer, but is: " + o);
                 }
                 this.delta = delta;
                 this.ciMax = getCoverageSize() - 1;
@@ -318,29 +318,29 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class SingleSubtableFormat2 extends SingleSubtable {
         private int[] glyphs;
-        SingleSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        SingleSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
-            List entries = new ArrayList (glyphs.length);
+            List entries = new ArrayList(glyphs.length);
             for (int i = 0, n = glyphs.length; i < n; i++) {
-                entries.add (Integer.valueOf (glyphs[i]));
+                entries.add(Integer.valueOf(glyphs[i]));
             }
             return entries;
         }
         /** {@inheritDoc} */
-        public int getGlyphForCoverageIndex (int ci, int gi) throws IllegalArgumentException {
+        public int getGlyphForCoverageIndex(int ci, int gi) throws IllegalArgumentException {
             if (glyphs == null) {
                 return -1;
             } else if (ci >= glyphs.length) {
-                throw new IllegalArgumentException ("coverage index " + ci + " out of range, maximum coverage index is " + glyphs.length);
+                throw new IllegalArgumentException("coverage index " + ci + " out of range, maximum coverage index is " + glyphs.length);
             } else {
                 return glyphs [ ci ];
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             int i = 0;
             int n = entries.size();
             int[] glyphs = new int [ n ];
@@ -351,10 +351,10 @@ public class GlyphSubstitutionTable extends GlyphTable {
                     if ((gid >= 0) && (gid < 65536)) {
                         glyphs [ i++ ] = gid;
                     } else {
-                        throw new AdvancedTypographicTableFormatException ("illegal glyph index: " + gid);
+                        throw new AdvancedTypographicTableFormatException("illegal glyph index: " + gid);
                     }
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries entry, must be Integer: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal entries entry, must be Integer: " + o);
                 }
             }
             assert i == n;
@@ -364,27 +364,27 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class MultipleSubtable extends GlyphSubstitutionSubtable {
-        public MultipleSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public MultipleSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_MULTIPLE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof MultipleSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
-                int[] ga = getGlyphsForCoverageIndex (ci, gi);
+                int[] ga = getGlyphsForCoverageIndex(ci, gi);
                 if (ga != null) {
-                    ss.putGlyphs (ga, GlyphSequence.CharAssociation.replicate (ss.getAssociation(), ga.length), Boolean.TRUE);
+                    ss.putGlyphs(ga, GlyphSequence.CharAssociation.replicate(ss.getAssociation(), ga.length), Boolean.TRUE);
                     ss.consume(1);
                 }
                 return true;
@@ -397,10 +397,10 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @return sequence of glyphs to substitute for input glyph
          * @throws IllegalArgumentException if coverage index is not valid
          */
-        public abstract int[] getGlyphsForCoverageIndex (int ci, int gi) throws IllegalArgumentException;
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract int[] getGlyphsForCoverageIndex(int ci, int gi) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new MultipleSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new MultipleSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -409,39 +409,39 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class MultipleSubtableFormat1 extends MultipleSubtable {
         private int[][] gsa;                            // glyph sequence array, ordered by coverage index
-        MultipleSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        MultipleSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (gsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (gsa);
+                List entries = new ArrayList(1);
+                entries.add(gsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public int[] getGlyphsForCoverageIndex (int ci, int gi) throws IllegalArgumentException {
+        public int[] getGlyphsForCoverageIndex(int ci, int gi) throws IllegalArgumentException {
             if (gsa == null) {
                 return null;
             } else if (ci >= gsa.length) {
-                throw new IllegalArgumentException ("coverage index " + ci + " out of range, maximum coverage index is " + gsa.length);
+                throw new IllegalArgumentException("coverage index " + ci + " out of range, maximum coverage index is " + gsa.length);
             } else {
                 return gsa [ ci ];
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof int[][])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an int[][], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an int[][], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     gsa = (int[][]) o;
                 }
@@ -450,26 +450,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class AlternateSubtable extends GlyphSubstitutionSubtable {
-        public AlternateSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public AlternateSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_ALTERNATE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof AlternateSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
-                int[] ga = getAlternatesForCoverageIndex (ci, gi);
-                int ai = ss.getAlternatesIndex (ci);
+                int[] ga = getAlternatesForCoverageIndex(ci, gi);
+                int ai = ss.getAlternatesIndex(ci);
                 int go;
                 if ((ai < 0) || (ai >= ga.length)) {
                     go = gi;
@@ -479,7 +479,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 if ((go < 0) || (go > 65535)) {
                     go = 65535;
                 }
-                ss.putGlyph (go, ss.getAssociation(), Boolean.TRUE);
+                ss.putGlyph(go, ss.getAssociation(), Boolean.TRUE);
                 ss.consume(1);
                 return true;
             }
@@ -491,10 +491,10 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @return sequence of glyphs to substitute for input glyph
          * @throws IllegalArgumentException if coverage index is not valid
          */
-        public abstract int[] getAlternatesForCoverageIndex (int ci, int gi) throws IllegalArgumentException;
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract int[] getAlternatesForCoverageIndex(int ci, int gi) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new AlternateSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new AlternateSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -503,29 +503,29 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class AlternateSubtableFormat1 extends AlternateSubtable {
         private int[][] gaa;                            // glyph alternates array, ordered by coverage index
-        AlternateSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        AlternateSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
-            List entries = new ArrayList (gaa.length);
+            List entries = new ArrayList(gaa.length);
             for (int i = 0, n = gaa.length; i < n; i++) {
-                entries.add (gaa[i]);
+                entries.add(gaa[i]);
             }
             return entries;
         }
         /** {@inheritDoc} */
-        public int[] getAlternatesForCoverageIndex (int ci, int gi) throws IllegalArgumentException {
+        public int[] getAlternatesForCoverageIndex(int ci, int gi) throws IllegalArgumentException {
             if (gaa == null) {
                 return null;
             } else if (ci >= gaa.length) {
-                throw new IllegalArgumentException ("coverage index " + ci + " out of range, maximum coverage index is " + gaa.length);
+                throw new IllegalArgumentException("coverage index " + ci + " out of range, maximum coverage index is " + gaa.length);
             } else {
                 return gaa [ ci ];
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             int i = 0;
             int n = entries.size();
             int[][] gaa = new int [ n ][];
@@ -534,7 +534,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 if (o instanceof int[]) {
                     gaa [ i++ ] = (int[]) o;
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries entry, must be int[]: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal entries entry, must be int[]: " + o);
                 }
             }
             assert i == n;
@@ -544,34 +544,34 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class LigatureSubtable extends GlyphSubstitutionSubtable {
-        public LigatureSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public LigatureSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_LIGATURE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof LigatureSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
-                LigatureSet ls = getLigatureSetForCoverageIndex (ci, gi);
+                LigatureSet ls = getLigatureSetForCoverageIndex(ci, gi);
                 if (ls != null) {
                     boolean reverse = false;
                     GlyphTester ignores = ss.getIgnoreDefault();
-                    int[] counts = ss.getGlyphsAvailable (0, reverse, ignores);
+                    int[] counts = ss.getGlyphsAvailable(0, reverse, ignores);
                     int nga = counts[0];
                     int ngi;
                     if (nga > 1) {
-                        int[] iga = ss.getGlyphs (0, nga, reverse, ignores, null, counts);
-                        Ligature l = findLigature (ls, iga);
+                        int[] iga = ss.getGlyphs(0, nga, reverse, ignores, null, counts);
+                        Ligature l = findLigature(ls, iga);
                         if (l != null) {
                             int go = l.getLigature();
                             if ((go < 0) || (go > 65535)) {
@@ -579,31 +579,31 @@ public class GlyphSubstitutionTable extends GlyphTable {
                             }
                             int nmg = 1 + l.getNumComponents();
                             // fetch matched number of component glyphs to determine matched and ignored count
-                            ss.getGlyphs (0, nmg, reverse, ignores, null, counts);
+                            ss.getGlyphs(0, nmg, reverse, ignores, null, counts);
                             nga = counts[0];
                             ngi = counts[1];
                             // fetch associations of matched component glyphs
-                            GlyphSequence.CharAssociation[] laa = ss.getAssociations (0, nga);
+                            GlyphSequence.CharAssociation[] laa = ss.getAssociations(0, nga);
                             // output ligature glyph and its association
-                            ss.putGlyph (go, GlyphSequence.CharAssociation.join (laa), Boolean.TRUE);
+                            ss.putGlyph(go, GlyphSequence.CharAssociation.join(laa), Boolean.TRUE);
                             // fetch and output ignored glyphs (if necessary)
                             if (ngi > 0) {
-                                ss.putGlyphs (ss.getIgnoredGlyphs (0, ngi), ss.getIgnoredAssociations (0, ngi), null);
+                                ss.putGlyphs(ss.getIgnoredGlyphs(0, ngi), ss.getIgnoredAssociations(0, ngi), null);
                             }
-                            ss.consume (nga + ngi);
+                            ss.consume(nga + ngi);
                         }
                     }
                 }
                 return true;
             }
         }
-        private Ligature findLigature (LigatureSet ls, int[] glyphs) {
+        private Ligature findLigature(LigatureSet ls, int[] glyphs) {
             Ligature[] la = ls.getLigatures();
             int k = -1;
             int maxComponents = -1;
             for (int i = 0, n = la.length; i < n; i++) {
                 Ligature l = la [ i ];
-                if (l.matchesComponents (glyphs)) {
+                if (l.matchesComponents(glyphs)) {
                     int nc = l.getNumComponents();
                     if (nc > maxComponents) {
                         maxComponents = nc;
@@ -624,10 +624,10 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @return ligature set (or null if none defined)
          * @throws IllegalArgumentException if coverage index is not valid
          */
-        public abstract LigatureSet getLigatureSetForCoverageIndex (int ci, int gi) throws IllegalArgumentException;
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract LigatureSet getLigatureSetForCoverageIndex(int ci, int gi) throws IllegalArgumentException;
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new LigatureSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new LigatureSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -636,29 +636,29 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class LigatureSubtableFormat1 extends LigatureSubtable {
         private LigatureSet[] ligatureSets;
-        public LigatureSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        public LigatureSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
-            List entries = new ArrayList (ligatureSets.length);
+            List entries = new ArrayList(ligatureSets.length);
             for (int i = 0, n = ligatureSets.length; i < n; i++) {
-                entries.add (ligatureSets[i]);
+                entries.add(ligatureSets[i]);
             }
             return entries;
         }
         /** {@inheritDoc} */
-        public LigatureSet getLigatureSetForCoverageIndex (int ci, int gi) throws IllegalArgumentException {
+        public LigatureSet getLigatureSetForCoverageIndex(int ci, int gi) throws IllegalArgumentException {
             if (ligatureSets == null) {
                 return null;
             } else if (ci >= ligatureSets.length) {
-                throw new IllegalArgumentException ("coverage index " + ci + " out of range, maximum coverage index is " + ligatureSets.length);
+                throw new IllegalArgumentException("coverage index " + ci + " out of range, maximum coverage index is " + ligatureSets.length);
             } else {
                 return ligatureSets [ ci ];
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             int i = 0;
             int n = entries.size();
             LigatureSet[] ligatureSets = new LigatureSet [ n ];
@@ -667,7 +667,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 if (o instanceof LigatureSet) {
                     ligatureSets [ i++ ] = (LigatureSet) o;
                 } else {
-                    throw new AdvancedTypographicTableFormatException ("illegal ligatures entry, must be LigatureSet: " + o);
+                    throw new AdvancedTypographicTableFormatException("illegal ligatures entry, must be LigatureSet: " + o);
                 }
             }
             assert i == n;
@@ -677,28 +677,28 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class ContextualSubtable extends GlyphSubstitutionSubtable {
-        public ContextualSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public ContextualSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_CONTEXTUAL;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof ContextualSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
                 int[] rv = new int[1];
-                RuleLookup[] la = getLookups (ci, gi, ss, rv);
+                RuleLookup[] la = getLookups(ci, gi, ss, rv);
                 if (la != null) {
-                    ss.apply (la, rv[0]);
+                    ss.apply(la, rv[0]);
                 }
                 return true;
             }
@@ -712,14 +712,14 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * where the first entry is used to return the input sequence length of the matched rule
          * @return array of rule lookups or null if none applies
          */
-        public abstract RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv);
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv);
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new ContextualSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new ContextualSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else if (format == 3) {
-                return new ContextualSubtableFormat3 (id, sequence, flags, format, coverage, entries);
+                return new ContextualSubtableFormat3(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -728,26 +728,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class ContextualSubtableFormat1 extends ContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
-        ContextualSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -759,8 +759,8 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedGlyphSequenceRule)) {
                             ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
-                            int[] iga = cr.getGlyphs (gi);
-                            if (matches (ss, iga, 0, rv)) {
+                            int[] iga = cr.getGlyphs(gi);
+                            if (matches(ss, iga, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -769,19 +769,19 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv) {
+        static boolean matches(GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv) {
             if ((glyphs == null) || (glyphs.length == 0)) {
                 return true;                            // match null or empty glyph sequence
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ss.getIgnoreDefault();
-                int[] counts = ss.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ss.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = glyphs.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ss.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ss.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         if (ga [ k ] != glyphs [ k ]) {
                             return false;               // match fails at ga [ k ]
@@ -794,15 +794,15 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -814,28 +814,28 @@ public class GlyphSubstitutionTable extends GlyphTable {
         private GlyphClassTable cdt;                    // class def table
         private int ngc;                                // class set count
         private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
-        ContextualSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (3);
-                entries.add (cdt);
-                entries.add (Integer.valueOf (ngc));
-                entries.add (rsa);
+                List entries = new ArrayList(3);
+                entries.add(cdt);
+                entries.add(Integer.valueOf(ngc));
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -847,8 +847,8 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedClassSequenceRule)) {
                             ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
-                            int[] ca = cr.getClasses (cdt.getClassIndex (gi, ss.getClassMatchSet (gi)));
-                            if (matches (ss, cdt, ca, 0, rv)) {
+                            int[] ca = cr.getClasses(cdt.getClassIndex(gi, ss.getClassMatchSet(gi)));
+                            if (matches(ss, cdt, ca, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -857,24 +857,24 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
+        static boolean matches(GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
             if ((cdt == null) || (classes == null) || (classes.length == 0)) {
                 return true;                            // match null class definitions, null or empty class sequence
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ss.getIgnoreDefault();
-                int[] counts = ss.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ss.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = classes.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ss.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ss.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         int gi = ga [ k ];
-                        int ms = ss.getClassMatchSet (gi);
-                        int gc = cdt.getClassIndex (gi, ms);
-                        if ((gc < 0) || (gc >= cdt.getClassSize (ms))) {
+                        int ms = ss.getClassMatchSet(gi);
+                        int gc = cdt.getClassIndex(gi, ms);
+                        if ((gc < 0) || (gc >= cdt.getClassSize(ms))) {
                             return false;               // none or invalid class fails mat ch
                         } else if (gc != classes [ k ]) {
                             return false;               // match fails at ga [ k ]
@@ -887,29 +887,29 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 3) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 3 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 3 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     cdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(1)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     ngc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(2)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                     if (rsa.length != ngc) {
-                        throw new AdvancedTypographicTableFormatException ("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
+                        throw new AdvancedTypographicTableFormatException("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
                     }
                 }
             }
@@ -918,26 +918,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class ContextualSubtableFormat3 extends ContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, containing a single rule set
-        ContextualSubtableFormat3 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ContextualSubtableFormat3(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -950,7 +950,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         if ((r != null) && (r instanceof ChainedCoverageSequenceRule)) {
                             ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
                             GlyphCoverageTable[] gca = cr.getCoverages();
-                            if (matches (ss, gca, 0, rv)) {
+                            if (matches(ss, gca, 0, rv)) {
                                 return r.getLookups();
                             }
                         }
@@ -959,23 +959,23 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        static boolean matches (GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv) {
+        static boolean matches(GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv) {
             if ((gca == null) || (gca.length == 0)) {
                 return true;                            // match null or empty coverage array
             } else {
                 boolean reverse = offset < 0;
                 GlyphTester ignores = ss.getIgnoreDefault();
-                int[] counts = ss.getGlyphsAvailable (offset, reverse, ignores);
+                int[] counts = ss.getGlyphsAvailable(offset, reverse, ignores);
                 int nga = counts[0];
                 int ngm = gca.length;
                 if (nga < ngm) {
                     return false;                       // insufficient glyphs available to match
                 } else {
-                    int[] ga = ss.getGlyphs (offset, ngm, reverse, ignores, null, counts);
+                    int[] ga = ss.getGlyphs(offset, ngm, reverse, ignores, null, counts);
                     for (int k = 0; k < ngm; k++) {
                         GlyphCoverageTable ct = gca [ k ];
                         if (ct != null) {
-                            if (ct.getCoverageIndex (ga [ k ]) < 0) {
+                            if (ct.getCoverageIndex(ga [ k ]) < 0) {
                                 return false;           // match fails at ga [ k ]
                             }
                         }
@@ -987,15 +987,15 @@ public class GlyphSubstitutionTable extends GlyphTable {
                 }
             }
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1004,28 +1004,28 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class ChainedContextualSubtable extends GlyphSubstitutionSubtable {
-        public ChainedContextualSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public ChainedContextualSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof ChainedContextualSubtable;
         }
         /** {@inheritDoc} */
-        public boolean substitute (GlyphSubstitutionState ss) {
+        public boolean substitute(GlyphSubstitutionState ss) {
             int gi = ss.getGlyph();
             int ci;
-            if ((ci = getCoverageIndex (gi)) < 0) {
+            if ((ci = getCoverageIndex(gi)) < 0) {
                 return false;
             } else {
                 int[] rv = new int[1];
-                RuleLookup[] la = getLookups (ci, gi, ss, rv);
+                RuleLookup[] la = getLookups(ci, gi, ss, rv);
                 if (la != null) {
-                    ss.apply (la, rv[0]);
+                    ss.apply(la, rv[0]);
                     return true;
                 } else {
                     return false;
@@ -1040,14 +1040,14 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @param rv array of ints used to receive multiple return values, must be of length 1 or greater
          * @return array of rule lookups or null if none applies
          */
-        public abstract RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv);
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        public abstract RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv);
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new ChainedContextualSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else if (format == 2) {
-                return new ChainedContextualSubtableFormat2 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat2(id, sequence, flags, format, coverage, entries);
             } else if (format == 3) {
-                return new ChainedContextualSubtableFormat3 (id, sequence, flags, format, coverage, entries);
+                return new ChainedContextualSubtableFormat3(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -1056,26 +1056,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class ChainedContextualSubtableFormat1 extends ChainedContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
-        ChainedContextualSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1087,12 +1087,12 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedGlyphSequenceRule)) {
                             ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
-                            int[] iga = cr.getGlyphs (gi);
-                            if (matches (ss, iga, 0, rv)) {
+                            int[] iga = cr.getGlyphs(gi);
+                            if (matches(ss, iga, 0, rv)) {
                                 int[] bga = cr.getBacktrackGlyphs();
-                                if (matches (ss, bga, -1, null)) {
+                                if (matches(ss, bga, -1, null)) {
                                     int[] lga = cr.getLookaheadGlyphs();
-                                    if (matches (ss, lga, rv[0], null)) {
+                                    if (matches(ss, lga, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1103,18 +1103,18 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv) {
-            return ContextualSubtableFormat1.matches (ss, glyphs, offset, rv);
+        private boolean matches(GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv) {
+            return ContextualSubtableFormat1.matches(ss, glyphs, offset, rv);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1128,26 +1128,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
         private GlyphClassTable lcdt;                   // lookahead class def table
         private int ngc;                                // class set count
         private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
-        ChainedContextualSubtableFormat2 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat2(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (5);
-                entries.add (icdt);
-                entries.add (bcdt);
-                entries.add (lcdt);
-                entries.add (Integer.valueOf (ngc));
-                entries.add (rsa);
+                List entries = new ArrayList(5);
+                entries.add(icdt);
+                entries.add(bcdt);
+                entries.add(lcdt);
+                entries.add(Integer.valueOf(ngc));
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1159,12 +1159,12 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         Rule r = ra [ i ];
                         if ((r != null) && (r instanceof ChainedClassSequenceRule)) {
                             ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
-                            int[] ica = cr.getClasses (icdt.getClassIndex (gi, ss.getClassMatchSet (gi)));
-                            if (matches (ss, icdt, ica, 0, rv)) {
+                            int[] ica = cr.getClasses(icdt.getClassIndex(gi, ss.getClassMatchSet(gi)));
+                            if (matches(ss, icdt, ica, 0, rv)) {
                                 int[] bca = cr.getBacktrackClasses();
-                                if (matches (ss, bcdt, bca, -1, null)) {
+                                if (matches(ss, bcdt, bca, -1, null)) {
                                     int[] lca = cr.getLookaheadClasses();
-                                    if (matches (ss, lcdt, lca, rv[0], null)) {
+                                    if (matches(ss, lcdt, lca, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1175,46 +1175,46 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
-            return ContextualSubtableFormat2.matches (ss, cdt, classes, offset, rv);
+        private boolean matches(GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv) {
+            return ContextualSubtableFormat2.matches(ss, cdt, classes, offset, rv);
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 5) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 5 entries");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an GlyphClassTable, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     icdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(1)) != null) && ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass());
+                    throw new AdvancedTypographicTableFormatException("illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass());
                 } else {
                     bcdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(2)) != null) && ! (o instanceof GlyphClassTable)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass());
+                    throw new AdvancedTypographicTableFormatException("illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass());
                 } else {
                     lcdt = (GlyphClassTable) o;
                 }
                 if (((o = entries.get(3)) == null) || ! (o instanceof Integer)) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fourth entry must be an Integer, but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     ngc = ((Integer)(o)).intValue();
                 }
                 if (((o = entries.get(4)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, fifth entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, fifth entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                     if (rsa.length != ngc) {
-                        throw new AdvancedTypographicTableFormatException ("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
+                        throw new AdvancedTypographicTableFormatException("illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes");
                     }
                 }
             }
@@ -1223,26 +1223,26 @@ public class GlyphSubstitutionTable extends GlyphTable {
 
     private static class ChainedContextualSubtableFormat3 extends ChainedContextualSubtable {
         private RuleSet[] rsa;                          // rule set array, containing a single rule set
-        ChainedContextualSubtableFormat3 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ChainedContextualSubtableFormat3(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             if (rsa != null) {
-                List entries = new ArrayList (1);
-                entries.add (rsa);
+                List entries = new ArrayList(1);
+                entries.add(rsa);
                 return entries;
             } else {
                 return null;
             }
         }
         /** {@inheritDoc} */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
-            GlyphTable.resolveLookupReferences (rsa, lookupTables);
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
+            GlyphTable.resolveLookupReferences(rsa, lookupTables);
         }
         /** {@inheritDoc} */
-        public RuleLookup[] getLookups (int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
+        public RuleLookup[] getLookups(int ci, int gi, GlyphSubstitutionState ss, int[] rv) {
             assert ss != null;
             assert (rv != null) && (rv.length > 0);
             assert rsa != null;
@@ -1255,11 +1255,11 @@ public class GlyphSubstitutionTable extends GlyphTable {
                         if ((r != null) && (r instanceof ChainedCoverageSequenceRule)) {
                             ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
                             GlyphCoverageTable[] igca = cr.getCoverages();
-                            if (matches (ss, igca, 0, rv)) {
+                            if (matches(ss, igca, 0, rv)) {
                                 GlyphCoverageTable[] bgca = cr.getBacktrackCoverages();
-                                if (matches (ss, bgca, -1, null)) {
+                                if (matches(ss, bgca, -1, null)) {
                                     GlyphCoverageTable[] lgca = cr.getLookaheadCoverages();
-                                    if (matches (ss, lgca, rv[0], null)) {
+                                    if (matches(ss, lgca, rv[0], null)) {
                                         return r.getLookups();
                                     }
                                 }
@@ -1270,18 +1270,18 @@ public class GlyphSubstitutionTable extends GlyphTable {
             }
             return null;
         }
-        private boolean matches (GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv) {
-            return ContextualSubtableFormat3.matches (ss, gca, offset, rv);
+        private boolean matches(GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv) {
+            return ContextualSubtableFormat3.matches(ss, gca, offset, rv);
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
             if (entries == null) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, must be non-null");
+                throw new AdvancedTypographicTableFormatException("illegal entries, must be non-null");
             } else if (entries.size() != 1) {
-                throw new AdvancedTypographicTableFormatException ("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
+                throw new AdvancedTypographicTableFormatException("illegal entries, " + entries.size() + " entries present, but requires 1 entry");
             } else {
                 Object o;
                 if (((o = entries.get(0)) == null) || ! (o instanceof RuleSet[])) {
-                    throw new AdvancedTypographicTableFormatException ("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
+                    throw new AdvancedTypographicTableFormatException("illegal entries, first entry must be an RuleSet[], but is: " + ((o != null) ? o.getClass() : null));
                 } else {
                     rsa = (RuleSet[]) o;
                 }
@@ -1290,24 +1290,24 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private abstract static class ReverseChainedSingleSubtable extends GlyphSubstitutionSubtable {
-        public ReverseChainedSingleSubtable (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage);
+        public ReverseChainedSingleSubtable(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage);
         }
         /** {@inheritDoc} */
         public int getType() {
             return GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
         }
         /** {@inheritDoc} */
-        public boolean isCompatible (GlyphSubtable subtable) {
+        public boolean isCompatible(GlyphSubtable subtable) {
             return subtable instanceof ReverseChainedSingleSubtable;
         }
         /** {@inheritDoc} */
         public boolean usesReverseScan() {
             return true;
         }
-        static GlyphSubstitutionSubtable create (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+        static GlyphSubstitutionSubtable create(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
             if (format == 1) {
-                return new ReverseChainedSingleSubtableFormat1 (id, sequence, flags, format, coverage, entries);
+                return new ReverseChainedSingleSubtableFormat1(id, sequence, flags, format, coverage, entries);
             } else {
                 throw new UnsupportedOperationException();
             }
@@ -1315,15 +1315,15 @@ public class GlyphSubstitutionTable extends GlyphTable {
     }
 
     private static class ReverseChainedSingleSubtableFormat1 extends ReverseChainedSingleSubtable {
-        ReverseChainedSingleSubtableFormat1 (String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
-            super (id, sequence, flags, format, coverage, entries);
-            populate (entries);
+        ReverseChainedSingleSubtableFormat1(String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries) {
+            super(id, sequence, flags, format, coverage, entries);
+            populate(entries);
         }
         /** {@inheritDoc} */
         public List getEntries() {
             return null;
         }
-        private void populate (List entries) {
+        private void populate(List entries) {
         }
     }
 
@@ -1343,16 +1343,16 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @param ligature glyph id
          * @param components sequence of <emph>N+1...</emph> component glyph (or character) identifiers
          */
-        public Ligature (int ligature, int[] components) {
+        public Ligature(int ligature, int[] components) {
             if ((ligature < 0) || (ligature > 65535)) {
-                throw new AdvancedTypographicTableFormatException ("invalid ligature glyph index: " + ligature);
+                throw new AdvancedTypographicTableFormatException("invalid ligature glyph index: " + ligature);
             } else if (components == null) {
-                throw new AdvancedTypographicTableFormatException ("invalid ligature components, must be non-null array");
+                throw new AdvancedTypographicTableFormatException("invalid ligature components, must be non-null array");
             } else {
                 for (int i = 0, n = components.length; i < n; i++) {
                     int gc = components [ i ];
                     if ((gc < 0) || (gc > 65535)) {
-                        throw new AdvancedTypographicTableFormatException ("invalid component glyph index: " + gc);
+                        throw new AdvancedTypographicTableFormatException("invalid component glyph index: " + gc);
                     }
                 }
                 this.ligature = ligature;
@@ -1380,7 +1380,7 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * @param glyphs array of glyph components to match (including first, implied glyph)
          * @return true if matches
          */
-        public boolean matchesComponents (int[] glyphs) {
+        public boolean matchesComponents(int[] glyphs) {
             if (glyphs.length < (components.length + 1)) {
                 return false;
             } else {
@@ -1423,17 +1423,17 @@ public class GlyphSubstitutionTable extends GlyphTable {
          * Instantiate a set of ligatures.
          * @param ligatures collection of ligatures
          */
-        public LigatureSet (List ligatures) {
-            this ((Ligature[]) ligatures.toArray (new Ligature [ ligatures.size() ]));
+        public LigatureSet(List ligatures) {
+            this ((Ligature[]) ligatures.toArray(new Ligature [ ligatures.size() ]));
         }
 
         /**
          * Instantiate a set of ligatures.
          * @param ligatures array of ligatures
          */
-        public LigatureSet (Ligature[] ligatures) {
+        public LigatureSet(Ligature[] ligatures) {
             if (ligatures == null) {
-                throw new AdvancedTypographicTableFormatException ("invalid ligatures, must be non-null array");
+                throw new AdvancedTypographicTableFormatException("invalid ligatures, must be non-null array");
             } else {
                 this.ligatures = ligatures;
                 int ncMax = -1;
index 5302c4e4241223179d7f498f246db67397ab512b..a3cad4fd72398265e262e68472c5b1550e44dccf 100644 (file)
@@ -73,12 +73,12 @@ public abstract class GlyphSubtable implements Comparable {
      * @param format subtable format
      * @param mapping subtable mapping table
      */
-    protected GlyphSubtable (String lookupId, int sequence, int flags, int format, GlyphMappingTable mapping)
+    protected GlyphSubtable(String lookupId, int sequence, int flags, int format, GlyphMappingTable mapping)
     {
         if ((lookupId == null) || (lookupId.length() == 0)) {
-            throw new AdvancedTypographicTableFormatException ("invalid lookup identifier, must be non-empty string");
+            throw new AdvancedTypographicTableFormatException("invalid lookup identifier, must be non-empty string");
         } else if (mapping == null) {
-            throw new AdvancedTypographicTableFormatException ("invalid mapping table, must not be null");
+            throw new AdvancedTypographicTableFormatException("invalid mapping table, must not be null");
         } else {
             this.lookupId = lookupId;
             this.sequence = sequence;
@@ -109,7 +109,7 @@ public abstract class GlyphSubtable implements Comparable {
      * @return true if specified subtable is compatible with this glyph subtable, where by compatible
      * is meant that they share the same lookup type
      */
-    public abstract boolean isCompatible (GlyphSubtable subtable);
+    public abstract boolean isCompatible(GlyphSubtable subtable);
 
     /** @return true if subtable uses reverse scanning of glyph sequence, meaning from the last glyph
      * in a glyph sequence to the first glyph
@@ -175,7 +175,7 @@ public abstract class GlyphSubtable implements Comparable {
      * @param table the table or null
      * @throws IllegalStateException if table is already set to non-null
      */
-    public synchronized void setTable (GlyphTable table) throws IllegalStateException {
+    public synchronized void setTable(GlyphTable table) throws IllegalStateException {
         WeakReference r = this.table;
         if (table == null) {
             this.table = null;
@@ -183,9 +183,9 @@ public abstract class GlyphSubtable implements Comparable {
                 r.clear();
             }
         } else if (r == null) {
-            this.table = new WeakReference (table);
+            this.table = new WeakReference(table);
         } else {
-            throw new IllegalStateException ("table already set");
+            throw new IllegalStateException("table already set");
         }
     }
 
@@ -193,7 +193,7 @@ public abstract class GlyphSubtable implements Comparable {
      * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
      * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
      */
-    public void resolveLookupReferences (Map/*<String,GlyphTable.LookupTable>*/ lookupTables) {
+    public void resolveLookupReferences(Map/*<String,GlyphTable.LookupTable>*/ lookupTables) {
     }
 
     /**
@@ -201,9 +201,9 @@ public abstract class GlyphSubtable implements Comparable {
      * @param gid glyph id
      * @return the corresponding coverage index of the specified glyph id
      */
-    public int getCoverageIndex (int gid) {
+    public int getCoverageIndex(int gid) {
         if (mapping instanceof GlyphCoverageMapping) {
-            return ((GlyphCoverageMapping) mapping) .getCoverageIndex (gid);
+            return ((GlyphCoverageMapping) mapping) .getCoverageIndex(gid);
         } else {
             return -1;
         }
@@ -233,10 +233,10 @@ public abstract class GlyphSubtable implements Comparable {
      * @return true if the lookup identifier and the sequence number of the specified subtable is the same
      * as the lookup identifier and sequence number of this subtable
      */
-    public boolean equals (Object o) {
+    public boolean equals(Object o) {
         if (o instanceof GlyphSubtable) {
             GlyphSubtable st = (GlyphSubtable) o;
-            return lookupId.equals (st.lookupId) && (sequence == st.sequence);
+            return lookupId.equals(st.lookupId) && (sequence == st.sequence);
         } else {
             return false;
         }
@@ -247,11 +247,11 @@ public abstract class GlyphSubtable implements Comparable {
      * @return the result of comparing the lookup identifier and the sequence number of the specified subtable with
      * the lookup identifier and sequence number of this subtable
      */
-    public int compareTo (Object o) {
+    public int compareTo(Object o) {
         int d;
         if (o instanceof GlyphSubtable) {
             GlyphSubtable st = (GlyphSubtable) o;
-            if ((d = lookupId.compareTo (st.lookupId)) == 0) {
+            if ((d = lookupId.compareTo(st.lookupId)) == 0) {
                 if (sequence < st.sequence) {
                     d = -1;
                 } else if (sequence > st.sequence) {
@@ -269,7 +269,7 @@ public abstract class GlyphSubtable implements Comparable {
      * @param subtables array of glyph subtables
      * @return true if any of the specified subtables uses reverse scanning.
      */
-    public static boolean usesReverseScan (GlyphSubtable[] subtables) {
+    public static boolean usesReverseScan(GlyphSubtable[] subtables) {
         if ((subtables == null) || (subtables.length == 0)) {
             return false;
         } else {
@@ -288,7 +288,7 @@ public abstract class GlyphSubtable implements Comparable {
      * @return consistent flags
      * @throws IllegalStateException if inconsistent flags
      */
-    public static int getFlags (GlyphSubtable[] subtables) throws IllegalStateException {
+    public static int getFlags(GlyphSubtable[] subtables) throws IllegalStateException {
         if ((subtables == null) || (subtables.length == 0)) {
             return 0;
         } else {
@@ -305,10 +305,10 @@ public abstract class GlyphSubtable implements Comparable {
             for (int i = 0, n = subtables.length; i < n; i++) {
                 int f = subtables[i].getFlags();
                 if (f != flags) {
-                    throw new IllegalStateException ("inconsistent lookup flags " + f + ", expected " + flags);
+                    throw new IllegalStateException("inconsistent lookup flags " + f + ", expected " + flags);
                 }
             }
-            return flags | (usesReverseScan (subtables) ? LF_INTERNAL_USE_REVERSE_SCAN : 0);
+            return flags | (usesReverseScan(subtables) ? LF_INTERNAL_USE_REVERSE_SCAN : 0);
         }
     }
 
index d0baab90ac41305e04c3b123a859cf5e1e83cecb..e96845eee160d409b402d79405c6c07b83507a57 100644 (file)
@@ -85,11 +85,11 @@ public class GlyphTable {
      * @param gdef glyph definition table that applies
      * @param lookups map from lookup specs to lookup tables
      */
-    public GlyphTable (GlyphTable gdef, Map/*<LookupSpec,List<String>>*/ lookups) {
+    public GlyphTable(GlyphTable gdef, Map/*<LookupSpec,List<String>>*/ lookups) {
         if ((gdef != null) && ! (gdef instanceof GlyphDefinitionTable)) {
-            throw new AdvancedTypographicTableFormatException ("bad glyph definition table");
+            throw new AdvancedTypographicTableFormatException("bad glyph definition table");
         } else if (lookups == null) {
-            throw new AdvancedTypographicTableFormatException ("lookups must be non-null map");
+            throw new AdvancedTypographicTableFormatException("lookups must be non-null map");
         } else {
             this.gdef = gdef;
             this.lookups = lookups;
@@ -111,7 +111,7 @@ public class GlyphTable {
      * @return (possibly empty) list of all lookup specifications
      */
     public List/*<LookupSpec>*/ getLookups() {
-        return matchLookupSpecs ("*", "*", "*");
+        return matchLookupSpecs("*", "*", "*");
     }
 
     /**
@@ -120,11 +120,11 @@ public class GlyphTable {
      * @return (possibly empty) ordered list of all lookup tables
      */
     public List/*<LookupTable>*/ getLookupTables() {
-        TreeSet/*<String>*/ lids = new TreeSet/*<String>*/ (lookupTables.keySet());
-        List/*<LookupTable>*/ ltl = new ArrayList/*<LookupTable>*/ (lids.size());
+        TreeSet/*<String>*/ lids = new TreeSet/*<String>*/(lookupTables.keySet());
+        List/*<LookupTable>*/ ltl = new ArrayList/*<LookupTable>*/(lids.size());
         for (Iterator it = lids.iterator(); it.hasNext(); ) {
             String lid = (String) it.next();
-            ltl.add (lookupTables.get (lid));
+            ltl.add(lookupTables.get(lid));
         }
         return ltl;
     }
@@ -135,29 +135,29 @@ public class GlyphTable {
      * @param lid lookup id
      * @return table associated with lookup id or null if none
      */
-    public LookupTable getLookupTable (String lid) {
-        return (LookupTable) lookupTables.get (lid);
+    public LookupTable getLookupTable(String lid) {
+        return (LookupTable) lookupTables.get(lid);
     }
 
     /**
      * Add a subtable.
      * @param subtable a (non-null) glyph subtable
      */
-    protected void addSubtable (GlyphSubtable subtable) {
+    protected void addSubtable(GlyphSubtable subtable) {
         // ensure table is not frozen
         if (frozen) {
-            throw new IllegalStateException ("glyph table is frozen, subtable addition prohibited");
+            throw new IllegalStateException("glyph table is frozen, subtable addition prohibited");
         }
         // set subtable's table reference to this table
-        subtable.setTable (this);
+        subtable.setTable(this);
         // add subtable to this table's subtable collection
         String lid = subtable.getLookupId();
-        if (lookupTables.containsKey (lid)) {
-            LookupTable lt = (LookupTable) lookupTables.get (lid);
-            lt.addSubtable (subtable);
+        if (lookupTables.containsKey(lid)) {
+            LookupTable lt = (LookupTable) lookupTables.get(lid);
+            lt.addSubtable(subtable);
         } else {
-            LookupTable lt = new LookupTable (lid, subtable);
-            lookupTables.put (lid, lt);
+            LookupTable lt = new LookupTable(lid, subtable);
+            lookupTables.put(lid, lt);
         }
     }
 
@@ -169,7 +169,7 @@ public class GlyphTable {
         if (! frozen) {
             for (Iterator it = lookupTables.values().iterator(); it.hasNext(); ) {
                 LookupTable lt = (LookupTable) it.next();
-                lt.freezeSubtables (lookupTables);
+                lt.freezeSubtables(lookupTables);
             }
             frozen = true;
         }
@@ -183,27 +183,27 @@ public class GlyphTable {
      * @param feature a feature identifier
      * @return a (possibly empty) array of matching lookup specifications
      */
-    public List/*<LookupSpec>*/ matchLookupSpecs (String script, String language, String feature) {
+    public List/*<LookupSpec>*/ matchLookupSpecs(String script, String language, String feature) {
         Set/*<LookupSpec>*/ keys = lookups.keySet();
         List/*<LookupSpec>*/ matches = new ArrayList/*<LookupSpec>*/();
         for (Iterator it = keys.iterator(); it.hasNext();) {
             LookupSpec ls = (LookupSpec) it.next();
             if (! "*".equals(script)) {
-                if (! ls.getScript().equals (script)) {
+                if (! ls.getScript().equals(script)) {
                     continue;
                 }
             }
             if (! "*".equals(language)) {
-                if (! ls.getLanguage().equals (language)) {
+                if (! ls.getLanguage().equals(language)) {
                     continue;
                 }
             }
             if (! "*".equals(feature)) {
-                if (! ls.getFeature().equals (feature)) {
+                if (! ls.getFeature().equals(feature)) {
                     continue;
                 }
             }
-            matches.add (ls);
+            matches.add(ls);
         }
         return matches;
     }
@@ -216,17 +216,17 @@ public class GlyphTable {
      * @param feature a feature identifier
      * @return a (possibly empty) map from matching lookup specifications to lists of corresponding lookup tables
      */
-    public Map/*<LookupSpec,List<LookupTable>>*/ matchLookups (String script, String language, String feature) {
-        LookupSpec lsm = new LookupSpec (script, language, feature, true, true);
-        Map/*<LookupSpec,List<LookupTable>>*/ lm = (Map/*<LookupSpec,List<LookupTable>>*/) matchedLookups.get (lsm);
+    public Map/*<LookupSpec,List<LookupTable>>*/ matchLookups(String script, String language, String feature) {
+        LookupSpec lsm = new LookupSpec(script, language, feature, true, true);
+        Map/*<LookupSpec,List<LookupTable>>*/ lm = (Map/*<LookupSpec,List<LookupTable>>*/) matchedLookups.get(lsm);
         if (lm == null) {
             lm = new LinkedHashMap();
-            List/*<LookupSpec>*/ lsl = matchLookupSpecs (script, language, feature);
+            List/*<LookupSpec>*/ lsl = matchLookupSpecs(script, language, feature);
             for (Iterator it = lsl.iterator(); it.hasNext(); ) {
                 LookupSpec ls = (LookupSpec) it.next();
-                lm.put (ls, findLookupTables (ls));
+                lm.put(ls, findLookupTables(ls));
             }
-            matchedLookups.put (lsm, lm);
+            matchedLookups.put(lsm, lm);
         }
         return lm;
     }
@@ -236,19 +236,19 @@ public class GlyphTable {
      * @param ls a (non-null) lookup specification
      * @return a (possibly empty) ordered list of lookup tables whose corresponding lookup specifications match the specified lookup spec
      */
-    public List/*<LookupTable>*/ findLookupTables (LookupSpec ls) {
+    public List/*<LookupTable>*/ findLookupTables(LookupSpec ls) {
         TreeSet/*<LookupTable>*/ lts = new TreeSet/*<LookupTable>*/();
         List/*<String>*/ ids;
-        if ((ids = (List/*<String>*/) lookups.get (ls)) != null) {
+        if ((ids = (List/*<String>*/) lookups.get(ls)) != null) {
             for (Iterator it = ids.iterator(); it.hasNext();) {
                 String lid = (String) it.next();
                 LookupTable lt;
-                if ((lt = (LookupTable) lookupTables.get (lid)) != null) {
-                    lts.add (lt);
+                if ((lt = (LookupTable) lookupTables.get(lid)) != null) {
+                    lts.add(lt);
                 }
             }
         }
-        return new ArrayList/*<LookupTable>*/ (lts);
+        return new ArrayList/*<LookupTable>*/(lts);
     }
 
     /**
@@ -258,25 +258,25 @@ public class GlyphTable {
      * @param lookups a mapping from lookup specifications to lists of look tables from which to select lookup tables according to the specified features
      * @return ordered array of assembled lookup table use specifications
      */
-    public UseSpec[] assembleLookups (String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
+    public UseSpec[] assembleLookups(String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
         TreeSet/*<UseSpec>*/ uss = new TreeSet/*<UseSpec>*/();
         for (int i = 0, n = features.length; i < n; i++) {
             String feature = features[i];
             for (Iterator it = lookups.entrySet().iterator(); it.hasNext(); ) {
                 Map.Entry/*<LookupSpec,List<LookupTable>>*/ e = (Map.Entry/*<LookupSpec,List<LookupTable>>*/) it.next();
                 LookupSpec ls = (LookupSpec) e.getKey();
-                if (ls.getFeature().equals (feature)) {
+                if (ls.getFeature().equals(feature)) {
                     List/*<LookupTable>*/ ltl = (List/*<LookupTable>*/) e.getValue();
                     if (ltl != null) {
                         for (Iterator ltit = ltl.iterator(); ltit.hasNext(); ) {
                             LookupTable lt = (LookupTable) ltit.next();
-                            uss.add (new UseSpec (lt, feature));
+                            uss.add(new UseSpec(lt, feature));
                         }
                     }
                 }
             }
         }
-        return (UseSpec[]) uss.toArray (new UseSpec [ uss.size() ]);
+        return (UseSpec[]) uss.toArray(new UseSpec [ uss.size() ]);
     }
 
     /** {@inheritDoc} */
@@ -296,18 +296,18 @@ public class GlyphTable {
      * @param name of table type to map to type value
      * @return glyph table type (as an integer constant)
      */
-    public static int getTableTypeFromName (String name) {
+    public static int getTableTypeFromName(String name) {
         int t;
         String s = name.toLowerCase();
-        if ("gsub".equals (s)) {
+        if ("gsub".equals(s)) {
             t = GLYPH_TABLE_TYPE_SUBSTITUTION;
-        } else if ("gpos".equals (s)) {
+        } else if ("gpos".equals(s)) {
             t = GLYPH_TABLE_TYPE_POSITIONING;
-        } else if ("jstf".equals (s)) {
+        } else if ("jstf".equals(s)) {
             t = GLYPH_TABLE_TYPE_JUSTIFICATION;
-        } else if ("base".equals (s)) {
+        } else if ("base".equals(s)) {
             t = GLYPH_TABLE_TYPE_BASELINE;
-        } else if ("gdef".equals (s)) {
+        } else if ("gdef".equals(s)) {
             t = GLYPH_TABLE_TYPE_DEFINITION;
         } else {
             t = -1;
@@ -320,12 +320,12 @@ public class GlyphTable {
      * @param rsa array of rule sets
      * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
      */
-    public static void resolveLookupReferences (RuleSet[] rsa, Map/*<String,LookupTable>*/ lookupTables) {
+    public static void resolveLookupReferences(RuleSet[] rsa, Map/*<String,LookupTable>*/ lookupTables) {
         if ((rsa != null) && (lookupTables != null)) {
             for (int i = 0, n = rsa.length; i < n; i++) {
                 RuleSet rs = rsa [ i ];
                 if (rs != null) {
-                    rs.resolveLookupReferences (lookupTables);
+                    rs.resolveLookupReferences(lookupTables);
                 }
             }
         }
@@ -346,7 +346,7 @@ public class GlyphTable {
          * @param language a language identifier
          * @param feature a feature identifier
          */
-        public LookupSpec (String script, String language, String feature) {
+        public LookupSpec(String script, String language, String feature) {
             this (script, language, feature, false, false);
         }
 
@@ -358,19 +358,19 @@ public class GlyphTable {
          * @param permitEmpty if true the permit empty script, language, or feature
          * @param permitWildcard if true the permit wildcard script, language, or feature
          */
-        LookupSpec (String script, String language, String feature, boolean permitEmpty, boolean permitWildcard) {
+        LookupSpec(String script, String language, String feature, boolean permitEmpty, boolean permitWildcard) {
             if ((script == null) || (! permitEmpty && (script.length() == 0))) {
-                throw new AdvancedTypographicTableFormatException ("script must be non-empty string");
+                throw new AdvancedTypographicTableFormatException("script must be non-empty string");
             } else if ((language == null) || (! permitEmpty && (language.length() == 0))) {
-                throw new AdvancedTypographicTableFormatException ("language must be non-empty string");
+                throw new AdvancedTypographicTableFormatException("language must be non-empty string");
             } else if ((feature == null) || (! permitEmpty && (feature.length() == 0))) {
-                throw new AdvancedTypographicTableFormatException ("feature must be non-empty string");
+                throw new AdvancedTypographicTableFormatException("feature must be non-empty string");
             } else if (! permitWildcard && script.equals("*")) {
-                throw new AdvancedTypographicTableFormatException ("script must not be wildcard");
+                throw new AdvancedTypographicTableFormatException("script must not be wildcard");
             } else if (! permitWildcard && language.equals("*")) {
-                throw new AdvancedTypographicTableFormatException ("language must not be wildcard");
+                throw new AdvancedTypographicTableFormatException("language must not be wildcard");
             } else if (! permitWildcard && feature.equals("*")) {
-                throw new AdvancedTypographicTableFormatException ("feature must not be wildcard");
+                throw new AdvancedTypographicTableFormatException("feature must not be wildcard");
             }
             this.script = script.trim();
             this.language = language.trim();
@@ -402,14 +402,14 @@ public class GlyphTable {
         }
 
         /** {@inheritDoc} */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof LookupSpec) {
                 LookupSpec l = (LookupSpec) o;
-                if (! l.script.equals (script)) {
+                if (! l.script.equals(script)) {
                     return false;
-                } else if (! l.language.equals (language)) {
+                } else if (! l.language.equals(language)) {
                     return false;
-                } else if (! l.feature.equals (feature)) {
+                } else if (! l.feature.equals(feature)) {
                     return false;
                 } else {
                     return true;
@@ -420,13 +420,13 @@ public class GlyphTable {
         }
 
         /** {@inheritDoc} */
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             int d;
             if (o instanceof LookupSpec) {
                 LookupSpec ls = (LookupSpec) o;
-                if ((d = script.compareTo (ls.script)) == 0) {
-                    if ((d = language.compareTo (ls.language)) == 0) {
-                        if ((d = feature.compareTo (ls.feature)) == 0) {
+                if ((d = script.compareTo(ls.script)) == 0) {
+                    if ((d = language.compareTo(ls.language)) == 0) {
+                        if ((d = feature.compareTo(ls.feature)) == 0) {
                             d = 0;
                         }
                     }
@@ -471,8 +471,8 @@ public class GlyphTable {
          * @param id the lookup table's identifier
          * @param subtable an initial subtable (or null)
          */
-        public LookupTable (String id, GlyphSubtable subtable) {
-            this (id, makeSingleton (subtable));
+        public LookupTable(String id, GlyphSubtable subtable) {
+            this (id, makeSingleton(subtable));
         }
 
         /**
@@ -480,17 +480,17 @@ public class GlyphTable {
          * @param id the lookup table's identifier
          * @param subtables a pre-poplated list of subtables or null
          */
-        public LookupTable (String id, List/*<GlyphSubtable>*/ subtables) {
+        public LookupTable(String id, List/*<GlyphSubtable>*/ subtables) {
             assert id != null;
             assert id.length() != 0;
-            assert id.startsWith ("lu");
+            assert id.startsWith("lu");
             this.id = id;
-            this.idOrdinal = Integer.parseInt (id.substring (2));
+            this.idOrdinal = Integer.parseInt(id.substring(2));
             this.subtables = new LinkedList/*<GlyphSubtable>*/();
             if (subtables != null) {
                 for (Iterator it = subtables.iterator(); it.hasNext(); ) {
                     GlyphSubtable st = (GlyphSubtable) it.next();
-                    addSubtable (st);
+                    addSubtable(st);
                 }
             }
         }
@@ -501,9 +501,9 @@ public class GlyphTable {
                 return (subtablesArray != null) ? subtablesArray : subtablesArrayEmpty;
             } else {
                 if (doesSub) {
-                    return (GlyphSubtable[]) subtables.toArray (new GlyphSubstitutionSubtable [ subtables.size() ]);
+                    return (GlyphSubtable[]) subtables.toArray(new GlyphSubstitutionSubtable [ subtables.size() ]);
                 } else if (doesPos) {
-                    return (GlyphSubtable[]) subtables.toArray (new GlyphPositioningSubtable [ subtables.size() ]);
+                    return (GlyphSubtable[]) subtables.toArray(new GlyphPositioningSubtable [ subtables.size() ]);
                 } else {
                     return null;
                 }
@@ -516,22 +516,22 @@ public class GlyphTable {
          * @param subtable to add
          * @return true if subtable was not already present, otherwise false
          */
-        public boolean addSubtable (GlyphSubtable subtable) {
+        public boolean addSubtable(GlyphSubtable subtable) {
             boolean added = false;
             // ensure table is not frozen
             if (frozen) {
-                throw new IllegalStateException ("glyph table is frozen, subtable addition prohibited");
+                throw new IllegalStateException("glyph table is frozen, subtable addition prohibited");
             }
             // validate subtable to ensure consistency with current subtables
-            validateSubtable (subtable);
+            validateSubtable(subtable);
             // insert subtable into ordered list
             for (ListIterator/*<GlyphSubtable>*/ lit = subtables.listIterator(0); lit.hasNext(); ) {
                 GlyphSubtable st = (GlyphSubtable) lit.next();
                 int d;
-                if ((d = subtable.compareTo (st)) < 0) {
+                if ((d = subtable.compareTo(st)) < 0) {
                     // insert within list
-                    lit.set (subtable);
-                    lit.add (st);
+                    lit.set(subtable);
+                    lit.add(st);
                     added = true;
                 } else if (d == 0) {
                     // duplicate entry is ignored
@@ -541,34 +541,34 @@ public class GlyphTable {
             }
             // append at end of list
             if (! added && (subtable != null)) {
-                subtables.add (subtable);
+                subtables.add(subtable);
                 added = true;
             }
             return added;
         }
 
-        private void validateSubtable (GlyphSubtable subtable) {
+        private void validateSubtable(GlyphSubtable subtable) {
             if (subtable == null) {
-                throw new AdvancedTypographicTableFormatException ("subtable must be non-null");
+                throw new AdvancedTypographicTableFormatException("subtable must be non-null");
             }
             if (subtable instanceof GlyphSubstitutionSubtable) {
                 if (doesPos) {
-                    throw new AdvancedTypographicTableFormatException ("subtable must be positioning subtable, but is: " + subtable);
+                    throw new AdvancedTypographicTableFormatException("subtable must be positioning subtable, but is: " + subtable);
                 } else {
                     doesSub = true;
                 }
             }
             if (subtable instanceof GlyphPositioningSubtable) {
                 if (doesSub) {
-                    throw new AdvancedTypographicTableFormatException ("subtable must be substitution subtable, but is: " + subtable);
+                    throw new AdvancedTypographicTableFormatException("subtable must be substitution subtable, but is: " + subtable);
                 } else {
                     doesPos = true;
                 }
             }
             if (subtables.size() > 0) {
                 GlyphSubtable st = (GlyphSubtable) subtables.get(0);
-                if (! st.isCompatible (subtable)) {
-                    throw new AdvancedTypographicTableFormatException ("subtable " + subtable + " is not compatible with subtable " + st);
+                if (! st.isCompatible(subtable)) {
+                    throw new AdvancedTypographicTableFormatException("subtable " + subtable + " is not compatible with subtable " + st);
                 }
             }
         }
@@ -579,21 +579,21 @@ public class GlyphTable {
          * lookup tables that appear in this lookup table's subtables.
          * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
          */
-        public void freezeSubtables (Map/*<String,LookupTable>*/ lookupTables) {
+        public void freezeSubtables(Map/*<String,LookupTable>*/ lookupTables) {
             if (! frozen) {
                 GlyphSubtable[] sta = getSubtables();
-                resolveLookupReferences (sta, lookupTables);
+                resolveLookupReferences(sta, lookupTables);
                 this.subtablesArray = sta;
                 this.frozen = true;
             }
         }
 
-        private void resolveLookupReferences (GlyphSubtable[] subtables, Map/*<String,LookupTable>*/ lookupTables) {
+        private void resolveLookupReferences(GlyphSubtable[] subtables, Map/*<String,LookupTable>*/ lookupTables) {
             if (subtables != null) {
                 for (int i = 0, n = subtables.length; i < n; i++) {
                     GlyphSubtable st = subtables [ i ];
                     if (st != null) {
-                        st.resolveLookupReferences (lookupTables);
+                        st.resolveLookupReferences(lookupTables);
                     }
                 }
             }
@@ -616,9 +616,9 @@ public class GlyphTable {
          * @param sct a script specific context tester (or null)
          * @return the substituted (output) glyph sequence
          */
-        public GlyphSequence substitute (GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
+        public GlyphSequence substitute(GlyphSequence gs, String script, String language, String feature, ScriptContextTester sct) {
             if (performsSubstitution()) {
-                return GlyphSubstitutionSubtable.substitute (gs, script, language, feature, (GlyphSubstitutionSubtable[]) subtablesArray, sct);
+                return GlyphSubstitutionSubtable.substitute(gs, script, language, feature, (GlyphSubstitutionSubtable[]) subtablesArray, sct);
             } else {
                 return gs;
             }
@@ -630,9 +630,9 @@ public class GlyphTable {
          * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
          * @return the substituted (output) glyph sequence
          */
-        public GlyphSequence substitute (GlyphSubstitutionState ss, int sequenceIndex) {
+        public GlyphSequence substitute(GlyphSubstitutionState ss, int sequenceIndex) {
             if (performsSubstitution()) {
-                return GlyphSubstitutionSubtable.substitute (ss, (GlyphSubstitutionSubtable[]) subtablesArray, sequenceIndex);
+                return GlyphSubstitutionSubtable.substitute(ss, (GlyphSubstitutionSubtable[]) subtablesArray, sequenceIndex);
             } else {
                 return ss.getInput();
             }
@@ -659,9 +659,9 @@ public class GlyphTable {
          * @param sct a script specific context tester (or null)
          * @return true if some adjustment is not zero; otherwise, false
          */
-        public boolean position (GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+        public boolean position(GlyphSequence gs, String script, String language, String feature, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
             if (performsPositioning()) {
-                return GlyphPositioningSubtable.position (gs, script, language, feature, fontSize, (GlyphPositioningSubtable[]) subtablesArray, widths, adjustments, sct);
+                return GlyphPositioningSubtable.position(gs, script, language, feature, fontSize, (GlyphPositioningSubtable[]) subtablesArray, widths, adjustments, sct);
             } else {
                 return false;
             }
@@ -673,9 +673,9 @@ public class GlyphTable {
          * @param sequenceIndex if non negative, then apply subtables only at specified sequence index
          * @return true if some adjustment is not zero; otherwise, false
          */
-        public boolean position (GlyphPositioningState ps, int sequenceIndex) {
+        public boolean position(GlyphPositioningState ps, int sequenceIndex) {
             if (performsPositioning()) {
-                return GlyphPositioningSubtable.position (ps, (GlyphPositioningSubtable[]) subtablesArray, sequenceIndex);
+                return GlyphPositioningSubtable.position(ps, (GlyphPositioningSubtable[]) subtablesArray, sequenceIndex);
             } else {
                 return false;
             }
@@ -691,7 +691,7 @@ public class GlyphTable {
          * @return true if identifier of the specified lookup table is the same
          * as the identifier of this lookup table
          */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof LookupTable) {
                 LookupTable lt = (LookupTable) o;
                 return idOrdinal == lt.idOrdinal;
@@ -707,7 +707,7 @@ public class GlyphTable {
          * "lu(DIGIT)+", with comparison based on numerical ordering of numbers expressed by
          * (DIGIT)+.
          */
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             if (o instanceof LookupTable) {
                 LookupTable lt = (LookupTable) o;
                 int i = idOrdinal;
@@ -727,19 +727,19 @@ public class GlyphTable {
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("id = " + id);
-            sb.append (", subtables = " + subtables);
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("id = " + id);
+            sb.append(", subtables = " + subtables);
+            sb.append(" }");
             return sb.toString();
         }
 
-        private static List/*<GlyphSubtable>*/ makeSingleton (GlyphSubtable subtable) {
+        private static List/*<GlyphSubtable>*/ makeSingleton(GlyphSubtable subtable) {
             if (subtable == null) {
                 return null;
             } else {
-                List/*<GlyphSubtable>*/ stl = new ArrayList/*<GlyphSubtable>*/ (1);
-                stl.add (subtable);
+                List/*<GlyphSubtable>*/ stl = new ArrayList/*<GlyphSubtable>*/(1);
+                stl.add(subtable);
                 return stl;
             }
         }
@@ -762,7 +762,7 @@ public class GlyphTable {
          * @param lookupTable a glyph lookup table
          * @param feature a feature that caused lookup table selection
          */
-        public UseSpec (LookupTable lookupTable, String feature) {
+        public UseSpec(LookupTable lookupTable, String feature) {
             this.lookupTable = lookupTable;
             this.feature = feature;
         }
@@ -785,8 +785,8 @@ public class GlyphTable {
          * @param sct a script specific context tester (or null)
          * @return the substituted (output) glyph sequence
          */
-        public GlyphSequence substitute (GlyphSequence gs, String script, String language, ScriptContextTester sct) {
-            return lookupTable.substitute (gs, script, language, feature, sct);
+        public GlyphSequence substitute(GlyphSequence gs, String script, String language, ScriptContextTester sct) {
+            return lookupTable.substitute(gs, script, language, feature, sct);
         }
 
         /**
@@ -801,8 +801,8 @@ public class GlyphTable {
          * @param sct a script specific context tester (or null)
          * @return true if some adjustment is not zero; otherwise, false
          */
-        public boolean position (GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
-            return lookupTable.position (gs, script, language, feature, fontSize, widths, adjustments, sct);
+        public boolean position(GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+            return lookupTable.position(gs, script, language, feature, fontSize, widths, adjustments, sct);
         }
 
         /** {@inheritDoc} */
@@ -811,20 +811,20 @@ public class GlyphTable {
         }
 
         /** {@inheritDoc} */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof UseSpec) {
                 UseSpec u = (UseSpec) o;
-                return lookupTable.equals (u.lookupTable);
+                return lookupTable.equals(u.lookupTable);
             } else {
                 return false;
             }
         }
 
         /** {@inheritDoc} */
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             if (o instanceof UseSpec) {
                 UseSpec u = (UseSpec) o;
-                return lookupTable.compareTo (u.lookupTable);
+                return lookupTable.compareTo(u.lookupTable);
             } else {
                 return -1;
             }
@@ -847,7 +847,7 @@ public class GlyphTable {
          * @param sequenceIndex the index into the input sequence
          * @param lookupIndex the lookup table index
          */
-        public RuleLookup (int sequenceIndex, int lookupIndex) {
+        public RuleLookup(int sequenceIndex, int lookupIndex) {
             this.sequenceIndex = sequenceIndex;
             this.lookupIndex = lookupIndex;
             this.lookup = null;
@@ -872,14 +872,14 @@ public class GlyphTable {
          * Resolve references to lookup tables.
          * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
          */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
             if (lookupTables != null) {
-                String lid = "lu" + Integer.toString (lookupIndex);
-                LookupTable lt = (LookupTable) lookupTables.get (lid);
+                String lid = "lu" + Integer.toString(lookupIndex);
+                LookupTable lt = (LookupTable) lookupTables.get(lid);
                 if (lt != null) {
                     this.lookup = lt;
                 } else {
-                    log.warn ("unable to resolve glyph lookup table reference '" + lid + "' amongst lookup tables: " + lookupTables.values());
+                    log.warn("unable to resolve glyph lookup table reference '" + lid + "' amongst lookup tables: " + lookupTables.values());
                 }
             }
         }
@@ -904,7 +904,7 @@ public class GlyphTable {
          * @param lookups the rule's lookups
          * @param inputSequenceLength the number of glyphs in the input sequence for this rule
          */
-        protected Rule (RuleLookup[] lookups, int inputSequenceLength) {
+        protected Rule(RuleLookup[] lookups, int inputSequenceLength) {
             assert lookups != null;
             this.lookups = lookups;
             this.inputSequenceLength = inputSequenceLength;
@@ -924,12 +924,12 @@ public class GlyphTable {
          * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
          * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
          */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
             if (lookups != null) {
                 for (int i = 0, n = lookups.length; i < n; i++) {
                     RuleLookup l = lookups [ i ];
                     if (l != null) {
-                        l.resolveLookupReferences (lookupTables);
+                        l.resolveLookupReferences(lookupTables);
                     }
                 }
             }
@@ -937,7 +937,7 @@ public class GlyphTable {
 
         /** {@inheritDoc} */
         public String toString() {
-            return "{ lookups = " + Arrays.toString (lookups) + ", inputSequenceLength = " + inputSequenceLength + " }";
+            return "{ lookups = " + Arrays.toString(lookups) + ", inputSequenceLength = " + inputSequenceLength + " }";
         }
 
     }
@@ -956,8 +956,8 @@ public class GlyphTable {
          * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
          * @param glyphs the rule's glyph sequence to match, starting with second glyph in sequence
          */
-        public GlyphSequenceRule (RuleLookup[] lookups, int inputSequenceLength, int[] glyphs) {
-            super (lookups, inputSequenceLength);
+        public GlyphSequenceRule(RuleLookup[] lookups, int inputSequenceLength, int[] glyphs) {
+            super(lookups, inputSequenceLength);
             assert glyphs != null;
             this.glyphs = glyphs;
         }
@@ -976,20 +976,20 @@ public class GlyphTable {
          * @param firstGlyph to fill in first glyph entry
          * @return the glyphs augmented by first glyph
          */
-        public int[] getGlyphs (int firstGlyph) {
+        public int[] getGlyphs(int firstGlyph) {
             int[] ga = new int [ glyphs.length + 1 ];
             ga [ 0 ] = firstGlyph;
-            System.arraycopy (glyphs, 0, ga, 1, glyphs.length);
+            System.arraycopy(glyphs, 0, ga, 1, glyphs.length);
             return ga;
         }
 
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", glyphs = " + Arrays.toString (glyphs));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", glyphs = " + Arrays.toString(glyphs));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1009,8 +1009,8 @@ public class GlyphTable {
          * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
          * @param classes the rule's glyph class sequence to match, starting with second glyph in sequence
          */
-        public ClassSequenceRule (RuleLookup[] lookups, int inputSequenceLength, int[] classes) {
-            super (lookups, inputSequenceLength);
+        public ClassSequenceRule(RuleLookup[] lookups, int inputSequenceLength, int[] classes) {
+            super(lookups, inputSequenceLength);
             assert classes != null;
             this.classes = classes;
         }
@@ -1029,20 +1029,20 @@ public class GlyphTable {
          * @param firstClass to fill in first class entry
          * @return the classes augmented by first class
          */
-        public int[] getClasses (int firstClass) {
+        public int[] getClasses(int firstClass) {
             int[] ca = new int [ classes.length + 1 ];
             ca [ 0 ] = firstClass;
-            System.arraycopy (classes, 0, ca, 1, classes.length);
+            System.arraycopy(classes, 0, ca, 1, classes.length);
             return ca;
         }
 
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", classes = " + Arrays.toString(classes));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", classes = " + Arrays.toString(classes));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1062,8 +1062,8 @@ public class GlyphTable {
          * @param inputSequenceLength number of glyphs constituting input sequence (to be consumed)
          * @param coverages the rule's glyph coverage sequence to match, starting with first glyph in sequence
          */
-        public CoverageSequenceRule (RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages) {
-            super (lookups, inputSequenceLength);
+        public CoverageSequenceRule(RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages) {
+            super(lookups, inputSequenceLength);
             assert coverages != null;
             this.coverages = coverages;
         }
@@ -1076,10 +1076,10 @@ public class GlyphTable {
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", coverages = " + Arrays.toString(coverages));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", coverages = " + Arrays.toString(coverages));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1102,8 +1102,8 @@ public class GlyphTable {
          * @param backtrackGlyphs the rule's backtrack glyph sequence to match, starting with first glyph in sequence
          * @param lookaheadGlyphs the rule's lookahead glyph sequence to match, starting with first glyph in sequence
          */
-        public ChainedGlyphSequenceRule (RuleLookup[] lookups, int inputSequenceLength, int[] glyphs, int[] backtrackGlyphs, int[] lookaheadGlyphs) {
-            super (lookups, inputSequenceLength, glyphs);
+        public ChainedGlyphSequenceRule(RuleLookup[] lookups, int inputSequenceLength, int[] glyphs, int[] backtrackGlyphs, int[] lookaheadGlyphs) {
+            super(lookups, inputSequenceLength, glyphs);
             assert backtrackGlyphs != null;
             assert lookaheadGlyphs != null;
             this.backtrackGlyphs = backtrackGlyphs;
@@ -1123,12 +1123,12 @@ public class GlyphTable {
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", glyphs = " + Arrays.toString (getGlyphs()));
-            sb.append (", backtrackGlyphs = " + Arrays.toString (backtrackGlyphs));
-            sb.append (", lookaheadGlyphs = " + Arrays.toString (lookaheadGlyphs));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", glyphs = " + Arrays.toString(getGlyphs()));
+            sb.append(", backtrackGlyphs = " + Arrays.toString(backtrackGlyphs));
+            sb.append(", lookaheadGlyphs = " + Arrays.toString(lookaheadGlyphs));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1151,8 +1151,8 @@ public class GlyphTable {
          * @param backtrackClasses the rule's backtrack glyph class sequence to match, starting with first glyph in sequence
          * @param lookaheadClasses the rule's lookahead glyph class sequence to match, starting with first glyph in sequence
          */
-        public ChainedClassSequenceRule (RuleLookup[] lookups, int inputSequenceLength, int[] classes, int[] backtrackClasses, int[] lookaheadClasses) {
-            super (lookups, inputSequenceLength, classes);
+        public ChainedClassSequenceRule(RuleLookup[] lookups, int inputSequenceLength, int[] classes, int[] backtrackClasses, int[] lookaheadClasses) {
+            super(lookups, inputSequenceLength, classes);
             assert backtrackClasses != null;
             assert lookaheadClasses != null;
             this.backtrackClasses = backtrackClasses;
@@ -1172,12 +1172,12 @@ public class GlyphTable {
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", classes = " + Arrays.toString (getClasses()));
-            sb.append (", backtrackClasses = " + Arrays.toString (backtrackClasses));
-            sb.append (", lookaheadClasses = " + Arrays.toString (lookaheadClasses));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", classes = " + Arrays.toString(getClasses()));
+            sb.append(", backtrackClasses = " + Arrays.toString(backtrackClasses));
+            sb.append(", lookaheadClasses = " + Arrays.toString(lookaheadClasses));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1200,8 +1200,8 @@ public class GlyphTable {
          * @param backtrackCoverages the rule's backtrack glyph class sequence to match, starting with first glyph in sequence
          * @param lookaheadCoverages the rule's lookahead glyph class sequence to match, starting with first glyph in sequence
          */
-        public ChainedCoverageSequenceRule (RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages, GlyphCoverageTable[] backtrackCoverages, GlyphCoverageTable[] lookaheadCoverages) {
-            super (lookups, inputSequenceLength, coverages);
+        public ChainedCoverageSequenceRule(RuleLookup[] lookups, int inputSequenceLength, GlyphCoverageTable[] coverages, GlyphCoverageTable[] backtrackCoverages, GlyphCoverageTable[] lookaheadCoverages) {
+            super(lookups, inputSequenceLength, coverages);
             assert backtrackCoverages != null;
             assert lookaheadCoverages != null;
             this.backtrackCoverages = backtrackCoverages;
@@ -1221,12 +1221,12 @@ public class GlyphTable {
         /** {@inheritDoc} */
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append ("{ ");
-            sb.append ("lookups = " + Arrays.toString (getLookups()));
-            sb.append (", coverages = " + Arrays.toString (getCoverages()));
-            sb.append (", backtrackCoverages = " + Arrays.toString (backtrackCoverages));
-            sb.append (", lookaheadCoverages = " + Arrays.toString (lookaheadCoverages));
-            sb.append (" }");
+            sb.append("{ ");
+            sb.append("lookups = " + Arrays.toString(getLookups()));
+            sb.append(", coverages = " + Arrays.toString(getCoverages()));
+            sb.append(", backtrackCoverages = " + Arrays.toString(backtrackCoverages));
+            sb.append(", lookaheadCoverages = " + Arrays.toString(lookaheadCoverages));
+            sb.append(" }");
             return sb.toString();
         }
 
@@ -1245,10 +1245,10 @@ public class GlyphTable {
          * @param rules the rules
          * @throws AdvancedTypographicTableFormatException if rules or some element of rules is null
          */
-        public RuleSet (Rule[] rules) throws AdvancedTypographicTableFormatException {
+        public RuleSet(Rule[] rules) throws AdvancedTypographicTableFormatException {
             // enforce rules array instance
             if (rules == null) {
-                throw new AdvancedTypographicTableFormatException ("rules[] is null");
+                throw new AdvancedTypographicTableFormatException("rules[] is null");
             }
             this.rules = rules;
         }
@@ -1262,12 +1262,12 @@ public class GlyphTable {
          * Resolve references to lookup tables, e.g., in RuleLookup, to the lookup tables themselves.
          * @param lookupTables map from lookup table identifers, e.g. "lu4", to lookup tables
          */
-        public void resolveLookupReferences (Map/*<String,LookupTable>*/ lookupTables) {
+        public void resolveLookupReferences(Map/*<String,LookupTable>*/ lookupTables) {
             if (rules != null) {
                 for (int i = 0, n = rules.length; i < n; i++) {
                     Rule r = rules [ i ];
                     if (r != null) {
-                        r.resolveLookupReferences (lookupTables);
+                        r.resolveLookupReferences(lookupTables);
                     }
                 }
             }
@@ -1275,7 +1275,7 @@ public class GlyphTable {
 
         /** {@inheritDoc} */
         public String toString() {
-            return "{ rules = " + Arrays.toString (rules) + " }";
+            return "{ rules = " + Arrays.toString(rules) + " }";
         }
 
     }
@@ -1291,8 +1291,8 @@ public class GlyphTable {
          * @param rules the rules
          * @throws AdvancedTypographicTableFormatException if some rule[i] is not an instance of rule[0]
          */
-        public HomogeneousRuleSet (Rule[] rules) throws AdvancedTypographicTableFormatException {
-            super (rules);
+        public HomogeneousRuleSet(Rule[] rules) throws AdvancedTypographicTableFormatException {
+            super(rules);
             // find first non-null rule
             Rule r0 = null;
             for (int i = 1, n = rules.length; (r0 == null) && (i < n); i++) {
@@ -1305,8 +1305,8 @@ public class GlyphTable {
                 Class c = r0.getClass();
                 for (int i = 1, n = rules.length; i < n; i++) {
                     Rule r = rules[i];
-                    if ((r != null) && ! c.isInstance (r)) {
-                        throw new AdvancedTypographicTableFormatException ("rules[" + i + "] is not an instance of " + c.getName());
+                    if ((r != null) && ! c.isInstance(r)) {
+                        throw new AdvancedTypographicTableFormatException("rules[" + i + "] is not an instance of " + c.getName());
                     }
                 }
             }
index d5d5cc8d209480b621ddd908a0a4ed5e848ed5c9..b5457e4e46d1509b7fb1ae9ecd58ecfc2fa8cdee 100644 (file)
@@ -68,7 +68,7 @@ public final class OTFAdvancedTypographicTableReader {
      * @param ttf parent font file reader (must be non-null)
      * @param in font file reader (must be non-null)
      */
-    public OTFAdvancedTypographicTableReader (TTFFile ttf, FontFileReader in) {
+    public OTFAdvancedTypographicTableReader(TTFFile ttf, FontFileReader in) {
         assert ttf != null;
         assert in != null;
         this.ttf = ttf;
@@ -89,7 +89,7 @@ public final class OTFAdvancedTypographicTableReader {
             throw e;
         } catch (IOException e) {
             resetATStateAll();
-            throw new AdvancedTypographicTableFormatException (e.getMessage(), e);
+            throw new AdvancedTypographicTableFormatException(e.getMessage(), e);
         } finally {
             resetATState();
         }
@@ -159,12 +159,12 @@ public final class OTFAdvancedTypographicTableReader {
                 log.debug(tableTag + " lang sys table non-required feature index: " + fi);
             }
             fia[i] = fi;
-            fl.add ("f" + fi);
+            fl.add("f" + fi);
         }
         if (seLanguages == null) {
             seLanguages = new java.util.LinkedHashMap();
         }
-        seLanguages.put (langSysTag, new Object[] { rfi, fl });
+        seLanguages.put(langSysTag, new Object[] { rfi, fl });
     }
 
     private static String defaultTag = "dflt";
@@ -203,22 +203,22 @@ public final class OTFAdvancedTypographicTableReader {
                     dl = 0;
                     dt = lt;
                 }
-                ll.add (lt);
+                ll.add(lt);
             }
             // read non-default language system tables
             for (int i = 0, n = nl; i < n; i++) {
-                readLangSysTable (tableTag, scriptTable + loa [ i ], lta [ i ]);
+                readLangSysTable(tableTag, scriptTable + loa [ i ], lta [ i ]);
             }
         }
         // read default language system table (if specified)
         if (dl > 0) {
-            readLangSysTable (tableTag, scriptTable + dl, dt);
+            readLangSysTable(tableTag, scriptTable + dl, dt);
         } else if (dt != null) {
             if (log.isDebugEnabled()) {
                 log.debug(tableTag + " lang sys default: " + dt);
             }
         }
-        seScripts.put (scriptTag, new Object[] { dt, ll, seLanguages });
+        seScripts.put(scriptTag, new Object[] { dt, ll, seLanguages });
         seLanguages = null;
     }
 
@@ -246,7 +246,7 @@ public final class OTFAdvancedTypographicTableReader {
             // read script tables
             for (int i = 0, n = ns; i < n; i++) {
                 seLanguages = null;
-                readScriptTable (tableTag, scriptList + soa [ i ], sta [ i ]);
+                readScriptTable(tableTag, scriptList + soa [ i ], sta [ i ]);
             }
         }
     }
@@ -274,9 +274,9 @@ public final class OTFAdvancedTypographicTableReader {
                 log.debug(tableTag + " feature table lookup index: " + li);
             }
             lia[i] = li;
-            lul.add ("lu" + li);
+            lul.add("lu" + li);
         }
-        seFeatures.put ("f" + featureIndex, new Object[] { featureTag, lul });
+        seFeatures.put("f" + featureIndex, new Object[] { featureTag, lul });
     }
 
     private void readFeatureList(TTFTableName tableTag, long featureList) throws IOException {
@@ -305,7 +305,7 @@ public final class OTFAdvancedTypographicTableReader {
                 if (log.isDebugEnabled()) {
                     log.debug(tableTag + " feature index: " + i);
                 }
-                readFeatureTable (tableTag, featureList + foa [ i ], fta [ i ], i);
+                readFeatureTable(tableTag, featureList + foa [ i ], fta [ i ], i);
             }
         }
     }
@@ -317,7 +317,7 @@ public final class OTFAdvancedTypographicTableReader {
         static final int MARK_ATTACHMENT                = 4;
         private GDEFLookupType() {
         }
-        public static int getSubtableType (int lt) {
+        public static int getSubtableType(int lt) {
             int st;
             switch (lt) {
             case GDEFLookupType.GLYPH_CLASS:
@@ -372,7 +372,7 @@ public final class OTFAdvancedTypographicTableReader {
         static final int REVERSE_CHAINED_SINGLE         = 8;
         private GSUBLookupType() {
         }
-        public static int getSubtableType (int lt) {
+        public static int getSubtableType(int lt) {
             int st;
             switch (lt) {
             case GSUBLookupType.SINGLE:
@@ -506,44 +506,44 @@ public final class OTFAdvancedTypographicTableReader {
                 if (first) {
                     first = false;
                 } else {
-                    sb.append ('|');
+                    sb.append('|');
                 }
-                sb.append ("RightToLeft");
+                sb.append("RightToLeft");
             }
             if ((flags & IGNORE_BASE_GLYPHS) != 0) {
                 if (first) {
                     first = false;
                 } else {
-                    sb.append ('|');
+                    sb.append('|');
                 }
-                sb.append ("IgnoreBaseGlyphs");
+                sb.append("IgnoreBaseGlyphs");
             }
             if ((flags & IGNORE_LIGATURE) != 0) {
                 if (first) {
                     first = false;
                 } else {
-                    sb.append ('|');
+                    sb.append('|');
                 }
-                sb.append ("IgnoreLigature");
+                sb.append("IgnoreLigature");
             }
             if ((flags & IGNORE_MARKS) != 0) {
                 if (first) {
                     first = false;
                 } else {
-                    sb.append ('|');
+                    sb.append('|');
                 }
-                sb.append ("IgnoreMarks");
+                sb.append("IgnoreMarks");
             }
             if ((flags & USE_MARK_FILTERING_SET) != 0) {
                 if (first) {
                     first = false;
                 } else {
-                    sb.append ('|');
+                    sb.append('|');
                 }
-                sb.append ("UseMarkFilteringSet");
+                sb.append("UseMarkFilteringSet");
             }
             if (sb.length() == 0) {
-                sb.append ('-');
+                sb.append('-');
             }
             return sb.toString();
         }
@@ -553,27 +553,27 @@ public final class OTFAdvancedTypographicTableReader {
         List entries = new java.util.ArrayList();
         in.seekSet(tableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read glyph count
         int ng = in.readTTFUShort();
         int[] ga = new int[ng];
         for (int i = 0, n = ng; i < n; i++) {
             int g = in.readTTFUShort();
             ga[i] = g;
-            entries.add (Integer.valueOf(g));
+            entries.add(Integer.valueOf(g));
         }
         // dump info if debugging
         if (log.isDebugEnabled()) {
             log.debug(label + " glyphs: " + toString(ga));
         }
-        return GlyphCoverageTable.createCoverageTable (entries);
+        return GlyphCoverageTable.createCoverageTable(entries);
     }
 
     private GlyphCoverageTable readCoverageTableFormat2(String label, long tableOffset, int coverageFormat) throws IOException {
         List entries = new java.util.ArrayList();
         in.seekSet(tableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read range record count
         int nr = in.readTTFUShort();
         for (int i = 0, n = nr; i < n; i++) {
@@ -587,9 +587,9 @@ public final class OTFAdvancedTypographicTableReader {
             if (log.isDebugEnabled()) {
                 log.debug(label + " range[" + i + "]: [" + s + "," + e + "]: " + m);
             }
-            entries.add (new GlyphCoverageTable.MappingRange (s, e, m));
+            entries.add(new GlyphCoverageTable.MappingRange(s, e, m));
         }
-        return GlyphCoverageTable.createCoverageTable (entries);
+        return GlyphCoverageTable.createCoverageTable(entries);
     }
 
     private GlyphCoverageTable readCoverageTable(String label, long tableOffset) throws IOException {
@@ -599,13 +599,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table format
         int cf = in.readTTFUShort();
         if (cf == 1) {
-            gct = readCoverageTableFormat1 (label, tableOffset, cf);
+            gct = readCoverageTableFormat1(label, tableOffset, cf);
         } else if (cf == 2) {
-            gct = readCoverageTableFormat2 (label, tableOffset, cf);
+            gct = readCoverageTableFormat2(label, tableOffset, cf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported coverage table format: " + cf);
+            throw new AdvancedTypographicTableFormatException("unsupported coverage table format: " + cf);
         }
-        in.seekSet (cp);
+        in.seekSet(cp);
         return gct;
     }
 
@@ -613,10 +613,10 @@ public final class OTFAdvancedTypographicTableReader {
         List entries = new java.util.ArrayList();
         in.seekSet(tableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read start glyph
         int sg = in.readTTFUShort();
-        entries.add (Integer.valueOf(sg));
+        entries.add(Integer.valueOf(sg));
         // read glyph count
         int ng = in.readTTFUShort();
         // read glyph classes
@@ -624,20 +624,20 @@ public final class OTFAdvancedTypographicTableReader {
         for (int i = 0, n = ng; i < n; i++) {
             int gc = in.readTTFUShort();
             ca[i] = gc;
-            entries.add (Integer.valueOf(gc));
+            entries.add(Integer.valueOf(gc));
         }
         // dump info if debugging
         if (log.isDebugEnabled()) {
             log.debug(label + " glyph classes: " + toString(ca));
         }
-        return GlyphClassTable.createClassTable (entries);
+        return GlyphClassTable.createClassTable(entries);
     }
 
     private GlyphClassTable readClassDefTableFormat2(String label, long tableOffset, int classFormat) throws IOException {
         List entries = new java.util.ArrayList();
         in.seekSet(tableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read range record count
         int nr = in.readTTFUShort();
         for (int i = 0, n = nr; i < n; i++) {
@@ -651,9 +651,9 @@ public final class OTFAdvancedTypographicTableReader {
             if (log.isDebugEnabled()) {
                 log.debug(label + " range[" + i + "]: [" + s + "," + e + "]: " + m);
             }
-            entries.add (new GlyphClassTable.MappingRange (s, e, m));
+            entries.add(new GlyphClassTable.MappingRange(s, e, m));
         }
-        return GlyphClassTable.createClassTable (entries);
+        return GlyphClassTable.createClassTable(entries);
     }
 
     private GlyphClassTable readClassDefTable(String label, long tableOffset) throws IOException {
@@ -663,13 +663,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read class table format
         int cf = in.readTTFUShort();
         if (cf == 1) {
-            gct = readClassDefTableFormat1 (label, tableOffset, cf);
+            gct = readClassDefTableFormat1(label, tableOffset, cf);
         } else if (cf == 2) {
-            gct = readClassDefTableFormat2 (label, tableOffset, cf);
+            gct = readClassDefTableFormat2(label, tableOffset, cf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported class definition table format: " + cf);
+            throw new AdvancedTypographicTableFormatException("unsupported class definition table format: " + cf);
         }
-        in.seekSet (cp);
+        in.seekSet(cp);
         return gct;
     }
 
@@ -677,7 +677,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read delta glyph
@@ -689,15 +689,15 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " single substitution delta: " + dg);
         }
         // read coverage table
-        seMapping = readCoverageTable (tableTag + " single substitution coverage", subtableOffset + co);
-        seEntries.add (Integer.valueOf (dg));
+        seMapping = readCoverageTable(tableTag + " single substitution coverage", subtableOffset + co);
+        seEntries.add(Integer.valueOf(dg));
     }
 
     private void readSingleSubTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read glyph count
@@ -709,7 +709,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " single substitution glyph count: " + ng);
         }
         // read coverage table
-        seMapping = readCoverageTable (tableTag + " single substitution coverage", subtableOffset + co);
+        seMapping = readCoverageTable(tableTag + " single substitution coverage", subtableOffset + co);
         // read glyph substitutions
         int[] gsa = new int[ng];
         for (int i = 0, n = ng; i < n; i++) {
@@ -718,7 +718,7 @@ public final class OTFAdvancedTypographicTableReader {
                 log.debug(tableTag + " single substitution glyph[" + i + "]: " + gs);
             }
             gsa[i] = gs;
-            seEntries.add (Integer.valueOf (gs));
+            seEntries.add(Integer.valueOf(gs));
         }
     }
 
@@ -727,11 +727,11 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readSingleSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readSingleSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readSingleSubTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readSingleSubTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported single substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported single substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -740,7 +740,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read sequence count
@@ -752,7 +752,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " multiple substitution sequence count: " + ns);
         }
         // read coverage table
-        seMapping = readCoverageTable (tableTag + " multiple substitution coverage", subtableOffset + co);
+        seMapping = readCoverageTable(tableTag + " multiple substitution coverage", subtableOffset + co);
         // read sequence table offsets
         int[] soa = new int[ns];
         for (int i = 0, n = ns; i < n; i++) {
@@ -775,11 +775,11 @@ public final class OTFAdvancedTypographicTableReader {
                 ga = null;
             }
             if (log.isDebugEnabled()) {
-                log.debug(tableTag + " multiple substitution sequence[" + i + "]: " + toString (ga));
+                log.debug(tableTag + " multiple substitution sequence[" + i + "]: " + toString(ga));
             }
             gsa [ i ] = ga;
         }
-        seEntries.add (gsa);
+        seEntries.add(gsa);
     }
 
     private int readMultipleSubTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -787,9 +787,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readMultipleSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readMultipleSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported multiple substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported multiple substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -798,7 +798,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read alternate set count
@@ -810,7 +810,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " alternate substitution alternate set count: " + ns);
         }
         // read coverage table
-        seMapping = readCoverageTable (tableTag + " alternate substitution coverage", subtableOffset + co);
+        seMapping = readCoverageTable(tableTag + " alternate substitution coverage", subtableOffset + co);
         // read alternate set table offsets
         int[] soa = new int[ns];
         for (int i = 0, n = ns; i < n; i++) {
@@ -828,9 +828,9 @@ public final class OTFAdvancedTypographicTableReader {
                 ga[j] = gs;
             }
             if (log.isDebugEnabled()) {
-                log.debug(tableTag + " alternate substitution alternate set[" + i + "]: " + toString (ga));
+                log.debug(tableTag + " alternate substitution alternate set[" + i + "]: " + toString(ga));
             }
-            seEntries.add (ga);
+            seEntries.add(ga);
         }
     }
 
@@ -839,9 +839,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readAlternateSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readAlternateSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported alternate substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported alternate substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -850,7 +850,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read ligature set count
@@ -862,7 +862,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " ligature substitution ligature set count: " + ns);
         }
         // read coverage table
-        seMapping = readCoverageTable (tableTag + " ligature substitution coverage", subtableOffset + co);
+        seMapping = readCoverageTable(tableTag + " ligature substitution coverage", subtableOffset + co);
         // read ligature set table offsets
         int[] soa = new int[ns];
         for (int i = 0, n = ns; i < n; i++) {
@@ -892,11 +892,11 @@ public final class OTFAdvancedTypographicTableReader {
                     ca[k] = in.readTTFUShort();
                 }
                 if (log.isDebugEnabled()) {
-                    log.debug(tableTag + " ligature substitution ligature set[" + i + "]: ligature(" + lg + "), components: " + toString (ca));
+                    log.debug(tableTag + " ligature substitution ligature set[" + i + "]: ligature(" + lg + "), components: " + toString(ca));
                 }
-                ligs.add (new GlyphSubstitutionTable.Ligature (lg, ca));
+                ligs.add(new GlyphSubstitutionTable.Ligature(lg, ca));
             }
-            seEntries.add (new GlyphSubstitutionTable.LigatureSet (ligs));
+            seEntries.add(new GlyphSubstitutionTable.LigatureSet(ligs));
         }
     }
 
@@ -905,9 +905,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readLigatureSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readLigatureSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported ligature substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported ligature substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -917,7 +917,7 @@ public final class OTFAdvancedTypographicTableReader {
         for (int i = 0, n = numLookups; i < n; i++) {
             int sequenceIndex = in.readTTFUShort();
             int lookupIndex = in.readTTFUShort();
-            la [ i ] = new GlyphTable.RuleLookup (sequenceIndex, lookupIndex);
+            la [ i ] = new GlyphTable.RuleLookup(sequenceIndex, lookupIndex);
             // dump info if debugging and header is non-null
             if (log.isDebugEnabled() && (header != null)) {
                 log.debug(header + "lookup[" + i + "]: " + la[i]);
@@ -930,7 +930,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read rule set count
@@ -952,7 +952,7 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " contextual substitution coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " contextual substitution coverage", subtableOffset + co);
         } else {
             ct = null;
         }
@@ -964,7 +964,7 @@ public final class OTFAdvancedTypographicTableReader {
             int rso = rsoa [ i ];
             if (rso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + rso);
+                in.seekSet(subtableOffset + rso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -979,7 +979,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ro = roa [ j ];
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + rso + ro);
+                        in.seekSet(subtableOffset + rso + ro);
                         // read glyph count
                         int ng = in.readTTFUShort();
                         // read rule lookup count
@@ -993,14 +993,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.GlyphSequenceRule (lookups, ng, glyphs);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.GlyphSequenceRule(lookups, ng, glyphs);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -1008,14 +1008,14 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private void readContextualSubTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read class def table offset
@@ -1039,14 +1039,14 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " contextual substitution coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " contextual substitution coverage", subtableOffset + co);
         } else {
             ct = null;
         }
         // read class definition table
         GlyphClassTable cdt;
         if (cdo > 0) {
-            cdt = readClassDefTable (tableTag + " contextual substitution class definition", subtableOffset + cdo);
+            cdt = readClassDefTable(tableTag + " contextual substitution class definition", subtableOffset + cdo);
         } else {
             cdt = null;
         }
@@ -1058,7 +1058,7 @@ public final class OTFAdvancedTypographicTableReader {
             GlyphTable.RuleSet rs;
             if (cso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + cso);
+                in.seekSet(subtableOffset + cso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -1073,7 +1073,7 @@ public final class OTFAdvancedTypographicTableReader {
                     GlyphTable.ClassSequenceRule r;
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + cso + ro);
+                        in.seekSet(subtableOffset + cso + ro);
                         // read glyph count
                         int ng = in.readTTFUShort();
                         // read rule lookup count
@@ -1087,15 +1087,15 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ClassSequenceRule (lookups, ng, classes);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ClassSequenceRule(lookups, ng, classes);
                     } else {
                         assert ro > 0 : "unexpected null subclass rule offset";
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -1103,16 +1103,16 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (cdt);
-        seEntries.add (Integer.valueOf (ngc));
-        seEntries.add (rsa);
+        seEntries.add(cdt);
+        seEntries.add(Integer.valueOf(ngc));
+        seEntries.add(rsa);
     }
 
     private void readContextualSubTableFormat3(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read glyph (input sequence length) count
         int ng = in.readTTFUShort();
         // read substitution lookup count
@@ -1137,7 +1137,7 @@ public final class OTFAdvancedTypographicTableReader {
             int gco = gcoa [ i ];
             GlyphCoverageTable gct;
             if (gco > 0) {
-                gct = readCoverageTable (tableTag + " contextual substitution coverage[" + i + "]", subtableOffset + gco);
+                gct = readCoverageTable(tableTag + " contextual substitution coverage[" + i + "]", subtableOffset + gco);
             } else {
                 gct = null;
             }
@@ -1148,15 +1148,15 @@ public final class OTFAdvancedTypographicTableReader {
         if (log.isDebugEnabled()) {
             header = tableTag + " contextual substitution lookups: ";
         }
-        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
+        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
         // construct rule, rule set, and rule set array
-        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule (lookups, ng, gca);
-        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet (new GlyphTable.Rule[] {r});
+        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule(lookups, ng, gca);
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r});
         GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
         // store results
         assert (gca != null) && (gca.length > 0);
         seMapping = gca[0];
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private int readContextualSubTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -1164,13 +1164,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readContextualSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readContextualSubTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualSubTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 3) {
-            readContextualSubTableFormat3 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualSubTableFormat3(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported contextual substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported contextual substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -1179,7 +1179,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read rule set count
@@ -1201,7 +1201,7 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " chained contextual substitution coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " chained contextual substitution coverage", subtableOffset + co);
         } else {
             ct = null;
         }
@@ -1213,7 +1213,7 @@ public final class OTFAdvancedTypographicTableReader {
             int rso = rsoa [ i ];
             if (rso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + rso);
+                in.seekSet(subtableOffset + rso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -1228,7 +1228,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ro = roa [ j ];
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + rso + ro);
+                        in.seekSet(subtableOffset + rso + ro);
                         // read backtrack glyph count
                         int nbg = in.readTTFUShort();
                         // read backtrack glyphs
@@ -1256,14 +1256,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ChainedGlyphSequenceRule (lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ChainedGlyphSequenceRule(lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -1271,14 +1271,14 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private void readChainedContextualSubTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read backtrack class def table offset
@@ -1306,28 +1306,28 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " chained contextual substitution coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " chained contextual substitution coverage", subtableOffset + co);
         } else {
             ct = null;
         }
         // read backtrack class definition table
         GlyphClassTable bcdt;
         if (bcdo > 0) {
-            bcdt = readClassDefTable (tableTag + " contextual substitution backtrack class definition", subtableOffset + bcdo);
+            bcdt = readClassDefTable(tableTag + " contextual substitution backtrack class definition", subtableOffset + bcdo);
         } else {
             bcdt = null;
         }
         // read input class definition table
         GlyphClassTable icdt;
         if (icdo > 0) {
-            icdt = readClassDefTable (tableTag + " contextual substitution input class definition", subtableOffset + icdo);
+            icdt = readClassDefTable(tableTag + " contextual substitution input class definition", subtableOffset + icdo);
         } else {
             icdt = null;
         }
         // read lookahead class definition table
         GlyphClassTable lcdt;
         if (lcdo > 0) {
-            lcdt = readClassDefTable (tableTag + " contextual substitution lookahead class definition", subtableOffset + lcdo);
+            lcdt = readClassDefTable(tableTag + " contextual substitution lookahead class definition", subtableOffset + lcdo);
         } else {
             lcdt = null;
         }
@@ -1339,7 +1339,7 @@ public final class OTFAdvancedTypographicTableReader {
             GlyphTable.RuleSet rs;
             if (cso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + cso);
+                in.seekSet(subtableOffset + cso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -1354,7 +1354,7 @@ public final class OTFAdvancedTypographicTableReader {
                     GlyphTable.ChainedClassSequenceRule r;
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + cso + ro);
+                        in.seekSet(subtableOffset + cso + ro);
                         // read backtrack glyph class count
                         int nbc = in.readTTFUShort();
                         // read backtrack glyph classes
@@ -1382,14 +1382,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual substitution lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ChainedClassSequenceRule (lookups, nic, classes, backtrackClasses, lookaheadClasses);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ChainedClassSequenceRule(lookups, nic, classes, backtrackClasses, lookaheadClasses);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -1397,18 +1397,18 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (icdt);
-        seEntries.add (bcdt);
-        seEntries.add (lcdt);
-        seEntries.add (Integer.valueOf (ngc));
-        seEntries.add (rsa);
+        seEntries.add(icdt);
+        seEntries.add(bcdt);
+        seEntries.add(lcdt);
+        seEntries.add(Integer.valueOf(ngc));
+        seEntries.add(rsa);
     }
 
     private void readChainedContextualSubTableFormat3(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read backtrack glyph count
         int nbg = in.readTTFUShort();
         // read backtrack glyph coverage offsets
@@ -1455,7 +1455,7 @@ public final class OTFAdvancedTypographicTableReader {
             int bgco = bgcoa [ i ];
             GlyphCoverageTable bgct;
             if (bgco > 0) {
-                bgct = readCoverageTable (tableTag + " chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco);
+                bgct = readCoverageTable(tableTag + " chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco);
             } else {
                 bgct = null;
             }
@@ -1467,7 +1467,7 @@ public final class OTFAdvancedTypographicTableReader {
             int igco = igcoa [ i ];
             GlyphCoverageTable igct;
             if (igco > 0) {
-                igct = readCoverageTable (tableTag + " chained contextual substitution input coverage[" + i + "]", subtableOffset + igco);
+                igct = readCoverageTable(tableTag + " chained contextual substitution input coverage[" + i + "]", subtableOffset + igco);
             } else {
                 igct = null;
             }
@@ -1479,7 +1479,7 @@ public final class OTFAdvancedTypographicTableReader {
             int lgco = lgcoa [ i ];
             GlyphCoverageTable lgct;
             if (lgco > 0) {
-                lgct = readCoverageTable (tableTag + " chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco);
+                lgct = readCoverageTable(tableTag + " chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco);
             } else {
                 lgct = null;
             }
@@ -1490,15 +1490,15 @@ public final class OTFAdvancedTypographicTableReader {
         if (log.isDebugEnabled()) {
             header = tableTag + " chained contextual substitution lookups: ";
         }
-        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
+        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
         // construct rule, rule set, and rule set array
-        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule (lookups, nig, igca, bgca, lgca);
-        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet (new GlyphTable.Rule[] {r});
+        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule(lookups, nig, igca, bgca, lgca);
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r});
         GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
         // store results
         assert (igca != null) && (igca.length > 0);
         seMapping = igca[0];
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private int readChainedContextualSubTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -1506,13 +1506,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readChainedContextualSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readChainedContextualSubTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualSubTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 3) {
-            readChainedContextualSubTableFormat3 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualSubTableFormat3(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported chained contextual substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported chained contextual substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -1521,7 +1521,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read extension lookup type
         int lt = in.readTTFUShort();
         // read extension offset
@@ -1533,7 +1533,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " extension substitution lookup table offset: " + eo);
         }
         // read referenced subtable from extended offset
-        readGSUBSubtable (lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo);
+        readGSUBSubtable(lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo);
     }
 
     private int readExtensionSubTable(int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
@@ -1541,9 +1541,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readExtensionSubTableFormat1 (lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf);
+            readExtensionSubTableFormat1(lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported extension substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported extension substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -1552,7 +1552,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GSUB";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read backtrack glyph count
@@ -1591,14 +1591,14 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " reverse chained contextual substitution glyphs: " + toString(glyphs));
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " reverse chained contextual substitution coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " reverse chained contextual substitution coverage", subtableOffset + co);
         // read backtrack coverage tables
         GlyphCoverageTable[] bgca = new GlyphCoverageTable[nbg];
         for (int i = 0; i < nbg; i++) {
             int bgco = bgcoa[i];
             GlyphCoverageTable bgct;
             if (bgco > 0) {
-                bgct = readCoverageTable (tableTag + " reverse chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco);
+                bgct = readCoverageTable(tableTag + " reverse chained contextual substitution backtrack coverage[" + i + "]", subtableOffset + bgco);
             } else {
                 bgct = null;
             }
@@ -1610,7 +1610,7 @@ public final class OTFAdvancedTypographicTableReader {
             int lgco = lgcoa[i];
             GlyphCoverageTable lgct;
             if (lgco > 0) {
-                lgct = readCoverageTable (tableTag + " reverse chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco);
+                lgct = readCoverageTable(tableTag + " reverse chained contextual substitution lookahead coverage[" + i + "]", subtableOffset + lgco);
             } else {
                 lgct = null;
             }
@@ -1618,9 +1618,9 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (bgca);
-        seEntries.add (lgca);
-        seEntries.add (glyphs);
+        seEntries.add(bgca);
+        seEntries.add(lgca);
+        seEntries.add(glyphs);
     }
 
     private int readReverseChainedSingleSubTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -1628,9 +1628,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read substitution subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readReverseChainedSingleSubTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readReverseChainedSingleSubTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported reverse chained single substitution subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported reverse chained single substitution subtable format: " + sf);
         }
         return sf;
     }
@@ -1640,33 +1640,33 @@ public final class OTFAdvancedTypographicTableReader {
         int subtableFormat = -1;
         switch (lookupType) {
         case GSUBLookupType.SINGLE:
-            subtableFormat = readSingleSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readSingleSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.MULTIPLE:
-            subtableFormat = readMultipleSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readMultipleSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.ALTERNATE:
-            subtableFormat = readAlternateSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readAlternateSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.LIGATURE:
-            subtableFormat = readLigatureSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readLigatureSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.CONTEXTUAL:
-            subtableFormat = readContextualSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readContextualSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.CHAINED_CONTEXTUAL:
-            subtableFormat = readChainedContextualSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readChainedContextualSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.REVERSE_CHAINED_SINGLE:
-            subtableFormat = readReverseChainedSingleSubTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readReverseChainedSingleSubTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GSUBLookupType.EXTENSION:
-            subtableFormat = readExtensionSubTable (lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset);
+            subtableFormat = readExtensionSubTable(lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset);
             break;
         default:
             break;
         }
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat);
         resetATSubState();
     }
 
@@ -1703,13 +1703,13 @@ public final class OTFAdvancedTypographicTableReader {
             dd = 256;
             s2 = 8;
         } else {
-            log.debug ("unsupported device table delta format: " + df + ", ignoring device table");
+            log.debug("unsupported device table delta format: " + df + ", ignoring device table");
             return null;
         }
         // read deltas
         int n = (es - ss) + 1;
         if (n < 0) {
-            log.debug ("invalid device table delta count: " + n + ", ignoring device table");
+            log.debug("invalid device table delta count: " + n + ", ignoring device table");
             return null;
         }
         int[] da = new int [ n ];
@@ -1729,35 +1729,35 @@ public final class OTFAdvancedTypographicTableReader {
             }
         }
         in.seekSet(cp);
-        return new GlyphPositioningTable.DeviceTable (ss, es, da);
+        return new GlyphPositioningTable.DeviceTable(ss, es, da);
     }
 
     private GlyphPositioningTable.Value readPosValue(long subtableOffset, int valueFormat) throws IOException {
         // XPlacement
         int xp;
         if ((valueFormat & GlyphPositioningTable.Value.X_PLACEMENT) != 0) {
-            xp = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            xp = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
         } else {
             xp = 0;
         }
         // YPlacement
         int yp;
         if ((valueFormat & GlyphPositioningTable.Value.Y_PLACEMENT) != 0) {
-            yp = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            yp = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
         } else {
             yp = 0;
         }
         // XAdvance
         int xa;
         if ((valueFormat & GlyphPositioningTable.Value.X_ADVANCE) != 0) {
-            xa = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            xa = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
         } else {
             xa = 0;
         }
         // YAdvance
         int ya;
         if ((valueFormat & GlyphPositioningTable.Value.Y_ADVANCE) != 0) {
-            ya = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            ya = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
         } else {
             ya = 0;
         }
@@ -1765,7 +1765,7 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphPositioningTable.DeviceTable xpd;
         if ((valueFormat & GlyphPositioningTable.Value.X_PLACEMENT_DEVICE) != 0) {
             int xpdo = in.readTTFUShort();
-            xpd = readPosDeviceTable (subtableOffset, xpdo);
+            xpd = readPosDeviceTable(subtableOffset, xpdo);
         } else {
             xpd = null;
         }
@@ -1773,7 +1773,7 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphPositioningTable.DeviceTable ypd;
         if ((valueFormat & GlyphPositioningTable.Value.Y_PLACEMENT_DEVICE) != 0) {
             int ypdo = in.readTTFUShort();
-            ypd = readPosDeviceTable (subtableOffset, ypdo);
+            ypd = readPosDeviceTable(subtableOffset, ypdo);
         } else {
             ypd = null;
         }
@@ -1781,7 +1781,7 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphPositioningTable.DeviceTable xad;
         if ((valueFormat & GlyphPositioningTable.Value.X_ADVANCE_DEVICE) != 0) {
             int xado = in.readTTFUShort();
-            xad = readPosDeviceTable (subtableOffset, xado);
+            xad = readPosDeviceTable(subtableOffset, xado);
         } else {
             xad = null;
         }
@@ -1789,24 +1789,24 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphPositioningTable.DeviceTable yad;
         if ((valueFormat & GlyphPositioningTable.Value.Y_ADVANCE_DEVICE) != 0) {
             int yado = in.readTTFUShort();
-            yad = readPosDeviceTable (subtableOffset, yado);
+            yad = readPosDeviceTable(subtableOffset, yado);
         } else {
             yad = null;
         }
-        return new GlyphPositioningTable.Value (xp, yp, xa, ya, xpd, ypd, xad, yad);
+        return new GlyphPositioningTable.Value(xp, yp, xa, ya, xpd, ypd, xad, yad);
     }
 
     private void readSinglePosTableFormat1(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read value format
         int vf = in.readTTFUShort();
         // read value
-        GlyphPositioningTable.Value v = readPosValue (subtableOffset, vf);
+        GlyphPositioningTable.Value v = readPosValue(subtableOffset, vf);
         // dump info if debugging
         if (log.isDebugEnabled()) {
             log.debug(tableTag + " single positioning subtable format: " + subtableFormat + " (delta)");
@@ -1814,17 +1814,17 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " single positioning value: " + v);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " single positioning coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " single positioning coverage", subtableOffset + co);
         // store results
         seMapping = ct;
-        seEntries.add (v);
+        seEntries.add(v);
     }
 
     private void readSinglePosTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read value format
@@ -1838,11 +1838,11 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " single positioning value count: " + nv);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " single positioning coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " single positioning coverage", subtableOffset + co);
         // read positioning values
         GlyphPositioningTable.Value[] pva = new GlyphPositioningTable.Value[nv];
         for (int i = 0, n = nv; i < n; i++) {
-            GlyphPositioningTable.Value pv = readPosValue (subtableOffset, vf);
+            GlyphPositioningTable.Value pv = readPosValue(subtableOffset, vf);
             if (log.isDebugEnabled()) {
                 log.debug(tableTag + " single positioning value[" + i + "]: " + pv);
             }
@@ -1850,7 +1850,7 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (pva);
+        seEntries.add(pva);
     }
 
     private int readSinglePosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -1858,11 +1858,11 @@ public final class OTFAdvancedTypographicTableReader {
         // read positionining subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readSinglePosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readSinglePosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readSinglePosTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readSinglePosTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported single positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported single positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -1878,18 +1878,18 @@ public final class OTFAdvancedTypographicTableReader {
         // read first value (if present)
         GlyphPositioningTable.Value v1;
         if (vf1 != 0) {
-            v1 = readPosValue (subtableOffset, vf1);
+            v1 = readPosValue(subtableOffset, vf1);
         } else {
             v1 = null;
         }
         // read second value (if present)
         GlyphPositioningTable.Value v2;
         if (vf2 != 0) {
-            v2 = readPosValue (subtableOffset, vf2);
+            v2 = readPosValue(subtableOffset, vf2);
         } else {
             v2 = null;
         }
-        return new GlyphPositioningTable.PairValues (glyph, v1, v2);
+        return new GlyphPositioningTable.PairValues(glyph, v1, v2);
     }
 
     private GlyphPositioningTable.PairValues[] readPosPairSetTable(long subtableOffset, int pairSetTableOffset, int vf1, int vf2) throws IOException {
@@ -1906,7 +1906,7 @@ public final class OTFAdvancedTypographicTableReader {
         // read pair values
         GlyphPositioningTable.PairValues[] pva = new GlyphPositioningTable.PairValues [ npv ];
         for (int i = 0, n = npv; i < n; i++) {
-            GlyphPositioningTable.PairValues pv = readPosPairValues (subtableOffset, true, vf1, vf2);
+            GlyphPositioningTable.PairValues pv = readPosPairValues(subtableOffset, true, vf1, vf2);
             pva [ i ] = pv;
             if (log.isDebugEnabled()) {
                 log.debug(tableTag + " pair set table value[" + i + "]: " + pv);
@@ -1920,7 +1920,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read value format for first glyph
@@ -1937,25 +1937,25 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " pair positioning value format #2: " + vf2);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " pair positioning coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " pair positioning coverage", subtableOffset + co);
         // read pair value matrix
         GlyphPositioningTable.PairValues[][] pvm = new GlyphPositioningTable.PairValues [ nps ][];
         for (int i = 0, n = nps; i < n; i++) {
             // read pair set offset
             int pso = in.readTTFUShort();
             // read pair set table at offset
-            pvm [ i ] = readPosPairSetTable (subtableOffset, pso, vf1, vf2);
+            pvm [ i ] = readPosPairSetTable(subtableOffset, pso, vf1, vf2);
         }
         // store results
         seMapping = ct;
-        seEntries.add (pvm);
+        seEntries.add(pvm);
     }
 
     private void readPairPosTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read value format for first glyph
@@ -1982,16 +1982,16 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " pair positioning class #2 count: " + nc2);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " pair positioning coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " pair positioning coverage", subtableOffset + co);
         // read class definition table #1
-        GlyphClassTable cdt1 = readClassDefTable (tableTag + " pair positioning class definition #1", subtableOffset + cd1o);
+        GlyphClassTable cdt1 = readClassDefTable(tableTag + " pair positioning class definition #1", subtableOffset + cd1o);
         // read class definition table #2
-        GlyphClassTable cdt2 = readClassDefTable (tableTag + " pair positioning class definition #2", subtableOffset + cd2o);
+        GlyphClassTable cdt2 = readClassDefTable(tableTag + " pair positioning class definition #2", subtableOffset + cd2o);
         // read pair value matrix
         GlyphPositioningTable.PairValues[][] pvm = new GlyphPositioningTable.PairValues [ nc1 ] [ nc2 ];
         for (int i = 0; i < nc1; i++) {
             for (int j = 0; j < nc2; j++) {
-                GlyphPositioningTable.PairValues pv = readPosPairValues (subtableOffset, false, vf1, vf2);
+                GlyphPositioningTable.PairValues pv = readPosPairValues(subtableOffset, false, vf1, vf2);
                 pvm [ i ] [ j ] = pv;
                 if (log.isDebugEnabled()) {
                     log.debug(tableTag + " pair set table value[" + i + "][" + j + "]: " + pv);
@@ -2000,11 +2000,11 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (cdt1);
-        seEntries.add (cdt2);
-        seEntries.add (Integer.valueOf (nc1));
-        seEntries.add (Integer.valueOf (nc2));
-        seEntries.add (pvm);
+        seEntries.add(cdt1);
+        seEntries.add(cdt2);
+        seEntries.add(Integer.valueOf(nc1));
+        seEntries.add(Integer.valueOf(nc2));
+        seEntries.add(pvm);
     }
 
     private int readPairPosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2012,11 +2012,11 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readPairPosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readPairPosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readPairPosTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readPairPosTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported pair positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported pair positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2029,23 +2029,23 @@ public final class OTFAdvancedTypographicTableReader {
         int af = in.readTTFUShort();
         if (af == 1) {
             // read x coordinate
-            int x = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            int x = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
             // read y coordinate
-            int y = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
-            a = new GlyphPositioningTable.Anchor (x, y);
+            int y = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
+            a = new GlyphPositioningTable.Anchor(x, y);
         } else if (af == 2) {
             // read x coordinate
-            int x = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            int x = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
             // read y coordinate
-            int y = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            int y = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
             // read anchor point index
             int ap = in.readTTFUShort();
-            a = new GlyphPositioningTable.Anchor (x, y, ap);
+            a = new GlyphPositioningTable.Anchor(x, y, ap);
         } else if (af == 3) {
             // read x coordinate
-            int x = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            int x = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
             // read y coordinate
-            int y = ttf.convertTTFUnit2PDFUnit (in.readTTFShort());
+            int y = ttf.convertTTFUnit2PDFUnit(in.readTTFShort());
             // read x device table offset
             int xdo = in.readTTFUShort();
             // read y device table offset
@@ -2053,20 +2053,20 @@ public final class OTFAdvancedTypographicTableReader {
             // read x device table (if present)
             GlyphPositioningTable.DeviceTable xd;
             if (xdo != 0) {
-                xd = readPosDeviceTable (cp, xdo);
+                xd = readPosDeviceTable(cp, xdo);
             } else {
                 xd = null;
             }
             // read y device table (if present)
             GlyphPositioningTable.DeviceTable yd;
             if (ydo != 0) {
-                yd = readPosDeviceTable (cp, ydo);
+                yd = readPosDeviceTable(cp, ydo);
             } else {
                 yd = null;
             }
-            a = new GlyphPositioningTable.Anchor (x, y, xd, yd);
+            a = new GlyphPositioningTable.Anchor(x, y, xd, yd);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported positioning anchor format: " + af);
+            throw new AdvancedTypographicTableFormatException("unsupported positioning anchor format: " + af);
         }
         in.seekSet(cp);
         return a;
@@ -2076,7 +2076,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read entry/exit count
@@ -2088,7 +2088,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " cursive positioning entry/exit count: " + ec);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " cursive positioning coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " cursive positioning coverage", subtableOffset + co);
         // read entry/exit records
         GlyphPositioningTable.Anchor[] aa = new GlyphPositioningTable.Anchor [ ec * 2 ];
         for (int i = 0, n = ec; i < n; i++) {
@@ -2099,14 +2099,14 @@ public final class OTFAdvancedTypographicTableReader {
             // read entry anchor
             GlyphPositioningTable.Anchor ena;
             if (eno > 0) {
-                ena = readPosAnchor (subtableOffset + eno);
+                ena = readPosAnchor(subtableOffset + eno);
             } else {
                 ena = null;
             }
             // read exit anchor
             GlyphPositioningTable.Anchor exa;
             if (exo > 0) {
-                exa = readPosAnchor (subtableOffset + exo);
+                exa = readPosAnchor(subtableOffset + exo);
             } else {
                 exa = null;
             }
@@ -2123,7 +2123,7 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (aa);
+        seEntries.add(aa);
     }
 
     private int readCursivePosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2131,9 +2131,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readCursivePosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readCursivePosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported cursive positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported cursive positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2142,7 +2142,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read mark coverage offset
         int mco = in.readTTFUShort();
         // read base coverage offset
@@ -2163,9 +2163,9 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " mark-to-base positioning base array offset: " + bao);
         }
         // read mark coverage table
-        GlyphCoverageTable mct = readCoverageTable (tableTag + " mark-to-base positioning mark coverage", subtableOffset + mco);
+        GlyphCoverageTable mct = readCoverageTable(tableTag + " mark-to-base positioning mark coverage", subtableOffset + mco);
         // read base coverage table
-        GlyphCoverageTable bct = readCoverageTable (tableTag + " mark-to-base positioning base coverage", subtableOffset + bco);
+        GlyphCoverageTable bct = readCoverageTable(tableTag + " mark-to-base positioning base coverage", subtableOffset + bco);
         // read mark anchor array
         // seek to mark array
         in.seekSet(subtableOffset + mao);
@@ -2183,13 +2183,13 @@ public final class OTFAdvancedTypographicTableReader {
             int ao = in.readTTFUShort();
             GlyphPositioningTable.Anchor a;
             if (ao > 0) {
-                a = readPosAnchor (subtableOffset + mao + ao);
+                a = readPosAnchor(subtableOffset + mao + ao);
             } else {
                 a = null;
             }
             GlyphPositioningTable.MarkAnchor ma;
             if (a != null) {
-                ma = new GlyphPositioningTable.MarkAnchor (mc, a);
+                ma = new GlyphPositioningTable.MarkAnchor(mc, a);
             } else {
                 ma = null;
             }
@@ -2215,7 +2215,7 @@ public final class OTFAdvancedTypographicTableReader {
                 int ao = in.readTTFUShort();
                 GlyphPositioningTable.Anchor a;
                 if (ao > 0) {
-                    a = readPosAnchor (subtableOffset + bao + ao);
+                    a = readPosAnchor(subtableOffset + bao + ao);
                 } else {
                     a = null;
                 }
@@ -2227,10 +2227,10 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = mct;
-        seEntries.add (bct);
-        seEntries.add (Integer.valueOf (nmc));
-        seEntries.add (maa);
-        seEntries.add (bam);
+        seEntries.add(bct);
+        seEntries.add(Integer.valueOf(nmc));
+        seEntries.add(maa);
+        seEntries.add(bam);
     }
 
     private int readMarkToBasePosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2238,9 +2238,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readMarkToBasePosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readMarkToBasePosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported mark-to-base positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported mark-to-base positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2249,7 +2249,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read mark coverage offset
         int mco = in.readTTFUShort();
         // read ligature coverage offset
@@ -2270,9 +2270,9 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " mark-to-ligature positioning ligature array offset: " + lao);
         }
         // read mark coverage table
-        GlyphCoverageTable mct = readCoverageTable (tableTag + " mark-to-ligature positioning mark coverage", subtableOffset + mco);
+        GlyphCoverageTable mct = readCoverageTable(tableTag + " mark-to-ligature positioning mark coverage", subtableOffset + mco);
         // read ligature coverage table
-        GlyphCoverageTable lct = readCoverageTable (tableTag + " mark-to-ligature positioning ligature coverage", subtableOffset + lco);
+        GlyphCoverageTable lct = readCoverageTable(tableTag + " mark-to-ligature positioning ligature coverage", subtableOffset + lco);
         // read mark anchor array
         // seek to mark array
         in.seekSet(subtableOffset + mao);
@@ -2290,13 +2290,13 @@ public final class OTFAdvancedTypographicTableReader {
             int ao = in.readTTFUShort();
             GlyphPositioningTable.Anchor a;
             if (ao > 0) {
-                a = readPosAnchor (subtableOffset + mao + ao);
+                a = readPosAnchor(subtableOffset + mao + ao);
             } else {
                 a = null;
             }
             GlyphPositioningTable.MarkAnchor ma;
             if (a != null) {
-                ma = new GlyphPositioningTable.MarkAnchor (mc, a);
+                ma = new GlyphPositioningTable.MarkAnchor(mc, a);
             } else {
                 ma = null;
             }
@@ -2322,7 +2322,7 @@ public final class OTFAdvancedTypographicTableReader {
         int mxc = 0;
         for (int i = 0; i < nl; i++) {
             int lato = laoa [ i ];
-            in.seekSet (subtableOffset + lao + lato);
+            in.seekSet(subtableOffset + lao + lato);
             // read component count
             int cc = in.readTTFUShort();
             if (cc > mxc) {
@@ -2337,7 +2337,7 @@ public final class OTFAdvancedTypographicTableReader {
         for (int i = 0; i < nl; i++) {
             int lato = laoa [ i ];
             // seek to ligature attach table for ligature[i]
-            in.seekSet (subtableOffset + lao + lato);
+            in.seekSet(subtableOffset + lao + lato);
             // read component count
             int cc = in.readTTFUShort();
             GlyphPositioningTable.Anchor[][] lcm = new GlyphPositioningTable.Anchor [ cc ] [ nmc ];
@@ -2347,7 +2347,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ao = in.readTTFUShort();
                     GlyphPositioningTable.Anchor a;
                     if (ao > 0) {
-                        a  = readPosAnchor (subtableOffset + lao + lato + ao);
+                        a  = readPosAnchor(subtableOffset + lao + lato + ao);
                     } else {
                         a = null;
                     }
@@ -2361,11 +2361,11 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = mct;
-        seEntries.add (lct);
-        seEntries.add (Integer.valueOf (nmc));
-        seEntries.add (Integer.valueOf (mxc));
-        seEntries.add (maa);
-        seEntries.add (lam);
+        seEntries.add(lct);
+        seEntries.add(Integer.valueOf(nmc));
+        seEntries.add(Integer.valueOf(mxc));
+        seEntries.add(maa);
+        seEntries.add(lam);
     }
 
     private int readMarkToLigaturePosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2373,9 +2373,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readMarkToLigaturePosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readMarkToLigaturePosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported mark-to-ligature positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported mark-to-ligature positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2384,7 +2384,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read mark #1 coverage offset
         int m1co = in.readTTFUShort();
         // read mark #2 coverage offset
@@ -2405,9 +2405,9 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " mark-to-mark positioning mark #2 array offset: " + m2ao);
         }
         // read mark #1 coverage table
-        GlyphCoverageTable mct1 = readCoverageTable (tableTag + " mark-to-mark positioning mark #1 coverage", subtableOffset + m1co);
+        GlyphCoverageTable mct1 = readCoverageTable(tableTag + " mark-to-mark positioning mark #1 coverage", subtableOffset + m1co);
         // read mark #2 coverage table
-        GlyphCoverageTable mct2 = readCoverageTable (tableTag + " mark-to-mark positioning mark #2 coverage", subtableOffset + m2co);
+        GlyphCoverageTable mct2 = readCoverageTable(tableTag + " mark-to-mark positioning mark #2 coverage", subtableOffset + m2co);
         // read mark #1 anchor array
         // seek to mark array
         in.seekSet(subtableOffset + m1ao);
@@ -2425,13 +2425,13 @@ public final class OTFAdvancedTypographicTableReader {
             int ao = in.readTTFUShort();
             GlyphPositioningTable.Anchor a;
             if (ao > 0) {
-                a = readPosAnchor (subtableOffset + m1ao + ao);
+                a = readPosAnchor(subtableOffset + m1ao + ao);
             } else {
                 a = null;
             }
             GlyphPositioningTable.MarkAnchor ma;
             if (a != null) {
-                ma = new GlyphPositioningTable.MarkAnchor (mc, a);
+                ma = new GlyphPositioningTable.MarkAnchor(mc, a);
             } else {
                 ma = null;
             }
@@ -2456,7 +2456,7 @@ public final class OTFAdvancedTypographicTableReader {
                 int ao = in.readTTFUShort();
                 GlyphPositioningTable.Anchor a;
                 if (ao > 0) {
-                    a = readPosAnchor (subtableOffset + m2ao + ao);
+                    a = readPosAnchor(subtableOffset + m2ao + ao);
                 } else {
                     a = null;
                 }
@@ -2468,10 +2468,10 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = mct1;
-        seEntries.add (mct2);
-        seEntries.add (Integer.valueOf (nmc));
-        seEntries.add (maa);
-        seEntries.add (mam);
+        seEntries.add(mct2);
+        seEntries.add(Integer.valueOf(nmc));
+        seEntries.add(maa);
+        seEntries.add(mam);
     }
 
     private int readMarkToMarkPosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2479,9 +2479,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readMarkToMarkPosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readMarkToMarkPosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported mark-to-mark positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported mark-to-mark positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2490,7 +2490,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read rule set count
@@ -2512,7 +2512,7 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " contextual positioning coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " contextual positioning coverage", subtableOffset + co);
         } else {
             ct = null;
         }
@@ -2524,7 +2524,7 @@ public final class OTFAdvancedTypographicTableReader {
             int rso = rsoa [ i ];
             if (rso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + rso);
+                in.seekSet(subtableOffset + rso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -2539,7 +2539,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ro = roa [ j ];
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + rso + ro);
+                        in.seekSet(subtableOffset + rso + ro);
                         // read glyph count
                         int ng = in.readTTFUShort();
                         // read rule lookup count
@@ -2553,14 +2553,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.GlyphSequenceRule (lookups, ng, glyphs);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.GlyphSequenceRule(lookups, ng, glyphs);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -2568,14 +2568,14 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private void readContextualPosTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read class def table offset
@@ -2599,14 +2599,14 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " contextual positioning coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " contextual positioning coverage", subtableOffset + co);
         } else {
             ct = null;
         }
         // read class definition table
         GlyphClassTable cdt;
         if (cdo > 0) {
-            cdt = readClassDefTable (tableTag + " contextual positioning class definition", subtableOffset + cdo);
+            cdt = readClassDefTable(tableTag + " contextual positioning class definition", subtableOffset + cdo);
         } else {
             cdt = null;
         }
@@ -2618,7 +2618,7 @@ public final class OTFAdvancedTypographicTableReader {
             GlyphTable.RuleSet rs;
             if (cso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + cso);
+                in.seekSet(subtableOffset + cso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -2633,7 +2633,7 @@ public final class OTFAdvancedTypographicTableReader {
                     GlyphTable.ClassSequenceRule r;
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + cso + ro);
+                        in.seekSet(subtableOffset + cso + ro);
                         // read glyph count
                         int ng = in.readTTFUShort();
                         // read rule lookup count
@@ -2647,14 +2647,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ClassSequenceRule (lookups, ng, classes);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ClassSequenceRule(lookups, ng, classes);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -2662,16 +2662,16 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (cdt);
-        seEntries.add (Integer.valueOf (ngc));
-        seEntries.add (rsa);
+        seEntries.add(cdt);
+        seEntries.add(Integer.valueOf(ngc));
+        seEntries.add(rsa);
     }
 
     private void readContextualPosTableFormat3(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read glyph (input sequence length) count
         int ng = in.readTTFUShort();
         // read positioning lookup count
@@ -2696,7 +2696,7 @@ public final class OTFAdvancedTypographicTableReader {
             int gco = gcoa [ i ];
             GlyphCoverageTable gct;
             if (gco > 0) {
-                gct = readCoverageTable (tableTag + " contextual positioning coverage[" + i + "]", subtableOffset + gcoa[i]);
+                gct = readCoverageTable(tableTag + " contextual positioning coverage[" + i + "]", subtableOffset + gcoa[i]);
             } else {
                 gct = null;
             }
@@ -2707,15 +2707,15 @@ public final class OTFAdvancedTypographicTableReader {
         if (log.isDebugEnabled()) {
             header = tableTag + " contextual positioning lookups: ";
         }
-        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
+        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
         // construct rule, rule set, and rule set array
-        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule (lookups, ng, gca);
-        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet (new GlyphTable.Rule[] {r});
+        GlyphTable.Rule r = new GlyphTable.CoverageSequenceRule(lookups, ng, gca);
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r});
         GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
         // store results
         assert (gca != null) && (gca.length > 0);
         seMapping = gca[0];
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private int readContextualPosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -2723,13 +2723,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readContextualPosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualPosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readContextualPosTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualPosTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 3) {
-            readContextualPosTableFormat3 (lookupType, lookupFlags, subtableOffset, sf);
+            readContextualPosTableFormat3(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported contextual positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported contextual positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -2738,7 +2738,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read rule set count
@@ -2760,7 +2760,7 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " chained contextual positioning coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " chained contextual positioning coverage", subtableOffset + co);
         } else {
             ct = null;
         }
@@ -2772,7 +2772,7 @@ public final class OTFAdvancedTypographicTableReader {
             int rso = rsoa [ i ];
             if (rso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + rso);
+                in.seekSet(subtableOffset + rso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -2787,7 +2787,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ro = roa [ j ];
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + rso + ro);
+                        in.seekSet(subtableOffset + rso + ro);
                         // read backtrack glyph count
                         int nbg = in.readTTFUShort();
                         // read backtrack glyphs
@@ -2815,14 +2815,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ChainedGlyphSequenceRule (lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ChainedGlyphSequenceRule(lookups, nig, glyphs, backtrackGlyphs, lookaheadGlyphs);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -2830,14 +2830,14 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private void readChainedContextualPosTableFormat2(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read coverage offset
         int co = in.readTTFUShort();
         // read backtrack class def table offset
@@ -2865,28 +2865,28 @@ public final class OTFAdvancedTypographicTableReader {
         // read coverage table
         GlyphCoverageTable ct;
         if (co > 0) {
-            ct = readCoverageTable (tableTag + " chained contextual positioning coverage", subtableOffset + co);
+            ct = readCoverageTable(tableTag + " chained contextual positioning coverage", subtableOffset + co);
         } else {
             ct = null;
         }
         // read backtrack class definition table
         GlyphClassTable bcdt;
         if (bcdo > 0) {
-            bcdt = readClassDefTable (tableTag + " contextual positioning backtrack class definition", subtableOffset + bcdo);
+            bcdt = readClassDefTable(tableTag + " contextual positioning backtrack class definition", subtableOffset + bcdo);
         } else {
             bcdt = null;
         }
         // read input class definition table
         GlyphClassTable icdt;
         if (icdo > 0) {
-            icdt = readClassDefTable (tableTag + " contextual positioning input class definition", subtableOffset + icdo);
+            icdt = readClassDefTable(tableTag + " contextual positioning input class definition", subtableOffset + icdo);
         } else {
             icdt = null;
         }
         // read lookahead class definition table
         GlyphClassTable lcdt;
         if (lcdo > 0) {
-            lcdt = readClassDefTable (tableTag + " contextual positioning lookahead class definition", subtableOffset + lcdo);
+            lcdt = readClassDefTable(tableTag + " contextual positioning lookahead class definition", subtableOffset + lcdo);
         } else {
             lcdt = null;
         }
@@ -2898,7 +2898,7 @@ public final class OTFAdvancedTypographicTableReader {
             GlyphTable.RuleSet rs;
             if (cso > 0) {
                 // seek to rule set [ i ]
-                in.seekSet (subtableOffset + cso);
+                in.seekSet(subtableOffset + cso);
                 // read rule count
                 int nr = in.readTTFUShort();
                 // read rule offsets
@@ -2913,7 +2913,7 @@ public final class OTFAdvancedTypographicTableReader {
                     int ro = roa [ j ];
                     if (ro > 0) {
                         // seek to rule [ j ]
-                        in.seekSet (subtableOffset + cso + ro);
+                        in.seekSet(subtableOffset + cso + ro);
                         // read backtrack glyph class count
                         int nbc = in.readTTFUShort();
                         // read backtrack glyph classes
@@ -2941,14 +2941,14 @@ public final class OTFAdvancedTypographicTableReader {
                         if (log.isDebugEnabled()) {
                             header = tableTag + " contextual positioning lookups @rule[" + i + "][" + j + "]: ";
                         }
-                        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
-                        r = new GlyphTable.ChainedClassSequenceRule (lookups, nic, classes, backtrackClasses, lookaheadClasses);
+                        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
+                        r = new GlyphTable.ChainedClassSequenceRule(lookups, nic, classes, backtrackClasses, lookaheadClasses);
                     } else {
                         r = null;
                     }
                     ra [ j ] = r;
                 }
-                rs = new GlyphTable.HomogeneousRuleSet (ra);
+                rs = new GlyphTable.HomogeneousRuleSet(ra);
             } else {
                 rs = null;
             }
@@ -2956,18 +2956,18 @@ public final class OTFAdvancedTypographicTableReader {
         }
         // store results
         seMapping = ct;
-        seEntries.add (icdt);
-        seEntries.add (bcdt);
-        seEntries.add (lcdt);
-        seEntries.add (Integer.valueOf (ngc));
-        seEntries.add (rsa);
+        seEntries.add(icdt);
+        seEntries.add(bcdt);
+        seEntries.add(lcdt);
+        seEntries.add(Integer.valueOf(ngc));
+        seEntries.add(rsa);
     }
 
     private void readChainedContextualPosTableFormat3(int lookupType, int lookupFlags, long subtableOffset, int subtableFormat) throws IOException {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read backtrack glyph count
         int nbg = in.readTTFUShort();
         // read backtrack glyph coverage offsets
@@ -3014,7 +3014,7 @@ public final class OTFAdvancedTypographicTableReader {
             int bgco = bgcoa [ i ];
             GlyphCoverageTable bgct;
             if (bgco > 0) {
-                bgct = readCoverageTable (tableTag + " chained contextual positioning backtrack coverage[" + i + "]", subtableOffset + bgco);
+                bgct = readCoverageTable(tableTag + " chained contextual positioning backtrack coverage[" + i + "]", subtableOffset + bgco);
             } else {
                 bgct = null;
             }
@@ -3026,7 +3026,7 @@ public final class OTFAdvancedTypographicTableReader {
             int igco = igcoa [ i ];
             GlyphCoverageTable igct;
             if (igco > 0) {
-                igct = readCoverageTable (tableTag + " chained contextual positioning input coverage[" + i + "]", subtableOffset + igco);
+                igct = readCoverageTable(tableTag + " chained contextual positioning input coverage[" + i + "]", subtableOffset + igco);
             } else {
                 igct = null;
             }
@@ -3038,7 +3038,7 @@ public final class OTFAdvancedTypographicTableReader {
             int lgco = lgcoa [ i ];
             GlyphCoverageTable lgct;
             if (lgco > 0) {
-                lgct = readCoverageTable (tableTag + " chained contextual positioning lookahead coverage[" + i + "]", subtableOffset + lgco);
+                lgct = readCoverageTable(tableTag + " chained contextual positioning lookahead coverage[" + i + "]", subtableOffset + lgco);
             } else {
                 lgct = null;
             }
@@ -3049,15 +3049,15 @@ public final class OTFAdvancedTypographicTableReader {
         if (log.isDebugEnabled()) {
             header = tableTag + " chained contextual positioning lookups: ";
         }
-        GlyphTable.RuleLookup[] lookups = readRuleLookups (nl, header);
+        GlyphTable.RuleLookup[] lookups = readRuleLookups(nl, header);
         // construct rule, rule set, and rule set array
-        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule (lookups, nig, igca, bgca, lgca);
-        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet (new GlyphTable.Rule[] {r});
+        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule(lookups, nig, igca, bgca, lgca);
+        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r});
         GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
         // store results
         assert (igca != null) && (igca.length > 0);
         seMapping = igca[0];
-        seEntries.add (rsa);
+        seEntries.add(rsa);
     }
 
     private int readChainedContextualPosTable(int lookupType, int lookupFlags, long subtableOffset) throws IOException {
@@ -3065,13 +3065,13 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readChainedContextualPosTableFormat1 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualPosTableFormat1(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 2) {
-            readChainedContextualPosTableFormat2 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualPosTableFormat2(lookupType, lookupFlags, subtableOffset, sf);
         } else if (sf == 3) {
-            readChainedContextualPosTableFormat3 (lookupType, lookupFlags, subtableOffset, sf);
+            readChainedContextualPosTableFormat3(lookupType, lookupFlags, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported chained contextual positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported chained contextual positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -3080,7 +3080,7 @@ public final class OTFAdvancedTypographicTableReader {
         String tableTag = "GPOS";
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read extension lookup type
         int lt = in.readTTFUShort();
         // read extension offset
@@ -3092,7 +3092,7 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " extension positioning lookup table offset: " + eo);
         }
         // read referenced subtable from extended offset
-        readGPOSSubtable (lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo);
+        readGPOSSubtable(lt, lookupFlags, lookupSequence, subtableSequence, subtableOffset + eo);
     }
 
     private int readExtensionPosTable(int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, long subtableOffset) throws IOException {
@@ -3100,9 +3100,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read positioning subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readExtensionPosTableFormat1 (lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf);
+            readExtensionPosTableFormat1(lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported extension positioning subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported extension positioning subtable format: " + sf);
         }
         return sf;
     }
@@ -3112,42 +3112,42 @@ public final class OTFAdvancedTypographicTableReader {
         int subtableFormat = -1;
         switch (lookupType) {
         case GPOSLookupType.SINGLE:
-            subtableFormat = readSinglePosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readSinglePosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.PAIR:
-            subtableFormat = readPairPosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readPairPosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.CURSIVE:
-            subtableFormat = readCursivePosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readCursivePosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.MARK_TO_BASE:
-            subtableFormat = readMarkToBasePosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readMarkToBasePosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.MARK_TO_LIGATURE:
-            subtableFormat = readMarkToLigaturePosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readMarkToLigaturePosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.MARK_TO_MARK:
-            subtableFormat = readMarkToMarkPosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readMarkToMarkPosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.CONTEXTUAL:
-            subtableFormat = readContextualPosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readContextualPosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.CHAINED_CONTEXTUAL:
-            subtableFormat = readChainedContextualPosTable (lookupType, lookupFlags, subtableOffset);
+            subtableFormat = readChainedContextualPosTable(lookupType, lookupFlags, subtableOffset);
             break;
         case GPOSLookupType.EXTENSION:
-            subtableFormat = readExtensionPosTable (lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset);
+            subtableFormat = readExtensionPosTable(lookupType, lookupFlags, lookupSequence, subtableSequence, subtableOffset);
             break;
         default:
             break;
         }
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_POSITIONING, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_POSITIONING, lookupType, lookupFlags, lookupSequence, subtableSequence, subtableFormat);
         resetATSubState();
     }
 
     private void readLookupTable(TTFTableName tableTag, int lookupSequence, long lookupTable) throws IOException {
-        boolean isGSUB = tableTag.equals (TTFTableName.GSUB);
-        boolean isGPOS = tableTag.equals (TTFTableName.GPOS);
+        boolean isGSUB = tableTag.equals(TTFTableName.GSUB);
+        boolean isGPOS = tableTag.equals(TTFTableName.GPOS);
         in.seekSet(lookupTable);
         // read lookup type
         int lt = in.readTTFUShort();
@@ -3159,14 +3159,14 @@ public final class OTFAdvancedTypographicTableReader {
         if (log.isDebugEnabled()) {
             String lts;
             if (isGSUB) {
-                lts = GSUBLookupType.toString (lt);
+                lts = GSUBLookupType.toString(lt);
             } else if (isGPOS) {
-                lts = GPOSLookupType.toString (lt);
+                lts = GPOSLookupType.toString(lt);
             } else {
                 lts = "?";
             }
             log.debug(tableTag + " lookup table type: " + lt + " (" + lts + ")");
-            log.debug(tableTag + " lookup table flags: " + lf + " (" + LookupFlag.toString (lf) + ")");
+            log.debug(tableTag + " lookup table flags: " + lf + " (" + LookupFlag.toString(lf) + ")");
             log.debug(tableTag + " lookup table subtable count: " + ns);
         }
         // read subtable offsets
@@ -3191,9 +3191,9 @@ public final class OTFAdvancedTypographicTableReader {
         for (int i = 0; i < ns; i++) {
             int so = soa[i];
             if (isGSUB) {
-                readGSUBSubtable (lt, lf, lookupSequence, i, lookupTable + so);
+                readGSUBSubtable(lt, lf, lookupSequence, i, lookupTable + so);
             } else if (isGPOS) {
-                readGPOSSubtable (lt, lf, lookupSequence, i, lookupTable + so);
+                readGPOSSubtable(lt, lf, lookupSequence, i, lookupTable + so);
             }
         }
     }
@@ -3220,7 +3220,7 @@ public final class OTFAdvancedTypographicTableReader {
                 if (log.isDebugEnabled()) {
                     log.debug(tableTag + " lookup index: " + i);
                 }
-                readLookupTable (tableTag, i, lookupList + loa [ i ]);
+                readLookupTable(tableTag, i, lookupList + loa [ i ]);
             }
         }
     }
@@ -3235,13 +3235,13 @@ public final class OTFAdvancedTypographicTableReader {
      */
     private void readCommonLayoutTables(TTFTableName tableTag, long scriptList, long featureList, long lookupList) throws IOException {
         if (scriptList > 0) {
-            readScriptList (tableTag, scriptList);
+            readScriptList(tableTag, scriptList);
         }
         if (featureList > 0) {
-            readFeatureList (tableTag, featureList);
+            readFeatureList(tableTag, featureList);
         }
         if (lookupList > 0) {
-            readLookupList (tableTag, lookupList);
+            readLookupList(tableTag, lookupList);
         }
     }
 
@@ -3249,11 +3249,11 @@ public final class OTFAdvancedTypographicTableReader {
         initATSubState();
         in.seekSet(subtableOffset);
         // subtable is a bare class definition table
-        GlyphClassTable ct = readClassDefTable (tableTag + " glyph class definition table", subtableOffset);
+        GlyphClassTable ct = readClassDefTable(tableTag + " glyph class definition table", subtableOffset);
         // store results
         seMapping = ct;
         // extract subtable
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.GLYPH_CLASS, 0, lookupSequence, 0, 1);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.GLYPH_CLASS, 0, lookupSequence, 0, 1);
         resetATSubState();
     }
 
@@ -3267,11 +3267,11 @@ public final class OTFAdvancedTypographicTableReader {
             log.debug(tableTag + " attachment point coverage table offset: " + co);
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " attachment point coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " attachment point coverage", subtableOffset + co);
         // store results
         seMapping = ct;
         // extract subtable
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.ATTACHMENT_POINT, 0, lookupSequence, 0, 1);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.ATTACHMENT_POINT, 0, lookupSequence, 0, 1);
         resetATSubState();
     }
 
@@ -3297,11 +3297,11 @@ public final class OTFAdvancedTypographicTableReader {
             }
         }
         // read coverage table
-        GlyphCoverageTable ct = readCoverageTable (tableTag + " ligature caret coverage", subtableOffset + co);
+        GlyphCoverageTable ct = readCoverageTable(tableTag + " ligature caret coverage", subtableOffset + co);
         // store results
         seMapping = ct;
         // extract subtable
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.LIGATURE_CARET, 0, lookupSequence, 0, 1);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.LIGATURE_CARET, 0, lookupSequence, 0, 1);
         resetATSubState();
     }
 
@@ -3309,11 +3309,11 @@ public final class OTFAdvancedTypographicTableReader {
         initATSubState();
         in.seekSet(subtableOffset);
         // subtable is a bare class definition table
-        GlyphClassTable ct = readClassDefTable (tableTag + " glyph class definition table", subtableOffset);
+        GlyphClassTable ct = readClassDefTable(tableTag + " glyph class definition table", subtableOffset);
         // store results
         seMapping = ct;
         // extract subtable
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1);
         resetATSubState();
     }
 
@@ -3321,7 +3321,7 @@ public final class OTFAdvancedTypographicTableReader {
         initATSubState();
         in.seekSet(subtableOffset);
         // skip over format (already known)
-        in.skip (2);
+        in.skip(2);
         // read mark set class count
         int nmc = in.readTTFUShort();
         long[] mso = new long [ nmc ];
@@ -3340,14 +3340,14 @@ public final class OTFAdvancedTypographicTableReader {
         // read mark set coverage tables, one per class
         GlyphCoverageTable[] msca = new GlyphCoverageTable[nmc];
         for (int i = 0; i < nmc; i++) {
-            msca[i] = readCoverageTable (tableTag + " mark set coverage[" + i + "]", subtableOffset + mso[i]);
+            msca[i] = readCoverageTable(tableTag + " mark set coverage[" + i + "]", subtableOffset + mso[i]);
         }
         // create combined class table from per-class coverage tables
-        GlyphClassTable ct = GlyphClassTable.createClassTable (Arrays.asList (msca));
+        GlyphClassTable ct = GlyphClassTable.createClassTable(Arrays.asList(msca));
         // store results
         seMapping = ct;
         // extract subtable
-        extractSESubState (GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1);
+        extractSESubState(GlyphTable.GLYPH_TABLE_TYPE_DEFINITION, GDEFLookupType.MARK_ATTACHMENT, 0, lookupSequence, 0, 1);
         resetATSubState();
     }
 
@@ -3356,9 +3356,9 @@ public final class OTFAdvancedTypographicTableReader {
         // read mark set subtable format
         int sf = in.readTTFUShort();
         if (sf == 1) {
-            readGDEFMarkGlyphsTableFormat1 (tableTag, lookupSequence, subtableOffset, sf);
+            readGDEFMarkGlyphsTableFormat1(tableTag, lookupSequence, subtableOffset, sf);
         } else {
-            throw new AdvancedTypographicTableFormatException ("unsupported mark glyph sets subtable format: " + sf);
+            throw new AdvancedTypographicTableFormatException("unsupported mark glyph sets subtable format: " + sf);
         }
     }
 
@@ -3410,23 +3410,23 @@ public final class OTFAdvancedTypographicTableReader {
             long to = dirTab.getOffset();
             // (optionally) read glyph class definition subtable
             if (cdo != 0) {
-                readGDEFClassDefTable (tableTag, seqno++, to + cdo);
+                readGDEFClassDefTable(tableTag, seqno++, to + cdo);
             }
             // (optionally) read glyph attachment point subtable
             if (apo != 0) {
-                readGDEFAttachmentTable (tableTag, seqno++, to + apo);
+                readGDEFAttachmentTable(tableTag, seqno++, to + apo);
             }
             // (optionally) read ligature caret subtable
             if (lco != 0) {
-                readGDEFLigatureCaretTable (tableTag, seqno++, to + lco);
+                readGDEFLigatureCaretTable(tableTag, seqno++, to + lco);
             }
             // (optionally) read mark attachment class subtable
             if (mao != 0) {
-                readGDEFMarkAttachmentTable (tableTag, seqno++, to + mao);
+                readGDEFMarkAttachmentTable(tableTag, seqno++, to + mao);
             }
             // (optionally) read mark glyph sets subtable
             if (mgo != 0) {
-                readGDEFMarkGlyphsTable (tableTag, seqno++, to + mgo);
+                readGDEFMarkGlyphsTable(tableTag, seqno++, to + mgo);
             }
             GlyphDefinitionTable gdef;
             if ((gdef = constructGDEF()) != null) {
@@ -3444,7 +3444,7 @@ public final class OTFAdvancedTypographicTableReader {
         // Initialize temporary state
         initATState();
         // Read glyph substitution (GSUB) table
-        TTFDirTabEntry dirTab = ttf.getDirectoryEntry (tableTag);
+        TTFDirTabEntry dirTab = ttf.getDirectoryEntry(tableTag);
         if (gpos != null) {
             if (log.isDebugEnabled()) {
                 log.debug(tableTag + ": ignoring duplicate table");
@@ -3464,7 +3464,7 @@ public final class OTFAdvancedTypographicTableReader {
                 log.debug(tableTag + " lookup list offset: " + llo);
             }
             long to = dirTab.getOffset();
-            readCommonLayoutTables (tableTag, to + slo, to + flo, to + llo);
+            readCommonLayoutTables(tableTag, to + slo, to + flo, to + llo);
             GlyphSubstitutionTable gsub;
             if ((gsub = constructGSUB()) != null) {
                 this.gsub = gsub;
@@ -3481,7 +3481,7 @@ public final class OTFAdvancedTypographicTableReader {
         // Initialize temporary state
         initATState();
         // Read glyph positioning (GPOS) table
-        TTFDirTabEntry dirTab = ttf.getDirectoryEntry (tableTag);
+        TTFDirTabEntry dirTab = ttf.getDirectoryEntry(tableTag);
         if (gpos != null) {
             if (log.isDebugEnabled()) {
                 log.debug(tableTag + ": ignoring duplicate table");
@@ -3501,7 +3501,7 @@ public final class OTFAdvancedTypographicTableReader {
                 log.debug(tableTag + " lookup list offset: " + llo);
             }
             long to = dirTab.getOffset();
-            readCommonLayoutTables (tableTag, to + slo, to + flo, to + llo);
+            readCommonLayoutTables(tableTag, to + slo, to + flo, to + llo);
             GlyphPositioningTable gpos;
             if ((gpos = constructGPOS()) != null) {
                 this.gpos = gpos;
@@ -3519,7 +3519,7 @@ public final class OTFAdvancedTypographicTableReader {
         List subtables;
         if ((subtables = constructGDEFSubtables()) != null) {
             if (subtables.size() > 0) {
-                gdef = new GlyphDefinitionTable (subtables);
+                gdef = new GlyphDefinitionTable(subtables);
             }
         }
         resetATState();
@@ -3538,7 +3538,7 @@ public final class OTFAdvancedTypographicTableReader {
             List subtables;
             if ((subtables = constructGSUBSubtables()) != null) {
                 if ((lookups.size() > 0) && (subtables.size() > 0)) {
-                    gsub = new GlyphSubstitutionTable (gdef, lookups, subtables);
+                    gsub = new GlyphSubstitutionTable(gdef, lookups, subtables);
                 }
             }
         }
@@ -3558,7 +3558,7 @@ public final class OTFAdvancedTypographicTableReader {
             List subtables;
             if ((subtables = constructGPOSSubtables()) != null) {
                 if ((lookups.size() > 0) && (subtables.size() > 0)) {
-                    gpos = new GlyphPositioningTable (gdef, lookups, subtables);
+                    gpos = new GlyphPositioningTable(gdef, lookups, subtables);
                 }
             }
         }
@@ -3566,43 +3566,43 @@ public final class OTFAdvancedTypographicTableReader {
         return gpos;
     }
 
-    private void constructLookupsFeature (Map lookups, String st, String lt, String fid) {
-        Object[] fp = (Object[]) seFeatures.get (fid);
+    private void constructLookupsFeature(Map lookups, String st, String lt, String fid) {
+        Object[] fp = (Object[]) seFeatures.get(fid);
         if (fp != null) {
             assert fp.length == 2;
             String ft = (String) fp[0];                 // feature tag
             List/*<String>*/ lul = (List) fp[1];        // list of lookup table ids
             if ((ft != null) && (lul != null) && (lul.size() > 0)) {
-                GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec (st, lt, ft);
-                lookups.put (ls, lul);
+                GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec(st, lt, ft);
+                lookups.put(ls, lul);
             }
         }
     }
 
-    private void constructLookupsFeatures (Map lookups, String st, String lt, List/*<String>*/ fids) {
+    private void constructLookupsFeatures(Map lookups, String st, String lt, List/*<String>*/ fids) {
         for (Iterator fit = fids.iterator(); fit.hasNext();) {
             String fid = (String) fit.next();
-            constructLookupsFeature (lookups, st, lt, fid);
+            constructLookupsFeature(lookups, st, lt, fid);
         }
     }
 
-    private void constructLookupsLanguage (Map lookups, String st, String lt, Map/*<String,Object[2]>*/ languages) {
-        Object[] lp = (Object[]) languages.get (lt);
+    private void constructLookupsLanguage(Map lookups, String st, String lt, Map/*<String,Object[2]>*/ languages) {
+        Object[] lp = (Object[]) languages.get(lt);
         if (lp != null) {
             assert lp.length == 2;
             if (lp[0] != null) {                      // required feature id
-                constructLookupsFeature (lookups, st, lt, (String) lp[0]);
+                constructLookupsFeature(lookups, st, lt, (String) lp[0]);
             }
             if (lp[1] != null) {                      // non-required features ids
-                constructLookupsFeatures (lookups, st, lt, (List) lp[1]);
+                constructLookupsFeatures(lookups, st, lt, (List) lp[1]);
             }
         }
     }
 
-    private void constructLookupsLanguages (Map lookups, String st, List/*<String>*/ ll, Map/*<String,Object[2]>*/ languages) {
+    private void constructLookupsLanguages(Map lookups, String st, List/*<String>*/ ll, Map/*<String,Object[2]>*/ languages) {
         for (Iterator lit = ll.iterator(); lit.hasNext();) {
             String lt = (String) lit.next();
-            constructLookupsLanguage (lookups, st, lt, languages);
+            constructLookupsLanguage(lookups, st, lt, languages);
         }
     }
 
@@ -3610,15 +3610,15 @@ public final class OTFAdvancedTypographicTableReader {
         Map/*<GlyphTable.LookupSpec,List<String>>*/ lookups = new java.util.LinkedHashMap();
         for (Iterator sit = seScripts.keySet().iterator(); sit.hasNext();) {
             String st = (String) sit.next();
-            Object[] sp = (Object[]) seScripts.get (st);
+            Object[] sp = (Object[]) seScripts.get(st);
             if (sp != null) {
                 assert sp.length == 3;
                 Map/*<String,Object[2]>*/ languages = (Map) sp[2];
                 if (sp[0] != null) {                  // default language
-                    constructLookupsLanguage (lookups, st, (String) sp[0], languages);
+                    constructLookupsLanguage(lookups, st, (String) sp[0], languages);
                 }
                 if (sp[1] != null) {                  // non-default languages
-                    constructLookupsLanguages (lookups, st, (List) sp[1], languages);
+                    constructLookupsLanguages(lookups, st, (List) sp[1], languages);
                 }
             }
         }
@@ -3631,15 +3631,15 @@ public final class OTFAdvancedTypographicTableReader {
             for (Iterator it = seSubtables.iterator(); it.hasNext();) {
                 Object[] stp = (Object[]) it.next();
                 GlyphSubtable st;
-                if ((st = constructGDEFSubtable (stp)) != null) {
-                    subtables.add (st);
+                if ((st = constructGDEFSubtable(stp)) != null) {
+                    subtables.add(st);
                 }
             }
         }
         return subtables;
     }
 
-    private GlyphSubtable constructGDEFSubtable (Object[] stp) {
+    private GlyphSubtable constructGDEFSubtable(Object[] stp) {
         GlyphSubtable st = null;
         assert (stp != null) && (stp.length == 8);
         Integer tt = (Integer) stp[0];          // table type
@@ -3651,12 +3651,12 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphMappingTable mapping = (GlyphMappingTable) stp[6];
         List entries = (List) stp[7];
         if (tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_DEFINITION) {
-            int type = GDEFLookupType.getSubtableType (lt.intValue());
+            int type = GDEFLookupType.getSubtableType(lt.intValue());
             String lid = "lu" + ln.intValue();
             int sequence = sn.intValue();
             int flags = lf.intValue();
             int format = sf.intValue();
-            st = GlyphDefinitionTable.createSubtable (type, lid, sequence, flags, format, mapping, entries);
+            st = GlyphDefinitionTable.createSubtable(type, lid, sequence, flags, format, mapping, entries);
         }
         return st;
     }
@@ -3667,15 +3667,15 @@ public final class OTFAdvancedTypographicTableReader {
             for (Iterator it = seSubtables.iterator(); it.hasNext();) {
                 Object[] stp = (Object[]) it.next();
                 GlyphSubtable st;
-                if ((st = constructGSUBSubtable (stp)) != null) {
-                    subtables.add (st);
+                if ((st = constructGSUBSubtable(stp)) != null) {
+                    subtables.add(st);
                 }
             }
         }
         return subtables;
     }
 
-    private GlyphSubtable constructGSUBSubtable (Object[] stp) {
+    private GlyphSubtable constructGSUBSubtable(Object[] stp) {
         GlyphSubtable st = null;
         assert (stp != null) && (stp.length == 8);
         Integer tt = (Integer) stp[0];          // table type
@@ -3687,12 +3687,12 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6];
         List entries = (List) stp[7];
         if (tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_SUBSTITUTION) {
-            int type = GSUBLookupType.getSubtableType (lt.intValue());
+            int type = GSUBLookupType.getSubtableType(lt.intValue());
             String lid = "lu" + ln.intValue();
             int sequence = sn.intValue();
             int flags = lf.intValue();
             int format = sf.intValue();
-            st = GlyphSubstitutionTable.createSubtable (type, lid, sequence, flags, format, coverage, entries);
+            st = GlyphSubstitutionTable.createSubtable(type, lid, sequence, flags, format, coverage, entries);
         }
         return st;
     }
@@ -3703,15 +3703,15 @@ public final class OTFAdvancedTypographicTableReader {
             for (Iterator it = seSubtables.iterator(); it.hasNext();) {
                 Object[] stp = (Object[]) it.next();
                 GlyphSubtable st;
-                if ((st = constructGPOSSubtable (stp)) != null) {
-                    subtables.add (st);
+                if ((st = constructGPOSSubtable(stp)) != null) {
+                    subtables.add(st);
                 }
             }
         }
         return subtables;
     }
 
-    private GlyphSubtable constructGPOSSubtable (Object[] stp) {
+    private GlyphSubtable constructGPOSSubtable(Object[] stp) {
         GlyphSubtable st = null;
         assert (stp != null) && (stp.length == 8);
         Integer tt = (Integer) stp[0];          // table type
@@ -3723,12 +3723,12 @@ public final class OTFAdvancedTypographicTableReader {
         GlyphCoverageTable coverage = (GlyphCoverageTable) stp[6];
         List entries = (List) stp[7];
         if (tt.intValue() == GlyphTable.GLYPH_TABLE_TYPE_POSITIONING) {
-            int type = GSUBLookupType.getSubtableType (lt.intValue());
+            int type = GSUBLookupType.getSubtableType(lt.intValue());
             String lid = "lu" + ln.intValue();
             int sequence = sn.intValue();
             int flags = lf.intValue();
             int format = sf.intValue();
-            st = GlyphPositioningTable.createSubtable (type, lid, sequence, flags, format, coverage, entries);
+            st = GlyphPositioningTable.createSubtable(type, lid, sequence, flags, format, coverage, entries);
         }
         return st;
     }
@@ -3754,17 +3754,17 @@ public final class OTFAdvancedTypographicTableReader {
         seEntries = new java.util.ArrayList();
     }
 
-    private void extractSESubState (int tableType, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, int subtableFormat) {
+    private void extractSESubState(int tableType, int lookupType, int lookupFlags, int lookupSequence, int subtableSequence, int subtableFormat) {
         if (seEntries != null) {
             if ((tableType == GlyphTable.GLYPH_TABLE_TYPE_DEFINITION) || (seEntries.size() > 0)) {
                 if (seSubtables != null) {
-                    Integer tt = Integer.valueOf (tableType);
-                    Integer lt = Integer.valueOf (lookupType);
-                    Integer ln = Integer.valueOf (lookupSequence);
-                    Integer lf = Integer.valueOf (lookupFlags);
-                    Integer sn = Integer.valueOf (subtableSequence);
-                    Integer sf = Integer.valueOf (subtableFormat);
-                    seSubtables.add (new Object[] { tt, lt, ln, lf, sn, sf, seMapping, seEntries });
+                    Integer tt = Integer.valueOf(tableType);
+                    Integer lt = Integer.valueOf(lookupType);
+                    Integer ln = Integer.valueOf(lookupSequence);
+                    Integer lf = Integer.valueOf(lookupFlags);
+                    Integer sn = Integer.valueOf(subtableSequence);
+                    Integer sf = Integer.valueOf(subtableFormat);
+                    seSubtables.add(new Object[] { tt, lt, ln, lf, sn, sf, seMapping, seEntries });
                 }
             }
         }
@@ -3783,19 +3783,19 @@ public final class OTFAdvancedTypographicTableReader {
     }
 
     /** helper method for formatting an integer array for output */
-    private String toString (int[] ia) {
+    private String toString(int[] ia) {
         StringBuffer sb = new StringBuffer();
         if ((ia == null) || (ia.length == 0)) {
-            sb.append ('-');
+            sb.append('-');
         } else {
             boolean first = true;
             for (int i = 0; i < ia.length; i++) {
                 if (! first) {
-                    sb.append (' ');
+                    sb.append(' ');
                 } else {
                     first = false;
                 }
-                sb.append (ia[i]);
+                sb.append(ia[i]);
             }
         }
         return sb.toString();
index 927d6c8546d1c149e9f5f79cd364c368273ced89..890036650ef01800657b8d9a9590aae9ae54f590 100644 (file)
@@ -44,7 +44,7 @@ public interface Positionable {
      * @return array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
      * with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies
      */
-    int[][] performPositioning (CharSequence cs, String script, String language, int fontSize);
+    int[][] performPositioning(CharSequence cs, String script, String language, int fontSize);
 
     /**
      * Perform glyph positioning using an implied font size.
@@ -54,6 +54,6 @@ public interface Positionable {
      * @return array (sequence) of 4-tuples of placement [PX,PY] and advance [AX,AY] adjustments, in that order,
      * with one 4-tuple for each element of glyph sequence, or null if no non-zero adjustment applies
      */
-    int[][] performPositioning (CharSequence cs, String script, String language);
+    int[][] performPositioning(CharSequence cs, String script, String language);
 
 }
index 31824ad8ecb2ab7e98edfec01cfed4b13b79ffe6..984af8deac306f6861a0db6861b374f4e86e17bc 100644 (file)
@@ -46,7 +46,7 @@ public interface Substitutable {
      * @return output sequence (represented as a character sequence, where each character in the returned sequence
      * denotes "font characters", i.e., character codes that map directly (1-1) to their associated glyphs
      */
-    CharSequence performSubstitution (CharSequence cs, String script, String language);
+    CharSequence performSubstitution(CharSequence cs, String script, String language);
 
     /**
      * Reorder combining marks in character sequence so that they precede (within the sequence) the base
@@ -59,6 +59,6 @@ public interface Substitutable {
      * @param language a language identifier
      * @return output sequence containing reordered "font characters"
      */
-    CharSequence reorderCombiningMarks (CharSequence cs, int[][] gpa, String script, String language);
+    CharSequence reorderCombiningMarks(CharSequence cs, int[][] gpa, String script, String language);
 
 }
index 740d81335ace6dc103a9a7eb34c81de3981e4547..2a1e55df3409925f71244e8969c17d3e2e23fc7d 100644 (file)
@@ -75,49 +75,49 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
     private static class SubstitutionScriptContextTester implements ScriptContextTester {
         private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
         static {
-            testerMap.put ("fina", new GlyphContextTester() {
-                    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-                        return inFinalContext (script, language, feature, gs, index, flags);
+            testerMap.put("fina", new GlyphContextTester() {
+                    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+                        return inFinalContext(script, language, feature, gs, index, flags);
                     }
                 });
-            testerMap.put ("init", new GlyphContextTester() {
-                    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-                        return inInitialContext (script, language, feature, gs, index, flags);
+            testerMap.put("init", new GlyphContextTester() {
+                    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+                        return inInitialContext(script, language, feature, gs, index, flags);
                     }
                 });
-            testerMap.put ("isol", new GlyphContextTester() {
-                    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-                        return inIsolateContext (script, language, feature, gs, index, flags);
+            testerMap.put("isol", new GlyphContextTester() {
+                    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+                        return inIsolateContext(script, language, feature, gs, index, flags);
                     }
                 });
-            testerMap.put ("liga", new GlyphContextTester() {
-                    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-                        return inLigatureContext (script, language, feature, gs, index, flags);
+            testerMap.put("liga", new GlyphContextTester() {
+                    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+                        return inLigatureContext(script, language, feature, gs, index, flags);
                     }
                 });
-            testerMap.put ("medi", new GlyphContextTester() {
-                    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-                        return inMedialContext (script, language, feature, gs, index, flags);
+            testerMap.put("medi", new GlyphContextTester() {
+                    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+                        return inMedialContext(script, language, feature, gs, index, flags);
                     }
                 });
         }
-        public GlyphContextTester getTester (String feature) {
-            return (GlyphContextTester) testerMap.get (feature);
+        public GlyphContextTester getTester(String feature) {
+            return (GlyphContextTester) testerMap.get(feature);
         }
     }
 
     private static class PositioningScriptContextTester implements ScriptContextTester {
         private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
-        public GlyphContextTester getTester (String feature) {
-            return (GlyphContextTester) testerMap.get (feature);
+        public GlyphContextTester getTester(String feature) {
+            return (GlyphContextTester) testerMap.get(feature);
         }
     }
 
     private final ScriptContextTester subContextTester;
     private final ScriptContextTester posContextTester;
 
-    ArabicScriptProcessor (String script) {
-        super (script);
+    ArabicScriptProcessor(String script) {
+        super(script);
         this.subContextTester = new SubstitutionScriptContextTester();
         this.posContextTester = new PositioningScriptContextTester();
     }
@@ -144,26 +144,26 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
 
     /** {@inheritDoc} */
     @Override
-    public GlyphSequence reorderCombiningMarks (GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
+    public GlyphSequence reorderCombiningMarks(GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
         // a side effect of BIDI reordering is to order combining marks before their base, so we need to override the default here to
         // prevent double reordering
         return gs;
     }
 
-    private static boolean inFinalContext (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (index);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean inFinalContext(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(index);
+        int[] ca = gs.getCharacterArray(false);
         int   nc = gs.getCharacterCount();
         if (nc == 0) {
             return false;
         } else {
             int s = a.getStart();
             int e = a.getEnd();
-            if (! hasFinalPrecedingContext (ca, nc, s, e)) {
+            if (! hasFinalPrecedingContext(ca, nc, s, e)) {
                 return false;
-            } else if (forcesFinalThisContext (ca, nc, s, e)) {
+            } else if (forcesFinalThisContext(ca, nc, s, e)) {
                 return true;
-            } else if (! hasFinalFollowingContext (ca, nc, s, e)) {
+            } else if (! hasFinalFollowingContext(ca, nc, s, e)) {
                 return false;
             } else {
                 return true;
@@ -171,18 +171,18 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
     }
 
-    private static boolean inInitialContext (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (index);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean inInitialContext(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(index);
+        int[] ca = gs.getCharacterArray(false);
         int   nc = gs.getCharacterCount();
         if (nc == 0) {
             return false;
         } else {
             int s = a.getStart();
             int e = a.getEnd();
-            if (! hasInitialPrecedingContext (ca, nc, s, e)) {
+            if (! hasInitialPrecedingContext(ca, nc, s, e)) {
                 return false;
-            } else if (! hasInitialFollowingContext (ca, nc, s, e)) {
+            } else if (! hasInitialFollowingContext(ca, nc, s, e)) {
                 return false;
             } else {
                 return true;
@@ -190,8 +190,8 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
     }
 
-    private static boolean inIsolateContext (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (index);
+    private static boolean inIsolateContext(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(index);
         int   nc = gs.getCharacterCount();
         if (nc == 0) {
             return false;
@@ -202,18 +202,18 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
     }
 
-    private static boolean inLigatureContext (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (index);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean inLigatureContext(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(index);
+        int[] ca = gs.getCharacterArray(false);
         int   nc = gs.getCharacterCount();
         if (nc == 0) {
             return false;
         } else {
             int s = a.getStart();
             int e = a.getEnd();
-            if (! hasLigaturePrecedingContext (ca, nc, s, e)) {
+            if (! hasLigaturePrecedingContext(ca, nc, s, e)) {
                 return false;
-            } else if (! hasLigatureFollowingContext (ca, nc, s, e)) {
+            } else if (! hasLigatureFollowingContext(ca, nc, s, e)) {
                 return false;
             } else {
                 return true;
@@ -221,20 +221,20 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
     }
 
-    private static boolean inMedialContext (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (index);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean inMedialContext(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(index);
+        int[] ca = gs.getCharacterArray(false);
         int   nc = gs.getCharacterCount();
         if (nc == 0) {
             return false;
         } else {
             int s = a.getStart();
             int e = a.getEnd();
-            if (! hasMedialPrecedingContext (ca, nc, s, e)) {
+            if (! hasMedialPrecedingContext(ca, nc, s, e)) {
                 return false;
-            } else if (! hasMedialThisContext (ca, nc, s, e)) {
+            } else if (! hasMedialThisContext(ca, nc, s, e)) {
                 return false;
-            } else if (! hasMedialFollowingContext (ca, nc, s, e)) {
+            } else if (! hasMedialFollowingContext(ca, nc, s, e)) {
                 return false;
             } else {
                 return true;
@@ -242,14 +242,14 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
     }
 
-    private static boolean hasFinalPrecedingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasFinalPrecedingContext(int[] ca, int nc, int s, int e) {
         int chp = 0;
         int clp = 0;
         for (int i = s; i > 0; i--) {
             int k = i - 1;
             if ((k >= 0) && (k < nc)) {
                 chp = ca [ k ];
-                clp = BidiClass.getBidiClass (chp);
+                clp = BidiClass.getBidiClass(chp);
                 if (clp != BidiConstants.NSM) {
                     break;
                 }
@@ -257,14 +257,14 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
         if (clp != BidiConstants.AL) {
             return false;
-        } else if (hasIsolateInitial (chp)) {
+        } else if (hasIsolateInitial(chp)) {
             return false;
         } else {
             return true;
         }
     }
 
-    private static boolean forcesFinalThisContext (int[] ca, int nc, int s, int e) {
+    private static boolean forcesFinalThisContext(int[] ca, int nc, int s, int e) {
         int chl = 0;
         int cll = 0;
         for (int i = 0, n = e - s; i < n; i++) {
@@ -272,7 +272,7 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
             int j = s + k;
             if ((j >= 0) && (j < nc)) {
                 chl = ca [ j ];
-                cll = BidiClass.getBidiClass (chl);
+                cll = BidiClass.getBidiClass(chl);
                 if (cll != BidiConstants.NSM) {
                     break;
                 }
@@ -281,40 +281,40 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         if (cll != BidiConstants.AL) {
             return false;
         }
-        if (hasIsolateInitial (chl)) {
+        if (hasIsolateInitial(chl)) {
             return true;
         } else {
             return false;
         }
     }
 
-    private static boolean hasFinalFollowingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasFinalFollowingContext(int[] ca, int nc, int s, int e) {
         int chf = 0;
         int clf = 0;
         for (int i = e, n = nc; i < n; i++) {
             chf = ca [ i ];
-            clf = BidiClass.getBidiClass (chf);
+            clf = BidiClass.getBidiClass(chf);
             if (clf != BidiConstants.NSM) {
                 break;
             }
         }
         if (clf != BidiConstants.AL) {
             return true;
-        } else if (hasIsolateFinal (chf)) {
+        } else if (hasIsolateFinal(chf)) {
             return true;
         } else {
             return false;
         }
     }
 
-    private static boolean hasInitialPrecedingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasInitialPrecedingContext(int[] ca, int nc, int s, int e) {
         int chp = 0;
         int clp = 0;
         for (int i = s; i > 0; i--) {
             int k = i - 1;
             if ((k >= 0) && (k < nc)) {
                 chp = ca [ k ];
-                clp = BidiClass.getBidiClass (chp);
+                clp = BidiClass.getBidiClass(chp);
                 if (clp != BidiConstants.NSM) {
                     break;
                 }
@@ -322,40 +322,40 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
         if (clp != BidiConstants.AL) {
             return true;
-        } else if (hasIsolateInitial (chp)) {
+        } else if (hasIsolateInitial(chp)) {
             return true;
         } else {
             return false;
         }
     }
 
-    private static boolean hasInitialFollowingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasInitialFollowingContext(int[] ca, int nc, int s, int e) {
         int chf = 0;
         int clf = 0;
         for (int i = e, n = nc; i < n; i++) {
             chf = ca [ i ];
-            clf = BidiClass.getBidiClass (chf);
+            clf = BidiClass.getBidiClass(chf);
             if (clf != BidiConstants.NSM) {
                 break;
             }
         }
         if (clf != BidiConstants.AL) {
             return false;
-        } else if (hasIsolateFinal (chf)) {
+        } else if (hasIsolateFinal(chf)) {
             return false;
         } else {
             return true;
         }
     }
 
-    private static boolean hasMedialPrecedingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasMedialPrecedingContext(int[] ca, int nc, int s, int e) {
         int chp = 0;
         int clp = 0;
         for (int i = s; i > 0; i--) {
             int k = i - 1;
             if ((k >= 0) && (k < nc)) {
                 chp = ca [ k ];
-                clp = BidiClass.getBidiClass (chp);
+                clp = BidiClass.getBidiClass(chp);
                 if (clp != BidiConstants.NSM) {
                     break;
                 }
@@ -363,21 +363,21 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         }
         if (clp != BidiConstants.AL) {
             return false;
-        } else if (hasIsolateInitial (chp)) {
+        } else if (hasIsolateInitial(chp)) {
             return false;
         } else {
             return true;
         }
     }
 
-    private static boolean hasMedialThisContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasMedialThisContext(int[] ca, int nc, int s, int e) {
         int chf = 0;    // first non-NSM char in [s,e)
         int clf = 0;
         for (int i = 0, n = e - s; i < n; i++) {
             int k = s + i;
             if ((k >= 0) && (k < nc)) {
                 chf = ca [ s + i ];
-                clf = BidiClass.getBidiClass (chf);
+                clf = BidiClass.getBidiClass(chf);
                 if (clf != BidiConstants.NSM) {
                     break;
                 }
@@ -393,7 +393,7 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
             int j = s + k;
             if ((j >= 0) && (j < nc)) {
                 chl = ca [ j ];
-                cll = BidiClass.getBidiClass (chl);
+                cll = BidiClass.getBidiClass(chl);
                 if (cll != BidiConstants.NSM) {
                     break;
                 }
@@ -402,44 +402,44 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         if (cll != BidiConstants.AL) {
             return false;
         }
-        if (hasIsolateFinal (chf)) {
+        if (hasIsolateFinal(chf)) {
             return false;
-        } else if (hasIsolateInitial (chl)) {
+        } else if (hasIsolateInitial(chl)) {
             return false;
         } else {
             return true;
         }
     }
 
-    private static boolean hasMedialFollowingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasMedialFollowingContext(int[] ca, int nc, int s, int e) {
         int chf = 0;
         int clf = 0;
         for (int i = e, n = nc; i < n; i++) {
             chf = ca [ i ];
-            clf = BidiClass.getBidiClass (chf);
+            clf = BidiClass.getBidiClass(chf);
             if (clf != BidiConstants.NSM) {
                 break;
             }
         }
         if (clf != BidiConstants.AL) {
             return false;
-        } else if (hasIsolateFinal (chf)) {
+        } else if (hasIsolateFinal(chf)) {
             return false;
         } else {
             return true;
         }
     }
 
-    private static boolean hasLigaturePrecedingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasLigaturePrecedingContext(int[] ca, int nc, int s, int e) {
         return true;
     }
 
-    private static boolean hasLigatureFollowingContext (int[] ca, int nc, int s, int e) {
+    private static boolean hasLigatureFollowingContext(int[] ca, int nc, int s, int e) {
         int chf = 0;
         int clf = 0;
         for (int i = e, n = nc; i < n; i++) {
             chf = ca [ i ];
-            clf = BidiClass.getBidiClass (chf);
+            clf = BidiClass.getBidiClass(chf);
             if (clf != BidiConstants.NSM) {
                 break;
             }
@@ -504,8 +504,8 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         0x06EF  // REH WITH INVERTED V
     };
 
-    private static boolean hasIsolateInitial (int ch) {
-        return Arrays.binarySearch (isolatedInitials, ch) >= 0;
+    private static boolean hasIsolateInitial(int ch) {
+        return Arrays.binarySearch(isolatedInitials, ch) >= 0;
     }
 
     /**
@@ -516,8 +516,8 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor {
         0x0621  // HAMZA
     };
 
-    private static boolean hasIsolateFinal (int ch) {
-        return Arrays.binarySearch (isolatedFinals, ch) >= 0;
+    private static boolean hasIsolateFinal(int ch) {
+        return Arrays.binarySearch(isolatedFinals, ch) >= 0;
     }
 
 }
index 5f49990acc8c3a6f9c2c2e779d92549baa25cfb6..1dff3d8c4d8a3276abfcb8c6fd78a01d8e1d37a8 100644 (file)
@@ -49,8 +49,8 @@ public class DefaultScriptProcessor extends ScriptProcessor {
         "mkmk"                                                  // mark to mark positioning
     };
 
-    DefaultScriptProcessor (String script) {
-        super (script);
+    DefaultScriptProcessor(String script) {
+        super(script);
     }
 
     @Override
@@ -79,20 +79,20 @@ public class DefaultScriptProcessor extends ScriptProcessor {
 
     @Override
     /** {@inheritDoc} */
-    public GlyphSequence reorderCombiningMarks (GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
+    public GlyphSequence reorderCombiningMarks(GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
         int   ng  = gs.getGlyphCount();
-        int[] ga  = gs.getGlyphArray (false);
+        int[] ga  = gs.getGlyphArray(false);
         int   nm  = 0;
         // count combining marks
         for (int i = 0; i < ng; i++) {
             int gid = ga [ i ];
-            if (gdef.isGlyphClass (gid, GlyphDefinitionTable.GLYPH_CLASS_MARK)) {
+            if (gdef.isGlyphClass(gid, GlyphDefinitionTable.GLYPH_CLASS_MARK)) {
                 nm++;
             }
         }
         // only reorder if there is at least one mark and at least one non-mark glyph
         if ((nm > 0) && ((ng - nm) > 0)) {
-            GlyphSequence.CharAssociation[] aa = gs.getAssociations (0, -1);
+            GlyphSequence.CharAssociation[] aa = gs.getAssociations(0, -1);
             int[] nga = new int [ ng ];
             int[][] npa = (gpa != null) ? new int [ ng ][] : null;
             GlyphSequence.CharAssociation[] naa = new GlyphSequence.CharAssociation [ ng ];
@@ -104,7 +104,7 @@ public class DefaultScriptProcessor extends ScriptProcessor {
                 int gid = ga [ i ];
                 int[] pa = (gpa != null) ? gpa [ i ] : null;
                 GlyphSequence.CharAssociation ca = aa [ i ];
-                if (gdef.isGlyphClass (gid, GlyphDefinitionTable.GLYPH_CLASS_MARK)) {
+                if (gdef.isGlyphClass(gid, GlyphDefinitionTable.GLYPH_CLASS_MARK)) {
                     nga [ k ] = gid;
                     naa [ k ] = ca;
                     if (npa != null) {
@@ -140,9 +140,9 @@ public class DefaultScriptProcessor extends ScriptProcessor {
             }
             assert k == ng;
             if (npa != null) {
-                System.arraycopy (npa, 0, gpa, 0, ng);
+                System.arraycopy(npa, 0, gpa, 0, ng);
             }
-            return new GlyphSequence (gs, null, nga, null, null, naa, null);
+            return new GlyphSequence(gs, null, nga, null, null, naa, null);
         } else {
             return gs;
         }
index 171f52d8b83aa7621793bd3d45ffd34407c08eac..d392613169d94f937f8191da9a05cdefb938f64b 100644 (file)
@@ -42,8 +42,8 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
     /** logging instance */
     private static final Log log = LogFactory.getLog(DevanagariScriptProcessor.class);                                  // CSOK: ConstantNameCheck
 
-    DevanagariScriptProcessor (String script) {
-        super (script);
+    DevanagariScriptProcessor(String script) {
+        super(script);
     }
 
     @Override
@@ -53,12 +53,12 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find rightmost pre-base matra
-    protected int findPreBaseMatra (GlyphSequence gs) {
+    protected int findPreBaseMatra(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = ng; i > 0; i--) {
             int k = i - 1;
-            if (containsPreBaseMatra (gs, k)) {
+            if (containsPreBaseMatra(gs, k)) {
                 lk = k;
                 break;
             }
@@ -68,13 +68,13 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find leftmost pre-base matra target, starting from source
-    protected int findPreBaseMatraTarget (GlyphSequence gs, int source) {
+    protected int findPreBaseMatraTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = (source < ng) ? source : ng; i > 0; i--) {
             int k = i - 1;
-            if (containsConsonant (gs, k)) {
-                if (containsHalfConsonant (gs, k)) {
+            if (containsConsonant(gs, k)) {
+                if (containsHalfConsonant(gs, k)) {
                     lk = k;
                 } else if (lk == -1) {
                     lk = k;
@@ -86,39 +86,39 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         return lk;
     }
 
-    private static boolean containsPreBaseMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsPreBaseMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isPreM (ca [ i ])) {
+            if (isPreM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsConsonant (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsConsonant(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isC (ca [ i ])) {
+            if (isC(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsHalfConsonant (GlyphSequence gs, int k) {
-        Boolean half = (Boolean) gs.getAssociation (k) . getPredication ("half");
+    private static boolean containsHalfConsonant(GlyphSequence gs, int k) {
+        Boolean half = (Boolean) gs.getAssociation(k) . getPredication("half");
         return (half != null) ? half.booleanValue() : false;
     }
 
     @Override
-    protected int findReph (GlyphSequence gs) {
+    protected int findReph(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   li = -1;
         for (int i = 0; i < ng; i++) {
-            if (containsReph (gs, i)) {
+            if (containsReph(gs, i)) {
                 li = i;
                 break;
             }
@@ -127,14 +127,14 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
     }
 
     @Override
-    protected int findRephTarget (GlyphSequence gs, int source) {
+    protected int findRephTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   c1 = -1;
         int   c2 = -1;
         // first candidate target is after first non-half consonant
         for (int i = 0; i < ng; i++) {
-            if ((i != source) && containsConsonant (gs, i)) {
-                if (! containsHalfConsonant (gs, i)) {
+            if ((i != source) && containsConsonant(gs, i)) {
+                if (! containsHalfConsonant(gs, i)) {
                     c1 = i + 1;
                     break;
                 }
@@ -142,9 +142,9 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         }
         // second candidate target is after last non-prebase matra after first candidate or before first syllable or vedic mark
         for (int i = (c1 >= 0) ? c1 : 0; i < ng; i++) {
-            if (containsMatra (gs, i) && ! containsPreBaseMatra (gs, i)) {
+            if (containsMatra(gs, i) && ! containsPreBaseMatra(gs, i)) {
                 c2 = i + 1;
-            } else if (containsOtherMark (gs, i)) {
+            } else if (containsOtherMark(gs, i)) {
                 c2 = i;
                 break;
             }
@@ -158,27 +158,27 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         }
     }
 
-    private static boolean containsReph (GlyphSequence gs, int k) {
-        Boolean rphf = (Boolean) gs.getAssociation (k) . getPredication ("rphf");
+    private static boolean containsReph(GlyphSequence gs, int k) {
+        Boolean rphf = (Boolean) gs.getAssociation(k) . getPredication("rphf");
         return (rphf != null) ? rphf.booleanValue() : false;
     }
 
-    private static boolean containsMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isM (ca [ i ])) {
+            if (isM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsOtherMark (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsOtherMark(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            switch (typeOf (ca [ i ])) {
+            switch (typeOf(ca [ i ])) {
             case C_T:   // tone (e.g., udatta, anudatta)
             case C_A:   // accent (e.g., acute, grave)
             case C_O:   // other (e.g., candrabindu, anusvara, visarga, etc)
@@ -191,18 +191,18 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
     }
 
     private static class DevanagariSyllabizer extends DefaultSyllabizer {
-        DevanagariSyllabizer (String script, String language) {
-            super (script, language);
+        DevanagariSyllabizer(String script, String language) {
+            super(script, language);
         }
         @Override
         // | C ...
-        protected int findStartOfSyllable (int[] ca, int s, int e) {
+        protected int findStartOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
                 while (s < e) {
                     int c = ca [ s ];
-                    if (isC (c)) {
+                    if (isC(c)) {
                         break;
                     } else {
                         s++;
@@ -213,7 +213,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         }
         @Override
         // D* L? | ...
-        protected int findEndOfSyllable (int[] ca, int s, int e) {
+        protected int findEndOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
@@ -221,12 +221,12 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                 int nl = 0;
                 int i;
                 // consume dead consonants
-                while ((i = isDeadConsonant (ca, s, e)) > s) {
+                while ((i = isDeadConsonant(ca, s, e)) > s) {
                     s = i;
                     nd++;
                 }
                 // consume zero or one live consonant
-                if ((i = isLiveConsonant (ca, s, e)) > s) {
+                if ((i = isLiveConsonant(ca, s, e)) > s) {
                     s = i;
                     nl++;
                 }
@@ -234,7 +234,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
             }
         }
         // D := ( C N? H )?
-        private int isDeadConsonant (int[] ca, int s, int e) {
+        private int isDeadConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -246,7 +246,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
                         } else {
@@ -256,14 +256,14 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + 1 ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // H
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             i++;
                             nh++;
                         } else {
@@ -275,7 +275,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
             }
         }
         // L := ( (C|V) N? X* )?; where X = ( MATRA | ACCENT MARK | TONE MARK | OTHER MARK )
-        private int isLiveConsonant (int[] ca, int s, int e) {
+        private int isLiveConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -288,10 +288,10 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
-                        } else if (isV (c)) {
+                        } else if (isV(c)) {
                             i++;
                             nv++;
                         } else {
@@ -301,14 +301,14 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // X*
                     while ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isX (c)) {
+                        if (isX(c)) {
                             i++;
                             nx++;
                         } else {
@@ -320,7 +320,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
                 if (nx == 0) {
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             if (nc > 0) {
                                 nc--;
                             } else if (nv > 0) {
@@ -493,7 +493,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         }
     }
     static boolean isType(int c, int t) {
-        return typeOf (c) == t;
+        return typeOf(c) == t;
     }
     static boolean hasFlag(int c, int f) {
         if ((c >= ccaStart) && (c < ccaEnd)) {
@@ -524,7 +524,7 @@ public class DevanagariScriptProcessor extends IndicScriptProcessor {
         return isType(c,C_M) && hasFlag(c,C_PRE);
     }
     static boolean isX(int c) {
-        switch (typeOf (c)) {
+        switch (typeOf(c)) {
         case C_M: // matra (combining vowel)
         case C_A: // accent mark
         case C_T: // tone mark
index 937cc22881a4e405edce49741ff790f5a81b20f0..aaf0290e82e713af9ace67e2a2c14c12c87bc184 100644 (file)
@@ -42,8 +42,8 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
     /** logging instance */
     private static final Log log = LogFactory.getLog(GujaratiScriptProcessor.class);                                  // CSOK: ConstantNameCheck
 
-    GujaratiScriptProcessor (String script) {
-        super (script);
+    GujaratiScriptProcessor(String script) {
+        super(script);
     }
 
     @Override
@@ -53,12 +53,12 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find rightmost pre-base matra
-    protected int findPreBaseMatra (GlyphSequence gs) {
+    protected int findPreBaseMatra(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = ng; i > 0; i--) {
             int k = i - 1;
-            if (containsPreBaseMatra (gs, k)) {
+            if (containsPreBaseMatra(gs, k)) {
                 lk = k;
                 break;
             }
@@ -68,13 +68,13 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find leftmost pre-base matra target, starting from source
-    protected int findPreBaseMatraTarget (GlyphSequence gs, int source) {
+    protected int findPreBaseMatraTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = (source < ng) ? source : ng; i > 0; i--) {
             int k = i - 1;
-            if (containsConsonant (gs, k)) {
-                if (containsHalfConsonant (gs, k)) {
+            if (containsConsonant(gs, k)) {
+                if (containsHalfConsonant(gs, k)) {
                     lk = k;
                 } else if (lk == -1) {
                     lk = k;
@@ -86,39 +86,39 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         return lk;
     }
 
-    private static boolean containsPreBaseMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsPreBaseMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isPreM (ca [ i ])) {
+            if (isPreM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsConsonant (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsConsonant(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isC (ca [ i ])) {
+            if (isC(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsHalfConsonant (GlyphSequence gs, int k) {
-        Boolean half = (Boolean) gs.getAssociation (k) . getPredication ("half");
+    private static boolean containsHalfConsonant(GlyphSequence gs, int k) {
+        Boolean half = (Boolean) gs.getAssociation(k) . getPredication("half");
         return (half != null) ? half.booleanValue() : false;
     }
 
     @Override
-    protected int findReph (GlyphSequence gs) {
+    protected int findReph(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   li = -1;
         for (int i = 0; i < ng; i++) {
-            if (containsReph (gs, i)) {
+            if (containsReph(gs, i)) {
                 li = i;
                 break;
             }
@@ -127,14 +127,14 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
     }
 
     @Override
-    protected int findRephTarget (GlyphSequence gs, int source) {
+    protected int findRephTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   c1 = -1;
         int   c2 = -1;
         // first candidate target is after first non-half consonant
         for (int i = 0; i < ng; i++) {
-            if ((i != source) && containsConsonant (gs, i)) {
-                if (! containsHalfConsonant (gs, i)) {
+            if ((i != source) && containsConsonant(gs, i)) {
+                if (! containsHalfConsonant(gs, i)) {
                     c1 = i + 1;
                     break;
                 }
@@ -142,9 +142,9 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         }
         // second candidate target is after last non-prebase matra after first candidate or before first syllable or vedic mark
         for (int i = (c1 >= 0) ? c1 : 0; i < ng; i++) {
-            if (containsMatra (gs, i) && ! containsPreBaseMatra (gs, i)) {
+            if (containsMatra(gs, i) && ! containsPreBaseMatra(gs, i)) {
                 c2 = i + 1;
-            } else if (containsOtherMark (gs, i)) {
+            } else if (containsOtherMark(gs, i)) {
                 c2 = i;
                 break;
             }
@@ -158,27 +158,27 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         }
     }
 
-    private static boolean containsReph (GlyphSequence gs, int k) {
-        Boolean rphf = (Boolean) gs.getAssociation (k) . getPredication ("rphf");
+    private static boolean containsReph(GlyphSequence gs, int k) {
+        Boolean rphf = (Boolean) gs.getAssociation(k) . getPredication("rphf");
         return (rphf != null) ? rphf.booleanValue() : false;
     }
 
-    private static boolean containsMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isM (ca [ i ])) {
+            if (isM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsOtherMark (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsOtherMark(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            switch (typeOf (ca [ i ])) {
+            switch (typeOf(ca [ i ])) {
             case C_T:   // tone (e.g., udatta, anudatta)
             case C_A:   // accent (e.g., acute, grave)
             case C_O:   // other (e.g., candrabindu, anusvara, visarga, etc)
@@ -191,18 +191,18 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
     }
 
     private static class GujaratiSyllabizer extends DefaultSyllabizer {
-        GujaratiSyllabizer (String script, String language) {
-            super (script, language);
+        GujaratiSyllabizer(String script, String language) {
+            super(script, language);
         }
         @Override
         // | C ...
-        protected int findStartOfSyllable (int[] ca, int s, int e) {
+        protected int findStartOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
                 while (s < e) {
                     int c = ca [ s ];
-                    if (isC (c)) {
+                    if (isC(c)) {
                         break;
                     } else {
                         s++;
@@ -213,7 +213,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         }
         @Override
         // D* L? | ...
-        protected int findEndOfSyllable (int[] ca, int s, int e) {
+        protected int findEndOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
@@ -221,12 +221,12 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                 int nl = 0;
                 int i;
                 // consume dead consonants
-                while ((i = isDeadConsonant (ca, s, e)) > s) {
+                while ((i = isDeadConsonant(ca, s, e)) > s) {
                     s = i;
                     nd++;
                 }
                 // consume zero or one live consonant
-                if ((i = isLiveConsonant (ca, s, e)) > s) {
+                if ((i = isLiveConsonant(ca, s, e)) > s) {
                     s = i;
                     nl++;
                 }
@@ -234,7 +234,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
             }
         }
         // D := ( C N? H )?
-        private int isDeadConsonant (int[] ca, int s, int e) {
+        private int isDeadConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -246,7 +246,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
                         } else {
@@ -256,14 +256,14 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + 1 ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // H
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             i++;
                             nh++;
                         } else {
@@ -275,7 +275,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
             }
         }
         // L := ( (C|V) N? X* )?; where X = ( MATRA | ACCENT MARK | TONE MARK | OTHER MARK )
-        private int isLiveConsonant (int[] ca, int s, int e) {
+        private int isLiveConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -288,10 +288,10 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
-                        } else if (isV (c)) {
+                        } else if (isV(c)) {
                             i++;
                             nv++;
                         } else {
@@ -301,14 +301,14 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // X*
                     while ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isX (c)) {
+                        if (isX(c)) {
                             i++;
                             nx++;
                         } else {
@@ -320,7 +320,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
                 if (nx == 0) {
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             if (nc > 0) {
                                 nc--;
                             } else if (nv > 0) {
@@ -493,7 +493,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         }
     }
     static boolean isType(int c, int t) {
-        return typeOf (c) == t;
+        return typeOf(c) == t;
     }
     static boolean hasFlag(int c, int f) {
         if ((c >= ccaStart) && (c < ccaEnd)) {
@@ -524,7 +524,7 @@ public class GujaratiScriptProcessor extends IndicScriptProcessor {
         return isType(c,C_M) && hasFlag(c,C_PRE);
     }
     static boolean isX(int c) {
-        switch (typeOf (c)) {
+        switch (typeOf(c)) {
         case C_M: // matra (combining vowel)
         case C_A: // accent mark
         case C_T: // tone mark
index 2da6325743b53180b079f29137730fa441106418..5c41951cf3a63e6764ef76545677a707e586ff8f 100644 (file)
@@ -43,8 +43,8 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
     /** logging instance */
     private static final Log log = LogFactory.getLog(GurmukhiScriptProcessor.class);                                  // CSOK: ConstantNameCheck
 
-    GurmukhiScriptProcessor (String script) {
-        super (script);
+    GurmukhiScriptProcessor(String script) {
+        super(script);
     }
 
     @Override
@@ -54,12 +54,12 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find rightmost pre-base matra
-    protected int findPreBaseMatra (GlyphSequence gs) {
+    protected int findPreBaseMatra(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = ng; i > 0; i--) {
             int k = i - 1;
-            if (containsPreBaseMatra (gs, k)) {
+            if (containsPreBaseMatra(gs, k)) {
                 lk = k;
                 break;
             }
@@ -69,13 +69,13 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
 
     @Override
     // find leftmost pre-base matra target, starting from source
-    protected int findPreBaseMatraTarget (GlyphSequence gs, int source) {
+    protected int findPreBaseMatraTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   lk = -1;
         for (int i = (source < ng) ? source : ng; i > 0; i--) {
             int k = i - 1;
-            if (containsConsonant (gs, k)) {
-                if (containsHalfConsonant (gs, k)) {
+            if (containsConsonant(gs, k)) {
+                if (containsHalfConsonant(gs, k)) {
                     lk = k;
                 } else if (lk == -1) {
                     lk = k;
@@ -87,39 +87,39 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         return lk;
     }
 
-    private static boolean containsPreBaseMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsPreBaseMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isPreM (ca [ i ])) {
+            if (isPreM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsConsonant (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsConsonant(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isC (ca [ i ])) {
+            if (isC(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsHalfConsonant (GlyphSequence gs, int k) {
-        Boolean half = (Boolean) gs.getAssociation (k) . getPredication ("half");
+    private static boolean containsHalfConsonant(GlyphSequence gs, int k) {
+        Boolean half = (Boolean) gs.getAssociation(k) . getPredication("half");
         return (half != null) ? half.booleanValue() : false;
     }
 
     @Override
-    protected int findReph (GlyphSequence gs) {
+    protected int findReph(GlyphSequence gs) {
         int   ng = gs.getGlyphCount();
         int   li = -1;
         for (int i = 0; i < ng; i++) {
-            if (containsReph (gs, i)) {
+            if (containsReph(gs, i)) {
                 li = i;
                 break;
             }
@@ -128,14 +128,14 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
     }
 
     @Override
-    protected int findRephTarget (GlyphSequence gs, int source) {
+    protected int findRephTarget(GlyphSequence gs, int source) {
         int   ng = gs.getGlyphCount();
         int   c1 = -1;
         int   c2 = -1;
         // first candidate target is after first non-half consonant
         for (int i = 0; i < ng; i++) {
-            if ((i != source) && containsConsonant (gs, i)) {
-                if (! containsHalfConsonant (gs, i)) {
+            if ((i != source) && containsConsonant(gs, i)) {
+                if (! containsHalfConsonant(gs, i)) {
                     c1 = i + 1;
                     break;
                 }
@@ -143,9 +143,9 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         }
         // second candidate target is after last non-prebase matra after first candidate or before first syllable or vedic mark
         for (int i = (c1 >= 0) ? c1 : 0; i < ng; i++) {
-            if (containsMatra (gs, i) && ! containsPreBaseMatra (gs, i)) {
+            if (containsMatra(gs, i) && ! containsPreBaseMatra(gs, i)) {
                 c2 = i + 1;
-            } else if (containsOtherMark (gs, i)) {
+            } else if (containsOtherMark(gs, i)) {
                 c2 = i;
                 break;
             }
@@ -159,27 +159,27 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         }
     }
 
-    private static boolean containsReph (GlyphSequence gs, int k) {
-        Boolean rphf = (Boolean) gs.getAssociation (k) . getPredication ("rphf");
+    private static boolean containsReph(GlyphSequence gs, int k) {
+        Boolean rphf = (Boolean) gs.getAssociation(k) . getPredication("rphf");
         return (rphf != null) ? rphf.booleanValue() : false;
     }
 
-    private static boolean containsMatra (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsMatra(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            if (isM (ca [ i ])) {
+            if (isM(ca [ i ])) {
                 return true;
             }
         }
         return false;
     }
 
-    private static boolean containsOtherMark (GlyphSequence gs, int k) {
-        GlyphSequence.CharAssociation a = gs.getAssociation (k);
-        int[] ca = gs.getCharacterArray (false);
+    private static boolean containsOtherMark(GlyphSequence gs, int k) {
+        GlyphSequence.CharAssociation a = gs.getAssociation(k);
+        int[] ca = gs.getCharacterArray(false);
         for (int i = a.getStart(), e = a.getEnd(); i < e; i++) {
-            switch (typeOf (ca [ i ])) {
+            switch (typeOf(ca [ i ])) {
             case C_T:   // tone (e.g., udatta, anudatta)
             case C_A:   // accent (e.g., acute, grave)
             case C_O:   // other (e.g., candrabindu, anusvara, visarga, etc)
@@ -192,18 +192,18 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
     }
 
     private static class GurmukhiSyllabizer extends DefaultSyllabizer {
-        GurmukhiSyllabizer (String script, String language) {
-            super (script, language);
+        GurmukhiSyllabizer(String script, String language) {
+            super(script, language);
         }
         @Override
         // | C ...
-        protected int findStartOfSyllable (int[] ca, int s, int e) {
+        protected int findStartOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
                 while (s < e) {
                     int c = ca [ s ];
-                    if (isC (c)) {
+                    if (isC(c)) {
                         break;
                     } else {
                         s++;
@@ -214,7 +214,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         }
         @Override
         // D* L? | ...
-        protected int findEndOfSyllable (int[] ca, int s, int e) {
+        protected int findEndOfSyllable(int[] ca, int s, int e) {
             if ((s < 0) || (s >= e)) {
                 return -1;
             } else {
@@ -222,12 +222,12 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                 int nl = 0;
                 int i;
                 // consume dead consonants
-                while ((i = isDeadConsonant (ca, s, e)) > s) {
+                while ((i = isDeadConsonant(ca, s, e)) > s) {
                     s = i;
                     nd++;
                 }
                 // consume zero or one live consonant
-                if ((i = isLiveConsonant (ca, s, e)) > s) {
+                if ((i = isLiveConsonant(ca, s, e)) > s) {
                     s = i;
                     nl++;
                 }
@@ -235,7 +235,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
             }
         }
         // D := ( C N? H )?
-        private int isDeadConsonant (int[] ca, int s, int e) {
+        private int isDeadConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -247,7 +247,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
                         } else {
@@ -257,14 +257,14 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + 1 ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // H
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             i++;
                             nh++;
                         } else {
@@ -276,7 +276,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
             }
         }
         // L := ( (C|V) N? X* )?; where X = ( MATRA | ACCENT MARK | TONE MARK | OTHER MARK )
-        private int isLiveConsonant (int[] ca, int s, int e) {
+        private int isLiveConsonant(int[] ca, int s, int e) {
             if (s < 0) {
                 return -1;
             } else {
@@ -289,10 +289,10 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                     // C
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isC (c)) {
+                        if (isC(c)) {
                             i++;
                             nc++;
-                        } else if (isV (c)) {
+                        } else if (isV(c)) {
                             i++;
                             nv++;
                         } else {
@@ -302,14 +302,14 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                     // N?
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isN (c)) {
+                        if (isN(c)) {
                             i++;
                         }
                     }
                     // X*
                     while ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isX (c)) {
+                        if (isX(c)) {
                             i++;
                             nx++;
                         } else {
@@ -321,7 +321,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
                 if (nx == 0) {
                     if ((s + i) < e) {
                         c = ca [ s + i ];
-                        if (isH (c)) {
+                        if (isH(c)) {
                             if (nc > 0) {
                                 nc--;
                             } else if (nv > 0) {
@@ -494,7 +494,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         }
     }
     static boolean isType(int c, int t) {
-        return typeOf (c) == t;
+        return typeOf(c) == t;
     }
     static boolean hasFlag(int c, int f) {
         if ((c >= ccaStart) && (c < ccaEnd)) {
@@ -525,7 +525,7 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
         return isType(c,C_M) && hasFlag(c,C_PRE);
     }
     static boolean isX(int c) {
-        switch (typeOf (c)) {
+        switch (typeOf(c)) {
         case C_M: // matra (combining vowel)
         case C_A: // accent mark
         case C_T: // tone mark
@@ -543,8 +543,8 @@ public class GurmukhiScriptProcessor extends IndicScriptProcessor {
     }
 
     @Override
-    public GlyphSequence reorderCombiningMarks (GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
-        return super.reorderCombiningMarks (gdef, gs, gpa, script, language);
+    public GlyphSequence reorderCombiningMarks(GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
+        return super.reorderCombiningMarks(gdef, gs, gpa, script, language);
     }
 
 }
index 3175884cba0ea23a376541eed35a319dcc6ac004..1da3fda42be2fdb42982d0df1e9e8e480ffc447d 100644 (file)
@@ -105,15 +105,15 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
 
     private static class SubstitutionScriptContextTester implements ScriptContextTester {
         private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
-        public GlyphContextTester getTester (String feature) {
-            return (GlyphContextTester) testerMap.get (feature);
+        public GlyphContextTester getTester(String feature) {
+            return (GlyphContextTester) testerMap.get(feature);
         }
     }
 
     private static class PositioningScriptContextTester implements ScriptContextTester {
         private static Map/*<String,GlyphContextTester>*/ testerMap = new HashMap/*<String,GlyphContextTester>*/();
-        public GlyphContextTester getTester (String feature) {
-            return (GlyphContextTester) testerMap.get (feature);
+        public GlyphContextTester getTester(String feature) {
+            return (GlyphContextTester) testerMap.get(feature);
         }
     }
 
@@ -122,28 +122,28 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
      * @param script tag
      * @return script processor instance
      */
-    public static ScriptProcessor makeProcessor (String script) {
-        switch (CharScript.scriptCodeFromTag (script)) {
+    public static ScriptProcessor makeProcessor(String script) {
+        switch (CharScript.scriptCodeFromTag(script)) {
         case CharScript.SCRIPT_DEVANAGARI:
         case CharScript.SCRIPT_DEVANAGARI_2:
-            return new DevanagariScriptProcessor (script);
+            return new DevanagariScriptProcessor(script);
         case CharScript.SCRIPT_GUJARATI:
         case CharScript.SCRIPT_GUJARATI_2:
-            return new GujaratiScriptProcessor (script);
+            return new GujaratiScriptProcessor(script);
         case CharScript.SCRIPT_GURMUKHI:
         case CharScript.SCRIPT_GURMUKHI_2:
-            return new GurmukhiScriptProcessor (script);
+            return new GurmukhiScriptProcessor(script);
         // [TBD] implement other script processors
         default:
-            return new IndicScriptProcessor (script);
+            return new IndicScriptProcessor(script);
         }
     }
 
     private final ScriptContextTester subContextTester;
     private final ScriptContextTester posContextTester;
 
-    IndicScriptProcessor (String script) {
-        super (script);
+    IndicScriptProcessor(String script) {
+        super(script);
         this.subContextTester = new SubstitutionScriptContextTester();
         this.posContextTester = new PositioningScriptContextTester();
     }
@@ -180,38 +180,38 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
 
     /** {@inheritDoc} */
     @Override
-    public GlyphSequence substitute (GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) {
+    public GlyphSequence substitute(GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) {
         assert usa != null;
         // 1. syllabize
-        GlyphSequence[] sa = syllabize (gs, script, language);
+        GlyphSequence[] sa = syllabize(gs, script, language);
         // 2. process each syllable
         for (int i = 0, n = sa.length; i < n; i++) {
             GlyphSequence s = sa [ i ];
             // apply basic shaping subs
             for (int j = 0, m = usa.length; j < m; j++) {
                 GlyphTable.UseSpec us = usa [ j ];
-                if (isBasicShapingUse (us)) {
-                    s.setPredications (true);
-                    s = us.substitute (s, script, language, sct);
+                if (isBasicShapingUse(us)) {
+                    s.setPredications(true);
+                    s = us.substitute(s, script, language, sct);
                 }
             }
             // reorder pre-base matra
-            s = reorderPreBaseMatra (s);
+            s = reorderPreBaseMatra(s);
             // reorder reph
-            s = reorderReph (s);
+            s = reorderReph(s);
             // apply presentation subs
             for (int j = 0, m = usa.length; j < m; j++) {
                 GlyphTable.UseSpec us = usa [ j ];
-                if (isPresentationUse (us)) {
-                    s.setPredications (true);
-                    s = us.substitute (s, script, language, sct);
+                if (isPresentationUse(us)) {
+                    s.setPredications(true);
+                    s = us.substitute(s, script, language, sct);
                 }
             }
             // record result
             sa [ i ] = s;
         }
         // 3. return reassembled substituted syllables
-        return unsyllabize (gs, sa);
+        return unsyllabize(gs, sa);
     }
 
     /**
@@ -222,12 +222,12 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
         return null;
     }
 
-    private GlyphSequence[] syllabize (GlyphSequence gs, String script, String language) {
-        return Syllabizer.getSyllabizer (script, language, getSyllabizerClass()) . syllabize (gs);
+    private GlyphSequence[] syllabize(GlyphSequence gs, String script, String language) {
+        return Syllabizer.getSyllabizer(script, language, getSyllabizerClass()) . syllabize(gs);
     }
 
-    private GlyphSequence unsyllabize (GlyphSequence gs, GlyphSequence[] sa) {
-        return GlyphSequence.join (gs, sa);
+    private GlyphSequence unsyllabize(GlyphSequence gs, GlyphSequence[] sa) {
+        return GlyphSequence.join(gs, sa);
     }
 
     private static Set<String> basicShapingFeatures;
@@ -248,13 +248,13 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
     static {
         basicShapingFeatures = new HashSet<String>();
         for (String s : basicShapingFeatureStrings) {
-            basicShapingFeatures.add (s);
+            basicShapingFeatures.add(s);
         }
     }
-    private boolean isBasicShapingUse (GlyphTable.UseSpec us) {
+    private boolean isBasicShapingUse(GlyphTable.UseSpec us) {
         assert us != null;
         if (basicShapingFeatures != null) {
-            return basicShapingFeatures.contains (us.getFeature());
+            return basicShapingFeatures.contains(us.getFeature());
         } else {
             return false;
         }
@@ -272,25 +272,25 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
     static {
         presentationFeatures = new HashSet<String>();
         for (String s : presentationFeatureStrings) {
-            presentationFeatures.add (s);
+            presentationFeatures.add(s);
         }
     }
-    private boolean isPresentationUse (GlyphTable.UseSpec us) {
+    private boolean isPresentationUse(GlyphTable.UseSpec us) {
         assert us != null;
         if (presentationFeatures != null) {
-            return presentationFeatures.contains (us.getFeature());
+            return presentationFeatures.contains(us.getFeature());
         } else {
             return false;
         }
     }
 
-    private GlyphSequence reorderPreBaseMatra (GlyphSequence gs) {
+    private GlyphSequence reorderPreBaseMatra(GlyphSequence gs) {
         int source;
-        if ((source = findPreBaseMatra (gs)) >= 0) {
+        if ((source = findPreBaseMatra(gs)) >= 0) {
             int target;
-            if ((target = findPreBaseMatraTarget (gs, source)) >= 0) {
+            if ((target = findPreBaseMatraTarget(gs, source)) >= 0) {
                 if (target != source) {
-                    gs = reorder (gs, source, target);
+                    gs = reorder(gs, source, target);
                 }
             }
         }
@@ -302,7 +302,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
      * @param gs input sequence
      * @return index of pre-base matra or -1 if not found
      */
-    protected int findPreBaseMatra (GlyphSequence gs) {
+    protected int findPreBaseMatra(GlyphSequence gs) {
         return -1;
     }
 
@@ -312,17 +312,17 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
      * @param source index of pre-base matra
      * @return index of pre-base matra target or -1
      */
-    protected int findPreBaseMatraTarget (GlyphSequence gs, int source) {
+    protected int findPreBaseMatraTarget(GlyphSequence gs, int source) {
         return -1;
     }
 
-    private GlyphSequence reorderReph (GlyphSequence gs) {
+    private GlyphSequence reorderReph(GlyphSequence gs) {
         int source;
-        if ((source = findReph (gs)) >= 0) {
+        if ((source = findReph(gs)) >= 0) {
             int target;
-            if ((target = findRephTarget (gs, source)) >= 0) {
+            if ((target = findRephTarget(gs, source)) >= 0) {
                 if (target != source) {
-                    gs = reorder (gs, source, target);
+                    gs = reorder(gs, source, target);
                 }
             }
         }
@@ -334,7 +334,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
      * @param gs input sequence
      * @return index of reph or -1 if not found
      */
-    protected int findReph (GlyphSequence gs) {
+    protected int findReph(GlyphSequence gs) {
         return -1;
     }
 
@@ -344,18 +344,18 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
      * @param source index of reph
      * @return index of reph target or -1
      */
-    protected int findRephTarget (GlyphSequence gs, int source) {
+    protected int findRephTarget(GlyphSequence gs, int source) {
         return -1;
     }
 
-    private GlyphSequence reorder (GlyphSequence gs, int source, int target) {
-        return GlyphSequence.reorder (gs, source, 1, target);
+    private GlyphSequence reorder(GlyphSequence gs, int source, int target) {
+        return GlyphSequence.reorder(gs, source, 1, target);
     }
 
     /** {@inheritDoc} */
     @Override
-    public boolean position (GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) {
-        boolean adjusted = super.position (gs, script, language, fontSize, usa, widths, adjustments, sct);
+    public boolean position(GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+        boolean adjusted = super.position(gs, script, language, fontSize, usa, widths, adjustments, sct);
         return adjusted;
     }
 
@@ -363,7 +363,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
     protected abstract static class Syllabizer implements Comparable {
         private String script;
         private String language;
-        Syllabizer (String script, String language) {
+        Syllabizer(String script, String language) {
             this.script = script;
             this.language = language;
         }
@@ -373,7 +373,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
          * @param gs input glyph sequence
          * @return segmented syllabic glyph sequences
          */
-        abstract GlyphSequence[] syllabize (GlyphSequence gs);
+        abstract GlyphSequence[] syllabize(GlyphSequence gs);
         /** {@inheritDoc} */
         public int hashCode() {
             int hc = 0;
@@ -382,12 +382,12 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
             return hc;
         }
         /** {@inheritDoc} */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof Syllabizer) {
                 Syllabizer s = (Syllabizer) o;
-                if (! s.script.equals (script)) {
+                if (! s.script.equals(script)) {
                     return false;
-                } else if (! s.language.equals (language)) {
+                } else if (! s.language.equals(language)) {
                     return false;
                 } else {
                     return true;
@@ -397,12 +397,12 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
             }
         }
         /** {@inheritDoc} */
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             int d;
             if (o instanceof Syllabizer) {
                 Syllabizer s = (Syllabizer) o;
-                if ((d = script.compareTo (s.script)) == 0) {
-                    d = language.compareTo (s.language);
+                if ((d = script.compareTo(s.script)) == 0) {
+                    d = language.compareTo(s.language);
                 }
             } else {
                 d = -1;
@@ -410,25 +410,25 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
             return d;
         }
         private static Map<String,Syllabizer> syllabizers = new HashMap<String,Syllabizer>();
-        static Syllabizer getSyllabizer (String script, String language, Class<? extends Syllabizer> syllabizerClass) {
-            String sid = makeSyllabizerId (script, language);
-            Syllabizer s = syllabizers.get (sid);
+        static Syllabizer getSyllabizer(String script, String language, Class<? extends Syllabizer> syllabizerClass) {
+            String sid = makeSyllabizerId(script, language);
+            Syllabizer s = syllabizers.get(sid);
             if (s == null) {
-                if ((s = makeSyllabizer (script, language, syllabizerClass)) == null) {
-                    s = new DefaultSyllabizer (script, language);
+                if ((s = makeSyllabizer(script, language, syllabizerClass)) == null) {
+                    s = new DefaultSyllabizer(script, language);
                 }
-                syllabizers.put (sid, s);
+                syllabizers.put(sid, s);
             }
             return s;
         }
-        static String makeSyllabizerId (String script, String language) {
+        static String makeSyllabizerId(String script, String language) {
             return script + ":" + language;
         }
-        static Syllabizer makeSyllabizer (String script, String language, Class<? extends Syllabizer> syllabizerClass) {
+        static Syllabizer makeSyllabizer(String script, String language, Class<? extends Syllabizer> syllabizerClass) {
             Syllabizer s;
             try {
-                Constructor<? extends Syllabizer> cf = syllabizerClass.getDeclaredConstructor (new Class[] { String.class, String.class });
-                s = (Syllabizer) cf.newInstance (script, language);
+                Constructor<? extends Syllabizer> cf = syllabizerClass.getDeclaredConstructor(new Class[] { String.class, String.class });
+                s = (Syllabizer) cf.newInstance(script, language);
             } catch (NoSuchMethodException e) {
                 s = null;
             } catch (InstantiationException e) {
@@ -444,18 +444,18 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
 
     /** Default syllabizer. */
     protected static class DefaultSyllabizer extends Syllabizer {
-        DefaultSyllabizer (String script, String language) {
-            super (script, language);
+        DefaultSyllabizer(String script, String language) {
+            super(script, language);
         }
         /** {@inheritDoc} */
         @Override
-        GlyphSequence[] syllabize (GlyphSequence gs) {
-            int[] ca = gs.getCharacterArray (false);
+        GlyphSequence[] syllabize(GlyphSequence gs) {
+            int[] ca = gs.getCharacterArray(false);
             int   nc = gs.getCharacterCount();
             if (nc == 0) {
                 return new GlyphSequence[] { gs };
             } else {
-                return segmentize (gs, segmentize (ca, nc));
+                return segmentize(gs, segmentize(ca, nc));
             }
         }
         /**
@@ -464,30 +464,30 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
          * @param nc number of characters in sequence
          * @return array of syllable segments
          */
-        protected Segment[] segmentize (int[] ca, int nc) {
-            Vector<Segment> sv = new Vector<Segment> (nc);
+        protected Segment[] segmentize(int[] ca, int nc) {
+            Vector<Segment> sv = new Vector<Segment>(nc);
             for (int s = 0, e = nc; s < e; ) {
                 int i;
-                if ((i = findStartOfSyllable (ca, s, e)) > s) {
+                if ((i = findStartOfSyllable(ca, s, e)) > s) {
                     // from s to i is non-syllable segment
-                    sv.add (new Segment (s, i, Segment.OTHER));
+                    sv.add(new Segment(s, i, Segment.OTHER));
                     s = i; // move s to start of syllable
                 } else if (i > s) {
                     // from s to e is non-syllable segment
-                    sv.add (new Segment (s, e, Segment.OTHER));
+                    sv.add(new Segment(s, e, Segment.OTHER));
                     s = e; // move s to end of input sequence
                 }
-                if ((i = findEndOfSyllable (ca, s, e)) > s) {
+                if ((i = findEndOfSyllable(ca, s, e)) > s) {
                     // from s to i is syllable segment
-                    sv.add (new Segment (s, i, Segment.SYLLABLE));
+                    sv.add(new Segment(s, i, Segment.SYLLABLE));
                     s = i; // move s to end of syllable
                 } else {
                     // from s to e is non-syllable segment
-                    sv.add (new Segment (s, e, Segment.OTHER));
+                    sv.add(new Segment(s, e, Segment.OTHER));
                     s = e; // move s to end of input sequence
                 }
             }
-            return sv.toArray (new Segment [ sv.size() ]);
+            return sv.toArray(new Segment [ sv.size() ]);
         }
         /**
          * Construct array of glyph sequences from original glyph sequence and segment array.
@@ -495,28 +495,28 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
          * @param sa segment array
          * @return array of glyph sequences each belonging to an (ordered) segment in SA
          */
-        protected GlyphSequence[] segmentize (GlyphSequence gs, Segment[] sa) {
+        protected GlyphSequence[] segmentize(GlyphSequence gs, Segment[] sa) {
             int   ng = gs.getGlyphCount();
-            int[] ga = gs.getGlyphArray (false);
-            GlyphSequence.CharAssociation[] aa = gs.getAssociations (0, -1);
+            int[] ga = gs.getGlyphArray(false);
+            GlyphSequence.CharAssociation[] aa = gs.getAssociations(0, -1);
             Vector<GlyphSequence> nsv = new Vector<GlyphSequence>();
             for (int i = 0, ns = sa.length; i < ns; i++) {
                 Segment s = sa [ i ];
-                Vector<Integer> ngv = new Vector<Integer> (ng);
-                Vector<GlyphSequence.CharAssociation> nav = new Vector<GlyphSequence.CharAssociation> (ng);
+                Vector<Integer> ngv = new Vector<Integer>(ng);
+                Vector<GlyphSequence.CharAssociation> nav = new Vector<GlyphSequence.CharAssociation>(ng);
                 for (int j = 0; j < ng; j++) {
                     GlyphSequence.CharAssociation ca = aa [ j ];
-                    if (ca.contained (s.getOffset(), s.getCount())) {
-                        ngv.add (ga [ j ]);
-                        nav.add (ca);
+                    if (ca.contained(s.getOffset(), s.getCount())) {
+                        ngv.add(ga [ j ]);
+                        nav.add(ca);
                     }
                 }
                 if (ngv.size() > 0) {
-                    nsv.add (new GlyphSequence (gs, null, toIntArray (ngv), null, null, nav.toArray (new GlyphSequence.CharAssociation [ nav.size() ]), null));
+                    nsv.add(new GlyphSequence(gs, null, toIntArray(ngv), null, null, nav.toArray(new GlyphSequence.CharAssociation [ nav.size() ]), null));
                 }
             }
             if (nsv.size() > 0) {
-                return nsv.toArray (new GlyphSequence [ nsv.size() ]);
+                return nsv.toArray(new GlyphSequence [ nsv.size() ]);
             } else {
                 return new GlyphSequence[] { gs };
             }
@@ -528,7 +528,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
          * @param e end index
          * @return index of start or E if no start found
          */
-        protected int findStartOfSyllable (int[] ca, int s, int e) {
+        protected int findStartOfSyllable(int[] ca, int s, int e) {
             return e;
         }
         /**
@@ -538,14 +538,14 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
          * @param e end index
          * @return index of start or S if no end found
          */
-        protected int findEndOfSyllable (int[] ca, int s, int e) {
+        protected int findEndOfSyllable(int[] ca, int s, int e) {
             return s;
         }
-        private static int[] toIntArray (Vector<Integer> iv) {
+        private static int[] toIntArray(Vector<Integer> iv) {
             int ni = iv.size();
             int[] ia = new int [ iv.size() ];
             for (int i = 0, n = ni; i < n; i++) {
-                ia [ i ] = (int) iv.get (i);
+                ia [ i ] = (int) iv.get(i);
             }
             return ia;
         }
@@ -561,7 +561,7 @@ public class IndicScriptProcessor extends DefaultScriptProcessor {
         private int end;
         private int type;
 
-        Segment (int start, int end, int type) {
+        Segment(int start, int end, int type) {
             this.start = start;
             this.end = end;
             this.type = type;
index e6529eb2c6b19744f218048b3a919235c5505bf7..72d092b128b91cd7bfbf5ec0b243b7f072737fa7 100644 (file)
@@ -55,9 +55,9 @@ public abstract class ScriptProcessor {
      * Instantiate a script processor.
      * @param script a script identifier
      */
-    protected ScriptProcessor (String script) {
+    protected ScriptProcessor(String script) {
         if ((script == null) || (script.length() == 0)) {
-            throw new IllegalArgumentException ("script must be non-empty string");
+            throw new IllegalArgumentException("script must be non-empty string");
         } else {
             this.script = script;
             this.assembledLookups = new HashMap/*<AssembledLookupsKey,GlyphTable.UseSpec[]>*/();
@@ -98,8 +98,8 @@ public abstract class ScriptProcessor {
      * @param lookups a mapping from lookup specifications to glyph subtables to use for substitution processing
      * @return the substituted (output) glyph sequence
      */
-    public final GlyphSequence substitute (GlyphSubstitutionTable gsub, GlyphSequence gs, String script, String language, Map/*<LookupSpec,List<LookupTable>>>*/ lookups) {
-        return substitute (gs, script, language, assembleLookups (gsub, getSubstitutionFeatures(), lookups), getSubstitutionContextTester());
+    public final GlyphSequence substitute(GlyphSubstitutionTable gsub, GlyphSequence gs, String script, String language, Map/*<LookupSpec,List<LookupTable>>>*/ lookups) {
+        return substitute(gs, script, language, assembleLookups(gsub, getSubstitutionFeatures(), lookups), getSubstitutionContextTester());
     }
 
     /**
@@ -111,11 +111,11 @@ public abstract class ScriptProcessor {
      * @param sct a script specific context tester (or null)
      * @return the substituted (output) glyph sequence
      */
-    public GlyphSequence substitute (GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) {
+    public GlyphSequence substitute(GlyphSequence gs, String script, String language, GlyphTable.UseSpec[] usa, ScriptContextTester sct) {
         assert usa != null;
         for (int i = 0, n = usa.length; i < n; i++) {
             GlyphTable.UseSpec us = usa [ i ];
-            gs = us.substitute (gs, script, language, sct);
+            gs = us.substitute(gs, script, language, sct);
         }
         return gs;
     }
@@ -132,7 +132,7 @@ public abstract class ScriptProcessor {
      * @param language a language identifier
      * @return the reordered (output) glyph sequence
      */
-    public GlyphSequence reorderCombiningMarks (GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
+    public GlyphSequence reorderCombiningMarks(GlyphDefinitionTable gdef, GlyphSequence gs, int[][] gpa, String script, String language) {
         return gs;
     }
 
@@ -169,8 +169,8 @@ public abstract class ScriptProcessor {
      * with one 4-tuple for each element of glyph sequence
      * @return true if some adjustment is not zero; otherwise, false
      */
-    public final boolean position (GlyphPositioningTable gpos, GlyphSequence gs, String script, String language, int fontSize, Map/*<LookupSpec,List<LookupTable>>*/ lookups, int[] widths, int[][] adjustments) {
-        return position (gs, script, language, fontSize, assembleLookups (gpos, getPositioningFeatures(), lookups), widths, adjustments, getPositioningContextTester());
+    public final boolean position(GlyphPositioningTable gpos, GlyphSequence gs, String script, String language, int fontSize, Map/*<LookupSpec,List<LookupTable>>*/ lookups, int[] widths, int[][] adjustments) {
+        return position(gs, script, language, fontSize, assembleLookups(gpos, getPositioningFeatures(), lookups), widths, adjustments, getPositioningContextTester());
     }
 
     /**
@@ -186,12 +186,12 @@ public abstract class ScriptProcessor {
      * @param sct a script specific context tester (or null)
      * @return true if some adjustment is not zero; otherwise, false
      */
-    public boolean position (GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) {
+    public boolean position(GlyphSequence gs, String script, String language, int fontSize, GlyphTable.UseSpec[] usa, int[] widths, int[][] adjustments, ScriptContextTester sct) {
         assert usa != null;
         boolean adjusted = false;
         for (int i = 0, n = usa.length; i < n; i++) {
             GlyphTable.UseSpec us = usa [ i ];
-            if (us.position (gs, script, language, fontSize, widths, adjustments, sct)) {
+            if (us.position(gs, script, language, fontSize, widths, adjustments, sct)) {
                 adjusted = true;
             }
         }
@@ -206,22 +206,22 @@ public abstract class ScriptProcessor {
      * @param lookups a mapping from lookup specifications to lists of look tables from which to select lookup tables according to the specified features
      * @return ordered array of assembled lookup table use specifications
      */
-    public final GlyphTable.UseSpec[] assembleLookups (GlyphTable table, String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
-        AssembledLookupsKey key = new AssembledLookupsKey (table, features, lookups);
+    public final GlyphTable.UseSpec[] assembleLookups(GlyphTable table, String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
+        AssembledLookupsKey key = new AssembledLookupsKey(table, features, lookups);
         GlyphTable.UseSpec[] usa;
-        if ((usa = assembledLookupsGet (key)) != null) {
+        if ((usa = assembledLookupsGet(key)) != null) {
             return usa;
         } else {
-            return assembledLookupsPut (key, table.assembleLookups (features, lookups));
+            return assembledLookupsPut(key, table.assembleLookups(features, lookups));
         }
     }
 
-    private GlyphTable.UseSpec[] assembledLookupsGet (AssembledLookupsKey key) {
-        return (GlyphTable.UseSpec[]) assembledLookups.get (key);
+    private GlyphTable.UseSpec[] assembledLookupsGet(AssembledLookupsKey key) {
+        return (GlyphTable.UseSpec[]) assembledLookups.get(key);
     }
 
-    private GlyphTable.UseSpec[]  assembledLookupsPut (AssembledLookupsKey key, GlyphTable.UseSpec[] usa) {
-        assembledLookups.put (key, usa);
+    private GlyphTable.UseSpec[]  assembledLookupsPut(AssembledLookupsKey key, GlyphTable.UseSpec[] usa) {
+        assembledLookups.put(key, usa);
         return usa;
     }
 
@@ -230,25 +230,25 @@ public abstract class ScriptProcessor {
      * @param script a script identifier
      * @return a script processor instance or null if none found
      */
-    public static synchronized ScriptProcessor getInstance (String script) {
+    public static synchronized ScriptProcessor getInstance(String script) {
         ScriptProcessor sp = null;
         assert processors != null;
-        if ((sp = processors.get (script)) == null) {
-            processors.put (script, sp = createProcessor (script));
+        if ((sp = processors.get(script)) == null) {
+            processors.put(script, sp = createProcessor(script));
         }
         return sp;
     }
 
     // [TBD] - rework to provide more configurable binding between script name and script processor constructor
-    private static ScriptProcessor createProcessor (String script) {
+    private static ScriptProcessor createProcessor(String script) {
         ScriptProcessor sp = null;
-        int sc = CharScript.scriptCodeFromTag (script);
+        int sc = CharScript.scriptCodeFromTag(script);
         if (sc == CharScript.SCRIPT_ARABIC) {
-            sp = new ArabicScriptProcessor (script);
-        } else if (CharScript.isIndicScript (sc)) {
-            sp = IndicScriptProcessor.makeProcessor (script);
+            sp = new ArabicScriptProcessor(script);
+        } else if (CharScript.isIndicScript(sc)) {
+            sp = IndicScriptProcessor.makeProcessor(script);
         } else {
-            sp = new DefaultScriptProcessor (script);
+            sp = new DefaultScriptProcessor(script);
         }
         return sp;
     }
@@ -259,7 +259,7 @@ public abstract class ScriptProcessor {
         private final String[] features;
         private final Map/*<LookupSpec,List<LookupTable>>*/ lookups;
 
-        AssembledLookupsKey (GlyphTable table, String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
+        AssembledLookupsKey(GlyphTable table, String[] features, Map/*<LookupSpec,List<LookupTable>>*/ lookups) {
             this.table = table;
             this.features = features;
             this.lookups = lookups;
@@ -269,20 +269,20 @@ public abstract class ScriptProcessor {
         public int hashCode() {
             int hc = 0;
             hc =  7 * hc + (hc ^ table.hashCode());
-            hc = 11 * hc + (hc ^ Arrays.hashCode (features));
+            hc = 11 * hc + (hc ^ Arrays.hashCode(features));
             hc = 17 * hc + (hc ^ lookups.hashCode());
             return hc;
         }
 
         /** {@inheritDoc} */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof AssembledLookupsKey) {
                 AssembledLookupsKey k = (AssembledLookupsKey) o;
-                if (! table.equals (k.table)) {
+                if (! table.equals(k.table)) {
                     return false;
-                } else if (! Arrays.equals (features, k.features)) {
+                } else if (! Arrays.equals(features, k.features)) {
                     return false;
-                } else if (! lookups.equals (k.lookups)) {
+                } else if (! lookups.equals(k.lookups)) {
                     return false;
                 } else {
                     return true;
index c0e2cbc4dd199793407da3cfa30ba999680441b1..8de2c1fab527b8ff94a018117ee70e34835fbba9 100644 (file)
@@ -36,10 +36,10 @@ public final class CharMirror {
      * @param s a string whose characters are to be mirrored
      * @return the resulting string
      */
-    public static String mirror (String s) {
-        StringBuffer sb = new StringBuffer (s);
+    public static String mirror(String s) {
+        StringBuffer sb = new StringBuffer(s);
         for (int i = 0, n = sb.length(); i < n; i++) {
-            sb.setCharAt (i, (char) mirror (sb.charAt (i)));
+            sb.setCharAt(i, (char) mirror(sb.charAt(i)));
         }
         return sb.toString();
     }
@@ -704,8 +704,8 @@ public final class CharMirror {
         0xFF62
     };
 
-    private static int mirror (int c) {
-        int i = Arrays.binarySearch (mirroredCharacters, c);
+    private static int mirror(int c) {
+        int i = Arrays.binarySearch(mirroredCharacters, c);
         if (i < 0) {
             return c;
         } else {
index bd8f45373b7ef4f6f1c0a71f476f8d80387f6c14..06db103048d827ca3d6c46dca2283da45220191f 100644 (file)
@@ -143,7 +143,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character is punctuation
      */
-    public static boolean isPunctuation (int c) {
+    public static boolean isPunctuation(int c) {
         if ((c >= 0x0021) && (c <= 0x002F)) {             // basic latin punctuation
             return true;
         } else if ((c >= 0x003A) && (c <= 0x0040)) {      // basic latin punctuation
@@ -172,7 +172,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character is a digit
      */
-    public static boolean isDigit (int c) {
+    public static boolean isDigit(int c) {
         if ((c >= 0x0030) && (c <= 0x0039)) {             // basic latin digits
             return true;
         } else {                                                // [TBD] - not complete
@@ -185,7 +185,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to hebrew script
      */
-    public static boolean isHebrew (int c) {
+    public static boolean isHebrew(int c) {
         if ((c >= 0x0590) && (c <= 0x05FF)) {             // hebrew block
             return true;
         } else if ((c >= 0xFB00) && (c <= 0xFB4F)) {      // hebrew presentation forms block
@@ -200,7 +200,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to mongolian script
      */
-    public static boolean isMongolian (int c) {
+    public static boolean isMongolian(int c) {
         if ((c >= 0x1800) && (c <= 0x18AF)) {             // mongolian block
             return true;
         } else {
@@ -213,7 +213,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to arabic script
      */
-    public static boolean isArabic (int c) {
+    public static boolean isArabic(int c) {
         if ((c >= 0x0600) && (c <= 0x06FF)) {             // arabic block
             return true;
         } else if ((c >= 0x0750) && (c <= 0x077F)) {      // arabic supplement block
@@ -232,7 +232,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to greek script
      */
-    public static boolean isGreek (int c) {
+    public static boolean isGreek(int c) {
         if ((c >= 0x0370) && (c <= 0x03FF)) {             // greek (and coptic) block
             return true;
         } else if ((c >= 0x1F00) && (c <= 0x1FFF)) {      // greek extended block
@@ -247,7 +247,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to latin script
      */
-    public static boolean isLatin (int c) {
+    public static boolean isLatin(int c) {
         if ((c >= 0x0041) && (c <= 0x005A)) {             // basic latin upper case
             return true;
         } else if ((c >= 0x0061) && (c <= 0x007A)) {      // basic latin lower case
@@ -282,7 +282,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to cyrillic script
      */
-    public static boolean isCyrillic (int c) {
+    public static boolean isCyrillic(int c) {
         if ((c >= 0x0400) && (c <= 0x04FF)) {             // cyrillic block
             return true;
         } else if ((c >= 0x0500) && (c <= 0x052F)) {      // cyrillic supplement block
@@ -301,7 +301,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to georgian script
      */
-    public static boolean isGeorgian (int c) {
+    public static boolean isGeorgian(int c) {
         if ((c >= 0x10A0) && (c <= 0x10FF)) {             // georgian block
             return true;
         } else if ((c >= 0x2D00) && (c <= 0x2D2F)) {      // georgian supplement block
@@ -316,7 +316,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to hangul script
      */
-    public static boolean isHangul (int c) {
+    public static boolean isHangul(int c) {
         if ((c >= 0x1100) && (c <= 0x11FF)) {             // hangul jamo
             return true;
         } else if ((c >= 0x3130) && (c <= 0x318F)) {      // hangul compatibility jamo
@@ -337,7 +337,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to gurmukhi script
      */
-    public static boolean isGurmukhi (int c) {
+    public static boolean isGurmukhi(int c) {
         if ((c >= 0x0A00) && (c <= 0x0A7F)) {             // gurmukhi block
             return true;
         } else {
@@ -350,7 +350,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to devanagari script
      */
-    public static boolean isDevanagari (int c) {
+    public static boolean isDevanagari(int c) {
         if ((c >= 0x0900) && (c <= 0x097F)) {             // devangari block
             return true;
         } else if ((c >= 0xA8E0) && (c <= 0xA8FF)) {      // devangari extended block
@@ -365,7 +365,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to gujarati script
      */
-    public static boolean isGujarati (int c) {
+    public static boolean isGujarati(int c) {
         if ((c >= 0x0A80) && (c <= 0x0AFF)) {             // gujarati block
             return true;
         } else {
@@ -378,7 +378,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to bengali script
      */
-    public static boolean isBengali (int c) {
+    public static boolean isBengali(int c) {
         if ((c >= 0x0980) && (c <= 0x09FF)) {             // bengali block
             return true;
         } else {
@@ -391,7 +391,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to oriya script
      */
-    public static boolean isOriya (int c) {
+    public static boolean isOriya(int c) {
         if ((c >= 0x0B00) && (c <= 0x0B7F)) {             // oriya block
             return true;
         } else {
@@ -404,7 +404,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to tibetan script
      */
-    public static boolean isTibetan (int c) {
+    public static boolean isTibetan(int c) {
         if ((c >= 0x0F00) && (c <= 0x0FFF)) {             // tibetan block
             return true;
         } else {
@@ -417,7 +417,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to telugu script
      */
-    public static boolean isTelugu (int c) {
+    public static boolean isTelugu(int c) {
         if ((c >= 0x0C00) && (c <= 0x0C7F)) {             // telugu block
             return true;
         } else {
@@ -430,7 +430,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to kannada script
      */
-    public static boolean isKannada (int c) {
+    public static boolean isKannada(int c) {
         if ((c >= 0x0C00) && (c <= 0x0C7F)) {             // kannada block
             return true;
         } else {
@@ -443,7 +443,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to tamil script
      */
-    public static boolean isTamil (int c) {
+    public static boolean isTamil(int c) {
         if ((c >= 0x0B80) && (c <= 0x0BFF)) {             // tamil block
             return true;
         } else {
@@ -456,7 +456,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to malayalam script
      */
-    public static boolean isMalayalam (int c) {
+    public static boolean isMalayalam(int c) {
         if ((c >= 0x0D00) && (c <= 0x0D7F)) {             // malayalam block
             return true;
         } else {
@@ -469,7 +469,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to sinhalese script
      */
-    public static boolean isSinhalese (int c) {
+    public static boolean isSinhalese(int c) {
         if ((c >= 0x0D80) && (c <= 0x0DFF)) {             // sinhala block
             return true;
         } else {
@@ -482,7 +482,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to burmese script
      */
-    public static boolean isBurmese (int c) {
+    public static boolean isBurmese(int c) {
         if ((c >= 0x1000) && (c <= 0x109F)) {             // burmese (myanmar) block
             return true;
         } else if ((c >= 0xAA60) && (c <= 0xAA7F)) {      // burmese (myanmar) extended block
@@ -497,7 +497,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to thai script
      */
-    public static boolean isThai (int c) {
+    public static boolean isThai(int c) {
         if ((c >= 0x0E00) && (c <= 0x0E7F)) {             // thai block
             return true;
         } else {
@@ -510,7 +510,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to khmer script
      */
-    public static boolean isKhmer (int c) {
+    public static boolean isKhmer(int c) {
         if ((c >= 0x1780) && (c <= 0x17FF)) {             // khmer block
             return true;
         } else if ((c >= 0x19E0) && (c <= 0x19FF)) {      // khmer symbols block
@@ -525,7 +525,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to lao script
      */
-    public static boolean isLao (int c) {
+    public static boolean isLao(int c) {
         if ((c >= 0x0E80) && (c <= 0x0EFF)) {             // lao block
             return true;
         } else {
@@ -538,7 +538,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to ethiopic (amharic) script
      */
-    public static boolean isEthiopic (int c) {
+    public static boolean isEthiopic(int c) {
         if ((c >= 0x1200) && (c <= 0x137F)) {             // ethiopic block
             return true;
         } else if ((c >= 0x1380) && (c <= 0x139F)) {      // ethoipic supplement block
@@ -557,7 +557,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to han (unified cjk) script
      */
-    public static boolean isHan (int c) {
+    public static boolean isHan(int c) {
         if ((c >= 0x3400) && (c <= 0x4DBF)) {
             return true; // cjk unified ideographs extension a
         } else if ((c >= 0x4E00) && (c <= 0x9FFF)) {
@@ -580,7 +580,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to bopomofo script
      */
-    public static boolean isBopomofo (int c) {
+    public static boolean isBopomofo(int c) {
         if ((c >= 0x3100) && (c <= 0x312F)) {
             return true;
         } else {
@@ -593,7 +593,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to hiragana script
      */
-    public static boolean isHiragana (int c) {
+    public static boolean isHiragana(int c) {
         if ((c >= 0x3040) && (c <= 0x309F)) {
             return true;
         } else {
@@ -606,7 +606,7 @@ public final class CharScript {
      * @param c a character represented as a unicode scalar value
      * @return true if character belongs to katakana script
      */
-    public static boolean isKatakana (int c) {
+    public static boolean isKatakana(int c) {
         if ((c >= 0x30A0) && (c <= 0x30FF)) {
             return true;
         } else if ((c >= 0x31F0) && (c <= 0x31FF)) {
@@ -622,68 +622,68 @@ public final class CharScript {
      * @param c the character to obtain script
      * @return an ISO15924 script code
      */
-    public static int scriptOf (int c) { // [TBD] - needs optimization!!!
-        if (CharUtilities.isAnySpace (c)) {
+    public static int scriptOf(int c) { // [TBD] - needs optimization!!!
+        if (CharUtilities.isAnySpace(c)) {
             return SCRIPT_UNDETERMINED;
-        } else if (isPunctuation (c)) {
+        } else if (isPunctuation(c)) {
             return SCRIPT_UNDETERMINED;
-        } else if (isDigit (c)) {
+        } else if (isDigit(c)) {
             return SCRIPT_UNDETERMINED;
-        } else if (isLatin (c)) {
+        } else if (isLatin(c)) {
             return SCRIPT_LATIN;
-        } else if (isCyrillic (c)) {
+        } else if (isCyrillic(c)) {
             return SCRIPT_CYRILLIC;
-        } else if (isGreek (c)) {
+        } else if (isGreek(c)) {
             return SCRIPT_GREEK;
-        } else if (isHan (c)) {
+        } else if (isHan(c)) {
             return SCRIPT_HAN;
-        } else if (isBopomofo (c)) {
+        } else if (isBopomofo(c)) {
             return SCRIPT_BOPOMOFO;
-        } else if (isKatakana (c)) {
+        } else if (isKatakana(c)) {
             return SCRIPT_KATAKANA;
-        } else if (isHiragana (c)) {
+        } else if (isHiragana(c)) {
             return SCRIPT_HIRAGANA;
-        } else if (isHangul (c)) {
+        } else if (isHangul(c)) {
             return SCRIPT_HANGUL;
-        } else if (isArabic (c)) {
+        } else if (isArabic(c)) {
             return SCRIPT_ARABIC;
-        } else if (isHebrew (c)) {
+        } else if (isHebrew(c)) {
             return SCRIPT_HEBREW;
-        } else if (isMongolian (c)) {
+        } else if (isMongolian(c)) {
             return SCRIPT_MONGOLIAN;
-        } else if (isGeorgian (c)) {
+        } else if (isGeorgian(c)) {
             return SCRIPT_GEORGIAN;
-        } else if (isGurmukhi (c)) {
-            return useV2IndicRules (SCRIPT_GURMUKHI);
-        } else if (isDevanagari (c)) {
-            return useV2IndicRules (SCRIPT_DEVANAGARI);
-        } else if (isGujarati (c)) {
-            return useV2IndicRules (SCRIPT_GUJARATI);
-        } else if (isBengali (c)) {
-            return useV2IndicRules (SCRIPT_BENGALI);
-        } else if (isOriya (c)) {
-            return useV2IndicRules (SCRIPT_ORIYA);
-        } else if (isTibetan (c)) {
+        } else if (isGurmukhi(c)) {
+            return useV2IndicRules(SCRIPT_GURMUKHI);
+        } else if (isDevanagari(c)) {
+            return useV2IndicRules(SCRIPT_DEVANAGARI);
+        } else if (isGujarati(c)) {
+            return useV2IndicRules(SCRIPT_GUJARATI);
+        } else if (isBengali(c)) {
+            return useV2IndicRules(SCRIPT_BENGALI);
+        } else if (isOriya(c)) {
+            return useV2IndicRules(SCRIPT_ORIYA);
+        } else if (isTibetan(c)) {
             return SCRIPT_TIBETAN;
-        } else if (isTelugu (c)) {
-            return useV2IndicRules (SCRIPT_TELUGU);
-        } else if (isKannada (c)) {
-            return useV2IndicRules (SCRIPT_KANNADA);
-        } else if (isTamil (c)) {
-            return useV2IndicRules (SCRIPT_TAMIL);
-        } else if (isMalayalam (c)) {
-            return useV2IndicRules (SCRIPT_MALAYALAM);
-        } else if (isSinhalese (c)) {
+        } else if (isTelugu(c)) {
+            return useV2IndicRules(SCRIPT_TELUGU);
+        } else if (isKannada(c)) {
+            return useV2IndicRules(SCRIPT_KANNADA);
+        } else if (isTamil(c)) {
+            return useV2IndicRules(SCRIPT_TAMIL);
+        } else if (isMalayalam(c)) {
+            return useV2IndicRules(SCRIPT_MALAYALAM);
+        } else if (isSinhalese(c)) {
             return SCRIPT_SINHALESE;
-        } else if (isBurmese (c)) {
+        } else if (isBurmese(c)) {
             return SCRIPT_BURMESE;
-        } else if (isThai (c)) {
+        } else if (isThai(c)) {
             return SCRIPT_THAI;
-        } else if (isKhmer (c)) {
+        } else if (isKhmer(c)) {
             return SCRIPT_KHMER;
-        } else if (isLao (c)) {
+        } else if (isLao(c)) {
             return SCRIPT_LAO;
-        } else if (isEthiopic (c)) {
+        } else if (isEthiopic(c)) {
             return SCRIPT_ETHIOPIC;
         } else {
             return SCRIPT_UNDETERMINED;
@@ -696,7 +696,7 @@ public final class CharScript {
      * @param sc a V1 indic script code
      * @return either SC or the V2 flavor of SC if V2 indic rules apply
      */
-    public static int useV2IndicRules (int sc) {
+    public static int useV2IndicRules(int sc) {
         if (useV2Indic) {
             return (sc < 1000) ? (sc + 1000) : sc;
         } else {
@@ -711,17 +711,17 @@ public final class CharScript {
      * @param cs the character sequence
      * @return a (possibly empty) array of script codes
      */
-    public static int[] scriptsOf (CharSequence cs) {
+    public static int[] scriptsOf(CharSequence cs) {
         Set s = new HashSet();
         for (int i = 0, n = cs.length(); i < n; i++) {
-            s.add (Integer.valueOf (scriptOf (cs.charAt (i))));
+            s.add(Integer.valueOf(scriptOf(cs.charAt(i))));
         }
         int[] sa = new int [ s.size() ];
         int ns = 0;
         for (Iterator it = s.iterator(); it.hasNext();) {
             sa [ ns++ ] = ((Integer) it.next()) .intValue();
         }
-        Arrays.sort (sa);
+        Arrays.sort(sa);
         return sa;
     }
 
@@ -730,17 +730,17 @@ public final class CharScript {
      * @param cs the character sequence
      * @return the dominant script or SCRIPT_UNDETERMINED
      */
-    public static int dominantScript (CharSequence cs) {
+    public static int dominantScript(CharSequence cs) {
         Map m = new HashMap();
         for (int i = 0, n = cs.length(); i < n; i++) {
-            int c = cs.charAt (i);
-            int s = scriptOf (c);
-            Integer k = Integer.valueOf (s);
-            Integer v = (Integer) m.get (k);
+            int c = cs.charAt(i);
+            int s = scriptOf(c);
+            Integer k = Integer.valueOf(s);
+            Integer v = (Integer) m.get(k);
             if (v != null) {
-                m.put (k, Integer.valueOf (v.intValue() + 1));
+                m.put(k, Integer.valueOf(v.intValue() + 1));
             } else {
-                m.put (k, Integer.valueOf (0));
+                m.put(k, Integer.valueOf(0));
             }
         }
         int sMax = -1;
@@ -779,8 +779,8 @@ public final class CharScript {
      * @param script a script tag
      * @return true if script tag is a designated 'Indic' script
      */
-    public static boolean isIndicScript (String script) {
-        return isIndicScript (scriptCodeFromTag (script));
+    public static boolean isIndicScript(String script) {
+        return isIndicScript(scriptCodeFromTag(script));
     }
 
     /**
@@ -790,7 +790,7 @@ public final class CharScript {
      * @param script a script code
      * @return true if script code is a designated 'Indic' script
      */
-    public static boolean isIndicScript (int script) {
+    public static boolean isIndicScript(int script) {
         switch (script) {
         case SCRIPT_BENGALI:
         case SCRIPT_BENGALI_2:
@@ -822,11 +822,11 @@ public final class CharScript {
      * @param code the script code
      * @return a  script tag
      */
-    public static String scriptTagFromCode (int code) {
+    public static String scriptTagFromCode(int code) {
         Map<Integer,String> m = getScriptTagsMap();
         if (m != null) {
             String tag;
-            if ((tag = m.get (Integer.valueOf (code))) != null) {
+            if ((tag = m.get(Integer.valueOf(code))) != null) {
                 return tag;
             } else {
                 return "";
@@ -841,11 +841,11 @@ public final class CharScript {
      * @param tag the script tag
      * @return a script code
      */
-    public static int scriptCodeFromTag (String tag) {
+    public static int scriptCodeFromTag(String tag) {
         Map<String,Integer> m = getScriptCodeMap();
         if (m != null) {
             Integer c;
-            if ((c = m.get (tag)) != null) {
+            if ((c = m.get(tag)) != null) {
                 return (int) c;
             } else {
                 return SCRIPT_UNDETERMINED;
@@ -858,59 +858,59 @@ public final class CharScript {
     private static Map<Integer,String> scriptTagsMap = null;
     private static Map<String,Integer> scriptCodeMap = null;
 
-    private static void putScriptTag (Map tm, Map cm, int code, String tag) {
+    private static void putScriptTag(Map tm, Map cm, int code, String tag) {
         assert tag != null;
         assert tag.length() != 0;
         assert code >= 0;
         assert code <  2000;
-        tm.put (Integer.valueOf (code), tag);
-        cm.put (tag, Integer.valueOf (code));
+        tm.put(Integer.valueOf(code), tag);
+        cm.put(tag, Integer.valueOf(code));
     }
 
     private static void makeScriptMaps() {
         HashMap<Integer,String> tm = new HashMap<Integer,String>();
         HashMap<String,Integer> cm = new HashMap<String,Integer>();
-        putScriptTag (tm, cm, SCRIPT_HEBREW, "hebr");
-        putScriptTag (tm, cm, SCRIPT_MONGOLIAN, "mong");
-        putScriptTag (tm, cm, SCRIPT_ARABIC, "arab");
-        putScriptTag (tm, cm, SCRIPT_GREEK, "grek");
-        putScriptTag (tm, cm, SCRIPT_LATIN, "latn");
-        putScriptTag (tm, cm, SCRIPT_CYRILLIC, "cyrl");
-        putScriptTag (tm, cm, SCRIPT_GEORGIAN, "geor");
-        putScriptTag (tm, cm, SCRIPT_BOPOMOFO, "bopo");
-        putScriptTag (tm, cm, SCRIPT_HANGUL, "hang");
-        putScriptTag (tm, cm, SCRIPT_GURMUKHI, "guru");
-        putScriptTag (tm, cm, SCRIPT_GURMUKHI_2, "gur2");
-        putScriptTag (tm, cm, SCRIPT_DEVANAGARI, "deva");
-        putScriptTag (tm, cm, SCRIPT_DEVANAGARI_2, "dev2");
-        putScriptTag (tm, cm, SCRIPT_GUJARATI, "gujr");
-        putScriptTag (tm, cm, SCRIPT_GUJARATI_2, "gjr2");
-        putScriptTag (tm, cm, SCRIPT_BENGALI, "beng");
-        putScriptTag (tm, cm, SCRIPT_BENGALI_2, "bng2");
-        putScriptTag (tm, cm, SCRIPT_ORIYA, "orya");
-        putScriptTag (tm, cm, SCRIPT_ORIYA_2, "ory2");
-        putScriptTag (tm, cm, SCRIPT_TIBETAN, "tibt");
-        putScriptTag (tm, cm, SCRIPT_TELUGU, "telu");
-        putScriptTag (tm, cm, SCRIPT_TELUGU_2, "tel2");
-        putScriptTag (tm, cm, SCRIPT_KANNADA, "knda");
-        putScriptTag (tm, cm, SCRIPT_KANNADA_2, "knd2");
-        putScriptTag (tm, cm, SCRIPT_TAMIL, "taml");
-        putScriptTag (tm, cm, SCRIPT_TAMIL_2, "tml2");
-        putScriptTag (tm, cm, SCRIPT_MALAYALAM, "mlym");
-        putScriptTag (tm, cm, SCRIPT_MALAYALAM_2, "mlm2");
-        putScriptTag (tm, cm, SCRIPT_SINHALESE, "sinh");
-        putScriptTag (tm, cm, SCRIPT_BURMESE, "mymr");
-        putScriptTag (tm, cm, SCRIPT_THAI, "thai");
-        putScriptTag (tm, cm, SCRIPT_KHMER, "khmr");
-        putScriptTag (tm, cm, SCRIPT_LAO, "laoo");
-        putScriptTag (tm, cm, SCRIPT_HIRAGANA, "hira");
-        putScriptTag (tm, cm, SCRIPT_ETHIOPIC, "ethi");
-        putScriptTag (tm, cm, SCRIPT_HAN, "hani");
-        putScriptTag (tm, cm, SCRIPT_KATAKANA, "kana");
-        putScriptTag (tm, cm, SCRIPT_MATH, "zmth");
-        putScriptTag (tm, cm, SCRIPT_SYMBOL, "zsym");
-        putScriptTag (tm, cm, SCRIPT_UNDETERMINED, "zyyy");
-        putScriptTag (tm, cm, SCRIPT_UNCODED, "zzzz");
+        putScriptTag(tm, cm, SCRIPT_HEBREW, "hebr");
+        putScriptTag(tm, cm, SCRIPT_MONGOLIAN, "mong");
+        putScriptTag(tm, cm, SCRIPT_ARABIC, "arab");
+        putScriptTag(tm, cm, SCRIPT_GREEK, "grek");
+        putScriptTag(tm, cm, SCRIPT_LATIN, "latn");
+        putScriptTag(tm, cm, SCRIPT_CYRILLIC, "cyrl");
+        putScriptTag(tm, cm, SCRIPT_GEORGIAN, "geor");
+        putScriptTag(tm, cm, SCRIPT_BOPOMOFO, "bopo");
+        putScriptTag(tm, cm, SCRIPT_HANGUL, "hang");
+        putScriptTag(tm, cm, SCRIPT_GURMUKHI, "guru");
+        putScriptTag(tm, cm, SCRIPT_GURMUKHI_2, "gur2");
+        putScriptTag(tm, cm, SCRIPT_DEVANAGARI, "deva");
+        putScriptTag(tm, cm, SCRIPT_DEVANAGARI_2, "dev2");
+        putScriptTag(tm, cm, SCRIPT_GUJARATI, "gujr");
+        putScriptTag(tm, cm, SCRIPT_GUJARATI_2, "gjr2");
+        putScriptTag(tm, cm, SCRIPT_BENGALI, "beng");
+        putScriptTag(tm, cm, SCRIPT_BENGALI_2, "bng2");
+        putScriptTag(tm, cm, SCRIPT_ORIYA, "orya");
+        putScriptTag(tm, cm, SCRIPT_ORIYA_2, "ory2");
+        putScriptTag(tm, cm, SCRIPT_TIBETAN, "tibt");
+        putScriptTag(tm, cm, SCRIPT_TELUGU, "telu");
+        putScriptTag(tm, cm, SCRIPT_TELUGU_2, "tel2");
+        putScriptTag(tm, cm, SCRIPT_KANNADA, "knda");
+        putScriptTag(tm, cm, SCRIPT_KANNADA_2, "knd2");
+        putScriptTag(tm, cm, SCRIPT_TAMIL, "taml");
+        putScriptTag(tm, cm, SCRIPT_TAMIL_2, "tml2");
+        putScriptTag(tm, cm, SCRIPT_MALAYALAM, "mlym");
+        putScriptTag(tm, cm, SCRIPT_MALAYALAM_2, "mlm2");
+        putScriptTag(tm, cm, SCRIPT_SINHALESE, "sinh");
+        putScriptTag(tm, cm, SCRIPT_BURMESE, "mymr");
+        putScriptTag(tm, cm, SCRIPT_THAI, "thai");
+        putScriptTag(tm, cm, SCRIPT_KHMER, "khmr");
+        putScriptTag(tm, cm, SCRIPT_LAO, "laoo");
+        putScriptTag(tm, cm, SCRIPT_HIRAGANA, "hira");
+        putScriptTag(tm, cm, SCRIPT_ETHIOPIC, "ethi");
+        putScriptTag(tm, cm, SCRIPT_HAN, "hani");
+        putScriptTag(tm, cm, SCRIPT_KATAKANA, "kana");
+        putScriptTag(tm, cm, SCRIPT_MATH, "zmth");
+        putScriptTag(tm, cm, SCRIPT_SYMBOL, "zsym");
+        putScriptTag(tm, cm, SCRIPT_UNDETERMINED, "zyyy");
+        putScriptTag(tm, cm, SCRIPT_UNCODED, "zzzz");
         scriptTagsMap = tm;
         scriptCodeMap = cm;
     }
index 317ccc81a9b134f6c863f2b8aa8252de2c548e01..2e3afcc1d6924d5187e6d0e2ca16d8628d4d9ac8 100644 (file)
@@ -38,6 +38,6 @@ public interface GlyphContextTester {
      * @param flags that apply to lookup in scope
      * @return true if test is satisfied
      */
-    boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags);
+    boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags);
 
 }
index 82d8b0d7aa749b8ec18bc141e9032d9856dc156d..bd282a4303be40b1e5ed278f026b4113b658ecc6 100644 (file)
@@ -65,15 +65,15 @@ public class GlyphSequence implements Cloneable {
      * @param associations a (possibly null) array of glyph to character associations
      * @param predications true if predications are enabled
      */
-    public GlyphSequence (IntBuffer characters, IntBuffer glyphs, List associations, boolean predications) {
+    public GlyphSequence(IntBuffer characters, IntBuffer glyphs, List associations, boolean predications) {
         if (characters == null) {
-            characters = IntBuffer.allocate (DEFAULT_CHARS_CAPACITY);
+            characters = IntBuffer.allocate(DEFAULT_CHARS_CAPACITY);
         }
         if (glyphs == null) {
-            glyphs = IntBuffer.allocate (characters.capacity());
+            glyphs = IntBuffer.allocate(characters.capacity());
         }
         if (associations == null) {
-            associations = makeIdentityAssociations (characters.limit(), glyphs.limit());
+            associations = makeIdentityAssociations(characters.limit(), glyphs.limit());
         }
         this.characters = characters;
         this.glyphs = glyphs;
@@ -91,7 +91,7 @@ public class GlyphSequence implements Cloneable {
      * @param glyphs a (possibly null) buffer of glyphs
      * @param associations a (possibly null) array of glyph to character associations
      */
-    public GlyphSequence (IntBuffer characters, IntBuffer glyphs, List associations) {
+    public GlyphSequence(IntBuffer characters, IntBuffer glyphs, List associations) {
         this (characters, glyphs, associations, false);
     }
 
@@ -101,8 +101,8 @@ public class GlyphSequence implements Cloneable {
      * of glyphs buffer and association list.
      * @param gs an existing glyph sequence
      */
-    public GlyphSequence (GlyphSequence gs) {
-        this (gs.characters.duplicate(), copyBuffer (gs.glyphs), copyAssociations (gs.associations), gs.predications);
+    public GlyphSequence(GlyphSequence gs) {
+        this (gs.characters.duplicate(), copyBuffer(gs.glyphs), copyAssociations(gs.associations), gs.predications);
     }
 
     /**
@@ -119,8 +119,8 @@ public class GlyphSequence implements Cloneable {
      * @param ial input association list
      * @param lal lookahead association list
      */
-    public GlyphSequence (GlyphSequence gs, int[] bga, int[] iga, int[] lga, CharAssociation[] bal, CharAssociation[] ial, CharAssociation[] lal) {
-        this (gs.characters.duplicate(), concatGlyphs (bga, iga, lga), concatAssociations (bal, ial, lal), gs.predications);
+    public GlyphSequence(GlyphSequence gs, int[] bga, int[] iga, int[] lga, CharAssociation[] bal, CharAssociation[] ial, CharAssociation[] lal) {
+        this (gs.characters.duplicate(), concatGlyphs(bga, iga, lga), concatAssociations(bal, ial, lal), gs.predications);
     }
 
     /**
@@ -141,9 +141,9 @@ public class GlyphSequence implements Cloneable {
      * @param copy true if to return a newly instantiated array of characters
      * @return array of characters
      */
-    public int[] getCharacterArray (boolean copy) {
+    public int[] getCharacterArray(boolean copy) {
         if (copy) {
-            return toArray (characters);
+            return toArray(characters);
         } else {
             return characters.array();
         }
@@ -165,8 +165,8 @@ public class GlyphSequence implements Cloneable {
      * @throws IndexOutOfBoundsException if index is less than zero
      * or exceeds last valid position
      */
-    public int getGlyph (int index) throws IndexOutOfBoundsException {
-        return glyphs.get (index);
+    public int getGlyph(int index) throws IndexOutOfBoundsException {
+        return glyphs.get(index);
     }
 
     /**
@@ -176,11 +176,11 @@ public class GlyphSequence implements Cloneable {
      * @throws IndexOutOfBoundsException if index is greater or equal to
      * the limit of the underlying glyph buffer
      */
-    public void setGlyph (int index, int gi) throws IndexOutOfBoundsException {
+    public void setGlyph(int index, int gi) throws IndexOutOfBoundsException {
         if (gi > 65535) {
             gi = 65535;
         }
-        glyphs.put (index, gi);
+        glyphs.put(index, gi);
     }
 
     /**
@@ -200,7 +200,7 @@ public class GlyphSequence implements Cloneable {
      * indicating all avaialble glyphs starting at offset
      * @return glyph array
      */
-    public int[] getGlyphs (int offset, int count) {
+    public int[] getGlyphs(int offset, int count) {
         int ng = getGlyphCount();
         if (offset < 0) {
             offset = 0;
@@ -213,7 +213,7 @@ public class GlyphSequence implements Cloneable {
         int[] ga = new int [ count ];
         for (int i = offset, n = offset + count, k = 0; i < n; i++) {
             if (k < ga.length) {
-                ga [ k++ ] = glyphs.get (i);
+                ga [ k++ ] = glyphs.get(i);
             }
         }
         return ga;
@@ -229,9 +229,9 @@ public class GlyphSequence implements Cloneable {
      * @param copy true if to return a newly instantiated array of glyphs
      * @return array of glyphs
      */
-    public int[] getGlyphArray (boolean copy) {
+    public int[] getGlyphArray(boolean copy) {
         if (copy) {
-            return toArray (glyphs);
+            return toArray(glyphs);
         } else {
             return glyphs.array();
         }
@@ -253,8 +253,8 @@ public class GlyphSequence implements Cloneable {
      * @throws IndexOutOfBoundsException if index is less than zero
      * or exceeds last valid position
      */
-    public CharAssociation getAssociation (int index) throws IndexOutOfBoundsException {
-        return (CharAssociation) associations.get (index);
+    public CharAssociation getAssociation(int index) throws IndexOutOfBoundsException {
+        return (CharAssociation) associations.get(index);
     }
 
     /**
@@ -272,7 +272,7 @@ public class GlyphSequence implements Cloneable {
      * indicating all avaialble associations starting at offset
      * @return associations
      */
-    public CharAssociation[] getAssociations (int offset, int count) {
+    public CharAssociation[] getAssociations(int offset, int count) {
         int ng = getGlyphCount();
         if (offset < 0) {
             offset = 0;
@@ -285,7 +285,7 @@ public class GlyphSequence implements Cloneable {
         CharAssociation[] aa = new CharAssociation [ count ];
         for (int i = offset, n = offset + count, k = 0; i < n; i++) {
             if (k < aa.length) {
-                aa [ k++ ] = (CharAssociation) associations.get (i);
+                aa [ k++ ] = (CharAssociation) associations.get(i);
             }
         }
         return aa;
@@ -295,7 +295,7 @@ public class GlyphSequence implements Cloneable {
      * Enable or disable predications.
      * @param enable true if predications are to be enabled; otherwise false to disable
      */
-    public void setPredications (boolean enable) {
+    public void setPredications(boolean enable) {
         this.predications = enable;
     }
 
@@ -313,11 +313,11 @@ public class GlyphSequence implements Cloneable {
      * @param key predication key
      * @param value predication value
      */
-    public void setPredication (int offset, String key, Object value) {
+    public void setPredication(int offset, String key, Object value) {
         if (predications) {
-            CharAssociation[] aa = getAssociations (offset, 1);
+            CharAssociation[] aa = getAssociations(offset, 1);
             CharAssociation   ca = aa[0];
-            ca.setPredication (key, value);
+            ca.setPredication(key, value);
         }
     }
 
@@ -327,11 +327,11 @@ public class GlyphSequence implements Cloneable {
      * @param key predication key
      * @return predication KEY at OFFSET or null if none exists
      */
-    public Object getPredication (int offset, String key) {
+    public Object getPredication(int offset, String key) {
         if (predications) {
-            CharAssociation[] aa = getAssociations (offset, 1);
+            CharAssociation[] aa = getAssociations(offset, 1);
             CharAssociation   ca = aa[0];
-            return ca.getPredication (key);
+            return ca.getPredication(key);
         } else {
             return null;
         }
@@ -343,12 +343,12 @@ public class GlyphSequence implements Cloneable {
      * @return zero if glyphs are the same, otherwise returns 1 or -1 according to whether this glyph sequence's
      * glyphs are lexicographically greater or lesser than the glyphs in the specified string buffer
      */
-    public int compareGlyphs (IntBuffer gb) {
+    public int compareGlyphs(IntBuffer gb) {
         int ng = getGlyphCount();
         for (int i = 0, n = gb.limit(); i < n; i++) {
             if (i < ng) {
-                int g1 = glyphs.get (i);
-                int g2 = gb.get (i);
+                int g1 = glyphs.get(i);
+                int g2 = gb.get(i);
                 if (g1 > g2) {
                     return 1;
                 } else if (g1 < g2) {
@@ -365,9 +365,9 @@ public class GlyphSequence implements Cloneable {
     public Object clone() {
         try {
             GlyphSequence gs = (GlyphSequence) super.clone();
-            gs.characters = copyBuffer (characters);
-            gs.glyphs = copyBuffer (glyphs);
-            gs.associations = copyAssociations (associations);
+            gs.characters = copyBuffer(characters);
+            gs.glyphs = copyBuffer(glyphs);
+            gs.associations = copyAssociations(associations);
             return gs;
         } catch (CloneNotSupportedException e) {
             return null;
@@ -377,15 +377,15 @@ public class GlyphSequence implements Cloneable {
     /** {@inheritDoc} */
     public String toString() {
         StringBuffer sb = new StringBuffer();
-        sb.append ('{');
-        sb.append ("chars = [");
-        sb.append (characters);
-        sb.append ("], glyphs = [");
-        sb.append (glyphs);
-        sb.append ("], associations = [");
-        sb.append (associations);
-        sb.append ("]");
-        sb.append ('}');
+        sb.append('{');
+        sb.append("chars = [");
+        sb.append(characters);
+        sb.append("], glyphs = [");
+        sb.append(glyphs);
+        sb.append("], associations = [");
+        sb.append(associations);
+        sb.append("]");
+        sb.append('}');
         return sb.toString();
     }
 
@@ -395,7 +395,7 @@ public class GlyphSequence implements Cloneable {
      * @param ga2 second glyph array
      * @return true if arrays are botth null or both non-null and have identical elements
      */
-    public static boolean sameGlyphs (int[] ga1, int[] ga2) {
+    public static boolean sameGlyphs(int[] ga1, int[] ga2) {
         if (ga1 == ga2) {
             return true;
         } else if ((ga1 == null) || (ga2 == null)) {
@@ -419,7 +419,7 @@ public class GlyphSequence implements Cloneable {
      * @param lga lookahead glyph array
      * @return new integer buffer containing concatenated glyphs
      */
-    public static IntBuffer concatGlyphs (int[] bga, int[] iga, int[] lga) {
+    public static IntBuffer concatGlyphs(int[] bga, int[] iga, int[] lga) {
         int ng = 0;
         if (bga != null) {
             ng += bga.length;
@@ -430,15 +430,15 @@ public class GlyphSequence implements Cloneable {
         if (lga != null) {
             ng += lga.length;
         }
-        IntBuffer gb = IntBuffer.allocate (ng);
+        IntBuffer gb = IntBuffer.allocate(ng);
         if (bga != null) {
-            gb.put (bga);
+            gb.put(bga);
         }
         if (iga != null) {
-            gb.put (iga);
+            gb.put(iga);
         }
         if (lga != null) {
-            gb.put (lga);
+            gb.put(lga);
         }
         gb.flip();
         return gb;
@@ -451,7 +451,7 @@ public class GlyphSequence implements Cloneable {
      * @param laa lookahead association array
      * @return new list containing concatenated associations
      */
-    public static List concatAssociations (CharAssociation[] baa, CharAssociation[] iaa, CharAssociation[] laa) {
+    public static List concatAssociations(CharAssociation[] baa, CharAssociation[] iaa, CharAssociation[] laa) {
         int na = 0;
         if (baa != null) {
             na += baa.length;
@@ -463,20 +463,20 @@ public class GlyphSequence implements Cloneable {
             na += laa.length;
         }
         if (na > 0) {
-            List gl = new ArrayList (na);
+            List gl = new ArrayList(na);
             if (baa != null) {
                 for (int i = 0; i < baa.length; i++) {
-                    gl.add (baa[i]);
+                    gl.add(baa[i]);
                 }
             }
             if (iaa != null) {
                 for (int i = 0; i < iaa.length; i++) {
-                    gl.add (iaa[i]);
+                    gl.add(iaa[i]);
                 }
             }
             if (laa != null) {
                 for (int i = 0; i < laa.length; i++) {
-                    gl.add (laa[i]);
+                    gl.add(laa[i]);
                 }
             }
             return gl;
@@ -491,7 +491,7 @@ public class GlyphSequence implements Cloneable {
      * @param sa array of glyph sequences, whose glyph arrays and association lists are to be concatenated
      * @return new glyph sequence referring to character array of GS and concatenated glyphs and associations of SA
      */
-    public static GlyphSequence join (GlyphSequence gs, GlyphSequence[] sa) {
+    public static GlyphSequence join(GlyphSequence gs, GlyphSequence[] sa) {
         assert sa != null;
         int tg = 0;
         int ta = 0;
@@ -507,14 +507,14 @@ public class GlyphSequence implements Cloneable {
             tg += ng;
             ta += na;
         }
-        IntBuffer uga = IntBuffer.allocate (tg);
-        ArrayList ual = new ArrayList (ta);
+        IntBuffer uga = IntBuffer.allocate(tg);
+        ArrayList ual = new ArrayList(ta);
         for (int i = 0, n = sa.length; i < n; i++) {
             GlyphSequence s = sa [ i ];
-            uga.put (s.getGlyphs());
-            ual.addAll (s.getAssociations());
+            uga.put(s.getGlyphs());
+            ual.addAll(s.getAssociations());
         }
-        return new GlyphSequence (gs.getCharacters(), uga, ual, gs.getPredications());
+        return new GlyphSequence(gs.getCharacters(), uga, ual, gs.getPredications());
     }
 
     /**
@@ -525,12 +525,12 @@ public class GlyphSequence implements Cloneable {
      * @param target index to which source sub-sequence is to be moved
      * @return reordered sequence (or original if no reordering performed)
      */
-    public static GlyphSequence reorder (GlyphSequence gs, int source, int count, int target) {
+    public static GlyphSequence reorder(GlyphSequence gs, int source, int count, int target) {
         if (source != target) {
             int   ng  = gs.getGlyphCount();
-            int[] ga  = gs.getGlyphArray (false);
+            int[] ga  = gs.getGlyphArray(false);
             int[] nga = new int [ ng ];
-            GlyphSequence.CharAssociation[] aa  = gs.getAssociations (0, ng);
+            GlyphSequence.CharAssociation[] aa  = gs.getAssociations(0, ng);
             GlyphSequence.CharAssociation[] naa = new GlyphSequence.CharAssociation [ ng ];
             if (source < target) {
                 int t = 0;
@@ -569,49 +569,49 @@ public class GlyphSequence implements Cloneable {
                     naa[t] = aa[s];
                 }
             }
-            return new GlyphSequence (gs, null, nga, null, null, naa, null);
+            return new GlyphSequence(gs, null, nga, null, null, naa, null);
         } else {
             return gs;
         }
     }
 
-    private static int[] toArray (IntBuffer ib) {
+    private static int[] toArray(IntBuffer ib) {
         if (ib != null) {
             int n = ib.limit();
             int[] ia = new int[n];
-            ib.get (ia, 0, n);
+            ib.get(ia, 0, n);
             return ia;
         } else {
             return new int[0];
         }
     }
 
-    private static List makeIdentityAssociations (int numChars, int numGlyphs) {
+    private static List makeIdentityAssociations(int numChars, int numGlyphs) {
         int nc = numChars;
         int ng = numGlyphs;
-        List av = new ArrayList (ng);
+        List av = new ArrayList(ng);
         for (int i = 0, n = ng; i < n; i++) {
             int k = (i > nc) ? nc : i;
-            av.add (new CharAssociation (i, (k == nc) ? 0 : 1));
+            av.add(new CharAssociation(i, (k == nc) ? 0 : 1));
         }
         return av;
     }
 
-    private static IntBuffer copyBuffer (IntBuffer ib) {
+    private static IntBuffer copyBuffer(IntBuffer ib) {
         if (ib != null) {
             int[] ia = new int [ ib.capacity() ];
             int   p  = ib.position();
             int   l  = ib.limit();
-            System.arraycopy (ib.array(), 0, ia, 0, ia.length);
-            return IntBuffer.wrap (ia, p, l - p);
+            System.arraycopy(ib.array(), 0, ia, 0, ia.length);
+            return IntBuffer.wrap(ia, p, l - p);
         } else {
             return null;
         }
     }
 
-    private static List copyAssociations (List ca) {
+    private static List copyAssociations(List ca) {
         if (ca != null) {
-            return new ArrayList (ca);
+            return new ArrayList(ca);
         } else {
             return ca;
         }
@@ -645,7 +645,7 @@ public class GlyphSequence implements Cloneable {
         private static volatile Map<String,PredicationMerger> predicationMergers;
 
         interface PredicationMerger {
-            Object merge (String key, Object v1, Object v2);
+            Object merge(String key, Object v1, Object v2);
         }
 
         /**
@@ -656,7 +656,7 @@ public class GlyphSequence implements Cloneable {
          * members of array are sub-interval starts, and odd members are sub-interval
          * ends (exclusive)
          */
-        public CharAssociation (int offset, int count, int[] subIntervals) {
+        public CharAssociation(int offset, int count, int[] subIntervals) {
             this.offset = offset;
             this.count = count;
             this.subIntervals = ((subIntervals != null) && (subIntervals.length > 2)) ? subIntervals : null;
@@ -667,7 +667,7 @@ public class GlyphSequence implements Cloneable {
          * @param offset into array of UTF-16 code elements (in associated CharSequence)
          * @param count of UTF-16 character code elements (in associated CharSequence)
          */
-        public CharAssociation (int offset, int count) {
+        public CharAssociation(int offset, int count) {
             this (offset, count, null);
         }
 
@@ -677,8 +677,8 @@ public class GlyphSequence implements Cloneable {
          * members of array are sub-interval starts, and odd members are sub-interval
          * ends (exclusive)
          */
-        public CharAssociation (int[] subIntervals) {
-            this (getSubIntervalsStart (subIntervals), getSubIntervalsLength (subIntervals), subIntervals);
+        public CharAssociation(int[] subIntervals) {
+            this (getSubIntervalsStart(subIntervals), getSubIntervalsLength(subIntervals), subIntervals);
         }
 
         /** @return offset (start of association interval) */
@@ -721,7 +721,7 @@ public class GlyphSequence implements Cloneable {
          * @param count length of interval
          * @return true if this association is contained within [offset,offset+count)
          */
-        public boolean contained (int offset, int count) {
+        public boolean contained(int offset, int count) {
             int s = offset;
             int e = offset + count;
             if (! isDisjoint()) {
@@ -746,12 +746,12 @@ public class GlyphSequence implements Cloneable {
          * @param key predication key
          * @param value predication value
          */
-        public void setPredication (String key, Object value) {
+        public void setPredication(String key, Object value) {
             if (predications == null) {
                 predications = new HashMap<String,Object>();
             }
             if (predications != null) {
-                predications.put (key, value);
+                predications.put(key, value);
             }
         }
 
@@ -760,9 +760,9 @@ public class GlyphSequence implements Cloneable {
          * @param key predication key
          * @return predication KEY at OFFSET or null if none exists
          */
-        public Object getPredication (String key) {
+        public Object getPredication(String key) {
             if (predications != null) {
-                return predications.get (key);
+                return predications.get(key);
             } else {
                 return null;
             }
@@ -773,17 +773,17 @@ public class GlyphSequence implements Cloneable {
          * @param key predication key
          * @param value predication value
          */
-        public void mergePredication (String key, Object value) {
+        public void mergePredication(String key, Object value) {
             if (predications == null) {
                 predications = new HashMap<String,Object>();
             }
             if (predications != null) {
-                if (predications.containsKey (key)) {
-                    Object v1 = predications.get (key);
+                if (predications.containsKey(key)) {
+                    Object v1 = predications.get(key);
                     Object v2 = value;
-                    predications.put (key, mergePredicationValues (key, v1, v2));
+                    predications.put(key, mergePredicationValues(key, v1, v2));
                 } else {
-                    predications.put (key, value);
+                    predications.put(key, value);
                 }
             }
         }
@@ -796,10 +796,10 @@ public class GlyphSequence implements Cloneable {
          * @param v2 second (to be merged) predication value
          * @return merged value
          */
-        public static Object mergePredicationValues (String key, Object v1, Object v2) {
-            PredicationMerger pm = getPredicationMerger (key);
+        public static Object mergePredicationValues(String key, Object v1, Object v2) {
+            PredicationMerger pm = getPredicationMerger(key);
             if (pm != null) {
-                return pm.merge (key, v1, v2);
+                return pm.merge(key, v1, v2);
             } else if (v2 != null) {
                 return v2;
             } else {
@@ -811,10 +811,10 @@ public class GlyphSequence implements Cloneable {
          * Merge predications from another CA.
          * @param ca from which to merge
          */
-        public void mergePredications (CharAssociation ca) {
+        public void mergePredications(CharAssociation ca) {
             if (ca.predications != null) {
                 for (Map.Entry<String,Object> e : ca.predications.entrySet()) {
-                    mergePredication (e.getKey(), e.getValue());
+                    mergePredication(e.getKey(), e.getValue());
                 }
             }
         }
@@ -824,7 +824,7 @@ public class GlyphSequence implements Cloneable {
             try {
                 CharAssociation ca = (CharAssociation) super.clone();
                 if (predications != null) {
-                    ca.predications = new HashMap<String,Object> (predications);
+                    ca.predications = new HashMap<String,Object>(predications);
                 }
                 return ca;
             } catch (CloneNotSupportedException e) {
@@ -837,12 +837,12 @@ public class GlyphSequence implements Cloneable {
          * @param key for predication merger
          * @param pm predication merger
          */
-        public static void setPredicationMerger (String key, PredicationMerger pm) {
+        public static void setPredicationMerger(String key, PredicationMerger pm) {
             if (predicationMergers == null) {
                 predicationMergers = new HashMap<String,PredicationMerger>();
             }
             if (predicationMergers != null) {
-                predicationMergers.put (key, pm);
+                predicationMergers.put(key, pm);
             }
         }
 
@@ -851,9 +851,9 @@ public class GlyphSequence implements Cloneable {
          * @param key for predication merger
          * @return predication merger or null if none exists
          */
-        public static PredicationMerger getPredicationMerger (String key) {
+        public static PredicationMerger getPredicationMerger(String key) {
             if (predicationMergers != null) {
-                return predicationMergers.get (key);
+                return predicationMergers.get(key);
             } else {
                 return null;
             }
@@ -865,7 +865,7 @@ public class GlyphSequence implements Cloneable {
          * @param repeat count
          * @return array of replicated associations
          */
-        public static CharAssociation[] replicate (CharAssociation a, int repeat) {
+        public static CharAssociation[] replicate(CharAssociation a, int repeat) {
             CharAssociation[] aa = new CharAssociation [ repeat ];
             for (int i = 0, n = aa.length; i < n; i++) {
                 aa [ i ] = (CharAssociation) a.clone();
@@ -879,30 +879,30 @@ public class GlyphSequence implements Cloneable {
          * @param aa array of associations to join
          * @return (possibly disjoint) association containing joined associations
          */
-        public static CharAssociation join (CharAssociation[] aa) {
+        public static CharAssociation join(CharAssociation[] aa) {
             CharAssociation ca;
             // extract sorted intervals
-            int[] ia = extractIntervals (aa);
+            int[] ia = extractIntervals(aa);
             if ((ia == null) || (ia.length == 0)) {
-                ca = new CharAssociation (0, 0);
+                ca = new CharAssociation(0, 0);
             } else if (ia.length == 2) {
                 int s = ia[0];
                 int e = ia[1];
-                ca = new CharAssociation (s, e - s);
+                ca = new CharAssociation(s, e - s);
             } else {
-                ca = new CharAssociation (mergeIntervals (ia));
+                ca = new CharAssociation(mergeIntervals(ia));
             }
-            return mergePredicates (ca, aa);
+            return mergePredicates(ca, aa);
         }
 
-        private static CharAssociation mergePredicates (CharAssociation ca, CharAssociation[] aa) {
+        private static CharAssociation mergePredicates(CharAssociation ca, CharAssociation[] aa) {
             for (CharAssociation a : aa) {
-                ca.mergePredications (a);
+                ca.mergePredications(a);
             }
             return ca;
         }
 
-        private static int getSubIntervalsStart (int[] ia) {
+        private static int getSubIntervalsStart(int[] ia) {
             int us = Integer.MAX_VALUE;
             int ue = Integer.MIN_VALUE;
             if (ia != null) {
@@ -926,7 +926,7 @@ public class GlyphSequence implements Cloneable {
             return us;
         }
 
-        private static int getSubIntervalsLength (int[] ia) {
+        private static int getSubIntervalsLength(int[] ia) {
             int us = Integer.MAX_VALUE;
             int ue = Integer.MIN_VALUE;
             if (ia != null) {
@@ -953,7 +953,7 @@ public class GlyphSequence implements Cloneable {
         /**
          * Extract sorted sub-intervals.
          */
-        private static int[] extractIntervals (CharAssociation[] aa) {
+        private static int[] extractIntervals(CharAssociation[] aa) {
             int ni = 0;
             for (int i = 0, n = aa.length; i < n; i++) {
                 CharAssociation a = aa [ i ];
@@ -980,7 +980,7 @@ public class GlyphSequence implements Cloneable {
                     k++;
                 }
             }
-            return sortIntervals (sa, ea);
+            return sortIntervals(sa, ea);
         }
 
         private static final int[] sortIncrements16                                                             // CSOK: ConstantNameCheck
@@ -992,7 +992,7 @@ public class GlyphSequence implements Cloneable {
         /**
          * Sort sub-intervals using modified Shell Sort.
          */
-        private static int[] sortIntervals (int[] sa, int[] ea) {
+        private static int[] sortIntervals(int[] sa, int[] ea) {
             assert sa != null;
             assert ea != null;
             assert sa.length == ea.length;
@@ -1030,7 +1030,7 @@ public class GlyphSequence implements Cloneable {
         /**
          * Merge overlapping and abutting sub-intervals.
          */
-        private static int[] mergeIntervals (int[] ia) {
+        private static int[] mergeIntervals(int[] ia) {
             int ni = ia.length;
             int i;
             int n;
index 1d4b4801a227fead839cf02ebbcc6ac35fc7caea..8648dcce6c21c659e32b2491f04ad3d503502e56 100644 (file)
@@ -32,6 +32,6 @@ public interface GlyphTester {
      * @param flags that apply to lookup in scope
      * @return true if test is satisfied
      */
-    boolean test (int gi, int flags);
+    boolean test(int gi, int flags);
 
 }
index 6e480ea81335074b130c65b5452cf5e041d9c4ce..08b4a443489fafa11a781f7072d3a4da2935b8b8 100644 (file)
@@ -115,7 +115,7 @@ public class NumberConverter {
      * @param country (may be null or empty, which is treated as null)
      * @throws IllegalArgumentException if format is not a valid UTF-16 string (e.g., has unpaired surrogate)
      */
-    public NumberConverter (String format, int groupingSeparator, int groupingSize, int letterValue, String features, String language, String country)
+    public NumberConverter(String format, int groupingSeparator, int groupingSize, int letterValue, String features, String language, String country)
         throws IllegalArgumentException {
         this.groupingSeparator = groupingSeparator;
         this.groupingSize = groupingSize;
@@ -123,7 +123,7 @@ public class NumberConverter {
         this.features = features;
         this.language = (language != null) ? language.toLowerCase() : null;
         this.country = (country != null) ? country.toLowerCase() : null;
-        parseFormatTokens (format);
+        parseFormatTokens(format);
     }
 
     /**
@@ -131,10 +131,10 @@ public class NumberConverter {
      * @param number number to conver
      * @return string representing converted number
      */
-    public String convert (long number) {
+    public String convert(long number) {
         List<Long> numbers = new ArrayList<Long>();
-        numbers.add (number);
-        return convert (numbers);
+        numbers.add(number);
+        return convert(numbers);
     }
 
     /**
@@ -142,19 +142,19 @@ public class NumberConverter {
      * @param numbers list of numbers to convert
      * @return string representing converted list of numbers
      */
-    public String convert (List<Long> numbers) {
+    public String convert(List<Long> numbers) {
         List<Integer> scalars = new ArrayList<Integer>();
         if (prefix != null) {
-            appendScalars (scalars, prefix);
+            appendScalars(scalars, prefix);
         }
-        convertNumbers (scalars, numbers);
+        convertNumbers(scalars, numbers);
         if (suffix != null) {
-            appendScalars (scalars, suffix);
+            appendScalars(scalars, suffix);
         }
-        return scalarsToString (scalars);
+        return scalarsToString(scalars);
     }
 
-    private void parseFormatTokens (String format) throws IllegalArgumentException {
+    private void parseFormatTokens(String format) throws IllegalArgumentException {
         List<Integer[]> tokens = new ArrayList<Integer[]>();
         List<Integer[]> separators = new ArrayList<Integer[]>();
         if ((format == null) || (format.length() == 0)) {
@@ -162,42 +162,42 @@ public class NumberConverter {
         }
         int tokenType = TOKEN_NONE;
         List<Integer> token = new ArrayList<Integer>();
-        Integer[] ca = UTF32.toUTF32 (format, 0, true);
+        Integer[] ca = UTF32.toUTF32(format, 0, true);
         for (int i = 0, n = ca.length; i < n; i++) {
             int c = ca[i];
-            int tokenTypeNew = isAlphaNumeric (c) ? TOKEN_ALPHANUMERIC : TOKEN_NONALPHANUMERIC;
+            int tokenTypeNew = isAlphaNumeric(c) ? TOKEN_ALPHANUMERIC : TOKEN_NONALPHANUMERIC;
             if (tokenTypeNew != tokenType) {
                 if (token.size() > 0) {
                     if (tokenType == TOKEN_ALPHANUMERIC) {
-                        tokens.add (token.toArray (new Integer [ token.size() ]));
+                        tokens.add(token.toArray(new Integer [ token.size() ]));
                     } else {
-                        separators.add (token.toArray (new Integer [ token.size() ]));
+                        separators.add(token.toArray(new Integer [ token.size() ]));
                     }
                     token.clear();
                 }
                 tokenType = tokenTypeNew;
             }
-            token.add (c);
+            token.add(c);
         }
         if (token.size() > 0) {
             if (tokenType == TOKEN_ALPHANUMERIC) {
-                tokens.add (token.toArray (new Integer [ token.size() ]));
+                tokens.add(token.toArray(new Integer [ token.size() ]));
             } else {
-                separators.add (token.toArray (new Integer [ token.size() ]));
+                separators.add(token.toArray(new Integer [ token.size() ]));
             }
         }
         if (! separators.isEmpty()) {
-            this.prefix = separators.remove (0);
+            this.prefix = separators.remove(0);
         }
         if (! separators.isEmpty()) {
-            this.suffix = separators.remove (separators.size() - 1);
+            this.suffix = separators.remove(separators.size() - 1);
         }
-        this.separators = separators.toArray (new Integer [ separators.size() ] []);
-        this.tokens = tokens.toArray (new Integer [ tokens.size() ] []);
+        this.separators = separators.toArray(new Integer [ separators.size() ] []);
+        this.tokens = tokens.toArray(new Integer [ tokens.size() ] []);
     }
 
-    private static boolean isAlphaNumeric (int c) {
-        switch (Character.getType (c)) {
+    private static boolean isAlphaNumeric(int c) {
+        switch (Character.getType(c)) {
         case Character.DECIMAL_DIGIT_NUMBER:    // Nd
         case Character.LETTER_NUMBER:           // Nl
         case Character.OTHER_NUMBER:            // No
@@ -212,7 +212,7 @@ public class NumberConverter {
         }
     }
 
-    private void convertNumbers (List<Integer> scalars, List<Long> numbers) {
+    private void convertNumbers(List<Integer> scalars, List<Long> numbers) {
         Integer[] tknLast = DEFAULT_TOKEN;
         int   tknIndex = 0;
         int   tknCount = tokens.length;
@@ -234,40 +234,40 @@ public class NumberConverter {
             } else {
                 tkn = tknLast;
             }
-            appendScalars (scalars, convertNumber (number, sep, tkn));
+            appendScalars(scalars, convertNumber(number, sep, tkn));
             tknLast = tkn;
             numIndex++;
         }
     }
 
-    private Integer[] convertNumber (long number, Integer[] separator, Integer[] token) {
+    private Integer[] convertNumber(long number, Integer[] separator, Integer[] token) {
         List<Integer> sl = new ArrayList<Integer>();
         if (separator != null) {
-            appendScalars (sl, separator);
+            appendScalars(sl, separator);
         }
         if (token != null) {
-            appendScalars (sl, formatNumber (number, token));
+            appendScalars(sl, formatNumber(number, token));
         }
-        return sl.toArray (new Integer [ sl.size() ]);
+        return sl.toArray(new Integer [ sl.size() ]);
     }
 
-    private Integer[] formatNumber (long number, Integer[] token) {
+    private Integer[] formatNumber(long number, Integer[] token) {
         Integer[] fn = null;
         assert token.length > 0;
         if (number < 0) {
-            throw new IllegalArgumentException ("number must be non-negative");
+            throw new IllegalArgumentException("number must be non-negative");
         } else if (token.length == 1) {
             int s = token[0].intValue();
             switch (s) {
             case (int) '1':
                 {
-                    fn = formatNumberAsDecimal (number, (int) '1', 1);
+                    fn = formatNumberAsDecimal(number, (int) '1', 1);
                     break;
                 }
             case (int) 'W':
             case (int) 'w':
                 {
-                    fn = formatNumberAsWord (number, (s == (int) 'W') ? Character.UPPERCASE_LETTER : Character.LOWERCASE_LETTER);
+                    fn = formatNumberAsWord(number, (s == (int) 'W') ? Character.UPPERCASE_LETTER : Character.LOWERCASE_LETTER);
                     break;
                 }
             case (int) 'A': // handled as numeric sequence
@@ -276,12 +276,12 @@ public class NumberConverter {
             case (int) 'i': // handled as numeric special
             default:
                 {
-                    if (isStartOfDecimalSequence (s)) {
-                        fn = formatNumberAsDecimal (number, s, 1);
-                    } else if (isStartOfAlphabeticSequence (s)) {
-                        fn = formatNumberAsSequence (number, s, getSequenceBase (s), null);
-                    } else if (isStartOfNumericSpecial (s)) {
-                        fn = formatNumberAsSpecial (number, s);
+                    if (isStartOfDecimalSequence(s)) {
+                        fn = formatNumberAsDecimal(number, s, 1);
+                    } else if (isStartOfAlphabeticSequence(s)) {
+                        fn = formatNumberAsSequence(number, s, getSequenceBase(s), null);
+                    } else if (isStartOfNumericSpecial(s)) {
+                        fn = formatNumberAsSpecial(number, s);
                     } else {
                         fn = null;
                     }
@@ -289,15 +289,15 @@ public class NumberConverter {
                 }
             }
         } else if ((token.length == 2) && (token[0] == (int) 'W') && (token[1] == (int) 'w')) {
-            fn = formatNumberAsWord (number, Character.TITLECASE_LETTER);
-        } else if (isPaddedOne (token)) {
+            fn = formatNumberAsWord(number, Character.TITLECASE_LETTER);
+        } else if (isPaddedOne(token)) {
             int s = token [ token.length - 1 ].intValue();
-            fn = formatNumberAsDecimal (number, s, token.length);
+            fn = formatNumberAsDecimal(number, s, token.length);
         } else {
-            throw new IllegalArgumentException ("invalid format token: \"" + UTF32.fromUTF32 (token) + "\"");
+            throw new IllegalArgumentException("invalid format token: \"" + UTF32.fromUTF32(token) + "\"");
         }
         if (fn == null) {
-            fn = formatNumber (number, DEFAULT_TOKEN);
+            fn = formatNumber(number, DEFAULT_TOKEN);
         }
         assert fn != null;
         return fn;
@@ -311,27 +311,27 @@ public class NumberConverter {
      * @param width non-negative integer denoting field width of number, possible including padding
      * @return formatted number as array of unicode scalars
      */
-    private Integer[] formatNumberAsDecimal (long number, int one, int width) {
-        assert Character.getNumericValue (one) == 1;
-        assert Character.getNumericValue (one - 1) == 0;
-        assert Character.getNumericValue (one + 8) == 9;
+    private Integer[] formatNumberAsDecimal(long number, int one, int width) {
+        assert Character.getNumericValue(one) == 1;
+        assert Character.getNumericValue(one - 1) == 0;
+        assert Character.getNumericValue(one + 8) == 9;
         List<Integer> sl = new ArrayList<Integer>();
         int zero = one - 1;
         while (number > 0) {
             long digit = number % 10;
-            sl.add (0, zero + (int) digit);
+            sl.add(0, zero + (int) digit);
             number = number / 10;
         }
         while (width > sl.size()) {
-            sl.add (0, zero);
+            sl.add(0, zero);
         }
         if ((groupingSize != 0) && (groupingSeparator != 0)) {
-            sl = performGrouping (sl, groupingSize, groupingSeparator);
+            sl = performGrouping(sl, groupingSize, groupingSeparator);
         }
-        return sl.toArray (new Integer [ sl.size() ]);
+        return sl.toArray(new Integer [ sl.size() ]);
     }
 
-    private static List<Integer> performGrouping (List<Integer> sl, int groupingSize, int groupingSeparator) {
+    private static List<Integer> performGrouping(List<Integer> sl, int groupingSize, int groupingSeparator) {
         assert groupingSize > 0;
         assert groupingSeparator != 0;
         if (sl.size() > groupingSize) {
@@ -339,12 +339,12 @@ public class NumberConverter {
             for (int i = 0, n = sl.size(), g = 0; i < n; i++) {
                 int k = n - i - 1;
                 if (g == groupingSize) {
-                    gl.add (0, groupingSeparator);
+                    gl.add(0, groupingSeparator);
                     g = 1;
                 } else {
                     g++;
                 }
-                gl.add (0, sl.get (k));
+                gl.add(0, sl.get(k));
             }
             return gl;
         } else {
@@ -362,7 +362,7 @@ public class NumberConverter {
      * @param map if non-null, then maps sequences indices to unicode scalars
      * @return formatted number as array of unicode scalars
      */
-    private Integer[] formatNumberAsSequence (long number, int one, int base, int[] map) {
+    private Integer[] formatNumberAsSequence(long number, int one, int base, int[] map) {
         assert base > 1;
         assert (map == null) || (map.length >= base);
         List<Integer> sl = new ArrayList<Integer>();
@@ -373,10 +373,10 @@ public class NumberConverter {
             while (n > 0) {
                 int d = (int) ((n - 1) % (long) base);
                 int s = (map != null) ? map [ d ] : (one + d);
-                sl.add (0, s);
+                sl.add(0, s);
                 n = (n - 1) / base;
             }
-            return sl.toArray (new Integer [ sl.size() ]);
+            return sl.toArray(new Integer [ sl.size() ]);
         }
     }
 
@@ -386,10 +386,10 @@ public class NumberConverter {
      * @param one unicode scalar value denoting start of system (numeric value 1)
      * @return formatted number as array of unicode scalars
      */
-    private Integer[] formatNumberAsSpecial (long number, int one) {
-        SpecialNumberFormatter f = getSpecialFormatter (one, letterValue, features, language, country);
+    private Integer[] formatNumberAsSpecial(long number, int one) {
+        SpecialNumberFormatter f = getSpecialFormatter(one, letterValue, features, language, country);
         if (f != null) {
-            return f.format (number, one, letterValue, features, language, country);
+            return f.format(number, one, letterValue, features, language, country);
         } else {
             return null;
         }
@@ -404,27 +404,27 @@ public class NumberConverter {
      * @param caseType unicode character type for case conversion
      * @return formatted number as array of unicode scalars
      */
-    private Integer[] formatNumberAsWord (long number, int caseType) {
+    private Integer[] formatNumberAsWord(long number, int caseType) {
         SpecialNumberFormatter f = null;
-        if (isLanguage ("eng")) {
-            f = new EnglishNumberAsWordFormatter (caseType);
-        } else if (isLanguage ("spa")) {
-            f = new SpanishNumberAsWordFormatter (caseType);
-        } else if (isLanguage ("fra")) {
-            f = new FrenchNumberAsWordFormatter (caseType);
+        if (isLanguage("eng")) {
+            f = new EnglishNumberAsWordFormatter(caseType);
+        } else if (isLanguage("spa")) {
+            f = new SpanishNumberAsWordFormatter(caseType);
+        } else if (isLanguage("fra")) {
+            f = new FrenchNumberAsWordFormatter(caseType);
         } else {
-            f = new EnglishNumberAsWordFormatter (caseType);
+            f = new EnglishNumberAsWordFormatter(caseType);
         }
-        return f.format (number, 0, letterValue, features, language, country);
+        return f.format(number, 0, letterValue, features, language, country);
     }
 
-    private boolean isLanguage (String iso3Code) {
+    private boolean isLanguage(String iso3Code) {
         if (language == null) {
             return false;
-        } else if (language.equals (iso3Code)) {
+        } else if (language.equals(iso3Code)) {
             return true;
         } else {
-            return isSameLanguage (iso3Code, language);
+            return isSameLanguage(iso3Code, language);
         }
     }
 
@@ -434,12 +434,12 @@ public class NumberConverter {
         { "spa", "es" },
     };
 
-    private static boolean isSameLanguage (String i3c, String lc) {
+    private static boolean isSameLanguage(String i3c, String lc) {
         for (String[] el : equivalentLanguages) {
             assert el.length >= 2;
-            if (el[0].equals (i3c)) {
+            if (el[0].equals(i3c)) {
                 for (int i = 0, n = el.length; i < n; i++) {
-                    if (el[i].equals (lc)) {
+                    if (el[i].equals(lc)) {
                         return true;
                     }
                 }
@@ -449,7 +449,7 @@ public class NumberConverter {
         return false;
     }
 
-    private static boolean hasFeature (String features, String feature) {
+    private static boolean hasFeature(String features, String feature) {
         if (features != null) {
             assert feature != null;
             assert feature.length() != 0;
@@ -459,7 +459,7 @@ public class NumberConverter {
                 assert fp.length > 0;
                 String   fn = fp[0];
                 String   fv = (fp.length > 1) ? fp[1] : "";
-                if (fn.equals (feature)) {
+                if (fn.equals(feature)) {
                     return true;
                 }
             }
@@ -487,23 +487,23 @@ public class NumberConverter {
     }
     */
 
-    private static void appendScalars (List<Integer> scalars, Integer[] sa) {
+    private static void appendScalars(List<Integer> scalars, Integer[] sa) {
         for (Integer s : sa) {
-            scalars.add (s);
+            scalars.add(s);
         }
     }
 
-    private static String scalarsToString (List<Integer> scalars) {
-        Integer[] sa = scalars.toArray (new Integer [ scalars.size() ]);
-        return UTF32.fromUTF32 (sa);
+    private static String scalarsToString(List<Integer> scalars) {
+        Integer[] sa = scalars.toArray(new Integer [ scalars.size() ]);
+        return UTF32.fromUTF32(sa);
     }
 
-    private static boolean isPaddedOne (Integer[] token) {
-        if (getDecimalValue (token [ token.length - 1 ]) != 1) {
+    private static boolean isPaddedOne(Integer[] token) {
+        if (getDecimalValue(token [ token.length - 1 ]) != 1) {
             return false;
         } else {
             for (int i = 0, n = token.length - 1; i < n; i++) {
-                if (getDecimalValue (token [ i ]) != 0) {
+                if (getDecimalValue(token [ i ]) != 0) {
                     return false;
                 }
             }
@@ -511,19 +511,19 @@ public class NumberConverter {
         }
     }
 
-    private static int getDecimalValue (Integer scalar) {
+    private static int getDecimalValue(Integer scalar) {
         int s = scalar.intValue();
-        if (Character.getType (s) == Character.DECIMAL_DIGIT_NUMBER) {
-            return Character.getNumericValue (s);
+        if (Character.getType(s) == Character.DECIMAL_DIGIT_NUMBER) {
+            return Character.getNumericValue(s);
         } else {
             return -1;
         }
     }
 
-    private static boolean isStartOfDecimalSequence (int s) {
-        return (Character.getNumericValue (s) == 1)
-            && (Character.getNumericValue (s - 1) == 0)
-            && (Character.getNumericValue (s + 8) == 9);
+    private static boolean isStartOfDecimalSequence(int s) {
+        return (Character.getNumericValue(s) == 1)
+            && (Character.getNumericValue(s - 1) == 0)
+            && (Character.getNumericValue(s + 8) == 9);
     }
 
     private static int[][] supportedAlphabeticSequences = {
@@ -531,7 +531,7 @@ public class NumberConverter {
         { 'a', 26 },            // a...z
     };
 
-    private static boolean isStartOfAlphabeticSequence (int s) {
+    private static boolean isStartOfAlphabeticSequence(int s) {
         for (int[] ss : supportedAlphabeticSequences) {
             assert ss.length >= 2;
             if (ss[0] == s) {
@@ -541,7 +541,7 @@ public class NumberConverter {
         return false;
     }
 
-    private static int getSequenceBase (int s) {
+    private static int getSequenceBase(int s) {
         for (int[] ss : supportedAlphabeticSequences) {
             assert ss.length >= 2;
             if (ss[0] == s) {
@@ -566,7 +566,7 @@ public class NumberConverter {
         { '\u30A4' },           // kana - katakana (iroha)
     };
 
-    private static boolean isStartOfNumericSpecial (int s) {
+    private static boolean isStartOfNumericSpecial(int s) {
         for (int[] ss : supportedSpecials) {
             assert ss.length >= 1;
             if (ss[0] == s) {
@@ -576,7 +576,7 @@ public class NumberConverter {
         return false;
     }
 
-    private SpecialNumberFormatter getSpecialFormatter (int one, int letterValue, String features, String language, String country) {
+    private SpecialNumberFormatter getSpecialFormatter(int one, int letterValue, String features, String language, String country) {
         if (one == (int) 'I') {
             return new RomanNumeralsFormatter();
         } else if (one == (int) 'i') {
@@ -606,20 +606,20 @@ public class NumberConverter {
         }
     }
 
-    private static Integer[] toUpperCase (Integer[] sa) {
+    private static Integer[] toUpperCase(Integer[] sa) {
         assert sa != null;
         for (int i = 0, n = sa.length; i < n; i++) {
             Integer s = sa [ i ];
-            sa [ i ] = Character.toUpperCase (s);
+            sa [ i ] = Character.toUpperCase(s);
         }
         return sa;
     }
 
-    private static Integer[] toLowerCase (Integer[] sa) {
+    private static Integer[] toLowerCase(Integer[] sa) {
         assert sa != null;
         for (int i = 0, n = sa.length; i < n; i++) {
             Integer s = sa [ i ];
-            sa [ i ] = Character.toLowerCase (s);
+            sa [ i ] = Character.toLowerCase(s);
         }
         return sa;
     }
@@ -634,15 +634,15 @@ public class NumberConverter {
     }
     */
 
-    private static List<String> convertWordCase (List<String> words, int caseType) {
+    private static List<String> convertWordCase(List<String> words, int caseType) {
         List<String> wl = new ArrayList<String>();
         for (String w : words) {
-            wl.add (convertWordCase (w, caseType));
+            wl.add(convertWordCase(w, caseType));
         }
         return wl;
     }
 
-    private static String convertWordCase (String word, int caseType) {
+    private static String convertWordCase(String word, int caseType) {
         if (caseType == Character.UPPERCASE_LETTER) {
             return word.toUpperCase();
         } else if (caseType == Character.LOWERCASE_LETTER) {
@@ -650,11 +650,11 @@ public class NumberConverter {
         } else if (caseType == Character.TITLECASE_LETTER) {
             StringBuffer sb = new StringBuffer();
             for (int i = 0, n = word.length(); i < n; i++) {
-                String s = word.substring (i, i + 1);
+                String s = word.substring(i, i + 1);
                 if (i == 0) {
-                    sb.append (s.toUpperCase());
+                    sb.append(s.toUpperCase());
                 } else {
-                    sb.append (s.toLowerCase());
+                    sb.append(s.toLowerCase());
                 }
             }
             return sb.toString();
@@ -663,13 +663,13 @@ public class NumberConverter {
         }
     }
 
-    private static String joinWords (List<String> words, String separator) {
+    private static String joinWords(List<String> words, String separator) {
         StringBuffer sb = new StringBuffer();
         for (String w : words) {
             if (sb.length() > 0) {
-                sb.append (separator);
+                sb.append(separator);
             }
-            sb.append (w);
+            sb.append(w);
         }
         return sb.toString();
     }
@@ -688,7 +688,7 @@ public class NumberConverter {
          * @param country denotes applicable country
          * @return formatted number as array of unicode scalars
          */
-        Integer[] format (long number, int one, int letterValue, String features, String language, String country);
+        Integer[] format(long number, int one, int letterValue, String features, String language, String country);
     }
 
     /**
@@ -704,98 +704,98 @@ public class NumberConverter {
     private static String[] englishWordOthersOrd = { "hundredth", "thousandth", "millionth", "billionth" };
     private static class EnglishNumberAsWordFormatter implements SpecialNumberFormatter {
         private int caseType = Character.UPPERCASE_LETTER;
-        EnglishNumberAsWordFormatter (int caseType) {
+        EnglishNumberAsWordFormatter(int caseType) {
             this.caseType = caseType;
         }
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             List<String> wl = new ArrayList<String>();
             if (number >= 1000000000000L) {
                 return null;
             } else {
-                boolean ordinal = hasFeature (features, "ordinal");
+                boolean ordinal = hasFeature(features, "ordinal");
                 if (number == 0) {
-                    wl.add (englishWordOnes [ 0 ]);
+                    wl.add(englishWordOnes [ 0 ]);
                 } else if (ordinal && (number < 10)) {
-                    wl.add (englishWordOnesOrd [ (int) number ]);
+                    wl.add(englishWordOnesOrd [ (int) number ]);
                 } else {
                     int ones = (int) (number % 1000);
                     int thousands = (int) ((number / 1000) % 1000);
                     int millions = (int) ((number / 1000000) % 1000);
                     int billions = (int) ((number / 1000000000) % 1000);
                     if (billions > 0) {
-                        wl = formatOnesInThousand (wl, billions);
+                        wl = formatOnesInThousand(wl, billions);
                         if (ordinal && ((number % 1000000000) == 0)) {
-                            wl.add (englishWordOthersOrd[3]);
+                            wl.add(englishWordOthersOrd[3]);
                         } else {
-                            wl.add (englishWordOthers[3]);
+                            wl.add(englishWordOthers[3]);
                         }
                     }
                     if (millions > 0) {
-                        wl = formatOnesInThousand (wl, millions);
+                        wl = formatOnesInThousand(wl, millions);
                         if (ordinal && ((number % 1000000) == 0)) {
-                            wl.add (englishWordOthersOrd[2]);
+                            wl.add(englishWordOthersOrd[2]);
                         } else {
-                            wl.add (englishWordOthers[2]);
+                            wl.add(englishWordOthers[2]);
                         }
                     }
                     if (thousands > 0) {
-                        wl = formatOnesInThousand (wl, thousands);
+                        wl = formatOnesInThousand(wl, thousands);
                         if (ordinal && ((number % 1000) == 0)) {
-                            wl.add (englishWordOthersOrd[1]);
+                            wl.add(englishWordOthersOrd[1]);
                         } else {
-                            wl.add (englishWordOthers[1]);
+                            wl.add(englishWordOthers[1]);
                         }
                     }
                     if (ones > 0) {
-                        wl = formatOnesInThousand (wl, ones, ordinal);
+                        wl = formatOnesInThousand(wl, ones, ordinal);
                     }
                 }
-                wl = convertWordCase (wl, caseType);
-                return UTF32.toUTF32 (joinWords (wl, " "), 0, true);
+                wl = convertWordCase(wl, caseType);
+                return UTF32.toUTF32(joinWords(wl, " "), 0, true);
             }
         }
-        private List<String> formatOnesInThousand (List<String> wl, int number) {
-            return formatOnesInThousand (wl, number, false);
+        private List<String> formatOnesInThousand(List<String> wl, int number) {
+            return formatOnesInThousand(wl, number, false);
         }
-        private List<String> formatOnesInThousand (List<String> wl, int number, boolean ordinal) {
+        private List<String> formatOnesInThousand(List<String> wl, int number, boolean ordinal) {
             assert number < 1000;
             int ones = number % 10;
             int tens = (number / 10) % 10;
             int hundreds = (number / 100) % 10;
             if (hundreds > 0) {
-                wl.add (englishWordOnes [ hundreds ]);
+                wl.add(englishWordOnes [ hundreds ]);
                 if (ordinal && ((number % 100) == 0)) {
-                    wl.add (englishWordOthersOrd[0]);
+                    wl.add(englishWordOthersOrd[0]);
                 } else {
-                    wl.add (englishWordOthers[0]);
+                    wl.add(englishWordOthers[0]);
                 }
             }
             if (tens > 0) {
                 if (tens == 1) {
                     if (ordinal) {
-                        wl.add (englishWordTeensOrd [ ones ]);
+                        wl.add(englishWordTeensOrd [ ones ]);
                     } else {
-                        wl.add (englishWordTeens [ ones ]);
+                        wl.add(englishWordTeens [ ones ]);
                     }
                 } else {
                     if (ordinal && (ones == 0)) {
-                        wl.add (englishWordTensOrd [ tens ]);
+                        wl.add(englishWordTensOrd [ tens ]);
                     } else {
-                        wl.add (englishWordTens [ tens ]);
+                        wl.add(englishWordTens [ tens ]);
                     }
                     if (ones > 0) {
                         if (ordinal) {
-                            wl.add (englishWordOnesOrd [ ones ]);
+                            wl.add(englishWordOnesOrd [ ones ]);
                         } else {
-                            wl.add (englishWordOnes [ ones ]);
+                            wl.add(englishWordOnes [ ones ]);
                         }
                     }
                 }
             } else if (ones > 0) {
                 if (ordinal) {
-                    wl.add (englishWordOnesOrd [ ones ]);
+                    wl.add(englishWordOnesOrd [ ones ]);
                 } else {
-                    wl.add (englishWordOnes [ ones ]);
+                    wl.add(englishWordOnes [ ones ]);
                 }
             }
             return wl;
@@ -813,23 +813,23 @@ public class NumberConverter {
     private static String[] frenchWordOnesOrdFemale = { "premi\u00e8re", "deuxi\u00e8me", "troisi\u00e8me", "quatri\u00e8me", "cinqui\u00e8me", "sixi\u00e8me", "septi\u00e8me", "huiti\u00e8me", "neuvi\u00e8me", "dixi\u00e8me" };
     private static class FrenchNumberAsWordFormatter implements SpecialNumberFormatter {
         private int caseType = Character.UPPERCASE_LETTER;
-        FrenchNumberAsWordFormatter (int caseType) {
+        FrenchNumberAsWordFormatter(int caseType) {
             this.caseType = caseType;
         }
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             List<String> wl = new ArrayList<String>();
             if (number >= 1000000000000L) {
                 return null;
             } else {
-                boolean ordinal = hasFeature (features, "ordinal");
+                boolean ordinal = hasFeature(features, "ordinal");
                 if (number == 0) {
-                    wl.add (frenchWordOnes [ 0 ]);
+                    wl.add(frenchWordOnes [ 0 ]);
                 } else if (ordinal && (number <= 10)) {
-                    boolean female = hasFeature (features, "female");
+                    boolean female = hasFeature(features, "female");
                     if (female) {
-                        wl.add (frenchWordOnesOrdFemale [ (int) number ]);
+                        wl.add(frenchWordOnesOrdFemale [ (int) number ]);
                     } else {
-                        wl.add (frenchWordOnesOrdMale [ (int) number ]);
+                        wl.add(frenchWordOnesOrdMale [ (int) number ]);
                     }
                 } else {
                     int ones = (int) (number % 1000);
@@ -837,98 +837,98 @@ public class NumberConverter {
                     int millions = (int) ((number / 1000000) % 1000);
                     int billions = (int) ((number / 1000000000) % 1000);
                     if (billions > 0) {
-                        wl = formatOnesInThousand (wl, billions);
+                        wl = formatOnesInThousand(wl, billions);
                         if (billions == 1) {
-                            wl.add (frenchWordOthers[5]);
+                            wl.add(frenchWordOthers[5]);
                         } else {
-                            wl.add (frenchWordOthers[6]);
+                            wl.add(frenchWordOthers[6]);
                         }
                     }
                     if (millions > 0) {
-                        wl = formatOnesInThousand (wl, millions);
+                        wl = formatOnesInThousand(wl, millions);
                         if (millions == 1) {
-                            wl.add (frenchWordOthers[3]);
+                            wl.add(frenchWordOthers[3]);
                         } else {
-                            wl.add (frenchWordOthers[4]);
+                            wl.add(frenchWordOthers[4]);
                         }
                     }
                     if (thousands > 0) {
                         if (thousands > 1) {
-                            wl = formatOnesInThousand (wl, thousands);
+                            wl = formatOnesInThousand(wl, thousands);
                         }
-                        wl.add (frenchWordOthers[2]);
+                        wl.add(frenchWordOthers[2]);
                     }
                     if (ones > 0) {
-                        wl = formatOnesInThousand (wl, ones);
+                        wl = formatOnesInThousand(wl, ones);
                     }
                 }
-                wl = convertWordCase (wl, caseType);
-                return UTF32.toUTF32 (joinWords (wl, " "), 0, true);
+                wl = convertWordCase(wl, caseType);
+                return UTF32.toUTF32(joinWords(wl, " "), 0, true);
             }
         }
-        private List<String> formatOnesInThousand (List<String> wl, int number) {
+        private List<String> formatOnesInThousand(List<String> wl, int number) {
             assert number < 1000;
             int ones = number % 10;
             int tens = (number / 10) % 10;
             int hundreds = (number / 100) % 10;
             if (hundreds > 0) {
                 if (hundreds > 1) {
-                    wl.add (frenchWordOnes [ hundreds ]);
+                    wl.add(frenchWordOnes [ hundreds ]);
                 }
                 if ((hundreds > 1) && (tens == 0) && (ones == 0)) {
-                    wl.add (frenchWordOthers[1]);
+                    wl.add(frenchWordOthers[1]);
                 } else {
-                    wl.add (frenchWordOthers[0]);
+                    wl.add(frenchWordOthers[0]);
                 }
             }
             if (tens > 0) {
                 if (tens == 1) {
-                    wl.add (frenchWordTeens [ ones ]);
+                    wl.add(frenchWordTeens [ ones ]);
                 } else if (tens < 7) {
                     if (ones == 1) {
-                        wl.add (frenchWordTens [ tens ]);
-                        wl.add ("et");
-                        wl.add (frenchWordOnes [ ones ]);
+                        wl.add(frenchWordTens [ tens ]);
+                        wl.add("et");
+                        wl.add(frenchWordOnes [ ones ]);
                     } else {
                         StringBuffer sb = new StringBuffer();
-                        sb.append (frenchWordTens [ tens ]);
+                        sb.append(frenchWordTens [ tens ]);
                         if (ones > 0) {
-                            sb.append ('-');
-                            sb.append (frenchWordOnes [ ones ]);
+                            sb.append('-');
+                            sb.append(frenchWordOnes [ ones ]);
                         }
-                        wl.add (sb.toString());
+                        wl.add(sb.toString());
                     }
                 } else if (tens == 7) {
                     if (ones == 1) {
-                        wl.add (frenchWordTens [ 6 ]);
-                        wl.add ("et");
-                        wl.add (frenchWordTeens [ ones ]);
+                        wl.add(frenchWordTens [ 6 ]);
+                        wl.add("et");
+                        wl.add(frenchWordTeens [ ones ]);
                     } else {
                         StringBuffer sb = new StringBuffer();
-                        sb.append (frenchWordTens [ 6 ]);
-                        sb.append ('-');
-                        sb.append (frenchWordTeens [ ones ]);
-                        wl.add (sb.toString());
+                        sb.append(frenchWordTens [ 6 ]);
+                        sb.append('-');
+                        sb.append(frenchWordTeens [ ones ]);
+                        wl.add(sb.toString());
                     }
                 } else if (tens == 8) {
                     StringBuffer sb = new StringBuffer();
-                    sb.append (frenchWordTens [ tens ]);
+                    sb.append(frenchWordTens [ tens ]);
                     if (ones > 0) {
-                        sb.append ('-');
-                        sb.append (frenchWordOnes [ ones ]);
+                        sb.append('-');
+                        sb.append(frenchWordOnes [ ones ]);
                     } else {
-                        sb.append ('s');
+                        sb.append('s');
                     }
-                    wl.add (sb.toString());
+                    wl.add(sb.toString());
                 } else if (tens == 9) {
                     StringBuffer sb = new StringBuffer();
-                    sb.append (frenchWordTens [ 8 ]);
-                    sb.append ('-');
-                    sb.append (frenchWordTeens [ ones ]);
-                    wl.add (sb.toString());
+                    sb.append(frenchWordTens [ 8 ]);
+                    sb.append('-');
+                    sb.append(frenchWordTeens [ ones ]);
+                    wl.add(sb.toString());
                 }
             } else if (ones > 0) {
-                wl.add (frenchWordOnes [ ones ]);
+                wl.add(frenchWordOnes [ ones ]);
             }
             return wl;
         }
@@ -947,23 +947,23 @@ public class NumberConverter {
     private static String[] spanishWordOnesOrdFemale = { "ninguna", "primera", "segunda", "tercera", "cuarta", "quinta", "sexta", "s\u00e9ptima", "octava", "noventa", "d\u00e9cima" };
     private static class SpanishNumberAsWordFormatter implements SpecialNumberFormatter {
         private int caseType = Character.UPPERCASE_LETTER;
-        SpanishNumberAsWordFormatter (int caseType) {
+        SpanishNumberAsWordFormatter(int caseType) {
             this.caseType = caseType;
         }
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             List<String> wl = new ArrayList<String>();
             if (number >= 1000000000000L) {
                 return null;
             } else {
-                boolean ordinal = hasFeature (features, "ordinal");
+                boolean ordinal = hasFeature(features, "ordinal");
                 if (number == 0) {
-                    wl.add (spanishWordOnes [ 0 ]);
+                    wl.add(spanishWordOnes [ 0 ]);
                 } else if (ordinal && (number <= 10)) {
-                    boolean female = hasFeature (features, "female");
+                    boolean female = hasFeature(features, "female");
                     if (female) {
-                        wl.add (spanishWordOnesOrdFemale [ (int) number ]);
+                        wl.add(spanishWordOnesOrdFemale [ (int) number ]);
                     } else {
-                        wl.add (spanishWordOnesOrdMale [ (int) number ]);
+                        wl.add(spanishWordOnesOrdMale [ (int) number ]);
                     }
                 } else {
                     int ones = (int) (number % 1000);
@@ -972,63 +972,63 @@ public class NumberConverter {
                     int billions = (int) ((number / 1000000000) % 1000);
                     if (billions > 0) {
                         if (billions > 1) {
-                            wl = formatOnesInThousand (wl, billions);
+                            wl = formatOnesInThousand(wl, billions);
                         }
-                        wl.add (spanishWordOthers[2]);
-                        wl.add (spanishWordOthers[4]);
+                        wl.add(spanishWordOthers[2]);
+                        wl.add(spanishWordOthers[4]);
                     }
                     if (millions > 0) {
                         if (millions == 1) {
-                            wl.add (spanishWordOthers[0]);
+                            wl.add(spanishWordOthers[0]);
                         } else {
-                            wl = formatOnesInThousand (wl, millions);
+                            wl = formatOnesInThousand(wl, millions);
                         }
                         if (millions > 1) {
-                            wl.add (spanishWordOthers[4]);
+                            wl.add(spanishWordOthers[4]);
                         } else {
-                            wl.add (spanishWordOthers[3]);
+                            wl.add(spanishWordOthers[3]);
                         }
                     }
                     if (thousands > 0) {
                         if (thousands > 1) {
-                            wl = formatOnesInThousand (wl, thousands);
+                            wl = formatOnesInThousand(wl, thousands);
                         }
-                        wl.add (spanishWordOthers[2]);
+                        wl.add(spanishWordOthers[2]);
                     }
                     if (ones > 0) {
-                        wl = formatOnesInThousand (wl, ones);
+                        wl = formatOnesInThousand(wl, ones);
                     }
                 }
-                wl = convertWordCase (wl, caseType);
-                return UTF32.toUTF32 (joinWords (wl, " "), 0, true);
+                wl = convertWordCase(wl, caseType);
+                return UTF32.toUTF32(joinWords(wl, " "), 0, true);
             }
         }
-        private List<String> formatOnesInThousand (List<String> wl, int number) {
+        private List<String> formatOnesInThousand(List<String> wl, int number) {
             assert number < 1000;
             int ones = number % 10;
             int tens = (number / 10) % 10;
             int hundreds = (number / 100) % 10;
             if (hundreds > 0) {
                 if ((hundreds == 1) && (tens == 0) && (ones == 0)) {
-                    wl.add (spanishWordOthers[1]);
+                    wl.add(spanishWordOthers[1]);
                 } else {
-                    wl.add (spanishWordHundreds [ hundreds ]);
+                    wl.add(spanishWordHundreds [ hundreds ]);
                 }
             }
             if (tens > 0) {
                 if (tens == 1) {
-                    wl.add (spanishWordTeens [ ones ]);
+                    wl.add(spanishWordTeens [ ones ]);
                 } else if (tens == 2) {
-                    wl.add (spanishWordTweens [ ones ]);
+                    wl.add(spanishWordTweens [ ones ]);
                 } else {
-                    wl.add (spanishWordTens [ tens ]);
+                    wl.add(spanishWordTens [ tens ]);
                     if (ones > 0) {
-                        wl.add ("y");
-                        wl.add (spanishWordOnes [ ones ]);
+                        wl.add("y");
+                        wl.add(spanishWordOnes [ ones ]);
                     }
                 }
             } else if (ones > 0) {
-                wl.add (spanishWordOnes [ ones ]);
+                wl.add(spanishWordOnes [ ones ]);
             }
             return wl;
         }
@@ -1150,17 +1150,17 @@ public class NumberConverter {
         "\u2160"
     };
     private static class RomanNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             List<Integer> sl = new ArrayList<Integer>();
             if (number == 0) {
                 return null;
             } else {
                 String[] forms;
                 int maxNumber;
-                if (hasFeature (features, "unicode-number-forms")) {
+                if (hasFeature(features, "unicode-number-forms")) {
                     forms = romanNumberForms;
                     maxNumber = 199999;
-                } else if (hasFeature (features, "large")) {
+                } else if (hasFeature(features, "large")) {
                     forms = romanLargeForms;
                     maxNumber = 199999;
                 } else {
@@ -1174,16 +1174,16 @@ public class NumberConverter {
                         for (int i = 0, n = romanMapping.length; i < n; i++) {
                             int d = romanMapping [ i ];
                             if ((number >= d) && (forms [ i ] != null)) {
-                                appendScalars (sl, UTF32.toUTF32 (forms [ i ], 0, true));
+                                appendScalars(sl, UTF32.toUTF32(forms [ i ], 0, true));
                                 number = number - d;
                                 break;
                             }
                         }
                     }
                     if (one == (int) 'I') {
-                        return toUpperCase (sl.toArray (new Integer [ sl.size() ]));
+                        return toUpperCase(sl.toArray(new Integer [ sl.size() ]));
                     } else if (one == (int) 'i') {
-                        return toLowerCase (sl.toArray (new Integer [ sl.size() ]));
+                        return toLowerCase(sl.toArray(new Integer [ sl.size() ]));
                     } else {
                         return null;
                     }
@@ -1196,7 +1196,7 @@ public class NumberConverter {
      * Isopsephry (Greek) Numerals
      */
     private static class IsopsephryNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             return null;
         }
     }
@@ -1237,15 +1237,15 @@ public class NumberConverter {
         0x05E5, // FINAL TSADHI
     };
     private class GematriaNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             if (one == 0x05D0) {
                 if (letterValue == LETTER_VALUE_ALPHABETIC) {
-                    return formatNumberAsSequence (number, one, hebrewGematriaAlphabeticMap.length, hebrewGematriaAlphabeticMap);
+                    return formatNumberAsSequence(number, one, hebrewGematriaAlphabeticMap.length, hebrewGematriaAlphabeticMap);
                 } else if (letterValue == LETTER_VALUE_TRADITIONAL) {
                     if ((number == 0) || (number > 1999)) {
                         return null;
                     } else {
-                        return formatAsGematriaNumber (number, features, language, country);
+                        return formatAsGematriaNumber(number, features, language, country);
                     }
                 } else {
                     return null;
@@ -1254,7 +1254,7 @@ public class NumberConverter {
                 return null;
             }
         }
-        private Integer[] formatAsGematriaNumber (long number, String features, String language, String country) {
+        private Integer[] formatAsGematriaNumber(long number, String features, String language, String country) {
             List<Integer> sl = new ArrayList<Integer>();
             assert hebrewGematriaAlphabeticMap.length == 27;
             assert hebrewGematriaAlphabeticMap[0] == 0x05D0;  // ALEF
@@ -1267,43 +1267,43 @@ public class NumberConverter {
             int tens = (int) ((number / 10) % 10);
             int ones = (int) ((number / 1) % 10);
             if (thousands > 0) {
-                sl.add (map [ 0 + (thousands - 1) ]);
-                sl.add (0x05F3);
+                sl.add(map [ 0 + (thousands - 1) ]);
+                sl.add(0x05F3);
             }
             if (hundreds > 0) {
                 assert hundreds < 10;
                 if (hundreds < 5) {
-                    sl.add (map [ 18 + (hundreds - 1) ]);
+                    sl.add(map [ 18 + (hundreds - 1) ]);
                 } else if (hundreds < 9) {
-                    sl.add (map [ 18 + (4 - 1) ]);
-                    sl.add (0x05F4);
-                    sl.add (map [ 18 + (hundreds - 5) ]);
+                    sl.add(map [ 18 + (4 - 1) ]);
+                    sl.add(0x05F4);
+                    sl.add(map [ 18 + (hundreds - 5) ]);
                 } else if (hundreds == 9) {
-                    sl.add (map [ 18 + (4 - 1) ]);
-                    sl.add (map [ 18 + (4 - 1) ]);
-                    sl.add (0x05F4);
-                    sl.add (map [ 18 + (hundreds - 9) ]);
+                    sl.add(map [ 18 + (4 - 1) ]);
+                    sl.add(map [ 18 + (4 - 1) ]);
+                    sl.add(0x05F4);
+                    sl.add(map [ 18 + (hundreds - 9) ]);
                 }
             }
             if (number == 15) {
-                sl.add (map [ 9 - 1]);
-                sl.add (0x05F4);
-                sl.add (map [ 6 - 1]);
+                sl.add(map [ 9 - 1]);
+                sl.add(0x05F4);
+                sl.add(map [ 6 - 1]);
             } else if (number == 16) {
-                sl.add (map [ 9 - 1 ]);
-                sl.add (0x05F4);
-                sl.add (map [ 7 - 1 ]);
+                sl.add(map [ 9 - 1 ]);
+                sl.add(0x05F4);
+                sl.add(map [ 7 - 1 ]);
             } else {
                 if (tens > 0) {
                     assert tens < 10;
-                    sl.add (map [ 9 + (tens - 1) ]);
+                    sl.add(map [ 9 + (tens - 1) ]);
                 }
                 if (ones > 0) {
                     assert ones < 10;
-                    sl.add (map [ 0 + (ones - 1) ]);
+                    sl.add(map [ 0 + (ones - 1) ]);
                 }
             }
-            return sl.toArray (new Integer [ sl.size() ]);
+            return sl.toArray(new Integer [ sl.size() ]);
         }
     }
 
@@ -1375,7 +1375,7 @@ public class NumberConverter {
         0x0649, // ALEF MAQSURA
     };
     private class ArabicNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             if (one == 0x0627) {
                 int[] map;
                 if (letterValue == LETTER_VALUE_TRADITIONAL) {
@@ -1385,18 +1385,18 @@ public class NumberConverter {
                 } else {
                     map = arabicAbjadiAlphabeticMap;
                 }
-                return formatNumberAsSequence (number, one, map.length, map);
+                return formatNumberAsSequence(number, one, map.length, map);
             } else if (one == 0x0623) {
                 if ((number == 0) || (number > 1999)) {
                     return null;
                 } else {
-                    return formatAsAbjadiNumber (number, features, language, country);
+                    return formatAsAbjadiNumber(number, features, language, country);
                 }
             } else {
                 return null;
             }
         }
-        private Integer[] formatAsAbjadiNumber (long number, String features, String language, String country) {
+        private Integer[] formatAsAbjadiNumber(long number, String features, String language, String country) {
             List<Integer> sl = new ArrayList<Integer>();
             assert arabicAbjadiAlphabeticMap.length == 28;
             assert arabicAbjadiAlphabeticMap[0] == 0x0623;  // ALEF WITH HAMZA ABOVE
@@ -1410,21 +1410,21 @@ public class NumberConverter {
             int ones = (int) ((number / 1) % 10);
             if (thousands > 0) {
                 assert thousands < 2;
-                sl.add (map [ 27 + (thousands - 1) ]);
+                sl.add(map [ 27 + (thousands - 1) ]);
             }
             if (hundreds > 0) {
                 assert thousands < 10;
-                sl.add (map [ 18 + (hundreds - 1) ]);
+                sl.add(map [ 18 + (hundreds - 1) ]);
             }
             if (tens > 0) {
                 assert tens < 10;
-                sl.add (map [ 9 + (tens - 1) ]);
+                sl.add(map [ 9 + (tens - 1) ]);
             }
             if (ones > 0) {
                 assert ones < 10;
-                sl.add (map [ 0 + (ones - 1) ]);
+                sl.add(map [ 0 + (ones - 1) ]);
             }
-            return sl.toArray (new Integer [ sl.size() ]);
+            return sl.toArray(new Integer [ sl.size() ]);
         }
     }
 
@@ -1532,11 +1532,11 @@ public class NumberConverter {
         0x30F3, // N
     };
     private class KanaNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             if ((one == 0x3042) && (letterValue == LETTER_VALUE_ALPHABETIC)) {
-                return formatNumberAsSequence (number, one, hiraganaGojuonAlphabeticMap.length, hiraganaGojuonAlphabeticMap);
+                return formatNumberAsSequence(number, one, hiraganaGojuonAlphabeticMap.length, hiraganaGojuonAlphabeticMap);
             } else if ((one == 0x30A2) && (letterValue == LETTER_VALUE_ALPHABETIC)) {
-                return formatNumberAsSequence (number, one, katakanaGojuonAlphabeticMap.length, katakanaGojuonAlphabeticMap);
+                return formatNumberAsSequence(number, one, katakanaGojuonAlphabeticMap.length, katakanaGojuonAlphabeticMap);
             } else {
                 return null;
             }
@@ -1595,9 +1595,9 @@ public class NumberConverter {
         0x0E2E,
     };
     private class ThaiNumeralsFormatter implements SpecialNumberFormatter {
-        public Integer[] format (long number, int one, int letterValue, String features, String language, String country) {
+        public Integer[] format(long number, int one, int letterValue, String features, String language, String country) {
             if ((one == 0x0E01) && (letterValue == LETTER_VALUE_ALPHABETIC)) {
-                return formatNumberAsSequence (number, one, thaiAlphabeticMap.length, thaiAlphabeticMap);
+                return formatNumberAsSequence(number, one, thaiAlphabeticMap.length, thaiAlphabeticMap);
             } else {
                 return null;
             }
index c63bd6dfb6ea3b2e6b5e3a1609a136b862259b40..fa8596a4d052b5559f0674b9e96d1d33a13ad146 100644 (file)
@@ -31,6 +31,6 @@ public interface ScriptContextTester {
      * @param feature a feature identifier
      * @return a glyph context tester or null if none available for the specified feature
      */
-    GlyphContextTester getTester (String feature);
+    GlyphContextTester getTester(String feature);
 
 }
index 6e0adc18b5359d6f40bbabf40e440d4f4d986d67..225966f542ead64e8e314e506c88726568573beb 100644 (file)
@@ -46,7 +46,7 @@ public final class UTF32 {
      * @throws IllegalArgumentException if substitution required and errorOnSubstitution
      *   is not false
      */
-    public static Integer[] toUTF32 (String s, int substitution, boolean errorOnSubstitution)
+    public static Integer[] toUTF32(String s, int substitution, boolean errorOnSubstitution)
         throws IllegalArgumentException {
         int n;
         if ((n = s.length()) == 0) {
@@ -58,23 +58,23 @@ public final class UTF32 {
                 int c = (int) s.charAt(i);
                 if ((c >= 0xD800) && (c < 0xE000)) {
                     int s1 = c;
-                    int s2 = ((i + 1) < n) ? (int) s.charAt (i + 1) : 0;
+                    int s2 = ((i + 1) < n) ? (int) s.charAt(i + 1) : 0;
                     if (s1 < 0xDC00) {
                         if ((s2 >= 0xDC00) && (s2 < 0xE000)) {
                             c = ((s1 - 0xD800) << 10) + (s2 - 0xDC00) + 65536;
                             i++;
                         } else {
                             if (errorOnSubstitution) {
-                                throw new IllegalArgumentException
-                                    ("isolated high (leading) surrogate");
+                                throw new IllegalArgumentException(
+                                    "isolated high (leading) surrogate");
                             } else {
                                 c = substitution;
                             }
                         }
                     } else {
                         if (errorOnSubstitution) {
-                            throw new IllegalArgumentException
-                                ("isolated low (trailing) surrogate");
+                            throw new IllegalArgumentException(
+                                "isolated low (trailing) surrogate");
                         } else {
                             c = substitution;
                         }
@@ -86,7 +86,7 @@ public final class UTF32 {
                 return sa;
             } else {
                 Integer[] na = new Integer [ k ];
-                System.arraycopy (sa, 0, na, 0, k);
+                System.arraycopy(sa, 0, na, 0, k);
                 return na;
             }
         }
@@ -99,27 +99,27 @@ public final class UTF32 {
      * @throws IllegalArgumentException if an input scalar value is illegal,
      *   e.g., a surrogate or out of range
      */
-    public static String fromUTF32 (Integer[] sa) throws IllegalArgumentException {
+    public static String fromUTF32(Integer[] sa) throws IllegalArgumentException {
         StringBuffer sb = new StringBuffer();
         for (int s : sa) {
             if (s < 65535) {
                 if ((s < 0xD800) || (s > 0xDFFF)) {
-                    sb.append ((char) s);
+                    sb.append((char) s);
                 } else {
                     String ncr = CharUtilities.charToNCRef(s);
-                    throw new IllegalArgumentException
-                        ("illegal scalar value 0x" + ncr.substring(2, ncr.length() - 1)
+                    throw new IllegalArgumentException(
+                        "illegal scalar value 0x" + ncr.substring(2, ncr.length() - 1)
                           + "; cannot be UTF-16 surrogate");
                 }
             } else if (s < 1114112) {
                 int s1 = (((s - 65536) >> 10) & 0x3FF) + 0xD800;
                 int s2 = (((s - 65536) >>  0) & 0x3FF) + 0xDC00;
-                sb.append ((char) s1);
-                sb.append ((char) s2);
+                sb.append((char) s1);
+                sb.append((char) s2);
             } else {
                 String ncr = CharUtilities.charToNCRef(s);
-                throw new IllegalArgumentException
-                    ("illegal scalar value 0x" + ncr.substring(2, ncr.length() - 1)
+                throw new IllegalArgumentException(
+                    "illegal scalar value 0x" + ncr.substring(2, ncr.length() - 1)
                       + "; out of range for UTF-16");
             }
         }
index 36a8672326e9114f9c7d8fb1726aada3d0507eba..7f56c83963a51d866a80ddc1f9bde8c1d11a87c9 100644 (file)
@@ -47,15 +47,15 @@ public final class EventFormatter {
         //utility class
     }
 
-    private static ResourceBundle getBundle (String groupID, Locale locale) {
+    private static ResourceBundle getBundle(String groupID, Locale locale) {
         ResourceBundle bundle;
         String baseName = (groupID != null) ? groupID : EventFormatter.class.getName();
         try {
             ClassLoader classLoader = EventFormatter.class.getClassLoader();
-            bundle = XMLResourceBundle.getXMLBundle (baseName, locale, classLoader);
+            bundle = XMLResourceBundle.getXMLBundle(baseName, locale, classLoader);
         } catch (MissingResourceException e) {
             if (log.isTraceEnabled()) {
-                log.trace ("No XMLResourceBundle for " + baseName + " available.");
+                log.trace("No XMLResourceBundle for " + baseName + " available.");
             }
             bundle = null;
         }
@@ -67,8 +67,8 @@ public final class EventFormatter {
      * @param event the event
      * @return the formatted message
      */
-    public static String format (Event event) {
-        return format (event, event.getLocale());
+    public static String format(Event event) {
+        return format(event, event.getLocale());
     }
 
     /**
@@ -78,19 +78,19 @@ public final class EventFormatter {
      * @return the formatted message
      */
     public static String format(Event event, Locale locale) {
-        return format (event, getBundle (event.getEventGroupID(), locale));
+        return format(event, getBundle(event.getEventGroupID(), locale));
     }
 
-    private static String format (Event event, ResourceBundle bundle) {
+    private static String format(Event event, ResourceBundle bundle) {
         assert event != null;
         String key = event.getEventKey();
         String template;
         if (bundle != null) {
-            template = bundle.getString (key);
+            template = bundle.getString(key);
         } else {
             template = "Missing bundle. Can't lookup event key: '" + key + "'.";
         }
-        return format (event, processIncludes (template, bundle));
+        return format(event, processIncludes(template, bundle));
     }
 
     private static String processIncludes(String template, ResourceBundle bundle) {
@@ -154,7 +154,7 @@ public final class EventFormatter {
         public void write(StringBuffer sb, Map params) {
             String groupID = (String) params.get("groupID");
             Locale locale = (Locale) params.get("locale");
-            ResourceBundle bundle = getBundle (groupID, locale);
+            ResourceBundle bundle = getBundle(groupID, locale);
             if (bundle != null) {
                 sb.append(bundle.getString(getKey(params)));
             }
index 2722498c7827740e2077b95fb4ed6becf39e7ec9..e2b91b55cbb9f9985cd66800235e38dd1dbc8b8b 100644 (file)
@@ -438,7 +438,7 @@ public abstract class FONode implements Cloneable {
      * with the unabbreviated URI otherwise.
      */
     public static String getNodeString(String namespaceURI, String localName) {
-        String prefix = getNodePrefix (namespaceURI);
+        String prefix = getNodePrefix(namespaceURI);
         if (prefix != null) {
             return prefix + ":" + localName;
         } else {
@@ -552,7 +552,7 @@ public abstract class FONode implements Cloneable {
     protected void invalidChildError(Locator loc, String parentName, String nsURI, String lName,
                 String ruleViolated)
                 throws ValidationException {
-        String prefix = getNodePrefix (nsURI);
+        String prefix = getNodePrefix(nsURI);
         QName qn; // qualified name of offending node
         if (prefix != null) {
             qn = new QName(nsURI, prefix, lName);
@@ -926,7 +926,7 @@ public abstract class FONode implements Cloneable {
      * @return true if indicated boundary (or boundaries) constitute a delimited text range
      * boundary.
      */
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return true;
     }
 
@@ -936,10 +936,10 @@ public abstract class FONode implements Cloneable {
      * @param ranges a stack of delimited text ranges
      * @return the (possibly) updated stack of delimited text ranges
      */
-    public Stack collectDelimitedTextRanges (Stack ranges) {
+    public Stack collectDelimitedTextRanges(Stack ranges) {
         // if boundary before, then push new range
         if (isRangeBoundaryBefore()) {
-            maybeNewRange (ranges);
+            maybeNewRange(ranges);
         }
         // get current range, if one exists
         DelimitedTextRange currentRange;
@@ -949,10 +949,10 @@ public abstract class FONode implements Cloneable {
             currentRange = null;
         }
         // proceses this node
-        ranges = collectDelimitedTextRanges (ranges, currentRange);
+        ranges = collectDelimitedTextRanges(ranges, currentRange);
         // if boundary after, then push new range
         if (isRangeBoundaryAfter()) {
-            maybeNewRange (ranges);
+            maybeNewRange(ranges);
         }
         return ranges;
     }
@@ -965,9 +965,9 @@ public abstract class FONode implements Cloneable {
      * @param currentRange the current range or null (if none)
      * @return the (possibly) updated stack of delimited text ranges
      */
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         for (Iterator it = getChildNodes(); (it != null) && it.hasNext();) {
-            ranges = ((FONode) it.next()).collectDelimitedTextRanges (ranges);
+            ranges = ((FONode) it.next()).collectDelimitedTextRanges(ranges);
         }
         return ranges;
     }
@@ -992,7 +992,7 @@ public abstract class FONode implements Cloneable {
      * @param ranges stack of delimited text ranges
      * @return new range (if constructed and pushed onto stack) or current range (if any) or null
      */
-    private DelimitedTextRange maybeNewRange (Stack ranges) {
+    private DelimitedTextRange maybeNewRange(Stack ranges) {
         DelimitedTextRange rCur = null; // current range (top of range stack)
         DelimitedTextRange rNew = null; // new range to be pushed onto range stack
         if (ranges.empty()) {
@@ -1002,13 +1002,13 @@ public abstract class FONode implements Cloneable {
         } else {
             rCur = (DelimitedTextRange) ranges.peek();
             if (rCur != null) {
-                if (!rCur.isEmpty() || !isSelfOrDescendent (rCur.getNode(), this)) {
+                if (!rCur.isEmpty() || !isSelfOrDescendent(rCur.getNode(), this)) {
                     rNew = new DelimitedTextRange(this);
                 }
             }
         }
         if (rNew != null) {
-            ranges.push (rNew);
+            ranges.push(rNew);
         } else {
             rNew = rCur;
         }
@@ -1016,17 +1016,17 @@ public abstract class FONode implements Cloneable {
     }
 
     private boolean isRangeBoundaryBefore() {
-        return isDelimitedTextRangeBoundary (Constants.EN_BEFORE);
+        return isDelimitedTextRangeBoundary(Constants.EN_BEFORE);
     }
 
     private boolean isRangeBoundaryAfter() {
-        return isDelimitedTextRangeBoundary (Constants.EN_AFTER);
+        return isDelimitedTextRangeBoundary(Constants.EN_AFTER);
     }
 
     /**
      * Determine if node N2 is the same or a descendent of node N1.
      */
-    private static boolean isSelfOrDescendent (FONode n1, FONode n2) {
+    private static boolean isSelfOrDescendent(FONode n1, FONode n2) {
         for (FONode n = n2; n != null; n = n.getParent()) {
             if (n == n1) {
                 return true;
index a8a3d5bb6c1324d014b617b2ad4f2061fa8d5501..61255dc0163097e94b3721e6ae4d6ac1f53d345b 100644 (file)
@@ -1503,7 +1503,7 @@ public final class FOPropertyMapping implements Constants {
         addPropertyMaker("fox:block-progression-unit", l);
     }
 
-    private Property calcWritingModeDependent (int pv, int wm) {
+    private Property calcWritingModeDependent(int pv, int wm) {
         if (pv == EN_LEFT) {
             if (wm == Constants.EN_LR_TB) {
                 pv = EN_START;
@@ -1521,14 +1521,14 @@ public final class FOPropertyMapping implements Constants {
                 pv = EN_END;
             }
         }
-        return makeWritingModeDependentEnum (pv);
+        return makeWritingModeDependentEnum(pv);
     }
 
-    private Property makeWritingModeDependentEnum (int pv) {
+    private Property makeWritingModeDependentEnum(int pv) {
         if (pv == EN_START) {
-            return getEnumProperty (EN_START, "START");
+            return getEnumProperty(EN_START, "START");
         } else if (pv == EN_END) {
-            return getEnumProperty (EN_END, "END");
+            return getEnumProperty(EN_END, "END");
         } else {
             return null;
         }
@@ -1626,8 +1626,8 @@ public final class FOPropertyMapping implements Constants {
                 if (p != null) {
                     int pv = p.getEnum();
                     if ((pv == EN_LEFT) || (pv == EN_RIGHT)) {
-                        p = calcWritingModeDependent
-                            (pv, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
+                        p = calcWritingModeDependent(
+                            pv, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
                     }
                 }
                 return p;
@@ -1676,11 +1676,11 @@ public final class FOPropertyMapping implements Constants {
                 } else if (correspondingValue == EN_CENTER) {
                     return getEnumProperty(EN_CENTER, "CENTER");
                 } else if (correspondingValue == EN_LEFT) {
-                    return calcWritingModeDependent
-                        (EN_LEFT, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
+                    return calcWritingModeDependent(
+                        EN_LEFT, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
                 } else if (correspondingValue == EN_RIGHT) {
-                    return calcWritingModeDependent
-                        (EN_RIGHT, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
+                    return calcWritingModeDependent(
+                        EN_RIGHT, propertyList.get(Constants.PR_WRITING_MODE).getEnum());
                 } else {
                     return null;
                 }
index caa27ed0cfe6e0a3de5a3d99cc92bb80c936189e..2fc998c63f465123b6999952d65bedd79af7c4a2 100644 (file)
@@ -717,7 +717,7 @@ public class FOText extends FONode implements CharSequence {
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
@@ -737,7 +737,7 @@ public class FOText extends FONode implements CharSequence {
      * @param start the starting index of interval
      * @param end the ending index of interval
      */
-    public void setBidiLevel (int level, int start, int end) {
+    public void setBidiLevel(int level, int start, int end) {
         if (start < end) {
             if (bidiLevels == null) {
                 bidiLevels = new int [ length() ];
@@ -746,7 +746,7 @@ public class FOText extends FONode implements CharSequence {
                 bidiLevels [ i ] = level;
             }
             if (parent != null) {
-                ((FObj) parent).setBidiLevel (level);
+                ((FObj) parent).setBidiLevel(level);
             }
         } else {
             assert start < end;
@@ -771,7 +771,7 @@ public class FOText extends FONode implements CharSequence {
      * @return a (possibly empty) array of bidi levels or null
      * in case no bidi levels have been assigned
      */
-    public int[] getBidiLevels (int start, int end) {
+    public int[] getBidiLevels(int start, int end) {
         if (this.bidiLevels != null) {
             assert start <= end;
             int n = end - start;
@@ -794,7 +794,7 @@ public class FOText extends FONode implements CharSequence {
      * @throws IndexOutOfBoundsException if position is not non-negative integer
      * or is greater than or equal to length
      */
-    public int bidiLevelAt (int position) throws IndexOutOfBoundsException {
+    public int bidiLevelAt(int position) throws IndexOutOfBoundsException {
         if ((position < 0) || (position >= length())) {
             throw new IndexOutOfBoundsException();
         } else if (bidiLevels != null) {
@@ -810,11 +810,11 @@ public class FOText extends FONode implements CharSequence {
      * @param end index in character buffer
      * @param mappedChars sequence of character codes denoting substituted characters
      */
-    public void addMapping (int start, int end, CharSequence mappedChars) {
+    public void addMapping(int start, int end, CharSequence mappedChars) {
         if (mappings == null) {
             mappings = new java.util.HashMap();
         }
-        mappings.put (new MapRange (start, end), mappedChars.toString());
+        mappings.put(new MapRange(start, end), mappedChars.toString());
     }
 
     /**
@@ -824,8 +824,8 @@ public class FOText extends FONode implements CharSequence {
      * @return true if a mapping exist such that the mapping's interval is coincident to
      * [start,end)
      */
-    public boolean hasMapping (int start, int end) {
-        return (mappings != null) && (mappings.containsKey (new MapRange (start, end)));
+    public boolean hasMapping(int start, int end) {
+        return (mappings != null) && (mappings.containsKey(new MapRange(start, end)));
     }
 
     /**
@@ -835,9 +835,9 @@ public class FOText extends FONode implements CharSequence {
      * @return a string of characters representing the mapping over the interval
      * [start,end)
      */
-    public String getMapping (int start, int end) {
+    public String getMapping(int start, int end) {
         if (mappings != null) {
-            return (String) mappings.get (new MapRange (start, end));
+            return (String) mappings.get(new MapRange(start, end));
         } else {
             return null;
         }
@@ -849,9 +849,9 @@ public class FOText extends FONode implements CharSequence {
      * @param end index in character buffer
      * @return the length of the mapping (if present) or zero
      */
-    public int getMappingLength (int start, int end) {
+    public int getMappingLength(int start, int end) {
         if (mappings != null) {
-            return ((String) mappings.get (new MapRange (start, end))) .length();
+            return ((String) mappings.get(new MapRange(start, end))) .length();
         } else {
             return 0;
         }
@@ -864,18 +864,18 @@ public class FOText extends FONode implements CharSequence {
      * @return a (possibly empty) array of bidi levels or null
      * in case no bidi levels have been assigned
      */
-    public int[] getMappingBidiLevels (int start, int end) {
-        if (hasMapping (start, end)) {
+    public int[] getMappingBidiLevels(int start, int end) {
+        if (hasMapping(start, end)) {
             int   nc = end - start;
-            int   nm = getMappingLength (start, end);
-            int[] la = getBidiLevels (start, end);
+            int   nm = getMappingLength(start, end);
+            int[] la = getBidiLevels(start, end);
             if (la == null) {
                 return null;
             } else if (nm == nc) {            // mapping is same length as mapped range
                 return la;
             } else if (nm > nc) {             // mapping is longer than mapped range
                 int[] ma = new int [ nm ];
-                System.arraycopy (la, 0, ma, 0, la.length);
+                System.arraycopy(la, 0, ma, 0, la.length);
                 for (int i = la.length,
                           n = ma.length, l = (i > 0) ? la [ i - 1 ] : 0; i < n; i++) {
                     ma [ i ] = l;
@@ -883,18 +883,18 @@ public class FOText extends FONode implements CharSequence {
                 return ma;
             } else {                            // mapping is shorter than mapped range
                 int[] ma = new int [ nm ];
-                System.arraycopy (la, 0, ma, 0, ma.length);
+                System.arraycopy(la, 0, ma, 0, ma.length);
                 return ma;
             }
         } else {
-            return getBidiLevels (start, end);
+            return getBidiLevels(start, end);
         }
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         if (currentRange != null) {
-            currentRange.append (charIterator(), this);
+            currentRange.append(charIterator(), this);
         }
         return ranges;
     }
@@ -909,7 +909,7 @@ public class FOText extends FONode implements CharSequence {
         public int hashCode() {
             return (start * 31) + end;
         }
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof MapRange) {
                 MapRange r = (MapRange) o;
                 return (r.start == start) && (r.end == end);
index 96b817de386604f9d2e621161d206f793b184cc4..92dc9fd73609007e582f03cad8722c816a8328a4 100644 (file)
@@ -615,7 +615,7 @@ public abstract class FObj extends FONode implements Constants {
                     FObj foParent = (FObj) parent;
                     int parentBidiLevel = foParent.getBidiLevel();
                     if ((parentBidiLevel < 0) || (bidiLevel < parentBidiLevel)) {
-                        foParent.setBidiLevel (bidiLevel);
+                        foParent.setBidiLevel(bidiLevel);
                     }
                 }
             }
index a3698edf198dfcfdf725cec018ac5d440c01a85f..6da7fcd252f53bcc8ba9f48f758a89077bf90d3c 100644 (file)
@@ -43,9 +43,9 @@ public class FromNearestSpecifiedValueFunction extends FunctionBase {
     /** {@inheritDoc} */
     public Property getOptionalArgDefault(int index, PropertyInfo pi) throws PropertyException {
         if (index == 0) {
-            return getPropertyName (pi);
+            return getPropertyName(pi);
         } else {
-            return super.getOptionalArgDefault (index, pi);
+            return super.getOptionalArgDefault(index, pi);
         }
     }
 
index ce6873e540a1b5f2fbfe52b43fd77db4c0760634..22a1a95e1bb1203ca2b3e0f6f1772adca991bff2 100644 (file)
@@ -44,9 +44,9 @@ public class FromParentFunction extends FunctionBase {
     /** {@inheritDoc} */
     public Property getOptionalArgDefault(int index, PropertyInfo pi) throws PropertyException {
         if (index == 0) {
-            return getPropertyName (pi);
+            return getPropertyName(pi);
         } else {
-            return super.getOptionalArgDefault (index, pi);
+            return super.getOptionalArgDefault(index, pi);
         }
     }
 
index 98d4e1d0754a848e93df207240f1dc6fa3b3c0b9..6874a821fa8d11a30507007fa787e87eb6d1c9f9 100644 (file)
@@ -52,9 +52,9 @@ public class FromTableColumnFunction extends FunctionBase {
     /** {@inheritDoc} */
     public Property getOptionalArgDefault(int index, PropertyInfo pi) throws PropertyException {
         if (index == 0) {
-            return getPropertyName (pi);
+            return getPropertyName(pi);
         } else {
-            return super.getOptionalArgDefault (index, pi);
+            return super.getOptionalArgDefault(index, pi);
         }
     }
 
index bb68a1201e790c7e6a12fdd3ee35ab481693a409..707424b86cf5eea9419f2793de22569b2a41357d 100644 (file)
@@ -36,8 +36,8 @@ public abstract class FunctionBase implements Function {
     /** {@inheritDoc} */
     public Property getOptionalArgDefault(int index, PropertyInfo pi) throws PropertyException {
         if (index >= getOptionalArgsCount()) {
-            PropertyException e = new PropertyException (new IndexOutOfBoundsException ("illegal optional argument index"));
-            e.setPropertyInfo (pi);
+            PropertyException e = new PropertyException(new IndexOutOfBoundsException("illegal optional argument index"));
+            e.setPropertyInfo(pi);
             throw e;
         } else {
             return null;
@@ -58,7 +58,7 @@ public abstract class FunctionBase implements Function {
      * @param pi property information instance that applies to property being evaluated
      * @return string property whose value is name of property being evaluated
      */
-    protected final Property getPropertyName (PropertyInfo pi) {
-        return StringProperty.getInstance (pi.getPropertyMaker().getName());
+    protected final Property getPropertyName(PropertyInfo pi) {
+        return StringProperty.getInstance(pi.getPropertyMaker().getName());
     }
 }
index 35d5803e9c24c71e47f798c9ee96edbe7141a14e..d73a8e089caef28884d295cfcd7038249fc89f60 100644 (file)
@@ -43,9 +43,9 @@ public class InheritedPropFunction extends FunctionBase {
     /** {@inheritDoc} */
     public Property getOptionalArgDefault(int index, PropertyInfo pi) throws PropertyException {
         if (index == 0) {
-            return getPropertyName (pi);
+            return getPropertyName(pi);
         } else {
-            return super.getOptionalArgDefault (index, pi);
+            return super.getOptionalArgDefault(index, pi);
         }
     }
 
index b910c1c12771693389c374be5ae99bc48e2da265..574fc0e127c32a3e5cbdb6ab86a5473210e90d49 100644 (file)
@@ -371,9 +371,9 @@ public final class PropertyParser extends PropertyTokenizer {
                 Property p = parseAdditiveExpr();
                 int i = args.size();
                 if ((i < numReq) || ((i - numReq) < numOpt) || hasVar) {
-                    args.add (p);
+                    args.add(p);
                 } else {
-                    throw new PropertyException ("Unexpected function argument at index " + i);
+                    throw new PropertyException("Unexpected function argument at index " + i);
                 }
                 // ignore extra args
                 if (currentToken != TOK_COMMA) {
@@ -389,11 +389,11 @@ public final class PropertyParser extends PropertyTokenizer {
         } else {
             for (int i = 0; i < numOpt; i++) {
                 if (args.size() < (numReq + i + 1)) {
-                    args.add (function.getOptionalArgDefault (i, propInfo));
+                    args.add(function.getOptionalArgDefault(i, propInfo));
                 }
             }
         }
-        return (Property[]) args.toArray (new Property [ args.size() ]);
+        return (Property[]) args.toArray(new Property [ args.size() ]);
     }
 
     /**
index 159f91304598946105770b018ac37a872afda7d4..22b5c05e4485ce4e1d8e9eb2576582e923623fa8 100644 (file)
@@ -255,7 +255,7 @@ class PropertyTokenizer {
 
     private void scanRestOfName() {
         while (++exprIndex < exprLength) {
-            if (!isNameChar (expr.charAt (exprIndex))) {
+            if (!isNameChar(expr.charAt(exprIndex))) {
                 break;
             }
         }
index 5c6ab16ad17257e822fd99cf192a0049d50f9aab..eac8338aabe2acd532f56b144f7acbcb7d1638a1 100644 (file)
@@ -164,15 +164,15 @@ public class SVGElement extends SVGObj {
         if (str.length() == 0) {
             str = "100%";
         }
-        float width = UnitProcessor.svgHorizontalLengthToUserSpace
-            (str, SVGConstants.SVG_WIDTH_ATTRIBUTE, ctx);
+        float width = UnitProcessor.svgHorizontalLengthToUserSpace(
+            str, SVGConstants.SVG_WIDTH_ATTRIBUTE, ctx);
 
         str = svgRoot.getAttributeNS(null, SVGConstants.SVG_HEIGHT_ATTRIBUTE);
         if (str.length() == 0) {
             str = "100%";
         }
-        float height = UnitProcessor.svgVerticalLengthToUserSpace
-            (str, SVGConstants.SVG_HEIGHT_ATTRIBUTE, ctx);
+        float height = UnitProcessor.svgVerticalLengthToUserSpace(
+            str, SVGConstants.SVG_HEIGHT_ATTRIBUTE, ctx);
         return new Point2D.Float(width, height);
     }
 
index f0b0bc7b5452485a80b5585fa4696ad99b8c232e..9d94644b9f6aa2e122e77561eeb3515058f30f54 100644 (file)
@@ -254,14 +254,14 @@ public abstract class AbstractGraphics extends FObj
     public abstract Length getIntrinsicAlignmentAdjust();
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         if (currentRange != null) {
-            currentRange.append (CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
+            currentRange.append(CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
         }
         return ranges;
     }
index 2127b98ea2a5079c6be907bb3ddbdfebb07c82ff..af6c5d31648928f074fc987c5a5f245544921078 100644 (file)
@@ -115,8 +115,8 @@ public abstract class AbstractPageNumberCitation extends FObj
     }
 
     /** {@inheritDoc} */
-    public void processNode
-        (String elementName, Locator locator, Attributes attlist, PropertyList pList)
+    public void processNode(
+        String elementName, Locator locator, Attributes attlist, PropertyList pList)
         throws FOPException {
         super.processNode(elementName, locator, attlist, pList);
         if (!inMarker() && (refId == null || "".equals(refId))) {
@@ -201,14 +201,14 @@ public abstract class AbstractPageNumberCitation extends FObj
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         if (currentRange != null) {
-            currentRange.append (CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
+            currentRange.append(CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
         }
         return ranges;
     }
index 62e4d7c5c1ea5fb2e57fdb3e3851c599f9ea2685..9f0ea2470a9ddd9eb65de015a4c40fbaecbacdd9 100644 (file)
@@ -97,7 +97,7 @@ public class BidiOverride extends Inline {
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         char pfx = 0;
         char sfx = 0;
         int unicodeBidi = getUnicodeBidi();
@@ -111,13 +111,13 @@ public class BidiOverride extends Inline {
         }
         if (currentRange != null) {
             if (pfx != 0) {
-                currentRange.append (pfx, this);
+                currentRange.append(pfx, this);
             }
             for (Iterator it = getChildNodes(); (it != null) && it.hasNext();) {
-                ranges = ((FONode) it.next()).collectDelimitedTextRanges (ranges);
+                ranges = ((FONode) it.next()).collectDelimitedTextRanges(ranges);
             }
             if (sfx != 0) {
-                currentRange.append (sfx, this);
+                currentRange.append(sfx, this);
             }
         }
         return ranges;
index bab0f7ac59cc501b1510bda8ade564242a888233..b8616c1cec04d55288418530e55333b572501945 100644 (file)
@@ -97,8 +97,8 @@ public class BlockContainer extends FObj implements BreakPropertySet, WritingMod
         overflow = pList.get(PR_OVERFLOW).getEnum();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
         span = pList.get(PR_SPAN).getEnum();
-        writingModeTraits = new WritingModeTraits
-            (WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
+        writingModeTraits = new WritingModeTraits(
+            WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
         disableColumnBalancing = pList.get(PR_X_DISABLE_COLUMN_BALANCING).getEnum();
     }
 
index 8e59d1f9baa53c8dcc96b855eb0c62c1f64b67c5..e5f5dadd9d66c65249d228a193db074a937faa93 100644 (file)
@@ -236,14 +236,14 @@ public class Character extends FObj implements StructureTreeElementHolder {
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         if (currentRange != null) {
-            currentRange.append (charIterator(), this);
+            currentRange.append(charIterator(), this);
         }
         return ranges;
     }
index e3d3bd84ccfae6a54f1a3d5d534545eafede2d24..748eb593a0c24bd4b496ec2de8245626efddac40 100644 (file)
@@ -95,8 +95,8 @@ public class InlineContainer extends FObj {
         lineHeight = pList.get(PR_LINE_HEIGHT).getSpace();
         overflow = pList.get(PR_OVERFLOW).getEnum();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
-        writingModeTraits = new WritingModeTraits
-            (WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
+        writingModeTraits = new WritingModeTraits(
+            WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
     }
 
     /**
@@ -252,7 +252,7 @@ public class InlineContainer extends FObj {
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
index 66c03cf7dcb4f95e959e44d16d9e9357556f62b5..87ea5837a7555531d09217e4c2390a1e24425d1f 100644 (file)
@@ -113,7 +113,7 @@ public abstract class InlineLevel extends FObjMixed implements CommonAccessibili
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
index e39996a976ab8457746b307176610581a9161f8d..123da0c480d2a6aa3d618a997a6b57138d74e570 100644 (file)
@@ -203,12 +203,12 @@ public class Leader extends InlineLevel {
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         if (currentRange != null) {
             if (leaderPattern == EN_USECONTENT) {
-                ranges = super.collectDelimitedTextRanges (ranges, currentRange);
+                ranges = super.collectDelimitedTextRanges(ranges, currentRange);
             } else {
-                currentRange.append (CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
+                currentRange.append(CharUtilities.OBJECT_REPLACEMENT_CHARACTER, this);
             }
         }
         return ranges;
index 2e572aac5c9a62154c02d9be5c9e035eb280b292..b7f6e15cc83edfcbd299882add6e9e004415d2dc 100644 (file)
@@ -206,14 +206,14 @@ public class ListItem extends FObj implements BreakPropertySet, CommonAccessibil
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         ListItemLabel label = getLabel();
         if (label != null) {
-            ranges = label.collectDelimitedTextRanges (ranges);
+            ranges = label.collectDelimitedTextRanges(ranges);
         }
         ListItemBody body = getBody();
         if (body != null) {
-            ranges = body.collectDelimitedTextRanges (ranges);
+            ranges = body.collectDelimitedTextRanges(ranges);
         }
         return ranges;
     }
index 1cd76e5722ff096d551f7f862e4e92d7c70edca9..8fac84bca71ddd13d4358a357aaf905fcbf9b5ff 100644 (file)
@@ -201,7 +201,7 @@ public class PageNumber extends FObj
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
index d4bc7c687e195a17025d7d9da1da645eb3371f8e..57ae9e7bb1e8e1fee5a7604a014653afbf9459e7 100644 (file)
@@ -47,8 +47,8 @@ public class RetrieveTableMarker extends AbstractRetrieveMarker {
      * <i>NOTE: An <code>fo:retrieve-table-marker</code> is only permitted as a descendant
      * of an <code>fo:table-header</code> or an <code>fo:table-footer</code>.</i>
      */
-    public void processNode
-        (String elementName, Locator locator, Attributes attlist, PropertyList pList)
+    public void processNode(
+        String elementName, Locator locator, Attributes attlist, PropertyList pList)
         throws FOPException {
         if (findAncestor(FO_TABLE_HEADER) < 0
                 && findAncestor(FO_TABLE_FOOTER) < 0) {
index a62d4f7a9daa970ddeee28ccb9e0c4d7092b862b..134d65c9aa84c67cb2fb4ee5349e1132138a4374 100644 (file)
@@ -150,7 +150,7 @@ public class Wrapper extends FObjMixed implements CommonAccessibilityHolder {
     }
 
     @Override
-    public boolean isDelimitedTextRangeBoundary (int boundary) {
+    public boolean isDelimitedTextRangeBoundary(int boundary) {
         return false;
     }
 
index 46804577dcfd75a5a33d4f1de928da27ba659dbd..983954e79f0e0e7c2a7fe06472896bd7a682178e 100644 (file)
@@ -138,8 +138,8 @@ public class Table extends TableFObj implements ColumnNumberManagerHolder, Break
         tableLayout = pList.get(PR_TABLE_LAYOUT).getEnum();
         tableOmitFooterAtBreak = pList.get(PR_TABLE_OMIT_FOOTER_AT_BREAK).getEnum();
         tableOmitHeaderAtBreak = pList.get(PR_TABLE_OMIT_HEADER_AT_BREAK).getEnum();
-        writingModeTraits = new WritingModeTraits
-            (WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
+        writingModeTraits = new WritingModeTraits(
+            WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
 
         //Bind extension properties
         widowContentLimit = pList.get(PR_X_WIDOW_CONTENT_LIMIT).getLength();
@@ -602,20 +602,20 @@ public class Table extends TableFObj implements ColumnNumberManagerHolder, Break
     }
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         // header sub-tree
         TableHeader header = getTableHeader();
         if (header != null) {
-            ranges = header.collectDelimitedTextRanges (ranges);
+            ranges = header.collectDelimitedTextRanges(ranges);
         }
         // footer sub-tree
         TableFooter footer = getTableFooter();
         if (footer != null) {
-            ranges = footer.collectDelimitedTextRanges (ranges);
+            ranges = footer.collectDelimitedTextRanges(ranges);
         }
         // body sub-tree
         for (Iterator it = getChildNodes(); (it != null) && it.hasNext();) {
-            ranges = ((FONode) it.next()).collectDelimitedTextRanges (ranges);
+            ranges = ((FONode) it.next()).collectDelimitedTextRanges(ranges);
         }
         return ranges;
     }
index 6bc913d1b169928b5dbb37a40b3005b852cbf9be..bda08838e4b3d498c06229c3a737b76ff307b92a 100644 (file)
@@ -49,8 +49,8 @@ public class PageNumberGenerator {
      * @param language (may be null or empty, which is treated as null)
      * @param country (may be null or empty, which is treated as null)
      */
-    public PageNumberGenerator (String format, int groupingSeparator, int groupingSize, int letterValue, String features, String language, String country) {
-        this.converter = new NumberConverter (format, groupingSeparator, groupingSize, letterValue, features, language, country);
+    public PageNumberGenerator(String format, int groupingSeparator, int groupingSize, int letterValue, String features, String language, String country) {
+        this.converter = new NumberConverter(format, groupingSeparator, groupingSize, letterValue, features, language, country);
     }
 
     /**
@@ -58,8 +58,8 @@ public class PageNumberGenerator {
      * @param number page number to format
      * @return the formatted page number as a String
      */
-    public String makeFormattedPageNumber (int number) {
-        return converter.convert (number);
+    public String makeFormattedPageNumber(int number) {
+        return converter.convert(number);
     }
 
 }
index c4c380059ceee55521ed395770f997a94e503d79..368b69f907e1593a7d8a70e3cdac7ad608ad771d 100644 (file)
@@ -95,8 +95,8 @@ public class PageSequence extends AbstractPageSequence implements WritingModeTra
         locale = CommonHyphenation.toLocale(language, country);
         masterReference = pList.get(PR_MASTER_REFERENCE).getString();
         referenceOrientation = pList.get(PR_REFERENCE_ORIENTATION).getNumeric();
-        writingModeTraits = new WritingModeTraits
-            (WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
+        writingModeTraits = new WritingModeTraits(
+            WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()));
         if (masterReference == null || masterReference.equals("")) {
             missingPropertyError("master-reference");
         }
@@ -263,8 +263,8 @@ public class PageSequence extends AbstractPageSequence implements WritingModeTra
      * @return the SimplePageMaster to use for this page
      * @throws PageProductionException if there's a problem determining the page master
      */
-    public SimplePageMaster getNextSimplePageMaster
-        (int page, boolean isFirstPage, boolean isLastPage, boolean isBlank)
+    public SimplePageMaster getNextSimplePageMaster(
+        int page, boolean isFirstPage, boolean isLastPage, boolean isBlank)
         throws PageProductionException {
 
         if (pageSequenceMaster == null) {
@@ -405,20 +405,20 @@ public class PageSequence extends AbstractPageSequence implements WritingModeTra
 
 
     @Override
-    protected Stack collectDelimitedTextRanges (Stack ranges, DelimitedTextRange currentRange) {
+    protected Stack collectDelimitedTextRanges(Stack ranges, DelimitedTextRange currentRange) {
         // collect ranges from static content flows
         Map<String, FONode> flows = getFlowMap();
         if (flows != null) {
             for (FONode fn : flows.values()) {
                 if (fn instanceof StaticContent) {
-                    ranges = ((StaticContent) fn).collectDelimitedTextRanges (ranges);
+                    ranges = ((StaticContent) fn).collectDelimitedTextRanges(ranges);
                 }
             }
         }
         // collect ranges in main flow
         Flow main = getMainFlow();
         if (main != null) {
-            ranges = main.collectDelimitedTextRanges (ranges);
+            ranges = main.collectDelimitedTextRanges(ranges);
         }
         return ranges;
     }
index 757ec4f3345aeeb8568685842e84f39e83d2c4a1..1232c68bc29939030cc313d6d850786e217e76a6 100644 (file)
@@ -43,7 +43,7 @@ public class RegionAfter extends RegionBA {
     }
 
     /** {@inheritDoc} */
-    public Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle(FODimension reldims) {
         /* Special rules apply to resolving extent as values are resolved relative
          * to the page size and reference orientation.
          */
index 0b394f63e968d586af99f1210815ed2688eea8fa..82decf32ee7ec52228d003c9b7a97201aeb6790e 100644 (file)
@@ -71,8 +71,8 @@ public abstract class RegionBA extends SideRegion {
      * @param wm writing mode
      * @param siblingContext the context to use to resolve extent on siblings
      */
-    protected void adjustIPD
-        (Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext) {
+    protected void adjustIPD(
+        Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext) {
         int offset = 0;
         RegionStart start = (RegionStart) getSiblingRegion(FO_REGION_START);
         if (start != null) {
index 1a4c07db837e2231ff22c170584017828b79f25c..5a0e7543c09c1e6f8b02370708937c89198a8d7d 100644 (file)
@@ -48,7 +48,7 @@ public class RegionBefore extends RegionBA {
     }
 
     /** {@inheritDoc} */
-    public Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle(FODimension reldims) {
         /* Special rules apply to resolving extent as values are resolved relative
          * to the page size and reference orientation.
          */
index cd5cddf470978bd82572fcf9924929c4acd6751f..164c1cee57b196bac4965871d171cbc659d2702e 100644 (file)
@@ -97,7 +97,7 @@ public class RegionBody extends Region {
     }
 
     /** {@inheritDoc} */
-    public Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle(FODimension reldims) {
         /* Special rules apply to resolving margins in the page context.
          * Contrary to normal margins in this case top and bottom margin
          * are resolved relative to the height. In the property subsystem
index 4a28cba555f22c1689a9363aba129fa5447bdaa3..5de7dc194969acef6feeb06b43df24f6d3ec5506 100644 (file)
@@ -43,7 +43,7 @@ public class RegionEnd extends RegionSE {
     }
 
     /** {@inheritDoc} */
-    public Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle(FODimension reldims) {
         /* Special rules apply to resolving extent as values are resolved relative
          * to the page size and reference orientation.
          */
index 1b0fb9cf02a9ebbfa6a07b8340448fbec3549b35..79b36645c76494a6c16e6e00897f1c96a83c1a34 100644 (file)
@@ -62,8 +62,8 @@ public abstract class RegionSE extends SideRegion {
      * @param wm writing mode
      * @param siblingContext the context to use to resolve extent on siblings
      */
-    protected void adjustIPD
-        (Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext) {
+    protected void adjustIPD(
+        Rectangle vpRefRect, WritingMode wm, PercentBaseContext siblingContext) {
         int offset = 0;
         RegionBefore before = (RegionBefore) getSiblingRegion(FO_REGION_BEFORE);
         if (before != null && before.getPrecedence() == EN_TRUE) {
index 31c92870f68bbdbf682477ca994eaa5d5e1d0580..6e2e752fc6acb6d95aa5c65513e86bebdae3cbd1 100644 (file)
@@ -43,7 +43,7 @@ public class RegionStart extends RegionSE {
     }
 
     /** {@inheritDoc} */
-    public Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle(FODimension reldims) {
         /* Special rules apply to resolving extent as values are resolved relative
          * to the page size and reference orientation.
          */
index fa81ad5992ffcce582ef328fe89dce04a2b0e166..b84c5eeeaea92e612313f911fa2c05646ce1af2d 100644 (file)
@@ -49,7 +49,7 @@ public class DimensionPropertyMaker extends CorrespondingPropertyMaker {
         for (int i = 0; i < extraCorresponding.length; i++) {
             int[] eca = extraCorresponding[i];
             if ((eca == null) || (eca.length != 4)) {
-                throw new IllegalArgumentException ("bad sub-array @ [" + i + "]");
+                throw new IllegalArgumentException("bad sub-array @ [" + i + "]");
             }
         }
         this.extraCorresponding = extraCorresponding;
index dd00cd0446096156ea0d19260db4990e2b1fa80b..5d4a696c4714ca64089b021b3756aac556702d9c 100644 (file)
@@ -214,8 +214,8 @@ public class IndentPropertyMaker extends CorrespondingPropertyMaker {
                 throws PropertyException {
         PropertyList pList = getWMPropertyList(propertyList);
         if (pList != null) {
-            int wmcorr = pList.selectFromWritingMode
-                (corresponding[0], corresponding[1], corresponding[2], corresponding[3]);
+            int wmcorr = pList.selectFromWritingMode(
+                corresponding[0], corresponding[1], corresponding[2], corresponding[3]);
             return propertyList.get(wmcorr);
         } else {
             return null;
index fad48ed0cf25d6d9b1cf7c9929a0949c1c9f75d3..f084fa0179e42c23d35033d6a3a08fd4dea8795b 100644 (file)
@@ -85,8 +85,8 @@ public class TextDecorationMaker extends ListProperty.Maker {
                 case Constants.EN_BLINK:
                 case Constants.EN_NO_BLINK:
                     if (none) {
-                        throw new PropertyException
-                                ("'none' specified, no additional values allowed");
+                        throw new PropertyException(
+                                "'none' specified, no additional values allowed");
                     }
                     switch (enumValue) {
                         case Constants.EN_UNDERLINE:
index 9a371943a7656eb66b5b80dfd46fd94829319e4b..664ae727f7b3210614dd0b8c427c86065fa85af3 100644 (file)
@@ -91,15 +91,15 @@ public final class CMapSegment {
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder("CMapSegment: ");
-        sb.append ("{ UC[");
-        sb.append (unicodeStart);
-        sb.append (',');
-        sb.append (unicodeEnd);
-        sb.append ("]: GC[");
-        sb.append (glyphStartIndex);
-        sb.append (',');
-        sb.append (glyphStartIndex + (unicodeEnd - unicodeStart));
-        sb.append ("] }");
+        sb.append("{ UC[");
+        sb.append(unicodeStart);
+        sb.append(',');
+        sb.append(unicodeEnd);
+        sb.append("]: GC[");
+        sb.append(glyphStartIndex);
+        sb.append(',');
+        sb.append(glyphStartIndex + (unicodeEnd - unicodeStart));
+        sb.append("] }");
         return sb.toString();
     }
 
index 7850c176315fadcb0ed44acb56b882e96fcf9435..516b60bcd7867c0d0332e69ba879eb9f52d1d78c 100644 (file)
@@ -213,7 +213,7 @@ public class Font implements Substitutable, Positionable {
         } else if ((ch2 >= 0xD800) && (ch2 <= 0xE000)) {
             return 0;
         } else {
-            return getKernValue ((char) ch1, (char) ch2);
+            return getKernValue((char) ch1, (char) ch2);
         }
     }
 
@@ -367,7 +367,7 @@ public class Font implements Substitutable, Positionable {
      */
     public int getCharWidth(int c) {
         if (c < 0x10000) {
-            return getCharWidth ((char) c);
+            return getCharWidth((char) c);
         } else {
             // TODO !BMP
             return -1;
@@ -404,20 +404,20 @@ public class Font implements Substitutable, Positionable {
     }
 
     /** {@inheritDoc} */
-    public CharSequence performSubstitution (CharSequence cs, String script, String language) {
+    public CharSequence performSubstitution(CharSequence cs, String script, String language) {
         if (metric instanceof Substitutable) {
             Substitutable s = (Substitutable) metric;
-            return s.performSubstitution (cs, script, language);
+            return s.performSubstitution(cs, script, language);
         } else {
             throw new UnsupportedOperationException();
         }
     }
 
     /** {@inheritDoc} */
-    public CharSequence reorderCombiningMarks (CharSequence cs, int[][] gpa, String script, String language) {
+    public CharSequence reorderCombiningMarks(CharSequence cs, int[][] gpa, String script, String language) {
         if (metric instanceof Substitutable) {
             Substitutable s = (Substitutable) metric;
-            return s.reorderCombiningMarks (cs, gpa, script, language);
+            return s.reorderCombiningMarks(cs, gpa, script, language);
         } else {
             throw new UnsupportedOperationException();
         }
@@ -434,18 +434,18 @@ public class Font implements Substitutable, Positionable {
     }
 
     /** {@inheritDoc} */
-    public int[][] performPositioning (CharSequence cs, String script, String language, int fontSize) {
+    public int[][] performPositioning(CharSequence cs, String script, String language, int fontSize) {
         if (metric instanceof Positionable) {
             Positionable p = (Positionable) metric;
-            return p.performPositioning (cs, script, language, fontSize);
+            return p.performPositioning(cs, script, language, fontSize);
         } else {
             throw new UnsupportedOperationException();
         }
     }
 
     /** {@inheritDoc} */
-    public int[][] performPositioning (CharSequence cs, String script, String language) {
-        return performPositioning (cs, script, language, fontSize);
+    public int[][] performPositioning(CharSequence cs, String script, String language) {
+        return performPositioning(cs, script, language, fontSize);
     }
 
 }
index cb1827e51799d697ea8e0541b88a3953aaddbfc9..472567eec432b14d0ba3e5c7134f108ada42c2ed 100644 (file)
@@ -590,7 +590,7 @@ public class FontInfo {
      * @return A list of matching font triplets
      */
     public List<FontTriplet> getTripletsFor(String fontName) {
-        List<FontTriplet> foundTriplets = new ArrayList<FontTriplet> ();
+        List<FontTriplet> foundTriplets = new ArrayList<FontTriplet>();
         for (Map.Entry<FontTriplet, String> tripletEntry : triplets.entrySet()) {
             if (fontName.equals((tripletEntry.getValue()))) {
                 foundTriplets.add(tripletEntry.getKey());
index fb726e6f74484c38212ee0d1b6f82358fa3e8627..49b2e0457cfc7959a986c5dd3387f7f93bf7e0f1 100644 (file)
@@ -376,7 +376,7 @@ public class LazyFont extends Typeface implements FontDescriptor, Substitutable,
     /**
      * {@inheritDoc}
      */
-    public CharSequence performSubstitution (CharSequence cs, String script, String language) {
+    public CharSequence performSubstitution(CharSequence cs, String script, String language) {
         load(true);
         if (realFontDescriptor instanceof Substitutable) {
             return ((Substitutable)realFontDescriptor).performSubstitution(cs, script, language);
@@ -388,8 +388,8 @@ public class LazyFont extends Typeface implements FontDescriptor, Substitutable,
     /**
      * {@inheritDoc}
      */
-    public CharSequence reorderCombiningMarks
-        (CharSequence cs, int[][] gpa, String script, String language) {
+    public CharSequence reorderCombiningMarks(
+        CharSequence cs, int[][] gpa, String script, String language) {
         if (!isMetricsLoaded) {
             load(true);
         }
@@ -419,7 +419,7 @@ public class LazyFont extends Typeface implements FontDescriptor, Substitutable,
      * {@inheritDoc}
      */
     public int[][]
-        performPositioning (CharSequence cs, String script, String language, int fontSize) {
+        performPositioning(CharSequence cs, String script, String language, int fontSize) {
         if (!isMetricsLoaded) {
             load(true);
         }
@@ -435,7 +435,7 @@ public class LazyFont extends Typeface implements FontDescriptor, Substitutable,
      * {@inheritDoc}
      */
     public int[][]
-        performPositioning (CharSequence cs, String script, String language) {
+        performPositioning(CharSequence cs, String script, String language) {
         if (!isMetricsLoaded) {
             load(true);
         }
index 4cb2753afee1a4c3440c1c22187c43401fb3d97b..6e4b1dffed02b615417d375d04f64136060edf3d 100644 (file)
@@ -197,13 +197,13 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * Add a private use mapping {PU,GI} to the existing character map.
      * N.B. Does not insert in order, merely appends to end of existing map.
      */
-    private synchronized void addPrivateUseMapping (int pu, int gi) {
-        assert findGlyphIndex (pu) == SingleByteEncoding.NOT_FOUND_CODE_POINT;
+    private synchronized void addPrivateUseMapping(int pu, int gi) {
+        assert findGlyphIndex(pu) == SingleByteEncoding.NOT_FOUND_CODE_POINT;
         CMapSegment[] oldCmap = cmap;
         int cmapLength = oldCmap.length;
         CMapSegment[] newCmap = new CMapSegment [ cmapLength + 1 ];
-        System.arraycopy (oldCmap, 0, newCmap, 0, cmapLength);
-        newCmap [ cmapLength ] = new CMapSegment (pu, pu, gi);
+        System.arraycopy(oldCmap, 0, newCmap, 0, cmapLength);
+        newCmap [ cmapLength ] = new CMapSegment(pu, pu, gi);
         cmap = newCmap;
     }
 
@@ -219,22 +219,22 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * @param gi glyph index
      * @returns unicode scalar value
      */
-    private int createPrivateUseMapping (int gi) {
+    private int createPrivateUseMapping(int gi) {
         while ((nextPrivateUse < 0xF900)
                 && (findGlyphIndex(nextPrivateUse) != SingleByteEncoding.NOT_FOUND_CODE_POINT)) {
             nextPrivateUse++;
         }
         if (nextPrivateUse < 0xF900) {
             int pu = nextPrivateUse;
-            addPrivateUseMapping (pu, gi);
+            addPrivateUseMapping(pu, gi);
             if (firstPrivate == 0) {
                 firstPrivate = pu;
             }
             lastPrivate = pu;
             numMapped++;
             if (log.isDebugEnabled()) {
-                log.debug ("Create private use mapping from "
-                            + CharUtilities.format (pu)
+                log.debug("Create private use mapping from "
+                            + CharUtilities.format(pu)
                             + " to glyph index " + gi
                             + " in font '" + getFullName() + "'");
             }
@@ -245,7 +245,7 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
             }
             lastUnmapped = gi;
             numUnmapped++;
-            log.warn ("Exhausted private use area: unable to map "
+            log.warn("Exhausted private use area: unable to map "
                        + numUnmapped + " glyphs in glyph index range ["
                        + firstUnmapped + "," + lastUnmapped
                        + "] (inclusive) of font '" + getFullName() + "'");
@@ -260,7 +260,7 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * @returns unicode scalar value
      */
     // [TBD] - needs optimization, i.e., change from linear search to binary search
-    private int findCharacterFromGlyphIndex (int gi, boolean augment) {
+    private int findCharacterFromGlyphIndex(int gi, boolean augment) {
         int cc = 0;
         for (int i = 0, n = cmap.length; i < n; i++) {
             CMapSegment segment = cmap [ i ];
@@ -272,13 +272,13 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
             }
         }
         if ((cc == 0) && augment) {
-            cc = createPrivateUseMapping (gi);
+            cc = createPrivateUseMapping(gi);
         }
         return cc;
     }
 
-    private int findCharacterFromGlyphIndex (int gi) {
-        return findCharacterFromGlyphIndex (gi, true);
+    private int findCharacterFromGlyphIndex(int gi) {
+        return findCharacterFromGlyphIndex(gi, true);
     }
 
 
@@ -377,11 +377,11 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * Establishes the glyph definition table.
      * @param gdef the glyph definition table to be used by this font
      */
-    public void setGDEF (GlyphDefinitionTable gdef) {
+    public void setGDEF(GlyphDefinitionTable gdef) {
         if ((this.gdef == null) || (gdef == null)) {
             this.gdef = gdef;
         } else {
-            throw new IllegalStateException ("font already associated with GDEF table");
+            throw new IllegalStateException("font already associated with GDEF table");
         }
     }
 
@@ -397,11 +397,11 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * Establishes the glyph substitution table.
      * @param gsub the glyph substitution table to be used by this font
      */
-    public void setGSUB (GlyphSubstitutionTable gsub) {
+    public void setGSUB(GlyphSubstitutionTable gsub) {
         if ((this.gsub == null) || (gsub == null)) {
             this.gsub = gsub;
         } else {
-            throw new IllegalStateException ("font already associated with GSUB table");
+            throw new IllegalStateException("font already associated with GSUB table");
         }
     }
 
@@ -417,11 +417,11 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * Establishes the glyph positioning table.
      * @param gpos the glyph positioning table to be used by this font
      */
-    public void setGPOS (GlyphPositioningTable gpos) {
+    public void setGPOS(GlyphPositioningTable gpos) {
         if ((this.gpos == null) || (gpos == null)) {
             this.gpos = gpos;
         } else {
-            throw new IllegalStateException ("font already associated with GPOS table");
+            throw new IllegalStateException("font already associated with GPOS table");
         }
     }
 
@@ -439,11 +439,11 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
     }
 
     /** {@inheritDoc} */
-    public CharSequence performSubstitution (CharSequence cs, String script, String language) {
+    public CharSequence performSubstitution(CharSequence cs, String script, String language) {
         if (gsub != null) {
-            GlyphSequence igs = mapCharsToGlyphs (cs);
-            GlyphSequence ogs = gsub.substitute (igs, script, language);
-            CharSequence ocs = mapGlyphsToChars (ogs);
+            GlyphSequence igs = mapCharsToGlyphs(cs);
+            GlyphSequence ogs = gsub.substitute(igs, script, language);
+            CharSequence ocs = mapGlyphsToChars(ogs);
             return ocs;
         } else {
             return cs;
@@ -451,12 +451,12 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
     }
 
     /** {@inheritDoc} */
-    public CharSequence reorderCombiningMarks
-        (CharSequence cs, int[][] gpa, String script, String language) {
+    public CharSequence reorderCombiningMarks(
+        CharSequence cs, int[][] gpa, String script, String language) {
         if (gdef != null) {
-            GlyphSequence igs = mapCharsToGlyphs (cs);
-            GlyphSequence ogs = gdef.reorderCombiningMarks (igs, gpa, script, language);
-            CharSequence ocs = mapGlyphsToChars (ogs);
+            GlyphSequence igs = mapCharsToGlyphs(cs);
+            GlyphSequence ogs = gdef.reorderCombiningMarks(igs, gpa, script, language);
+            CharSequence ocs = mapGlyphsToChars(ogs);
             return ocs;
         } else {
             return cs;
@@ -470,12 +470,12 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
 
     /** {@inheritDoc} */
     public int[][]
-        performPositioning (CharSequence cs, String script, String language, int fontSize) {
+        performPositioning(CharSequence cs, String script, String language, int fontSize) {
         if (gpos != null) {
-            GlyphSequence gs = mapCharsToGlyphs (cs);
+            GlyphSequence gs = mapCharsToGlyphs(cs);
             int[][] adjustments = new int [ gs.getGlyphCount() ] [ 4 ];
-            if (gpos.position (gs, script, language, fontSize, this.width, adjustments)) {
-                return scaleAdjustments (adjustments, fontSize);
+            if (gpos.position(gs, script, language, fontSize, this.width, adjustments)) {
+                return scaleAdjustments(adjustments, fontSize);
             } else {
                 return null;
             }
@@ -485,12 +485,12 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
     }
 
     /** {@inheritDoc} */
-    public int[][] performPositioning (CharSequence cs, String script, String language) {
+    public int[][] performPositioning(CharSequence cs, String script, String language) {
         throw new UnsupportedOperationException();
     }
 
 
-    private int[][] scaleAdjustments (int[][] adjustments, int fontSize) {
+    private int[][] scaleAdjustments(int[][] adjustments, int fontSize) {
         if (adjustments != null) {
             for (int i = 0, n = adjustments.length; i < n; i++) {
                 int[] gpa = adjustments [ i ];
@@ -511,46 +511,46 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * @param cs a CharSequence containing UTF-16 encoded Unicode characters
      * @returns a CharSequence containing glyph indices
      */
-    private GlyphSequence mapCharsToGlyphs (CharSequence cs) {
-        IntBuffer cb = IntBuffer.allocate (cs.length());
-        IntBuffer gb = IntBuffer.allocate (cs.length());
+    private GlyphSequence mapCharsToGlyphs(CharSequence cs) {
+        IntBuffer cb = IntBuffer.allocate(cs.length());
+        IntBuffer gb = IntBuffer.allocate(cs.length());
         int gi;
-        int giMissing = findGlyphIndex (Typeface.NOT_FOUND);
+        int giMissing = findGlyphIndex(Typeface.NOT_FOUND);
         for (int i = 0, n = cs.length(); i < n; i++) {
-            int cc = cs.charAt (i);
+            int cc = cs.charAt(i);
             if ((cc >= 0xD800) && (cc < 0xDC00)) {
                 if ((i + 1) < n) {
                     int sh = cc;
-                    int sl = cs.charAt (++i);
+                    int sl = cs.charAt(++i);
                     if ((sl >= 0xDC00) && (sl < 0xE000)) {
                         cc = 0x10000 + ((sh - 0xD800) << 10) + ((sl - 0xDC00) << 0);
                     } else {
-                        throw new IllegalArgumentException
-                            ("ill-formed UTF-16 sequence, "
+                        throw new IllegalArgumentException(
+                            "ill-formed UTF-16 sequence, "
                                + "contains isolated high surrogate at index " + i);
                     }
                 } else {
-                    throw new IllegalArgumentException
-                        ("ill-formed UTF-16 sequence, "
+                    throw new IllegalArgumentException(
+                        "ill-formed UTF-16 sequence, "
                           + "contains isolated high surrogate at end of sequence");
                 }
             } else if ((cc >= 0xDC00) && (cc < 0xE000)) {
-                throw new IllegalArgumentException
-                    ("ill-formed UTF-16 sequence, "
+                throw new IllegalArgumentException(
+                    "ill-formed UTF-16 sequence, "
                       + "contains isolated low surrogate at index " + i);
             }
             notifyMapOperation();
-            gi = findGlyphIndex (cc);
+            gi = findGlyphIndex(cc);
             if (gi == SingleByteEncoding.NOT_FOUND_CODE_POINT) {
-                warnMissingGlyph ((char) cc);
+                warnMissingGlyph((char) cc);
                 gi = giMissing;
             }
-            cb.put (cc);
-            gb.put (gi);
+            cb.put(cc);
+            gb.put(gi);
         }
         cb.flip();
         gb.flip();
-        return new GlyphSequence (cb, gb, null);
+        return new GlyphSequence(cb, gb, null);
     }
 
     /**
@@ -559,13 +559,13 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
      * @param gs a GlyphSequence containing glyph indices
      * @returns a CharSequence containing UTF-16 encoded Unicode characters
      */
-    private CharSequence mapGlyphsToChars (GlyphSequence gs) {
+    private CharSequence mapGlyphsToChars(GlyphSequence gs) {
         int ng = gs.getGlyphCount();
-        CharBuffer cb = CharBuffer.allocate (ng);
+        CharBuffer cb = CharBuffer.allocate(ng);
         int ccMissing = Typeface.NOT_FOUND;
         for (int i = 0, n = ng; i < n; i++) {
-            int gi = gs.getGlyph (i);
-            int cc = findCharacterFromGlyphIndex (gi);
+            int gi = gs.getGlyph(i);
+            int cc = findCharacterFromGlyphIndex(gi);
             if ((cc == 0) || (cc > 0x10FFFF)) {
                 cc = ccMissing;
                 log.warn("Unable to map glyph index " + gi
@@ -579,10 +579,10 @@ public class MultiByteFont extends CIDFont implements Substitutable, Positionabl
                 cc -= 0x10000;
                 sh = ((cc >> 10) & 0x3FF) + 0xD800;
                 sl = ((cc >>  0) & 0x3FF) + 0xDC00;
-                cb.put ((char) sh);
-                cb.put ((char) sl);
+                cb.put((char) sh);
+                cb.put((char) sl);
             } else {
-                cb.put ((char) cc);
+                cb.put((char) cc);
             }
         }
         cb.flip();
index bc114c4aeb7d7ef736a5ac174689b776d2ed4b2f..3c234e0a376613792bf995682249e23d27c7ac3b 100644 (file)
@@ -219,8 +219,8 @@ public class TTFFile {
 
     // internal mapping of glyph indexes to unicode indexes
     // used for quick mappings in this class
-    private final Map<Integer, Integer> glyphToUnicodeMap = new HashMap<Integer, Integer> ();
-    private final Map<Integer, Integer> unicodeToGlyphMap = new HashMap<Integer, Integer> ();
+    private final Map<Integer, Integer> glyphToUnicodeMap = new HashMap<Integer, Integer>();
+    private final Map<Integer, Integer> unicodeToGlyphMap = new HashMap<Integer, Integer>();
 
     private TTFDirTabEntry currentDirTab;
 
@@ -244,7 +244,7 @@ public class TTFFile {
      * @param useKerning true if kerning data should be loaded
      * @param useAdvanced true if advanced typographic tables should be loaded
      */
-    public TTFFile (boolean useKerning, boolean useAdvanced) {
+    public TTFFile(boolean useKerning, boolean useAdvanced) {
         this.useKerning = useKerning;
         this.useAdvanced = useAdvanced;
     }
@@ -289,7 +289,7 @@ public class TTFFile {
         }
 
         /** {@inheritDoc} */
-        public boolean equals (Object o) {
+        public boolean equals(Object o) {
             if (o instanceof UnicodeMapping) {
                 UnicodeMapping m = (UnicodeMapping) o;
                 if (unicodeIndex != m.unicodeIndex) {
@@ -303,7 +303,7 @@ public class TTFFile {
         }
 
         /** {@inheritDoc} */
-        public int compareTo (Object o) {
+        public int compareTo(Object o) {
             if (o instanceof UnicodeMapping) {
                 UnicodeMapping m = (UnicodeMapping) o;
                 if (unicodeIndex > m.unicodeIndex) {
@@ -433,8 +433,8 @@ public class TTFFile {
         }
     }
 
-    private boolean readUnicodeCmap                             // CSOK: MethodLength
-        (long cmapUniOffset, int encodingID)
+    private boolean readUnicodeCmap(
+        long cmapUniOffset, int encodingID)
             throws IOException {
         //Read CMAP table and correct mtxTab.index
         int mtxPtr = 0;
@@ -737,11 +737,11 @@ public class TTFFile {
         if (useAdvanced) {
             try {
                 OTFAdvancedTypographicTableReader atr
-                    = new OTFAdvancedTypographicTableReader (this, in);
+                    = new OTFAdvancedTypographicTableReader(this, in);
                 atr.readAll();
                 this.advancedTableReader = atr;
             } catch (AdvancedTypographicTableFormatException e) {
-                log.warn (
+                log.warn(
                     "Encountered format constraint violation in advanced (typographic) table (AT) "
                     + "in font '" + getFullName() + "', ignoring AT data: "
                     + e.getMessage()
index 91ea42106b054bcde19bd3dfff7356de00da3249..b7adbd4c92b62e75312de9a77ebf5a7c2a504695 100644 (file)
@@ -240,12 +240,12 @@ public class TTFFontLoader extends FontLoader {
     /**
      * Copy advanced typographic information.
      */
-    private void copyAdvanced (TTFFile ttf) {
+    private void copyAdvanced(TTFFile ttf) {
         if (returnFont instanceof MultiByteFont) {
             MultiByteFont mbf = (MultiByteFont) returnFont;
-            mbf.setGDEF (ttf.getGDEF());
-            mbf.setGSUB (ttf.getGSUB());
-            mbf.setGPOS (ttf.getGPOS());
+            mbf.setGDEF(ttf.getGDEF());
+            mbf.setGSUB(ttf.getGSUB());
+            mbf.setGPOS(ttf.getGPOS());
         }
     }
 
index a68baf2c13a3c021b618dfbc97d88be2cc868a45..c9a0e6c8e9229390ca5f93580c00aeaff62f393e 100644 (file)
@@ -62,7 +62,7 @@ public class TTFSubSetFile extends TTFFile {
      * @param useKerning true if kerning data should be loaded
      * @param useAdvanced true if advanced typographic tables should be loaded
      */
-    public TTFSubSetFile (boolean useKerning, boolean useAdvanced) {
+    public TTFSubSetFile(boolean useKerning, boolean useAdvanced) {
         super(useKerning, useAdvanced);
     }
 
index 4673a6793e160015fde9bf7a6f4111465c243f48..536c7444a9d7047db49c7ea95c99c3908bd0c6b8 100644 (file)
@@ -130,7 +130,7 @@ public class SerializeHyphPattern {
      * Entry point for ant java task
      * @param args sourceDir, targetDir
      */
-    public static void main (String[] args) {
+    public static void main(String[] args) {
         SerializeHyphPattern ser = new SerializeHyphPattern();
         ser.serializeDir(new File(args[0]), new File(args[1]));
     }
index 2cdcf45052a8ce2deb624bb967515952b535e169..7f806a88363811a9c7da01d04d75d5d9af90c63b 100644 (file)
@@ -420,7 +420,7 @@ public abstract class AbstractBreaker {
                 alg.setConstantLineWidth(flowBPD);
                 int optimalPageCount = alg.findBreakingPoints(effectiveList, 1, true,
                         BreakingAlgorithm.ALL_BREAKS);
-                if (Math.abs (alg.getIPDdifference()) > 1) {
+                if (Math.abs(alg.getIPDdifference()) > 1) {
                     addAreas(alg, optimalPageCount, blockList, effectiveList);
                     // *** redo Phase 1 ***
                     log.trace("IPD changes after page " + optimalPageCount);
@@ -878,8 +878,8 @@ public abstract class AbstractBreaker {
      * @param availableBPD the available BPD
      * @return the effective list
      */
-    private BlockSequence justifyBoxes                          // CSOK: MethodLength
-        (BlockSequence blockList, PageBreakingAlgorithm alg, int availableBPD) {
+    private BlockSequence justifyBoxes(
+        BlockSequence blockList, PageBreakingAlgorithm alg, int availableBPD) {
         int optimalPageCount;
         alg.setConstantLineWidth(availableBPD);
         optimalPageCount = alg.findBreakingPoints(blockList, /*availableBPD,*/
@@ -1061,8 +1061,8 @@ public abstract class AbstractBreaker {
                         + " / " + difference);
             }
             int newAdjust = ((BlockLevelLayoutManager) blockSpace.getLayoutManager())
-                .negotiateBPDAdjustment
-                (((int) ((float) partial * difference / total)) - adjustedDiff, blockSpace);
+                .negotiateBPDAdjustment(
+                ((int) ((float) partial * difference / total)) - adjustedDiff, blockSpace);
             adjustedDiff += newAdjust;
         }
         return adjustedDiff;
@@ -1086,8 +1086,8 @@ public abstract class AbstractBreaker {
             KnuthGlue line = lineListIterator.next();
             partial += (difference > 0 ? line.getStretch() : line.getShrink());
             int newAdjust = ((BlockLevelLayoutManager) line.getLayoutManager())
-                .negotiateBPDAdjustment
-                (((int) ((float) partial * difference / total)) - adjustedDiff, line);
+                .negotiateBPDAdjustment(
+                ((int) ((float) partial * difference / total)) - adjustedDiff, line);
             adjustedDiff += newAdjust;
         }
         return adjustedDiff;
index 70ad376c0bac51eb5b64178f04ea0e5f68cbbef5..a23cd28f1c4ec574512d31a62beb14e1f74fdb79 100644 (file)
@@ -856,7 +856,7 @@ public class BlockContainerLayoutManager extends BlockStackingLayoutManager impl
             viewportBlockArea = new BlockViewport(allowBPDUpdate);
             viewportBlockArea.addTrait(Trait.IS_VIEWPORT_AREA, Boolean.TRUE);
             if (level >= 0) {
-                viewportBlockArea.setBidiLevel (level);
+                viewportBlockArea.setBidiLevel(level);
             }
             viewportBlockArea.setIPD(getContentAreaIPD());
             if (allowBPDUpdate) {
@@ -893,7 +893,7 @@ public class BlockContainerLayoutManager extends BlockStackingLayoutManager impl
             referenceArea = new Block();
             referenceArea.addTrait(Trait.IS_REFERENCE_AREA, Boolean.TRUE);
             if (level >= 0) {
-                referenceArea.setBidiLevel (level);
+                referenceArea.setBidiLevel(level);
             }
             TraitSetter.setProducerID(referenceArea, getBlockContainerFO().getId());
 
index 317623cd54cdb38e6370ca2819f895f42e428382..0fb738aea446c0baccc3273be0dde1f3fa360e92 100644 (file)
@@ -360,7 +360,7 @@ public class BlockLayoutManager extends BlockStackingLayoutManager implements Co
 
             curBlockArea.setIPD(super.getContentAreaIPD());
 
-            curBlockArea.setBidiLevel (getBlockFO().getBidiLevel());
+            curBlockArea.setBidiLevel(getBlockFO().getBidiLevel());
 
             TraitSetter.addBreaks(curBlockArea,
                     getBlockFO().getBreakBefore(), getBlockFO().getBreakAfter());
index 8d5e77ae0f955e6d1f0df2b441676b171352b6a6..cd37f0d3a1ac60e1ccde7ff0b664a6f3350edfa2 100644 (file)
@@ -126,8 +126,8 @@ public abstract class KnuthSequence extends ArrayList {
         ListElement element;
         while (listIter.hasNext()) {
             element = (ListElement) listIter.next();
-            element.setPosition
-            (lm.notifyPos(new NonLeafPosition(lm, element.getPosition())));
+            element.setPosition(
+            lm.notifyPos(new NonLeafPosition(lm, element.getPosition())));
         }
     }
 
index dce290b50926fccd3239dbf7c66bc621845d4e65..87e984e763a102599a450fee256d1d172f6a7dab 100644 (file)
@@ -515,11 +515,11 @@ class PageBreakingAlgorithm extends BreakingAlgorithm {
                     footnoteListIndex = footnotesList.size() - 1;
                     footnoteElementIndex
                         = getFootnoteList(footnoteListIndex).size() - 1;
-                } else if (((canDeferOldFN = canDeferOldFootnotes // CSOK: InnerAssignment
-                             (pageNode, elementIndex))
+                } else if (((canDeferOldFN = canDeferOldFootnotes(// CSOK: InnerAssignment
+                             pageNode, elementIndex))
                             || newFootnotes)
-                           && (footnoteSplit = getFootnoteSplit // CSOK: InnerAssignment
-                               (pageNode, getLineWidth(activeNode.line) - actualWidth,
+                           && (footnoteSplit = getFootnoteSplit(// CSOK: InnerAssignment
+                               pageNode, getLineWidth(activeNode.line) - actualWidth,
                                 canDeferOldFN)) > 0) {
                     // it is allowed to break or even defer footnotes if either:
                     //  - there are new footnotes in the last piece of content, and
@@ -890,8 +890,8 @@ class PageBreakingAlgorithm extends BreakingAlgorithm {
                 insertedFootnotesLength = totalFootnotesLength;
                 footnoteListIndex = lengthList.size() - 1;
                 footnoteElementIndex = getFootnoteList(footnoteListIndex).size() - 1;
-            } else if ((split = getFootnoteSplit                // CSOK: InnerAssignment
-                        (footnoteListIndex, footnoteElementIndex,
+            } else if ((split = getFootnoteSplit(// CSOK: InnerAssignment
+                        footnoteListIndex, footnoteElementIndex,
                          insertedFootnotesLength, availableBPD, true)) > 0) {
                 // add a piece of a footnote
                 availableBPD -= split;
index 3b4b84346b4c785405d097513a3158e613102c36..7ed91047354ce8b884c98ca737f1d88a1719a1ed 100644 (file)
@@ -214,7 +214,7 @@ public class CharacterLayoutManager extends LeafNodeLayoutManager {
                     new LeafPosition(this, -1), true));
             returnList.add(new KnuthGlue(letterSpaceIPD.mult(areaInfo.letterSpaces),
                     new LeafPosition(this, -1), true));
-            returnList.add (
+            returnList.add(
                     new KnuthInlineBox(0, null, notifyPos(new LeafPosition(this, -1)), true));
             if (areaInfo.isHyphenated) {
                 returnList.add(new KnuthPenalty(hyphIPD, KnuthPenalty.FLAGGED_PENALTY, true,
index 183b83e70aa12faf81051da53d5b8afdc8edd8d7..8a25dc62b028caaf601ece71c807e8d479e57e2c 100644 (file)
@@ -288,7 +288,7 @@ public class ImageLayout implements Constants {
      * @param cwidth the calculated content width of the object
      * @return the X offset
      */
-    public int computeXOffset (int ipd, int cwidth) {
+    public int computeXOffset(int ipd, int cwidth) {
         int xoffset = 0;
         switch (props.getTextAlign()) {
             case EN_CENTER:
index ebf7a9ccbcf012068c5ca4374c43fc5344492199..00782f62b977c23e36e6cd94fde0e2732a1c4bcd 100644 (file)
@@ -257,8 +257,8 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
 
     /** {@inheritDoc} */
     @Override                                                   // CSOK: MethodLength
-    public List getNextKnuthElements
-        (LayoutContext context, int alignment) {
+    public List getNextKnuthElements(
+        LayoutContext context, int alignment) {
         LayoutManager curLM;
 
         // the list returned by child LM
index a1c50d45f6143362ac4d7e64af6d4936fd80614e..1f4a06ee2d434d8d7925cbe3b6f2e30f59e21378 100644 (file)
@@ -184,7 +184,7 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
                 ls.setIPD(iAdjust);
                 int level = parentArea.getBidiLevel();
                 if (level >= 0) {
-                    ls.setBidiLevel (level);
+                    ls.setBidiLevel(level);
                 }
                 parentArea.addChildArea(ls);
             }
@@ -349,26 +349,26 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
 
             if (currLM != prevLM || !oldListIterator.hasNext()) {
                 if (oldListIterator.hasNext()) {
-                    returnedList.addAll
-                        (prevLM.getChangedKnuthElements
-                         (oldList.subList(fromIndex, oldListIterator.previousIndex()),
+                    returnedList.addAll(
+                        prevLM.getChangedKnuthElements(
+                         oldList.subList(fromIndex, oldListIterator.previousIndex()),
                           alignment, depth));
                     prevLM = currLM;
                     fromIndex = oldListIterator.previousIndex();
                 } else if (currLM == prevLM) {
-                    returnedList.addAll
-                        (prevLM.getChangedKnuthElements
-                         (oldList.subList(fromIndex, oldList.size()),
+                    returnedList.addAll(
+                        prevLM.getChangedKnuthElements(
+                         oldList.subList(fromIndex, oldList.size()),
                           alignment, depth));
                 } else {
-                    returnedList.addAll
-                        (prevLM.getChangedKnuthElements
-                         (oldList.subList(fromIndex, oldListIterator.previousIndex()),
+                    returnedList.addAll(
+                        prevLM.getChangedKnuthElements(
+                         oldList.subList(fromIndex, oldListIterator.previousIndex()),
                           alignment, depth));
                     if (currLM != null) {
-                        returnedList.addAll
-                            (currLM.getChangedKnuthElements
-                             (oldList.subList(oldListIterator.previousIndex(), oldList.size()),
+                        returnedList.addAll(
+                            currLM.getChangedKnuthElements(
+                             oldList.subList(oldListIterator.previousIndex(), oldList.size()),
                               alignment, depth));
                     }
                 }
@@ -380,8 +380,8 @@ public abstract class InlineStackingLayoutManager extends AbstractLayoutManager
         ListIterator listIter = returnedList.listIterator();
         while (listIter.hasNext()) {
             returnedElement = (KnuthElement) listIter.next();
-            returnedElement.setPosition
-                (notifyPos(new NonLeafPosition(this, returnedElement.getPosition())));
+            returnedElement.setPosition(
+                notifyPos(new NonLeafPosition(this, returnedElement.getPosition())));
             returnList.add(returnedElement);
         }
 
index 312a58fc09c1577a4243a64cc87b6a13c128dc12..e786acdd3b487912c2dfe3bd2ac48750921e27a3 100644 (file)
@@ -39,8 +39,8 @@ public class KnuthInlineBox extends KnuthBox {
      * @param pos              the Position stored in this box
      * @param auxiliary        is this box auxiliary?
      */
-    public KnuthInlineBox
-        (int width, AlignmentContext alignmentContext, Position pos, boolean auxiliary) {
+    public KnuthInlineBox(
+        int width, AlignmentContext alignmentContext, Position pos, boolean auxiliary) {
         super(width, pos, auxiliary);
         this.alignmentContext = alignmentContext;
     }
index c19519ec85ab2279f7ccff2b40886fd135f93245..f0ae4170d97084266535844aafa8a61626e19f5a 100644 (file)
@@ -126,19 +126,19 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
             } else {
                 leaderArea = new Space();
                 if (level >= 0) {
-                    leaderArea.setBidiLevel (level);
+                    leaderArea.setBidiLevel(level);
                 }
             }
             leaderArea.setBPD(fobj.getRuleThickness().getValue(this));
             leaderArea.addTrait(Trait.COLOR, fobj.getColor());
             if (level >= 0) {
-                leaderArea.setBidiLevel (level);
+                leaderArea.setBidiLevel(level);
             }
         } else if (fobj.getLeaderPattern() == EN_SPACE) {
             leaderArea = new Space();
             leaderArea.setBPD(fobj.getRuleThickness().getValue(this));
             if (level >= 0) {
-                leaderArea.setBidiLevel (level);
+                leaderArea.setBidiLevel(level);
             }
         } else if (fobj.getLeaderPattern() == EN_DOTS) {
             TextArea t = new TextArea();
@@ -157,7 +157,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
                 spacer = new Space();
                 spacer.setIPD(widthLeaderPattern - width);
                 if (level >= 0) {
-                    spacer.setBidiLevel (level);
+                    spacer.setBidiLevel(level);
                 }
                 width = widthLeaderPattern;
             }
@@ -201,7 +201,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
                     spacer = new Space();
                     spacer.setIPD(fobj.getLeaderPatternWidth().getValue(this) - width);
                     if (level >= 0) {
-                        spacer.setBidiLevel (level);
+                        spacer.setBidiLevel(level);
                     }
                     width = fobj.getLeaderPatternWidth().getValue(this);
                 }
@@ -214,7 +214,7 @@ public class LeaderLayoutManager extends LeafNodeLayoutManager {
                 //Content collapsed to nothing, so use a space
                 leaderArea = new Space();
                 leaderArea.setBPD(fobj.getRuleThickness().getValue(this));
-                leaderArea.setBidiLevel (fobj.getBidiLevelRecursive());
+                leaderArea.setBidiLevel(fobj.getBidiLevelRecursive());
             }
         }
         TraitSetter.setProducerID(leaderArea, fobj.getId());
index 5a191e9221cfbfc08b98441cb6f2d1dfff1d51af..b3987a0751374719b9a728255e0baccad915057b 100644 (file)
@@ -987,8 +987,8 @@ public class LineLayoutManager extends InlineStackingLayoutManager
                     }
                     startIndex = endIndex + 1;
                     LineBreakPosition lbp = (LineBreakPosition) llPoss.getChosenPosition(i);
-                    returnList.add(new KnuthBlockBox
-                                   (lbp.lineHeight + lbp.spaceBefore + lbp.spaceAfter,
+                    returnList.add(new KnuthBlockBox(
+                                   lbp.lineHeight + lbp.spaceBefore + lbp.spaceAfter,
                                     footnoteList, lbp, false));
                 }
             }
@@ -1353,8 +1353,8 @@ public class LineLayoutManager extends InlineStackingLayoutManager
                 .applyChanges(par.subList(fromIndex + elementsAdded,
                                               toIndex + elementsAdded))) {
                 // insert the new KnuthElements
-                List newElements = currUpdate.inlineLM.getChangedKnuthElements
-                    (par.subList(fromIndex + elementsAdded,
+                List newElements = currUpdate.inlineLM.getChangedKnuthElements(
+                    par.subList(fromIndex + elementsAdded,
                                      toIndex + elementsAdded),
                      /*flaggedPenalty,*/ effectiveAlignment);
                 // remove the old elements
@@ -1553,7 +1553,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
         }
         lineArea.finish();
         if (lineArea.getBidiLevel() >= 0) {
-            BidiResolver.reorder (lineArea);
+            BidiResolver.reorder(lineArea);
         }
         parentLayoutManager.addChildArea(lineArea);
     }
@@ -1605,7 +1605,7 @@ public class LineLayoutManager extends InlineStackingLayoutManager
         }
         lineArea.updateExtentsFromChildren();
         if (lineArea.getBidiLevel() >= 0) {
-            BidiResolver.reorder (lineArea);
+            BidiResolver.reorder(lineArea);
         }
         parentLayoutManager.addChildArea(lineArea);
     }
index 2bfe65d13cfec5342ddc099bd243989ead41be34..53f51cd324a9f60f29d339d0a4e8973e2cc50680 100644 (file)
@@ -85,8 +85,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         private final int level;
         private final int[][] gposAdjustments;
 
-        AreaInfo                                                // CSOK: ParameterNumber
-            (int startIndex, int breakIndex, int wordSpaceCount, int letterSpaceCount,
+        AreaInfo(
+            int startIndex, int breakIndex, int wordSpaceCount, int letterSpaceCount,
              MinOptMax areaIPD, boolean isHyphenated, boolean isSpace, boolean breakOppAfter,
              Font font, int level, int[][] gposAdjustments) {
             assert startIndex <= breakIndex;
@@ -112,8 +112,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
          */
         private int getWordLength() {
             if (wordCharLength == -1) {
-                if (foText.hasMapping (startIndex, breakIndex)) {
-                    wordCharLength = foText.getMapping (startIndex, breakIndex).length();
+                if (foText.hasMapping(startIndex, breakIndex)) {
+                    wordCharLength = foText.getMapping(startIndex, breakIndex).length();
                 } else {
                     assert breakIndex >= startIndex;
                     wordCharLength = breakIndex - startIndex;
@@ -610,7 +610,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
             letterSpaceAdjustIndex = 0;
             wordLevels = new int[wordLength];
             wordLevelsIndex = 0;
-            Arrays.fill (wordLevels, -1);
+            Arrays.fill(wordLevels, -1);
             gposAdjustments = new int[wordLength][4];
             gposAdjustmentsIndex = 0;
             wordIPD = 0;
@@ -637,14 +637,14 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         private void addWordChars(AreaInfo wordAreaInfo) {
             int s = wordAreaInfo.startIndex;
             int e = wordAreaInfo.breakIndex;
-            if (foText.hasMapping (s, e)) {
-                wordChars.append (foText.getMapping (s, e));
-                addWordLevels (foText.getMappingBidiLevels (s, e));
+            if (foText.hasMapping(s, e)) {
+                wordChars.append(foText.getMapping(s, e));
+                addWordLevels(foText.getMappingBidiLevels(s, e));
             } else {
                 for (int i = s; i < e; i++) {
                     wordChars.append(foText.charAt(i));
                 }
-                addWordLevels (foText.getBidiLevels (s, e));
+                addWordLevels(foText.getBidiLevels(s, e));
             }
             wordIPD += wordAreaInfo.areaIPD.getOpt();
         }
@@ -654,15 +654,15 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
          * concatenante (possibly mapped) word bidi levels to levels buffer.
          * @param levels bidi levels array or null
          */
-        private void addWordLevels (int[] levels) {
+        private void addWordLevels(int[] levels) {
             int numLevels = (levels != null) ? levels.length : 0;
             if (numLevels > 0) {
                 int need = wordLevelsIndex + numLevels;
                 if (need <= wordLevels.length) {
-                    System.arraycopy (levels, 0, wordLevels, wordLevelsIndex, numLevels);
+                    System.arraycopy(levels, 0, wordLevels, wordLevelsIndex, numLevels);
                 } else {
-                    throw new IllegalStateException
-                        ("word levels array too short: expect at least "
+                    throw new IllegalStateException(
+                        "word levels array too short: expect at least "
                           + need + " entries, but has only " + wordLevels.length + " entries");
                 }
             }
@@ -722,8 +722,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
                         }
                     }
                 } else {
-                    throw new IllegalStateException
-                        ("gpos adjustments array too short: expect at least "
+                    throw new IllegalStateException(
+                        "gpos adjustments array too short: expect at least "
                           + need + " entries, but has only " + gposAdjustments.length
                           + " entries");
                 }
@@ -756,8 +756,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
                 char spaceChar = foText.charAt(i);
                 int level = foText.bidiLevelAt(i);
                 if (!CharUtilities.isZeroWidthSpace(spaceChar)) {
-                    textArea.addSpace
-                        (spaceChar, spaceIPD,
+                    textArea.addSpace(
+                        spaceChar, spaceIPD,
                           CharUtilities.isAdjustableSpace(spaceChar),
                           blockProgressionOffset, level);
                 }
@@ -766,16 +766,16 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
 
     }
 
-    private void addAreaInfo (AreaInfo ai) {
-        addAreaInfo (areaInfos.size(), ai);
+    private void addAreaInfo(AreaInfo ai) {
+        addAreaInfo(areaInfos.size(), ai);
     }
 
-    private void addAreaInfo (int index, AreaInfo ai) {
-        areaInfos.add (index, ai);
+    private void addAreaInfo(int index, AreaInfo ai) {
+        areaInfos.add(index, ai);
     }
 
-    private void removeAreaInfo (int index) {
-        areaInfos.remove (index);
+    private void removeAreaInfo(int index) {
+        areaInfos.remove(index);
     }
 
     private AreaInfo getAreaInfo(int index) {
@@ -815,7 +815,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         returnList.add(sequence);
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug ("GK: [" + nextStart + "," + foText.length() + "]");
+            LOG.debug("GK: [" + nextStart + "," + foText.length() + "]");
         }
         LineBreakStatus lineBreakStatus = new LineBreakStatus();
         thisStart = nextStart;
@@ -846,9 +846,9 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
                     TextLayoutManager.LOG.error("Unexpected breakAction: " + breakAction);
             }
             if (LOG.isDebugEnabled()) {
-                LOG.debug ("GK: {"
+                LOG.debug("GK: {"
                             + " index = " + nextStart
-                            + ", char = " + CharUtilities.charToNCRef (ch)
+                            + ", char = " + CharUtilities.charToNCRef(ch)
                             + ", level = " + level
                             + ", levelPrev = " + prevLevel
                             + ", inWord = " + inWord
@@ -960,14 +960,14 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
             final KnuthSequence sequence, final boolean breakOpportunity, int level) {
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug ("PS: [" + thisStart + "," + nextStart + "]");
+            LOG.debug("PS: [" + thisStart + "," + nextStart + "]");
         }
 
         // End of whitespace
         // create the AreaInfo object
         assert nextStart >= thisStart;
-        AreaInfo areaInfo = new AreaInfo
-            (thisStart, nextStart, nextStart - thisStart, 0,
+        AreaInfo areaInfo = new AreaInfo(
+            thisStart, nextStart, nextStart - thisStart, 0,
               wordSpaceIPD.mult(nextStart - thisStart),
               false, true, breakOpportunity, spaceFont, level, null);
 
@@ -980,8 +980,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         return areaInfo;
     }
 
-    private AreaInfo processWordMapping
-        (int lastIndex, final Font font, AreaInfo prevAreaInfo, final char breakOpportunityChar,
+    private AreaInfo processWordMapping(
+        int lastIndex, final Font font, AreaInfo prevAreaInfo, final char breakOpportunityChar,
           final boolean endsWithHyphen, int level) {
         int s = this.thisStart; // start index of word in FOText character buffer
         int e = lastIndex;      // end index of word in FOText character buffer
@@ -990,67 +990,67 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         String language = foText.getLanguage();
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug ("PW: [" + thisStart + "," + lastIndex + "]: {"
+            LOG.debug("PW: [" + thisStart + "," + lastIndex + "]: {"
                         + " +M"
                         + ", level = " + level
                         + " }");
         }
 
         // 1. extract unmapped character sequence
-        CharSequence ics = foText.subSequence (s, e);
+        CharSequence ics = foText.subSequence(s, e);
 
         // 2. if script is not specified (by FO property) or it is specified as 'auto',
         // then compute dominant script
         if ((script == null) || "auto".equals(script)) {
-            script = CharScript.scriptTagFromCode (CharScript.dominantScript (ics));
+            script = CharScript.scriptTagFromCode(CharScript.dominantScript(ics));
         }
         if ((language == null) || "none".equals(language)) {
             language = "dflt";
         }
 
         // 3. perform mapping of chars to glyphs ... to glyphs ... to chars
-        CharSequence mcs = font.performSubstitution (ics, script, language);
+        CharSequence mcs = font.performSubstitution(ics, script, language);
 
         // 4. compute glyph position adjustments on (substituted) characters
         int[][] gpa;
         if (font.performsPositioning()) {
             // handle GPOS adjustments
-            gpa = font.performPositioning (mcs, script, language);
+            gpa = font.performPositioning(mcs, script, language);
         } else if (font.hasKerning()) {
             // handle standard (non-GPOS) kerning adjustments
-            gpa = getKerningAdjustments (mcs, font);
+            gpa = getKerningAdjustments(mcs, font);
         } else {
             gpa = null;
         }
 
         // 5. reorder combining marks so that they precede (within the mapped char sequence) the
         // base to which they are applied; N.B. position adjustments (gpa) are reordered in place
-        mcs = font.reorderCombiningMarks (mcs, gpa, script, language);
+        mcs = font.reorderCombiningMarks(mcs, gpa, script, language);
 
         // 6. if mapped sequence differs from input sequence, then memoize mapped sequence
-        if (!CharUtilities.isSameSequence (mcs, ics)) {
-            foText.addMapping (s, e, mcs);
+        if (!CharUtilities.isSameSequence(mcs, ics)) {
+            foText.addMapping(s, e, mcs);
         }
 
         // 7. compute word ipd based on final position adjustments
         MinOptMax ipd = MinOptMax.ZERO;
         for (int i = 0, n = mcs.length(); i < n; i++) {
-            int c = mcs.charAt (i);
+            int c = mcs.charAt(i);
             // TODO !BMP
-            int  w = font.getCharWidth (c);
+            int  w = font.getCharWidth(c);
             if (w < 0) {
                 w = 0;
             }
             if (gpa != null) {
                 w += gpa [ i ] [ GlyphPositioningTable.Value.IDX_X_ADVANCE ];
             }
-            ipd = ipd.plus (w);
+            ipd = ipd.plus(w);
         }
 
         // [TBD] - handle letter spacing
 
-        return new AreaInfo
-            (s, e, 0, nLS, ipd, endsWithHyphen, false,
+        return new AreaInfo(
+            s, e, 0, nLS, ipd, endsWithHyphen, false,
               breakOpportunityChar != 0, font, level, gpa);
     }
 
@@ -1061,15 +1061,15 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
      * @param font applicable font
      * @return glyph position adjustments (or null if no kerning)
      */
-    private int[][] getKerningAdjustments (CharSequence mcs, final Font font) {
+    private int[][] getKerningAdjustments(CharSequence mcs, final Font font) {
         int nc = mcs.length();
         // extract kerning array
         int[] ka = new int [ nc ]; // kerning array
         for (int i = 0, n = nc, cPrev = -1; i < n; i++) {
-            int c = mcs.charAt (i);
+            int c = mcs.charAt(i);
             // TODO !BMP
             if (cPrev >= 0) {
-                ka[i] = font.getKernValue (cPrev, c);
+                ka[i] = font.getKernValue(cPrev, c);
             }
             cPrev = c;
         }
@@ -1101,7 +1101,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         MinOptMax wordIPD = MinOptMax.ZERO;
 
         if (LOG.isDebugEnabled()) {
-            LOG.debug ("PW: [" + thisStart + "," + lastIndex + "]: {"
+            LOG.debug("PW: [" + thisStart + "," + lastIndex + "]: {"
                         + " -M"
                         + ", level = " + level
                         + " }");
@@ -1176,15 +1176,15 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         }
         final boolean endsWithHyphen = checkEndsWithHyphen
                 && foText.charAt(lastIndex) == CharUtilities.SOFT_HYPHEN;
-        Font font = FontSelector.selectFontForCharactersInText
-            (foText, thisStart, lastIndex, foText, this);
+        Font font = FontSelector.selectFontForCharactersInText(
+            foText, thisStart, lastIndex, foText, this);
         AreaInfo areaInfo;
         if (font.performsSubstitution() || font.performsPositioning()) {
-            areaInfo = processWordMapping
-                (lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level);
+            areaInfo = processWordMapping(
+                lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level);
         } else {
-            areaInfo = processWordNoMapping
-                (lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level);
+            areaInfo = processWordNoMapping(
+                lastIndex, font, prevAreaInfo, breakOpportunity ? ch : 0, endsWithHyphen, level);
         }
         prevAreaInfo = areaInfo;
         addAreaInfo(areaInfo);
@@ -1295,9 +1295,9 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
 
             if (!(nothingChanged && stopIndex == areaInfo.breakIndex && !hyphenFollows)) {
                 // the new AreaInfo object is not equal to the old one
-                changeList.add
-                    (new PendingChange
-                      (new AreaInfo(startIndex, stopIndex, 0,
+                changeList.add(
+                    new PendingChange(
+                      new AreaInfo(startIndex, stopIndex, 0,
                                      letterSpaceCount, newIPD, hyphenFollows,
                                      false, false, font, -1, null),
                         ((LeafPosition) pos).getLeafPos() + changeOffset));
@@ -1484,13 +1484,13 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
             // they don't add any stretch
             KnuthGlue g;
             if (skipZeroCheck || lineStartBAP != 0 || lineEndBAP != 0) {
-                g = new KnuthGlue
-                    (lineEndBAP,
+                g = new KnuthGlue(
+                    lineEndBAP,
                      3 * LineLayoutManager.DEFAULT_SPACE_WIDTH, 0, auxiliaryPosition, false);
                 elements.add(g);
                 elements.add(makeZeroWidthPenalty(0));
-                g = new KnuthGlue
-                    (p2WidthOffset - (lineStartBAP + lineEndBAP),
+                g = new KnuthGlue(
+                    p2WidthOffset - (lineStartBAP + lineEndBAP),
                      -3 * LineLayoutManager.DEFAULT_SPACE_WIDTH, 0, pos2, false);
                 elements.add(g);
                 elements.add(makeAuxiliaryZeroWidthBox());
@@ -1498,13 +1498,13 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
                 g = new KnuthGlue(lineStartBAP + p3WidthOffset, 0, 0, pos3, false);
                 elements.add(g);
             } else {
-                g = new KnuthGlue
-                    (0,
+                g = new KnuthGlue(
+                    0,
                      3 * LineLayoutManager.DEFAULT_SPACE_WIDTH, 0, auxiliaryPosition, false);
                 elements.add(g);
                 elements.add(makeZeroWidthPenalty(0));
-                g = new KnuthGlue
-                    (areaInfo.areaIPD.getOpt(),
+                g = new KnuthGlue(
+                    areaInfo.areaIPD.getOpt(),
                      -3 * LineLayoutManager.DEFAULT_SPACE_WIDTH, 0, pos2, false);
                 elements.add(g);
             }
@@ -1526,8 +1526,8 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
         return elements;
     }
 
-    private List getElementsForJustifiedText
-        (AreaInfo areaInfo, Position pos2, int p2WidthOffset,
+    private List getElementsForJustifiedText(
+        AreaInfo areaInfo, Position pos2, int p2WidthOffset,
          Position pos3, int p3WidthOffset, boolean skipZeroCheck,
          int shrinkability) {
 
@@ -1704,7 +1704,7 @@ public class TextLayoutManager extends LeafNodeLayoutManager {
     public String toString() {
         return super.toString() + "{"
             + "chars = \'"
-            + CharUtilities.toNCRefs (foText.getCharSequence().toString())
+            + CharUtilities.toNCRefs(foText.getCharSequence().toString())
             + "\'"
             + ", len = " + foText.length()
             + "}";
index f2a87b75a0b5b61b702d6cb44652d436640c2081..048f8326941e0e59f62d151008f1b8b0f8460265 100644 (file)
@@ -63,7 +63,7 @@ public abstract class CollapsingBorderModel {
                 }
                 return collapse;
             case Constants.EN_COLLAPSE_WITH_PRECEDENCE:
-                throw new UnsupportedOperationException ("collapse-with-precedence not yet supported");
+                throw new UnsupportedOperationException("collapse-with-precedence not yet supported");
             default:
                 throw new IllegalArgumentException("Illegal border-collapse mode.");
         }
index bb5661a07b73c064d46ab102098d7d16516181d1..1d1a443492df5c5704f24e3c839bee59fe62f93f 100644 (file)
@@ -59,7 +59,7 @@ public class ColumnSetup {
     public ColumnSetup(Table table) {
         assert table != null;
         this.table = table;
-        this.wmTraits = WritingModeTraits.getWritingModeTraitsGetter (table);
+        this.wmTraits = WritingModeTraits.getWritingModeTraitsGetter(table);
         prepareColumns();
         initializeColumnWidths();
     }
index dd8e3392f27fb40968d4702a67f132632255ff7e..bb298ade351680fd9dfb47bd1aaaf3622702f03d 100644 (file)
@@ -29,7 +29,7 @@ public class DestinationComparator implements java.util.Comparator {
   }*/
 
     /** {@inheritDoc} */
-    public int compare (Object obj1, Object obj2) {
+    public int compare(Object obj1, Object obj2) {
         if (obj1 instanceof PDFDestination && obj2 instanceof PDFDestination) {
             PDFDestination dest1 = (PDFDestination)obj1;
             PDFDestination dest2 = (PDFDestination)obj2;
index cf7168e1cfdbcb920d4d44d7aa1911debf12a647..8c931ad935e5c6276731391909ce13facb7bd4f9 100644 (file)
@@ -113,7 +113,7 @@ public abstract class PDFTextUtil {
     }
 
     private void writeChar(char ch, StringBuffer sb) {
-        writeChar (ch, sb, useMultiByte);
+        writeChar(ch, sb, useMultiByte);
     }
 
     private void checkInTextObject() {
@@ -325,7 +325,7 @@ public abstract class PDFTextUtil {
      * @param x coordinate
      * @param y coordinate
      */
-    public void writeTd (double x, double y) {
+    public void writeTd(double x, double y) {
         StringBuffer sb = new StringBuffer();
         PDFNumber.doubleOut(x, DEC, sb);
         sb.append(' ');
@@ -338,7 +338,7 @@ public abstract class PDFTextUtil {
      * Writes a "Tj" command with specified character code.
      * @param ch character code to write
      */
-    public void writeTj (char ch) {
+    public void writeTj(char ch) {
         StringBuffer sb = new StringBuffer();
         sb.append('<');
         writeChar(ch, sb, true);
index b374e1a2d23fd6d8ec9bf21192a1142a1a661953..622b6d2695dfea07b5232f4d5d0e3481195c1932 100644 (file)
@@ -321,7 +321,7 @@ public abstract class AbstractPathOrientedRenderer extends PrintRenderer {
      * @param bpsEnd the border-end traits
      * @param innerBackgroundColor the background color of the block
      */
-    protected void clipBackground (float startx, float starty,
+    protected void clipBackground(float startx, float starty,
             float width, float height,
             BorderProps bpsBefore, BorderProps bpsAfter,
             BorderProps bpsStart, BorderProps bpsEnd) {
index ca4a24512d469f29052f85e4eaef00c31069e477..e274e5c4b8bb09921feddc3b5783e952aa218f53 100644 (file)
@@ -630,7 +630,7 @@ public abstract class AbstractRenderer
                 // if line's content overflows line area, then
                 // ensure that overflow is drawn (extends)
                 // outside of left side of line area
-                int overflow = computeInlinesOverflow (line);
+                int overflow = computeInlinesOverflow(line);
                 if (overflow > 0) {
                     currentIPPosition -= overflow;
                 }
@@ -645,7 +645,7 @@ public abstract class AbstractRenderer
         currentBPPosition = saveBP;
     }
 
-    private int computeInlinesOverflow (LineArea line) {
+    private int computeInlinesOverflow(LineArea line) {
         List children = line.getInlineAreas();
         int ipdConsumed = 0;
         for (int i = 0, l = children.size(); i < l; i++) {
index 3adbd68f619afadc993fab73cc9bb66f81bc1751..aea7fe8c02dfc42a99161ebbc4b216fdb5107257 100644 (file)
@@ -237,8 +237,8 @@ public class AFPImageHandlerRenderedImage extends AFPImageHandler implements Ima
             objectAreaInfo.setHeightRes(resolution);
         }
 
-        private AFPDataObjectInfo encodeImage
-            (AFPImageObjectInfo imageObjectInfo,
+        private AFPDataObjectInfo encodeImage(
+            AFPImageObjectInfo imageObjectInfo,
              AFPPaintingState paintingState)
                 throws IOException {
 
index 045fccccdb4b29d6ac276f46222ab4fa57497379..647a8a7c00ae2f1e75b25ec180ad26a152c481f0 100644 (file)
@@ -289,8 +289,8 @@ public final class AFPInfo {
      */
     public AFPGraphics2D createGraphics2D(boolean textAsShapes) {
         AFPGraphics2D g2d
-            = new AFPGraphics2D
-            (textAsShapes, paintingState, resourceManager, resourceInfo, fontInfo);
+            = new AFPGraphics2D(
+            textAsShapes, paintingState, resourceManager, resourceInfo, fontInfo);
         g2d.setGraphicContext(new org.apache.xmlgraphics.java2d.GraphicContext());
         return g2d;
     }
index f7424c89cb768e6d47ef7c97d8d37da6359f4aed..12713bb24ca61cf1f87c4ed38e005bf90d3fe9e5 100644 (file)
@@ -940,7 +940,7 @@ public class AFPPainter extends AbstractIFPainter<AFPDocumentHandler> {
                     builder.setCodedFont((byte) fontReference);
 
                     int l = text.length();
-                    int[] dx = IFUtil.convertDPToDX (dp);
+                    int[] dx = IFUtil.convertDPToDX(dp);
                     int dxl = (dx != null ? dx.length : 0);
                     StringBuffer sb = new StringBuffer();
 
index b73e22d89fbbf3e2729b4521fdf90e026f22f56e..4549a26af44a0895001d6607297ce1bac71c666f 100644 (file)
@@ -169,8 +169,8 @@ public class AFPSVGHandler extends AbstractGenericSVGHandler {
         return objectAreaInfo;
     }
 
-    private AFPGraphicsObjectInfo createGraphicsObjectInfo
-        (AFPPaintingState paintingState, Graphics2DImagePainter painter,
+    private AFPGraphicsObjectInfo createGraphicsObjectInfo(
+        AFPPaintingState paintingState, Graphics2DImagePainter painter,
             FOUserAgent userAgent, AFPResourceInfo resourceInfo, AFPGraphics2D g2d) {
         AFPGraphicsObjectInfo graphicsObjectInfo = new AFPGraphicsObjectInfo();
 
index 32f31ce4cb35936458e35701716c55b5693f9e53..dc9256389e6bb9bd56edec9937bee49c489429bf 100644 (file)
@@ -106,8 +106,8 @@ public class PreviewDialog extends JFrame implements StatusListener {
      * @param renderable the Renderable instance that is used to reload/re-render a document
      *                   after modifications.
      */
-    public PreviewDialog                                        // CSOK: MethodLength
-        (FOUserAgent foUserAgent, Renderable renderable) {
+    public PreviewDialog(
+        FOUserAgent foUserAgent, Renderable renderable) {
         renderer = (AWTRenderer) foUserAgent.getRendererOverride();
         this.foUserAgent = foUserAgent;
         this.configuredTargetResolution = this.foUserAgent.getTargetResolution();
index bc44a255da1625d2bf16c41476bc63606df6996f..acbe1a793b470100d6165f7712aad7c3d30e592b 100644 (file)
@@ -135,14 +135,14 @@ public class AffineTransformArrayParser implements TransformListHandler {
 
     /** {@inheritDoc} */
     public void skewX(float skx) throws ParseException {
-        this.transforms.add
-            (AffineTransform.getShearInstance(Math.tan(Math.toRadians(skx)), 0));
+        this.transforms.add(
+            AffineTransform.getShearInstance(Math.tan(Math.toRadians(skx)), 0));
     }
 
     /** {@inheritDoc} */
     public void skewY(float sky) throws ParseException {
-        this.transforms.add
-            (AffineTransform.getShearInstance(0, Math.tan(Math.toRadians(sky))));
+        this.transforms.add(
+            AffineTransform.getShearInstance(0, Math.tan(Math.toRadians(sky))));
     }
 
     /** {@inheritDoc} */
index cc7015a71d6db8d15a97e8e79b73aed3cf97a4d8..868615360fd347f5bd23bdeb101395d2f5fe75d6 100644 (file)
@@ -57,7 +57,7 @@ public class IFGraphicContext extends GraphicContext {
      * {@inheritDoc}
      */
     public Object clone() {
-        return new IFGraphicContext (this);
+        return new IFGraphicContext(this);
     }
 
     /** @param group a group */
index 5d2beb65c1c11713c89176b9e44f14542a466b9c..59929228751e16feee08bbd7a10d653170c202aa 100644 (file)
@@ -178,7 +178,7 @@ public interface IFPainter {
      * @param bpsEnd the border segment on the end-side (right)
      * @throws IFException if an error occurs while handling this event
      */
-    void clipBackground (Rectangle rect,
+    void clipBackground(Rectangle rect,
             BorderProps bpsBefore, BorderProps bpsAfter,
             BorderProps bpsStart, BorderProps bpsEnd) throws IFException;
 
index c0fef84236e4ba13df3ca33c728e7c3e3aaaba4d..1af1d4a0677e5825f3aed138d6a0984cd70c243c 100644 (file)
@@ -644,7 +644,7 @@ public class IFParser implements IFConstants {
                 // if only DX present, then convert DX to DP; otherwise use only DP,
                 // effectively ignoring DX
                 if ((dp == null) && (dx != null)) {
-                    dp = IFUtil.convertDXToDP (dx);
+                    dp = IFUtil.convertDXToDP(dx);
                 }
                 establishStructureTreeElement(lastAttributes);
                 boolean isHyphenated = Boolean.valueOf(lastAttributes.getValue("hyphenated"));
index 5cdac7c88a5d56577a36c3aa4328ec6c90bf1088..f0d25a84dd3802aca019d609e98e2c3ec1df3cdb 100644 (file)
@@ -1049,8 +1049,8 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         if (dp == null) {
             renderTextWithAdjustments(s, word.getLetterAdjustArray(), word.isReversed(),
                     font, (AbstractTextArea)word.getParentArea());
-        } else if (IFUtil.isDPOnlyDX (dp)) {
-            renderTextWithAdjustments(s, IFUtil.convertDPToDX (dp), word.isReversed(),
+        } else if (IFUtil.isDPOnlyDX(dp)) {
+            renderTextWithAdjustments(s, IFUtil.convertDPToDX(dp), word.isReversed(),
                     font, (AbstractTextArea)word.getParentArea());
         } else {
             renderTextWithAdjustments(s, dp, word.isReversed(),
@@ -1123,9 +1123,9 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
                               Font font, AbstractTextArea parentArea) {
         assert !textUtil.combined;
         for (int i = 0, n = s.length(); i < n; i++) {
-            textUtil.addChar (s.charAt (i));
+            textUtil.addChar(s.charAt(i));
             if (dp != null) {
-                textUtil.adjust (dp[i]);
+                textUtil.adjust(dp[i]);
             }
         }
     }
@@ -1146,7 +1146,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
 
         void adjust(int dx) {
             if (dx != 0) {
-                adjust (new int[] {
+                adjust(new int[] {
                         dx,                         // xPlaAdjust
                         0,                          // yPlaAdjust
                         dx,                         // xAdvAdjust
@@ -1156,7 +1156,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
         }
 
         void adjust(int[] pa) {
-            if (!IFUtil.isPAIdentity (pa)) {
+            if (!IFUtil.isPAIdentity(pa)) {
                 int idx = text.length();
                 if (idx > dp.length - 1) {
                     int newSize = Math.max(dp.length, idx + 1) + INITIAL_BUFFER_SIZE;
@@ -1169,7 +1169,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
                 if (dp[idx - 1] == null) {
                     dp[idx - 1] = new int[4];
                 }
-                IFUtil.adjustPA (dp[idx - 1], pa);
+                IFUtil.adjustPA(dp[idx - 1], pa);
             }
         }
 
@@ -1197,10 +1197,10 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
                 try {
                     if (combined) {
                         painter.drawText(startx, starty, 0, 0,
-                                         trimAdjustments (dp, text.length()), text.toString());
+                                         trimAdjustments(dp, text.length()), text.toString());
                     } else {
                         painter.drawText(startx, starty, tls, tws,
-                                         trimAdjustments (dp, text.length()), text.toString());
+                                         trimAdjustments(dp, text.length()), text.toString());
                     }
                 } catch (IFException e) {
                     handleIFException(e);
@@ -1219,14 +1219,14 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
          * no greater than text length, and the last entry has a non-zero
          * adjustment.
          */
-        private int[][] trimAdjustments (int[][] dp, int textLength) {
+        private int[][] trimAdjustments(int[][] dp, int textLength) {
             if (dp != null) {
                 int tl = textLength;
                 int pl = dp.length;
                 int i  = (tl < pl) ? tl : pl;
                 while (i > 0) {
                     int[] pa = dp [ i - 1 ];
-                    if ((pa != null) && !IFUtil.isPAIdentity (pa)) {
+                    if ((pa != null) && !IFUtil.isPAIdentity(pa)) {
                         break;
                     } else {
                         i--;
@@ -1235,7 +1235,7 @@ public class IFRenderer extends AbstractPathOrientedRenderer {
                 if (i == 0) {
                     dp = null;
                 } else if (i < pl) {
-                    dp = IFUtil.copyDP (dp, 0, i);
+                    dp = IFUtil.copyDP(dp, 0, i);
                 }
             }
             return dp;
index 1b922391359d087a0166a353f055e602cafff3f8..a534ca7298c72f8595caf7bd6a750a33032ee89b 100644 (file)
@@ -212,7 +212,7 @@ public final class IFUtil {
      * @return if <code>dp</code> is not null, then an array of adjustments to the current
      * x position prior to rendering individual glyphs; otherwise, null
      */
-    public static int[] convertDPToDX (int[][] dp, int count) {
+    public static int[] convertDPToDX(int[][] dp, int count) {
         int[] dx;
         if (dp != null) {
             dx = new int [ count ];
@@ -236,8 +236,8 @@ public final class IFUtil {
      * @return if <code>dp</code> is not null, then an array of adjustments to the current
      * x position prior to rendering individual glyphs; otherwise, null
      */
-    public static int[] convertDPToDX (int[][] dp) {
-        return convertDPToDX (dp, (dp != null) ? dp.length : 0);
+    public static int[] convertDPToDX(int[][] dp) {
+        return convertDPToDX(dp, (dp != null) ? dp.length : 0);
     }
 
     /**
@@ -250,7 +250,7 @@ public final class IFUtil {
      * @return if <code>dx</code> is not null, then an array of 4-tuples, expressing [X,Y]
      * placment adjustments and [X,Y] advancement adjustments, in that order; otherwise, null
      */
-    public static int[][] convertDXToDP (int[] dx, int count) {
+    public static int[][] convertDXToDP(int[] dx, int count) {
         int[][] dp;
         if (dx != null) {
             dp = new int [ count ] [ 4 ];
@@ -275,8 +275,8 @@ public final class IFUtil {
      * @return if <code>dx</code> is not null, then an array of 4-tuples, expressing [X,Y]
      * placment adjustments and [X,Y] advancement adjustments, in that order; otherwise, null
      */
-    public static int[][] convertDXToDP (int[] dx) {
-        return convertDXToDP (dx, (dx != null) ? dx.length : 0);
+    public static int[][] convertDXToDP(int[] dx) {
+        return convertDXToDP(dx, (dx != null) ? dx.length : 0);
     }
 
     /**
@@ -284,7 +284,7 @@ public final class IFUtil {
      * @param pa a 4-tuple, expressing [X,Y] placment and [X,Y] advance adjuustments (may be null)
      * @return true if <code>dp</code> is null or contains no non-zero adjustment
      */
-    public static boolean isPAIdentity (int[] pa) {
+    public static boolean isPAIdentity(int[] pa) {
         if (pa == null) {
             return true;
         } else {
@@ -303,12 +303,12 @@ public final class IFUtil {
      * adjustments and [X,Y] advancement adjustments, in that order (may be null)
      * @return true if <code>dp</code> is null or contains no non-zero adjustment
      */
-    public static boolean isDPIdentity (int[][] dp) {
+    public static boolean isDPIdentity(int[][] dp) {
         if (dp == null) {
             return true;
         } else {
             for (int i = 0, n = dp.length; i < n; i++) {
-                if (!isPAIdentity (dp[i])) {
+                if (!isPAIdentity(dp[i])) {
                     return false;
                 }
             }
@@ -326,7 +326,7 @@ public final class IFUtil {
      * @return true if <code>dp</code> is not null and contains only xPlaAdjust
      * and xAdvAdjust values consistent with the output of {@link #convertDPToDX}.
      */
-    public static boolean isDPOnlyDX (int[][] dp) {
+    public static boolean isDPOnlyDX(int[][] dp) {
         if (dp == null) {
             return false;
         } else {
@@ -348,7 +348,7 @@ public final class IFUtil {
      * @param paSrc a 4-tuple, expressing [X,Y] placment
      * and [X,Y] advance adjuustments (may be null)
      */
-    public static void adjustPA (int[] paDst, int[] paSrc) {
+    public static void adjustPA(int[] paDst, int[] paSrc) {
         if ((paDst != null) && (paSrc != null)) {
             assert paDst.length == 4;
             assert paSrc.length == 4;
@@ -367,7 +367,7 @@ public final class IFUtil {
      * @return a deep copy of the count position adjustment entries start at
      * offset
      */
-    public static int[][] copyDP (int[][] dp, int offset, int count) {
+    public static int[][] copyDP(int[][] dp, int offset, int count) {
         if ((dp == null) || (offset > dp.length) || ((offset + count) > dp.length)) {
             throw new IllegalArgumentException();
         } else {
index e49f17988afcc84309c92bded77b8d76dbb1b075..c9bddb8db9fa196d936e73f7f4cdb2773ee895c8 100644 (file)
@@ -234,7 +234,7 @@ public class Java2DPainter extends AbstractIFPainter<Java2DDocumentHandler> {
         Point2D cursor = new Point2D.Float(0, 0);
 
         int l = text.length();
-        int[] dx = IFUtil.convertDPToDX (dp);
+        int[] dx = IFUtil.convertDPToDX(dp);
         int dxl = (dx != null ? dx.length : 0);
 
         if (dx != null && dxl > 0 && dx[0] != 0) {
index 974f5d7dadae17e23c9e63278bf6b542632ecc9e..7a15a5f529a7d31583716b7fb8e52d483c54c436 100644 (file)
@@ -346,7 +346,7 @@ public class PCLPainter extends AbstractIFPainter<PCLDocumentHandler> implements
         float fontSize = state.getFontSize() / 1000f;
         Font font = getFontInfo().getFontInstance(triplet, state.getFontSize());
         int l = text.length();
-        int[] dx = IFUtil.convertDPToDX (dp);
+        int[] dx = IFUtil.convertDPToDX(dp);
         int dxl = (dx != null ? dx.length : 0);
 
         StringBuffer sb = new StringBuffer(Math.max(16, l));
@@ -402,7 +402,7 @@ public class PCLPainter extends AbstractIFPainter<PCLDocumentHandler> implements
                 0, maxAscent - descent + 2 * safetyMargin);
 
         int l = text.length();
-        int[] dx = IFUtil.convertDPToDX (dp);
+        int[] dx = IFUtil.convertDPToDX(dp);
         int dxl = (dx != null ? dx.length : 0);
 
         if (dx != null && dxl > 0 && dx[0] != 0) {
index 33687069bb2d8476d789167b71590660200a66b6..d9fdd399cf664e0e675b303a93e9154a67f06ae6 100644 (file)
@@ -355,11 +355,11 @@ public class PDFPainter extends AbstractIFPainter<PDFDocumentHandler> {
         FontTriplet triplet = new FontTriplet(
                 state.getFontFamily(), state.getFontStyle(), state.getFontWeight());
 
-        if ((dp == null) || IFUtil.isDPOnlyDX (dp)) {
-            drawTextWithDX (x, y, text, triplet, letterSpacing,
-                             wordSpacing, IFUtil.convertDPToDX (dp));
+        if ((dp == null) || IFUtil.isDPOnlyDX(dp)) {
+            drawTextWithDX(x, y, text, triplet, letterSpacing,
+                             wordSpacing, IFUtil.convertDPToDX(dp));
         } else {
-            drawTextWithDP (x, y, text, triplet, letterSpacing,
+            drawTextWithDP(x, y, text, triplet, letterSpacing,
                              wordSpacing, dp);
         }
     }
@@ -434,7 +434,7 @@ public class PDFPainter extends AbstractIFPainter<PDFDocumentHandler> {
 
     private static int[] paZero = new int[4];
 
-    private void drawTextWithDP (int x, int y, String text, FontTriplet triplet,
+    private void drawTextWithDP(int x, int y, String text, FontTriplet triplet,
                                   int letterSpacing, int wordSpacing, int[][] dp) {
         assert text != null;
         assert triplet != null;
@@ -451,20 +451,20 @@ public class PDFPainter extends AbstractIFPainter<PDFDocumentHandler> {
             double      xoLast          = 0f;
             double      yoLast          = 0f;
             double      wox             = wordSpacing;
-            tu.writeTextMatrix (new AffineTransform (1, 0, 0, -1, x / 1000f, y / 1000f));
-            tu.updateTf (fk, fsPoints, true);
-            generator.updateCharacterSpacing (letterSpacing / 1000f);
+            tu.writeTextMatrix(new AffineTransform(1, 0, 0, -1, x / 1000f, y / 1000f));
+            tu.updateTf(fk, fsPoints, true);
+            generator.updateCharacterSpacing(letterSpacing / 1000f);
             for (int i = 0, n = text.length(); i < n; i++) {
-                char    ch              = text.charAt (i);
+                char    ch              = text.charAt(i);
                 int[]   pa              = ((i >= dp.length) || (dp[i] == null)) ? paZero : dp[i];
                 double  xo              = xc + pa[0];
                 double  yo              = yc + pa[1];
-                double  xa              = f.getCharWidth(ch) + maybeWordOffsetX (wox, ch, null);
+                double  xa              = f.getCharWidth(ch) + maybeWordOffsetX(wox, ch, null);
                 double  ya              = 0;
                 double  xd              = (xo - xoLast) / 1000f;
                 double  yd              = (yo - yoLast) / 1000f;
-                tu.writeTd (xd, yd);
-                tu.writeTj (f.mapChar (ch));
+                tu.writeTd(xd, yd);
+                tu.writeTj(f.mapChar(ch));
                 xc += xa + pa[2];
                 yc += ya + pa[3];
                 xoLast = xo;
@@ -473,9 +473,9 @@ public class PDFPainter extends AbstractIFPainter<PDFDocumentHandler> {
         }
     }
 
-    private double maybeWordOffsetX (double wox, char ch, Direction dir) {
+    private double maybeWordOffsetX(double wox, char ch, Direction dir) {
         if ((wox != 0)
-             && CharUtilities.isAdjustableSpace (ch)
+             && CharUtilities.isAdjustableSpace(ch)
              && ((dir == null) || dir.isHorizontal())) {
             return wox;
         } else {
index 3cda75facc0e528b2987e0a518408f6e7d76855e..1d464cae6ee2e92441db76e6e0e4dc8bfbc97ff2 100644 (file)
@@ -144,11 +144,11 @@ public abstract class AbstractPSTranscoder extends AbstractFOPTranscoder {
             graphics.setViewportDimension(width, height);
 
             if (hints.containsKey(ImageTranscoder.KEY_BACKGROUND_COLOR)) {
-                graphics.setBackgroundColor
-                    ((Color)hints.get(ImageTranscoder.KEY_BACKGROUND_COLOR));
+                graphics.setBackgroundColor(
+                    (Color)hints.get(ImageTranscoder.KEY_BACKGROUND_COLOR));
         }
-            graphics.setGraphicContext
-                (new org.apache.xmlgraphics.java2d.GraphicContext());
+            graphics.setGraphicContext(
+                new org.apache.xmlgraphics.java2d.GraphicContext());
             graphics.setTransform(curTxf);
 
             this.root.paint(graphics);
index 9e810c824cd0391c7ea5c1a375fd7b9790865dfa..e57567b8839c118b194b424eea81ec9fc285266e 100644 (file)
@@ -648,8 +648,8 @@ public class PSFontUtils extends org.apache.xmlgraphics.ps.PSFontUtils {
      * @return the PSResource representing the derived font
      * @throws IOException In case of an I/O problem
      */
-    public static PSResource defineDerivedFont
-        (PSGenerator gen, String baseFontName, String fontName, String encoding)
+    public static PSResource defineDerivedFont(
+        PSGenerator gen, String baseFontName, String fontName, String encoding)
         throws IOException {
         PSResource res = new PSResource(PSResource.TYPE_FONT, fontName);
         gen.writeDSCComment(DSCConstants.BEGIN_RESOURCE, res);
index 61f4203e7b447f7e3b916fa189dbcc9f939cd578..94ed809490006e7d6ceccc15720db87b598cba5b 100644 (file)
@@ -295,8 +295,8 @@ public class RTFHandler extends FOEventHandler {
                     attr.set(RtfBefore.HEADER);
 
                     final IRtfBeforeContainer contBefore
-                        = (IRtfBeforeContainer)builderContext.getContainer
-                                (IRtfBeforeContainer.class, true, this);
+                        = (IRtfBeforeContainer)builderContext.getContainer(
+                                IRtfBeforeContainer.class, true, this);
                     contBefore.newBefore(attr);
                 }
 
@@ -307,8 +307,8 @@ public class RTFHandler extends FOEventHandler {
                     attr.set(RtfAfter.FOOTER);
 
                     final IRtfAfterContainer contAfter
-                        = (IRtfAfterContainer)builderContext.getContainer
-                                (IRtfAfterContainer.class, true, this);
+                        = (IRtfAfterContainer)builderContext.getContainer(
+                                IRtfAfterContainer.class, true, this);
                     contAfter.newAfter(attr);
                 }
                 handled = true;
index d55d784873341ccb28c91888796f002ede1b9901..68c17b6954388c52ee6079523533d1c19f4a7d49 100644 (file)
@@ -41,6 +41,6 @@ public interface IRtfBookmarkContainer {
      * @return RTF bookmark
      * @throws IOException for I/O problems
      */
-    RtfBookmark newBookmark (String bookmark) throws IOException;
+    RtfBookmark newBookmark(String bookmark) throws IOException;
 }
 
index 14486d8d1ca9561aec1aa31ad56872afcb98d9d7..22914a5a0e2e7207710b36b01801ff7bc6f99825 100644 (file)
@@ -38,5 +38,5 @@ public interface IRtfExternalGraphicContainer {
      * @return RtfExternalGraphic for the new image
      * @exception IOException On error
      */
-    RtfExternalGraphic newImage () throws IOException;
+    RtfExternalGraphic newImage() throws IOException;
 }
index 2f164fd80306467762c58fb3a6f001e52e3b5a11..195c714234fbf10ae3ee9ac725cae3e82fe82f0e 100644 (file)
@@ -41,5 +41,5 @@ public interface IRtfHyperLinkContainer extends IRtfTextContainer {
      * @exception IOException on error
      * @return new Hyperlink object
      */
-    RtfHyperLink newHyperLink (String str, RtfAttributes attr) throws IOException;
+    RtfHyperLink newHyperLink(String str, RtfAttributes attr) throws IOException;
 }
index ed69bada1ffab5148d5c17e5d92402f80b7562de..23b8f2d8ae88555d702515a7b14260311e5d363d 100644 (file)
@@ -34,11 +34,11 @@ public interface IRtfOptions {
      * Sets  the compression rate for the external graphic in percent.
      * @param percent Compression rate
      */
-    void setRtfExternalGraphicCompressionRate (int percent);
+    void setRtfExternalGraphicCompressionRate(int percent);
 
     /**
      * Gets  the compression rate for the external graphic in percent.
      * @return Compression rate
      */
-    int getRtfExternalGraphicCompressionRate ();
+    int getRtfExternalGraphicCompressionRate();
 }
index a02825b3c067b908e8c9da2f55bada461ae50329..1b32ece433e922e461726543324d97a7e86fa8b0 100644 (file)
@@ -40,7 +40,7 @@ public interface IrtfTemplateContainer {
      * @return new Template object
      * @exception IOException on error
      */
-    RtfTemplate newTemplate (String str, RtfAttributes attr) throws IOException;
+    RtfTemplate newTemplate(String str, RtfAttributes attr) throws IOException;
 
 
 }
index f1f25f3b495f0fdc5ea68985692c7e42adb117f4..5ab3ce26d755a9db80739aaef175c16cf97998ef 100644 (file)
@@ -49,27 +49,27 @@ public class RtfAttributes implements Cloneable {
      *        instance
      * @return this object, for chaining calls
      */
-    public RtfAttributes set (RtfAttributes attrs) {
+    public RtfAttributes set(RtfAttributes attrs) {
         if (attrs != null) {
-            Iterator it = attrs.nameIterator ();
-            while (it.hasNext ()) {
-                String name = (String) it.next ();
+            Iterator it = attrs.nameIterator();
+            while (it.hasNext()) {
+                String name = (String) it.next();
                 if (attrs.getValue(name) instanceof Integer) {
-                    Integer value = (Integer)attrs.getValue (name);
+                    Integer value = (Integer)attrs.getValue(name);
                     if (value == null) {
-                        set (name);
+                        set(name);
                     }  else {
-                        set (name, value.intValue ());
+                        set(name, value.intValue());
                     }
                 } else if (attrs.getValue(name) instanceof String) {
-                    String value = (String)attrs.getValue (name);
+                    String value = (String)attrs.getValue(name);
                     if (value == null) {
-                        set (name);
+                        set(name);
                     } else {
-                        set (name, value);
+                        set(name, value);
                     }
                 } else {
-                        set (name);
+                        set(name);
                 }
 
 
index f43e3d83c01b5381e99791a1f4ecdb89452b1d83..01f29c7eecdd9a75bbd0f7e84c602141bfbf70a3 100644 (file)
@@ -60,15 +60,15 @@ public class RtfBookmark extends RtfElement {
      * @param writer a <code>Writer</code> value
      * @param bookmark Name of the bookmark
      */
-    RtfBookmark (RtfContainer parent, Writer writer, String bookmark) throws IOException {
-        super (parent, writer);
+    RtfBookmark(RtfContainer parent, Writer writer, String bookmark) throws IOException {
+        super(parent, writer);
 
-        int now = bookmark.length ();
+        int now = bookmark.length();
 
-        this.bookmark = bookmark.substring (0,
+        this.bookmark = bookmark.substring(0,
                 now < MAX_BOOKMARK_LENGTH ? now : MAX_BOOKMARK_LENGTH);
-        this.bookmark = this.bookmark.replace ('.', REPLACE_CHARACTER);
-        this.bookmark = this.bookmark.replace (' ', REPLACE_CHARACTER);
+        this.bookmark = this.bookmark.replace('.', REPLACE_CHARACTER);
+        this.bookmark = this.bookmark.replace(' ', REPLACE_CHARACTER);
     }
 
 
@@ -81,8 +81,8 @@ public class RtfBookmark extends RtfElement {
      *
      * @throws IOException On Error
      */
-    public void writeRtfPrefix () throws IOException {
-        startBookmark ();
+    public void writeRtfPrefix() throws IOException {
+        startBookmark();
     }
 
     /**
@@ -90,7 +90,7 @@ public class RtfBookmark extends RtfElement {
      *
      * @exception IOException On error
      */
-    public void writeRtfContent () throws IOException {
+    public void writeRtfContent() throws IOException {
 //        this.getRtfFile ().getLog ().logInfo ("Write bookmark '" + bookmark + "'.");
         // No content to write
     }
@@ -100,8 +100,8 @@ public class RtfBookmark extends RtfElement {
      *
      * @throws IOException On Error
      */
-    public void writeRtfSuffix () throws IOException {
-        endBookmark ();
+    public void writeRtfSuffix() throws IOException {
+        endBookmark();
     }
 
 
@@ -114,10 +114,10 @@ public class RtfBookmark extends RtfElement {
      *
      * @throws IOException On error
      */
-    private void startBookmark () throws IOException {
+    private void startBookmark() throws IOException {
 
         // {\*\bkmkstart test}
-        writeRtfBookmark ("bkmkstart");
+        writeRtfBookmark("bkmkstart");
     }
 
     /**
@@ -125,10 +125,10 @@ public class RtfBookmark extends RtfElement {
      *
      * @throws IOException On error
      */
-    private void endBookmark () throws IOException {
+    private void endBookmark() throws IOException {
 
         // {\*\bkmkend test}
-        writeRtfBookmark ("bkmkend");
+        writeRtfBookmark("bkmkend");
     }
 
     /**
@@ -138,19 +138,19 @@ public class RtfBookmark extends RtfElement {
      *
      * @throws IOException On error
      */
-    private void writeRtfBookmark (String tag) throws IOException {
+    private void writeRtfBookmark(String tag) throws IOException {
         if (bookmark == null) {
             return;
 
         }
 
-        this.writeGroupMark (true);
+        this.writeGroupMark(true);
 
         //changed. Now using writeStarControlWord
-        this.writeStarControlWord (tag);
+        this.writeStarControlWord(tag);
 
-        writer.write (bookmark);
-        this.writeGroupMark (false);
+        writer.write(bookmark);
+        this.writeGroupMark(false);
     }
 
         /**
index da42cfbc0fb4bcd4eed89a459d00fcc5ed98b0e3..7bbe65ef0d1ccdc0d30fceba4604cb33e0ccfb1d 100644 (file)
@@ -58,8 +58,8 @@ public class RtfBookmarkContainerImpl extends RtfContainer implements IRtfBookma
      *
      * @exception IOException On error
      */
-    RtfBookmarkContainerImpl (RtfContainer parent, Writer w) throws IOException {
-        super (parent, w, null);
+    RtfBookmarkContainerImpl(RtfContainer parent, Writer w) throws IOException {
+        super(parent, w, null);
     }
 
     /**
@@ -72,9 +72,9 @@ public class RtfBookmarkContainerImpl extends RtfContainer implements IRtfBookma
      *
      * @exception IOException On error
      */
-    RtfBookmarkContainerImpl (RtfContainer parent, Writer w, RtfAttributes attr) throws IOException
+    RtfBookmarkContainerImpl(RtfContainer parent, Writer w, RtfAttributes attr) throws IOException
     {
-        super (parent, w, attr);
+        super(parent, w, attr);
     }
 
 
@@ -91,12 +91,12 @@ public class RtfBookmarkContainerImpl extends RtfContainer implements IRtfBookma
      *
      * @throws IOException On eror
      */
-    public RtfBookmark newBookmark (String bookmark) throws IOException {
+    public RtfBookmark newBookmark(String bookmark) throws IOException {
         if (mBookmark != null) {
-            mBookmark.close ();
+            mBookmark.close();
         }
 
-        mBookmark = new RtfBookmark (this, writer, bookmark);
+        mBookmark = new RtfBookmark(this, writer, bookmark);
 
         return mBookmark;
     }
index eff6aaba6c74c6f5f159a083ab72d964059a443a..3ce0376d6eb995799cb00647180f4581d6872400 100644 (file)
@@ -70,12 +70,12 @@ public final class RtfColorTable {
     /**
      * Constructor.
      */
-    private RtfColorTable () {
-        colorTable = new Vector ();
-        colorIndex = new Hashtable ();
-                namedColors = new Hashtable ();
+    private RtfColorTable() {
+        colorTable = new Vector();
+        colorIndex = new Hashtable();
+                namedColors = new Hashtable();
 
-        init ();
+        init();
     }
 
     /**
@@ -83,9 +83,9 @@ public final class RtfColorTable {
      *
      * @return The instance of RTFColorTable
      */
-    public static RtfColorTable getInstance () {
+    public static RtfColorTable getInstance() {
         if (instance == null) {
-            instance = new RtfColorTable ();
+            instance = new RtfColorTable();
         }
 
         return instance;
@@ -99,29 +99,29 @@ public final class RtfColorTable {
     /**
      * Initialize the color table.
      */
-    private void init () {
-        addNamedColor("black", getColorNumber (0, 0, 0).intValue());
-        addNamedColor("white", getColorNumber (255, 255, 255).intValue());
-        addNamedColor("red", getColorNumber (255, 0, 0).intValue());
-        addNamedColor("green", getColorNumber (0, 255, 0).intValue());
-        addNamedColor("blue", getColorNumber (0, 0, 255).intValue());
-        addNamedColor("cyan", getColorNumber (0, 255, 255).intValue());
-        addNamedColor("magenta", getColorNumber (255, 0, 255).intValue());
-        addNamedColor("yellow", getColorNumber (255, 255, 0).intValue());
-
-        getColorNumber (0, 0, 128);
-        getColorNumber (0, 128, 128);
-        getColorNumber (0, 128, 0);
-        getColorNumber (128, 0, 128);
-        getColorNumber (128, 0, 0);
-        getColorNumber (128, 128, 0);
-        getColorNumber (128, 128, 128);
+    private void init() {
+        addNamedColor("black", getColorNumber(0, 0, 0).intValue());
+        addNamedColor("white", getColorNumber(255, 255, 255).intValue());
+        addNamedColor("red", getColorNumber(255, 0, 0).intValue());
+        addNamedColor("green", getColorNumber(0, 255, 0).intValue());
+        addNamedColor("blue", getColorNumber(0, 0, 255).intValue());
+        addNamedColor("cyan", getColorNumber(0, 255, 255).intValue());
+        addNamedColor("magenta", getColorNumber(255, 0, 255).intValue());
+        addNamedColor("yellow", getColorNumber(255, 255, 0).intValue());
+
+        getColorNumber(0, 0, 128);
+        getColorNumber(0, 128, 128);
+        getColorNumber(0, 128, 0);
+        getColorNumber(128, 0, 128);
+        getColorNumber(128, 0, 0);
+        getColorNumber(128, 128, 0);
+        getColorNumber(128, 128, 128);
 
          // Added by Normand Masse
           // Gray color added
         addNamedColor("gray", getColorNumber(128, 128, 128).intValue());
 
-        getColorNumber (192, 192, 192);
+        getColorNumber(192, 192, 192);
     }
 
         /** define a named color for getColorNumber(String) */
@@ -137,7 +137,7 @@ public final class RtfColorTable {
          * @param name a named color
          * @return the RTF number of a named color, or null if name not found
          */
-    public Integer getColorNumber (String name) {
+    public Integer getColorNumber(String name) {
         return ((Integer)namedColors.get(name.toLowerCase()));
     }
 
@@ -150,9 +150,9 @@ public final class RtfColorTable {
      *
      * @return The number of the color in the table
      */
-    public Integer getColorNumber (int red, int green, int blue) {
-        Integer identifier = new Integer (determineIdentifier (red, green, blue));
-        Object o = colorIndex.get (identifier);
+    public Integer getColorNumber(int red, int green, int blue) {
+        Integer identifier = new Integer(determineIdentifier(red, green, blue));
+        Object o = colorIndex.get(identifier);
         int retVal;
 
         if (o == null) {
@@ -160,14 +160,14 @@ public final class RtfColorTable {
             //First add it, then read the size as index (to return it).
             //So the first added color gets index 1. That is OK, because
             //index 0 is reserved for auto-colored.
-            addColor (identifier);
+            addColor(identifier);
 
-            retVal = colorTable.size ();
+            retVal = colorTable.size();
         } else {
             //The color was found. Before returning the index, increment
             //it by one. Because index 0 is reserved for auto-colored, but
             //is not contained in colorTable.
-            retVal = ((Integer) o).intValue () + 1;
+            retVal = ((Integer) o).intValue() + 1;
         }
 
         return new Integer(retVal);
@@ -180,32 +180,32 @@ public final class RtfColorTable {
      *
      * @throws IOException On error
      */
-    public void writeColors (RtfHeader header) throws IOException {
-        if (colorTable == null || colorTable.size () == 0) {
+    public void writeColors(RtfHeader header) throws IOException {
+        if (colorTable == null || colorTable.size() == 0) {
             return;
         }
 
         header.newLine();
-        header.writeGroupMark (true);
+        header.writeGroupMark(true);
         //Don't use writeControlWord, because it appends a blank,
         //which may confuse Wordpad.
         //This also implicitly writes the first color (=index 0), which
         //is reserved for auto-colored.
-        header.write ("\\colortbl;");
+        header.write("\\colortbl;");
 
-        int len = colorTable.size ();
+        int len = colorTable.size();
 
         for (int i = 0; i < len; i++) {
-            int identifier = ((Integer) colorTable.get (i)).intValue ();
+            int identifier = ((Integer) colorTable.get(i)).intValue();
 
             header.newLine();
-            header.write ("\\red" + determineColorLevel (identifier, RED));
-            header.write ("\\green" + determineColorLevel (identifier, GREEN));
-            header.write ("\\blue" + determineColorLevel (identifier, BLUE) + ";");
+            header.write("\\red" + determineColorLevel(identifier, RED));
+            header.write("\\green" + determineColorLevel(identifier, GREEN));
+            header.write("\\blue" + determineColorLevel(identifier, BLUE) + ";");
         }
 
         header.newLine();
-        header.writeGroupMark (false);
+        header.writeGroupMark(false);
     }
 
 
@@ -218,9 +218,9 @@ public final class RtfColorTable {
      *
      * @param i Identifier of color
      */
-    private void addColor (Integer i) {
-        colorIndex.put (i, new Integer (colorTable.size ()));
-        colorTable.addElement (i);
+    private void addColor(Integer i) {
+        colorIndex.put(i, new Integer(colorTable.size()));
+        colorTable.addElement(i);
     }
 
     /**
@@ -232,7 +232,7 @@ public final class RtfColorTable {
      *
      * @return Unique identifier of color
      */
-    private int determineIdentifier (int red, int green, int blue) {
+    private int determineIdentifier(int red, int green, int blue) {
         int c = red << RED;
 
         c += green << GREEN;
@@ -249,7 +249,7 @@ public final class RtfColorTable {
      *
      * @return Color level in byte size
      */
-    private int determineColorLevel (int identifier, int color) {
+    private int determineColorLevel(int identifier, int color) {
         int retVal = (byte) (identifier >> color);
 
         return retVal < 0 ? retVal + 256 : retVal;
index 4e86f0091ad4bd722ac3c2e611ff2543d40992f1..a42d25b69a00e71b3c6189f033bb2ff45e0c1ee5 100644 (file)
@@ -142,7 +142,7 @@ public class RtfContainer extends RtfElement {
      * @param list list of child objects
      * @return true if process succeeded
      */
-    public boolean setChildren (List list) {
+    public boolean setChildren(List list) {
       if (list instanceof LinkedList) {
           this.children = (LinkedList) list;
           return true;
index e5faf94bc0ce60c35d6c2e48ed5442008c7e84ec..6540cfd7226b847554b37680b94c8e75c661c0e7 100644 (file)
@@ -301,7 +301,7 @@ public class RtfExternalGraphic extends RtfElement {
      * @throws IOException for I/O problems
      */
     public RtfExternalGraphic(RtfContainer container, Writer writer) throws IOException {
-        super (container, writer);
+        super(container, writer);
     }
 
     /**
@@ -314,7 +314,7 @@ public class RtfExternalGraphic extends RtfElement {
      */
     public RtfExternalGraphic(RtfContainer container, Writer writer,
     RtfAttributes attributes) throws IOException {
-        super (container, writer, attributes);
+        super(container, writer, attributes);
     }
 
 
@@ -443,7 +443,7 @@ public class RtfExternalGraphic extends RtfElement {
         writeGroupMark(false);
     }
 
-    private void computeImageSize () {
+    private void computeImageSize() {
         if (imageformat.getType() == ImageConstants.I_PNG) {
             width = ImageUtil.getIntFromByteArray(imagedata, 16, 4, true);
             height = ImageUtil.getIntFromByteArray(imagedata, 20, 4, true);
@@ -487,7 +487,7 @@ public class RtfExternalGraphic extends RtfElement {
         }
     }
 
-    private void writeSizeInfo () throws IOException {
+    private void writeSizeInfo() throws IOException {
         // Set image size
         if (width != -1) {
             writeControlWord("picw" + width);
@@ -641,10 +641,10 @@ public class RtfExternalGraphic extends RtfElement {
     public void setURL(String urlString) throws IOException {
         URL tmpUrl = null;
         try {
-            tmpUrl = new URL (urlString);
+            tmpUrl = new URL(urlString);
         } catch (MalformedURLException e) {
             try {
-                tmpUrl = new File (urlString).toURI().toURL ();
+                tmpUrl = new File(urlString).toURI().toURL();
             } catch (MalformedURLException ee) {
                 throw new ExternalGraphicException("The attribute 'src' of "
                         + "<fo:external-graphic> has a invalid value: '"
@@ -658,7 +658,7 @@ public class RtfExternalGraphic extends RtfElement {
      * Gets  the compression rate for the image in percent.
      * @return Compression rate
      */
-    public int getCompressionRate () {
+    public int getCompressionRate() {
         return graphicCompressionRate;
     }
 
@@ -668,7 +668,7 @@ public class RtfExternalGraphic extends RtfElement {
      * @param percent Compression rate
      * @return true if the compression rate is valid (0..100), false if invalid
      */
-    public boolean setCompressionRate (int percent) {
+    public boolean setCompressionRate(int percent) {
         if (percent < 1 || percent > 100) {
             return false;
         }
index 8ddad6c1d5922e4c1b5a63d4ee9ac788dea26298..14418432e48b1e76c63ded4d029080fa27918e35 100644 (file)
@@ -313,7 +313,7 @@ public class RtfExtraRowSet extends RtfContainer {
       *
       * @param parentITableColumnsInfo table context to set
       */
-     public void setParentITableColumnsInfo (ITableColumnsInfo parentITableColumnsInfo) {
+     public void setParentITableColumnsInfo(ITableColumnsInfo parentITableColumnsInfo) {
        this.parentITableColumnsInfo = parentITableColumnsInfo;
      }
      /** - end - */
index 2a4131e55fa9c03a95916da7b34c00c589333b5d..d7a56f00ea65ddaa9e9d2b5a4fb9862b002f48a3 100644 (file)
@@ -56,11 +56,11 @@ public final class RtfFontManager {
     /**
      * Constructor.
      */
-    private RtfFontManager () {
-        fontTable = new Vector ();
-        fontIndex = new Hashtable ();
+    private RtfFontManager() {
+        fontTable = new Vector();
+        fontIndex = new Hashtable();
 
-        init ();
+        init();
     }
 
     /**
@@ -68,9 +68,9 @@ public final class RtfFontManager {
      *
      * @return The instance of RtfFontManager
      */
-    public static RtfFontManager getInstance () {
+    public static RtfFontManager getInstance() {
         if (instance == null) {
-            instance = new RtfFontManager ();
+            instance = new RtfFontManager();
         }
 
         return instance;
@@ -84,13 +84,13 @@ public final class RtfFontManager {
     /**
      * Initialize the font table.
      */
-    private void init () {
+    private void init() {
 
 //        getFontNumber ("Helvetica");
         //Chanded by R.Marra default font Arial
-        getFontNumber ("Arial");
-        getFontNumber ("Symbol"); // used by RtfListItem.java
-        getFontNumber ("Times New Roman");
+        getFontNumber("Arial");
+        getFontNumber("Symbol"); // used by RtfListItem.java
+        getFontNumber("Times New Roman");
 
 /*
         {\\f0\\fswiss Helv;}
@@ -116,13 +116,13 @@ public final class RtfFontManager {
      *
      * @return The number of the font in the table
      */
-    public int getFontNumber (String family) {
+    public int getFontNumber(String family) {
 
         Object o = fontIndex.get(getFontKey(family));
         int retVal;
 
         if (o == null) {
-            addFont (family);
+            addFont(family);
 
             retVal = fontTable.size() - 1;
         } else {
@@ -139,8 +139,8 @@ public final class RtfFontManager {
      *
      * @throws IOException On error
      */
-    public void writeFonts (RtfHeader header) throws IOException {
-        if (fontTable == null || fontTable.size () == 0) {
+    public void writeFonts(RtfHeader header) throws IOException {
+        if (fontTable == null || fontTable.size() == 0) {
             return;
         }
 
@@ -148,13 +148,13 @@ public final class RtfFontManager {
         header.writeGroupMark(true);
         header.writeControlWord("fonttbl");
 
-        int len = fontTable.size ();
+        int len = fontTable.size();
 
         for (int i = 0; i < len; i++) {
             header.writeGroupMark(true);
             header.newLine();
             header.write("\\f" + i);
-            header.write(" " + (String) fontTable.elementAt (i));
+            header.write(" " + (String) fontTable.elementAt(i));
             header.write(";");
             header.writeGroupMark(false);
         }
index 0d3e8099e79ec4389d636fc3c5fa419271cdee2e..50b53a4e8b84bc6c618e9a253f0cb36e5c566fe1 100644 (file)
@@ -44,7 +44,7 @@ class RtfFontTable extends RtfElement {
 
     /** write our contents to m_writer. */
     protected void writeRtfContent() throws IOException {
-        RtfFontManager.getInstance ().writeFonts ((RtfHeader)parent);
+        RtfFontManager.getInstance().writeFonts((RtfHeader)parent);
     }
 
     /** true if this element would generate no "useful" RTF content */
index baca8892669783e01dd31e11d248e695f4f23441..816e67f9bb1112dc8160f3568f4015115a5ab763 100644 (file)
@@ -66,10 +66,10 @@ implements IRtfTextContainer,
      * @param attr a <code>RtfAttributes</code> value
      * @throws IOException for I/O problems
      */
-    public RtfHyperLink (IRtfTextContainer parent, Writer writer, String str, RtfAttributes attr)
+    public RtfHyperLink(IRtfTextContainer parent, Writer writer, String str, RtfAttributes attr)
         throws IOException {
-        super ((RtfContainer) parent, writer, attr);
-        new RtfText (this, writer, str, attr);
+        super((RtfContainer) parent, writer, attr);
+        new RtfText(this, writer, str, attr);
     }
 
     /**
@@ -80,9 +80,9 @@ implements IRtfTextContainer,
      * @param attr a <code>RtfAttributes</code> value
      * @throws IOException for I/O problems
      */
-    public RtfHyperLink (RtfTextrun parent, Writer writer, RtfAttributes attr)
+    public RtfHyperLink(RtfTextrun parent, Writer writer, RtfAttributes attr)
         throws IOException {
-        super ((RtfContainer) parent, writer, attr);
+        super((RtfContainer) parent, writer, attr);
     }
 
 
@@ -95,22 +95,22 @@ implements IRtfTextContainer,
      *
      * @exception IOException On error
      */
-    public void writeRtfPrefix () throws IOException {
-        super.writeGroupMark (true);
-        super.writeControlWord ("field");
+    public void writeRtfPrefix() throws IOException {
+        super.writeGroupMark(true);
+        super.writeControlWord("field");
 
-        super.writeGroupMark (true);
-        super.writeStarControlWord ("fldinst");
+        super.writeGroupMark(true);
+        super.writeStarControlWord("fldinst");
 
-        writer.write ("HYPERLINK \"" + url + "\" ");
-        super.writeGroupMark (false);
+        writer.write("HYPERLINK \"" + url + "\" ");
+        super.writeGroupMark(false);
 
-        super.writeGroupMark (true);
-        super.writeControlWord ("fldrslt");
+        super.writeGroupMark(true);
+        super.writeControlWord("fldrslt");
 
         // start a group for this paragraph and write our own attributes if needed
-        if (attrib != null && attrib.isSet ("cs")) {
-            writeGroupMark (true);
+        if (attrib != null && attrib.isSet("cs")) {
+            writeGroupMark(true);
             writeAttributes(attrib, new String [] {"cs"});
         }
     }
@@ -120,12 +120,12 @@ implements IRtfTextContainer,
      *
      * @exception IOException On error
      */
-    public void writeRtfSuffix () throws IOException {
-        if (attrib != null && attrib.isSet ("cs")) {
-            writeGroupMark (false);
+    public void writeRtfSuffix() throws IOException {
+        if (attrib != null && attrib.isSet("cs")) {
+            writeGroupMark(false);
         }
-        super.writeGroupMark (false);
-        super.writeGroupMark (false);
+        super.writeGroupMark(false);
+        super.writeGroupMark(false);
     }
 
 
@@ -139,8 +139,8 @@ implements IRtfTextContainer,
      * @throws IOException for I/O problems
      * @return new RtfText object
      */
-    public RtfText newText (String str) throws IOException {
-        return newText (str, null);
+    public RtfText newText(String str) throws IOException {
+        return newText(str, null);
     }
 
     /**
@@ -150,9 +150,9 @@ implements IRtfTextContainer,
      * @throws IOException for I/O problems
      * @return the new RtfText object
      */
-    public RtfText newText (String str, RtfAttributes attr) throws IOException {
-        closeAll ();
-        mText = new RtfText (this, writer, str, attr);
+    public RtfText newText(String str, RtfAttributes attr) throws IOException {
+        closeAll();
+        mText = new RtfText(this, writer, str, attr);
         return mText;
     }
 
@@ -166,7 +166,7 @@ implements IRtfTextContainer,
             return null;
         }
         try {
-            return (RtfAttributes) this.attrib.clone ();
+            return (RtfAttributes) this.attrib.clone();
         } catch (CloneNotSupportedException e) {
             throw new FOPException(e);
         }
@@ -177,8 +177,8 @@ implements IRtfTextContainer,
      * add a line break
      * @throws IOException for I/O problems
      */
-    public void newLineBreak () throws IOException {
-        new RtfLineBreak (this, writer);
+    public void newLineBreak() throws IOException {
+        new RtfLineBreak(this, writer);
     }
 
 
@@ -186,13 +186,13 @@ implements IRtfTextContainer,
     // @@ Common container methods
     //////////////////////////////////////////////////
 
-    private void closeCurrentText () throws IOException {
+    private void closeCurrentText() throws IOException {
         if (mText != null) {
-            mText.close ();
+            mText.close();
         }
     }
 
-    private void closeAll () throws IOException {
+    private void closeAll() throws IOException {
         closeCurrentText();
     }
 
@@ -206,7 +206,7 @@ implements IRtfTextContainer,
      *
      * @param url Link url like "http://..."
      */
-    public void setExternalURL (String url) {
+    public void setExternalURL(String url) {
         this.url = url;
     }
 
@@ -215,19 +215,19 @@ implements IRtfTextContainer,
      *
      * @param jumpTo Name of the text mark
      */
-    public void setInternalURL (String jumpTo) {
-        int now = jumpTo.length ();
+    public void setInternalURL(String jumpTo) {
+        int now = jumpTo.length();
         int max = RtfBookmark.MAX_BOOKMARK_LENGTH;
-        this.url = "#" + jumpTo.substring (0, now > max ? max : now);
-        this.url = this.url.replace ('.', RtfBookmark.REPLACE_CHARACTER);
-        this.url = this.url.replace (' ', RtfBookmark.REPLACE_CHARACTER);
+        this.url = "#" + jumpTo.substring(0, now > max ? max : now);
+        this.url = this.url.replace('.', RtfBookmark.REPLACE_CHARACTER);
+        this.url = this.url.replace(' ', RtfBookmark.REPLACE_CHARACTER);
     }
 
     /**
      *
      * @return false (always)
      */
-    public boolean isEmpty () {
+    public boolean isEmpty() {
         return false;
     }
 
index 2593daa51d97cb60f9b625d410d516a3a490699f..96fa53d9ceb3418d3fdd0c51d0e88a902493ea9f 100644 (file)
@@ -52,7 +52,7 @@ public class RtfPageNumberCitation extends RtfContainer {
     private String id = null;
 
     /** Create an RTF page number citation as a child of given container with default attributes */
-    RtfPageNumberCitation (RtfContainer parent, Writer w, String id)
+    RtfPageNumberCitation(RtfContainer parent, Writer w, String id)
             throws IOException {
         super(parent, w);
         this.id = id;
@@ -60,7 +60,7 @@ public class RtfPageNumberCitation extends RtfContainer {
 
     /** Create an RTF page number citation as a child of given
      *    paragraph, copying its attributes */
-    RtfPageNumberCitation (RtfParagraph parent, Writer w, String id)
+    RtfPageNumberCitation(RtfParagraph parent, Writer w, String id)
             throws IOException {
         // add the attributes ant text attributes of the parent paragraph
         super((RtfContainer)parent, w, parent.attrib);
index 0d3ebd7429eef2706ed17d493b8ee23f9734528a..15c4d0e35c8111aafeef530ccb70e02ad04b9386 100644 (file)
@@ -57,7 +57,7 @@ public class RtfParagraphBreak extends RtfElement {
      * @return boolean
      */
     public boolean canHide() {
-        return this.controlWord.equals (DEFAULT_PARAGRAPH);
+        return this.controlWord.equals(DEFAULT_PARAGRAPH);
     }
 
     /**
index ae2ab2b94ad338c90142fa24316c72e36030e17a..0a796a3d917e7dfe80f4b22b74772dfca214bb32 100644 (file)
@@ -195,7 +195,7 @@ implements
     protected void writeRtfSuffix() throws IOException {
         // write suffix /sect only if this section is not last section (see bug #51484)
         List siblings = parent.getChildren();
-        if ((siblings.indexOf (this) + 1) < siblings.size()) {
+        if ((siblings.indexOf(this) + 1) < siblings.size()) {
             writeControlWord("sect");
         }
     }
index fdd230b785695d0e996f0f6a2d6fd523c8e60aa8..4d45c485984986ff7dc91037e470ee198beae53b 100644 (file)
@@ -88,10 +88,10 @@ public final class RtfStyleSheetTable {
     /**
      * Constructor.
      */
-    private RtfStyleSheetTable () {
-        styles = new Hashtable ();
-        attrTable = new Hashtable ();
-        nameTable = new Vector ();
+    private RtfStyleSheetTable() {
+        styles = new Hashtable();
+        attrTable = new Hashtable();
+        nameTable = new Vector();
     }
 
     /**
@@ -99,9 +99,9 @@ public final class RtfStyleSheetTable {
      *
      * @return The instance of RtfStyleSheetTable
      */
-    public static RtfStyleSheetTable getInstance () {
+    public static RtfStyleSheetTable getInstance() {
         if (instance == null) {
-            instance = new RtfStyleSheetTable ();
+            instance = new RtfStyleSheetTable();
         }
 
         return instance;
@@ -116,7 +116,7 @@ public final class RtfStyleSheetTable {
      * Sets the default style.
      * @param styleName Name of the default style, defined in the stylesheet
      */
-    public void setDefaultStyle (String styleName) {
+    public void setDefaultStyle(String styleName) {
         this.defaultStyleName = styleName;
     }
 
@@ -124,12 +124,12 @@ public final class RtfStyleSheetTable {
      * Gets the name of the default style.
      * @return Default style name.
      */
-    public String getDefaultStyleName () {
-        if (attrTable.get (defaultStyleName) != null) {
+    public String getDefaultStyleName() {
+        if (attrTable.get(defaultStyleName) != null) {
             return defaultStyleName;
         }
 
-        if (attrTable.get (STANDARD_STYLE) != null) {
+        if (attrTable.get(STANDARD_STYLE) != null) {
             defaultStyleName = STANDARD_STYLE;
             return defaultStyleName;
         }
@@ -147,12 +147,12 @@ public final class RtfStyleSheetTable {
      * @param name Name of style to add
      * @param attrs Rtf attributes which defines the style
      */
-    public void addStyle (String name, RtfAttributes attrs) {
-        nameTable.addElement (name);
+    public void addStyle(String name, RtfAttributes attrs) {
+        nameTable.addElement(name);
         if (attrs != null) {
-            attrTable.put (name, attrs);
+            attrTable.put(name, attrs);
         }
-        styles.put (name, new Integer (nameTable.size () - 1 + startIndex));
+        styles.put(name, new Integer(nameTable.size() - 1 + startIndex));
     }
 
     /**
@@ -161,17 +161,17 @@ public final class RtfStyleSheetTable {
      * @param attr Default rtf attributes
      * @return Status value
      */
-    public int addStyleToAttributes (String name, RtfAttributes attr) {
+    public int addStyleToAttributes(String name, RtfAttributes attr) {
         // Sets status to ok
         int status = STATUS_OK;
 
         // Gets the style number from table
-        Integer style  = (Integer) styles.get (name);
+        Integer style  = (Integer) styles.get(name);
 
-        if (style == null && !name.equals (defaultStyleName)) {
+        if (style == null && !name.equals(defaultStyleName)) {
             // If style not found, and style was not the default style, try the default style
             name = defaultStyleName;
-            style = (Integer) styles.get (name);
+            style = (Integer) styles.get(name);
             // set status for default style setting
             status = STATUS_DEFAULT;
         }
@@ -182,20 +182,20 @@ public final class RtfStyleSheetTable {
         }
 
         // Adds the attributes to default attributes, if not available in default attributes
-        attr.set ("cs", style.intValue ());
+        attr.set("cs", style.intValue());
 
-        Object o = attrTable.get (name);
+        Object o = attrTable.get(name);
         if (o != null) {
             RtfAttributes rtfAttr = (RtfAttributes) o;
 
-            for (Iterator names = rtfAttr.nameIterator (); names.hasNext ();) {
-                String attrName = (String) names.next ();
-                if (!attr.isSet (attrName)) {
-                    Integer i = (Integer) rtfAttr.getValue (attrName);
+            for (Iterator names = rtfAttr.nameIterator(); names.hasNext();) {
+                String attrName = (String) names.next();
+                if (!attr.isSet(attrName)) {
+                    Integer i = (Integer) rtfAttr.getValue(attrName);
                     if (i == null) {
-                        attr.set (attrName);
+                        attr.set(attrName);
                     } else {
-                        attr.set (attrName, i.intValue ());
+                        attr.set(attrName, i.intValue());
                     }
                 }
             }
@@ -208,29 +208,29 @@ public final class RtfStyleSheetTable {
      * @param header Rtf header is the parent
      * @throws IOException On write error
      */
-    public void writeStyleSheet (RtfHeader header) throws IOException {
-        if (styles == null || styles.size () == 0) {
+    public void writeStyleSheet(RtfHeader header) throws IOException {
+        if (styles == null || styles.size() == 0) {
             return;
         }
-        header.writeGroupMark (true);
-        header.writeControlWord ("stylesheet");
+        header.writeGroupMark(true);
+        header.writeControlWord("stylesheet");
 
-        int number = nameTable.size ();
+        int number = nameTable.size();
         for (int i = 0; i < number; i++) {
-            String name = (String) nameTable.elementAt (i);
-            header.writeGroupMark (true);
-            header.writeControlWord ("*\\" + this.getRtfStyleReference (name));
+            String name = (String) nameTable.elementAt(i);
+            header.writeGroupMark(true);
+            header.writeControlWord("*\\" + this.getRtfStyleReference(name));
 
-            Object o = attrTable.get (name);
+            Object o = attrTable.get(name);
             if (o != null) {
-                header.writeAttributes ((RtfAttributes) o, RtfText.ATTR_NAMES);
-                header.writeAttributes ((RtfAttributes) o, RtfText.ALIGNMENT);
+                header.writeAttributes((RtfAttributes) o, RtfText.ATTR_NAMES);
+                header.writeAttributes((RtfAttributes) o, RtfText.ALIGNMENT);
             }
 
-            header.write (name + ";");
-            header.writeGroupMark (false);
+            header.write(name + ";");
+            header.writeGroupMark(false);
         }
-        header.writeGroupMark (false);
+        header.writeGroupMark(false);
     }
 
     /**
@@ -238,7 +238,7 @@ public final class RtfStyleSheetTable {
      * @param name Name of Style
      * @return Rtf attribute of the style reference
      */
-    private String getRtfStyleReference (String name) {
-        return "cs" + styles.get (name).toString ();
+    private String getRtfStyleReference(String name) {
+        return "cs" + styles.get(name).toString();
     }
 }
index 018cbd8450156856f289150f53102a74695b44d9..ee9923d90a052a99773e713481704bdcdbbfdc5f 100644 (file)
@@ -94,11 +94,11 @@ public class RtfTable extends RtfContainer {
         RtfAttributes attr = null;
         if (attrib != null) {
             try {
-                attr = (RtfAttributes) attrib.clone ();
+                attr = (RtfAttributes) attrib.clone();
             } catch (CloneNotSupportedException e) {
                 throw new FOPException(e);
             }
-            attr.set (attrs);
+            attr.set(attrs);
         } else {
             attr = attrs;
         }
index faa0852ed9baa1430ed493f75024427b74e14d7f..8127d9a15ca7c8562e4f4674bd2948d8b69da2eb 100644 (file)
@@ -220,12 +220,12 @@ public class RtfTableCell
          * Added by Boris POUDEROUS on 2002/06/26
          */
         // Cell background color processing :
-        writeAttributes (attrib, ITableAttributes.CELL_COLOR);
+        writeAttributes(attrib, ITableAttributes.CELL_COLOR);
         /** - end - */
 
-        writeAttributes (attrib, ITableAttributes.ATTRIB_CELL_PADDING);
-        writeAttributes (attrib, ITableAttributes.CELL_BORDER);
-        writeAttributes (attrib, IBorderAttributes.BORDERS);
+        writeAttributes(attrib, ITableAttributes.ATTRIB_CELL_PADDING);
+        writeAttributes(attrib, ITableAttributes.CELL_BORDER);
+        writeAttributes(attrib, IBorderAttributes.BORDERS);
 
         // determine cell width
         int iCurrentWidth = this.cellWidth;
@@ -270,7 +270,7 @@ public class RtfTableCell
         } else {
             writeControlWord("trql");
         }
-        writeAttributes (attrib, ITableAttributes.CELL_VERT_ALIGN);
+        writeAttributes(attrib, ITableAttributes.CELL_VERT_ALIGN);
 
         writeControlWord("cellx" + xPos);
 
index 19bda2e145d43933ecc056b7e87d0883659d3e59..e4f9cd9dc0c84699258acdaabd82144279f9764e 100644 (file)
@@ -96,7 +96,7 @@ public class RtfTableRow extends RtfContainer implements ITableAttributes {
     public RtfTableCell newTableCellMergedVertically(int cellWidth,
            RtfAttributes attrs) throws IOException {
         highestCell++;
-        cell = new RtfTableCell (this, writer, cellWidth, attrs, highestCell);
+        cell = new RtfTableCell(this, writer, cellWidth, attrs, highestCell);
         cell.setVMerge(RtfTableCell.MERGE_WITH_PREVIOUS);
         return cell;
     }
@@ -110,7 +110,7 @@ public class RtfTableRow extends RtfContainer implements ITableAttributes {
      * @throws IOException for I/O problems
      * @throws FOPException if attributes cannot be cloned
      */
-    public RtfTableCell newTableCellMergedHorizontally (int cellWidth,
+    public RtfTableCell newTableCellMergedHorizontally(int cellWidth,
            RtfAttributes attrs) throws IOException, FOPException {
         highestCell++;
         // Added by Normand Masse
index 74e9eca257ed49a95ad9645b4675bcc0744a0a23..98896d286e6ad2a0404cf3f14d623547a6bf3eac 100644 (file)
@@ -43,7 +43,7 @@ public final class RtfTemplate  {
     /**
      * Constructor.
      */
-    private RtfTemplate () {
+    private RtfTemplate() {
 
     }
 
@@ -53,7 +53,7 @@ public final class RtfTemplate  {
      *
      * @return The instance of RtfTemplate
      */
-    public static RtfTemplate getInstance () {
+    public static RtfTemplate getInstance() {
         if (instance == null) {
             instance = new RtfTemplate();
         }
@@ -81,19 +81,19 @@ public final class RtfTemplate  {
      * @param header Rtf header is the parent
      * @throws IOException On write error
      */
-    public void writeTemplate (RtfHeader header) throws IOException {
+    public void writeTemplate(RtfHeader header) throws IOException {
         if (templateFilePath == null || templateFilePath.length() == 0) {
             return;
         }
 
-        header.writeGroupMark (true);
-        header.writeControlWord ("template");
+        header.writeGroupMark(true);
+        header.writeControlWord("template");
         header.writeRtfString(this.templateFilePath);
-        header.writeGroupMark (false);
+        header.writeGroupMark(false);
 
-        header.writeGroupMark (true);
-        header.writeControlWord ("linkstyles");
-        header.writeGroupMark (false);
+        header.writeGroupMark(true);
+        header.writeControlWord("linkstyles");
+        header.writeGroupMark(false);
     }
 }
 
index 89c7d28995836dee9de857af056d0804078a3627..e32891e9b4f0ce73d9e638ed33dc45f005467ea6 100644 (file)
@@ -272,7 +272,7 @@ public class RtfText extends RtfElement {
      * @return true    If m_text is null\n
      *         false   m_text is set
      */
-    public boolean isEmpty () {
+    public boolean isEmpty() {
         return text == null || text.trim().length() == 0;
     }
 
@@ -284,9 +284,9 @@ public class RtfText extends RtfElement {
      * @return true    If m_text is character 160\n
      *         false   m_text is not a nbsp
      */
-    public boolean isNbsp () {
-        if (!isEmpty ()) {
-            if (text.trim ().length () == 1 && text.charAt (0) == CHAR_NBSP) {
+    public boolean isNbsp() {
+        if (!isEmpty()) {
+            if (text.trim().length() == 1 && text.charAt(0) == CHAR_NBSP) {
                 return true;
             }
         }
index 8e9c1a1be753631e6c8692a57992f4992393f833..0ee70bf3118c45356be7bd61af8a83a781d0523b 100644 (file)
@@ -41,7 +41,7 @@ public final class ImageUtil {
     /**
      * Private constructor.
      */
-    private ImageUtil () {
+    private ImageUtil() {
     }
 
 
@@ -57,14 +57,14 @@ public final class ImageUtil {
      * @return -1      There is no digit
      *         number  The digits as integer
      */
-    public static int getInt (String value) {
-        String retString = new String ();
-        StringBuffer s = new StringBuffer (value);
-        int len = s.length ();
+    public static int getInt(String value) {
+        String retString = new String();
+        StringBuffer s = new StringBuffer(value);
+        int len = s.length();
 
         for (int i = 0; i < len; i++) {
-            if (Character.isDigit (s.charAt (i))) {
-                retString += s.charAt (i);
+            if (Character.isDigit(s.charAt(i))) {
+                retString += s.charAt(i);
             } else {
                 //for example "600.0pt" has to be exited,
                 //when the dot is reached.
@@ -72,10 +72,10 @@ public final class ImageUtil {
             }
         }
 
-        if (retString.length () == 0) {
+        if (retString.length() == 0) {
             return -1;
         } else {
-            return Integer.parseInt (retString);
+            return Integer.parseInt(retString);
         }
     }
 
@@ -87,8 +87,8 @@ public final class ImageUtil {
      * @return true    The string contains a % value
      *         false   Other string
      */
-    public static boolean isPercent (String value) {
-        if (value.endsWith ("%")) {
+    public static boolean isPercent(String value) {
+        if (value.endsWith("%")) {
             return true;
 
         }
@@ -107,7 +107,7 @@ public final class ImageUtil {
      * @return true    If equal
      *         false   If different
      */
-    public static boolean compareHexValues (byte[] pattern, byte[] data, int searchAt,
+    public static boolean compareHexValues(byte[] pattern, byte[] data, int searchAt,
                                             boolean searchForward) {
         if (searchAt >= data.length) {
             return false;
@@ -155,7 +155,7 @@ public final class ImageUtil {
      *
      * @return integer
      */
-    public static int getIntFromByteArray (byte[] data, int startAt, int length,
+    public static int getIntFromByteArray(byte[] data, int startAt, int length,
                                            boolean searchForward) {
         int bit = 8;
         int bitMoving = length * bit;
index fae50e900c962587e063bc89777adfe3bb4189b1..2212da4347ff6bd3b678eb0bc5d14a17803c4f9a 100644 (file)
@@ -914,21 +914,21 @@ public class XMLRenderer extends AbstractXMLRenderer {
         return XML_MIME_TYPE;
     }
 
-    private void maybeAddLevelAttribute (Area a) {
+    private void maybeAddLevelAttribute(Area a) {
         int level = a.getBidiLevel();
         if (level >= 0) {
-            addAttribute ("level", level);
+            addAttribute("level", level);
         }
     }
 
-    private void maybeAddPositionAdjustAttribute (WordArea w) {
+    private void maybeAddPositionAdjustAttribute(WordArea w) {
         int[][] adjustments = w.getGlyphPositionAdjustments();
         if (adjustments != null) {
-            addAttribute ("position-adjust", XMLUtil.encodePositionAdjustments (adjustments));
+            addAttribute("position-adjust", XMLUtil.encodePositionAdjustments(adjustments));
         }
     }
 
-    private void maybeAddReversedAttribute (WordArea w, String text) {
+    private void maybeAddReversedAttribute(WordArea w, String text) {
         if (w.isReversed() && (text.length() > 1)) {
             addAttribute("reversed", "true");
         }
index 399d1d8bde90eb195ae4b9d90a6db67b6fc212f8..b813478a9a61d0dad47c2b2b28c730bf9afdb597 100644 (file)
@@ -68,8 +68,8 @@ public abstract class AbstractFOPImageElementBridge extends SVGImageElementBridg
      * @return a new graphics node
      */
     @Override
-    protected GraphicsNode createImageGraphicsNode
-                (BridgeContext ctx, Element imageElement, ParsedURL purl) {
+    protected GraphicsNode createImageGraphicsNode(
+                BridgeContext ctx, Element imageElement, ParsedURL purl) {
         AbstractFOPBridgeContext bridgeCtx = (AbstractFOPBridgeContext)ctx;
 
         ImageManager manager = bridgeCtx.getImageManager();
@@ -138,8 +138,8 @@ public abstract class AbstractFOPImageElementBridge extends SVGImageElementBridg
      * @return the newly created graphics node
      * @see org.apache.batik.bridge.SVGImageElementBridge#createGraphicsNode(BridgeContext, Element)
      */
-    protected GraphicsNode superCreateGraphicsNode
-            (BridgeContext ctx, Element imageElement, ParsedURL purl) {
+    protected GraphicsNode superCreateGraphicsNode(
+            BridgeContext ctx, Element imageElement, ParsedURL purl) {
         return super.createImageGraphicsNode(ctx, imageElement, purl);
     }
 
index 5d82ade23e9b7dc53a5c9b0404df31b9ec651fdc..97b5e9fda00c9f6e7d8c8752f486fae3ef53faa5 100644 (file)
@@ -947,8 +947,8 @@ public class PDFGraphics2D extends AbstractGraphics2D implements NativeImageHand
             PDFDeviceColorSpace colSpace;
             colSpace = new PDFDeviceColorSpace(PDFDeviceColorSpace.DEVICE_RGB);
 
-            PDFPattern myPat = pdfDoc.getFactory().makeGradient
-                (resourceContext, true, colSpace,
+            PDFPattern myPat = pdfDoc.getFactory().makeGradient(
+                resourceContext, true, colSpace,
                  someColors, theBounds, theCoords, theMatrix);
 
             currentStream.write(myPat.getColorSpaceOut(fill));
@@ -1100,14 +1100,14 @@ public class PDFGraphics2D extends AbstractGraphics2D implements NativeImageHand
         int devH = devBounds.height;
 
         ColorSpace rgbCS = ColorSpace.getInstance(ColorSpace.CS_sRGB);
-        ColorModel rgbCM = new DirectColorModel
-            (rgbCS, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000,
+        ColorModel rgbCM = new DirectColorModel(
+            rgbCS, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000,
              false, DataBuffer.TYPE_BYTE);
 
         PaintContext pctx = paint.createContext(rgbCM, devBounds, usrBounds,
                                                 at, getRenderingHints());
-        PDFXObject imageInfo = pdfDoc.getXObject
-            ("TempImage:" + pctx.toString());
+        PDFXObject imageInfo = pdfDoc.getXObject(
+            "TempImage:" + pctx.toString());
         if (imageInfo != null) {
             resourceContext.getPDFResources().addXObject(imageInfo);
         } else {
@@ -1116,8 +1116,8 @@ public class PDFGraphics2D extends AbstractGraphics2D implements NativeImageHand
             wr = wr.createWritableTranslatedChild(0, 0);
 
             ColorModel pcm = pctx.getColorModel();
-            BufferedImage bi = new BufferedImage
-                (pcm, wr, pcm.isAlphaPremultiplied(), null);
+            BufferedImage bi = new BufferedImage(
+                pcm, wr, pcm.isAlphaPremultiplied(), null);
             final byte[] rgb  = new byte[devW * devH * 3];
             final int[]  line = new int[devW];
             final byte[] mask;
@@ -1154,8 +1154,8 @@ public class PDFGraphics2D extends AbstractGraphics2D implements NativeImageHand
 
             String maskRef = null;
             if (mask != null) {
-                BitmapImage fopimg = new BitmapImage
-                    ("TempImageMask:" + pctx.toString(), devW, devH, mask, null);
+                BitmapImage fopimg = new BitmapImage(
+                    "TempImageMask:" + pctx.toString(), devW, devH, mask, null);
                 fopimg.setColorSpace(new PDFDeviceColorSpace(PDFDeviceColorSpace.DEVICE_GRAY));
                 PDFImageXObject xobj = pdfDoc.addImage(resourceContext, fopimg);
                 maskRef = xobj.referencePDF();
index 30b787a77787f87b7ad17cd1c2abe0b5557d2173..9f034565710ab7d212347c67a08b019e81d8dae2 100644 (file)
@@ -168,16 +168,16 @@ public class PDFTranscoder extends AbstractFOPTranscoder {
             graphics.setSVGDimension(width, height);
 
             if (hints.containsKey(ImageTranscoder.KEY_BACKGROUND_COLOR)) {
-                graphics.setBackgroundColor
-                    ((Color)hints.get(ImageTranscoder.KEY_BACKGROUND_COLOR));
+                graphics.setBackgroundColor(
+                    (Color)hints.get(ImageTranscoder.KEY_BACKGROUND_COLOR));
             }
-            graphics.setGraphicContext
-                (new org.apache.xmlgraphics.java2d.GraphicContext());
+            graphics.setGraphicContext(
+                new org.apache.xmlgraphics.java2d.GraphicContext());
             graphics.preparePainting();
 
             graphics.transform(curTxf);
-            graphics.setRenderingHint
-                (RenderingHintsKeyExt.KEY_TRANSCODING,
+            graphics.setRenderingHint(
+                RenderingHintsKeyExt.KEY_TRANSCODING,
                  RenderingHintsKeyExt.VALUE_TRANSCODING_VECTOR);
 
             this.root.paint(graphics);
index 8241dcedfb9b9ba9fd5750ba726888ea0773ecdb..8718118ef75e9723b23a353b55bd12c5547af76a 100644 (file)
@@ -55,7 +55,7 @@ public final class WritingMode extends TraitEnum {
      * writing mode traits setter.
      * @param wms a writing mode traits setter
      */
-    public void assignWritingModeTraits (WritingModeTraitsSetter wms) {
+    public void assignWritingModeTraits(WritingModeTraitsSetter wms) {
         Direction inlineProgressionDirection;
         Direction blockProgressionDirection;
         Direction columnProgressionDirection;
@@ -92,12 +92,12 @@ public final class WritingMode extends TraitEnum {
             shiftDirection = Direction.BT;
             break;
         }
-        wms.setInlineProgressionDirection (inlineProgressionDirection);
-        wms.setBlockProgressionDirection (blockProgressionDirection);
-        wms.setColumnProgressionDirection (columnProgressionDirection);
-        wms.setRowProgressionDirection (rowProgressionDirection);
-        wms.setShiftDirection (shiftDirection);
-        wms.setWritingMode (this);
+        wms.setInlineProgressionDirection(inlineProgressionDirection);
+        wms.setBlockProgressionDirection(blockProgressionDirection);
+        wms.setColumnProgressionDirection(columnProgressionDirection);
+        wms.setRowProgressionDirection(rowProgressionDirection);
+        wms.setShiftDirection(shiftDirection);
+        wms.setWritingMode(this);
     }
 
     /**
index 0a2d303c1a4fc89ae40fe0dbba567205bef08004..279326afa98c828033430f3d3ff8c4cb9806b027 100644 (file)
@@ -43,8 +43,8 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
      * Construct writing mode traits using the specified writing mode.
      * @param writingMode a writing mode traits object
      */
-    public WritingModeTraits (WritingMode writingMode) {
-        assignWritingModeTraits (writingMode);
+    public WritingModeTraits(WritingMode writingMode) {
+        assignWritingModeTraits(writingMode);
     }
 
     /**
@@ -57,7 +57,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param direction the "inline-progression-direction" trait.
      */
-    public void setInlineProgressionDirection (Direction direction) {
+    public void setInlineProgressionDirection(Direction direction) {
         this.inlineProgressionDirection = direction;
     }
 
@@ -71,7 +71,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param direction the "block-progression-direction" trait.
      */
-    public void setBlockProgressionDirection (Direction direction) {
+    public void setBlockProgressionDirection(Direction direction) {
         this.blockProgressionDirection = direction;
     }
 
@@ -85,7 +85,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param direction the "column-progression-direction" trait.
      */
-    public void setColumnProgressionDirection (Direction direction) {
+    public void setColumnProgressionDirection(Direction direction) {
         this.columnProgressionDirection = direction;
     }
 
@@ -99,7 +99,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param direction the "row-progression-direction" trait.
      */
-    public void setRowProgressionDirection (Direction direction) {
+    public void setRowProgressionDirection(Direction direction) {
         this.rowProgressionDirection = direction;
     }
 
@@ -113,7 +113,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param direction the "shift-direction" trait.
      */
-    public void setShiftDirection (Direction direction) {
+    public void setShiftDirection(Direction direction) {
         this.shiftDirection = direction;
     }
 
@@ -127,15 +127,15 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
     /**
      * @param writingMode the "writing-mode" trait.
      */
-    public void setWritingMode (WritingMode writingMode) {
+    public void setWritingMode(WritingMode writingMode) {
         this.writingMode = writingMode;
     }
 
     /**
      * @param writingMode the "writing-mode" trait.
      */
-    public void assignWritingModeTraits (WritingMode writingMode) {
-        writingMode.assignWritingModeTraits (this);
+    public void assignWritingModeTraits(WritingMode writingMode) {
+        writingMode.assignWritingModeTraits(this);
     }
 
     /**
@@ -145,7 +145,7 @@ public class WritingModeTraits implements WritingModeTraitsSetter {
      * @return the applicable writing mode traits getter, or null if none applies
      */
     public static WritingModeTraitsGetter
-        getWritingModeTraitsGetter (org.apache.fop.fo.FONode fn) {
+        getWritingModeTraitsGetter(org.apache.fop.fo.FONode fn) {
         for (org.apache.fop.fo.FONode n = fn; n != null; n = n.getParent()) {
             if (n instanceof WritingModeTraitsGetter) {
                 return (WritingModeTraitsGetter) n;
index b5c862cd47a890ee2a6851a50192823f47c45b7d..6dcf0fb12830922736d81fd2a3dd9b139c587bae 100644 (file)
@@ -28,43 +28,43 @@ public interface WritingModeTraitsSetter extends WritingModeTraitsGetter {
      * Set value of inline-progression-direction trait.
      * @param direction the "inline-progression-direction" trait
      */
-    void setInlineProgressionDirection (Direction direction);
+    void setInlineProgressionDirection(Direction direction);
 
     /**
      * Set value of block-progression-direction trait.
      * @param direction the "block-progression-direction" trait
      */
-    void setBlockProgressionDirection (Direction direction);
+    void setBlockProgressionDirection(Direction direction);
 
     /**
      * Set value of column-progression-direction trait.
      * @param direction the "column-progression-direction" trait
      */
-    void setColumnProgressionDirection (Direction direction);
+    void setColumnProgressionDirection(Direction direction);
 
     /**
      * Set value of row-progression-direction trait.
      * @param direction the "row-progression-direction" trait
      */
-    void setRowProgressionDirection (Direction direction);
+    void setRowProgressionDirection(Direction direction);
 
     /**
      * Set value of shift-direction trait.
      * @param direction the "shift-direction" trait
      */
-    void setShiftDirection (Direction direction);
+    void setShiftDirection(Direction direction);
 
     /**
      * Set value of writing-mode trait.
      * @param writingMode the "writing-mode" trait
      */
-    void setWritingMode (WritingMode writingMode);
+    void setWritingMode(WritingMode writingMode);
 
     /**
      * Collectivelly assign values to all writing mode traits based upon a specific
      * writing mode.
      * @param writingMode the "writing-mode" trait
      */
-    void assignWritingModeTraits (WritingMode writingMode);
+    void assignWritingModeTraits(WritingMode writingMode);
 
 }
index d5f0c9a21d1436e3e5509f1eaa7e170d2efa4b68..e0f5e1911abf16b0b7347412da667e6d898f101b 100644 (file)
@@ -118,7 +118,7 @@ public class CharUtilities {
      * @param c character to inspect
      * @return the determined character class
      */
-    public static int classOf (int c) {
+    public static int classOf(int c) {
         switch (c) {
             case CODE_EOT:
                 return EOT;
@@ -141,7 +141,7 @@ public class CharUtilities {
      * @param c character to inspect
      * @return True if the character is a normal space
      */
-    public static boolean isBreakableSpace (int c) {
+    public static boolean isBreakableSpace(int c) {
         return (c == SPACE || isFixedWidthSpace(c));
     }
 
@@ -150,7 +150,7 @@ public class CharUtilities {
      * @param c the character to check
      * @return true if the character is a zero-width space
      */
-    public static boolean isZeroWidthSpace (int c) {
+    public static boolean isZeroWidthSpace(int c) {
         return c == ZERO_WIDTH_SPACE           // 200Bh
             || c == WORD_JOINER                // 2060h
             || c == ZERO_WIDTH_NOBREAK_SPACE;  // FEFFh (also used as BOM)
@@ -161,7 +161,7 @@ public class CharUtilities {
      * @param c the character to check
      * @return true if the character has a fixed-width
      */
-    public static boolean isFixedWidthSpace (int c) {
+    public static boolean isFixedWidthSpace(int c) {
         return (c >= '\u2000' && c <= '\u200B')
                 || c == '\u3000';
 //      c == '\u2000'                   // en quad
@@ -185,7 +185,7 @@ public class CharUtilities {
      * @param c character to check
      * @return True if the character is a nbsp
      */
-    public static boolean isNonBreakableSpace (int c) {
+    public static boolean isNonBreakableSpace(int c) {
         return
             (c == NBSPACE       // no-break space
             || c == '\u202F'    // narrow no-break space
@@ -200,7 +200,7 @@ public class CharUtilities {
      * @param c character to check
      * @return True if the character is adjustable
      */
-    public static boolean isAdjustableSpace (int c) {
+    public static boolean isAdjustableSpace(int c) {
         //TODO: are there other kinds of adjustable spaces?
         return
             (c == '\u0020'    // normal space
@@ -212,7 +212,7 @@ public class CharUtilities {
      * @param c character to check
      * @return True if the character represents any kind of space
      */
-    public static boolean isAnySpace (int c) {
+    public static boolean isAnySpace(int c) {
         return (isBreakableSpace(c) || isNonBreakableSpace(c));
     }
 
@@ -221,7 +221,7 @@ public class CharUtilities {
      * @param c the character
      * @return true if the character is "Alphabetic"
      */
-    public static boolean isAlphabetic (int c) {
+    public static boolean isAlphabetic(int c) {
         //http://www.unicode.org/Public/UNIDATA/UCD.html#Alphabetic
         //Generated from: Other_Alphabetic + Lu + Ll + Lt + Lm + Lo + Nl
         int generalCategory = Character.getType((char)c);
@@ -245,7 +245,7 @@ public class CharUtilities {
      * @param c    the character to check
      * @return  true if the character represents an explicit break
      */
-    public static boolean isExplicitBreak (int c) {
+    public static boolean isExplicitBreak(int c) {
         return (c == LINEFEED_CHAR
             || c == CARRIAGE_RETURN
             || c == NEXT_LINE
@@ -259,7 +259,7 @@ public class CharUtilities {
      * @param c a unicode scalar value
      * @return a string representing a numeric character reference
      */
-    public static String charToNCRef (int c) {
+    public static String charToNCRef(int c) {
         StringBuffer sb = new StringBuffer();
         for (int i = 0, nDigits = (c > 0xFFFF) ? 6 : 4; i < nDigits; i++, c >>= 4) {
             int d = c & 0xF;
@@ -269,7 +269,7 @@ public class CharUtilities {
             } else {
                 hd = (char) ((int) 'A' + (d - 10));
             }
-            sb.append (hd);
+            sb.append(hd);
         }
         return "&#x" + sb.reverse() + ";";
     }
@@ -280,23 +280,23 @@ public class CharUtilities {
      * @return a string representing a sequence of numeric character reference or
      * ASCII characters
      */
-    public static String toNCRefs (String s) {
+    public static String toNCRefs(String s) {
         StringBuffer sb = new StringBuffer();
         if (s != null) {
             for (int i = 0; i < s.length(); i++) {
                 char c = s.charAt(i);
                 if ((c >= 32) && (c < 127)) {
                     if (c == '<') {
-                        sb.append ("&lt;");
+                        sb.append("&lt;");
                     } else if (c == '>') {
-                        sb.append ("&gt;");
+                        sb.append("&gt;");
                     } else if (c == '&') {
-                        sb.append ("&amp;");
+                        sb.append("&amp;");
                     } else {
-                        sb.append (c);
+                        sb.append(c);
                     }
                 } else {
-                    sb.append (charToNCRef (c));
+                    sb.append(charToNCRef(c));
                 }
             }
         }
@@ -310,12 +310,12 @@ public class CharUtilities {
      * @param pad character to use for padding
      * @return padded string
      */
-    public static String padLeft (String s, int width, char pad) {
+    public static String padLeft(String s, int width, char pad) {
         StringBuffer sb = new StringBuffer();
         for (int i = s.length(); i < width; i++) {
             sb.append(pad);
         }
-        sb.append (s);
+        sb.append(s);
         return sb.toString();
     }
 
@@ -325,9 +325,9 @@ public class CharUtilities {
      * @param c character code
      * @return formatted character string
      */
-    public static String format (int c) {
+    public static String format(int c) {
         if (c < 1114112) {
-            return "0x" + padLeft (Integer.toString (c, 16), (c < 65536) ? 4 : 6, '0');
+            return "0x" + padLeft(Integer.toString(c, 16), (c < 65536) ? 4 : 6, '0');
         } else {
             return "!NOT A CHARACTER!";
         }
@@ -339,7 +339,7 @@ public class CharUtilities {
      * @param cs2 second character sequence
      * @return true if both sequences have same length and same character sequence
      */
-    public static boolean isSameSequence (CharSequence cs1, CharSequence cs2) {
+    public static boolean isSameSequence(CharSequence cs1, CharSequence cs2) {
         assert cs1 != null;
         assert cs2 != null;
         if (cs1.length() != cs2.length()) {
index ce71b20afa4dbf159521cbced04454fb234746d8..24c75922ca92ec7ce4d44b509595e74602eef7db 100644 (file)
@@ -186,19 +186,19 @@ public final class XMLUtil implements XMLConstants {
      * @param paCount the number of entries to encode from adjustments array
      * @return the encoded value
      */
-    public static String encodePositionAdjustments (int[][] dp, int paCount) {
+    public static String encodePositionAdjustments(int[][] dp, int paCount) {
         assert dp != null;
         StringBuffer sb = new StringBuffer();
         int na = paCount;
         int nz = 0;
-        sb.append (na);
+        sb.append(na);
         for (int i = 0; i < na; i++) {
             int[] pa = dp [ i ];
             if (pa != null) {
                 for (int k = 0; k < 4; k++) {
                     int a = pa [ k ];
                     if (a != 0) {
-                        encodeNextAdjustment (sb, nz, a);
+                        encodeNextAdjustment(sb, nz, a);
                         nz = 0;
                     } else {
                         nz++;
@@ -208,7 +208,7 @@ public final class XMLUtil implements XMLConstants {
                 nz += 4;
             }
         }
-        encodeNextAdjustment (sb, nz, 0);
+        encodeNextAdjustment(sb, nz, 0);
         return sb.toString();
     }
 
@@ -223,32 +223,32 @@ public final class XMLUtil implements XMLConstants {
      * @param dp the adjustments array
      * @return the encoded value
      */
-    public static String encodePositionAdjustments (int[][] dp) {
+    public static String encodePositionAdjustments(int[][] dp) {
         assert dp != null;
-        return encodePositionAdjustments (dp, dp.length);
+        return encodePositionAdjustments(dp, dp.length);
     }
 
-    private static void encodeNextAdjustment (StringBuffer sb, int nz, int a) {
-        encodeZeroes (sb, nz);
-        encodeAdjustment (sb, a);
+    private static void encodeNextAdjustment(StringBuffer sb, int nz, int a) {
+        encodeZeroes(sb, nz);
+        encodeAdjustment(sb, a);
     }
 
-    private static void encodeZeroes (StringBuffer sb, int nz) {
+    private static void encodeZeroes(StringBuffer sb, int nz) {
         if (nz > 0) {
-            sb.append (' ');
+            sb.append(' ');
             if (nz == 1) {
-                sb.append ('0');
+                sb.append('0');
             } else {
-                sb.append ('Z');
-                sb.append (nz);
+                sb.append('Z');
+                sb.append(nz);
             }
         }
     }
 
-    private static void encodeAdjustment (StringBuffer sb, int a) {
+    private static void encodeAdjustment(StringBuffer sb, int a) {
         if (a != 0) {
-            sb.append (' ');
-            sb.append (a);
+            sb.append(' ');
+            sb.append(a);
         }
     }
 
@@ -258,21 +258,21 @@ public final class XMLUtil implements XMLConstants {
      * @param value the encoded value
      * @return the position adjustments array
      */
-    public static int[][] decodePositionAdjustments (String value) {
+    public static int[][] decodePositionAdjustments(String value) {
         int[][] dp = null;
         if (value != null) {
-            String[] sa = value.split ("\\s");
+            String[] sa = value.split("\\s");
             if (sa != null) {
                 if (sa.length > 0) {
-                    int na = Integer.parseInt (sa[0]);
+                    int na = Integer.parseInt(sa[0]);
                     dp = new int [ na ] [ 4 ];
                     for (int i = 1, n = sa.length, k = 0; i < n; i++) {
                         String s = sa [ i ];
                         if (s.charAt(0) == 'Z') {
-                            int nz = Integer.parseInt (s.substring (1));
+                            int nz = Integer.parseInt(s.substring(1));
                             k += nz;
                         } else {
-                            dp [ k / 4 ] [ k % 4 ] = Integer.parseInt (s);
+                            dp [ k / 4 ] [ k % 4 ] = Integer.parseInt(s);
                             k += 1;
                         }
                     }
index 157cdbf3f43ad61c4716ec60bf302eabaf3aaf92..00b9dfbfe97f72f1431c491276975bb199760db8 100644 (file)
@@ -351,12 +351,12 @@ public class MIFHandler extends FOEventHandler {
     }
 
     public void character(Character c) {
-        appendCharacters (new String (new char[] {c.getCharacter()}));
+        appendCharacters(new String(new char[] {c.getCharacter()}));
     }
 
     /** {@inheritDoc} */
     public void characters(FOText foText) {
-        appendCharacters (foText.getCharSequence().toString());
+        appendCharacters(foText.getCharSequence().toString());
     }
 
     /** {@inheritDoc} */
@@ -367,7 +367,7 @@ public class MIFHandler extends FOEventHandler {
     public void endPageNumber(PageNumber pagenum) {
     }
 
-    private void appendCharacters (String str) {
+    private void appendCharacters(String str) {
         if (para != null) {
             str = str.trim();
             // break into nice length chunks
index dbc67d4e0e3b011d9fd072e2d5bd2861b41cb304..f20e113c1da8224c98aa5c2f23460da6775a57ff 100644 (file)
@@ -77,27 +77,27 @@ public class BidiAlgorithmTestCase {
         String ldPfx = BidiTestData.LD_PFX;
         int ldCount = BidiTestData.LD_CNT;
         for (int i = 0; i < ldCount; i++) {
-            int[] da = BidiTestData.readTestData (ldPfx, i);
+            int[] da = BidiTestData.readTestData(ldPfx, i);
             if (da != null) {
-                testBidiAlgorithm (i, da);
+                testBidiAlgorithm(i, da);
             } else {
-                fail ("unable to read bidi test data for resource at index " + i);
+                fail("unable to read bidi test data for resource at index " + i);
             }
         }
         // ensure we passed all test sequences
-        assertEquals ("did not pass all test sequences", BidiTestData.NUM_TEST_SEQUENCES, passedSequences);
+        assertEquals("did not pass all test sequences", BidiTestData.NUM_TEST_SEQUENCES, passedSequences);
         if (log.isDebugEnabled()) {
-            log.debug ("Included Sequences : " + includedSequences);
-            log.debug ("Excluded Sequences : " + excludedSequences);
+            log.debug("Included Sequences : " + includedSequences);
+            log.debug("Excluded Sequences : " + excludedSequences);
             log.debug("Passed Sequences   : " + passedSequences);
         }
     }
 
-    private void testBidiAlgorithm (int testSet, int[] da) throws Exception {
+    private void testBidiAlgorithm(int testSet, int[] da) throws Exception {
         if (da.length < 1) {
-            fail ("test data is empty");
+            fail("test data is empty");
         } else if (da.length < ((da[0] * 2) + 1)) {
-            fail ("test data is truncated");
+            fail("test data is truncated");
         } else {
             int k = 0;
             // extract level count
@@ -120,10 +120,10 @@ public class BidiAlgorithmTestCase {
                 for (int i = 0; i < n; i++) {
                     ta[i] = da[k++];
                 }
-                if (includeSequence (testSet, testSequence)) {
+                if (includeSequence(testSet, testSequence)) {
                     includedSequences++;
-                    if (! excludeSequence (testSet, testSequence)) {
-                        if (testBidiAlgorithm (testSet, testSequence, la, ra, ta, bs)) {
+                    if (! excludeSequence(testSet, testSequence)) {
+                        if (testBidiAlgorithm(testSet, testSequence, la, ra, ta, bs)) {
                             passedSequences++;
                         }
                     } else {
@@ -133,11 +133,11 @@ public class BidiAlgorithmTestCase {
                 testSequence++;
             }
             // ensure we exhausted test data
-            assertEquals ("extraneous test data", da.length, k);
+            assertEquals("extraneous test data", da.length, k);
         }
     }
 
-    private boolean includeTestSet (int testSet) {
+    private boolean includeTestSet(int testSet) {
         for (int i = 0, n = TEST_SET_RANGES.length / 2; i < n; i++) {
             int s = TEST_SET_RANGES [ (i * 2) + 0 ];
             int e = TEST_SET_RANGES [ (i * 2) + 1 ];
@@ -150,8 +150,8 @@ public class BidiAlgorithmTestCase {
         return false;
     }
 
-    private boolean includeSequence (int testSet, int testSequence) {
-        if (! includeTestSet (testSet)) {
+    private boolean includeSequence(int testSet, int testSequence) {
+        if (! includeTestSet(testSet)) {
             return false;
         } else {
             for (int i = 0, n = INCLUSIONS.length / 2; i < n; i++) {
@@ -175,7 +175,7 @@ public class BidiAlgorithmTestCase {
         }
     }
 
-    private boolean excludeSequence (int testSet, int testSequence) {
+    private boolean excludeSequence(int testSet, int testSequence) {
         for (int i = 0, n = EXCLUSIONS.length / 2; i < n; i++) {
             int setno = EXCLUSIONS [ (i * 2) + 0 ];
             int seqno = EXCLUSIONS [ (i * 2) + 1 ];
@@ -196,13 +196,13 @@ public class BidiAlgorithmTestCase {
         return false;
     }
 
-    private boolean testBidiAlgorithm (int testSet, int testSequence, int[] la, int[] ra, int[] ta, int bs) throws Exception {
+    private boolean testBidiAlgorithm(int testSet, int testSequence, int[] la, int[] ra, int[] ta, int bs) throws Exception {
         boolean passed = true;
         int n = la.length;
         if (ra.length != n) {
-            fail ("bad reorder array length, expected " + n + ", got " + ra.length);
+            fail("bad reorder array length, expected " + n + ", got " + ra.length);
         } else if (ta.length != n) {
-            fail ("bad test array length, expected " + n + ", got " + ta.length);
+            fail("bad test array length, expected " + n + ", got " + ta.length);
         } else {
             // auto-LTR
             if ((bs & 1) != 0) {
@@ -210,15 +210,15 @@ public class BidiAlgorithmTestCase {
             }
             // LTR
             if ((bs & 2) != 0) {
-                int[] levels = UnicodeBidiAlgorithm.resolveLevels (null, ta, 0, new int [ n ], true);
-                if (! verifyResults (la, levels, ta, 0, testSet, testSequence)) {
+                int[] levels = UnicodeBidiAlgorithm.resolveLevels(null, ta, 0, new int [ n ], true);
+                if (! verifyResults(la, levels, ta, 0, testSet, testSequence)) {
                     passed = false;
                 }
             }
             // RTL
             if ((bs & 4) != 0) {
-                int[] levels = UnicodeBidiAlgorithm.resolveLevels (null, ta, 1, new int [ n ], true);
-                if (! verifyResults (la, levels, ta, 1, testSet, testSequence)) {
+                int[] levels = UnicodeBidiAlgorithm.resolveLevels(null, ta, 1, new int [ n ], true);
+                if (! verifyResults(la, levels, ta, 1, testSet, testSequence)) {
                     passed = false;
                 }
             }
@@ -226,9 +226,9 @@ public class BidiAlgorithmTestCase {
         return passed;
     }
 
-    private boolean verifyResults (int[] laExp, int[] laOut, int[] ta, int dl, int testSet, int testSequence) {
+    private boolean verifyResults(int[] laExp, int[] laOut, int[] ta, int dl, int testSet, int testSequence) {
         if (laOut.length != laExp.length) {
-            fail ("output levels array length mismatch, expected " + laExp.length + ", got " + laOut.length);
+            fail("output levels array length mismatch, expected " + laExp.length + ", got " + laOut.length);
             return false;
         } else {
             int numMatch = 0;
@@ -237,7 +237,7 @@ public class BidiAlgorithmTestCase {
                     int lo = laOut[i];
                     int le = laExp[i];
                     if (lo != le) {
-                        assertEquals (getMismatchMessage (testSet, testSequence, i, dl), le, lo);
+                        assertEquals(getMismatchMessage(testSet, testSequence, i, dl), le, lo);
                     } else {
                         numMatch++;
                     }
@@ -249,16 +249,16 @@ public class BidiAlgorithmTestCase {
         }
     }
 
-    private String getMismatchMessage (int testSet, int testSequence, int seqIndex, int defaultLevel) {
+    private String getMismatchMessage(int testSet, int testSequence, int seqIndex, int defaultLevel) {
         StringBuffer sb = new StringBuffer();
-        sb.append ("level mismatch for default level ");
-        sb.append (defaultLevel);
-        sb.append (" at sequence index ");
-        sb.append (seqIndex);
-        sb.append (" in test sequence ");
-        sb.append (testSequence);
-        sb.append (" of test set ");
-        sb.append (testSet);
+        sb.append("level mismatch for default level ");
+        sb.append(defaultLevel);
+        sb.append(" at sequence index ");
+        sb.append(seqIndex);
+        sb.append(" in test sequence ");
+        sb.append(testSequence);
+        sb.append(" of test set ");
+        sb.append(testSet);
         return sb.toString();
     }
 
index f3ce4c5d5c1e73447d6fc81b3cf1149c1be3c3f8..10a84b856a8209738b8c23edd34a7d153063e9ac 100644 (file)
@@ -34,23 +34,23 @@ public class BidiClassTestCase {
         String tdPfx = BidiTestData.TD_PFX;
         int tdCount = BidiTestData.TD_CNT;
         for (int i = 0; i < tdCount; i++) {
-            int[] da = BidiTestData.readTestData (tdPfx, i);
+            int[] da = BidiTestData.readTestData(tdPfx, i);
             if (da != null) {
-                testBidiClass (da);
+                testBidiClass(da);
             } else {
-                fail ("unable to read bidi test data for resource at index " + i);
+                fail("unable to read bidi test data for resource at index " + i);
             }
         }
     }
 
-    private void testBidiClass (int[] da) throws Exception {
+    private void testBidiClass(int[] da) throws Exception {
         int bc = da[0];
         for (int i = 1, n = da.length; i < n; i += 2) {
             int s = da[i+0];
             int e = da[i+1];
             for (int c = s; c < e; c++) {
-                int cbc = BidiClass.getBidiClass (c);
-                assertEquals ("bad bidi class for CH(" + CharUtilities.format (c) + ")", bc, cbc);
+                int cbc = BidiClass.getBidiClass(c);
+                assertEquals("bad bidi class for CH(" + CharUtilities.format(c) + ")", bc, cbc);
             }
         }
     }
index 0489505eac665324684b44d2988cfd3eec5f3e6d..726682ce0d2163c4fa3cd8f9bd19ce181726e970 100644 (file)
@@ -49,14 +49,14 @@ public final class BidiTestData {
 
     public static final int NUM_TEST_SEQUENCES = 216357;
 
-    public static int[] readTestData (String prefix, int index) {
+    public static int[] readTestData(String prefix, int index) {
         int[] data = null;
         InputStream is = null;
         Class btc = BidiTestData.class;
         String name = btc.getSimpleName() + "$" + prefix + index + ".ser";
         try {
-            if ((is = btc.getResourceAsStream (name)) != null) {
-                ObjectInputStream ois = new ObjectInputStream (is);
+            if ((is = btc.getResourceAsStream(name)) != null) {
+                ObjectInputStream ois = new ObjectInputStream(is);
                 data = (int[]) ois.readObject();
                 ois.close();
             }
index 79895d3ad00be4e4629c81396f4c79ff78b9f8e6..af929d3a115a1a4d9dbd811808a8c7afc244b831 100644 (file)
@@ -3056,33 +3056,33 @@ public class GDEFTestCase {
 
     @Test
     public void testGDEFGlyphClass() throws Exception {
-        performLookups (ltGlyphClass);
+        performLookups(ltGlyphClass);
     }
 
     @Test
     public void testGDEFAttachmentPoint() throws Exception {
-        performLookups (ltAttachmentPoint);
+        performLookups(ltAttachmentPoint);
     }
 
     @Test
     public void testGDEFLigatureCaret() throws Exception {
-        performLookups (ltLigatureCaret);
+        performLookups(ltLigatureCaret);
     }
 
     @Test
     public void testGDEFMarkAttachment() throws Exception {
-        performLookups (ltMarkAttachment);
+        performLookups(ltMarkAttachment);
     }
 
     /**
      * Perform lookups on all test data in test specification TS.
      * @param ts test specification
      */
-    private void performLookups (Object[][] ts) {
+    private void performLookups(Object[][] ts) {
         assert ts.length > 0;
         Object[] tp = ts[0];
         for (int i = 1; i < ts.length; i++) {
-            performLookups (tp, ts[i]);
+            performLookups(tp, ts[i]);
         }
     }
 
@@ -3091,37 +3091,37 @@ public class GDEFTestCase {
      * @param tp test parameters
      * @param td test data
      */
-    private void performLookups (Object[] tp, Object[] td) {
+    private void performLookups(Object[] tp, Object[] td) {
         assert tp.length > 0;
         if (td.length > 1) {
             String fid = (String) td[0];
             String lid = (String) td[1];
-            TTXFile tf = findTTX (fid);
-            assertTrue (tf != null);
+            TTXFile tf = findTTX(fid);
+            assertTrue(tf != null);
             GlyphDefinitionTable gdef = tf.getGDEF();
-            assertTrue (gdef != null);
+            assertTrue(gdef != null);
             String[][] tia = (String[][]) td[2];
             switch ((int) ((Integer) tp[0])) {
             case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS:
-                performGlyphClassLookups (tf, lid, tia);
+                performGlyphClassLookups(tf, lid, tia);
                 break;
             case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_ATTACHMENT_POINT:
-                performAttachmentPointLookups (tf, lid, tia);
+                performAttachmentPointLookups(tf, lid, tia);
                 break;
             case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_LIGATURE_CARET:
-                performLigatureCaretLookups (tf, lid, tia);
+                performLigatureCaretLookups(tf, lid, tia);
                 break;
             case GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT:
-                performMarkAttachmentLookups (tf, lid, tia);
+                performMarkAttachmentLookups(tf, lid, tia);
                 break;
             default:
-                assertTrue ("bad lookup type", false);
+                assertTrue("bad lookup type", false);
                 break;
             }
         }
     }
 
-    private void performGlyphClassLookups (TTXFile tf, String lid, String[][] tia) {
+    private void performGlyphClassLookups(TTXFile tf, String lid, String[][] tia) {
         GlyphDefinitionTable gdef = tf.getGDEF();
         assert gdef != null;
         for (String[] ti : tia) {
@@ -3131,30 +3131,30 @@ public class GDEFTestCase {
             assert gn != null;
             String cn = ti[1];
             assert cn != null;
-            int g = tf.getGlyph (gn);
-            assertTrue (g >= 0);
-            int oc = Integer.parseInt (cn);
-            int tc = gdef.getGlyphClass (g);
-            assertEquals ("bad glyph class for glyph \'" + gn + "\', gid(" + g + ")", oc, tc);
+            int g = tf.getGlyph(gn);
+            assertTrue(g >= 0);
+            int oc = Integer.parseInt(cn);
+            int tc = gdef.getGlyphClass(g);
+            assertEquals("bad glyph class for glyph \'" + gn + "\', gid(" + g + ")", oc, tc);
         }
     }
 
-    private void performAttachmentPointLookups (TTXFile tf, String lid, String[][] tia) {
+    private void performAttachmentPointLookups(TTXFile tf, String lid, String[][] tia) {
         // not yet supported by GDEF or test TTX files
     }
 
-    private void performLigatureCaretLookups (TTXFile tf, String lid, String[][] tia) {
+    private void performLigatureCaretLookups(TTXFile tf, String lid, String[][] tia) {
         // not yet supported by GDEF or test TTX files
     }
 
-    private void performMarkAttachmentLookups (TTXFile tf, String lid, String[][] tia) {
+    private void performMarkAttachmentLookups(TTXFile tf, String lid, String[][] tia) {
         // not yet supported by GDEF or test TTX files
     }
 
-    private String findTTXPath (String fid) {
+    private String findTTXPath(String fid) {
         for (String[] fs : ttxFonts) {
             if ((fs != null) && (fs.length > 1)) {
-                if (fs[0].equals (fid)) {
+                if (fs[0].equals(fid)) {
                     return ttxFilesRoot + File.separator + fs[1];
                 }
             }
@@ -3162,14 +3162,14 @@ public class GDEFTestCase {
         return null;
     }
 
-    private TTXFile findTTX (String fid) {
-        String pn = findTTXPath (fid);
-        assertTrue (pn != null);
+    private TTXFile findTTX(String fid) {
+        String pn = findTTXPath(fid);
+        assertTrue(pn != null);
         try {
-            TTXFile tf = TTXFile.getFromCache (pn);
+            TTXFile tf = TTXFile.getFromCache(pn);
             return tf;
         } catch (Exception e) {
-            fail (e.getMessage());
+            fail(e.getMessage());
             return null;
         }
     }
index a6fc52ebcdfd7d471633d5ea75ff1e3a6db7370f..270b567978689de50b9158a9b48fa1b6a1a169d1 100644 (file)
@@ -319,53 +319,53 @@ public class GPOSTestCase implements ScriptContextTester, GlyphContextTester {
 
     @Test
     public void testGPOSSingle() throws Exception {
-        performPositioning (ltSingle);
+        performPositioning(ltSingle);
     }
 
     @Test
     public void testGPOSPair() throws Exception {
-        performPositioning (ltPair);
+        performPositioning(ltPair);
     }
 
     @Test
     public void testGPOSCursive() throws Exception {
-        performPositioning (ltCursive);
+        performPositioning(ltCursive);
     }
 
     @Test
     public void testGPOSMarkToBase() throws Exception {
-        performPositioning (ltMarkToBase);
+        performPositioning(ltMarkToBase);
     }
 
     @Test
     public void testGPOSMarkToLigature() throws Exception {
-        performPositioning (ltMarkToLigature);
+        performPositioning(ltMarkToLigature);
     }
 
     @Test
     public void testGPOSMarkToMark() throws Exception {
-        performPositioning (ltMarkToMark);
+        performPositioning(ltMarkToMark);
     }
 
     @Test
     public void testGPOSContextual() throws Exception {
-        performPositioning (ltContextual);
+        performPositioning(ltContextual);
     }
 
     @Test
     public void testGPOSChainedContextual() throws Exception {
-        performPositioning (ltChainedContextual);
+        performPositioning(ltChainedContextual);
     }
 
     /**
      * Perform positioning on all test data in test specification TS.
      * @param ts test specification
      */
-    private void performPositioning (Object[][] ts) {
+    private void performPositioning(Object[][] ts) {
         assert ts.length > 0;
         Object[] tp = ts[0];
         for (int i = 1; i < ts.length; i++) {
-            performPositioning (tp, ts[i]);
+            performPositioning(tp, ts[i]);
         }
     }
 
@@ -374,7 +374,7 @@ public class GPOSTestCase implements ScriptContextTester, GlyphContextTester {
      * @param tp test parameters
      * @param td test data
      */
-    private void performPositioning (Object[] tp, Object[] td) {
+    private void performPositioning(Object[] tp, Object[] td) {
         assert tp.length > 0;
         if (td.length > 5) {
             String fid = (String) td[0];
@@ -382,36 +382,36 @@ public class GPOSTestCase implements ScriptContextTester, GlyphContextTester {
             String script = (String) td[2];
             String language = (String) td[3];
             String feature = (String) td[4];
-            TTXFile tf = findTTX (fid);
-            assertTrue (tf != null);
+            TTXFile tf = findTTX(fid);
+            assertTrue(tf != null);
             GlyphPositioningTable gpos = tf.getGPOS();
-            assertTrue (gpos != null);
-            GlyphPositioningSubtable[] sta = findGPOSSubtables (gpos, script, language, feature, lid);
-            assertTrue (sta != null);
-            assertTrue (sta.length > 0);
-            ScriptContextTester sct = findScriptContextTester (script, language, feature);
+            assertTrue(gpos != null);
+            GlyphPositioningSubtable[] sta = findGPOSSubtables(gpos, script, language, feature, lid);
+            assertTrue(sta != null);
+            assertTrue(sta.length > 0);
+            ScriptContextTester sct = findScriptContextTester(script, language, feature);
             Object[][] tia = (Object[][]) td[5];                // test instance array
             for (Object[] ti : tia) {                         // test instance
                 if (ti != null) {
                     if (ti.length > 0) {                      // must have at least input glyphs
                         String[] igia = (String[]) ti[0];       // input glyph id array
                         int[][] ogpa = (int[][]) ti[1];         // output glyph positioning array
-                        GlyphSequence igs = tf.getGlyphSequence (igia);
+                        GlyphSequence igs = tf.getGlyphSequence(igia);
                         int[] widths = tf.getWidths();
                         int[][] tgpa = new int [ igia.length ] [ 4 ];
-                        boolean adjusted = GlyphPositioningSubtable.position (igs, script, language, feature, 1000, sta, widths, tgpa, sct);
-                        assertTrue (adjusted);
-                        assertSamePositions (ogpa, tgpa);
+                        boolean adjusted = GlyphPositioningSubtable.position(igs, script, language, feature, 1000, sta, widths, tgpa, sct);
+                        assertTrue(adjusted);
+                        assertSamePositions(ogpa, tgpa);
                     }
                 }
             }
         }
     }
 
-    private String findTTXPath (String fid) {
+    private String findTTXPath(String fid) {
         for (String[] fs : ttxFonts) {
             if ((fs != null) && (fs.length > 1)) {
-                if (fs[0].equals (fid)) {
+                if (fs[0].equals(fid)) {
                     return ttxFilesRoot + File.separator + fs[1];
                 }
             }
@@ -419,20 +419,20 @@ public class GPOSTestCase implements ScriptContextTester, GlyphContextTester {
         return null;
     }
 
-    private TTXFile findTTX (String fid) {
-        String pn = findTTXPath (fid);
-        assertTrue (pn != null);
+    private TTXFile findTTX(String fid) {
+        String pn = findTTXPath(fid);
+        assertTrue(pn != null);
         try {
-            TTXFile tf = TTXFile.getFromCache (pn);
+            TTXFile tf = TTXFile.getFromCache(pn);
             return tf;
         } catch (Exception e) {
-            fail (e.getMessage());
+            fail(e.getMessage());
             return null;
         }
     }
 
-    private GlyphPositioningSubtable[] findGPOSSubtables (GlyphPositioningTable gpos, String script, String language, String feature, String lid) {
-        LookupTable lt = gpos.getLookupTable (lid);
+    private GlyphPositioningSubtable[] findGPOSSubtables(GlyphPositioningTable gpos, String script, String language, String feature, String lid) {
+        LookupTable lt = gpos.getLookupTable(lid);
         if (lt != null) {
             return (GlyphPositioningSubtable[]) lt.getSubtables();
         } else {
@@ -440,33 +440,33 @@ public class GPOSTestCase implements ScriptContextTester, GlyphContextTester {
         }
     }
 
-    private ScriptContextTester findScriptContextTester (String script, String language, String feature) {
+    private ScriptContextTester findScriptContextTester(String script, String language, String feature) {
         return this;
     }
 
-    public GlyphContextTester getTester (String feature) {
+    public GlyphContextTester getTester(String feature) {
         return this;
     }
 
-    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
         return true;
     }
 
-    private void assertSamePositions (int[][] pa1, int[][] pa2) {
-        assertNotNull (pa1);
-        assertNotNull (pa2);
-        assertEquals ("unequal adjustment count", pa1.length, pa2.length);
+    private void assertSamePositions(int[][] pa1, int[][] pa2) {
+        assertNotNull(pa1);
+        assertNotNull(pa2);
+        assertEquals("unequal adjustment count", pa1.length, pa2.length);
         for (int i = 0; i < pa1.length; i++) {
             int[] a1 = pa1 [ i ];
             int[] a2 = pa2 [ i ];
-            assertNotNull (a1);
-            assertNotNull (a2);
-            assertEquals ("bad adjustment array length", 4, a1.length);
-            assertEquals ("bad adjustment array length", 4, a2.length);
+            assertNotNull(a1);
+            assertNotNull(a2);
+            assertEquals("bad adjustment array length", 4, a1.length);
+            assertEquals("bad adjustment array length", 4, a2.length);
             for (int k = 0; k < a1.length; k++) {
                 int p1 = a1[k];
                 int p2 = a2[k];
-                assertEquals ("bad adjustment", p1, p2);
+                assertEquals("bad adjustment", p1, p2);
             }
         }
     }
index e8c333fac47458e87f8abc1781c3b5e1c7a29328..b235fa58c21152a38550b8a903bac919b7e476eb 100644 (file)
@@ -2129,43 +2129,43 @@ public class GSUBTestCase implements ScriptContextTester, GlyphContextTester {
 
     @Test
     public void testGSUBSingle() throws Exception {
-        performSubstitutions (ltSingle);
+        performSubstitutions(ltSingle);
     }
 
     @Test
     public void testGSUBMultiple() throws Exception {
-        performSubstitutions (ltMultiple);
+        performSubstitutions(ltMultiple);
     }
 
     @Test
     public void testGSUBAlternate() throws Exception {
-        performSubstitutions (ltAlternate);
+        performSubstitutions(ltAlternate);
     }
 
     @Test
     public void testGSUBLigature() throws Exception {
-        performSubstitutions (ltLigature);
+        performSubstitutions(ltLigature);
     }
 
     @Test
     public void testGSUBContextual() throws Exception {
-        performSubstitutions (ltContextual);
+        performSubstitutions(ltContextual);
     }
 
     @Test
     public void testGSUBChainedContextual() throws Exception {
-        performSubstitutions (ltChainedContextual);
+        performSubstitutions(ltChainedContextual);
     }
 
     /**
      * Perform substitutions on all test data in test specification TS.
      * @param ts test specification
      */
-    private void performSubstitutions (Object[][] ts) {
+    private void performSubstitutions(Object[][] ts) {
         assert ts.length > 0;
         Object[] tp = ts[0];
         for (int i = 1; i < ts.length; i++) {
-            performSubstitutions (tp, ts[i]);
+            performSubstitutions(tp, ts[i]);
         }
     }
 
@@ -2174,7 +2174,7 @@ public class GSUBTestCase implements ScriptContextTester, GlyphContextTester {
      * @param tp test parameters
      * @param td test data
      */
-    private void performSubstitutions (Object[] tp, Object[] td) {
+    private void performSubstitutions(Object[] tp, Object[] td) {
         assert tp.length > 0;
         if (td.length > 5) {
             String fid = (String) td[0];
@@ -2182,34 +2182,34 @@ public class GSUBTestCase implements ScriptContextTester, GlyphContextTester {
             String script = (String) td[2];
             String language = (String) td[3];
             String feature = (String) td[4];
-            TTXFile tf = findTTX (fid);
-            assertTrue (tf != null);
+            TTXFile tf = findTTX(fid);
+            assertTrue(tf != null);
             GlyphSubstitutionTable gsub = tf.getGSUB();
-            assertTrue (gsub != null);
-            GlyphSubstitutionSubtable[] sta = findGSUBSubtables (gsub, script, language, feature, lid);
-            assertTrue (sta != null);
-            assertTrue (sta.length > 0);
-            ScriptContextTester sct = findScriptContextTester (script, language, feature);
+            assertTrue(gsub != null);
+            GlyphSubstitutionSubtable[] sta = findGSUBSubtables(gsub, script, language, feature, lid);
+            assertTrue(sta != null);
+            assertTrue(sta.length > 0);
+            ScriptContextTester sct = findScriptContextTester(script, language, feature);
             String[][][] tia = (String[][][]) td[5];            // test instance array
             for (String[][] ti : tia) {                       // test instance
                 if (ti != null) {
                     if (ti.length > 1) {                      // must have at least input and output glyph id arrays
                         String[] igia = ti[0];                  // input glyph id array
                         String[] ogia = ti[1];                  // output glyph id array
-                        GlyphSequence igs = tf.getGlyphSequence (igia);
-                        GlyphSequence ogs = tf.getGlyphSequence (ogia);
-                        GlyphSequence tgs = GlyphSubstitutionSubtable.substitute (igs, script, language, feature, sta, sct);
-                        assertSameGlyphs (ogs, tgs);
+                        GlyphSequence igs = tf.getGlyphSequence(igia);
+                        GlyphSequence ogs = tf.getGlyphSequence(ogia);
+                        GlyphSequence tgs = GlyphSubstitutionSubtable.substitute(igs, script, language, feature, sta, sct);
+                        assertSameGlyphs(ogs, tgs);
                     }
                 }
             }
         }
     }
 
-    private String findTTXPath (String fid) {
+    private String findTTXPath(String fid) {
         for (String[] fs : ttxFonts) {
             if ((fs != null) && (fs.length > 1)) {
-                if (fs[0].equals (fid)) {
+                if (fs[0].equals(fid)) {
                     return ttxFilesRoot + File.separator + fs[1];
                 }
             }
@@ -2217,20 +2217,20 @@ public class GSUBTestCase implements ScriptContextTester, GlyphContextTester {
         return null;
     }
 
-    private TTXFile findTTX (String fid) {
-        String pn = findTTXPath (fid);
-        assertTrue (pn != null);
+    private TTXFile findTTX(String fid) {
+        String pn = findTTXPath(fid);
+        assertTrue(pn != null);
         try {
-            TTXFile tf = TTXFile.getFromCache (pn);
+            TTXFile tf = TTXFile.getFromCache(pn);
             return tf;
         } catch (Exception e) {
-            fail (e.getMessage());
+            fail(e.getMessage());
             return null;
         }
     }
 
-    private GlyphSubstitutionSubtable[] findGSUBSubtables (GlyphSubstitutionTable gsub, String script, String language, String feature, String lid) {
-        LookupTable lt = gsub.getLookupTable (lid);
+    private GlyphSubstitutionSubtable[] findGSUBSubtables(GlyphSubstitutionTable gsub, String script, String language, String feature, String lid) {
+        LookupTable lt = gsub.getLookupTable(lid);
         if (lt != null) {
             return (GlyphSubstitutionSubtable[]) lt.getSubtables();
         } else {
@@ -2238,28 +2238,28 @@ public class GSUBTestCase implements ScriptContextTester, GlyphContextTester {
         }
     }
 
-    private ScriptContextTester findScriptContextTester (String script, String language, String feature) {
+    private ScriptContextTester findScriptContextTester(String script, String language, String feature) {
         return this;
     }
 
-    public GlyphContextTester getTester (String feature) {
+    public GlyphContextTester getTester(String feature) {
         return this;
     }
 
-    public boolean test (String script, String language, String feature, GlyphSequence gs, int index, int flags) {
+    public boolean test(String script, String language, String feature, GlyphSequence gs, int index, int flags) {
         return true;
     }
 
-    private void assertSameGlyphs (GlyphSequence gs1, GlyphSequence gs2) {
-        assertNotNull (gs1);
-        assertNotNull (gs2);
+    private void assertSameGlyphs(GlyphSequence gs1, GlyphSequence gs2) {
+        assertNotNull(gs1);
+        assertNotNull(gs2);
         IntBuffer gb1 = gs1.getGlyphs();
         IntBuffer gb2 = gs2.getGlyphs();
-        assertEquals ("unequal glyph count", gb1.limit(), gb2.limit());
+        assertEquals("unequal glyph count", gb1.limit(), gb2.limit());
         for (int i = 0; i < gb1.limit(); i++) {
             int g1 = gb1.get(i);
             int g2 = gb2.get(i);
-            assertEquals ("unequal glyph code", g1, g2);
+            assertEquals("unequal glyph code", g1, g2);
         }
     }
 
index 00bdd5acdcf8d8fac9fb7e0ac53bb51a216ad37e..b3e080d508a61e7c3dc1557e089be8ea6e164436 100644 (file)
@@ -230,46 +230,46 @@ public class TTXFile {
         v2 = null;
         upem = -1;
     }
-    public void parse (String filename) {
-        parse (new File (filename));
+    public void parse(String filename) {
+        parse(new File(filename));
     }
-    public void parse (File f) {
+    public void parse(File f) {
         assert f != null;
         try {
             SAXParserFactory spf = SAXParserFactory.newInstance();
             SAXParser sp = spf.newSAXParser();
-            sp.parse (f, new Handler());
+            sp.parse(f, new Handler());
         } catch (FactoryConfigurationError e) {
-            throw new RuntimeException (e.getMessage());
+            throw new RuntimeException(e.getMessage());
         } catch (ParserConfigurationException e) {
-            throw new RuntimeException (e.getMessage());
+            throw new RuntimeException(e.getMessage());
         } catch (SAXException e) {
-            throw new RuntimeException (e.getMessage());
+            throw new RuntimeException(e.getMessage());
         } catch (IOException e) {
-            throw new RuntimeException (e.getMessage());
+            throw new RuntimeException(e.getMessage());
         }
     }
-    public GlyphSequence mapCharsToGlyphs (String s) {
-        Integer[] ca = UTF32.toUTF32 (s, 0, true);
+    public GlyphSequence mapCharsToGlyphs(String s) {
+        Integer[] ca = UTF32.toUTF32(s, 0, true);
         int ng = ca.length;
-        IntBuffer cb = IntBuffer.allocate (ng);
-        IntBuffer gb = IntBuffer.allocate (ng);
+        IntBuffer cb = IntBuffer.allocate(ng);
+        IntBuffer gb = IntBuffer.allocate(ng);
         for (Integer c : ca) {
-            int g = mapCharToGlyph ((int) c);
+            int g = mapCharToGlyph((int) c);
             if (g >= 0) {
-                cb.put (c);
-                gb.put (g);
+                cb.put(c);
+                gb.put(g);
             } else {
-                throw new IllegalArgumentException ("character " + CharUtilities.format (c) + " has no corresponding glyph");
+                throw new IllegalArgumentException("character " + CharUtilities.format(c) + " has no corresponding glyph");
             }
         }
         cb.rewind();
         gb.rewind();
-        return new GlyphSequence (cb, gb, null);
+        return new GlyphSequence(cb, gb, null);
     }
-    public int mapCharToGlyph (int c) {
+    public int mapCharToGlyph(int c) {
         if (cmap != null) {
-            Integer g = cmap.get (Integer.valueOf (c));
+            Integer g = cmap.get(Integer.valueOf(c));
             if (g != null) {
                 return (int) g;
             } else {
@@ -279,38 +279,38 @@ public class TTXFile {
             return -1;
         }
     }
-    public int getGlyph (String gid) {
-        return mapGlyphId0 (gid);
+    public int getGlyph(String gid) {
+        return mapGlyphId0(gid);
     }
-    public GlyphSequence getGlyphSequence (String[] gids) {
+    public GlyphSequence getGlyphSequence(String[] gids) {
         assert gids != null;
         int ng = gids.length;
-        IntBuffer cb = IntBuffer.allocate (ng);
-        IntBuffer gb = IntBuffer.allocate (ng);
+        IntBuffer cb = IntBuffer.allocate(ng);
+        IntBuffer gb = IntBuffer.allocate(ng);
         for (String gid : gids) {
-            int g = mapGlyphId0 (gid);
+            int g = mapGlyphId0(gid);
             if (g >= 0) {
-                int c = mapGlyphIdToChar (gid);
+                int c = mapGlyphIdToChar(gid);
                 if (c < 0) {
                     c = CharUtilities.NOT_A_CHARACTER;
                 }
-                cb.put (c);
-                gb.put (g);
+                cb.put(c);
+                gb.put(g);
             } else {
-                throw new IllegalArgumentException ("unmapped glyph id \"" + gid + "\"");
+                throw new IllegalArgumentException("unmapped glyph id \"" + gid + "\"");
             }
         }
         cb.rewind();
         gb.rewind();
-        return new GlyphSequence (cb, gb, null);
+        return new GlyphSequence(cb, gb, null);
     }
-    public int[] getWidths (String[] gids) {
+    public int[] getWidths(String[] gids) {
         assert gids != null;
         int ng = gids.length;
         int[] widths = new int [ ng ];
         int i = 0;
         for (String gid : gids) {
-            int g = mapGlyphId0 (gid);
+            int g = mapGlyphId0(gid);
             int w = 0;
             if (g >= 0) {
                 if ((hmtx != null) && (g < hmtx.length)) {
@@ -330,14 +330,14 @@ public class TTXFile {
             if ((hmtx != null) && (upem > 0)) {
                 int[] widths = new int [ hmtx.length ];
                 for (int i = 0, n = widths.length; i < n; i++) {
-                    widths [ i ] = getPDFWidth (hmtx [ i ] [ 0 ], upem);
+                    widths [ i ] = getPDFWidth(hmtx [ i ] [ 0 ], upem);
                 }
                 this.widths = widths;
             }
         }
         return this.widths;
     }
-    public static int getPDFWidth (int tw, int upem) {
+    public static int getPDFWidth(int tw, int upem) {
         // N.B. The following is copied (with minor edits) from TTFFile to insure same results
         int pw;
         if (tw < 0) {
@@ -359,13 +359,13 @@ public class TTXFile {
     public GlyphPositioningTable getGPOS() {
         return gpos;
     }
-    public static synchronized TTXFile getFromCache (String filename) {
+    public static synchronized TTXFile getFromCache(String filename) {
         assert cache != null;
         TTXFile f;
-        if ((f = (TTXFile) cache.get (filename)) == null) {
+        if ((f = (TTXFile) cache.get(filename)) == null) {
             f = new TTXFile();
-            f.parse (filename);
-            cache.put (filename, f);
+            f.parse(filename);
+            cache.put(filename, f);
         }
         return f;
     }
@@ -382,56 +382,56 @@ public class TTXFile {
         public void endDocument() {
         }
         @Override
-        public void setDocumentLocator (Locator locator) {
+        public void setDocumentLocator(Locator locator) {
             TTXFile.this.locator = locator;
         }
         @Override
-        public void startElement (String uri, String localName, String qName, Attributes attrs) throws SAXException {
-            String[] en = makeExpandedName (uri, localName, qName);
+        public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
+            String[] en = makeExpandedName(uri, localName, qName);
             if (en[0] != null) {
-                unsupportedElement (en);
-            } else if (en[1].equals ("Alternate")) {
+                unsupportedElement(en);
+            } else if (en[1].equals("Alternate")) {
                 String[] pn = new String[] { null, "AlternateSet" };
-                if (isParent (pn)) {
-                    String glyph = attrs.getValue ("glyph");
+                if (isParent(pn)) {
+                    String glyph = attrs.getValue("glyph");
                     if (glyph == null) {
-                        missingRequiredAttribute (en, "glyph");
+                        missingRequiredAttribute(en, "glyph");
                     }
-                    int gid = mapGlyphId (glyph, en);
-                    alternates.add (Integer.valueOf (gid));
+                    int gid = mapGlyphId(glyph, en);
+                    alternates.add(Integer.valueOf(gid));
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("AlternateSet")) {
+            } else if (en[1].equals("AlternateSet")) {
                 String[] pn = new String[] { null, "AlternateSubst" };
-                if (isParent (pn)) {
-                    String glyph = attrs.getValue ("glyph");
+                if (isParent(pn)) {
+                    String glyph = attrs.getValue("glyph");
                     if (glyph == null) {
-                        missingRequiredAttribute (en, "glyph");
+                        missingRequiredAttribute(en, "glyph");
                     }
-                    int gid = mapGlyphId (glyph, en);
-                    coverageEntries.add (Integer.valueOf (gid));
+                    int gid = mapGlyphId(glyph, en);
+                    coverageEntries.add(Integer.valueOf(gid));
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("AlternateSubst")) {
+            } else if (en[1].equals("AlternateSubst")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -442,32 +442,32 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("BacktrackCoverage")) {
+            } else if (en[1].equals("BacktrackCoverage")) {
                 String[] pn1 = new String[] { null, "ChainContextSubst" };
                 String[] pn2 = new String[] { null, "ChainContextPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     int ci = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        ci = Integer.parseInt (index);
+                        ci = Integer.parseInt(index);
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -475,44 +475,44 @@ public class TTXFile {
                     ctIndex = ci;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("BaseAnchor")) {
+            } else if (en[1].equals("BaseAnchor")) {
                 String[] pn = new String[] { null, "BaseRecord" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("BaseArray")) {
+            } else if (en[1].equals("BaseArray")) {
                 String[] pn = new String[] { null, "MarkBasePos" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("BaseCoverage")) {
+            } else if (en[1].equals("BaseCoverage")) {
                 String[] pn = new String[] { null, "MarkBasePos" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -520,38 +520,38 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("BaseRecord")) {
+            } else if (en[1].equals("BaseRecord")) {
                 String[] pn = new String[] { null, "BaseArray" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ChainContextPos") || en[1].equals ("ChainContextSubst")) {
+            } else if (en[1].equals("ChainContextPos") || en[1].equals("ChainContextSubst")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                         case 3:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -559,85 +559,85 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Class")) {
+            } else if (en[1].equals("Class")) {
                 String[] pn = new String[] { null, "MarkRecord" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     assert markClass == -1;
                     markClass = v;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ClassDef")) {
+            } else if (en[1].equals("ClassDef")) {
                 String[] pn1 = new String[] { null, "GlyphClassDef" };
                 String[] pn2 = new String[] { null, "MarkAttachClassDef" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String glyph = attrs.getValue ("glyph");
+                if (isParent(pnx)) {
+                    String glyph = attrs.getValue("glyph");
                     if (glyph == null) {
-                        missingRequiredAttribute (en, "glyph");
+                        missingRequiredAttribute(en, "glyph");
                     }
-                    String glyphClass = attrs.getValue ("class");
+                    String glyphClass = attrs.getValue("class");
                     if (glyphClass == null) {
-                        missingRequiredAttribute (en, "class");
+                        missingRequiredAttribute(en, "class");
                     }
-                    if (! glyphIds.containsKey (glyph)) {
-                        unsupportedGlyph (en, glyph);
-                    } else if (isParent (pn1)) {
-                        if (glyphClasses.containsKey (glyph)) {
-                            duplicateGlyphClass (en, glyph, glyphClass);
+                    if (! glyphIds.containsKey(glyph)) {
+                        unsupportedGlyph(en, glyph);
+                    } else if (isParent(pn1)) {
+                        if (glyphClasses.containsKey(glyph)) {
+                            duplicateGlyphClass(en, glyph, glyphClass);
                         } else {
-                            glyphClasses.put (glyph, Integer.parseInt(glyphClass));
+                            glyphClasses.put(glyph, Integer.parseInt(glyphClass));
                         }
-                    } else if (isParent (pn2)) {
-                        if (glyphClasses.containsKey (glyph)) {
-                            duplicateGlyphClass (en, glyph, glyphClass);
+                    } else if (isParent(pn2)) {
+                        if (glyphClasses.containsKey(glyph)) {
+                            duplicateGlyphClass(en, glyph, glyphClass);
                         } else {
-                            glyphClasses.put (glyph, Integer.parseInt(glyphClass));
+                            glyphClasses.put(glyph, Integer.parseInt(glyphClass));
                         }
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("ComponentRecord")) {
+            } else if (en[1].equals("ComponentRecord")) {
                 String[] pn = new String[] { null, "LigatureAttach" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                     assert anchors.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Coverage")) {
+            } else if (en[1].equals("Coverage")) {
                 String[] pn1 = new String[] { null, "CursivePos" };
                 String[] pn2 = new String[] { null, "LigCaretList" };
                 String[] pn3 = new String[] { null, "MultipleSubst" };
                 String[] pn4 = new String[] { null, "PairPos" };
                 String[] pn5 = new String[] { null, "SinglePos" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5 };
-                if (isParent (pnx)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pnx)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -645,26 +645,26 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("CursivePos")) {
+            } else if (en[1].equals("CursivePos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -673,143 +673,143 @@ public class TTXFile {
                     stFormat = sf;
                     assert attachmentAnchors.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("DefaultLangSys")) {
+            } else if (en[1].equals("DefaultLangSys")) {
                 String[] pn = new String[] { null, "Script" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 } else {
                     assertLanguageFeaturesClear();
                     assert languageTag == null;
                     languageTag = defaultLanguageTag;
                 }
-            } else if (en[1].equals ("EntryAnchor")) {
+            } else if (en[1].equals("EntryAnchor")) {
                 String[] pn = new String[] { null, "EntryExitRecord" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("EntryExitRecord")) {
+            } else if (en[1].equals("EntryExitRecord")) {
                 String[] pn = new String[] { null, "CursivePos" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ExitAnchor")) {
+            } else if (en[1].equals("ExitAnchor")) {
                 String[] pn = new String[] { null, "EntryExitRecord" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Feature")) {
+            } else if (en[1].equals("Feature")) {
                 String[] pn = new String[] { null, "FeatureRecord" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 } else {
                     assertFeatureLookupsClear();
                 }
-            } else if (en[1].equals ("FeatureIndex")) {
+            } else if (en[1].equals("FeatureIndex")) {
                 String[] pn1 = new String[] { null, "DefaultLangSys" };
                 String[] pn2 = new String[] { null, "LangSys" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String value = attrs.getValue ("value");
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     if (languageFeatures.size() == 0) {
-                        languageFeatures.add (null);
+                        languageFeatures.add(null);
                     }
                     if ((v >= 0) && (v < 65535)) {
-                        languageFeatures.add (makeFeatureId (v));
+                        languageFeatures.add(makeFeatureId(v));
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("FeatureList")) {
+            } else if (en[1].equals("FeatureList")) {
                 String[] pn1 = new String[] { null, "GSUB" };
                 String[] pn2 = new String[] { null, "GPOS" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (! isParent (pnx)) {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                if (! isParent(pnx)) {
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("FeatureRecord")) {
+            } else if (en[1].equals("FeatureRecord")) {
                 String[] pn = new String[] { null, "FeatureList" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     int fi = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        fi = Integer.parseInt (index);
+                        fi = Integer.parseInt(index);
                     }
                     assertFeatureClear();
                     assert flIndex == -1;
                     flIndex = fi;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("FeatureTag")) {
+            } else if (en[1].equals("FeatureTag")) {
                 String[] pn = new String[] { null, "FeatureRecord" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
                         assert featureTag == null;
                         featureTag = value;
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("GDEF")) {
+            } else if (en[1].equals("GDEF")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (isParent (pn)) {
+                if (isParent(pn)) {
                     assertSubtablesClear();
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("GPOS")) {
+            } else if (en[1].equals("GPOS")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (isParent (pn)) {
+                if (isParent(pn)) {
                     assertCoveragesClear();
                     assertSubtablesClear();
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("GSUB")) {
+            } else if (en[1].equals("GSUB")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (isParent (pn)) {
+                if (isParent(pn)) {
                     assertCoveragesClear();
                     assertSubtablesClear();
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Glyph")) {
+            } else if (en[1].equals("Glyph")) {
                 String[] pn1 = new String[] { null, "Coverage" };
                 String[] pn2 = new String[] { null, "InputCoverage" };
                 String[] pn3 = new String[] { null, "LookAheadCoverage" };
@@ -820,32 +820,32 @@ public class TTXFile {
                 String[] pn8 = new String[] { null, "BaseCoverage" };
                 String[] pn9 = new String[] { null, "LigatureCoverage" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6, pn7, pn8, pn9 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        int gid = mapGlyphId (value, en);
-                        coverageEntries.add (Integer.valueOf (gid));
+                        int gid = mapGlyphId(value, en);
+                        coverageEntries.add(Integer.valueOf(gid));
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("GlyphClassDef")) {
+            } else if (en[1].equals("GlyphClassDef")) {
                 String[] pn = new String[] { null, "GDEF" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -858,62 +858,62 @@ public class TTXFile {
                     stFormat = sf;
                     assert glyphClasses.isEmpty();
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("GlyphID")) {
+            } else if (en[1].equals("GlyphID")) {
                 String[] pn = new String[] { null, "GlyphOrder" };
-                if (isParent (pn)) {
-                    String id = attrs.getValue ("id");
+                if (isParent(pn)) {
+                    String id = attrs.getValue("id");
                     int gid = -1;
                     if (id == null) {
-                        missingRequiredAttribute (en, "id");
+                        missingRequiredAttribute(en, "id");
                     } else {
-                        gid = Integer.parseInt (id);
+                        gid = Integer.parseInt(id);
                     }
-                    String name = attrs.getValue ("name");
+                    String name = attrs.getValue("name");
                     if (name == null) {
-                        missingRequiredAttribute (en, "name");
+                        missingRequiredAttribute(en, "name");
                     }
-                    if (glyphIds.containsKey (name)) {
-                        duplicateGlyph (en, name, gid);
+                    if (glyphIds.containsKey(name)) {
+                        duplicateGlyph(en, name, gid);
                     } else {
                         if (gid > glyphIdMax) {
                             glyphIdMax = gid;
                         }
-                        glyphIds.put (name, gid);
+                        glyphIds.put(name, gid);
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("GlyphOrder")) {
+            } else if (en[1].equals("GlyphOrder")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("InputCoverage")) {
+            } else if (en[1].equals("InputCoverage")) {
                 String[] pn1 = new String[] { null, "ChainContextSubst" };
                 String[] pn2 = new String[] { null, "ChainContextPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     int ci = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        ci = Integer.parseInt (index);
+                        ci = Integer.parseInt(index);
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -921,107 +921,107 @@ public class TTXFile {
                     ctIndex = ci;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("LangSys")) {
+            } else if (en[1].equals("LangSys")) {
                 String[] pn = new String[] { null, "LangSysRecord" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 } else {
                     assertLanguageFeaturesClear();
                 }
-            } else if (en[1].equals ("LangSysRecord")) {
+            } else if (en[1].equals("LangSysRecord")) {
                 String[] pn = new String[] { null, "Script" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LangSysTag")) {
+            } else if (en[1].equals("LangSysTag")) {
                 String[] pn = new String[] { null, "LangSysRecord" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
                         assert languageTag == null;
                         languageTag = value;
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigCaretList")) {
+            } else if (en[1].equals("LigCaretList")) {
                 String[] pn = new String[] { null, "GDEF" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Ligature")) {
+            } else if (en[1].equals("Ligature")) {
                 String[] pn = new String[] { null, "LigatureSet" };
-                if (isParent (pn)) {
-                    String components = attrs.getValue ("components");
+                if (isParent(pn)) {
+                    String components = attrs.getValue("components");
                     if (components == null) {
-                        missingRequiredAttribute (en, "components");
+                        missingRequiredAttribute(en, "components");
                     }
-                    int[] cids = mapGlyphIds (components, en);
-                    String glyph = attrs.getValue ("glyph");
+                    int[] cids = mapGlyphIds(components, en);
+                    String glyph = attrs.getValue("glyph");
                     if (glyph == null) {
-                        missingRequiredAttribute (en, "glyph");
+                        missingRequiredAttribute(en, "glyph");
                     }
-                    int gid = mapGlyphId (glyph, en);
-                    ligatures.add (new Ligature (gid, cids));
+                    int gid = mapGlyphId(glyph, en);
+                    ligatures.add(new Ligature(gid, cids));
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureAnchor")) {
+            } else if (en[1].equals("LigatureAnchor")) {
                 String[] pn = new String[] { null, "ComponentRecord" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureArray")) {
+            } else if (en[1].equals("LigatureArray")) {
                 String[] pn = new String[] { null, "MarkLigPos" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureAttach")) {
+            } else if (en[1].equals("LigatureAttach")) {
                 String[] pn = new String[] { null, "LigatureArray" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                     assert components.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureCoverage")) {
+            } else if (en[1].equals("LigatureCoverage")) {
                 String[] pn = new String[] { null, "MarkLigPos" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -1029,38 +1029,38 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureSet")) {
+            } else if (en[1].equals("LigatureSet")) {
                 String[] pn = new String[] { null, "LigatureSubst" };
-                if (isParent (pn)) {
-                    String glyph = attrs.getValue ("glyph");
+                if (isParent(pn)) {
+                    String glyph = attrs.getValue("glyph");
                     if (glyph == null) {
-                        missingRequiredAttribute (en, "glyph");
+                        missingRequiredAttribute(en, "glyph");
                     }
-                    int gid = mapGlyphId (glyph, en);
-                    coverageEntries.add (Integer.valueOf (gid));
+                    int gid = mapGlyphId(glyph, en);
+                    coverageEntries.add(Integer.valueOf(gid));
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LigatureSubst")) {
+            } else if (en[1].equals("LigatureSubst")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1071,32 +1071,32 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LookAheadCoverage")) {
+            } else if (en[1].equals("LookAheadCoverage")) {
                 String[] pn1 = new String[] { null, "ChainContextSubst" };
                 String[] pn2 = new String[] { null, "ChainContextPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     int ci = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        ci = Integer.parseInt (index);
+                        ci = Integer.parseInt(index);
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -1104,101 +1104,101 @@ public class TTXFile {
                     ctIndex = ci;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("Lookup")) {
+            } else if (en[1].equals("Lookup")) {
                 String[] pn = new String[] { null, "LookupList" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     int li = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        li = Integer.parseInt (index);
+                        li = Integer.parseInt(index);
                     }
                     assertLookupClear();
                     assert ltIndex == -1;
                     ltIndex = li;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LookupFlag")) {
+            } else if (en[1].equals("LookupFlag")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int lf = 0;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        lf = Integer.parseInt (value);
+                        lf = Integer.parseInt(value);
                     }
                     assert ltFlags == 0;
                     ltFlags = lf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("LookupList")) {
+            } else if (en[1].equals("LookupList")) {
                 String[] pn1 = new String[] { null, "GSUB" };
                 String[] pn2 = new String[] { null, "GPOS" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (! isParent (pnx)) {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                if (! isParent(pnx)) {
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("LookupListIndex")) {
+            } else if (en[1].equals("LookupListIndex")) {
                 String[] pn1 = new String[] { null, "Feature" };
                 String[] pn2 = new String[] { null, "SubstLookupRecord" };
                 String[] pn3 = new String[] { null, "PosLookupRecord" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     String[][] pny = new String[][] { pn2, pn3 };
-                    if (isParent (pny)) {
+                    if (isParent(pny)) {
                         assert rlLookup == -1;
                         assert v != -1;
                         rlLookup = v;
                     } else {
-                        featureLookups.add (makeLookupId (v));
+                        featureLookups.add(makeLookupId(v));
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("LookupType")) {
+            } else if (en[1].equals("LookupType")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark1Array")) {
+            } else if (en[1].equals("Mark1Array")) {
                 String[] pn = new String[] { null, "MarkMarkPos" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark1Coverage")) {
+            } else if (en[1].equals("Mark1Coverage")) {
                 String[] pn = new String[] { null, "MarkMarkPos" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -1206,40 +1206,40 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark2Anchor")) {
+            } else if (en[1].equals("Mark2Anchor")) {
                 String[] pn = new String[] { null, "Mark2Record" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark2Array")) {
+            } else if (en[1].equals("Mark2Array")) {
                 String[] pn = new String[] { null, "MarkMarkPos" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark2Coverage")) {
+            } else if (en[1].equals("Mark2Coverage")) {
                 String[] pn = new String[] { null, "MarkMarkPos" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -1247,52 +1247,52 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Mark2Record")) {
+            } else if (en[1].equals("Mark2Record")) {
                 String[] pn = new String[] { null, "Mark2Array" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkAnchor")) {
+            } else if (en[1].equals("MarkAnchor")) {
                 String[] pn = new String[] { null, "MarkRecord" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     assert yCoord == Integer.MIN_VALUE;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkArray")) {
+            } else if (en[1].equals("MarkArray")) {
                 String[] pn1 = new String[] { null, "MarkBasePos" };
                 String[] pn2 = new String[] { null, "MarkLigPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (! isParent (pnx)) {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                if (! isParent(pnx)) {
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("MarkAttachClassDef")) {
+            } else if (en[1].equals("MarkAttachClassDef")) {
                 String[] pn = new String[] { null, "GDEF" };
-                if (isParent (pn)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pn)) {
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1305,26 +1305,26 @@ public class TTXFile {
                     stFormat = sf;
                     assert glyphClasses.isEmpty();
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkBasePos")) {
+            } else if (en[1].equals("MarkBasePos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1334,25 +1334,25 @@ public class TTXFile {
                     assert markAnchors.size() == 0;
                     assert baseOrMarkAnchors.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkCoverage")) {
+            } else if (en[1].equals("MarkCoverage")) {
                 String[] pn1 = new String[] { null, "MarkBasePos" };
                 String[] pn2 = new String[] { null, "MarkLigPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String format = attrs.getValue ("Format");
+                if (isParent(pnx)) {
+                    String format = attrs.getValue("Format");
                     int cf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        cf = Integer.parseInt (format);
+                        cf = Integer.parseInt(format);
                         switch (cf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, cf);
+                            unsupportedFormat(en, cf);
                             break;
                         }
                     }
@@ -1360,26 +1360,26 @@ public class TTXFile {
                     ctIndex = 0;
                     ctFormat = cf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("MarkLigPos")) {
+            } else if (en[1].equals("MarkLigPos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1389,26 +1389,26 @@ public class TTXFile {
                     assert markAnchors.size() == 0;
                     assert ligatureAnchors.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkMarkPos")) {
+            } else if (en[1].equals("MarkMarkPos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1418,38 +1418,38 @@ public class TTXFile {
                     assert markAnchors.size() == 0;
                     assert baseOrMarkAnchors.size() == 0;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("MarkRecord")) {
+            } else if (en[1].equals("MarkRecord")) {
                 String[] pn1 = new String[] { null, "MarkArray" };
                 String[] pn2 = new String[] { null, "Mark1Array" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("MultipleSubst")) {
+            } else if (en[1].equals("MultipleSubst")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1457,27 +1457,27 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("PairPos")) {
+            } else if (en[1].equals("PairPos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1485,171 +1485,171 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("PairSet")) {
+            } else if (en[1].equals("PairSet")) {
                 String[] pn = new String[] { null, "PairPos" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     int psi = -1;
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        psi = Integer.parseInt (index);
+                        psi = Integer.parseInt(index);
                     }
                     assert psIndex == -1;
                     psIndex = psi;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("PairValueRecord")) {
+            } else if (en[1].equals("PairValueRecord")) {
                 String[] pn = new String[] { null, "PairSet" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
                         assertPairClear();
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("PosLookupRecord")) {
+            } else if (en[1].equals("PosLookupRecord")) {
                 String[] pn1 = new String[] { null, "ChainContextSubst" };
                 String[] pn2 = new String[] { null, "ChainContextPos" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pnx)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("ReqFeatureIndex")) {
+            } else if (en[1].equals("ReqFeatureIndex")) {
                 String[] pn1 = new String[] { null, "DefaultLangSys" };
                 String[] pn2 = new String[] { null, "LangSys" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     String fid;
                     if ((v >= 0) && (v < 65535)) {
-                        fid = makeFeatureId (v);
+                        fid = makeFeatureId(v);
                     } else {
                         fid = null;
                     }
                     assertLanguageFeaturesClear();
-                    languageFeatures.add (fid);
+                    languageFeatures.add(fid);
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("Script")) {
+            } else if (en[1].equals("Script")) {
                 String[] pn = new String[] { null, "ScriptRecord" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ScriptList")) {
+            } else if (en[1].equals("ScriptList")) {
                 String[] pn1 = new String[] { null, "GSUB" };
                 String[] pn2 = new String[] { null, "GPOS" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (! isParent (pnx)) {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                if (! isParent(pnx)) {
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("ScriptRecord")) {
+            } else if (en[1].equals("ScriptRecord")) {
                 String[] pn = new String[] { null, "ScriptList" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ScriptTag")) {
+            } else if (en[1].equals("ScriptTag")) {
                 String[] pn = new String[] { null, "ScriptRecord" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
                         assert scriptTag == null;
                         scriptTag = value;
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("SecondGlyph")) {
+            } else if (en[1].equals("SecondGlyph")) {
                 String[] pn = new String[] { null, "PairValueRecord" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        int gid = mapGlyphId (value, en);
+                        int gid = mapGlyphId(value, en);
                         assert g2 == -1;
                         g2 = gid;
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Sequence")) {
+            } else if (en[1].equals("Sequence")) {
                 String[] pn = new String[] { null, "MultipleSubst" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        int i = Integer.parseInt (index);
+                        int i = Integer.parseInt(index);
                         if (i != subtableEntries.size()) {
-                            invalidIndex (en, i, subtableEntries.size());
+                            invalidIndex(en, i, subtableEntries.size());
                         }
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("SequenceIndex")) {
+            } else if (en[1].equals("SequenceIndex")) {
                 String[] pn1 = new String[] { null, "PosLookupRecord" };
                 String[] pn2 = new String[] { null, "SubstLookupRecord" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     assert rlSequence == -1;
                     assert v != -1;
                     rlSequence = v;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("SinglePos")) {
+            } else if (en[1].equals("SinglePos")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1657,27 +1657,27 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("SingleSubst")) {
+            } else if (en[1].equals("SingleSubst")) {
                 String[] pn = new String[] { null, "Lookup" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
-                    String format = attrs.getValue ("Format");
+                    String format = attrs.getValue("Format");
                     int sf = -1;
                     if (format == null) {
-                        missingRequiredAttribute (en, "Format");
+                        missingRequiredAttribute(en, "Format");
                     } else {
-                        sf = Integer.parseInt (format);
+                        sf = Integer.parseInt(format);
                         switch (sf) {
                         case 1:
                         case 2:
                             break;
                         default:
-                            unsupportedFormat (en, sf);
+                            unsupportedFormat(en, sf);
                             break;
                         }
                     }
@@ -1688,157 +1688,157 @@ public class TTXFile {
                     assert sf >= 0;
                     stFormat = sf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("SubstLookupRecord")) {
+            } else if (en[1].equals("SubstLookupRecord")) {
                 String[] pn = new String[] { null, "ChainContextSubst" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Substitute")) {
+            } else if (en[1].equals("Substitute")) {
                 String[] pn = new String[] { null, "Sequence" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (index == null) {
-                        missingRequiredAttribute (en, "index");
+                        missingRequiredAttribute(en, "index");
                     } else {
-                        int i = Integer.parseInt (index);
+                        int i = Integer.parseInt(index);
                         if (i != substitutes.size()) {
-                            invalidIndex (en, i, substitutes.size());
+                            invalidIndex(en, i, substitutes.size());
                         }
                     }
-                    String value = attrs.getValue ("value");
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        int gid = mapGlyphId (value, en);
-                        substitutes.add (Integer.valueOf (gid));
+                        int gid = mapGlyphId(value, en);
+                        substitutes.add(Integer.valueOf(gid));
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Substitution")) {
+            } else if (en[1].equals("Substitution")) {
                 String[] pn = new String[] { null, "SingleSubst" };
-                if (isParent (pn)) {
-                    String in = attrs.getValue ("in");
+                if (isParent(pn)) {
+                    String in = attrs.getValue("in");
                     int igid = -1;
                     int ogid = -1;
                     if (in == null) {
-                        missingRequiredAttribute (en, "in");
+                        missingRequiredAttribute(en, "in");
                     } else {
-                        igid = mapGlyphId (in, en);
+                        igid = mapGlyphId(in, en);
                     }
-                    String out = attrs.getValue ("out");
+                    String out = attrs.getValue("out");
                     if (out == null) {
-                        missingRequiredAttribute (en, "out");
+                        missingRequiredAttribute(en, "out");
                     } else {
-                        ogid = mapGlyphId (out, en);
+                        ogid = mapGlyphId(out, en);
                     }
-                    coverageEntries.add (Integer.valueOf (igid));
-                    subtableEntries.add (Integer.valueOf (ogid));
+                    coverageEntries.add(Integer.valueOf(igid));
+                    subtableEntries.add(Integer.valueOf(ogid));
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Value")) {
+            } else if (en[1].equals("Value")) {
                 String[] pn = new String[] { null, "SinglePos" };
-                if (isParent (pn)) {
-                    String index = attrs.getValue ("index");
+                if (isParent(pn)) {
+                    String index = attrs.getValue("index");
                     if (vf1 < 0) {
-                        missingParameter (en, "value format");
+                        missingParameter(en, "value format");
                     } else {
-                        subtableEntries.add (parseValue (en, attrs, vf1));
+                        subtableEntries.add(parseValue(en, attrs, vf1));
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Value1")) {
+            } else if (en[1].equals("Value1")) {
                 String[] pn = new String[] { null, "PairValueRecord" };
-                if (isParent (pn)) {
+                if (isParent(pn)) {
                     if (vf1 < 0) {
-                        missingParameter (en, "value format 1");
+                        missingParameter(en, "value format 1");
                     } else {
                         assert v1 == null;
-                        v1 = parseValue (en, attrs, vf1);
+                        v1 = parseValue(en, attrs, vf1);
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Value2")) {
+            } else if (en[1].equals("Value2")) {
                 String[] pn = new String[] { null, "PairValueRecord" };
-                if (isParent (pn)) {
+                if (isParent(pn)) {
                     if (vf2 < 0) {
-                        missingParameter (en, "value format 2");
+                        missingParameter(en, "value format 2");
                     } else {
                         assert v2 == null;
-                        v2 = parseValue (en, attrs, vf2);
+                        v2 = parseValue(en, attrs, vf2);
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ValueFormat")) {
+            } else if (en[1].equals("ValueFormat")) {
                 String[] pn = new String[] { null, "SinglePos" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int vf = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        vf = Integer.parseInt (value);
+                        vf = Integer.parseInt(value);
                     }
                     assert vf1 == -1;
                     vf1 = vf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ValueFormat1")) {
+            } else if (en[1].equals("ValueFormat1")) {
                 String[] pn = new String[] { null, "PairPos" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int vf = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        vf = Integer.parseInt (value);
+                        vf = Integer.parseInt(value);
                     }
                     assert vf1 == -1;
                     vf1 = vf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("ValueFormat2")) {
+            } else if (en[1].equals("ValueFormat2")) {
                 String[] pn = new String[] { null, "PairPos" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int vf = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        vf = Integer.parseInt (value);
+                        vf = Integer.parseInt(value);
                     }
                     assert vf2 == -1;
                     vf2 = vf;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("Version")) {
+            } else if (en[1].equals("Version")) {
                 String[] pn1 = new String[] { null, "GDEF" };
                 String[] pn2 = new String[] { null, "GPOS" };
                 String[] pn3 = new String[] { null, "GSUB" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("XCoordinate")) {
+            } else if (en[1].equals("XCoordinate")) {
                 String[] pn1 = new String[] { null, "BaseAnchor" };
                 String[] pn2 = new String[] { null, "EntryAnchor" };
                 String[] pn3 = new String[] { null, "ExitAnchor" };
@@ -1846,20 +1846,20 @@ public class TTXFile {
                 String[] pn5 = new String[] { null, "MarkAnchor" };
                 String[] pn6 = new String[] { null, "Mark2Anchor" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     int x = 0;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        x = Integer.parseInt (value);
+                        x = Integer.parseInt(value);
                     }
                     assert xCoord == Integer.MIN_VALUE;
                     xCoord = x;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("YCoordinate")) {
+            } else if (en[1].equals("YCoordinate")) {
                 String[] pn1 = new String[] { null, "BaseAnchor" };
                 String[] pn2 = new String[] { null, "EntryAnchor" };
                 String[] pn3 = new String[] { null, "ExitAnchor" };
@@ -1867,75 +1867,75 @@ public class TTXFile {
                 String[] pn5 = new String[] { null, "MarkAnchor" };
                 String[] pn6 = new String[] { null, "Mark2Anchor" };
                 String[][] pnx = new String[][] { pn1, pn2, pn3, pn4, pn5, pn6 };
-                if (isParent (pnx)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pnx)) {
+                    String value = attrs.getValue("value");
                     int y = 0;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        y = Integer.parseInt (value);
+                        y = Integer.parseInt(value);
                     }
                     assert yCoord == Integer.MIN_VALUE;
                     yCoord = y;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("checkSumAdjustment")) {
+            } else if (en[1].equals("checkSumAdjustment")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("cmap")) {
+            } else if (en[1].equals("cmap")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("cmap_format_0")) {
+            } else if (en[1].equals("cmap_format_0")) {
                 String[] pn = new String[] { null, "cmap" };
-                if (isParent (pn)) {
-                    String platformID = attrs.getValue ("platformID");
+                if (isParent(pn)) {
+                    String platformID = attrs.getValue("platformID");
                     if (platformID == null) {
-                        missingRequiredAttribute (en, "platformID");
+                        missingRequiredAttribute(en, "platformID");
                     }
-                    String platEncID = attrs.getValue ("platEncID");
+                    String platEncID = attrs.getValue("platEncID");
                     if (platEncID == null) {
-                        missingRequiredAttribute (en, "platEncID");
+                        missingRequiredAttribute(en, "platEncID");
                     }
-                    String language = attrs.getValue ("language");
+                    String language = attrs.getValue("language");
                     if (language == null) {
-                        missingRequiredAttribute (en, "language");
+                        missingRequiredAttribute(en, "language");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("cmap_format_4")) {
+            } else if (en[1].equals("cmap_format_4")) {
                 String[] pn = new String[] { null, "cmap" };
-                if (isParent (pn)) {
-                    String platformID = attrs.getValue ("platformID");
+                if (isParent(pn)) {
+                    String platformID = attrs.getValue("platformID");
                     int pid = -1;
                     if (platformID == null) {
-                        missingRequiredAttribute (en, "platformID");
+                        missingRequiredAttribute(en, "platformID");
                     } else {
-                        pid = Integer.parseInt (platformID);
+                        pid = Integer.parseInt(platformID);
                     }
-                    String platEncID = attrs.getValue ("platEncID");
+                    String platEncID = attrs.getValue("platEncID");
                     int eid = -1;
                     if (platEncID == null) {
-                        missingRequiredAttribute (en, "platEncID");
+                        missingRequiredAttribute(en, "platEncID");
                     } else {
-                        eid = Integer.parseInt (platEncID);
+                        eid = Integer.parseInt(platEncID);
                     }
-                    String language = attrs.getValue ("language");
+                    String language = attrs.getValue("language");
                     int lid = -1;
                     if (language == null) {
-                        missingRequiredAttribute (en, "language");
+                        missingRequiredAttribute(en, "language");
                     } else {
-                        lid = Integer.parseInt (language);
+                        lid = Integer.parseInt(language);
                     }
                     assert cmapEntries.size() == 0;
                     assert cmPlatform == -1;
@@ -1945,617 +1945,617 @@ public class TTXFile {
                     cmEncoding = eid;
                     cmLanguage = lid;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("created")) {
+            } else if (en[1].equals("created")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("flags")) {
+            } else if (en[1].equals("flags")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("fontDirectionHint")) {
+            } else if (en[1].equals("fontDirectionHint")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("fontRevision")) {
+            } else if (en[1].equals("fontRevision")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("glyphDataFormat")) {
+            } else if (en[1].equals("glyphDataFormat")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("head")) {
+            } else if (en[1].equals("head")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("hmtx")) {
+            } else if (en[1].equals("hmtx")) {
                 String[] pn = new String[] { null, "ttFont" };
-                if (! isParent (pn)) {
-                    notPermittedInElementContext (en, getParent(), pn);
+                if (! isParent(pn)) {
+                    notPermittedInElementContext(en, getParent(), pn);
                 } else if (glyphIdMax > 0) {
-                    hmtxEntries.setSize (glyphIdMax + 1);
+                    hmtxEntries.setSize(glyphIdMax + 1);
                 }
-            } else if (en[1].equals ("indexToLocFormat")) {
+            } else if (en[1].equals("indexToLocFormat")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("lowestRecPPEM")) {
+            } else if (en[1].equals("lowestRecPPEM")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("macStyle")) {
+            } else if (en[1].equals("macStyle")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("magicNumber")) {
+            } else if (en[1].equals("magicNumber")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("map")) {
+            } else if (en[1].equals("map")) {
                 String[] pn1 = new String[] { null, "cmap_format_0" };
                 String[] pn2 = new String[] { null, "cmap_format_4" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pnx)) {
-                    String code = attrs.getValue ("code");
+                if (isParent(pnx)) {
+                    String code = attrs.getValue("code");
                     int cid = -1;
                     if (code == null) {
-                        missingRequiredAttribute (en, "code");
+                        missingRequiredAttribute(en, "code");
                     } else {
                         code = code.toLowerCase();
-                        if (code.startsWith ("0x")) {
-                            cid = Integer.parseInt (code.substring (2), 16);
+                        if (code.startsWith("0x")) {
+                            cid = Integer.parseInt(code.substring(2), 16);
                         } else {
-                            cid = Integer.parseInt (code, 10);
+                            cid = Integer.parseInt(code, 10);
                         }
                     }
-                    String name = attrs.getValue ("name");
+                    String name = attrs.getValue("name");
                     int gid = -1;
                     if (name == null) {
-                        missingRequiredAttribute (en, "name");
+                        missingRequiredAttribute(en, "name");
                     } else {
-                        gid = mapGlyphId (name, en);
+                        gid = mapGlyphId(name, en);
                     }
                     if ((cmPlatform == 3) && (cmEncoding == 1)) {
-                        cmapEntries.add (new int[] { cid, gid });
+                        cmapEntries.add(new int[] { cid, gid });
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("modified")) {
+            } else if (en[1].equals("modified")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("mtx")) {
+            } else if (en[1].equals("mtx")) {
                 String[] pn = new String[] { null, "hmtx" };
-                if (isParent (pn)) {
-                    String name = attrs.getValue ("name");
+                if (isParent(pn)) {
+                    String name = attrs.getValue("name");
                     int gid = -1;
                     if (name == null) {
-                        missingRequiredAttribute (en, "name");
+                        missingRequiredAttribute(en, "name");
                     } else {
-                        gid = mapGlyphId (name, en);
+                        gid = mapGlyphId(name, en);
                     }
-                    String width = attrs.getValue ("width");
+                    String width = attrs.getValue("width");
                     int w = -1;
                     if (width == null) {
-                        missingRequiredAttribute (en, "width");
+                        missingRequiredAttribute(en, "width");
                     } else {
-                        w = Integer.parseInt (width);
+                        w = Integer.parseInt(width);
                     }
-                    String lsb = attrs.getValue ("lsb");
+                    String lsb = attrs.getValue("lsb");
                     int l = -1;
                     if (lsb == null) {
-                        missingRequiredAttribute (en, "lsb");
+                        missingRequiredAttribute(en, "lsb");
                     } else {
-                        l = Integer.parseInt (lsb);
+                        l = Integer.parseInt(lsb);
                     }
-                    hmtxEntries.set (gid, new int[] { w, l });
+                    hmtxEntries.set(gid, new int[] { w, l });
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("tableVersion")) {
+            } else if (en[1].equals("tableVersion")) {
                 String[] pn1 = new String[] { null, "cmap" };
                 String[] pn2 = new String[] { null, "head" };
                 String[][] pnx = new String[][] { pn1, pn2 };
-                if (isParent (pn1)) {               // child of cmap
-                    String version = attrs.getValue ("version");
+                if (isParent(pn1)) {               // child of cmap
+                    String version = attrs.getValue("version");
                     if (version == null) {
-                        missingRequiredAttribute (en, "version");
+                        missingRequiredAttribute(en, "version");
                     }
-                } else if (isParent (pn2)) {        // child of head
-                    String value = attrs.getValue ("value");
+                } else if (isParent(pn2)) {        // child of head
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pnx);
+                    notPermittedInElementContext(en, getParent(), pnx);
                 }
-            } else if (en[1].equals ("ttFont")) {
+            } else if (en[1].equals("ttFont")) {
                 String[] pn = new String[] { null, null };
-                if (isParent (pn)) {
-                    String sfntVersion = attrs.getValue ("sfntVersion");
+                if (isParent(pn)) {
+                    String sfntVersion = attrs.getValue("sfntVersion");
                     if (sfntVersion == null) {
-                        missingRequiredAttribute (en, "sfntVersion");
+                        missingRequiredAttribute(en, "sfntVersion");
                     }
-                    String ttLibVersion = attrs.getValue ("ttLibVersion");
+                    String ttLibVersion = attrs.getValue("ttLibVersion");
                     if (ttLibVersion == null) {
-                        missingRequiredAttribute (en, "ttLibVersion");
+                        missingRequiredAttribute(en, "ttLibVersion");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), null);
+                    notPermittedInElementContext(en, getParent(), null);
                 }
-            } else if (en[1].equals ("unitsPerEm")) {
+            } else if (en[1].equals("unitsPerEm")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     int v = -1;
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     } else {
-                        v = Integer.parseInt (value);
+                        v = Integer.parseInt(value);
                     }
                     assert upem == -1;
                     upem = v;
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("xMax")) {
+            } else if (en[1].equals("xMax")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("xMin")) {
+            } else if (en[1].equals("xMin")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("yMax")) {
+            } else if (en[1].equals("yMax")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
-            } else if (en[1].equals ("yMin")) {
+            } else if (en[1].equals("yMin")) {
                 String[] pn = new String[] { null, "head" };
-                if (isParent (pn)) {
-                    String value = attrs.getValue ("value");
+                if (isParent(pn)) {
+                    String value = attrs.getValue("value");
                     if (value == null) {
-                        missingRequiredAttribute (en, "value");
+                        missingRequiredAttribute(en, "value");
                     }
                 } else {
-                    notPermittedInElementContext (en, getParent(), pn);
+                    notPermittedInElementContext(en, getParent(), pn);
                 }
             } else {
-                unsupportedElement (en);
+                unsupportedElement(en);
             }
-            elements.push (en);
+            elements.push(en);
         }
         @Override
-        public void endElement (String uri, String localName, String qName) throws SAXException {
+        public void endElement(String uri, String localName, String qName) throws SAXException {
             if (elements.empty()) {
-                throw new SAXException ("element stack is unbalanced, no elements on stack!");
+                throw new SAXException("element stack is unbalanced, no elements on stack!");
             }
             String[] enParent = elements.peek();
             if (enParent == null) {
-                throw new SAXException ("element stack is empty, elements are not balanced");
+                throw new SAXException("element stack is empty, elements are not balanced");
             }
-            String[] en = makeExpandedName (uri, localName, qName);
-            if (! sameExpandedName (enParent, en)) {
-                throw new SAXException ("element stack is unbalanced, expanded name mismatch");
+            String[] en = makeExpandedName(uri, localName, qName);
+            if (! sameExpandedName(enParent, en)) {
+                throw new SAXException("element stack is unbalanced, expanded name mismatch");
             }
             if (en[0] != null) {
-                unsupportedElement (en);
-            } else if (isAnchorElement (en[1])) {
+                unsupportedElement(en);
+            } else if (isAnchorElement(en[1])) {
                 if (xCoord == Integer.MIN_VALUE) {
-                    missingParameter (en, "x coordinate");
+                    missingParameter(en, "x coordinate");
                 } else if (yCoord == Integer.MIN_VALUE) {
-                    missingParameter (en, "y coordinate");
+                    missingParameter(en, "y coordinate");
                 } else {
-                    if (en[1].equals ("EntryAnchor")) {
+                    if (en[1].equals("EntryAnchor")) {
                         if (anchors.size() > 0) {
-                            duplicateParameter (en, "entry anchor");
+                            duplicateParameter(en, "entry anchor");
                         }
-                    } else if (en[1].equals ("ExitAnchor")) {
+                    } else if (en[1].equals("ExitAnchor")) {
                         if (anchors.size() > 1) {
-                            duplicateParameter (en, "exit anchor");
+                            duplicateParameter(en, "exit anchor");
                         } else if (anchors.size() == 0) {
-                            anchors.add (null);
+                            anchors.add(null);
                         }
                     }
-                    anchors.add (new GlyphPositioningTable.Anchor (xCoord, yCoord));
+                    anchors.add(new GlyphPositioningTable.Anchor(xCoord, yCoord));
                     xCoord = yCoord = Integer.MIN_VALUE;
                 }
-            } else if (en[1].equals ("AlternateSet")) {
-                subtableEntries.add (extractAlternates());
-            } else if (en[1].equals ("AlternateSubst")) {
-                if (! sortEntries (coverageEntries, subtableEntries)) {
-                    mismatchedEntries (en, coverageEntries.size(), subtableEntries.size());
-                }
-                addGSUBSubtable (GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_ALTERNATE, extractCoverage());
-            } else if (en[1].equals ("BacktrackCoverage")) {
-                String ck = makeCoverageKey ("bk", ctIndex);
-                if (coverages.containsKey (ck)) {
-                    duplicateCoverageIndex (en, ctIndex);
-                } else {
-                    coverages.put (ck, extractCoverage());
-                }
-            } else if (en[1].equals ("BaseCoverage")) {
-                coverages.put ("base", extractCoverage());
-            } else if (en[1].equals ("BaseRecord")) {
-                baseOrMarkAnchors.add (extractAnchors());
-            } else if (en[1].equals ("ChainContextPos") || en[1].equals ("ChainContextSubst")) {
+            } else if (en[1].equals("AlternateSet")) {
+                subtableEntries.add(extractAlternates());
+            } else if (en[1].equals("AlternateSubst")) {
+                if (! sortEntries(coverageEntries, subtableEntries)) {
+                    mismatchedEntries(en, coverageEntries.size(), subtableEntries.size());
+                }
+                addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_ALTERNATE, extractCoverage());
+            } else if (en[1].equals("BacktrackCoverage")) {
+                String ck = makeCoverageKey("bk", ctIndex);
+                if (coverages.containsKey(ck)) {
+                    duplicateCoverageIndex(en, ctIndex);
+                } else {
+                    coverages.put(ck, extractCoverage());
+                }
+            } else if (en[1].equals("BaseCoverage")) {
+                coverages.put("base", extractCoverage());
+            } else if (en[1].equals("BaseRecord")) {
+                baseOrMarkAnchors.add(extractAnchors());
+            } else if (en[1].equals("ChainContextPos") || en[1].equals("ChainContextSubst")) {
                 GlyphCoverageTable coverage = null;
                 if (stFormat == 3) {
-                    GlyphCoverageTable igca[] = getCoveragesWithPrefix ("in");
-                    GlyphCoverageTable bgca[] = getCoveragesWithPrefix ("bk");
-                    GlyphCoverageTable lgca[] = getCoveragesWithPrefix ("la");
-                    if ((igca.length == 0) || hasMissingCoverage (igca)) {
-                        missingCoverage (en, "input", igca.length);
-                    } else if (hasMissingCoverage (bgca)) {
-                        missingCoverage (en, "backtrack", bgca.length);
-                    } else if (hasMissingCoverage (lgca)) {
-                        missingCoverage (en, "lookahead", lgca.length);
-                    } else {
-                        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule (extractRuleLookups(), igca.length, igca, bgca, lgca);
-                        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet (new GlyphTable.Rule[] {r});
+                    GlyphCoverageTable igca[] = getCoveragesWithPrefix("in");
+                    GlyphCoverageTable bgca[] = getCoveragesWithPrefix("bk");
+                    GlyphCoverageTable lgca[] = getCoveragesWithPrefix("la");
+                    if ((igca.length == 0) || hasMissingCoverage(igca)) {
+                        missingCoverage(en, "input", igca.length);
+                    } else if (hasMissingCoverage(bgca)) {
+                        missingCoverage(en, "backtrack", bgca.length);
+                    } else if (hasMissingCoverage(lgca)) {
+                        missingCoverage(en, "lookahead", lgca.length);
+                    } else {
+                        GlyphTable.Rule r = new GlyphTable.ChainedCoverageSequenceRule(extractRuleLookups(), igca.length, igca, bgca, lgca);
+                        GlyphTable.RuleSet rs = new GlyphTable.HomogeneousRuleSet(new GlyphTable.Rule[] {r});
                         GlyphTable.RuleSet[] rsa = new GlyphTable.RuleSet[] {rs};
                         coverage = igca [ 0 ];
-                        subtableEntries.add (rsa);
+                        subtableEntries.add(rsa);
                     }
                 } else {
-                    unsupportedFormat (en, stFormat);
+                    unsupportedFormat(en, stFormat);
                 }
-                if (en[1].equals ("ChainContextPos")) {
-                    addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage);
-                } else if (en[1].equals ("ChainContextSubst")) {
-                    addGSUBSubtable (GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage);
+                if (en[1].equals("ChainContextPos")) {
+                    addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage);
+                } else if (en[1].equals("ChainContextSubst")) {
+                    addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL, coverage);
                 }
-            } else if (en[1].equals ("ComponentRecord")) {
-                components.add (extractAnchors());
-            } else if (en[1].equals ("Coverage")) {
-                coverages.put ("main", extractCoverage());
-            } else if (en[1].equals ("DefaultLangSys") || en[1].equals ("LangSysRecord")) {
+            } else if (en[1].equals("ComponentRecord")) {
+                components.add(extractAnchors());
+            } else if (en[1].equals("Coverage")) {
+                coverages.put("main", extractCoverage());
+            } else if (en[1].equals("DefaultLangSys") || en[1].equals("LangSysRecord")) {
                 if (languageTag == null) {
-                    missingTag (en, "language");
-                } else if (languages.containsKey (languageTag)) {
-                    duplicateTag (en, "language", languageTag);
+                    missingTag(en, "language");
+                } else if (languages.containsKey(languageTag)) {
+                    duplicateTag(en, "language", languageTag);
                 } else {
-                    languages.put (languageTag, extractLanguageFeatures());
+                    languages.put(languageTag, extractLanguageFeatures());
                     languageTag = null;
                 }
-            } else if (en[1].equals ("CursivePos")) {
-                GlyphCoverageTable ct = coverages.get ("main");
+            } else if (en[1].equals("CursivePos")) {
+                GlyphCoverageTable ct = coverages.get("main");
                 if (ct == null) {
-                    missingParameter (en, "coverages");
+                    missingParameter(en, "coverages");
                 } else if (stFormat == 1) {
-                    subtableEntries.add (extractAttachmentAnchors());
+                    subtableEntries.add(extractAttachmentAnchors());
                 } else {
-                    unsupportedFormat (en, stFormat);
+                    unsupportedFormat(en, stFormat);
                 }
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_CURSIVE, ct);
-            } else if (en[1].equals ("EntryExitRecord")) {
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_CURSIVE, ct);
+            } else if (en[1].equals("EntryExitRecord")) {
                 int na = anchors.size();
                 if (na == 0) {
-                    missingParameter (en, "entry or exit anchor");
+                    missingParameter(en, "entry or exit anchor");
                 } else if (na == 1) {
-                    anchors.add (null);
+                    anchors.add(null);
                 } else if (na > 2) {
-                    duplicateParameter (en, "entry or exit anchor");
+                    duplicateParameter(en, "entry or exit anchor");
                 }
-                attachmentAnchors.add (extractAnchors());
-            } else if (en[1].equals ("BaseRecord")) {
-                baseOrMarkAnchors.add (extractAnchors());
-            } else if (en[1].equals ("FeatureRecord")) {
+                attachmentAnchors.add(extractAnchors());
+            } else if (en[1].equals("BaseRecord")) {
+                baseOrMarkAnchors.add(extractAnchors());
+            } else if (en[1].equals("FeatureRecord")) {
                 if (flIndex != flSequence) {
-                    mismatchedIndex (en, "feature", flIndex, flSequence);
+                    mismatchedIndex(en, "feature", flIndex, flSequence);
                 } else if (featureTag == null) {
-                    missingTag (en, "feature");
+                    missingTag(en, "feature");
                 } else {
-                    String fid = makeFeatureId (flIndex);
-                    features.put (fid, extractFeature());
+                    String fid = makeFeatureId(flIndex);
+                    features.put(fid, extractFeature());
                     nextFeature();
                 }
-            } else if (en[1].equals ("GDEF")) {
+            } else if (en[1].equals("GDEF")) {
                 if (subtables.size() > 0) {
-                    gdef = new GlyphDefinitionTable (subtables);
+                    gdef = new GlyphDefinitionTable(subtables);
                 }
                 clearTable();
-            } else if (en[1].equals ("GPOS")) {
+            } else if (en[1].equals("GPOS")) {
                 if (subtables.size() > 0) {
-                    gpos = new GlyphPositioningTable (gdef, extractLookups(), subtables);
+                    gpos = new GlyphPositioningTable(gdef, extractLookups(), subtables);
                 }
                 clearTable();
-            } else if (en[1].equals ("GSUB")) {
+            } else if (en[1].equals("GSUB")) {
                 if (subtables.size() > 0) {
-                    gsub = new GlyphSubstitutionTable (gdef, extractLookups(), subtables);
+                    gsub = new GlyphSubstitutionTable(gdef, extractLookups(), subtables);
                 }
                 clearTable();
-            } else if (en[1].equals ("GlyphClassDef")) {
-                GlyphMappingTable mapping = extractClassDefMapping (glyphClasses, stFormat, true);
-                addGDEFSubtable (GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS, mapping);
-            } else if (en[1].equals ("InputCoverage")) {
-                String ck = makeCoverageKey ("in", ctIndex);
-                if (coverages.containsKey (ck)) {
-                    duplicateCoverageIndex (en, ctIndex);
-                } else {
-                    coverages.put (ck, extractCoverage());
-                }
-            } else if (en[1].equals ("LigatureAttach")) {
-                ligatureAnchors.add (extractComponents());
-            } else if (en[1].equals ("LigatureCoverage")) {
-                coverages.put ("liga", extractCoverage());
-            } else if (en[1].equals ("LigatureSet")) {
-                subtableEntries.add (extractLigatures());
-            } else if (en[1].equals ("LigatureSubst")) {
-                if (! sortEntries (coverageEntries, subtableEntries)) {
-                    mismatchedEntries (en, coverageEntries.size(), subtableEntries.size());
+            } else if (en[1].equals("GlyphClassDef")) {
+                GlyphMappingTable mapping = extractClassDefMapping(glyphClasses, stFormat, true);
+                addGDEFSubtable(GlyphDefinitionTable.GDEF_LOOKUP_TYPE_GLYPH_CLASS, mapping);
+            } else if (en[1].equals("InputCoverage")) {
+                String ck = makeCoverageKey("in", ctIndex);
+                if (coverages.containsKey(ck)) {
+                    duplicateCoverageIndex(en, ctIndex);
+                } else {
+                    coverages.put(ck, extractCoverage());
+                }
+            } else if (en[1].equals("LigatureAttach")) {
+                ligatureAnchors.add(extractComponents());
+            } else if (en[1].equals("LigatureCoverage")) {
+                coverages.put("liga", extractCoverage());
+            } else if (en[1].equals("LigatureSet")) {
+                subtableEntries.add(extractLigatures());
+            } else if (en[1].equals("LigatureSubst")) {
+                if (! sortEntries(coverageEntries, subtableEntries)) {
+                    mismatchedEntries(en, coverageEntries.size(), subtableEntries.size());
                 }
                 GlyphCoverageTable coverage = extractCoverage();
-                addGSUBSubtable (GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_LIGATURE, coverage);
-            } else if (en[1].equals ("LookAheadCoverage")) {
-                String ck = makeCoverageKey ("la", ctIndex);
-                if (coverages.containsKey (ck)) {
-                    duplicateCoverageIndex (en, ctIndex);
+                addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_LIGATURE, coverage);
+            } else if (en[1].equals("LookAheadCoverage")) {
+                String ck = makeCoverageKey("la", ctIndex);
+                if (coverages.containsKey(ck)) {
+                    duplicateCoverageIndex(en, ctIndex);
                 } else {
-                    coverages.put (ck, extractCoverage());
+                    coverages.put(ck, extractCoverage());
                 }
-            } else if (en[1].equals ("Lookup")) {
+            } else if (en[1].equals("Lookup")) {
                 if (ltIndex != ltSequence) {
-                    mismatchedIndex (en, "lookup", ltIndex, ltSequence);
+                    mismatchedIndex(en, "lookup", ltIndex, ltSequence);
                 } else {
                     nextLookup();
                 }
-            } else if (en[1].equals ("MarkAttachClassDef")) {
-                GlyphMappingTable mapping = extractClassDefMapping (glyphClasses, stFormat, true);
-                addGDEFSubtable (GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT, mapping);
-            } else if (en[1].equals ("MarkCoverage")) {
-                coverages.put ("mark", extractCoverage());
-            } else if (en[1].equals ("Mark1Coverage")) {
-                coverages.put ("mrk1", extractCoverage());
-            } else if (en[1].equals ("Mark2Coverage")) {
-                coverages.put ("mrk2", extractCoverage());
-            } else if (en[1].equals ("MarkBasePos")) {
-                GlyphCoverageTable mct = coverages.get ("mark");
-                GlyphCoverageTable bct = coverages.get ("base");
+            } else if (en[1].equals("MarkAttachClassDef")) {
+                GlyphMappingTable mapping = extractClassDefMapping(glyphClasses, stFormat, true);
+                addGDEFSubtable(GlyphDefinitionTable.GDEF_LOOKUP_TYPE_MARK_ATTACHMENT, mapping);
+            } else if (en[1].equals("MarkCoverage")) {
+                coverages.put("mark", extractCoverage());
+            } else if (en[1].equals("Mark1Coverage")) {
+                coverages.put("mrk1", extractCoverage());
+            } else if (en[1].equals("Mark2Coverage")) {
+                coverages.put("mrk2", extractCoverage());
+            } else if (en[1].equals("MarkBasePos")) {
+                GlyphCoverageTable mct = coverages.get("mark");
+                GlyphCoverageTable bct = coverages.get("base");
                 if (mct == null) {
-                    missingParameter (en, "mark coverages");
+                    missingParameter(en, "mark coverages");
                 } else if (bct == null) {
-                    missingParameter (en, "base coverages");
+                    missingParameter(en, "base coverages");
                 } else if (stFormat == 1) {
                     MarkAnchor[] maa = extractMarkAnchors();
                     Anchor[][] bam = extractBaseOrMarkAnchors();
-                    subtableEntries.add (bct);
-                    subtableEntries.add (computeClassCount (bam));
-                    subtableEntries.add (maa);
-                    subtableEntries.add (bam);
+                    subtableEntries.add(bct);
+                    subtableEntries.add(computeClassCount(bam));
+                    subtableEntries.add(maa);
+                    subtableEntries.add(bam);
                 } else {
-                    unsupportedFormat (en, stFormat);
+                    unsupportedFormat(en, stFormat);
                 }
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_BASE, mct);
-            } else if (en[1].equals ("MarkLigPos")) {
-                GlyphCoverageTable mct = coverages.get ("mark");
-                GlyphCoverageTable lct = coverages.get ("liga");
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_BASE, mct);
+            } else if (en[1].equals("MarkLigPos")) {
+                GlyphCoverageTable mct = coverages.get("mark");
+                GlyphCoverageTable lct = coverages.get("liga");
                 if (mct == null) {
-                    missingParameter (en, "mark coverages");
+                    missingParameter(en, "mark coverages");
                 } else if (lct == null) {
-                    missingParameter (en, "ligature coverages");
+                    missingParameter(en, "ligature coverages");
                 } else if (stFormat == 1) {
                     MarkAnchor[] maa = extractMarkAnchors();
                     Anchor[][][] lam = extractLigatureAnchors();
-                    subtableEntries.add (lct);
-                    subtableEntries.add (computeLigaturesClassCount (lam));
-                    subtableEntries.add (computeLigaturesComponentCount (lam));
-                    subtableEntries.add (maa);
-                    subtableEntries.add (lam);
-                } else {
-                    unsupportedFormat (en, stFormat);
-                }
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE, mct);
-            } else if (en[1].equals ("MarkMarkPos")) {
-                GlyphCoverageTable mct1 = coverages.get ("mrk1");
-                GlyphCoverageTable mct2 = coverages.get ("mrk2");
+                    subtableEntries.add(lct);
+                    subtableEntries.add(computeLigaturesClassCount(lam));
+                    subtableEntries.add(computeLigaturesComponentCount(lam));
+                    subtableEntries.add(maa);
+                    subtableEntries.add(lam);
+                } else {
+                    unsupportedFormat(en, stFormat);
+                }
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_LIGATURE, mct);
+            } else if (en[1].equals("MarkMarkPos")) {
+                GlyphCoverageTable mct1 = coverages.get("mrk1");
+                GlyphCoverageTable mct2 = coverages.get("mrk2");
                 if (mct1 == null) {
-                    missingParameter (en, "mark coverages 1");
+                    missingParameter(en, "mark coverages 1");
                 } else if (mct2 == null) {
-                    missingParameter (en, "mark coverages 2");
+                    missingParameter(en, "mark coverages 2");
                 } else if (stFormat == 1) {
                     MarkAnchor[] maa = extractMarkAnchors();
                     Anchor[][] mam = extractBaseOrMarkAnchors();
-                    subtableEntries.add (mct2);
-                    subtableEntries.add (computeClassCount (mam));
-                    subtableEntries.add (maa);
-                    subtableEntries.add (mam);
+                    subtableEntries.add(mct2);
+                    subtableEntries.add(computeClassCount(mam));
+                    subtableEntries.add(maa);
+                    subtableEntries.add(mam);
                 } else {
-                    unsupportedFormat (en, stFormat);
+                    unsupportedFormat(en, stFormat);
                 }
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_MARK, mct1);
-            } else if (en[1].equals ("MarkRecord")) {
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_MARK_TO_MARK, mct1);
+            } else if (en[1].equals("MarkRecord")) {
                 if (markClass == -1) {
-                    missingParameter (en, "mark class");
+                    missingParameter(en, "mark class");
                 } else if (anchors.size() == 0) {
-                    missingParameter (en, "mark anchor");
+                    missingParameter(en, "mark anchor");
                 } else if (anchors.size() > 1) {
-                    duplicateParameter (en, "mark anchor");
+                    duplicateParameter(en, "mark anchor");
                 } else {
-                    markAnchors.add (new GlyphPositioningTable.MarkAnchor (markClass, anchors.get(0)));
+                    markAnchors.add(new GlyphPositioningTable.MarkAnchor(markClass, anchors.get(0)));
                     markClass = -1;
                     anchors.clear();
                 }
-            } else if (en[1].equals ("Mark2Record")) {
-                baseOrMarkAnchors.add (extractAnchors());
-            } else if (en[1].equals ("MultipleSubst")) {
-                GlyphCoverageTable coverage = coverages.get ("main");
-                addGSUBSubtable (GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_MULTIPLE, coverage, extractSequenceEntries());
-            } else if (en[1].equals ("PairPos")) {
+            } else if (en[1].equals("Mark2Record")) {
+                baseOrMarkAnchors.add(extractAnchors());
+            } else if (en[1].equals("MultipleSubst")) {
+                GlyphCoverageTable coverage = coverages.get("main");
+                addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_MULTIPLE, coverage, extractSequenceEntries());
+            } else if (en[1].equals("PairPos")) {
                 assertSubtableEntriesClear();
                 if (stFormat == 1) {
                     if (pairSets.size() == 0) {
-                        missingParameter (en, "pair set");
+                        missingParameter(en, "pair set");
                     } else {
-                        subtableEntries.add (extractPairSets());
+                        subtableEntries.add(extractPairSets());
                     }
                 } else if (stFormat == 2) {
-                    unsupportedFormat (en, stFormat);
+                    unsupportedFormat(en, stFormat);
                 }
-                GlyphCoverageTable coverage = coverages.get ("main");
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_PAIR, coverage);
+                GlyphCoverageTable coverage = coverages.get("main");
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_PAIR, coverage);
                 vf1 = vf2 = -1; psIndex = -1;
-            } else if (en[1].equals ("PairSet")) {
+            } else if (en[1].equals("PairSet")) {
                 if (psIndex != pairSets.size()) {
-                    invalidIndex (en, psIndex, pairSets.size());
+                    invalidIndex(en, psIndex, pairSets.size());
                 } else {
-                    pairSets.add (extractPairs());
+                    pairSets.add(extractPairs());
                 }
-            } else if (en[1].equals ("PairValueRecord")) {
+            } else if (en[1].equals("PairValueRecord")) {
                 if (g2 == -1) {
-                    missingParameter (en, "second glyph");
+                    missingParameter(en, "second glyph");
                 } else if ((v1 == null) && (v2 == null)) {
-                    missingParameter (en, "first or second value");
+                    missingParameter(en, "first or second value");
                 } else {
-                    pairs.add (new PairValues (g2, v1, v2));
+                    pairs.add(new PairValues(g2, v1, v2));
                     clearPair();
                 }
-            } else if (en[1].equals ("PosLookupRecord") || en[1].equals ("SubstLookupRecord")) {
+            } else if (en[1].equals("PosLookupRecord") || en[1].equals("SubstLookupRecord")) {
                 if (rlSequence < 0) {
-                    missingParameter (en, "sequence index");
+                    missingParameter(en, "sequence index");
                 } else if (rlLookup < 0) {
-                    missingParameter (en, "lookup index");
+                    missingParameter(en, "lookup index");
                 } else {
-                    ruleLookups.add (new GlyphTable.RuleLookup (rlSequence, rlLookup));
+                    ruleLookups.add(new GlyphTable.RuleLookup(rlSequence, rlLookup));
                     rlSequence = rlLookup = -1;
                 }
-            } else if (en[1].equals ("Script")) {
+            } else if (en[1].equals("Script")) {
                 if (scriptTag == null) {
-                    missingTag (en, "script");
-                } else if (scripts.containsKey (scriptTag)) {
-                    duplicateTag (en, "script", scriptTag);
+                    missingTag(en, "script");
+                } else if (scripts.containsKey(scriptTag)) {
+                    duplicateTag(en, "script", scriptTag);
                 } else {
-                    scripts.put (scriptTag, extractLanguages());
+                    scripts.put(scriptTag, extractLanguages());
                     scriptTag = null;
                 }
-            } else if (en[1].equals ("Sequence")) {
-                subtableEntries.add (extractSubstitutes());
-            } else if (en[1].equals ("SinglePos")) {
+            } else if (en[1].equals("Sequence")) {
+                subtableEntries.add(extractSubstitutes());
+            } else if (en[1].equals("SinglePos")) {
                 int nv = subtableEntries.size();
                 if (stFormat == 1) {
                     if (nv < 0) {
-                        missingParameter (en, "value");
+                        missingParameter(en, "value");
                     } else if (nv > 1) {
-                        duplicateParameter (en, "value");
+                        duplicateParameter(en, "value");
                     }
                 } else if (stFormat == 2) {
-                    GlyphPositioningTable.Value[] pva = (GlyphPositioningTable.Value[]) subtableEntries.toArray (new GlyphPositioningTable.Value [ nv ]);
+                    GlyphPositioningTable.Value[] pva = (GlyphPositioningTable.Value[]) subtableEntries.toArray(new GlyphPositioningTable.Value [ nv ]);
                     subtableEntries.clear();
-                    subtableEntries.add (pva);
+                    subtableEntries.add(pva);
                 }
-                GlyphCoverageTable coverage = coverages.get ("main");
-                addGPOSSubtable (GlyphPositioningTable.GPOS_LOOKUP_TYPE_SINGLE, coverage);
+                GlyphCoverageTable coverage = coverages.get("main");
+                addGPOSSubtable(GlyphPositioningTable.GPOS_LOOKUP_TYPE_SINGLE, coverage);
                 vf1 = -1;
-            } else if (en[1].equals ("SingleSubst")) {
-                if (! sortEntries (coverageEntries, subtableEntries)) {
-                    mismatchedEntries (en, coverageEntries.size(), subtableEntries.size());
+            } else if (en[1].equals("SingleSubst")) {
+                if (! sortEntries(coverageEntries, subtableEntries)) {
+                    mismatchedEntries(en, coverageEntries.size(), subtableEntries.size());
                 }
                 GlyphCoverageTable coverage = extractCoverage();
-                addGSUBSubtable (GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_SINGLE, coverage);
-            } else if (en[1].equals ("cmap")) {
+                addGSUBSubtable(GlyphSubstitutionTable.GSUB_LOOKUP_TYPE_SINGLE, coverage);
+            } else if (en[1].equals("cmap")) {
                 cmap = getCMAP();
                 gmap = getGMAP();
                 cmapEntries.clear();
-            } else if (en[1].equals ("cmap_format_4")) {
+            } else if (en[1].equals("cmap_format_4")) {
                 cmPlatform = cmEncoding = cmLanguage = -1;
-            } else if (en[1].equals ("hmtx")) {
+            } else if (en[1].equals("hmtx")) {
                 hmtx = getHMTX();
                 hmtxEntries.clear();
-            } else if (en[1].equals ("ttFont")) {
+            } else if (en[1].equals("ttFont")) {
                 if (cmap == null) {
-                    missingParameter (en, "cmap");
+                    missingParameter(en, "cmap");
                 }
                 if (hmtx == null) {
-                    missingParameter (en, "hmtx");
+                    missingParameter(en, "hmtx");
                 }
             }
             elements.pop();
         }
         @Override
-        public void characters (char[] chars, int start, int length) {
+        public void characters(char[] chars, int start, int length) {
         }
         private String[] getParent() {
             if (! elements.empty()) {
@@ -2564,10 +2564,10 @@ public class TTXFile {
                 return new String[] { null, null };
             }
         }
-        private boolean isParent (Object enx) {
+        private boolean isParent(Object enx) {
             if (enx instanceof String[][]) {
                 for (String[] en : (String[][]) enx) {
-                    if (isParent (en)) {
+                    if (isParent(en)) {
                         return true;
                     }
                 }
@@ -2576,7 +2576,7 @@ public class TTXFile {
                 String[] en = (String[]) enx;
                 if (! elements.empty()) {
                     String[] pn = elements.peek();
-                    return (pn != null) && sameExpandedName (en, pn);
+                    return (pn != null) && sameExpandedName(en, pn);
                 } else if ((en[0] == null) && (en[1] == null)) {
                     return true;
                 } else {
@@ -2586,18 +2586,18 @@ public class TTXFile {
                 return false;
             }
         }
-        private boolean isAnchorElement (String ln) {
-            if (ln.equals ("BaseAnchor")) {
+        private boolean isAnchorElement(String ln) {
+            if (ln.equals("BaseAnchor")) {
                 return true;
-            } else if (ln.equals ("EntryAnchor")) {
+            } else if (ln.equals("EntryAnchor")) {
                 return true;
-            } else if (ln.equals ("ExitAnchor")) {
+            } else if (ln.equals("ExitAnchor")) {
                 return true;
-            } else if (ln.equals ("LigatureAnchor")) {
+            } else if (ln.equals("LigatureAnchor")) {
                 return true;
-            } else if (ln.equals ("MarkAnchor")) {
+            } else if (ln.equals("MarkAnchor")) {
                 return true;
-            } else if (ln.equals ("Mark2Anchor")) {
+            } else if (ln.equals("Mark2Anchor")) {
                 return true;
             } else {
                 return false;
@@ -2606,18 +2606,18 @@ public class TTXFile {
         private Map<Integer,Integer> getCMAP() {
             Map<Integer,Integer> cmap = new TreeMap();
             for (int[] cme : cmapEntries) {
-                Integer c = Integer.valueOf (cme[0]);
-                Integer g = Integer.valueOf (cme[1]);
-                cmap.put (c, g);
+                Integer c = Integer.valueOf(cme[0]);
+                Integer g = Integer.valueOf(cme[1]);
+                cmap.put(c, g);
             }
             return cmap;
         }
         private Map<Integer,Integer> getGMAP() {
             Map<Integer,Integer> gmap = new TreeMap();
             for (int[] cme : cmapEntries) {
-                Integer c = Integer.valueOf (cme[0]);
-                Integer g = Integer.valueOf (cme[1]);
-                gmap.put (g, c);
+                Integer c = Integer.valueOf(cme[0]);
+                Integer g = Integer.valueOf(cme[1]);
+                gmap.put(g, c);
             }
             return gmap;
         }
@@ -2633,18 +2633,18 @@ public class TTXFile {
             }
             return hmtx;
         }
-        private GlyphClassTable extractClassDefMapping (Map<String,Integer> glyphClasses, int format, boolean clearSourceMap) {
+        private GlyphClassTable extractClassDefMapping(Map<String,Integer> glyphClasses, int format, boolean clearSourceMap) {
             GlyphClassTable ct;
             if (format == 1) {
-                ct = extractClassDefMapping1 (extractClassMappings (glyphClasses, clearSourceMap));
+                ct = extractClassDefMapping1(extractClassMappings(glyphClasses, clearSourceMap));
             } else if (format == 2) {
-                ct = extractClassDefMapping2 (extractClassMappings (glyphClasses, clearSourceMap));
+                ct = extractClassDefMapping2(extractClassMappings(glyphClasses, clearSourceMap));
             } else {
                 ct = null;
             }
             return ct;
         }
-        private GlyphClassTable extractClassDefMapping1 (int[][] cma) {
+        private GlyphClassTable extractClassDefMapping1(int[][] cma) {
             List entries = new ArrayList<Integer>();
             int s = -1;
             int l = -1;
@@ -2655,19 +2655,19 @@ public class TTXFile {
                 if (s < 0) {
                     s = g;
                     l = g - 1;
-                    entries.add (Integer.valueOf (s));
+                    entries.add(Integer.valueOf(s));
                 }
                 while (g > (l + 1)) {
-                    entries.add (zero);
+                    entries.add(zero);
                     l++;
                 }
                 assert l == (g - 1);
-                entries.add (Integer.valueOf (c));
+                entries.add(Integer.valueOf(c));
                 l = g;
             }
-            return GlyphClassTable.createClassTable (entries);
+            return GlyphClassTable.createClassTable(entries);
         }
-        private GlyphClassTable extractClassDefMapping2 (int[][] cma) {
+        private GlyphClassTable extractClassDefMapping2(int[][] cma) {
             List entries = new ArrayList<Integer>();
             int s = -1;
             int e =  s;
@@ -2677,7 +2677,7 @@ public class TTXFile {
                 int c = m[1];
                 if (c != l) {
                     if (s >= 0) {
-                        entries.add (new GlyphClassTable.MappingRange (s, e, l));
+                        entries.add(new GlyphClassTable.MappingRange(s, e, l));
                     }
                     s = e = g;
                 } else {
@@ -2685,14 +2685,14 @@ public class TTXFile {
                 }
                 l = c;
             }
-            return GlyphClassTable.createClassTable (entries);
+            return GlyphClassTable.createClassTable(entries);
         }
-        private int[][] extractClassMappings (Map<String,Integer> glyphClasses, boolean clearSourceMap) {
+        private int[][] extractClassMappings(Map<String,Integer> glyphClasses, boolean clearSourceMap) {
             int nc = glyphClasses.size();
             int i = 0;
             int[][] cma = new int [ nc ] [ 2 ];
             for (Map.Entry<String,Integer> e : glyphClasses.entrySet()) {
-                Integer gid = glyphIds.get (e.getKey());
+                Integer gid = glyphIds.get(e.getKey());
                 assert gid != null;
                 int[] m = cma [ i ];
                 m [ 0 ] = (int) gid;
@@ -2702,11 +2702,11 @@ public class TTXFile {
             if (clearSourceMap) {
                 glyphClasses.clear();
             }
-            return sortClassMappings (cma);
+            return sortClassMappings(cma);
         }
-        private int[][] sortClassMappings (int[][] cma) {
-            Arrays.sort (cma, new Comparator<int[]>() {
-                    public int compare (int[] m1, int[] m2) {
+        private int[][] sortClassMappings(int[][] cma) {
+            Arrays.sort(cma, new Comparator<int[]>() {
+                    public int compare(int[] m1, int[] m2) {
                         assert m1.length > 0;
                         assert m2.length > 0;
                         if (m1[0] < m2[0]) {
@@ -2722,18 +2722,18 @@ public class TTXFile {
             return cma;
         }
         // sort coverage entries and subtable entries together
-        private boolean sortEntries (List cel, List sel) {
+        private boolean sortEntries(List cel, List sel) {
             assert cel != null;
             assert sel != null;
             if (cel.size() == sel.size()) {
                 int np = cel.size();
                 Object[][] pa = new Object [ np ] [ 2 ];
                 for (int i = 0; i < np; i++) {
-                    pa [ i ] [ 0 ] = cel.get (i);
-                    pa [ i ] [ 1 ] = sel.get (i);
+                    pa [ i ] [ 0 ] = cel.get(i);
+                    pa [ i ] [ 1 ] = sel.get(i);
                 }
-                Arrays.sort (pa, new Comparator<Object[]>() {
-                        public int compare (Object[] p1, Object[] p2) {
+                Arrays.sort(pa, new Comparator<Object[]>() {
+                        public int compare(Object[] p1, Object[] p2) {
                             assert p1.length == 2;
                             assert p2.length == 2;
                             int c1 = (Integer) p1[0];
@@ -2751,8 +2751,8 @@ public class TTXFile {
                 cel.clear();
                 sel.clear();
                 for (int i = 0; i < np; i++) {
-                    cel.add (pa [ i ] [ 0 ]);
-                    sel.add (pa [ i ] [ 1 ]);
+                    cel.add(pa [ i ] [ 0 ]);
+                    sel.add(pa [ i ] [ 1 ]);
                 }
                 assert cel.size() == sel.size();
                 return true;
@@ -2760,14 +2760,14 @@ public class TTXFile {
                 return false;
             }
         }
-        private String makeCoverageKey (String prefix, int index) {
+        private String makeCoverageKey(String prefix, int index) {
             assert prefix != null;
             assert prefix.length() == 2;
             assert index < 100;
-            return prefix + CharUtilities.padLeft (Integer.toString (index, 10), 2, '0');
+            return prefix + CharUtilities.padLeft(Integer.toString(index, 10), 2, '0');
         }
         private List extractCoverageEntries() {
-            List entries = new ArrayList<Integer> (coverageEntries);
+            List entries = new ArrayList<Integer>(coverageEntries);
             clearCoverage();
             return entries;
         }
@@ -2782,7 +2782,7 @@ public class TTXFile {
         private GlyphCoverageTable extractCoverage() {
             assert (ctFormat == 1) || (ctFormat == 2);
             assert ctIndex >= 0;
-            GlyphCoverageTable coverage = GlyphCoverageTable.createCoverageTable (extractCoverageEntries());
+            GlyphCoverageTable coverage = GlyphCoverageTable.createCoverageTable(extractCoverageEntries());
             clearCoverage();
             return coverage;
         }
@@ -2802,14 +2802,14 @@ public class TTXFile {
         private void assertCoveragesClear() {
             assert coverages.size() == 0;
         }
-        private GlyphCoverageTable[] getCoveragesWithPrefix (String prefix) {
+        private GlyphCoverageTable[] getCoveragesWithPrefix(String prefix) {
             assert prefix != null;
             int prefixLength = prefix.length();
             Set<String> keys = coverages.keySet();
             int mi = -1; // maximum coverage table index
             for (String k : keys) {
-                if (k.startsWith (prefix)) {
-                    int i = Integer.parseInt (k.substring (prefixLength));
+                if (k.startsWith(prefix)) {
+                    int i = Integer.parseInt(k.substring(prefixLength));
                     if (i > mi) {
                         mi = i;
                     }
@@ -2817,16 +2817,16 @@ public class TTXFile {
             }
             GlyphCoverageTable[] gca = new GlyphCoverageTable [ mi + 1 ];
             for (String k : keys) {
-                if (k.startsWith (prefix)) {
-                    int i = Integer.parseInt (k.substring (prefixLength));
+                if (k.startsWith(prefix)) {
+                    int i = Integer.parseInt(k.substring(prefixLength));
                     if (i >= 0) {
-                        gca [ i ] = coverages.get (k);
+                        gca [ i ] = coverages.get(k);
                     }
                 }
             }
             return gca;
         }
-        private boolean hasMissingCoverage (GlyphCoverageTable[] gca) {
+        private boolean hasMissingCoverage(GlyphCoverageTable[] gca) {
             assert gca != null;
             int nc = 0;
             for (int i = 0, n = gca.length; i < n; i++) {
@@ -2836,11 +2836,11 @@ public class TTXFile {
             }
             return nc != gca.length;
         }
-        private String makeFeatureId (int fid) {
+        private String makeFeatureId(int fid) {
             assert fid >= 0;
             return "f" + fid;
         }
-        private String makeLookupId (int lid) {
+        private String makeLookupId(int lid) {
             assert lid >= 0;
             return "lu" + lid;
         }
@@ -2859,7 +2859,7 @@ public class TTXFile {
             languageFeatures.clear();
         }
         private Map<String,List<String>> extractLanguages() {
-            Map<String,List<String>> lm = new HashMap (languages);
+            Map<String,List<String>> lm = new HashMap(languages);
             clearLanguages();
             return lm;
         }
@@ -2870,7 +2870,7 @@ public class TTXFile {
             assert featureLookups.size() == 0;
         }
         private List extractFeatureLookups() {
-            List lookups = new ArrayList<String> (featureLookups);
+            List lookups = new ArrayList<String>(featureLookups);
             clearFeatureLookups();
             return lookups;
         }
@@ -2928,21 +2928,21 @@ public class TTXFile {
         private Map<GlyphTable.LookupSpec,List<String>> extractLookups() {
             Map<GlyphTable.LookupSpec,List<String>> lookups = new LinkedHashMap<GlyphTable.LookupSpec,List<String>>();
             for (String st : scripts.keySet()) {
-                Map<String,List<String>> lm = scripts.get (st);
+                Map<String,List<String>> lm = scripts.get(st);
                 if (lm != null) {
                     for (String lt : lm.keySet()) {
-                        List<String> fids = lm.get (lt);
+                        List<String> fids = lm.get(lt);
                         if (fids != null) {
                             for (String fid : fids) {
                                 if (fid != null) {
-                                    Object[] fa = features.get (fid);
+                                    Object[] fa = features.get(fid);
                                     if (fa != null) {
                                         assert fa.length == 2;
                                         String ft = (String) fa[0];
                                         List<String> lids = (List<String>) fa[1];
                                         if ((lids != null) && (lids.size() > 0)) {
-                                            GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec (st, lt, ft);
-                                            lookups.put (ls, lids);
+                                            GlyphTable.LookupSpec ls = new GlyphTable.LookupSpec(st, lt, ft);
+                                            lookups.put(ls, lids);
                                         }
                                     }
                                 }
@@ -2984,7 +2984,7 @@ public class TTXFile {
             assert subtableEntries.size() == 0;
         }
         private List extractSubtableEntries() {
-            List entries = new ArrayList (subtableEntries);
+            List entries = new ArrayList(subtableEntries);
             clearSubtableEntries();
             return entries;
         }
@@ -3001,7 +3001,7 @@ public class TTXFile {
             alternates.clear();
         }
         private LigatureSet extractLigatures() {
-            LigatureSet ls = new LigatureSet (ligatures);
+            LigatureSet ls = new LigatureSet(ligatures);
             clearLigatures();
             return ls;
         }
@@ -3030,47 +3030,47 @@ public class TTXFile {
                 }
             }
             List entries = new ArrayList();
-            entries.add (sa);
+            entries.add(sa);
             return entries;
         }
         private RuleLookup[] extractRuleLookups() {
-            RuleLookup[] lookups = (RuleLookup[]) ruleLookups.toArray (new RuleLookup [ ruleLookups.size() ]);
+            RuleLookup[] lookups = (RuleLookup[]) ruleLookups.toArray(new RuleLookup [ ruleLookups.size() ]);
             clearRuleLookups();
             return lookups;
         }
         private void clearRuleLookups() {
             ruleLookups.clear();
         }
-        private GlyphPositioningTable.Value parseValue (String[] en, Attributes attrs, int format) throws SAXException {
-            String xPlacement = attrs.getValue ("XPlacement");
+        private GlyphPositioningTable.Value parseValue(String[] en, Attributes attrs, int format) throws SAXException {
+            String xPlacement = attrs.getValue("XPlacement");
             int xp = 0;
             if (xPlacement != null) {
-                xp = Integer.parseInt (xPlacement);
+                xp = Integer.parseInt(xPlacement);
             } else if ((format & GlyphPositioningTable.Value.X_PLACEMENT) != 0) {
-                missingParameter (en, "xPlacement");
+                missingParameter(en, "xPlacement");
             }
-            String yPlacement = attrs.getValue ("YPlacement");
+            String yPlacement = attrs.getValue("YPlacement");
             int yp = 0;
             if (yPlacement != null) {
-                yp = Integer.parseInt (yPlacement);
+                yp = Integer.parseInt(yPlacement);
             } else if ((format & GlyphPositioningTable.Value.Y_PLACEMENT) != 0) {
-                missingParameter (en, "yPlacement");
+                missingParameter(en, "yPlacement");
             }
-            String xAdvance = attrs.getValue ("XAdvance");
+            String xAdvance = attrs.getValue("XAdvance");
             int xa = 0;
             if (xAdvance != null) {
-                xa = Integer.parseInt (xAdvance);
+                xa = Integer.parseInt(xAdvance);
             } else if ((format & GlyphPositioningTable.Value.X_ADVANCE) != 0) {
-                missingParameter (en, "xAdvance");
+                missingParameter(en, "xAdvance");
             }
-            String yAdvance = attrs.getValue ("YAdvance");
+            String yAdvance = attrs.getValue("YAdvance");
             int ya = 0;;
             if (yAdvance != null) {
-                ya = Integer.parseInt (yAdvance);
+                ya = Integer.parseInt(yAdvance);
             } else if ((format & GlyphPositioningTable.Value.Y_ADVANCE) != 0) {
-                missingParameter (en, "yAdvance");
+                missingParameter(en, "yAdvance");
             }
-            return new GlyphPositioningTable.Value (xp, yp, xa, ya, null, null, null, null);
+            return new GlyphPositioningTable.Value(xp, yp, xa, ya, null, null, null, null);
         }
         private void assertPairClear() {
             assert g2 == -1;
@@ -3090,7 +3090,7 @@ public class TTXFile {
             psIndex = -1;
         }
         private PairValues[] extractPairs() {
-            PairValues[] pva = (PairValues[]) pairs.toArray (new PairValues [ pairs.size() ]);
+            PairValues[] pva = (PairValues[]) pairs.toArray(new PairValues [ pairs.size() ]);
             clearPairs();
             return pva;
         }
@@ -3101,18 +3101,18 @@ public class TTXFile {
             pairSets.clear();
         }
         private PairValues[][] extractPairSets() {
-            PairValues[][] pvm = (PairValues[][]) pairSets.toArray (new PairValues [ pairSets.size() ][]);
+            PairValues[][] pvm = (PairValues[][]) pairSets.toArray(new PairValues [ pairSets.size() ][]);
             clearPairSets();
             return pvm;
         }
         private Anchor[] extractAnchors() {
-            Anchor[] aa = (Anchor[]) anchors.toArray (new Anchor [ anchors.size() ]);
+            Anchor[] aa = (Anchor[]) anchors.toArray(new Anchor [ anchors.size() ]);
             anchors.clear();
             return aa;
         }
         private MarkAnchor[] extractMarkAnchors() {
             MarkAnchor[] maa = new MarkAnchor [ markAnchors.size() ];
-            maa = (MarkAnchor[]) markAnchors.toArray (new MarkAnchor [ maa.length ]);
+            maa = (MarkAnchor[]) markAnchors.toArray(new MarkAnchor [ maa.length ]);
             markAnchors.clear();
             return maa;
         }
@@ -3141,7 +3141,7 @@ public class TTXFile {
             baseOrMarkAnchors.clear();
             return am;
         }
-        private Integer computeClassCount (Anchor[][] am) {
+        private Integer computeClassCount(Anchor[][] am) {
             int ncMax = 0;
             for (int i = 0, n = am.length; i < n; i++) {
                 Anchor[] aa = am [ i ];
@@ -3152,11 +3152,11 @@ public class TTXFile {
                     }
                 }
             }
-            return Integer.valueOf (ncMax);
+            return Integer.valueOf(ncMax);
         }
         private Anchor[][] extractComponents() {
             Anchor[][] cam = new Anchor [ components.size() ][];
-            cam = (Anchor[][]) components.toArray (new Anchor [ cam.length ][]);
+            cam = (Anchor[][]) components.toArray(new Anchor [ cam.length ][]);
             components.clear();
             return cam;
         }
@@ -3202,7 +3202,7 @@ public class TTXFile {
             ligatureAnchors.clear();
             return lam;
         }
-        private Integer computeLigaturesClassCount (Anchor[][][] lam) {
+        private Integer computeLigaturesClassCount(Anchor[][][] lam) {
             int ncMax = 0;
             if (lam != null) {
                 for (Anchor[][] cm : lam) {
@@ -3218,9 +3218,9 @@ public class TTXFile {
                     }
                 }
             }
-            return Integer.valueOf (ncMax);
+            return Integer.valueOf(ncMax);
         }
-        private Integer computeLigaturesComponentCount (Anchor[][][] lam) {
+        private Integer computeLigaturesComponentCount(Anchor[][][] lam) {
             int nxMax = 0;
             if (lam != null) {
                 for (Anchor[][] cm : lam) {
@@ -3232,7 +3232,7 @@ public class TTXFile {
                     }
                 }
             }
-            return Integer.valueOf (nxMax);
+            return Integer.valueOf(nxMax);
         }
         private Anchor[] extractAttachmentAnchors() {
             int na = attachmentAnchors.size();
@@ -3250,58 +3250,58 @@ public class TTXFile {
             attachmentAnchors.clear();
             return aa;
         }
-        private void addGDEFSubtable (int stType, GlyphMappingTable mapping) {
-            subtables.add (GlyphDefinitionTable.createSubtable (stType, makeLookupId (ltSequence), stSequence, ltFlags, stFormat, mapping, extractSubtableEntries()));
+        private void addGDEFSubtable(int stType, GlyphMappingTable mapping) {
+            subtables.add(GlyphDefinitionTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, mapping, extractSubtableEntries()));
             nextSubtableInLookup();
         }
-        private void addGSUBSubtable (int stType, GlyphCoverageTable coverage, List entries) {
-            subtables.add (GlyphSubstitutionTable.createSubtable (stType, makeLookupId (ltSequence), stSequence, ltFlags, stFormat, coverage, entries));
+        private void addGSUBSubtable(int stType, GlyphCoverageTable coverage, List entries) {
+            subtables.add(GlyphSubstitutionTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, coverage, entries));
             nextSubtableInLookup();
         }
-        private void addGSUBSubtable (int stType, GlyphCoverageTable coverage) {
-            addGSUBSubtable (stType, coverage, extractSubtableEntries());
+        private void addGSUBSubtable(int stType, GlyphCoverageTable coverage) {
+            addGSUBSubtable(stType, coverage, extractSubtableEntries());
         }
-        private void addGPOSSubtable (int stType, GlyphCoverageTable coverage, List entries) {
-            subtables.add (GlyphPositioningTable.createSubtable (stType, makeLookupId (ltSequence), stSequence, ltFlags, stFormat, coverage, entries));
+        private void addGPOSSubtable(int stType, GlyphCoverageTable coverage, List entries) {
+            subtables.add(GlyphPositioningTable.createSubtable(stType, makeLookupId(ltSequence), stSequence, ltFlags, stFormat, coverage, entries));
             nextSubtableInLookup();
         }
-        private void addGPOSSubtable (int stType, GlyphCoverageTable coverage) {
-            addGPOSSubtable (stType, coverage, extractSubtableEntries());
+        private void addGPOSSubtable(int stType, GlyphCoverageTable coverage) {
+            addGPOSSubtable(stType, coverage, extractSubtableEntries());
         }
     }
-    private int mapGlyphId0 (String glyph) {
+    private int mapGlyphId0(String glyph) {
         assert glyphIds != null;
-        Integer gid = glyphIds.get (glyph);
+        Integer gid = glyphIds.get(glyph);
         if (gid != null) {
             return (int) gid;
         } else {
             return -1;
         }
     }
-    private int mapGlyphId (String glyph, String[] currentElement) throws SAXException {
-        int g = mapGlyphId0 (glyph);
+    private int mapGlyphId(String glyph, String[] currentElement) throws SAXException {
+        int g = mapGlyphId0(glyph);
         if (g < 0) {
-            unsupportedGlyph (currentElement, glyph);
+            unsupportedGlyph(currentElement, glyph);
             return -1;
         } else {
             return g;
         }
     }
-    private int[] mapGlyphIds (String glyphs, String[] currentElement) throws SAXException {
+    private int[] mapGlyphIds(String glyphs, String[] currentElement) throws SAXException {
         String[] ga = glyphs.split(",");
         int[] gids = new int [ ga.length ];
         int i = 0;
         for (String glyph : ga) {
-            gids[i++] = mapGlyphId (glyph, currentElement);
+            gids[i++] = mapGlyphId(glyph, currentElement);
         }
         return gids;
     }
-    private int mapGlyphIdToChar (String glyph) {
+    private int mapGlyphIdToChar(String glyph) {
         assert glyphIds != null;
-        Integer gid = glyphIds.get (glyph);
+        Integer gid = glyphIds.get(glyph);
         if (gid != null) {
             if (gmap != null) {
-                Integer cid = gmap.get (gid);
+                Integer cid = gmap.get(gid);
                 if (cid != null) {
                     return cid.intValue();
                 }
@@ -3316,10 +3316,10 @@ public class TTXFile {
             return "{" + locator.getSystemId() + ":" + locator.getLineNumber() + ":" + locator.getColumnNumber() + "}";
         }
     }
-    private void unsupportedElement (String[] en) throws SAXException {
-        throw new SAXException (formatLocator() + ": unsupported element " + formatExpandedName (en));
+    private void unsupportedElement(String[] en) throws SAXException {
+        throw new SAXException(formatLocator() + ": unsupported element " + formatExpandedName(en));
     }
-    private void notPermittedInElementContext (String[] en, String[] cn, Object xns) throws SAXException {
+    private void notPermittedInElementContext(String[] en, String[] cn, Object xns) throws SAXException {
         assert en != null;
         assert cn != null;
         String s = "element " + formatExpandedName(en) + " not permitted in current element context " + formatExpandedName(cn);
@@ -3332,63 +3332,63 @@ public class TTXFile {
                 if (nxn++ > 0) {
                     s += ", ";
                 }
-                s += formatExpandedName (xn);
+                s += formatExpandedName(xn);
             }
             s += " }";
         } else if (xns instanceof String[]) {
-            s += ", expected " + formatExpandedName ((String[]) xns);
+            s += ", expected " + formatExpandedName((String[]) xns);
         }
-        throw new SAXException (formatLocator() + ": " + s);
+        throw new SAXException(formatLocator() + ": " + s);
     }
-    private void missingRequiredAttribute (String[] en, String name) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " missing required attribute " + name);
+    private void missingRequiredAttribute(String[] en, String name) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing required attribute " + name);
     }
-    private void duplicateGlyph (String[] en, String name, int gid) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate name \"" + name + "\", with identifier value " + gid);
+    private void duplicateGlyph(String[] en, String name, int gid) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate name \"" + name + "\", with identifier value " + gid);
     }
-    private void unsupportedGlyph (String[] en, String name) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported glyph id \"" + name + "\"");
+    private void unsupportedGlyph(String[] en, String name) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported glyph id \"" + name + "\"");
     }
-    private void duplicateCMAPCharacter (String[] en, int cid) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap character code: " + CharUtilities.format (cid));
+    private void duplicateCMAPCharacter(String[] en, int cid) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap character code: " + CharUtilities.format(cid));
     }
-    private void duplicateCMAPGlyph (String[] en, int gid) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap glyph code: " + gid);
+    private void duplicateCMAPGlyph(String[] en, int gid) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate cmap glyph code: " + gid);
     }
-    private void duplicateGlyphClass (String[] en, String name, String glyphClass) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate glyph class for \"" + name + "\", with class value " + glyphClass);
+    private void duplicateGlyphClass(String[] en, String name, String glyphClass) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " contains duplicate glyph class for \"" + name + "\", with class value " + glyphClass);
     }
-    private void unsupportedFormat (String[] en, int format) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported table format \"" + format + "\"");
+    private void unsupportedFormat(String[] en, int format) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " refers to unsupported table format \"" + format + "\"");
     }
-    private void invalidIndex (String[] en, int actual, int expected) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " specifies invalid index " + actual + ", expected " + expected);
+    private void invalidIndex(String[] en, int actual, int expected) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " specifies invalid index " + actual + ", expected " + expected);
     }
-    private void mismatchedIndex (String[] en, String label, int actual, int expected) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " mismatched " + label + " index: got " + actual + ", expected " + expected);
+    private void mismatchedIndex(String[] en, String label, int actual, int expected) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " mismatched " + label + " index: got " + actual + ", expected " + expected);
     }
-    private void mismatchedEntries (String[] en, int nce, int nse) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " mismatched coverage and subtable entry counts, # coverages " + nce + ", # entries " + nse);
+    private void mismatchedEntries(String[] en, int nce, int nse) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " mismatched coverage and subtable entry counts, # coverages " + nce + ", # entries " + nse);
     }
-    private void missingParameter (String[] en, String label) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " parameter");
+    private void missingParameter(String[] en, String label) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " parameter");
     }
-    private void duplicateParameter (String[] en, String label) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " parameter");
+    private void duplicateParameter(String[] en, String label) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " parameter");
     }
-    private void duplicateCoverageIndex (String[] en, int index) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " duplicate coverage table index " + index);
+    private void duplicateCoverageIndex(String[] en, int index) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate coverage table index " + index);
     }
-    private void missingCoverage (String[] en, String type, int expected) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " missing " + type + " coverage table, expected " + ((expected > 0) ? expected : 1) + " table(s)");
+    private void missingCoverage(String[] en, String type, int expected) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + type + " coverage table, expected " + ((expected > 0) ? expected : 1) + " table(s)");
     }
-    private void missingTag (String[] en, String label) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " tag");
+    private void missingTag(String[] en, String label) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " missing " + label + " tag");
     }
-    private void duplicateTag (String[] en, String label, String tag) throws SAXException {
-        throw new SAXException (formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " tag: " + tag);
+    private void duplicateTag(String[] en, String label, String tag) throws SAXException {
+        throw new SAXException(formatLocator() + ": element " + formatExpandedName(en) + " duplicate " + label + " tag: " + tag);
     }
-    private static String[] makeExpandedName (String uri, String localName, String qName) {
+    private static String[] makeExpandedName(String uri, String localName, String qName) {
         if ((uri != null) && (uri.length() == 0)) {
             uri = null;
         }
@@ -3396,12 +3396,12 @@ public class TTXFile {
             localName = null;
         }
         if ((uri == null) && (localName == null)) {
-            uri = extractPrefix (qName);
-            localName = extractLocalName (qName);
+            uri = extractPrefix(qName);
+            localName = extractLocalName(qName);
         }
         return new String[] { uri, localName };
     }
-    private static String extractPrefix (String qName) {
+    private static String extractPrefix(String qName) {
         String[] sa = qName.split(":");
         if (sa.length == 2) {
             return sa[0];
@@ -3409,7 +3409,7 @@ public class TTXFile {
             return null;
         }
     }
-    private static String extractLocalName (String qName) {
+    private static String extractLocalName(String qName) {
         String[] sa = qName.split(":");
         if (sa.length == 2) {
             return sa[1];
@@ -3419,14 +3419,14 @@ public class TTXFile {
             return null;
         }
     }
-    private static boolean sameExpandedName (String[] n1, String[] n2) {
+    private static boolean sameExpandedName(String[] n1, String[] n2) {
         String u1 = n1[0];
         String u2 = n2[0];
         if ((u1 == null) ^ (u2 == null)) {
             return false;
         }
         if ((u1 != null) && (u2 != null)) {
-            if (! u1.equals (u2)) {
+            if (! u1.equals(u2)) {
                 return false;
             }
         }
@@ -3436,13 +3436,13 @@ public class TTXFile {
             return false;
         }
         if ((l1 != null) && (l2 != null)) {
-            if (! l1.equals (l2)) {
+            if (! l1.equals(l2)) {
                 return false;
             }
         }
         return true;
     }
-    private static String formatExpandedName (String[] n) {
+    private static String formatExpandedName(String[] n) {
         String u = (n[0] != null) ? n[0] : "null";
         String l = (n[1] != null) ? n[1] : "null";
         return "{" + u + "}" + l;
index 9aeff626a28129375a351b4b82e95cd7692fbe1e..f4b7d34e815320151eb8051641ec54963380a470 100644 (file)
@@ -41,10 +41,10 @@ public class TTXFileTestCase {
     public void testTTXFiles() throws Exception {
         for (String tfn : ttxFiles) {
             try {
-                TTXFile tf = TTXFile.getFromCache (ttxFilesRoot + File.separator + tfn);
-                assertTrue (tf != null);
+                TTXFile tf = TTXFile.getFromCache(ttxFilesRoot + File.separator + tfn);
+                assertTrue(tf != null);
             } catch (Exception e) {
-                fail (e.getMessage());
+                fail(e.getMessage());
             }
         }
     }
index 82abe9de86007e3933816e56556b9c49cb156f95..d34e88a03cfa531d26d6d3a58b7b1bbf93ae90c1 100644 (file)
@@ -54,58 +54,58 @@ public class ArabicTestCase implements ArabicTestConstants {
     public void testArabicWordForms() {
         for (String sfn : srcFiles) {
             try {
-                processWordForms (new File (datFilesDir));
+                processWordForms(new File(datFilesDir));
             } catch (Exception e) {
-                fail (e.getMessage());
+                fail(e.getMessage());
             }
         }
     }
 
-    private void processWordForms (File dfd) {
-        String[] files = listWordFormFiles (dfd);
+    private void processWordForms(File dfd) {
+        String[] files = listWordFormFiles(dfd);
         for (String fn : files) {
-            File dff = new File (dfd, fn);
-            processWordForms (dff.getAbsolutePath());
+            File dff = new File(dfd, fn);
+            processWordForms(dff.getAbsolutePath());
         }
     }
 
-    private String[] listWordFormFiles (File dfd) {
-        return dfd.list (new FilenameFilter() {
-                public boolean accept (File f, String name) {
-                    return hasPrefixFrom (name, srcFiles) && hasExtension (name, WF_FILE_DAT_EXT);
+    private String[] listWordFormFiles(File dfd) {
+        return dfd.list(new FilenameFilter() {
+                public boolean accept(File f, String name) {
+                    return hasPrefixFrom(name, srcFiles) && hasExtension(name, WF_FILE_DAT_EXT);
                 }
-                private boolean hasPrefixFrom (String name, String[] prefixes) {
+                private boolean hasPrefixFrom(String name, String[] prefixes) {
                     for (String p : prefixes) {
-                        if (name.startsWith (p)) {
+                        if (name.startsWith(p)) {
                             return true;
                         }
                     }
                     return false;
                 }
-                private boolean hasExtension (String name, String extension) {
-                    return name.endsWith ("." + extension);
+                private boolean hasExtension(String name, String extension) {
+                    return name.endsWith("." + extension);
                 }
             });
     }
 
-    private void processWordForms (String dpn) {
+    private void processWordForms(String dpn) {
         FileInputStream fis = null;
         try {
-            fis = new FileInputStream (dpn);
+            fis = new FileInputStream(dpn);
             if (fis != null) {
-                ObjectInputStream ois = new ObjectInputStream (fis);
+                ObjectInputStream ois = new ObjectInputStream(fis);
                 List<Object[]> data = (List<Object[]>) ois.readObject();
                 if (data != null) {
-                    processWordForms (data);
+                    processWordForms(data);
                 }
                 ois.close();
             }
         } catch (FileNotFoundException e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } catch (IOException e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } catch (Exception e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } finally {
             if (fis != null) {
                 try { fis.close(); } catch (Exception e) {}
@@ -113,7 +113,7 @@ public class ArabicTestCase implements ArabicTestConstants {
         }
     }
 
-    private void processWordForms (List<Object[]> data) {
+    private void processWordForms(List<Object[]> data) {
         assert data != null;
         assert data.size() > 0;
         String script = null;
@@ -129,14 +129,14 @@ public class ArabicTestCase implements ArabicTestConstants {
                 script = (String) d[0];
                 language = (String) d[1];
                 tfn = (String) d[3];
-                tf = TTXFile.getFromCache (ttxFontsDir + File.separator + tfn);
-                assertTrue (tf != null);
+                tf = TTXFile.getFromCache(ttxFontsDir + File.separator + tfn);
+                assertTrue(tf != null);
                 gsub = tf.getGSUB();
-                assertTrue (gsub != null);
+                assertTrue(gsub != null);
                 gpos = tf.getGPOS();
-                assertTrue (gpos != null);
+                assertTrue(gpos != null);
                 widths = tf.getWidths();
-                assertTrue (widths != null);
+                assertTrue(widths != null);
             } else {
                 assert tf != null;
                 assert gsub != null;
@@ -147,48 +147,48 @@ public class ArabicTestCase implements ArabicTestConstants {
                 int[] iga = (int[]) d[1];
                 int[] oga = (int[]) d[2];
                 int[][] paa = (int[][]) d[3];
-                GlyphSequence tigs = tf.mapCharsToGlyphs (wf);
-                assertSameGlyphs (iga, getGlyphs (tigs), "input glyphs", wf, tfn);
-                GlyphSequence togs = gsub.substitute (tigs, script, language);
-                assertSameGlyphs (oga, getGlyphs (togs), "output glyphs", wf, tfn);
+                GlyphSequence tigs = tf.mapCharsToGlyphs(wf);
+                assertSameGlyphs(iga, getGlyphs(tigs), "input glyphs", wf, tfn);
+                GlyphSequence togs = gsub.substitute(tigs, script, language);
+                assertSameGlyphs(oga, getGlyphs(togs), "output glyphs", wf, tfn);
                 int[][] tpaa = new int [ togs.getGlyphCount() ] [ 4 ];
-                if (gpos.position (togs, script, language, 1000, widths, tpaa)) {
-                    assertSameAdjustments (paa, tpaa, wf, tfn);
+                if (gpos.position(togs, script, language, 1000, widths, tpaa)) {
+                    assertSameAdjustments(paa, tpaa, wf, tfn);
                 } else if (paa != null) {
-                    assertEquals ("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", paa.length, 0);
+                    assertEquals("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", paa.length, 0);
                 }
             }
         }
     }
 
-    private void assertSameGlyphs (int[] expected, int[] actual, String label, String wf, String tfn) {
-        assertEquals (label + ": unequal glyph count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length);
+    private void assertSameGlyphs(int[] expected, int[] actual, String label, String wf, String tfn) {
+        assertEquals(label + ": unequal glyph count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length);
         for (int i = 0, n = expected.length; i < n; i++) {
             int e = expected[i];
             int a = actual[i];
-            assertEquals (label + ": unequal glyphs[" + i + "], word form(" + wf + "), font (" + tfn + ")", e, a);
+            assertEquals(label + ": unequal glyphs[" + i + "], word form(" + wf + "), font (" + tfn + ")", e, a);
         }
     }
 
-    private void assertSameAdjustments (int[][] expected, int[][] actual, String wf, String tfn) {
-        assertEquals ("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length);
+    private void assertSameAdjustments(int[][] expected, int[][] actual, String wf, String tfn) {
+        assertEquals("unequal adjustment count, word form(" + wf + "), font (" + tfn + ")", expected.length, actual.length);
         for (int i = 0, n = expected.length; i < n; i++) {
             int[] ea = expected[i];
             int[] aa = actual[i];
-            assertEquals ("bad adjustments length, word form(" + wf + "), font (" + tfn + ")", ea.length, aa.length);
+            assertEquals("bad adjustments length, word form(" + wf + "), font (" + tfn + ")", ea.length, aa.length);
             for (int k = 0; k < 4; k++) {
                 int e = ea[k];
                 int a = aa[k];
-                assertEquals ("unequal adjustment[" + i + "][" + k + "], word form(" + wf + "), font (" + tfn + ")", e, a);
+                assertEquals("unequal adjustment[" + i + "][" + k + "], word form(" + wf + "), font (" + tfn + ")", e, a);
             }
         }
     }
 
-    private static int[] getGlyphs (GlyphSequence gs) {
+    private static int[] getGlyphs(GlyphSequence gs) {
         IntBuffer gb = gs.getGlyphs();
         int[] ga = new int [ gb.limit() ];
         gb.rewind();
-        gb.get (ga);
+        gb.get(ga);
         return ga;
     }
 
index 718e80ff284e414057ec485b26c4ebb3c897a794..a4f876dd8c5881066f60158c55aa7fbd3f8a564e 100644 (file)
@@ -42,7 +42,7 @@ import org.apache.fop.complexscripts.util.GlyphSequence;
  */
 public class GenerateArabicTestData implements ArabicTestConstants {
 
-    public static void main (String[] args) {
+    public static void main(String[] args) {
         boolean compile = false;
         boolean help = false;
         for (String a : args) {
@@ -62,63 +62,63 @@ public class GenerateArabicTestData implements ArabicTestConstants {
 
     private static void help() {
         StringBuffer sb = new StringBuffer();
-        sb.append ("org.apache.fop.complexscripts.arabic.ArabicTestCase");
-        sb.append (" [-compile]");
-        sb.append (" [-?]");
-        System.out.println (sb.toString());
+        sb.append("org.apache.fop.complexscripts.arabic.ArabicTestCase");
+        sb.append(" [-compile]");
+        sb.append(" [-?]");
+        System.out.println(sb.toString());
     }
 
     private static void compile() {
         for (String sfn : srcFiles) {
             try {
                 String spn = srcFilesDir + File.separator + sfn + "." + WF_FILE_SRC_EXT;
-                compile (WF_FILE_SCRIPT, WF_FILE_LANGUAGE, spn);
+                compile(WF_FILE_SCRIPT, WF_FILE_LANGUAGE, spn);
             } catch (Exception e) {
-                System.err.println (e.getMessage());
+                System.err.println(e.getMessage());
             }
         }
     }
 
-    private static void compile (String script, String language, String spn) {
+    private static void compile(String script, String language, String spn) {
         int fno = 0;
         for (String tfn : ttxFonts) {
-            TTXFile tf = TTXFile.getFromCache (ttxFontsDir + File.separator + tfn);
+            TTXFile tf = TTXFile.getFromCache(ttxFontsDir + File.separator + tfn);
             assert tf != null;
-            List data = compile (script, language, spn, tfn, tf);
-            output (makeDataPathName (spn, fno++), data);
+            List data = compile(script, language, spn, tfn, tf);
+            output(makeDataPathName(spn, fno++), data);
         }
     }
 
-    private static List compile (String script, String language, String spn, String tfn, TTXFile tf) {
+    private static List compile(String script, String language, String spn, String tfn, TTXFile tf) {
         List<Object[]> data = new ArrayList<Object[]>();
-        data.add (new Object[] { script, language, spn, tfn });
+        data.add(new Object[] { script, language, spn, tfn });
         GlyphSubstitutionTable gsub = tf.getGSUB();
         GlyphPositioningTable gpos = tf.getGPOS();
         int[] widths = tf.getWidths();
         if ((gsub != null) && (gpos != null)) {
             FileInputStream fis = null;
             try {
-                fis = new FileInputStream (spn);
+                fis = new FileInputStream(spn);
                 if (fis != null) {
-                    LineNumberReader lr = new LineNumberReader (new InputStreamReader (fis, Charset.forName ("UTF-8")));
+                    LineNumberReader lr = new LineNumberReader(new InputStreamReader(fis, Charset.forName("UTF-8")));
                     String wf;
                     while ((wf = lr.readLine()) != null) {
-                        GlyphSequence igs = tf.mapCharsToGlyphs (wf);
-                        GlyphSequence ogs = gsub.substitute (igs, script, language);
+                        GlyphSequence igs = tf.mapCharsToGlyphs(wf);
+                        GlyphSequence ogs = gsub.substitute(igs, script, language);
                         int[][] paa = new int [ ogs.getGlyphCount() ] [ 4 ];
-                        if (! gpos.position (ogs, script, language, 1000, widths, paa)) {
+                        if (! gpos.position(ogs, script, language, 1000, widths, paa)) {
                             paa = null;
                         }
-                        data.add (new Object[] { wf, getGlyphs (igs), getGlyphs (ogs), paa });
+                        data.add(new Object[] { wf, getGlyphs(igs), getGlyphs(ogs), paa });
                     }
                     lr.close();
                 }
             } catch (FileNotFoundException e) {
-                throw new RuntimeException (e.getMessage(), e);
+                throw new RuntimeException(e.getMessage(), e);
             } catch (IOException e) {
-                throw new RuntimeException (e.getMessage(), e);
+                throw new RuntimeException(e.getMessage(), e);
             } catch (Exception e) {
-                throw new RuntimeException (e.getMessage(), e);
+                throw new RuntimeException(e.getMessage(), e);
             } finally {
                 if (fis != null) {
                     try { fis.close(); } catch (Exception e) {}
@@ -128,47 +128,47 @@ public class GenerateArabicTestData implements ArabicTestConstants {
             assert gsub != null;
             assert gpos != null;
         }
-        System.err.println ("compiled " + (data.size() - 1) + " word forms using font " + tfn);
+        System.err.println("compiled " + (data.size() - 1) + " word forms using font " + tfn);
         return data;
     }
 
-    private static int[] getGlyphs (GlyphSequence gs) {
+    private static int[] getGlyphs(GlyphSequence gs) {
         IntBuffer gb = gs.getGlyphs();
         int[] ga = new int [ gb.limit() ];
         gb.rewind();
-        gb.get (ga);
+        gb.get(ga);
         return ga;
     }
 
-    private static String makeDataPathName (String spn, int fno) {
-        File f = new File (spn);
-        return datFilesDir + File.separator + stripExtension (f.getName()) + "-f" + fno + "." + WF_FILE_DAT_EXT;
+    private static String makeDataPathName(String spn, int fno) {
+        File f = new File(spn);
+        return datFilesDir + File.separator + stripExtension(f.getName()) + "-f" + fno + "." + WF_FILE_DAT_EXT;
     }
 
-    private static String stripExtension (String s) {
-        int i = s.lastIndexOf ('.');
+    private static String stripExtension(String s) {
+        int i = s.lastIndexOf('.');
         if (i >= 0) {
-            return s.substring (0, i);
+            return s.substring(0, i);
         } else {
             return s;
         }
     }
 
-    private static void output (String dpn, List<Object[]> data) {
+    private static void output(String dpn, List<Object[]> data) {
         FileOutputStream fos = null;
         try {
-            fos = new FileOutputStream (dpn);
+            fos = new FileOutputStream(dpn);
             if (fos != null) {
-                ObjectOutputStream oos = new ObjectOutputStream (fos);
-                oos.writeObject (data);
+                ObjectOutputStream oos = new ObjectOutputStream(fos);
+                oos.writeObject(data);
                 oos.close();
             }
         } catch (FileNotFoundException e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } catch (IOException e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } catch (Exception e) {
-            throw new RuntimeException (e.getMessage(), e);
+            throw new RuntimeException(e.getMessage(), e);
         } finally {
             if (fos != null) {
                 try { fos.close(); } catch (Exception e) {}
index aa6ca0db30d803ffcead1c7112a9eb707f8c687f..ea885b6c5fd1fd20ca90d2bc5508bc4ed5146678 100644 (file)
@@ -1329,10 +1329,10 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testFormatDecimal() throws Exception {
-        performConversions (formatDecimal);
-        performConversions (formatDecimalPadded);
-        performConversions (formatDecimalGrouped);
-        performConversions (formatDecimalGroupedPadded);
+        performConversions(formatDecimal);
+        performConversions(formatDecimalPadded);
+        performConversions(formatDecimalGrouped);
+        performConversions(formatDecimalGroupedPadded);
     }
 
     /**
@@ -1341,10 +1341,10 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testFormatDecimalArabic() throws Exception {
-        performConversions (formatDecimalArabic);
-        performConversions (formatDecimalArabicPadded);
-        performConversions (formatDecimalArabicGrouped);
-        performConversions (formatDecimalArabicGroupedPadded);
+        performConversions(formatDecimalArabic);
+        performConversions(formatDecimalArabicPadded);
+        performConversions(formatDecimalArabicGrouped);
+        performConversions(formatDecimalArabicGroupedPadded);
     }
 
     /**
@@ -1353,8 +1353,8 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testFormatDecimalThai() throws Exception {
-        performConversions (formatDecimalThai);
-        performConversions (formatDecimalThaiPadded);
+        performConversions(formatDecimalThai);
+        performConversions(formatDecimalThaiPadded);
     }
 
     /**
@@ -1363,12 +1363,12 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testFormatRoman() throws Exception {
-        performConversions (formatRomanLower);
-        performConversions (formatRomanUpper);
-        performConversions (formatRomanLargeLower);
-        performConversions (formatRomanLargeUpper);
-        performConversions (formatRomanNumberFormsLower);
-        performConversions (formatRomanNumberFormsUpper);
+        performConversions(formatRomanLower);
+        performConversions(formatRomanUpper);
+        performConversions(formatRomanLargeLower);
+        performConversions(formatRomanLargeUpper);
+        performConversions(formatRomanNumberFormsLower);
+        performConversions(formatRomanNumberFormsUpper);
     }
 
     /**
@@ -1377,8 +1377,8 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testAlphabeticLatin() throws Exception {
-        performConversions (formatAlphabeticLatinLower);
-        performConversions (formatAlphabeticLatinUpper);
+        performConversions(formatAlphabeticLatinLower);
+        performConversions(formatAlphabeticLatinUpper);
     }
 
     /**
@@ -1387,8 +1387,8 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testAlphabeticArabic() throws Exception {
-        performConversions (formatAlphabeticArabicHijai);
-        performConversions (formatAlphabeticArabicAbjadi);
+        performConversions(formatAlphabeticArabicHijai);
+        performConversions(formatAlphabeticArabicAbjadi);
     }
 
     /**
@@ -1397,7 +1397,7 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testAlphabeticHebrew() throws Exception {
-        performConversions (formatAlphabeticHebrew);
+        performConversions(formatAlphabeticHebrew);
     }
 
     /**
@@ -1406,7 +1406,7 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testAlphabeticThai() throws Exception {
-        performConversions (formatAlphabeticThai);
+        performConversions(formatAlphabeticThai);
     }
 
     /**
@@ -1415,7 +1415,7 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testNumeralArabic() throws Exception {
-        performConversions (formatNumeralArabicAbjadi);
+        performConversions(formatNumeralArabicAbjadi);
     }
 
     /**
@@ -1424,7 +1424,7 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testNumeralHebrew() throws Exception {
-        performConversions (formatNumeralHebrewGematria);
+        performConversions(formatNumeralHebrewGematria);
     }
 
     /**
@@ -1433,9 +1433,9 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testWordEnglish() throws Exception {
-        performConversions (formatWordEnglishLower);
-        performConversions (formatWordEnglishUpper);
-        performConversions (formatWordEnglishTitle);
+        performConversions(formatWordEnglishLower);
+        performConversions(formatWordEnglishUpper);
+        performConversions(formatWordEnglishTitle);
     }
 
     /**
@@ -1444,9 +1444,9 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testWordSpanish() throws Exception {
-        performConversions (formatWordSpanishLower);
-        performConversions (formatWordSpanishUpper);
-        performConversions (formatWordSpanishTitle);
+        performConversions(formatWordSpanishLower);
+        performConversions(formatWordSpanishUpper);
+        performConversions(formatWordSpanishTitle);
     }
 
     /**
@@ -1455,16 +1455,16 @@ public class NumberConverterTestCase {
      */
     @Test
     public void testWordFrench() throws Exception {
-        performConversions (formatWordFrenchLower);
-        performConversions (formatWordFrenchUpper);
-        performConversions (formatWordFrenchTitle);
+        performConversions(formatWordFrenchLower);
+        performConversions(formatWordFrenchUpper);
+        performConversions(formatWordFrenchTitle);
     }
 
     /**
      * Perform conversions according to test specification.
      * @param ts test specification
      */
-    private void performConversions (String[][] ts) {
+    private void performConversions(String[][] ts) {
         assert ts != null;
         assert ts.length >= 2;
         String[] args = ts[0];
@@ -1487,7 +1487,7 @@ public class NumberConverterTestCase {
         if (args.length > 2) {
             String s = args[2];
             if ((s != null) && (s.length() > 0)) {
-                groupingSize = Integer.parseInt (s);
+                groupingSize = Integer.parseInt(s);
             } else {
                 groupingSize = 0;
             }
@@ -1545,7 +1545,7 @@ public class NumberConverterTestCase {
         } else {
             country = null;
         }
-        NumberConverter nc = new NumberConverter (format, groupingSeparator, groupingSize, letterValue, features, language, country);
+        NumberConverter nc = new NumberConverter(format, groupingSeparator, groupingSize, letterValue, features, language, country);
         for (int i = 1, nt = ts.length; i < nt; i++) {
             String[] sa = ts[i];
             assert sa != null;
@@ -1553,11 +1553,11 @@ public class NumberConverterTestCase {
             List<Long> numbers = new ArrayList<Long>();
             for (int k = 0, nn = sa.length - 1; k < nn; k++) {
                 String s = sa[k];
-                numbers.add (Long.valueOf (s));
+                numbers.add(Long.valueOf(s));
             }
             String expected = sa [ sa.length - 1 ];
-            String actual = nc.convert (numbers);
-            assertEquals (expected, actual);
+            String actual = nc.convert(numbers);
+            assertEquals(expected, actual);
         }
     }
 
index a3185975719d0665579db4b4bd16a2ade764d1c3..07085059dc571008dfe7c971a5b0d89affa98645 100644 (file)
@@ -57,22 +57,22 @@ public class BasicLink extends TestDocument {
      * @throws IOException for I/O Errors
      */
     protected void generateDocument(RtfDocumentArea rda, RtfSection sect) throws IOException {
-        RtfParagraph p = sect.newParagraph ();
+        RtfParagraph p = sect.newParagraph();
         p.newLineBreak();
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("external link: ");
-        RtfHyperLink link = p.newHyperLink ("click here to go to the hompage", null);
-        link.setExternalURL ("http://www.skynamics.com");
+        p.newText("external link: ");
+        RtfHyperLink link = p.newHyperLink("click here to go to the hompage", null);
+        link.setExternalURL("http://www.skynamics.com");
         p.close();
 
-        p = sect.newParagraph ();
+        p = sect.newParagraph();
         p.newLineBreak();
-        p.newText ("here we will demonstrate internal link to a bookmark");
+        p.newText("here we will demonstrate internal link to a bookmark");
         p.newLineBreak();
-        p.newText ("internal link: ");
-        link = p.newHyperLink ("click here to go to the bookmark", null);
-        link.setInternalURL ("testBookmark");
+        p.newText("internal link: ");
+        link = p.newHyperLink("click here to go to the bookmark", null);
+        link.setInternalURL("testBookmark");
         p.close();
 
         p = sect.newParagraph();
index 73a45181803cb09e3e50ccef220efc1b0ae67252..b957bc1faf1220865e355b5a59a8f33561a42295 100644 (file)
@@ -48,65 +48,65 @@ class ExternalGraphic extends TestDocument {
     /**
      * Default constructor.
      */
-    public ExternalGraphic () {
+    public ExternalGraphic() {
 
     }
     /** generate the body of the test document */
-    protected void generateDocument (RtfDocumentArea rda, RtfSection sect) throws IOException {
-        RtfParagraph p = sect.newParagraph ();
+    protected void generateDocument(RtfDocumentArea rda, RtfSection sect) throws IOException {
+        RtfParagraph p = sect.newParagraph();
         p.newLineBreak();
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("EMF image with 150 % height");
+        p.newText("EMF image with 150 % height");
         p.newLineBreak();
-        RtfExternalGraphic imageA = p.newImage ();
-        imageA.setURL (file + "emf");
-        imageA.setHeight ("150%");
+        RtfExternalGraphic imageA = p.newImage();
+        imageA.setURL(file + "emf");
+        imageA.setHeight("150%");
         p.newLineBreak();
         p.close();
 
         p = sect.newParagraph();
         p.newLineBreak();
-        p.newText ("PNG image with 150 % width");
+        p.newText("PNG image with 150 % width");
         p.newLineBreak();
-        RtfExternalGraphic imageB = sect.newImage ();
-        imageB.setURL (file + "png");
-        imageB.setWidth ("150%");
+        RtfExternalGraphic imageB = sect.newImage();
+        imageB.setURL(file + "png");
+        imageB.setWidth("150%");
         p.newLineBreak();
         p.close();
 
         p = sect.newParagraph();
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("JPG image with width = 200px and height = 20 px");
+        p.newText("JPG image with width = 200px and height = 20 px");
         p.newLineBreak();
-        RtfExternalGraphic imageC = sect.newImage ();
-        imageC.setURL (file + "jpg");
-        imageC.setWidth ("200");
-        imageC.setHeight ("20");
+        RtfExternalGraphic imageC = sect.newImage();
+        imageC.setURL(file + "jpg");
+        imageC.setWidth("200");
+        imageC.setHeight("20");
         p.newLineBreak();
         p.close();
 
         p = sect.newParagraph();
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("GIF image with width = 200px and scaling = 'uniform', that means the image "
+        p.newText("GIF image with width = 200px and scaling = 'uniform', that means the image "
                 + "size will adjusted automatically");
         p.newLineBreak();
-        RtfExternalGraphic imageD = sect.newImage ();
-        imageD.setURL (file + "gif");
-        imageD.setWidth ("200");
-        imageD.setScaling ("uniform");
+        RtfExternalGraphic imageD = sect.newImage();
+        imageD.setURL(file + "gif");
+        imageD.setWidth("200");
+        imageD.setScaling("uniform");
         p.newLineBreak();
         p.close();
 
         p = sect.newParagraph();
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("GIF image");
+        p.newText("GIF image");
         p.newLineBreak();
-        RtfExternalGraphic imageE = sect.newImage ();
-        imageE.setURL (file + "gif");
+        RtfExternalGraphic imageE = sect.newImage();
+        imageE.setURL(file + "gif");
         p.newLineBreak();
         p.close();
 
index 63de9ba05f29943158922978b5c714046ee022a0..f1817bf03ddea78cddf695bb39b8058683b62919 100644 (file)
@@ -111,8 +111,8 @@ class MergedTableCells extends TestDocument {
         // fifth row, just one cell
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(160 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 4,0, width 160mm, only cell in this row");
+            r.newTableCell(160 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 4,0, width 160mm, only cell in this row");
         }
     }
 }
index f126b60c805c0de3514cb3d8f5b84535f74cf437..72dad7e984c46496e33af2b65ed3108c77c7325e 100644 (file)
@@ -78,8 +78,8 @@ class NestedTable extends TestDocument {
         // second row contains nested table
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,0, width 40mm, to the left of nested table.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,0, width 40mm, to the left of nested table.");
 
             final RtfTableCell c = r.newTableCell(80 * MM_TO_TWIPS);
             c.newParagraph().newText("cell 1,1, width 80mm, this text is "
@@ -88,17 +88,17 @@ class NestedTable extends TestDocument {
             fillNestedTable(c.newTable(new DummyTableColumnsInfo()), 1);
             c.newParagraph().newText("AFTER NESTED TABLE");
 
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,2, width 40mm, to the right of nested table.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,2, width 40mm, to the right of nested table.");
         }
 
         // third row, normal
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,0, width 80mm, this row has two cells.");
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,1, width 80mm, last cell.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,0, width 80mm, this row has two cells.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,1, width 80mm, last cell.");
         }
 
     }
@@ -118,8 +118,8 @@ class NestedTable extends TestDocument {
         // second row contains nested table
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,0, width 40mm, to the left of nested tables.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,0, width 40mm, to the left of nested tables.");
 
             final RtfTableCell c = r.newTableCell(80 * MM_TO_TWIPS);
             c.newParagraph().newText("cell 1,1, width 80mm, this text is "
@@ -130,17 +130,17 @@ class NestedTable extends TestDocument {
             fillNestedTable(c.newTable(new DummyTableColumnsInfo()), 3);
             c.newParagraph().newText("AFTER");
 
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,2, width 40mm, to the right of nested table.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,2, width 40mm, to the right of nested table.");
         }
 
         // third row, normal
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,0, width 80mm, this row has two cells.");
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,1, width 80mm, last cell.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,0, width 80mm, this row has two cells.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,1, width 80mm, last cell.");
         }
     }
 
@@ -162,8 +162,8 @@ class NestedTable extends TestDocument {
         // second row contains nested table
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,0, width 40mm, to the left of nested tables.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,0, width 40mm, to the left of nested tables.");
 
             final RtfTableCell c = r.newTableCell(80 * MM_TO_TWIPS);
             c.newParagraph().newText("cell 1,1, width 80mm, this text is "
@@ -174,17 +174,17 @@ class NestedTable extends TestDocument {
             fillNestedTable(c.newTable(new DummyTableColumnsInfo()), 6);
             c.newParagraph().newText("AFTER");
 
-            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 1,2, width 40mm, to the right of nested table.");
+            r.newTableCell(40 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 1,2, width 40mm, to the right of nested table.");
         }
 
         // third row, normal
         {
             RtfTableRow r = tbl.newTableRow();
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,0, width 80mm, this row has two cells.");
-            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText
-                    ("cell 2,1, width 80mm, last cell.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,0, width 80mm, this row has two cells.");
+            r.newTableCell(80 * MM_TO_TWIPS).newParagraph().newText(
+                    "cell 2,1, width 80mm, last cell.");
         }
     }
 
index 17992c5d235e88b0b83e3335c368901370112918..2b38aa789be24e066b602a2811ba2dd22d2a2a89 100644 (file)
@@ -52,28 +52,28 @@ public class ParagraphAlignment extends TestDocument {
      */
     protected void generateDocument(RtfDocumentArea rda, RtfSection sect) throws java.io.IOException
     {
-        RtfAttributes attr = new RtfAttributes ();
+        RtfAttributes attr = new RtfAttributes();
         attr.set(RtfText.ALIGN_CENTER);
-        RtfParagraph p = sect.newParagraph (attr);
+        RtfParagraph p = sect.newParagraph(attr);
         p.newLineBreak();
         p.newLineBreak();
-        p.newText ("Centered title");
+        p.newText("Centered title");
         p.newLineBreak();
         p.close();
 
-        attr = new RtfAttributes ();
+        attr = new RtfAttributes();
         attr.set(RtfText.ALIGN_LEFT);
-        p = sect.newParagraph (attr);
+        p = sect.newParagraph(attr);
         p.newLineBreak();
-        p.newText ("This is the left aligned text.");
+        p.newText("This is the left aligned text.");
         p.newLineBreak();
         p.close();
 
-        attr = new RtfAttributes ();
+        attr = new RtfAttributes();
         attr.set(RtfText.ALIGN_RIGHT);
-        p = sect.newParagraph (attr);
+        p = sect.newParagraph(attr);
         p.newLineBreak();
-        p.newText ("This is the right aligned text.");
+        p.newText("This is the right aligned text.");
         p.newLineBreak();
         p.close();
     }
index 272284dcc59b8e8b3806fa74750cd488bf477613..cf84b3ec4a7f90a7393cc61033e5ad705e59ad4a 100644 (file)
@@ -48,8 +48,8 @@ class SimpleTable extends TestDocument {
     protected void generateDocument(RtfDocumentArea rda, RtfSection sect)
     throws IOException {
         final RtfTable tbl = sect.newTable(new DummyTableColumnsInfo());
-        tbl.newTableRow().newTableCell(C1W * INCH_TO_TWIPS).newParagraph().newText
-                ("Here's a table row with just one cell, width " + C1W + "''");
+        tbl.newTableRow().newTableCell(C1W * INCH_TO_TWIPS).newParagraph().newText(
+                "Here's a table row with just one cell, width " + C1W + "''");
 
         for (int row = 0; row < MAX_ROW; row++) {
             final RtfTableRow r = tbl.newTableRow();
index 650554f37cebc6b10dfb9a04944f66c218b37cc4..e0c1d5bd4cee4450fa5780cd429f81928f9e07b4 100644 (file)
@@ -83,8 +83,8 @@ public class BitmapComparator {
         int [] refPix = null;
         int [] genPix = null;
         for (y = 0; y < h; y++) {
-            refPix = refWR.getPixels  (0, y, w, 1, refPix);
-            genPix = genWR.getPixels  (0, y, w, 1, genPix);
+            refPix = refWR.getPixels (0, y, w, 1, refPix);
+            genPix = genWR.getPixels (0, y, w, 1, genPix);
             for (i = 0; i < refPix.length; i++) {
                 // val = ((genPix[i] - refPix[i]) * 5) + 128;
                 val = ((refPix[i] - genPix[i]) * 10) + 128;