COLLDEF(1)

명칭
colldef - 조합 시퀀스의 소스 정의를 변환한다

서식
colldef [-I map_dir] [-o out_file] [filename]

해설
colldef 유틸리티는, 조합 시퀀스의 소스 정의를 strxfrm() (와)과 strcoll() 함수로 사용할 수 있는 포맷으로 변환합니다. 즉, 캐릭터 라인을 정렬나 조합으로 오도록(듯이) 하는 여러가지 방법을 정의하기 위해서 사용됩니다. strxfrm() (은)는, 그 제일 인수를 변환해 제2 인수의 결과에 옮겨놓습니다. 변환된 캐릭터 라인은, strcmp(), strncmp(), memcmp() (을)를 사용해 다른 변환된 캐릭터 라인과 비교해 올바르게 정렬 할 수 있게 됩니다. strcoll() (은)는 그 인수를 변환해, 비교를 행합니다.

colldef 유틸리티는, 표준 입력으로부터 조합 시퀀스 소스 정의를 읽어들여, 변환된 정의를 filename 에 격납합니다. 생성되는 출력 파일의 내용은, 시스템 명령나 시스템 routine가 사용할 수 있는 형식의 조합 시퀀스 정보를 가지는 데이타베이스입니다.

옵션 리스트:

-I map_dir
    이 옵션은 charmap 파일을 찾는 디렉토리명을 설정합니다. 디폴트로 커런트 디렉토리입니다.

-o out_file
    출력 파일명을 설정합니다. 디폴트로 LC_COLLATE (이)가 됩니다.

조합 시퀀스 정의는, 조합 요소 집합, 및 이것을 포함한 캐릭터 라인을 어떻게 순서 붙이는지를 정의하는 규칙을 지정합니다 이것은 다른 언어 정의에 가장 편리합니다.

지정 파일은 다음의 세 개의 스테이트먼트로부터 완성됩니다: charmap, substitute, order

이 안에서 order 스테이트먼트만이 필수입니다. charmap (이)나 substitute 하지만 주어졌을 때는, 스테이트먼트의 순서는 위와 같게 되지 않으면 되지 않습니다. order 스테이트먼트의 뒤의 스테이트먼트는 무시됩니다.

지정 파일 중(안)에서 # 그리고 시작되는 행은 코멘트와 다루어져 무시됩니다. 공행도 무시됩니다.

charmap charmapfile

charmap (은)는, 캐릭터의 매핑과 실제의 캐릭터 인코딩에의 조합 요소 심볼 하지만 발견되는 장소를 정의합니다.

charmapfile 의 포맷을 이하에 나타냅니다. 심볼명과 그 값은, 탭 또는 공백 캐릭터에 의해 단락지어집니다. symbol-value 는 16 진 (\x??) 또는 8 진 (\???) 표현으로 지정할 수 있어 길이는 한 글자를 의미합니다.

    symbol-name1 symbol-value1
    symbol-name2 symbol-value2
    ...

charmap 스테이트먼트는 옵션지정입니다.

substitute symbol with repl_string

substitute 스테이트먼트는, 캐릭터 symbol (을)를 캐릭터 라인 repl_string 에 옮겨놓습니다.

substitute 스테이트먼트는 옵션지정입니다.

order order_list

order_list (은)는, 세미콜론으로 단락지어진, 조합 시퀀스를 정의한다 심볼의 리스트입니다. 특수 심볼 ... (은)는, 간략한 형태의 기계어순서로 늘어선 심볼을 지정합니다.

order 리스트의 요소는, 다음의 방법 중 어떤 것인가로 표현할 수 있습니다.

•   심볼 자신 (예를 들면, 소문자의 a 하 a (이)라고 씁니다)

•   심볼 체인 (예를 들면, abc)

•   8 진표현 (예를 들면, 캐릭터 a 에는 \141)

•   16 진표현 (예를 들면, 캐릭터 a 에는 \x61)

•   charmap 파일내에서 정의된 심볼명 (예를 들면, charmapfile 의 abc \023 에 대해서 <abc> ). 캐릭터 MAP명이, 캐릭터 > (을)를 가지는 경우는, />, (와)과 같이 이스케이프 되지 않으면 안되어, 캐릭터 / 하 // (와)과 같이 이스케이프 되지 않으면 안됩니다.

•   심볼 \a, \b, \f, \n, \r, \v (은)는, 통상의 C언어의 의미로 사용하는 것이 허락되고 있습니다.

•   심볼의 범위 (예를 들면 a;...;z)

•   콤마 단락의 심볼, 범위, 체인은 괄호로 묶어집니다. (예를 들면 ( sym1, sym2, ... file ...)) (은)는 같은 일차 순서로 할당할 수 있습니다만, 다른 2차 순서가 됩니다.

•   균괄호로 묶어진 콤마 단락의 심볼, 범위, 체인 (예를 들면, { sym1, sym2, ... }) (은)는, 같은 일차 순서인 만큼 할당할 수 있습니다)

backslash 캐릭터 \ (은)는, 행의 계속에 사용됩니다. 이 경우, backslash 캐릭터의 뒤에는 어떤 캐릭터도 쓰여져 되지 않습니다.

진단
colldef 유틸리티는, 다음의 반환값으로 종료합니다.

0   에러가 없고, 출력의 생성에 성공했을 경우

! =0
    에러가 발견되었을 경우

관련 파일
/usr/share/locale/<language>/LC_COLLATE locale의 부하로, locale의 조합 순서를 위한 표준 공유 위치

관련 항목
mklocale(1), setlocale(3), strcoll(3), strxfrm(3)