Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle

Notices

Reply
 
Thread Tools Search this Thread
Old 01-05-2021, 05:22 PM   #1
geotadams
Junior Member
geotadams began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Apr 2020
Device: Kindle Basic
Does the Kindle not recognize some diacritics for exact match in dictionary lookups?

Hi,

I've been slowly going through the process of making my Slovak-German dictionary fully functional with the ability to look up words with inflections, and I've recently run into a problem. Slovak is a language with a great deal of diacritical markings, and the Kindle seems like it may treat some differently than others. The dictionary seems to differentiate between normal accent marks and umlauts just fine, such as áéíóú. But when it comes to some of the more unusual diacritics in Slovak, it doesn't seem to bother. Examples:

Koza - goat, Koža - skin, leather. Although on both of these the dictionary is told to look for an exact match, it always brings up the entry for koza when koža is selected.

Cigána - accusative of gypsie, cigáňa - accusative of liar (admittedly these words are etymologically related thanks to racism, but they should still be treated separately by the dictionary) - selecting cigáňa always brings up gypsie.

So it seems that the "exact match" parameter may only work with certain diacritics, unless I'm missing something here. Does anyone have a suggestion as to how I could fix this problem, or a possible workaround? Below is my code for the examples:

Code:
      <idx:entry name="word" scriptable="yes">
        <h2>
          <idx:orth value="cigán">Cigán
		  <idx:infl>
		  <idx:iform value="cigán" exact="yes" /> 
		  <idx:iform value="cigána" exact="yes" /> 
		  <idx:iform value="cigánovi" exact="yes" /> 
		  <idx:iform value="cigán" exact="yes" /> 
		  <idx:iform value="cigánovi" exact="yes" /> 
		  <idx:iform value="cigánom" exact="yes" /> 
		  <idx:iform value="cigáni" exact="yes" /> 
		  <idx:iform value="cigánov" exact="yes" /> 
		  <idx:iform value="cigánom" exact="yes" /> 
		  <idx:iform value="cigánov" exact="yes" /> 
		  <idx:iform value="cigáni" exact="yes" /> 
		  <idx:iform value="cigánoch" exact="yes" /> 
		  <idx:iform value="cigánmi" exact="yes" /> 
		  </idx:infl>   
		  </idx:orth>
        </h2>
Zigeuner	<i>noun</i>	<b>ethn.</b>
      </idx:entry>


      <idx:entry name="word" scriptable="yes">
        <h2>
          <idx:orth value="cigáň [klamár]">cigáň [klamár]
		  <idx:infl>
		  <idx:iform value="cigáň" exact="yes" /> 
		  <idx:iform value="cigáňa" exact="yes" /> 
		  <idx:iform value="cigáňovi" exact="yes" /> 
		  <idx:iform value="cigáňa" exact="yes" /> 
		  <idx:iform value="cigáň" exact="yes" /> 
		  <idx:iform value="cigáňovi" exact="yes" /> 
		  <idx:iform value="cigáňom" exact="yes" /> 
		  <idx:iform value="cigáni" exact="yes" /> 
		  <idx:iform value="cigáňov" exact="yes" /> 
		  <idx:iform value="cigáňom" exact="yes" /> 
		  <idx:iform value="cigáňov" exact="yes" /> 
		  <idx:iform value="cigáni" exact="yes" /> 
		  <idx:iform value="cigáňoch" exact="yes" /> 
		  <idx:iform value="cigáňmi" exact="yes" /> 
		  <idx:iform value="cigáne" exact="yes" /> 
		  <idx:iform value="cigáňov" exact="yes" /> 
		  <idx:iform value="cigáňom" exact="yes" /> 
		  <idx:iform value="cigáne" exact="yes" /> 
		  <idx:iform value="cigáne" exact="yes" /> 
		  <idx:iform value="cigáňoch" exact="yes" /> 
		  <idx:iform value="cigáňmi" exact="yes" /> 
		  </idx:infl> 		  
		  </idx:orth>
        </h2>
Lügner	<i>noun</i>
      </idx:entry>

      <idx:entry name="word" scriptable="yes">
        <h2>
          <idx:orth value="koza1">koza
		  <idx:infl>
		  <idx:iform value="koza" exact="yes" /> 
		  <idx:iform value="kozy" exact="yes" /> 
		  <idx:iform value="koze" exact="yes" /> 
		  <idx:iform value="kozu" exact="yes" /> 
		  <idx:iform value="kozou" exact="yes" /> 
		  <idx:iform value="kôz" exact="yes" /> 
		  <idx:iform value="kozám" exact="yes" /> 
		  <idx:iform value="kozách" exact="yes" /> 
		  <idx:iform value="kozami" exact="yes" /> 
		  </idx:infl>		  
		  </idx:orth>
        </h2>
<p><b>1.</b> Ziege	<i>noun</i>	<b>zool.</b></p>
<p><b>2.</b> [samica] Geiß [österr.] [südd.] [schweiz.]	<i>noun</i>	<b>zool.</b></p>
<p><b>3.</b> [konštrukcia; telocvičné náradie] Bock [Gestell; Turngerät]	<i>noun</i>	<b>sport</b> <b>tech.</b></p>
<p><b>4.</b> [telocvičné náradie] Sprungbock	<i>noun</i>	<b>sport</b></p>
<p><b>5.</b> [kozy] [prsia] Titten [ugs.]	<i>noun</i></p>
      </idx:entry>


      <idx:entry name="word" scriptable="yes">
        <h2>
          <idx:orth value="koža2">koža
		  <idx:infl>
		  <idx:iform value="koža" exact="yes" /> 
		  <idx:iform value="kože" exact="yes" /> 
		  <idx:iform value="koži" exact="yes" /> 
		  <idx:iform value="kožu" exact="yes" /> 
		  <idx:iform value="kožou" exact="yes" /> 
		  <idx:iform value="koží" exact="yes" /> 
		  <idx:iform value="kožiam" exact="yes" /> 
		  <idx:iform value="kožiach" exact="yes" /> 
		  <idx:iform value="kožami" exact="yes" /> 
		  </idx:infl>		  
		  </idx:orth>
        </h2>
