diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/stoneipa |
Initial commit
Diffstat (limited to 'fonts/stoneipa')
-rw-r--r-- | fonts/stoneipa/README.txt | 30 | ||||
-rw-r--r-- | fonts/stoneipa/stoneipa.dtx | 295 | ||||
-rw-r--r-- | fonts/stoneipa/stoneipa.ins | 40 | ||||
-rw-r--r-- | fonts/stoneipa/stoneipa.pdf | bin | 0 -> 94924 bytes |
4 files changed, 365 insertions, 0 deletions
diff --git a/fonts/stoneipa/README.txt b/fonts/stoneipa/README.txt new file mode 100644 index 0000000000..0d3afed367 --- /dev/null +++ b/fonts/stoneipa/README.txt @@ -0,0 +1,30 @@ +README for stoneipa + +DESCRIPTION +=========== +Font setup for Stone Sans and Stone Sans Phonetic, allowing these +beautiful pre-Unicode commercial fonts to be treated as if they were a single +Unicode font with good support for the International Phonetic Alphabet. +This package does not contain the fonts themselves, which may be purchased +from Adobe. + +LICENSE AND WHATNOT +=================== +Copyright (C) 2018 Leah Grace Velleman + +This material is subject to the LaTeX Project Public License. + +FILES AND INSTALLATION +====================== +The main files here are these two, which should be installed +in the usual way: + stoneipa.ins + stoneipa.dtx + +Documentation can be found here: + stoneipa.pdf + +CONTACT +======= +Leah Grace Velleman +leahvelleman@gmail.com diff --git a/fonts/stoneipa/stoneipa.dtx b/fonts/stoneipa/stoneipa.dtx new file mode 100644 index 0000000000..7f07a891e7 --- /dev/null +++ b/fonts/stoneipa/stoneipa.dtx @@ -0,0 +1,295 @@ +% \iffalse meta-comment +% +% Copyright (C) 2018 by Leah Grace Velleman +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 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.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% \fi + +% \iffalse +%<package>\NeedsTeXFormat{LaTeX2e}[2018/01/01] +%<package>\ProvidesPackage{stoneipa} +%<package> [2018/07/07 v0.8 Stone Sans Phonetic font support] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{stoneipa} +\setromanfont[Scale=MatchLowercase]{Cambria} +\setmonofont[Scale=MatchLowercase]{Consolas} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} +\DocInput{stoneipa.dtx} +\end{document} +%</driver> +%\fi + + +% \title{The \textsf{StoneIPA} package} +% \author{Leah Grace Velleman \\ leahvelleman@gmail.com} +% \maketitle +% +% \section{About} +% Stone Sans Phonetic is an excellent IPA font designed by Sumner Stone in the +% 1980s. It harmonizes well with its companions Stone Serif and Stone Sans, and +% also with a number of other popular text fonts. +% +% It remains commercially available, but in an idiosyncratic +% pre-Unicode encoding. +% +% This package --- designed for use with XeLaTeX --- sets +% up Stone Sans as the sans-serif document font, and sets up the Unicode +% characters in the IPA range so that they will produce the correct glyphs from +% Stone Sans Phonetic. It does not include the fonts themselves, which must be +% purchased separately. +% +%\begin{figure} +% \sffamily +%\begin{center} +%\begin{tabular}{lllllllllllllllllllll} +% p & b & & & & & t & d & & & ʈ & ɖ & c & ɟ & k & g & q & ɢ & & ʔ \\ +% ƥ & ɓ & & & & & ƭ & ɗ & & & & & ƈ & ʄ & ƙ & ɠ & ʠ & ʛ \\ +% & m & & ɱ & & & & n & & & & ɳ & & ɲ & & ŋ & & ɴ \\ +% & ʙ & & & & & & r & & & & & & & & & & ʀ \\ +% & & & & & & & ɾ & & & & ɽ \\ +% ɸ & β & f & v & θ & ð & s & z & ʃ & ʒ & ʂ & ʐ & ç & ʝ & x & ɣ & χ & ʁ & ħ ʕ & h ɦ \\ +% & & & & & & ɬ & ɮ \\ +% & & & ʋ & & & & ɹ & & & & ɻ & & j & & ɰ \\ +% & & & & & & & l & & & & ɭ & & ʎ & & ʟ\\ +%\end{tabular} +%\caption{The IPA consonants in Stone Sans Phonetic} +%\end{center} +%\end{figure} +%\begin{figure} +%\sffamily +%\begin{center} +%\begin{tabular}{llllll} +% i & y & ɨ & ʉ & ɯ & u \\ +% ɪ & ʏ & & & & ʊ \\ +% e & ø & ɘ & ɵ & ɤ & o \\ +% & & ə \\ +% ɛ & œ & ɜ & ɞ & ʌ & ɔ \\ +% æ & & ɐ \\ +% a & ɶ & & & ɑ & ɒ\\ +%\end{tabular} +%\caption{The IPA vowels in Stone Sans Phonetic and Stone Sans Phonetic Alternates} +%\end{center} +%\end{figure} +%\begin{figure} +%\sffamily +%\begin{center} +%\begin{tabular}{lllll} +% ƥ & ƭ & ƙ & ʠ & ˀ \\ +% š & č & ž \\ +% λ & ƛ +%\end{tabular} +%\caption{Non-IPA characters from Stone Sans Phonetic and Stone Sans Phonetic Alternates} +%\end{center} +%\end{figure} +% +%\section{Requirements} +% \textsf{StoneIPA} requires XeLaTeX, \textsf{fontspec}, \textsf{newunicodechar}, and \textsf{pdftexcmds}. It also requires the fonts Stone Sans, Stone Sans Phonetic +% and Stone Sans Phonetic Alternates. +% +%\section{Package options} +% \textsf{StoneIPA} uses your system installed versions of Stone Sans, Stone Sans +% Phonetic, and Stone Sans Phonetic Alternates. By default, it expects these +% fonts to be installed under the names |StoneSans|, |StoneSans-PhoneticIPA|, and +% |StoneSans-PhoneticAlternate|. If yours are installed under different names, +% specify those names using the |sansfontname|, |phoneticfontname|, and +% |alternatefontname| options. +% +%\begin{verbatim} +%\usepackage[phoneticfontname=StoneSansIPA, +% alternatefontname=StoneSansAlt]{stoneipa} +%\end{verbatim} +% +% If some characters appear too small, use the |noalternatescaling| option. As +% of this writing, the version of Stone Sans Phonetic Alternates that is for sale +% on Adobe's website has characters about 10\% too large, and the \textsf{StoneIPA} +% package attempts to compensate for this. The |noalternatescaling| option +% turns off this compensation. +%\begin{verbatim} +%\usepackage[noalternatescaling]{stoneipa} +%\end{verbatim} + +% \StopEventually{} +% \section{Implementation} +% \subsection{Option handling} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1994/06/01] + +\RequirePackage{fontspec} +\RequirePackage{newunicodechar} +\RequirePackage{pdftexcmds} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=sipa, prefix=sipa@} +\DeclareStringOption[StoneSans]{fontname} +\DeclareStringOption[StoneSansSCITCTTMedium]{scfontname} +\DeclareStringOption[StoneSans-PhoneticIPA]{phoneticfontname} +\DeclareStringOption[StoneSans-PhoneticAlternate]{alternatefontname} +\DeclareBoolOption{noalternatescaling} +\ProcessKeyvalOptions* +% \end{macrocode} +% \subsection{Font declarations} +% \begin{macrocode} +\setsansfont{\sipa@fontname}[Scale=MatchLowercase, + SmallCapsFont=\sipa@scfontname] + +\newfontfamily{\sipafont}{\sipa@phoneticfontname}[Scale=MatchLowercase] + +\ifsipa@noalternatescaling + \newfontfamily{\sipaalternatefont}{\sipa@alternatefontname}[Scale=1.0] +\else + \newfontfamily{\sipaalternatefont}{\sipa@alternatefontname}[Scale=0.9] +\fi +% \end{macrocode} +% \subsection{Character macros} +% \DescribeMacro{\sipachoosephoneticchar} +% \DescribeMacro{\sipachoosealternatechar} +% The Stone Sans Phonetic font is weirdly encoded. For instance, a symbol that +% looks like \textsf{ʷ} is stored at the code point normally used for |+|. This means that +% sometimes, the Unicode in our |.tex| file will need to be translated. For +% instance, if we encounter a \textsf{ʷ} character when the current font family is Roman, +% we can print it as usual; but if we encounter the same character when the +% font family is sans serif, we should translate it to a |+| and print it in +% Stone Sans Phonetic. The |\sipachoosephoneticchar| and |\sipachoosealternatechar|% macros do this conditional translation: +% given two characters, when the current family is sans serif, they print the +% first in Stone Sans Phonetic; and when the current family is anything else, +% they print the second. +% \begin{macrocode} +\def\sipachoosephoneticchar#1#2{% + \ifnum\pdf@strcmp{\f@family}{\sfdefault}=\z@ + {\sipafont #1}% + \else + #2% + \fi +} + +\def\sipachoosealternatechar#1#2{% + \ifnum\pdf@strcmp{\f@family}{\sfdefault}=\z@ + {\sipaalternatefont #1}% + \else + #2% + \fi +} +% \end{macrocode} +% \subsection{Character setup} +% \DescribeMacro{\sipasetup}\DescribeMacro{\sipaalternatesetup} +% Now we define two convenience functions that we will use to set up Unicode +% characters. The macro |\sipasetup#1#2| declares that the Stone Sans Phonetic glyph +% stored at |#1| should be used when the TeX source contains the Unicode character +% |#2|. The macro |\sipaalternatesetup| does the same, but for Stone Sans Phonetic +% Alternates. +% \begin{macrocode} + +\def\sipasetup#1#2{\newunicodechar{#2}{{\sipachoosephoneticchar{#1}{#2}}}} +\def\sipaalternatesetup#1#2{\newunicodechar{#2}{{\sipachoosealternatechar{#1}{#2}}}} + +\sipasetup{a\$}{ā} +\sipasetup{e\$}{ē} +\sipasetup{i\$}{ī} +\sipasetup{o\$}{ō} +\sipasetup{u\$}{ū} +\sipasetup{y\$}{ȳ} +\sipasetup{+}{ʷ} +\sipasetup{:}{ː} +\sipasetup{?}{ʔ} +\sipasetup{@}{ə} +\sipasetup{A}{ɑ} +\sipasetup{B}{ʙ} +\sipasetup{C}{ç} +\sipasetup{D}{ð} +\sipasetup{E}{ɛ} +\sipasetup{F}{ɸ} +\sipasetup{G}{ɢ} +\sipasetup{H}{ʜ} +\sipasetup{I}{ɪ} +\sipasetup{J}{ɟ} +%\sipasetup{K}{ɨ} +\sipasetup{L}{ʟ} +\sipasetup{M}{ɰ} +\sipasetup{N}{ɴ} +\sipasetup{O}{ɔ} +\sipasetup{Q}{ɾ} +\sipasetup{R}{ʀ} +\sipasetup{S}{ʃ} +\sipasetup{T}{θ} +\sipasetup{U}{ʊ} +\sipasetup{V}{ʋ} +\sipasetup{W}{ɺ} +\sipasetup{X}{χ} +\sipasetup{Y}{ʏ} +\sipasetup{Z}{ʒ} +\sipasetup{\ }{ʘ} +\sipasetup{\{}{æ} +\sipasetup{®}{ɲ} +\sipasetup{¿}{ʕ} +\sipasetup{Á}{ɒ} +\sipasetup{Â}{β} +\sipasetup{Ã}{ɕ} +\sipasetup{Ä}{ɖ} +\sipasetup{Æ}{ɜ} +\sipasetup{Ç}{ʛ} +\sipasetup{È}{ɦ} +\sipasetup{É}{ħ} +\sipasetup{Ë}{ɬ} +\sipasetup{Ì}{ɮ} +\sipasetup{Í}{ɱ} +\sipasetup{Î}{ŋ} +\sipasetup{Ï}{ɶ} +\sipasetup{Ð}{ɻ} +\sipasetup{Ñ}{ɽ} +\sipasetup{Ò}{ʁ} +\sipasetup{Ô}{ʈ} +\sipasetup{Õ}{ɵ} +\sipasetup{×}{ʄ} +\sipasetup{Ø}{ɧ} +\sipasetup{Ú}{ʑ} +\sipasetup{Þ}{ʢ} +\sipasetup{à}{ɫ} +\sipasetup{á}{ɐ} +\sipasetup{â}{ɓ} +\sipasetup{ã}{ƈ} +\sipasetup{ä}{ɗ} +\sipasetup{å}{ɣ} +\sipasetup{\ae}{ɤ} +\sipasetup{Ç}{ɠ} +\sipasetup{è}{ɥ} +\sipasetup{é}{ɨ} +\sipasetup{ê}{ʝ} +\sipasetup{ë}{ƙ} +\sipasetup{ì}{ɭ} +\sipasetup{í}{ɯ} +\sipasetup{î}{ɳ} +\sipasetup{ï}{ø} +\sipasetup{\dh}{ƥ} +\sipasetup{ñ}{ʠ} +\sipasetup{ò}{ɹ} +\sipasetup{ó}{ʂ} +\sipasetup{ô}{ƭ} +\sipasetup{õ}{ʉ} +\sipasetup{ö}{ʌ} +\sipasetup{÷}{ʍ} +\sipasetup{ù}{ʎ} +\sipasetup{ú}{ʐ} +\sipasetup{û}{œ} +\sipaalternatesetup{?}{ˀ} +\sipaalternatesetup{e}{ɘ} +\sipaalternatesetup{å}{ɞ} +\sipaalternatesetup{c}{č} +\sipaalternatesetup{s}{š} +\sipaalternatesetup{z}{ž} +\sipaalternatesetup{l}{λ} +\sipaalternatesetup{ì}{ƛ} +% \end{macrocode} +% \Finale diff --git a/fonts/stoneipa/stoneipa.ins b/fonts/stoneipa/stoneipa.ins new file mode 100644 index 0000000000..9d0da34bfd --- /dev/null +++ b/fonts/stoneipa/stoneipa.ins @@ -0,0 +1,40 @@ +Copyright (C) 2018 by Leah Grace Velleman +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 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.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/stoneipa} +\preamble +This is a generated file. +Copyright (C) 2018 by Leah Grace Velleman +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3 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.3 or later is part of all distributions of +LaTeX version 2005/12/01 or later. +\endpreamble +\generate{\file{stoneipa.sty}{\from{stoneipa.dtx}{package}}} +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space stoneipa.sty} +\Msg{*} +\Msg{* To produce the documentation run the file stoneipa.dtx} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} +\endbatchfile diff --git a/fonts/stoneipa/stoneipa.pdf b/fonts/stoneipa/stoneipa.pdf Binary files differnew file mode 100644 index 0000000000..c5b6f346ce --- /dev/null +++ b/fonts/stoneipa/stoneipa.pdf |