summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-02 01:08:07 +0000
committerKarl Berry <karl@freefriends.org>2018-10-02 01:08:07 +0000
commit5dd946e4a5ebe94221c6d43b32aae44a5807afe4 (patch)
tree895c49612824d51978b2412c9e8d03824257c949 /Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def
parenteb8d87c312521d49d49c3cd482a633104bad8583 (diff)
bidi (1oct18) [recommit]
git-svn-id: svn://tug.org/texlive/trunk@48803 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def')
-rw-r--r--Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def121
1 files changed, 73 insertions, 48 deletions
diff --git a/Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def b/Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def
index 1d87abed465..ba25785ae73 100644
--- a/Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def
+++ b/Master/texmf-dist/tex/xelatex/bidi/lettrine-xetex-bidi.def
@@ -17,7 +17,7 @@
%% by Vafa Khalighi.
%%
%%
-%% \CheckSum{50462}
+%% \CheckSum{50625}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -34,10 +34,11 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
-\ProvidesFile{lettrine-xetex-bidi.def}[2015/02/17 v0.5 bidi adaptations for lettrine package for XeTeX engine]
+\ProvidesFile{lettrine-xetex-bidi.def}[2018/10/01 v0.6 bidi adaptations for lettrine package for XeTeX engine]
\def\@lettrine[#1]#2#3{%
- \setcounter{L@lines}{\theDefaultLines}%
- \setcounter{L@depth}{\theDefaultDepth}%
+ \def\l@initial{#2}\let\l@refstring\l@initial
+ \setcounter{L@lines}{\value{DefaultLines}}%
+ \setcounter{L@depth}{\value{DefaultDepth}}%
\renewcommand*{\L@hang}{\DefaultLhang}%
\renewcommand*{\L@oversize}{\DefaultLoversize}%
\renewcommand*{\L@raise}{\DefaultLraise}%
@@ -48,6 +49,20 @@
\setlength{\L@novskip}{\DiscardVskip}%
\ifLettrineImage\L@imagetrue\else\L@imagefalse\fi
\ifLettrineOnGrid\L@gridtrue\else\L@gridfalse\fi
+ \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi
+ \ifLettrineSelfRef\L@selfreftrue\else\L@selfreffalse\fi
+ \setkeys{L}{#1}%
+ \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}%
+ \ifL@realh
+ \def\@tempa{#3}%
+ \ifx\@tempa\@empty
+ \PackageWarning{lettrine.sty}%
+ {Empty second argument,\MessageBreak
+ ignoring option `realheight';}%
+ \else
+ \sbox{\L@tbox}{\LettrineTextFont{#3}}%
+ \fi
+ \fi
\if\DefaultOptionsFile\relax
\else
\begingroup
@@ -69,51 +84,52 @@
\def\KV@prefix{KV@L@}%
\let\@tempc\relax
\expandafter\KV@do\l@LOKeys,\relax,
- \sbox{\L@lbox}{\LettrineFont #2}%
+ \setupL@lbox
\setlength{\LettrineWidth}{\wd\L@lbox}%
\def\KV@prefix{KV@L@}%
\let\@tempc\relax
\expandafter\KV@do\l@LOKeys,\relax,
+ \setkeys{L}{#1}%
\fi
- \setkeys{L}{#1}%
- \ifL@image
- \sbox{\L@lbox}{\LettrineFontEPS{#2}}%
+ \setupL@lbox
+ \setlength{\LettrineWidth}{\wd\L@lbox}%
+ \setlength{\LettrineHeight}{\ht\L@lbox}%
+ \setlength{\LettrineDepth}{\dp\L@lbox}%
+ \begingroup
+ \def\IeC##1{##1}%
+ \@tempdima=\L@oversize pt\relax
+ \PackageInfo{lettrine.sty}%
+ {Targeted height = \the\L@target@tht\MessageBreak
+ (no accent, loversize=0),\MessageBreak
+ Lettrine height = \the\LettrineHeight\space (#2)%
+ \ifdim\@tempdima=\z@\else\space loversize=\L@oversize\fi;%
+ \MessageBreak reported}%
+ \endgroup
+ \sbox{\L@tbox}{\LettrineTextFont{#3}}%
+ \setlength{\L@first}{\LettrineHeight}%
+ \setlength{\L@lraise}{\L@raise\L@target@tht}%
+ \addtolength{\L@first}{\L@lraise}%
+ \ifnum\value{L@lines}=1
+ \addtolength{\L@first}{-\ht\L@tbox}%
\else
- \sbox{\L@lbox}{\LettrineFont #2}%
+ \addtolength{\L@first}{-\L@target@tht}%
+ \addtolength{\L@lraise}{-\L@target@dp}%
\fi
- \sbox{\L@tbox}{\LettrineTextFont{#3}}%
- \@tempdima=\baselineskip
- \ifnum\theL@lines=1
- \setlength{\L@first}{\ht\L@lbox}%
- \addtolength{\L@first}{-\ht\L@tbox}%
- \setlength{\L@lraise}{\z@}%
- \else
- \setlength{\L@first}{-\theL@lines\@tempdima}%
- \addtolength{\L@first}{\@tempdima}%
- \sbox{\@tempboxa}{\LettrineTextFont x}%
- \addtolength{\L@first}{-\ht\@tempboxa}%
- \setlength{\L@lraise}{-\L@raise\L@first}%
- \addtolength{\L@first}{\L@lraise}%
- \addtolength{\L@first}{\ht\L@lbox}%
- \addtolength{\L@lraise}{-\theL@lines\@tempdima}%
- \addtolength{\L@lraise}{\@tempdima}%
- \fi
- \par
- \ifdim\L@first>\L@novskip
- \ifL@grid
- \@tempdima=\baselineskip
- \@tempdimb=\@tempdima
- \advance\@tempdimb by \L@novskip
- \@tempcnta=1
- \loop\ifdim\L@first>\@tempdimb
+ \par
+ \ifdim\L@first>\L@novskip
+ \ifL@grid
+ \@tempdima=\baselineskip
+ \@tempdimb=\@tempdima
+ \advance\@tempdimb by \L@novskip
+ \@tempcnta=1
+ \loop\ifdim\L@first>\@tempdimb
\advance\@tempcnta by 1
\advance\L@first by -\@tempdima
- \repeat
- \vskip\@tempcnta\baselineskip
- \else
- \vskip\L@first
- \fi
- \fi
+ \repeat
+ \L@first=\@tempcnta\baselineskip
+ \fi
+ \vskip\L@first
+ \fi
\setlength{\L@Pindent}{\wd\L@lbox}%
\addtolength{\L@Pindent}{-\L@hang\wd\L@lbox}%
\settowidth{\L@first}{\L@ante}%
@@ -126,23 +142,32 @@
\addtolength{\L@next}{-\L@Nindent}%
\addtolength{\L@Pindent}{\rightmargin}%
\addtolength{\L@Nindent}{\rightmargin}%
- \setlength{\LettrineWidth}{\wd\L@lbox}%
- \setlength{\LettrineHeight}{\ht\L@lbox}%
- \setlength{\LettrineDepth}{\dp\L@lbox}%
\addtocounter{L@lines}{1}%
- \addtocounter{L@lines}{\the\c@L@depth}%
- \if@RTL\def\L@parshape{\c@L@lines 0pt \the\L@first}\else\def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}\fi
+ \addtocounter{L@lines}{\value{L@depth}}%
+ \if@RTL
+ \def\L@parshape{\c@L@lines \z@ \the\L@first}%
+ \else
+ \def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}%
+ \fi
\@tempcnta=\tw@
\@whilenum \@tempcnta<\c@L@lines\do{%
- \if@RTL\edef\L@parshape{\L@parshape 0pt \the\L@next}\else\edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}\fi
+ \if@RTL
+ \edef\L@parshape{\L@parshape \z@ \the\L@next}%
+ \else
+ \edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}%
+ \fi
\addtolength{\L@Nindent}{\L@slope}%
\addtolength{\L@next}{-\L@slope}%
\advance\@tempcnta\@ne}%
- \if@RTL \edef\L@parshape{\L@parshape 0pt \the\linewidth}\else\edef\L@parshape{\L@parshape \rightmargin \the\linewidth}\fi
+ \if@RTL
+ \edef\L@parshape{\L@parshape \z@ \the\linewidth}%
+ \else
+ \edef\L@parshape{\L@parshape \rightmargin \the\linewidth}%
+ \fi
\noindent
\parshape=\L@parshape\relax
\smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}%
- \hskip \the\L@Findent}}%
+ \hskip \the\L@Findent}}%
\usebox{\L@tbox}%
}
\endinput