Dictionary Patch

This post is outdated. See the following for update. Dictionary Patch 2

Goal

I'v already written some Apple script on Hackintosh for fast dictionary search. Now I seek to have a handy dictionary at disposal on windows platform.
  • [x] Find a good Dictionary
    • [x] Modify for better user experience
  • [x] FInd a good Dictionary Software
    • [x] Modify for better user experience
  • [x] Integrate with Shanbay
    • [x] Basic intergration by simulating user activity
    • [ ] Advanced intergration by combining webpage with local software

Dictionary

New Oxford English-Chinese Dictionary

Dictionary License

Obviously it's illegal to redistribute any Oxford dictionaries in any form, and I do not know for sure if I have any right to use any of them in case I didn't directly buy the specific version. However, given the fact that I own both the correspondent printed version and at least one digital edition (bought), I guess I have every right to use some other digital version provided throughtout the Internet. After all, it's just some transcription work which isn't asked for any pay. Appreciate it! As to modifying it for my personal use, I reckon no problems with it, so does the dictionary softeware below. Anyway I won't provide any dictionary as I'm not responsible of checking whether downloaders have the license to use it.

Dictionary Software

Sorry but it's not a free software. I haven't found any better choice on Windows platform, even it's still not perfect on some aspects, including UI, hotkey, etc. So patches needed. If you do know a better choice, please let me know.

Eudic 11.6.3 (Build136)

This is the most stable version, and responds much more faster than its following versions. Curious. Wonder if the company ill-treats its developer...

Eudic 12.1.2 (Build242)

Better UI with more bugs and slower responding speed.

Advanced Integration

I use Shanbay for words learning. So don't be surprised if you see anything regarding Shanbay, Chrome, etc.

Tool

MdxExport.exe MdxBuilder.exe

Source

.mdx = compact .html Replace table:
FindReplace with
<hr><br><br><br>
<font color="red"><font color="black">
<font color="blue"><font color="grey">
<br><b><font color="green" size="+1">语源</font></b><br><br><b>ORIGIN</b><br><hr>
<br><b><font color="green" size="+1">派生</font></b><br><br><b>DERIVATIVES</b><br><hr>
<br><b><font color="green" size="+1">用法</font></b><br><br><b>USAGE</b><br><hr>
<br><b><font color="green" size="+1">常用词组</font></b><br><br><b>PHRASES</b><br><hr>
<br><b><font color="green" size="+1">继承用法</font></b><br><br><b>PHRASAL VERBS</b><br><hr>

Style

Eudic uses web page css for typography. Path:
C:\Program Files (x86)\Eudic\dat\res\style.css
Add:
/*
 * by MK 
 */

/*====== Font ======*/
* {
    font-family: "Microsoft Yahei", Segoe UI !important;
}

/*====== Pronunciation ======*/
.py, .PY {
    color: #4E4E4E;
}
.Phonitic {
    color: #4E4E4E;
    font-family: Lucida Sans Unicode, Arial Unicode,Arial !important;
    font-size: 11pt;
}

/*====== Paragraph ======*/
.expDiv {
  line-height: 1.5em !important;
}

Fast Search Script

Eudic 11.6.3 (Build136)

; To SZL, with best wishes
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

^<#a::
    send, ^{c}
    Gosub, Pronounce
    Gosub, Activate
    Gosub, Paste
    Gosub, Back
return

Pronounce:
    If WinActive("扇贝,知道你在改变 - Google Chrome")
    {
        send, {p}
    }
    return

Activate:
    IfWinExist, ahk_class TFormMainEudic ;Qt5QWindowIcon
    {
        WinActivate, ahk_class TFormMainEudic
    }
    else{
        Run, eudic.exe, C:\Program Files (x86)\eudic\
        Loop
        {
            Sleep, 100
        }
        Until WinActive("ahk_class TFormMainEudic")
        Sleep, 1000
    }
    return

Paste:
    IfWinActive, ahk_class TFormMainEudic
    {
        send, {enter}
        send, ^{v}
        send, {enter}
    }
    return

Back:
    IfWinExist 扇贝,知道你在改变 - Google Chrome
    {
        WinActivate, 扇贝,知道你在改变 - Google Chrome
    }
    return

Eudic 12.1.2 (Build242)

; To SZL, with best wishes
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

^+a::
    send, ^{c}
    Gosub, Pronounce
    Gosub, Activate
    Gosub, Paste
    Gosub, Back
return

Pronounce:
    If WinActive("扇贝,知道你在改变 - Google Chrome")
    {
        send, {p}
    }
    return

Activate:
    IfWinExist, ahk_class Qt5QWindowIcon ;TFormMainEudic
    {
        WinActivate, ahk_class Qt5QWindowIcon
    }
    else{
        Run, eudic.exe, C:\Program Files (x86)\eudic\
        Loop
        {
            Sleep, 100
        }
        Until WinActive("ahk_class Qt5QWindowIcon")
        Sleep, 3000
    }
    return

Paste:
    IfWinActive, ahk_class Qt5QWindowIcon
    {
        send, {enter}
        Sleep, 100
        send, ^{v}
        send, {enter}
    }
    return

Back:
    IfWinExist 扇贝,知道你在改变 - Google Chrome
    {
        WinActivate, 扇贝,知道你在改变 - Google Chrome
    }
    return

End note

I put little faith on the Eudic software I use for now. After all, as to core intellectual property, the software has no right to officially publish any Oxford dictionaries, Longman Dictionary of Contemporary English or anything matching them, while all above are quite easily accessed online. As a dictionary content browser and search engine, it's gradually losing its advantages comparing to vast competing rivals who charge free, espicially in terms of bug, stability, and responding speed.