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
@@ -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: GlyfTable.java,v 1.4 2004/08/18 07:15:21 vhardy Exp $
@@ -27,14 +27,14 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class GlyfTable implements Table {
29
29
 
30
- private byte[] buf = null;
31
- private GlyfDescript[] descript;
30
+ private byte[] buf = null;
31
+ private GlyfDescript[] descript;
32
32
 
33
- protected GlyfTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
34
- raf.seek(de.getOffset());
35
- buf = new byte[de.getLength()];
36
- raf.read(buf);
37
- /*
33
+ protected GlyfTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
34
+ raf.seek(de.getOffset());
35
+ buf = new byte[de.getLength()];
36
+ raf.read(buf);
37
+ /*
38
38
  TableMaxp t_maxp = (TableMaxp) td.getEntryByTag(maxp).getTable();
39
39
  TableLoca t_loca = (TableLoca) td.getEntryByTag(loca).getTable();
40
40
  descript = new TableGlyfDescript[t_maxp.getNumGlyphs()];
@@ -63,49 +63,49 @@ public class GlyfTable implements Table {
63
63
  }
64
64
  }
65
65
  }
66
- */
67
- }
66
+ */
67
+ }
68
68
 
69
- public void init(int numGlyphs, LocaTable loca) {
70
- if (buf == null) {
71
- return;
72
- }
73
- descript = new GlyfDescript[numGlyphs];
74
- ByteArrayInputStream bais = new ByteArrayInputStream(buf);
75
- for (int i = 0; i < numGlyphs; i++) {
76
- int len = loca.getOffset((short)(i + 1)) - loca.getOffset(i);
77
- if (len > 0) {
78
- bais.reset();
79
- bais.skip(loca.getOffset(i));
80
- short numberOfContours = (short)(bais.read()<<8 | bais.read());
81
- if (numberOfContours >= 0) {
82
- descript[i] = new GlyfSimpleDescript(this, numberOfContours, bais);
83
- }
84
- } else {
85
- descript[i] = null;
86
- }
69
+ public void init(int numGlyphs, LocaTable loca) {
70
+ if (buf == null) {
71
+ return;
72
+ }
73
+ descript = new GlyfDescript[numGlyphs];
74
+ ByteArrayInputStream bais = new ByteArrayInputStream(buf);
75
+ for (int i = 0; i < numGlyphs; i++) {
76
+ int len = loca.getOffset((short) (i + 1)) - loca.getOffset(i);
77
+ if (len > 0) {
78
+ bais.reset();
79
+ bais.skip(loca.getOffset(i));
80
+ short numberOfContours = (short) (bais.read() << 8 | bais.read());
81
+ if (numberOfContours >= 0) {
82
+ descript[i] = new GlyfSimpleDescript(this, numberOfContours, bais);
87
83
  }
84
+ } else {
85
+ descript[i] = null;
86
+ }
87
+ }
88
88
 
89
- for (int i = 0; i < numGlyphs; i++) {
90
- int len = loca.getOffset((short)(i + 1)) - loca.getOffset(i);
91
- if (len > 0) {
92
- bais.reset();
93
- bais.skip(loca.getOffset(i));
94
- short numberOfContours = (short)(bais.read()<<8 | bais.read());
95
- if (numberOfContours < 0) {
96
- descript[i] = new GlyfCompositeDescript(this, bais);
97
- }
98
- }
89
+ for (int i = 0; i < numGlyphs; i++) {
90
+ int len = loca.getOffset((short) (i + 1)) - loca.getOffset(i);
91
+ if (len > 0) {
92
+ bais.reset();
93
+ bais.skip(loca.getOffset(i));
94
+ short numberOfContours = (short) (bais.read() << 8 | bais.read());
95
+ if (numberOfContours < 0) {
96
+ descript[i] = new GlyfCompositeDescript(this, bais);
99
97
  }
100
- buf = null;
98
+ }
101
99
  }
100
+ buf = null;
101
+ }
102
102
 
103
- public GlyfDescript getDescription(int i) {
104
- return descript[i];
105
- }
103
+ public GlyfDescript getDescription(int i) {
104
+ return descript[i];
105
+ }
106
106
 
107
- @Override
108
- public int getType() {
109
- return glyf;
110
- }
107
+ @Override
108
+ public int getType() {
109
+ return GLYF;
110
+ }
111
111
  }
@@ -19,21 +19,33 @@ package org.apache.batik.svggen.font.table;
19
19
 
20
20
  /**
21
21
  * Specifies access to glyph description classes, simple and composite.
22
+ *
22
23
  * @version $Id: GlyphDescription.java,v 1.3 2004/08/18 07:15:21 vhardy Exp $
23
24
  * @author <a href="mailto:david@steadystate.co.uk">David Schweinsberg</a>
24
25
  */
25
26
  public interface GlyphDescription {
26
- public int getEndPtOfContours(int i);
27
- public byte getFlags(int i);
28
- public short getXCoordinate(int i);
29
- public short getYCoordinate(int i);
30
- public short getXMaximum();
31
- public short getXMinimum();
32
- public short getYMaximum();
33
- public short getYMinimum();
34
- public boolean isComposite();
35
- public int getPointCount();
36
- public int getContourCount();
37
- // public int getComponentIndex(int c);
38
- // public int getComponentCount();
27
+
28
+ public int getEndPtOfContours(int i);
29
+
30
+ public byte getFlags(int i);
31
+
32
+ public short getXCoordinate(int i);
33
+
34
+ public short getYCoordinate(int i);
35
+
36
+ public short getXMaximum();
37
+
38
+ public short getXMinimum();
39
+
40
+ public short getYMaximum();
41
+
42
+ public short getYMinimum();
43
+
44
+ public boolean isComposite();
45
+
46
+ public int getPointCount();
47
+
48
+ public int getContourCount();
49
+ // public int getComponentIndex(int c);
50
+ // public int getComponentCount();
39
51
  }
@@ -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,15 +27,16 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class GposTable implements Table {
29
29
 
30
- protected GposTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
31
- raf.seek(de.getOffset());
30
+ protected GposTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
31
+ raf.seek(de.getOffset());
32
32
 
33
- // GPOS Header
34
- /* int version = */ raf.readInt();
35
- /* int scriptList = */ raf.readInt();
36
- /* int featureList = */ raf.readInt();
37
- /* int lookupList = */ raf.readInt();
38
- /*
33
+
34
+ // GPOS Header
35
+ /* int version = */ raf.readInt();
36
+ /* int scriptList = */ raf.readInt();
37
+ /* int featureList = */ raf.readInt();
38
+ /* int lookupList = */ raf.readInt();
39
+ /*
39
40
  for (int i = 0; i < t_maxp.getNumGlyphs(); i++) {
40
41
  raf.seek(tde.getOffset() + t_loca.getOffset(i));
41
42
  int len = t_loca.getOffset((short)(i + 1)) - t_loca.getOffset(i);
@@ -61,20 +62,22 @@ public class GposTable implements Table {
61
62
  }
62
63
  }
63
64
  }
64
- */
65
- }
66
-
67
- /** Get the table type, as a table directory value.
68
- * @return The table type
69
65
  */
70
- @Override
71
- public int getType() {
72
- return GPOS;
73
- }
74
-
75
- @Override
76
- public String toString() {
77
- return "GPOS";
78
- }
66
+ }
67
+
68
+ /**
69
+ * Get the table type, as a table directory value.
70
+ *
71
+ * @return The table type
72
+ */
73
+ @Override
74
+ public int getType() {
75
+ return GPOS;
76
+ }
77
+
78
+ @Override
79
+ public String toString() {
80
+ return "GPOS";
81
+ }
79
82
 
80
83
  }
