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.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/.mvn/extensions.xml +1 -1
- data/.mvn/wrapper/maven-wrapper.properties +1 -1
- data/CHANGELOG.md +25 -0
- data/COPYING.md +1 -1
- data/README.md +4 -2
- data/Rakefile +2 -15
- data/docs/.gitignore +6 -0
- data/docs/_config.yml +30 -0
- data/docs/_includes/footer.html +38 -0
- data/docs/_includes/head.html +16 -0
- data/docs/_includes/header.html +27 -0
- data/docs/_includes/icon-github.html +1 -0
- data/docs/_includes/icon-github.svg +3 -0
- data/docs/_includes/icon-twitter.html +1 -0
- data/docs/_includes/icon-twitter.svg +3 -0
- data/docs/_includes/navigation.html +24 -0
- data/docs/_layouts/default.html +20 -0
- data/docs/_layouts/page.html +14 -0
- data/docs/_layouts/post.html +15 -0
- data/docs/_posts/2015-11-21-getting_started.md +67 -0
- data/docs/_posts/2015-11-25-bubbles.md +111 -0
- data/docs/_posts/2015-11-26-extra_bright.md +103 -0
- data/docs/_posts/2015-11-26-text_merge.md +114 -0
- data/docs/_posts/2016-07-06-dymo.md +99 -0
- data/docs/_sass/_base.scss +206 -0
- data/docs/_sass/_layout.scss +242 -0
- data/docs/_sass/_syntax-highlighting.scss +71 -0
- data/docs/about.md +12 -0
- data/docs/assets/bright.png +0 -0
- data/docs/assets/bubbles.png +0 -0
- data/docs/assets/design.png +0 -0
- data/docs/assets/dymo.png +0 -0
- data/docs/assets/favicon.ico +0 -0
- data/docs/assets/fred.png +0 -0
- data/docs/assets/merge.png +0 -0
- data/docs/css/main.scss +38 -0
- data/docs/favicon.ico +0 -0
- data/docs/feed.xml +30 -0
- data/docs/index.html +38 -0
- data/examples/README.md +1 -1
- data/examples/data/bot1.svg +1 -1
- data/examples/data/lion.svg +156 -156
- data/examples/data/ruby.svg +1 -1
- data/examples/hello_svg_to_pdf.rb +1 -1
- data/examples/jruby_merge.rb +1 -1
- data/examples/{f_agent.rb → library/f_agent/f_agent.rb} +0 -0
- data/examples/{font_agent.rb → library/font_agent/font_agent.rb} +2 -1
- data/examples/text_on_geomerative_path.rb +3 -2
- data/examples/typo_deform.rb +2 -2
- data/examples/typo_extra_bright.rb +1 -1
- data/geomerative.gemspec +3 -7
- data/lib/geomerative.rb +5 -4
- data/lib/geomerative/version.rb +1 -1
- data/mvnw +234 -0
- data/mvnw.cmd +145 -0
- data/pom.rb +19 -18
- data/pom.xml +14 -13
- data/src/geomerative/FastRClip.java +2050 -2334
- data/src/geomerative/RClip.java +2237 -2539
- data/src/geomerative/RClosest.java +33 -31
- data/src/geomerative/RCommand.java +1750 -1758
- data/src/geomerative/RContour.java +290 -292
- data/src/geomerative/RFont.java +277 -246
- data/src/geomerative/RG.java +722 -727
- data/src/geomerative/RGeomElem.java +967 -962
- data/src/geomerative/RGroup.java +508 -467
- data/src/geomerative/RMatrix.java +304 -289
- data/src/geomerative/RMesh.java +241 -229
- data/src/geomerative/RPath.java +924 -926
- data/src/geomerative/RPoint.java +391 -391
- data/src/geomerative/RPolygon.java +1017 -1013
- data/src/geomerative/RRectangle.java +43 -52
- data/src/geomerative/RSVG.java +480 -516
- data/src/geomerative/RShape.java +1767 -1777
- data/src/geomerative/RStrip.java +173 -176
- data/src/geomerative/RStyle.java +197 -194
- data/src/org/apache/batik/svggen/font/Font.java +141 -142
- data/src/org/apache/batik/svggen/font/Glyph.java +102 -71
- data/src/org/apache/batik/svggen/font/Point.java +12 -12
- data/src/org/apache/batik/svggen/font/RandomAccessFileEmulator.java +14 -12
- data/src/org/apache/batik/svggen/font/table/ClassDef.java +12 -12
- data/src/org/apache/batik/svggen/font/table/ClassDefFormat1.java +27 -24
- data/src/org/apache/batik/svggen/font/table/ClassDefFormat2.java +20 -17
- data/src/org/apache/batik/svggen/font/table/CmapFormat.java +43 -43
- data/src/org/apache/batik/svggen/font/table/CmapFormat0.java +33 -26
- data/src/org/apache/batik/svggen/font/table/CmapFormat2.java +25 -20
- data/src/org/apache/batik/svggen/font/table/CmapFormat4.java +106 -96
- data/src/org/apache/batik/svggen/font/table/CmapFormat6.java +36 -32
- data/src/org/apache/batik/svggen/font/table/CmapIndexEntry.java +69 -49
- data/src/org/apache/batik/svggen/font/table/CmapTable.java +50 -50
- data/src/org/apache/batik/svggen/font/table/Coverage.java +19 -19
- data/src/org/apache/batik/svggen/font/table/CoverageFormat1.java +30 -27
- data/src/org/apache/batik/svggen/font/table/CoverageFormat2.java +26 -24
- data/src/org/apache/batik/svggen/font/table/CvtTable.java +16 -16
- data/src/org/apache/batik/svggen/font/table/Device.java +32 -32
- data/src/org/apache/batik/svggen/font/table/DirectoryEntry.java +39 -39
- data/src/org/apache/batik/svggen/font/table/Feature.java +26 -23
- data/src/org/apache/batik/svggen/font/table/FeatureList.java +37 -35
- data/src/org/apache/batik/svggen/font/table/FeatureRecord.java +22 -22
- data/src/org/apache/batik/svggen/font/table/FeatureTags.java +4 -3
- data/src/org/apache/batik/svggen/font/table/FpgmTable.java +9 -9
- data/src/org/apache/batik/svggen/font/table/GlyfCompositeComp.java +134 -132
- data/src/org/apache/batik/svggen/font/table/GlyfCompositeDescript.java +123 -122
- data/src/org/apache/batik/svggen/font/table/GlyfDescript.java +44 -44
- data/src/org/apache/batik/svggen/font/table/GlyfSimpleDescript.java +110 -109
- data/src/org/apache/batik/svggen/font/table/GlyfTable.java +46 -46
- data/src/org/apache/batik/svggen/font/table/GlyphDescription.java +25 -13
- data/src/org/apache/batik/svggen/font/table/GposTable.java +26 -23
- data/src/org/apache/batik/svggen/font/table/GsubTable.java +85 -82
- data/src/org/apache/batik/svggen/font/table/HeadTable.java +131 -131
- data/src/org/apache/batik/svggen/font/table/HheaTable.java +80 -80
- data/src/org/apache/batik/svggen/font/table/HmtxTable.java +50 -49
- data/src/org/apache/batik/svggen/font/table/KernSubtable.java +29 -27
- data/src/org/apache/batik/svggen/font/table/KernSubtableFormat0.java +35 -32
- data/src/org/apache/batik/svggen/font/table/KernSubtableFormat2.java +28 -26
- data/src/org/apache/batik/svggen/font/table/KernTable.java +36 -31
- data/src/org/apache/batik/svggen/font/table/KerningPair.java +27 -23
- data/src/org/apache/batik/svggen/font/table/LangSys.java +28 -26
- data/src/org/apache/batik/svggen/font/table/LangSysRecord.java +22 -22
- data/src/org/apache/batik/svggen/font/table/Ligature.java +24 -24
- data/src/org/apache/batik/svggen/font/table/LigatureSet.java +24 -24
- data/src/org/apache/batik/svggen/font/table/LigatureSubst.java +9 -9
- data/src/org/apache/batik/svggen/font/table/LigatureSubstFormat1.java +30 -30
- data/src/org/apache/batik/svggen/font/table/LocaTable.java +37 -37
- data/src/org/apache/batik/svggen/font/table/Lookup.java +41 -40
- data/src/org/apache/batik/svggen/font/table/LookupList.java +34 -34
- data/src/org/apache/batik/svggen/font/table/LookupSubtableFactory.java +7 -5
- data/src/org/apache/batik/svggen/font/table/MaxpTable.java +96 -96
- data/src/org/apache/batik/svggen/font/table/NameRecord.java +64 -65
- data/src/org/apache/batik/svggen/font/table/NameTable.java +33 -33
- data/src/org/apache/batik/svggen/font/table/Os2Table.java +196 -196
- data/src/org/apache/batik/svggen/font/table/Panose.java +14 -12
- data/src/org/apache/batik/svggen/font/table/PostTable.java +338 -338
- data/src/org/apache/batik/svggen/font/table/PrepTable.java +9 -9
- data/src/org/apache/batik/svggen/font/table/Program.java +15 -15
- data/src/org/apache/batik/svggen/font/table/RangeRecord.java +26 -25
- data/src/org/apache/batik/svggen/font/table/Script.java +38 -38
- data/src/org/apache/batik/svggen/font/table/ScriptList.java +42 -42
- data/src/org/apache/batik/svggen/font/table/ScriptRecord.java +22 -22
- data/src/org/apache/batik/svggen/font/table/ScriptTags.java +2 -1
- data/src/org/apache/batik/svggen/font/table/SingleSubst.java +15 -16
- data/src/org/apache/batik/svggen/font/table/SingleSubstFormat1.java +33 -33
- data/src/org/apache/batik/svggen/font/table/SingleSubstFormat2.java +32 -32
- data/src/org/apache/batik/svggen/font/table/Table.java +171 -170
- data/src/org/apache/batik/svggen/font/table/TableDirectory.java +55 -55
- data/src/org/apache/batik/svggen/font/table/TableFactory.java +92 -93
- metadata +47 -30
- 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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
63
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
private final short formatSelector;
|
|
30
|
+
private final short numberOfNameRecords;
|
|
31
|
+
private final short stringStorageOffset;
|
|
32
|
+
private final NameRecord[] records;
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
201
|
-
|
|
202
|
-
|
|
200
|
+
public short getTypoAscender() {
|
|
201
|
+
return sTypoAscender;
|
|
202
|
+
}
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
public short getTypoDescender() {
|
|
205
|
+
return sTypoDescender;
|
|
206
|
+
}
|
|
207
207
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
public short getTypoLineGap() {
|
|
209
|
+
return sTypoLineGap;
|
|
210
|
+
}
|
|
211
211
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
public int getWinAscent() {
|
|
213
|
+
return usWinAscent;
|
|
214
|
+
}
|
|
215
215
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
public int getWinDescent() {
|
|
217
|
+
return usWinDescent;
|
|
218
|
+
}
|
|
219
219
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
public int getCodePageRange1() {
|
|
221
|
+
return ulCodePageRange1;
|
|
222
|
+
}
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
public int getCodePageRange2() {
|
|
225
|
+
return ulCodePageRange2;
|
|
226
|
+
}
|
|
227
227
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
@Override
|
|
229
|
+
public int getType() {
|
|
230
|
+
return OS_2;
|
|
231
|
+
}
|
|
232
232
|
}
|