UNPKG

@magic-xpa/utils

Version:

magic utils package

122 lines 9.39 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /// <summary>JPN: IME support /// Utility Class for Input Method Editor /// </summary> /// <author> Toshiro Nakayoshi (MSJ) /// </author> export class UtilImeJpn { constructor() { this.ImeAutoOff = false; this.StrImeRead = null; } /// <summary> check if the IME mode is within valid range /// </summary> /// <param name="imeMode">(IME mode in Magic) /// </param> /// <returns> bool /// </returns> /** * @param {?} imeMode * @return {?} */ isValid(imeMode) { return (0 <= imeMode && imeMode <= 9) || imeMode === 15 || imeMode === 10; } /// <summary> convert the input method editor mode /// </summary> /// <param name="imeMode">(IME mode in Magic) /// </param> /// <returns> imeConvMode (IME conversion mode in imm32.lib) /// </returns> /** * @param {?} imeMode * @return {?} */ static imeMode2imeConvMode(imeMode) { /** @type {?} */ let result; switch (imeMode) { // IME_ZEN_HIRAGANA_ROMAN case 1: result = 25; break; // IME_ZEN_HIRAGANA case 2: result = 9; break; // IME_ZEN_KATAKANA_ROMAN case 3: result = 27; break; // IME_ZEN_KATAKANA case 4: result = 11; break; // IME_HAN_KATAKANA_ROMAN case 5: result = 19; break; // IME_HAN_KATAKANA case 6: result = 3; break; // IME_ZEN_ALPHANUMERIC case 7: result = 8; break; // IME_HAN_ALPHANUMERIC case 8: case 9: result = 0; break; // case 0: // case IME_DISABLE: // case IME_FORCE_OFF: default: result = 256; break; } return result; } } UtilImeJpn.IME_CMODE_ALPHANUMERIC = 0; UtilImeJpn.IME_CMODE_NATIVE = 1; UtilImeJpn.IME_CMODE_KATAKANA = 2; UtilImeJpn.IME_CMODE_FULLSHAPE = 8; UtilImeJpn.IME_CMODE_ROMAN = 16; UtilImeJpn.IME_CMODE_NOCONVERSION = 256; UtilImeJpn.IME_NOT_INITIALIZED = -1; UtilImeJpn.IME_ZEN_HIRAGANA_ROMAN = 1; UtilImeJpn.IME_FORCE_OFF = 15; // if (ImeMode property == 0 and (picture has K0 or PIC_S)) or // (attribute is not alpha, unicode, nor blob), set IME_FORCE_OFF. UtilImeJpn.IME_DISABLE = 10; // to completely disable IME (even not allowing to change the mode) if (false) { /** @type {?} */ UtilImeJpn.IME_CMODE_ALPHANUMERIC; /** @type {?} */ UtilImeJpn.IME_CMODE_NATIVE; /** @type {?} */ UtilImeJpn.IME_CMODE_KATAKANA; /** @type {?} */ UtilImeJpn.IME_CMODE_FULLSHAPE; /** @type {?} */ UtilImeJpn.IME_CMODE_ROMAN; /** @type {?} */ UtilImeJpn.IME_CMODE_NOCONVERSION; /** @type {?} */ UtilImeJpn.IME_NOT_INITIALIZED; /** @type {?} */ UtilImeJpn.IME_ZEN_HIRAGANA_ROMAN; /** @type {?} */ UtilImeJpn.IME_FORCE_OFF; /** @type {?} */ UtilImeJpn.IME_DISABLE; /** @type {?} */ UtilImeJpn.prototype.ImeAutoOff; /** @type {?} */ UtilImeJpn.prototype.StrImeRead; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbEltZUpwbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtYWdpYy14cGEvdXRpbHMvIiwic291cmNlcyI6WyJzcmMvVXRpbEltZUpwbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFPQSxNQUFNO0lBcUZKO1FBekVBLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFXLElBQUksQ0FBQztJQTBFMUIsQ0FBQzs7Ozs7Ozs7Ozs7SUFsRUQsT0FBTyxDQUFDLE9BQWU7UUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxLQUFLLEVBQUUsSUFBSSxPQUFPLEtBQUssRUFBRSxDQUFDO0lBQzVFLENBQUM7Ozs7Ozs7Ozs7O0lBUU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQWU7O1lBQzVDLE1BQWM7UUFDbEIsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQix5QkFBeUI7WUFDekIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osS0FBSyxDQUFDO1lBRVIsbUJBQW1CO1lBQ25CLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLEtBQUssQ0FBQztZQUVSLHlCQUF5QjtZQUN6QixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDWixLQUFLLENBQUM7WUFFUixtQkFBbUI7WUFDbkIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ1osS0FBSyxDQUFDO1lBRVIseUJBQXlCO1lBQ3pCLEtBQUssQ0FBQztnQkFDSixNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNaLEtBQUssQ0FBQztZQUVSLG1CQUFtQjtZQUNuQixLQUFLLENBQUM7Z0JBQ0osTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxLQUFLLENBQUM7WUFFUix1QkFBdUI7WUFDdkIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsS0FBSyxDQUFDO1lBRVIsdUJBQXVCO1lBQ3ZCLEtBQUssQ0FBQyxDQUFDO1lBQ1AsS0FBSyxDQUFDO2dCQUNKLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ1gsS0FBSyxDQUFDO1lBRVIsVUFBVTtZQUNWLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEI7Z0JBQ0UsTUFBTSxHQUFHLEdBQUcsQ0FBQztnQkFDYixLQUFLLENBQUM7UUFDVixDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQWxGYyxpQ0FBc0IsR0FBVyxDQUFDLENBQUM7QUFDbkMsMkJBQWdCLEdBQVcsQ0FBQyxDQUFDO0FBQzdCLDZCQUFrQixHQUFXLENBQUMsQ0FBQztBQUMvQiw4QkFBbUIsR0FBVyxDQUFDLENBQUM7QUFDaEMsMEJBQWUsR0FBVyxFQUFFLENBQUM7QUFDN0IsaUNBQXNCLEdBQVcsR0FBRyxDQUFDO0FBQ3JDLDhCQUFtQixHQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLGlDQUFzQixHQUFXLENBQUMsQ0FBQztBQUNuQyx3QkFBYSxHQUFXLEVBQUUsQ0FBQyxDQUFDLDhEQUE4RDtBQUNqRyxrRUFBa0U7QUFDM0Qsc0JBQVcsR0FBVyxFQUFFLENBQUMsQ0FBRyxtRUFBbUU7OztJQVZ0RyxrQ0FBa0Q7O0lBQ2xELDRCQUE0Qzs7SUFDNUMsOEJBQThDOztJQUM5QywrQkFBK0M7O0lBQy9DLDJCQUE0Qzs7SUFDNUMsa0NBQW9EOztJQUNwRCwrQkFBZ0Q7O0lBQ2hELGtDQUEwQzs7SUFDMUMseUJBQWtDOztJQUVsQyx1QkFBZ0M7O0lBQ2hDLGdDQUE0Qjs7SUFDNUIsZ0NBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PkpQTjogSU1FIHN1cHBvcnRcclxuLy8vIFV0aWxpdHkgQ2xhc3MgZm9yIElucHV0IE1ldGhvZCBFZGl0b3JcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8vIDxhdXRob3I+ICBUb3NoaXJvIE5ha2F5b3NoaSAoTVNKKVxyXG4vLy8gPC9hdXRob3I+XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxJbWVKcG4ge1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9BTFBIQU5VTUVSSUM6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX05BVElWRTogbnVtYmVyID0gMTtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfS0FUQUtBTkE6IG51bWJlciA9IDI7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgSU1FX0NNT0RFX0ZVTExTSEFQRTogbnVtYmVyID0gODtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfQ01PREVfUk9NQU46IG51bWJlciA9IDE2O1xyXG4gIHByaXZhdGUgc3RhdGljIElNRV9DTU9ERV9OT0NPTlZFUlNJT046IG51bWJlciA9IDI1NjtcclxuICBwcml2YXRlIHN0YXRpYyBJTUVfTk9UX0lOSVRJQUxJWkVEOiBudW1iZXIgPSAtMTtcclxuICBzdGF0aWMgSU1FX1pFTl9ISVJBR0FOQV9ST01BTjogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgSU1FX0ZPUkNFX09GRjogbnVtYmVyID0gMTU7IC8vIGlmIChJbWVNb2RlIHByb3BlcnR5ID09IDAgYW5kIChwaWN0dXJlIGhhcyBLMCBvciBQSUNfUykpIG9yXHJcbiAgLy8gKGF0dHJpYnV0ZSBpcyBub3QgYWxwaGEsIHVuaWNvZGUsIG5vciBibG9iKSwgc2V0IElNRV9GT1JDRV9PRkYuXHJcbiAgc3RhdGljIElNRV9ESVNBQkxFOiBudW1iZXIgPSAxMDsgICAvLyB0byBjb21wbGV0ZWx5IGRpc2FibGUgSU1FIChldmVuIG5vdCBhbGxvd2luZyB0byBjaGFuZ2UgdGhlIG1vZGUpXHJcbiAgSW1lQXV0b09mZjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFN0ckltZVJlYWQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY2hlY2sgaWYgdGhlIElNRSBtb2RlIGlzIHdpdGhpbiB2YWxpZCByYW5nZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaW1lTW9kZVwiPihJTUUgbW9kZSBpbiBNYWdpYylcclxuICAvLy8gPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IGJvb2xcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGlzVmFsaWQoaW1lTW9kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKDAgPD0gaW1lTW9kZSAmJiBpbWVNb2RlIDw9IDkpIHx8IGltZU1vZGUgPT09IDE1IHx8IGltZU1vZGUgPT09IDEwO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBjb252ZXJ0IHRoZSBpbnB1dCBtZXRob2QgZWRpdG9yIG1vZGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImltZU1vZGVcIj4oSU1FIG1vZGUgaW4gTWFnaWMpXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBpbWVDb252TW9kZSAoSU1FIGNvbnZlcnNpb24gbW9kZSBpbiBpbW0zMi5saWIpXHJcbiAgLy8vIDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBpbWVNb2RlMmltZUNvbnZNb2RlKGltZU1vZGU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgcmVzdWx0OiBudW1iZXI7XHJcbiAgICBzd2l0Y2ggKGltZU1vZGUpIHtcclxuICAgICAgLy8gSU1FX1pFTl9ISVJBR0FOQV9ST01BTlxyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmVzdWx0ID0gMjU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfWkVOX0hJUkFHQU5BXHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXN1bHQgPSA5O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX1pFTl9LQVRBS0FOQV9ST01BTlxyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmVzdWx0ID0gMjc7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAvLyBJTUVfWkVOX0tBVEFLQU5BXHJcbiAgICAgIGNhc2UgNDpcclxuICAgICAgICByZXN1bHQgPSAxMTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9IQU5fS0FUQUtBTkFfUk9NQU5cclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJlc3VsdCA9IDE5O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX0hBTl9LQVRBS0FOQVxyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmVzdWx0ID0gMztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIElNRV9aRU5fQUxQSEFOVU1FUklDXHJcbiAgICAgIGNhc2UgNzpcclxuICAgICAgICByZXN1bHQgPSA4O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgLy8gSU1FX0hBTl9BTFBIQU5VTUVSSUNcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmVzdWx0ID0gMDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIC8vIGNhc2UgMDpcclxuICAgICAgLy8gY2FzZSBJTUVfRElTQUJMRTpcclxuICAgICAgLy8gY2FzZSBJTUVfRk9SQ0VfT0ZGOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlc3VsdCA9IDI1NjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==