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
  * @version $Id: NameRecord.java,v 1.3 2004/08/18 07:15:22 vhardy Exp $
@@ -26,73 +26,72 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class NameRecord {
28
28
 
29
- private final short platformId;
30
- private final short encodingId;
31
- private final short languageId;
32
- private final short nameId;
33
- private final short stringLength;
34
- private final short stringOffset;
35
- private String record;
29
+ private final short platformId;
30
+ private final short encodingId;
31
+ private final short languageId;
32
+ private final short nameId;
33
+ private final short stringLength;
34
+ private final short stringOffset;
35
+ private String record;
36
36
 
37
- protected NameRecord(RandomAccessFileEmulator raf) throws IOException {
38
- platformId = raf.readShort();
39
- encodingId = raf.readShort();
40
- languageId = raf.readShort();
41
- nameId = raf.readShort();
42
- stringLength = raf.readShort();
43
- stringOffset = raf.readShort();
44
- }
45
-
46
- public short getEncodingId() {
47
- return encodingId;
48
- }
49
-
50
- public short getLanguageId() {
51
- return languageId;
52
- }
53
-
54
- public short getNameId() {
55
- return nameId;
56
- }
57
-
58
- public short getPlatformId() {
59
- return platformId;
60
- }
37
+ protected NameRecord(RandomAccessFileEmulator raf) throws IOException {
38
+ platformId = raf.readShort();
39
+ encodingId = raf.readShort();
40
+ languageId = raf.readShort();
41
+ nameId = raf.readShort();
42
+ stringLength = raf.readShort();
43
+ stringOffset = raf.readShort();
44
+ }
61
45
 
62
- public String getRecordString() {
63
- return record;
64
- }
46
+ public short getEncodingId() {
47
+ return encodingId;
48
+ }
49
+
50
+ public short getLanguageId() {
51
+ return languageId;
52
+ }
53
+
54
+ public short getNameId() {
55
+ return nameId;
56
+ }
57
+
58
+ public short getPlatformId() {
59
+ return platformId;
60
+ }
65
61
 
66
- protected void loadString(RandomAccessFileEmulator raf, int stringStorageOffset) throws IOException {
67
- StringBuilder sb = new StringBuilder();
68
- raf.seek(stringStorageOffset + stringOffset);
69
- if (platformId == Table.platformAppleUnicode) {
70
-
71
- // Unicode (big-endian)
72
- for (int i = 0; i < stringLength/2; i++) {
73
- sb.append(raf.readChar());
74
- }
75
- } else if (platformId == Table.platformMacintosh) {
62
+ public String getRecordString() {
63
+ return record;
64
+ }
76
65
 
77
- // Macintosh encoding, ASCII
78
- for (int i = 0; i < stringLength; i++) {
79
- sb.append((char) raf.readByte());
80
- }
81
- } else if (platformId == Table.platformISO) {
82
-
83
- // ISO encoding, ASCII
84
- for (int i = 0; i < stringLength; i++) {
85
- sb.append((char) raf.readByte());
86
- }
87
- } else if (platformId == Table.platformMicrosoft) {
88
-
89
- // Microsoft encoding, Unicode
90
- char c;
91
- for (int i = 0; i < stringLength/2; i++) {
92
- c = raf.readChar();
93
- sb.append(c);
94
- }
95
- }
96
- record = sb.toString();
66
+ protected void loadString(RandomAccessFileEmulator raf, int stringStorageOffset) throws IOException {
67
+ StringBuilder sb = new StringBuilder();
68
+ raf.seek(stringStorageOffset + stringOffset);
69
+ switch (platformId) {
70
+ case Table.platformAppleUnicode:
71
+ // Unicode (big-endian)
72
+ for (int i = 0; i < stringLength / 2; i++) {
73
+ sb.append(raf.readChar());
74
+ } break;
75
+ case Table.platformMacintosh:
76
+ // Macintosh encoding, ASCII
77
+ for (int i = 0; i < stringLength; i++) {
78
+ sb.append((char) raf.readByte());
79
+ } break;
80
+ case Table.platformISO:
81
+ // ISO encoding, ASCII
82
+ for (int i = 0; i < stringLength; i++) {
83
+ sb.append((char) raf.readByte());
84
+ } break;
85
+ case Table.platformMicrosoft:
86
+ // Microsoft encoding, Unicode
87
+ char c;
88
+ for (int i = 0; i < stringLength / 2; i++) {
89
+ c = raf.readChar();
90
+ sb.append(c);
91
+ } break;
92
+ default:
93
+ break;
97
94
  }
95
+ record = sb.toString();
96
+ }
98
97
  }
@@ -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: NameTable.java,v 1.3 2004/08/18 07:15:22 vhardy Exp $
@@ -26,42 +26,42 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class NameTable implements Table {
28
28
 
29
- private final short formatSelector;
30
- private final short numberOfNameRecords;
31
- private final short stringStorageOffset;
32
- private final NameRecord[] records;
29
+ private final short formatSelector;
30
+ private final short numberOfNameRecords;
31
+ private final short stringStorageOffset;
32
+ private final NameRecord[] records;
33
33
 
34
- protected NameTable(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
35
- raf.seek(de.getOffset());
36
- formatSelector = raf.readShort();
37
- numberOfNameRecords = raf.readShort();
38
- stringStorageOffset = raf.readShort();
39
- records = new NameRecord[numberOfNameRecords];
40
-
41
- // Load the records, which contain the encoding information and string offsets
42
- for (int i = 0; i < numberOfNameRecords; i++) {
43
- records[i] = new NameRecord(raf);
44
- }
45
-
46
- // Now load the strings
47
- for (int i = 0; i < numberOfNameRecords; i++) {
48
- records[i].loadString(raf, de.getOffset() + stringStorageOffset);
49
- }
50
- }
34
+ protected NameTable(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
35
+ raf.seek(de.getOffset());
36
+ formatSelector = raf.readShort();
37
+ numberOfNameRecords = raf.readShort();
38
+ stringStorageOffset = raf.readShort();
39
+ records = new NameRecord[numberOfNameRecords];
51
40
 
52
- public String getRecord(short nameId) {
41
+ // Load the records, which contain the encoding information and string offsets
42
+ for (int i = 0; i < numberOfNameRecords; i++) {
43
+ records[i] = new NameRecord(raf);
44
+ }
53
45
 
54
- // Search for the first instance of this name ID
55
- for (int i = 0; i < numberOfNameRecords; i++) {
56
- if (records[i].getNameId() == nameId) {
57
- return records[i].getRecordString();
58
- }
59
- }
60
- return "";
46
+ // Now load the strings
47
+ for (int i = 0; i < numberOfNameRecords; i++) {
48
+ records[i].loadString(raf, de.getOffset() + stringStorageOffset);
61
49
  }
50
+ }
62
51
 
63
- @Override
64
- public int getType() {
65
- return name;
52
+ public String getRecord(short nameId) {
53
+
54
+ // Search for the first instance of this name ID
55
+ for (int i = 0; i < numberOfNameRecords; i++) {
56
+ if (records[i].getNameId() == nameId) {
57
+ return records[i].getRecordString();
58
+ }
66
59
  }
60
+ return "";
61
+ }
62
+
63
+ @Override
64
+ public int getType() {
65
+ return NAME;
66
+ }
67
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: Os2Table.java,v 1.3 2004/08/18 07:15:22 vhardy Exp $
@@ -26,207 +26,207 @@ import org.apache.batik.svggen.font.*;
26
26
  */
27
27
  public class Os2Table implements Table {
28
28
 
29
- private final int version;
30
- private final short xAvgCharWidth;
31
- private final int usWeightClass;
32
- private final int usWidthClass;
33
- private final short fsType;
34
- private final short ySubscriptXSize;
35
- private final short ySubscriptYSize;
36
- private final short ySubscriptXOffset;
37
- private final short ySubscriptYOffset;
38
- private final short ySuperscriptXSize;
39
- private final short ySuperscriptYSize;
40
- private final short ySuperscriptXOffset;
41
- private final short ySuperscriptYOffset;
42
- private final short yStrikeoutSize;
43
- private final short yStrikeoutPosition;
44
- private final short sFamilyClass;
45
- private final Panose panose;
46
- private final int ulUnicodeRange1;
47
- private final int ulUnicodeRange2;
48
- private final int ulUnicodeRange3;
49
- private final int ulUnicodeRange4;
50
- private final int achVendorID;
51
- private final short fsSelection;
52
- private final int usFirstCharIndex;
53
- private final int usLastCharIndex;
54
- private final short sTypoAscender;
55
- private final short sTypoDescender;
56
- private final short sTypoLineGap;
57
- private final int usWinAscent;
58
- private final int usWinDescent;
59
- private final int ulCodePageRange1;
60
- private final int ulCodePageRange2;
61
-
62
- protected Os2Table(DirectoryEntry de,RandomAccessFileEmulator raf) throws IOException {
63
- raf.seek(de.getOffset());
64
- version = raf.readUnsignedShort();
65
- xAvgCharWidth = raf.readShort();
66
- usWeightClass = raf.readUnsignedShort();
67
- usWidthClass = raf.readUnsignedShort();
68
- fsType = raf.readShort();
69
- ySubscriptXSize = raf.readShort();
70
- ySubscriptYSize = raf.readShort();
71
- ySubscriptXOffset = raf.readShort();
72
- ySubscriptYOffset = raf.readShort();
73
- ySuperscriptXSize = raf.readShort();
74
- ySuperscriptYSize = raf.readShort();
75
- ySuperscriptXOffset = raf.readShort();
76
- ySuperscriptYOffset = raf.readShort();
77
- yStrikeoutSize = raf.readShort();
78
- yStrikeoutPosition = raf.readShort();
79
- sFamilyClass = raf.readShort();
80
- byte[] buf = new byte[10];
81
- raf.read(buf);
82
- panose = new Panose(buf);
83
- ulUnicodeRange1 = raf.readInt();
84
- ulUnicodeRange2 = raf.readInt();
85
- ulUnicodeRange3 = raf.readInt();
86
- ulUnicodeRange4 = raf.readInt();
87
- achVendorID = raf.readInt();
88
- fsSelection = raf.readShort();
89
- usFirstCharIndex = raf.readUnsignedShort();
90
- usLastCharIndex = raf.readUnsignedShort();
91
- sTypoAscender = raf.readShort();
92
- sTypoDescender = raf.readShort();
93
- sTypoLineGap = raf.readShort();
94
- usWinAscent = raf.readUnsignedShort();
95
- usWinDescent = raf.readUnsignedShort();
96
- ulCodePageRange1 = raf.readInt();
97
- ulCodePageRange2 = raf.readInt();
98
- }
99
-
100
- public int getVersion() {
101
- return version;
102
- }
103
-
104
- public short getAvgCharWidth() {
105
- return xAvgCharWidth;
106
- }
107
-
108
- public int getWeightClass() {
109
- return usWeightClass;
110
- }
111
-
112
- public int getWidthClass() {
113
- return usWidthClass;
114
- }
115
-
116
- public short getLicenseType() {
117
- return fsType;
118
- }
119
-
120
- public short getSubscriptXSize() {
121
- return ySubscriptXSize;
122
- }
123
-
124
- public short getSubscriptYSize() {
125
- return ySubscriptYSize;
126
- }
127
-
128
- public short getSubscriptXOffset() {
129
- return ySubscriptXOffset;
130
- }
131
-
132
- public short getSubscriptYOffset() {
133
- return ySubscriptYOffset;
134
- }
135
-
136
- public short getSuperscriptXSize() {
137
- return ySuperscriptXSize;
138
- }
139
-
140
- public short getSuperscriptYSize() {
141
- return ySuperscriptYSize;
142
- }
143
-
144
- public short getSuperscriptXOffset() {
145
- return ySuperscriptXOffset;
146
- }
147
-
148
- public short getSuperscriptYOffset() {
149
- return ySuperscriptYOffset;
150
- }
151
-
152
- public short getStrikeoutSize() {
153
- return yStrikeoutSize;
154
- }
155
-
156
- public short getStrikeoutPosition() {
157
- return yStrikeoutPosition;
158
- }
159
-
160
- public short getFamilyClass() {
161
- return sFamilyClass;
162
- }
163
-
164
- public Panose getPanose() {
165
- return panose;
166
- }
167
-
168
- public int getUnicodeRange1() {
169
- return ulUnicodeRange1;
170
- }
171
-
172
- public int getUnicodeRange2() {
173
- return ulUnicodeRange2;
174
- }
175
-
176
- public int getUnicodeRange3() {
177
- return ulUnicodeRange3;
178
- }
179
-
180
- public int getUnicodeRange4() {
181
- return ulUnicodeRange4;
182
- }
183
-
184
- public int getVendorID() {
185
- return achVendorID;
186
- }
187
-
188
- public short getSelection() {
189
- return fsSelection;
190
- }
191
-
192
- public int getFirstCharIndex() {
193
- return usFirstCharIndex;
194
- }
195
-
196
- public int getLastCharIndex() {
197
- return usLastCharIndex;
198
- }
29
+ private final int version;
30
+ private final short xAvgCharWidth;
31
+ private final int usWeightClass;
32
+ private final int usWidthClass;
33
+ private final short fsType;
34
+ private final short ySubscriptXSize;
35
+ private final short ySubscriptYSize;
36
+ private final short ySubscriptXOffset;
37
+ private final short ySubscriptYOffset;
38
+ private final short ySuperscriptXSize;
39
+ private final short ySuperscriptYSize;
40
+ private final short ySuperscriptXOffset;
41
+ private final short ySuperscriptYOffset;
42
+ private final short yStrikeoutSize;
43
+ private final short yStrikeoutPosition;
44
+ private final short sFamilyClass;
45
+ private final Panose panose;
46
+ private final int ulUnicodeRange1;
47
+ private final int ulUnicodeRange2;
48
+ private final int ulUnicodeRange3;
49
+ private final int ulUnicodeRange4;
50
+ private final int achVendorID;
51
+ private final short fsSelection;
52
+ private final int usFirstCharIndex;
53
+ private final int usLastCharIndex;
54
+ private final short sTypoAscender;
55
+ private final short sTypoDescender;
56
+ private final short sTypoLineGap;
57
+ private final int usWinAscent;
58
+ private final int usWinDescent;
59
+ private final int ulCodePageRange1;
60
+ private final int ulCodePageRange2;
61
+
62
+ protected Os2Table(DirectoryEntry de, RandomAccessFileEmulator raf) throws IOException {
63
+ raf.seek(de.getOffset());
64
+ version = raf.readUnsignedShort();
65
+ xAvgCharWidth = raf.readShort();
66
+ usWeightClass = raf.readUnsignedShort();
67
+ usWidthClass = raf.readUnsignedShort();
68
+ fsType = raf.readShort();
69
+ ySubscriptXSize = raf.readShort();
70
+ ySubscriptYSize = raf.readShort();
71
+ ySubscriptXOffset = raf.readShort();
72
+ ySubscriptYOffset = raf.readShort();
73
+ ySuperscriptXSize = raf.readShort();
74
+ ySuperscriptYSize = raf.readShort();
75
+ ySuperscriptXOffset = raf.readShort();
76
+ ySuperscriptYOffset = raf.readShort();
77
+ yStrikeoutSize = raf.readShort();
78
+ yStrikeoutPosition = raf.readShort();
79
+ sFamilyClass = raf.readShort();
80
+ byte[] buf = new byte[10];
81
+ raf.read(buf);
82
+ panose = new Panose(buf);
83
+ ulUnicodeRange1 = raf.readInt();
84
+ ulUnicodeRange2 = raf.readInt();
85
+ ulUnicodeRange3 = raf.readInt();
86
+ ulUnicodeRange4 = raf.readInt();
87
+ achVendorID = raf.readInt();
88
+ fsSelection = raf.readShort();
89
+ usFirstCharIndex = raf.readUnsignedShort();
90
+ usLastCharIndex = raf.readUnsignedShort();
91
+ sTypoAscender = raf.readShort();
92
+ sTypoDescender = raf.readShort();
93
+ sTypoLineGap = raf.readShort();
94
+ usWinAscent = raf.readUnsignedShort();
95
+ usWinDescent = raf.readUnsignedShort();
96
+ ulCodePageRange1 = raf.readInt();
97
+ ulCodePageRange2 = raf.readInt();
98
+ }
99
+
100
+ public int getVersion() {
101
+ return version;
102
+ }
103
+
104
+ public short getAvgCharWidth() {
105
+ return xAvgCharWidth;
106
+ }
107
+
108
+ public int getWeightClass() {
109
+ return usWeightClass;
110
+ }
111
+
112
+ public int getWidthClass() {
113
+ return usWidthClass;
114
+ }
115
+
116
+ public short getLicenseType() {
117
+ return fsType;
118
+ }
119
+
120
+ public short getSubscriptXSize() {
121
+ return ySubscriptXSize;
122
+ }
123
+
124
+ public short getSubscriptYSize() {
125
+ return ySubscriptYSize;
126
+ }
127
+
128
+ public short getSubscriptXOffset() {
129
+ return ySubscriptXOffset;
130
+ }
131
+
132
+ public short getSubscriptYOffset() {
133
+ return ySubscriptYOffset;
134
+ }
135
+
136
+ public short getSuperscriptXSize() {
137
+ return ySuperscriptXSize;
138
+ }
139
+
140
+ public short getSuperscriptYSize() {
141
+ return ySuperscriptYSize;
142
+ }
143
+
144
+ public short getSuperscriptXOffset() {
145
+ return ySuperscriptXOffset;
146
+ }
147
+
148
+ public short getSuperscriptYOffset() {
149
+ return ySuperscriptYOffset;
150
+ }
151
+
152
+ public short getStrikeoutSize() {
153
+ return yStrikeoutSize;
154
+ }
155
+
156
+ public short getStrikeoutPosition() {
157
+ return yStrikeoutPosition;
158
+ }
159
+
160
+ public short getFamilyClass() {
161
+ return sFamilyClass;
162
+ }
163
+
164
+ public Panose getPanose() {
165
+ return panose;
166
+ }
167
+
168
+ public int getUnicodeRange1() {
169
+ return ulUnicodeRange1;
170
+ }
171
+
172
+ public int getUnicodeRange2() {
173
+ return ulUnicodeRange2;
174
+ }
175
+
176
+ public int getUnicodeRange3() {
177
+ return ulUnicodeRange3;
178
+ }
179
+
180
+ public int getUnicodeRange4() {
181
+ return ulUnicodeRange4;
182
+ }
183
+
184
+ public int getVendorID() {
185
+ return achVendorID;
186
+ }
187
+
188
+ public short getSelection() {
189
+ return fsSelection;
190
+ }
191
+
192
+ public int getFirstCharIndex() {
193
+ return usFirstCharIndex;
194
+ }
195
+
196
+ public int getLastCharIndex() {
197
+ return usLastCharIndex;
198
+ }
199
199
 
200
- public short getTypoAscender() {
201
- return sTypoAscender;
202
- }
200
+ public short getTypoAscender() {
201
+ return sTypoAscender;
202
+ }
203
203
 
204
- public short getTypoDescender() {
205
- return sTypoDescender;
206
- }
204
+ public short getTypoDescender() {
205
+ return sTypoDescender;
206
+ }
207
207
 
208
- public short getTypoLineGap() {
209
- return sTypoLineGap;
210
- }
208
+ public short getTypoLineGap() {
209
+ return sTypoLineGap;
210
+ }
211
211
 
212
- public int getWinAscent() {
213
- return usWinAscent;
214
- }
212
+ public int getWinAscent() {
213
+ return usWinAscent;
214
+ }
215
215
 
216
- public int getWinDescent() {
217
- return usWinDescent;
218
- }
216
+ public int getWinDescent() {
217
+ return usWinDescent;
218
+ }
219
219
 
220
- public int getCodePageRange1() {
221
- return ulCodePageRange1;
222
- }
220
+ public int getCodePageRange1() {
221
+ return ulCodePageRange1;
222
+ }
223
223
 
224
- public int getCodePageRange2() {
225
- return ulCodePageRange2;
226
- }
224
+ public int getCodePageRange2() {
225
+ return ulCodePageRange2;
226
+ }
227
227
 
228
- @Override
229
- public int getType() {
230
- return OS_2;
231
- }
228
+ @Override
229
+ public int getType() {
230
+ return OS_2;
231
+ }
232
232
  }