geomerative 1.1.0-java → 2.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.mvn/extensions.xml +1 -1
  4. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  5. data/CHANGELOG.md +3 -0
  6. data/COPYING.md +1 -1
  7. data/README.md +0 -1
  8. data/Rakefile +2 -15
  9. data/docs/_includes/header.html +6 -6
  10. data/docs/_includes/icon-github.svg +3 -1
  11. data/docs/_includes/icon-twitter.svg +3 -1
  12. data/docs/_includes/navigation.html +18 -18
  13. data/docs/_sass/_base.scss +79 -79
  14. data/docs/_sass/_layout.scss +137 -137
  15. data/docs/_sass/_syntax-highlighting.scss +64 -64
  16. data/docs/index.html +18 -18
  17. data/examples/data/bot1.svg +1 -1
  18. data/examples/data/lion.svg +156 -156
  19. data/examples/data/ruby.svg +1 -1
  20. data/geomerative.gemspec +1 -2
  21. data/lib/geomerative/version.rb +1 -1
  22. data/mvnw +234 -0
  23. data/mvnw.cmd +145 -0
  24. data/pom.rb +14 -13
  25. data/pom.xml +14 -13
  26. data/src/geomerative/FastRClip.java +2149 -2156
  27. data/src/geomerative/RClip.java +2237 -2539
  28. data/src/geomerative/RClosest.java +33 -31
  29. data/src/geomerative/RCommand.java +1750 -1758
  30. data/src/geomerative/RContour.java +290 -292
  31. data/src/geomerative/RFont.java +277 -246
  32. data/src/geomerative/RG.java +722 -727
  33. data/src/geomerative/RGeomElem.java +967 -960
  34. data/src/geomerative/RGroup.java +508 -467
  35. data/src/geomerative/RMatrix.java +304 -289
  36. data/src/geomerative/RMesh.java +241 -229
  37. data/src/geomerative/RPath.java +924 -925
  38. data/src/geomerative/RPoint.java +391 -391
  39. data/src/geomerative/RPolygon.java +998 -988
  40. data/src/geomerative/RRectangle.java +43 -52
  41. data/src/geomerative/RSVG.java +480 -516
  42. data/src/geomerative/RShape.java +1767 -1777
  43. data/src/geomerative/RStrip.java +173 -176
  44. data/src/geomerative/RStyle.java +197 -194
  45. data/src/org/apache/batik/svggen/font/Font.java +141 -142
  46. data/src/org/apache/batik/svggen/font/Glyph.java +102 -71
  47. data/src/org/apache/batik/svggen/font/Point.java +12 -12
  48. data/src/org/apache/batik/svggen/font/RandomAccessFileEmulator.java +14 -12
  49. data/src/org/apache/batik/svggen/font/table/ClassDef.java +12 -12
  50. data/src/org/apache/batik/svggen/font/table/ClassDefFormat1.java +27 -24
  51. data/src/org/apache/batik/svggen/font/table/ClassDefFormat2.java +20 -17
  52. data/src/org/apache/batik/svggen/font/table/CmapFormat.java +43 -43
  53. data/src/org/apache/batik/svggen/font/table/CmapFormat0.java +33 -26
  54. data/src/org/apache/batik/svggen/font/table/CmapFormat2.java +25 -20
  55. data/src/org/apache/batik/svggen/font/table/CmapFormat4.java +106 -96
  56. data/src/org/apache/batik/svggen/font/table/CmapFormat6.java +36 -32
  57. data/src/org/apache/batik/svggen/font/table/CmapIndexEntry.java +69 -49
  58. data/src/org/apache/batik/svggen/font/table/CmapTable.java +50 -50
  59. data/src/org/apache/batik/svggen/font/table/Coverage.java +19 -19
  60. data/src/org/apache/batik/svggen/font/table/CoverageFormat1.java +30 -27
  61. data/src/org/apache/batik/svggen/font/table/CoverageFormat2.java +26 -24
  62. data/src/org/apache/batik/svggen/font/table/CvtTable.java +16 -16
  63. data/src/org/apache/batik/svggen/font/table/Device.java +32 -32
  64. data/src/org/apache/batik/svggen/font/table/DirectoryEntry.java +39 -39
  65. data/src/org/apache/batik/svggen/font/table/Feature.java +26 -23
  66. data/src/org/apache/batik/svggen/font/table/FeatureList.java +37 -35
  67. data/src/org/apache/batik/svggen/font/table/FeatureRecord.java +22 -22
  68. data/src/org/apache/batik/svggen/font/table/FeatureTags.java +4 -3
  69. data/src/org/apache/batik/svggen/font/table/FpgmTable.java +9 -9
  70. data/src/org/apache/batik/svggen/font/table/GlyfCompositeComp.java +134 -132
  71. data/src/org/apache/batik/svggen/font/table/GlyfCompositeDescript.java +123 -122
  72. data/src/org/apache/batik/svggen/font/table/GlyfDescript.java +44 -44
  73. data/src/org/apache/batik/svggen/font/table/GlyfSimpleDescript.java +110 -109
  74. data/src/org/apache/batik/svggen/font/table/GlyfTable.java +46 -46
  75. data/src/org/apache/batik/svggen/font/table/GlyphDescription.java +25 -13
  76. data/src/org/apache/batik/svggen/font/table/GposTable.java +26 -23
  77. data/src/org/apache/batik/svggen/font/table/GsubTable.java +85 -82
  78. data/src/org/apache/batik/svggen/font/table/HeadTable.java +131 -131
  79. data/src/org/apache/batik/svggen/font/table/HheaTable.java +80 -80
  80. data/src/org/apache/batik/svggen/font/table/HmtxTable.java +50 -49
  81. data/src/org/apache/batik/svggen/font/table/KernSubtable.java +29 -27
  82. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat0.java +35 -32
  83. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat2.java +28 -26
  84. data/src/org/apache/batik/svggen/font/table/KernTable.java +36 -31
  85. data/src/org/apache/batik/svggen/font/table/KerningPair.java +27 -23
  86. data/src/org/apache/batik/svggen/font/table/LangSys.java +28 -26
  87. data/src/org/apache/batik/svggen/font/table/LangSysRecord.java +22 -22
  88. data/src/org/apache/batik/svggen/font/table/Ligature.java +24 -24
  89. data/src/org/apache/batik/svggen/font/table/LigatureSet.java +24 -24
  90. data/src/org/apache/batik/svggen/font/table/LigatureSubst.java +9 -9
  91. data/src/org/apache/batik/svggen/font/table/LigatureSubstFormat1.java +30 -30
  92. data/src/org/apache/batik/svggen/font/table/LocaTable.java +37 -37
  93. data/src/org/apache/batik/svggen/font/table/Lookup.java +41 -40
  94. data/src/org/apache/batik/svggen/font/table/LookupList.java +34 -34
  95. data/src/org/apache/batik/svggen/font/table/LookupSubtableFactory.java +7 -5
  96. data/src/org/apache/batik/svggen/font/table/MaxpTable.java +96 -96
  97. data/src/org/apache/batik/svggen/font/table/NameRecord.java +64 -65
  98. data/src/org/apache/batik/svggen/font/table/NameTable.java +33 -33
  99. data/src/org/apache/batik/svggen/font/table/Os2Table.java +196 -196
  100. data/src/org/apache/batik/svggen/font/table/Panose.java +14 -12
  101. data/src/org/apache/batik/svggen/font/table/PostTable.java +338 -338
  102. data/src/org/apache/batik/svggen/font/table/PrepTable.java +9 -9
  103. data/src/org/apache/batik/svggen/font/table/Program.java +15 -15
  104. data/src/org/apache/batik/svggen/font/table/RangeRecord.java +26 -25
  105. data/src/org/apache/batik/svggen/font/table/Script.java +38 -38
  106. data/src/org/apache/batik/svggen/font/table/ScriptList.java +42 -42
  107. data/src/org/apache/batik/svggen/font/table/ScriptRecord.java +22 -22
  108. data/src/org/apache/batik/svggen/font/table/ScriptTags.java +2 -1
  109. data/src/org/apache/batik/svggen/font/table/SingleSubst.java +15 -16
  110. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat1.java +33 -33
  111. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat2.java +32 -32
  112. data/src/org/apache/batik/svggen/font/table/Table.java +171 -170
  113. data/src/org/apache/batik/svggen/font/table/TableDirectory.java +55 -55
  114. data/src/org/apache/batik/svggen/font/table/TableFactory.java +92 -93
  115. metadata +10 -11
  116. data/.travis.yml +0 -9
