Ya no se puede usar el código Alt para la inserción de caracteres Unicode

10

He estado usando el código Alt para puntos suspensivos, 8230, durante algún tiempo, en varias aplicaciones. Hace unos días dejó de funcionar y &se muestra en lugar de presionar Alt+ 8+ 2+ 3+ 0(en el teclado numérico). Esto sucedió tanto en mi escritorio como en mi computadora portátil (donde lo uso Fn). Ambos se ejecutan en 64 bits-Win-7 con la página de códigos 850, y ambos podrían haber actualizado recientemente Windows y Opera 12.

¿Cuál podría ser la razón por la que este método de entrada se deshabilitó y cómo lo cambio ?

Por cierto, acabo de descubrir que Alt+ 0+ 1+ 3+ 3funciona. También descubrí que Alt+ 8+ 2+ 3+ 0todavía funciona en WordPad o MsWord10, pero ni en Opera ni en Notepad ++: allí el código de caracteres se traduce en el módulo 256 antes de la inserción.

Bergi
fuente
Sugiero probar WinCompose ya que le permite ingresar los puntos suspensivos con la combinación simple e intuitiva [Alt] [.] [.].
sam hocevar
@ LưuVĩnhPhúc No, esa es una pregunta bastante diferente. Observe que 8230 es el código de caracteres decimales de los puntos suspensivos, no el hexadecimal.
Bergi

Respuestas:

6

Hasta donde sé, el método Alt nnnn (nnnn decimal> 255) es una función RichEdit y, por lo tanto, funciona solo en programas seleccionados, como WordPad y MS Word. En otros programas, el número ingresado, nnnn, se reduce el módulo 256 para obtener un número en el rango 0 ... 255, interpretado de acuerdo con la página de códigos en uso.

Cf. a Insertar caracteres Unicode a través del teclado? que describe algunos métodos alternativos. Desafortunadamente, el método Alt + xxxx (xxxx hexadecimal; por ejemplo, Alt + 2026 para "...") aparentemente está deshabilitado de forma predeterminada, y debe modificar el registro de Windows para permitirlo. Además de la utilidad UnicodeInput, también hay una entrada Unicode por nombre , pero estos métodos no son tan convenientes para la escritura rápida como los métodos Alt.

Jukka K. Korpela
fuente
Gracias, esa parece ser la dirección correcta. Aparentemente, Opera 12 ha eliminado esta función RichEdit. ¿Puedo volver a habilitarlo manualmente de alguna manera o tendría que escribir un informe de error?
Bergi
1
+1 Su comentario de que en otros programas, el valor del carácter es mod 256 es exactamente el comportamiento que observé en el Bloc de notas.
Nicole Hamilton
4

Los códigos Alt y los caracteres Unicode solo están vagamente relacionados, y (en su mayor parte) depende de cada aplicación determinar cómo tratarlos, por lo que puede ser diferente entre aplicaciones, versiones de aplicaciones y demás.

Básicamente se trata de la codificación de caracteres y las páginas de códigos , en lugar de las fuentes o la entrada del usuario.

Los códigos alternativos para ASCII son solo 0-255 (página de códigos de 8 bits). Muchos programas (y sistemas operativos) manejan números más grandes ingresados ​​por el usuario envolviéndolos en 256.

256 = 0, 257 = 1, etc.

Entonces, ingresar ALT + 8230 es equivalente a escribir ALT + 38 (8230/256 = 32.1484375. 256 * 32 = 8192. 8230 - 8192 = 38), que es el carácter ASCII "&", a menos que el programa lo intercepte y lo reemplaza con códigos Unicode 'adecuados', o mediante el uso de una página de códigos diferente (es decir: Unicode), como MS Word, y las versiones más recientes de WordPad, por ejemplo.

Windows usa una versión extendida de la página de códigos MSDOS de 8 bits (850) llamada la página de códigos " Windows-1252 " (de todos modos para los idiomas ingleses). Pero solo usa esto para partes heredadas del sistema operativo que no son totalmente compatibles con las páginas de códigos Unicode.

Estas son las razones por las que puede ver fácilmente diferentes resultados en diferentes sistemas operativos y aplicaciones, así como también en diferentes partes de Windows.

Es un tema confuso por decir lo menos. :)

Estoy bastante seguro de que Alt-0133 es el código ALT extendido "oficial" de Windows para los puntos suspensivos (en la página de códigos de Windows), por lo que probablemente tendrá una suerte más consistente al usarlo.

Aquí hay más información relacionada .

Ƭᴇcʜιᴇ007
fuente
Gracias por el enlace informativo. Ya vi que hay diferencias confusas al buscar el problema :-)
Bergi
1

U + 8230 no es la elipsis, es el personaje de Han buque de guerra : . No sé por qué alguna vez obtuviste puntos suspensivos con ese código, pero 133 es de hecho el punto de código correcto para ello.

¿Dónde exactamente donde ves una elipsis para 8230? Tal vez fue un error en Opera que se ha solucionado desde la última actualización. Si estaba en "varias aplicaciones", entonces tal vez tuvo un error en su fuente o diseño de teclado / configuración regional o algo así (nada obvio o racional viene a la mente, por lo que debe haber sido un error en lugar de una configuración legítima).

Si (por alguna razón) realmente quiere / necesita usar un punto de código incorrecto para él en lugar de usar el correcto, puede usar algo como Authotkey para crear un script que acepte un acorde o secuencia y genere lo que desea .

¿Estás seguro de que pudiste ingresar Alt+ Numpad-8+ Numpad-0+ Numpad-2+ Numpad-3? Aunque algunos programas pueden admitirlo independientemente, Windows no acepta puntos de código Unicode altos como ese de forma predeterminada. Sin embargo, puede usar la entrada hexadecimal : Alt+ Numpad-++ 2+ 0+ 2+ 6.

Synetech
fuente
8230 es decimal para el hexadecimal 2026, que de hecho es la elipsis. fileformat.info/info/unicode/char/2026/index.htm Alt + 8230 funciona en algunas aplicaciones (p. ej., mensaje nuevo de Outlook) pero no en otras (p. ej., Bloc de notas) para mí en Win7 x64.
Nicole Hamilton
8230es el código de caracteres decimales de U + 2026 ( puntos suspensivos ). Nunca usé el prefijo +o 0, simplemente Altmantuve presionado e ingresé un código de caracteres decimal de cuatro dígitos. Como se dijo en la pregunta, esto todavía funciona bien en Word.
Bergi
Sí, estoy seguro de que funcionó, pero supongo que solo funcionó en mis aplicaciones favoritas: - / La entrada hexadecimal actualmente no está habilitada y produce , así que me quedaré con 0133...
Bergi
> La entrada hexadecimal no está habilitada actualmente. Quizás no, pero puede habilitarla por conveniencia porque, como dije, Windows no acepta más de 8000 puntos de código (en decimal) de forma predeterminada. El uso de entrada hexadecimal es una configuración de Windows, por lo que funciona en todas las aplicaciones (al menos todas las que admiten cuadros de edición Unicode).
Synetech
0

Tal vez la fuente actual no sea compatible con esos caracteres Unicode superiores, cambie la fuente a 'Arial' e intente nuevamente.

Cuando pruebo esto en WordPad, ALT + 8 + 2 + 3 + 0 funciona para Arial, pero no para algunas otras fuentes.

Peter Hahndorf
fuente
1
No, las fuentes admiten mostrarlas. Además, no creo que una fuente pueda afectar el método de entrada.
Bergi