⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zi8hmi.c

📁 印尼字库和输入法
💻 C
📖 第 1 页 / 共 5 页
字号:
        case INPUT_EZI_CZECH:
            IMEmethodLast = IMEmethod;
            break;
        case INPUT_EZI_FINNISH:
            IMEmethodLast = IMEmethod;
            break;
        case INPUT_EZI_DANISH:
            IMEmethodLast = IMEmethod;
            break;
        case INPUT_EZI_HUNGARIAN:
            IMEmethodLast = IMEmethod;
            break;
        case INPUT_EZI_VIETNAMESE:
            IMEmethodLast = IMEmethod;
            break;
        case INPUT_EZI_INDONESIAN:
            IMEmethodLast = IMEmethod;
            break;
    }
    IMElastLetterCase = IMEletterCase;
    IMElastSubLanguage = IMEsubLanguage;

    return (ZI8TRUE);
}


/*****************************************************************************
 * FUNCTION
 *  IMEinsertText
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pText       [IN]        
 * RETURNS
 *  
 *****************************************************************************/
static int IMEinsertText(PZI8WCHAR pText)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    int i;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    for (i = 0; pText[i]; i++)
    {
        if (!IMEinsertChar(pText[i]))
        {
            break;
        }
    }
    return (i);
}


/*****************************************************************************
 * FUNCTION
 *  IMEtoCapMode
 * DESCRIPTION
 *  
 * PARAMETERS
 *  pText       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
static void IMEtoCapMode(PZI8WCHAR pText)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    int i = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (IMEletterCase == ZI8_CASE_TITLE)
    {
        pText[0] = ZI_towupper(pText[0]);
        for (; pText[i]; i++)
        {
            if (pText[i] == 0x0020)
            {
                if (!pText[++i])
                {
                    return;
                }
                pText[i] = ZI_towupper(pText[i]);
            }
            else if (i)
            {
                /*
                 * #ifdef WIN32
                 * if((pText[i] >= 0x0430 && pText[i] <= 0x044f)||(pText[i] >= 0x00e0 && pText[i] <= 0x00ff))
                 * {
                 * pText[i]-=0x20;
                 * }
                 * #endif            
                 */
                pText[i] = ZI_towlower(pText[i]);
            }
        }
        return;
    }
    for (; pText[i]; i++)
    {

        switch (IMEletterCase)
        {
            case ZI8_CASE_UPPER:
                /*
                 * #ifdef WIN32
                 * if((pText[i] >= 0x0430 && pText[i] <= 0x044f)||(pText[i] >= 0x00e0 && pText[i] <= 0x00ff))
                 * {
                 * pText[i]-=0x20;
                 * }
                 * #endif            
                 */
                pText[i] = ZI_towupper(pText[i]);
                break;
            case ZI8_CASE_LOWER:
                break;
            default:
                break;
        }
    }
}


