<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="+1"><font face="Arial Unicode MS">Is code point
order the ONLY way to sort dictionary entries? </font></font><font
 size="+1"><font face="Arial Unicode MS">Surely there is a solution
which would retain the printed or intended order of dictionary entries
without giving up lots of efficiency. If not, I think users would find
a correctly ordered but slower dictionary to one which is fast but
jumbled up.<br>
<br>
At the very least, even if dictionaries aren't sorted by the printed
order, they should AT LEAST be in alphabetical order. To me that is a
non-negotiable for a dictionary--people depend on dictionaries being in
the right order, and code point order disturbs that for some languages.
Here are a couple of ideas:<br>
    - C</font></font><font size="+1"><font face="Arial Unicode MS">ould
a configuration file of some sort be created to define a sorted order
for a given language
that would actually be in alphabetical order?<br>
    - Could a dictionary index be created to handle large dictionaries
which allows for the retention of the correct order of entries (whether
that is the printed order or alphabetical order)? <br>
    - Bibles are not ordered by code point, and we are able to search
them fairly quickly. Do dictionaries need to be compiled in a fashion
similar to Bibles?<br>
</font></font><font size="+1"><font face="Arial Unicode MS"><br>
As it stands, dictionaries are NOT displayed in alphabetical order (at
least not Vietnamese, and apparently Farsi), which at best looks silly
to the user and at worst means you have to manually hunt around to find
the right entry, making a Genbook more efficient for the user in the
end. But then you lose the dictionary lookup feature. <br>
<br>
Daniel<br>
</font></font><br>
Ben Morgan wrote:
<blockquote
 cite="mid:bbb201fa0809171622g562faf30wcd16215c871fdfcc@mail.gmail.com"
 type="cite">
  <pre wrap="">The issue with ordering as I understand it is that if it is in (some form
of) sorted order, you can use binary search to find entries.
If you want order retained, it is best to use a genbook - but it won't be as
efficient, and may not have as good UI support.
With huge english dictionaries (like Webster's, for instance) this becomes
very important.

>From BPBible's perspective, dictionary handling is done as follows:
1. Read the index of the dictionary and divide by 4 or 6 to get the length
(depending on the driver)
2. Set the virtual list length to the dictionary length
3. When any item is displayed in the virtual list, it retrieves it from the
module.
4. When the user starts typing in the text box above, it does a binary
search to find which item to display.

4 is already quite slow enough on big dictionaries - by having it unsorted,
it would make it quite a lot slower, I imagine.
All the keys from the module would have to be read in, which takes a while.

God Bless,
Ben
-------------------------------------------------------------------------------------------
The Lord is not slow to fulfill his promise as some count slowness,
but is patient toward you, not wishing that any should perish,
but that all should reach repentance.
2 Peter 3:9 (ESV)


On Thu, Sep 18, 2008 at 12:43 AM, Daniel Owens <a class="moz-txt-link-rfc2396E" href="mailto:dhowens@pmbx.net">&lt;dhowens@pmbx.net&gt;</a> wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">mention that byte ordering does some strange things to Vietnamese
dictionaries. The Vietnamese script is a Latin script, but because it uses
some odd characters code point ordering results in illogical and
non-alphabetical entry ordering. For example, the "d" with a line through it
(đ) gets relegated to near the end of the dictionary instead of after the
regular "d" or anything with an apostrophe at the beginning of a word or
phrase gets moved to the top of the list regardless of the first letter
(such as 'tis). I am supportive of the IIRC general opinion. Let the module
creator worry about the ordering. Otherwise you get some very strange
dictionary behavior.

    </pre>
    <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
  </blockquote>
</blockquote>
<br>
<pre class="moz-signature" cols="72">-- 
PMBX license 1502 
</pre>
</body>
</html>