private void parseKerningEntry(string line)
        {
            //////////////////////////////////////////////////////////////////////////
            // line to parse:
            // kerning first=121  second=44  amount=-7
            //////////////////////////////////////////////////////////////////////////

            // first
            int first;
            int index = line.IndexOf("first=");
            int index2 = line.IndexOf(' ', index);
            string value = line.Substring(index, index2 - index);
            first = CCUtils.CCParseInt(value.Replace("first=", ""));

            // second
            int second;
            index = line.IndexOf("second=");
            index2 = line.IndexOf(' ', index);
            value = line.Substring(index, index2 - index);
            second = CCUtils.CCParseInt(value.Replace("second=", ""));

            // amount
            int amount;
            index = line.IndexOf("amount=");
            index2 = line.IndexOf(' ', index);
            value = line.Substring(index);
            amount = CCUtils.CCParseInt(value.Replace("amount=", ""));

            try
            {
            var element = new tKerningHashElement();
            element.amount = amount;
            element.key = (first << 16) | (second & 0xffff);
            m_pKerningDictionary.Add(element.key, element);
        }
            catch (Exception ex)
            {
                CCLog.Log("Failed to parse font line: {0}", line);
            }
        }