Jump to content

msT9 Ed (yes, another PC based T9 editor) v1.2 now available


Guest gothi

Recommended Posts

Guest gothi

v1.2 available for download in the first post

Changelog:

[*] Priority calculation changed again, hopefully this is a happy medium.

[*] New check added when saving, if Priority checksum is greater than FFFF msT9 Ed attempts to apply a fix

[*] Misc fixes on unimportant display functions

[*] Help File updated with a new section (Saving a 'T9 input destroyed' dictionary)

[*] Now able to open a dictionary by dropping it onto the application.

I'm glad I didn't release 1.2 when I finished it, I was able to catch two bugs I'd introduced with the new checking routine.

I'll now start looking at the other .udb files and seeing what I can make of them :)

Link to comment
Share on other sites

Guest Pagemakers

I get this error when I try to save, either to the PC or the phone:

Also is there anyway to change to priority of words that are in the phone's dictionary (not user). Changing "if" to say "if" instead of "he"?

Win XP

t92.gif

Link to comment
Share on other sites

Guest gothi

I'll look into the positioning, I'm not sure why it's starting like that for you as I set it to appear in the middle of the desktop so I've no idea what's happening. I'll see about sorting something out for you though :)

Alas you cannot affect inbuilt words, I guess you could try adding one and raising it's priority but I think I tried that and it didn't work.

As for that range check error, can you send me the dictionary you were using or anything else that may help me track it down (for example number of words and length of the longest), I haven't seen that error in a long time and thought I'd got rid of it.

Link to comment
Share on other sites

Guest Pagemakers
I'll look into the positioning, I'm not sure why it's starting like that for you as I set it to appear in the middle of the desktop so I've no idea what's happening. I'll see about sorting something out for you though :)

Alas you cannot affect inbuilt words, I guess you could try adding one and raising it's priority but I think I tried that and it didn't work.

As for that range check error, can you send me the dictionary you were using or anything else that may help me track it down (for example number of words and length of the longest), I haven't seen that error in a long time and thought I'd got rid of it.

Like you said it does not work with the inbuilt words. I already tried that.

If I create a new dictionary it works OK. But if I open my existing dictionary (which has been edited with stevekay's T9 Editor. I can not save. It has 107 words and nothing too long. Some are phone numbers though.

Link to comment
Share on other sites

Guest gothi

I think I'm able to replicate the error you are experiencing and will start looking into it immediately (which unfortuantly also means AWT9.UDB research is on hold)

I've also altered the default position so when 1.3 is released it should clear that problem up for you too :)

Link to comment
Share on other sites

Guest gothi

Ok, this error is caused by an overflow of the main checksum variable, I'm interested as to whether your dictionary actually works on the smartphone and what it's checksum value is (it should be a max of FFFF, the error is generated because during calculation it's going higher)

However msT9 Ed does err on the side of caution with priority values so Steves tool and indeed the T9 Input software may have given you a few more words before erroring.

What I'm thinking of doing is similar to the Priority checksum fix where I'll reduce the priority of the highest items until the main checksum is within it's limit.

I'll have a think about the best course of action and see if there's an alternative solution :)

Link to comment
Share on other sites

Guest Ainvar

Anyword on why it still hangs when pulling the t9 wordlist from the phone?

I have a SPV e200 i-mate smartphone 2.

I am running the latest rom and this is not an orange branded phone.

I looked in the locations where you said the t9 dictionary would be and I dont have it there or a udb file anywhere that I could see.

Link to comment
Share on other sites

Guest Pagemakers
Ok, this error is caused by an overflow of the main checksum variable, I'm interested as to whether your dictionary actually works on the smartphone and what it's checksum value is (it should be a max of FFFF, the error is generated because during calculation it's going higher)

However msT9 Ed does err on the side of caution with priority values so Steves tool and indeed the T9 Input software may have given you a few more words before erroring.

What I'm thinking of doing is similar to the Priority checksum fix where I'll reduce the priority of the highest items until the main checksum is within it's limit.

I'll have a think about the best course of action and see if there's an alternative solution :)

Yes the dictionary works perfectly.

Not sure where I get the checksum error from.

Link to comment
Share on other sites

Guest gothi

Ainvar, I'm not sure where you're T9 user DB could be, is there a possability it uses a different format? Look around obvious places and try opening a few files in a hex editor (after copying them to your PC), you'll easily spot which is a word list

Pagemakers, msT9 ED plays it 'safe' with priority values (It was a compromise due to letting anyone edit them instead of only the T9 Input software). Alas this method has meant the file checksum limit has been reached and exceeded on your dictionary, Steves SP T9 Editor doesn't alter existing priority values meaning they can go as low as 1 (that's 1 decimal, msT9 Ed goes as low as 24 decimal, due to losing a few dictionaries because of low values I decided to play it safe and round up).

