Văn bản & công cụ hàng ngày · Bộ công cụ văn bản
Dấu câu có độ rộng tối đa: tại sao 。 và ! lại quan trọng đối với trường hợp câu và cách đếm
· Lý lịch
text-tools unicode cjk-punctuation
Giải thích dấu câu có độ rộng đầy đủ và chữ tượng hình là gì, tại sao văn bản CJK sử dụng chúng và tại sao trình chuyển đổi dạng câu hoặc bộ đếm câu chỉ biết ASCII dấu chấm đầy đủ lại bị sai văn bản song ngữ.
Đoạn tiếng Nhật được tính là một câu — tại sao các công cụ chỉ có ASCII bỏ sót 。 và ! hoàn toàn
Dán `Release ready. 次の版です。確認してください!` vào bộ đếm chỉ nhận ra dấu chấm ASCII và phần tiếng Nhật có thể được gộp vào một phần còn lại dài. Các dấu hiệu nhìn thấy được không phải là các biến thể mang tính trang trí: chúng là ranh giới mà người đọc sử dụng, vì vậy việc bỏ qua chúng sẽ tạo ra một tổng thể câu sai lệch.
ToolAcre bao gồm `.`, `!`, `?`, `。`, `!` và `?` trong tập hợp câu của nó. Điều đó khắc phục được lỗi chỉ ASCII cụ thể, nhưng nó không làm cho bộ đếm trở thành trình phân tích cú pháp tiếng Nhật. Kết quả vẫn đến từ các dòng văn bản được chia theo dấu câu được nhận dạng, không có mô hình ngữ pháp nào quyết định nơi kết thúc của một ý nghĩ.
Nửa chiều rộng và toàn bộ chiều rộng - kế thừa của kiểu sắp chữ có độ rộng cố định CJK và các khối Unicode mang nó
“Chiều rộng đầy đủ” mô tả các ký tự được thiết kế để chiếm chiều rộng liên kết với một ô chữ tượng hình trong bố cục Đông Á có chiều rộng cố định. Unicode duy trì các dạng tương thích như `!` và `?`, trong khi tiếng Nhật cũng sử dụng dấu câu tượng hình bao gồm `。` và `、`. Hình thức tương tự không có nghĩa là các điểm mã giống hệt nhau hoặc ngữ nghĩa có thể hoán đổi cho nhau.
Tiêu chuẩn Unicode đặt các biến thể băng thông đầy đủ ASCII trong khối Biểu mẫu nửa băng thông và Toàn băng thông, trong khi U+3002 IDEOGRAPHIC FULL STOP và U+3001 IDEOGRAPHIC COMMA thuộc về CJK Ký hiệu và Dấu câu. Sự khác biệt đó rất quan trọng đối với phần mềm: một biểu thức chính quy phải đặt tên hoặc phân loại các ký tự thực tế mà nó dự định nhận dạng.
Dấu chấm tượng hình và họ hàng của nó — 。、!? và dạng có độ rộng đầy đủ của dấu câu ASCII
`。` thường đóng một câu tiếng Nhật, `、` tách nội dung thành một câu và `!?` cung cấp các dạng câu hỏi và câu cảm thán quen thuộc trong bản sao hiện đại. Độ rộng đầy đủ `!` và `?` tương ứng trực quan với các phiên bản rộng của nhãn ASCII; chúng không được chuyển đổi tự động chỉ vì trình chỉnh sửa hiển thị chúng ở kích thước tương tự.
ToolAcre coi `。!?` là dấu kết thúc câu chứ không phải `、`, điều này phù hợp với quy tắc đếm hẹp của nó. Các dấu kết thúc lặp lại được sử dụng cùng với văn bản trước dưới dạng một lần chạy khớp, vì vậy `本当!?` đóng góp một câu thay vì hai câu. Các trích dẫn, dấu ngoặc đơn và quy ước biên tập không được giải thích bằng ngôn ngữ riêng biệt.
Những gì một biến đổi nhận biết câu cần - nhận dạng các đầu câu trong các tập lệnh trước khi viết hoa hoặc đếm
Trường hợp câu đầu tiên chuyển đổi chữ thường toàn bộ đầu vào. Sau đó, nó chỉ viết hoa một chữ cái viết thường ở đầu hoặc sau một trong sáu dấu kết thúc được nhận dạng khi dấu kết thúc đó được theo sau bởi khoảng trắng. Do đó, `hello。 world` trở thành `Hello。 World`, trong khi `hello。world` để lại từ tiếng Anh thứ hai viết thường.
Điều kiện khoảng trắng đó sửa lại tuyên bố rộng hơn của dàn ý rằng việc nhận ra phần kết thúc là đủ. Tiếng Nhật thường bắt đầu câu tiếp theo ngay sau `。`, không có dấu cách và các ký tự tiếng Nhật thường không có dạng chữ hoa. Trong bản sao hỗn hợp, chỉ thêm khoảng trắng khi phong cách biên tập yêu cầu; đừng chèn nó chỉ để thúc đẩy chuyển đổi.
Biến đổi câu-trường hợp này thực sự nhận ra điều gì: dấu kết thúc theo sau là khoảng trắng
Hình từ sử dụng các đường chạy được phân tách bằng khoảng trắng. Do đó, một đoạn văn tiếng Nhật không có dấu cách có thể được tính là một “từ” ngay cả khi người đọc xác định được nhiều đơn vị từ vựng. Ngược lại, dấu câu không có khoảng trắng xung quanh sẽ không phân chia một dòng: `end,start` là một từ trong định nghĩa này. Con số này là cơ học, không phải là số lượng mã thông báo nhận biết ngôn ngữ.
Việc đếm câu cũng dựa trên dấu câu. Dấu chấm hoàn toàn trong `Dr. Smith` có thể tạo thêm một câu, trong khi dấu ngắt dòng không dấu câu sẽ không tạo ra ranh giới câu mới. Bộ đếm nhận ra CJK dấu kết thúc và dấu lặp lại, nhưng các trích dẫn, chữ viết tắt, dấu chấm lửng và dấu câu không đúng định dạng vẫn có thể khiến kết quả đầu ra của nó khác với đánh giá của người biên tập.
Dấu cách, từ và số lượng dựa trên dấu câu: số liệu hữu ích với giới hạn rõ ràng
Hãy thử `LAUNCH READY. 次の版です。 check names! FINAL PASS?` trong Bộ công cụ văn bản. Trường hợp câu tạo ra `Launch ready. 次の版です。 Check names! Final pass?`: tất cả văn bản viết hoa được hạ xuống trước tiên, sau đó các chữ cái mở đầu sau ranh giới dấu kết thúc cộng dấu cách được nâng lên. Văn bản tiếng Nhật vẫn không thay đổi về mặt hình ảnh vì nó không có sự phân biệt chữ hoa chữ thường.
Đọc số liệu thống kê bên cạnh kết quả đó dưới dạng định nghĩa chứ không phải phán quyết. Mẫu có bốn dòng câu được phân cách bằng dấu câu, trong khi tổng số từ của nó tuân theo năm đoạn được phân tách bằng khoảng trắng thay vì hình thái tiếng Nhật. Tổng số ký tự sử dụng các cụm biểu đồ trong đó `Intl.Segmenter` có sẵn và tổng số không có dấu cách sẽ xóa khoảng trắng Unicode trước khi kể lại.
Ví dụ hoạt động: kiểm tra phép biến đổi và mọi số đếm thay vì giả định phân tích ngôn ngữ
Hành vi này không thực hiện các quy tắc ngắt dòng, bố cục dọc, chú thích ruby hoặc hạn chế kinsoku shori của Nhật Bản về nơi dấu câu có thể xuất hiện. Nó cũng không bình thường hóa các ký tự nửa băng thông và toàn băng thông. Nếu việc xuất bản yêu cầu kiểm tra kiểu chữ, hãy sử dụng trình soạn thảo hoặc hệ thống bố cục có hỗ trợ tiếng Nhật rõ ràng sau khi chuyển đổi văn bản.
Vỏ dành riêng cho địa phương cũng nằm ngoài lời hứa. Trình chuyển đổi sử dụng ánh xạ Unicode JavaScript mặc định, danh từ riêng và từ viết tắt viết thường, đồng thời có thể nhầm ranh giới viết tắt với ranh giới câu khi có khoảng trắng theo sau nó. Tính năng hoàn tác có sẵn nhưng việc xem xét biên tập vẫn cần thiết đối với các quyết định về tên, cách viết hoa thương hiệu và phong cách song ngữ.
Bài học rút ra — trường hợp Câu của Bộ công cụ Văn bản nhận dạng kết thúc câu CJK có độ rộng đầy đủ, do đó bản sao song ngữ được xử lý thay vì xử lý một nửa
Dấu câu có độ rộng đầy đủ rất quan trọng vì mã nhìn thấy các ký tự chứ không phải ý định trực quan. ToolAcre bao gồm rõ ràng `。!?` trong trình so khớp câu dựa trên dấu câu, vì vậy bản sao hỗn hợp Anh-Nhật không bị giới hạn ở phần cuối ASCII. Quy tắc viết hoa trong câu của nó hẹp hơn: viết hoa chỉ xảy ra ở đầu hoặc sau dấu kết thúc được nhận dạng, theo sau là khoảng trắng.
Sử dụng Bộ công cụ văn bản để hiển thị các quy tắc đó một cách nhanh chóng, sau đó diễn giải từng hình trong ngữ cảnh. Tổng số câu là ước tính dấu phân cách, các từ là các dòng được phân tách bằng khoảng trắng và các ký tự là biểu đồ do người đọc nhận biết khi hỗ trợ trình duyệt cho phép. Những hạn chế rõ ràng đó làm cho kết quả đầu ra trở nên hữu ích mà không cần giả vờ rằng một chức năng trình duyệt nhỏ gọn thực hiện phân tích ngôn ngữ đầy đủ.