# 필딩

필딩 탭에서는 그래픽으로 OCRMax 함수의 필드 문자열과 필드 정의 매개 변수를 생성 및 수정할 수 있습니다. 결과값은 리터럴 문자열로 함수에 삽입됩니다.

필딩은 문자열을 확인 및 정정함으로써 가장 일치도가 높은 유효한 문자열 세트를 반환하는 기능을 제공합니다. 필딩에는 2가지 주요 용도가 있습니다.

- OCR 결과 검증 - 필드 문자열과 필드 정의 매개 변수에 따라 반환된 문자열이 맞는지 여부가 결정됩니다.
- 반환된 문자열이 수용 가능 결과 목록에 없는 경우 OCR 결과 정정과 반환된 문자열에 가장 근접한 필드에 따라 허용되는 수용 가능 문자열을 찾으려는 시도가 이루어집니다.

필딩은 주로 문자열에 접두사 및/또는 접미사 문자가 포함되어 있는 경우에 그러한 접두사/접미사 문자를 무시하는 데 사용됩니다. 이 경우, 필드 문자열 및 필드 정의가 ROI 내 문자열 위치의 오프셋을 결정합니다.

#### 필드 문자열

문자열에 포함되어 있는 문자 개수를 지정합니다. 필드 문자열은 텍스트 입력 대화상자에 나와 있는 모든 영문자 및 숫자 문자로 입력할 수 있습니다. 여기에는 (A - Z), (a - z), (0 - 9), 대시(-), 점(.), 및 공백( ) 등이 포함됩니다.

필드 문자열의 각 문자는 0과 31 사이의 인덱싱된 필드 위치에 해당합니다. 필드 문자열에는 최소한 해당 문자열에 포함되어 있는 문자와 동일한 개수의 위치가 포함되어 있어야 해당 문자열 확인에 합격합니다. 예컨대, 문자가 10개 있지만 필드 문자열에는 문자가 9개 밖에 지정되어 있지 않은 경우, 가장 일치도가 높은 9개만 반환됩니다. 하지만, 문자가 8개 있는데 필드 문자열에 문자가 9개 정의되어 있는 경우, 이 함수는 #ERR을 반환합니다. 기본 설정상, 필드 문자열 내 각 위치는 별표(*) 문자 또는 영문자 및 숫자로 된 "와일드카드"로 표시됩니다. 와일드카드란 문자열 내 어떤 위치에 어떤 문자가 오더라도 유효하다는 의미입니다.

하지만, 필드 문자열 내의 개별 위치는 해당 위치에 올 수 있는 문자들의 하위 집합으로만 제한적으로 간주될 수 있습니다. 이렇게 되면 특정 위치에 올 수 없는 문자들은 판독 중에 고려 대상에서 제외될 것이기 때문에 전체적인 성능과 신뢰성이 높아집니다.

사전 정의된 필드 문자열 입력값은 다음과 같습니다:

필드 문자열 입력 | 설명 | 유효한 문자
--- | --- | ---
* | 와일드카드 | 글꼴의 트레이닝된 모든 문자.
N | 숫자 | 0123456789
A | 알파벳 대문자 | ABCDEFGHIJKLMNOPQRSTUVWXYZ
a | 알파벳 소문자 | abcdefghijklmnopqrstuvwxyz
H | 16진수, 알파벳 대문자 및 숫자 | 0123456789ABCDEF
h | 16진수, 알파벳 소문자 및 숫자 | 0123456789abcdef
O | 8진수 | 01234567

필드 문자열 예 1

필드 문자열이 **********AN인 경우, 첫 10개 필드 문자열 위치에서 해당 글꼴로된 모든 문자가 유효합니다. 하지만 11번째 위치에서는 판독 중 알파벳 대문자 입력값만 고려 대상이 됩니다. 또, 12번째 위치에서는 숫자 입력값만 고려 대상입니다.

필드 문자열 예 2

글꼴에 숫자 입력값 0-9와 /만 포함됩니다. 필드 문자열이 NN/NN/NN인 경우, 첫 번째와 두 번째, 네 번째와 다섯 번째, 일곱 번째와 여덟 번째 위치에서 숫자 입력값만 간주 대상이 됩니다. 또, 세 번째와 여섯 번째 위치에서는 포워드 슬래시(/)만 고려 대상이 됩니다.

하지만 필드 문자열이 NN/NN/AA인 경우, 글꼴에 알파벳 문자 입력값이 전혀 포함되어 있지 않기 때문에 판독 결과 #오류가 반환됩니다.

#### 필드 정의

