dkssud

package module
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2024 License: MIT Imports: 2 Imported by: 0

README

dkssud: QWERTY 한영 매핑 프로그램

GDG


GoDoc codecov

QWERTY 키보드용 한국어/영어 간 매핑 라이브러리입니다.

QWERTY 키보드에서 한글을 입력하거나, 반대로 영어로 변환할 수 있습니다.

이 라이브러리는 gksdudaovld 한영매핑 Python 라이브러리에서 영감을 받아 제작되었습니다.

[!NOTE] dkssud 은 '안녕'을 영어로 치면 나옵니다.

소개

dkssud 패키지를 사용하면 다음과 같이 QWERTY 키보드 입력을 한글로 변환할 수 있습니다:

import "github.com/Alfex4936/dkssud"

func main() {
    result := dkssud.QwertyToHangul("dkssud")
    fmt.Println(result) // 출력: "안녕"
}

위와 같이 한국어를 영어로, 또는 영어를 한국어로 바꿀 수 있습니다.

설치

go get github.com/Alfex4936/dkssud

사용 예시

QWERTY -> 한글 변환

QWERTY 키보드 입력을 한글로 변환하는 간단한 예제입니다:

import "github.com/Alfex4936/dkssud"

func main() {
    hangul := dkssud.QwertyToHangul("rkskekfk")
    fmt.Println(hangul) // 출력: "가나다라"

    // 또는 (QwertyToHangul 랑 같음)
    hangul = dkssud.쿼티("rkskekfk")
    fmt.Println(hangul) // 출력: "가나다라"

    hangul = dkssud.QwertyToHangul("rjRlRkwldii")
    fmt.Println(hangul) // 출력: "거끼까지야ㅑ"
}
한글 -> QWERTY 변환

한글을 QWERTY 키보드 입력으로 변환하는 예제입니다:

import "github.com/Alfex4936/dkssud"

func main() {
    qwerty := dkssud.HangulToQwerty("안녕하세요")
    fmt.Println(qwerty) // 출력: "dkssudgktpdy"

    // 또는 (HangulToQwerty 랑 같음)
    qwerty = dkssud.한글("안녕하세요")
    fmt.Println(hangul) // 출력: "dkssudgktpdy"

    qwerty = dkssud.HangulToQwerty("뮻ㅇ")
    fmt.Println(qwerty) // 출력: "abcd"
}
유틸리티
import "github.com/Alfex4936/dkssud"

func main() {
    // QWERTY 한글인지 간단한 확인
    isQwerty := dkssud.IsQwertyHangul("안녕하세요") // false - 한글이 포함되어 있으므로 QWERTY 한글이 아님
    isQwerty = dkssud.IsQwertyHangul("dkssudgktpdy") // true - QWERTY로 입력된 한글로 인식됨
    isQwerty = dkssud.IsQwertyHangul("dks녕gktpdy") // false - 한글이 포함되어 있으므로 QWERTY 한글이 아님
    isQwerty = dkssud.IsQwertyHangul("hello there") // true - 알고리즘 한계, 영단어면 true

    // 두 문자가 한글 결합 가능한지 확인
    isAttachable := dkssud.IsAttachAvailable('r', 'k') // 2 - 'r'과 'k'는 자음과 모음으로 결합 가능
    isAttachable = dkssud.IsAttachAvailable('k', 'o') // 0 - 모 + 모, 결합 불가
    isAttachable = dkssud.IsAttachAvailable('k', 'r') // 4 - 모 + 자
}

Documentation

Overview

Package dkssud는 QWERTY 키보드 입력과 한글 문자 간의 변환을 제공하는 함수들을 포함하고 있습니다.

이 패키지는 QWERTY 키보드 레이아웃을 기반으로 한국어 텍스트를 해석하거나 생성해야 하는 애플리케이션에 유용합니다.

이 패키지에는 두 가지 주요 함수가 포함되어 있습니다:

- QwertyToHangul: QWERTY 키보드 입력 문자열을 해당하는 한글 문자로 변환합니다.

- HangulToQwerty: 한글 문자를 해당하는 QWERTY 키보드 입력으로 변환합니다.

사용 예:

package main

import (
	"fmt"
	"github.com/Alfex4936/dkssud"
)

func main() {
	// QWERTY를 한글로 변환
	hangul := dkssud.QwertyToHangul("rkskekfk")
	fmt.Println(hangul) // 출력: "가나다라"

	// 한글을 QWERTY로 변환
	qwerty := dkssud.HangulToQwerty("가나다라")
	fmt.Println(qwerty) // 출력: "rkskekfk"
}

이 패키지는 한국어 텍스트 처리에서 일반적으로 발생하는 상황을 처리하도록 설계되었으며, 간단하고 사용하기 쉽게 만들어졌습니다.

Index

Constants

View Source
const (
	T     = 0b00010000
	M     = 0b00000100
	B     = 0b00000001
	TM    = T + M
	MM    = M + M
	MB    = M + B
	BB    = B + B
	TMM   = T + M + M
	TMB   = T + M + B
	TMMB  = T + M + M + B
	TMBB  = T + M + B + B
	TMMBB = T + M + M + B + B
)

