%%
%% This is file `fc-french.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fmtcount.dtx  (with options: `fc-french.def,package')
%% 
%%  fmtcount.dtx
%%  Copyright 2014 Nicola Talbot and Vincent Belaïche
%% 
%%  This work may be distributed and/or modified under the
%%  conditions of the LaTeX Project Public License, either version 1.3
%%  of this license of (at your option) any later version.
%%  The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%%  and version 1.3 or later is part of all distributions of LaTeX
%%  version 2005/12/01 or later.
%% 
%%  This work has the LPPL maintenance status `maintained'.
%% 
%%  The Current Maintainer of this work is Nicola Talbot and Vincent Belaïche.
%% 
%%  This work consists of the files fmtcount.dtx and fmtcount.ins and the derived files fcnumparser.sty, fcprefix.sty, fmtcount.sty, fc-american.def, fc-british.def, fc-english.def, fc-francais.def, fc-french.def, fc-frenchb.def, fc-german.def, fc-germanb.def, fc-italian.def, fc-ngerman.def, fc-ngermanb.def, fc-portuges.def, fc-portuguese.def, fc-spanish.def, fc-UKenglish.def, fc-USenglish.def.
%% 
%% \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
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%\subsection{Prefixes}
%%\label{sec:latin-prefixes}
%%
%%\begin{definition}[\DescribeMacro{\latinnumeralstring}]
%%\cs{latinnumeralstring}\marg{counter}\oarg{prefix options}
%%\end{definition}
%%
%%\begin{definition}[\DescribeMacro{\latinnumeralstringnum}]
%%\cs{latinnumeralstringnum}\marg{number}\oarg{prefix options}
%%\end{definition}
\ProvidesFCLanguage{french}[2012/10/24]%
\def\fc@french@set@plural#1#2#3#4#5#6{%
  \ifthenelse{\equal{#2}{reformed}}{%
    \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{#3}%
  }{%
    \ifthenelse{\equal{#2}{traditional}}{%
      \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{#4}%
    }{%
      \ifthenelse{\equal{#2}{reformed o}}{%
        \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{#5}%
      }{%
        \ifthenelse{\equal{#2}{traditional o}}{%
          \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{#6}%
        }{%
          \ifthenelse{\equal{#2}{always}}{%
            \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{0}%
          }{%
            \ifthenelse{\equal{#2}{never}}{%
              \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{1}%
            }{%
              \ifthenelse{\equal{#2}{multiple}}{%
                \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{2}%
              }{%
                \ifthenelse{\equal{#2}{multiple g-last}}{%
                  \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{3}%
                }{%
                  \ifthenelse{\equal{#2}{multiple l-last}}{%
                    \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{4}%
                  }{%
                    \ifthenelse{\equal{#2}{multiple lng-last}}{%
                      \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{5}%
                    }{%
                      \ifthenelse{\equal{#2}{multiple ng-last}}{%
                        \expandafter\def\csname fc@frenchoptions@#1@plural\endcsname{6}%
                      }{%
                        \PackageError{fmtcount}{Unexpected argument}{%
                          `#2' was unexpected: french option `#1 plural' expects `reformed', `traditional',
                          `reformed o', `traditional o', `always', `never', `multiple', `multiple g-last',
                          `multiple l-last', `multiple lng-last', or `multiple ng-last'.%
                        }}}}}}}}}}}}}
