Skip to content

Commit 85fef5a

Browse files
author
Clea F. Rees
committed
TeX : nfssext : fontscripts : tweaks
1 parent 01ec4cb commit 85fef5a

File tree

2 files changed

+76
-21
lines changed

2 files changed

+76
-21
lines changed

fontscripts/build.lua

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- $Id: build.lua 10718 2025-01-14 01:55:38Z cfrees $
1+
-- $Id: build.lua 10720 2025-01-14 22:10:25Z cfrees $
22
-- Build configuration for fontscripts
33
-- l3build.pdf listing 1 tudalen 9
44
--
@@ -74,30 +74,42 @@ function manifest_setup ()
7474
}
7575
return groups
7676
end
77+
-- see if this helps ...
78+
packtdszip = true
7779
unpackexe = "pdflatex"
7880
--
7981
uploadconfig = {
8082
-- *required* --
8183
-- announcement (don't include here?)
82-
announcement = "Restructuring and update. An attempt has been made to make the script more modular. Insertion of Text Companion encoding subset declarations into font definition files is now supported. This functionality must be explicitly enabled. Basic support for sandboxing font builds is provided. This is enabled by default for fontinst, but can be used independently if other tools are utilised.",
83-
author = "Clea F. Rees",
84+
announcement = "Restructuring and update. An attempt has been made to make the script more modular. Insertion of Text Companion encoding subset declarations into font definition files is now supported. This functionality must be explicitly enabled. Basic support for sandboxing font builds is provided. This is enabled by default for fontinst, but can be used independently if other tools are utilised.",
85+
author = "Clea F. Rees",
8486
-- email (don't include here!)
85-
ctanPath = "/fonts/utilities/fontscripts",
86-
license = {"lppl1.3c"},
87-
pkg = ctanpkg,
88-
summary = "Font encodings, metrics and Lua script fragments for generating font support packages for 8-bit engines with l3build.",
89-
uploader = "Clea F. Rees",
90-
version = "v0.1",
87+
ctanPath = "/fonts/utilities/fontscripts",
88+
license = {"lppl1.3c"},
89+
pkg = ctanpkg,
90+
summary = "Font encodings, metrics and Lua script fragments for generating font support packages for 8-bit engines with l3build.",
91+
uploader = "Clea F. Rees",
92+
version = "v0.1",
9193
-- optional --
92-
bugtracker = {"https://codeberg.org/cfr/nfssext/issues"},
93-
description = "Font encodings, metrics and Lua script fragments for generating font support packages for 8-bit engines with l3build. Optional template-based system enables the automatic generation of font tables and l3build tests. Easy addition of variable scaling to fd files (unsupported by some tools). Primarily designed for fontinst, but can be adapted for use with other programmes. Default configuration is intended to be cross-platform and require only tools included in TeX Live, but the documentation includes a simple adaption for integration with FontForge and GNU make.",
94+
bugtracker = {"https://codeberg.org/cfr/nfssext/issues"},
95+
description = "Font encodings, metrics and Lua script fragments for generating font support packages for 8-bit engines with l3build. Optional template-based system enables the automatic generation of font tables and l3build tests. Easy addition of variable scaling to fd files (unsupported by some tools). Primarily designed for fontinst, but can be adapted for use with other programmes. Default configuration is intended to be cross-platform and require only tools included in TeX Live, but the documentation includes a simple adaption for integration with FontForge and GNU make.",
9496
-- development {}
9597
-- home {}
96-
-- note = "The catalogue currently shows the package as included only in MikTeX, but it is also included in TeX Live. Any chance this could be corrected?",
97-
repository = {"https://codeberg.org/cfr/nfssext", "https://github.com/cfr42/nfssext"},
98+
-- note = "The catalogue currently shows the package as included only in MikTeX, but it is also included in TeX Live. Any chance this could be corrected?",
99+
repository = {"https://codeberg.org/cfr/nfssext", "https://github.com/cfr42/nfssext"},
98100
-- support {}
99-
topic = {"font-cvt", "package-devel", "ctan"},
100-
update = false,
101+
tdslocations = {
102+
"doc/latex/fontscripts/*.md",
103+
"doc/latex/fontscripts/*.pdf",
104+
"doc/latex/fontscripts/*.txt",
105+
"tex/fontinst/fontscripts/*.etx",
106+
"tex/fontinst/fontscripts/*.mtx",
107+
"scripts/fontscripts/fntbuild*.lua",
108+
"source/latex/fontscripts/*.dtx",
109+
"source/latex/fontscripts/*.ins",
110+
},
111+
topic = {"font-cvt", "package-devel", "ctan"},
112+
update = false,
101113
-- files --
102114
-- announcement_file
103115
-- note_file

fontscripts/fontscripts.dtx

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
% \iffalse
3030
%<*driver>
3131
\RequirePackage{svn-prov}
32-
\ProvidesFileSVN{$Id: fontscripts.dtx 10718 2025-01-14 01:55:38Z cfrees $}[v0.1 \revinfo][\filebase DTX: l3build scripts for font installation]
32+
\ProvidesFileSVN{$Id: fontscripts.dtx 10720 2025-01-14 22:10:25Z cfrees $}[v0.1 \revinfo][\filebase DTX: l3build scripts for font installation]
3333
\DefineFileInfoSVN[fontscripts]
3434
\documentclass[10pt,british,lm-default=false]{l3doc}
3535
% l3doc loads fancyvrb
@@ -39,7 +39,7 @@
3939
\EnableCrossrefs
4040
\CodelineIndex
4141
\RecordChanges
42-
% \OnlyDescription
42+
\OnlyDescription
4343
\DoNotIndex{\verb,\ProvidesPackageSVN,\NeedsTeXFormat,\ProcessKeyOptions}
4444
\usepackage{babel}
4545
\usepackage{fancyhdr}
@@ -210,7 +210,8 @@
210210
% \begin{abstract}
211211
% \noindent
212212
% \lpack{fontscripts} provides variant font encodings, support metrics and Lua script fragments to automate the creation of \TeX{}/\LaTeXe{} font files for 8-bit engines using \lpack{l3build}.
213-
% A template-based system enables the automatic generation of font tables and \lpack{l3build} tests.\smallskip
213+
% A template-based system enables the automatic generation of font tables and \lpack{l3build} tests.
214+
% Variables support the addition of encoding subset declarations for the Text Companion (\texttt{TS1}) encoding and variable scaling factors in font definition files.\smallskip
214215
%
215216
% The script fragments\footnote{%
216217
% The main script fragments are written in \emph{extremely elementary} Lua.
@@ -219,12 +220,54 @@
219220
% For tools which do not otherwise support it, such as \lpack{fontinst}, the scripts enable the automatic addition of variable scaling in font definition files.
220221
% A semi-automatic system tries to ensure font encoding names are unique.\smallskip
221222
%
222-
% The script fragments are primarily designed for \lpack{fontinst}, but can easily be modified to work with other tools.
223+
% The script fragments originally designed for \lpack{fontinst}, but support for \texttt{afmtotfm} (intended for fonts consisting entirely of ornaments etc.) is provided and a modular approach enables easy modification for other tools.
223224
% The default configuration is intended to be cross-platform and requires only tools included in \TeX{} Live, but the documentation includes a simple adaption for integration with FontForge and \textsc{gnu} make.
224225
% \end{abstract}
225226
%
226227
% \tableofcontents
227-
%
228+
%
229+
% \section{Quick Start}\label{sec:start}
230+
%
231+
% \textbf{This assumes you are familiar with basic usage of \lpack{l3build}.
232+
% If not, please see \lpack{l3build}'s manual for basic setup.}
233+
%
234+
% Configuring your project for \lpack{l3build} includes creation of a file, \file{build.lua}, in your working directory.
235+
% This should specify at least the \texttt{module} name, typically the name of your package.
236+
% So you should have something like this,
237+
% \iffalse
238+
%<*verb>
239+
% \fi
240+
\begin{verbatim}
241+
module = {fontastic}
242+
\end{verbatim}
243+
% \iffalse
244+
%<?verb>
245+
% \fi
246+
% We now need to edit this file to make \pkg{l3build} aware of the Lua \texttt{fntbuild} scripts provided by \lpack{fontscripts}.
247+
% \iffalse
248+
%<*verb>
249+
% \fi
250+
%^^A kpse.set_program_name("kpsewhich")
251+
\begin{verbatim}
252+
module = {fontastic}
253+
kpse.set_program_name("kpsewhich")
254+
require(kpse.lookup("fntbuild.lua"))
255+
\end{verbatim}
256+
% \iffalse
257+
%<?verb>
258+
% \fi
259+
% This should be sufficient to make the functions provided by the script available.
260+
% To effectively use these functions, however, you will probably need to provide configuration details for your specific workflow and setup.
261+
% For example, if you want to build fonts this way, you may need to specify which build tool you use and which files contain the code to compile or commands to execute.
262+
% The remainder of this document explains how to do this\footnote{%^^A
263+
% Unless you are reading a version which includes the implementation section.
264+
% In that case, \emph{most} of the document is just code listing and it is the first bit of what remains explains how to actually use the scripts.%^^A
265+
% }.
266+
% You also need to tell the scripts if you want to override the defaults e.g.~if you would like \texttt{fntbuild} to insert subset encoding declarations and/or variable scaling factors into font definition files\footnote{%
267+
% \texttt{fontinst} only.
268+
% As far as I know, this is simply an oversight on \lpack{fontinst}'s part -- fixed scaling factors are supported out-of-the-box -- and I assume other tools have the ability to include variable scaling without \texttt{fntbuild}'s interference.%^^A
269+
% } or to auto-generate tests and/or font tables.
270+
%
228271
% \section{Lua Script Fragments}\label{sec:lua}
229272
%
230273
% \changes{v0.0}{0000/00/00}{\texttt{fontinst.lua} renamed to \texttt{fntbuild.lua}.}
@@ -781,7 +824,7 @@ subsetdefns.<family 2> = "3"
781824
% \begin{macrocode}
782825
\pdftracingfonts=1
783826
\RequirePackage{svn-prov}
784-
\ProvidesFileSVN{$Id: fontscripts.dtx 10718 2025-01-14 01:55:38Z cfrees $}[v0.1 \revinfo][\outFileName]
827+
\ProvidesFileSVN{$Id: fontscripts.dtx 10720 2025-01-14 22:10:25Z cfrees $}[v0.1 \revinfo][\outFileName]
785828
\DefineFileInfoSVN
786829
% \end{macrocode}
787830
% \iffalse

0 commit comments

Comments
 (0)