10.6: An Automator Service to enter special characters

Feb 17, '11 07:30:00AM

Contributed by: llee

Snow Leopard only hintHere's how to use Automator-based Snow Leopard Service along with an AppleScript to present a popup window from which you may choose from a list of special character symbols to input. The Service gives you quick access to OS-related (or other) characters for quick entry into documents.

Do these steps:

Here is the AppleScript code:
tell application "System Events"
	set frontApp to name of first process whose frontmost is true
end tell

set theCommand to «data utxt2318» as Unicode text
set theControl to «data utxt2303» as Unicode text
set theOption to «data utxt2325» as Unicode text
set theShift to «data utxt21E7» as Unicode text
set theEscape to «data utxt238B» as Unicode text
set theTab to «data utxt21E5» as Unicode text
set theReturn to «data utxt21A9» as Unicode text
set theEnter to «data utxt2324» as Unicode text
set doubleTab to tab & tab

tell application frontApp
	choose from list {theShift & doubleTab & "Shift", theControl & doubleTab & "Control", theOption & doubleTab & "Option", theCommand & doubleTab & "Command", theOption & theCommand & doubleTab & "Option+Command", theEscape & doubleTab & "Escape", theTab & doubleTab & "Tab", theReturn & doubleTab & "Return", theEnter & doubleTab & "Enter"} with prompt "Pick the symbols you want:" OK button name "Insert" with multiple selections allowed
end tell

if result is not equal to false then
	set pickedSymbols to result as string
	set displaySymbols to ""
	if pickedSymbols contains "Shift" then
		set displaySymbols to displaySymbols & theShift
	end if
	
	if pickedSymbols contains "Control" then
		set displaySymbols to displaySymbols & theControl
	end if
	
	if pickedSymbols contains "Option" then
		set displaySymbols to displaySymbols & theOption
	end if
	
	if pickedSymbols contains "Command" then
		set displaySymbols to displaySymbols & theCommand
	end if
	
	if pickedSymbols contains "Escape" then
		set displaySymbols to displaySymbols & theEscape
	end if
	if pickedSymbols contains "Tab" then
		set displaySymbols to displaySymbols & theTab
	end if
	if pickedSymbols contains "Return" then
		set displaySymbols to displaySymbols & theReturn
	end if
	if pickedSymbols contains "Enter" then
		set displaySymbols to displaySymbols & theEnter
	end if
	
	tell application "System Events"
		tell process frontApp
			set the clipboard to displaySymbols
			keystroke "v" using {command down}
		end tell
	end tell
end if

[crarko adds: I tested this, and it works as described. I used BBEdit to test it.]

Comments (2)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20110216211107578