Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/awt/FontClass/HeadlessFont.java
41152 views
1
/*
2
* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
import java.awt.*;
25
import java.awt.font.TextAttribute;
26
import java.awt.geom.AffineTransform;
27
import java.text.AttributedCharacterIterator;
28
import java.text.StringCharacterIterator;
29
import java.util.HashMap;
30
import java.util.Map;
31
32
/*
33
* @test
34
* @summary Check that Font constructors and methods do not throw
35
* unexpected exceptions in headless mode
36
* @run main/othervm -Djava.awt.headless=true HeadlessFont
37
*/
38
39
public class HeadlessFont {
40
41
public static void main(String args[]) {
42
HashMap attMap = new HashMap();
43
attMap.put(TextAttribute.FAMILY, "Helvetica Bold");
44
attMap.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_LIGHT);
45
attMap.put(TextAttribute.WIDTH, TextAttribute.WIDTH_REGULAR);
46
attMap.put(TextAttribute.SIZE, new Float(20));
47
attMap.put(TextAttribute.FOREGROUND, Color.white);
48
attMap.put(TextAttribute.BACKGROUND, Color.black);
49
50
for (String font : Toolkit.getDefaultToolkit().getFontList()) {
51
for (int i = 8; i < 17; i++) {
52
Font f1 = new Font(font, Font.PLAIN, i);
53
Font f2 = new Font(font, Font.BOLD, i);
54
Font f3 = new Font(font, Font.ITALIC, i);
55
Font f4 = new Font(font, Font.BOLD | Font.ITALIC, i);
56
57
FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(f1);
58
metrics = Toolkit.getDefaultToolkit().getFontMetrics(f2);
59
metrics = Toolkit.getDefaultToolkit().getFontMetrics(f3);
60
metrics = Toolkit.getDefaultToolkit().getFontMetrics(f4);
61
62
AffineTransform trans = f1.getTransform();
63
trans = f2.getTransform();
64
trans = f3.getTransform();
65
trans = f4.getTransform();
66
67
String str;
68
str = f1.getFamily();
69
str = f2.getFamily();
70
str = f3.getFamily();
71
str = f4.getFamily();
72
73
str = f1.getPSName();
74
str = f2.getPSName();
75
str = f3.getPSName();
76
str = f4.getPSName();
77
78
str = f1.getName();
79
str = f2.getName();
80
str = f3.getName();
81
str = f4.getName();
82
83
str = f1.getFontName();
84
str = f2.getFontName();
85
str = f3.getFontName();
86
str = f4.getFontName();
87
88
str = f1.toString();
89
str = f2.toString();
90
str = f3.toString();
91
str = f4.toString();
92
93
int s;
94
s = f1.getStyle();
95
s = f2.getStyle();
96
s = f3.getStyle();
97
s = f4.getStyle();
98
99
s = f1.getSize();
100
s = f2.getSize();
101
s = f3.getSize();
102
s = f4.getSize();
103
104
s = f1.hashCode();
105
s = f2.hashCode();
106
s = f3.hashCode();
107
s = f4.hashCode();
108
109
s = f1.getNumGlyphs();
110
s = f2.getNumGlyphs();
111
s = f3.getNumGlyphs();
112
s = f4.getNumGlyphs();
113
114
s = f1.getMissingGlyphCode();
115
s = f2.getMissingGlyphCode();
116
s = f3.getMissingGlyphCode();
117
s = f4.getMissingGlyphCode();
118
119
float f;
120
f = f1.getSize2D();
121
f = f2.getSize2D();
122
f = f3.getSize2D();
123
f = f4.getSize2D();
124
125
126
byte b;
127
b = f1.getBaselineFor('c');
128
b = f2.getBaselineFor('c');
129
b = f3.getBaselineFor('c');
130
b = f4.getBaselineFor('c');
131
132
Map m = f1.getAttributes();
133
m = f2.getAttributes();
134
m = f3.getAttributes();
135
m = f4.getAttributes();
136
137
AttributedCharacterIterator.Attribute[] a;
138
a = f1.getAvailableAttributes();
139
a = f2.getAvailableAttributes();
140
a = f3.getAvailableAttributes();
141
a = f4.getAvailableAttributes();
142
143
144
Font fnt;
145
fnt = f1.deriveFont(Font.BOLD | Font.ITALIC, (float) 80);
146
fnt = f2.deriveFont(Font.BOLD | Font.ITALIC, (float) 80);
147
fnt = f3.deriveFont(Font.BOLD | Font.ITALIC, (float) 80);
148
fnt = f4.deriveFont(Font.BOLD | Font.ITALIC, (float) 80);
149
150
fnt = f1.deriveFont(80f);
151
fnt = f2.deriveFont(80f);
152
fnt = f3.deriveFont(80f);
153
fnt = f4.deriveFont(80f);
154
155
fnt = f1.deriveFont(Font.BOLD | Font.ITALIC);
156
fnt = f2.deriveFont(Font.BOLD | Font.ITALIC);
157
fnt = f3.deriveFont(Font.BOLD | Font.ITALIC);
158
fnt = f4.deriveFont(Font.BOLD | Font.ITALIC);
159
160
fnt = f1.deriveFont(attMap);
161
fnt = f2.deriveFont(attMap);
162
fnt = f3.deriveFont(attMap);
163
fnt = f4.deriveFont(attMap);
164
165
166
if (!f1.isPlain())
167
throw new RuntimeException("Plain font " + f1.getName() + " says it's not plain");
168
if (f2.isPlain())
169
throw new RuntimeException("Bold font " + f1.getName() + " says it is plain");
170
if (f3.isPlain())
171
throw new RuntimeException("Italic font " + f1.getName() + " says it is plain");
172
if (f4.isPlain())
173
throw new RuntimeException("Bold|Italic font " + f1.getName() + " says it is plain");
174
175
if (f1.isBold())
176
throw new RuntimeException("Plain font " + f1.getName() + " says it is bold");
177
if (!f2.isBold())
178
throw new RuntimeException("Bold font " + f1.getName() + " says it's not bold");
179
if (f3.isBold())
180
throw new RuntimeException("Italic font " + f1.getName() + " says it is bold");
181
if (!f4.isBold())
182
throw new RuntimeException("Bold|Italic font " + f1.getName() + " says it's not bold");
183
184
if (f1.isItalic())
185
throw new RuntimeException("Plain font " + f1.getName() + " says it is italic");
186
if (f2.isItalic())
187
throw new RuntimeException("Bold font " + f1.getName() + " says it is italic");
188
if (!f3.isItalic())
189
throw new RuntimeException("Italic font " + f1.getName() + " says it's not italic");
190
if (!f4.isItalic())
191
throw new RuntimeException("Bold|Italic font " + f1.getName() + " says it's not italic");
192
193
f1.canDisplay('~');
194
f2.canDisplay('~');
195
f3.canDisplay('~');
196
f4.canDisplay('~');
197
f1.canDisplay('c');
198
f2.canDisplay('c');
199
f3.canDisplay('c');
200
f4.canDisplay('c');
201
202
f1.canDisplayUpTo("canDisplayUpTo");
203
f2.canDisplayUpTo("canDisplayUpTo");
204
f3.canDisplayUpTo("canDisplayUpTo");
205
f4.canDisplayUpTo("canDisplayUpTo");
206
207
str = "canDisplayUpTo";
208
f1.canDisplayUpTo(str.toCharArray(), 0, str.length());
209
f2.canDisplayUpTo(str.toCharArray(), 0, str.length());
210
f3.canDisplayUpTo(str.toCharArray(), 0, str.length());
211
f4.canDisplayUpTo(str.toCharArray(), 0, str.length());
212
213
f1.canDisplayUpTo(new StringCharacterIterator(str), 0, str.length());
214
f2.canDisplayUpTo(new StringCharacterIterator(str), 0, str.length());
215
f3.canDisplayUpTo(new StringCharacterIterator(str), 0, str.length());
216
f4.canDisplayUpTo(new StringCharacterIterator(str), 0, str.length());
217
218
f1.getItalicAngle();
219
f2.getItalicAngle();
220
f3.getItalicAngle();
221
f4.getItalicAngle();
222
223
f1.hasUniformLineMetrics();
224
f2.hasUniformLineMetrics();
225
f3.hasUniformLineMetrics();
226
f4.hasUniformLineMetrics();
227
}
228
}
229
230
Font f = new Font(attMap);
231
f = Font.getFont(attMap);
232
f = Font.decode(null);
233
}
234
}
235
236