Lobsters

Unicode 18.0.0

Unicode 18.0.0 — 13,007자 추가, Jurchen·Seal·Proto-Cuneiform 세 개의 새 문자 체계 수록

Unicode Consortium이 Unicode Standard 18.0.0의 베타 리뷰 페이지를 공개했습니다. 13,007자가 추가되어 총 172,808자가 되며, Jurchen(여진), Seal(소전), Proto-Cuneiform 숫자라는 세 개의 새 스크립트가 수록됩니다. 줄바꿈·그래핌 클러스터 규칙 수정과 Unihan 프로퍼티 개편 등 구현체 마이그레이션에 영향을 주는 변경도 다수 포함되어 있습니다.

본문

Unicode Consortium이 Unicode Standard Version 18.0.0의 요약 페이지를 공개했습니다. 현재 베타 리뷰(beta review) 기간 중인 예비 초안 상태로, 일부 세부 사항이 빠져 있거나 링크가 깨져 있을 수 있으며 이 기간 동안 오류 피드백을 받고 있습니다. 이번 버전은 13,007자를 새로 추가해 총 문자 수가 172,808자가 되며, 이전 모든 버전의 Unicode Standard를 대체합니다. 버전 표기는 'Version 18.0.0'이 정식이며 'Unicode 18.0'은 약칭으로, ISBN 978-1-936213-36-8로 2026년 발행본이 인용 기준입니다.

새 스크립트와 새 블록

이번 릴리스에는 세 개의 새 스크립트가 인코딩됩니다. Jurchen과 Seal(= 'Small Seal', 소전)은 대규모 표의 문자 체계이고, Proto-Cuneiform(원시 쐐기문자)은 이번 버전에서는 고대 숫자(archaic numerals)만 수록되며 비숫자 부호의 인코딩은 향후 버전에서 이루어질 예정입니다. 새로 정의된 블록은 Bengali Supplement(11DF0..11DFF), Archaic Cuneiform Numerals(12550..1268F), Jurchen(18E00..1919F), Jurchen Radicals(191A0..191DF), Musical Symbols Supplement(1D250..1D28F), Miscellaneous Symbols and Arrows Extended(1DB00..1DBFF), Seal(3D000..3FC3F)의 일곱 개입니다. 특히 Seal 스크립트는 블록명과 Script 프로퍼티 값이 'Seal'인 반면 코드 차트 헤더와 코어 스펙 문서에서는 'Small Seal'을 사용하는데, 이는 의도된 것이며 불일치로 보고할 대상이 아니라고 명시되어 있습니다. JurchenSources.txt와 SealSources.txt라는 두 개의 새 UCD 데이터 파일이 추가되었고, 후자에는 kSEAL_THXSrc, kSEAL_CCZSrc, kSEAL_DYCSrc, kSEAL_QJZSrc라는 네 개의 신규 규범(normative) 프로퍼티가 포함됩니다.

구현에 영향을 주는 UAX·UTS 변경

UAX #14(줄바꿈 알고리즘)에서는 규칙 LB12a가 BA와 GL 사이의 분리를 허용하지 않도록 변경되었고, FIGURE DASH와 EN DASH의 Line_Break 값이 HH에서 BA로, SOFT HYPHEN은 BA에서 HH로 바뀌었습니다. 이는 Unicode 5.1에서 도입된, NO-BREAK SPACE로 앞 텍스트와 떼어놓은 EN DASH의 동작 회귀를 수정하는 변경입니다. UAX #29(텍스트 분할)에서는 Indic 연자(conjunct)를 묶는 그래핌 클러스터 규칙 GB9c에서 linker 앞의 문맥 요구 조건이 제거되어 Balinese의 클러스터 분리가 개선되었고, Indic_Conjunct_Break의 산출 방식이 Script 대신 Script_Extensions를 사용하도록 바뀌어 Bengali가 개선되었으며 Unicode 17.0에서 발생한 Zanabazar Square 관련 회귀도 수정되었습니다.

UAX #38(Unihan)에는 잠정 프로퍼티 kJapaneseNewVariant와 kJapaneseOldVariant가 추가되고 kIRGDaeJaweon과 kIRGKangXi가 제거되었으며, 23개 프로퍼티의 구분자와 여러 프로퍼티의 문법·설명이 갱신되었습니다. CJK Unified Ideographs Extension D에는 U+2B81E가 추가되어 할당 범위가 U+2B81D에서 U+2B81E로 확장되었으므로, 한자 통합 표의 문자 범위를 하드코딩한 구현체는 반드시 갱신해야 합니다. 이번에 신설된 UAX #60 'Data for East Asian Scripts'는 Seal, Jurchen, Nushu, Tangut 같은 대형 동아시아 스크립트의 데이터 파일을 문서화하며, UAX #44에도 관련 섹션이 추가되었습니다.

UTS #10(Unicode Collation Algorithm)에서는 Jurchen과 Small Seal이 암묵 가중치(implicit weights) 계산 테이블에 추가되고, DUCET에 누락됐던 Tibetan 축약이 보완되었으며, U+FFFE·U+FFFF의 매핑과 동작에 대한 논의가 추가되고 Shift-Trimmed 옵션이 제거되었습니다. UTS #39(보안 메커니즘)는 'nonspacing mark' 용어를 명확히 했고, confusables.txt에서는 NFD 형태로 절대 나타나지 않아 Confusable Detection 알고리즘에서 한 번도 사용되지 않던 행들이 대량 제거되었습니다. 혼동 문자 데이터에는 공개 기여 백로그가 반영되었는데 Identifier_Status=Allowed인 쪽을 포함하는 쌍에 중점을 두었다고 합니다. IdentifierType.txt는 값별 그룹핑 대신 코드포인트 순서로 정렬되도록 바뀌었습니다. UAX #31은 새 스크립트들을 Table 4의 Excluded Scripts에 추가했고, ID_Compat_Math_Start·ID_Compat_Math_Continue에는 새 프로퍼티 안정성 정책이 적용되었습니다.

마이그레이션 유의점과 기타 변경

적합성(conformance) 섹션은 variation selector와 variation sequence의 사용에 관한 정의와 요구사항이 개정되었는데, 기존 문안이 불명확했던 부분을 코어 스펙 3.6.2절 중심으로(5.20절, 23.4절 관련 변경 포함) 정리한 것입니다. 표준화 variation sequence는 CJK 획 17개, 수학 연산자와 script small z 관련 10개가 추가되었고, Mongolian의 표준화 variation sequence는 중국 표준과 동기화되도록 대폭 변경되었습니다(UTN #57 참조). UCD의 Index.txt는 18.0에서 갱신되지 않아 17.0과 동일하며, 폐기 예정으로 19.0에서 완전히 제거됩니다. 수동 큐레이션 인덱스는 names list 기반 검색 도구로 대체되었습니다. /Public/18.0.0/ 디렉터리에는 UTS #58 데이터를 담은 linkification 하위 디렉터리가 생겼고, charts 디렉터리는 버전별 블록 차트와 보조 차트를 모두 포함하도록 확장되었습니다. RSIndex.txt는 세미콜론 구분 문법으로 변경되었고, 코드 차트 폰트는 Armenian이 Noto Serif Armenian으로, Khitan Small Script가 Khitan Small Linear로 교체되었으며 U+06C4 ARABIC LETTER WAW WITH RING의 글리프가 수정되는 등 여러 글리프 갱신이 있습니다.

Lobsters 반응

원문: Lobsters / 번역·요약: Trawling