private Position getSubImagePosition(CHAR_TYPES types, char charToFind) {
        Position position = new Position();
        switch (types) {
            case LETTER:
                position.y = Character.isUpperCase(charToFind) ? 0 : 11;
                charToFind = Character.toUpperCase(charToFind);
                position.x = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charToFind) * (letterWidth + 1);
                break;
            case NUMERIC:
                position.x = "1234567890".indexOf(charToFind) * (numericWidth + 1);
                position.y = 22;
                break;
            case SYMBOL:
                position.x = ",.:?!-_$€@%+=/\\><#()[]|*'".indexOf(charToFind) * (numericWidth + 1);
                position.y = 33;
                break;
            default:
                position.x = 0;
                position.y = 0;
        }
        if (position.x < 0 || position.y < 0) {
            position.x = 0;
            position.y = 0;
        }
        return position;
    }