F.R.I.D.A.Y.

한글 자모 분리 및 결합 라이브러리 본문

DEV/.Net

한글 자모 분리 및 결합 라이브러리

F.R.I.D.A.Y. 2018. 8. 21. 19:47
반응형

 MFC프로그래밍 배우면서 블로그는 사실상 관리를 안했는데, 관리 안한만큼 굉장히 도음이 많이 되었다. TIPS 들을 시간에 블로그 관리를 했다면 아무것도 못했을거야..


 그래서 TIPS 20기 모집하면 꼭 해보길 바랍니다. 대표님 주소가...



HangulVB.dll

^ 베타버전


HangulVB.dll

^ 1.0.0.0




 위에 라이브러리 파일은 XdobeFix를 만들면서 사용한 한글 자모 클래스를 라이브러리화 해서 다른 프로그램에서 쉽게 사용할 수 있도록 만든겁니다.

 필요한 사람은 다운받아서 잘 사용하시기 바랍니다.


 상업 목적으로의 사용은 불가능합니다. 상업 목적으로 사용하시려면 따로 허락을 받고 사용해주세요.

 사용 전 포스트 하단의 ISSUE 탭을 확인하세요.

1. 열거형 설명

1) charState

1 JaEum

>> 한글 자음

2 MoEum

>> 한글 모음

3 Emjol

>> 음절

4 English

>> 영어

5 Etc

>> 기타


 위 굵게 표시된 열거형이 대표되는 열거형이고 아래 설명되는 열거형을 나누기 10하면 [각주:1]각 열거형이 대표 열거형으로 바뀝니다.

 대표되는 열거형은 열거형 이름 앞에 숫자로 구분됩니다.


5 Control

>> 컴퓨터의 컨트롤용 키 (ASCII에서 0 ~ 31 등과 같이 특수한 키들)

5 Number

>> 숫자

5 ASCII_Special_Char

>> ASCII에서 지원하는 특수문자들  ex) !@#$%

5 OldHangul

>> 옛한글 (반치음, 여린히읗 등)


1 Front

>> 한글 초성

2 Middle

>> 한글 중성

1 Tail

>> 한글 종성


3 HanEmjol

>> 한글 음절


4 UpperEnglish

>> 영어 대문자

4 LowerEnglish

>> 영어 소문자


2) StringOption

 이 열거형은 StructToStr() 함수를 이용할 때 두번째 인자에 들어가게 되며 각 열거형이 설명하는 내용은 다음과 같습니다.


NULL

>> 아무 효과를 적용하지 않습니다. 위 값이 활성화되면 다른 모든 설정에 우선합니다.

WithType

>> String을 반환할 때 각 데이터의 타입을 함께 작성해 반환합니다. 반환되는 타입 명은 charState 열거형의 이름을 가집니다.

WithInteger

>> 각 데이터에 맞는 글자 코드를 추가합니다. 만일 " 1 " 을 출력할 때 이 옵션을 추가하면 { 1, 49[각주:2] }이렇게 출력됩니다.

ReplaceToInt

>> 각 데이터에 맞는 글자 코드로 데이터 출력을 대신합니다. 만일 'D'를 출력할 때 이 옵션을 추가하면 { 68 }을 출력합니다. WithInteger 옵션에 우선합니다.

2. 함수설명

1) CreateStruct

 charData 구조체를 생성합니다. 이용할 때 불편함이 없도록 매개변수에 String, Char, Integer(), List(Of Integer), Integer 타입을 지원합니다.

 반환형은 복수 데이터를 담는 매개변수[각주:3]에 대해 List(Of charData), 단일 데이터를 담는 매개변수[각주:4]에 대해 charData입니다.


2) StructToStr

 구조체 리스트를 문자열로 반환합니다.

 첫번째 매개변수는 List(Of charData)를 가져야 하며, 두번째 매개변수는 이 함수에 대한 설정값입니다.

 두번째 매개변수는 옵션으로 아무것도 작성하지 않으면 NULL이 전달됩니다.


 NULL이 전달되면 괄호등이 포함되지 않은 순수 문자열이 반환됩니다.


3)Combine

 charData의 문자를 조합해 완성형 한글 데이터가 포함된 charData 구조체가 반환됩니다.


 매개변수로 List(Of charData)를 이용할 수 있습니다. 구조체 리스트를 넘기면 함수단에서 알아서 초성 중성 종성을 맞추어 처리한 후 결합한 결과를 반환합니다.


!주의! << 1.0.0.0에서 개선되었습니다. 다수의 사용자로부터 테스트를 받지 않았습니다.

 매개변수로 List(Of charData)를 가지는 함수는 아직 불완전합니다. 만일 문제 발생이 염려되거나 믿지 못하는 경우 오버로딩으로 제공되는 함수를 이용하세요.

 오버로딩으로 제공되는 함수는 charData 자료형을 가지는 데이터 세개를 매개변수로 받습니다.


 함수 원형

 Combine(ByVal first As charData, ByVal middle As charData, Optional ByVal tail As charData = Nothing) As charData


 first, middle, tail 에는 각각 초성, 중성, 종성(종성은 선택)이 들어가야합니다. 이 형식이 맞춰지지 않으면 아래에서 설명하는 오류 코드가 포함된 chaData 구조체가 반환됩니다.


 전달받은 값에 문제가 있는경우 어디에 문제가 있느냐에 따라 반환되는 charData에 다음과 같은 값이 포함됩니다.

매개변수 명 : first 에서 문제가 발생하는 경우

>> -1 이 들어있는 charData 반환


매개변수 명 : middle 에서 문제가 발생하는 경우

>> -2 가 들어있는 charData 반환


매개변수 명 : tail 에서 문제가 발생하는 경우

>> -3 이 들어있는 charData 반환


4) Separate

 완성형 한글을 분리합니다.

 매개변수로는 다음이 들어갈 수 있습니다.

>> List(Of charData), String, Char, charData

 반환형은 List(Of charData)입니다.


 만일 완성형 한글이 아닌 값이 매개변수로 들어왔을 때는, 매개변수로 들어온 값을 그대로 반환합니다.


5) VERSION

라이브러리 파일의 버전을 불러옵니다. 자료형은 Version입니다.


3. 업데이트 내역


4. Issue


  1. charData 구조체에서 BigType()을 사용하면 대표 열거형이 반환됩니다. [본문으로]
  2. ASCII코드 49는 문자 1에 대한 값입니다. [본문으로]
  3. String, Integer(), List(Of Integer) [본문으로]
  4. Char, Integer [본문으로]
728x90
반응형
Comments