Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/demo/share/jfc/J2Ddemo/java2d/DemoFonts.java
41154 views
1
/*
2
*
3
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* - Neither the name of Oracle nor the names of its
17
* contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
34
package java2d;
35
36
37
import java.awt.Font;
38
import java.io.InputStream;
39
import java.util.Map;
40
import java.util.concurrent.ConcurrentHashMap;
41
import java.util.logging.Level;
42
import java.util.logging.Logger;
43
44
45
/**
46
* A cache of the dynamically loaded fonts found in the fonts directory.
47
*/
48
public class DemoFonts {
49
50
// Prepare a static "cache" mapping font names to Font objects.
51
private static final String[] names = { "A.ttf" };
52
private static final Map<String,Font> cache =
53
new ConcurrentHashMap<String,Font>(names.length);
54
static {
55
for (String name : names) {
56
cache.put(name, getFont(name));
57
}
58
}
59
60
public static void newDemoFonts() {
61
}
62
63
64
public static Font getFont(String name) {
65
Font font = null;
66
if (cache != null) {
67
if ((font = cache.get(name)) != null) {
68
return font;
69
}
70
}
71
String fName = "/fonts/" + name;
72
try {
73
InputStream is = DemoFonts.class.getResourceAsStream(fName);
74
font = Font.createFont(Font.TRUETYPE_FONT, is);
75
} catch (Exception ex) {
76
Logger.getLogger(DemoFonts.class.getName()).log(Level.SEVERE,
77
fName + " not loaded. Using serif font.", ex);
78
font = new Font(Font.SERIF, Font.PLAIN, 24);
79
}
80
return font;
81
}
82
}
83
84