diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-15 21:50:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-15 21:50:07 +0000 |
commit | 14a474d3938a000b58ddd4c440338dc727bdc830 (patch) | |
tree | 814924ad1c955f64be498176d8538ff05d180937 /Master/texmf-dist/tex | |
parent | 8f4769dc6a1426c26d0afd2f29eb1a6faf865eda (diff) |
babel (15jan20)
git-svn-id: svn://tug.org/texlive/trunk@53415 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/babel.def | 103 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/babel.sty | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/hyphen.cfg | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/luababel.def | 117 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/nil.ldf | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/switch.def | 11 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/test-hyphen-post-wiki.tex | 31 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/xe-polygreek.tex | 79 |
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 |