From e8f590803ae0bb67a0d1686c47ccc2fb6d187ae8 Mon Sep 17 00:00:00 2001 From: Vincent Hennebert Date: Tue, 7 May 2013 16:23:13 +0000 Subject: [PATCH] Cosmetics only: enabled Checkstyle MethodParamPad rule and fixed corresponding violations git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1479969 13f79535-47bb-0310-9956-ffa450edef68 --- checkstyle-5.5.xml | 2 +- .../bidi/GenerateBidiClass.java | 154 +- .../bidi/GenerateBidiTestData.java | 536 ++-- .../fop/hyphenation/UnicodeClasses.java | 4 +- .../org/apache/fop/afp/AFPBorderPainter.java | 84 +- .../apache/fop/afp/AFPRectanglePainter.java | 38 +- .../apache/fop/afp/modca/GraphicsObject.java | 4 +- src/java/org/apache/fop/area/Area.java | 4 +- .../org/apache/fop/area/AreaTreeParser.java | 12 +- src/java/org/apache/fop/area/BodyRegion.java | 2 +- src/java/org/apache/fop/area/CTM.java | 2 +- .../fop/area/CachedRenderPagesModel.java | 2 +- src/java/org/apache/fop/area/LineArea.java | 4 +- .../org/apache/fop/area/MainReference.java | 2 +- .../org/apache/fop/area/RenderPagesModel.java | 2 +- .../apache/fop/area/inline/InlineArea.java | 12 +- .../apache/fop/area/inline/InlineParent.java | 12 +- .../org/apache/fop/area/inline/SpaceArea.java | 2 +- .../org/apache/fop/area/inline/TextArea.java | 30 +- .../fop/area/inline/UnresolvedPageNumber.java | 4 +- .../org/apache/fop/area/inline/WordArea.java | 56 +- .../apache/fop/cli/CommandLineOptions.java | 2 +- .../fop/complexscripts/bidi/BidiClass.java | 8 +- .../fop/complexscripts/bidi/BidiResolver.java | 90 +- .../bidi/DelimitedTextRange.java | 58 +- .../fop/complexscripts/bidi/InlineRun.java | 54 +- .../fop/complexscripts/bidi/TextInterval.java | 24 +- .../bidi/UnflattenProcessor.java | 164 +- .../bidi/UnicodeBidiAlgorithm.java | 210 +- .../fonts/GlyphClassMapping.java | 4 +- .../complexscripts/fonts/GlyphClassTable.java | 86 +- .../fonts/GlyphCoverageMapping.java | 2 +- .../fonts/GlyphCoverageTable.java | 64 +- .../complexscripts/fonts/GlyphDefinition.java | 2 +- .../fonts/GlyphDefinitionSubtable.java | 12 +- .../fonts/GlyphDefinitionTable.java | 138 +- .../fonts/GlyphMappingTable.java | 50 +- .../fonts/GlyphPositioning.java | 2 +- .../fonts/GlyphPositioningState.java | 44 +- .../fonts/GlyphPositioningSubtable.java | 20 +- .../fonts/GlyphPositioningTable.java | 862 +++---- .../fonts/GlyphProcessingState.java | 286 +-- .../fonts/GlyphSubstitution.java | 2 +- .../fonts/GlyphSubstitutionState.java | 72 +- .../fonts/GlyphSubstitutionSubtable.java | 20 +- .../fonts/GlyphSubstitutionTable.java | 584 ++--- .../complexscripts/fonts/GlyphSubtable.java | 36 +- .../fop/complexscripts/fonts/GlyphTable.java | 354 +-- .../OTFAdvancedTypographicTableReader.java | 840 +++--- .../complexscripts/fonts/Positionable.java | 4 +- .../complexscripts/fonts/Substitutable.java | 4 +- .../scripts/ArabicScriptProcessor.java | 158 +- .../scripts/DefaultScriptProcessor.java | 18 +- .../scripts/DevanagariScriptProcessor.java | 106 +- .../scripts/GujaratiScriptProcessor.java | 106 +- .../scripts/GurmukhiScriptProcessor.java | 110 +- .../scripts/IndicScriptProcessor.java | 192 +- .../scripts/ScriptProcessor.java | 68 +- .../fop/complexscripts/util/CharMirror.java | 10 +- .../fop/complexscripts/util/CharScript.java | 266 +- .../util/GlyphContextTester.java | 2 +- .../complexscripts/util/GlyphSequence.java | 232 +- .../fop/complexscripts/util/GlyphTester.java | 2 +- .../complexscripts/util/NumberConverter.java | 524 ++-- .../util/ScriptContextTester.java | 2 +- .../apache/fop/complexscripts/util/UTF32.java | 30 +- .../org/apache/fop/events/EventFormatter.java | 20 +- src/java/org/apache/fop/fo/FONode.java | 30 +- .../org/apache/fop/fo/FOPropertyMapping.java | 22 +- src/java/org/apache/fop/fo/FOText.java | 46 +- src/java/org/apache/fop/fo/FObj.java | 2 +- .../FromNearestSpecifiedValueFunction.java | 4 +- .../fop/fo/expr/FromParentFunction.java | 4 +- .../fop/fo/expr/FromTableColumnFunction.java | 4 +- .../org/apache/fop/fo/expr/FunctionBase.java | 8 +- .../fop/fo/expr/InheritedPropFunction.java | 4 +- .../apache/fop/fo/expr/PropertyParser.java | 8 +- .../apache/fop/fo/expr/PropertyTokenizer.java | 2 +- .../fop/fo/extensions/svg/SVGElement.java | 8 +- .../apache/fop/fo/flow/AbstractGraphics.java | 6 +- .../fo/flow/AbstractPageNumberCitation.java | 10 +- .../org/apache/fop/fo/flow/BidiOverride.java | 8 +- .../apache/fop/fo/flow/BlockContainer.java | 4 +- .../org/apache/fop/fo/flow/Character.java | 6 +- .../apache/fop/fo/flow/InlineContainer.java | 6 +- .../org/apache/fop/fo/flow/InlineLevel.java | 2 +- src/java/org/apache/fop/fo/flow/Leader.java | 6 +- src/java/org/apache/fop/fo/flow/ListItem.java | 6 +- .../org/apache/fop/fo/flow/PageNumber.java | 2 +- .../fop/fo/flow/RetrieveTableMarker.java | 4 +- src/java/org/apache/fop/fo/flow/Wrapper.java | 2 +- .../org/apache/fop/fo/flow/table/Table.java | 12 +- .../fo/pagination/PageNumberGenerator.java | 8 +- .../fop/fo/pagination/PageSequence.java | 14 +- .../apache/fop/fo/pagination/RegionAfter.java | 2 +- .../apache/fop/fo/pagination/RegionBA.java | 4 +- .../fop/fo/pagination/RegionBefore.java | 2 +- .../apache/fop/fo/pagination/RegionBody.java | 2 +- .../apache/fop/fo/pagination/RegionEnd.java | 2 +- .../apache/fop/fo/pagination/RegionSE.java | 4 +- .../apache/fop/fo/pagination/RegionStart.java | 2 +- .../fo/properties/DimensionPropertyMaker.java | 2 +- .../fo/properties/IndentPropertyMaker.java | 4 +- .../fo/properties/TextDecorationMaker.java | 4 +- .../org/apache/fop/fonts/CMapSegment.java | 18 +- src/java/org/apache/fop/fonts/Font.java | 20 +- src/java/org/apache/fop/fonts/FontInfo.java | 2 +- src/java/org/apache/fop/fonts/LazyFont.java | 10 +- .../org/apache/fop/fonts/MultiByteFont.java | 116 +- .../apache/fop/fonts/truetype/TTFFile.java | 18 +- .../fop/fonts/truetype/TTFFontLoader.java | 8 +- .../fop/fonts/truetype/TTFSubSetFile.java | 2 +- .../fop/hyphenation/SerializeHyphPattern.java | 2 +- .../apache/fop/layoutmgr/AbstractBreaker.java | 14 +- .../BlockContainerLayoutManager.java | 4 +- .../fop/layoutmgr/BlockLayoutManager.java | 2 +- .../apache/fop/layoutmgr/KnuthSequence.java | 4 +- .../fop/layoutmgr/PageBreakingAlgorithm.java | 12 +- .../inline/CharacterLayoutManager.java | 2 +- .../fop/layoutmgr/inline/ImageLayout.java | 2 +- .../layoutmgr/inline/InlineLayoutManager.java | 4 +- .../inline/InlineStackingLayoutManager.java | 30 +- .../fop/layoutmgr/inline/KnuthInlineBox.java | 4 +- .../layoutmgr/inline/LeaderLayoutManager.java | 12 +- .../layoutmgr/inline/LineLayoutManager.java | 12 +- .../layoutmgr/inline/TextLayoutManager.java | 138 +- .../table/CollapsingBorderModel.java | 2 +- .../fop/layoutmgr/table/ColumnSetup.java | 2 +- .../apache/fop/pdf/DestinationComparator.java | 2 +- src/java/org/apache/fop/pdf/PDFTextUtil.java | 6 +- .../render/AbstractPathOrientedRenderer.java | 2 +- .../apache/fop/render/AbstractRenderer.java | 4 +- .../afp/AFPImageHandlerRenderedImage.java | 4 +- .../org/apache/fop/render/afp/AFPInfo.java | 4 +- .../org/apache/fop/render/afp/AFPPainter.java | 2 +- .../apache/fop/render/afp/AFPSVGHandler.java | 4 +- .../fop/render/awt/viewer/PreviewDialog.java | 4 +- .../AffineTransformArrayParser.java | 8 +- .../render/intermediate/IFGraphicContext.java | 2 +- .../fop/render/intermediate/IFPainter.java | 2 +- .../fop/render/intermediate/IFParser.java | 2 +- .../fop/render/intermediate/IFRenderer.java | 24 +- .../fop/render/intermediate/IFUtil.java | 24 +- .../fop/render/java2d/Java2DPainter.java | 2 +- .../org/apache/fop/render/pcl/PCLPainter.java | 4 +- .../org/apache/fop/render/pdf/PDFPainter.java | 28 +- .../fop/render/ps/AbstractPSTranscoder.java | 8 +- .../org/apache/fop/render/ps/PSFontUtils.java | 4 +- .../org/apache/fop/render/rtf/RTFHandler.java | 8 +- .../rtflib/rtfdoc/IRtfBookmarkContainer.java | 2 +- .../rtfdoc/IRtfExternalGraphicContainer.java | 2 +- .../rtflib/rtfdoc/IRtfHyperLinkContainer.java | 2 +- .../render/rtf/rtflib/rtfdoc/IRtfOptions.java | 4 +- .../rtflib/rtfdoc/IrtfTemplateContainer.java | 2 +- .../rtf/rtflib/rtfdoc/RtfAttributes.java | 22 +- .../render/rtf/rtflib/rtfdoc/RtfBookmark.java | 40 +- .../rtfdoc/RtfBookmarkContainerImpl.java | 14 +- .../rtf/rtflib/rtfdoc/RtfColorTable.java | 94 +- .../rtf/rtflib/rtfdoc/RtfContainer.java | 2 +- .../rtf/rtflib/rtfdoc/RtfExternalGraphic.java | 16 +- .../rtf/rtflib/rtfdoc/RtfExtraRowSet.java | 2 +- .../rtf/rtflib/rtfdoc/RtfFontManager.java | 32 +- .../rtf/rtflib/rtfdoc/RtfFontTable.java | 2 +- .../rtf/rtflib/rtfdoc/RtfHyperLink.java | 78 +- .../rtflib/rtfdoc/RtfPageNumberCitation.java | 4 +- .../rtf/rtflib/rtfdoc/RtfParagraphBreak.java | 2 +- .../render/rtf/rtflib/rtfdoc/RtfSection.java | 2 +- .../rtf/rtflib/rtfdoc/RtfStyleSheetTable.java | 84 +- .../render/rtf/rtflib/rtfdoc/RtfTable.java | 4 +- .../rtf/rtflib/rtfdoc/RtfTableCell.java | 10 +- .../render/rtf/rtflib/rtfdoc/RtfTableRow.java | 4 +- .../render/rtf/rtflib/rtfdoc/RtfTemplate.java | 18 +- .../fop/render/rtf/rtflib/rtfdoc/RtfText.java | 8 +- .../render/rtf/rtflib/tools/ImageUtil.java | 26 +- .../apache/fop/render/xml/XMLRenderer.java | 10 +- .../svg/AbstractFOPImageElementBridge.java | 8 +- .../org/apache/fop/svg/PDFGraphics2D.java | 20 +- .../org/apache/fop/svg/PDFTranscoder.java | 12 +- .../org/apache/fop/traits/WritingMode.java | 14 +- .../apache/fop/traits/WritingModeTraits.java | 22 +- .../fop/traits/WritingModeTraitsSetter.java | 14 +- .../org/apache/fop/util/CharUtilities.java | 44 +- src/java/org/apache/fop/util/XMLUtil.java | 44 +- .../org/apache/fop/render/mif/MIFHandler.java | 6 +- .../bidi/BidiAlgorithmTestCase.java | 72 +- .../bidi/BidiClassTestCase.java | 12 +- .../fop/complexscripts/bidi/BidiTestData.java | 6 +- .../complexscripts/fonts/GDEFTestCase.java | 62 +- .../complexscripts/fonts/GPOSTestCase.java | 86 +- .../complexscripts/fonts/GSUBTestCase.java | 74 +- .../fop/complexscripts/fonts/ttx/TTXFile.java | 2244 ++++++++--------- .../fonts/ttx/TTXFileTestCase.java | 6 +- .../scripts/arabic/ArabicTestCase.java | 86 +- .../arabic/GenerateArabicTestData.java | 76 +- .../util/NumberConverterTestCase.java | 78 +- .../render/rtf/rtflib/testdocs/BasicLink.java | 18 +- .../rtf/rtflib/testdocs/ExternalGraphic.java | 48 +- .../rtf/rtflib/testdocs/MergedTableCells.java | 4 +- .../rtf/rtflib/testdocs/NestedTable.java | 48 +- .../rtflib/testdocs/ParagraphAlignment.java | 18 +- .../rtf/rtflib/testdocs/SimpleTable.java | 4 +- .../apache/fop/visual/BitmapComparator.java | 4 +- 202 files changed, 5691 insertions(+), 5691 deletions(-) diff --git a/checkstyle-5.5.xml b/checkstyle-5.5.xml index 20ca96238..5c79c0e88 100644 --- a/checkstyle-5.5.xml +++ b/checkstyle-5.5.xml @@ -155,7 +155,7 @@ - + diff --git a/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java b/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java index ad8f6edc2..42e250574 100644 --- a/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java +++ b/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiClass.java @@ -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; diff --git a/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java b/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java index 7ccf58196..0c02e305e 100644 --- a/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java +++ b/src/codegen/unicode/java/org/apache/fop/complexscripts/bidi/GenerateBidiTestData.java @@ -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/**/ sm, Map/**/ im) { + private static void parseTypeProperties(String line, Map/**/ sm, Map/**/ 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/**/ sm, Map/**/ im, List tdl) { + private static List processTypeData(Map/**/ sm, Map/**/ im, List tdl) { for (int i = BidiConstants.FIRST, k = BidiConstants.LAST; i <= k; i++) { Map/**/ rm = new TreeMap/**/(); // 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/**/ rm) { + private static List extractRanges(Map/**/ 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/**/ rm = new TreeMap/**/(); 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/**/ me = (Map.Entry/**/) 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; } diff --git a/src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java b/src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java index 728f91e48..df25831ea 100644 --- a/src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java +++ b/src/codegen/unicode/java/org/apache/fop/hyphenation/UnicodeClasses.java @@ -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); diff --git a/src/java/org/apache/fop/afp/AFPBorderPainter.java b/src/java/org/apache/fop/afp/AFPBorderPainter.java index b39970b87..675027100 100644 --- a/src/java/org/apache/fop/afp/AFPBorderPainter.java +++ b/src/java/org/apache/fop/afp/AFPBorderPainter.java @@ -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); } diff --git a/src/java/org/apache/fop/afp/AFPRectanglePainter.java b/src/java/org/apache/fop/afp/AFPRectanglePainter.java index 4a57bb125..8b598008a 100644 --- a/src/java/org/apache/fop/afp/AFPRectanglePainter.java +++ b/src/java/org/apache/fop/afp/AFPRectanglePainter.java @@ -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); diff --git a/src/java/org/apache/fop/afp/modca/GraphicsObject.java b/src/java/org/apache/fop/afp/modca/GraphicsObject.java index e48e636c2..79aa3147b 100644 --- a/src/java/org/apache/fop/afp/modca/GraphicsObject.java +++ b/src/java/org/apache/fop/afp/modca/GraphicsObject.java @@ -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; } diff --git a/src/java/org/apache/fop/area/Area.java b/src/java/org/apache/fop/area/Area.java index 5ba111790..628e9e3ad 100644 --- a/src/java/org/apache/fop/area/Area.java +++ b/src/java/org/apache/fop/area/Area.java @@ -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(traits); } else { diff --git a/src/java/org/apache/fop/area/AreaTreeParser.java b/src/java/org/apache/fop/area/AreaTreeParser.java index fed2a8316..c79f975c1 100644 --- a/src/java/org/apache/fop/area/AreaTreeParser.java +++ b/src/java/org/apache/fop/area/AreaTreeParser.java @@ -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); diff --git a/src/java/org/apache/fop/area/BodyRegion.java b/src/java/org/apache/fop/area/BodyRegion.java index 56c71ac59..b71f689a1 100644 --- a/src/java/org/apache/fop/area/BodyRegion.java +++ b/src/java/org/apache/fop/area/BodyRegion.java @@ -147,7 +147,7 @@ public class BodyRegion extends RegionReference { */ public void setWritingModeTraits(WritingModeTraitsGetter wmtg) { if (getMainReference() != null) { - getMainReference().setWritingModeTraits (wmtg); + getMainReference().setWritingModeTraits(wmtg); } } diff --git a/src/java/org/apache/fop/area/CTM.java b/src/java/org/apache/fop/area/CTM.java index 4a35af9aa..80172be8b 100644 --- a/src/java/org/apache/fop/area/CTM.java +++ b/src/java/org/apache/fop/area/CTM.java @@ -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), diff --git a/src/java/org/apache/fop/area/CachedRenderPagesModel.java b/src/java/org/apache/fop/area/CachedRenderPagesModel.java index 0837e5ae5..e5c6f5b2b 100644 --- a/src/java/org/apache/fop/area/CachedRenderPagesModel.java +++ b/src/java/org/apache/fop/area/CachedRenderPagesModel.java @@ -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(); diff --git a/src/java/org/apache/fop/area/LineArea.java b/src/java/org/apache/fop/area/LineArea.java index ccd290a36..169c3728f 100644 --- a/src/java/org/apache/fop/area/LineArea.java +++ b/src/java/org/apache/fop/area/LineArea.java @@ -130,12 +130,12 @@ public class LineArea extends Area { *

Used by bidirectional processing after line area consituent reordering.

* @param inlineAreas the list of inline areas */ - public void setInlineAreas (List inlineAreas) { + public void setInlineAreas(List inlineAreas) { for (Iterator 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; } diff --git a/src/java/org/apache/fop/area/MainReference.java b/src/java/org/apache/fop/area/MainReference.java index 57c430754..efc16515d 100644 --- a/src/java/org/apache/fop/area/MainReference.java +++ b/src/java/org/apache/fop/area/MainReference.java @@ -132,7 +132,7 @@ public class MainReference extends Area { */ public void setWritingModeTraits(WritingModeTraitsGetter wmtg) { for (Span s : getSpans()) { - s.setWritingModeTraits (wmtg); + s.setWritingModeTraits(wmtg); } } diff --git a/src/java/org/apache/fop/area/RenderPagesModel.java b/src/java/org/apache/fop/area/RenderPagesModel.java index cef2552c8..b94a32b4b 100644 --- a/src/java/org/apache/fop/area/RenderPagesModel.java +++ b/src/java/org/apache/fop/area/RenderPagesModel.java @@ -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(); diff --git a/src/java/org/apache/fop/area/inline/InlineArea.java b/src/java/org/apache/fop/area/inline/InlineArea.java index 826f7a8c1..c6089f1e0 100644 --- a/src/java/org/apache/fop/area/inline/InlineArea.java +++ b/src/java/org/apache/fop/area/inline/InlineArea.java @@ -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; diff --git a/src/java/org/apache/fop/area/inline/InlineParent.java b/src/java/org/apache/fop/area/inline/InlineParent.java index cc2dd577c..c65c803c3 100644 --- a/src/java/org/apache/fop/area/inline/InlineParent.java +++ b/src/java/org/apache/fop/area/inline/InlineParent.java @@ -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 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); } } } diff --git a/src/java/org/apache/fop/area/inline/SpaceArea.java b/src/java/org/apache/fop/area/inline/SpaceArea.java index 6ee89cbf4..be7b61a9f 100644 --- a/src/java/org/apache/fop/area/inline/SpaceArea.java +++ b/src/java/org/apache/fop/area/inline/SpaceArea.java @@ -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; } diff --git a/src/java/org/apache/fop/area/inline/TextArea.java b/src/java/org/apache/fop/area/inline/TextArea.java index a0ca5717a..4cb946af3 100644 --- a/src/java/org/apache/fop/area/inline/TextArea.java +++ b/src/java/org/apache/fop/area/inline/TextArea.java @@ -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; diff --git a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java index 87fc80d67..df991cd20 100644 --- a/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java +++ b/src/java/org/apache/fop/area/inline/UnresolvedPageNumber.java @@ -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; } } diff --git a/src/java/org/apache/fop/area/inline/WordArea.java b/src/java/org/apache/fop/area/inline/WordArea.java index 443fcbf21..0854e3023 100644 --- a/src/java/org/apache/fop/area/inline/WordArea.java +++ b/src/java/org/apache/fop/area/inline/WordArea.java @@ -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.

