static String getName(Config.Identifier i, HashSet<String> taken) {
		String base = "";
		for (Config.FontType ft : i.fonts) {
			String fb = ft.font.replaceAll("[^a-zA-Z]", "").toLowerCase();
			if (ft.italic) { fb += "_italic"; }
			base += fb + "_";
		}
		
		if (base.isEmpty()) { base = "identifier"; }
		String all = "";
		for (Config.LetterClass lc : i.classes) { for (String m : lc.members) {
			all += ProfileGen.letterToFilename(m);
		}}
		if (all.length() < 20) {
			base += "_" + all;
		} else {
			base += "_" + all.substring(0, 20);
		}
		if (!taken.contains(base)) { taken.add(base); return base; }
		int num = 2;
		while (true) {
			String name = base + "_" + num;
			if (!taken.contains(name)) { taken.add(name); return name; }
			num++;
		}
	}