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
@@ -23,16 +23,16 @@ package org.apache.batik.svggen.font;
23
23
  */
24
24
  public class Point {
25
25
 
26
- public int x = 0;
27
- public int y = 0;
28
- public boolean onCurve = true;
29
- public boolean endOfContour = false;
30
- public boolean touched = false;
31
-
32
- public Point(int x, int y, boolean onCurve, boolean endOfContour) {
33
- this.x = x;
34
- this.y = y;
35
- this.onCurve = onCurve;
36
- this.endOfContour = endOfContour;
37
- }
26
+ public int x = 0;
27
+ public int y = 0;
28
+ public boolean onCurve = true;
29
+ public boolean endOfContour = false;
30
+ public boolean touched = false;
31
+
32
+ public Point(int x, int y, boolean onCurve, boolean endOfContour) {
33
+ this.x = x;
34
+ this.y = y;
35
+ this.onCurve = onCurve;
36
+ this.endOfContour = endOfContour;
37
+ }
38
38
  }
@@ -1,15 +1,17 @@
1
1
  package org.apache.batik.svggen.font;
2
2
 
3
- import java.io.*;
4
-
5
- public class RandomAccessFileEmulator extends DataInputStream{
6
-
7
- public RandomAccessFileEmulator(byte[] byteArray, String accesMode){
8
- super(new ByteArrayInputStream(byteArray));
9
- }
10
-
11
- public void seek(long n) throws IOException{
12
- reset();
13
- skip(n);
14
- }
3
+ import java.io.ByteArrayInputStream;
4
+ import java.io.DataInputStream;
5
+ import java.io.IOException;
6
+
7
+ public class RandomAccessFileEmulator extends DataInputStream {
8
+
9
+ public RandomAccessFileEmulator(byte[] byteArray, String accesMode) {
10
+ super(new ByteArrayInputStream(byteArray));
11
+ }
12
+
13
+ public void seek(long n) throws IOException {
14
+ reset();
15
+ skip(n);
16
+ }
15
17
  }
@@ -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,16 +27,16 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public abstract class ClassDef {
29
29
 
30
- public abstract int getFormat();
31
-
32
- protected static ClassDef read(RandomAccessFileEmulator raf) throws IOException {
33
- ClassDef c = null;
34
- int format = raf.readUnsignedShort();
35
- if (format == 1) {
36
- c = new ClassDefFormat1(raf);
37
- } else if (format == 2) {
38
- c = new ClassDefFormat2(raf);
39
- }
40
- return c;
30
+ public abstract int getFormat();
31
+
32
+ protected static ClassDef read(RandomAccessFileEmulator raf) throws IOException {
33
+ ClassDef c = null;
34
+ int format = raf.readUnsignedShort();
35
+ if (format == 1) {
36
+ c = new ClassDefFormat1(raf);
37
+ } else if (format == 2) {
38
+ c = new ClassDefFormat2(raf);
41
39
  }
40
+ return c;
41
+ }
42
42
  }
@@ -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,29 +27,32 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class ClassDefFormat1 extends ClassDef {
29
29
 
30
- private final int startGlyph;
31
- private final int glyphCount;
32
- private final int[] classValues;
33
-
34
- /** Creates new ClassDefFormat1
35
- * @param raf
36
- * @throws java.io.IOException */
37
- public ClassDefFormat1(RandomAccessFileEmulator raf) throws IOException {
38
- startGlyph = raf.readUnsignedShort();
39
- glyphCount = raf.readUnsignedShort();
40
- classValues = new int[glyphCount];
41
- for (int i = 0; i < glyphCount; i++) {
42
- classValues[i] = raf.readUnsignedShort();
43
- }
44
- }
45
-
46
- /**
47
- *
48
- * @return
49
- */
50
- @Override
51
- public int getFormat() {
52
- return 1;
30
+ private final int startGlyph;
31
+ private final int glyphCount;
32
+ private final int[] classValues;
33
+
34
+ /**
35
+ * Creates new ClassDefFormat1
36
+ *
37
+ * @param raf
38
+ * @throws java.io.IOException
39
+ */
40
+ public ClassDefFormat1(RandomAccessFileEmulator raf) throws IOException {
41
+ startGlyph = raf.readUnsignedShort();
42
+ glyphCount = raf.readUnsignedShort();
43
+ classValues = new int[glyphCount];
44
+ for (int i = 0; i < glyphCount; i++) {
45
+ classValues[i] = raf.readUnsignedShort();
53
46
  }
47
+ }
48
+
49
+ /**
50
+ *
51
+ * @return
52
+ */
53
+ @Override
54
+ public int getFormat() {
55
+ return 1;
56
+ }
54
57
 
55
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
  *
@@ -27,23 +27,26 @@ import org.apache.batik.svggen.font.*;
27
27
  */
28
28
  public class ClassDefFormat2 extends ClassDef {
29
29
 
30
- private final int classRangeCount;
31
- private final RangeRecord[] classRangeRecords;
32
-
33
- /** Creates new ClassDefFormat2
34
- * @param raf
35
- * @throws java.io.IOException */
36
- public ClassDefFormat2(RandomAccessFileEmulator raf) throws IOException {
37
- classRangeCount = raf.readUnsignedShort();
38
- classRangeRecords = new RangeRecord[classRangeCount];
39
- for (int i = 0; i < classRangeCount; i++) {
40
- classRangeRecords[i] = new RangeRecord(raf);
41
- }
30
+ private final int classRangeCount;
31
+ private final RangeRecord[] classRangeRecords;
32
+
33
+ /**
34
+ * Creates new ClassDefFormat2
35
+ *
36
+ * @param raf
37
+ * @throws java.io.IOException
38
+ */
39
+ public ClassDefFormat2(RandomAccessFileEmulator raf) throws IOException {
40
+ classRangeCount = raf.readUnsignedShort();
41
+ classRangeRecords = new RangeRecord[classRangeCount];
42
+ for (int i = 0; i < classRangeCount; i++) {
43
+ classRangeRecords[i] = new RangeRecord(raf);
42
44
  }
45
+ }
43
46
 
44
- @Override
45
- public int getFormat() {
46
- return 2;
47
- }
47
+ @Override
48
+ public int getFormat() {
49
+ return 2;
50
+ }
48
51
 
49
52
  }
@@ -18,8 +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.*;
22
-
21
+ import org.apache.batik.svggen.font.RandomAccessFileEmulator;
23
22
 
24
23
  /**
25
24
  * @version $Id: CmapFormat.java,v 1.4 2004/09/01 09:35:23 deweese Exp $
@@ -27,55 +26,56 @@ import org.apache.batik.svggen.font.*;
27
26
  */
28
27
  public abstract class CmapFormat {
29
28
 
30
- protected int format;
31
- protected int length;
32
- protected int version;
29
+ protected int format;
30
+ protected int length;
31
+ protected int version;
33
32
 
34
- protected CmapFormat(RandomAccessFileEmulator raf) throws IOException {
35
- length = raf.readUnsignedShort();
36
- version = raf.readUnsignedShort();
37
- }
33
+ protected CmapFormat(RandomAccessFileEmulator raf) throws IOException {
34
+ length = raf.readUnsignedShort();
35
+ version = raf.readUnsignedShort();
36
+ }
38
37
 
39
- protected static CmapFormat create(int format, RandomAccessFileEmulator raf)
38
+ protected static CmapFormat create(int format, RandomAccessFileEmulator raf)
40
39
  throws IOException {
41
- switch(format) {
42
- case 0:
43
- return new CmapFormat0(raf);
44
- case 2:
45
- return new CmapFormat2(raf);
46
- case 4:
47
- return new CmapFormat4(raf);
48
- case 6:
49
- return new CmapFormat6(raf);
50
- }
51
- return null;
40
+ switch (format) {
41
+ case 0:
42
+ return new CmapFormat0(raf);
43
+ case 2:
44
+ return new CmapFormat2(raf);
45
+ case 4:
46
+ return new CmapFormat4(raf);
47
+ case 6:
48
+ return new CmapFormat6(raf);
52
49
  }
50
+ return null;
51
+ }
53
52
 
54
- public int getFormat() {
55
- return format;
56
- }
53
+ public int getFormat() {
54
+ return format;
55
+ }
57
56
 
58
- public int getLength() {
59
- return length;
60
- }
57
+ public int getLength() {
58
+ return length;
59
+ }
61
60
 
62
- public int getVersion() {
63
- return version;
64
- }
61
+ public int getVersion() {
62
+ return version;
63
+ }
65
64
 
66
- public abstract int mapCharCode(int charCode);
65
+ public abstract int mapCharCode(int charCode);
67
66
 
68
- public abstract int getFirst();
69
- public abstract int getLast();
67
+ public abstract int getFirst();
70
68
 
71
- @Override
72
- public String toString() {
73
- return new StringBuilder()
74
- .append("format: ")
75
- .append(format)
76
- .append(", length: ")
77
- .append(length)
78
- .append(", version: ")
79
- .append(version).toString();
80
- }
69
+ public abstract int getLast();
70
+
71
+ @Override
72
+ public String toString() {
73
+ return new StringBuilder()
74
+ .append("format: ")
75
+ .append(format)
76
+ .append(", length: ")
77
+ .append(length)
78
+ .append(", version: ")
79
+ .append(version).toString();
80
+ }
81
81
  }
@@ -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
  * Simple Macintosh cmap table, mapping only the ASCII character set to glyphs.
@@ -28,33 +28,40 @@ import org.apache.batik.svggen.font.*;
28
28
  */
29
29
  public class CmapFormat0 extends CmapFormat {
30
30
 
31
- private final int[] glyphIdArray = new int[256];
32
- private int first, last;
33
-
34
- protected CmapFormat0(RandomAccessFileEmulator raf) throws IOException {
35
- super(raf);
36
- format = 0;
37
- first = -1;
38
- for (int i = 0; i < 256; i++) {
39
- glyphIdArray[i] = raf.readUnsignedByte();
40
- if (glyphIdArray[i] > 0) {
41
- if (first == -1) first = i;
42
- last = i;
43
- }
31
+ private final int[] glyphIdArray = new int[256];
32
+ private int first, last;
33
+
34
+ protected CmapFormat0(RandomAccessFileEmulator raf) throws IOException {
35
+ super(raf);
36
+ format = 0;
37
+ first = -1;
38
+ for (int i = 0; i < 256; i++) {
39
+ glyphIdArray[i] = raf.readUnsignedByte();
40
+ if (glyphIdArray[i] > 0) {
41
+ if (first == -1) {
42
+ first = i;
44
43
  }
44
+ last = i;
45
+ }
45
46
  }
47
+ }
46
48
 
47
- @Override
48
- public int getFirst() { return first; }
49
- @Override
50
- public int getLast() { return last; }
51
-
52
- @Override
53
- public int mapCharCode(int charCode) {
54
- if (0 <= charCode && charCode < 256) {
55
- return glyphIdArray[charCode];
56
- } else {
57
- return 0;
58
- }
49
+ @Override
50
+ public int getFirst() {
51
+ return first;
52
+ }
53
+
54
+ @Override
55
+ public int getLast() {
56
+ return last;
57
+ }
58
+
59
+ @Override
60
+ public int mapCharCode(int charCode) {
61
+ if (0 <= charCode && charCode < 256) {
62
+ return glyphIdArray[charCode];
63
+ } else {
64
+ return 0;
59
65
  }
66
+ }
60
67
  }
@@ -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: CmapFormat2.java,v 1.4 2004/09/01 09:35:23 deweese Exp $
@@ -26,23 +26,28 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class CmapFormat2 extends CmapFormat {
28
28
 
29
- private final short[] subHeaderKeys = new short[256];
30
- private int[] subHeaders1;
31
- private int[] subHeaders2;
32
- private short[] glyphIndexArray;
33
-
34
- protected CmapFormat2(RandomAccessFileEmulator raf) throws IOException {
35
- super(raf);
36
- format = 2;
37
- }
38
-
39
- @Override
40
- public int getFirst() { return 0; }
41
- @Override
42
- public int getLast() { return 0; }
43
-
44
- @Override
45
- public int mapCharCode(int charCode) {
46
- return 0;
47
- }
29
+ private final short[] subHeaderKeys = new short[256];
30
+ private int[] subHeaders1;
31
+ private int[] subHeaders2;
32
+ private short[] glyphIndexArray;
33
+
34
+ protected CmapFormat2(RandomAccessFileEmulator raf) throws IOException {
35
+ super(raf);
36
+ format = 2;
37
+ }
38
+
39
+ @Override
40
+ public int getFirst() {
41
+ return 0;
42
+ }
43
+
44
+ @Override
45
+ public int getLast() {
46
+ return 0;
47
+ }
48
+
49
+ @Override
50
+ public int mapCharCode(int charCode) {
51
+ return 0;
52
+ }
48
53
  }