@@ -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,92 +27,95 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class GsubTable implements Table, LookupSubtableFactory {
29
29
 
30
- private final ScriptList scriptList;
31
- private final FeatureList featureList;
32
- private final LookupList lookupList;
33
-
34
- protected GsubTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
35
- raf.seek(de.getOffset());
36
-
37
- // GSUB Header
38
- /* int version = */ raf.readInt();
39
- int scriptListOffset = raf.readUnsignedShort();
40
- int featureListOffset = raf.readUnsignedShort();
41
- int lookupListOffset = raf.readUnsignedShort();
42
-
43
- // Script List
44
- scriptList = new ScriptList(raf, de.getOffset() + scriptListOffset);
45
-
46
- // Feature List
47
- featureList = new FeatureList(raf, de.getOffset() + featureListOffset);
48
-
49
- // Lookup List
50
- lookupList = new LookupList(raf, de.getOffset() + lookupListOffset, this);
51
- }
52
-
53
- /**
54
- * 1 - Single - Replace one glyph with one glyph
55
- * 2 - Multiple - Replace one glyph with more than one glyph
56
- * 3 - Alternate - Replace one glyph with one of many glyphs
57
- * 4 - Ligature - Replace multiple glyphs with one glyph
58
- * 5 - Context - Replace one or more glyphs in context
59
- * 6 - Chaining - Context Replace one or more glyphs in chained context
60
- * @param type
61
- * @param raf
62
- * @param offset
63
- * @return
64
- * @throws java.io.IOException
65
- */
66
- @Override
67
- public LookupSubtable read(int type, RandomAccessFileEmulator raf, int offset)
30
+ private final ScriptList scriptList;
31
+ private final FeatureList featureList;
32
+ private final LookupList lookupList;
33
+
34
+ protected GsubTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
35
+ raf.seek(de.getOffset());
36
+
37
+
38
+ // GSUB Header
39
+ /* int version = */ raf.readInt();
40
+ int scriptListOffset = raf.readUnsignedShort();
41
+ int featureListOffset = raf.readUnsignedShort();
42
+ int lookupListOffset = raf.readUnsignedShort();
43
+
44
+ // Script List
45
+ scriptList = new ScriptList(raf, de.getOffset() + scriptListOffset);
46
+
47
+ // Feature List
48
+ featureList = new FeatureList(raf, de.getOffset() + featureListOffset);
49
+
50
+ // Lookup List
51
+ lookupList = new LookupList(raf, de.getOffset() + lookupListOffset, this);
52
+ }
53
+
54
+ /**
55
+ * 1 - Single - Replace one glyph with one glyph 2 - Multiple - Replace one
56
+ * glyph with more than one glyph 3 - Alternate - Replace one glyph with one
57
+ * of many glyphs 4 - Ligature - Replace multiple glyphs with one glyph 5 -
58
+ * Context - Replace one or more glyphs in context 6 - Chaining - Context
59
+ * Replace one or more glyphs in chained context
60
+ *
61
+ * @param type
62
+ * @param raf
63
+ * @param offset
64
+ * @return
65
+ * @throws java.io.IOException
66
+ */
67
+ @Override
68
+ public LookupSubtable read(int type, RandomAccessFileEmulator raf, int offset)
68
69
  throws IOException {
69
- LookupSubtable s = null;
70
- switch (type) {
71
- case 1:
72
- s = SingleSubst.read(raf, offset);
73
- break;
74
- case 2:
70
+ LookupSubtable s = null;
71
+ switch (type) {
72
+ case 1:
73
+ s = SingleSubst.read(raf, offset);
74
+ break;
75
+ case 2:
75
76
  // s = MultipleSubst.read(raf, offset);
76
- break;
77
- case 3:
77
+ break;
78
+ case 3:
78
79
  // s = AlternateSubst.read(raf, offset);
79
- break;
80
- case 4:
81
- s = LigatureSubst.read(raf, offset);
82
- break;
83
- case 5:
80
+ break;
81
+ case 4:
82
+ s = LigatureSubst.read(raf, offset);
83
+ break;
84
+ case 5:
84
85
  // s = ContextSubst.read(raf, offset);
85
- break;
86
- case 6:
86
+ break;
87
+ case 6:
87
88
  // s = ChainingSubst.read(raf, offset);
88
- break;
89
- }
90
- return s;
91
- }
92
-
93
- /** Get the table type, as a table directory value.
94
- * @return The table type
95
- */
96
- @Override
97
- public int getType() {
98
- return GSUB;
99
- }
100
-
101
- public ScriptList getScriptList() {
102
- return scriptList;
103
- }
104
-
105
- public FeatureList getFeatureList() {
106
- return featureList;
107
- }
108
-
109
- public LookupList getLookupList() {
110
- return lookupList;
111
- }
112
-
113
- @Override
114
- public String toString() {
115
- return "GSUB";
89
+ break;
116
90
  }
91
+ return s;
92
+ }
93
+
94
+ /**
95
+ * Get the table type, as a table directory value.
96
+ *
97
+ * @return The table type
98
+ */
99
+ @Override
100
+ public int getType() {
101
+ return GSUB;
102
+ }
103
+
104
+ public ScriptList getScriptList() {
105
+ return scriptList;
106
+ }
107
+
108
+ public FeatureList getFeatureList() {
109
+ return featureList;
110
+ }
111
+
112
+ public LookupList getLookupList() {
113
+ return lookupList;
114
+ }
115
+
116
+ @Override
117
+ public String toString() {
118
+ return "GSUB";
119
+ }
117
120
 
