Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Chinese Pinyin entry


  • Please log in to reply
5 replies to this topic
fzzylogic
  • Members
  • 4 posts
  • Last active: Aug 27 2015 04:50 PM
  • Joined: 05 Apr 2011
Script for easy inputting of Chinese Pinyin.

Example: Entering ni3hao3 results in nǐhǎo.

Character entry is of course better, but for beginners this is a nice tool.

Based on work by others, notably:

http://www.autohotke...topic44766.html and http://catology.boisset.eu/Carlinga

GPL licence http://www.gnu.org/l...ses/gpl-3.0.txt

Enjoy!

:D

; IMPORTANT, you must save this script as UTF-8 to make it work.

; Paste UTF8 string (Hex encoded or not) as unicode.

; Script found at http://www.autohotkey.com/forum/topic44766.html

; If you don't use Hex encoding, you must save your script as UTF8

; Used Carlinga as base - http://catology.boisset.eu/Carlinga

; Published under the GPL licence http://www.gnu.org/licenses/gpl-3.0.txt. 

#Hotstring  c * ?

PutUni(DataIn)
{
   SavedClip := ClipBoardAll
   ClipBoard =
   If RegExMatch(DataIn, "^[0-9a-fA-F]+$")
   {
      Loop % StrLen(DataIn) / 2
         UTF8Code .= Chr("0x" . SubStr(DataIn, A_Index * 2 - 1, 2))
   }
   Else
      UTF8Code := DataIn
   Transform, ClipBoard, Unicode, %UTF8Code%
   Send ^v
   Sleep 100 ;Generous, less wait or none will often work.
   ClipBoard := SavedClip
   return
}

::iang1::
PutUni("iāng")
return

::iang2::
PutUni("iáng")
return

::iang3::
PutUni("iǎng")
return

::iang4::
PutUni("iàng")
return

::iong1::
PutUni("iōng")
return

::iong2::
PutUni("ióng")
return

::iong3::
PutUni("iǒng")
return

::iong4::
PutUni("iòng")
return

::uang1::
PutUni("uāng")
return

::uang2::
PutUni("uáng")
return

::uang3::
PutUni("uǎng")
return

::uang4::
PutUni("uàng")
return

::ang1::
PutUni("āng")
return

::Ang1::
PutUni("Āng")
return

::ang2::
PutUni("áng")
return

::Ang2::
PutUni("Áng")
return

::ang3::
PutUni("ǎng")
return

::Ang3::
PutUni("Ǎng")
return

::ang4::
PutUni("àng")
return

::Ang4::
PutUni("Àng")
return

::eng1::
PutUni("ēng")
return

::Eng1::
PutUni("Ēng")
return

::eng2::
PutUni("éng")
return

::Eng2::
PutUni("Éng")
return

::eng3::
PutUni("ěng")
return

::Eng3::
PutUni("Ěng")
return

::eng4::
PutUni("èng")
return

::Eng4::
PutUni("Èng")
return

::ing1::
PutUni("īng")
return

::ing2::
PutUni("íng")
return

::ing3::
PutUni("ǐng")
return

::ing4::
PutUni("ìng")
return

::ong1::
PutUni("ōng")
return

::Ong1::
PutUni("Ōng")
return

::ong2::
PutUni("óng")
return

::Ong2::
PutUni("Óng")
return

::ong3::
PutUni("ǒng")
return

::Ong3::
PutUni("Ǒng")
return

::ong4::
PutUni("òng")
return

::Ong4::
PutUni("Òng")
return

::ian1::
PutUni("iān")
return

::ian2::
PutUni("ián")
return

::ian3::
PutUni("iǎn")
return

::ian4::
PutUni("iàn")
return

::iao1::
PutUni("iāo")
return

::iao2::
PutUni("iáo")
return

::iao3::
PutUni("iǎo")
return

::iao4::
PutUni("iào")
return

::uai1::
PutUni("uāi")
return

::uai2::
PutUni("uái")
return

::uai3::
PutUni("uǎi")
return

::uai4::
PutUni("uài")
return

::uan1::
PutUni("uān")
return

::uan2::
PutUni("uán")
return