@@ -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: HheaTable.java,v 1.3 2004/08/18 07:15:21 vhardy Exp $
@@ -26,84 +26,84 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class HheaTable implements Table {
28
28
 
29
- private final int version;
30
- private final short ascender;
31
- private final short descender;
32
- private final short lineGap;
33
- private final short advanceWidthMax;
34
- private final short minLeftSideBearing;
35
- private final short minRightSideBearing;
36
- private final short xMaxExtent;
37
- private final short caretSlopeRise;
38
- private final short caretSlopeRun;
39
- private final short metricDataFormat;
40
- private final short numberOfHMetrics;
41
-
42
- protected HheaTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
43
- raf.seek(de.getOffset());
44
- version = raf.readInt();
45
- ascender = raf.readShort();
46
- descender = raf.readShort();
47
- lineGap = raf.readShort();
48
- advanceWidthMax = raf.readShort();
49
- minLeftSideBearing = raf.readShort();
50
- minRightSideBearing = raf.readShort();
51
- xMaxExtent = raf.readShort();
52
- caretSlopeRise = raf.readShort();
53
- caretSlopeRun = raf.readShort();
54
- for (int i = 0; i < 5; i++) {
55
- raf.readShort();
56
- }
57
- metricDataFormat = raf.readShort();
58
- numberOfHMetrics = raf.readShort();
59
- }
60
-
61
- public short getAdvanceWidthMax() {
62
- return advanceWidthMax;
63
- }
64
-
65
- public short getAscender() {
66
- return ascender;
67
- }
68
-
69
- public short getCaretSlopeRise() {
70
- return caretSlopeRise;
71
- }
72
-
73
- public short getCaretSlopeRun() {
74
- return caretSlopeRun;
75
- }
76
-
77
- public short getDescender() {
78
- return descender;
79
- }
80
-
81
- public short getLineGap() {
82
- return lineGap;
83
- }
84
-
85
- public short getMetricDataFormat() {
86
- return metricDataFormat;
87
- }
88
-
89
- public short getMinLeftSideBearing() {
90
- return minLeftSideBearing;
91
- }
92
-
93
- public short getMinRightSideBearing() {
94
- return minRightSideBearing;
95
- }
96
-
97
- public short getNumberOfHMetrics() {
98
- return numberOfHMetrics;
99
- }
100
-
101
- @Override
102
- public int getType() {
103
- return hhea;
104
- }
105
-
106
- public short getXMaxExtent() {
107
- return xMaxExtent;
29
+ private final int version;
30
+ private final short ascender;
31
+ private final short descender;
32
+ private final short lineGap;
33
+ private final short advanceWidthMax;
34
+ private final short minLeftSideBearing;
35
+ private final short minRightSideBearing;
36
+ private final short xMaxExtent;
37
+ private final short caretSlopeRise;
38
+ private final short caretSlopeRun;
39
+ private final short metricDataFormat;
40
+ private final short numberOfHMetrics;
41
+
42
+ protected HheaTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
43
+ raf.seek(de.getOffset());
44
+ version = raf.readInt();
45
+ ascender = raf.readShort();
46
+ descender = raf.readShort();
47
+ lineGap = raf.readShort();
48
+ advanceWidthMax = raf.readShort();
49
+ minLeftSideBearing = raf.readShort();
50
+ minRightSideBearing = raf.readShort();
51
+ xMaxExtent = raf.readShort();
52
+ caretSlopeRise = raf.readShort();
53
+ caretSlopeRun = raf.readShort();
54
+ for (int i = 0; i < 5; i++) {
55
+ raf.readShort();
108
56
  }
57
+ metricDataFormat = raf.readShort();
58
+ numberOfHMetrics = raf.readShort();
59
+ }
60
+
61
+ public short getAdvanceWidthMax() {
62
+ return advanceWidthMax;
63
+ }
64
+
65
+ public short getAscender() {
66
+ return ascender;
67
+ }
68
+
69
+ public short getCaretSlopeRise() {
70
+ return caretSlopeRise;
71
+ }
72
+
73
+ public short getCaretSlopeRun() {
74
+ return caretSlopeRun;
75
+ }
76
+
77
+ public short getDescender() {
78
+ return descender;
79
+ }
80
+
81
+ public short getLineGap() {
82
+ return lineGap;
83
+ }
84
+
85
+ public short getMetricDataFormat() {
86
+ return metricDataFormat;
87
+ }
88
+
89
+ public short getMinLeftSideBearing() {
90
+ return minLeftSideBearing;
91
+ }
92
+
93
+ public short getMinRightSideBearing() {
94
+ return minRightSideBearing;
95
+ }
96
+
97
+ public short getNumberOfHMetrics() {
98
+ return numberOfHMetrics;
99
+ }
100
+
101
+ @Override
102
+ public int getType() {
103
+ return HHEA;
104
+ }
105
+
106
+ public short getXMaxExtent() {
107
+ return xMaxExtent;
108
+ }
109
109
  }
