diff options
-rw-r--r-- | doc/context/third/transliterator/transliterator.tex | 18 | ||||
-rw-r--r-- | tex/context/interface/third/t-transliterator.xml | 8 | ||||
-rw-r--r-- | tex/context/third/transliterator/trans_tables_sr.lua | 25 |
3 files changed, 50 insertions, 1 deletions
diff --git a/doc/context/third/transliterator/transliterator.tex b/doc/context/third/transliterator/transliterator.tex index b11cb3b..2f17dfa 100644 --- a/doc/context/third/transliterator/transliterator.tex +++ b/doc/context/third/transliterator/transliterator.tex @@ -376,6 +376,24 @@ Thus, we would typeset one of Epicuros' sayings like this: Alternatively there is an environment, \type{\starttransliterate[#1]}, as well, that takes the same arguments. +There are two special switches for the {\em Serbian} patterns, +\type{hinting} and \type{sr_exceptions}, allowing for a little +more fine-tuning. +If activated, hinting provides the special character “\type{*}” as +a means to indicate positions, where the sequences “lj” and “nj” +are to be treated as separate consonants. +E.~g. \type{\transliterate[mode=sr_tocy]{in*jekcija}} is +correctly transliterated as \transliterate[mode=sr_tocy]{in*jekcija}, +and not \transliterate[mode=sr_tocy,sr_exceptions=no]{injekcija}. +Likewise, further exceptions that are internally represented as +a lookup table can be toggled off or on by the +\type{sr_exceptions} switch. +This pertains to words like “nadživeti” (result: \transliterate[mode=sr_tocy]{nadživeti}) +but may lead to accidental false positives in cases that the +module author didn’t foresee. +By default both hinting and lexical exceptions are set to +\type{yes}. + For orientation purposes the Transliterator comes with two macros that allow for closer inspection of the internal tables. \type{\showOneTranslitTab{#1}} outputs, obviously, a single table; their diff --git a/tex/context/interface/third/t-transliterator.xml b/tex/context/interface/third/t-transliterator.xml index f80c48e..db62f09 100644 --- a/tex/context/interface/third/t-transliterator.xml +++ b/tex/context/interface/third/t-transliterator.xml @@ -32,6 +32,14 @@ <cd:constant type="sk"/> <cd:constant type="hr"/> </cd:parameter> + <cd:parameter name="hinting"> + <cd:constant type="yes" default="yes"/> + <cd:constant type="no"/> + </cd:parameter> + <cd:parameter name="sr_exceptions"> + <cd:constant type="yes" default="yes"/> + <cd:constant type="no"/> + </cd:parameter> </cd:assignments> </cd:arguments> </cd:command> diff --git a/tex/context/third/transliterator/trans_tables_sr.lua b/tex/context/third/transliterator/trans_tables_sr.lua index 5163035..f3b9218 100644 --- a/tex/context/third/transliterator/trans_tables_sr.lua +++ b/tex/context/third/transliterator/trans_tables_sr.lua @@ -94,9 +94,32 @@ if not translit.done_serbian then --- Good reading up front: --- <http://en.wikipedia.org/wiki/User:Aleksandar_Šušnjar/Serbian_Wikipedia's_Challenges#Real-time_transliteration_for_display> + --- <http://www.vokabular.org/forum/index.php?topic=3817.15> local except = { - ["nadživ"] = "надћив", -- nadživeti and derivatives + ["konjug"] = "конјуг", + ["konjunk"] = "конјунк", + ["injekc"] = "инјекц", + ["injunkt"] = "инјункт", + ["panjelin"] = "панјелин", + ["tanjug"] = "танјуг", + ["vanjezič"] = "ванјезич", + ["vanjadransk"] = "ванјадранск", + + ["nadžanj"] = "наджањ", + ["nadždrel"] = "надждрел", + ["nadžet"] = "наджет", + ["nadživ"] = "наджив", + ["nadžnj"] = "наджњ", + ["nadžup"] = "наджуп", + ["odžal"] = "оджал", + ["odžar"] = "оджар", + ["odživ"] = "оджив", + ["odžubor"] = "оджубор", + ["odžur"] = "оджур", + ["odžvak"] = "оджвак", + ["podžanr"] = "поджанр", + ["podže"] = "подже", -- “поджећи” } local P = lpeg.P |