::uan3::
PutUni("uǎn")
return

::uan4::
PutUni("uàn")
return

::van1::
PutUni("üān")
return

::van2::
PutUni("üán")
return

::van3::
PutUni("üǎn")
return

::van4::
PutUni("üàn")
return

::ai1::
PutUni("āi")
return

::Ai1::
PutUni("Āi")
return

::ai2::
PutUni("ái")
return

::Ai2::
PutUni("Ái")
return

::ai3::
PutUni("ǎi")
return

::Ai3::
PutUni("Ǎi")
return

::ai4::
PutUni("ài")
return

::Ai4::
PutUni("Ài")
return

::an1::
PutUni("ān")
return

::An1::
PutUni("Ān")
return

::an2::
PutUni("án")
return

::An2::
PutUni("Án")
return

::an3::
PutUni("ǎn")
return

::An3::
PutUni("Ǎn")
return

::an4::
PutUni("àn")
return

::An4::
PutUni("Àn")
return

::ao1::
PutUni("āo")
return

::Ao1::
PutUni("Āo")
return

::ao2::
PutUni("áo")
return

::Ao2::
PutUni("Áo")
return

::ao3::
PutUni("ǎo")
return

::Ao3::
PutUni("Ǎo")
return

::ao4::
PutUni("ào")
return

::Ao4::
PutUni("Ào")
return

::ei1::
PutUni("ēi")
return

::Ei1::
PutUni("Ēi")
return

::ei2::
PutUni("éi")
return

::Ei2::
PutUni("Éi")
return

::ei3::
PutUni("ěi")
return

::Ei3::
PutUni("Ěi")
return

::ei4::
PutUni("èi")
return

::Ei4::
PutUni("Èi")
return

::en1::
PutUni("ēn")
return

::En1::
PutUni("Ēn")
return

::en2::
PutUni("én")
return

::En2::
PutUni("Én")
return

::en3::
PutUni("ěn")
return

::En3::
PutUni("Ěn")
return

::en4::
PutUni("èn")
return

::En4::
PutUni("Èn")
return

::er1::
PutUni("ēr")
return

::Er1::
PutUni("Ēr")
return

::er2::
PutUni("ér")
return

::Er2::
PutUni("Ér")
return

::er3::
PutUni("ěr")
return

::Er3::
PutUni("Ěr")
return

::er4::
PutUni("èr")
return

::Er4::
PutUni("Èr")
return

::ia1::
PutUni("iā")
return

::ia2::
PutUni("iá")
return

::ia3::
PutUni("iǎ")
return

::ia4::
PutUni("ià")
return

::ie1::
PutUni("iē")
return

::ie2::
PutUni("ié")
return

::ie3::
PutUni("iě")
return

::ie4::
PutUni("iè")
return

::in1::
PutUni("īn")
return

::in2::
PutUni("ín")
return

::in3::
PutUni("ǐn")
return

::in4::
PutUni("ìn")
return

::iu1::
PutUni("iū")
return

::iu2::
PutUni("iú")
return

::iu3::
PutUni("iǔ")
return

::iu4::
PutUni("iù")
return

::ou1::
PutUni("ōu")
return

::Ou1::
PutUni("Ōu")
return

::ou2::
PutUni("óu")
return

::Ou2::
PutUni("Óu")
return

::ou3::
PutUni("ǒu")
return

::Ou3::
PutUni("Ǒu")
return

::ou4::
PutUni("òu")
return

::Ou4::
PutUni("Òu")
return

::ua1::
PutUni("uā")
return

::ua2::
PutUni("uá")
return

::ua3::
PutUni("uǎ")
return

::ua4::
PutUni("uà")
return

::ui1::
PutUni("uī")
return

::ui2::
PutUni("uí")
return

::ui3::
PutUni("uǐ")
return

::ui4::
PutUni("uì")
return

::un1::
PutUni("ūn")
return

::un2::
PutUni("ún")
return

::un3::
PutUni("ǔn")
return

::un4::
PutUni("ùn")
return

::uo1::
PutUni("uō")
return

::uo2::
PutUni("uó")
return

::uo3::
PutUni("uǒ")
return

::uo4::
PutUni("uò")
return

