From cdf825cec32139b029641c09750b2ff8f93fbee2 Mon Sep 17 00:00:00 2001 From: Mojca Miklavec Date: Thu, 9 May 2013 23:17:00 +0000 Subject: hyph-utf8: hotfix luatex-specific pattern loading and remove duplicate of hyphen.cfg (updated version is in Babel 3.9) git-svn-id: svn://tug.org/texlive/trunk@30360 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/luatex/hyph-utf8/etex.src | 8 +- Master/texmf-dist/tex/luatex/hyph-utf8/hyphen.cfg | 443 --------------------- .../tex/luatex/hyph-utf8/luatex-hyphen.lua | 10 +- 3 files changed, 7 insertions(+), 454 deletions(-) delete mode 100644 Master/texmf-dist/tex/luatex/hyph-utf8/hyphen.cfg (limited to 'Master/texmf-dist/tex/luatex/hyph-utf8') diff --git a/Master/texmf-dist/tex/luatex/hyph-utf8/etex.src b/Master/texmf-dist/tex/luatex/hyph-utf8/etex.src index 3f9d18c8b8c..fd8d1b25b04 100644 --- a/Master/texmf-dist/tex/luatex/hyph-utf8/etex.src +++ b/Master/texmf-dist/tex/luatex/hyph-utf8/etex.src @@ -281,9 +281,7 @@ lu@texhyphen@loaded@\the\language\endcsname{}% \directlua{ if not status.ini_version then - if not luatexhyphen then - luatexhyphen = require("luatex-hyphen") - end + require("luatex-hyphen") luatexhyphen.loadlanguage("\luatexluaescapestring{#1}", \the\language) end}% @@ -309,9 +307,7 @@ \ifdefined\directlua % V2.1;0-luatex \csname fi\endcsname \csname if\directlua{% do we want to skip this language now? - if not luatexhyphen then - luatexhyphen = require("luatex-hyphen") - end + require("luatex-hyphen") if (luatexhyphen.lookupname("\luatexluaescapestring{#1}") == nil) or (\number\csname lang@#1\endcsname == 0) then tex.sprint("false") % no, load it (execute 'else' part) diff --git a/Master/texmf-dist/tex/luatex/hyph-utf8/hyphen.cfg b/Master/texmf-dist/tex/luatex/hyph-utf8/hyphen.cfg deleted file mode 100644 index 93195fd653a..00000000000 --- a/Master/texmf-dist/tex/luatex/hyph-utf8/hyphen.cfg +++ /dev/null @@ -1,443 +0,0 @@ -%% -%% This is file `hyphen.cfg', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% luatex-hyphen.dtx (with options: `hyphen') -%% -%% This is a modified version of the hyphen.cfg file from the babel system, -%% intended for use with LuaTeX, but compatible with other engines. -%% The present file IS NOT part of the babel system. -%% -%% The modifications are Copyright 2012 Khaled Hosny, Elie Roux, and Manuel -%% Pegourie-Gonnard, under LPPL version 1.3 or later. -%% -%% Here is the licence statement of the original hyphen.cfg file: -%% | -%% | Copyright 1989-2008 Johannes L. Braams and any individual authors -%% | Listed elsewhere in this file. All rights reserved. -%% | -%% | It may be distributed and/or modified under the -%% | Conditions of the LaTeX Project Public License, either version 1.3 -%% | Of this license or (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 2003/12/01 or later. -%% | -%% | This work has the LPPL maintenance status "maintained". -%% | -%% | The Current Maintainer of this work is Johannes Braams. -%% | -%% `---=(licence statement of original hyphen.cfg)=--- -%% -\ifx\ProvidesFile\@undefined - \def\ProvidesFile#1[#2 #3 #4]{% - \wlog{File: #1 #4 #3 <#2>}% - \ifx\directlua\@undefined - \toks8{Babel <#3> and hyphenation patterns for }% - \else - \toks8{LuaTeX adaptation of babel <#3> - and hyphenation patterns for }% - \fi - \let\ProvidesFile\@undefined - } - \def\ProvidesLanguage#1[#2 #3 #4]{% - \wlog{Language: #1 #4 #3 <#2>}% - } -\else - \let\bbl@tempa\ProvidesFile - \def\ProvidesFile#1[#2 #3 #4]{% - \ifx\directlua\@undefined - \toks8{Babel <#3> and hyphenation patterns for }% - \else - \toks8{LuaTeX adaptation of babel <#3> - and hyphenation patterns for }% - \fi - \bbl@tempa#1[#2 #3 #4]% - \let\ProvidesFile\bbl@tempa} - \def\ProvidesLanguage#1{% - \begingroup - \catcode`\ 10 % - \@makeother\/% - \@ifnextchar[%] - {\@provideslanguage{#1}}{\@provideslanguage{#1}[]}} - \def\@provideslanguage#1[#2]{% - \wlog{Language: #1 #2}% - \expandafter\xdef\csname ver@#1.ldf\endcsname{#2}% - \endgroup} -\fi - -\ProvidesFile{hyphen.cfg} - [2012/04/16 v3.8m-luatex-1.5 % - Language switching mechanism for LuaTeX, adapted from babel v3.8m] -\ifx\AtBeginDocument\@undefined - \input plain.def\relax -\fi -\ifx\language\@undefined - \csname newcount\endcsname\language -\fi -\ifx\newlanguage\@undefined - \csname newcount\endcsname\last@language -\else - \countdef\last@language=19 -\fi -\ifx\newlanguage\@undefined - \def\addlanguage#1{% - \global\advance\last@language \@ne - \ifnum\last@language<\@cclvi - \else - \errmessage{No room for a new \string\language!}% - \fi - \global\chardef#1\last@language - \wlog{\string#1 = \string\language\the\last@language}} -\else - \def\addlanguage{\alloc@9\language\chardef\@cclvi} -\fi -\def\adddialect#1#2{% - \global\chardef#1#2\relax - \ifx\directlua\@undefined\else - \ifx\directlua\relax\else - \directlua{ - if not luatexhyphen then - luatexhyphen = require("luatex-hyphen") - end - luatexhyphen.adddialect("\string#1", "\string#2") - }% - \fi - \fi - \wlog{\string#1 = a dialect from \string\language#2}} -\def\iflanguage#1{% - \expandafter\ifx\csname l@#1\endcsname\relax - \@nolanerr{#1}% - \else - \bbl@afterfi{\ifnum\csname l@#1\endcsname=\language - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi}% - \fi} -\edef\selectlanguage{% - \noexpand\protect - \expandafter\noexpand\csname selectlanguage \endcsname - } -\ifx\@undefined\protect\let\protect\relax\fi -\ifx\documentclass\@undefined - \def\xstring{\string\string\string} -\else - \let\xstring\string -\fi -\xdef\bbl@language@stack{} -\def\bbl@push@language{% - \xdef\bbl@language@stack{\languagename+\bbl@language@stack}% - } -\def\bbl@pop@lang#1+#2-#3{% - \def\languagename{#1}\xdef#3{#2}% - } -\def\bbl@pop@language{% - \expandafter\bbl@pop@lang\bbl@language@stack-\bbl@language@stack - \expandafter\bbl@set@language\expandafter{\languagename}% - } -\expandafter\def\csname selectlanguage \endcsname#1{% - \bbl@push@language - \aftergroup\bbl@pop@language - \bbl@set@language{#1}} -\def\bbl@set@language#1{% - \edef\languagename{% - \ifnum\escapechar=\expandafter`\string#1\@empty - \else \string#1\@empty\fi}% - \select@language{\languagename}% - \if@filesw - \protected@write\@auxout{}{\string\select@language{\languagename}}% - \addtocontents{toc}{\xstring\select@language{\languagename}}% - \addtocontents{lof}{\xstring\select@language{\languagename}}% - \addtocontents{lot}{\xstring\select@language{\languagename}}% - \fi} -\def\select@language#1{% - \expandafter\ifx\csname l@#1\endcsname\relax - \@nolanerr{#1}% - \else - \expandafter\ifx\csname date#1\endcsname\relax - \@noopterr{#1}% - \else - \bbl@patterns{\languagename}% - \originalTeX - \expandafter\def\expandafter\originalTeX - \expandafter{\csname noextras#1\endcsname - \let\originalTeX\@empty}% - \languageshorthands{none}% - \babel@beginsave - \csname captions#1\endcsname - \csname date#1\endcsname - \csname extras#1\endcsname\relax - \babel@savevariable\lefthyphenmin - \babel@savevariable\righthyphenmin - \expandafter\ifx\csname #1hyphenmins\endcsname\relax - \set@hyphenmins\tw@\thr@@\relax - \else - \expandafter\expandafter\expandafter\set@hyphenmins - \csname #1hyphenmins\endcsname\relax - \fi - \fi - \fi} -\long\def\otherlanguage#1{% - \csname selectlanguage \endcsname{#1}% - \ignorespaces - } -\long\def\endotherlanguage{% - \originalTeX - \global\@ignoretrue\ignorespaces - } -\expandafter\def\csname otherlanguage*\endcsname#1{% - \foreign@language{#1}% - } -\expandafter\def\csname endotherlanguage*\endcsname{% - \csname noextras\languagename\endcsname - } -\def\foreignlanguage{\protect\csname foreignlanguage \endcsname} -\expandafter\def\csname foreignlanguage \endcsname#1#2{% - \begingroup - \originalTeX - \foreign@language{#1}% - #2% - \csname noextras#1\endcsname - \endgroup - } -\def\foreign@language#1{% - \def\languagename{#1}% - \expandafter\ifx\csname l@#1\endcsname\relax - \@nolanerr{#1}% - \else - \bbl@patterns{\languagename}% - \languageshorthands{none}% - \csname extras#1\endcsname - \expandafter\ifx\csname #1hyphenmins\endcsname\relax - \set@hyphenmins\tw@\thr@@\relax - \else - \expandafter\expandafter\expandafter\set@hyphenmins - \csname #1hyphenmins\endcsname\relax - \fi - \fi - } -\def\bbl@patterns#1{% - \language=\expandafter\ifx\csname l@#1:\f@encoding\endcsname\relax - \csname l@#1\endcsname - \else - \csname l@#1:\f@encoding\endcsname - \fi\relax - \ifx\directlua\@undefined\else - \ifx\directlua\relax\else - \ifcsname lu@texhyphen@loaded@\the\language\endcsname \else - \global\@namedef{lu@texhyphen@loaded@\the\language}{}% - \directlua{ - if not luatexhyphen then - luatexhyphen = require("luatex-hyphen") - end - luatexhyphen.loadlanguage("\luatexluaescapestring{#1}", - \the\language)}% - \fi - \fi - \fi -} -\def\hyphenrules#1{% - \expandafter\ifx\csname l@#1\endcsname\@undefined - \@nolanerr{#1}% - \else - \bbl@patterns{#1}% - \languageshorthands{none}% - \expandafter\ifx\csname #1hyphenmins\endcsname\relax - \set@hyphenmins\tw@\thr@@\relax - \else - \expandafter\expandafter\expandafter\set@hyphenmins - \csname #1hyphenmins\endcsname\relax - \fi - \fi - } -\def\endhyphenrules{} -\def\providehyphenmins#1#2{% - \expandafter\ifx\csname #1hyphenmins\endcsname\relax - \@namedef{#1hyphenmins}{#2}% - \fi} -\def\set@hyphenmins#1#2{\lefthyphenmin#1\righthyphenmin#2} -\def\LdfInit{% - \chardef\atcatcode=\catcode`\@ - \catcode`\@=11\relax - \input babel.def\relax - \catcode`\@=\atcatcode \let\atcatcode\relax - \LdfInit} -\ifx\originalTeX\@undefined\let\originalTeX\@empty\fi -\ifx\babel@beginsave\@undefined\let\babel@beginsave\relax\fi -\ifx\PackageError\@undefined - \def\@nolanerr#1{% - \errhelp{Your command will be ignored, type to proceed}% - \errmessage{You haven't defined the language #1\space yet}} - \def\@nopatterns#1{% - \message{No hyphenation patterns were loaded for}% - \message{the language `#1'}% - \message{I will use the patterns loaded for \string\language=0 - instead}} - \def\@noopterr#1{% - \errmessage{The option #1 was not specified in \string\usepackage} - \errhelp{You may continue, but expect unexpected results}} - \def\@activated#1{% - \wlog{Package babel Info: Making #1 an active character}} -\else - \newcommand*{\@nolanerr}[1]{% - \PackageError{babel}% - {You haven't defined the language #1\space yet}% - {Your command will be ignored, type to proceed}} - \newcommand*{\@nopatterns}[1]{% - \PackageWarningNoLine{babel}% - {No hyphenation patterns were loaded for\MessageBreak - the language `#1'\MessageBreak - I will use the patterns loaded for \string\language=0 - instead}} - \newcommand*{\@noopterr}[1]{% - \PackageError{babel}% - {You haven't loaded the option #1\space yet}% - {You may proceed, but expect unexpected results}} - \newcommand*{\@activated}[1]{% - \PackageInfo{babel}{% - Making #1 an active character}} -\fi -\def\process@line#1#2 #3/{% - \ifx=#1 - \process@synonym#2 / - \else - \process@language#1#2 #3/% - \fi - } -\toks@{} -\def\process@synonym#1 /{% - \ifnum\last@language=\m@ne - \expandafter\chardef\csname l@#1\endcsname0\relax - \wlog{\string\l@#1=\string\language0} - \toks@\expandafter{\the\toks@ - \expandafter\let\csname #1hyphenmins\expandafter\endcsname - \csname\languagename hyphenmins\endcsname}% - \else - \expandafter\chardef\csname l@#1\endcsname\last@language - \wlog{\string\l@#1=\string\language\the\last@language} - \expandafter\let\csname #1hyphenmins\expandafter\endcsname - \csname\languagename hyphenmins\endcsname - \fi - } -\def\process@language#1 #2 #3/{% - \expandafter\addlanguage\csname l@#1\endcsname - \expandafter\language\csname l@#1\endcsname - \def\languagename{#1}% - \ifx\directlua\@undefined - \global\toks8\expandafter{\the\toks8#1, }% - \else - \directlua{ - if not luatexhyphen then - luatexhyphen = require("luatex-hyphen") - end - processnow = (tex.language == 0) or - (luatexhyphen.lookupname("\luatexluaescapestring{#1}") == nil)}% - \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax - \global\toks8\expandafter{\the\toks8#1, }% - \global\@namedef{lu@texhyphen@loaded@\the\language}{}% - \fi - \fi - \begingroup - \bbl@get@enc#1:\@@@ - \ifx\bbl@hyph@enc\@empty - \else - \fontencoding{\bbl@hyph@enc}\selectfont - \fi - \lefthyphenmin\m@ne - \ifx\directlua\@undefined - \input #2\relax - \else - \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax - \input #2\relax - \fi - \fi - \ifnum\lefthyphenmin=\m@ne - \else - \expandafter\xdef\csname #1hyphenmins\endcsname{% - \the\lefthyphenmin\the\righthyphenmin}% - \fi - \endgroup - \ifnum\the\language=\z@ - \expandafter\ifx\csname #1hyphenmins\endcsname\relax - \set@hyphenmins\tw@\thr@@\relax - \else - \expandafter\expandafter\expandafter\set@hyphenmins - \csname #1hyphenmins\endcsname - \fi - \the\toks@ - \fi - \toks@{}% - \def\bbl@tempa{#3}% - \ifx\bbl@tempa\@empty - \else - \ifx\bbl@tempa\space - \else - \ifx\directlua\@undefined - \input #3\relax - \else - \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax - \input #3\relax - \fi - \directlua{processnow = nil}% - \fi - \fi - \fi - } -\def\bbl@get@enc#1:#2\@@@{% - \def\bbl@tempa{#1}% - \def\bbl@tempb{#2}% - \ifx\bbl@tempb\@empty - \let\bbl@hyph@enc\@empty - \else - \bbl@get@enc#2\@@@ - \edef\bbl@hyph@enc{\bbl@tempa}% - \fi} -\openin1 = language.dat -\ifeof1 - \message{I couldn't find the file language.dat,\space - I will try the file hyphen.tex} - \input hyphen.tex\relax - \def\l@english{0}% - \def\languagename{english}% -\else - \last@language\m@ne - \loop - \endlinechar\m@ne - \read1 to \bbl@line - \endlinechar`\^^M - \ifx\bbl@line\@empty - \else - \edef\bbl@line{\bbl@line\space/}% - \expandafter\process@line\bbl@line - \ifx\bbl@defaultlanguage\@undefined - \let\bbl@defaultlanguage\languagename - \fi - \fi - \iftrue \csname fi\endcsname - \csname if\ifeof1 false\else true\fi\endcsname - \repeat - \language=0 - \let\languagename\bbl@defaultlanguage - \let\bbl@defaultlanguage\@undefined -\fi -\closein1 -\let\process@language\@undefined -\let\process@synonym\@undefined -\let\process@line\@undefined -\let\bbl@tempa\@undefined -\let\bbl@tempb\@undefined -\let\bbl@eq@\@undefined -\let\bbl@line\@undefined -\let\bbl@get@enc\@undefined -\ifx\addto@hook\@undefined -\else - \expandafter\addto@hook\expandafter\everyjob\expandafter{% - \expandafter\typeout\expandafter{\the\toks8 loaded.}} -\fi -\endinput -%% -%% End of file `hyphen.cfg'. diff --git a/Master/texmf-dist/tex/luatex/hyph-utf8/luatex-hyphen.lua b/Master/texmf-dist/tex/luatex/hyph-utf8/luatex-hyphen.lua index fa7ed3851ca..281a78b69f0 100644 --- a/Master/texmf-dist/tex/luatex/hyph-utf8/luatex-hyphen.lua +++ b/Master/texmf-dist/tex/luatex/hyph-utf8/luatex-hyphen.lua @@ -12,6 +12,8 @@ -- -- This work is under the CC0 license. -- +luatexhyphen = luatexhyphen or {} +local luatexhyphen = luatexhyphen local function wlog(msg, ...) texio.write_nl('log', 'luatex-hyphen: '..msg:format(...)) end @@ -40,6 +42,7 @@ local function lookupname(name) end end end +luatexhyphen.lookupname = lookupname local function loadlanguage(lname, id) if id == 0 then return @@ -76,6 +79,7 @@ local function loadlanguage(lname, id) end end end +luatexhyphen.loadlanguage = loadlanguage local function adddialect(dialect, language) if dialect ~= '0' then dialect = dialect:gsub('l@', '') @@ -86,10 +90,6 @@ local function adddialect(dialect, language) end end end -return { - lookupname = lookupname, - loadlanguage = loadlanguage, - adddialect = adddialect, -} +luatexhyphen.adddialect = adddialect -- -- End of File `luatex-hyphen.lua'. -- cgit v1.2.3