summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-11-14 21:00:45 +0000
committerKarl Berry <karl@freefriends.org>2023-11-14 21:00:45 +0000
commit7807505ca31b41f8d01efaa7cb89ef89d19eb298 (patch)
treee9011d2a53f62d0596f23b696e367588e9240639 /Master/texmf-dist/doc/fonts
parent4f419857d73553591712b5320f407d6a8f832f20 (diff)
cochineal (14nov23)
git-svn-id: svn://tug.org/texlive/trunk@68834 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts')
-rw-r--r--Master/texmf-dist/doc/fonts/cochineal/README11
-rw-r--r--Master/texmf-dist/doc/fonts/cochineal/cochineal-doc.tex106
-rw-r--r--Master/texmf-dist/doc/fonts/cochineal/cochineal-otf-doc.pdfbin27295 -> 27298 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs-crop.pdfbin0 -> 11999 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs.pdfbin0 -> 11261 bytes
5 files changed, 103 insertions, 14 deletions
diff --git a/Master/texmf-dist/doc/fonts/cochineal/README b/Master/texmf-dist/doc/fonts/cochineal/README
index 960217299d3..4a3581c2412 100644
--- a/Master/texmf-dist/doc/fonts/cochineal/README
+++ b/Master/texmf-dist/doc/fonts/cochineal/README
@@ -13,13 +13,20 @@ license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is
part of all distributions of LaTeX version 2003/12/01 or later. Those files and
LaTeX support file cochineal.sty are
- Copyright (c) 2016--2022 Michael Sharpe
+ Copyright (c) 2016--2023 Michael Sharpe
Files provided "as is", with no warranties.
The support files are provided in encodings OT1, T1, TS1 and LY1 for users of Western scripts, LGR for Greek scripts and T2A and OT2 for Cyrillic scripts.
-Current version: 1.077 (2022-02-15)
+Current version: 1.08 (2023-11-13)
+
+Changes in version 1.08
+1. Corrected a serious misbehavior with the LGR encoded tfm files, which
+did not contain the encoding information from the specified encoding files.
+2. Added historical ligatures ct and st for XeLaTeX and LuaLaTeX users,
+3. Copied glyphs U+3008-9 to U+27e8-9 due to problems with LibreOffice Writer.
+4. Added kern between right doublequote and rightparen in italic and bold italic.
Changes in version 1.077
1. Added the mincochneal fd files, needed for loading from newtx.
diff --git a/Master/texmf-dist/doc/fonts/cochineal/cochineal-doc.tex b/Master/texmf-dist/doc/fonts/cochineal/cochineal-doc.tex
index cb4358d60a9..6c4fabd83a4 100644
--- a/Master/texmf-dist/doc/fonts/cochineal/cochineal-doc.tex
+++ b/Master/texmf-dist/doc/fonts/cochineal/cochineal-doc.tex
@@ -1,22 +1,24 @@
-% !TEX TS-program = pdflatexmk
+% !TEX TS-program = xelatexmk
\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
-\usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent
+\usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent
\usepackage{graphicx}
\pdfmapfile{=Cochineal.map}
%\pdfmapfile{=newtx.map}
%\usepackage{amssymb}% don't use with newtxmath
%SetFonts
% cochineal+newtxmath
-\usepackage[p,osf]{cochineal} % use proportional osf
\usepackage[OT2,LGR,T2A,T1]{fontenc}
\usepackage{textcomp}
\usepackage[varqu,varl]{zi4}% inconsolata
-\usepackage{amsmath,amsthm}
-\usepackage[cochineal,vvarbb]{newtxmath}
+\usepackage[p,osf,cochineal,vvarbb,amsthm]{newtx} % use proportional osf
+\setmonofont{inconsolata}
+%\usepackage{amsmath,amsthm}
+%\usepackage[cochineal,vvarbb]{newtxmath}
% option vvarbb gives you stix blackboard bold
\usepackage[cal=boondoxo]{mathalfa}% less slanted than STIX cal
\usepackage{bm}
+\usepackage{array,booktabs}
%SetFonts
\usepackage{fonttable}
\title{The Cochineal Font Package}
@@ -45,7 +47,9 @@ As of version $1.062$ ($2020$), there is a new \verb|\textfrac| macro that works
\end{itemize}
In addition, there is a \verb|\textcircled| macro that makes \verb|\textcircled{W}| render as \textcircled{W}. Numerals can also be circled: \verb|\textcircled{2}| renders as \textcircled{2}.
-\newpage
+If you load the {\tt cochineal} package by means of option {\tt cochineal} to the {\tt newtx} package, version 1.71 or higher, there is a stacked fraction construction available using the macro \verb|\textsfrac| which behaves like \verb|\textfrac| except with the fractional part stacked vertically rather than diagonally. For example, \verb|\textsfrac[2]{5}{16}| produces \textsfrac[2]{5}{16}.
+
+%\newpage
\textsc{Package Options and Macros:}\\
The package defines two macros, \verb|\useosf| and \verb|\useproportional|, useable only in the preamble, which determine the default figure style in text. A typical invocation would be something like
\begin{verbatim}
@@ -63,6 +67,15 @@ There is a simpler way to achieve essentially the same result, but with the adva
% load a math font---it will use tabular lining figures in math
\end{verbatim}
+As of version 1.71 of {\tt newtx}, it may be more convenient to use its mechanism for loading {\tt cochineal} as text and {\tt newtxmath} as math.
+\begin{verbatim}
+% If you use babel, load it here, before newtx
+% load sans and typewriter fonts
+\usepackage[p,osf,cochineal]{newtx} % text figure style is proportional, oldstyle, math will use tabular, lining figures
+% if you use unicode latex with
+\end{verbatim}
+
+
No matter what the default figure style in text, the package provides switches and macros to use any available figure style.
\begin{itemize}
\item
@@ -88,6 +101,27 @@ The default (neither of the following options is set) is to use upright figures
Option {\tt thmtabular} causes figures in theorem text to render in tabular alignment, while option {\tt thmlining} causes figure styles to render in lining rather than oldstyle. The two may be used in conjunction, forcing figures in theorem text to render as tabular lining figures.
\end{itemize}
+\section*{Usage with unicode LaTeX}
+The cochineal package works with all latex engines, and has some extra tricks available only in unicode LaTeX. In addition, {\tt newtx} also works with all latex engines and may be used to make a simplified call to use cochineal for text and {\tt newtxmath} (with cochineal letters) for math. Two crucial options---{\tt type1text} and {\tt nofontspec}---each of which may be used with both {\tt newtx} and {\tt cochineal}, determine how unicode latex will process your {\tt tex} document.
+\begin{itemize}
+\item
+Neither {\tt type1text} (nor the equivalent {\tt type1}) nor {\tt nofontspec} specified: load {\tt fontspec} and use {\tt Cochineal} opentype fonts.
+\item {\tt type1text} specified but not {\tt nofontspec}: load {\tt fontspec} but process text as {\tt pdflatex} would. (Other subsidiary opentype fonts could be loaded using {\tt fontspec} arguments.)
+\item {\tt nofontspec} specified: {\tt fontspec} not loaded, text processed as under {\tt pdflatex}.
+\end{itemize}
+There are some more decorative glyph shapes as alternatives for Q and J in version 1.077 that are available only using unicode latex via {\tt StylisticSet=3} and {\tt StylisticSet=2} respectively. (The latter is available only in italic shapes.) They may be turned on as global options to {\tt newtx} or {\tt cochineal} by {\tt altQ}, {\tt altJ}.
+
+\iftutex
+\begin{verbatim}
+\def\decorativeQ{{\addfontfeature{RawFeature=+ss03}Q}}
+\def\decorativeJ{{\addfontfeature{RawFeature=+ss02}J}}
+\end{verbatim}
+\def\decorativeQ{{\addfontfeature{RawFeature=+ss03}Q}}
+\def\decorativeJ{{\addfontfeature{RawFeature=+ss02}J}}
+Q: \verb|\decorativeQ|: \decorativeQ\\
+{\itshape J}: \verb|\decorativeJ|: {\itshape \decorativeJ}\\
+\fi
+There is also an option {\tt oldSS} you may specify to use the older form of \verb|\SS| rather than the newer German Sharp S glyph.
\section*{Mathematical accompaniment}
The package contains fonts for use as math letters that are derived from Cochineal Roman and Greek glyphs and the {\tt newtxmath} family. Note that $v$ and $\nu$ (Greek {\tt nu}) are quite distinct. Here's a sample.
@@ -116,7 +150,7 @@ $X_1$, $X_2,\cdots$ be a sequence of iid random variables with mean~$0$
and variance $1$ on a probability space $(\Omega,\mathcal{F},\Pr)$. Then}
\[\Pr\left(\frac{X_1+\cdots+X_n}{\sqrt{n}}\le v\right)\to\mathfrak{N}(v)\coloneq
\int_{-\infty}^v \frac{\mathrm{e}^{-t^2/2}}{\sqrt{2\uppi}}\,
-\mathrm{d}t\quad\mbox{as $n\to\infty$,}\]
+\mathrm{d}t\quad\mbox{as $n\to\infty$, for every $v\in\mathbb{R}$,}\]
\textit{or, equivalently, letting} $S_n\coloneq\sum_1^n X_k$,
\[\mathbb{E} f\left(S_n/\sqrt{n}\right)\to \int_{-\infty}^\infty f(t)
\frac{\mathrm{e}^{-t^2/2}}{\sqrt{2\uppi}}\,\mathrm{d}t
@@ -133,16 +167,64 @@ Coverage of TS1 has been enriched as of version $1.062$ so that it now qualifies
Cochineal offers a rather complete LGR-encoded glyph collection, lacking just a few ancient symbols.
\fonttable{Cochineal-Roman-tlf-lgr}
-Setting up your source file to use LGR usually involves {\tt babel} and {\tt substitutefont}. See the documentation of {\tt nimbus15} for details.
+The LGR encoding defines a transcoding from Roman characters to Greek characters according to the following scheme:
+
\newpage
+\[\begin{array}{m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}}
+A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z \\
+\end{array}\]
+\fontencoding{LGR}\selectfont
+\[\begin{array}{m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}m{7pt}}
+A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z \\
+ a & b & c & d & e & f & g & h & i & j & k & l & m & n & o & p & q & r & sv & t & u & v & w & x & y & z \\
+\end{array}\]
+\fontencoding{T1}\selectfont
+
+The file {\tt lgrenc.def}, which is loaded whenever {\tt LGR} is first loaded, specifies the above and more transcodings from Latin to Greek. See the {\tt usage.pdf} file in the {\tt babel-greek} documentation.
+
+The {\tt tfm} files associated with the Cochineal {\tt LGR } encoding were constructed with ligatures defined so that most Greek characters could be constructed using Latin input.
+
+Note that you do not have to load the {\tt babel} package in order for the transcoding and ligatures to function properly.
+%\newpage
+\section*{Using Cochineal LGR Greek in other LaTeX packages}
+There is nothing particular about Cochineal here that would not apply to any other text font package with a working LGR setup, as described above. There was for a number of years a small package {\tt substitutefont} that allowed the substitution of, say, LGR Cochineal Greek as the LGR Greek font in another text font package that lacked a suitable one of its own. This functioned less well as LaTeX evolved and its functionality was absorbed in 2020 sby the LaTeX command \verb|\DeclareFontFamilySubstitution|, which shares some of the problems of the now obsolete \verb|\substitutefont|. I've added this short section to describe some work-arounds those who wish to have access to this functionality.
+
+Here are the problems I encountered:
+\begin{itemize}
+\item
+If you try to add LGR Cochineal Greek to another package that has no support for LGR Greek, the attempt would fail. The work-around is to add in your preamble lines like
+\begin{verbatim}
+\usepackage[LGR,T1]{fontenc}
+\DeclareFontFamily{LGR}{\rmdefault}{}
+\end{verbatim}
+after loading the text font package.
+\item
+Many text font packages do not settle on the final definition of \verb|\rmdefault| until just before processing \verb|\begin{document}|. You may take care of all possibilities by adding to your preamble (near the end), imagining we are adding Cochineal LGR Greek to newtx:
+\begin{verbatim}
+\DeclareFontFamilySubstitution{LGR}{ntxtlf}{Cochineal-TLF}
+\DeclareFontFamilySubstitution{LGR}{ntxlf}{Cochineal-LF}
+\DeclareFontFamilySubstitution{LGR}{ntxtosf}{Cochineal-TOsF}
+\DeclareFontFamilySubstitution{LGR}{ntxosf}{Cochineal-OsF}
+\end{verbatim}
+To reconcile the difference in size between {\tt newtx} and {\tt Cochineal}, with respective x-heights of 450 and 432, the former is 1.042 times taller than the latter, and so we have to set the scale for Cochineal, \verb|\Cochineal@scale| to 1.042 times that of newtx, \verb|\ntx@scale|. So, the next line in the preamble should be something like
+\begin{verbatim}
+\makeatletter
+\@tmpdima=\ntx@scale\p@ \@tmpdima=1.042\@tmpdima
+\def\Cochineal@scale{\strip@pt\@tmpdima}
+\makeatother
+\end{verbatim}
+\end{itemize}
+
\section*{Typesetting Russian}
With T$2$A encoding, the process is the same as with other T$2$A-encoded fonts, though the gaps in coverage may affect users of a number of non-Russian Cyrillic scripts. The only figure style provided is tabular lining (TLF.)
+%\newpage
\fonttable{Cochineal-Roman-tlf-t2a}
-\newpage
-The OT$2$ encoding (supposedly obsolete, but still useful) is intended for limited use in producing Russian characters with a Western keyboard, making by means of \TeX\ a transliteration of ASCII for most characters in the range 33--122, and providing ligatures to generate the rest. See the documentation of {\tt nimbus15} for further details.
+
+The OT$2$ encoding (supposedly obsolete, but still useful) is intended for limited use in producing Russian characters with a Western keyboard, making by means of \TeX\ a transliteration of ASCII for most characters in the range 33--122, and providing ligatures to generate the rest, just as in the Greek case. See the documentation of {\tt nimbus15} for further details.
+%\newpage
\fonttable{Cochineal-Roman-tlf-ot2}
-\end{document}
-\newpage
+%\end{document}
+%\newpage
\section*{Additional glyphs for use in German orthography}
Prior to version {\tt1.050}, {\tt cochineal} offered basic support for German orthography, having all required accented glyphs and the lower case \ss, as well as a small caps \textsc{\ss}. Under LaTeX, the T$1$ encoding contained \verb|S_S|, but only as a synthesized character in the {\tt tfm}. Unicode users could not make use of \verb|S_S| as it was not present in the~{\tt otf}. So, with unicode tex processing:
\begin{verbatim}
diff --git a/Master/texmf-dist/doc/fonts/cochineal/cochineal-otf-doc.pdf b/Master/texmf-dist/doc/fonts/cochineal/cochineal-otf-doc.pdf
index 021784bce40..e81661608fa 100644
--- a/Master/texmf-dist/doc/fonts/cochineal/cochineal-otf-doc.pdf
+++ b/Master/texmf-dist/doc/fonts/cochineal/cochineal-otf-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs-crop.pdf b/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs-crop.pdf
new file mode 100644
index 00000000000..eb384ca92f1
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs-crop.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs.pdf b/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs.pdf
new file mode 100644
index 00000000000..729c2f0e72e
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/cochineal/newgermanglyphs.pdf
Binary files differ