텍스트 및 일상 도구 · 텍스트 도구 키트
전각 구두점: 。 및 !가 문장 대소문자 계산에 중요한 이유
· 배경
텍스트 도구 유니코드 cjk 구두점
전각 및 표의 문자 구두점이 무엇인지, CJK 텍스트에서 이를 사용하는 이유, ASCII 마침표만 아는 문장 대소문자 변환기 또는 문장 카운터가 이중 언어 텍스트를 잘못 가져오는 이유를 설명합니다.
일본어 단락은 하나의 문장으로 계산됩니다. ASCII 전용 도구가 。 및 !를 완전히 놓치는 방법
`Release ready. 次の版です。確認してください!`을 ASCII 마침표만 인식하는 카운터에 붙여넣으면 일본어 부분이 하나의 긴 나머지 부분으로 흡수될 수 있습니다. 눈에 보이는 표시는 장식적인 변형이 아닙니다. 독자가 사용하는 경계이므로 무시하면 오해의 소지가 있는 문장이 생성됩니다.
ToolAcre는 문장 일치 세트에 `.`, `!`, `?`, `。`, `!` 및 `?`를 포함합니다. 이는 특정 ASCII 전용 오류를 수정하지만 카운터를 일본어 파서로 만들지는 않습니다. 결과는 여전히 인식된 구두점으로 나누어진 일련의 텍스트에서 나오며, 생각이 끝나는 위치를 결정하는 문법 모델은 없습니다.
반자 및 전자 - 고정 피치 CJK 조판의 유산과 이를 전달하는 유니코드 블록
"전폭"은 고정 너비 동아시아 레이아웃에서 표의 문자 셀과 관련된 너비를 차지하도록 설계된 문자를 설명합니다. 유니코드는 `!` 및 `?`과 같은 호환성 형식을 유지하는 반면, 일본어는 `。` 및 `、`을 포함한 표의 문자 구두점도 사용합니다. 유사한 모양이 동일한 코드 포인트나 상호 교환 가능한 의미를 의미하지는 않습니다.
유니코드 표준은 Halfwidth 및 Fullwidth Forms 블록에 전폭 ASCII 변형을 배치하는 반면, U+3002 IDEOGRAPHIC FULL STOP 및 U+3001 IDEOGRAPHIC COMMA는 CJK 기호 및 구두점에 속합니다. 이러한 구별은 소프트웨어에 중요합니다. 정규식은 인식하려는 실제 문자의 이름을 지정하거나 분류해야 합니다.
표의 문자 마침표 및 관련 기호 — 。、!? 및 전각 형태의 ASCII 구두점
`。`는 일반적으로 일본어 문장을 닫고, `、`은 내용을 하나의 문장으로 분리하고, `!?`는 현대 카피에 익숙한 질문과 느낌표 형식을 제공합니다. 전폭 `!` 및 `?`는 시각적으로 ASCII 표시의 넓은 버전에 해당합니다. 단지 편집기가 비슷한 크기로 표시하기 때문에 자동으로 변환되지는 않습니다.
ToolAcre는 `。!?`을 문장 종결자로 처리하지만 `、`은 처리하지 않습니다. 이는 좁은 계산 규칙에 적합합니다. 반복되는 종결자는 하나의 일치 실행으로 이전 텍스트와 함께 사용되므로 `本当!?`는 두 문장이 아닌 한 문장을 제공합니다. 인용문, 괄호 및 편집 규칙에는 별도의 언어적 해석이 적용되지 않습니다.
문장 인식 변환에 필요한 것 — 대문자로 시작하거나 계산하기 전에 스크립트 전체에서 문장 끝을 인식하는 것
문장 케이스는 먼저 전체 입력을 소문자로 변환합니다. 그런 다음 시작 부분에 소문자를 대문자로 표시하거나, 해당 종결자 뒤에 공백이 있는 경우에만 6개의 인식된 종결자 중 하나 뒤를 대문자로 표시합니다. 따라서 `hello。 world`은 `Hello。 World`이 되고, `hello。world`는 두 번째 영어 단어를 소문자로 남겨둡니다.
해당 공백 조건은 끝을 인식하는 것만으로도 충분하다는 개요의 광범위한 주장을 수정합니다. 일본어는 일반적으로 `。` 바로 뒤에 공백 없이 다음 문장을 시작하며, 일본어 문자에는 일반적으로 대문자가 없습니다. 혼합 사본에서는 편집 스타일이 필요할 때만 공백을 추가하십시오. 단순히 전환을 유도하기 위해 삽입하지 마십시오.
이 문장-대소문자 변환이 실제로 인식하는 것: 종결자 뒤에 공백이 옵니다.
단어 숫자는 공백으로 구분된 실행을 사용합니다. 따라서 공백이 없는 일본어 구절은 독자가 많은 어휘 단위를 식별하더라도 하나의 "단어"로 간주될 수 있습니다. 반대로, 공백 없이 구두점을 사용하면 실행이 분할되지 않습니다. 이 정의에서는 `end,start`가 한 단어입니다. 숫자는 언어 인식 토큰 개수가 아닌 기계적 숫자입니다.
문장 계산도 구두점을 기반으로 합니다. `Dr. Smith`의 마침표는 추가 문장을 만들 수 있는 반면, 구두점 없는 줄 바꿈은 새로운 문장 경계를 만들지 않습니다. 카운터는 CJK 종료 기호와 반복 표시를 인식하지만 인용, 약어, 줄임표 및 잘못된 구두점으로 인해 여전히 편집자의 판단과 출력이 다를 수 있습니다.
공백, 단어 및 구두점 기반 개수: 명시적인 제한이 있는 유용한 숫자
텍스트 도구 키트에서 `LAUNCH READY. 次の版です。 check names! FINAL PASS?`을 사용해 보세요. 문장 케이스는 `Launch ready. 次の版です。 Check names! Final pass?`을 생성합니다. 모든 케이스 텍스트가 먼저 낮아진 다음 종결자 및 공백 경계 뒤의 시작 문자가 올라갑니다. 일본어 텍스트는 대소문자 구분이 없기 때문에 시각적으로 변경되지 않습니다.
결과 옆의 통계를 평결이 아닌 정의로 읽어보세요. 샘플에는 구두점으로 구분된 4개의 문장이 있으며, 전체 단어는 일본어 형태가 아닌 공백으로 구분된 5개의 덩어리를 따릅니다. 문자 총계는 `Intl.Segmenter`을 사용할 수 있는 문자소 클러스터를 사용하며, 공백 없는 총계는 다시 계산하기 전에 유니코드 공백을 제거합니다.
실제 예: 언어 분석을 가정하는 대신 변환 및 모든 개수를 검사합니다.
이 동작은 문장 부호가 나타날 수 있는 위치에 대한 일본어 줄 바꿈 규칙, 세로 구성, 루비 주석 또는 금칙 쇼리 제한을 구현하지 않습니다. 또한 반자 및 전자 문자를 정규화하지 않습니다. 출판 시 타이포그래피 검사가 필요한 경우 텍스트 변환 후 명시적인 일본어 지원이 포함된 편집기나 레이아웃 시스템을 사용하십시오.
로캘별 대소문자 구분도 약속 범위를 벗어났습니다. 변환기는 기본 JavaScript 유니코드 매핑, 소문자 고유 명사 및 두문자어를 사용하며 공백이 뒤에 오면 약어 경계를 문장 경계로 착각할 수 있습니다. 실행 취소가 가능하지만 이름, 브랜드 대문자 사용 및 이중 언어 스타일 결정에는 여전히 편집 검토가 필요합니다.
요점 — Text Toolkit의 Sentence 케이스는 전각 CJK 문장 끝을 인식하므로 이중 언어 사본이 절반만 처리되는 것이 아니라 처리됩니다.
코드는 시각적 의도가 아닌 문자를 확인하므로 전자 구두점이 중요합니다. ToolAcre는 구두점 기반 문장 일치자에 `。!?`을 명시적으로 포함하므로 영어-일본어 혼합 복사본은 ASCII 결말로 제한되지 않습니다. 문장의 경우 규칙은 더 좁습니다. 대문자는 시작 부분이나 인식된 종결자 뒤에 공백이 뒤따르는 경우에만 발생합니다.
텍스트 도구 키트를 사용하여 해당 규칙을 신속하게 공개한 다음 각 그림을 맥락에 맞게 해석하십시오. 문장 전체는 구분 기호 추정이고, 단어는 공백으로 구분된 실행이며, 문자는 브라우저 지원이 허용되는 경우 독자가 인식하는 문자소입니다. 이러한 투명한 제한으로 인해 컴팩트 브라우저 기능이 전체 언어 분석을 수행하는 것처럼 가장하지 않고도 출력이 유용해집니다.