Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » RichText,QTF,RTF... » Spell checking on linux
Spell checking on linux [message #26322] Sat, 24 April 2010 21:00 Go to previous message
dolik.rce is currently offline  dolik.rce
Messages: 1789
Registered: August 2008
Location: Czech Republic
Ultimate Contributor

Hi!

Today, I decided that I should use spellchecker when writing a new page for uppweb. I knew there is one, but to my great surprise, it didn't work.

After consultation with Koldo and digging through sources, I found where is the problem: There is no dictionary in Linux releases. Well, no problem - I said to myself - let's download the dictionary from svn or sf.net. Another surprise: there is no English dictionary on sf.net and there is even no dictionaries at all in svn.

So I had to download the win installer and extract the en-us.scd file from there. I put it to ~/.upp/theide where theide is supposed to look for the dictionaries. And here comes the last surprise - it didn't help either.

Finally, after reading the sources more carefully, I noticed it is actually looking for "EN-US.scd" and that makes a great difference on case-sensitive filesystems.

So I have few proposals:
  1. Add basic (at least en-us) dictionaries to the src packages. I'll take care about debian packages.
  2. Put the files for all available languages on one common place for download (sf.net as it is now is fine, just add English ones please)
  3. Make the files work corectly on Linux - i.e. either convert the basename to uppercase OR change the code in sGetSpeller() to
    ...
    pp << spell_path << ';' << getenv("LIB") << ';' << getenv("PATH") << ';';
    String path = GetFileOnPath(ToLower(LNGAsText(lang)) + ".udc", pp);
    if(IsNull(path))
    	path = GetFileOnPath(ToLower(LNGAsText(lang)) + ".scd", pp);
    if(IsNull(path))
    	return false;
    FileIn in(path);
    ...
  4. The usual complaint: This should be documented somewhere. If nobody disagrees, I'll put an article to theide docs explaining how to obtain and install additional dictionaries inside theide.


Best regards,
Honza

[Updated on: Sat, 24 April 2010 23:09]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to define the width of a table?
Next Topic: Using QTF the easiest way (specially for Newbies)
Goto Forum:
  


Current Time: Mon Apr 29 11:07:19 CEST 2024

Total time taken to generate the page: 0.04062 seconds