diff options
author | Karl Berry <karl@freefriends.org> | 2019-06-03 21:34:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-06-03 21:34:17 +0000 |
commit | 8888c1b5ec24e017169e9a33ee949297e3e40e29 (patch) | |
tree | 7dc3fc9fbe4fd9cf3f4fb0a7826b36a46162179a | |
parent | fc8f29d934152a1aafa862d142c7bf8c84e48e43 (diff) |
forms16be (3jun19)
git-svn-id: svn://tug.org/texlive/trunk@51305 c570f23f-e606-0410-a88d-b1316a301751
11 files changed, 98 insertions, 56 deletions
diff --git a/Master/texmf-dist/doc/latex/forms16be/README.md b/Master/texmf-dist/doc/latex/forms16be/README.md index f28fb2d8c3b..f70372665e5 100644 --- a/Master/texmf-dist/doc/latex/forms16be/README.md +++ b/Master/texmf-dist/doc/latex/forms16be/README.md @@ -1,6 +1,6 @@ The forms16b3 Package Author: D. P. Story -Dated: 2017/08/28 +Dated: 2019-03-20 The forms16be package provides support for UTF-16BE Unicode character encoding (called a big-endian character string) for the text string @@ -12,6 +12,9 @@ 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. + +What's New (2019-03-20) Changed when macros are expanded; changes are in +response to new features of insdljs (2019/03/16) and eforms (2019/03/16). Enjoy! diff --git a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf Binary files differindex ab9dc57544b..e6113051369 100644 --- a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf +++ b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf diff --git a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex index 67fbad2ae61..c9179b21365 100644 --- a/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex +++ b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex @@ -40,7 +40,7 @@ email={dpstory@acrotex.net}, subject=Documentation for the forms16be package, talksite={\url{www.acrotex.net}}, - version={1.2, 2017/08/28}, + version={1.3, 2019/03/20}, Keywords={LaTeX, form fields, UTF-16BE, AcroTeX}, copyrightStatus=True, copyrightNotice={Copyright (C) \the\year, D. P. Story}, @@ -308,13 +308,13 @@ The result is There are three sample files: \begin{itemize} -\item \texttt{forms16b3-ef.tex} uses the \pkg{eforms} package to create +\item \texttt{forms16be-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}. +\item \texttt{forms16be-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 +\item \texttt{forms16be-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}. diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf Binary files differdeleted file mode 100644 index c06d4e7bfdf..00000000000 --- a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ap.tex index b036669ffcf..056ab2f8146 100644 --- a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex +++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ap.tex @@ -5,7 +5,7 @@ useacrobat, web={designv,forcolorpaper,tight*}, eforms, -% The next two option require dvips/Distiller workflow +% The next two option require dvips/Distiller workflow % linktoattachments, % attachsource=tex ]{aeb_pro} @@ -20,12 +20,16 @@ \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. +This file uses \pkg{aeb\_pro}, which assumes the document author +uses \app{Acrobat}. When the option \opt{linktoattachments} 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, @@ -56,4 +60,3 @@ Initialize a combo box using unicode character strings. } \end{document} - diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ef.pdf b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ef.pdf Binary files differnew file mode 100644 index 00000000000..1e34ebb18db --- /dev/null +++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ef.pdf diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ef.tex index 0faece2fb5b..71688dae0c0 100644 --- a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex +++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-ef.tex @@ -1,9 +1,9 @@ \documentclass{article} \usepackage[designi,tight*]{web} -\usepackage{eforms} +\usepackage{eforms}[2019/05/24] % this version supports \tops, see below \usepackage{forms16be} -\previewOff +% \previewOn \pmcaOn % try compiling with these switches un-commented \def\cs#1{\texttt{\char`\\#1}} @@ -15,12 +15,21 @@ 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 +Text field: \textField[% + \TU{\unicodeStr(TU)} + \DV{\unicodeStr(VDV)} + \V{\tops{$\alpha\cos(\theta)$}{\unicodeStr(VDV)}} +]{tst}{1.5in}{11bp}\olBdry + +Button: \pushButton[% + \CA{\tops{$\alpha\cos(\theta)$}{\unicodeStr(VDV)}} + \AAmouseup{app.alert("Initialized to \\"\\u03B1 cos(\\u03B8)\\"");} +]{btn}{1in}{11bp}\cgBdry[1em] -\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 @@ -35,7 +44,7 @@ Initialize a combo box using unicode character strings. \defUniStr{myPound}{\u00A3 (Pound)} \defUniStr{myFranc}{\u20A3 (Franc)} -\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial} +\comboBox[\Ff\FfEdit\DV{Euro}\V{\tops{Euro}{Euro}}\textFont{Arial} \BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp} {*{[(Euro)<\unicodeStr(myEuro)>] [(Yen)<\unicodeStr(myYen)>] diff --git a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-hy.tex index 269042aab25..269042aab25 100644 --- a/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex +++ b/Master/texmf-dist/doc/latex/forms16be/examples/forms16be-hy.tex diff --git a/Master/texmf-dist/source/latex/forms16be/forms16be.dtx b/Master/texmf-dist/source/latex/forms16be/forms16be.dtx index 99c3cc20ff3..eae105a5b7e 100644 --- a/Master/texmf-dist/source/latex/forms16be/forms16be.dtx +++ b/Master/texmf-dist/source/latex/forms16be/forms16be.dtx @@ -2,9 +2,8 @@ %<*copyright> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% forms16be.sty package, %% -%% Copyright (C) 2017 D. P. Story %% +%% Copyright (C) 2017--2019 %% %% dpstory@acrotex.net %% -%% storyd@nwfsc.edu %% %% %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% @@ -15,7 +14,7 @@ %</copyright> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{forms16be} -%<package> [2017/08/28 v1.2 Provides UTF-16BE encoding for text strings (dps)] +%<package> [2019/03/20 v1.3 Provides UTF-16BE encoding for text strings (dps)] %<*driver> \documentclass{ltxdoc} \usepackage[colorlinks,hyperindex=false]{hyperref} @@ -24,8 +23,8 @@ \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}} + {\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 @@ -44,11 +43,18 @@ \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 +\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\par\PrintIndex}{\paragraph*{Index} The index goes here. +Execute +\begin{quote} + \texttt{makeindex -s gind.ist -o forms16be.ind forms16be.idx} +\end{quote} +on the command line and recompile \texttt{forms16be.dtx}.} +\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here. +Execute +\begin{quote} + \texttt{makeindex -s gglo.ist -o forms16be.gls forms16be.glo} +\end{quote} +on the command line and recompile \texttt{forms16be.dtx}.} \end{document} %</driver> @@ -56,6 +62,8 @@ % \MakeShortVerb{|} % \InputIfFileExists{aebdonotindex.def}{\PackageInfo{forms16be}{Inputting aebdonotindex.def}} % {\PackageInfo{forms16be}{cannot find aebdonotindex.def}} +%\changes{v1.3}{2019/03/20}{Changed when macros are expanded; changes in response to new features +% of \string\pkg{insdljs} and \string\pkg{eforms}} % \begin{macrocode} %<*package> % \end{macrocode} @@ -99,7 +107,8 @@ \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. +%\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} @@ -119,7 +128,7 @@ % 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 +% 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. @@ -152,21 +161,6 @@ % \begin{macrocode} \providecommand{\@getRawUnicode}[4]{#1#2#3#4\@stringiiUnicode} % \end{macrocode} -% \subsection{The \texorpdfstring{\protect\cs{unicodeStr}}{\CMD{unicodeStr}} command} -%\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} % \subsection{The \texorpdfstring{\protect\cs{defUniStr}}{\CMD{defUniStr}} command} % \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 @@ -177,13 +171,43 @@ % use \cs{labelName} for the purpose of initializing form fields with unicode. % \changes{v1.2}{2017/08/28}{Added parentheses to the \string\@for\space loop} % \begin{macrocode} -%\@for\x:=ABCDEFabcdef()\do{\@makeother\x} \def\defUniStr#1{\def\U@uniStrName{#1}\bgroup\fbe@sanitize \obeyspaces\getUniDescript} {\obeyspaces\gdef\getUniDescript#1{\gdef\U@description{#1}% \U@NameUniStr}} \def\U@NameUniStr{\global\U@csarg\let - {aeb@aDescript@\U@uniStrName}\U@description\egroup} + {aeb@aDescript@\U@uniStrName}\U@description\egroup +% \end{macrocode} +% Within \cs{U@NameUniStr}, we add the line below, which is an expanded +% version of the unicode string, built earlier by \cs{buildUnicodeStr}. +% \begin{macrocode} + \U@csarg\xdef{expanded@\U@uniStrName}% + {\U@buildUnicodeStr(\U@uniStrName)}} +% \end{macrocode} +% \leavevmode\DescribeMacro{\U@buildUnicodeStr}\hskip-\marginparsep\texttt{(\ameta{name})} +% If \ameta{name} has been used in a \cs{defUniStr} macro, we prepare to be expanded by +% \cs{U@NameUniStr}. +% \changes{v1.3}{2019/03/20}{Added \string\cs{buildUnicodeStr} to do some of the work +% \string\cs{unicodeStr} used to do} +% \begin{macrocode} +\def\U@buildUnicodeStr(#1){\expandafter + \ifx\csname aeb@aDescript@#1\endcsname\relax + \else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi} +% \end{macrocode} +% +% \subsection{The \texorpdfstring{\protect\cs{unicodeStr}}{\CMD{unicodeStr}} command} +%\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. +% The new \cs{unicodeStr} command: if the argument is not already registered +% by \cs{defUniStr}, we pass it through; otherwise we expand the macro defined +% by \cs{U@NameUniStr}. +% \changes{v1.2}{2017/08/28}{Define a new \string\cs{unicodeStr} command} +% \begin{macrocode} +\def\unicodeStr(#1){\expandafter + \ifx\csname aeb@aDescript@#1\endcsname\relax + FEFF#1\else\csname expanded@#1\endcsname\fi} %</package> %<*encoding> % \end{macrocode} diff --git a/Master/texmf-dist/tex/latex/forms16be/forms16be.sty b/Master/texmf-dist/tex/latex/forms16be/forms16be.sty index 11ac2e0d3b3..5c36770f50d 100644 --- a/Master/texmf-dist/tex/latex/forms16be/forms16be.sty +++ b/Master/texmf-dist/tex/latex/forms16be/forms16be.sty @@ -8,9 +8,8 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% forms16be.sty package, %% -%% Copyright (C) 2017 D. P. Story %% +%% Copyright (C) 2017--2019 %% %% dpstory@acrotex.net %% -%% storyd@nwfsc.edu %% %% %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% @@ -20,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{forms16be} - [2017/08/28 v1.2 Provides UTF-16BE encoding for text strings (dps)] + [2019/03/20 v1.3 Provides UTF-16BE encoding for text strings (dps)] \def\U@csarg#1#2{\expandafter#1\csname#2\endcsname} \providecommand\aeb@exiii{\expandafter\expandafter\expandafter} \def\fbe@sanitize{\@makeother\"\@makeother\#\@makeother\$% @@ -37,15 +36,20 @@ \aeb@exiii\@getRawUnicode\fi#1} \def\getRawUnicode@p(#1){\expandafter\@getRawUnicode#1} \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{\def\U@uniStrName{#1}\bgroup\fbe@sanitize \obeyspaces\getUniDescript} {\obeyspaces\gdef\getUniDescript#1{\gdef\U@description{#1}% \U@NameUniStr}} \def\U@NameUniStr{\global\U@csarg\let - {aeb@aDescript@\U@uniStrName}\U@description\egroup} + {aeb@aDescript@\U@uniStrName}\U@description\egroup + \U@csarg\xdef{expanded@\U@uniStrName}% + {\U@buildUnicodeStr(\U@uniStrName)}} +\def\U@buildUnicodeStr(#1){\expandafter + \ifx\csname aeb@aDescript@#1\endcsname\relax + \else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi} +\def\unicodeStr(#1){\expandafter + \ifx\csname aeb@aDescript@#1\endcsname\relax + FEFF#1\else\csname expanded@#1\endcsname\fi} \InputIfFileExists{uni4basic-latin.def}{\PackageInfo{forms16be} {Inputting uni4basic-latin.def\MessageBreak definitions}} {\PackageError{forms16be} diff --git a/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def b/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def index d5a62083d47..bed4678ebf5 100644 --- a/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def +++ b/Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def @@ -8,9 +8,8 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% forms16be.sty package, %% -%% Copyright (C) 2017 D. P. Story %% +%% Copyright (C) 2017--2019 %% %% dpstory@acrotex.net %% -%% storyd@nwfsc.edu %% %% %% %% This program can redistributed and/or modified under %% %% the terms of the LaTeX Project Public License %% |