Hello all! I am a student at Saint Louis University and I'm currently a student of Kevin Scannell.
I'm working on creating an English Phonetic dictionary for class, but I've run into some problems with actually loading the dictionary within Scrabble3D. It seems to freeze after loading 447 words, which I find odd because there doesn't seem to be anything special with that word in particular. Sometimes it loads the dictionary but freezes after searching for a word within the dictionary during gameplay, and other times it freezes upon loading outright.
It does load and work properly when using just the first 446 words. I've tried using different sections of the dictionary, and I've had varied success, but it never loads the entire dictionary, or even a significant portion of it. I've modeled mine after other dictionaries that come packaged, such as the russian.dic, and I cannot tell a difference between my dictionary and other dictionaries.
Any help or insight into what may be causing the problem would be greatly appreciated!
Attached are both the entire English Phonetic dictionary that doesn't currently work, and the short version that appears to work.
It seems to be an issue with uppercase converting (doesn't help to do it yourself). I asked the gurus (http://www.lazarus.freepascal.org/index....ic,19095.0.html). If you desperately need a solution I could build one without conversion (maybe it's a good idea at all to leave case awareness to users).
I'm not sure, but I believe that it might have something to do with the alphabetical order of the words or with the lacking upper case in IPA.
I don't know which is the correct "alphabetical" order in IPA, when it comes to Unicode-encoding. In Unicode there should be a standardized order of the IPA graphemes.
Anyway: When Scrabble3D loads a new dictionary for the first time, it tries to create the correct alphabetical order in the dic. And it tries to convert all small letters to capital letters. But in IPA there is no lower case vs. upper case. I think that this could be the reason why the program freezes or loads only 2336 words (for me it loads 2336 words of the whole phonetic.dic). Then it stops loading. Because Scrabble3D is programmed to do something which turns out to be impossible...
I think that this is a case for Scotty, the developer of Scrabble3D.
BTW: If you want to play games in IPA, you should also load an IPA letter set. Can you post the IPA letter set, too? I'm very interested in your exciting phonetic project...
Zitat von Scotty on Lazarus forum http://www.lazarus.freepascal.org/index....ic,19095.0.htmlWhen I call UTF8UpperCase('ɑbɑri'); (pchar #201#145'b'#201#145'ri') any further action leads to external SIGSEV. I guess some pointer are faulty; e.g. OutCounter for "Final correction of the buffer size" is 9. If someone can confirm I'll post a bug report.
Scotty, I don't understand what you have written in the Lazarus forum, but I think the problem is that the International Phonetic Alphabet does not distinguish lower and upper case. There is only one IPA grapheme per sound of the language. If Scrabble3D is programmed to do something which cannot be realized, what should Scrabble3D do else than stop/freeze? If it were me, I would do exactly the same thing as Scrabble3D does: I would stop trying to do things that are absolutely impossible to realize, things that are aimed to fail...
After having loaded phonetic.dic, you must kill the program with the Task Manager (in Windows), because Scrabble3D cannot load any other dictionary any more. Our poor Scrabble3D seems to be totally confused by such difficult phonetic exercises...
@Scotty: But what is the difference between phonetic.dic (IPA) and persian.dic (Arabic signs) and hebrew.dic? In Hebrew and Arab, are there capital letters or not?
I think one problem is that some letters in IPA are recognized as normal letters of the Latin alphabet, others might be recognized as letters of the Greek alphabet, like θ, and those letters can be transformed in capital letters. Οther IPA signs (like ŋ) are special graphemes that don't exist in other alphabets and which don't exist in upper case. That mix of lower case and upper case within one word is confusing our Scrabble3D.exe and then it cannot put the words in correct alphabetical order.
So Scotty, you believe it's a problem with converting some characters in utf-8 to uppercase, and that there is a bug in the pascal function Utf8UpperCase? I see that the bug has been reported, but what is the usual turn around time for bug fixes? Worst case I would appreciate a build that doesn't convert to uppercase, just so I can actually have a working version. Ideally it'd be nice if my dictionary could be included with the option to be downloaded in the regular release, but I guess that won't be possible until the bug is fixed.
Bussinchen, I had been testing with an English letter set, just to see if the dictionary would load. I plan on making the letter set once I can load the dictionary, as I figure it might have similar problems loading like the dictionary.
Zitat von steve13542 im Beitrag #9Hmm interesting, thanks for the quick responses. [...] Bussinchen, I had been testing with an English letter set, just to see if the dictionary would load. I plan on making the letter set once I can load the dictionary, as I figure it might have similar problems loading like the dictionary.
You are welcome!
Configuring a phonetic IPA letter set has nothing to do with the current problems regarding the dictionary. Of course you can configure an IPA letter set and save it as an individual preset, but without phonetic.dic you cannot play in a normal way. But if you have the IPA letter set and if you have loaded english.dic for instance, you can place words anyway, but each time you place a word, the program will ask you if you accept the word that has not been found in the dictionary. If you answer "Yes", you can place phonetic words anyway. Maybe a good idea for test purposes, but of course this will not be an IPA training for students, because there is no control made automatically by the program.
If phonetic.dic will be uploaded on Sourceforge.net, don't forget to give it another name. French or German phonetic is different from English/American phonetic. So maybe you should choose a file name like this: english-phonetic.dic
You made a very good job! phonetic.dic! Great! I like it! Scrabble3D as Mr Higgins , Scrabble3D as a didactical/educational tool for training IPA transcription with students! Phantastic!
Zitat von Bussinchen im Beitrag #8Will it be possible to load Steve's phonetic.dic correctly in the future, when the Freepascal-Lazarus-bug has been fixed?
Zitat von steve13542 im Beitrag #9...what is the usual turn around time for bug fixes?
I don't know. Sometimes the guys are really fast with bugs that are easy to fix. But sometimes it took years. But after all I think converting letters is dispensable. Why not let someone play with lower-case letters? All official dictionaries pass my hands first...
Let me know what you decide with Scrabble3D, it appears like the bug you submitted has been fixed, so maybe you could release an updated version?
I'm still working on my letter set to reflect the correct point values and counts to reflect their proper distribution. I'm also fixing up my dictionary, as there were things like proper names in it that I plan on filtering out in the final version.
Looks good. I have uploaded (or will do within the next minutes) an intermediate version (v28g) for tests until weekend. Then I'll check if we can omit the conversion stuff. I run a test with a setup based on character distribution and simple rule of thumb distribution.
Zitat von Copy 'n Paste does workA 2 3 Æ 2 3 Ɑ 8 1 B 2 3 D 4 2 Ð 0 10 Ɗ 1 7 E 1 4 Ə 11 1 F 2 3 G 1 4 H 1 5 I 4 2 ɪ 14 1 J 1 8 K 5 2 M 3 2 N 7 1 Ŋ 1 5 O 2 3 Ɔ 1 4 P 2 3 R 5 1 S 6 1 T 6 1 U 1 5 V 1 4 W 1 6 Z 3 2 Ʒ 1 6 Θ 1 9
PS: On Windows you need to configure a better font than Arial. I suggest to use Linux
Zitat von Scotty im Beitrag #14 Then I'll check if we can omit the conversion stuff.
Since there are capital letters, I would not recognize this as a phonetic IPA transcription. But I hope that omission of conversion to uppercase will not create problems for other languages in the future!
But I confirm that it is possible to load the whole phonetic.dic now: 113921 words.