76 lines
1.7 KiB
Java
76 lines
1.7 KiB
Java
package org.thdl.tib.dictionary ;
|
|
|
|
import org.thdl.tib.dictionary.DictionaryEntry ;
|
|
import org.thdl.tib.dictionary.SimpleDictionaryEntryDefinitions ;
|
|
import org.thdl.tib.dictionary.Phonetics ;
|
|
import org.thdl.tib.scanner.Word ;
|
|
|
|
public class SimpleDictionaryEntry implements DictionaryEntry
|
|
{
|
|
TextBody keyWord ;
|
|
DictionaryEntryDefinitions definitions ;
|
|
|
|
static boolean useDashes = true ;
|
|
|
|
public static SimpleDictionaryEntry fromWord ( Word word )
|
|
{
|
|
SimpleDictionaryEntry sde = new SimpleDictionaryEntry () ;
|
|
|
|
sde.definitions = SimpleDictionaryEntryDefinitions.fromDefinitions ( word.getDefs () ) ;
|
|
sde.keyWord = SimpleTextBody.fromWylie ( word.getWylie () ) ;
|
|
//sde.spaceInfo = word.getSpaceInfo or something like that
|
|
|
|
return sde ;
|
|
}
|
|
|
|
boolean hasSpaceBeforeSyllable ( int syllableIndex )
|
|
{
|
|
//
|
|
// TODO
|
|
//
|
|
return false ;
|
|
}
|
|
|
|
String joinSyllables ( String text )
|
|
{
|
|
String [] syllables = text.split ( " " ) ;
|
|
|
|
String out = "" ;
|
|
for ( int i = 0; i < syllables.length; i++ )
|
|
{
|
|
if ( i > 0 )
|
|
{
|
|
if ( hasSpaceBeforeSyllable ( i ) )
|
|
out += " " ;
|
|
else if ( useDashes )
|
|
out += "-" ;
|
|
}
|
|
|
|
|
|
|
|
out += syllables [i] ;
|
|
}
|
|
|
|
return out ;
|
|
}
|
|
|
|
public TextBody getKeyword ()
|
|
{
|
|
return SimpleTextBody.fromWylie ( joinSyllables ( keyWord.getWylie () ) ) ;
|
|
}
|
|
|
|
public String getPhonetic ()
|
|
{
|
|
//
|
|
// if phonetics specified in the dictionary - use it
|
|
//
|
|
// otherwise, generate one (currently the only option)
|
|
return joinSyllables ( Phonetics.wylieToStandardPhonetic ( keyWord.getWylie () ) ) ;
|
|
}
|
|
|
|
public DictionaryEntryDefinitions getDefinitions ()
|
|
{
|
|
return definitions ;
|
|
}
|
|
}
|
|
|