// Copyright (c) 2016, Miquel Martí <miquelmarti111@gmail.com>
// See LICENSE for licensing information
package cat.mvmike.minimalcalendarwidget.util;

public abstract class SymbolsUtil {

    private static final String INSTANCES_SYMBOLS_EMPTY = " ";

    private static final String ALL_SPACES = "\\s+";

    private static final String EMPTY = "";

    public static String[] getAllSymbolNames() {

        String[] result = new String[Symbols.values().length];

        for (int i = 0; i < Symbols.values().length; i++)
            result[i] = Symbols.values()[i].name().substring(0, 1) + Symbols.values()[i].name().substring(1).toLowerCase();

        return result;
    }

    public enum Symbols {

        MINIMAL(1.2f, "· ∶ ∴ ∷ ◇ ◈"), ROMAN(0.8f, "Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ ∾"), CLASSIC(0.8f, "1 2 3 4 5 ◉");

        private float relativeSize;

        private String values;

        Symbols(final float relativeSize, final String values) {

            this.relativeSize = relativeSize;
            this.values = values;
        }

        public float getRelativeSize() {
            return relativeSize;
        }

        public String getValues() {
            return values;
        }

        public Character[] getArray() {
            return toCharacterArray(INSTANCES_SYMBOLS_EMPTY + getValues().replaceAll(ALL_SPACES, EMPTY));
        }
    }

    private static Character[] toCharacterArray(final String symbols) {

        if (symbols == null)
            return null;

        int len = symbols.length();
        Character[] array = new Character[len];

        for (int i = 0; i < len; i++)
            array[i] = symbols.charAt(i);

        return array;
    }
}

@@ -736,16 +736,24 @@
 %E2%88%B7 %E2%97%87 %E2%97%88%22),
+%0A       
  ROMAN(0
@@ -776,16 +776,24 @@
 %E2%88%BE%22),
- CLASSIC
+%0A        NUMBERS
 (0.8
@@ -810,9 +810,84 @@
 4 5 
-%E2%97%89
++%22),%0A        CIRCLES(1.2f, %22%E2%97%94 %E2%97%91 %E2%97%95 %E2%97%89 %E2%97%8F%22),%0A        BINARY(1f, %22%E2%98%B1 %E2%98%B2 %E2%98%B3 %E2%98%B4 %E2%98%B5 %E2%98%B6 %E2%98%B7 %E2%80%BB
 %22);%0A

add and refine symbol options