Por que o Bloco de Notas “aleatoriamente” torna o texto colado um tamanho de fonte menor?

5

Às vezes, quando copio e colo texto no Bloco de notas, ele colará o texto na fonte e no tamanho padrão do Bloco de notas, no entanto, a segunda metade da linha colada terá vários tamanhos de fonte menores. Estou perplexo sobre o porquê isso está acontecendo.

Eu me perguntei se era algum tipo de formatação oculta que estava sendo copiada no Bloco de Notas, mas acredito que o Bloco de Notas retire a formatação. Subseqüentemente, peguei o mesmo texto e tentei copiá-lo e colá-lo em barras de URL e avisos de CMD para remover qualquer formatação em potencial (mesmo que fosse texto simples copiado da Web) e colá-lo novamente no Bloco de Notas, mas ele ainda deixa esse fenômeno .

Além disso, ao redimensionar a janela do Bloco de Notas, ela alterará a parte da linha com tamanho e tamanho padrão, como mostra a captura de tela apresentada abaixo.

As três janelas são na verdade a mesma janela do Bloco de Notas, cada uma com um redimensionamento diferente e o redimensionamento de texto resultante.

    
por Coldblackice 30.07.2012 / 23:59

2 respostas

7

Eu tive os mesmos problemas com o Bloco de Notas. Carregar o arquivo e analisar seu conteúdo em binário mostrou o motivo: a linha que começa com letras maiúsculas pequenas contém a marca de ordem Byte "EF BB BF" (consulte link ).

O que fazer: de alguma forma, essa marca é preservada mesmo ao salvar o arquivo. Algumas edições farão com que o Notepad reconheça o Unicode e lhe diga que ele será perdido se você salvar o texto. Você também pode ir para o início e excluir o "caractere" invisível pressionando a tecla "Excluir". (A fonte ficará grande novamente em um instante.)

Como isso aconteceu (no meu caso): Eu estava criando arquivos de texto com marcadores Unicode e, mais tarde, as linhas de texto foram ordenadas e salvas novamente. A marca de ordem de byte tornou-se parte de uma linha de texto que foi colocada no final do arquivo (marca invisível estragou a ordem de classificação) e no meio do texto essa marca apenas causa esse efeito.

    
por 28.10.2012 / 11:31
5

Para realmente explicar a questão que mencionamos: O que você está vendo aqui é a substituição de fontes feita pelo Windows. Se o texto a ser exibido não contiver um caractere na fonte selecionada, o Windows tentará encontrar um no local em que ele existe. Isso é mais útil para ter execuções de, digamos, chinês ou árabe em meio ao texto em latim, porque o Windows tem fontes especiais para determinados scripts e nenhuma fonte pode conter todos os scripts de qualquer maneira¹.

Uwe menciona a marca de ordem de byte, embora não precise aparecer em sua encarnação UTF-8. Por exemplo. em um arquivo de texto UTF-16 parece diferente. Normalmente, o U + FEFF não deve aparecer no meio de um fluxo de texto, mas sim apenas no início, mas é apenas um espaço de largura zero, portanto, normalmente não há nenhum dano se ocorrer ocasionalmente. Mas o Bloco de Notas aqui apenas encontra um caractere que a fonte selecionada não possui². Então, outro é encontrado e contém uma vez que os caracteres em torno dele se encaixam bem na fonte então selecionada, tem um certo contágio.

Este caso aqui é divertido porque o personagem não é sequer visível, mas muitas vezes você tem um fenômeno semelhante em que apenas um único caractere é renderizado em outra fonte:

Naturalmente, nesses casos, é bem fácil perceber porquê.

1 Limitações de formato de fonte para um, e então o problema usual de como os estilos de fonte latinos (por exemplo, serif, sans-serif, handwritten, etc.) são mapeados para o respectivo script - geralmente é inútil tentar com a maioria das fontes . Portanto, a maioria das fontes contém pelo menos latim, grego e cirílico, porque elas são muito semelhantes em estilo, mas além disso raramente é feito.

2 Como observado, como o caracter geralmente só aparece no início de um fluxo de texto e é removido (porque não é considerado parte do conteúdo), uma fonte não precisa ter um glifo para ele. / p>     

por 28.10.2012 / 11:51