/*****************************************************************************
 * FUNCTION
 *  IMEchangeInputMethod
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
static void IMEchangeInputMethod(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* IMElastProcessKeyFunc = 0; */

    IMEletterCase = IMElastLetterCase;
    IMEsubLanguage = IMElastSubLanguage;
    switch (IMEmethod)
    {
        case INPUT_EZI_STROKE:
            IMEstartEZI_STROKE();
            break;
        case INPUT_EZI_PINYIN:
            iStepID = PHONETIC_2_STEPS;
            IMEstartEZI_PINYIN();
            break;
        case INPUT_EZI_BOPOMOFO:
            iStepID = PHONETIC_2_STEPS;
            IMEstartEZI_BOPOMOFO();
            break;
        case INPUT_EZI_ABC:
            IMEalphaLangID = ALPHA_LANG_EN;
            IMEstartEZI_ABC();
            break;
        case INPUT_EZI_MULTITAP_PINYIN:
            iStepID = PHONETIC_MULTITAP;
            IMEstartEZI_MULTITAP_PINYIN();
            break;
        case INPUT_EZI_MULTITAP_BOPOMOFO:
            iStepID = PHONETIC_MULTITAP;
            IMEstartEZI_MULTITAP_BOPOMOFO();
            break;
        case INPUT_EZI_THAI:
            IMEstartEZI_THAI();
            break;
    #ifdef __MMI_ZI_ARABIC__        /* can be remove while checking Arabic into GPRS branch */
        case INPUT_EZI_ARABIC:
            IMEstartEZI_ARABIC();
            break;
    #endif /* __MMI_ZI_ARABIC__ */ 

    #ifdef __MMI_ZI_PERSIAN__       /* can be remove while checking PERSIAN into GPRS branch */
        case INPUT_EZI_PERSIAN:
            IMEstartEZI_PERSIAN();
            break;
    #endif /* __MMI_ZI_PERSIAN__ */ 

            /* PMT START GR_HE_CZ_FI_DA_HU 20051007 */
    #ifdef __MMI_ZI_HEBREW__        /* can be remove while checking Arabic into GPRS branch */
        case INPUT_EZI_HEBREW:
            IMEstartEZI_HEBREW();
            break;
    #endif /* __MMI_ZI_HEBREW__ */ 
    #if defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__)
        case INPUT_EZI_RUSSIAN:
            IMEalphaLangID = ALPHA_LANG_RU;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) */ 
    #if defined(__MMI_ZI_BULGARIAN__)
	    case INPUT_EZI_BULGARIAN:
		   IMEalphaLangID = ALPHA_LANG_BG;
	    	IMEstartEZI_ABC();
	    	break;
    #endif
    #if defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__)
        case INPUT_EZI_FRENCH:
            IMEalphaLangID = ALPHA_LANG_FR;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) */ 
    #if defined(__MMI_ZI_GERMAN__)
        case INPUT_EZI_GERMAN:
            IMEalphaLangID = ALPHA_LANG_DE;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_GERMAN__) */ 
    #if defined(__MMI_ZI_ITALIAN__)
        case INPUT_EZI_ITALIAN:
            IMEalphaLangID = ALPHA_LANG_IT;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_ITALIAN__) */ 
    #if defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__)
        case INPUT_EZI_SPANISH:
            IMEalphaLangID = ALPHA_LANG_ES;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) */ 
    #if defined(__MMI_ZI_TURKISH__)
        case INPUT_EZI_TURKISH:
            IMEalphaLangID = ALPHA_LANG_TR;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_TURKISH__) */ 
    #if defined(__MMI_ZI_HINDI__)
        case INPUT_EZI_HINDI:
            IMEalphaLangID = ALPHA_LANG_HI;
            IMEstartEZI_HINDI();
            break;
    #endif /* defined(__MMI_ZI_HINDI__) */ 
    #if defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__)
        case INPUT_EZI_PORTUGUESE:
            IMEalphaLangID = ALPHA_LANG_PT;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) */ 
    #if defined(__MMI_ZI_INDONESIAN__)
        case INPUT_EZI_INDONESIAN:
            IMEalphaLangID = ALPHA_LANG_ID;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_INDONESIAN__) */ 
    #if defined(__MMI_ZI_MALAY__)
        case INPUT_EZI_MALAY:
            IMEalphaLangID = ALPHA_LANG_MS;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_MALAY__) */ 
    #if defined(__MMI_ZI_VIETNAMESE__)
        case INPUT_EZI_VIETNAMESE:
            IMEalphaLangID = ALPHA_LANG_VI;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_VIETNAMESE__) */ 
    #if defined(__MMI_ZI_POLISH__)
        case INPUT_EZI_POLISH:
            IMEalphaLangID = ALPHA_LANG_PL;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_POLISH__) */ 
    #if defined(__MMI_ZI_NORWEGIAN__)
        case INPUT_EZI_NORWEGIAN:
            IMEalphaLangID = ALPHA_LANG_NO;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_NORWEGIAN__) */ 
    #if defined(__MMI_ZI_SLOVAK__)
        case INPUT_EZI_SLOVAK:
            IMEalphaLangID = ALPHA_LANG_SK;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_SLOVAK__) */ 
    #if defined(__MMI_ZI_DUTCH__)
        case INPUT_EZI_DUTCH:
            IMEalphaLangID = ALPHA_LANG_NL;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_DUTCH__) */ 
    #if defined(__MMI_ZI_SWEDISH__)
        case INPUT_EZI_SWEDISH:
            IMEalphaLangID = ALPHA_LANG_SV;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_SWEDISH__) */ 
    #if defined(__MMI_ZI_CROATIAN__)
        case INPUT_EZI_CROATIAN:
            IMEalphaLangID = ALPHA_LANG_HR;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_CROATIAN__) */ 
    #if defined(__MMI_ZI_ROMANIAN__)
        case INPUT_EZI_ROMANIAN:
            IMEalphaLangID = ALPHA_LANG_RO;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_ROMANIAN__) */ 
    #if defined(__MMI_ZI_SLOVENIAN__)
        case INPUT_EZI_SLOVENIAN:
            IMEalphaLangID = ALPHA_LANG_SL;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_SLOVENIAN__) */ 
    #if defined(__MMI_ZI_GREEK__)
        case INPUT_EZI_GREEK:
            IMEalphaLangID = ALPHA_LANG_EL;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_GREEK__) */ 
    #if defined(__MMI_ZI_CZECH__)
        case INPUT_EZI_CZECH:
            IMEalphaLangID = ALPHA_LANG_CZ;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_CZECH__) */ 
    #if defined(__MMI_ZI_FINNISH__)
        case INPUT_EZI_FINNISH:
            IMEalphaLangID = ALPHA_LANG_FI;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_FINNISH__) */ 
    #if defined(__MMI_ZI_DANISH__)
        case INPUT_EZI_DANISH:
            IMEalphaLangID = ALPHA_LANG_DA;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_DANISH__) */ 
    #if defined(__MMI_ZI_HUNGARIAN__)
        case INPUT_EZI_HUNGARIAN:
            IMEalphaLangID = ALPHA_LANG_HU;
            IMEstartEZI_ABC();
            break;
    #endif /* defined(__MMI_ZI_HUNGARIAN__) */ 
    }
}


/*****************************************************************************
 * FUNCTION
 *  IMEchangeSubLanguage
 * DESCRIPTION
 *  
 * PARAMETERS
 *  bSetup      [IN]        
 * RETURNS
 *  
 *****************************************************************************/
static ZI8BOOL IMEchangeSubLanguage(ZI8BOOL bSetup)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    ZI8GETPARAM zi8GetParam;
    ZI8WCHAR tmpCandBuffer[2];
    int i;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    memset(&zi8GetParam, 0, sizeof(zi8GetParam));
    zi8GetParam.Language = ZI8_LANG_ZH;
    zi8GetParam.GetMode = ZI8_GETMODE_STROKES;
    zi8GetParam.Context = ZI8_GETCONTEXT_SMS;
    zi8GetParam.GetOptions = ZI8_GETOPTION_DEFAULT;
    zi8GetParam.pCandidates = tmpCandBuffer;
    zi8GetParam.MaxCandidates = 1;
    zi8GetParam.SubLanguage = IMEsubLanguage;

    if (bSetup)
    {
        if (!Zi8GetCandidates(&zi8GetParam))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -