diff options
-rw-r--r-- | doc/context/third/transliterator/transliterator.tex | 33 | ||||
-rw-r--r-- | tex/context/interface/third/t-transliterator.xml | 3 | ||||
-rw-r--r-- | tex/context/third/transliterator/trans_tables_sr.lua | 12 |
3 files changed, 41 insertions, 7 deletions
diff --git a/doc/context/third/transliterator/transliterator.tex b/doc/context/third/transliterator/transliterator.tex index 9ed70c6..0acd300 100644 --- a/doc/context/third/transliterator/transliterator.tex +++ b/doc/context/third/transliterator/transliterator.tex @@ -308,7 +308,7 @@ actual transliteration of text passages. \setup{transliterate} -\section{Module loading and configuration} +\section{Loading and Configuring the Module} In order to use the Transliterator in a document we put the following somewhere before \type{\starttext}. \starttyping @@ -335,6 +335,8 @@ By the time of this writing this can be one of the following set: \bTR\bTC \type{ru_transcript_de} \eTC\bTC German transcription for Russian \eTC\eTR \bTR\bTC \type{ru_transcript_en} \eTC\bTC English transcription for Russian \eTC\eTR \bTR\bTC \type{iso9_ocs} \eTC\bTC == \type{all} plus non-ISO additions for Old (Church) Slavonic \eTC\eTR + \bTR\bTC \type{sr_tolt} \eTC\bTC Serbian, Cyrillic to Latin \eTC\eTR + \bTR\bTC \type{sr_tocy} \eTC\bTC Serbian, Latin to Cyrillic \eTC\eTR \bTR\bTC \type{ocs} \eTC\bTC “scientific” transliteration for Old (Church) Slavonic\eTC\eTR \bTR\bTC \type{ocs_gla} \eTC\bTC “scientific” transliteration for Old (Church) Slavonic / Glagolitic alphabet\eTC\eTR \bTR\bTC \type{ru_cz} \eTC\bTC Czech transcription for Russian\eTC\eTR @@ -710,9 +712,36 @@ different scripts; they are not, however, as easily reversible as ISO~9. мечникъ, аще иꙁъгои будеть, любо словенинъ, то 40 гривенъ положити ꙁа нь. } +\subsection{Serbian} +The tables for converting Serbian text between Cyrillic and Latin +alphabets are \type{sr_tolt} and \type{sr_tocy}. +\trlex{sr_tolt}{sr}{hr}{computer-modern-unicode}{% + Transliteration ћирилица \rightarrow\ латиница.% +}{% + Српски језик је један од словенских језика из породице + индоевропских језика. Први писани споменици у српској редакцији + старословенског језика потичу из XI и XII века. + + Српски језик је стандардни језик у службеној употреби у Србији, + Босни и Херцеговини и Црној Гори, а у употреби је и у другим + земљама где живе Срби, међу осталима и у Хрватској.% +} + +\trlex{sr_tocy}{hr}{sr}{computer-modern-unicode}{% + Transliteration latinica \rightarrow\ ćirilica.% +}{% + Srpski jezik je jedan od slovenskih jezika iz porodice + indoevropskih jezika. Prvi pisa- ni spomenici u srpskoj + redakciji starosloven- skog jezika potiču iz XI i XII veka. + + Srpski jezik je standardni jezik u službenoj upotrebi u Srbiji, + Bosni i Hercegovini i Crnoj Gori, a u upotrebi je i u drugim + zemljama gde žive Srbi, među ostalima i u Hrvatskoj.% +} + \subsection{Legacy national transcriptions} -At the moment there are tables for old school transcription into three +At the moment there are tables for “old school” transcription into three languages: English (via \type{ru_transcript_en}), German (\type{ru_transcript_de}) and Czech (\type{ocs_cz}). At least the German one is almost unreadable if used with diff --git a/tex/context/interface/third/t-transliterator.xml b/tex/context/interface/third/t-transliterator.xml index b5b189f..f80c48e 100644 --- a/tex/context/interface/third/t-transliterator.xml +++ b/tex/context/interface/third/t-transliterator.xml @@ -17,6 +17,8 @@ <cd:constant type="ru_transcript_de_exp"/> <cd:constant type="ru_transcript_en"/> <cd:constant type="all"/> + <cd:constant type="sr_tolt"/> + <cd:constant type="sr_tocy"/> <cd:constant type="iso9_ocs"/> <cd:constant type="ocs"/> <cd:constant type="ocs_gla"/> @@ -28,6 +30,7 @@ <cd:parameter name="hyphenate"> <cd:constant type="cs" default="yes"/> <cd:constant type="sk"/> + <cd:constant type="hr"/> </cd:parameter> </cd:assignments> </cd:arguments> diff --git a/tex/context/third/transliterator/trans_tables_sr.lua b/tex/context/third/transliterator/trans_tables_sr.lua index 9abe5b2..84319b0 100644 --- a/tex/context/third/transliterator/trans_tables_sr.lua +++ b/tex/context/third/transliterator/trans_tables_sr.lua @@ -100,14 +100,16 @@ end local t = translit local function sr (mode, text) - local P, R, S, V, Cs = lpeg.P, lpeg.R, lpeg.S, lpeg.V, lpeg.Cs + local P, R, Cs = lpeg.P, lpeg.R, lpeg.Cs local utfchar = translit.utfchar - local trl_sr = translit.make_add_dict{} - trl_sr = t[mode.."_upper"] + t[mode.."_lower"] + local trl_sr = translit.make_add_dict{} + trl_sr = t[mode.."_upper"] + t[mode.."_lower"] - local _p_sr = translit.addrules (trl_sr, _p_sr) - local p_sr = Cs((_p_sr / trl_sr + utfchar)^0) + -- transliteration from latin script requires macro handling … + local _p_macro = P[[\]] * R("az", "AZ")^1 + local _p_sr = translit.addrules (trl_sr, _p_sr) + local p_sr = Cs((_p_macro + (_p_sr / trl_sr) + utfchar)^0) return p_sr:match(text) end |