::ve1::
PutUni("üē")
return

::ve2::
PutUni("üé")
return

::ve3::
PutUni("üě")
return

::ve4::
PutUni("üè")
return

::vn1::
PutUni("ǖn")
return

::vn2::
PutUni("ǘn")
return

::vn3::
PutUni("ǚn")
return

::vn4::
PutUni("ǜn")
return

::a1::
PutUni("ā")
return

::a2::
PutUni("á")
return

::a3::
PutUni("ǎ")
return

::a4::
PutUni("à")
return

::e1::
PutUni("ē")
return

::e2::
PutUni("é")
return

::e3::
PutUni("ě")
return

::e4::
PutUni("è")
return

::i1::
PutUni("ī")
return

::i2::
PutUni("í")
return

::i3::
PutUni("ǐ")
return

::i4::
PutUni("ì")
return

::o1::
PutUni("ō")
return

::o2::
PutUni("ó")
return

::o3::
PutUni("ǒ")
return

::o4::
PutUni("ò")
return

::u1::
PutUni("ū")
return

::u2::
PutUni("ú")
return

::u3::
PutUni("ǔ")
return

::u4::
PutUni("ù")
return

::v1::
PutUni("ǖ")
return

::v2::
PutUni("ǘ")
return

::v3::
PutUni("ǚ")
return

::v4::
PutUni("ǜ")
return

::v5::
PutUni("ü")
return

::IANG1::
PutUni("IĀNG")
return

::IANG2::
PutUni("IÁNG")
return

::IANG3::
PutUni("IǍNG")
return

::IANG4::
PutUni("IÀNG")
return

::IONG1::
PutUni("IŌNG")
return

::IONG2::
PutUni("IÓNG")
return

::IONG3::
PutUni("IǑNG")
return

::IONG4::
PutUni("IÒNG")
return

::UANG1::
PutUni("UĀNG")
return

::UANG2::
PutUni("UÁNG")
return

::UANG3::
PutUni("UǍNG")
return

::UANG4::
PutUni("UÀNG")
return

::ANG1::
PutUni("ĀNG")
return

::ANG2::
PutUni("ÁNG")
return

::ANG3::
PutUni("ǍNG")
return

::ANG4::
PutUni("ÀNG")
return

::ENG1::
PutUni("ĒNG")
return

::ENG2::
PutUni("ÉNG")
return

::ENG3::
PutUni("ĚNG")
return

::ENG4::
PutUni("ÈNG")
return

::ING1::
PutUni("ĪNG")
return

::ING2::
PutUni("ÍNG")
return

::ING3::
PutUni("ǏNG")
return

::ING4::
PutUni("ÌNG")
return

::ONG1::
PutUni("ŌNG")
return

::ONG2::
PutUni("ÓNG")
return

::ONG3::
PutUni("ǑNG")
return

::ONG4::
PutUni("ÒNG")
return

::IAN1::
PutUni("IĀN")
return

::IAN2::
PutUni("IÁN")
return

::IAN3::
PutUni("IǍN")
return

::IAN4::
PutUni("IÀN")
return

::IAO1::
PutUni("IĀO")
return

::IAO2::
PutUni("IÁO")
return

::IAO3::
PutUni("IǍO")
return

::IAO4::
PutUni("IÀO")
return

::UAI1::
PutUni("UĀI")
return

::UAI2::
PutUni("UÁI")
return

::UAI3::
PutUni("UǍI")
return

::UAI4::
PutUni("UÀI")
return

::UAN1::
PutUni("UĀN")
return

::UAN2::
PutUni("UÁN")
return

::UAN3::
PutUni("UǍN")
return

::UAN4::
PutUni("UÀN")
return

::VAN1::
PutUni("ÜĀN")
return

::VAN2::
PutUni("ÜÁN")
return

::VAN3::
PutUni("ÜǍN")
return

::VAN4::
PutUni("ÜÀN")
return

::AI1::
PutUni("ĀI")
return

::AI2::
PutUni("ÁI")
return

::AI3::
PutUni("ǍI")
return

::AI4::
PutUni("ÀI")
return

::AN1::
PutUni("ĀN")
return

