Setting Object API


Summary

설정 오브젝트를 생성하고 관리하는 API로 구성되어 있습니다.
설정 오브젝트는 인식엔진에서 인식할 언어의 종류를 설정하고, 인식 모드를 설정하는 용도로 사용합니다.

Setting Object API는 일반적으로 다음과 같은 순서로 호출하게 됩니다.

  • 설정 오브젝트 생성 : CreateSettingObject()
  • 인식모드 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식) : SetRecognitionMode()
  • 인식할 언어 설정 : AddLanguage()
  • 설정 오브젝트를 인식에 사용하도록 설정 : SetAttribute()
  • 잉크 오브젝트에 저장된 좌표 값을 인식 : Recognize()
  • 설정 오브젝트 제거 : DestroyInkObject()

Typedefs

// 설정 오브젝트 handle
typedef const void * DHWRSettingObject

Functions List

// 설정 오브젝트를 생성함
DHWRSettingObject DHWRCreateSettingObject(void)
// 설정 오브젝트를 제거함
void DHWRDestroySettingObject(DHWRSettingObject setting)
// 필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)
unsigned int DHWRSetRecognitionMode(DHWRSettingObject setting, const DHWR_RECOGMODE mode)
// 인식 후보 문자의 최대 개수를 설정
unsigned int DHWRSetCandidateSize(DHWRSettingObject setting, const int size_cand)
// 인식할 언어를 추가함
unsigned int DHWRAddLanguage(DHWRSettingObject setting, const DHWR_LANG lang, const DHWR_TYPE option)
// 설정된 언어 개수를 반환함
unsigned int DHWRGetLanguageSize(DHWRSettingObject setting, int *size)
// 설정된 언어 언어를 초기화
unsigned int DHWRClearLanguage(DHWRSettingObject setting)
// 인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
unsigned int DHWRSetUserCharSet(DHWRSettingObject setting, const unsigned short* charset)
DHWRCreateSettingObject

설정 오브젝트를 생성함

Returns

DHWRSettingObject (설정 오브젝트 포인터)

DHWRDestroySettingObject

설정 오브젝트를 제거함

Parameters
# Name Description Type
[in] setting 제거할 설정 오브젝트 DHWRSettingObject
DHWRSetRecognitionMode

필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
[in] mode 인식 모드 const DHWR_RECOGMODE
Returns

Error Code

DHWRSetCandidateSize

인식 후보 문자의 최대 개수를 설정
10으로 설정할 경우, 후보 문자가 최대 10개까지 생성될 수 있다는 의미. 반드시 10개가 되는 것은 아니다.

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
[in] size_cand 최대 후보 문자 개수 const int
Returns

Error Code

DHWRAddLanguage

인식할 언어를 추가함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
[in] lang 언어 값 const DHWR_LANG
[in] option 언어에 따른 옵션 const DHWR_TYPE
Returns

Error Code

Example
DHWRSettingObject setting_obj = NULL;
setting_obj = DHWRSettingObject();
DHWRSetRecognitionMode(setting_obj, MULTICHAR);

// 한국어 + 기호 + 숫자 인식 설정
DHWRClearLanguage(setting_obj);
DHWRAddLanguage(setting_obj, DLANG_KOREAN, (DHWR_TYPE)(DTYPE_KOREAN | DTYPE_SIGN | DTYPE_NUMERIC));

// 영어(미국) 인식 설정
DHWRClearLanguage(setting_obj);
DHWRAddLanguage(setting_obj, DLANG_ENGLISH, (DHWR_TYPE)(DTYPE_UPPERCASE | DTYPE_LOWERCASE));

// 중국어(간체) 인식 설정
DHWRClearLanguage(setting_obj);
DHWRAddLanguage(setting_obj, DLANG_CHINA, DTYPE_SIMP);

// 일본어(히라가나) 인식 설정
DHWRClearLanguage(setting_obj);
DHWRAddLanguage(setting_obj, DLANG_JAPANESE, DTYPE_HIRAGANA);
DHWRGetLanguageSize

설정된 언어 개수를 반환함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
[out] size 설정된 언어 개수 int *
Returns

Error Code

DHWRClearLanguage

설정된 언어를 초기화

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
Returns

Error Code

DHWRSetUserCharSet

인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
사용 가능한 기호 목록은 Language Mode에서 확인 가능함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 DHWRSettingObject
[in] charset 인식할 기호의 리스트 const unsigned short *
Returns