118
121
  }
@@ -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: HeadTable.java,v 1.3 2004/08/18 07:15:21 vhardy Exp $
@@ -26,134 +26,134 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class HeadTable implements Table {
28
28
 
29
- private final int versionNumber;
30
- private final int fontRevision;
31
- private final int checkSumAdjustment;
32
- private final int magicNumber;
33
- private final short flags;
34
- private final short unitsPerEm;
35
- private final long created;
36
- private final long modified;
37
- private final short xMin;
38
- private final short yMin;
39
- private final short xMax;
40
- private final short yMax;
41
- private final short macStyle;
42
- private final short lowestRecPPEM;
43
- private final short fontDirectionHint;
44
- private final short indexToLocFormat;
45
- private final short glyphDataFormat;
46
-
47
- protected HeadTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
48
- raf.seek(de.getOffset());
49
- versionNumber = raf.readInt();
50
- fontRevision = raf.readInt();
51
- checkSumAdjustment = raf.readInt();
52
- magicNumber = raf.readInt();
53
- flags = raf.readShort();
54
- unitsPerEm = raf.readShort();
55
- created = raf.readLong();
56
- modified = raf.readLong();
57
- xMin = raf.readShort();
58
- yMin = raf.readShort();
59
- xMax = raf.readShort();
60
- yMax = raf.readShort();
61
- macStyle = raf.readShort();
62
- lowestRecPPEM = raf.readShort();
63
- fontDirectionHint = raf.readShort();
64
- indexToLocFormat = raf.readShort();
65
- glyphDataFormat = raf.readShort();
66
- }
67
-
68
- public int getCheckSumAdjustment() {
69
- return checkSumAdjustment;
70
- }
71
-
72
- public long getCreated() {
73
- return created;
74
- }
75
-
76
- public short getFlags() {
77
- return flags;
78
- }
79
-
80
- public short getFontDirectionHint() {
81
- return fontDirectionHint;
82
- }
83
-
84
- public int getFontRevision(){
85
- return fontRevision;
86
- }
87
-
88
- public short getGlyphDataFormat() {
89
- return glyphDataFormat;
90
- }
91
-
92
- public short getIndexToLocFormat() {
93
- return indexToLocFormat;
94
- }
95
-
96
- public short getLowestRecPPEM() {
97
- return lowestRecPPEM;
98
- }
99
-
100
- public short getMacStyle() {
101
- return macStyle;
102
- }
103
-
104
- public long getModified() {
105
- return modified;
106
- }
107
-
108
- @Override
109
- public int getType() {
110
- return head;
111
- }
112
-
113
- public short getUnitsPerEm() {
114
- return unitsPerEm;
115
- }
116
-
117
- public int getVersionNumber() {
118
- return versionNumber;
119
- }
120
-
121
- public short getXMax() {
122
- return xMax;
123
- }
124
-
125
- public short getXMin() {
126
- return xMin;
127
- }
128
-
129
- public short getYMax() {
130
- return yMax;
131
- }
132
-
133
- public short getYMin() {
134
- return yMin;
135
- }
136
-
137
- @Override
138
- public String toString() {
139
- return new StringBuilder()
140
- .append("head\n\tversionNumber: ").append(versionNumber)
141
- .append("\n\tfontRevision: ").append(fontRevision)
142
- .append("\n\tcheckSumAdjustment: ").append(checkSumAdjustment)
143
- .append("\n\tmagicNumber: ").append(magicNumber)
144
- .append("\n\tflags: ").append(flags)
145
- .append("\n\tunitsPerEm: ").append(unitsPerEm)
146
- .append("\n\tcreated: ").append(created)
147
- .append("\n\tmodified: ").append(modified)
148
- .append("\n\txMin: ").append(xMin)
149
- .append(", yMin: ").append(yMin)
150
- .append("\n\txMax: ").append(xMax)
151
- .append(", yMax: ").append(yMax)
152
- .append("\n\tmacStyle: ").append(macStyle)
153
- .append("\n\tlowestRecPPEM: ").append(lowestRecPPEM)
154
- .append("\n\tfontDirectionHint: ").append(fontDirectionHint)
155
- .append("\n\tindexToLocFormat: ").append(indexToLocFormat)
156
- .append("\n\tglyphDataFormat: ").append(glyphDataFormat)
157
- .toString();
158
- }
29
+ private final int versionNumber;
30
+ private final int fontRevision;
31
+ private final int checkSumAdjustment;
32
+ private final int magicNumber;
33
+ private final short flags;
34
+ private final short unitsPerEm;
35
+ private final long created;
36
+ private final long modified;
37
+ private final short xMin;
38
+ private final short yMin;
39
+ private final short xMax;
40
+ private final short yMax;
41
+ private final short macStyle;
42
+ private final short lowestRecPPEM;
43
+ private final short fontDirectionHint;
44
+ private final short indexToLocFormat;
45
+ private final short glyphDataFormat;
46
+
47
+ protected HeadTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
48
+ raf.seek(de.getOffset());
49
+ versionNumber = raf.readInt();
50
+ fontRevision = raf.readInt();
51
+ checkSumAdjustment = raf.readInt();
52
+ magicNumber = raf.readInt();
53
+ flags = raf.readShort();
54
+ unitsPerEm = raf.readShort();
55
+ created = raf.readLong();
56
+ modified = raf.readLong();
57
+ xMin = raf.readShort();
58
+ yMin = raf.readShort();
59
+ xMax = raf.readShort();
60
+ yMax = raf.readShort();
61
+ macStyle = raf.readShort();
62
+ lowestRecPPEM = raf.readShort();
63
+ fontDirectionHint = raf.readShort();
64
+ indexToLocFormat = raf.readShort();
65
+ glyphDataFormat = raf.readShort();
66
+ }
67
+
68
+ public int getCheckSumAdjustment() {
69
+ return checkSumAdjustment;
70
+ }
71
+
72
+ public long getCreated() {
73
+ return created;
74
+ }
75
+
76
+ public short getFlags() {
77
+ return flags;
78
+ }
79
+
80
+ public short getFontDirectionHint() {
81
+ return fontDirectionHint;
82
+ }
83
+
84
+ public int getFontRevision() {
85
+ return fontRevision;
86
+ }
87
+
88
+ public short getGlyphDataFormat() {
89
+ return glyphDataFormat;
90
+ }
91
+
92
+ public short getIndexToLocFormat() {
93
+ return indexToLocFormat;
94
+ }
95
+
96
+ public short getLowestRecPPEM() {
97
+ return lowestRecPPEM;
98
+ }
99
+
100
+ public short getMacStyle() {
101
+ return macStyle;
102
+ }
103
+
104
+ public long getModified() {
105
+ return modified;
106
+ }
107
+
108
+ @Override
109
+ public int getType() {
110
+ return HEAD;
111
+ }
112
+
113
+ public short getUnitsPerEm() {
114
+ return unitsPerEm;
115
+ }
116
+
117
+ public int getVersionNumber() {
118
+ return versionNumber;
119
+ }
120
+
121
+ public short getXMax() {
122
+ return xMax;
123
+ }
124
+
125
+ public short getXMin() {
126
+ return xMin;
127
+ }
128
+
129
+ public short getYMax() {
130
+ return yMax;
131
+ }
132
+
133
+ public short getYMin() {
134
+ return yMin;
135
+ }
136
+
137
+ @Override
138
+ public String toString() {
139
+ return new StringBuilder()
140
+ .append("head\n\tversionNumber: ").append(versionNumber)
141
+ .append("\n\tfontRevision: ").append(fontRevision)
142
+ .append("\n\tcheckSumAdjustment: ").append(checkSumAdjustment)
143
+ .append("\n\tmagicNumber: ").append(magicNumber)
144
+ .append("\n\tflags: ").append(flags)
145
+ .append("\n\tunitsPerEm: ").append(unitsPerEm)
146
+ .append("\n\tcreated: ").append(created)
147
+ .append("\n\tmodified: ").append(modified)
148
+ .append("\n\txMin: ").append(xMin)
149
+ .append(", yMin: ").append(yMin)
150
+ .append("\n\txMax: ").append(xMax)
151
+ .append(", yMax: ").append(yMax)
152
+ .append("\n\tmacStyle: ").append(macStyle)
153
+ .append("\n\tlowestRecPPEM: ").append(lowestRecPPEM)
154
+ .append("\n\tfontDirectionHint: ").append(fontDirectionHint)
155
+ .append("\n\tindexToLocFormat: ").append(indexToLocFormat)
156
+ .append("\n\tglyphDataFormat: ").append(glyphDataFormat)
157
+ .toString();
158
+ }
159
159
  }