% sansforgetica.tex
% Copyright 2026 erik@ctan.org
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3c or any later version.
\documentclass[11pt,a4paper]{article}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[margin=28mm]{geometry}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{hyperref}

\definecolor{linkblue}{HTML}{1F4E79}
\hypersetup{
  colorlinks=true,
  linkcolor=linkblue,
  urlcolor=linkblue,
  pdftitle={The sansforgetica package},
  pdfauthor={erik@ctan.org},
  pdfsubject={Font-free pdfLaTeX support and vector sample for Sans Forgetica}
}

\setlist{nosep,leftmargin=*}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0.65em}

\newcommand*\pkg{\textsf{sansforgetica}}
\newcommand*\file[1]{\texttt{#1}}

\title{The \pkg\ package\\[0.35em]
  \large Font-free pdf\LaTeX\ support for Sans Forgetica}
\author{Maintained by \href{mailto:erik@ctan.org}{\nolinkurl{erik@ctan.org}}}
\date{Version 0.1.0 \quad 2026-09-20}

\begin{document}
\maketitle

\begin{abstract}
The \pkg\ package provides a conventional T1 font-family interface for using
a separately obtained Sans Forgetica installation with pdf\LaTeX.  The CTAN
upload is intentionally font-free: it contains the package files, this manual
and source, and a font sample whose text has been converted to vector paths.
It contains no original or converted Sans Forgetica font program, metric, or
map.  The independently written material is licensed under LPPL 1.3c or later.
\end{abstract}

\tableofcontents

\section{Scope of the CTAN upload}

The upload follows a compact wrapper-package layout modelled on the CTAN
\href{https://ctan.org/tex-archive/fonts/libertinus}{Libertinus wrapper}.
It has a single top-level \file{sansforgetica/} directory with a README,
documentation, and the LaTeX interface below \file{tex/}.

The archive deliberately contains none of the following:

\begin{itemize}
\item the original \file{SansForgetica-Regular.otf};
\item a converted Type~1 PFB or AFM;
\item a TFM or another metric derived from the font;
\item a pdfTeX font map or another embedded font program.
\end{itemize}

Consequently, installing the ZIP alone does not install the typeface.  Users
must obtain it lawfully and prepare the local font files required by their TeX
setup.  This separation keeps the LPPL package material independent from the
font program.  The included sample PDF represents all lettering as vector
paths, so PDF font inspection reports no embedded fonts.

\section{Licences, evidence, and attribution}

The package support, documentation sources, tests, and build scripts are
distributed under the LaTeX Project Public License, version 1.3c or later.
The same licence applies to the independently written source and editorial
layout of \file{font-sample-sansforgetica.tex}.

Sans Forgetica is a separate work.  The original 2018 ZIP has no standalone
licence file, and its OTF has no OpenType licence fields.  Its metadata retains
the notice ``Copyright (c) 2018 Letterbox. All rights reserved.'' and names Lan
Huang as designer and Letterbox as manufacturer.  The project was produced by
RMIT University in collaboration with Naked Communications.

The licence version documented by this project is recorded in Figure~1 of
Lucy Cui and Jereth Liu, ``Recognition of Studied Words in Perceptual
Disfluent Sans Forgetica Font,'' \emph{Vision} 6(3), 2022, article 52,
\href{https://doi.org/10.3390/vision6030052}{doi:10.3390/vision6030052}.
The caption identifies Sans Forgetica as CC BY-NC and supplies the canonical
CC BY-NC 3.0 URI, with an access date of 15 November 2018.  Both the
\href{https://www.researchgate.net/figure/Sample-of-Sans-Forgetica-SF-typeface-SF-is-licensed-under-the-Creative-Commons_fig1_362913887}{ResearchGate figure page}
and the
\href{https://www.researchgate.net/publication/362913887_Recognition_of_Studied_Words_in_Perceptual_Disfluent_Sans_Forgetica_Font}{ResearchGate full-text study}
are retained as evidence.

The study itself is published under CC BY 4.0.  That licence covers the
article; it does not replace the CC BY-NC 3.0 font licence stated in its
Figure~1 caption.  No right in the OTF is granted by the LPPL package files.
The glyph forms converted to paths in the sample PDF originate from Sans
Forgetica and remain attributed under CC BY-NC 3.0; conversion to paths removes
the embedded font program but does not change the licence of those forms.

\section{Package interface}

After a compatible local font installation has been prepared, load the
package in the usual way:

\begin{verbatim}
\usepackage{sansforgetica}

Normal text.  {\sansforgetica Text in Sans Forgetica.}
\end{verbatim}

The robust command \verb|\sansforgetica| selects the T1 family
\file{sforgetica}.  Two package options are available:

\begin{center}
\begin{tabular}{@{}ll@{}}
\toprule
Option & Effect \\
\midrule
\file{sfdefault} & Select Sans Forgetica as \verb|\sfdefault|. \\
\file{default}   & Select it as both \verb|\sfdefault| and the document default. \\
\bottomrule
\end{tabular}
\end{center}

The historical release contains Regular only.  Requests for bold, italic,
slanted, small-caps, or combined shapes therefore substitute Regular and
produce LaTeX's normal font-substitution warning.

\section{Preparing a local pdf\LaTeX\ installation}

The maintained project source contains a reproducible conversion helper for a
lawfully obtained copy of the original OTF.  It requires LCDF Typetools and a
TeX distribution containing the standard \file{ec.enc} encoding.  In a
repository checkout, place the OTF at the ignored path
\path{vendor/SansForgetica-Regular.otf}, then run:

\begin{verbatim}
make fonts
make test
\end{verbatim}

The build verifies this SHA-256 before deriving anything:

\begin{verbatim}
762820a564a1d588b2e1870825e319c381595cfe9761e310973391d04f9b7091
\end{verbatim}

Generated PFB, TFM, and map files are written below \file{build/texmf}; they
are not placed in the CTAN upload.  For a temporary test, use that directory as
\file{TEXMFHOME}.  For a permanent local installation, copy the generated TDS
tree into a personal TEXMF tree, refresh the filename database, and enable the
generated \file{sansforgetica.map} according to the TeX distribution's
instructions.

For questions about the local conversion, contact
\href{mailto:erik@ctan.org}{\nolinkurl{erik@ctan.org}}.

\section{Vector font sample}

The upload includes the outlined sample PDF
\path{doc/font-sample-sansforgetica.pdf}.
Its complete LaTeX source is
\path{doc/font-sample-sansforgetica.tex}.
The sample tabulates the complete A--Z and a--z alphabets for every NFSS style
declared by the package and adds German letters, accented Latin letters,
digits, punctuation, and ligature words.

After preparing the local font tree, the complete sample is built with:

\begin{verbatim}
make sample
\end{verbatim}

LaTeX first creates a private working PDF with the locally installed font.
The uniquely named script
\file{doc/outline-font-sample-sansforgetica.sh} then imports each page with
Inkscape's Poppler importer and exports it with text converted to paths.  The
outlined pages are combined, and Ghostscript plus the script's deterministic
trailer step normalize the timestamp and document identifier.  A final
\file{pdffonts} check must report no font rows.  The working PDF is excluded.

\section{Encoding and PDF behaviour}

The local TFM name expected by the font-definition file is \file{sfr8t}; the
LaTeX family name is \file{sforgetica}.  The development conversion uses the
standard \file{ec.enc} encoding supplied by TeX distributions.  The \file{fi}
and \file{fl} ligature rules are added explicitly.  The original font has no
\file{ff}, \file{ffi}, \file{ffl}, or \file{dotlessj} glyph.

Regression tests in the development repository compile local and
document-wide examples with pdf\LaTeX, check subsetted Type~1 embedding and
ToUnicode information, and compare extracted German and accented Latin text
with the source.

\section{Archive layout}

\begin{center}
\begin{tabularx}{\textwidth}{@{}p{0.22\linewidth}>{\raggedright\arraybackslash}X@{}}
\toprule
Item & File and purpose \\
\midrule
README & \path{README.md}: overview, build commands, and licence boundary. \\
LPPL notice & \path{LICENSE}: licence for the independently written work. \\
Manual & \path{doc/sansforgetica.pdf}: this document. \\
Manual source & \path{doc/sansforgetica.tex}: complete LaTeX source. \\
Vector sample & \path{doc/font-sample-sansforgetica.pdf}: outlined alphabet and style table. \\
Sample source & \path{doc/font-sample-sansforgetica.tex}: complete LaTeX source. \\
Outline script & \path{doc/outline-font-sample-sansforgetica.sh}: converts text to vector paths. \\
Package & \path{tex/latex/sansforgetica/}: package and T1 family definition. \\
\bottomrule
\end{tabularx}
\end{center}

Both PDFs in the ZIP have their LaTeX sources beside them.  The archive
excludes Git metadata, build intermediates, tests, the private working sample
PDF, and every original or converted Sans Forgetica font program.

\section{Contact and reporting issues}

Please send technical reports to
\href{mailto:erik@ctan.org}{\nolinkurl{erik@ctan.org}} and include the
pdf\LaTeX\ version, the relevant log excerpt, and the exact build command.

The initial implementation and documentation were developed with assistance
from OpenAI ChatGPT.  The maintainer remains responsible for review,
licensing, releases, and maintenance.

\end{document}
