% This file is part of the cjhebrew package
%
% cjhebrew is subject to the LaTeX Project Public License (LPPL).
% A copy of the LPPL can be found in lppl.txt.
% For the most recent version of this license have a look at
%
%    http://www.latex-project.org/lppl.txt
%
% Contains code provided by Axel Kielhorn (from lfgwluabidi.sty)

\ProvidesPackage{cjhebrew}
                    [2017/03/06 v. 0.2a cjhebrew Hebrew Typesetting System]
\RequirePackage{ifluatex}

\DeclareFontFamily{U}{cjheb}{}

\DeclareFontShape{U}{cjheb}{m}{n}{%
                     <-7>sfixed*[7]cjhblsm%
                     <7-11>cjhblsm%
                     <11->cjhbltx%
                     }%
                     {}

\newcommand{\cjhebfamily}{\fontencoding{U}\fontfamily{cjheb}\selectfont}

\DeclareTextFontCommand{\textcjheb}{\cjhebfamily}

\chardef\endofword=33
\chardef\zeronojoin=124
\chardef\dottedcircle=203

\ifluatex
   \RequirePackage{luabidi}
   
   % The following lines patch luabidi.sty.  As soon as luabidi.sty
   % itself is patched, these lines can and should be removed.
   \def\setRTLmain{\pagedir TRT \bodydir TRT \pardir TRT \textdir TRT}
   \def\setRTL{\@RTLtrue\pardir TRT \textdir TRT}
   \let\setRL=\setRTL
   \def\setLTR{\@RTLfalse\pardir TLT \textdir TLT}
   \let\setLR=\setLTR
   \let\unsetRTL=\setLTR
   \let\unsetLTR=\setRTL
   \def\RTL{\@RTLtrue\trivlist \pardir TRT \textdir TRT\item\relax}
   \def\LTR{\trivlist \pardir TLT \textdir TLT\item\relax}
   \def\Footnote#1{%
     \begingroup
     \footnotemark
     \renewcommand{\thefootnote}{\@arabic\c@footnote}%
     \pardir TLT \textdir TLT\footnotetext{#1}%
     \endgroup
   }

   \newcommand{\cjRL}[1]{\RLE{\textcjheb{#1\endofword}}}
   \newcommand{\cjLR}[1]{\LRE{\textcjheb{\endofword#1}}}
   \newenvironment{cjhebrew}{\parindent=0pt\cjhebfamily\setRTL}{\unsetRTL}
\else
   \@ifundefined{eTeXrevision}%
   {%
     \PackageWarningNoLine{cjhebrew}{\MessageBreak
       Hebrew text will be typeset from left to right!\MessageBreak
       You really should use e-TeX}
     \newcommand{\cjRL}[1]{\bgroup\textcjheb{#1\endofword}\egroup}
     \newcommand{\cjLR}[1]{\bgroup\endofword#1\egroup}
     \newenvironment{cjhebrew}{\cjhebfamily}{}
   }%
   {%
     \TeXXeTstate=1
     \newcommand{\cjRL}[1]{\bgroup\beginR\textcjheb{#1\endofword}\endR\egroup}
     \newcommand{\cjLR}[1]{\bgroup\beginL\endofword#1\endL\egroup}
     \newenvironment{cjhebrew}{\parindent=0pt\cjhebfamily\everypar{\beginR}}{}
   }
\fi

\def\<#1>{\cjRL{#1}}
