summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf')
-rw-r--r--Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf91
1 files changed, 54 insertions, 37 deletions
diff --git a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
index 01ad63a783a..9f5aef3c8a7 100644
--- a/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
+++ b/Master/texmf-dist/tex/xelatex/polyglossia/gloss-french.ldf
@@ -1,18 +1,19 @@
\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
\makeatletter
-\def\french@font{\normalfontlatin}
+\def\french@font{\selectfontfamilylatin}
\ifx\l@french\@undefined%
\xpg@nopatterns{French}%
\adddialect\l@french\l@nohyphenation%
\fi
-\newXeTeXintercharclass\french@punctthin % ! ? ;
+\newXeTeXintercharclass\french@punctthin % ! ? ; et autres
\newXeTeXintercharclass\french@punctthick % :
-\newXeTeXintercharclass\french@punctguill % « »
+\newXeTeXintercharclass\french@punctguillstart % « ‹
+\newXeTeXintercharclass\french@punctguillend % » ›
-\def\french@punctthinspace{{\unskip\thinspace}}
-\def\french@punctthickspace{{\unskip\nobreakspace}}
+\def\xpg@unskip{\ifhmode\ifdim\lastskip>\z@\unskip\fi\fi}
+\def\xpg@nospace#1{#1}
\def\french@punctuation{%
\frenchspacing
@@ -20,31 +21,48 @@
\XeTeXinterchartokenstate=1
\XeTeXcharclass `\! \french@punctthin
\XeTeXcharclass `\? \french@punctthin
+ \XeTeXcharclass `\‼ \french@punctthin
+ \XeTeXcharclass `\⁇ \french@punctthin
+ \XeTeXcharclass `\⁈ \french@punctthin
+ \XeTeXcharclass `\⁉ \french@punctthin
\XeTeXcharclass `\; \french@punctthin
\XeTeXcharclass `\: \french@punctthick
- \XeTeXinterchartoks \z@ \french@punctthin = \french@punctthinspace
- \XeTeXinterchartoks \z@ \french@punctthick = \french@punctthickspace
+ \XeTeXcharclass `\« \french@punctguillstart
+ \XeTeXcharclass `\» \french@punctguillend
+ \XeTeXcharclass `\‹ \french@punctguillstart
+ \XeTeXcharclass `\› \french@punctguillend
+ \XeTeXinterchartoks \z@ \french@punctthin = {\nobreak\thinspace}%
+ \XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
+ \XeTeXinterchartoks 255 \french@punctthin = {\xpg@unskip\nobreak\thinspace}%
+ \XeTeXinterchartoks 255 \french@punctthick = {\xpg@unskip\nobreakspace}%
+ \XeTeXinterchartoks \french@punctguillstart \z@ = {\nobreakspace}% "«a" -> "« a"
+% \XeTeXinterchartoks \z@ \french@punctguillstart = {\nobreakspace}% "a«" unchanged?
+% \XeTeXinterchartoks \french@punctguillend \z@ = {\nobreakspace}% "»a" unchanged?
+ \XeTeXinterchartoks \z@ \french@punctguillend = {\nobreakspace}% "a»" -> "a »"
+ \XeTeXinterchartoks \french@punctguillstart 255 = {\nobreakspace\xpg@nospace}% "« " -> "«~"
+ \XeTeXinterchartoks 255 \french@punctguillend = {\xpg@unskip\nobreakspace}% " »" -> "~»"
+ \XeTeXinterchartoks \french@punctguillend \french@punctthin = {\nobreak\thinspace}% "»;" -> "» ;"
+ \XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
+ \XeTeXinterchartoks \french@punctthin \french@punctguillend = {\nobreakspace}% "?»" -> "? »"
}
\def\nofrench@punctuation{%
\nonfrenchspacing
\lccode"2019=\z@
+ \XeTeXcharclass `\! \z@
+ \XeTeXcharclass `\? \z@
+ \XeTeXcharclass `\‼ \z@
+ \XeTeXcharclass `\⁇ \z@
+ \XeTeXcharclass `\⁈ \z@
+ \XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\; \z@
+ \XeTeXcharclass `\: \z@
+ \XeTeXcharclass `\« \z@
+ \XeTeXcharclass `\» \z@
+ \XeTeXcharclass `\‹ \z@
+ \XeTeXcharclass `\› \z@
\XeTeXinterchartokenstate=0
-}
-
-\def\french@guillemets{%
- \XeTeXinterchartokenstate=1
- \XeTeXcharclass `\« \french@punctguill
- \XeTeXcharclass `\» \french@punctguill
- \XeTeXinterchartoks \french@punctguill \z@ = \french@punctthickspace
- \XeTeXinterchartoks \z@ \french@punctguill = \french@punctthickspace
- \XeTeXinterchartoks \french@punctguill \french@punctthin = \french@punctthinspace
- % "»;" -> "» ;"
- \XeTeXinterchartoks \french@punctguill \french@punctthick = \french@punctthickspace
- % "»:" -> "» :"
- \XeTeXinterchartoks \french@punctthin \french@punctguill = \french@punctthickspace
- % "?»" -> "? »"
-}
+ }
\def\captionsfrench{%
\def\refname{Références}%
@@ -57,13 +75,13 @@
\def\listfigurename{Table des figures}%
\def\listtablename{Liste des tableaux}%
\def\indexname{Index}%
- \def\figurename{\scshape Fig.}%
- \def\tablename{\scshape Tab.}%
- \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or%
- Troisième\or Quatrième\or Cinquième\or Sixième\or%
- Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or%
- Douzième\or Treizième\or Quatorzième\or Quinzième\or%
- Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or%
+ \def\figurename{\textsc{Fig.}}%
+ \def\tablename{\textsc{Tab.}}%
+ \def\@Fpt{\ifcase\value{part}\or Première\or Deuxième\or
+ Troisième\or Quatrième\or Cinquième\or Sixième\or
+ Septième\or Huitième\or Neuvième\or Dixième\or Onzième\or
+ Douzième\or Treizième\or Quatorzième\or Quinzième\or
+ Seizième\or Dix-septième\or Dix-huitième\or Dix-neuvième\or
Vingtième\fi\space}%
\def\thepart{}%
\def\partname{\protect\@Fpt partie}%
@@ -76,13 +94,13 @@
\def\proofname{Démonstration}%
}
\def\datefrench{%
- \def\today{\ifx\ier\undefined\def\ier{er}\fi%
+ \def\today{\ifx\ier\undefined\def\ier{er}\fi
\ifnum\day=1\relax 1\ier%
- \else \number\day\fi%
+ \else \number\day\fi
\space \ifcase\month%
- \or janvier\or février\or mars\or avril\or mai\or juin\or%
- juillet\or août\or septembre\or octobre\or novembre\or%
- décembre\fi%
+ \or janvier\or février\or mars\or avril\or mai\or juin\or
+ juillet\or août\or septembre\or octobre\or novembre\or
+ décembre\fi
\space \number\year}}
\def\french@language{\language=\l@french}
@@ -91,17 +109,16 @@
\def\noextras@french{%
\nofrench@punctuation%
- \nofrench@indent}
+ \nofrench@indent%
+ }
\def\blockextras@french{%
\french@punctuation%
\french@indent%
- \french@guillemets%
}
\def\inlineextras@french{%
\french@punctuation%
- \french@guillemets%
}
\endinput