<p><b>1.</b> Haut	<i>noun</i></p>
<p><b>2.</b> Leder	<i>noun</i></p>
      </idx:entry>
geotadams is offline   Reply With Quote
Old 01-06-2021, 11:21 AM   #2
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 7,072
Karma: 91577715
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
I did some limited testing of this and as far as I can tell exact="yes" does nothing, despite being documented in the Amazon Kindle Publishing guidelines.

More details:

I created a short test dictionary using the example of exact="yes" from the Amazon Kindle Publishing Guidelines section 15.4.2 (Exact-match Parameter) and compiled the dictionary using kindlegen 2.9. I then modified the source to remove exact="yes" and compiled it again.

The only differences in the resulting MOBI dictionary files were in metadata that always changes (creation time, modification time, book version, and container ID). There were no differences in the actual content of the file. This indicates that the "exact" attribute is ignored by kindlegen.

I also tried this with Mobipocket Creator 4.2 and had the same result.

Last edited by jhowell; 01-06-2021 at 12:23 PM.
jhowell is online now   Reply With Quote
Advert
Old 01-07-2021, 09:03 PM   #3
geotadams
Junior Member
geotadams began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Apr 2020
Device: Kindle Basic
Quote:
Originally Posted by jhowell View Post
I did some limited testing of this and as far as I can tell exact="yes" does nothing, despite being documented in the Amazon Kindle Publishing guidelines.

More details:

I created a short test dictionary using the example of exact="yes" from the Amazon Kindle Publishing Guidelines section 15.4.2 (Exact-match Parameter) and compiled the dictionary using kindlegen 2.9. I then modified the source to remove exact="yes" and compiled it again.

The only differences in the resulting MOBI dictionary files were in metadata that always changes (creation time, modification time, book version, and container ID). There were no differences in the actual content of the file. This indicates that the "exact" attribute is ignored by kindlegen.

I also tried this with Mobipocket Creator 4.2 and had the same result.
God, that sucks. That makes it much more difficult to make a good dictionary for Slovak as there's a lot of words that are very very different depending on their diacritical markings. One wonders why they would build that in without adding functionality.
geotadams is offline   Reply With Quote
Old 01-15-2021, 10:58 AM   #4
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 7,072
Karma: 91577715
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
I came across some old documentation that mentioned using the exact="yes" attribute in conjunction with <idx:key>. I tried it in a test file and found that adding it does in fact carry over as a change in the dictionary created using kindlegen.

Unfortunately, it does not appear that this will be useful in practice. Exact seems to do nothing when used with <idx:iform> and the current Kindle publishing guidelines state that <idx:key> is deprecated and should not be used.
jhowell is online now   Reply With Quote
Old 01-16-2021, 03:41 PM   #5
geotadams
Junior Member
geotadams began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Apr 2020
Device: Kindle Basic
Quote:
Originally Posted by jhowell View Post
I came across some old documentation that mentioned using the exact="yes" attribute in conjunction with <idx:key>. I tried it in a test file and found that adding it does in fact carry over as a change in the dictionary created using kindlegen.

Unfortunately, it does not appear that this will be useful in practice. Exact seems to do nothing when used with <idx:iform> and the current Kindle publishing guidelines state that <idx:key> is deprecated and should not be used.
Interesting. Does that mean that it definitely wouldn’t work on kindle in practice, or just that they prefer you don’t use it? Because this dictionary is primarily for personal use anyway, not a lot of people need or want a Slovak-German dictionary.
geotadams is offline   Reply With Quote
Advert
Old 01-16-2021, 05:41 PM   #6
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 7,072
Karma: 91577715
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Quote:
Originally Posted by geotadams View Post
Interesting. Does that mean that it definitely wouldn’t work on kindle in practice, or just that they prefer you don’t use it? Because this dictionary is primarily for personal use anyway, not a lot of people need or want a Slovak-German dictionary.
I don't know whether or not it would work. I have no idea how you would even use idx:key in a dictionary. You could try it and let us know how it goes.
jhowell is online now   Reply With Quote
Old 01-21-2021, 05:41 PM   #7
geotadams
Junior Member
geotadams began at the beginning.
 
Posts: 8
Karma: 10
Join Date: Apr 2020
Device: Kindle Basic
Quote:
Originally Posted by jhowell View Post
I don't know whether or not it would work. I have no idea how you would even use idx:key in a dictionary. You could try it and let us know how it goes.
Ah, I had just assumed you could replace idx:iform with idx:key. I'm obviously still quite an amateur at this.
geotadams is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Dictionary lookups persisted somewhere? lordeagle Kobo Developer's Corner 7 11-26-2020 11:28 AM
change browser to use for dictionary lookups hymanwallace Calibre 2 08-16-2019 08:10 PM
'No exact match' screen Iskariot Calibre 3 04-04-2014 07:09 PM
Seeking Large screen e-ink, no exact match SwiftOne Which one should I buy? 4 02-29-2012 12:06 AM
Search tags using exact match? chaley Calibre 3 01-21-2010 01:16 PM


All times are GMT -4. The time now is 01:23 PM.


MobileRead.com is a privately owned, operated and funded community.