[latex3-commits] [latex3/babel] main: Numerals also in Yiddish. (37c8335)
github at latex-project.org
github at latex-project.org
Fri Aug 11 21:39:59 CEST 2023
Repository : https://github.com/latex3/babel
On branch : main
Link : https://github.com/latex3/babel/commit/37c8335caad536913cb3b7056daf28268131222d
>---------------------------------------------------------------
commit 37c8335caad536913cb3b7056daf28268131222d
Author: Javier <email at localhost>
Date: Fri Aug 11 21:39:59 2023 +0200
Numerals also in Yiddish.
>---------------------------------------------------------------
37c8335caad536913cb3b7056daf28268131222d
locale/he/babel-he.ini | 4 +-
locale/yi/babel-yi.ini | 5 +-
locale/yi/babel-yiddish.tex | 122 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 127 insertions(+), 4 deletions(-)
diff --git a/locale/he/babel-he.ini b/locale/he/babel-he.ini
index d2f0851..68ad739 100644
--- a/locale/he/babel-he.ini
+++ b/locale/he/babel-he.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.8
-date = 2023-07-08
+version = 1.9
+date = 2023-09-09
name.local = עברית
name.english = Hebrew
name.babel = hebrew
diff --git a/locale/yi/babel-yi.ini b/locale/yi/babel-yi.ini
index b63b080..4ae822a 100644
--- a/locale/yi/babel-yi.ini
+++ b/locale/yi/babel-yi.ini
@@ -9,8 +9,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2023-07-08
+version = 1.7
+date = 2023-09-10
name.local = ייִדיש
name.english = Yiddish
name.babel = yiddish
@@ -24,6 +24,7 @@ script.tag.opentype = hebr
level = 1
encodings = LHE H8
derivate = no
+require.babel = yiddish
[captions]
preface =
diff --git a/locale/yi/babel-yiddish.tex b/locale/yi/babel-yiddish.tex
index c5bcb2d..ef56033 100644
--- a/locale/yi/babel-yiddish.tex
+++ b/locale/yi/babel-yiddish.tex
@@ -9,4 +9,126 @@
\fi
\BabelBeforeIni{yi}{%
}
+
+\ifcase\bbl at engine\else
+
+\def\BabelHebrewNumeralMarkerSingle{׳}% Number is a single letter
+\def\BabelHebrewNumeralMarkerFinal{״}% Before final letter
+
+\@namedef{bbl at cntr@letters.long@\CurrentOption}#1%
+ {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}0}
+
+\@namedef{bbl at cntr@letters.gershayim@\CurrentOption}#1%
+ {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}1}
+
+\@namedef{bbl at cntr@letters.final@\CurrentOption}#1%
+ {\expandafter\@hebrew@@numeral\expandafter{\the\numexpr#1}2}
+
+\def\hebrew at num@trunc#1#2{%
+ \ifnum\numexpr #1-#2*\numexpr #1/#2\relax<0
+ \the\numexpr #1/#2-1\relax
+ \else
+ \the\numexpr #1/#2\relax
+ \fi}
+
+\def\@hebrew@@numeral#1#2{%
+ \ifnum#1<\z@\bbl at error{Invalid Hebrew numeral (<0)}{Not supported.}%
+ \else
+ \ifnum#1<1000
+ \hebrew at num@nomil{#1}{#2}%
+ \else
+ \ifnum#1>999999 % For forward compatibility
+ \bbl at error{Hebrew numeral too large (>999999)}%
+ {Currently this is the limit.}%
+ #1%
+ \else
+ \expandafter\@hebrew@@numeral\expandafter
+ {\the\numexpr\hebrew at num@trunc{#1}{1000}}0%
+ \BabelHebrewNumeralMarkerSingle
+ \expandafter\hebrew at num@nomil\expandafter
+ {\the\numexpr #1-1000*\hebrew at num@trunc{#1}{1000}}{#2}%
+ \fi
+ \fi
+ \fi}
+
+\def\hebrew at alph@zero{}
+\def\hebrew at num@nomil#1#2{%
+ \ifcase\hebrew at num@trunc{#1}{100}% print nothing if no hundreds
+ \or ק\ifnum#2>0 \ifnum#1=100 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \or ר\ifnum#2>0 \ifnum#1=200 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \or ש\ifnum#2>0 \ifnum#1=300 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \or ת\ifnum#2>0 \ifnum#1=400 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \or ת\ifnum#2>0 \ifnum#1=500 \BabelHebrewNumeralMarkerFinal\fi\fi ק%
+ \or ת\ifnum#2>0 \ifnum#1=600 \BabelHebrewNumeralMarkerFinal\fi\fi ר%
+ \or ת\ifnum#2>0 \ifnum#1=700 \BabelHebrewNumeralMarkerFinal\fi\fi ש%
+ \or ת\ifnum#2>0 \ifnum#1=800 \BabelHebrewNumeralMarkerFinal\fi\fi ת%
+ \or תת\ifnum#2>0 \ifnum#1=900 \BabelHebrewNumeralMarkerFinal\fi\fi ק%
+ \fi
+ \ifnum\the\numexpr #1-100*\hebrew at num@trunc{#1}{100} = 16
+ \ifnum#2>0 ט\BabelHebrewNumeralMarkerFinal ז\else טז\fi % tet-zayin
+ \else\ifnum\the\numexpr #1 - 100*\hebrew at num@trunc{#1}{100} = 15
+ \ifnum#2>0 ט\BabelHebrewNumeralMarkerFinal ו\else טו\fi % tet-vav
+ \else % print nothing if no tens:
+ \ifcase\expandafter\hebrew at num@trunc\expandafter
+ {\the\numexpr#1-100*\hebrew at num@trunc{#1}{100}}{10}%
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 י\else
+ \ifnum#2>0 \ifnum#1=10 י\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal י\fi\else י\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 כ\else
+ \ifnum#2>0 \ifnum#1>20 \BabelHebrewNumeralMarkerFinal\fi\fi
+ \if #22ך\else כ\fi\ifnum#2>0 \ifnum#1=20 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ל\else
+ \ifnum#2>0 \ifnum#1=30 ל\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ל\fi\else ל\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 מ\else
+ \ifnum#2>0 \ifnum#1>40 \BabelHebrewNumeralMarkerFinal\fi\fi
+ \if #22ם\else מ\fi\ifnum#2>0 \ifnum#1=40 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 נ\else
+ \ifnum#2>0 \ifnum#1>50 \BabelHebrewNumeralMarkerFinal\fi\fi
+ \if #22ן\else נ\fi\ifnum#2>0 \ifnum#1=50 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ס\else
+ \ifnum#2>0 \ifnum#1=60 ס\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ס\fi\else ס\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 ע\else
+ \ifnum#2>0 \ifnum#1=70 ע\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ע\fi\else ע\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 פ\else
+ \ifnum#2>0 \ifnum#1>80 \BabelHebrewNumeralMarkerFinal\fi\fi
+ \if #22ף\else פ\fi\ifnum#2>0 \ifnum#1=80 \BabelHebrewNumeralMarkerSingle\fi\fi
+ \fi
+ \or\ifnum\numexpr #1-10*\hebrew at num@trunc{#1}{10}>0 צ\else
+ \ifnum#2>0 \ifnum#1>90 \BabelHebrewNumeralMarkerFinal\fi\fi
+ \if #22ץ\else צ\fi\ifnum#2>0 \ifnum#1=90 \BabelHebrewNumeralMarkerSingle \fi\fi
+ \fi
+ \fi
+ \ifcase\numexpr #1-10*\hebrew at num@trunc{#1}{10}%
+ \hebrew at alph@zero % empty but can be defined if desired
+ \or\ifnum#2>0 \ifnum#1=1 א\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal א\fi\else א\fi
+ \or\ifnum#2>0 \ifnum#1=2 ב\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ב\fi\else ב\fi
+ \or\ifnum#2>0 \ifnum#1=3 ג\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ג\fi\else ג\fi
+ \or\ifnum#2>0 \ifnum#1=4 ד\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ד\fi\else ד\fi
+ \or\ifnum#2>0 \ifnum#1=5 ה\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ה\fi\else ה\fi
+ \or\ifnum#2>0 \ifnum#1=6 ו\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ו\fi\else ו\fi
+ \or\ifnum#2>0 \ifnum#1=7 ז\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ז\fi\else ז\fi
+ \or\ifnum#2>0 \ifnum#1=8 ח\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ח\fi\else ח\fi
+ \or\ifnum#2>0 \ifnum#1=9 ט\BabelHebrewNumeralMarkerSingle
+ \else\BabelHebrewNumeralMarkerFinal ט\fi\else ט\fi
+ \fi\fi\fi}
+\fi
+
\endinput
\ No newline at end of file
More information about the latex3-commits
mailing list.