npm

Share private packages across your team with npm Orgs, now with simplified billing via the aws marketplace!Learn more »

hangul-tools

0.1.4 • Public • Published

hangul-tools

한글 분해, 결합, 조사 처리, 두음 법칙 적용, 숫자 읽기, 쿼티를 한글로 변환 등등의 잡다한 한글 관련 함수를 사용할 수 있는 자바스크립트 라이브러리입니다.

아직 한글 조합형이나 옛한글 등은 지원하지 않고 있습니다.

현재 제작중입니다.

hangul-tools 불러오기

var HanTools = require('hangul-tools');

<!-- hantools-keyboard.js는 키보드 관련 기능이 필요 없을 때는 불러올 필요 없음 -->
<script src="./hantools-keyboard.js"></script>
<script src="./hangul-tools.js"></script>

초성, 중성, 종성 목록

// 문자열 "ㄱㄲㄴㄷ...ㅎ"
console.log(HanTools.CHOSEONG);
 
// 문자열 "ㅏ...ㅣ"
console.log(HanTools.JUNGSEONG);
 
// 문자열 "Xㄱㄲㄳ...ㅎ"
console.log(HanTools.JONGSEONG);
 
// (현재) 문자열 "X"
console.log(HanTools.JONGSEONG_EMPTY);

글자 단위 연산

한글을 확인하려 isHangul을 호출했을 때, 공백이나 초성, 중성, 기타 문자들이 들어가 있으면 false를 반환하는 것에 주의해 주시기 바랍니다.

또한, disintegratecompose 함수는 기본적인 초성, 중성, 종성 분해 및 결합만을 할 수 있습니다. 복합 자음이나 모음은 분해가 되지 않으니 주의 해 주세요.

// true
console.log(HanTools.isHangul(""));
 
// false
console.log(HanTools.isHangul(""));
 
// 문자열 "ㄴㄷ.ㅈㅇㅇㅅ"
console.log(HanTools.toChoseong("노드.제이에스"));
 
// 문자열 "ㅗㅡ.ㅔㅣㅔㅡ"
console.log(HanTools.toJungseong("노드.제이에스"));
 
// 문자열 "ㄴㅇXXX!"
console.log(HanTools.toJongseong("안녕하세요!"));
 
// [["ㅇ","ㅣ","ㅇ"], ["ㅇ","ㅕ"], "!"]
console.log(
    "잉여!".split('').map(HanTools.disintegrate)
);
 
// 문자열 "글자ㅏ다"
console.log(
    HanTools.compose("ㄱㅡㄹ") +
    HanTools.compose("ㅈㅏ") +
    HanTools.compose([null, ""]) +
    HanTools.compose(["", "", null])
);
 
// 문자열 "요로"
console.log(HanTools.dueum("뇨로"));

조사 다루기

길이 2의 문자열이나 배열을 사용할 수 있습니다.

var s1 = "",
    s2 = "당신",
    s3 = "좋아하",
    s4 = "";
 
// 문자열 "내가 당신을 좋아하는 것은"
console.log("%s%s %s%s %s %s"
    , s1, HanTools.josa(s1, "이가")
    , s2, HanTools.josa(s2, "을를")
    , HanTools.addJosa(s3, "은는")
    , HanTools.addJosa(s4, "은는"));

숫자 읽기

경까지 지원하며, 해 이상은 지원하지 않습니다. 서수(첫, 두, 세, ...)나 순우리말 숫자(하나, 둘, 셋, ..., 열, 스물, ...)도 지원하지 않습니다. 또한, 현재는 숫자를 그대로 읽은 것만 인식할 수 있습니다.

숫자를 인식할 때, 숫자와 그 뒤의 글 사이에는 띄어쓰기가 있어야 합니다.

// 숫자 '1234'
console.log(HanTools.parseNumber("천 이백 삼십 사"));
 
// 문자열 "점수 1234 점"
console.log(HanTools.replaceNumber("점수 천 이백 삼십 사 점"));
 
// 문자열 "천 이백 삼십 사"
console.log(HanTools.readNumber(1234));

키보드

두벌식과 세벌식 390을 지원합니다.

var andro_key = HanTools.Keyboard.QWERTY.getKeySequence("dkssud"),
    meda_key = HanTools.Keyboard.QWERTY.getKeySequence("jfshea");
 
// 문자열 "안녕 안녕"
console.log("%s %s"
    , HanTools.Keyboard.DUBEOLSIK.type(andro_key)
    , HanTools.Keyboard.SEBEOLSIK_390.type(meda_key));
 
// 문자열 "안녕"
console.log(HanTools.Keyboard.convert("dkssud", HanTools.Keyboard.QWERTY, HanTools.Keyboard.DUBEOLSIK));

시간과 시각

install

npm i hangul-tools

Downloadsweekly downloads

5

version

0.1.4

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability