hangul-romanization
Version:
Romanizes Hangul (Korean) characters
33 lines (32 loc) • 1.65 kB
JavaScript
;
/**
* @license MIT Copyright 2016 Daniel Imms (http://www.growingwiththeweb.com)
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.convert = void 0;
var revisedRomanizationOfKorean_1 = require("./conversionSystems/revisedRomanizationOfKorean");
var UNICODE_OFFSET = 44032;
var UNICODE_MAX = 55215;
function convertCharacter(char) {
var charCode = char.charCodeAt(0);
var isHangul = charCode >= UNICODE_OFFSET && charCode < UNICODE_MAX;
if (isHangul) {
var unicodeOffset = charCode - UNICODE_OFFSET;
var trailerOffset = unicodeOffset % revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final.length;
unicodeOffset -= trailerOffset;
unicodeOffset /= revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final.length;
var vowelOffset = unicodeOffset % revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels.length;
unicodeOffset -= vowelOffset;
unicodeOffset /= revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels.length;
var leadOffset = unicodeOffset;
var result = revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.initial[leadOffset]
+ revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels[vowelOffset]
+ revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final[trailerOffset];
return result;
}
return char;
}
function convert(text) {
return text.split('').map(convertCharacter).join('');
}
exports.convert = convert;