::AN2::
PutUni("ÁN")
return

::AN3::
PutUni("ǍN")
return

::AN4::
PutUni("ÀN")
return

::AO1::
PutUni("ĀO")
return

::AO2::
PutUni("ÁO")
return

::AO3::
PutUni("ǍO")
return

::AO4::
PutUni("ÀO")
return

::EI1::
PutUni("ĒI")
return

::EI2::
PutUni("ÉI")
return

::EI3::
PutUni("ĚI")
return

::EI4::
PutUni("ÈI")
return

::EN1::
PutUni("ĒN")
return

::EN2::
PutUni("ÉN")
return

::EN3::
PutUni("ĚN")
return

::EN4::
PutUni("ÈN")
return

::ER1::
PutUni("ĒR")
return

::ER2::
PutUni("ÉR")
return

::ER3::
PutUni("ĚR")
return

::ER4::
PutUni("ÈR")
return

::IA1::
PutUni("IĀ")
return

::IA2::
PutUni("IÁ")
return

::IA3::
PutUni("IǍ")
return

::IA4::
PutUni("IÀ")
return

::IE1::
PutUni("IĒ")
return

::IE2::
PutUni("IÉ")
return

::IE3::
PutUni("IĚ")
return

::IE4::
PutUni("IÈ")
return

::IN1::
PutUni("ĪN")
return

::IN2::
PutUni("ÍN")
return

::IN3::
PutUni("ǏN")
return

::IN4::
PutUni("ÌN")
return

::IU1::
PutUni("IŪ")
return

::IU2::
PutUni("IÚ")
return

::IU3::
PutUni("IǓ")
return

::IU4::
PutUni("IÙ")
return

::OU1::
PutUni("ŌU")
return

::OU2::
PutUni("ÓU")
return

::OU3::
PutUni("ǑU")
return

::OU4::
PutUni("ÒU")
return

::UA1::
PutUni("UĀ")
return

::UA2::
PutUni("UÁ")
return

::UA3::
PutUni("UǍ")
return

::UA4::
PutUni("UÀ")
return

::UI1::
PutUni("UĪ")
return

::UI2::
PutUni("UÍ")
return

::UI3::
PutUni("UǏ")
return

::UI4::
PutUni("UÌ")
return

::UN1::
PutUni("ŪN")
return

::UN2::
PutUni("ÚN")
return

::UN3::
PutUni("ǓN")
return

::UN4::
PutUni("ÙN")
return

::UO1::
PutUni("UŌ")
return

::UO2::
PutUni("UÓ")
return

::UO3::
PutUni("UǑ")
return

::UO4::
PutUni("UÒ")
return

::VE1::
PutUni("ÜĒ")
return

::VE2::
PutUni("ÜÉ")
return

::VE3::
PutUni("ÜĚ")
return

::VE4::
PutUni("ÜÈ")
return

::VN1::
PutUni("ǕN")
return

::VN2::
PutUni("ǗN")
return

::VN3::
PutUni("ǙN")
return

::VN4::
PutUni("ǛN")
return

::A1::
PutUni("Ā")
return

::A2::
PutUni("Á")
return

::A3::
PutUni("Ǎ")
return

::A4::
PutUni("À")
return

::E1::
PutUni("Ē")
return

::E2::
PutUni("É")
return

::E3::
PutUni("Ě")
return

::E4::
PutUni("È")
return

::I1::
PutUni("Ī")
return

::I2::
PutUni("Í")
return

::I3::
PutUni("Ǐ")
return

::I4::
PutUni("Ì")
return

::O1::
PutUni("Ō")
return

::O2::
PutUni("Ó")
return

::O3::
PutUni("Ǒ")
return

::O4::
PutUni("Ò")
return

::U1::
PutUni("Ū")
return

::U2::
PutUni("Ú")
return

::U3::
PutUni("Ǔ")
return

::U4::
PutUni("Ù")
return

::V1::
PutUni("Ǖ")
return

::V2::
PutUni("Ǘ")
return

::V3::
PutUni("Ǚ")
return

::V4::
PutUni("Ǜ")
return

::V5::
PutUni("Ü")
return


