source: josm/trunk/src/org/openstreetmap/josm/tools/FontsManager.java@ 13426

Last change on this file since 13426 was 11374, checked in by Don-vip, 7 years ago

sonar - squid:S00112 - Generic exceptions should never be thrown: define JosmRuntimeException

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.tools;
3
4import java.awt.Font;
5import java.awt.FontFormatException;
6import java.awt.GraphicsEnvironment;
7import java.io.IOException;
8import java.io.InputStream;
9import java.util.Arrays;
10import java.util.Collection;
11
12import org.openstreetmap.josm.io.CachedFile;
13
14/**
15 * Custom fonts manager that provides some embedded fonts to ensure
16 * a common rendering on different platforms.
17 * @since 7383
18 */
19public final class FontsManager {
20
21 /**
22 * List of fonts embedded into JOSM jar.
23 */
24 private static final Collection<String> INCLUDED_FONTS = Arrays.asList(
25 "DroidSans.ttf",
26 "DroidSans-Bold.ttf"
27 );
28
29 private FontsManager() {
30 // Hide constructor for utility classes
31 }
32
33 /**
34 * Initializes the fonts manager.
35 */
36 public static void initialize() {
37 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
38 for (String fontFile : INCLUDED_FONTS) {
39 String url = "resource://data/fonts/"+fontFile;
40 try (CachedFile cf = new CachedFile(url); InputStream i = cf.getInputStream()) {
41 ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, i));
42 } catch (IOException | FontFormatException ex) {
43 throw new JosmRuntimeException(ex);
44 }
45 }
46 }
47}
Note: See TracBrowser for help on using the repository browser.