@@ -19,7 +19,7 @@ package org.apache.batik.svggen.font.table;
19
19
 
20
20
  import java.io.ByteArrayInputStream;
21
21
  import java.io.IOException;
22
- import org.apache.batik.svggen.font.*;
22
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
23
23
 
24
24
  /**
25
25
  * @version $Id: HmtxTable.java,v 1.4 2004/08/18 07:15:21 vhardy Exp $
@@ -27,15 +27,15 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class HmtxTable implements Table {
29
29
 
30
- private byte[] buf = null;
31
- private int[] hMetrics = null;
32
- private short[] leftSideBearing = null;
30
+ private byte[] buf = null;
31
+ private int[] hMetrics = null;
32
+ private short[] leftSideBearing = null;
33
33
 
34
- protected HmtxTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
35
- raf.seek(de.getOffset());
36
- buf = new byte[de.getLength()];
37
- raf.read(buf);
38
- /*
34
+ protected HmtxTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
35
+ raf.seek(de.getOffset());
36
+ buf = new byte[de.getLength()];
37
+ raf.read(buf);
38
+ /*
39
39
  TableMaxp t_maxp = (TableMaxp) td.getEntryByTag(maxp).getTable();
40
40
  TableHhea t_hhea = (TableHhea) td.getEntryByTag(hhea).getTable();
41
41
  int lsbCount = t_maxp.getNumGlyphs() - t_hhea.getNumberOfHMetrics();
@@ -49,51 +49,52 @@ public class HmtxTable implements Table {
49
49
  leftSideBearing[i] = raf.readShort();
50
50
  }
51
51
  }
52
- */
53
- }
52
+ */
53
+ }
54
54
 