A 'quick fix' is to either remove a word or two and/or drop a few priority values, however I will be addressing this issue very shortly :)

Link to comment
Share on other sites

Guest Jasonkruys

One of the versions released set the priorites of all the words to 4 or something when you opened a dictionary, this cured the T9 dictionary dissapearing a little. But the latest (v1.2) doesn't and when I open my dictionary, they are all set to 1. If I save it to the phone, it almost seems that once I have typed a single sms, all the words dissapear again :)

Link to comment
Share on other sites

Guest gothi

The priority calculation changed in v1.1, a 4 in 1.1 is the same as a 1 in 1.0 and 1.2 though I'll take a look at the dissapearing issue whilst working on the new checksum calculation routine :)

Link to comment
Share on other sites

Guest aidanapword

Gothi,

Excellent work.

I know, I know ... not adding much to this forum, but a little exta encouragement is a good thing.

Running: SPV E200, Orange (UK) branded, using ROM as released on phone (which was purchased May 2004).

Some notes on hows & whats of priorities would be great. All this sort of thing means includig a help file in the release (a right pain in the butt, I know ... the less files the better ... but for newbies to the T9 edit stuff, it sure would help!).

Thanks again!

Trevor

P.S. Your dev environment ... how do I setup my own? Are there any neat links for details on this? I am a developer of some experience so ...

* Are you using Vis Studio?

* Are there any non-MS options? (I know ... a man can dream!)

* Is there a concise API doc somewhere?

Link to comment
Share on other sites

Guest gothi

I use Delphi 7, there's nothing very special about my enviroment (unless you count an overflowing desktop as special :D), it's just my normal PC which I use for a variety of tasks :)

To communicate with the phone (which is a very small part of the software and is simply a file transfer) I use RAPI.PAS which I found on the net and fixed, it's available in the C++ section of the forum (I didn't know where else to put it).

As I understand it there is a lot of documentation for both Visual Basic and Visual C++ on the net for communicating with the phone, in fact to get started I converted some C++ examples to Delphi. If you need any assistence I'm happy to help but I dare say there's others with more experience and skills than I have (I'm a programming noob) who may be able to provide better advice.

There is a help file included in the zip, if it needs improvements just let me know the specifics and I'll get it sorted :lol:

1.3 won't be out until next week at least (I have company for a few days and have to put programming aside) however I've decided to go for a 'basic' and 'advanced' mode.

Both modes will be similar to what you see now, however 'basic' will not allow you to edit word priorities and will keep the existing values (albeit hidden from view).

Advanced will allow you to edit them but in doing so will round up the values to a power of 8 (starting at 24, ending at 248), I will be implementing a 'fix' if the checksum value is too great, however I want to do some more testing before I start on this routine to see what the phone does when faced with a checksum value greater than FFFF.

You will of course be able to swap modes at any time but switching to advanced will round the values losing the original values for the words so if you decide you preferred the previous basic setting values then it might be wise to work on a backup of your dictionary :lol:

Hopefully this change in design will appease everyone's needs and then the task of testing the AWT9.UDB format will begin (which I will need at least one volunteer for when the time comes :lol:)

Link to comment
Share on other sites

Guest aidanapword

Gothi,

Thanks for the notes and

On the volunteer front ...

As a non-programming noob - but very much a Windows Mobile noob - you're looking at a keen (if very busy) volunteer. As always: so much to learn so little time.

I spent a good amount of time training in the Pascal world (8 years ago now!), but am used to "language hoping" for work (professionally writing in either C#, C++, Java or PowerBuilder ... and ... under duress ... VB).

The Delphi 7 dev environment at £79 is inexpensive (for what it is) but I have the licenses I need for the MS stuff through other means (sick isn't it?) ... any Delphi-pros out there willing to help? I could use a trial version for a week or two and see how things go?

Most important:

Gothi - keep up the good work!

GB,

AidanApWord

Link to comment
Share on other sites

Guest crafty

Love this app Gothi. Was wondering if it would be possible for your program to detect when you sync your phone with your PC and check the size of the dictionary. If it were below the value of a backup of mst9.udb with your added words (i.e. it had forgotten added works) then is automatically replaces it. If however it is larger than your backup (i.e. you have added more workds) then it replaces the backup version. I have no prgramming experience so have no idead how possible this is but think this would be great.

Keep up the good work mate!

Link to comment
Share on other sites

Guest aidanapword

Crafty,

This is a good idea. There are a few technical challenges though (and i have no idea how hard each would be to tackle!):

ONE

Running an automated process *on connection* is hard (I am not sure ActiveSync supports this?) and potentially not what the user wants. I think the restrictions on running code automatically may be to make it harder to build malicious applications (neo-viruses and stuff) that do things like: shut down the file transport and the install mechanisms on connection so that the uninstall can't be done and stuff (that would wind me up no end! I shudder to think how easy ti would be to enforce hard-resets and stuff!).

But this is not a huge challenge because most of us have "patterns" we go through when we sync our phones. Much of our usage pattern is likely similar to: a) Connect, :) sync, 3) update, 4) download and 5) install. We may not do all 5 every time, and we may not do these things in that order ... but it can be quite quick to get into habit. So "sync your dictionary" just becomes another click on your desktop/shortcut bar etc ...

