summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/README.md21
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdfbin0 -> 742092 bytes
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex301
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex59
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdfbin0 -> 572468 bytes
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex46
-rw-r--r--Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex78
-rw-r--r--Master/texmf-dist/source/latex/forms16be/forms16be.dtx270
-rw-r--r--Master/texmf-dist/source/latex/forms16be/forms16be.ins60
-rw-r--r--Master/texmf-dist/tex/latex/forms16be/forms16be.sty52
-rw-r--r--Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def124
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/forms16be.tlpsrc0
15 files changed, 1014 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/forms16be/README.md b/Master/texmf-dist/doc/latex/forms16be/README.md
new file mode 100644
index 00000000000..c1431866eec
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/README.md
@@ -0,0 +1,21 @@
+The forms16b3 Package
+Author: D. P. Story
+Dated: 2017-08-11
+
+The forms16be package provides support for UTF-16BE Unicode character
+encoding (called a big-endian character string) for the text string
+type (PDF Reference, version 1.7, beginning on page 158). Text strings are
+used in "text annotations, bookmark names, article threads, document
+information, and so forth" (to partially quote page 158). The particular
+application is to set property values of form fields, at least those
+properties that take the text strings as its value. The package contains
+support for Basic Latin plus the ability to enter any unicode character using
+the notation \uXXXX, where 'XXXX' are four hex digits. Package
+works for dvips/Distiller, pdflatex, lualatex, and xelatex.
+
+Enjoy!
+
+Now, I must get back to my retirement.
+
+dps
+dpstory at uakron dot edu
diff --git a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf
new file mode 100644
index 00000000000..67b1af67869
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex
new file mode 100644
index 00000000000..ec3e3057aab
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex
@@ -0,0 +1,301 @@
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+\usepackage[
+ web={centertitlepage,designv,forcolorpaper,tight*,latextoc,pro},
+ eforms,aebxmp
+]{aeb_pro}
+\usepackage{forms16be}
+%\usepackage{graphicx,array,fancyvrb}
+%\usepackage{aeb_mlink}
+%\usepackage{myriadpro}
+%\usepackage{calibri}
+\usepackage[altbullet]{lucidbry}
+
+\def\hardspace{{\fontfamily{cmtt}\selectfont\symbol{32}}}
+
+\usepackage{acroman}
+\usepackage[active]{srcltx}
+
+\urlstyle{tt}
+
+\def\STRUT{\rule{0pt}{14pt}}
+
+\makeatletter
+\newcount\hesheCnt \hesheCnt=-1
+\def\heshe{\@ifstar{\heshei}{\global\advance\hesheCnt1\relax\heshei}}
+\def\heshei{\ifodd\hesheCnt she\else he\fi}
+\def\HeShe{\@ifstar{\HeShei}{\global\advance\hesheCnt1\relax\HeShei}}
+\def\HeShei{\ifodd\hesheCnt She\else He\fi}
+\def\hisher{\@ifstar{\hisheri}{\global\advance\hesheCnt1\relax\hisheri}}
+\def\hisheri{\ifodd\hesheCnt her\else his\fi}
+\def\himher{\@ifstar{\himheri}{\global\advance\hesheCnt1\relax\himheri}}
+\def\himheri{\ifodd\hesheCnt her\else him\fi}
+\makeatother
+
+\DeclareDocInfo
+{
+ university={\AcroTeX.Net},
+ title={The \textsf{forms16be} Package},
+ author={D. P. Story},
+ email={dpstory@acrotex.net},
+ subject=Documentation for the forms16be package,
+ talksite={\url{www.acrotex.net}},
+ version={1.0, 2017/08/11},
+ Keywords={LaTeX, form fields, UTF-16BE, AcroTeX},
+ copyrightStatus=True,
+ copyrightNotice={Copyright (C) \the\year, D. P. Story},
+ copyrightInfoURL={http://www.acrotex.net}
+}
+
+\universityLayout{fontsize=Large}
+\titleLayout{fontsize=LARGE}
+\authorLayout{fontsize=Large}
+\tocLayout{fontsize=Large,color=aeb}
+\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
+\subsectionLayout{indent=-31.25pt,color=aeb}
+\subsubsectionLayout{indent=0pt,color=aeb}
+\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="The forms16be Package";
+var manualfilename="Manual_BG_Print_forms16be.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=false;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+
+\begin{document}
+
+\maketitle
+
+\selectColors{linkColor=black}
+\tableofcontents
+\selectColors{linkColor=webgreen}
+
+
+\section{Introduction}
+
+The \pkg{forms16be} package\footnote{The code in this package was extracted
+from \pkg{aeb\_pro}. The code itself did not depend on PostScript, it is
+useful, therefore, to remove it from \pkg{aeb\_pro} code base and make it
+available to {\LaTeX} users with different workflows (\app{pdflatex},
+\app{lualatex}, and \app{xelatex}).} provides support for UTF-16BE Unicode
+character encoding (called a big-endian character string) for the \emph{text
+string type} (PDF Reference, version 1.7, beginning on page 158). Text
+strings are used in ``text annotations, bookmark names, article threads,
+document information, and so forth'' (to partially quote page~158). The
+particular application is to set property values of form fields, at least
+those properties that take the text strings as its value. The package
+contains support for Basic Latin plus the ability to enter any unicode
+character using the notation \cs{uXXXX}, where `\texttt{XXXX}' are four hex
+digits.
+
+The code was originally designed to be used with the \pkg{eforms} package,
+but can be used with the form fields generated by \pkg{hyperref}, but
+requires some custom modification of the form field commands of
+\pkg{hyperref}.
+
+\section{Using the package}
+
+We use the example from \texttt{forms16be-ef.tex} to discuss how to use this package.
+
+First define the unicode string to be used.
+\bVerb\takeMeasure{\string\defUniStr\darg{\ameta{name}}\darg{\ameta{string}}}%
+\setlength\aebscratch{\bxSize}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\defUniStr{!ameta(name)}{!ameta(string)}
+\end{dCmd}
+\eVerb Define a unicode string with \cs{defUniStr}. The \ameta{name} is the
+name of the unicode string you are defining, it is used later to refer to
+this string. The \ameta{string} argument is a combination of Basic Latin
+characters and unicode characters (more specifically, expressions of the form
+\cs{uXXXX}, where `\texttt{XXXX}' are hex digits). In the example below, we
+declare,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\defUniStr{VDV}{\u03B1 cos(\u03B8)}
+\defUniStr{TU}{Don \u\EURO Story "\u03B1 cos(\u03B8)"}
+\end{Verbatim}
+The definition file \texttt{uni4basic-latin.def} defines the encoding for the
+Basic Latin character set plus a few more definitions, including \cs{EURO}.
+See that file for more details.
+
+\defUniStr{VDV}{\u03B1 cos(\u03B8)}%
+\defUniStr{TU}{Don \u\EURO Story "\u03B1 cos(\u03B8)"}
+
+After declaring and naming your unicode strings, use \cs{unicodeStr} to set the values
+of selected field properties.
+\bVerb\takeMeasure{\string\unicodeStr\darg{\ameta{name}}}%
+\setlength\aebscratch{\bxSize}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\unicodeStr{!ameta(name)}
+\end{dCmd}
+\eVerb \cs{unicodeStr\darg{\ameta{name}}} expands to the \ameta{string}
+argument associated with \ameta{name}, as declared by the \cs{defUniStr}
+command above. For example, \cs{unicodeStr(VDV)}, declared above, expands to
+\begin{quote}\ttfamily
+\unicodeStr(VDV)
+\end{quote}
+Notice the first four hex digits, `\texttt{FEFF}', these are `marker digits'.
+As the PDF Specification describes, the markers are used to signal the
+beginning of a big-endian hex string.
+
+
+For \pkg{eforms}, incorporating these ideas into field creation is easy:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\textField[\TU{\unicodeStr(TU)}
+ \DV{\unicodeStr(VDV)}\V{\unicodeStr(VDV)}]{tst16be}{1.5in}{11bp}
+\end{Verbatim}
+The result is \textField[\textSize{8}\TU{\unicodeStr(TU)}
+ \DV{\unicodeStr(VDV)}\V{\unicodeStr(VDV)}]{tst16be}{1.5in}{11bp}\!\cgBdry. Pass your mouse over
+ the field to see the tool tip as well.
+
+\section{List of field properties that take a text string}
+
+The property entries in a form field that support the text string type are
+\psf{DV}, \psf{V}, \psf{TU}, \psf{CA}, \psf{RC}, and \psf{AC}. The
+\pkg{eforms} key counterparts are \cs{DV}, \cs{V}, \cs{TU}, \cs{CA}, \cs{RC},
+and \cs{AC}. When the argument of any of these begins with \cs{unicodeStr},
+\pkg{eforms} detects this and passes its argument to the unicode keys
+\cs{uDV}, \cs{uV}, \cs{uTU}, \cs{uCA}, \cs{uRC}, and \cs{uAC}. Normally, the
+value of \psf{DV}, for example, is \texttt{DV\,(\ameta{text})}, its value is
+enclosed in parentheses; when the value consists of hex digits, angle
+brackets are required, like so \texttt{DV\,<\ameta{string}>}.
+
+If you enter raw big-endian hex digits, use the special \cs{u\ameta{cmd}} version of the keys, for example,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\pushButton[\CA{\unicodeStr(263A263C)}]{btn}{.5in}{11bp}
+\pushButton[\uCA{FEFF263A263C}]{btn}{.5in}{11bp}
+\end{Verbatim}
+expands to \pushButton[\CA{\unicodeStr(263A263C)}]{btn}{.5in}{11bp} or
+\pushButton[\uCA{FEFF263A263C}]{btn}{.5in}{11bp}\!\cgBdry. The first version
+uses \cs{unicodeStr} with raw hex digits, because \cs{unicodeStr} is used,
+the unicode is detected and \cs{uCA} is used (with angle brackets). In the
+second example, \cs{unicodeStr} is not used, so \cs{uCA} must be explicitly
+used; also, the unicode marker \texttt{FEFF} must explicitly appear as well.
+(\cs{unicodeStr} automatically inserts the marker.) The results of the markup
+forms is the same.
+
+\section{Fonts}
+
+When using unicode to reference glyphs, such as the dings presented above, it
+is important that the fonts the PDF viewer uses contains the glyphs. If the
+glyph does not exist in the font, the viewer might be successful at
+substituting the font. The viewer is not always successful. For example,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\defUniStr{subS}{x\u209B}
+\textField[\V{\unicodeStr(subS)}
+ \DV{\unicodeStr(subS)}]{tstsubS}{.5in}{11bp}
+\end{Verbatim}
+The result is
+\defUniStr{subS}{x\u209B}\textField[\V{\unicodeStr(subS)}\DV{\unicodeStr(subS)}]{tstsubS}{.5in}{11bp}\!\cgBdry,
+the default value of this field should be $x_S$, is it so? The default font
+is \texttt{Helv}. Now, if we change to the \texttt{TiRo} font, we obtain
+\textField[\textFont{TiRo}\V{\unicodeStr(subS)}\DV{\unicodeStr(subS)}]{tstsubS}{.5in}{11bp}\!\cgBdry.
+A better result! The (newer) \cs{u209B} glyph is not supported for all fonts.
+Generally, you'll have to find a font that works and is available to the end
+user as well.
+
+\section{A combobox example}
+
+For combo boxes and list boxes, things are slightly more
+complicated. In the example below, we define a combo box. First,
+define the appearance values of the combo box (the string that is
+seen listed in the combo box).
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\defUniStr{myEuro}{\u20AC (Euro)}
+\defUniStr{myYen}{\u00A5 (Yen)}
+\defUniStr{mySheqel}{\u20AA (Sheqel)}
+\defUniStr{myPound}{\u00A3 (Pound)}
+\defUniStr{myFranc}{\u20A3 (Franc)}
+\end{Verbatim}
+
+\defUniStr{myEuro}{\u20AC (Euro)}
+\defUniStr{myYen}{\u00A5 (Yen)}
+\defUniStr{mySheqel}{\u20AA (Sheqel)}
+\defUniStr{myPound}{\u00A3 (Pound)}
+\defUniStr{myFranc}{\u20A3 (Franc)}
+
+Then we can define our combo box. According to the PDF file format,
+unicode strings should be enclosed in angle brackets
+\verb!<XXXXXXXXXXXX>!. In initializing the combo box below, the
+\cs{unicodeStr} command is used, but this time it is enclosed in
+angle brackets. (That is all the ``u'' versions of the keys do above
+is to automatically insert the angle brackets for you. Here we have
+to do it ourselves. (I suppose one could have a helper command, but
+you can handle it.)
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial}
+\BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp}
+{*{[(Euro)<\unicodeStr(myEuro)>]%
+ [(Yen)<\unicodeStr(myYen)>]%
+ [(Sheqel)<\unicodeStr(mySheqel)>]%
+ [(Pound)<\unicodeStr(myPound)>]%
+ [(Franc)<\unicodeStr(myFranc)>]}
+}
+\end{Verbatim}
+where the \texttt{*} in the position shown above is a token that signals the
+passing of a raw form of the value options of a combo or list box; it is
+defined in \pkg{eforms}.
+
+\newtopic\noindent
+The result is
+\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial}
+\BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp}
+{*{[(Euro)<\unicodeStr(myEuro)>]%
+ [(Yen)<\unicodeStr(myYen)>]%
+ [(Sheqel)<\unicodeStr(mySheqel)>]%
+ [(Pound)<\unicodeStr(myPound)>]%
+ [(Franc)<\unicodeStr(myFranc)>]}
+}\!\cgBdry. Very swave!
+
+
+\section{Demonstration files}
+
+There are three sample files:
+\begin{itemize}
+\item \texttt{forms16b3-ef.tex} uses the \pkg{eforms} package to create
+ form fields and demonstrate how to initialize form fields using
+ unicode.
+\item \texttt{forms16b3-hy.tex} uses form fields created by \pkg{hyperref}.
+ \pkg{hyperref} does not support initializing the value of a field, for
+ example, with big-endian, so a redefinition is needed.
+\item \texttt{forms16b3-ap.tex} demonstrates the \pkg{forms16be} with
+ \pkg{aeb\_pro} (\app{dvips}/\app{Distiller} workflow required). For consistency with previously
+ documented behavior of \pkg{aeb\_pro}, the \opt{linktoattachments} option is used to import \pkg{forms16be}.
+ It is not necessary, however, to use \opt{linktoattachments}.
+\end{itemize}
+
+\section{My retirement}
+
+Now, I simply must get back to it. \dps
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex
new file mode 100644
index 00000000000..b036669ffcf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex
@@ -0,0 +1,59 @@
+\documentclass{article}
+\usepackage{amsmath}
+
+\usepackage[
+ useacrobat,
+ web={designv,forcolorpaper,tight*},
+ eforms,
+% The next two option require dvips/Distiller workflow
+% linktoattachments,
+% attachsource=tex
+]{aeb_pro}
+\usepackage{forms16be}
+
+\def\cs#1{\texttt{\char`\\#1}}
+\let\pkg\textsf
+\let\opt\texttt
+\let\app\textsf
+
+\parindent0pt \parskip6pt
+
+\begin{document}
+
+This file uses \pkg{aeb\_pro}, which assumes the document author uses \app{Acrobat}. When the \opt{linktooption}
+is used, \pkg{forms16be} is automatically included, but \app{dvips/Distiller} must be used as the PDF creator. However,
+if you don't want to attach or link to files, then simply say \verb~\usepackage{forms16be}~, as is done in this
+file, but specify the \opt{useacrobat} for \pkg{aeb\_pro}. The latter is how this source file is configured. As a
+user of \app{pdflatex}, \app{lualatex}, or \app{xelatex}, you can build this source file if you have \app{Acrobat} as your default
+PDF viewer.
+
+Initialize a text field using unicode character strings,
+
+\defUniStr{VDV}{\u03B1 cos(\u03B8)}
+\defUniStr{TU}{Don \u\EURO Story "\u03B1 cos(\u03B8)"}
+
+\textField[\TU{\unicodeStr(TU)}\DV{\unicodeStr(VDV)}\V{\unicodeStr(VDV)}]{tst}{1.5in}{11bp}\olBdry
+\pushButton[\CA{\unicodeStr(VDV)}\AAmouseup{app.alert("Initialized to \\"\\u03B1 cos(\\u03B8)\\"");}]{btn}{1in}{11bp}\cgBdry[1em]
+\pushButton[\CA{Reset}\AAmouseup{this.resetForm();}]{reset}{}{11bp}
+
+Note the JavaScript alert message, we use the same markup as for \cs{defUniStr}, but use \cs{\cs{uXXXX}} rather than \cs{uXXXX}. See the source file.
+
+Initialize a combo box using unicode character strings.
+
+\defUniStr{myEuro}{\u20AC (Euro)}
+\defUniStr{myYen}{\u00A5 (Yen)}
+\defUniStr{mySheqel}{\u20AA (Sheqel)}
+\defUniStr{myPound}{\u00A3 (Pound)}
+\defUniStr{myFranc}{\u20A3 (Franc)}
+
+\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial}
+\BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp}
+{*{[(Euro)<\unicodeStr(myEuro)>]%
+ [(Yen)<\unicodeStr(myYen)>]%
+ [(Sheqel)<\unicodeStr(mySheqel)>]%
+ [(Pound)<\unicodeStr(myPound)>]%
+ [(Franc)<\unicodeStr(myFranc)>]}
+}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf
new file mode 100644
index 00000000000..8c558630f37
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex
new file mode 100644
index 00000000000..c7bf9e92f57
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex
@@ -0,0 +1,46 @@
+\documentclass{article}
+\usepackage[designv,forcolorpaper,tight*]{web}
+\usepackage{eforms}
+\usepackage{forms16be}
+
+\previewOff
+
+
+\def\cs#1{\texttt{\char`\\#1}}
+\let\pkg\textsf
+
+\parindent0pt \parskip6pt
+
+\begin{document}
+
+Initialize a text field using unicode character strings,
+
+\defUniStr{VDV}{\u03B1 cos(\u03B8)}
+\defUniStr{TU}{Don \u\EURO Story "\u03B1 cos(\u03B8)"}
+
+\textField[\TU{\unicodeStr(TU)}\DV{\unicodeStr(VDV)}\V{\unicodeStr(VDV)}]{tst}{1.5in}{11bp}\olBdry
+\pushButton[\CA{\unicodeStr(VDV)}\AAmouseup{app.alert("Initialized to \\"\\u03B1 cos(\\u03B8)\\"");}]{btn}{1in}{11bp}\cgBdry[1em]
+\pushButton[\CA{Reset}\AAmouseup{this.resetForm();}]{reset}{}{11bp}
+
+Note the JavaScript alert message, we use the same markup as for
+\cs{defUniStr}, but use \cs{\cs{uXXXX}} rather than \cs{uXXXX}. See the
+source file.
+
+Initialize a combo box using unicode character strings.
+
+\defUniStr{myEuro}{\u20AC (Euro)}
+\defUniStr{myYen}{\u00A5 (Yen)}
+\defUniStr{mySheqel}{\u20AA (Sheqel)}
+\defUniStr{myPound}{\u00A3 (Pound)}
+\defUniStr{myFranc}{\u20A3 (Franc)}
+
+\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial}
+\BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp}
+{*{[(Euro)<\unicodeStr(myEuro)>]%
+ [(Yen)<\unicodeStr(myYen)>]%
+ [(Sheqel)<\unicodeStr(mySheqel)>]%
+ [(Pound)<\unicodeStr(myPound)>]%
+ [(Franc)<\unicodeStr(myFranc)>]}
+}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex
new file mode 100644
index 00000000000..269042aab25
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex
@@ -0,0 +1,78 @@
+\documentclass{article}
+%\usepackage[designv,forcolorpaper,tight*]{web}
+\usepackage{hyperref}
+\usepackage{forms16be}
+
+\defUniStr{VDV}{\u03B1 cos(\u03B8)}
+\defUniStr{TU}{Don \u\EURO Story "\u03B1 cos(\u03B8)"}
+
+\makeatletter
+% Define two new keys udefault and uvalue to take big-endian values
+\define@key{Field}{udefault}{%
+ \def\Fld@udefault{#1}%
+}
+\define@key{Field}{uvalue}{%
+ \Hy@pdfstringdef\Fld@uvalue{#1}%
+}
+\let\Fld@udefault\ltx@empty
+\let\Fld@uvalue\@empty
+\def\PDFForm@Text{%
+ /Subtype/Widget%
+ \Fld@annotflags
+ \Fld@pageobjref
+ \Fld@annotnames
+ /FT/Tx%
+ \Fld@flags
+ /Q \Fld@align
+ /BS<</W \Fld@borderwidth\space /S /\Fld@borderstyle>>%
+ \ifcase0\ifnum\Fld@rotation=\z@ \else 1\fi
+ \ifx\Fld@bordercolor\relax\else 1\fi
+ \ifx\Fld@bcolor\relax \else 1\fi
+ \space
+ \else
+ /MK<<%
+ \ifnum\Fld@rotation=\z@
+ \else
+ /R \Fld@rotation
+ \fi
+ \ifx\Fld@bordercolor\relax
+ \else
+ /BC[\Fld@bordercolor]%
+ \fi
+ \ifx\Fld@bcolor\relax
+ \else
+ /BG[\Fld@bcolor]%
+ \fi
+ >>%
+ \fi
+ /DA(/Helv \strip@pt\Fld@charsize\space Tf%
+ \ifx\Fld@color\@empty\else\space\Fld@color\fi)%
+% Determine which key to used based on uvalue and udefault
+\ifx\Fld@udefault\ltx@empty
+ /DV(\Hy@escapestring{\Fld@default})\else
+ /DV<\Hy@escapestring{\Fld@udefault}>\fi
+\ifx\Fld@uvalue\@empty
+ /V(\Hy@escapestring{\Fld@value})\else
+ /V<\Hy@escapestring{\Fld@uvalue}>\fi
+ \Fld@additionalactions
+ \ifnum\Fld@maxlen>\z@/MaxLen \Fld@maxlen \fi
+}
+\makeatother
+
+\def\cs#1{\texttt{\char`\\#1}}
+\let\pkg\textsf
+
+\parindent0pt \parskip6pt
+
+\begin{document}
+\begin{Form}
+
+The \pkg{hyperref} package does not support initializing form fields with big-endian, but it is possible
+to modify some \pkg{hyperref} core code to get the desired result. The maintainer can take this example
+and generalize it to all appropriate form fields and properties, it there is a demand.
+
+\def\LayoutTextField#1#2{#2}
+\TextField[uvalue={\unicodeStr(VDV)},udefault={\unicodeStr(VDV)}]{textfield}
+
+\end{Form}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/forms16be/forms16be.dtx b/Master/texmf-dist/source/latex/forms16be/forms16be.dtx
new file mode 100644
index 00000000000..0b7fc4c9280
--- /dev/null
+++ b/Master/texmf-dist/source/latex/forms16be/forms16be.dtx
@@ -0,0 +1,270 @@
+% \iffalse
+%<*copyright>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% forms16be.sty package, %%
+%% Copyright (C) 2017 D. P. Story %%
+%% dpstory@acrotex.net %%
+%% storyd@nwfsc.edu %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of the%%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%</copyright>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{forms16be}
+%<package> [2017/08/11 v1.0 Provides UTF-16BE encoding for text strings (dps)]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[colorlinks,hyperindex=false]{hyperref}
+\OnlyDescription % comment out for implementation details
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\InputIfFileExists{aebdocfmt.def}{\PackageInfo{forms16be}{Inputting aebdocfmt.def}}
+ {\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax
+ \PackageInfo{forms16be}{aebdocfmt.def cannot be found}}
+\begin{document}
+\def\CMD#1{\textbackslash#1}
+\let\pkg\textsf
+\let\opt\texttt
+\let\env\texttt
+\let\app\textsf
+\def\darg#1{\texttt{\char123\relax#1\char125\relax}}
+\def\ameta#1{\ensuremath{\langle\textit{\texttt{#1}}\rangle}}
+\def\meta#1{\textsl{\texttt{#1}}}
+\GetFileInfo{forms16be.sty}
+\title{The \textsf{forms16be} Package}
+\author{D. P. Story\\
+ Email: \texttt{dpstory@acrotex.net}}
+\date{processed \today}
+\maketitle
+\tableofcontents
+\let\Email\texttt
+\DocInput{forms16be.dtx}
+\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\par\PrintIndex}{\paragraph*{Index} The index goes here.\\Execute
+ \texttt{makeindex -s gind.ist -o forms16be.ind forms16be.idx} on the command line and recompile
+ \texttt{forms16be.dtx}.}
+\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here.\\Execute
+ \texttt{makeindex -s gglo.ist -o forms16be.gls forms16be.glo} on the command line and recompile
+ \texttt{forms16be.dtx}.}
+\end{document}
+%</driver>
+% \fi
+% \MakeShortVerb{|}
+% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{forms16be}{Inputting aebdonotindex.def}}
+% {\PackageInfo{forms16be}{cannot find aebdonotindex.def}}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% \section{Introduction}
+%
+% The code in this package was extracted from \pkg{aeb\_pro}. The code itself did not depend on
+% PostScript, it is useful, therefore, to remove it from \pkg{aeb\_pro} code base and make it available
+% to {\LaTeX} users with different workflows (\app{pdflatex}, \app{lualatex}, and \app{xelatex}).
+%
+% This package provides support for UTF-16BE Unicode character encoding for the \emph{text string type}
+% (PDF Reference, version 1.7, beginning on page 158). Text strings are used in ``text annotations, bookmark names,
+% article threads, document information, and so forth'' (to partially quote page~158). The particular application
+% is in setting the property values of form fields, at least those properties that take the text strings as its value.
+% The package contains support for Basic Latin plus the ability to enter any unicode character using the
+% notation \cs{uXXXX}.
+%
+% The code was originally designed to be used with the \pkg{eforms} package, but can be used with
+% the form fields generated by \pkg{hyperref}, but requires some custom modification of the form field
+% commands of \pkg{hyperref}.
+% \begin{macrocode}
+\def\U@csarg#1#2{\expandafter#1\csname#2\endcsname}
+\let\U@Zero=0 \let\U@One=1
+\providecommand\aeb@exiii{\expandafter\expandafter\expandafter}
+% \end{macrocode}
+% \begin{macro}{\convertChriiUnicode}\hskip-\marginparsep\darg{\ameta{char}}\darg{\ameta{unicode}}
+% A simple command for mapping a character to its unicode. This command is used in the character-unicode tables
+% below.
+% \begin{macrocode}
+\providecommand\convertChriiUnicode[2]{\U@csarg\gdef{uni@#1}{#2}}%
+% \end{macrocode}
+% \end{macro}
+%\leavevmode\DescribeMacro{\aref}\hskip-\marginparsep\darg{\ameta{name}} Display the defined character string in UTF-16BE.
+% \begin{macrocode}
+\def\aref(#1){\csname aeb@aDescript@#1\endcsname}
+% \end{macrocode}
+%\leavevmode\DescribeMacro{\displayUnicode}\hskip-\marginparsep\darg{\ameta{char}}
+% Display the Unicode encoding of a character.
+% \begin{macrocode}
+\providecommand{\displayUnicode}[1]{\csname uni@#1\endcsname}
+% \end{macrocode}
+%\leavevmode\DescribeMacro{\stringiiUnicode} is the command that begins building
+% of a big-endian string (UTF-16BE). It sets the unicode marker (\texttt{FEFF}) and passes the flow
+% to \cs{@stringiiUnicode}.
+% \begin{macrocode}
+\providecommand{\stringiiUnicode}{FEFF\expandafter\@stringiiUnicode}
+% \end{macrocode}
+% When \cs{u} is detected \cs{@stringiiUnicode}, the command that converts the string
+% to all unicode hex, it calls \cs{getRawUnicode} to get the next four characters, which
+% should be XXXX, place them in the stream, followed by \cs{@stringiiUnicode} so as to
+% continue the processing of the next character in the description string. I've placed
+% an \cs{expandafter} in the definition of \cs{getRawUnicode} to allow the commands below
+% to be used. Thus instead of using \cs{u20AC}, which might necessitate the user to
+% look up the code, \verb!\u\EURO! can be used instead. Additional shortcut commands
+% like these can be created. Except for \cs{EURO}, these are the ones \TeX{} has trouble
+% processing.
+% \begin{macrocode}
+\providecommand{\@stringiiUnicode}[1]{\ifx#1\relax\else
+ \ifx#1\u\aeb@exiii\getRawUnicode\else
+ \displayUnicode{#1}\aeb@exiii\@stringiiUnicode\fi\fi}
+% \end{macrocode}
+% When the \cs{u} is encountered by \cs{@stringiiUnicode} it is followed four hex digits
+% or by macro (such as \cs{EURO}) that expands to four hex digits. \DescribeMacro{\getRawUnicode}\cs{getRawUnicode}
+% grabs these four hex digits (adding them to the string built by \cs{@stringiiUnicode}). Flow continues
+% to \cs{@stringiiUnicode}.
+% \begin{macrocode}
+\providecommand{\getRawUnicode}{\expandafter\@getRawUnicode}
+\providecommand{\@getRawUnicode}[4]{#1#2#3#4\@stringiiUnicode}
+% \end{macrocode}
+%\leavevmode\DescribeMacro{\unicodeStr}\hskip-\marginparsep\texttt{(\ameta{name})}
+% This command expands \ameta{name} to its big-endian character string. Its argument
+% is delimited with \emph{parentheses}. Do not redefine this command as it is used by
+% \pkg{eforms} for automatic detection of a unicode string.
+% \begin{macrocode}
+\def\unicodeStr(#1){\expandafter
+ \ifx\csname aeb@aDescript@#1\endcsname\relax
+% \end{macrocode}
+% If \ameta{name} is not defined, we assume that \ameta{name} is raw hex digits and
+% we insert them being the marker \texttt{FEFF}; otherwise, we use the string defined by
+% \ameta{name}. We use \cs{stringIIUnicode} to get things going.
+% \begin{macrocode}
+ FEFF#1\else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi}
+% \end{macrocode}
+% \leavevmode\DescribeMacro{\defUniStr}\hskip-\marginparsep\darg{\ameta{name}}\darg{\ameta{string}}
+% The \cs{defUniStr} command is used to define a unicode string. The \ameta{name} should be an
+% ASCII character string (used to retrieve the \ameta{string} later); \ameta{string} is a combination
+% of Basic Latin characters and unicode literals (\cs{uXXXX}). When the \pkg{aeb\_pro} package is loaded
+% with the \opt{linktoattachments} option, \cs{labelName} expanded outside the
+% \env{attachmentNames} environment expands \cs{defUniStr}, this is so to support legacy document that
+% use \cs{labelName} for the purpose of initializing form fields with unicode.
+% \begin{macrocode}
+\def\defUniStr#1{\bgroup\@for\x:=ABCDEFabcdef\do{\@makeother\x}%
+ \def\U@uniStrName{#1}\@ifnextchar\bgroup{\defUniStr@i}{}}
+\def\defUniStr@i{\obeyspaces\getUniDescript}%
+\def\U@NameUniStr{\global\U@csarg\let
+ {aeb@aDescript@\U@uniStrName}\U@description\egroup}
+{\obeyspaces\gdef\getUniDescript#1{\gdef\U@description{#1}%
+\U@NameUniStr}}
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+%<*encoding>
+\convertChriiUnicode\space{0020}
+\convertChriiUnicode{!}{0021}
+{\@makeother\"
+\convertChriiUnicode{"}{0022}}
+\convertChriiUnicode{#}{0023}
+\convertChriiUnicode{$}{0024}
+{\@makeother\%
+\convertChriiUnicode{%}{0025}}
+\convertChriiUnicode{&}{0026}
+\convertChriiUnicode{'}{0027}
+\convertChriiUnicode{(}{0028}
+\convertChriiUnicode{)}{0029}
+\convertChriiUnicode{*}{002A}
+\convertChriiUnicode{+}{002B}
+\convertChriiUnicode{,}{002C}
+\convertChriiUnicode{-}{002D}
+\convertChriiUnicode{.}{002E}
+\convertChriiUnicode{/}{002F}
+\convertChriiUnicode{0}{0030}
+\convertChriiUnicode{1}{0031}
+\convertChriiUnicode{2}{0032}
+\convertChriiUnicode{3}{0033}
+\convertChriiUnicode{4}{0034}
+\convertChriiUnicode{5}{0035}
+\convertChriiUnicode{6}{0036}
+\convertChriiUnicode{7}{0037}
+\convertChriiUnicode{8}{0038}
+\convertChriiUnicode{9}{0039}
+\convertChriiUnicode{:}{003A}
+\convertChriiUnicode{;}{003B}
+\convertChriiUnicode{<}{003C}
+\convertChriiUnicode{=}{003D}
+\convertChriiUnicode{>}{003E}
+\convertChriiUnicode{?}{003F}
+\convertChriiUnicode{@}{0040}
+\convertChriiUnicode{A}{0041}
+\convertChriiUnicode{B}{0042}
+\convertChriiUnicode{C}{0043}
+\convertChriiUnicode{D}{0044}
+\convertChriiUnicode{E}{0045}
+\convertChriiUnicode{F}{0046}
+\convertChriiUnicode{G}{0047}
+\convertChriiUnicode{H}{0048}
+\convertChriiUnicode{I}{0049}
+\convertChriiUnicode{J}{004A}
+\convertChriiUnicode{K}{004B}
+\convertChriiUnicode{L}{004C}
+\convertChriiUnicode{M}{004D}
+\convertChriiUnicode{N}{004E}
+\convertChriiUnicode{O}{004F}
+\convertChriiUnicode{P}{0050}
+\convertChriiUnicode{Q}{0051}
+\convertChriiUnicode{R}{0052}
+\convertChriiUnicode{S}{0053}
+\convertChriiUnicode{T}{0054}
+\convertChriiUnicode{U}{0055}
+\convertChriiUnicode{V}{0056}
+\convertChriiUnicode{W}{0057}
+\convertChriiUnicode{X}{0058}
+\convertChriiUnicode{Y}{0059}
+\convertChriiUnicode{Z}{005A}
+\convertChriiUnicode{[}{005B}
+\convertChriiUnicode{]}{005D}
+\convertChriiUnicode{^}{005E}
+\convertChriiUnicode{_}{005F}
+\convertChriiUnicode{`}{0060}
+\convertChriiUnicode{a}{0061}
+\convertChriiUnicode{b}{0062}
+\convertChriiUnicode{c}{0063}
+\convertChriiUnicode{d}{0064}
+\convertChriiUnicode{e}{0065}
+\convertChriiUnicode{f}{0066}
+\convertChriiUnicode{g}{0067}
+\convertChriiUnicode{h}{0068}
+\convertChriiUnicode{i}{0069}
+\convertChriiUnicode{j}{006A}
+\convertChriiUnicode{k}{006B}
+\convertChriiUnicode{l}{006C}
+\convertChriiUnicode{m}{006D}
+\convertChriiUnicode{n}{006E}
+\convertChriiUnicode{o}{006F}
+\convertChriiUnicode{p}{0070}
+\convertChriiUnicode{q}{0071}
+\convertChriiUnicode{r}{0072}
+\convertChriiUnicode{s}{0073}
+\convertChriiUnicode{t}{0074}
+\convertChriiUnicode{u}{0075}
+\convertChriiUnicode{v}{0076}
+\convertChriiUnicode{w}{0077}
+\convertChriiUnicode{x}{0078}
+\convertChriiUnicode{y}{0079}
+\convertChriiUnicode{z}{007A}
+\convertChriiUnicode{|}{007C}
+{\@makeother~
+\convertChriiUnicode{~}{007E}}
+\def\EURO{20AC}
+\def\BSLASH{005C}
+\def\LBRACE{007B}
+\def\RBRACE{007D}
+\def\DQUOTE{0022}
+\def\ucspace{\u0020}
+%</encoding>
+%<*package>
+\InputIfFileExists{uni4basic-latin.def}{\PackageInfo{forms16be}
+ {inputting uni4basic-latin.def\MessageBreak definitions}}
+ {\PackageError{forms16be}
+ {Cannot find the file uni4basic-latin.def}{}}
+%</package>
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/forms16be/forms16be.ins b/Master/texmf-dist/source/latex/forms16be/forms16be.ins
new file mode 100644
index 00000000000..22f49932dcb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/forms16be/forms16be.ins
@@ -0,0 +1,60 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1999-2006 D. P. Story
+%%
+%% This file is part of the `AcroTeX eDucation Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{2017/08/23}
+\def\batchfile{forms16be.ins}
+%
+\input docstrip
+\ifx\generate\undefined
+ \Msg{**********************************************}
+ \Msg{*}
+ \Msg{* This installation requires docstrip}
+ \Msg{* version 2.4 or later.}
+ \Msg{*}
+ \Msg{* An older version of docstrip has been input}
+ \Msg{*}
+ \Msg{**********************************************}
+ \errhelp{Move or rename old docstrip.tex and get a newer one.}
+ \errmessage{Old docstrip in input path}
+ \batchmode
+ \csname @@end\endcsname\end
+\fi
+
+\keepsilent
+\askforoverwritefalse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\preamble
+\endpreamble
+\generate
+{%
+ \file{forms16be.sty}{\from{forms16be.dtx}{copyright,package}}
+ \file{uni4basic-latin.def}{\from{forms16be.dtx}{copyright,encoding}}
+}
+
+\Msg{***************************************************************}
+\Msg{*}
+\Msg{* \space To finish the installation you have to copy the files }
+\Msg{*}
+\Msg{* \space *.sty, *.cfg and *.def into a directory searched by TeX}
+\Msg{*}
+\Msg{***************************************************************}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
diff --git a/Master/texmf-dist/tex/latex/forms16be/forms16be.sty b/Master/texmf-dist/tex/latex/forms16be/forms16be.sty
new file mode 100644
index 00000000000..ca569bc7da1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/forms16be/forms16be.sty
@@ -0,0 +1,52 @@
+%%
+%% This is file `forms16be.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% forms16be.dtx (with options: `copyright,package')
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% forms16be.sty package, %%
+%% Copyright (C) 2017 D. P. Story %%
+%% dpstory@acrotex.net %%
+%% storyd@nwfsc.edu %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of the%%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{forms16be}
+ [2017/08/11 v1.0 Provides UTF-16BE encoding for text strings (dps)]
+\def\U@csarg#1#2{\expandafter#1\csname#2\endcsname}
+\let\U@Zero=0 \let\U@One=1
+\providecommand\aeb@exiii{\expandafter\expandafter\expandafter}
+\providecommand\convertChriiUnicode[2]{\U@csarg\gdef{uni@#1}{#2}}%
+\def\aref(#1){\csname aeb@aDescript@#1\endcsname}
+\providecommand{\displayUnicode}[1]{\csname uni@#1\endcsname}
+\providecommand{\stringiiUnicode}{FEFF\expandafter\@stringiiUnicode}
+\providecommand{\@stringiiUnicode}[1]{\ifx#1\relax\else
+ \ifx#1\u\aeb@exiii\getRawUnicode\else
+ \displayUnicode{#1}\aeb@exiii\@stringiiUnicode\fi\fi}
+\providecommand{\getRawUnicode}{\expandafter\@getRawUnicode}
+\providecommand{\@getRawUnicode}[4]{#1#2#3#4\@stringiiUnicode}
+\def\unicodeStr(#1){\expandafter
+ \ifx\csname aeb@aDescript@#1\endcsname\relax
+ FEFF#1\else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi}
+\def\defUniStr#1{\bgroup\@for\x:=ABCDEFabcdef\do{\@makeother\x}%
+ \def\U@uniStrName{#1}\@ifnextchar\bgroup{\defUniStr@i}{}}
+\def\defUniStr@i{\obeyspaces\getUniDescript}%
+\def\U@NameUniStr{\global\U@csarg\let
+ {aeb@aDescript@\U@uniStrName}\U@description\egroup}
+{\obeyspaces\gdef\getUniDescript#1{\gdef\U@description{#1}%
+\U@NameUniStr}}
+\InputIfFileExists{uni4basic-latin.def}{\PackageInfo{forms16be}
+ {inputting uni4basic-latin.def\MessageBreak definitions}}
+ {\PackageError{forms16be}
+ {Cannot find the file uni4basic-latin.def}{}}
+\endinput
+%%
+%% End of file `forms16be.sty'.
diff --git a/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def b/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def
new file mode 100644
index 00000000000..d5a62083d47
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def
@@ -0,0 +1,124 @@
+%%
+%% This is file `uni4basic-latin.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% forms16be.dtx (with options: `copyright,encoding')
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% forms16be.sty package, %%
+%% Copyright (C) 2017 D. P. Story %%
+%% dpstory@acrotex.net %%
+%% storyd@nwfsc.edu %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of the%%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\convertChriiUnicode\space{0020}
+\convertChriiUnicode{!}{0021}
+{\@makeother\"
+\convertChriiUnicode{"}{0022}}
+\convertChriiUnicode{#}{0023}
+\convertChriiUnicode{$}{0024}
+{\@makeother\%
+\convertChriiUnicode{%}{0025}}
+\convertChriiUnicode{&}{0026}
+\convertChriiUnicode{'}{0027}
+\convertChriiUnicode{(}{0028}
+\convertChriiUnicode{)}{0029}
+\convertChriiUnicode{*}{002A}
+\convertChriiUnicode{+}{002B}
+\convertChriiUnicode{,}{002C}
+\convertChriiUnicode{-}{002D}
+\convertChriiUnicode{.}{002E}
+\convertChriiUnicode{/}{002F}
+\convertChriiUnicode{0}{0030}
+\convertChriiUnicode{1}{0031}
+\convertChriiUnicode{2}{0032}
+\convertChriiUnicode{3}{0033}
+\convertChriiUnicode{4}{0034}
+\convertChriiUnicode{5}{0035}
+\convertChriiUnicode{6}{0036}
+\convertChriiUnicode{7}{0037}
+\convertChriiUnicode{8}{0038}
+\convertChriiUnicode{9}{0039}
+\convertChriiUnicode{:}{003A}
+\convertChriiUnicode{;}{003B}
+\convertChriiUnicode{<}{003C}
+\convertChriiUnicode{=}{003D}
+\convertChriiUnicode{>}{003E}
+\convertChriiUnicode{?}{003F}
+\convertChriiUnicode{@}{0040}
+\convertChriiUnicode{A}{0041}
+\convertChriiUnicode{B}{0042}
+\convertChriiUnicode{C}{0043}
+\convertChriiUnicode{D}{0044}
+\convertChriiUnicode{E}{0045}
+\convertChriiUnicode{F}{0046}
+\convertChriiUnicode{G}{0047}
+\convertChriiUnicode{H}{0048}
+\convertChriiUnicode{I}{0049}
+\convertChriiUnicode{J}{004A}
+\convertChriiUnicode{K}{004B}
+\convertChriiUnicode{L}{004C}
+\convertChriiUnicode{M}{004D}
+\convertChriiUnicode{N}{004E}
+\convertChriiUnicode{O}{004F}
+\convertChriiUnicode{P}{0050}
+\convertChriiUnicode{Q}{0051}
+\convertChriiUnicode{R}{0052}
+\convertChriiUnicode{S}{0053}
+\convertChriiUnicode{T}{0054}
+\convertChriiUnicode{U}{0055}
+\convertChriiUnicode{V}{0056}
+\convertChriiUnicode{W}{0057}
+\convertChriiUnicode{X}{0058}
+\convertChriiUnicode{Y}{0059}
+\convertChriiUnicode{Z}{005A}
+\convertChriiUnicode{[}{005B}
+\convertChriiUnicode{]}{005D}
+\convertChriiUnicode{^}{005E}
+\convertChriiUnicode{_}{005F}
+\convertChriiUnicode{`}{0060}
+\convertChriiUnicode{a}{0061}
+\convertChriiUnicode{b}{0062}
+\convertChriiUnicode{c}{0063}
+\convertChriiUnicode{d}{0064}
+\convertChriiUnicode{e}{0065}
+\convertChriiUnicode{f}{0066}
+\convertChriiUnicode{g}{0067}
+\convertChriiUnicode{h}{0068}
+\convertChriiUnicode{i}{0069}
+\convertChriiUnicode{j}{006A}
+\convertChriiUnicode{k}{006B}
+\convertChriiUnicode{l}{006C}
+\convertChriiUnicode{m}{006D}
+\convertChriiUnicode{n}{006E}
+\convertChriiUnicode{o}{006F}
+\convertChriiUnicode{p}{0070}
+\convertChriiUnicode{q}{0071}
+\convertChriiUnicode{r}{0072}
+\convertChriiUnicode{s}{0073}
+\convertChriiUnicode{t}{0074}
+\convertChriiUnicode{u}{0075}
+\convertChriiUnicode{v}{0076}
+\convertChriiUnicode{w}{0077}
+\convertChriiUnicode{x}{0078}
+\convertChriiUnicode{y}{0079}
+\convertChriiUnicode{z}{007A}
+\convertChriiUnicode{|}{007C}
+{\@makeother~
+\convertChriiUnicode{~}{007E}}
+\def\EURO{20AC}
+\def\BSLASH{005C}
+\def\LBRACE{007B}
+\def\RBRACE{007D}
+\def\DQUOTE{0022}
+\def\ucspace{\u0020}
+\endinput
+%%
+%% End of file `uni4basic-latin.def'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 90c729bef90..828c583c4ac 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -275,7 +275,7 @@ my @TLP_working = qw(
footbib footmisc footmisx footnotebackref footnotehyper
footnoterange footnpag
forarray foreign forest forest-quickstart forloop
- formlett formation-latex-ul formular
+ formlett formation-latex-ul forms16be formular
fouridx fourier fouriernc
fp fpl
fragmaster fragments frame framed francais-bst frankenstein frcursive
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 29951a1c16a..c1186ea2cdf 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -408,6 +408,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'epspdf', "die 'skipping, siep does it by hand'", #"&MAKEflatten",
'epspdf-setup',"die 'skipping, siep does it by hand'",
'epyt', "die 'renamed to beamertheme-epyt'",
+ 'eq-save', "die 'skipping, requires acrotex'",
'eq2db', "die 'skipping, author request (and nonfree requirements)'",
'eqexam', "die 'skipping, per author request'",
'eqmark', "die 'skipping, latex 2.09, was never in TL'",
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 01fe6dc9dd6..1966ea57d2a 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -438,6 +438,7 @@ depend forarray
depend foreign
depend forloop
depend formlett
+depend forms16be
depend formular
depend fragments
depend frame
diff --git a/Master/tlpkg/tlpsrc/forms16be.tlpsrc b/Master/tlpkg/tlpsrc/forms16be.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/forms16be.tlpsrc