summaryrefslogtreecommitdiff
path: root/language/churchslavonic/churchslavonic.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/churchslavonic/churchslavonic.sty')
-rw-r--r--language/churchslavonic/churchslavonic.sty35
1 files changed, 31 insertions, 4 deletions
diff --git a/language/churchslavonic/churchslavonic.sty b/language/churchslavonic/churchslavonic.sty
index 4b0f5a106a..60f8c0e91e 100644
--- a/language/churchslavonic/churchslavonic.sty
+++ b/language/churchslavonic/churchslavonic.sty
@@ -1,24 +1,51 @@
% Copyright 2016 Slavonic Computing Initiative
% http://sci.ponomar.net
-%
-\ProvidesPackage{churchslavonic}[2016/04/19 v0.2 Typesetting in Church Slavonic]
+%
+\ProvidesPackage{churchslavonic}[v0.2.4 2023.06.22 Typesetting in Church Slavonic]
+\DeclareOption{autocolormarks}{
+ \PassOptionsToPackage{\CurrentOption}{cu-kruk}
+}
+\DeclareOption{noautocolormarks}{
+ \PassOptionsToPackage{\CurrentOption}{cu-kruk}
+}
\DeclareOption*{
\PassOptionsToPackage{\CurrentOption}{cu-kinovar}
}
\ProcessOptions\relax
+\RequirePackage{ifluatex}
\RequirePackage{cu-num}
\RequirePackage{cu-calendar}
\RequirePackage{cu-util}
\RequirePackage{cu-kinovar}
+\RequirePackage{cu-kruk}
% underscore is a valid character in Church Slavonic
\let\cu@oldunderscore=_
+{%
\catcode`\_\active
-\protected\def_{\ifmmode\cu@oldunderscore\else\textunderscore\discretionary{}{}{}\fi}
+\global\protected\def_{\ifmmode\cu@oldunderscore\else\textunderscore\discretionary{}{}{}\fi}%
+}%
+\AtBeginDocument{\catcode`\_\active}%
+
+\ifluatex
+\AtBeginDocument{\cu@set@hyphenchar@lualatex}
+\else
+\AtBeginDocument{\cu@set@hyphenchar@xelatex}
+\fi
+
+\def\cu@set@hyphenchar@lualatex{
+ \@ifpackageloaded{polyglossia}{%
+ \textchurchslavonic{\prehyphenchar=`\_}%
+ }{%
+ }%
+}%
+
+\def\cu@set@hyphenchar@xelatex{
+}%
-% suppress variable distance between lines
+% suppress variable distance between lines
\lineskiplimit -1ex
% margin marks