%% %% This is file `selinput.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% selinput.dtx (with options: `package') %% %% This is a generated file. %% %% Project: selinput %% Version: 2016/05/17 v1.4 %% %% Copyright (C) 2007 by %% Heiko Oberdiek %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Heiko Oberdiek. %% %% This work consists of the main source file selinput.dtx %% and the derived files %% selinput.sty, selinput.pdf, selinput.ins, selinput.drv, %% selinput-test1.tex, selinput-test2.tex, selinput-test3.tex, %% selinput-test4.tex, selinput-test5.tex. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{selinput} [2016/05/17 v1.4 Semi-automatic input encoding detection (HO)]% \RequirePackage{inputenc} \RequirePackage{kvsetkeys}[2006/10/19] \RequirePackage{stringenc}[2007/06/16] \RequirePackage{kvoptions} \newcommand*{\SelectInputEncodingList}{% \let\SIE@EncodingList\@empty \kvsetkeys{SelInputEnc}% } \newcommand*{\SelectInputMappings}[1]{% \SIE@LoadNameDefs \let\SIE@StringUnicode\@empty \let\SIE@StringDest\@empty \kvsetkeys{SelInputMap}{#1}% \ifx\\SIE@StringUnicode\SIE@StringDest\\% \PackageError{selinput}{% No mappings specified% }\@ehc \else \EdefUnescapeHex\SIE@StringUnicode\SIE@StringUnicode \let\SIE@Encoding\@empty \@for\SIE@EncodingTest:=\SIE@EncodingList\do{% \ifx\SIE@Encoding\@empty \StringEncodingConvertTest\SIE@temp\SIE@StringUnicode {utf16be}\SIE@EncodingTest{% \ifx\SIE@temp\SIE@StringDest \let\SIE@Encoding\SIE@EncodingTest \fi }{}% \fi }% \ifx\SIE@Encoding\@empty \StringEncodingConvertTest\SIE@temp\SIE@StringDest {ascii}{utf16be}{% \def\SIE@Encoding{ascii}% \SIE@Info{selinput}{% Matching encoding not found, but input characters% \MessageBreak are 7-bit (possibly editor replacements).% \MessageBreak Hence using ascii encoding% }% }{}% \fi \ifx\SIE@Encoding\@empty \PackageError{selinput}{% Cannot find a matching encoding% }\@ehd \else \ifx\SIE@Encoding\SIE@EncodingUTFviii \SIE@LoadUnicodePackage \ifx\SIE@UseUTFviii\@empty \else \let\SIE@Encoding\SIE@UseUTFviii \fi \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname InputEncoding\endcsname\relax \inputencoding\SIE@Encoding \else \InputEncoding\SIE@Encoding \fi \SIE@Info{selinput}{Encoding `\SIE@Encoding' selected}% \fi \fi } \def\SIE@LoadNameDefs{% \begingroup \endlinechar=\m@ne \catcode92=0 % backslash \catcode123=1 % left curly brace/beginning of group \catcode125=2 % right curly brace/end of group \catcode37=14 % percent/comment character \@makeother\[% \@makeother\]% \@makeother\.% \@makeother\(% \@makeother\)% \@makeother\/% \@makeother\-% \let\InputenxName\SelectInputDefineMapping \InputIfFileExists{ix-name.def}{}{% \PackageError{selinput}{% Missing `ix-name.def' (part of package `inputenx')% }\@ehd }% \global\let\SIE@LoadNameDefs\relax \endgroup } \newcommand*{\SelectInputDefineMapping}[1]{% \expandafter\gdef\csname SIE@@#1\endcsname } \kv@set@family@handler{SelInputMap}{% \@onelevel@sanitize\kv@key \ifx\kv@value\relax \PackageError{selinput}{% Missing input character for `\kv@key'% }\@ehc \else \@onelevel@sanitize\kv@value \ifx\kv@value\@empty \PackageError{selinput}{% Input character got lost?\MessageBreak Missing input character for `\kv@key'% }\@ehc \else \@ifundefined{SIE@@\kv@key}{% \PackageWarning{selinput}{% Missing definition for `\kv@key'% }% }{% \edef\SIE@StringDest{% \SIE@StringDest \kv@value }% \edef\SIE@StringUnicode{% \SIE@StringUnicode \csname SIE@@\kv@key\endcsname }% }% \fi \fi } \kv@set@family@handler{SelInputEnc}{% \@onelevel@sanitize\kv@key \ifx\kv@value\relax \ifx\SIE@EncodingList\@empty \let\SIE@EncodingList\kv@key \else \edef\SIE@EncodingList{\SIE@EncodingList,\kv@key}% \fi \else \@onelevel@sanitize\kv@value \PackageError{selinput}{% Illegal key value pair (\kv@key=\kv@value)\MessagBreak in encoding list% }\@ehc \fi } \def\SIE@LoadUnicodePackage{% \@ifpackageloaded\SIE@UnicodePackage{}{% \RequirePackage\SIE@UnicodePackage\relax }% \SIE@PatchUCS \global\let\SIE@LoadUnicodePackage\relax } \let\SIE@show\show \def\SIE@PatchUCS{% \AtBeginDocument{% \expandafter\ifx\csname ver@ucsencs.def\endcsname\relax \else \let\show\SIE@show \fi }% } \SIE@PatchUCS \AtBeginDocument{% \let\SIE@LoadUnicodePackage\relax } \def\SIE@EncodingUTFviii{utf8} \@onelevel@sanitize\SIE@EncodingUTFviii \def\SIE@EncodingUTFviiix{utf8x} \@onelevel@sanitize\SIE@EncodingUTFviiix \let\SIE@UnicodePackage\@empty \let\SIE@UseUTFviii\@empty \let\SIE@Info\PackageInfo \SetupKeyvalOptions{% family=SelInput,% prefix=SelInput@% } \define@key{SelInput}{utf8}{% \def\SIE@UseUTFviii{#1}% \@onelevel@sanitize\SIE@UseUTFviii } \DeclareBoolOption{ucs} \DeclareVoidOption{warning}{% \let\SIE@Info\PackageWarning } \ProcessKeyvalOptions{SelInput} \ifSelInput@ucs \def\SIE@UnicodePackage{ucs}% \ifx\SIE@UseUTFviii\@empty \let\SIE@UseUTFviii\SIE@EncodingUTFviiix \fi \else \ifx\SIE@UseUTFviii\@empty \@ifpackageloaded{ucs}{% \let\SIE@UseUTFviii\SIE@EncodingUTFviiix }{% \let\SIE@UseUTFviii\SIE@EncodingUTFviii }% \fi \fi \edef\SIE@EncodingList{% utf8,% x-iso-8859-1,% x-iso-8859-15,% x-cp1252,% ansinew x-mac-roman,% x-iso-8859-2,% x-iso-8859-3,% x-iso-8859-4,% x-iso-8859-5,% x-iso-8859-6,% x-iso-8859-7,% x-iso-8859-8,% x-iso-8859-9,% x-iso-8859-10,% x-iso-8859-11,% x-iso-8859-13,% x-iso-8859-14,% x-iso-8859-15,% x-mac-centeuro,% x-mac-cyrillic,% x-koi8-r,% x-cp1250,% x-cp1251,% x-cp1257,% x-cp437,% x-cp850,% x-cp852,% x-cp855,% x-cp858,% x-cp865,% x-cp866,% x-nextstep,% x-dec-mcs% }% \@onelevel@sanitize\SIE@EncodingList \endinput %% %% End of file `selinput.sty'.