¿Cómo crear Automator Service para cambiar la fuente del texto seleccionado?

1

Estoy intentando crear un "Servicio" en Automator que cambia la fuente del texto seleccionado en la aplicación más avanzada.

    
pregunta Ze'ev 27.02.2013 - 18:55

2 respuestas

1

Podría asignar un acceso directo a un script como este:

tell application "System Events" to tell (process 1 where frontmost is true)
    set {c1, c2} to value of attribute "AXSelectedTextRange" of text area 1 of scroll area 1 of window 1
end tell
tell application (path to frontmost application as text) to tell document 1
    tell characters c1 thru c2
        set font to "Menlo"
        set size to 18
    end tell
end tell

Funciona con TextEdit y WriteRoom, pero probablemente deba modificarse para otras aplicaciones.

Otra opción realmente horrible:

try
    set old to the clipboard as record
end try
do shell script "textutil -stdin -stdout -format html -convert rtf <<< '<span style=\"font: 18px Menlo\">a</span>' | pbcopy"
tell application "System Events"
    keystroke "v" using command down
    keystroke "c" using {option down, command down}
    keystroke "z" using command down
    keystroke "v" using {option down, command down}
end tell
delay 0.05
try
    set the clipboard to old
end try
    
respondido por el user495470 28.02.2013 - 14:34
0

Después de mucha investigación, el siguiente flujo de trabajo me funciona en TextEdit, Mail, Notes, Stickies. Donde no funciona es cuando la aplicación usa Estilos (Microsoft Word, Pages, Keynote), porque el estilo anula la fuente que ingresa. La única forma en que puedo pensar en anular el estilo es hacer un script directo de cada aplicación para crear un estilo personalizado.

CódigoAppleScript:

onrun{input,parameters}doshellscript"pbpaste | textutil -stdin -stdout -convert rtf -font Arial -fontsize 12 | pbcopy"
    tell application "System Events" to keystroke "v" using command down

    return input
end run
    
respondido por el Hurston 19.04.2017 - 20:50

Lea otras preguntas en las etiquetas