Error Code

Functions List

// 설정 오브젝트를 생성함
public static extern IntPtr CreateSettingObject()
// 설정 오브젝트를 제거함
public static extern void DestroySettingObject(IntPtr setting)
// 필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)
public static extern int SetRecognitionMode(IntPtr setting, int mode)
// 인식 후보 문자의 최대 개수를 설정
public static extern int SetCandidateSize(IntPtr setting, int size)
// 인식할 언어를 추가함
public static extern int AddLanguage(IntPtr setting, int language, int option)
// 설정된 언어 개수를 반환함
public static extern int GetLanguageSize(IntPtr setting, [In, Out] ref int size)
// 설정된 언어를 초기화
public static extern int ClearLanguage(IntPtr setting)
// 인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
public static extern int SetUserCharSet(IntPtr setting, [In] ushort[] charset)
CreateSettingObjectstatic

설정 오브젝트를 생성함

Returns

IntPtr (설정 오브젝트 포인터)

DestroySettingObjectstatic

설정 오브젝트를 제거함

Parameters
# Name Description Type
[in] setting 제거할 설정 오브젝트 IntPtr
SetRecognitionModestatic

필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
[in] mode 인식 모드 int
Returns

Error Code

SetCandidateSizestatic

인식 후보 문자의 최대 개수를 설정
10으로 설정할 경우, 후보 문자가 최대 10개까지 생성될 수 있다는 의미. 반드시 10개가 되는 것은 아니다.

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
[in] size 최대 후보 문자 개수 int
Returns

Error Code

AddLanguagestatic

인식할 언어를 추가함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
[in] language 언어 값 int
[in] option 언어에 따른 옵션 int
Returns

Error Code

Example
IntPtr settingObj = IntPtr.Zero;
settingObj = Hwr.CreateSettingObject();
Hwr.SetRecognitionMode(settingObj, Hwr.MULTICHAR);

// 한국어 + 기호 + 숫자 인식 설정
Hwr.ClearLanguage(settingObj);
Hwr.AddLanguage(settingObj, Hwr.DLANG_KOREAN, Hwr.DTYPE_KOREAN | Hwr.DTYPE_SIGN | Hwr.DTYPE_NUMERIC);

// 영어(미국) 인식 설정
Hwr.ClearLanguage(settingObj);
Hwr.AddLanguage(settingObj, Hwr.DLANG_ENGLISH, Hwr.DTYPE_UPPERCASE | Hwr.DTYPE_LOWERCASE);

// 중국어(간체) 인식 설정
Hwr.ClearLanguage(settingObj);
Hwr.AddLanguage(settingObj, Hwr.DLANG_CHINA, Hwr.DTYPE_SIMP);

// 일본어(히라가나) 인식 설정
Hwr.ClearLanguage(settingObj);
Hwr.AddLanguage(settingObj, Hwr.DLANG_JAPANESE, Hwr.DTYPE_HIRAGANA);
GetLanguageSizestatic

설정된 언어 개수를 반환함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
[out] size 설정된 언어 개수 ref int
Returns

Error Code

ClearLanguagestatic

설정된 언어를 초기화

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
Returns

Error Code

SetUserCharSetstatic

인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
사용 가능한 기호 목록은 Language Mode에서 확인 가능함

Parameters
# Name Description Type
[in] setting 설정 오브젝트 IntPtr
[in] charset 인식할 기호의 리스트 ushort[]
Returns

Error Code

Classes

public static class Setting {
    public Setting() {
        mId = CreateSettingObject();
    }

    @Override
    protected void finalize() throws Throwable {
        DHWR.DestroySettingObject(mId);
        super.finalize();
    }

    public int SetMode(int mode) {
        return DHWR.SetRecognitionMode(mId, mode);
    }

    public int SetCandidateSize(int size) {
        return DHWR.SetCandidateSize(mId, size);
    }

    public int AddLanguage(int lang, int option) {
        return DHWR.AddLanguage(mId, lang, option);
    }

    public int GetLanguageSize() {
        return DHWR.GetLanguageSize(mId);
    }

    public int ClearLanguage() {
        return DHWR.ClearLanguage(mId);
    }

    public int SetUserCharSet(char[] charset) {
        return DHWR.SetUserCharSet(mId, charset);
    }

    public long GetHandle() {
        return mId;
    }

