GithubHelp home page GithubHelp logo

e- / hangul.js Goto Github PK

View Code? Open in Web Editor NEW
676.0 27.0 96.0 251 KB

한글 자음/모음 분리/조합 자바스크립트 라이브러리. 자바스크립트 한글 오토마타 구현체입니다.

Home Page: https://e-.github.io/Hangul.js/examples/

License: MIT License

JavaScript 96.47% HTML 3.53%
hangul javascript

hangul.js's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hangul.js's Issues

I think it would be nice to register to cdnjs.

저장소 스타 100개가 넘으면 CDNjs에 등록할 수 있습니다.
등록하면 브라우저 환경에서 좀 더 편리하게 접근할 수 있습니다.
CDNjs에 등록해보는게 어떨까요?

Hangul.indexOf()

Hangul.search() 결과 값을 가지고 문자열에서 일치 되는 위치 (index) 바로 알 수 없어요. 일치된 부분만 강조 표현 하려고 하는데 일치 된 부분의 시작 위치 (또 끝 위치) 알 수 있었으면 좋겠습니다.

Hangul.indexOf() 같은 함수 만들어 봤는데, 문자열 분리전 형태 알 수 있었으면 계산이 더 쉴 것 같아요:
["ㅎ", "ㅏ", "ㄴ", "ㄱ", "ㅡ", "ㄹ"] 대신에 [["ㅎ", "ㅏ", "ㄴ"], ["ㄱ", "ㅡ", "ㄹ"]]


아래 저는 작성한 Hangul.indexOf() 공유합니다:

Hangul.indexOf = function(haystack, needle) {
  var index, match, totalLetters;
  match = 1 + Hangul.search(haystack, needle);
  totalLetters = 0;
  index = -1;
  while (totalLetters < match) {
    index++;
    totalLetters += (Hangul.disassemble(haystack[index])).length;
  }
  return index;
};

[NOTICE] test page 디자인

assemble과 disassemble 기능들을 test해볼 수 있는 페이지의 디자인을 입혀서 user로 하여금 조금 더 직관적으로 바꾸는 게 좋을 것 같습니다.

search function error

  var search = function(a, b){
    var ad = disassemble(a).join(''),
        bd = disassemble(b).join('')

    return ad.indexOf(bd);
  };

인자값 a,b가 null이 들어올때 에러가 떨어집니다.
에러처리 되었으면 좋겠습니다.

assemble error

h.assemble(['ㅃ','ㅞ','ㄹ','ㄱ'])
'쀍'
h.assemble(['ㅃ','ㅞ','ㄹ','ㄱ','ㅅ'])
'\u0000' -> Error!
h.assemble(['ㅃ','ㅞ','ㄹ','ㄱ','ㅅ', 'ㅏ'])
'쀍사'

['ㅃ','ㅞ','ㄹ','ㄱ','ㅅ'] => '쀍ㅅ' 가 되어야 하지만 '\u0000' 이 return 됩니다.

hangul-js version : 0.2.5

hangul.d.ts 파일 없음

안녕하세요.

패키지 사용중에 질문이 생겨 이슈에 남깁니다.

README 내용과 master 코드들을 보면 hangul.d.ts 파일이 추가가 된 것으로 보이는데,

0.2.4 릴리즈 버전에는 포함이 되어있지 않습니다.

혹시 이유가 있을까요?

좋은 패키지를 이렇게 공유해주셔서 감사드립니다. :)

Level of decomposition

쌍자음 분리할지? (현재는 안함)
ㄲ -> ㄱㄱ 가 되어야 하나?

복합자음 분리할지? (현재는 함)
ㄳ -> ㄱㅅ 가 되어야 하나?

복합중성 분리할지? (현재는 함)
ㅘ -> ㅗㅏ 가 되어야 하나?

special characters in rangeSearch

when try to search part of matching character featrue by rangeSearch,

i would try to '[' or '(' ..etc.

but i met below error.

how can fix it ?

image

Missing Complex Vowels

#Firstly, I'd like to thank you for putting to together and sharing this fantastic tool.

Hangul.assemble(['ㅅ','ㅓ','ㅣ']); // Results in '서 ㅣ' and not '세'.

This issue concerns the following for 'Hangul.assemble()':
'ㅏ,ㅣ'
'ㅓ,ㅣ'
'ㅗ,ㅏ,ㅣ'
'ㅘ,ㅣ'
'ㅜ,ㅓ,ㅣ'
'ㅝ,ㅣ'

Added these to the 'COMPLEX_VOWELS' array might resolve this issue, however the triplets, e.g. 'ㅜ,ㅓ,ㅣ' might require this array to be completely reformatted. It seems like 'COMPLEX_VOWELS' are only diphthongs and do not accommodate triphthongs.

hangul.js, Line 64
COMPLEX_VOWELS = [
['ㅏ','ㅣ','ㅐ'],
['ㅓ','ㅣ','ㅔ'],
['ㅗ','ㅏ','ㅘ'],
['ㅗ','ㅐ','ㅙ'],
['ㅘ','ㅣ','ㅙ'],
['ㅗ','ㅣ','ㅚ'],
['ㅜ','ㅓ','ㅝ'],
['ㅜ','ㅔ','ㅞ'],
['ㅝ','ㅣ','ㅞ'],
['ㅜ','ㅣ','ㅟ'],
['ㅡ','ㅣ','ㅢ']
],

I haven't added ['ㅗ','ㅏ','ㅣ','ㅙ'], [''ㅗ,'ㅓ','ㅣ','ㅞ']

Kindly,
James Ro
#(노경진)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.