Its taken quite a while but the new and much improved engine is now up. As I have mentioned a couple of time its been a real interesting challenge to get the right indicator for when you enter text in the typetrainers.
To give an example
For the word 말하다. When you enter the letters you notice that the letters “jump” around between the letter blocks – the jamo. Which from a programming view means that the letter blocks shifts around for each letter you type and have different codes for each representation.
ㅁ 마 말 맗 말하 and so on.
As you can see the letter ㅎshifts place and even forms the double syllable ㅀtemporarily, which isnt part of the final word, but is actually correctly entered. So I had to develop a simple engine that could look up all of these exceptions and check if the letters you entered eventually could form the jamo textblock that was correct for the final word or sentence. The difficult part was to ensure that the engine didnt approve of the right letters but in the wrong blocks
말 is correct but 마ㄹ isnt.
I hope it works well, but of course exceptions can occur, and these have to be entered into the engines database. So let me know in the comments if you find undesired or wrong indications when you use the tools and just as important, when you get a “false positive”.
You can find a list of the complete jamo unicodes here.