[efrench] efrench/efrenchsources: [76] This version offers a better adaptation of efrench with XeLaTex. |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/efrench Archives
]
Revision: 76
Author: rayj
Date: 2019-01-07 09:49:33 +0100 (Mon, 07 Jan 2019)
Log Message:
-----------
This version offers a better adaptation of efrench with XeLaTex. The changes concern mainly the hyphenation in presence of apostroph and the use of utf8 guillemets. It was necessary to create an new file written in utf8.
Modified Paths:
--------------
trunk/doc/Probl_Msg.tex
trunk/doc/french_doc.txt
trunk/inputs/frabbrev-u8.tex
trunk/inputs/french/french.sty
trunk/inputs/msg/french_msg-msg.tex
trunk/inputs/msg/msg.sty
Added Paths:
-----------
trunk/inputs/french/efrenchu.tex
Modified: trunk/doc/Probl_Msg.tex
===================================================================
--- trunk/doc/Probl_Msg.tex 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/doc/Probl_Msg.tex 2019-01-07 08:49:33 UTC (rev 76)
@@ -18,7 +18,7 @@
Avec MikTeX, version 2.9, seul msg-msg.tex manque.
Si msg.sty manque, alors généralement msg-msg.tex manque aussi.
-C'est le cas avec d'autres environnements ou d'ancienne versions.
+C'est le cas avec d'autres environnements ou d'anciennes versions.
Une possibilité, c'est de les chercher sur CTAN.
Modified: trunk/doc/french_doc.txt
===================================================================
--- trunk/doc/french_doc.txt 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/doc/french_doc.txt 2019-01-07 08:49:33 UTC (rev 76)
@@ -30,11 +30,11 @@
\ifx\@unexpandable@protect\undefined\let\protect\empty%
\else\let\protect\@unexpandable@protect%
\fi%
- \xdef\FSfd{10 ao\^ut 2017}% eFrench
- \xdef\FSfv{V6,01}% r j +
+ \xdef\FSfd{7 janvier 2019}% eFrench
+ \xdef\FSfv{V6,02}% rj
\xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}%
}}%
- \edef\FSfd{2017/08/10}%
+ \edef\FSfd{2019/01/07}%
%
% History as given by Bernard Gaulle:
% I started this job years ago (in 1989) firstly
@@ -60,6 +60,23 @@
%
% Running only with LaTeX2e, oldest format required:
\NeedsTeXFormat{LaTeX2e}[1996/12/01]% -the latest one acceptable
+% > utf8 specialities
+% These specifications are here to facilitate the use of
+% french guillemets with a XeLaTex motor under utf8
+\newif\ifeF@NoEnc %No encoding (XeTex, LuaLaTex)
+\expandafter\expandafter
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+\else
+ \eF@NoEnctrue
+\fi
+%
+\newif\ifeF@LuaTeX
+\expandafter\ifx\csname lualatexversion\endcsname\relax
+\else
+ \eF@LuaTeXtrue \eF@NoEnctrue
+\fi
+ \let\kbencoding\@gobble
+% < utf8 specialities
\let\auxWARNINGi=\@gobble% -accept aux files produced by french
% This style is using, at most:
%%<
@@ -158,6 +175,13 @@
% Changes made by Raymond Juillerat 2017/02/24
% \newcount, \newdimen, \newbox only not redefind if from eTeX
% Changes made by Raymond Juillerat 2017/08/10
+% V6,02
+% some preparations for XeLaTeX and LuaLaTeX
+% New file efrenchu.tex in order having utf8 french guillemets
+% active.
+% This file corrects also the hyphenation problem with apostroph
+% Problems with LuaLaTex remain but by using msg.sty!
+% Changes made by Raymond Juillerat 2019/01/07
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -202,19 +226,7 @@
% then cumulated.
% \english for going back to "normal" English conventions
% And if you have a language.dat config file defining
-% german and dutch languages OR you use
-% \NouveauLangage[n]{german} and
-% \NouveauLangage[p]{dutch} where n and p are internal
-% unused language number, then you can type:
-% \german to switch to German conventions
-% \dutch or to switch to Dutch conventions or to
-% \any_name (any language created by \NouveauLangage[n]{any_name})
-% \NouveauLangage[n]{language_name} (as previously explained)
-% define \language_name which will call \language_nameTeX
-% assuming that \language_nameTeX is/will be defined
-% (normally in a style file).
-% \beginlanguage switch to the language that started first after
-% \begin{document} (depending of the last lang.style opt)
+% german languages, as it is normally the case.
% \beginFWdirection switch to the first direction of writing when TeX--XeT.
%--------------------
% Commands for compatibility:
@@ -637,10 +649,11 @@
\xdef\@currname{msg}% -Set package req.
\def\intern@lc@llfrom{\frenchpack}% -Say him it's an internal/kernel call.
\let\fp@languagename\languagename% -Save current language name.
- \ifx\documentclass\@twoclasseserror% -When not a kernel case
- \def\languagename{french}% -force French for the msg package.
- \fi%
- \@@input msg.sty% -and input it now.
+% -now we force French for the msg package.
+ \ifx\documentclass\@twoclasseserror% -When not a kernel case
+ \def\languagename{french}% - force French for the msg package.
+ \fi
+ \@@input msg.sty% -and input it now
\let\languagename\fp@languagename% -Reset current language name.
\let\fp@languagename\undefined%
\let\intern@lc@llfrom\undefined%
@@ -703,6 +716,7 @@
}\expandafter\stop%
\fi%
%
+\ifeF@LuaTeX\relax\else
\ifx\l@french\undefined\f@issue\typeout{^^J -20-
%\@txt@msg{WARNING:}%
%\@txt@msg{the French language is undefined in your format.}%
@@ -709,6 +723,7 @@
}%
\fi%
%
+\fi%
\fontencoding{\encodingdefault}\selectfont%
\def\@temp@{OT1}\ifx\@temp@\f@encoding%
\def\@temp@{\global\ECMfalse}%
@@ -1282,7 +1297,9 @@
\fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}%
\DeclareTextCommand{\guillemotright}{OT1}{\hbox{%
\fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}}
+\ifeF@NoEnc\else
\IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGuillemets}
+\fi
\DeclareTextSymbolDefault{\guillemotleft}{OT1}
\DeclareTextSymbolDefault{\guillemotright}{OT1}
\def\guill@spacing{\penalty\@M\hskip.8\fontdimen2\font
@@ -2150,6 +2167,10 @@
\protect\stop}}%
%\let\auxWARNINGi=\@gobble% set in the preambule
\fi%
+% for french guillemets with a XeLaTex motor under utf8
+\ifeF@NoEnc
+\@finput{efrenchu.tex}
+\fi
% patch inclusion:
\@finput{frpatch.sty}%
\ifx\FSfd@patch\FSfd\else
@@ -3799,6 +3820,7 @@
\expandafter\@ifundefined{mlp##2}{\langmlp@defifalse}%
{\langmlp@defitrue}%
\def\l@n@test{##2}
+% here only the choises french or english, excluding arabic as language V6,0
\ifx \l@n@fre\l@n@test\langok@defitrue\fi % french is accepted:\def\l@n@fre{french}%
\ifx \l@n@eng\l@n@test\langok@defitrue\fi % english accepted: \def\l@n@eng{english}%
% \iflangok@defi \typeout{ ##1 : ##2}\fi%
Modified: trunk/inputs/frabbrev-u8.tex
===================================================================
--- trunk/inputs/frabbrev-u8.tex 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/inputs/frabbrev-u8.tex 2019-01-07 08:49:33 UTC (rev 76)
@@ -30,8 +30,8 @@
% HAPPY 10 YEARS ANNIVERSARY! --bg 2001/01/21
% - abbrev. from Louis Guéry from CFPJ. --bg 2002/02/21
%%
-%% checksum = "20285 297 1013 10463"
-%%
+% - passage à utf8 par rj - je recommande d'utiliser
+% la commande \abbreviations[frabbrev-u8.tex] --rj 2017-08 10
% Checked name Replacement
% ============ ===========
Added: trunk/inputs/french/efrenchu.tex
===================================================================
--- trunk/inputs/french/efrenchu.tex (rev 0)
+++ trunk/inputs/french/efrenchu.tex 2019-01-07 08:49:33 UTC (rev 76)
@@ -0,0 +1,13 @@
+%% This is file `french_msg-msg.tex',
+%% File is part of the "efrench" package
+\ifdefined\XeTeXrevision% XeTeXinterchartoks
+\XeTeXinputencoding{utf8}
+; for french guillemets under utf8
+ \catcode`« \active
+ \catcode`» \active
+ \def«{\guillemotleft }
+ \def»{\guillemotright}
+; make hyphenation possible in presence of '
+ \lccode`\'=8217\lccode8217=8217
+\fi
+
Property changes on: trunk/inputs/french/efrenchu.tex
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/inputs/french/french.sty
===================================================================
--- trunk/inputs/french/french.sty 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/inputs/french/french.sty 2019-01-07 08:49:33 UTC (rev 76)
@@ -10,12 +10,28 @@
\ifx\@unexpandable@protect\undefined\let\protect\empty%
\else\let\protect\@unexpandable@protect%
\fi%
- \xdef\FSfd{10 ao\^ut 2017}% eFrench
- \xdef\FSfv{V6,01}%
+ \xdef\FSfd{7 janvier 2019}% eFrench
+ \xdef\FSfv{V6,02}%
\xdef\frenchstyleid{\FSfv\space-- \FSfd\space --}%
}}%
- \edef\FSfd{2017/08/10}%
+ \edef\FSfd{2019/01/07}%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+% > utf8 and NoEncode specialities
+\newif\ifeF@NoEnc %No encoding (XeTex, LuaLaTex)
+\expandafter\expandafter
+\expandafter\ifx\csname XeTeXrevision\endcsname\relax
+\else
+ \eF@NoEnctrue
+\fi
+%
+\newif\ifeF@LuaTeX
+\expandafter\ifx\csname lualatexversion\endcsname\relax
+\else
+ \eF@LuaTeXtrue \eF@NoEnctrue
+\fi
+% In order having no encoding by messages declare this :
+ \let\kbencoding\@gobble
+% < utf8 and NoEncode specialities
\let\auxWARNINGi=\@gobble%
\def\@txt@msg#1{#1}%
\def\@gobbleopt[#1]{}%
@@ -36,10 +52,10 @@
\xdef\@currname{msg}%
\def\intern@lc@llfrom{\frenchpack}%
\let\fp@languagename\languagename%
- \ifx\documentclass\@twoclasseserror%
+ \ifx\documentclass\@twoclasseserror%
\def\languagename{french}%
- \fi%
- \@@input msg.sty%
+ \fi
+ \@@input msg.sty%
\let\languagename\fp@languagename%
\let\fp@languagename\undefined%
\let\intern@lc@llfrom\undefined%
@@ -91,10 +107,12 @@
%
}\expandafter\stop%
\fi%
+\ifeF@LuaTeX\relax\else
\ifx\l@french\undefined\f@issue\typeout{^^J -20-
%
%
}%
+ \fi%
\fi%
\fontencoding{\encodingdefault}\selectfont%
\def\@temp@{OT1}\ifx\@temp@\f@encoding%
@@ -605,7 +623,9 @@
\fontencoding{U}\fontfamily{lasy}\selectfont(\kern-0.20em(}}%
\DeclareTextCommand{\guillemotright}{OT1}{\hbox{%
\fontencoding{U}\fontfamily{lasy}\selectfont)\kern-0.20em)}}}
+\ifeF@NoEnc\else
\IfFileExists{t1lmr.fd}{\PolishGuillemets}{\LasyGuillemets}
+\fi
\DeclareTextSymbolDefault{\guillemotleft}{OT1}
\DeclareTextSymbolDefault{\guillemotright}{OT1}
\def\guill@spacing{\penalty\@M\hskip.8\fontdimen2\font
@@ -1359,6 +1379,9 @@
Typesetting is aborted!}%
\protect\stop}}%
\fi%
+\ifeF@NoEnc
+\@finput{efrenchu.tex}
+\fi
\@finput{frpatch.sty}%
\ifx\FSfd@patch\FSfd\else
\f@issue%
@@ -2812,6 +2835,7 @@
\expandafter\@ifundefined{mlp##2}{\langmlp@defifalse}%
{\langmlp@defitrue}%
\def\l@n@test{##2}
+% here only the choises french or english, excluding arabic as language
\ifx \l@n@fre\l@n@test\langok@defitrue\fi % \def\l@n@fre{french}%
\ifx \l@n@eng\l@n@test\langok@defitrue\fi % \def\l@n@eng{english}%
% \iflangok@defi \typeout{ ##1 : ##2}\fi%
@@ -2888,7 +2912,7 @@
\loop \endlinechar=-1 \read\@inputcheck to \@lineD \endlinechar`\^^M%
\ifx\@lineD\empty \else \advance\@FrCount by 1%
\edef\@lineD{\@lineD\space\space/{\the\@FrCount}}%
- \expandafter\@langue\@lineD%
+ \expandafter\@langue\@lineD% aller voir \@langue
\fi%
\ifeof\@inputcheck \@morefalse \fi%
\if@more\repeat%
Modified: trunk/inputs/msg/french_msg-msg.tex
===================================================================
--- trunk/inputs/msg/french_msg-msg.tex 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/inputs/msg/french_msg-msg.tex 2019-01-07 08:49:33 UTC (rev 76)
@@ -10,25 +10,25 @@
%% which is designed to localize any LaTeX package
%% or document class.
%%
-\msgencoding{latin1}\msgheader{}\msgtrailer{}
+\msgencoding{}\msgheader{}\msgtrailer{}
\msg{1}{\filedate\space chargement de l'extension de %
localisation (\fileversion).}{}
-\msg{2}{le param\xE8tre optionnel est invalide}{}
-\msg{3}{le langage demand\xE9 (\CurrentOption) n'existe pas}{}
+\msg{2}{le param\`etre optionnel est invalide}{}
+\msg{3}{le langage demand\'e (\CurrentOption) n'existe pas}{}
\msg{4}{Ceci est pour tester le dispositif #1}{}
-\msg{5}{ligne }{\msgparti{de l'extension ``msg'' g\xE9n\xE8re le %
+\msg{5}{ligne }{\msgparti{de l'extension ``msg'' g\'en\`ere le %
message de #1 \#\msgid}}
-\msg{6}{extension msg \string: fin ANORMALE de fichier rencontr\xE9e %
+\msg{6}{extension msg \string: fin ANORMALE de fichier rencontr\'ee %
\MessageBreak %
en chargeant le fichier \msg@filename\space\string!}{}
-\msg{7}{erreur de syntaxe \xE0 l'appel de \string\msg}% cas special de test
+\msg{7}{erreur de syntaxe \`a l'appel de \string\msg}% cas special de test
{\help{il manque le dernier argument.}}
\msgheader{MESSAGE\space\msgid\space\string:\space %
\string<\string<\space}
\msgtrailer{\space\string>\string>}
-\msg{8}{ceci est un message personnalis\xE9}{}
-\msg{9}{ceci est un message personnalis\xE9 %
- \MessageBreak et align\xE9}{}
+\msg{8}{ceci est un message personnalis\'e}{}
+\msg{9}{ceci est un message personnalis\'e %
+ \MessageBreak et align\'e}{}
\msgheader{Message\space\msgid\space(msg)\space\string: %
\space}\msgtrailer{}
\msg*{10}{****** Je mets en valeur \string: %
@@ -37,11 +37,11 @@
\msgheader{}\msgtrailer{}
\msg{11}{L'extension msg est en service avec l'option %
\string<\string< tracefiles \string>\string>.}{}
-\msg{12}{Un risque de boucle infinie a \xE9t\xE9 rencontr\xE9 \string; %
+\msg{12}{Un risque de boucle infinie a \'et\'e rencontr\'e \string; %
\MessageBreak %
- v\xE9rifier le fichier des message \string: \msg@filename}%
- {\help{Voir les r\xE8gles \xE0 appliquer dans les fichiers de messages.}}
-\msg{*}{le message id ``\msgid'' n'est pas r\xE9pertori\xE9}{}
+ v\'erifier le fichier des message \string: \msg@filename}%
+ {\help{Voir les r\`egles \`a appliquer dans les fichiers de messages.}}
+\msg{*}{le message id ``\msgid'' n'est pas r\'epertori\'e}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \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
Modified: trunk/inputs/msg/msg.sty
===================================================================
--- trunk/inputs/msg/msg.sty 2017-08-10 15:47:26 UTC (rev 75)
+++ trunk/inputs/msg/msg.sty 2019-01-07 08:49:33 UTC (rev 76)
@@ -13,7 +13,7 @@
\iffalse checksum part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% checksum = "54308 489 1118 24255"
+%% checksum = "32817 1583 6882 65979"
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi
@@ -125,7 +125,7 @@
\let\msgencodingOLD\msgencoding%
\let\spaceOLD\space%
\let\UTFviii@two@octetsOLD\UTFviii@two@octets%
- \let\UTFviii@two@octetsOLD\UTFviii@two@octets%
+ \let\UTFviii@three@octetsOLD\UTFviii@three@octets%
\let\UTFviii@four@octetsOLD\UTFviii@four@octets%
\let\UTFviii@two@octets\string% If utf8 was loaded then
\let\UTFviii@three@octets\string% nullify it until
@@ -137,7 +137,7 @@
\def\help{\protect\helpi}%
\protected@edef\@msg@tempf{\@msg@tempf\@msgline}%
\let\UTFviii@two@octets\UTFviii@two@octetsOLD%
- \let\UTFviii@two@octets\UTFviii@two@octetsOLD%
+ \let\UTFviii@three@octets\UTFviii@three@octetsOLD%
\let\UTFviii@four@octets\UTFviii@four@octetsOLD%
\let\space\spaceOLD%
\let\msgheader\msgheaderOLD%