Não é mais possível usar o código Alt para inserção de caracteres Unicode


10

Eu tenho usado o código Alt para as reticências 8230, há algum tempo, em vários aplicativos. Alguns dias atrás, ele parou de funcionar e &é exibido em vez de pressionar Alt+ 8+ 2+ 3+ 0(no teclado numérico). Isso aconteceu na minha área de trabalho e no meu laptop (onde eu o uso Fn). Ambos rodam em 64bit-Win-7 com a página de código 850 e podem ter atualizado recentemente o Windows e o Opera 12.

Qual poderia ser a razão pela qual esse método de entrada foi desativado e como eu o troco novamente ?

A propósito, acabei de descobrir que Alt+ 0+ 1+ 3+ 3funciona. Também descobri que o Alt+ 8+ 2+ 3+ 0ainda funciona no WordPad ou no MsWord10, mas nem no Opera nem no Notepad ++ - o código de caracteres é traduzido no módulo 256 antes da inserção.


Sugiro experimentar o WinCompose, pois ele permite inserir as reticências com a combinação simples e intuitiva [Alt] [.] [.].
Sam Hocevar


@ LưuVĩnhPhúc Não, essa é uma pergunta bem diferente. Observe que 8230 é o código de caractere decimal das reticências, não o hexadecimal.
Bergi 12/03/19

Respostas:


6

Até onde eu sei, o método Alt nnnn (nnnn decimal> 255) é um recurso RichEdit e, portanto, funciona apenas em programas selecionados, como o WordPad e o MS Word. Em outros programas, o número digitado, nnnn, é reduzido no módulo 256 para gerar um número no intervalo de 0 a 255, interpretado de acordo com a página de códigos em uso.

Cf. para Inserir Unicode caracteres através do teclado? que descreve alguns métodos alternativos. Infelizmente, o método Alt + xxxx (xxxx hexadecimal; por exemplo, Alt + 2026 para “…”) está aparentemente desativado por padrão e você precisa modificar o registro do Windows para permitir isso. Além do utilitário UnicodeInput, também há entrada Unicode por nome , mas esses métodos não são tão convenientes para a digitação rápida quanto os métodos Alt.


Obrigado, essa parece ser a direção certa. Aparentemente, o Opera 12 abandonou esse recurso RichEdit. Posso reativá-lo manualmente de alguma forma ou preciso escrever um relatório de erro?
Bergi

11
+1 Você observou que em outros programas o valor do caractere é mod 256 é exatamente o comportamento que observei no bloco de notas.
22612 Nicole Hamilton

4

Os códigos alt e os caracteres unicode são apenas vagamente relacionados e (na maior parte) depende de cada aplicativo determinar como lidar com eles, para que possa ser diferente entre aplicativos, versões de aplicativos e outros.

Essencialmente, trata-se de codificação de caracteres e páginas de código , em vez de fontes ou entrada do usuário.

Os códigos ALT para ASCII são apenas de 0 a 255 (página de códigos de 8 bits). Muitos programas (e sistemas operacionais) lidam com números maiores inseridos pelo usuário, agrupando-os em 256.

256 = 0, 257 = 1, etc.

Portanto, digitar ALT + 8230 é equivalente a digitar ALT + 38 (8230/256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38), que é o caractere ASCII "&" - a menos que o programa o intercepte e o substitui por códigos Unicode 'adequados' ou usando uma página de código diferente (ou seja: Unicode), como o MS Word, e as versões mais recentes do WordPad, por exemplo.

O Windows usa uma versão estendida da página de códigos de 8 bits do MSDOS (850) chamada de página de código " Windows-1252 " (para os idiomas em inglês). Mas ele usa isso apenas para partes herdadas do sistema operacional que não oferecem suporte completo às páginas de código Unicode.

Essas são as razões pelas quais você pode ver facilmente resultados diferentes em diferentes SOs e aplicativos, bem como em diferentes partes do próprio Windows.

É uma questão confusa para dizer o mínimo. :)

Tenho certeza de que Alt-0133 é o código ALT estendido do Windows "oficial" para as reticências (na página de códigos do Windows), portanto você provavelmente terá uma sorte mais consistente ao usá-lo.

Aqui estão mais algumas informações relacionadas .


Obrigado pelo link informativo. Eu já vi lá estão confundindo as diferenças para buscar o problema :-)
Bergi

1

U + 8230 não é o reticências, ele é o personagem Han navio de guerra : . Não sei por que você estava recebendo reticências com esse código, mas 133 é realmente o ponto de código correto para ele.

Onde exatamente onde você está vendo as reticências do 8230? Talvez tenha sido um bug no Opera que foi corrigido desde a última atualização. Se estava em "vários aplicativos", talvez você tenha um erro na fonte ou no layout do teclado / configuração regional ou algo assim (nada óbvio ou racional vem à mente, portanto, deve ter sido um bug em oposição a uma configuração legítima).

Se (por algum motivo) você realmente deseja / precisa usar um ponto de código incorreto para ele, em vez de usar o correto, você pode usar algo como Authotkey para criar um script que aceite um acorde ou sequência e produza o que deseja .

Tem certeza de que conseguiu inserir Alt+ Numpad-8+ Numpad-0+ Numpad-2+ Numpad-3? Embora alguns programas possam suportá-lo independentemente, o Windows não aceita pontos de código Unicode altos como esse por padrão. Você pode usar a entrada hexadecimal : Alt+ Numpad-++ 2+ 0+ 2+ 6.


8230 é decimal para o hexadecimal 2026, que é de fato as reticências. fileformat.info/info/unicode/char/2026/index.htm O Alt + 8230 funciona em alguns aplicativos (por exemplo, nova mensagem do Outlook), mas em outros (por exemplo, o Bloco de notas) para mim no Win7 x64.
Nicole Hamilton

8230é o código de caracteres decimal de U + 2026 ( reticências ). Eu nunca usei o prefixo +ou 0, apenas segurei Alte digitei um código decimal de quatro dígitos. Como dito na pergunta, isso ainda funciona bem no Word.
Bergi

Sim, eu tenho certeza que ele trabalhou, mas eu acho que fiz apenas em minhas aplicações favoritas: - entrada / Hex atualmente não está habilitado e os rendimentos , por isso vou ficar com 0133...
Bergi

> Atualmente, a entrada hexadecimal não está ativada Talvez não, mas você pode ativá-la por conveniência, porque, como eu disse, o Windows não aceita mais de 8000 pontos de código (em decimal) por padrão. O uso da entrada hexadecimal é uma configuração do Windows, portanto funciona em todos os aplicativos (pelo menos em todos os que suportam caixas de edição Unicode).
Synetech 22/11/2012

0

Talvez a fonte atual não suporte esses caracteres Unicode superiores, altere a fonte para 'Arial' e tente novamente.

Quando eu testo isso no WordPad, ALT + 8 + 2 + 3 + 0 funciona para Arial, mas não para outras fontes.


11
Não, as fontes suportam exibi-las. Também não acho que uma fonte possa afetar o método de entrada.
Bergi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.