fincs
  • Moderators
  • 1662 posts
  • Last active:
  • Joined: 05 May 2007
Use AutoHotkey_L Unicode, it's got native support for sending Unicode characters. Just make sure you save your script in the UTF-8 encoding and replace all the PutUni("...") calls with standard Send, ... commands.

fzzylogic
  • Members
  • 4 posts
  • Last active: Aug 27 2015 04:50 PM
  • Joined: 05 Apr 2011
Thanks fincs. I was concerned with AutoHotkey_L breaking my other scripts, but will experiment when the moment presents itself.

fzzylogic
  • Members
  • 4 posts
  • Last active: Aug 27 2015 04:50 PM
  • Joined: 05 Apr 2011
As suggested by fincs, using unicode is better. The clipboard fiddling of the non-unicode version isn't stable.

; IMPORTANT, you must save this script as UTF-8 to make it work.

; Published under the GPL licence http://www.gnu.org/licenses/gpl-3.0.txt. 

#Hotstring  c * ?

; ----------------------------------------------------------------------
; Hotstrings to automatically convert text to Pinyin while typing
; Entering v1 will input ǖ, v2 - ǘ, liang3 - liǎng etc.
; ----------------------------------------------------------------------

:*:iang1::
Send, iāng
return

:*:iang2::
Send, iáng
return

:*:iang3::
Send, iǎng
return

:*:iang4::
Send, iàng
return

:*:iong1::
Send, iōng
return

:*:iong2::
Send, ióng
return

:*:iong3::
Send, iǒng
return

:*:iong4::
Send, iòng
return

:*:uang1::
Send, uāng
return

:*:uang2::
Send, uáng
return

:*:uang3::
Send, uǎng
return

:*:uang4::
Send, uàng
return

:*:ang1::
Send, āng
return

:*:Ang1::
Send, Āng
return

:*:ang2::
Send, áng
return

:*:Ang2::
Send, Áng
return

:*:ang3::
Send, ǎng
return

:*:Ang3::
Send, Ǎng
return

:*:ang4::
Send, àng
return

:*:Ang4::
Send, Àng
return

:*:eng1::
Send, ēng
return

:*:Eng1::
Send, Ēng
return

:*:eng2::
Send, éng
return

:*:Eng2::
Send, Éng
return

:*:eng3::
Send, ěng
return

:*:Eng3::
Send, Ěng
return

:*:eng4::
Send, èng
return

:*:Eng4::
Send, Èng
return

:*:ing1::
Send, īng
return

:*:ing2::
Send, íng
return

:*:ing3::
Send, ǐng
return

:*:ing4::
Send, ìng
return

:*:ong1::
Send, ōng
return

:*:Ong1::
Send, Ōng
return

:*:ong2::
Send, óng
return

:*:Ong2::
Send, Óng
return

:*:ong3::
Send, ǒng
return

:*:Ong3::
Send, Ǒng
return

:*:ong4::
Send, òng
return

:*:Ong4::
Send, Òng
return

:*:ian1::
Send, iān
return

:*:ian2::
Send, ián
return

:*:ian3::
Send, iǎn
return

:*:ian4::
Send, iàn
return

:*:iao1::
Send, iāo
return

:*:iao2::
Send, iáo
return

:*:iao3::
Send, iǎo
return

:*:iao4::
Send, iào
return

:*:uai1::
Send, uāi
return

:*:uai2::
Send, uái
return

:*:uai3::
Send, uǎi
return

:*:uai4::
Send, uài
return

:*:uan1::
Send, uān
return

:*:uan2::
Send, uán
return

:*:uan3::
Send, uǎn
return

:*:uan4::
Send, uàn
return

:*:van1::
Send, üān
return

:*:van2::
Send, üán
return

:*:van3::
Send, üǎn
return

:*:van4::
Send, üàn
return

:*:ai1::
Send, āi
return

:*:Ai1::
Send, Āi
return

:*:ai2::
Send, ái
return

:*:Ai2::
Send, Ái
return

:*:ai3::
Send, ǎi
return

:*:Ai3::
Send, Ǎi
return

:*:ai4::
Send, ài
return

:*:Ai4::
Send, Ài
return

