@magic-xpa/utils
Version:
magic utils package
122 lines • 9.39 kB
JavaScript
/**
* @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==