El error:
Para ciertos caracteres y símbolos especiales, AppleScript no podrá keystroke
el carácter real, y en su lugar simplemente escribirá la letra a
.
Un ejemplo:
El siguiente código de AppleScript:
tell application "System Events" to keystroke "² ³ é ½ ₭"
escribe la siguiente cadena de texto (sin importar en qué aplicación esté):
a a a a a
Una solución alternativa:
Uno puede efectivamente "escribir" el texto colocando los caracteres especiales en el portapapeles, y luego pegando el portapapeles, así:
set the clipboard to "² ³ é ½ ₭"
tell application "System Events" to keystroke "v" using command down
Evito usar el método anterior para colocar texto en el portapapeles en AppleScript, ya que necesariamente convierte el portapapeles en texto enriquecido, en el proceso.
Prefiero emplear el método que se proporciona aquí , para garantizar que el texto sin formato se coloque en el portapapeles. Pero, este método convierte caracteres especiales a mojibake.
Por ejemplo, utilizando la misma cadena que la anterior, este método coloca el siguiente texto en el portapapeles:
² ³ é ½ ₭
Puede explicar este problema manualmente, sin embargo, agregando la declaración replace_chars
para cada personaje especial.
La pregunta:
¿Hay alguna forma de escribir caracteres especiales a través de AppleScript, sin tener que involucrar al portapapeles?
Por ejemplo, ¿hay alguna manera de que pueda agregar los caracteres especiales deseados a un "banco" o archivo de sistema en algún lugar, para que la aplicación System Events
esté familiarizada con ellos?