:*:an1::
Send, ān
return

:*:An1::
Send, Ān
return

:*:an2::
Send, án
return

:*:An2::
Send, Án
return

:*:an3::
Send, ǎn
return

:*:An3::
Send, Ǎn
return

:*:an4::
Send, àn
return

:*:An4::
Send, Àn
return

:*:ao1::
Send, āo
return

:*:Ao1::
Send, Āo
return

:*:ao2::
Send, áo
return

:*:Ao2::
Send, Áo
return

:*:ao3::
Send, ǎo
return

:*:Ao3::
Send, Ǎo
return

:*:ao4::
Send, ào
return

:*:Ao4::
Send, Ào
return

:*:ei1::
Send, ēi
return

:*:Ei1::
Send, Ēi
return

:*:ei2::
Send, éi
return

:*:Ei2::
Send, Éi
return

:*:ei3::
Send, ěi
return

:*:Ei3::
Send, Ěi
return

:*:ei4::
Send, èi
return

:*:Ei4::
Send, Èi
return

:*:en1::
Send, ēn
return

:*:En1::
Send, Ēn
return

:*:en2::
Send, én
return

:*:En2::
Send, Én
return

:*:en3::
Send, ěn
return

:*:En3::
Send, Ěn
return

:*:en4::
Send, èn
return

:*:En4::
Send, Èn
return

:*:er1::
Send, ēr
return

:*:Er1::
Send, Ēr
return

:*:er2::
Send, ér
return

:*:Er2::
Send, Ér
return

:*:er3::
Send, ěr
return

:*:Er3::
Send, Ěr
return

:*:er4::
Send, èr
return

:*:Er4::
Send, Èr
return

:*:ia1::
Send, iā
return

:*:ia2::
Send, iá
return

:*:ia3::
Send, iǎ
return

:*:ia4::
Send, ià
return

:*:ie1::
Send, iē
return

:*:ie2::
Send, ié
return

:*:ie3::
Send, iě
return

:*:ie4::
Send, iè
return

:*:in1::
Send, īn
return

:*:in2::
Send, ín
return

:*:in3::
Send, ǐn
return

:*:in4::
Send, ìn
return

:*:iu1::
Send, iū
return

:*:iu2::
Send, iú
return

:*:iu3::
Send, iǔ
return

:*:iu4::
Send, iù
return

:*:ou1::
Send, ōu
return

:*:Ou1::
Send, Ōu
return

:*:ou2::
Send, óu
return

:*:Ou2::
Send, Óu
return

:*:ou3::
Send, ǒu
return

:*:Ou3::
Send, Ǒu
return

:*:ou4::
Send, òu
return

:*:Ou4::
Send, Òu
return

:*:ua1::
Send, uā
return

:*:ua2::
Send, uá
return

:*:ua3::
Send, uǎ
return

:*:ua4::
Send, uà
return

:*:ui1::
Send, uī
return

:*:ui2::
Send, uí
return

:*:ui3::
Send, uǐ
return

:*:ui4::
Send, uì
return

:*:un1::
Send, ūn
return

:*:un2::
Send, ún
return

:*:un3::
Send, ǔn
return

:*:un4::
Send, ùn
return

:*:uo1::
Send, uō
return

:*:uo2::
Send, uó
return

:*:uo3::
Send, uǒ
return

:*:uo4::
Send, uò
return

:*:ve1::
Send, üē
return

:*:ve2::
Send, üé
return

:*:ve3::
Send, üě
return

:*:ve4::
Send, üè
return

:*:vn1::
Send, ǖn
return

:*:vn2::
Send, ǘn
return

:*:vn3::
Send, ǚn
return

:*:vn4::
Send, ǜn
return

:*:a1::
Send, ā
return

:*:a2::
Send, á
return

:*:a3::
Send, ǎ
return

:*:a4::
Send, à
return

:*:e1::
Send, ē
return

:*:e2::
Send, é
return

:*:e3::
Send, ě
return

:*:e4::
Send, è
return

:*:i1::
Send, ī
return

:*:i2::
Send, í
return

:*:i3::
Send, ǐ
return

:*:i4::
Send, ì
return

