summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/luainputenc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-06-23 00:18:01 +0000
committerKarl Berry <karl@freefriends.org>2009-06-23 00:18:01 +0000
commitc5eb42407f4dca7e0651d9f78eac32007261407b (patch)
treea6cc17dd8fccf0a6ba67dcb4b3b1cbf21019a12c /Master/texmf-dist/tex/lualatex/luainputenc
parenta6f953f4816835c3e6460c8623361f6cc7978ee5 (diff)
new lualatex package luainputenc
git-svn-id: svn://tug.org/texlive/trunk@13903 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/luainputenc')
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/eu2enc.def37
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/eu2lmr.fd82
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.lua259
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.sty255
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/lutf8.def114
-rw-r--r--Master/texmf-dist/tex/lualatex/luainputenc/lutf8x.def154
6 files changed, 901 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/eu2enc.def b/Master/texmf-dist/tex/lualatex/luainputenc/eu2enc.def
new file mode 100644
index 00000000000..9699ee905d1
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/eu2enc.def
@@ -0,0 +1,37 @@
+%%
+%% This is file `eu2enc.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luainputenc.dtx (with options: `eu2')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+%%
+%% This work is under the CC0 license. As an exception, the files
+%% luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+%% See these file for more details.
+%%
+%% People who helped on this package:
+%% Javier Bezos
+%% Will Robertson
+%% Hans Hagen
+%% Heiko Oberdiek
+%% Javier Mugica
+%%
+%% This work consists of the main source file luainputenc.dtx
+%% and the derived files
+%% luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+%% eu2enc.def, eu2lmr.fd and luainputenc.pdf
+%%
+
+\ProvidesFile{eu2enc.def}[2009/04/15 v0.1
+ a unicode font encoding for LuaTeX.]
+\DeclareFontEncoding{EU2}{}{}
+\DeclareErrorFont{EU2}{lmr}{m}{n}{10}
+\DeclareFontSubstitution{EU2}{lmr}{m}{n}
+
+\endinput
+%%
+%% End of file `eu2enc.def'.
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/eu2lmr.fd b/Master/texmf-dist/tex/lualatex/luainputenc/eu2lmr.fd
new file mode 100644
index 00000000000..141dbf55342
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/eu2lmr.fd
@@ -0,0 +1,82 @@
+%%
+%% This is file `eu2lmr.fd',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luainputenc.dtx (with options: `lmr')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+%%
+%% This work is under the CC0 license. As an exception, the files
+%% luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+%% See these file for more details.
+%%
+%% People who helped on this package:
+%% Javier Bezos
+%% Will Robertson
+%% Hans Hagen
+%% Heiko Oberdiek
+%% Javier Mugica
+%%
+%% This work consists of the main source file luainputenc.dtx
+%% and the derived files
+%% luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+%% eu2enc.def, eu2lmr.fd and luainputenc.pdf
+%%
+
+\ProvidesFile{eu2lmr.fd}
+ [2009/04/15 v0.1 Font defs for Latin Modern for LuaTeX's EU2 encoding]
+\DeclareFontFamily{EU2}{lmr}{}
+\DeclareFontShape{EU2}{lmr}{m}{n}%
+ {<-5.5> "lmroman5-regular:+tlig;+tsub;+liga"
+ <5.5-6.5> "lmroman6-regular:+tlig;+tsub;+liga"
+ <6.5-7.5> "lmroman7-regular:+tlig;+tsub;+liga"
+ <7.5-8.5> "lmroman8-regular:+tlig;+tsub;+liga"
+ <8.5-9.5> "lmroman9-regular:+tlig;+tsub;+liga"
+ <9.5-11> "lmroman10-regular:+tlig;+tsub;+liga"
+ <11-15> "lmroman12-regular:+tlig;+tsub;+liga"
+ <15-> "lmroman17-regular:+tlig;+tsub;+liga"
+ }{}
+\DeclareFontShape{EU2}{lmr}{m}{sl}%
+ {<-8.5> "lmroman8-oblique:+tlig;+tsub;+liga"
+ <8.5-9.5> "lmroman9-oblique:+tlig;+tsub;+liga"
+ <9.5-11> "lmroman10-oblique:+tlig;+tsub;+liga"
+ <11-15> "lmroman12-oblique:+tlig;+tsub;+liga"
+ <15-> "lmroman17-oblique:+tlig;+tsub;+liga"
+ }{}
+\DeclareFontShape{EU2}{lmr}{m}{it}%
+ {<-7.5> "lmroman7-italic:+tlig;+tsub;+liga"
+ <7.5-8.5> "lmroman8-italic:+tlig;+tsub;+liga"
+ <8.5-9.5> "lmroman9-italic:+tlig;+tsub;+liga"
+ <9.5-11> "lmroman10-italic:+tlig;+tsub;+liga"
+ <11-> "lmroman12-italic:+tlig;+tsub;+liga"
+ }{}
+\DeclareFontShape{EU2}{lmr}{m}{sc}%
+ {<-> "lmroman10-capsregular:+tlig;+tsub;+liga"}{}
+\DeclareFontShape{EU2}{lmr}{m}{scsl}%
+ {<-> "lmroman10-capsoblique:+tlig;+tsub;+liga"}{}
+%%%%%%% bold series
+\DeclareFontShape{EU2}{lmr}{b}{n}
+ {<-> "lmroman10-demi:+tlig;+tsub;+liga"}{}
+\DeclareFontShape{EU2}{lmr}{b}{sl}
+ {<-> "lmroman10-demioblique:+tlig;+tsub;+liga"}{}
+%%%%%%%% bold extended series
+\DeclareFontShape{EU2}{lmr}{bx}{n}
+ {<-5.5> "lmroman5-bold:+tlig;+tsub;+liga"
+ <5.5-6.5> "lmroman6-bold:+tlig;+tsub;+liga"
+ <6.5-7.5> "lmroman7-bold:+tlig;+tsub;+liga"
+ <7.5-8.5> "lmroman8-bold:+tlig;+tsub;+liga"
+ <8.5-9.5> "lmroman9-bold:+tlig;+tsub;+liga"
+ <9.5-11> "lmroman10-bold:+tlig;+tsub;+liga"
+ <11-> "lmroman12-bold:+tlig;+tsub;+liga"
+ }{}
+\DeclareFontShape{EU2}{lmr}{bx}{it}
+ {<-> "lmroman10-bolditalic:+tlig;+tsub;+liga"}{}
+\DeclareFontShape{EU2}{lmr}{bx}{sl}
+ {<-> "lmroman10-boldoblique:+tlig;+tsub;+liga"}{}
+
+\endinput
+%%
+%% End of file `eu2lmr.fd'.
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.lua b/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.lua
new file mode 100644
index 00000000000..eb324f3459a
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.lua
@@ -0,0 +1,259 @@
+--
+-- This is file `luainputenc.lua',
+-- generated with the docstrip utility.
+--
+-- The original source files were:
+--
+-- luainputenc.dtx (with options: `lua')
+-- This is a generated file.
+--
+-- Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+--
+-- This work is under the CC0 license. As an exception, the files
+-- luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+-- See these file for more details.
+--
+-- People who helped on this package:
+-- Javier Bezos
+-- Will Robertson
+-- Hans Hagen
+-- Heiko Oberdiek
+-- Javier Mugica
+--
+-- This work consists of the main source file luainputenc.dtx
+-- and the derived files
+-- luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+-- eu2enc.def, eu2lmr.fd and luainputenc.pdf
+--
+
+luainputenc = { }
+
+luainputenc.module = {
+ name = "luainputenc",
+ version = 0.93,
+ date = "2009/04/15",
+ description = "Lua simple inputenc package.",
+ author = "Elie Roux",
+ copyright = "Elie Roux",
+ license = "CC0",
+}
+
+luatextra.provides_module(luainputenc.module)
+
+local format = string.format
+
+luainputenc.log = luainputenc.log or function(...)
+ luatextra.module_log('luainputenc', format(...))
+end
+
+local char, utfchar, byte, format, gsub =
+string.char, unicode.utf8.char, string.byte, string.format, string.gsub
+
+local started, stopped = 1, 0
+
+luainputenc.state = stopped
+
+function luainputenc.setstate(state)
+ if state == luainputenc.state then
+ return
+ elseif state == started then
+ luainputenc.start()
+ else
+ luainputenc.stop()
+ end
+end
+
+function luainputenc.setstarted()
+ luainputenc.setstate(started)
+end
+
+function luainputenc.setstopped()
+ luainputenc.setstate(stopped)
+end
+
+
+function luainputenc.byte_to_utf(c)
+ return utfchar(byte(c))
+end
+
+
+function luainputenc.fake_utf(buf)
+ return gsub(buf,"(.)", luainputenc.byte_to_utf)
+end
+
+
+function luainputenc.start()
+ callback.add('process_input_buffer', luainputenc.fake_utf,
+'luainputenc.fake_utf')
+ luainputenc.state = started
+ if luainputenc.callback_registered == 0 then
+ luainputenc.register_callback()
+ end
+end
+
+function luainputenc.stop()
+ callback.remove('process_input_buffer', 'luainputenc.fake_utf')
+ luainputenc.state = stopped
+ return
+end
+
+
+luainputenc.unicode_extentions = {
+ ['.aux'] = 1, -- basic files
+ ['.toc'] = 1,
+ ['.gls'] = 1,
+ ['.ind'] = 1,
+ ['.idx'] = 1,
+ ['.vrb'] = 1, -- beamer and powerdot
+ ['.nav'] = 1, -- other beamer extentions
+ ['.sol'] = 1,
+ ['.qsl'] = 1,
+ ['.snm'] = 1,
+ ['.pgn'] = 1, -- pagereference
+ ['.cpg'] = 1, -- AlProTeX
+ ['.pst'] = 1, -- pst-tree
+ ['.tmp'] = 1, -- sauerj/collect
+ ['.sym'] = 1, -- listofsymbols
+ ['.sub'] = 1, -- listofsymbols
+ ['.lof'] = 1, -- preprint
+ ['.lot'] = 1, -- preprint
+ ['mtc1'] = 1, -- minitoc
+ ['.ovr'] = 1, -- thumbss
+ ['.fff'] = 1, -- endplate
+ ['.sbb'] = 1, -- splitbib
+ ['.bbl'] = 1, -- latex
+ ['.ain'] = 1, -- authorindex
+ ['.abb'] = 1, -- juraabbrev
+ ['.ent'] = 1, -- endnotes
+ ['.end'] = 1, -- fn2end
+ ['.thm'] = 1, -- ntheorem
+ ['.xtr'] = 1, -- extract
+ ['.han'] = 1, -- linguho
+ ['.bnd'] = 1, -- bibref
+ ['.bbl'] = 1, -- bibref
+ ['.col'] = 1, -- mwrite
+ ['.ttt'] = 1, -- endfloat
+ ['.fax'] = 1, -- lettre
+ ['.tns'] = 1, -- lettre
+ ['.odt'] = 1, -- lettre
+ ['.etq'] = 1, -- lettre
+ ['.emd'] = 1, -- poemscol
+ ['.emx'] = 1, -- poemscol
+ ['.ctn'] = 1, -- poemscol
+ ['.hst'] = 1, -- vhistory
+ ['.acr'] = 1, -- crosswrd
+ ['.dwn'] = 1, -- crosswrd
+ ['.ttc'] = 1, -- talk
+ -- ['.txt'] = 1, -- coverpage, but not sure it's safe to include it...
+ ['.eve'] = 1, -- calend0
+ ['.scn'] = 1, -- cwebmac
+ }
+
+
+luainputenc.unicode_files = {}
+
+luainputenc.non_unicode_files = {}
+
+function luainputenc.set_unicode_file(filename)
+ if luainputenc.non_unicode_files[filename] == 1 then
+ luainputenc.non_unicode_files[filename] = nil
+ end
+ luainputenc.unicode_files[filename] = 1
+end
+
+function luainputenc.set_non_unicode_file(filename)
+ if luainputenc.unicode_files[filename] == 1 then
+ luainputenc.unicode_files[filename] = nil
+ end
+ luainputenc.non_unicode_files[filename] = 1
+end
+
+function luainputenc.set_unicode_extention(ext)
+ luainputenc.unicode_extention[ext] = 1
+end
+
+function luainputenc.set_non_unicode_extention(ext)
+ if luainputenc.unicode_extentions[ext] == 1 then
+ luainputenc.unicode_extentions[ext] = nil
+ end
+end
+
+function luainputenc.unset_file(filename)
+ if luainputenc.unicode_files[filename] == 1 then
+ luainputenc.unicode_files[filename] = nil
+ elseif luainputenc.non_unicode_files[filename] == 1 then
+ luainputenc.non_unicode_files[filename] = nil
+ end
+end
+
+local unicode, non_unicode = stopped, started
+
+function luainputenc.find_state(filename)
+ if luainputenc.unicode_files[filename] == 1 then
+ return unicode
+ elseif luainputenc.non_unicode_files[filename] == 1 then
+ return non_unicode
+ else
+ local ext = filename:sub(-4)
+ if luainputenc.unicode_extentions[ext] == 1 then
+ return unicode
+ else
+ return non_unicode
+ end
+ end
+end
+
+
+function luainputenc.pre_read_file(env)
+ local currentstate = luainputenc.state
+ luainputenc.setstate(luainputenc.find_state(env.filename))
+ env.previousstate = currentstate
+end
+
+function luainputenc.close(env)
+ luainputenc.setstate(env.previousstate)
+end
+
+luainputenc.callback_registered = 0
+
+function luainputenc.register_callback()
+ if luainputenc.callback_registered == 0 then
+ callback.add('pre_read_file', luainputenc.pre_read_file,
+'luainputenc.pre_read_file')
+ callback.add('file_close', luainputenc.close, 'luainputenc.close')
+ luainputenc.callback_registered = 1
+ end
+end
+
+
+luainputenc.activated_characters = {}
+luainputenc.characters_are_activated = false
+
+function luainputenc.declare_character(c)
+ luainputenc.activated_characters[tonumber(c)] = true
+end
+
+function luainputenc.force_characters_activated ()
+ luainputenc.characters_are_activated = true
+end
+
+function luainputenc.activate_characters()
+ if not luainputenc.characters_are_activated then
+ for n, _ in pairs(luainputenc.activated_characters) do
+ tex.sprint(string.format('\\catcode %d\\active',n))
+ end
+ luainputenc.characters_are_activated = true
+ end
+end
+
+function luainputenc.desactivate_characters()
+ if luainputenc.characters_are_activated then
+ for n, _ in pairs(luainputenc.activated_characters) do
+ tex.sprint(string.format('\\catcode %d=11',n))
+ end
+ luainputenc.characters_are_activated = false
+ end
+end
+
+--
+-- End of File `luainputenc.lua'.
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.sty b/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.sty
new file mode 100644
index 00000000000..9275c6b9746
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/luainputenc.sty
@@ -0,0 +1,255 @@
+%%
+%% This is file `luainputenc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luainputenc.dtx (with options: `package')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+%%
+%% This work is under the CC0 license. As an exception, the files
+%% luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+%% See these file for more details.
+%%
+%% People who helped on this package:
+%% Javier Bezos
+%% Will Robertson
+%% Hans Hagen
+%% Heiko Oberdiek
+%% Javier Mugica
+%%
+%% This work consists of the main source file luainputenc.dtx
+%% and the derived files
+%% luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+%% eu2enc.def, eu2lmr.fd and luainputenc.pdf
+%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{luainputenc}
+ [2009/04/15 v0.93 inputenc package for LuaTeX]
+
+%% This file was adapted from inputenc.sty, which copyright is:
+%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
+%% 2005 2006 The LaTeX3 Project.
+%%
+%% inputenc.sty is under the lppl version 1.3c or later, and can be
+%% found in the base LaTeX system.
+%%
+%% The lppl can be found at http://www.latex-project.org/lppl.txt
+%%
+%% The changes to inputenc.sty are Copyright 2009 Elie Roux, and are
+%% under the CC0 license.
+%%
+%% The changes are LuaTeX support.
+%%
+%% This file is distributed under the CC0 license, with clause 6 of the
+%% lppl as additional restrictions.
+
+
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
+
+\ifxetex
+ \RequirePackage{xetex-inputenc}
+ \DeclareOption{unactivate}{\PassOptionsToPackage{utf8}{xetex-inputenc}}
+ \DeclareOption{lutf8}{\PassOptionsToPackage{utf8}{xetex-inputenc}}
+ \DeclareOption{lutf8x}{\PassOptionsToPackage{utf8}{xetex-inputenc}}
+ \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xetex-inputenc}}
+ \ProcessOptions*
+ \expandafter\endinput
+\fi
+
+\ifluatex\else
+ \RequirePackage{inputenc}
+ \DeclareOption{unactivate}{\PassOptionsToPackage{utf8}{inputenc}}
+ \DeclareOption{lutf8}{\PassOptionsToPackage{utf8}{inputenc}}
+ \DeclareOption{lutf8x}{\PassOptionsToPackage{utf8}{inputenc}}
+ \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{inputenc}}
+ \ProcessOptions*
+ \expandafter\endinput
+\fi
+
+
+\RequirePackage{luatextra}
+
+\luaUseModule{luainputenc}
+
+
+\def\DeclareInputMath#1{%
+ \@inpenc@test
+ \bgroup
+ \uccode`\~#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }%
+}
+\def\DeclareInputText#1#2{%
+ \def\reserved@a##1 ${}%
+ \def\reserved@b{#2}%
+ \ifcat_\expandafter\reserved@a\meaning\reserved@b$ $_%
+ \DeclareInputMath{#1}{#2}%
+ \else
+ \DeclareInputMath{#1}{\IeC{#2}}%
+ \fi
+}
+\def\IeC{%
+ \ifx\protect\@typeset@protect
+ \expandafter\@firstofone
+ \else
+ \noexpand\IeC
+ \fi
+}
+\def\inputencoding#1{%
+ \the\inpenc@prehook
+ \gdef\@inpenc@test{\global\let\@inpenc@test\relax}%
+ \edef\@inpenc@undefined{\noexpand\@inpenc@undefined@{#1}}%
+ \edef\inputencodingname{#1}%
+ \@inpenc@loop\^^A\^^H%
+ \@inpenc@loop\^^K\^^K%
+ \@inpenc@loop\^^N\^^_%
+ \advance\endlinechar\@M
+ \xdef\saved@space@catcode{\the\catcode`\ }%
+ \catcode`\ 9\relax
+ \input{#1.def}%
+ \advance\endlinechar-\@M
+ \catcode`\ \saved@space@catcode\relax
+ \ifx\@inpenc@test\relax\else
+ \PackageWarning{inputenc}%
+ {No characters defined\MessageBreak
+ by input encoding change to `#1'\MessageBreak}%
+ \fi
+ \the\inpenc@posthook
+}
+\newtoks\inpenc@prehook
+\newtoks\inpenc@posthook
+\def\@inpenc@undefined@#1{\PackageError{inputenc}%
+ {Keyboard character used is undefined\MessageBreak
+ in inputencoding `#1'}%
+ {You need to provide a definition with
+ \noexpand\DeclareInputText\MessageBreak or
+ \noexpand\DeclareInputMath before using this key.}}%
+\def\@inpenc@loop#1#2{%
+ \@tempcnta`#1\relax
+ \loop
+ \catcode\@tempcnta\active
+ \bgroup
+ \uccode`\~\@tempcnta
+ \uppercase{%
+ \egroup
+ \let~\inpenc@undefined
+ }%
+ \ifnum\@tempcnta<`#2\relax
+ \advance\@tempcnta\@ne
+ \repeat}
+
+
+\DeclareOption{utf8}{%
+ \inputencoding{lutf8}%
+}
+
+\DeclareOption{lutf8}{%
+ \inputencoding{lutf8}%
+}
+
+\DeclareOption{utf8x}{%
+ \inputencoding{lutf8}%
+}
+
+\DeclareOption{lutf8x}{%
+ \inputencoding{lutf8x}%
+}
+
+
+\DeclareOption{unactivate}{%
+ \edef\inputencodingname{unactivate}%
+}
+
+
+\DeclareOption*{%
+ \lIE@activate %
+ \@inpenc@loop\^^?\^^ff%
+ \inputencoding{\CurrentOption}%
+}
+
+
+\newcommand*\lIE@setstarted[0]{%
+ \ifnum\lIE@activated=1 %
+ \luadirect{luainputenc.setstarted()}%
+ \fi %
+}
+
+\newcommand*\lIE@setstopped[0]{%
+ \ifnum\lIE@activated=1 %
+ \luadirect{luainputenc.setstopped()}%
+ \fi %
+}
+
+
+\newcommand*\lIE@SetUtfFile[1]{%
+ \luadirect{luainputenc.set_unicode_file([[#1]])}%
+}
+
+
+\newcommand*\lIE@SetNonUtfFile[1]{%
+ \luadirect{luainputenc.set_non_unicode_file([[#1]])}%
+}
+
+
+\newcommand*\lIE@UnsetFile[1]{%
+ \luadirect{luainputenc.unset_file([[#1]])}%
+}
+
+
+\newcommand*\lIE@SetUtfExt[1]{%
+ \luadirect{luainputenc.set_unicode_extention([[#1]])}%
+}
+
+
+\newcommand*\lIE@SetNonUtfExt[1]{
+ \luadirect{luainputenc.set_non_unicode_extention([[#1]])}
+}
+
+
+\newcommand*\lIE@InputUtfFile[1]{%
+ \lIE@SetUtfFile{#1}%
+ \input #1%
+ \lIE@UnsetFile{#1}%
+}
+
+
+\newcommand*\lIE@InputNonUtfFile[1]{%
+ \lIE@SetNonUtfFile{#1}%
+ \input #1%
+ \lIE@UnsetFile{#1}%
+}
+
+
+\newcommand*\InputUtfFile[1]{%
+ \lIE@InputUtfFile{#1}%
+}
+
+\newcommand*\InputNonUtfFile[1]{%
+ \lIE@InputNonUtfFile{#1}%
+}
+
+\newcount\lIE@activated
+
+\newcommand*{\lIE@activate}[0]{%
+ \lIE@activated=1 %
+ \lIE@setstarted %
+}
+
+\newcommand*{\lIE@FromInputenc}[1]{%
+ \ifnum\lIE@activated=0 %
+ \lIE@activate %
+ \fi%
+}
+
+\ProcessOptions*
+
+\endinput
+%%
+%% End of file `luainputenc.sty'.
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/lutf8.def b/Master/texmf-dist/tex/lualatex/luainputenc/lutf8.def
new file mode 100644
index 00000000000..a8883724276
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/lutf8.def
@@ -0,0 +1,114 @@
+%%
+%% This is file `lutf8.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luainputenc.dtx (with options: `def')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+%%
+%% This work is under the CC0 license. As an exception, the files
+%% luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+%% See these file for more details.
+%%
+%% People who helped on this package:
+%% Javier Bezos
+%% Will Robertson
+%% Hans Hagen
+%% Heiko Oberdiek
+%% Javier Mugica
+%%
+%% This work consists of the main source file luainputenc.dtx
+%% and the derived files
+%% luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+%% eu2enc.def, eu2lmr.fd and luainputenc.pdf
+%%
+%% This file was adapted from utf8.def, which copyright is:
+%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
+%% 2004 2005 2006 The LaTeX3 Project.
+%%
+%% utf8.def is under the lppl version 1.3c or later, and can be found
+%% in the base LaTeX system.
+%%
+%% The lppl can be found at http://www.latex-project.org/lppl.txt
+%%
+%% The changes to utf8.def are Copyright 2009 Elie Roux, and are under
+%% the CC0 license.
+%%
+%% The changes are LuaTeX support.
+%%
+%% This file is distributed under the CC0 license, with clause 6 of the
+%% lppl as additional restrictions.
+
+
+\ProvidesFile{lutf8.def}
+ [2009/04/15 v0.93 UTF-8 support for luainputenc]
+
+\makeatletter
+\catcode`\ \saved@space@catcode
+
+\@inpenc@test
+
+\ifx\@begindocumenthook\@undefined
+ \makeatother
+ \endinput \fi
+
+
+\gdef\DeclareUnicodeCharacter#1#2{%
+ \@tempcnta"#1%
+ \catcode\@tempcnta\active %
+ \DeclareInputText{\the\@tempcnta}{#2}%
+}
+
+\@onlypreamble\DeclareUnicodeCharacter
+
+\def\cdp@elt#1#2#3#4{%
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font encoding
+ #1}%
+ \catcode`\ 9\relax}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+}
+\cdp@list
+
+\def\DeclareFontEncoding@#1#2#3{%
+ \expandafter %
+ \ifx\csname T@#1\endcsname\relax %
+ \def\cdp@elt{\noexpand\cdp@elt}%
+ \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+ {\default@family}{\default@series}%
+ {\default@shape}}%
+ \expandafter\let\csname#1-cmd\endcsname\@changed@cmd %
+ \begingroup %
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font encoding #1}}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+ \endgroup
+ \else
+ \@font@info{Redeclaring font encoding #1}%
+ \fi
+ \global\@namedef{T@#1}{#2}%
+ \global\@namedef{M@#1}{\default@M#3}%
+ \xdef\LastDeclaredEncoding{#1}%
+}
+
+\DeclareUnicodeCharacter{00A9}{\textcopyright}
+\DeclareUnicodeCharacter{00AA}{\textordfeminine}
+\DeclareUnicodeCharacter{00AE}{\textregistered}
+\DeclareUnicodeCharacter{00BA}{\textordmasculine}
+\DeclareUnicodeCharacter{02C6}{\textasciicircum}
+\DeclareUnicodeCharacter{02DC}{\textasciitilde}
+\DeclareUnicodeCharacter{200C}{\textcompwordmark}
+\DeclareUnicodeCharacter{2026}{\textellipsis}
+\DeclareUnicodeCharacter{2122}{\texttrademark}
+\DeclareUnicodeCharacter{2423}{\textvisiblespace}
+
+\endinput
+%%
+%% End of file `lutf8.def'.
diff --git a/Master/texmf-dist/tex/lualatex/luainputenc/lutf8x.def b/Master/texmf-dist/tex/lualatex/luainputenc/lutf8x.def
new file mode 100644
index 00000000000..8b910c74a15
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/luainputenc/lutf8x.def
@@ -0,0 +1,154 @@
+%%
+%% This is file `lutf8x.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% luainputenc.dtx (with options: `defx')
+%% This is a generated file.
+%%
+%% Copyright (C) 2009 by Elie Roux <elie.roux@telecom-bretagne.eu>
+%%
+%% This work is under the CC0 license. As an exception, the files
+%% luainputenc.sty, lutf8.def and lutf8x.def have more restrictions.
+%% See these file for more details.
+%%
+%% People who helped on this package:
+%% Javier Bezos
+%% Will Robertson
+%% Hans Hagen
+%% Heiko Oberdiek
+%% Javier Mugica
+%%
+%% This work consists of the main source file luainputenc.dtx
+%% and the derived files
+%% luainputenc.sty, luainputenc.lua, lutf8.def, lutf8x.def,
+%% eu2enc.def, eu2lmr.fd and luainputenc.pdf
+%%
+%% This file was adapted from utf8.def, which copyright is:
+%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
+%% 2004 2005 2006 The LaTeX3 Project.
+%%
+%% utf8.def is under the lppl version 1.3c or later, and can be found
+%% in the base LaTeX system.
+%%
+%% The lppl can be found at http://www.latex-project.org/lppl.txt
+%%
+%% The changes to utf8.def are Copyright 2009 Elie Roux, and are under
+%% the CC0 license.
+%%
+%% The changes are LuaTeX support.
+%%
+%% This file is distributed under the CC0 license, with clause 6 of the
+%% lppl as additional restrictions.
+
+
+\ProvidesFile{lutf8x.def}
+ [2009/04/15 v0.93 UTF-8 support for luainputenc]
+
+\makeatletter
+\catcode`\ \saved@space@catcode
+
+\@inpenc@test
+
+\ifx\@begindocumenthook\@undefined
+ \makeatother
+ \endinput \fi
+
+
+\gdef\DeclareUnicodeCharacter#1#2{%
+ \@tempcnta"#1%
+ \luadirect{luainputenc.declare_character('\the\@tempcnta')}%
+ \catcode\@tempcnta\active %
+ \DeclareInputText{\the\@tempcnta}{#2}%
+}
+
+\@onlypreamble\DeclareUnicodeCharacter
+
+\def\cdp@elt#1#2#3#4{%
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font encoding
+ #1}%
+ \catcode`\ 9\relax}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+}
+\cdp@list
+
+
+\def\lIE@ActivateUnicodeCatcodes{%
+\luadirect{luainputenc.activate_characters()}%
+}
+
+\def\lIE@DesactivateUnicodeCatcodes{%
+\luadirect{luainputenc.desactivate_characters()}%
+}
+
+\def\lIE@CharactersActivated{%
+\luadirect{luainputenc.force_characters_activated()}
+}
+
+\edef\lIE@EU{EU2}
+
+
+\def\DeclareFontEncoding@#1#2#3{%
+ \edef\lIE@test{#1}%
+ \ifx\lIE@test\lIE@EU %
+ \ifx\LastDeclaredEncoding\lIE@EU\else %
+ \lIE@CharactersActivated %
+ \lIE@DesactivateUnicodeCatcodes %
+ \fi
+ \gdef\@@enc@update{%
+ \edef\lIE@test{#1}%
+ \ifx\f@encoding\lIE@EU %
+ \lIE@DesactivateUnicodeCatcodes %
+ \else %
+ \lIE@ActivateUnicodeCatcodes %
+ \fi
+ \expandafter\let\csname\cf@encoding-cmd\endcsname\@changed@cmd
+ \expandafter\let\csname\f@encoding-cmd\endcsname\@current@cmd
+ \default@T
+ \csname T@\f@encoding\endcsname
+ \csname D@\f@encoding\endcsname
+ \let\enc@update\relax
+ \let\cf@encoding\f@encoding
+ }
+ \else %
+ \expandafter %
+ \ifx\csname T@#1\endcsname\relax %
+ \def\cdp@elt{\noexpand\cdp@elt}%
+ \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+ {\default@family}{\default@series}%
+ {\default@shape}}%
+ \expandafter\let\csname#1-cmd\endcsname\@changed@cmd %
+ \begingroup %
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font encoding #1}}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+ \endgroup
+ \else
+ \@font@info{Redeclaring font encoding #1}%
+ \fi
+ \fi %
+ \global\@namedef{T@#1}{#2}%
+ \global\@namedef{M@#1}{\default@M#3}%
+ \xdef\LastDeclaredEncoding{#1}%
+}
+
+\DeclareUnicodeCharacter{00A9}{\textcopyright}
+\DeclareUnicodeCharacter{00AA}{\textordfeminine}
+\DeclareUnicodeCharacter{00AE}{\textregistered}
+\DeclareUnicodeCharacter{00BA}{\textordmasculine}
+\DeclareUnicodeCharacter{02C6}{\textasciicircum}
+\DeclareUnicodeCharacter{02DC}{\textasciitilde}
+\DeclareUnicodeCharacter{200C}{\textcompwordmark}
+\DeclareUnicodeCharacter{2026}{\textellipsis}
+\DeclareUnicodeCharacter{2122}{\texttrademark}
+\DeclareUnicodeCharacter{2423}{\textvisiblespace}
+
+\endinput
+%%
+%% End of file `lutf8x.def'.