// Path: e-paper-client-api/src/main/java/fr/romainmoreau/epaper/client/api/FontSize.java
// public enum FontSize {
// 	DOTS_32(32, 1), DOTS_48(48, 1), DOTS_64(64, 1);
// 
// 	private final int height;
// 
// 	private final int letterSpacing;
// 
// 	private FontSize(int height, int letterSpacing) {
// 		this.height = height;
// 		this.letterSpacing = letterSpacing;
// 	}
// 
// 	public int getHeight() {
// 		return height;
// 	}
// 
// 	public int getLetterSpacing() {
// 		return letterSpacing;
// 	}
// }


import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
import fr.romainmoreau.epaper.client.api.FontSize;
	private static final Map<Character, Integer> CHARACTER_WIDTH32_MAP;

	private static final Map<Character, Integer> CHARACTER_WIDTH48_MAP;

	private static final Map<Character, Integer> CHARACTER_WIDTH64_MAP;

	private final char character;

	private final int width32;

	private final int width48;

	private final int width64;

	static {
		CHARACTER_WIDTH32_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth32));
		CHARACTER_WIDTH48_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth48));
		CHARACTER_WIDTH64_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth64));
	}

	private PrintableCharacter(char character, int width32, int width48, int width64) {
		this.character = character;
		this.width32 = width32;
		this.width48 = width48;
		this.width64 = width64;
	}

// Path: e-paper-client-api/src/main/java/fr/romainmoreau/epaper/client/api/FontSize.java
// public enum FontSize {
// 	DOTS_32(32, 1), DOTS_48(48, 1), DOTS_64(64, 1);
// 
// 	private final int height;
// 
// 	private final int letterSpacing;
// 
// 	private FontSize(int height, int letterSpacing) {
// 		this.height = height;
// 		this.letterSpacing = letterSpacing;
// 	}
// 
// 	public int getHeight() {
// 		return height;
// 	}
// 
// 	public int getLetterSpacing() {
// 		return letterSpacing;
// 	}
// }


// Path: e-paper-client-common/src/main/java/fr/romainmoreau/epaper/client/common/PrintableCharacter.java
import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;
import fr.romainmoreau.epaper.client.api.FontSize;

	private static final Map<Character, Integer> CHARACTER_WIDTH32_MAP;

	private static final Map<Character, Integer> CHARACTER_WIDTH48_MAP;

	private static final Map<Character, Integer> CHARACTER_WIDTH64_MAP;

	private final char character;

	private final int width32;

	private final int width48;

	private final int width64;

	static {
		CHARACTER_WIDTH32_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth32));
		CHARACTER_WIDTH48_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth48));
		CHARACTER_WIDTH64_MAP = Arrays.asList(PrintableCharacter.values()).stream()
				.collect(Collectors.toMap(PrintableCharacter::getCharacter, PrintableCharacter::getWidth64));
	}

	private PrintableCharacter(char character, int width32, int width48, int width64) {
		this.character = character;
		this.width32 = width32;
		this.width48 = width48;
		this.width64 = width64;
	}

	public static Map<Character, Integer> getCharacterWidthMap(FontSize fontSize) {