Subversion Repositories AndroidProjects

Rev

Rev 28 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.KanaQuiz;

public class KanaTable
{
        private static final int NUM_COLUMNS = 3;
        static private String[] mPool = {
               
                // KATAKANA
               
                "\u30A2", "a", "",                      // 0
                "\u30A4", "i", "",                      // 1
                "\u30A6", "u", "",                      // 2
                "\u30A8", "e", "",                      // 3
                "\u30AA", "o", "",                      // 4
               
                "\u30AB", "ka", "",                     // 5
                "\u30AD", "ki", "",                     // 6           
                "\u30AF", "ku", "",                     // 7           
                "\u30B1", "ke", "",                     // 8           
                "\u30B3", "ko", "",                     // 9

                "\u30B5", "sa", "",                     // 10
                "\u30B7", "shi", "",                    // 11          
                "\u30B9", "su", "",                     // 12          
                "\u30BB", "se", "",                     // 13          
                "\u30BD", "so", "",                     // 14
               
                "\u30BF", "ta", "",                     // 15
                "\u30C1", "chi", "",            // 16
                "\u30C3", "tsu", "",            // 17
                "\u30C6", "te", "",                     // 18
                "\u30C8", "to", "",                     // 19          
               
                "\u30CA", "na", "",                     // 20
                "\u30CB", "ni", "",                     // 21
                "\u30CC", "nu", "",                     // 22
                "\u30CD", "ne", "",                     // 23
                "\u30CE", "no", "",                     // 24
               
                "\u30CF", "ha", "",                     // 25
                "\u30D2", "hi", "",                     // 26          
                "\u30D5", "fu", "",                     // 27          
                "\u30D8", "he", "",                     // 28          
                "\u30DB", "ho", "",                     // 29          

                "\u30DE", "ma", "",                     // 30
                "\u30DF", "mi", "",                     // 31
                "\u30E0", "mu", "",                     // 32
                "\u30E1", "me", "",                     // 33
                "\u30E2", "mo", "",                     // 34
               
                "\u30E4", "ya", "",                     // 35
                "\u30E6", "yu", "",                     // 36
                "\u30E8", "yo", "",                     // 37
               
                "\u30E9", "ra", "",                     // 38
                "\u30EA", "ri", "",                     // 39
                "\u30EB", "ru", "",                     // 40
                "\u30EC", "re", "",                     // 41
                "\u30ED", "ro", "",                     // 42
               
                "\u30EE", "wa", "",                     // 43
                "\u30F2", "wo", "",                     // 44
               
                "\u30F3", "n", "",                      // 45
               
                "\u30AC", "ga", "",                     // 46
                "\u30AE", "gi", "",                     // 47
                "\u30B0", "gu", "",                     // 48
                "\u30B2", "ge", "",                     // 49
                "\u30B4", "go", "",                     // 50

                "\u30B6", "za", "",                     // 51
                "\u30B8", "zi", "",                     // 52
                "\u30BA", "zu", "",                     // 53
                "\u30BC", "ze", "",                     // 54
                "\u30BE", "zo", "",                     // 55
               
                "\u30C0", "da", "",                     // 56
                "\u30C2", "ji", "",                     // 57          
                "\u30C5", "zu", "",                     // 58
                "\u30C7", "de", "",                     // 59
                "\u30C9", "do", "",                     // 60
               
                "\u30D0", "ba", "",                     // 61
                "\u30D3", "bi", "",                     // 62
                "\u30D6", "bu", "",                     // 63
                "\u30D9", "be", "",                     // 64
                "\u30DC", "bo", "",                     // 65
               
                "\u30D1", "pa", "",                     // 66
                "\u30D4", "pi", "",                     // 67
                "\u30D7", "pu", "",                     // 68
                "\u30DA", "pe", "",                     // 69
                "\u30DD", "po", "",                     // 70

                // HIRAGANA
               
                "\u3042", "a", "",                      // 71
                "\u3044", "i", "",                      // 72
                "\u3046", "u", "",                      // 73
                "\u3048", "e", "",                      // 74
                "\u304A", "o", "",                      // 75
               
                "\u304B", "ka", "",                     // 76
                "\u304D", "ki", "",                     // 77          
                "\u304F", "ku", "",                     // 78          
                "\u3041", "ke", "",                     // 79          
                "\u3053", "ko", "",                     // 80

                "\u3055", "sa", "",                     // 81
                "\u3057", "shi", "",                    // 82          
                "\u3059", "su", "",                     // 83          
                "\u305B", "se", "",                     // 84          
                "\u305D", "so", "",                     // 85
               
                "\u305F", "ta", "",                     // 86
                "\u3061", "chi", "",            // 87
                "\u3064", "tsu", "",            // 88
                "\u3066", "te", "",                     // 89
                "\u3068", "to", "",                     // 90          
               
                "\u306A", "na", "",                     // 91
                "\u306B", "ni", "",                     // 92
                "\u306C", "nu", "",                     // 93
                "\u306D", "ne", "",                     // 94
                "\u306E", "no", "",                     // 95
               
                "\u306F", "ha", "",                     // 96
                "\u3072", "hi", "",                     // 97          
                "\u3075", "fu", "",                     // 98          
                "\u3078", "he", "",                     // 99          
                "\u307B", "ho", "",                     // 100         

                "\u307E", "ma", "",                     // 101
                "\u307F", "mi", "",                     // 102
                "\u3080", "mu", "",                     // 103
                "\u3081", "me", "",                     // 104
                "\u3082", "mo", "",                     // 105
               
                "\u3084", "ya", "",                     // 106
                "\u3086", "yu", "",                     // 107
                "\u3088", "yo", "",                     // 108
               
                "\u3089", "ra", "",                     // 109
                "\u308A", "ri", "",                     // 110
                "\u308B", "ru", "",                     // 111
                "\u308C", "re", "",                     // 112
                "\u308D", "ro", "",                     // 113
               
                "\u308E", "wa", "",                     // 114
                "\u3092", "wo", "",                     // 115
               
                "\u3093", "n", "",                      // 116
               
                "\u304C", "ga", "",                     // 117
                "\u304E", "gi", "",                     // 118
                "\u3050", "gu", "",                     // 119
                "\u3052", "ge", "",                     // 120
                "\u3054", "go", "",                     // 121

                "\u3056", "za", "",                     // 122
                "\u3058", "zi", "",                     // 123
                "\u305A", "zu", "",                     // 124
                "\u305C", "ze", "",                     // 125
                "\u305E", "zo", "",                     // 126
               
                "\u3060", "da", "",                     // 127
                "\u3062", "ji", "",                     // 128         
                "\u3065", "zu", "",                     // 129
                "\u3067", "de", "",                     // 130
                "\u3069", "do", "",                     // 131
               
                "\u3070", "ba", "",                     // 132
                "\u3073", "bi", "",                     // 133
                "\u3076", "bu", "",                     // 134
                "\u3079", "be", "",                     // 135
                "\u307C", "bo", "",                     // 136
               
                "\u3071", "pa", "",                     // 137
                "\u3074", "pi", "",                     // 138
                "\u3077", "pu", "",                     // 139
                "\u307A", "pe", "",                     // 140
                "\u307D", "po", "",                     // 141
        };
       
        private int[] mTable = null;
       
        public KanaTable(int quizCharacters)
        {
                int lowerLimit = Constants.QUIZ_LIMITS[quizCharacters * 2];
                int upperLimit = Constants.QUIZ_LIMITS[quizCharacters * 2 + 1];
                int size = upperLimit - lowerLimit + 1;
               
                int j = 0;
                mTable = new int[size];
                for (int i = lowerLimit; i < (upperLimit + 1); i++)
                {
                        mTable[j] = i;
                        j++;
                }
        }
       
        public String getExtraPronounciation(int index)
        {
                if (index >= getCount())
                        index = getCount() - 1;
               
                return (mPool[mTable[index] * NUM_COLUMNS + 2]);
        }
       
        public String getRomaji(int index)
        {
                if (index >= getCount())
                        index = getCount() - 1;
               
                return (mPool[mTable[index] * NUM_COLUMNS + 1]);
        }
       
        public String getKana(int index)
        {
                if (index >= getCount())
                        index = getCount() - 1;
               
                return (mPool[mTable[index] * NUM_COLUMNS]);
        }
       
        public final int getCount()
        {
                return (mTable.length);
        }
       
}