\def\@tempa#1#2#3{%
  \define@key{fcfrench}{#1 plural}[reformed]{%
    \fc@french@set@plural{#1}{##1}{#2}{#2}{#3}{#3}%
  }%
}
\@tempa{vingt}{4}{5}
\@tempa{cent}{4}{5}
\@tempa{mil}{0}{0}
\@tempa{n-illion}{2}{6}
\@tempa{n-illiard}{2}{6}
\define@key{fcfrench}{all plural}[reformed]{%
  \csname KV@fcfrench@vingt plural\endcsname{#1}%
  \csname KV@fcfrench@cent plural\endcsname{#1}%
  \csname KV@fcfrench@mil plural\endcsname{#1}%
  \csname KV@fcfrench@n-illion plural\endcsname{#1}%
  \csname KV@fcfrench@n-illiard plural\endcsname{#1}%
}
\define@key{fcfrench}{dash or space}[reformed]{%
  \ifthenelse{\equal{#1}{traditional}}{%
    \let\fc@frenchoptions@supermillion@dos\space%
    \let\fc@frenchoptions@submillion@dos\space
  }{%
    \ifthenelse{\equal{#1}{reformed}\or\equal{#1}{1990}}{%
      \let\fc@frenchoptions@supermillion@dos\space
      \def\fc@frenchoptions@submillion@dos{-}%
    }{%
      \ifthenelse{\equal{#1}{always}}{%
        \def\fc@frenchoptions@supermillion@dos{-}%
        \def\fc@frenchoptions@submillion@dos{-}%
      }{%
        \PackageError{fmtcount}{Unexpected argument}{%
          French option `dash or space' expects `always', `reformed' or `traditional'
        }
      }%
    }%
  }%
}
\define@key{fcfrench}{scale}[recursive]{%
  \ifthenelse{\equal{#1}{long}}{%
      \let\fc@poweroften\fc@@pot@longscalefrench
  }{%
    \ifthenelse{\equal{#1}{recursive}}{%
      \let\fc@poweroften\fc@@pot@recursivefrench
    }{%
      \ifthenelse{\equal{#1}{short}}{%
        \let\fc@poweroften\fc@@pot@shortscalefrench
      }{%
        \PackageError{fmtcount}{Unexpected argument}{%
          French option `scale' expects `long', `recursive' or `short'
        }
      }%
    }%
  }%
}
\define@key{fcfrench}{n-illiard upto}[infinity]{%
  \ifthenelse{\equal{#1}{infinity}}{%
      \def\fc@longscale@nilliard@upto{0}%
  }{%
    \ifthenelse{\equal{#1}{infty}}{%
      \def\fc@longscale@nilliard@upto{0}%
    }{%
      \if Q\ifnum9<1#1Q\fi\else
      \PackageError{fmtcount}{Unexpected argument}{%
        French option `milliard threshold' expects `infinity', or equivalently `infty', or a non negative
        integer.}%
      \fi
      \def\fc@longscale@nilliard@upto{#1}%
    }}%
}
\def\@tempa#1{%
  \define@key{fcfrench}{#1}[]{%
    \PackageError{fmtcount}{Unexpected argument}{French option with key `#1' does not take
      any value}}%
  \expandafter\def\csname KV@fcfrench@#1@default\endcsname{%
    \def\fmtcount@french{#1}}%
}%
\@tempa{france}\@tempa{swiss}\@tempa{belgian}%
\define@key{fcfrench}{dialect}[france]{%
  \ifthenelse{\equal{#1}{france}
    \or\equal{#1}{swiss}
    \or\equal{#1}{belgian}}{%
    \def\fmtcount@french{#1}}{%
    \PackageError{fmtcount}{Invalid value `#1' to french option dialect key}
    {Option `french' can only take the values `france',
      `belgian' or `swiss'}}}
\define@key{fcfrench}{mil plural mark}[le]{%
  \def\fc@frenchoptions@mil@plural@mark{#1}}
\def\fc@UpperCaseFirstLetter#1#2\@nil{%
  \uppercase{#1}#2}

\def\fc@CaseIden#1\@nil{%
  #1%
}
\def\fc@UpperCaseAll#1\@nil{%
  \uppercase{#1}%
}

\let\fc@case\fc@CaseIden

\newcommand*{\@ordinalMfrench}[2]{%
\iffmtord@abbrv
  \edef#2{\number#1\relax\noexpand\fmtord{e}}%
\else
  \ifnum#1=1\relax
    \edef#2{\number#1\relax\noexpand\fmtord{er}}%
  \else
    \edef#2{\number#1\relax\noexpand\fmtord{eme}}%
  \fi
\fi}
\newcommand*{\@ordinalFfrench}[2]{%
\iffmtord@abbrv
  \edef#2{\number#1\relax\noexpand\fmtord{e}}%
\else
  \ifnum#1=1 %
     \edef#2{\number#1\relax\noexpand\fmtord{i\`ere}}%
  \else
     \edef#2{\number#1\relax\noexpand\fmtord{i\`eme}}%
  \fi
\fi}
\let\@ordinalNfrench\@ordinalMfrench
\newcommand*{\@@unitstringfrench}[1]{%
\noexpand\fc@case
\ifcase#1 %
z\'ero%
\or un%
\or deux%
\or trois%
\or quatre%
\or cinq%
\or six%
\or sept%
\or huit%
\or neuf%
\fi
\noexpand\@nil
}
\newcommand*{\@@tenstringfrench}[1]{%
\noexpand\fc@case
\ifcase#1 %
\or dix%
\or vingt%
\or trente%
\or quarante%
\or cinquante%
\or soixante%
\or septante%
\or huitante%
\or nonante%
\or cent%
\fi
\noexpand\@nil
}
\newcommand*{\@@teenstringfrench}[1]{%
\noexpand\fc@case
\ifcase#1 %
    dix%
\or onze%
\or douze%
\or treize%
\or quatorze%
\or quinze%
\or seize%
\or dix\noexpand\@nil-\noexpand\fc@case sept%
\or dix\noexpand\@nil-\noexpand\fc@case huit%
\or dix\noexpand\@nil-\noexpand\fc@case neuf%
\fi
\noexpand\@nil
}
\newcommand*{\@@seventiesfrench}[1]{%
\@tenstring{6}%
\ifnum#1=1 %
\fc@frenchoptions@submillion@dos\@andname\fc@frenchoptions@submillion@dos
\else
-%
\fi
\@teenstring{#1}%
}
\newcommand*\@@eightiesfrench[1]{%
\fc@case quatre\@nil-\noexpand\fc@case vingt%
\ifnum#1>0 %
  \ifnum\fc@frenchoptions@vingt@plural=0 % vingt plural=always
  s%
  \fi
  \noexpand\@nil
  -\@unitstring{#1}%
\else
  \ifcase\fc@frenchoptions@vingt@plural\space
    s% 0: always
  \or
    % 1: never
  \or
    s% 2: multiple
  \or
    % 3: multiple g-last
    \ifnum\count0=\count6\ifnum\count9=0 s\fi\fi
  \or
    % 4: multiple l-last
    \ifnum\count9=1 %
    \else
      s%
    \fi
  \or
    % 5: multiple lng-last
    \ifnum\count9=1 %
    \else
      \ifnum\count0>0 %
        s%
      \fi
    \fi
  \or
    % or 6: multiple ng-last
    \ifnum\count0>0 %
      s%
    \fi
  \fi
  \noexpand\@nil
\fi
}
\newcommand*{\@@ninetiesfrench}[1]{%
\fc@case quatre\@nil-\noexpand\fc@case vingt%
\ifnum\fc@frenchoptions@vingt@plural=0 % vingt plural=always
  s%
\fi
\noexpand\@nil
-\@teenstring{#1}%
}
\newcommand*{\@@seventiesfrenchswiss}[1]{%
\@tenstring{7}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0 \@unitstring{#1}\fi
}
\newcommand*{\@@eightiesfrenchswiss}[1]{%
\@tenstring{8}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0 \@unitstring{#1}\fi
}
\newcommand*{\@@ninetiesfrenchswiss}[1]{%
\@tenstring{9}%
\ifnum#1=1\ \@andname\ \fi
\ifnum#1>1-\fi
\ifnum#1>0 \@unitstring{#1}\fi
}
\newcommand*\fc@french@common{%
  \let\@unitstring=\@@unitstringfrench
  \let\@teenstring=\@@teenstringfrench
  \let\@tenstring=\@@tenstringfrench
  \def\@hundred{cent}%
  \def\@andname{et}%
}
\DeclareRobustCommand{\@numberstringMfrenchswiss}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@numberstringMfrenchfrance}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@numberstringMfrenchbelgian}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\let\@numberstringMfrench=\@numberstringMfrenchfrance
\DeclareRobustCommand{\@numberstringFfrenchswiss}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@numberstringFfrenchfrance}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@numberstringFfrenchbelgian}[2]{%
\let\fc@case\fc@CaseIden
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\let\@numberstringFfrench=\@numberstringFfrenchfrance
\let\@ordinalstringNfrench\@ordinalstringMfrench
\DeclareRobustCommand{\@NumberstringMfrenchswiss}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@NumberstringMfrenchfrance}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@NumberstringMfrenchbelgian}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\@empty
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\let\@NumberstringMfrench=\@NumberstringMfrenchfrance
\DeclareRobustCommand{\@NumberstringFfrenchswiss}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@NumberstringFfrenchfrance}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\DeclareRobustCommand{\@NumberstringFfrenchbelgian}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\let\fc@nbrstr@preamble\fc@@nbrstr@Fpreamble
\let\fc@nbrstr@postamble\@empty
\@@numberstringfrench{#1}{#2}}
\let\@NumberstringFfrench=\@NumberstringFfrenchfrance
\let\@NumberstringNfrench\@NumberstringMfrench
\DeclareRobustCommand{\@ordinalstringMfrenchswiss}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\@@ordinalstringfrench{#1}{#2}%
}
\newcommand*\fc@@firstfrench{premier}
\newcommand*\fc@@firstFfrench{premi\`ere}
\DeclareRobustCommand{\@ordinalstringMfrenchfrance}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}}
\DeclareRobustCommand{\@ordinalstringMfrenchbelgian}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\let\@ordinalstringMfrench=\@ordinalstringMfrenchfrance
\DeclareRobustCommand{\@ordinalstringFfrenchswiss}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstFfrench
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@ordinalstringFfrenchfrance}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstFfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@ordinalstringFfrenchbelgian}[2]{%
\let\fc@case\fc@CaseIden
\let\fc@first=\fc@@firstFfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\let\@ordinalstringFfrench=\@ordinalstringFfrenchfrance
\let\@ordinalstringNfrench\@ordinalstringMfrench
\DeclareRobustCommand{\@OrdinalstringMfrenchswiss}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@OrdinalstringMfrenchfrance}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@OrdinalstringMfrenchbelgian}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\let\@OrdinalstringMfrench=\@OrdinalstringMfrenchfrance
\DeclareRobustCommand{\@OrdinalstringFfrenchswiss}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstfrench
\fc@french@common
\let\@seventies=\@@seventiesfrenchswiss
\let\@eighties=\@@eightiesfrenchswiss
\let\@nineties=\@@ninetiesfrenchswiss
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@OrdinalstringFfrenchfrance}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstFfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\DeclareRobustCommand{\@OrdinalstringFfrenchbelgian}[2]{%
\let\fc@case\fc@UpperCaseFirstLetter
\let\fc@first=\fc@@firstFfrench
\fc@french@common
\let\@seventies=\@@seventiesfrench
\let\@eighties=\@@eightiesfrench
\let\@nineties=\@@ninetiesfrench
\@@ordinalstringfrench{#1}{#2}%
}
\let\@OrdinalstringFfrench=\@OrdinalstringFfrenchfrance
\let\@OrdinalstringNfrench\@OrdinalstringMfrench
\ifcsundef{fc@@do@plural@mark}{}%
{\PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@@do@plural@mark'}}
\def\fc@@do@plural@mark#1{%
  \ifcase\count10 %
    #1% 0=always
   \or% 1=never
   \or% 2=multiple
     \ifnum\count1>1 %
       #1%
     \fi
  \or% 3= multiple g-last
     \ifnum\count1>1 %
       \ifnum\count0=\count6 %
         #1%
       \fi
     \fi
  \or% 4= multiple l-last
     \ifnum\count1>1 %
       \ifnum\count9=1 %
       \else
         #1%
       \fi
     \fi
  \or% 5= multiple lng-last
     \ifnum\count1>1 %
       \ifnum\count9=1 %
       \else
         \if\count0>\count6 %
           #1%
         \fi
       \fi
     \fi
  \or% 6= multiple ng-last
     \ifnum\count1>1 %
       \ifnum\count0>\count6 %
         #1%
       \fi
     \fi
  \fi
}
\ifcsundef{fc@@nbrstr@Fpreamble}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@@nbrstr@Fpreamble'}}
\def\fc@@nbrstr@Fpreamble{%
  \fc@read@unit{\count1}{0}%
  \ifnum\count1=1 %
      \let\fc@case@save\fc@case
      \def\fc@case{\noexpand\fc@case}%
      \def\@nil{\noexpand\@nil}%
     \let\fc@nbrstr@postamble\fc@@nbrstr@Fpostamble
  \fi
}
\def\fc@@nbrstr@Fpostamble{%
  \let\fc@case\fc@case@save
  \expandafter\fc@get@last@word\expandafter{\@tempa}\@tempb\@tempc
  \def\@tempd{un}%
  \ifx\@tempc\@tempd
    \let\@tempc\@tempa
    \edef\@tempa{\@tempb\fc@case une\@nil}%
  \fi
}
\ifcsundef{fc@@pot@longscalefrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@@pot@longscalefrench'}}
\def\fc@@pot@longscalefrench#1#2#3{%
  {%
    \edef\@tempb{\number#1}%
    \count1=\@tempb
    \count2\count0 %
    \divide\count2 by 6 %
    \count3\count2 %
    \multiply\count3 by 6 %
    \count3-\count3 %
    \advance\count3 by \count0 %
    \ifnum\count0>0 %
      \ifnum\count1>0 %
        \edef\@temph{%
          \ifnum\count2=0 % weight=3
            1%
          \else
            \ifnum\count3>2 %
              \ifnum\fc@longscale@nilliard@upto=0 %
                2%
              \else
                \ifnum\count2>\fc@longscale@nilliard@upto
                  1%
                \else
                  2%
                \fi
              \fi
            \else
              2%
            \fi
          \fi
        }%
        \ifnum\@temph=1 %
          \count10=\fc@frenchoptions@mil@plural\space
          \edef\@tempe{%
            \noexpand\fc@case
             mil%
             \fc@@do@plural@mark\fc@frenchoptions@mil@plural@mark
            \noexpand\@nil
          }%
        \else
          % weight >= 6
          \expandafter\fc@@latin@cardinal@pefix\expandafter{\the\count2}\@tempg
          % now form the xxx-illion(s) or xxx-illiard(s) word
          \ifnum\count3>2 %
             \toks10{illiard}%
             \count10=\csname fc@frenchoptions@n-illiard@plural\endcsname\space
          \else
             \toks10{illion}%
             \count10=\csname fc@frenchoptions@n-illion@plural\endcsname\space
          \fi
          \edef\@tempe{%
            \noexpand\fc@case
            \@tempg
            \the\toks10 %
            \fc@@do@plural@mark s%
            \noexpand\@nil
          }%
        \fi
      \else
         \let\@tempe\@empty
         \def\@temph{0}%
      \fi
    \else
      \let\@tempe\@empty
      \def\@temph{0}%
    \fi
    \expandafter\toks\expandafter1\expandafter{\@tempe}%
    \toks0{#2}%
    \edef\@tempa{\the\toks0 \@temph \def\noexpand#3{\the\toks1}}%
    \expandafter
  }\@tempa
}
\ifcsundef{fc@@pot@shortscalefrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@@pot@shortscalefrench'}}
\def\fc@@pot@shortscalefrench#1#2#3{%
  {%
    \edef\@tempb{\number#1}%
    \count1=\@tempb
    \count2\count0 %
    \divide\count2 by 3 %
    \advance\count2 by -1 %
    \ifnum\count0>0 % If weight>=3, i.e we do have to append thousand or n-illion(s)/n-illiard(s)
      \ifnum\count1>0 % we have at least one thousand/n-illion/n-illiard
         \ifnum\count2=0 %
           \def\@temph{1}%
           \count1=\fc@frenchoptions@mil@plural\space
           \edef\@tempe{%
             mil%
             \fc@@do@plural@mark\fc@frenchoptions@mil@plural@mark
           }%
         \else
           \def\@temph{2}%
           % weight >= 6
           \expandafter\fc@@latin@cardinal@pefix\expandafter{\the\count2}\@tempg
           \count10=\csname fc@frenchoptions@n-illion@plural\endcsname\space
           \edef\@tempe{%
             \noexpand\fc@case
             \@tempg
             illion%
             \fc@@do@plural@mark s%
             \noexpand\@nil
           }%
         \fi
      \else
        \def\@temph{0}%
        \let\@tempe\@empty
      \fi
    \else
      \def\@temph{0}%
      \let\@tempe\@empty
    \fi
    \expandafter\toks\expandafter1\expandafter{\@tempe}%
    \toks0{#2}%
    \edef\@tempa{\the\toks0 \@temph \def\noexpand#3{\the\toks1}}%
    \expandafter
  }\@tempa
}
\ifcsundef{fc@@pot@recursivefrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@@pot@recursivefrench'}}
\def\fc@@pot@recursivefrench#1#2#3{%
  {%
    \edef\@tempb{\number#1}%
    \let\@tempa\@@tempa
    \count1=\@tempb\space
    \ifnum\count1>0 %
      \count2\count0 %
      \divide\count2 by 9 %
      \advance\count2 by -1 %
      \let\@tempe\@empty
      \edef\@tempf{\fc@frenchoptions@supermillion@dos
        de\fc@frenchoptions@supermillion@dos\fc@case milliards\@nil}%
      \count11\count0 %
      \ifnum\count2>0 %
        \count3\count2 %
        \count3-\count3 %
        \multiply\count3 by 9 %
        \advance\count11 by \count3 %
        \loop
           % (\count2, \count3) <- (\count2 div 2, \count2 mod 2)
           \count3\count2 %
           \divide\count3 by 2 %
           \multiply\count3 by 2 %
           \count3-\count3 %
           \advance\count3 by \count2 %
           \divide\count2 by 2 %
           \ifnum\count3=1 %
             \let\@tempg\@tempe
             \edef\@tempe{\@tempg\@tempf}%
           \fi
           \let\@tempg\@tempf
           \edef\@tempf{\@tempg\@tempg}%
           \ifnum\count2>0 %
        \repeat
      \fi
      \divide\count11 by 3 %
      \ifcase\count11 % 0 .. 5
        % 0 => d milliard(s) (de milliards)*
        \def\@temph{2}%
        \count10=\csname fc@frenchoptions@n-illiard@plural\endcsname\space
      \or  % 1 => d mille milliard(s) (de milliards)*
        \def\@temph{1}%
        \count10=\fc@frenchoptions@mil@plural\space
      \or % 2 => d million(s) (de milliards)*
        \def\@temph{2}%
        \count10=\csname fc@frenchoptions@n-illion@plural\endcsname\space
      \or % 3 => d milliard(s) (de milliards)*
        \def\@temph{2}%
        \count10=\csname fc@frenchoptions@n-illiard@plural\endcsname\space
      \or % 4 => d mille milliards (de milliards)*
        \def\@temph{1}%
        \count10=\fc@frenchoptions@mil@plural\space
      \else % 5 => d million(s) (de milliards)*
        \def\@temph{2}%
        \count10=\csname fc@frenchoptions@n-illion@plural\endcsname\space
      \fi
      \let\@tempg\@tempe
      \edef\@tempf{%
        \ifcase\count11 % 0 .. 5
        \or
          mil\fc@@do@plural@mark \fc@frenchoptions@mil@plural@mark
        \or
          million\fc@@do@plural@mark s%
        \or
          milliard\fc@@do@plural@mark s%
        \or
          mil\fc@@do@plural@mark\fc@frenchoptions@mil@plural@mark
          \noexpand\@nil\fc@frenchoptions@supermillion@dos
          \noexpand\fc@case milliards% 4
        \or
          million\fc@@do@plural@mark s%
          \noexpand\@nil\fc@frenchoptions@supermillion@dos
          de\fc@frenchoptions@supermillion@dos\noexpand\fc@case  milliards% 5
        \fi
      }%
      \edef\@tempe{%
        \ifx\@tempf\@empty\else
         \expandafter\fc@case\@tempf\@nil
        \fi
        \@tempg
      }%
    \else
       \def\@temph{0}%
       \let\@tempe\@empty
    \fi
    \expandafter\toks\expandafter1\expandafter{\@tempe}%
    \toks0{#2}%
    \edef\@tempa{\the\toks0 \@temph \def\noexpand#3{\the\toks1}}%
    \expandafter
  }\@tempa
}
\ifcsundef{fc@muladdfrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@muladdfrench'}}
\def\fc@muladdfrench#1#2#3{%
  {%
    \edef\@@tempc{#1}%
    \edef\@@tempd{#2}%
    \edef\@tempf{#3}%
    \let\@tempc\@@tempc
    \let\@tempd\@@tempd
    \ifnum\@tempc=1 %
      \ifnum\count9=1 %
        \let\@tempd\@empty
      \fi
    \fi
    \edef\@tempg{%
      \@tempd
      \ifx\@tempd\@empty\else
        \ifx\@tempf\@empty\else
           \ifcase\count9 %
           \or
             \fc@frenchoptions@submillion@dos
           \or
              \fc@frenchoptions@supermillion@dos
           \fi
         \fi
       \fi
     \@tempf
   }%
   \edef\@temph{%
     \@tempa
     \ifx\@tempa\@empty\else
       \ifx\@tempg\@empty\else
         \ifcase\count8 %
         \or
           \fc@frenchoptions@submillion@dos
         \or
           \fc@frenchoptions@supermillion@dos
         \fi
       \fi
     \fi
     \@tempg
   }%
    \def\@tempb##1{\def\@tempa{\def\@tempa{##1}}}%
    \expandafter\@tempb\expandafter{\@temph}%
    \expandafter
  }\@tempa
}%
\ifcsundef{fc@lthundredstringfrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@lthundredstringfrench'}}
\def\fc@lthundredstringfrench#1{%
  {%
    \let\@tempc#1%
    \fc@read@unit{\count1}{\count0}%
    \count3\count0 %
    \advance\count3 1 %
    \fc@read@unit{\count2}{\count3}%
    \edef\@tempa{%
      \@tempc
      \ifnum\count2>1 %
        % 20 .. 99
        \ifnum\count2>6 %
          % 70 .. 99
          \ifnum\count2<8 %
             % 70 .. 79
             \@seventies{\count1}%
          \else
            % 80..99
            \ifnum\count2<9 %
              % 80 .. 89
              \@eighties{\count1}%
            \else
              % 90 .. 99
              \@nineties{\count1}%
            \fi
          \fi
        \else
          % 20..69
          \@tenstring{\count2}%
          \ifnum\count1>0 %
             % x1 .. x0
             \ifnum\count1=1 %
               % x1
               \fc@frenchoptions@submillion@dos\@andname\fc@frenchoptions@submillion@dos
             \else
               % x2 .. x9
               -%
             \fi
             \@unitstring{\count1}%
          \fi
        \fi
      \else
        % 0 .. 19
        \ifnum\count2=0 % when tens = 0
          % 0 .. 9
          \ifnum\count1=0 % when units = 0
            % \count3=1 when #1 = 0, i.e. only for the unit of the top level number
            \ifnum\count3=1 %
              \ifnum\fc@max@weight=0 %
                \@unitstring{0}%
              \fi
            \fi
          \else
            % 1 .. 9
            \@unitstring{\count1}%
          \fi
        \else
          % 10 .. 19
          \@teenstring{\count1}%
        \fi
      \fi
    }%
    \def\@tempb##1{\def\@tempa{\def#1{##1}}}%
    \expandafter\@tempb\expandafter{\@tempa}%
    \expandafter
  }\@tempa
}
\ifcsundef{fc@ltthousandstringfrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `fc@ltthousandstringfrench'}}
\def\fc@ltthousandstringfrench#1{%
  {%
    \count4\count0 %
    \advance\count4 by 2 %
    \fc@read@unit{\count2 }{\count4 }%
    \advance\count4 by -1 %
    \count3\count4 %
    \advance\count3 by -1 %
    \fc@check@nonzeros{\count3 }{\count4 }\@tempa
    \edef\@temps{%
      \ifcase\fc@frenchoptions@cent@plural\space
      % 0 => always
      s%
      \or
      % 1 => never
      \or
      % 2 => multiple
      \ifnum\count2>1s\fi
      \or
      % 3 => multiple g-last
        \ifnum\count2>1 \ifnum\@tempa=0 \ifnum\count0=\count6s\fi\fi\fi
      \or
      % 4 => multiple l-last
        \ifnum\count2>1 \ifnum\@tempa=0 \ifnum\count9=0s\else\ifnum\count9=2s\fi\fi\fi\fi
      \fi
    }%
    % compute spacing after cent(s?) into \@tempb
    \expandafter\let\expandafter\@tempb
       \ifnum\@tempa>0 \fc@frenchoptions@submillion@dos\else\@empty\fi
    % now place into \@tempa the hundreds
    \edef\@tempa{%
       \ifnum\count2=0 %
       \else
         \ifnum\count2=1 %
           \expandafter\fc@case\@hundred\@nil
         \else
           \@unitstring{\count2}\fc@frenchoptions@submillion@dos
           \noexpand\fc@case\@hundred\@temps\noexpand\@nil
         \fi
         \@tempb
       \fi
    }%
    % now append to \@tempa the ten and unit
    \fc@lthundredstringfrench\@tempa
    \def\@tempb##1{\def\@tempa{\def#1{##1}}}%
    \expandafter\@tempb\expandafter{\@tempa}%
    \expandafter
  }\@tempa
}
\ifcsundef{@@numberstringfrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro `@@numberstringfrench'}}
\def\@@numberstringfrench#1#2{%
  {%
    \edef\@tempa{#1}%
    \expandafter\fc@number@parser\expandafter{\@tempa}%
    \ifnum\fc@min@weight<0 %
       \PackageError{fmtcount}{Out of range}%
          {This macro does not work with fractional numbers}%
    \fi
    \edef\@tempa{\ifcase\fc@sign@case\space\or\fc@case plus\@nil\or\fc@case moins\@nil\fi}%
    \fc@nbrstr@preamble
    \fc@@nbrstrfrench@inner
    \fc@nbrstr@postamble
    \def\@tempb##1{\def\@tempa{\def#2{##1}}}%
    \expandafter\@tempb\expandafter{\@tempa}%
    \expandafter
  }\@tempa
}
\def\fc@@nbrstrfrench@inner{%
    \count0=\fc@max@weight
    \divide\count0 by 3 %
    \multiply\count0 by 3 %
    \fc@intpart@find@last{\count5 }%
    \count6\count5 %
    \divide\count6 3 %
    \multiply\count6 3 %
    \count8=0 %
    \loop
       \count1\count0 %
       \advance\count1 by 2 %
       \fc@check@nonzeros{\count0 }{\count1 }\@tempt
       \fc@poweroften\@tempt{\count9 }\@tempb
       \fc@ltthousandstringfrench\@tempd
       \fc@muladdfrench\@tempt\@tempd\@tempb
       \count8\count9 %
       \advance\count0 by -3 %
       \ifnum\count6>\count0 \else
    \repeat
}
\ifcsundef{@@ordinalstringfrench}{}{%
  \PackageError{fmtcount}{Duplicate definition}{Redefinition of macro
    `@@ordinalstringfrench'}}
\def\@@ordinalstringfrench#1#2{%
  {%
    \edef\@tempa{#1}%
    \expandafter\fc@number@parser\expandafter{\@tempa}%
    \ifnum\fc@min@weight<0 %
       \PackageError{fmtcount}{Out of range}%
          {This macro does not work with fractional numbers}%
    \fi
    \ifnum\fc@sign@case>0 %
       \PackageError{fmtcount}{Out of range}%
          {This macro does with negative or explicitly marked as positive numbers}%
    \fi
    \ifnum\fc@max@weight=0 %
      \ifnum\csname fc@digit@0\endcsname=1 %
        \count0=1 %
      \else
        \count0=0 %
      \fi
    \else
      \count0=0 %
    \fi
    \ifnum\count0=1 %
      \edef\@tempa{\expandafter\fc@case\fc@first\@nil}%
    \else
      \def\@tempa##1{%
        \expandafter\edef\csname fc@frenchoptions@##1@plural\endcsname{%
          \ifcase\csname fc@frenchoptions@##1@plural\endcsname\space
          0% 0: always => always
          \or
          1% 1: never => never
          \or
          6% 2: multiple => multiple  ng-last
          \or
          1% 3: multiple g-last => never
          \or
          5% 4: multiple l-last => multiple lng-last
          \or
          5% 5: multiple lng-last => multiple lng-last
          \or
          6% 6: multiple ng-last => multiple ng-last
          \fi
        }%
      }%
      \@tempa{vingt}%
      \@tempa{cent}%
      \@tempa{mil}%
      \@tempa{n-illion}%
      \@tempa{n-illiard}%
      \let\fc@case@save\fc@case
      \def\fc@case{\noexpand\fc@case}%
      \def\@nil{\noexpand\@nil}%
      \let\@tempa\@empty
      \fc@@nbrstrfrench@inner
     \let\fc@case\fc@case@save
      \expandafter\fc@get@last@word\expandafter{\@tempa}\@tempb\@tempc
      \expandafter\fc@get@last@letter\expandafter{\@tempc}\@tempd\@tempe
      \def\@tempf{e}%
      \ifx\@tempe\@tempf
        \edef\@tempa{\@tempb\expandafter\fc@case\@tempd i\`eme\@nil}%
      \else
        \def\@tempf{q}%
        \ifx\@tempe\@tempf
          \edef\@tempa{\@tempb\expandafter\fc@case\@tempd qui\`eme\@nil}%
        \else
          \def\@tempf{f}%
          \ifx\@tempe\@tempf
            \edef\@tempa{\@tempb\expandafter\fc@case\@tempd vi\`eme\@nil}%
          \else
            \edef\@tempa{\@tempb\expandafter\fc@case\@tempc i\`eme\@nil}%
          \fi
        \fi
      \fi
    \fi
    \def\@tempb##1{\def\@tempa{\def#2{##1}}}%
    \expandafter\@tempb\expandafter{\@tempa}%
    \expandafter
  }\@tempa
}
\newcommand*\fc@frenchoptions@setdefaults{%
  \csname KV@fcfrench@all plural\endcsname{reformed}%
  \def\fc@frenchoptions@submillion@dos{-}%
  \let\fc@frenchoptions@supermillion@dos\space
  \let\fc@u@in@duo\@empty% Could be `u'
  % \let\fc@poweroften\fc@@pot@longscalefrench
  \let\fc@poweroften\fc@@pot@recursivefrench
  \def\fc@longscale@nilliard@upto{0}% infinity
  \def\fc@frenchoptions@mil@plural@mark{le}%
}
\fc@frenchoptions@setdefaults
\iffalse Local variables: \fi
\iffalse mode: docTeX     \fi
\iffalse End:             \fi
\endinput
%%
%% End of file `fc-french.def'.
