Español

Texto y herramientas cotidianas · Text Toolkit

Puntuación de ancho completo: por qué 。 y ! son importantes para el caso de la oración y el conteo

· Antecedentes

herramientas de texto Unicode cjk-puntuación

Oraciones en inglés y japonés separadas por ASCII y signos de puntuación de ancho completo
Ilustración de vector original de ToolAcre

Explica qué son la puntuación ideográfica y de ancho completo, por qué el texto CJK las usa y por qué un conversor de oraciones o un contador de oraciones que solo conoce los puntos ASCII obtiene texto bilingüe incorrecto.

El párrafo japonés cuenta como una oración: cómo las herramientas solo ASCII fallan 。 y ! por completo

Pegue `Release ready. 次の版です。確認してください!` en un contador que reconozca solo el punto ASCII y la parte japonesa se puede absorber en un resto largo. Las marcas visibles no son variantes decorativas: son los límites que usan los lectores, por lo que ignorarlas produce una oración total engañosa.

ToolAcre incluye `.`, `!`, `?`, `。`, `!` y `?` en su conjunto de coincidencia de oraciones. Eso soluciona el error específico de solo ASCII, pero no convierte al contador en un analizador japonés. El resultado todavía proviene de series de texto divididas por puntuación reconocida, sin que ningún modelo gramatical decida dónde termina un pensamiento.

Medio ancho y ancho completo: el legado de la composición tipográfica CJK de paso fijo y los bloques Unicode que la conllevan

“Ancho completo” describe caracteres diseñados para ocupar el ancho asociado con una celda ideográfica en un diseño de ancho fijo de Asia Oriental. Unicode conserva formas de compatibilidad como `!` y `?`, mientras que el japonés también usa puntuación ideográfica que incluye `。` y `、`. Una apariencia similar no significa puntos de código idénticos o semánticas intercambiables.

El estándar Unicode coloca variantes ASCII de ancho completo en el bloque Formas de ancho medio y ancho completo, mientras que U+3002 IDEOGRAPHIC FULL STOP y U+3001 IDEOGRAPHIC COMMA pertenecen a Símbolos y puntuación CJK. Esa distinción es importante para el software: una expresión regular debe nombrar o clasificar los caracteres reales que pretende reconocer.

El punto ideográfico y sus parientes — 。、!? y las formas de puntuación ASCII de ancho completo

`。` normalmente cierra una oración japonesa, `、` separa el material dentro de una y `!?` proporciona formas de preguntas y exclamaciones familiares en la copia moderna. Los anchos completos `!` y `?` corresponden visualmente a versiones amplias de marcas ASCII; no se convierten automáticamente simplemente porque un editor los muestra en un tamaño similar.

ToolAcre trata a `。!?` como terminadores de oraciones, pero no a `、`, lo cual es apropiado para su regla de conteo estricta. Los terminadores repetidos se consumen con el texto anterior como una ejecución coincidente, por lo que `本当!?` contribuye con una oración en lugar de dos. Las citas, corchetes y convenciones editoriales no reciben interpretación lingüística separada.

Lo que necesita una transformación que tenga en cuenta las oraciones: reconocer los finales de las oraciones en todos los guiones antes de usar mayúsculas o contar

La transformación de mayúsculas y minúsculas primero pone en minúsculas toda la entrada. Luego, pone en mayúscula una letra minúscula al principio, o después de uno de los seis terminadores reconocidos solo cuando ese terminador va seguido de un espacio en blanco. Por lo tanto, `hello。 world` se convierte en `Hello。 World`, mientras que `hello。world` deja la segunda palabra en inglés en minúsculas.

Esa condición de espacio en blanco corrige la afirmación más amplia del esquema de que reconocer un final es suficiente. El japonés normalmente comienza la siguiente oración inmediatamente después de `。`, sin espacios, y los caracteres japoneses generalmente no tienen mayúsculas de todos modos. En textos mixtos, agregue espacios en blanco sólo cuando el estilo editorial lo requiera; no lo inserte simplemente para impulsar la conversión.

Lo que esta transformación de oración y caso realmente reconoce: un terminador seguido de un espacio en blanco

La palabra figura utiliza ejecuciones separadas por espacios en blanco. Por lo tanto, un pasaje japonés sin espacios puede contar como una “palabra” incluso cuando un lector identifica muchas unidades léxicas. Por el contrario, la puntuación sin espacios en blanco circundantes no divide una ejecución: `end,start` es una palabra según esta definición. El número es mecánico, no un recuento de tokens que tenga en cuenta el idioma.

El recuento de frases también se basa en la puntuación. Un punto en `Dr. Smith` puede crear una oración adicional, mientras que un salto de línea sin puntuación no crea ningún límite de oración nuevo. El contador reconoce terminadores CJK y marcas repetidas, pero las citas, abreviaturas, elipses y puntuación mal formada aún pueden hacer que su resultado difiera del criterio editorial.

Espacios, palabras y recuentos basados en puntuación: cifras útiles con límites explícitos

Pruebe `LAUNCH READY. 次の版です。 check names! FINAL PASS?` en el kit de herramientas de texto. Las mayúsculas y minúsculas de la oración producen `Launch ready. 次の版です。 Check names! Final pass?`: todo el texto en mayúsculas y minúsculas se reduce primero, luego se elevan las letras iniciales después de los límites del terminador más el espacio. El texto japonés permanece visualmente sin cambios porque no hace distinción de casos.

Lea las estadísticas al lado de ese resultado como definiciones, no como veredictos. La muestra tiene cuatro ejecuciones de oraciones delimitadas por puntuación, mientras que el total de palabras sigue los cinco fragmentos separados por espacios en blanco en lugar de la morfología japonesa. Los totales de caracteres utilizan grupos de grafemas donde `Intl.Segmenter` está disponible, y el total sin espacios elimina los espacios en blanco Unicode antes de volver a contar.

Ejemplo resuelto: inspeccionar la transformación y cada recuento en lugar de asumir un análisis lingüístico

Este comportamiento no implementa reglas japonesas de salto de línea, composición vertical, anotaciones Ruby ni restricciones de kinsoku shori sobre dónde puede aparecer la puntuación. Tampoco normaliza los caracteres de ancho medio y ancho completo. Si la publicación requiere controles tipográficos, utilice un editor o sistema de diseño con soporte explícito para el idioma japonés después de la transformación del texto.

Las mayúsculas y minúsculas específicas de la configuración regional también están fuera de la promesa. El convertidor utiliza asignaciones predeterminadas de JavaScript Unicode, nombres propios en minúsculas y acrónimos, y puede confundir un límite de abreviatura con un límite de oración cuando lo sigue un espacio en blanco. Deshacer está disponible, pero la revisión editorial sigue siendo necesaria para los nombres, las mayúsculas de las marcas y las decisiones de estilo bilingüe.

Conclusión: el caso de oraciones del Text Toolkit reconoce los finales de oraciones CJK de ancho completo, por lo que se maneja la copia bilingüe en lugar de manejarla a medias.

La puntuación de ancho completo es importante porque el código ve caracteres, no intenciones visuales. ToolAcre incluye explícitamente `。!?` en su comparador de oraciones basado en puntuación, por lo que la copia mixta inglés-japonés no se limita a terminaciones ASCII. Su regla de caso de oración es más estricta: las mayúsculas ocurren solo al principio o después de un terminador reconocido seguido de espacios en blanco.

Utilice el kit de herramientas de texto para exponer esas reglas rápidamente y luego interprete cada figura en contexto. Los totales de oraciones son estimaciones de delimitadores, las palabras son ejecuciones separadas por espacios en blanco y los caracteres son grafemas percibidos por el lector cuando la compatibilidad del navegador lo permite. Esas limitaciones transparentes hacen que el resultado sea útil sin pretender que una función de navegador compacto realice un análisis lingüístico completo.