From 08429b2ebce33f39aef9d2efa79a08bd4e1b495f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 27 Aug 2017 23:54:58 +0000 Subject: forms16be (27aug17) git-svn-id: svn://tug.org/texlive/trunk@45143 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/forms16be/README.md | 21 ++ .../doc/latex/forms16be/doc/forms16be-man.pdf | Bin 0 -> 742092 bytes .../doc/latex/forms16be/doc/forms16be-man.tex | 301 +++++++++++++++++++++ .../doc/latex/forms16be/examples/forms16b3-ap.tex | 59 ++++ .../doc/latex/forms16be/examples/forms16b3-ef.pdf | Bin 0 -> 572468 bytes .../doc/latex/forms16be/examples/forms16b3-ef.tex | 46 ++++ .../doc/latex/forms16be/examples/forms16b3-hy.tex | 78 ++++++ .../source/latex/forms16be/forms16be.dtx | 270 ++++++++++++++++++ .../source/latex/forms16be/forms16be.ins | 60 ++++ .../texmf-dist/tex/latex/forms16be/forms16be.sty | 52 ++++ .../tex/latex/forms16be/uni4basic-latin.def | 124 +++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 1 + Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/forms16be.tlpsrc | 0 15 files changed, 1014 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/forms16be/README.md create mode 100644 Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf create mode 100644 Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.tex create mode 100644 Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ap.tex create mode 100644 Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf create mode 100644 Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.tex create mode 100644 Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-hy.tex create mode 100644 Master/texmf-dist/source/latex/forms16be/forms16be.dtx create mode 100644 Master/texmf-dist/source/latex/forms16be/forms16be.ins create mode 100644 Master/texmf-dist/tex/latex/forms16be/forms16be.sty create mode 100644 Master/texmf-dist/tex/latex/forms16be/uni4basic-latin.def create mode 100644 Master/tlpkg/tlpsrc/forms16be.tlpsrc 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/forms16be/doc/forms16be-man.pdf 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!!. 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/forms16be/examples/forms16b3-ef.pdf 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<>% + \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. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{forms16be} +% [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} +% +% \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} +% +%<*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} +% +%<*package> +\InputIfFileExists{uni4basic-latin.def}{\PackageInfo{forms16be} + {inputting uni4basic-latin.def\MessageBreak definitions}} + {\PackageError{forms16be} + {Cannot find the file uni4basic-latin.def}{}} +% +% \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 -- cgit v1.2.3