55
- public void init(int numberOfHMetrics, int lsbCount) {
56
- if (buf == null) {
57
- return;
58
- }
59
- hMetrics = new int[numberOfHMetrics];
60
- ByteArrayInputStream bais = new ByteArrayInputStream(buf);
61
- for (int i = 0; i < numberOfHMetrics; i++) {
62
- hMetrics[i] = (bais.read()<<24 | bais.read()<<16 |
63
- bais.read()<< 8 | bais.read());
64
- }
65
- if (lsbCount > 0) {
66
- leftSideBearing = new short[lsbCount];
67
- for (int i = 0; i < lsbCount; i++) {
68
- leftSideBearing[i] = (short)(bais.read()<<8 | bais.read());
69
- }
70
- }
71
- buf = null;
55
+ public void init(int numberOfHMetrics, int lsbCount) {
56
+ if (buf == null) {
57
+ return;
72
58
  }
73
-
74
- public int getAdvanceWidth(int i) {
75
- if (hMetrics == null) {
76
- return 0;
77
- }
78
- if (i < hMetrics.length) {
79
- return hMetrics[i] >> 16;
80
- } else {
81
- return hMetrics[hMetrics.length - 1] >> 16;
82
- }
59
+ hMetrics = new int[numberOfHMetrics];
60
+ ByteArrayInputStream bais = new ByteArrayInputStream(buf);
61
+ for (int i = 0; i < numberOfHMetrics; i++) {
62
+ hMetrics[i] = (bais.read() << 24 | bais.read() << 16
63
+ | bais.read() << 8 | bais.read());
83
64
  }
65
+ if (lsbCount > 0) {
66
+ leftSideBearing = new short[lsbCount];
67
+ for (int i = 0; i < lsbCount; i++) {
68
+ leftSideBearing[i] = (short) (bais.read() << 8 | bais.read());
69
+ }
70
+ }
71
+ buf = null;
72
+ }
84
73
 
85
- public short getLeftSideBearing(int i) {
86
- if (hMetrics == null) {
87
- return 0;
88
- }
89
- if (i < hMetrics.length) {
90
- return (short)(hMetrics[i] & 0xffff);
91
- } else {
92
- return leftSideBearing[i - hMetrics.length];
93
- }
74
+ public int getAdvanceWidth(int i) {
75
+ if (hMetrics == null) {
76
+ return 0;
77
+ }
78
+ if (i < hMetrics.length) {
79
+ return hMetrics[i] >> 16;
80
+ } else {
81
+ return hMetrics[hMetrics.length - 1] >> 16;
94
82
  }
83
+ }
95
84
 
96
- public int getType() {
97
- return hmtx;
85
+ public short getLeftSideBearing(int i) {
86
+ if (hMetrics == null) {
87
+ return 0;
98
88
  }
89
+ if (i < hMetrics.length) {
90
+ return (short) (hMetrics[i] & 0xffff);
91
+ } else {
92
+ return leftSideBearing[i - hMetrics.length];
93
+ }
94
+ }
95
+
96
+ @Override
97
+ public int getType() {
98
+ return HMTX;
99
+ }
99
100
  }
@@ -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,32 +27,34 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public abstract class KernSubtable {
29
29
 
30
- /** Creates new KernSubtable */
31
- protected KernSubtable() {
32
- }
33
-
34
- public abstract int getKerningPairCount();
35
-
36
- public abstract KerningPair getKerningPair(int i);
37
-
38
- public static KernSubtable read(RandomAccessFileEmulator raf) throws IOException {
39
- KernSubtable table = null;
40
- /* int version =*/ raf.readUnsignedShort();
41
- /* int length =*/ raf.readUnsignedShort();
42
- int coverage = raf.readUnsignedShort();
43
- int format = coverage >> 8;
44
-
45
- switch (format) {
46
- case 0:
47
- table = new KernSubtableFormat0(raf);
48
- break;
49
- case 2:
50
- table = new KernSubtableFormat2(raf);
51
- break;
52
- default:
53
- break;
54
- }
55
- return table;
30
+ /**
31
+ * Creates new KernSubtable
32
+ */
33
+ protected KernSubtable() {
34
+ }
35
+
36
+ public abstract int getKerningPairCount();
37
+
38
+ public abstract KerningPair getKerningPair(int i);
39
+
40
+ public static KernSubtable read(RandomAccessFileEmulator raf) throws IOException {
41
+ KernSubtable table = null;
42
+ /* int version =*/ raf.readUnsignedShort();
43
+ /* int length =*/ raf.readUnsignedShort();
44
+ int coverage = raf.readUnsignedShort();
45
+ int format = coverage >> 8;
46
+
47
+ switch (format) {
48
+ case 0:
49
+ table = new KernSubtableFormat0(raf);
50
+ break;
51
+ case 2:
52
+ table = new KernSubtableFormat2(raf);
53
+ break;
54
+ default:
55
+ break;
56
56
  }
57
+ return table;
58
+ }
57
59
 
58
60
  }
@@ -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
  *
@@ -26,40 +26,43 @@ import org.apache.batik.svggen.font.*;
26
26
  * @version $Id: KernSubtableFormat0.java,v 1.3 2004/08/18 07:15:21 vhardy Exp $
27
27
  */
28
28
  public class KernSubtableFormat0 extends KernSubtable {
29
-
30
- private final int nPairs;
31
- private final int searchRange;
32
- private final int entrySelector;
33
- private final int rangeShift;
34
- private final KerningPair[] kerningPairs;
35
29
 
36
- /** Creates new KernSubtableFormat0
37
- * @param raf
38
- * @throws java.io.IOException */
39
- protected KernSubtableFormat0(RandomAccessFileEmulator raf) throws IOException {
40
- nPairs = raf.readUnsignedShort();
41
- searchRange = raf.readUnsignedShort();
42
- entrySelector = raf.readUnsignedShort();
43
- rangeShift = raf.readUnsignedShort();
44
- kerningPairs = new KerningPair[nPairs];
45
- for (int i = 0; i < nPairs; i++) {
46
- kerningPairs[i] = new KerningPair(raf);
47
- }
48
- }
30
+ private final int nPairs;
31
+ private final int searchRange;
32
+ private final int entrySelector;
33
+ private final int rangeShift;
34
+ private final KerningPair[] kerningPairs;
49
35
 
50
- @Override
51
- public int getKerningPairCount() {
52
- return nPairs;
36
+ /**
37
+ * Creates new KernSubtableFormat0
38
+ *
39
+ * @param raf
40
+ * @throws java.io.IOException
41
+ */
42
+ protected KernSubtableFormat0(RandomAccessFileEmulator raf) throws IOException {
43
+ nPairs = raf.readUnsignedShort();
44
+ searchRange = raf.readUnsignedShort();
45
+ entrySelector = raf.readUnsignedShort();
46
+ rangeShift = raf.readUnsignedShort();
47
+ kerningPairs = new KerningPair[nPairs];
48
+ for (int i = 0; i < nPairs; i++) {
49
+ kerningPairs[i] = new KerningPair(raf);
53
50
  }
51
+ }
54
52
 
55
- /**
56
- *
57
- * @param i
58
- * @return
59
- */
60
- @Override
61
- public KerningPair getKerningPair(int i) {
62
- return kerningPairs[i];
63
- }
53
+ @Override
54
+ public int getKerningPairCount() {
55
+ return nPairs;
56
+ }
57
+
58
+ /**
59
+ *
60
+ * @param i
61
+ * @return
62
+ */
63
+ @Override
64
+ public KerningPair getKerningPair(int i) {
65
+ return kerningPairs[i];
66
+ }
64
67
 
65
68
  }