FreeBSD가 문자 세트 정렬 순서를 정의하는 영역 파일(LC_COLLATE/locale/colldef)을 생성하는 방법

FreeBSD가 문자 세트 정렬 순서를 정의하는 영역 파일(LC_COLLATE/locale/colldef)을 생성하는 방법

부인 성명:나는 이것이 잘 알려지지 않은 고급 기술이며 내 시스템을 폭파하거나 개구리 비를 일으키거나 알 수 없는 이상하고 예측할 수 없는 부작용을 일으킬 수 있다는 것을 알고 있습니다. 어쨌든 도와주세요: ) 누구도 붙잡지 않겠다고 약속합니다. 책임 :)

간단한 버전에서는 밑줄이 대문자/소문자 사이가 아닌 알파벳 순으로 문자와 숫자 앞에 오도록 FreeBSD 서버의 문자 세트 정렬 순서를 수정하고 싶습니다(밑줄은 ASCII/유니코드에서 "XYZ" 앞에 오고 " 및 "abc ").

그 이유는 제가 약 20년 동안 모든 파일과 디렉토리를 함께 보관해왔기 때문입니다. 시작 부분에 다양한 수의 밑줄이 있는 "중요" 문자는 Windows 및 그 이전 버전(적어도 유니코드가 아닌 순서 기호 -> 숫자 -> 문자)에서 목록의 맨 위에 있도록 강제합니다. 이런 상황에서 지금 최하위권에 있다는 것은 매우 불안한 ​​일이다. 당황스럽게도 저는 FreeBSD 서버의 문자 세트 정렬 순서를 약간 변경하여 영숫자 뒤가 아닌 앞에 밑줄을 가져오고 싶었습니다.

이를 기반으로 하는 시스템이나 공용 소프트웨어에는 (특히 다른 언어는 정렬 순서가 다르기 때문에) 중요한 것이 없다고 생각하며, 다른 문자 순서를 변경할 필요도 없습니다.

FreeBSD 소스 코드 주석을 살펴보았고 LC_COLLATE필요한 파일이 Unicode Inc(또한 수정되었을 수도 있음)의 데이터를 기반으로 하는 FreeBSD 소스 코드의 도구나 FreeBSD 소스 코드의 다른 제어 파일에 의해 생성된 것을 발견했습니다. 향상시키다.localecolldefman colldef

사람이 읽을 수 있는 표준 정의를 사용자 정의한 다음 빌드 도구를 사용하여 모든 기존 파일을 복사하지만 데이터 정렬 정의에 대한 변경 사항을 포함하는 사용자 정의 로케일을 구축하는 작업이 포함됩니다.

나는 지금까지 이 지점을 넘지 않았으며 FreeBSD의 빌드 시스템이 실행 중인 로케일 문자 집합 정렬에 사용되는 최종 조합 정의 데이터 파일과 관련된 사람이 편집할 수 있는 소스 파일에서 가져오는 프로세스에 대한 명확한 이해를 얻고 싶습니다. 시스템/비교 기능. 구체적으로 이를 수행하려면 어떤 단계를 수행해야 합니까?

부수적으로, 이 일을 통해 많은 것을 배울 수 있기를 바랍니다. 하지만 가장 중요한 것은 제가 밑줄을 긋는 부분이 제가 매우 익숙한 곳에 있었으면 좋겠습니다...

관련 정보