geomerative 0.4.0-java → 2.0.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.mvn/extensions.xml +1 -1
  4. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  5. data/CHANGELOG.md +25 -0
  6. data/COPYING.md +1 -1
  7. data/README.md +4 -2
  8. data/Rakefile +2 -15
  9. data/docs/.gitignore +6 -0
  10. data/docs/_config.yml +30 -0
  11. data/docs/_includes/footer.html +38 -0
  12. data/docs/_includes/head.html +16 -0
  13. data/docs/_includes/header.html +27 -0
  14. data/docs/_includes/icon-github.html +1 -0
  15. data/docs/_includes/icon-github.svg +3 -0
  16. data/docs/_includes/icon-twitter.html +1 -0
  17. data/docs/_includes/icon-twitter.svg +3 -0
  18. data/docs/_includes/navigation.html +24 -0
  19. data/docs/_layouts/default.html +20 -0
  20. data/docs/_layouts/page.html +14 -0
  21. data/docs/_layouts/post.html +15 -0
  22. data/docs/_posts/2015-11-21-getting_started.md +67 -0
  23. data/docs/_posts/2015-11-25-bubbles.md +111 -0
  24. data/docs/_posts/2015-11-26-extra_bright.md +103 -0
  25. data/docs/_posts/2015-11-26-text_merge.md +114 -0
  26. data/docs/_posts/2016-07-06-dymo.md +99 -0
  27. data/docs/_sass/_base.scss +206 -0
  28. data/docs/_sass/_layout.scss +242 -0
  29. data/docs/_sass/_syntax-highlighting.scss +71 -0
  30. data/docs/about.md +12 -0
  31. data/docs/assets/bright.png +0 -0
  32. data/docs/assets/bubbles.png +0 -0
  33. data/docs/assets/design.png +0 -0
  34. data/docs/assets/dymo.png +0 -0
  35. data/docs/assets/favicon.ico +0 -0
  36. data/docs/assets/fred.png +0 -0
  37. data/docs/assets/merge.png +0 -0
  38. data/docs/css/main.scss +38 -0
  39. data/docs/favicon.ico +0 -0
  40. data/docs/feed.xml +30 -0
  41. data/docs/index.html +38 -0
  42. data/examples/README.md +1 -1
  43. data/examples/data/bot1.svg +1 -1
  44. data/examples/data/lion.svg +156 -156
  45. data/examples/data/ruby.svg +1 -1
  46. data/examples/hello_svg_to_pdf.rb +1 -1
  47. data/examples/jruby_merge.rb +1 -1
  48. data/examples/{f_agent.rb → library/f_agent/f_agent.rb} +0 -0
  49. data/examples/{font_agent.rb → library/font_agent/font_agent.rb} +2 -1
  50. data/examples/text_on_geomerative_path.rb +3 -2
  51. data/examples/typo_deform.rb +2 -2
  52. data/examples/typo_extra_bright.rb +1 -1
  53. data/geomerative.gemspec +3 -7
  54. data/lib/geomerative.rb +5 -4
  55. data/lib/geomerative/version.rb +1 -1
  56. data/mvnw +234 -0
  57. data/mvnw.cmd +145 -0
  58. data/pom.rb +19 -18
  59. data/pom.xml +14 -13
  60. data/src/geomerative/FastRClip.java +2050 -2334
  61. data/src/geomerative/RClip.java +2237 -2539
  62. data/src/geomerative/RClosest.java +33 -31
  63. data/src/geomerative/RCommand.java +1750 -1758
  64. data/src/geomerative/RContour.java +290 -292
  65. data/src/geomerative/RFont.java +277 -246
  66. data/src/geomerative/RG.java +722 -727
  67. data/src/geomerative/RGeomElem.java +967 -962
  68. data/src/geomerative/RGroup.java +508 -467
  69. data/src/geomerative/RMatrix.java +304 -289
  70. data/src/geomerative/RMesh.java +241 -229
  71. data/src/geomerative/RPath.java +924 -926
  72. data/src/geomerative/RPoint.java +391 -391
  73. data/src/geomerative/RPolygon.java +1017 -1013
  74. data/src/geomerative/RRectangle.java +43 -52
  75. data/src/geomerative/RSVG.java +480 -516
  76. data/src/geomerative/RShape.java +1767 -1777
  77. data/src/geomerative/RStrip.java +173 -176
  78. data/src/geomerative/RStyle.java +197 -194
  79. data/src/org/apache/batik/svggen/font/Font.java +141 -142
  80. data/src/org/apache/batik/svggen/font/Glyph.java +102 -71
  81. data/src/org/apache/batik/svggen/font/Point.java +12 -12
  82. data/src/org/apache/batik/svggen/font/RandomAccessFileEmulator.java +14 -12
  83. data/src/org/apache/batik/svggen/font/table/ClassDef.java +12 -12
  84. data/src/org/apache/batik/svggen/font/table/ClassDefFormat1.java +27 -24
  85. data/src/org/apache/batik/svggen/font/table/ClassDefFormat2.java +20 -17
  86. data/src/org/apache/batik/svggen/font/table/CmapFormat.java +43 -43
  87. data/src/org/apache/batik/svggen/font/table/CmapFormat0.java +33 -26
  88. data/src/org/apache/batik/svggen/font/table/CmapFormat2.java +25 -20
  89. data/src/org/apache/batik/svggen/font/table/CmapFormat4.java +106 -96
  90. data/src/org/apache/batik/svggen/font/table/CmapFormat6.java +36 -32
  91. data/src/org/apache/batik/svggen/font/table/CmapIndexEntry.java +69 -49
  92. data/src/org/apache/batik/svggen/font/table/CmapTable.java +50 -50
  93. data/src/org/apache/batik/svggen/font/table/Coverage.java +19 -19
  94. data/src/org/apache/batik/svggen/font/table/CoverageFormat1.java +30 -27
  95. data/src/org/apache/batik/svggen/font/table/CoverageFormat2.java +26 -24
  96. data/src/org/apache/batik/svggen/font/table/CvtTable.java +16 -16
  97. data/src/org/apache/batik/svggen/font/table/Device.java +32 -32
  98. data/src/org/apache/batik/svggen/font/table/DirectoryEntry.java +39 -39
  99. data/src/org/apache/batik/svggen/font/table/Feature.java +26 -23
  100. data/src/org/apache/batik/svggen/font/table/FeatureList.java +37 -35
  101. data/src/org/apache/batik/svggen/font/table/FeatureRecord.java +22 -22
  102. data/src/org/apache/batik/svggen/font/table/FeatureTags.java +4 -3
  103. data/src/org/apache/batik/svggen/font/table/FpgmTable.java +9 -9
  104. data/src/org/apache/batik/svggen/font/table/GlyfCompositeComp.java +134 -132
  105. data/src/org/apache/batik/svggen/font/table/GlyfCompositeDescript.java +123 -122
  106. data/src/org/apache/batik/svggen/font/table/GlyfDescript.java +44 -44
  107. data/src/org/apache/batik/svggen/font/table/GlyfSimpleDescript.java +110 -109
  108. data/src/org/apache/batik/svggen/font/table/GlyfTable.java +46 -46
  109. data/src/org/apache/batik/svggen/font/table/GlyphDescription.java +25 -13
  110. data/src/org/apache/batik/svggen/font/table/GposTable.java +26 -23
  111. data/src/org/apache/batik/svggen/font/table/GsubTable.java +85 -82
  112. data/src/org/apache/batik/svggen/font/table/HeadTable.java +131 -131
  113. data/src/org/apache/batik/svggen/font/table/HheaTable.java +80 -80
  114. data/src/org/apache/batik/svggen/font/table/HmtxTable.java +50 -49
  115. data/src/org/apache/batik/svggen/font/table/KernSubtable.java +29 -27
  116. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat0.java +35 -32
  117. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat2.java +28 -26
  118. data/src/org/apache/batik/svggen/font/table/KernTable.java +36 -31
  119. data/src/org/apache/batik/svggen/font/table/KerningPair.java +27 -23
  120. data/src/org/apache/batik/svggen/font/table/LangSys.java +28 -26
  121. data/src/org/apache/batik/svggen/font/table/LangSysRecord.java +22 -22
  122. data/src/org/apache/batik/svggen/font/table/Ligature.java +24 -24
  123. data/src/org/apache/batik/svggen/font/table/LigatureSet.java +24 -24
  124. data/src/org/apache/batik/svggen/font/table/LigatureSubst.java +9 -9
  125. data/src/org/apache/batik/svggen/font/table/LigatureSubstFormat1.java +30 -30
  126. data/src/org/apache/batik/svggen/font/table/LocaTable.java +37 -37
  127. data/src/org/apache/batik/svggen/font/table/Lookup.java +41 -40
  128. data/src/org/apache/batik/svggen/font/table/LookupList.java +34 -34
  129. data/src/org/apache/batik/svggen/font/table/LookupSubtableFactory.java +7 -5
  130. data/src/org/apache/batik/svggen/font/table/MaxpTable.java +96 -96
  131. data/src/org/apache/batik/svggen/font/table/NameRecord.java +64 -65
  132. data/src/org/apache/batik/svggen/font/table/NameTable.java +33 -33
  133. data/src/org/apache/batik/svggen/font/table/Os2Table.java +196 -196
  134. data/src/org/apache/batik/svggen/font/table/Panose.java +14 -12
  135. data/src/org/apache/batik/svggen/font/table/PostTable.java +338 -338
  136. data/src/org/apache/batik/svggen/font/table/PrepTable.java +9 -9
  137. data/src/org/apache/batik/svggen/font/table/Program.java +15 -15
  138. data/src/org/apache/batik/svggen/font/table/RangeRecord.java +26 -25
  139. data/src/org/apache/batik/svggen/font/table/Script.java +38 -38
  140. data/src/org/apache/batik/svggen/font/table/ScriptList.java +42 -42
  141. data/src/org/apache/batik/svggen/font/table/ScriptRecord.java +22 -22
  142. data/src/org/apache/batik/svggen/font/table/ScriptTags.java +2 -1
  143. data/src/org/apache/batik/svggen/font/table/SingleSubst.java +15 -16
  144. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat1.java +33 -33
  145. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat2.java +32 -32
  146. data/src/org/apache/batik/svggen/font/table/Table.java +171 -170
  147. data/src/org/apache/batik/svggen/font/table/TableDirectory.java +55 -55
  148. data/src/org/apache/batik/svggen/font/table/TableFactory.java +92 -93
  149. metadata +47 -30
  150. data/.travis.yml +0 -14
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  *
@@ -27,24 +27,24 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public abstract class Coverage {
29
29
 
30
- public abstract int getFormat();
31
-
32
- /**
33
- * @param glyphId The ID of the glyph to find.
34
- * @return The index of the glyph within the coverage, or -1 if the glyph
35
- * can't be found.
36
- */
37
- public abstract int findGlyph(int glyphId);
38
-
39
- protected static Coverage read(RandomAccessFileEmulator raf) throws IOException {
40
- Coverage c = null;
41
- int format = raf.readUnsignedShort();
42
- if (format == 1) {
43
- c = new CoverageFormat1(raf);
44
- } else if (format == 2) {
45
- c = new CoverageFormat2(raf);
46
- }
47
- return c;
30
+ public abstract int getFormat();
31
+
32
+ /**
33
+ * @param glyphId The ID of the glyph to find.
34
+ * @return The index of the glyph within the coverage, or -1 if the glyph
35
+ * can't be found.
36
+ */
37
+ public abstract int findGlyph(int glyphId);
38
+
39
+ protected static Coverage read(RandomAccessFileEmulator raf) throws IOException {
40
+ Coverage c = null;
41
+ int format = raf.readUnsignedShort();
42
+ if (format == 1) {
43
+ c = new CoverageFormat1(raf);
44
+ } else if (format == 2) {
45
+ c = new CoverageFormat2(raf);
48
46
  }
47
+ return c;
48
+ }
49
49
 
50
50
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  *
@@ -27,33 +27,36 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class CoverageFormat1 extends Coverage {
29
29
 
30
- private final int glyphCount;
31
- private final int[] glyphIds;
32
-
33
- /** Creates new CoverageFormat1
34
- * @param raf
35
- * @throws java.io.IOException */
36
- protected CoverageFormat1(RandomAccessFileEmulator raf) throws IOException {
37
- glyphCount = raf.readUnsignedShort();
38
- glyphIds = new int[glyphCount];
39
- for (int i = 0; i < glyphCount; i++) {
40
- glyphIds[i] = raf.readUnsignedShort();
41
- }
30
+ private final int glyphCount;
31
+ private final int[] glyphIds;
32
+
33
+ /**
34
+ * Creates new CoverageFormat1
35
+ *
36
+ * @param raf
37
+ * @throws java.io.IOException
38
+ */
39
+ protected CoverageFormat1(RandomAccessFileEmulator raf) throws IOException {
40
+ glyphCount = raf.readUnsignedShort();
41
+ glyphIds = new int[glyphCount];
42
+ for (int i = 0; i < glyphCount; i++) {
43
+ glyphIds[i] = raf.readUnsignedShort();
42
44
  }
43
-
44
- @Override
45
- public int getFormat() {
46
- return 1;
47
- }
48
-
49
- @Override
50
- public int findGlyph(int glyphId) {
51
- for (int i = 0; i < glyphCount; i++) {
52
- if (glyphIds[i] == glyphId) {
53
- return i;
54
- }
55
- }
56
- return -1;
45
+ }
46
+
47
+ @Override
48
+ public int getFormat() {
49
+ return 1;
50
+ }
51
+
52
+ @Override
53
+ public int findGlyph(int glyphId) {
54
+ for (int i = 0; i < glyphCount; i++) {
55
+ if (glyphIds[i] == glyphId) {
56
+ return i;
57
+ }
57
58
  }
59
+ return -1;
60
+ }
58
61
 
59
62
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  *
@@ -27,30 +27,32 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class CoverageFormat2 extends Coverage {
29
29
 
30
- private int rangeCount;
31
- private RangeRecord[] rangeRecords;
32
-
33
- /** Creates new CoverageFormat2 */
34
- protected CoverageFormat2(RandomAccessFileEmulator raf) throws IOException {
35
- rangeCount = raf.readUnsignedShort();
36
- rangeRecords = new RangeRecord[rangeCount];
37
- for (int i = 0; i < rangeCount; i++) {
38
- rangeRecords[i] = new RangeRecord(raf);
39
- }
40
- }
41
-
42
- public int getFormat() {
43
- return 2;
30
+ private int rangeCount;
31
+ private RangeRecord[] rangeRecords;
32
+
33
+ /**
34
+ * Creates new CoverageFormat2
35
+ */
36
+ protected CoverageFormat2(RandomAccessFileEmulator raf) throws IOException {
37
+ rangeCount = raf.readUnsignedShort();
38
+ rangeRecords = new RangeRecord[rangeCount];
39
+ for (int i = 0; i < rangeCount; i++) {
40
+ rangeRecords[i] = new RangeRecord(raf);
44
41
  }
45
-
46
- public int findGlyph(int glyphId) {
47
- for (int i = 0; i < rangeCount; i++) {
48
- int n = rangeRecords[i].getCoverageIndex(glyphId);
49
- if (n > -1) {
50
- return n;
51
- }
52
- }
53
- return -1;
42
+ }
43
+
44
+ public int getFormat() {
45
+ return 2;
46
+ }
47
+
48
+ public int findGlyph(int glyphId) {
49
+ for (int i = 0; i < rangeCount; i++) {
50
+ int n = rangeRecords[i].getCoverageIndex(glyphId);
51
+ if (n > -1) {
52
+ return n;
53
+ }
54
54
  }
55
+ return -1;
56
+ }
55
57
 
56
58
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  * @version $Id: CvtTable.java,v 1.4 2004/08/18 07:15:20 vhardy Exp $
@@ -26,23 +26,23 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class CvtTable implements Table {
28
28
 
29
- private final short[] values;
29
+ private final short[] values;
30
30
 
31
- protected CvtTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
32
- raf.seek(de.getOffset());
33
- int len = de.getLength() / 2;
34
- values = new short[len];
35
- for (int i = 0; i < len; i++) {
36
- values[i] = raf.readShort();
37
- }
31
+ protected CvtTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
32
+ raf.seek(de.getOffset());
33
+ int len = de.getLength() / 2;
34
+ values = new short[len];
35
+ for (int i = 0; i < len; i++) {
36
+ values[i] = raf.readShort();
38
37
  }
38
+ }
39
39
 
40
- @Override
41
- public int getType() {
42
- return cvt;
43
- }
40
+ @Override
41
+ public int getType() {
42
+ return CVT;
43
+ }
44
44
 
45
- public short[] getValues() {
46
- return values;
47
- }
45
+ public short[] getValues() {
46
+ return values;
47
+ }
48
48
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  *
@@ -27,37 +27,37 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class Device extends Object {
29
29
 
30
- private int startSize;
31
- private int endSize;
32
- private int deltaFormat;
33
- private final int[] deltaValues;
34
-
35
- /**
36
- * Creates new Device
37
- *
38
- * @param raf
39
- * @throws java.io.IOException
40
- */
41
- public Device(RandomAccessFileEmulator raf) throws IOException {
42
- startSize = raf.readUnsignedShort();
43
- endSize = raf.readUnsignedShort();
44
- deltaFormat = raf.readUnsignedShort();
45
- int size = startSize - endSize;
46
- switch (deltaFormat) {
47
- case 1:
48
- size = (size % 8 == 0) ? size / 8 : size / 8 + 1;
49
- break;
50
- case 2:
51
- size = (size % 4 == 0) ? size / 4 : size / 4 + 1;
52
- break;
53
- case 3:
54
- size = (size % 2 == 0) ? size / 2 : size / 2 + 1;
55
- break;
56
- }
57
- deltaValues = new int[size];
58
- for (int i = 0; i < size; i++) {
59
- deltaValues[i] = raf.readUnsignedShort();
60
- }
30
+ private int startSize;
31
+ private int endSize;
32
+ private int deltaFormat;
33
+ private final int[] deltaValues;
34
+
35
+ /**
36
+ * Creates new Device
37
+ *
38
+ * @param raf
39
+ * @throws java.io.IOException
40
+ */
41
+ public Device(RandomAccessFileEmulator raf) throws IOException {
42
+ startSize = raf.readUnsignedShort();
43
+ endSize = raf.readUnsignedShort();
44
+ deltaFormat = raf.readUnsignedShort();
45
+ int size = startSize - endSize;
46
+ switch (deltaFormat) {
47
+ case 1:
48
+ size = (size % 8 == 0) ? size / 8 : size / 8 + 1;
49
+ break;
50
+ case 2:
51
+ size = (size % 4 == 0) ? size / 4 : size / 4 + 1;
52
+ break;
53
+ case 3:
54
+ size = (size % 2 == 0) ? size / 2 : size / 2 + 1;
55
+ break;
61
56
  }
57
+ deltaValues = new int[size];
58
+ for (int i = 0; i < size; i++) {
59
+ deltaValues[i] = raf.readUnsignedShort();
60
+ }
61
+ }
62
62
 
63
63
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  * @version $Id: DirectoryEntry.java,v 1.3 2004/08/18 07:15:20 vhardy Exp $
@@ -26,48 +26,48 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class DirectoryEntry {
28
28
 
29
- private final int tag;
30
- private final int checksum;
31
- private final int offset;
32
- private final int length;
33
- private final Table table = null;
29
+ private final int tag;
30
+ private final int checksum;
31
+ private final int offset;
32
+ private final int length;
33
+ private final Table table = null;
34
34
 
35
- protected DirectoryEntry(RandomAccessFileEmulator raf) throws IOException {
36
- tag = raf.readInt();
37
- checksum = raf.readInt();
38
- offset = raf.readInt();
39
- length = raf.readInt();
40
- }
35
+ protected DirectoryEntry(RandomAccessFileEmulator raf) throws IOException {
36
+ tag = raf.readInt();
37
+ checksum = raf.readInt();
38
+ offset = raf.readInt();
39
+ length = raf.readInt();
40
+ }
41
41
 
42
- public int getChecksum() {
43
- return checksum;
44
- }
42
+ public int getChecksum() {
43
+ return checksum;
44
+ }
45
45
 
46
- public int getLength() {
47
- return length;
48
- }
46
+ public int getLength() {
47
+ return length;
48
+ }
49
49
 
50
- public int getOffset() {
51
- return offset;
52
- }
50
+ public int getOffset() {
51
+ return offset;
52
+ }
53
53
 
54
- public int getTag() {
55
- return tag;
56
- }
54
+ public int getTag() {
55
+ return tag;
56
+ }
57
57
 
58
- @Override
59
- public String toString() {
60
- return new StringBuilder()
61
- .append((char)((tag>>24)&0xff))
62
- .append((char)((tag>>16)&0xff))
63
- .append((char)((tag>>8)&0xff))
64
- .append((char)((tag)&0xff))
65
- .append(", offset: ")
66
- .append(offset)
67
- .append(", length: ")
68
- .append(length)
69
- .append(", checksum: 0x")
70
- .append(Integer.toHexString(checksum))
71
- .toString();
72
- }
58
+ @Override
59
+ public String toString() {
60
+ return new StringBuilder()
61
+ .append((char) ((tag >> 24) & 0xff))
62
+ .append((char) ((tag >> 16) & 0xff))
63
+ .append((char) ((tag >> 8) & 0xff))
64
+ .append((char) ((tag) & 0xff))
65
+ .append(", offset: ")
66
+ .append(offset)
67
+ .append(", length: ")
68
+ .append(length)
69
+ .append(", checksum: 0x")
70
+ .append(Integer.toHexString(checksum))
71
+ .toString();
72
+ }
73
73
  }
@@ -18,7 +18,7 @@
18
18
  package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.IOException;
21
- import org.apache.batik.svggen.font.*;
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
22
22
 
23
23
  /**
24
24
  *
@@ -27,30 +27,33 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class Feature {
29
29
 
30
- private final int featureParams;
31
- private final int lookupCount;
32
- private final int[] lookupListIndex;
33
-
34
- /** Creates new Feature
35
- * @param raf
36
- * @param offset
37
- * @throws java.io.IOException */
38
- protected Feature(RandomAccessFileEmulator raf, int offset) throws IOException {
39
- raf.seek(offset);
40
- featureParams = raf.readUnsignedShort();
41
- lookupCount = raf.readUnsignedShort();
42
- lookupListIndex = new int[lookupCount];
43
- for (int i = 0; i < lookupCount; i++) {
44
- lookupListIndex[i] = raf.readUnsignedShort();
45
- }
30
+ private final int featureParams;
31
+ private final int lookupCount;
32
+ private final int[] lookupListIndex;
33
+
34
+ /**
35
+ * Creates new Feature
36
+ *
37
+ * @param raf
38
+ * @param offset
39
+ * @throws java.io.IOException
40
+ */
41
+ protected Feature(RandomAccessFileEmulator raf, int offset) throws IOException {
42
+ raf.seek(offset);
43
+ featureParams = raf.readUnsignedShort();
44
+ lookupCount = raf.readUnsignedShort();
45
+ lookupListIndex = new int[lookupCount];
46
+ for (int i = 0; i < lookupCount; i++) {
47
+ lookupListIndex[i] = raf.readUnsignedShort();
46
48
  }
49
+ }
47
50
 
48
- public int getLookupCount() {
49
- return lookupCount;
50
- }
51
+ public int getLookupCount() {
52
+ return lookupCount;
53
+ }
51
54
 
52
- public int getLookupListIndex(int i) {
53
- return lookupListIndex[i];
54
- }
55
+ public int getLookupListIndex(int i) {
56
+ return lookupListIndex[i];
57
+ }
55
58
 
56
59
  }