From 890fe292b961c87f3b3ed3c91f01be825ec3d26e Mon Sep 17 00:00:00 2001 From: Open-Set-Go Date: Sun, 7 Apr 2024 16:37:20 +0900 Subject: [PATCH] =?UTF-8?q?README.md=20generated=20by=20Open-Set-Go=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/README.md b/README.md index e69de29..2087c57 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,76 @@ +# golang-jamo + + +Hangeul character syllable decomposing/composing Go library + + License + contributors + your repo's last-commit + your repo's issues + + your repo's stars + your repo's forks + your repo's watchers + +## Description +Golang-jamo is a Go Hangeul syllable decomposition/composition library for working with Hangul characters and jamo.

+This library support Hangeul syllable decomposition with several options. (e.g. Detailed Jamo decomposition, Qwerty keyboard layout decomposition)

+ +## Installation + +```bash +go get -u github.com/ymw0407/jamo +``` + +## Usage/Examples + +```go +package main + +import ( + "fmt" + + "github.com/ymw0407/jamo/pkg/jamo" + "github.com/ymw0407/jamo/pkg/options" +) + +func main() { + fmt.Println( + jamo.DecomposeHangeul("한글 테스트 예시!"), + ) // "ㅎㅏㄴㄱㅡㄹ ㅌㅔㅅㅡㅌㅡ ㅇㅖㅅㅣ!" + fmt.Println( + jamo.DecomposeHangeul("한글 테스트 예시!", options.Jamo().SetComplexConsonants(true).SetDiphthong(true).SetTenseConsonants(true)), + ) // "ㅎㅏㄴㄱㅡㄹ ㅌㅓㅣㅅㅡㅌㅡ ㅇㅕㅣㅅㅣ!" + fmt.Println( + jamo.DecomposeHangeul("한글 테스트 예시!", options.Qwerty().SetShiftOption(options.QwertyShiftOption1)), + ) // "ㅎㅏㄴㄱㅡㄹ ㅌㅔㅅㅡㅌㅡ ㅇㅕㅣㅅㅣ!" + fmt.Println( + jamo.DecomposeHangeul("한글 테스트 예시!", *options.Qwerty().SetShiftOption(options.QwertyShiftOption2)), + ) // "ㅎㅏㄴㄱㅡㄹ ㅌㅔㅅㅡㅌㅡ ㅇㅔㅔㅅㅣ!" + + fmt.Println( + jamo.ComposeHangeul("ㅎㅏㄴㄱㅡㄹ"), + ) // ["한글"], nil + fmt.Println( + jamo.ComposeHangeul("ㅎㅏㄴ ㄱㅡㄹ"), // any other characters except hangeul syllable is unavailable + ) // [], JamoError.ErrImpossibleToCompose + fmt.Println( + jamo.ComposeHangeul("english"), // any other characters except hangeul syllable is unavailable + ) // [], JamoError.ErrImpossibleToCompose + fmt.Println( + jamo.ComposeHangeul( + jamo.DecomposeHangeul("한글테스트예시", *options.Qwerty().SetShiftOption(options.QwertyShiftOption2)), + ), // qwerty decomposition, jamo decomposition available to compose + ) // ["한글테스트예시"], nil + fmt.Println( + jamo.ComposeHangeul( + jamo.DecomposeHangeul("ㄱㅡㄹㄱㄱㅣ", *options.Qwerty().SetShiftOption(options.QwertyShiftOption2)), + ), // if it can be combined into several other characters, it returns all of them. + ) // ["긁기", "글끼"], nil +} +``` + +## License + +jamo is released under Apache License 2.0. +See the [LICENSE file]("./LICENSE") for details.