Constants for bitmasks

Variables

This section is empty.

Functions

func HangulToQwerty

func HangulToQwerty(input string) string

HangulToQwerty converts a string of Hangul characters into their corresponding QWERTY keyboard inputs. This function reverses the process performed by QwertyToHangul.

Example usage:

converted := HangulToQwerty("가나다라")
fmt.Println(converted) // Output: "rkskekfk"

converted = HangulToQwerty("하 ㅋㅋㅋㅋ 메롱")
fmt.Println(converted) // Output: "gk zzzz apfhd"

Parameters:

  • input: A string containing Hangul characters.

Returns:

  • A string representing the corresponding QWERTY keyboard inputs.

func IsAttachAvailable added in v1.0.3

func IsAttachAvailable(i, l byte) int

IsAttachAvailable 함수는 두 개의 문자(i, l)가 한국어 조합 규칙에 따라 붙일 수 있는지를 확인합니다. 이 함수는 주로 자음과 모음, 또는 자음과 자음 간의 결합 가능 여부를 판단하는 데 사용됩니다.

이 함수는 다음과 같은 경우에 특정 값을 반환합니다: - 2: 첫 번째 문자가 자음(초성)이고, 두 번째 문자가 모음(중성)인 경우 - 3: 첫 번째와 두 번째 문자가 모두 모음(중성)이며, 이들이 합쳐져 이중 모음(복모음)을 구성할 수 있는 경우 - 4: 첫 번째 문자가 모음(중성)이고, 두 번째 문자가 자음(종성)인 경우 - 5: 두 문자가 결합하여 이중 자음(겹받침)을 구성할 수 있는 경우 - 0: 위의 경우에 해당하지 않는 경우 (결합 불가)

예시:

result := isAttachAvailable('r', 'k')
fmt.Println(result) // 출력: 2 (자 + 모)

result = isAttachAvailable('k', 'o')
fmt.Println(result) // 출력: 0 (모 + 모, 결합 불가)

result = isAttachAvailable('k', 'r')
fmt.Println(result) // 출력: 4 (모 + 자)

Parameters: - i: 첫 번째 문자 (byte 형식) - l: 두 번째 문자 (byte 형식)

Returns: - int: 문자의 결합 가능 여부를 나타내는 값. 0은 결합 불가, 2는 자 + 모, 3은 복모음, 4는 모 + 자, 5는 겹받침을 의미합니다.

func IsQwertyHangul added in v1.0.3

func IsQwertyHangul(input string) bool

IsQwertyHangul 함수는 입력된 문자열이 QWERTY 키보드에서 한글을 입력한 것으로 보이는지를 확인합니다.

!주의사항: 이 함수는 ASCII 문자로 이루어진 영어 문장도 QWERTY 한글로 잘못 인식할 수 있습니다. 예를 들어, "hello there" 같은 영어 문장은 QWERTY 한글로 인식됩니다. 이 함수는 주로 QWERTY 한글 입력이 예상되는 상황에서 사용되는 것이 좋습니다.

이 함수는 다음과 같은 경우에 true를 반환합니다: - 문자열이 한글이 아닌 ASCII 문자(영문자 또는 숫자)로만 구성되어 있을 때 - 문자열이 영문자와 숫자의 조합으로 이루어진 경우

이 함수는 다음과 같은 경우에 false를 반환합니다: - 문자열에 한글 문자가 포함된 경우 - 문자열에 ASCII 범위를 벗어나는 문자가 포함된 경우 (예: 특수 문자, 다른 언어의 문자 등) - 문자열이 오직 숫자로만 이루어진 경우

예시:

fmt.Println(IsQwertyHangul("경기도"))  // false - 한글 포함
fmt.Println(IsQwertyHangul("rudrleh")) // true - QWERTY로 입력된 한글
fmt.Println(IsQwertyHangul("123"))     // false - 숫자만 포함
fmt.Println(IsQwertyHangul("1경기"))   // false - 한글 포함
fmt.Println(IsQwertyHangul("123abbabb")) // true - QWERTY로 입력된 한글과 숫자 조합
fmt.Println(IsQwertyHangul("가낟ㄱㄴㅁㄱ닥ㄴㄷ")) // false - 한글 및 한글 자모 포함

Parameters: - input: 검사할 문자열

Returns: - 문자열이 QWERTY 키보드로 입력된 한글일 가능성이 있으면 true, 그렇지 않으면 false를 반환합니다.

func QwertyToHangul

func QwertyToHangul(input string) string

QwertyToHangul converts a string of QWERTY keyboard inputs to their corresponding Hangul characters. It supports the mapping of Korean characters typed using the QWERTY keyboard layout.

Example usage:

converted := QwertyToHangul("rkskekfk")
fmt.Println(converted) // Output: "가나다라"

converted = QwertyToHangul("gk zzzz apfhd")
fmt.Println(converted) // Output: "하 ㅋㅋㅋㅋ 메롱"

converted = QwertyToHangul("123")
fmt.Println(converted) // Output: "123" (Numbers remain unchanged)

Parameters:

  • input: A string containing QWERTY keyboard inputs.

Returns:

  • A string containing the corresponding Hangul characters.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL