Ferramentas de texto e do dia a dia · Kit de ferramentas de texto
Pontuação de largura total: por que 。 e ! são importantes para maiúsculas e minúsculas de frases e contagem
· Fundo
ferramentas de texto Unicode pontuação cjk
Explica o que são pontuação de largura total e ideográfica, por que o texto CJK as utiliza e por que um conversor de caixa-caso ou contador de frase que conhece apenas pontos finais ASCII erra o texto bilíngue.
O parágrafo japonês contava como uma frase — como as ferramentas somente ASCII erram 。 e ! inteiramente
Cole `Release ready. 次の版です。確認してください!` em um contador que reconheça apenas o ponto final ASCII e a parte japonesa pode ser absorvida em um resto longo. As marcas visíveis não são variantes decorativas: são os limites que os leitores usam, portanto, ignorá-las produz uma frase totalmente enganosa.
ToolAcre inclui `.`, `!`, `?`, `。`, `!` e `?` em seu conjunto de correspondência de frases. Isso corrige a falha específica apenas de ASCII, mas não torna o contador um analisador japonês. O resultado ainda vem de trechos de texto divididos por pontuação reconhecida, sem nenhum modelo gramatical decidindo onde termina um pensamento.
Meia largura e largura total - o legado da composição tipográfica CJK de passo fixo e os blocos Unicode que a carregam
“Largura total” descreve caracteres projetados para ocupar a largura associada a uma célula ideográfica em layout de largura fixa do Leste Asiático. Unicode preserva formulários de compatibilidade como `!` e `?`, enquanto o japonês também usa pontuação ideográfica, incluindo `。` e `、`. Aparência semelhante não significa pontos de código idênticos ou semântica intercambiável.
O padrão Unicode coloca variantes de largura total ASCII no bloco Halfwidth e Fullwidth Forms, enquanto U+3002 IDEOGRAPHIC FULL STOP e U+3001 IDEOGRAPHIC COMMA pertencem a CJK Símbolos e pontuação. Essa distinção é importante para o software: uma expressão regular deve nomear ou classificar os caracteres reais que pretende reconhecer.
O ponto final ideográfico e seus parentes - 。、!? e as formas de pontuação ASCII em largura total
`。` normalmente fecha uma frase em japonês, `、` separa o material dentro de uma e `!?` fornece formulários de perguntas e exclamações familiares na cópia moderna. As larguras completas `!` e `?` correspondem visualmente às versões largas das marcas ASCII; eles não são convertidos automaticamente apenas porque um editor os exibe em tamanho semelhante.
ToolAcre trata `。!?` como terminadores de frase, mas não `、`, o que é apropriado para sua regra de contagem restrita. Terminadores repetidos são consumidos com o texto anterior como uma execução correspondente, portanto, `本当!?` contribui com uma frase em vez de duas. Citações, colchetes e convenções editoriais não recebem interpretação linguística separada.
O que uma transformação com reconhecimento de frase precisa - reconhecer o final da frase nos scripts antes de colocar letras maiúsculas ou contar
O caso da frase transforma primeiro em minúsculas toda a entrada. Em seguida, ele coloca uma letra minúscula no início ou após um dos seis terminadores reconhecidos somente quando esse terminador é seguido por um espaço em branco. Portanto, `hello。 world` torna-se `Hello。 World`, enquanto `hello。world` deixa a segunda palavra em inglês em minúscula.
Essa condição de espaço em branco corrige a afirmação mais ampla do esboço de que reconhecer um final é suficiente. O japonês geralmente começa a próxima frase imediatamente após `。`, sem espaço, e os caracteres japoneses geralmente não têm forma maiúscula. Na cópia mista, adicione espaços em branco apenas quando o estilo editorial exigir; não o insira apenas para gerar conversão.
O que esta transformação frase-caso realmente reconhece: um terminador seguido por um espaço em branco
A palavra figura usa execuções separadas por espaços em branco. Uma passagem japonesa sem espaços pode, portanto, contar como uma “palavra”, mesmo quando o leitor identifica muitas unidades lexicais. Por outro lado, a pontuação sem espaços em branco ao redor não divide uma execução: `end,start` é uma palavra nesta definição. O número é mecânico, não uma contagem de tokens com reconhecimento de idioma.
A contagem de frases também é baseada na pontuação. Um ponto final em `Dr. Smith` pode criar uma frase extra, enquanto uma quebra de linha sem pontuação não cria um novo limite de frase. O contador reconhece terminadores CJK e marcas repetidas, mas citações, abreviações, reticências e pontuação malformada ainda podem fazer com que sua saída seja diferente do julgamento editorial.
Espaços, palavras e contagens baseadas em pontuação: figuras úteis com limites explícitos
Experimente `LAUNCH READY. 次の版です。 check names! FINAL PASS?` no Text Toolkit. O caso da frase produz `Launch ready. 次の版です。 Check names! Final pass?`: todo o texto com maiúsculas e minúsculas é omitido primeiro e, em seguida, as letras iniciais após os limites do terminador mais espaço são aumentadas. O texto japonês permanece visualmente inalterado porque não possui distinção de maiúsculas e minúsculas.
Leia as estatísticas ao lado desse resultado como definições, não como veredictos. O exemplo tem quatro execuções de frases delimitadas por pontuação, enquanto seu total de palavras segue os cinco pedaços separados por espaços em branco, em vez da morfologia japonesa. Os totais de caracteres usam clusters de grafemas onde `Intl.Segmenter` está disponível, e o total sem espaços remove os espaços em branco Unicode antes de recontar.
Exemplo resolvido: inspecione a transformação e cada contagem em vez de assumir a análise linguística
Este comportamento não implementa regras japonesas de quebra de linha, composição vertical, anotações Ruby ou restrições kinsoku shori sobre onde a pontuação pode aparecer. Também não normaliza caracteres de meia largura e largura total. Se a publicação exigir verificações tipográficas, use um editor ou sistema de layout com suporte explícito ao idioma japonês após a transformação do texto.
O invólucro específico do local também está fora da promessa. O conversor usa mapeamentos Unicode JavaScript padrão, nomes próprios e acrônimos em letras minúsculas e pode confundir um limite de abreviação com um limite de frase quando há espaço em branco após ele. Desfazer está disponível, mas a revisão editorial continua necessária para nomes, capitalização de marca e decisões de estilo bilíngue.
Conclusão - o caso de frase do Text Toolkit reconhece finais de frase CJK de largura total, portanto, a cópia bilíngue é tratada em vez de manuseada pela metade
A pontuação de largura total é importante porque o código vê caracteres, não intenções visuais. ToolAcre inclui explicitamente `。!?` em seu correspondente de frase baseado em pontuação, portanto, a cópia mista inglês-japonês não está limitada às terminações ASCII. Sua regra de caso de frase é mais restrita: a capitalização ocorre apenas no início ou após um terminador reconhecido seguido de espaço em branco.
Use o Text Toolkit para expor essas regras rapidamente e, em seguida, interprete cada figura no contexto. Os totais de frases são estimativas de delimitadores, as palavras são execuções separadas por espaços em branco e os caracteres são grafemas percebidos pelo leitor quando o suporte do navegador permite. Essas limitações transparentes tornam o resultado útil sem pretender que uma função compacta do navegador execute uma análise linguística completa.