선택 사항으로, 필드 정의 설정을 사용해 필드 문자열에 대해 사용자 정의 입력값을 생성할 수 있습니다. 이러한 입력값들이 필드 문자열에 포함될 경우, 삽입되는 위치에서 유효한 문자 목록을 제한하게 됩니다. 사전 정의된 필드 정의에는 여러 가지가 있으며, 여기에 사용자 정의 필드 정의를 추가할 수 있습니다. 사전 정의된 정의들은 회색 텍스트로 표시되며, 활성화 또는 비활성화만 가능하지 삭제나 변경은 불가능합니다. 사용자 정의 정의들은 검정 텍스트로 표시되며, 추가, 삭제 또는 변경이 가능합니다. 필드 정의를 추가하려면 새로 추가 버튼을 누른 다음, 해당 문자에 대한 아이콘을 배정하고 해당 문자에 정의를 배정하면 됩니다.

참고 :

- 사용자 정의 정의의 수는 OCRMax 함수의 식 길이(249)에 의해 제한됩니다.
- OCRMax 속성 시트를 닫을 때 비활성화된 사용자 정의 정의는 모두 제거되며 함수의 속성 시트를 다시 열 때 사용할 수 없습니다.
- 일반 탭의 필드 정의 매개 변수가 셀 참조로 정의된 경우 필드 정의 옵션의 필딩 탭이 비활성화되고 셀 참조의 현재 값이 표시됩니다.

필드 정의 입력값 목록의 문자들은 해당 글꼴에 포함되어 있어야 합니다. 예: 1, 2, 3이 사용자 정의 트레이닝 글꼴에 포함된 경우 #=123은 유효합니다. 1, 2, 3이 해당 글꼴에 포함되어 있지 않은 경우 #=123은 유효하지 않습니다.

참고 : 필드 정의 매개 변수에 사정 정의된 입력값(*, A, a, N, H, h, O) 중 하나를 사용할 경우, 새 정의 내 유효 문자 목록이 다시 매핑됩니다.

필드 정의 예 1

필드 정의 값이 #=123;$=3456;%=789이고 필드 문자열이 #$%********인 경우 첫 번째 위치의 유효한 문자는 1, 2, 3입니다. 두 번째 위치의 유효한 문자는 3, 4, 5, 6입니다. 세 번째 위치에서는 7, 8, 9만 유효합니다. 네 번째부터 열 번째 위치까지는 해당 글꼴 내 모든 문자가 유효합니다.

필드 정의 예 2

필드 정의의 값이 #=123;$=3456;%=789, A=A이고 필드 문자열이 #$%******A인 경우 첫 번째 위치에서 유효한 문자는 1, 2, 3 중 하나입니다. 두 번째 위치의 유효한 문자는 3, 4, 5, 6입니다. 세 번째 위치에서는 7, 8, 9만 유효합니다. 네 번째부터 아홉 번째 위치까지는 해당 글꼴 내 모든 문자가 유효합니다. 또, 필드 정의 A=A가 사전 정의된 필드 문자열 입력값을 재매핑하기 때문에 열 번째 위치에서는 A 문자만 고려 대상이 됩니다.

#### 필드 문자열 매개 변수

- 필드 문자열의 문자에 대해서만 일치: 함수가 필드 문자열에 지정된 문자에 대해서만 문자를 일치시킬지 여부를 지정합니다.

참고 : 검사 모드가 읽기/확인으로 설정된 경우 이 매개 변수는 일치 문자열 매개 변수에 지정된 텍스트 문자열을 대상으로 합니다.

- 가변 길이 문자열: 정의된 필드 문자열이 읽은 전체 텍스트 문자열의 하위 문자열일 수 있는지 여부를 지정합니다. 하위 문자열이 있으면 최고로 일치하는 하위 문자열을 반환합니다.

참고 : 외부 설정 매개 변수가 OCRMaxSettings 함수에 대한 참조로 설정된 경우, 필드 문자열의 문자에 대해서만 일치 및 가변 길이 문자열 매개 변수가 비활성화됩니다.

- 최소 길이: 가변 길이 문자열 매개 변수가 활성화된 경우 이 매개 변수는 허용되는 최소 문자열 길이를 지정합니다 (0 - 100, 기본값 = 1).
- 최대 길이: 가변 길이 문자열 매개 변수가 활성화된 경우 이 매개 변수는 허용되는 최대 문자열 길이를 지정합니다 (0 - 100, 기본값 = 100).
- 최대 시작 인덱스: 가변 길이 문자열 매개 변수가 활성화된 경우 이 매개 변수는 고려할 필딩 순서를 정의하며, 이 순서는 반드시 이 인덱스 값을 초과하지 않는 위치에서 시작해야 합니다(0 - 100, 기본값 = 100).
- 최소 종료 인덱스: 가변 길이 문자열 매개 변수가 활성화된 경우 이 매개 변수는 고려할 필딩 순서를 정의하며, 이 순서는 반드시 이 인덱스 값보다 작지 않는 위치에서 시작해야 합니다(0 - 100, 기본값 = 0).