:*:o1::
Send, ō
return

:*:o2::
Send, ó
return

:*:o3::
Send, ǒ
return

:*:o4::
Send, ò
return

:*:u1::
Send, ū
return

:*:u2::
Send, ú
return

:*:u3::
Send, ǔ
return

:*:u4::
Send, ù
return

:*:v1::
Send, ǖ
return

:*:v2::
Send, ǘ
return

:*:v3::
Send, ǚ
return

:*:v4::
Send, ǜ
return

:*:v5::
Send, ü
return

:*:IANG1::
Send, IĀNG
return

:*:IANG2::
Send, IÁNG
return

:*:IANG3::
Send, IǍNG
return

:*:IANG4::
Send, IÀNG
return

:*:IONG1::
Send, IŌNG
return

:*:IONG2::
Send, IÓNG
return

:*:IONG3::
Send, IǑNG
return

:*:IONG4::
Send, IÒNG
return

:*:UANG1::
Send, UĀNG
return

:*:UANG2::
Send, UÁNG
return

:*:UANG3::
Send, UǍNG
return

:*:UANG4::
Send, UÀNG
return

:*:ANG1::
Send, ĀNG
return

:*:ANG2::
Send, ÁNG
return

:*:ANG3::
Send, ǍNG
return

:*:ANG4::
Send, ÀNG
return

:*:ENG1::
Send, ĒNG
return

:*:ENG2::
Send, ÉNG
return

:*:ENG3::
Send, ĚNG
return

:*:ENG4::
Send, ÈNG
return

:*:ING1::
Send, ĪNG
return

:*:ING2::
Send, ÍNG
return

:*:ING3::
Send, ǏNG
return

:*:ING4::
Send, ÌNG
return

:*:ONG1::
Send, ŌNG
return

:*:ONG2::
Send, ÓNG
return

:*:ONG3::
Send, ǑNG
return

:*:ONG4::
Send, ÒNG
return

:*:IAN1::
Send, IĀN
return

:*:IAN2::
Send, IÁN
return

:*:IAN3::
Send, IǍN
return

:*:IAN4::
Send, IÀN
return

:*:IAO1::
Send, IĀO
return

:*:IAO2::
Send, IÁO
return

:*:IAO3::
Send, IǍO
return

:*:IAO4::
Send, IÀO
return

:*:UAI1::
Send, UĀI
return

:*:UAI2::
Send, UÁI
return

:*:UAI3::
Send, UǍI
return

:*:UAI4::
Send, UÀI
return

:*:UAN1::
Send, UĀN
return

:*:UAN2::
Send, UÁN
return

:*:UAN3::
Send, UǍN
return

:*:UAN4::
Send, UÀN
return

:*:VAN1::
Send, ÜĀN
return

:*:VAN2::
Send, ÜÁN
return

:*:VAN3::
Send, ÜǍN
return

:*:VAN4::
Send, ÜÀN
return

:*:AI1::
Send, ĀI
return

:*:AI2::
Send, ÁI
return

:*:AI3::
Send, ǍI
return

:*:AI4::
Send, ÀI
return

:*:AN1::
Send, ĀN
return

:*:AN2::
Send, ÁN
return

:*:AN3::
Send, ǍN
return

:*:AN4::
Send, ÀN
return

:*:AO1::
Send, ĀO
return

:*:AO2::
Send, ÁO
return

:*:AO3::
Send, ǍO
return

:*:AO4::
Send, ÀO
return

:*:EI1::
Send, ĒI
return

:*:EI2::
Send, ÉI
return

:*:EI3::
Send, ĚI
return

:*:EI4::
Send, ÈI
return

:*:EN1::
Send, ĒN
return

:*:EN2::
Send, ÉN
return

:*:EN3::
Send, ĚN
return

:*:EN4::
Send, ÈN
return

:*:ER1::
Send, ĒR
return

:*:ER2::
Send, ÉR
return

:*:ER3::
Send, ĚR
return

:*:ER4::
Send, ÈR
return

:*:IA1::
Send, IĀ
return

:*:IA2::
Send, IÁ
return

:*:IA3::
Send, IǍ
return