    private long mId;
}
Settingclassstatic

설정 오브젝트를 생성하고 관리하는 API를 사용하기 쉽도록 wrapping한 클래스

Attributes
Name Description Type Access
mId 설정 오브젝트의 handle long private
Methods
Name Description Returns Access
Setting() CreateSettingObject()와 동일한 기능 void public
finalize() DestroySettingObject()와 동일한 기능 void protected
SetMode(int mode) SetRecognitionMode()와 동일한 기능 int public
SetCandidateSize(in size) SetCandidateSize()와 동일한 기능 int public
AddLanguage(int lang, int option) AddLanguage()와 동일한 기능 int public
GetLanguageSize() GetLanguageSize()와 동일한 기능 int public
ClearLanguage() ClearLanguage()와 동일한 기능 int public
SetUserCharSet() SetUserCharSet()와 동일한 기능 int public
GetHandle() 설정 오브젝트의 handle을 반환 long public

Functions List

// 설정 오브젝트를 생성함
public final static native long CreateSettingObject()
// 설정 오브젝트를 제거함
public final static native void DestroySettingObject(long setting)
// 필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)
public final static native int SetRecognitionMode(long setting, int mode)
// 인식 후보 문자의 최대 개수를 설정
public final static native int SetCandidateSize(long setting, int sizeCand)
// 인식할 언어를 추가함
public final static native int AddLanguage(long setting, int lang, int option)
// 설정된 언어 개수를 반환함
public final static native int GetLanguageSize(long setting)
// 설정된 언어를 초기화
public final static native int ClearLanguage(long setting)
// 인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
public final static native int SetUserCharSet(long setting, char[] charset)
CreateSettingObjectstatic

설정 오브젝트를 생성함

Returns

long (설정 오브젝트의 handle)

DestroySettingObjectstatic

설정 오브젝트를 제거함

Parameters
# Name Description Type
[in] setting 제거할 설정 오브젝트의 handle long
SetRecognitionModestatic

필기 인식 모드를 설정 (낱자 인식 / 여러 글자 인식 / 여러 줄 인식)

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
[in] mode 인식 모드 int
Returns

Error Code

SetCandidateSizestatic

인식 후보 문자의 최대 개수를 설정
10으로 설정할 경우, 후보 문자가 최대 10개까지 생성될 수 있다는 의미. 반드시 10개가 되는 것은 아니다.

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
[in] sizeCand 최대 후보 문자 개수 int
Returns

Error Code

AddLanguagestatic

인식할 언어를 추가함

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
[in] lang 언어 값 int
[in] option 언어에 따른 옵션 int
Returns

Error Code

Example
long settingObj = DHWR.CreateSettingObject();
DHWR.SetRecognitionMode(settingObj, DHWR.MULTICHAR);

// 한국어 + 기호 + 숫자 인식 설정
DHWR.ClearLanguage(settingObj);
DHWR.AddLanguage(settingObj, DHWR.DLANG_KOREAN, DHWR.DTYPE_KOREAN | DHWR.DTYPE_SIGN | DHWR.DTYPE_NUMERIC);

// 영어(미국) 인식 설정
DHWR.ClearLanguage(settingObj);
DHWR.AddLanguage(settingObj, DHWR.DLANG_ENGLISH, DHWR.DTYPE_UPPERCASE | DHWR.DTYPE_LOWERCASE);

// 중국어(간체) 인식 설정
DHWR.ClearLanguage(settingObj);
DHWR.AddLanguage(settingObj, DHWR.DLANG_CHINA, DHWR.DTYPE_SIMP);

// 일본어(히라가나) 인식 설정
DHWR.ClearLanguage(settingObj);
DHWR.AddLanguage(settingObj, DHWR.DLANG_JAPANESE, DHWR.DTYPE_HIRAGANA);
GetLanguageSizestatic

설정된 언어 개수를 반환함

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
Returns

설정된 언어 개수

ClearLanguagestatic

설정된 언어를 초기화

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
Returns

Error Code

SetUserCharSetstatic

인식할 기호의 목록을 설정하면, 설정된 기호들만 인식하고, 그 외의 기호들은 무시함
사용 가능한 기호 목록은 Language Mode에서 확인 가능함

Parameters
# Name Description Type
[in] setting 설정 오브젝트의 handle long
[in] charset 인식할 기호의 리스트 char[]
Returns

Error Code