diff options
author | Karl Berry <karl@freefriends.org> | 2009-06-23 00:18:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-06-23 00:18:01 +0000 |
commit | c5eb42407f4dca7e0651d9f78eac32007261407b (patch) | |
tree | a6cc17dd8fccf0a6ba67dcb4b3b1cbf21019a12c /Master/texmf-dist/tex/lualatex/luainputenc | |
parent | a6f953f4816835c3e6460c8623361f6cc7978ee5 (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')
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'. |