#SingleInstance Force #NoEnv SetFormat Integer, H F8::PutUni(ClipBoard) ;Sample Hotkeys F9::PutUni("416365206f6620e299a0") ;Ace of (Spades) F10::PutUni("e280bd") ; Interrobang F11::PutUni("c5a1c491c48dc487c5be") ;Croatian letters, resembles "sdccz" ;Sample Hotstrings :?:damn:: PutUni("e29ca9e298a023e280bc") ;cartoon style curse return ::spam:: PutUni("e382b9e38391e383a0") ; Japanese for spam (per Bablefish) return ;Copy unicode in correct format for PutUni. F12:: ClipBoard = Send ^c ClipWait 0 Transform, OutputVar, Unicode ClipBoard = Loop % StrLen(OutputVar) ClipBoard .= SubStr(Asc(SubStr(OutputVar, A_Index, 1)), 3) Return ;Paste hex string as unicode. [color=red];This is the only part you need to add to your script to use PutUni. PutUni(HexIn) { SavedClip := ClipBoardAll Loop % StrLen(HexIn) / 2 TransCode .= Chr("0x" . SubStr(HexIn, A_Index * 2 - 1, 2)) Transform, ClipBoard, Unicode, %TransCode% Send ^v Sleep 100 ;Generous, less wait or none will often work. ClipBoard := SavedClip return }[/color]Note, some of the examples may not work, depending on on what characters are supported where you use it. Web browsers generally have good unicode support.
This version is obsolete: Use this one.