* @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 ]; diff --git a/src/java/org/apache/fop/cli/CommandLineOptions.java b/src/java/org/apache/fop/cli/CommandLineOptions.java index 9e83400f6..080fe7930 100644 --- a/src/java/org/apache/fop/cli/CommandLineOptions.java +++ b/src/java/org/apache/fop/cli/CommandLineOptions.java @@ -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); diff --git a/src/java/org/apache/fop/complexscripts/bidi/BidiClass.java b/src/java/org/apache/fop/complexscripts/bidi/BidiClass.java index f2a8462e7..eed7b983b 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/BidiClass.java +++ b/src/java/org/apache/fop/complexscripts/bidi/BidiClass.java @@ -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 { diff --git a/src/java/org/apache/fop/complexscripts/bidi/BidiResolver.java b/src/java/org/apache/fop/complexscripts/bidi/BidiResolver.java index 66d26a83f..3ae1605f9 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/BidiResolver.java +++ b/src/java/org/apache/fop/complexscripts/bidi/BidiResolver.java @@ -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 inlines = new ArrayList(); 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 inlines) { - return new UnflattenProcessor (inlines) .unflatten(); + private static List unflattenInlines(List 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; diff --git a/src/java/org/apache/fop/complexscripts/bidi/DelimitedTextRange.java b/src/java/org/apache/fop/complexscripts/bidi/DelimitedTextRange.java index bbcd4ff7a..48cd8df6f 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/DelimitedTextRange.java +++ b/src/java/org/apache/fop/complexscripts/bidi/DelimitedTextRange.java @@ -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; } diff --git a/src/java/org/apache/fop/complexscripts/bidi/InlineRun.java b/src/java/org/apache/fop/complexscripts/bidi/InlineRun.java index 174576533..c51d95c6e 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/InlineRun.java +++ b/src/java/org/apache/fop/complexscripts/bidi/InlineRun.java @@ -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; } } diff --git a/src/java/org/apache/fop/complexscripts/bidi/TextInterval.java b/src/java/org/apache/fop/complexscripts/bidi/TextInterval.java index ec1fdeec9..d904aedbb 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/TextInterval.java +++ b/src/java/org/apache/fop/complexscripts/bidi/TextInterval.java @@ -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(); } } diff --git a/src/java/org/apache/fop/complexscripts/bidi/UnflattenProcessor.java b/src/java/org/apache/fop/complexscripts/bidi/UnflattenProcessor.java index d20bd692f..60ad7ba5b 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/UnflattenProcessor.java +++ b/src/java/org/apache/fop/complexscripts/bidi/UnflattenProcessor.java @@ -54,7 +54,7 @@ class UnflattenProcessor { private TextArea tcNew; // new text area container being constructed private Stack icOrig; // stack of original inline parent containers private Stack icNew; // stack of new inline parent containers being constructed - UnflattenProcessor (List inlines) { + UnflattenProcessor(List inlines) { this.il = inlines; this.ilNew = new ArrayList(); this.iaLevelLast = -1; @@ -64,26 +64,26 @@ class UnflattenProcessor { List unflatten() { if (il != null) { for (Iterator 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 ich, TextArea tc, InlineArea ia) { + private void process(List 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 ich, TextArea tc, InlineArea ia) { + private boolean shouldFinishInlineContainer(List 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 ich, TextArea tc, InlineArea ia) { + private void finishInlineContainer(List ich, TextArea tc, InlineArea ia) { if ((ich != null) && ! ich.isEmpty()) { // finish non-matching inner inline container(s) for (Iterator 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 ich, TextArea tc, InlineArea ia) { - if (shouldFinishInlineContainer (ich, tc, ia)) { - finishInlineContainer (ich, tc, ia); + private void maybeFinishInlineContainers(List ich, TextArea tc, InlineArea ia) { + if (shouldFinishInlineContainer(ich, tc, ia)) { + finishInlineContainer(ich, tc, ia); } } private void finishAll() { finishTextContainer(); finishInlineContainer(); } - private void update (List ich, TextArea tc, InlineArea ia) { - if (! alreadyUnflattened (ia)) { + private void update(List 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 it = ilNew.iterator(); it.hasNext(); ) { - if (ia.isAncestorOrSelf (it.next())) { + if (ia.isAncestorOrSelf(it.next())) { return true; } } return false; } - private void pushInlineContainers (List ich) { + private void pushInlineContainers(List ich) { LinkedList icl = new LinkedList(); for (Iterator 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 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 findInlineContainers (InlineArea ia) { + private List findInlineContainers(InlineArea ia) { assert ia != null; List ich = new ArrayList(); 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; } diff --git a/src/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java b/src/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java index 75b6d19ff..77cc6de13 100644 --- a/src/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java +++ b/src/java/org/apache/fop/complexscripts/bidi/UnicodeBidiAlgorithm.java @@ -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(' '); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphClassMapping.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphClassMapping.java index 2223ba98a..f3b89fb8c 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphClassMapping.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphClassMapping.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphClassTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphClassTable.java index 9a42d04c4..62926dc5e 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphClassTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphClassTable.java @@ -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; } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageMapping.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageMapping.java index 8f5b2b552..3969d2f38 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageMapping.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageMapping.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageTable.java index 101126be6..19b3f7c19 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphCoverageTable.java @@ -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); } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinition.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinition.java index 2e1ccf9e9..6fc43cbc9 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinition.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinition.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionSubtable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionSubtable.java index a09287cff..eaa16146a 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionSubtable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionSubtable.java @@ -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; } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionTable.java index 0bcc68c64..3deaa7d8b 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphDefinitionTable.java @@ -74,17 +74,17 @@ public class GlyphDefinitionTable extends GlyphTable { * Instantiate a GlyphDefinitionTable 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; } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphMappingTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphMappingTable.java index 17f1b78fa..eef49c399 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphMappingTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphMappingTable.java @@ -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 { diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioning.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioning.java index 984361655..fc8c6eae4 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioning.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioning.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningState.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningState.java index 0cd8fc1e4..6600a8256 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningState.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningState.java @@ -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; } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningSubtable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningSubtable.java index e1bf6adcb..36d175ff1 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningSubtable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningSubtable.java @@ -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); } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java index f0840f5cf..0a6a17d05 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphPositioningTable.java @@ -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/*>*/ lookups = matchLookups (script, language, "*"); + public boolean position(GlyphSequence gs, String script, String language, int fontSize, int[] widths, int[][] adjustments) { + Map/*>*/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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; } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java index 9c6f5731c..330a27593 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphProcessingState.java @@ -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 count 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 count 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; } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitution.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitution.java index 0cbb4cc4f..4d0939337 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitution.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitution.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionState.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionState.java index fba534361..0b599d088 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionState.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionState.java @@ -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); } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionSubtable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionSubtable.java index 6545cc601..458d960ea 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionSubtable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionSubtable.java @@ -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); } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java index 39a8cb184..c80c0bbae 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubstitutionTable.java @@ -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/*>*/ lookups = matchLookups (script, language, "*"); + Map/*>*/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { - GlyphTable.resolveLookupReferences (rsa, lookupTables); + public void resolveLookupReferences(Map/**/ 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 N+1... 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; diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubtable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubtable.java index 5302c4e42..a3cad4fd7 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphSubtable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphSubtable.java @@ -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/**/ lookupTables) { + public void resolveLookupReferences(Map/**/ 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); } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/GlyphTable.java b/src/java/org/apache/fop/complexscripts/fonts/GlyphTable.java index d0baab90a..e96845eee 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/GlyphTable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/GlyphTable.java @@ -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/*>*/ lookups) { + public GlyphTable(GlyphTable gdef, Map/*>*/ 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/**/ getLookups() { - return matchLookupSpecs ("*", "*", "*"); + return matchLookupSpecs("*", "*", "*"); } /** @@ -120,11 +120,11 @@ public class GlyphTable { * @return (possibly empty) ordered list of all lookup tables */ public List/**/ getLookupTables() { - TreeSet/**/ lids = new TreeSet/**/ (lookupTables.keySet()); - List/**/ ltl = new ArrayList/**/ (lids.size()); + TreeSet/**/ lids = new TreeSet/**/(lookupTables.keySet()); + List/**/ ltl = new ArrayList/**/(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/**/ matchLookupSpecs (String script, String language, String feature) { + public List/**/ matchLookupSpecs(String script, String language, String feature) { Set/**/ keys = lookups.keySet(); List/**/ matches = new ArrayList/**/(); 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/*>*/ matchLookups (String script, String language, String feature) { - LookupSpec lsm = new LookupSpec (script, language, feature, true, true); - Map/*>*/ lm = (Map/*>*/) matchedLookups.get (lsm); + public Map/*>*/ matchLookups(String script, String language, String feature) { + LookupSpec lsm = new LookupSpec(script, language, feature, true, true); + Map/*>*/ lm = (Map/*>*/) matchedLookups.get(lsm); if (lm == null) { lm = new LinkedHashMap(); - List/**/ lsl = matchLookupSpecs (script, language, feature); + List/**/ 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/**/ findLookupTables (LookupSpec ls) { + public List/**/ findLookupTables(LookupSpec ls) { TreeSet/**/ lts = new TreeSet/**/(); List/**/ ids; - if ((ids = (List/**/) lookups.get (ls)) != null) { + if ((ids = (List/**/) 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/**/ (lts); + return new ArrayList/**/(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/*>*/ lookups) { + public UseSpec[] assembleLookups(String[] features, Map/*>*/ lookups) { TreeSet/**/ uss = new TreeSet/**/(); for (int i = 0, n = features.length; i < n; i++) { String feature = features[i]; for (Iterator it = lookups.entrySet().iterator(); it.hasNext(); ) { Map.Entry/*>*/ e = (Map.Entry/*>*/) it.next(); LookupSpec ls = (LookupSpec) e.getKey(); - if (ls.getFeature().equals (feature)) { + if (ls.getFeature().equals(feature)) { List/**/ ltl = (List/**/) 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/**/ lookupTables) { + public static void resolveLookupReferences(RuleSet[] rsa, Map/**/ 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/**/ subtables) { + public LookupTable(String id, List/**/ 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/**/(); 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/**/ 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/**/ lookupTables) { + public void freezeSubtables(Map/**/ lookupTables) { if (! frozen) { GlyphSubtable[] sta = getSubtables(); - resolveLookupReferences (sta, lookupTables); + resolveLookupReferences(sta, lookupTables); this.subtablesArray = sta; this.frozen = true; } } - private void resolveLookupReferences (GlyphSubtable[] subtables, Map/**/ lookupTables) { + private void resolveLookupReferences(GlyphSubtable[] subtables, Map/**/ 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/**/ makeSingleton (GlyphSubtable subtable) { + private static List/**/ makeSingleton(GlyphSubtable subtable) { if (subtable == null) { return null; } else { - List/**/ stl = new ArrayList/**/ (1); - stl.add (subtable); + List/**/ stl = new ArrayList/**/(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/**/ lookupTables) { + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { + public void resolveLookupReferences(Map/**/ 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/**/ lookupTables) { + public void resolveLookupReferences(Map/**/ 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()); } } } diff --git a/src/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java b/src/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java index d5d5cc8d2..b5457e4e4 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java +++ b/src/java/org/apache/fop/complexscripts/fonts/OTFAdvancedTypographicTableReader.java @@ -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/**/ 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/**/ fids) { + private void constructLookupsFeatures(Map lookups, String st, String lt, List/**/ 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/**/ languages) { - Object[] lp = (Object[]) languages.get (lt); + private void constructLookupsLanguage(Map lookups, String st, String lt, Map/**/ 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/**/ ll, Map/**/ languages) { + private void constructLookupsLanguages(Map lookups, String st, List/**/ ll, Map/**/ 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/*>*/ 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/**/ 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(); diff --git a/src/java/org/apache/fop/complexscripts/fonts/Positionable.java b/src/java/org/apache/fop/complexscripts/fonts/Positionable.java index 927d6c854..890036650 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/Positionable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/Positionable.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/fonts/Substitutable.java b/src/java/org/apache/fop/complexscripts/fonts/Substitutable.java index 31824ad8e..984af8dea 100644 --- a/src/java/org/apache/fop/complexscripts/fonts/Substitutable.java +++ b/src/java/org/apache/fop/complexscripts/fonts/Substitutable.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/scripts/ArabicScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/ArabicScriptProcessor.java index 740d81335..2a1e55df3 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/ArabicScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/ArabicScriptProcessor.java @@ -75,49 +75,49 @@ public class ArabicScriptProcessor extends DefaultScriptProcessor { private static class SubstitutionScriptContextTester implements ScriptContextTester { private static Map/**/ testerMap = new HashMap/**/(); 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/**/ testerMap = new HashMap/**/(); - 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; } } diff --git a/src/java/org/apache/fop/complexscripts/scripts/DefaultScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/DefaultScriptProcessor.java index 5f49990ac..1dff3d8c4 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/DefaultScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/DefaultScriptProcessor.java @@ -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; } diff --git a/src/java/org/apache/fop/complexscripts/scripts/DevanagariScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/DevanagariScriptProcessor.java index 171f52d8b..d39261316 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/DevanagariScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/DevanagariScriptProcessor.java @@ -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 diff --git a/src/java/org/apache/fop/complexscripts/scripts/GujaratiScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/GujaratiScriptProcessor.java index 937cc2288..aaf0290e8 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/GujaratiScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/GujaratiScriptProcessor.java @@ -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 diff --git a/src/java/org/apache/fop/complexscripts/scripts/GurmukhiScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/GurmukhiScriptProcessor.java index 2da632574..5c41951cf 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/GurmukhiScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/GurmukhiScriptProcessor.java @@ -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); } } diff --git a/src/java/org/apache/fop/complexscripts/scripts/IndicScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/IndicScriptProcessor.java index 3175884cb..1da3fda42 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/IndicScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/IndicScriptProcessor.java @@ -105,15 +105,15 @@ public class IndicScriptProcessor extends DefaultScriptProcessor { private static class SubstitutionScriptContextTester implements ScriptContextTester { private static Map/**/ testerMap = new HashMap/**/(); - 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/**/ testerMap = new HashMap/**/(); - 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 basicShapingFeatures; @@ -248,13 +248,13 @@ public class IndicScriptProcessor extends DefaultScriptProcessor { static { basicShapingFeatures = new HashSet(); 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(); 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 syllabizers = new HashMap(); - static Syllabizer getSyllabizer (String script, String language, Class syllabizerClass) { - String sid = makeSyllabizerId (script, language); - Syllabizer s = syllabizers.get (sid); + static Syllabizer getSyllabizer(String script, String language, Class 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 syllabizerClass) { + static Syllabizer makeSyllabizer(String script, String language, Class syllabizerClass) { Syllabizer s; try { - Constructor cf = syllabizerClass.getDeclaredConstructor (new Class[] { String.class, String.class }); - s = (Syllabizer) cf.newInstance (script, language); + Constructor 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 sv = new Vector (nc); + protected Segment[] segmentize(int[] ca, int nc) { + Vector sv = new Vector(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 nsv = new Vector(); for (int i = 0, ns = sa.length; i < ns; i++) { Segment s = sa [ i ]; - Vector ngv = new Vector (ng); - Vector nav = new Vector (ng); + Vector ngv = new Vector(ng); + Vector nav = new Vector(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 iv) { + private static int[] toIntArray(Vector 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; diff --git a/src/java/org/apache/fop/complexscripts/scripts/ScriptProcessor.java b/src/java/org/apache/fop/complexscripts/scripts/ScriptProcessor.java index e6529eb2c..72d092b12 100644 --- a/src/java/org/apache/fop/complexscripts/scripts/ScriptProcessor.java +++ b/src/java/org/apache/fop/complexscripts/scripts/ScriptProcessor.java @@ -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/**/(); @@ -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/*>>*/ lookups) { - return substitute (gs, script, language, assembleLookups (gsub, getSubstitutionFeatures(), lookups), getSubstitutionContextTester()); + public final GlyphSequence substitute(GlyphSubstitutionTable gsub, GlyphSequence gs, String script, String language, Map/*>>*/ 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/*>*/ 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/*>*/ 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/*>*/ lookups) { - AssembledLookupsKey key = new AssembledLookupsKey (table, features, lookups); + public final GlyphTable.UseSpec[] assembleLookups(GlyphTable table, String[] features, Map/*>*/ 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/*>*/ lookups; - AssembledLookupsKey (GlyphTable table, String[] features, Map/*>*/ lookups) { + AssembledLookupsKey(GlyphTable table, String[] features, Map/*>*/ 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; diff --git a/src/java/org/apache/fop/complexscripts/util/CharMirror.java b/src/java/org/apache/fop/complexscripts/util/CharMirror.java index c0e2cbc4d..8de2c1fab 100644 --- a/src/java/org/apache/fop/complexscripts/util/CharMirror.java +++ b/src/java/org/apache/fop/complexscripts/util/CharMirror.java @@ -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 { diff --git a/src/java/org/apache/fop/complexscripts/util/CharScript.java b/src/java/org/apache/fop/complexscripts/util/CharScript.java index bd8f45373..06db10304 100644 --- a/src/java/org/apache/fop/complexscripts/util/CharScript.java +++ b/src/java/org/apache/fop/complexscripts/util/CharScript.java @@ -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 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 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 scriptTagsMap = null; private static Map 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 tm = new HashMap(); HashMap cm = new HashMap(); - 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; } diff --git a/src/java/org/apache/fop/complexscripts/util/GlyphContextTester.java b/src/java/org/apache/fop/complexscripts/util/GlyphContextTester.java index 317ccc81a..2e3afcc1d 100644 --- a/src/java/org/apache/fop/complexscripts/util/GlyphContextTester.java +++ b/src/java/org/apache/fop/complexscripts/util/GlyphContextTester.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/util/GlyphSequence.java b/src/java/org/apache/fop/complexscripts/util/GlyphSequence.java index 82d8b0d7a..bd282a430 100644 --- a/src/java/org/apache/fop/complexscripts/util/GlyphSequence.java +++ b/src/java/org/apache/fop/complexscripts/util/GlyphSequence.java @@ -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 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(); } 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(); } 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 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 (predications); + ca.predications = new HashMap(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(); } 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; diff --git a/src/java/org/apache/fop/complexscripts/util/GlyphTester.java b/src/java/org/apache/fop/complexscripts/util/GlyphTester.java index 1d4b4801a..8648dcce6 100644 --- a/src/java/org/apache/fop/complexscripts/util/GlyphTester.java +++ b/src/java/org/apache/fop/complexscripts/util/GlyphTester.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/util/NumberConverter.java b/src/java/org/apache/fop/complexscripts/util/NumberConverter.java index 6e480ea81..08b4a4434 100644 --- a/src/java/org/apache/fop/complexscripts/util/NumberConverter.java +++ b/src/java/org/apache/fop/complexscripts/util/NumberConverter.java @@ -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 numbers = new ArrayList(); - 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 numbers) { + public String convert(List numbers) { List scalars = new ArrayList(); 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 tokens = new ArrayList(); List separators = new ArrayList(); if ((format == null) || (format.length() == 0)) { @@ -162,42 +162,42 @@ public class NumberConverter { } int tokenType = TOKEN_NONE; List token = new ArrayList(); - 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 scalars, List numbers) { + private void convertNumbers(List scalars, List 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 sl = new ArrayList(); 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 sl = new ArrayList(); 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 performGrouping (List sl, int groupingSize, int groupingSeparator) { + private static List performGrouping(List 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 sl = new ArrayList(); @@ -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 scalars, Integer[] sa) { + private static void appendScalars(List scalars, Integer[] sa) { for (Integer s : sa) { - scalars.add (s); + scalars.add(s); } } - private static String scalarsToString (List scalars) { - Integer[] sa = scalars.toArray (new Integer [ scalars.size() ]); - return UTF32.fromUTF32 (sa); + private static String scalarsToString(List 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 convertWordCase (List words, int caseType) { + private static List convertWordCase(List words, int caseType) { List wl = new ArrayList(); 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 words, String separator) { + private static String joinWords(List 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 wl = new ArrayList(); 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 formatOnesInThousand (List wl, int number) { - return formatOnesInThousand (wl, number, false); + private List formatOnesInThousand(List wl, int number) { + return formatOnesInThousand(wl, number, false); } - private List formatOnesInThousand (List wl, int number, boolean ordinal) { + private List formatOnesInThousand(List 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 wl = new ArrayList(); 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 formatOnesInThousand (List wl, int number) { + private List formatOnesInThousand(List 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 wl = new ArrayList(); 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 formatOnesInThousand (List wl, int number) { + private List formatOnesInThousand(List 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 sl = new ArrayList(); 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 sl = new ArrayList(); 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 sl = new ArrayList(); 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; } diff --git a/src/java/org/apache/fop/complexscripts/util/ScriptContextTester.java b/src/java/org/apache/fop/complexscripts/util/ScriptContextTester.java index c63bd6dfb..fa8596a4d 100644 --- a/src/java/org/apache/fop/complexscripts/util/ScriptContextTester.java +++ b/src/java/org/apache/fop/complexscripts/util/ScriptContextTester.java @@ -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); } diff --git a/src/java/org/apache/fop/complexscripts/util/UTF32.java b/src/java/org/apache/fop/complexscripts/util/UTF32.java index 6e0adc18b..225966f54 100644 --- a/src/java/org/apache/fop/complexscripts/util/UTF32.java +++ b/src/java/org/apache/fop/complexscripts/util/UTF32.java @@ -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"); } } diff --git a/src/java/org/apache/fop/events/EventFormatter.java b/src/java/org/apache/fop/events/EventFormatter.java index 36a867232..7f56c8396 100644 --- a/src/java/org/apache/fop/events/EventFormatter.java +++ b/src/java/org/apache/fop/events/EventFormatter.java @@ -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))); } diff --git a/src/java/org/apache/fop/fo/FONode.java b/src/java/org/apache/fop/fo/FONode.java index 2722498c7..e2b91b55c 100644 --- a/src/java/org/apache/fop/fo/FONode.java +++ b/src/java/org/apache/fop/fo/FONode.java @@ -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; diff --git a/src/java/org/apache/fop/fo/FOPropertyMapping.java b/src/java/org/apache/fop/fo/FOPropertyMapping.java index a8a3d5bb6..61255dc01 100644 --- a/src/java/org/apache/fop/fo/FOPropertyMapping.java +++ b/src/java/org/apache/fop/fo/FOPropertyMapping.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/FOText.java b/src/java/org/apache/fop/fo/FOText.java index caa27ed0c..2fc998c63 100644 --- a/src/java/org/apache/fop/fo/FOText.java +++ b/src/java/org/apache/fop/fo/FOText.java @@ -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); diff --git a/src/java/org/apache/fop/fo/FObj.java b/src/java/org/apache/fop/fo/FObj.java index 96b817de3..92dc9fd73 100644 --- a/src/java/org/apache/fop/fo/FObj.java +++ b/src/java/org/apache/fop/fo/FObj.java @@ -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); } } } diff --git a/src/java/org/apache/fop/fo/expr/FromNearestSpecifiedValueFunction.java b/src/java/org/apache/fop/fo/expr/FromNearestSpecifiedValueFunction.java index a3698edf1..6da7fcd25 100644 --- a/src/java/org/apache/fop/fo/expr/FromNearestSpecifiedValueFunction.java +++ b/src/java/org/apache/fop/fo/expr/FromNearestSpecifiedValueFunction.java @@ -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); } } diff --git a/src/java/org/apache/fop/fo/expr/FromParentFunction.java b/src/java/org/apache/fop/fo/expr/FromParentFunction.java index ce6873e54..22a1a95e1 100644 --- a/src/java/org/apache/fop/fo/expr/FromParentFunction.java +++ b/src/java/org/apache/fop/fo/expr/FromParentFunction.java @@ -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); } } diff --git a/src/java/org/apache/fop/fo/expr/FromTableColumnFunction.java b/src/java/org/apache/fop/fo/expr/FromTableColumnFunction.java index 98d4e1d07..6874a821f 100644 --- a/src/java/org/apache/fop/fo/expr/FromTableColumnFunction.java +++ b/src/java/org/apache/fop/fo/expr/FromTableColumnFunction.java @@ -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); } } diff --git a/src/java/org/apache/fop/fo/expr/FunctionBase.java b/src/java/org/apache/fop/fo/expr/FunctionBase.java index bb68a1201..707424b86 100644 --- a/src/java/org/apache/fop/fo/expr/FunctionBase.java +++ b/src/java/org/apache/fop/fo/expr/FunctionBase.java @@ -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()); } } diff --git a/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java b/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java index 35d5803e9..d73a8e089 100644 --- a/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java +++ b/src/java/org/apache/fop/fo/expr/InheritedPropFunction.java @@ -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); } } diff --git a/src/java/org/apache/fop/fo/expr/PropertyParser.java b/src/java/org/apache/fop/fo/expr/PropertyParser.java index b910c1c12..574fc0e12 100644 --- a/src/java/org/apache/fop/fo/expr/PropertyParser.java +++ b/src/java/org/apache/fop/fo/expr/PropertyParser.java @@ -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() ]); } /** diff --git a/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java b/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java index 159f91304..22b5c05e4 100644 --- a/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java +++ b/src/java/org/apache/fop/fo/expr/PropertyTokenizer.java @@ -255,7 +255,7 @@ class PropertyTokenizer { private void scanRestOfName() { while (++exprIndex < exprLength) { - if (!isNameChar (expr.charAt (exprIndex))) { + if (!isNameChar(expr.charAt(exprIndex))) { break; } } diff --git a/src/java/org/apache/fop/fo/extensions/svg/SVGElement.java b/src/java/org/apache/fop/fo/extensions/svg/SVGElement.java index 5c6ab16ad..eac8338aa 100644 --- a/src/java/org/apache/fop/fo/extensions/svg/SVGElement.java +++ b/src/java/org/apache/fop/fo/extensions/svg/SVGElement.java @@ -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); } diff --git a/src/java/org/apache/fop/fo/flow/AbstractGraphics.java b/src/java/org/apache/fop/fo/flow/AbstractGraphics.java index f0b0bc7b5..9d94644b9 100644 --- a/src/java/org/apache/fop/fo/flow/AbstractGraphics.java +++ b/src/java/org/apache/fop/fo/flow/AbstractGraphics.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java b/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java index 2127b98ea..af6c5d316 100644 --- a/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java +++ b/src/java/org/apache/fop/fo/flow/AbstractPageNumberCitation.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/BidiOverride.java b/src/java/org/apache/fop/fo/flow/BidiOverride.java index 62e4d7c5c..9f0ea2470 100644 --- a/src/java/org/apache/fop/fo/flow/BidiOverride.java +++ b/src/java/org/apache/fop/fo/flow/BidiOverride.java @@ -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; diff --git a/src/java/org/apache/fop/fo/flow/BlockContainer.java b/src/java/org/apache/fop/fo/flow/BlockContainer.java index bab0f7ac5..b8616c1ce 100644 --- a/src/java/org/apache/fop/fo/flow/BlockContainer.java +++ b/src/java/org/apache/fop/fo/flow/BlockContainer.java @@ -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(); } diff --git a/src/java/org/apache/fop/fo/flow/Character.java b/src/java/org/apache/fop/fo/flow/Character.java index 8e59d1f9b..e5f5dadd9 100644 --- a/src/java/org/apache/fop/fo/flow/Character.java +++ b/src/java/org/apache/fop/fo/flow/Character.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/InlineContainer.java b/src/java/org/apache/fop/fo/flow/InlineContainer.java index e3d3bd84c..748eb593a 100644 --- a/src/java/org/apache/fop/fo/flow/InlineContainer.java +++ b/src/java/org/apache/fop/fo/flow/InlineContainer.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/InlineLevel.java b/src/java/org/apache/fop/fo/flow/InlineLevel.java index 66c03cf7d..87ea5837a 100644 --- a/src/java/org/apache/fop/fo/flow/InlineLevel.java +++ b/src/java/org/apache/fop/fo/flow/InlineLevel.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/Leader.java b/src/java/org/apache/fop/fo/flow/Leader.java index e39996a97..123da0c48 100644 --- a/src/java/org/apache/fop/fo/flow/Leader.java +++ b/src/java/org/apache/fop/fo/flow/Leader.java @@ -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; diff --git a/src/java/org/apache/fop/fo/flow/ListItem.java b/src/java/org/apache/fop/fo/flow/ListItem.java index 2e572aac5..b7f6e15cc 100644 --- a/src/java/org/apache/fop/fo/flow/ListItem.java +++ b/src/java/org/apache/fop/fo/flow/ListItem.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/flow/PageNumber.java b/src/java/org/apache/fop/fo/flow/PageNumber.java index 1cd76e572..8fac84bca 100644 --- a/src/java/org/apache/fop/fo/flow/PageNumber.java +++ b/src/java/org/apache/fop/fo/flow/PageNumber.java @@ -201,7 +201,7 @@ public class PageNumber extends FObj } @Override - public boolean isDelimitedTextRangeBoundary (int boundary) { + public boolean isDelimitedTextRangeBoundary(int boundary) { return false; } diff --git a/src/java/org/apache/fop/fo/flow/RetrieveTableMarker.java b/src/java/org/apache/fop/fo/flow/RetrieveTableMarker.java index d4bc7c687..57ae9e7bb 100644 --- a/src/java/org/apache/fop/fo/flow/RetrieveTableMarker.java +++ b/src/java/org/apache/fop/fo/flow/RetrieveTableMarker.java @@ -47,8 +47,8 @@ public class RetrieveTableMarker extends AbstractRetrieveMarker { * NOTE: An fo:retrieve-table-marker is only permitted as a descendant * of an fo:table-header or an fo:table-footer. */ - 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) { diff --git a/src/java/org/apache/fop/fo/flow/Wrapper.java b/src/java/org/apache/fop/fo/flow/Wrapper.java index a62d4f7a9..134d65c9a 100644 --- a/src/java/org/apache/fop/fo/flow/Wrapper.java +++ b/src/java/org/apache/fop/fo/flow/Wrapper.java @@ -150,7 +150,7 @@ public class Wrapper extends FObjMixed implements CommonAccessibilityHolder { } @Override - public boolean isDelimitedTextRangeBoundary (int boundary) { + public boolean isDelimitedTextRangeBoundary(int boundary) { return false; } diff --git a/src/java/org/apache/fop/fo/flow/table/Table.java b/src/java/org/apache/fop/fo/flow/table/Table.java index 46804577d..983954e79 100644 --- a/src/java/org/apache/fop/fo/flow/table/Table.java +++ b/src/java/org/apache/fop/fo/flow/table/Table.java @@ -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; } diff --git a/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java b/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java index 6bc913d1b..bda08838e 100644 --- a/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java +++ b/src/java/org/apache/fop/fo/pagination/PageNumberGenerator.java @@ -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); } } diff --git a/src/java/org/apache/fop/fo/pagination/PageSequence.java b/src/java/org/apache/fop/fo/pagination/PageSequence.java index c4c380059..368b69f90 100644 --- a/src/java/org/apache/fop/fo/pagination/PageSequence.java +++ b/src/java/org/apache/fop/fo/pagination/PageSequence.java @@ -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 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; } diff --git a/src/java/org/apache/fop/fo/pagination/RegionAfter.java b/src/java/org/apache/fop/fo/pagination/RegionAfter.java index 757ec4f33..1232c68bc 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionAfter.java +++ b/src/java/org/apache/fop/fo/pagination/RegionAfter.java @@ -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. */ diff --git a/src/java/org/apache/fop/fo/pagination/RegionBA.java b/src/java/org/apache/fop/fo/pagination/RegionBA.java index 0b394f63e..82decf32e 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionBA.java +++ b/src/java/org/apache/fop/fo/pagination/RegionBA.java @@ -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) { diff --git a/src/java/org/apache/fop/fo/pagination/RegionBefore.java b/src/java/org/apache/fop/fo/pagination/RegionBefore.java index 1a4c07db8..5a0e7543c 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionBefore.java +++ b/src/java/org/apache/fop/fo/pagination/RegionBefore.java @@ -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. */ diff --git a/src/java/org/apache/fop/fo/pagination/RegionBody.java b/src/java/org/apache/fop/fo/pagination/RegionBody.java index cd5cddf47..164c1cee5 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionBody.java +++ b/src/java/org/apache/fop/fo/pagination/RegionBody.java @@ -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 diff --git a/src/java/org/apache/fop/fo/pagination/RegionEnd.java b/src/java/org/apache/fop/fo/pagination/RegionEnd.java index 4a28cba55..5de7dc194 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionEnd.java +++ b/src/java/org/apache/fop/fo/pagination/RegionEnd.java @@ -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. */ diff --git a/src/java/org/apache/fop/fo/pagination/RegionSE.java b/src/java/org/apache/fop/fo/pagination/RegionSE.java index 1b0fb9cf0..79b36645c 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionSE.java +++ b/src/java/org/apache/fop/fo/pagination/RegionSE.java @@ -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) { diff --git a/src/java/org/apache/fop/fo/pagination/RegionStart.java b/src/java/org/apache/fop/fo/pagination/RegionStart.java index 31c92870f..6e2e752fc 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionStart.java +++ b/src/java/org/apache/fop/fo/pagination/RegionStart.java @@ -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. */ diff --git a/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java b/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java index fa81ad599..b84c5eeea 100644 --- a/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java +++ b/src/java/org/apache/fop/fo/properties/DimensionPropertyMaker.java @@ -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; diff --git a/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java b/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java index dd00cd044..5d4a696c4 100644 --- a/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java +++ b/src/java/org/apache/fop/fo/properties/IndentPropertyMaker.java @@ -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; diff --git a/src/java/org/apache/fop/fo/properties/TextDecorationMaker.java b/src/java/org/apache/fop/fo/properties/TextDecorationMaker.java index fad48ed0c..f084fa017 100644 --- a/src/java/org/apache/fop/fo/properties/TextDecorationMaker.java +++ b/src/java/org/apache/fop/fo/properties/TextDecorationMaker.java @@ -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: diff --git a/src/java/org/apache/fop/fonts/CMapSegment.java b/src/java/org/apache/fop/fonts/CMapSegment.java index 9a371943a..664ae727f 100644 --- a/src/java/org/apache/fop/fonts/CMapSegment.java +++ b/src/java/org/apache/fop/fonts/CMapSegment.java @@ -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(); } diff --git a/src/java/org/apache/fop/fonts/Font.java b/src/java/org/apache/fop/fonts/Font.java index 7850c1763..516b60bcd 100644 --- a/src/java/org/apache/fop/fonts/Font.java +++ b/src/java/org/apache/fop/fonts/Font.java @@ -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); } } diff --git a/src/java/org/apache/fop/fonts/FontInfo.java b/src/java/org/apache/fop/fonts/FontInfo.java index cb1827e51..472567eec 100644 --- a/src/java/org/apache/fop/fonts/FontInfo.java +++ b/src/java/org/apache/fop/fonts/FontInfo.java @@ -590,7 +590,7 @@ public class FontInfo { * @return A list of matching font triplets */ public List getTripletsFor(String fontName) { - List foundTriplets = new ArrayList (); + List foundTriplets = new ArrayList(); for (Map.Entry tripletEntry : triplets.entrySet()) { if (fontName.equals((tripletEntry.getValue()))) { foundTriplets.add(tripletEntry.getKey()); diff --git a/src/java/org/apache/fop/fonts/LazyFont.java b/src/java/org/apache/fop/fonts/LazyFont.java index fb726e6f7..49b2e0457 100644 --- a/src/java/org/apache/fop/fonts/LazyFont.java +++ b/src/java/org/apache/fop/fonts/LazyFont.java @@ -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); } diff --git a/src/java/org/apache/fop/fonts/MultiByteFont.java b/src/java/org/apache/fop/fonts/MultiByteFont.java index 4cb2753af..6e4b1dffe 100644 --- a/src/java/org/apache/fop/fonts/MultiByteFont.java +++ b/src/java/org/apache/fop/fonts/MultiByteFont.java @@ -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(); diff --git a/src/java/org/apache/fop/fonts/truetype/TTFFile.java b/src/java/org/apache/fop/fonts/truetype/TTFFile.java index bc114c4ae..3c234e0a3 100644 --- a/src/java/org/apache/fop/fonts/truetype/TTFFile.java +++ b/src/java/org/apache/fop/fonts/truetype/TTFFile.java @@ -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 glyphToUnicodeMap = new HashMap (); - private final Map unicodeToGlyphMap = new HashMap (); + private final Map glyphToUnicodeMap = new HashMap(); + private final Map unicodeToGlyphMap = new HashMap(); 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() diff --git a/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java b/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java index 91ea42106..b7adbd4c9 100644 --- a/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java +++ b/src/java/org/apache/fop/fonts/truetype/TTFFontLoader.java @@ -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()); } } diff --git a/src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java b/src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java index a68baf2c1..c9a0e6c8e 100644 --- a/src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java +++ b/src/java/org/apache/fop/fonts/truetype/TTFSubSetFile.java @@ -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); } diff --git a/src/java/org/apache/fop/hyphenation/SerializeHyphPattern.java b/src/java/org/apache/fop/hyphenation/SerializeHyphPattern.java index 4673a6793..536c7444a 100644 --- a/src/java/org/apache/fop/hyphenation/SerializeHyphPattern.java +++ b/src/java/org/apache/fop/hyphenation/SerializeHyphPattern.java @@ -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])); } diff --git a/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java b/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java index 2cdcf4505..7f806a883 100644 --- a/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java +++ b/src/java/org/apache/fop/layoutmgr/AbstractBreaker.java @@ -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; diff --git a/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java b/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java index 70ad376c0..a23cd28f1 100644 --- a/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java @@ -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()); diff --git a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java index 317623cd5..0fb738aea 100644 --- a/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java @@ -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()); diff --git a/src/java/org/apache/fop/layoutmgr/KnuthSequence.java b/src/java/org/apache/fop/layoutmgr/KnuthSequence.java index 8d5e77ae0..cd37f0d3a 100644 --- a/src/java/org/apache/fop/layoutmgr/KnuthSequence.java +++ b/src/java/org/apache/fop/layoutmgr/KnuthSequence.java @@ -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()))); } } diff --git a/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java b/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java index dce290b50..87e984e76 100644 --- a/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java +++ b/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java @@ -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; diff --git a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java index 3b4b84346..7ed910473 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/CharacterLayoutManager.java @@ -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, diff --git a/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java b/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java index 183b83e70..8a25dc62b 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java +++ b/src/java/org/apache/fop/layoutmgr/inline/ImageLayout.java @@ -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: diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java index ebf7a9ccb..00782f62b 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java @@ -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 diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java index a1c50d45f..1f4a06ee2 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java @@ -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); } diff --git a/src/java/org/apache/fop/layoutmgr/inline/KnuthInlineBox.java b/src/java/org/apache/fop/layoutmgr/inline/KnuthInlineBox.java index 312a58fc0..e786acdd3 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/KnuthInlineBox.java +++ b/src/java/org/apache/fop/layoutmgr/inline/KnuthInlineBox.java @@ -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; } diff --git a/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java index c19519ec8..f0ae4170d 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LeaderLayoutManager.java @@ -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()); diff --git a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java index 5a191e922..b3987a075 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java @@ -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); } diff --git a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java index 2bfe65d13..53f51cd32 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/TextLayoutManager.java @@ -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() + "}"; diff --git a/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java b/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java index f2a87b75a..048f83269 100644 --- a/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java +++ b/src/java/org/apache/fop/layoutmgr/table/CollapsingBorderModel.java @@ -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."); } diff --git a/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java b/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java index bb5661a07..1d1a44349 100644 --- a/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java +++ b/src/java/org/apache/fop/layoutmgr/table/ColumnSetup.java @@ -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(); } diff --git a/src/java/org/apache/fop/pdf/DestinationComparator.java b/src/java/org/apache/fop/pdf/DestinationComparator.java index dd8e3392f..bb298ade3 100644 --- a/src/java/org/apache/fop/pdf/DestinationComparator.java +++ b/src/java/org/apache/fop/pdf/DestinationComparator.java @@ -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; diff --git a/src/java/org/apache/fop/pdf/PDFTextUtil.java b/src/java/org/apache/fop/pdf/PDFTextUtil.java index cf7168e1c..8c931ad93 100644 --- a/src/java/org/apache/fop/pdf/PDFTextUtil.java +++ b/src/java/org/apache/fop/pdf/PDFTextUtil.java @@ -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); diff --git a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java index b374e1a2d..622b6d269 100644 --- a/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java +++ b/src/java/org/apache/fop/render/AbstractPathOrientedRenderer.java @@ -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) { diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index ca4a24512..e274e5c4b 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -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++) { diff --git a/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java b/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java index 3adbd68f6..aea7fe8c0 100644 --- a/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java +++ b/src/java/org/apache/fop/render/afp/AFPImageHandlerRenderedImage.java @@ -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 { diff --git a/src/java/org/apache/fop/render/afp/AFPInfo.java b/src/java/org/apache/fop/render/afp/AFPInfo.java index 045fccccd..647a8a7c0 100644 --- a/src/java/org/apache/fop/render/afp/AFPInfo.java +++ b/src/java/org/apache/fop/render/afp/AFPInfo.java @@ -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; } diff --git a/src/java/org/apache/fop/render/afp/AFPPainter.java b/src/java/org/apache/fop/render/afp/AFPPainter.java index f7424c89c..12713bb24 100644 --- a/src/java/org/apache/fop/render/afp/AFPPainter.java +++ b/src/java/org/apache/fop/render/afp/AFPPainter.java @@ -940,7 +940,7 @@ public class AFPPainter extends AbstractIFPainter { 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(); diff --git a/src/java/org/apache/fop/render/afp/AFPSVGHandler.java b/src/java/org/apache/fop/render/afp/AFPSVGHandler.java index b73e22d89..4549a26af 100644 --- a/src/java/org/apache/fop/render/afp/AFPSVGHandler.java +++ b/src/java/org/apache/fop/render/afp/AFPSVGHandler.java @@ -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(); diff --git a/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java b/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java index 32f31ce4c..dc9256389 100644 --- a/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java +++ b/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java @@ -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(); diff --git a/src/java/org/apache/fop/render/intermediate/AffineTransformArrayParser.java b/src/java/org/apache/fop/render/intermediate/AffineTransformArrayParser.java index bc44a255d..acbe1a793 100644 --- a/src/java/org/apache/fop/render/intermediate/AffineTransformArrayParser.java +++ b/src/java/org/apache/fop/render/intermediate/AffineTransformArrayParser.java @@ -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} */ diff --git a/src/java/org/apache/fop/render/intermediate/IFGraphicContext.java b/src/java/org/apache/fop/render/intermediate/IFGraphicContext.java index cc7015a71..868615360 100644 --- a/src/java/org/apache/fop/render/intermediate/IFGraphicContext.java +++ b/src/java/org/apache/fop/render/intermediate/IFGraphicContext.java @@ -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 */ diff --git a/src/java/org/apache/fop/render/intermediate/IFPainter.java b/src/java/org/apache/fop/render/intermediate/IFPainter.java index 5d2beb65c..599292287 100644 --- a/src/java/org/apache/fop/render/intermediate/IFPainter.java +++ b/src/java/org/apache/fop/render/intermediate/IFPainter.java @@ -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; diff --git a/src/java/org/apache/fop/render/intermediate/IFParser.java b/src/java/org/apache/fop/render/intermediate/IFParser.java index c0fef8423..1af1d4a06 100644 --- a/src/java/org/apache/fop/render/intermediate/IFParser.java +++ b/src/java/org/apache/fop/render/intermediate/IFParser.java @@ -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")); diff --git a/src/java/org/apache/fop/render/intermediate/IFRenderer.java b/src/java/org/apache/fop/render/intermediate/IFRenderer.java index 5cdac7c88..f0d25a84d 100644 --- a/src/java/org/apache/fop/render/intermediate/IFRenderer.java +++ b/src/java/org/apache/fop/render/intermediate/IFRenderer.java @@ -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; diff --git a/src/java/org/apache/fop/render/intermediate/IFUtil.java b/src/java/org/apache/fop/render/intermediate/IFUtil.java index 1b9223913..a534ca729 100644 --- a/src/java/org/apache/fop/render/intermediate/IFUtil.java +++ b/src/java/org/apache/fop/render/intermediate/IFUtil.java @@ -212,7 +212,7 @@ public final class IFUtil { * @return if dp 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 dp 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 dx 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 dx 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 dp 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 dp 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 dp 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 { diff --git a/src/java/org/apache/fop/render/java2d/Java2DPainter.java b/src/java/org/apache/fop/render/java2d/Java2DPainter.java index e49f17988..c9bddb8db 100644 --- a/src/java/org/apache/fop/render/java2d/Java2DPainter.java +++ b/src/java/org/apache/fop/render/java2d/Java2DPainter.java @@ -234,7 +234,7 @@ public class Java2DPainter extends AbstractIFPainter { 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) { diff --git a/src/java/org/apache/fop/render/pcl/PCLPainter.java b/src/java/org/apache/fop/render/pcl/PCLPainter.java index 974f5d7da..7a15a5f52 100644 --- a/src/java/org/apache/fop/render/pcl/PCLPainter.java +++ b/src/java/org/apache/fop/render/pcl/PCLPainter.java @@ -346,7 +346,7 @@ public class PCLPainter extends AbstractIFPainter 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 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) { diff --git a/src/java/org/apache/fop/render/pdf/PDFPainter.java b/src/java/org/apache/fop/render/pdf/PDFPainter.java index 33687069b..d9fdd399c 100644 --- a/src/java/org/apache/fop/render/pdf/PDFPainter.java +++ b/src/java/org/apache/fop/render/pdf/PDFPainter.java @@ -355,11 +355,11 @@ public class PDFPainter extends AbstractIFPainter { 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 { 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 { 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 { } } - 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 { diff --git a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java index 3cda75fac..1d464cae6 100644 --- a/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java +++ b/src/java/org/apache/fop/render/ps/AbstractPSTranscoder.java @@ -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); diff --git a/src/java/org/apache/fop/render/ps/PSFontUtils.java b/src/java/org/apache/fop/render/ps/PSFontUtils.java index 9e810c824..e57567b88 100644 --- a/src/java/org/apache/fop/render/ps/PSFontUtils.java +++ b/src/java/org/apache/fop/render/ps/PSFontUtils.java @@ -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); diff --git a/src/java/org/apache/fop/render/rtf/RTFHandler.java b/src/java/org/apache/fop/render/rtf/RTFHandler.java index 61f4203e7..94ed80949 100644 --- a/src/java/org/apache/fop/render/rtf/RTFHandler.java +++ b/src/java/org/apache/fop/render/rtf/RTFHandler.java @@ -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; diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfBookmarkContainer.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfBookmarkContainer.java index d55d78487..68c17b695 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfBookmarkContainer.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfBookmarkContainer.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfExternalGraphicContainer.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfExternalGraphicContainer.java index 14486d8d1..22914a5a0 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfExternalGraphicContainer.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfExternalGraphicContainer.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfHyperLinkContainer.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfHyperLinkContainer.java index 2f164fd80..195c71423 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfHyperLinkContainer.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfHyperLinkContainer.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfOptions.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfOptions.java index ed69bada1..23b8f2d8a 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfOptions.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IRtfOptions.java @@ -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(); } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IrtfTemplateContainer.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IrtfTemplateContainer.java index a02825b3c..1b32ece43 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IrtfTemplateContainer.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/IrtfTemplateContainer.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfAttributes.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfAttributes.java index f1f25f3b4..5ab3ce26d 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfAttributes.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfAttributes.java @@ -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); } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmark.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmark.java index f43e3d83c..01f29c7ee 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmark.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmark.java @@ -60,15 +60,15 @@ public class RtfBookmark extends RtfElement { * @param writer a Writer 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); } /** diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmarkContainerImpl.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmarkContainerImpl.java index da42cfbc0..7bbe65ef0 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmarkContainerImpl.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfBookmarkContainerImpl.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java index eff6aaba6..3ce0376d6 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfColorTable.java @@ -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; diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfContainer.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfContainer.java index 4e86f0091..a42d25b69 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfContainer.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfContainer.java @@ -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; diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java index e5faf94bc..6540cfd72 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java @@ -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 " + " 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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExtraRowSet.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExtraRowSet.java index 8ddad6c1d..14418432e 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExtraRowSet.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExtraRowSet.java @@ -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 - */ diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java index 2a4131e55..d7a56f00e 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontManager.java @@ -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); } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontTable.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontTable.java index 0d3e8099e..50b53a4e8 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontTable.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfFontTable.java @@ -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 */ diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHyperLink.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHyperLink.java index baca88926..816e67f9b 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHyperLink.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfHyperLink.java @@ -66,10 +66,10 @@ implements IRtfTextContainer, * @param attr a RtfAttributes 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 RtfAttributes 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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java index 2593daa51..96fa53d9c 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfPageNumberCitation.java @@ -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); diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraphBreak.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraphBreak.java index 0d3ebd742..15c4d0e35 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraphBreak.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfParagraphBreak.java @@ -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); } /** diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfSection.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfSection.java index ae2ab2b94..0a796a3d9 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfSection.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfSection.java @@ -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"); } } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java index fdd230b78..4d45c4859 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfStyleSheetTable.java @@ -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(); } } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTable.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTable.java index 018cbd845..ee9923d90 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTable.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTable.java @@ -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; } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableCell.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableCell.java index faa0852ed..8127d9a15 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableCell.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableCell.java @@ -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); diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java index 19bda2e14..e4f9cd9dc 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTableRow.java @@ -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 diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java index 74e9eca25..98896d286 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfTemplate.java @@ -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); } } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java index 89c7d2899..e32891e9b 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfText.java @@ -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; } } diff --git a/src/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java b/src/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java index 8e9c1a1be..0ee70bf31 100644 --- a/src/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java +++ b/src/java/org/apache/fop/render/rtf/rtflib/tools/ImageUtil.java @@ -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; diff --git a/src/java/org/apache/fop/render/xml/XMLRenderer.java b/src/java/org/apache/fop/render/xml/XMLRenderer.java index fae50e900..2212da434 100644 --- a/src/java/org/apache/fop/render/xml/XMLRenderer.java +++ b/src/java/org/apache/fop/render/xml/XMLRenderer.java @@ -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"); } diff --git a/src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java b/src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java index 399d1d8bd..b813478a9 100644 --- a/src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java +++ b/src/java/org/apache/fop/svg/AbstractFOPImageElementBridge.java @@ -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); } diff --git a/src/java/org/apache/fop/svg/PDFGraphics2D.java b/src/java/org/apache/fop/svg/PDFGraphics2D.java index 5d82ade23..97b5e9fda 100644 --- a/src/java/org/apache/fop/svg/PDFGraphics2D.java +++ b/src/java/org/apache/fop/svg/PDFGraphics2D.java @@ -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(); diff --git a/src/java/org/apache/fop/svg/PDFTranscoder.java b/src/java/org/apache/fop/svg/PDFTranscoder.java index 30b787a77..9f0345657 100644 --- a/src/java/org/apache/fop/svg/PDFTranscoder.java +++ b/src/java/org/apache/fop/svg/PDFTranscoder.java @@ -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); diff --git a/src/java/org/apache/fop/traits/WritingMode.java b/src/java/org/apache/fop/traits/WritingMode.java index 8241dcedf..8718118ef 100644 --- a/src/java/org/apache/fop/traits/WritingMode.java +++ b/src/java/org/apache/fop/traits/WritingMode.java @@ -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); } /** diff --git a/src/java/org/apache/fop/traits/WritingModeTraits.java b/src/java/org/apache/fop/traits/WritingModeTraits.java index 0a2d303c1..279326afa 100644 --- a/src/java/org/apache/fop/traits/WritingModeTraits.java +++ b/src/java/org/apache/fop/traits/WritingModeTraits.java @@ -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; diff --git a/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java b/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java index b5c862cd4..6dcf0fb12 100644 --- a/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java +++ b/src/java/org/apache/fop/traits/WritingModeTraitsSetter.java @@ -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); } diff --git a/src/java/org/apache/fop/util/CharUtilities.java b/src/java/org/apache/fop/util/CharUtilities.java index d5f0c9a21..e0f5e1911 100644 --- a/src/java/org/apache/fop/util/CharUtilities.java +++ b/src/java/org/apache/fop/util/CharUtilities.java @@ -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 ("<"); + sb.append("<"); } else if (c == '>') { - sb.append (">"); + sb.append(">"); } else if (c == '&') { - sb.append ("&"); + sb.append("&"); } 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()) { diff --git a/src/java/org/apache/fop/util/XMLUtil.java b/src/java/org/apache/fop/util/XMLUtil.java index ce71b20af..24c75922c 100644 --- a/src/java/org/apache/fop/util/XMLUtil.java +++ b/src/java/org/apache/fop/util/XMLUtil.java @@ -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; } } diff --git a/src/sandbox/org/apache/fop/render/mif/MIFHandler.java b/src/sandbox/org/apache/fop/render/mif/MIFHandler.java index 157cdbf3f..00b9dfbfe 100644 --- a/src/sandbox/org/apache/fop/render/mif/MIFHandler.java +++ b/src/sandbox/org/apache/fop/render/mif/MIFHandler.java @@ -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 diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java index dbc67d4e0..f20e113c1 100644 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java +++ b/test/java/org/apache/fop/complexscripts/bidi/BidiAlgorithmTestCase.java @@ -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(); } diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java b/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java index f3ce4c5d5..10a84b856 100644 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java +++ b/test/java/org/apache/fop/complexscripts/bidi/BidiClassTestCase.java @@ -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); } } } diff --git a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java index 0489505ea..726682ce0 100644 --- a/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java +++ b/test/java/org/apache/fop/complexscripts/bidi/BidiTestData.java @@ -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(); } diff --git a/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java index 79895d3ad..af929d3a1 100644 --- a/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java +++ b/test/java/org/apache/fop/complexscripts/fonts/GDEFTestCase.java @@ -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; } } diff --git a/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java index a6fc52ebc..270b56797 100644 --- a/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java +++ b/test/java/org/apache/fop/complexscripts/fonts/GPOSTestCase.java @@ -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); } } } diff --git a/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java index e8c333fac..b235fa58c 100644 --- a/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java +++ b/test/java/org/apache/fop/complexscripts/fonts/GSUBTestCase.java @@ -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); } } diff --git a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java index 00bdd5acd..b3e080d50 100644 --- a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java +++ b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFile.java @@ -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 getCMAP() { Map 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 getGMAP() { Map 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 glyphClasses, int format, boolean clearSourceMap) { + private GlyphClassTable extractClassDefMapping(Map 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(); 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(); 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 glyphClasses, boolean clearSourceMap) { + private int[][] extractClassMappings(Map glyphClasses, boolean clearSourceMap) { int nc = glyphClasses.size(); int i = 0; int[][] cma = new int [ nc ] [ 2 ]; for (Map.Entry 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() { - public int compare (int[] m1, int[] m2) { + private int[][] sortClassMappings(int[][] cma) { + Arrays.sort(cma, new Comparator() { + 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() { - public int compare (Object[] p1, Object[] p2) { + Arrays.sort(pa, new Comparator() { + 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 (coverageEntries); + List entries = new ArrayList(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 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> extractLanguages() { - Map> lm = new HashMap (languages); + Map> 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 (featureLookups); + List lookups = new ArrayList(featureLookups); clearFeatureLookups(); return lookups; } @@ -2928,21 +2928,21 @@ public class TTXFile { private Map> extractLookups() { Map> lookups = new LinkedHashMap>(); for (String st : scripts.keySet()) { - Map> lm = scripts.get (st); + Map> lm = scripts.get(st); if (lm != null) { for (String lt : lm.keySet()) { - List fids = lm.get (lt); + List 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 lids = (List) 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; diff --git a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java index 9aeff626a..f4b7d34e8 100644 --- a/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java +++ b/test/java/org/apache/fop/complexscripts/fonts/ttx/TTXFileTestCase.java @@ -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()); } } } diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicTestCase.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicTestCase.java index 82abe9de8..d34e88a03 100644 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicTestCase.java +++ b/test/java/org/apache/fop/complexscripts/scripts/arabic/ArabicTestCase.java @@ -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 data = (List) 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 data) { + private void processWordForms(List 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; } diff --git a/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java b/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java index 718e80ff2..a4f876dd8 100644 --- a/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java +++ b/test/java/org/apache/fop/complexscripts/scripts/arabic/GenerateArabicTestData.java @@ -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 data = new ArrayList(); - 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 data) { + private static void output(String dpn, List 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) {} diff --git a/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java b/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java index aa6ca0db3..ea885b6c5 100644 --- a/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java +++ b/test/java/org/apache/fop/complexscripts/util/NumberConverterTestCase.java @@ -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 numbers = new ArrayList(); 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); } } diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/BasicLink.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/BasicLink.java index a31859757..07085059d 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/BasicLink.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/BasicLink.java @@ -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(); diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ExternalGraphic.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ExternalGraphic.java index 73a451818..b957bc1fa 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ExternalGraphic.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ExternalGraphic.java @@ -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(); diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java index 63de9ba05..f1817bf03 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/MergedTableCells.java @@ -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"); } } } diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/NestedTable.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/NestedTable.java index f126b60c8..72dad7e98 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/NestedTable.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/NestedTable.java @@ -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."); } } diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ParagraphAlignment.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ParagraphAlignment.java index 17992c5d2..2b38aa789 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ParagraphAlignment.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/ParagraphAlignment.java @@ -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(); } diff --git a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/SimpleTable.java b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/SimpleTable.java index 272284dcc..cf84b3ec4 100644 --- a/test/java/org/apache/fop/render/rtf/rtflib/testdocs/SimpleTable.java +++ b/test/java/org/apache/fop/render/rtf/rtflib/testdocs/SimpleTable.java @@ -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(); diff --git a/test/java/org/apache/fop/visual/BitmapComparator.java b/test/java/org/apache/fop/visual/BitmapComparator.java index 650554f37..e0c1d5bd4 100644 --- a/test/java/org/apache/fop/visual/BitmapComparator.java +++ b/test/java/org/apache/fop/visual/BitmapComparator.java @@ -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; -- 2.39.5