summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-15 21:50:07 +0000
committerKarl Berry <karl@freefriends.org>2020-01-15 21:50:07 +0000
commit14a474d3938a000b58ddd4c440338dc727bdc830 (patch)
tree814924ad1c955f64be498176d8538ff05d180937 /Master/texmf-dist/tex/generic
parent8f4769dc6a1426c26d0afd2f29eb1a6faf865eda (diff)
babel (15jan20)
git-svn-id: svn://tug.org/texlive/trunk@53415 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def103
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty2
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg2
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def117
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def11
-rw-r--r--Master/texmf-dist/tex/generic/babel/test-hyphen-post-wiki.tex31
-rw-r--r--Master/texmf-dist/tex/generic/babel/xe-polygreek.tex79
8 files changed, 208 insertions, 139 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index ad0e6d9a70a..9f8352bbac9 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -41,7 +41,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2019/12/08 3.37 Babel common definitions]
+\ProvidesFile{babel.def}[2020/01/15 3.38 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -1374,6 +1374,7 @@
\edef\bbl@savelocaleid{\the\localeid}%
% Set name and locale id
\def\languagename{#2}%
+ % \global\@namedef{bbl@lcname@#2}{#2}%
\bbl@id@assign
\let\bbl@KVP@captions\@nil
\let\bbl@KVP@import\@nil
@@ -1386,6 +1387,8 @@
\let\bbl@KVP@mapdigits\@nil
\let\bbl@KVP@intraspace\@nil
\let\bbl@KVP@intrapenalty\@nil
+ \let\bbl@KVP@onchar\@nil
+ \let\bbl@KVP@chargroups\@nil
\bbl@forkv{#1}{% TODO - error handling
\in@{..}{##1}%
\ifin@
@@ -1450,6 +1453,56 @@
\ifx\bbl@KVP@language\@nil\else
\bbl@csarg\edef{lname@#2}{\bbl@KVP@language}%
\fi
+ % == onchar ==
+ \ifx\bbl@KVP@onchar\@nil\else
+ \bbl@luahyphenate
+ \directlua{
+ if Babel.locale_mapped == nil then
+ Babel.locale_mapped = true
+ Babel.linebreaking.add_before(Babel.locale_map)
+ Babel.loc_to_scr = {}
+ Babel.chr_to_loc = {}
+ end}%
+ \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}%
+ \ifin@
+ % TODO - error/warning if no script
+ \directlua{
+ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then
+ Babel.loc_to_scr[\the\localeid] =
+ Babel.script_blocks['\bbl@cs{sbcp@\languagename}']
+ Babel.locale_props[\the\localeid].lc = \the\localeid\space
+ Babel.locale_props[\the\localeid].lg = \the\@nameuse{l@\languagename}\space
+ end
+ }%
+ \fi
+ \bbl@xin@{ fonts }{ \bbl@KVP@onchar\space}%
+ \ifin@
+ \bbl@ifunset{bbl@lsys@\languagename}{\bbl@provide@lsys{\languagename}}{}%
+ \bbl@ifunset{bbl@wdir@\languagename}{\bbl@provide@dirs{\languagename}}{}%
+ \directlua{
+ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then
+ Babel.loc_to_scr[\the\localeid] =
+ Babel.script_blocks['\bbl@cs{sbcp@\languagename}']
+ end}
+ \ifx\bbl@mapselect\@undefined
+ \AtBeginDocument{%
+ \expandafter\bbl@add\csname selectfont \endcsname{{\bbl@mapselect}}%
+ {\selectfont}}%
+ \def\bbl@mapselect{%
+ \let\bbl@mapselect\relax
+ \edef\bbl@prefontid{\fontid\font}}%
+ \def\bbl@mapdir##1{%
+ {\def\languagename{##1}%
+ \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
+ \bbl@switchfont
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
+ ['/\bbl@prefontid'] = \fontid\font\space}}}%
+ \fi
+ \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
+ \fi
+ % TODO - catch non-valid values
+ \fi
% == mapfont ==
% For bidi texts, to switch the font based on direction
\ifx\bbl@KVP@mapfont\@nil\else
@@ -1670,9 +1723,13 @@
{\\\AddBabelHook[\languagename]{babel-prehc-\languagename}{patterns}%
{\prehyphenchar=\@nameuse{bbl@prehc@\languagename}\relax}}}%
\fi}}
+\ifx\bbl@readstream\@undefined
+ \csname newread\endcsname\bbl@readstream
+\fi
\def\bbl@read@ini#1#2{%
- \openin1=babel-#1.ini % FIXME - number must not be hardcoded
- \ifeof1
+ \global\@namedef{bbl@lini@\languagename}{#1}%
+ \openin\bbl@readstream=babel-#1.ini
+ \ifeof\bbl@readstream
\bbl@error
{There is no ini file for the requested language\\%
(#1). Perhaps you misspelled it or your installation\\%
@@ -1693,9 +1750,9 @@
\bbl@info{Importing #2 for \languagename\\%
from babel-#1.ini. Reported}%
\loop
- \if T\ifeof1F\fi T\relax % Trick, because inside \loop
+ \if T\ifeof\bbl@readstream F\fi T\relax % Trick, because inside \loop
\endlinechar\m@ne
- \read1 to \bbl@line
+ \read\bbl@readstream to \bbl@line
\endlinechar`\^^M
\ifx\bbl@line\@empty\else
\expandafter\bbl@iniline\bbl@line\bbl@iniline
@@ -1746,14 +1803,14 @@
\fi}}
\let\bbl@inikv@identification\bbl@inikv
\def\bbl@secpost@identification{%
- \bbl@ifunset{bbl@@kv@identification.name.opentype}%
- {\bbl@exportkey{lname}{identification.name.english}{}}%
- {\bbl@exportkey{lname}{identification.name.opentype}{}}%
+ \bbl@exportkey{elname}{identification.name.english}{}%
+ \bbl@exp{\\\bbl@exportkey{lname}{identification.name.opentype}%
+ {\csname bbl@elname@\languagename\endcsname}}%
\bbl@exportkey{lbcp}{identification.tag.bcp47}{}%
\bbl@exportkey{lotf}{identification.tag.opentype}{dflt}%
- \bbl@ifunset{bbl@@kv@identification.script.name.opentype}%
- {\bbl@exportkey{sname}{identification.script.name}{}}%
- {\bbl@exportkey{sname}{identification.script.name.opentype}{}}%
+ \bbl@exportkey{esname}{identification.script.name}{}%
+ \bbl@exp{\\\bbl@exportkey{sname}{identification.script.name.opentype}%
+ {\csname bbl@esname@\languagename\endcsname}}%
\bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}%
\bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}}
\let\bbl@inikv@typography\bbl@inikv
@@ -1889,12 +1946,34 @@
\def\bbl@ini@basic#1{%
\def\BabelBeforeIni##1##2{%
\begingroup
- \bbl@add\bbl@secpost@identification{\closein1 }%
+ \bbl@add\bbl@secpost@identification{\closein\bbl@readstream }%
\catcode`\[=12 \catcode`\]=12 \catcode`\==12 %
\bbl@read@ini{##1}{font and identification data}%
\endinput % babel- .tex may contain onlypreamble's
\endgroup}% boxed, to avoid extra spaces:
{\setbox\z@\hbox{\InputIfFileExists{babel-#1.tex}{}{}}}}
+\newcommand\localeinfo[1]{%
+ \bbl@ifunset{bbl@\csname bbl@info@#1\endcsname @\languagename}%
+ {\bbl@error{I've found no info for the current locale.\\%
+ The corresponding ini file has not been loaded\\%
+ Perhaps it doesn't exist}%
+ {See the manual for details.}}%
+ {\@nameuse{bbl@\csname bbl@info@#1\endcsname @\languagename}}}
+\@namedef{bbl@info@tag.ini}{lini}
+\@namedef{bbl@info@name.english}{elname}
+\@namedef{bbl@info@name.opentype}{lname}
+\@namedef{bbl@info@tag.bcp47}{lbcp}
+\@namedef{bbl@info@tag.opentype}{lotf}
+\@namedef{bbl@info@script.name}{esname}
+\@namedef{bbl@info@script.name.opentype}{sname}
+\@namedef{bbl@info@script.tag.bcp47}{sbcp}
+\@namedef{bbl@info@script.tag.opentype}{sotf}
+\let\bbl@ensureinfo\@gobble
+\newcommand\BabelEnsureInfo{%
+ \def\bbl@ensureinfo##1{%
+ \ifx\InputIfFileExists\@undefined\else % not in plain
+ \bbl@ifunset{bbl@lname@##1}{\bbl@ini@basic{##1}}{}%
+ \fi}}
\newcommand\babeladjust[1]{% TODO. Error handling.
\bbl@forkv{#1}{\@nameuse{bbl@ADJ@##1@##2}}}
\def\bbl@adjust@lua#1#2{%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 7c86f368682..d7c63b64f62 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -33,7 +33,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2019/12/08 3.37 The Babel package]
+\ProvidesPackage{babel}[2020/01/15 3.38 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone}
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 2f4e9738b92..d957175cfb3 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2019/12/08 3.37 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2020/01/15 3.38 Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index c714612faa4..43f8982568b 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -34,6 +34,9 @@
\ifx\AddBabelHook\@undefined
\bbl@trace{Read language.dat}
+\ifx\bbl@readstream\@undefined
+ \csname newread\endcsname\bbl@readstream
+\fi
\begingroup
\toks@{}
\count@\z@ % 0=start, 1=0th, 2=normal
@@ -97,16 +100,16 @@
\fi
\def\bbl@elt#1#2#3#4{\@namedef{zth@#1}{}} % Define flags
\bbl@languages
- \openin1=language.dat
- \ifeof1
+ \openin\bbl@readstream=language.dat
+ \ifeof\bbl@readstream
\bbl@warning{I couldn't find language.dat. No additional\\%
patterns loaded. Reported}%
\else
\loop
\endlinechar\m@ne
- \read1 to \bbl@line
+ \read\bbl@readstream to \bbl@line
\endlinechar`\^^M
- \if T\ifeof1F\fi T\relax
+ \if T\ifeof\bbl@readstream F\fi T\relax
\ifx\bbl@line\@empty\else
\edef\bbl@line{\bbl@line\space\space\space}%
\expandafter\bbl@process@line\bbl@line\relax
@@ -373,7 +376,7 @@
quad = font.getfont(last_char.font).size
for lg, rg in pairs(sea_ranges) do
if last_char.char > rg[1] and last_char.char < rg[2] then
- lg = lg:sub(1, 4)
+ lg = lg:sub(1, 4) ^^ Remove trailing number of, eg, Cyrl1
local intraspace = Babel.intraspaces[lg]
local intrapenalty = Babel.intrapenalties[lg]
local n
@@ -418,15 +421,14 @@
luatexbase.registernumber'bbl@attr@locale')
local props = Babel.locale_props[LOCALE]
- class = Babel.cjk_class[item.char].c
+ local class = Babel.cjk_class[item.char].c
if class == 'cp' then class = 'cl' end % )] as CL
if class == 'id' then class = 'I' end
+ local br = 0
if class and last_class and Babel.cjk_breaks[last_class][class] then
br = Babel.cjk_breaks[last_class][class]
- else
- br = 0
end
if br == 1 and props.linebreak == 'c' and
@@ -462,14 +464,14 @@
\directlua{
luatexbase.add_to_callback('hyphenate',
function (head, tail)
- if Babel.cjk_enabled then
- Babel.cjk_linebreak(head)
- end
if Babel.linebreaking.before then
for k, func in ipairs(Babel.linebreaking.before) do
func(head)
end
end
+ if Babel.cjk_enabled then
+ Babel.cjk_linebreak(head)
+ end
lang.hyphenate(head)
if Babel.linebreaking.after then
for k, func in ipairs(Babel.linebreaking.after) do
@@ -727,6 +729,98 @@
\expandafter\addto\csname extras#1\endcsname{%
\babel@save\bbl@langfeatures
\edef\bbl@langfeatures{#2,}}}
+\directlua{
+Babel.script_blocks = {
+ ['Arab'] = {{0x0600, 0x06FF}, {0x08A0, 0x08FF}, {0x0750, 0x077F},
+ {0xFE70, 0xFEFF}, {0xFB50, 0xFDFF}, {0x1EE00, 0x1EEFF}},
+ ['Armn'] = {{0x0530, 0x058F}},
+ ['Beng'] = {{0x0980, 0x09FF}},
+ ['Cher'] = {{0x13A0, 0x13FF}, {0xAB70, 0xABBF}},
+ ['Cyrl'] = {{0x0400, 0x04FF}, {0x0500, 0x052F}, {0x1C80, 0x1C8F},
+ {0x2DE0, 0x2DFF}, {0xA640, 0xA69F}},
+ ['Deva'] = {{0x0900, 0x097F}, {0xA8E0, 0xA8FF}},
+ ['Ethi'] = {{0x1200, 0x137F}, {0x1380, 0x139F}, {0x2D80, 0x2DDF},
+ {0xAB00, 0xAB2F}},
+ ['Geor'] = {{0x10A0, 0x10FF}, {0x2D00, 0x2D2F}},
+ ['Grek'] = {{0x0370, 0x03FF}, {0x1F00, 0x1FFF}},
+ ['Hans'] = {{0x2E80, 0x2EFF}, {0x3000, 0x303F}, {0x31C0, 0x31EF},
+ {0x3300, 0x33FF}, {0x3400, 0x4DBF}, {0x4E00, 0x9FFF},
+ {0xF900, 0xFAFF}, {0xFE30, 0xFE4F}, {0xFF00, 0xFFEF},
+ {0x20000, 0x2A6DF}, {0x2A700, 0x2B73F},
+ {0x2B740, 0x2B81F}, {0x2B820, 0x2CEAF},
+ {0x2CEB0, 0x2EBEF}, {0x2F800, 0x2FA1F}},
+ ['Hebr'] = {{0x0590, 0x05FF}},
+ ['Japa'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF},
+ {0x4E00, 0x9FAF}, {0xFF00, 0xFFEF}},
+ ['Khmr'] = {{0x1780, 0x17FF}, {0x19E0, 0x19FF}},
+ ['Knda'] = {{0x0C80, 0x0CFF}},
+ ['Kore'] = {{0x1100, 0x11FF}, {0x3000, 0x303F}, {0x3130, 0x318F},
+ {0x4E00, 0x9FAF}, {0xA960, 0xA97F}, {0xAC00, 0xD7AF},
+ {0xD7B0, 0xD7FF}, {0xFF00, 0xFFEF}},
+ ['Laoo'] = {{0x0E80, 0x0EFF}},
+ ['Latn'] = {{0x0000, 0x007F}, {0x0080, 0x00FF}, {0x0100, 0x017F},
+ {0x0180, 0x024F}, {0x1E00, 0x1EFF}, {0x2C60, 0x2C7F},
+ {0xA720, 0xA7FF}, {0xAB30, 0xAB6F}},
+ ['Mahj'] = {{0x11150, 0x1117F}},
+ ['Mlym'] = {{0x0D00, 0x0D7F}},
+ ['Mymr'] = {{0x1000, 0x109F}, {0xAA60, 0xAA7F}, {0xA9E0, 0xA9FF}},
+ ['Orya'] = {{0x0B00, 0x0B7F}},
+ ['Sinh'] = {{0x0D80, 0x0DFF}, {0x111E0, 0x111FF}},
+ ['Taml'] = {{0x0B80, 0x0BFF}},
+ ['Telu'] = {{0x0C00, 0x0C7F}},
+ ['Tfng'] = {{0x2D30, 0x2D7F}},
+ ['Thai'] = {{0x0E00, 0x0E7F}},
+ ['Tibt'] = {{0x0F00, 0x0FFF}},
+ ['Vaii'] = {{0xA500, 0xA63F}},
+ ['Yiii']= {{0xA490, 0xA4CF}, {0xA000, 0xA48F}}
+}
+
+Babel.script_blocks.Hant = Babel.script_blocks.Hans
+
+function Babel.locale_map(head)
+ if not Babel.locale_mapped then return head end
+
+ local LOCALE = luatexbase.registernumber'bbl@attr@locale'
+ local GLYPH = node.id('glyph')
+ local inmath = false
+ for item in node.traverse(head) do
+ local toloc
+ if not inmath and item.id == GLYPH then
+ % Optimization: build a table with the chars found
+ if Babel.chr_to_loc[item.char] then
+ toloc = Babel.chr_to_loc[item.char]
+ else
+ for lc, maps in pairs(Babel.loc_to_scr) do
+ for _, rg in pairs(maps) do
+ if item.char >= rg[1] and item.char <= rg[2] then
+ Babel.chr_to_loc[item.char] = lc
+ toloc = lc
+ break
+ end
+ end
+ end
+ end
+ % Now, take action
+ if toloc then
+ if Babel.locale_props[toloc].lg then
+ item.lang = Babel.locale_props[toloc].lg
+ node.set_attribute(item, LOCALE, toloc)
+ end
+ if Babel.locale_props[toloc]['/'..item.font] then
+ item.font = Babel.locale_props[toloc]['/'..item.font]
+ end
+ end
+ elseif not inmath and item.id == 7 then
+ item.replace = item.replace and Babel.locale_map(item.replace)
+ item.pre = item.pre and Babel.locale_map(item.pre)
+ item.post = item.post and Babel.locale_map(item.post)
+ elseif item.id == node.id'math' then
+ inmath = (item.subtype == 0)
+ end
+ end
+ return head
+end
+}
\newcommand\babelcharproperty[1]{%
\count@=#1\relax
\ifvmode
@@ -935,6 +1029,7 @@
return head
end
+ &% Used below
function Babel.capture_func(key, cap)
local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]"
ret = ret:gsub("%[%[%]%]%.%.", '')
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 22bea26a912..1a3d6712af7 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -32,7 +32,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2019/12/08 3.37 Nil language]
+\ProvidesLanguage{nil}[2020/01/15 3.38 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 00301e68f37..0f343001fb3 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -37,7 +37,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2019/12/08 3.37 Babel switching mechanism]
+\ProvidesFile{switch.def}[2020/01/15 3.38 Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -58,8 +58,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.37}
-\def\bbl@date{2019/12/08}
+\def\bbl@version{3.38}
+\def\bbl@date{2020/01/15}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -131,6 +131,7 @@
Babel = Babel or {}
Babel.locale_props = Babel.locale_props or {}
Babel.locale_props[\bbl@id@last] = {}
+ Babel.locale_props[\bbl@id@last].name = '\languagename'
}%
\fi}%
{}%
@@ -145,6 +146,7 @@
\edef\languagename{%
\ifnum\escapechar=\expandafter`\string#1\@empty
\else\string#1\@empty\fi}%
+ % \@namedef{bbl@lcname@#1}{#1}%
\select@language{\languagename}%
% write to auxs
\expandafter\ifx\csname date\languagename\endcsname\relax\else
@@ -195,6 +197,8 @@
\let\select@language@x\select@language
\newif\ifbbl@usedategroup
\def\bbl@switch#1{% from select@, foreign@
+ % make sure there is info for the language if so requested
+ \bbl@ensureinfo{#1}%
% restore
\originalTeX
\expandafter\def\expandafter\originalTeX\expandafter{%
@@ -297,6 +301,7 @@
\def\foreign@language#1{%
% set name
\edef\languagename{#1}%
+ % \@namedef{bbl@lcname@#1}{#1}%
\bbl@fixname\languagename
\bbl@iflanguage\languagename{%
\expandafter\ifx\csname date\languagename\endcsname\relax
diff --git a/Master/texmf-dist/tex/generic/babel/test-hyphen-post-wiki.tex b/Master/texmf-dist/tex/generic/babel/test-hyphen-post-wiki.tex
deleted file mode 100644
index 60ecf95fa72..00000000000
--- a/Master/texmf-dist/tex/generic/babel/test-hyphen-post-wiki.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\documentclass{article}
-
-\usepackage[ngerman]{babel}
-
-\directlua{
-
-Babel.linebreaking.add_after(Babel.post_hyphenate_replace)
-
-Babel.linebreaking.add_replacement(
- 'ngerman',
- '([fmtrp])|{1}',
- {
- nil,
- { no = '{1}', pre = '{1}{1}-', post = '', penalty = 150, data = 1 },
- {}
- })
-
-}
-
-\begin{document}
-
-\rightskip5cm
-
-Auffrisierende Auffrisierendem Auffrisierenden Auffrisierender
-Auffrisierendes Auffrisierst Auffrisiert Auffrisierte Auffrisiertem
-Auffrisierten Auffrisierter Auffrisiertes Auffrisiertest Auffrisiertet
-Auffrisst Auffuhr Aufführbar Aufführbare Aufführbarem Aufführbaren
-Aufführbarer Aufführbares Aufführe Auffuhren Aufführen Aufführend
-Aufführende Aufführendem Aufführenden Aufführender Aufführendes
-
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex b/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex
deleted file mode 100644
index a73909b95b7..00000000000
--- a/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex
+++ /dev/null
@@ -1,79 +0,0 @@
-\makeatletter
-\def\e@alloc#1#2#3#4#5#6{%
- \global\advance#3\@ne
- \e@ch@ck{#3}{#4}{#5}#1%
- \allocationnumber#3\relax
- \global#2#6\allocationnumber}
- % \wlog{\string#6=\string#1\the\allocationnumber}}%
-
-\documentclass{article}
-
-
-
-\usepackage{babel}
-
-\usepackage{multicol}
-
-\babelprovide[import,main]{polytonicgreek}
-\babelfont{rm}{Old Standard}
-
-\babelprovide{danish}
-
-\begin{document}
-
-\section*{Φορτωμένα κόκκαλα}
-
-\textit{Αλέξανδρος Παπαδιαμάντης}\\
-1907\\
-From https://el.wikisource.org/wiki/Φορτωμένα\_κόκκαλα
-
-{\selectlanguage{danish}}
-
-\begin{multicols}{3}
-
-Ἀνεβαίνομεν τὸ βουνὸν, πεζοὶ, μὲ τὸ γαϊδουράκι φορτωμένον, ὁ παπ’
-Ἀνδρέας, ὁ καλός μας εὐχέτης, κι’ ὁ μακαρίτης ὁ Λαμιαῖος, κι’ ἐγὼ, κι’
-ὁ Ἀλέκος τὸ Φωτάκι, ὁ μικρὸς καὶ πρόθυμος φίλος μας. Εἰς ὅλα ἦτον
-πάντοτε ἕτοιμος νὰ τρέχῃ ἀκούραστος, ὅ,τι ἤθελες τὸν διατάξει. Νὰ πάῃ
-στὸ χωριὸ, διὰ θέλημα, δυὸ ὧρες δρόμον, καὶ πάλι, φορτωμένος, ὀπίσω νὰ
-ἔλθῃ· νὰ σκουπίσῃ ὅλον τὸ ἐξωκκλήσι, καὶ τὸν αὐλόγυρον, καὶ τὰ κελλιὰ,
-μὲ πρόχειρον σκούπαν ἀπὸ σπαρτίνες καὶ θάμνους· νὰ τρέξῃ κάτω στὸν
-αἰγιαλόν, διὰ νὰ μᾶς φέρῃ πεταλίδες, καὶ κοχύλια, καὶ πετροκάβουρα, διὰ
-τὸ ὀρεκτικὸν δεῖπνόν μας καὶ νὰ γυρίσῃ μετὰ μίαν ὥραν μὲ μίαν ποδιὰν
-γεμάτην· εἶτα ν’ ἀνάψῃ φωτιάν, νὰ ψήσῃ, νὰ μαγειρεύσῃ ὅλα τὰ ἐδέσματα·
-καὶ νὰ ἔχῃ τὴν ἐπιστασίαν τοῦ παγουριοῦ καὶ τῆς φλάσκας, διὰ νὰ
-εὑρίσκωνται δροσερὰ εἰς τὸ ρεῦμα, ἀκριβῶς ὑπὸ τὴν βρύσην· εἰς ὅλα ἦτον
-μονάκριβος.
-
-Ἕκτος μᾶς εἶχεν ἀκολουθήσει ὁ σκύλος τοῦ Σταμάτη τοῦ Ἀλεξανδράκη,
-σκύλος προωρισμένος ὀψέποτε νὰ μένῃ ἀδέσποτος. Ὁ ἄτυχος καὶ κακοκέφαλος
-φίλος μας, ὁ Σταμάτης, ἀφοῦ ἐμάλωσε μὲ ὅλους τοὺς συγγενεῖς καὶ τοὺς
-φίλους του, καὶ σχεδὸν μὲ ὅλον τὸν κόσμον, ἤρχισε νὰ πάσχῃ ἀπὸ
-περιοδικὰς ἀφανείας, ὁποῦ ἦσαν τὰ προανακρούσματα τῆς ὁριστικῆς
-ἐξαφανίσεώς του ἀπὸ τὸν μάταιον κόσμον. Πότε ἐκρύπτετο, ὡς ἔλεγαν, εἰς
-μίαν ἐρημικὴν σπηλιὰν, πότε ἐπήγαινε νὰ μείνῃ ὀλίγας ἡμέρας εἰς τὸ
-Μοναστήρι, πότε ἐταξίδευεν, ἄγνωστον ποῦ· καὶ ὅλας αὐτὰς τὰς φορὰς, τὸν
-ἄτυχον Σαψώνην, τὸν ἄφηνεν εἰς τὸ ἔλεος τοῦ Θεοῦ καὶ τῶν ἀνθρώπων τῆς
-ἀγορᾶς, ἂν θὰ εὐαρεστοῦντο ποτὲ νὰ τοῦ ρίψουν ἓν ξηροκόμματον. Συχνὰ ὁ
-Γιωργὸς ὁ Λαφκιώτης ὁ ἰδιοκτήτης τοῦ ἀρχαιοπρεποῦς καὶ ἀναλλοιώτου
-καφενείου εἰς τὴν παραθαλασσίαν, ἂν καὶ τοῦ εἶχε φάγῃ ὀλίγας
-ἑκατοντάδας δραχμῶν, καλῇ τῇ πίστει, ὁ ἀφέντης τοῦ Σαψώνη, ᾤκτειρε τὸ
-ἄκακον θρέμμα, καὶ τοῦ ἔρριπτεν ὀλίγα κόκκαλα. Ἐμὲ, ἀφοῦ μὲ
-κατεσκόπευεν ὁ Σαψώνης, ἀπὸ καφενεῖον εἰς ὕπαιθρον, καὶ ἀπὸ κιόσκι εἰς
-τένταν, ἐπὶ τῆς προκυμαίας, τέλος, μὲ ἠκολούθει ὁριστικῶς εἰς τὴν
-οἰκίαν ὅπου ἔπρεπε νὰ τοῦ ρίψω τι ἐκ τοῦ ὑστερήματος.
-
-Ἀλλὰ καὶ εἰς τὰ καλά του ὅταν ἦτο ὁ Σταμάτης, διὰ τὸν περιπαθῶς
-ἀφωσιωμένον σκύλον δὲν εἶχε λάβῃ ἄλλην πρόνοιαν, εἰμὴ νὰ τὸν ρίπτῃ
-αἰφνιδίως εἰς τὸ κῦμα, γαυγίζοντα καὶ μὴ θέλοντα, διὰ νὰ κολυμβᾷ. Τὸν
-εἶχεν ἀφήσει ἀκούρευτον καὶ βαθύτριχον ἀπὸ χρόνων πολλῶν. Ἦτο πολὺ
-μαλλιαρὸς σκύλος. Τὴν φορὰν αὐτὴν, ἀφοῦ μᾶς ἐμυρίσθη πῶς ἡτοιμαζόμεθα
-δι’ ἐκδρομὴν, εἶχε δείξει ἀνήσυχον περιέργειαν, ὅταν ἐφορτώνετο τὸ
-ὀνάριον, καὶ εἶχε πλησιάσει νὰ ὀσφρανθῇ τὶ περιεῖχεν ὁ σάκκος ἐκεῖνος,
-τὸν ὁποῖον ὁ Ἀλέκος εἶχε περιδέσει καὶ φορτώσει περὶ τὸ σάγμα, εἰς τὴν
-ἀριστερὰν πλευρὰν τοῦ ζώου. Δεξιὰ εἶχε φορτωθῇ ὁ μάρσιππος μὲ τὰ ἱερὰ
-τοῦ Παπᾶ, εἷς κάλαθος μὲ τρόφιμα, καὶ μία φλάσκα μὲ οἶνον. Εἶτα, μᾶς
-ἠκολούθησε μὲ βῆμα, αὐτόκλητος.
-\end{multicols}
-
-\end{document} \ No newline at end of file