Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/myevan/cppjosa

c++11 한글 조사 처리
https://github.com/myevan/cppjosa

Last synced: 3 months ago
JSON representation

c++11 한글 조사 처리

Awesome Lists containing this project

README

        

cppjosa
=======

c++11 기반 한글 조사 처리 입니다. Windows(VS2013, VS2015)와 OS X 에서 빌드 및 테스트 되었습니다.

예제
----

#### 코드

#include "myevan_korean.h"

int main()
{
std::wstring dstText;
std::wstring srcText = System::Text::UTF8Encoding.GetString("아노아(은)는 자루(와)과 오리(을)를 칭송하고 절(으)로 들어갔습니다.");
Myevan::Korean::ReplaceJosa(srcText, dstText);

std::vector buf;
puts(System::Text::UTF8Encoding.GetBytes(srcText, buf));
puts(System::Text::UTF8Encoding.GetBytes(dstText, buf));

return 0;
}

#### 결과

아노아(은)는 자루(와)과 오리(을)를 칭송하고 절(으)로 들어갔습니다.
아노아는 자루와 오리를 칭송하고 절로 들어갔습니다.

빌드
----

### Windows

VisualStudio 로 WinTest 디렉토리의 WinTest.sln 을 오픈해 빌드합니다.

### OS X / Linux

$ make
$ ./cppjosa.exe

참고
---

#### 인코딩

* VisualStudio 에서 utf8-without-bom 인코딩을 지원 하지 못해 utf8-bom 인코딩을 사용합니다.
* c++11 new unicode literals
* `#pragma execution_character_set( "utf-8" )` VS2008 Latest SP, VS2010 Latest SP, VS2013 (VS2012 미지원?!)
* gcc utf8-bom 컴파일 옵션

#### 로케일

* std::locale() 함수의 경우 Windows 에서 `ko_KR.UTF-8` 을 지원하지 않아 `Korean` 을 사용합니다.
* utf8-unicode 변환
* 윈도우-리눅스 `wchar_t` 공용 사용

#### 프로젝트

* 비주얼 스튜디오 통합 프로젝트