summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-08-27 23:54:58 +0000
committerKarl Berry <karl@freefriends.org>2017-08-27 23:54:58 +0000
commit08429b2ebce33f39aef9d2efa79a08bd4e1b495f (patch)
tree7eb30895b78ecee7c5e9bc697705b1ad873edb60 /Master/texmf-dist/doc
parent61504dfcae20a500f64c498a1c4671381e3336ec (diff)
forms16be (27aug17)
git-svn-id: svn://tug.org/texlive/trunk@45143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-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
7 files changed, 505 insertions, 0 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}