UNPKG

@lazy-cjk/fullhalf-char-code

Version:

Determines whether the specified character code is full-width or half-width.

72 lines (64 loc) 2.56 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.LazyCjkFullhalfCharCode = {})); })(this, (function (exports) { 'use strict'; exports.EnumFullHalfTableType = void 0; (function (EnumFullHalfTableType) { EnumFullHalfTableType[EnumFullHalfTableType["FULL_WIDTH"] = 1] = "FULL_WIDTH"; EnumFullHalfTableType[EnumFullHalfTableType["HALF_WIDTH"] = 0] = "HALF_WIDTH"; EnumFullHalfTableType[EnumFullHalfTableType["NO_EXIST"] = -1] = "NO_EXIST"; })(exports.EnumFullHalfTableType || (exports.EnumFullHalfTableType = {})); function detectFullHalfCharCode(charCode) { if (0x0020 <= charCode && charCode < 0x007F) { return 0 /* EnumFullHalfTableType.HALF_WIDTH */; } if (0x3000 === charCode || 0xFF00 < charCode && charCode < 0xFF5F) { return 1 /* EnumFullHalfTableType.FULL_WIDTH */; } return -1 /* EnumFullHalfTableType.NO_EXIST */; } function isFullHalfCharCode(charCode) { const r = detectFullHalfCharCode(charCode); if (r === 1 /* EnumFullHalfTableType.FULL_WIDTH */) { return true; } else if (r === 0 /* EnumFullHalfTableType.HALF_WIDTH */) { return false; } else ; return null; } /** * Converts a half-width character code to a full-width character code. * @param {number} charCode - The half-width character code to convert. * @returns {number} The full-width character code. */ function toFullWidthCharCode(charCode) { if (0x0020 < charCode && charCode < 0x007F) { return 0xFF00 + (charCode - 0x0020); } if (0x0020 === charCode) { return 0x3000; } return charCode; } /** * Converts a full-width character code to a half-width character code. * @param {number} charCode - The full-width character code to convert. * @returns {number} The half-width character code. */ function toHalfWidthCharCode(charCode) { if (0xFF00 < charCode && charCode < 0xFF5F) { return 0x0020 + (charCode - 0xFF00); } if (0x3000 === charCode) { return 0x0020; } return charCode; } exports.detectFullHalfCharCode = detectFullHalfCharCode; exports.isFullHalfCharCode = isFullHalfCharCode; exports.toFullWidthCharCode = toFullWidthCharCode; exports.toHalfWidthCharCode = toHalfWidthCharCode; Object.defineProperty(exports, '__esModule', { value: true }); })); //# sourceMappingURL=index.umd.development.cjs.map