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  | 
