\ProvidesFile{babel-hebrewalph.def} [2023/06/01 % Expandable definitions for Hebrew numerals] \newcommand*\hebrewnumeral[1]{% \expandafter\@hebrew@numeral\expandafter{\the\numexpr#1}% } \newcommand*\Hebrewnumeral[1]{% \expandafter\@Hebrew@numeral\expandafter{\the\numexpr#1}% } \newcommand*\Hebrewnumeralfinal[1]{% \expandafter\@Hebrew@numeralfinal\expandafter{\the\numexpr#1}% } \newcommand*\hebrew@div@trancate[2]{% \ifnum\numexpr #1 - #2*\numexpr #1/#2\relax<0 \the\numexpr #1/#2 -1\relax\else\the\numexpr #1/#2\relax\fi } \newcommand*\@hebrew@@numeral[2]{% \ifnum#1<\z@\space\xpg@warning{Illegal value (#1) for Hebrew numeral}% \else \ifnum #1<1000 \gim@nomil{#1}{#2}% \else \hebrewnumeral{\hebrew@div@trancate{#1}{1000}}׳% \expandafter\gim@nomil\expandafter{\the\numexpr #1 - 1000*\hebrew@div@trancate{#1}{1000}}{#2}% \fi \fi } \newcommand*\@hebrew@numeral[1]{\@hebrew@@numeral{#1}{0}} \newcommand*\@Hebrew@numeral[1]{\@hebrew@@numeral{#1}{1}} \newcommand*\@Hebrew@numeralfinal[1]{\@hebrew@@numeral{#1}{2}} \newcommand*\hebrew@alph@zero{} \newcommand*\gim@nomil[2]{% \ifcase\hebrew@div@trancate{#1}{100} % print nothing if no hundreds \or ק\ifnum #2>0\ifnum #1=100 ׳\fi\fi \or ר\ifnum #2>0\ifnum #1=200 ׳\fi\fi \or ש\ifnum #2>0\ifnum #1=300 ׳\fi\fi \or ת\ifnum #2>0\ifnum #1=400 ׳\fi\fi \or ת\ifnum #2>0\ifnum #1=500 ×´\fi\fi ק% \or ת\ifnum #2>0\ifnum #1=600 ×´\fi\fi ר% \or ת\ifnum #2>0\ifnum #1=700 ×´\fi\fi ש% \or ת\ifnum #2>0\ifnum #1=800 ×´\fi\fi ת% \or תת\ifnum #2>0\ifnum #1=900 ×´\fi\fi ק% \fi \ifnum \the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100} = 16 \ifnum #2>0 ט״ז\else טז\fi% tet-zayin \else\ifnum \the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100} = 15 \ifnum #2>0 ט״ו\else טו\fi% tet-vav \else \ifcase\expandafter\hebrew@div@trancate\expandafter{\the\numexpr #1 - 100*\hebrew@div@trancate{#1}{100}}{10} % print nothing if no tens \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ×™\else\ifnum #2>0\ifnum #1=10 י׳\else ×´×™\fi\else ×™\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ×›\else\ifnum #2>0\ifnum #1>20 ×´\fi\fi\if #22ך\else ×›\fi\ifnum #2>0\ifnum #1=20 ׳\fi\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ל\else\ifnum #2>0\ifnum #1=30 ל׳\else ״ל\fi\else ל\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 מ\else\ifnum #2>0\ifnum #1>40 ×´\fi\fi\if #22×\else מ\fi\ifnum #2>0\ifnum #1=40 ׳\fi\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 × \else\ifnum #2>0\ifnum #1>50 ×´\fi\fi\if #22ן\else × \fi\ifnum #2>0\ifnum #1=50 ׳\fi\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ס\else\ifnum #2>0\ifnum #1=60 ס׳\else ״ס\fi\else ס\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 ×¢\else\ifnum #2>0\ifnum #1=70 ע׳\else ×´×¢\fi\else ×¢\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 פ\else\ifnum #2>0\ifnum #1>80 ×´\fi\fi\if #22×£\else פ\fi\ifnum #2>0\ifnum #1=80 ׳\fi\fi\fi \or \ifnum \the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10}>0 צ\else\ifnum #2>0\ifnum #1>90 ×´\fi\fi\if #22×¥\else צ\fi\ifnum #2>0\ifnum #1=90 ׳\fi\fi\fi \fi \ifcase\the\numexpr #1 - 10*\hebrew@div@trancate{#1}{10} \hebrew@alph@zero % empty but can be defined if desired \or \ifnum #2>0\ifnum #1=1 ×׳\else ×´×\fi\else ×\fi \or \ifnum #2>0\ifnum #1=2 ב׳\else ״ב\fi\else ב\fi \or \ifnum #2>0\ifnum #1=3 ג׳\else ×´×’\fi\else ×’\fi \or \ifnum #2>0\ifnum #1=4 ד׳\else ״ד\fi\else ד\fi \or \ifnum #2>0\ifnum #1=5 ה׳\else ×´×”\fi\else ×”\fi \or \ifnum #2>0\ifnum #1=6 ו׳\else ״ו\fi\else ו\fi \or \ifnum #2>0\ifnum #1=7 ז׳\else ×´×–\fi\else ×–\fi \or \ifnum #2>0\ifnum #1=8 ח׳\else ×´×—\fi\else ×—\fi \or \ifnum #2>0\ifnum #1=9 ט׳\else ״ט\fi\else ט\fi \fi\fi\fi } \newcommand*\Alphfinal[1]{\expandafter\@Alphfinal\csname c@#1\endcsname} \newcommand*\@Alphfinal[1]{\Hebrewnumeralfinal{#1}} \endinput