StreamFont.java
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.fontengine.fontmanagement;
import com.adobe.fontengine.font.FontData;
import com.adobe.fontengine.font.FontImpl;
import com.adobe.fontengine.font.FontInputStream;
import com.adobe.fontengine.font.FontLoadingException;
import com.adobe.fontengine.font.InvalidFontException;
import com.adobe.fontengine.font.UnsupportedFontException;
import com.adobe.fontengine.fontmanagement.FontLoader;
import java.io.IOException;
import java.io.NotSerializableException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Map;
/*
* This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6.
*/
final class StreamFont
extends FontImpl {
static final long serialVersionUID = 1;
private final FontInputStream stream;
private final int length;
private final boolean wasEmbedded;
private FontData fontRef;
StreamFont(FontInputStream stream, int length, boolean wasEmbedded) throws InvalidFontException, UnsupportedFontException, FontLoadingException {
this.stream = stream;
this.length = length;
this.fontRef = this.loadFont(stream, length);
this.wasEmbedded = wasEmbedded;
}
private FontData loadFont(FontInputStream stream, int length) throws InvalidFontException, UnsupportedFontException, FontLoadingException {
FontData[] arr = null;
try {
arr = FontLoader.fromStream(stream, length);
}
catch (IOException e) {
throw new FontLoadingException(stream.toString(), e);
}
if (arr == null || arr.length == 0) {
throw new FontLoadingException("Stream did not contain a font.");
}
return arr[0];
}
@Override
public boolean wasEmbedded() {
return this.wasEmbedded;
}
@Override
protected FontData retrieveFontData() throws InvalidFontException, UnsupportedFontException, FontLoadingException {
return this.fontRef;
}
@Override
public int hashCode() {
return this.stream.hashCode() ^ this.length;
}
@Override
public boolean equals(Object obj) {
if (obj != null && this == obj) {
return true;
}
return false;
}
@Override
public String toString() {
return this.stream.toString();
}
private void readObject(ObjectInputStream s) throws NotSerializableException {
throw new NotSerializableException();
}
private void writeObject(ObjectOutputStream s) throws NotSerializableException {
throw new NotSerializableException();
}
@Override
public String getCanonicalPath() {
return null;
}
@Override
public long getLength() {
return 0;
}
@Override
public long getLastModified() {
return 0;
}
@Override
public Object getCachedFontDescription(String key) {
return null;
}
@Override
public Map<String, Object> getCachedFontDescriptionMap() {
return null;
}
@Override
public void setCachedFontDescription(String key, Object value) {
}
}