TWO

To equate that a dictionary is larger with it being "newer" one is not necessarily valid. When you define dictionary size by the number or words ... then it is important to remember that a dictionary with 20 in it may still be smaller than a dictionary with 7 words in it . If the words in the first case are all short ones and the words in the second are long ones then comparing dictionary "size"s on file size alone is unlikely to yield stable results. Remove a 10 letter word from the dictionary and add two new 3 letter words to the dictionary ... the "new" dictionary's file size may be the same or smaller ... which means that comparing size would likely get it wrong. But reading the innards of the dictionary file to compare old vs new would work (would be slower but not so much as the user would ever know!).

THREE

I don't think comparing the dictionary's update time/stamp (file date) would help either ... since I think it is likely re-written every time you type a word it doesn't recognise in non-T mode. So checking if the PC copy of the dictionary is newer than the phone one won't help.

FOUR

Leaving the user to update his dictionary manually and just regularly "apply" it to the phone every time he/she connects is not a very user-friendly attitude, I grant you.

FIVE

Setting a threshold priority level might be an idea though ...? That is: comparing the two dictionaries and inserting into the PC dictionary (over-writing when necessary) any words in the pc-dictionary with words that have a higher priority on the phone than the threshold - then over-writing the phone dictionary with the PC dictionary ... it might work?

Leaving the user a chance to edit the dicitionary directly as well. This way those little words you never really wanted to add to your dictionary get cleared out whenever you sync&check your dictionary.

Gothi ... any ideas?

The thing is: the process would need to open both the dictionary from the phone and the pc-stored copy to compare the two. And once the comparison is complete (and the PC updated with any IMPORTANT new words), to upload the modified version back onto the phone. I suspect Gothi might have to re-architecture a lot of his code.

... a but a little encouragement there for him: Gothi ... you already know the full internal structure of the file on the phone so you have done all the translation grind-work?

Just my two cents worth.

GB,

AidanApWord.

Link to comment
Share on other sites

Guest gothi

It's easy to check if the amount of words on the dictionary is greater/less/ equal to that of one on the PC (and indeed take a look at the checksums to see if there are the same amount of words but a different collection)

However I'm dubious of overwriting anything, the best compromise would possably be to do a merge of words and allow the user to remove any before syncing back to the phone. This would probably be better achieved by creating a run time parameter and creating a desktop shortcut to start the process. What do you think?

I'll look into it for a future build, for now I want to start work on the simple and advanced modes as well as fix another bug I spotted (it's doubtfull many will have come across it yet so don't panic :lol:) and of course start some serious investigation into the other T9 format.

Keep the suggestions coming, I'll implement what I can and feedback is much appreciated :)

Link to comment
Share on other sites

  • 2 weeks later...
Guest t-team

Does anyone know if this is available in Dutch, or if not, is there another program like T9 in dutch. My phone is english and i am dutch...

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.