:*:IA4::
Send, IÀ
return

:*:IE1::
Send, IĒ
return

:*:IE2::
Send, IÉ
return

:*:IE3::
Send, IĚ
return

:*:IE4::
Send, IÈ
return

:*:IN1::
Send, ĪN
return

:*:IN2::
Send, ÍN
return

:*:IN3::
Send, ǏN
return

:*:IN4::
Send, ÌN
return

:*:IU1::
Send, IŪ
return

:*:IU2::
Send, IÚ
return

:*:IU3::
Send, IǓ
return

:*:IU4::
Send, IÙ
return

:*:OU1::
Send, ŌU
return

:*:OU2::
Send, ÓU
return

:*:OU3::
Send, ǑU
return

:*:OU4::
Send, ÒU
return

:*:UA1::
Send, UĀ
return

:*:UA2::
Send, UÁ
return

:*:UA3::
Send, UǍ
return

:*:UA4::
Send, UÀ
return

:*:UI1::
Send, UĪ
return

:*:UI2::
Send, UÍ
return

:*:UI3::
Send, UǏ
return

:*:UI4::
Send, UÌ
return

:*:UN1::
Send, ŪN
return

:*:UN2::
Send, ÚN
return

:*:UN3::
Send, ǓN
return

:*:UN4::
Send, ÙN
return

:*:UO1::
Send, UŌ
return

:*:UO2::
Send, UÓ
return

:*:UO3::
Send, UǑ
return

:*:UO4::
Send, UÒ
return

:*:VE1::
Send, ÜĒ
return

:*:VE2::
Send, ÜÉ
return

:*:VE3::
Send, ÜĚ
return

:*:VE4::
Send, ÜÈ
return

:*:VN1::
Send, ǕN
return

:*:VN2::
Send, ǗN
return

:*:VN3::
Send, ǙN
return

:*:VN4::
Send, ǛN
return

:*:A1::
Send, Ā
return

:*:A2::
Send, Á
return

:*:A3::
Send, Ǎ
return

:*:A4::
Send, À
return

:*:E1::
Send, Ē
return

:*:E2::
Send, É
return

:*:E3::
Send, Ě
return

:*:E4::
Send, È
return

:*:I1::
Send, Ī
return

:*:I2::
Send, Í
return

:*:I3::
Send, Ǐ
return

:*:I4::
Send, Ì
return

:*:O1::
Send, Ō
return

:*:O2::
Send, Ó
return

:*:O3::
Send, Ǒ
return

:*:O4::
Send, Ò
return

:*:U1::
Send, Ū
return

:*:U2::
Send, Ú
return

:*:U3::
Send, Ǔ
return

:*:U4::
Send, Ù
return

:*:V1::
Send, Ǖ
return

:*:V2::
Send, Ǘ
return

:*:V3::
Send, Ǚ
return

:*:V4::
Send, Ǜ
return

:*:V5::
Send, Ü
return


Scoox
  • Members
  • 194 posts
  • Last active: Jun 09 2017 03:34 AM
  • Joined: 28 Nov 2010

I used AutoHotkey_L to create a similar utility which I named QuickPinyin, I posted it on Chinese-Forums HERE.

QuickPinyin puts an icon on the system tray and looks more like a "finished product" because I distributed it with a compiled .exe, for people who don't want to mess with AutoHotkey.

I also want to point out that your script has a lot of redundant code. For example, "iang" already includes "ang", and so when you type "iang2" AutoHotkey ignores the leading "i".

My version makes more efficient use of hotstrings, and can do what your script does with just 80 lines of code, provided you use AutoHotkey_L. It can also handle mixed-case pinyin (which your script can too).


RegJump() - Jump to registry path in Regedit

HoverScroll() - HoverScroll() - Scroll controls without focus


fzzylogic
  • Members
  • 4 posts
  • Last active: Aug 27 2015 04:50 PM
  • Joined: 05 Apr 2011

Time flies. Thanks for the feedback Scoox. I used your script, it works well. But i needed a linux version. Linux has AutoKey, which does ok for text expansion and automatically handles mixed case. So removed the unnecessary things and the case variants and made this for AutoKey which results in the same functionality.