From cdb8117b8f1ac752d1927b82759c5be9f0ec0ab5 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 10 Jan 2024 03:03:23 +0000 Subject: CTAN sync 202401100303 --- fonts/junicodevf/README | 4 +- fonts/junicodevf/doc/EnlargeAxis.tex | 8 +- fonts/junicodevf/doc/Feature_Reference.tex | 549 ++++++++++--------- fonts/junicodevf/doc/GettingStarted.tex | 6 +- fonts/junicodevf/doc/JunicodeManual.pdf | Bin 1575474 -> 1895371 bytes fonts/junicodevf/doc/JunicodeManual.sty | 326 +++-------- fonts/junicodevf/doc/JunicodeManual.tex | 12 +- fonts/junicodevf/doc/OFL.txt | 93 ++++ fonts/junicodevf/doc/OnTheWeb.tex | 12 +- fonts/junicodevf/doc/Record_Interpreter_notes.tex | 34 +- fonts/junicodevf/doc/Specimens.tex | 66 +-- fonts/junicodevf/doc/in_tex.tex | 438 +++++++++++++++ fonts/junicodevf/doc/junicodevf-package.pdf | Bin 522008 -> 0 bytes fonts/junicodevf/doc/junicodevf-package.tex | 628 ---------------------- fonts/junicodevf/doc/junicodevf-samples.pdf | Bin 514083 -> 513977 bytes fonts/junicodevf/doc/tag_key_ins.tex | 66 +-- fonts/junicodevf/lualatex/junicodevf.lua | 143 +++-- fonts/junicodevf/lualatex/junicodevf.sty | 84 +-- fonts/junicodevf/truetype/JunicodeVF-Italic.ttf | Bin 2808460 -> 2825400 bytes fonts/junicodevf/truetype/JunicodeVF-Roman.ttf | Bin 2736868 -> 2754408 bytes 20 files changed, 1078 insertions(+), 1391 deletions(-) create mode 100644 fonts/junicodevf/doc/OFL.txt create mode 100644 fonts/junicodevf/doc/in_tex.tex delete mode 100644 fonts/junicodevf/doc/junicodevf-package.pdf delete mode 100644 fonts/junicodevf/doc/junicodevf-package.tex (limited to 'fonts/junicodevf') diff --git a/fonts/junicodevf/README b/fonts/junicodevf/README index 975de0179c..0836397c11 100644 --- a/fonts/junicodevf/README +++ b/fonts/junicodevf/README @@ -1,4 +1,4 @@ -This is the README for version 2.205 of the variable variant +This is the README for version 2.206 of the variable variant of Peter S. Baker's Junicode fonts. The Junicode font is primarily for scholars and students of the Middle Ages, but it serves users with a wide variety of interests. It tracks @@ -113,7 +113,7 @@ Sm = Semi, Cond = Condensed, Exp = Expanded. \jSmExpSmboldItalic There are additional commands and options; see -junicodevf-package.pdf in the doc directory. +JunicodeManual.pdf in the doc directory. The ttf fonts have been downloaded from diff --git a/fonts/junicodevf/doc/EnlargeAxis.tex b/fonts/junicodevf/doc/EnlargeAxis.tex index d0c6873e3a..2a05205210 100644 --- a/fonts/junicodevf/doc/EnlargeAxis.tex +++ b/fonts/junicodevf/doc/EnlargeAxis.tex @@ -7,7 +7,8 @@ and uppercase in size: these are often used to begin sentences in medieval manus in the Private Use Area, posing accessibility and searchability problems, as explained in the introduction to the “Feature Reference” chapter of this manual. -Junicode provides a solution to these problems via the OpenType feature Stylistic Set 6 (ss06, “Enlarged minuscules”). +Junicode provides a solution to these problems via the OpenType feature Stylistic Set 6 +(\textSourceText{ss06},\index{ss06} “Enlarged minuscules”). This feature also works in Junicode VF, the variable version of Junicode, which in addition offers a far more flexible way of representing enlarged minuscules—the Enlarge axis. @@ -19,7 +20,7 @@ the extremes. Because almost every font family has at least two weights, Weight is the most familiar axis. But several other axes are frequently found in both variable fonts and extended font families. Junicode has Weight and Width axes (Width varying -from {\narrow 75 Condensed} to {\wide 125 Expanded}, with 100 Regular in the middle), and the variable font also has +from {\jCond 75 Condensed} to {\jExp 125 Expanded}, with 100 Regular in the middle), and the variable font also has an Enlarge axis, which can vary the size of many lowercase letters from that of the font's capitals to that of the lowercase letters: \begin{figure}[h!] @@ -31,7 +32,8 @@ are not simply scaled: the proportions change and the weight remains consistent too heavy, but a letter scaled via the Enlarged axis will have its original weight at the lower end of the axis and the same weight as a capital at the top). -The Enlarge axis runs from 0 to 100. You can choose any number in that range: to match the effect of ss06 precisely, choose 32. +The Enlarge axis runs from 0 to 100. You can choose any number in that range: +to match the effect of ss06\index{ss06} precisely, choose 32. To ensure that the xheight of all letters matches, choose 47 or less: above that value, the xheight of letters like \textex{e} increases at a higher rate than that of letters like \textex{b}. diff --git a/fonts/junicodevf/doc/Feature_Reference.tex b/fonts/junicodevf/doc/Feature_Reference.tex index 54e7ac3fe8..fc6fe7ef3f 100644 --- a/fonts/junicodevf/doc/Feature_Reference.tex +++ b/fonts/junicodevf/doc/Feature_Reference.tex @@ -4,7 +4,7 @@ \section{Introduction} The OpenType features of Junicode version 2 and its variable counterpart (hereafter referred to together as -``Junicode'') have two purposes. One is to provide convenient access to the rich character set of the Medieval Unicode +“Junicode”) have two purposes. One is to provide convenient access to the rich character set of the Medieval Unicode Font Initiative (MUFI) recommendation. The other is to enable best practices in the presentation of medieval text, promoting accessibility in electronic texts from PDFs to e-books to web pages. %\thispagestyle{plain} @@ -26,19 +26,19 @@ computer knows nothing about it: not that it is a variant of \textex{a}, or that alphabet, or even a character in a language system. A screen reader cannot read, or even spell out, a word with \unic{U+F215} in it; a search engine will not recognize the word as containing the letter \textex{a}. -Junicode offers the full range of MUFI characters---you can enter the PUA code points---but also a solution to the +Junicode offers the full range of MUFI characters—you can enter the PUA code points—but also a solution to the problems posed by those code points. Think of an electronic text (a web page, perhaps, or a PDF) as having two layers: an underlying text, stable and unchanging, and the displayed text, generated by software at the instant it is needed and discarded when it is no longer on the screen. For greatest accessibility the underlying text should contain the plain letter \textex{a} (\unic{U+0061}) along with markup indicating how it should be displayed. To generate -the displayed text, a program called a ``layout engine'' will (simplifying a bit here) read the markup and apply the -OpenType feature \textSourceText{cv02[5]}\footnote{\ Many OpenType features produce different outcomes depending on +the displayed text, a program called a “layout engine” will (simplifying a bit here) read the markup and apply the +OpenType feature \textSourceText{cv02[5]}\index{cv02}\footnote{\ Many OpenType features produce different outcomes depending on an index passed to an application’s layout engine along with the feature tag. Different applications have different ways of entering this index: consult your application’s documentation. Here, the index is recorded in brackets after the feature tag. Users of fontspec (with {\XeLaTeX} or {\LuaTeX}) should also be aware that fontspec indexes start at zero while OpenType indexes start at one. Therefore all index numbers listed in this document must be reduced by one for use with fontspec.\par } to the underlying \textex{a}, bypassing the PUA code point, with the result that -readers see \textex{\cvd[4]{2}{a}}{}---the ``neckless a.'' And yet the letter will still register as +readers see \textex{\cvd[4]{2}{a}}{}—the “neckless a.” And yet the letter will still register as \textex{a} with search engines, screen readers, and so on. This is the Junicode model for text display, but it is not peculiar to Junicode: it is widely considered to be the best @@ -60,7 +60,7 @@ categories: All such characters (those with hexadecimal codes that \textstyleEmphasis{do not} begin with \textex{E} or \textex{F}) are presumed safe to use in accessible and searchable text. However, some of these are covered by Junicode OpenType features for particular reasons. -\item Precomposed characters---those consisting of base character + one or more diacritics. For greatest accessibility, +\item Precomposed characters—those consisting of base character + one or more diacritics. For greatest accessibility, these should be entered not as PUA code points, but rather as sequences consisting of base character + diacritics. For example, instead of MUFI \unic{U+E498} \textUName{latin small letter e with dot below and acute}, use \textex{e} + \unic{U+0323} \textUName{combining dot below} + \unic{U+0301} \textUName{combining acute accent}: @@ -103,8 +103,8 @@ will be positioned correctly on any character. \end{itemize} \section{Case-Related Features} -\subsection{\textSourceText{smcp} -- Small Capitals} -Converts lowercase letters to small caps; also several symbols and combining marks. All lower- and uppercase pairs (with +\subsection{\textSourceText{smcp} – Small Capitals} +\index{smcp|textbf}Converts lowercase letters to small caps; also several symbols and combining marks. All lower- and uppercase pairs (with exceptions noted below) have a small cap equivalent. Lowercase letters without matching caps may lack matching small caps. fghij $\rightarrow $ \textsc{fghij}. @@ -113,27 +113,28 @@ characters using combining diacritics, as outlined in the introduction. For exam to the sequence \textex{t} + \textUName{combining ogonek} (\unic{U+0328}) + \textUName{combining acute} (\unic{U+0301}) will change \textex{t̨́} to \textex{\textsc{t̨́}}. -\subsection{\textSourceText{c2sc} -- Small Capitals from Capitals} -Use with \textSourceText{smcp} for all-small-cap text. ABCDE $\rightarrow $ {\addfontfeature{Letters = UppercaseSmallCaps}ABCDE}. +\subsection{\textSourceText{c2sc} – Small Capitals from Capitals} +Use\index{c2sc|textbf} with \textSourceText{smcp} for all-small-cap text. ABCDE $\rightarrow $ +{\addfontfeature{Letters = UppercaseSmallCaps}ABCDE}. Note: The variants of Ŋ (\unic{U+014A}—see \hyperlink{OtherLatin}{Other Latin Letters}) have no lowercase equivalents. Their small capital forms can be accessed only through this feature. -\subsection{\textSourceText{pcap} -- Petite Capitals} -Produces small caps in a smaller size than \textSourceText{smcp}. Use these when small caps have to be mixed with +\subsection{\textSourceText{pcap} – Petite Capitals} +\index{pcap|textbf}Produces small caps in a smaller size than \textSourceText{smcp}\index{smcp}. Use these when small caps have to be mixed with lowercase letters. The whole of the basic Latin alphabet is covered, plus a number of other letters, but fewer than half of Junicode’s small caps have petite cap equivalents. klmno{\th} $\rightarrow $ {\addfontfeature{Letters = PetiteCaps}klmno\th}. -\subsection{\textSourceText{c2pc} -- Petite Capitals from Capitals}} +\subsection{\textSourceText{c2pc} – Petite Capitals from Capitals}} Produces petite capitals from capitals. Use with \textSourceText{pcap} to convert mixed-case texts to petite capitals. PQRST $\rightarrow $ {\addfontfeature{Letters=UppercasePetiteCaps}PQRST}. Note: The variants of Ŋ (\unic{U+014A}—see \hyperlink{OtherLatin}{Other Latin Letters}) have no lowercase equivalents. Their petite capital forms can be accessed only through this feature. -\subsection{\textSourceText{case} -- Case-Sensitive Forms} -Produces combining marks that harmonize with capital letters: {\addfontfeature{Letters=Uppercase}\v{R}, X̉}, etc. Use of this feature reduces the +\subsection{\textSourceText{case} – Case-Sensitive Forms} +Produces\index{case} combining marks that harmonize with capital letters: {\addfontfeature{Letters=Uppercase}\v{R}, X̉}, etc. Use of this feature reduces the likelihood that a combining mark will collide with a glyph in the line above. Some applications turn this feature on automatically for runs of capitals, and precomposed characters (e.g. \textex{É} \unic{U+00C9}, \textex{Ū} \unic{U+016A}) @@ -141,10 +142,11 @@ already use case-appropriate combining marks. This feature also changes oldstyle lining figures, since these harmonize better with uppercase letters. \section{Alphabetic Variants} -\subsection{\textSourceText{cv01-cv52} -- Basic Latin Variants} -These features also affect small cap (\textSourceText{smcp}) and underdotted (\textSourceText{ss07}) forms, -where available. Variants in \cvc{magenta} are also available via \textSourceText{ss06} “Enlarged Minuscules.” -Use the \textSourceText{cvNN} features instead of \textSourceText{ss06} when you want to substitute an +\subsection{\textSourceText{cv01-cv52} – Basic Latin Variants} +These features also affect small cap (\textSourceText{smcp}\index{smcp}) and underdotted +(\textSourceText{ss07}\index{ss07}) forms, +where available. Variants in \cvc{magenta} are also available via \textSourceText{ss06}\index{ss06} “Enlarged Minuscules.” +Use the \textSourceText{cvNN} features instead of \textSourceText{ss06}\index{ss06} when you want to substitute an enlarged minuscule for a capital (or, less likely, a lowercase) letter everywhere in a text. \begin{center} @@ -161,190 +163,190 @@ enlarged minuscule for a capital (or, less likely, a lowercase) letter everywher \begin{supertabular}{| c | c | p{2.9212599in} |} % \bluerow\color{black}A & cv01 & -1=\cvd{1}{A}, 2=\cvd[1]{1}{A}, 3=\cvd[2]{1}{A}, 4=\cvc{\cvd[3]{1}{A}}\\ +1=\cvd{1}{A}, 2=\cvd[1]{1}{A}, 3=\cvd[2]{1}{A}, 4=\cvc{\cvd[3]{1}{A}}\index{cv01|textbf}\\ % a & cv02 & {1=\cvd{2}{a}, 2=\cvd[1]{2}{a}, 3=\cvd[2]{2}{a}, 4=\cvd[3]{2}{a}, 5=\cvd[4]{2}{a}, 6=\cvc{\cvd[5]{2}{a}}, 7=\cvd[6]{2}{a}, 8=\cvd[7]{2}{a}, 9=\cvd[8]{2}{a}, - 10=\cvd[9]{2}{a}}\\ + 10=\cvd[9]{2}{a}}\index{cv02|textbf}\\ % \bluerow B & cv03 & -1=\cvc{\cvd{3}{B}}, 2=\cvd[1]{3}{B}\\ +1=\cvc{\cvd{3}{B}}, 2=\cvd[1]{3}{B}\index{cv03|textbf}\\ % b & cv04 & -1=\cvc{\cvd{4}{b}}\\ +1=\cvc{\cvd{4}{b}}\index{cv04|textbf}\\ % \bluerow C & cv05 & -{1=\cvd{5}{C}, 2=\cvc{\cvd[1]{5}{C}}}\\ +{1=\cvd{5}{C}, 2=\cvc{\cvd[1]{5}{C}}}\index{cv05|textbf}\\ % c & cv06 & -{1=\cvd{6}{c}, 2=\cvd[1]{6}{c}}\\ +{1=\cvd{6}{c}, 2=\cvd[1]{6}{c}}\index{cv06|textbf}\\ % \bluerow D & cv07 & -{1=\cvd{7}{D}, 2=\cvc{\cvd[1]{7}{D}}, 3=\cvc{\cvd[2]{7}{D}}}\\ +{1=\cvd{7}{D}, 2=\cvc{\cvd[1]{7}{D}}, 3=\cvc{\cvd[2]{7}{D}}}\index{cv07|textbf}\\ % d & cv08 & {1=\cvd{8}{d}, 2=\cvd[1]{8}{d}, 3=\cvd[2]{8}{d}, 4=\cvc{\cvd[3]{8}{d}}, - 5=\cvc{\cvd[4]{8}{d}} (also affects ḋ)}\\ + 5=\cvc{\cvd[4]{8}{d}} (also affects ḋ)}\index{cv08|textbf}\\ % \bluerow E & cv09 & -{1=\cvd{9}{E}, 2=\cvd[1]{9}{E}, 3=\cvc{\cvd[2]{9}{E}}, 4=\cvd[3]{9}{E}}\\ +{1=\cvd{9}{E}, 2=\cvd[1]{9}{E}, 3=\cvc{\cvd[2]{9}{E}}, 4=\cvd[3]{9}{E}}\index{cv09|textbf}\\ % e & cv10 & -{1=\cvd{10}{e}, 2=\cvd[1]{10}{e}, 3=\cvd[2]{10}{e}, 4=\cvc{\cvd[3]{10}{e}}, 5=\cvd[4]{10}{e}}\\ +{1=\cvd{10}{e}, 2=\cvd[1]{10}{e}, 3=\cvd[2]{10}{e}, 4=\cvc{\cvd[3]{10}{e}}, 5=\cvd[4]{10}{e}}\index{cv10|textbf}\\ % \bluerow F & cv11 & -{1=\cvd{11}{F}, 2=\cvc{\cvd[1]{11}{F}, 3=\cvd[2]{11}{F}}}\\ +{1=\cvd{11}{F}, 2=\cvc{\cvd[1]{11}{F}, 3=\cvd[2]{11}{F}}}\index{cv11|textbf}\\ % f & cv12 & {1=\cvd{12}{f}, 2=\cvd[1]{12}{f}, 3=\cvd[2]{12}{f}, 4=\cvd[3]{12}{f}, 5=\cvd[4]{12}{f}, - 6=\cvd[5]{12}{f}, 7=\cvc{\cvd[6]{12}{f}}, 8=\cvc{\cvd[7]{12}{f}}, 9=\cvd[8]{12}{f}}\\ + 6=\cvd[5]{12}{f}, 7=\cvc{\cvd[6]{12}{f}}, 8=\cvc{\cvd[7]{12}{f}}, 9=\cvd[8]{12}{f}}\index{cv12|textbf}\\ % \bluerow G & cv13 & -{1=\cvd{13}{G}, 2=\cvd[1]{13}{G}, 3=\cvd[2]{13}{G}, 4=\cvc{\cvd[3]{13}{G}}}\\ +{1=\cvd{13}{G}, 2=\cvd[1]{13}{G}, 3=\cvd[2]{13}{G}, 4=\cvc{\cvd[3]{13}{G}}}\index{cv13|textbf}\\ % g & cv14 & {1=\cvd{14}{g}, 2=\cvd[1]{14}{g}, 3=\cvd[2]{14}{g}, 4=\cvd[3]{14}{g}, 5=\cvd[4]{14}{g}, - 6=\cvd[5]{14}{g}, 7=\cvd[6]{14}{g}, 8=\cvc{\cvd[7]{14}{g}}, 9=\cvc{\cvd[8]{14}{g}}}\\ + 6=\cvd[5]{14}{g}, 7=\cvd[6]{14}{g}, 8=\cvc{\cvd[7]{14}{g}}, 9=\cvc{\cvd[8]{14}{g}}}\index{cv14|textbf}\\ % \bluerow H & cv15 & -{1=\cvd{15}{H}, 2=\cvc{\cvd[1]{15}{H}}, 3=\cvd[2]{15}{H}}\\ +{1=\cvd{15}{H}, 2=\cvc{\cvd[1]{15}{H}}, 3=\cvd[2]{15}{H}}\index{cv15|textbf}\\ % h & cv16 & -{1=\cvd{16}{h}, 2=\cvd[1]{16}{h}, 3=\cvc{\cvd[2]{16}{h}}, 4=\cvd[3]{16}{h}, 5=\cvd[4]{16}{h}}\\ +{1=\cvd{16}{h}, 2=\cvd[1]{16}{h}, 3=\cvc{\cvd[2]{16}{h}}, 4=\cvd[3]{16}{h}, 5=\cvd[4]{16}{h}}\index{cv16|textbf}\\ % \bluerow I & cv17 & -{1=\cvd{17}{I}, 2=\cvd[1]{17}{I}, 3=\cvc{\cvd[2]{17}{I}}, 4=\cvd[3]{17}{I}}\\ +{1=\cvd{17}{I}, 2=\cvd[1]{17}{I}, 3=\cvc{\cvd[2]{17}{I}}, 4=\cvd[3]{17}{I}}\index{cv17|textbf}\\ % i & cv18 & {1=\cvd{18}{i}, 2=\cvd[1]{18}{i}, 3=\cvd[2]{18}{i}, 4=\cvd[3]{18}{ii}, 5=\cvd[4]{18}{i}, - 6=\cvc{\cvd[5]{18}{i}}*}\\ + 6=\cvc{\cvd[5]{18}{i}}*}\index{cv18|textbf}\\ % \bluerow J & cv19 & -{1=\cvd{19}{J}, 2=\cvc{\cvd[1]{19}{J}}}\\ +{1=\cvd{19}{J}, 2=\cvc{\cvd[1]{19}{J}}}\index{cv19|textbf}\\ % j & cv20 & -{1=\cvd{20}{j}, 2=\cvd[1]{20}{j}, 3=\cvd[2]{20}{j}, \cvc{4=\cvd[3]{20}{j}}}\\ +{1=\cvd{20}{j}, 2=\cvd[1]{20}{j}, 3=\cvd[2]{20}{j}, \cvc{4=\cvd[3]{20}{j}}}\index{cv20|textbf}\\ % \bluerow K & cv21 & -{1=\cvc{\cvd{21}{K}}}\\ +{1=\cvc{\cvd{21}{K}}}\index{cv21|textbf}\\ % k & cv22 & -{1=\cvd{22}{k}, 2=\cvd[1]{22}{k}, 3=\cvd[2]{22}{k}, 4=\cvd[3]{22}{k}, \cvc{5=\cvd[4]{22}{k}}, 6=\cvd[5]{22}{k}}\\ +{1=\cvd{22}{k}, 2=\cvd[1]{22}{k}, 3=\cvd[2]{22}{k}, 4=\cvd[3]{22}{k}, \cvc{5=\cvd[4]{22}{k}}, 6=\cvd[5]{22}{k}}\index{cv22|textbf}\\ % \bluerow L & cv23 & -{\cvc{1=\cvd{23}{L}}}\\ +{1=\cvc{\cvd{23}{L}}}\index{cv23|textbf}\\ % l & cv24 & -{1=\cvd{24}{l}, \cvc{2=\cvd[1]{24}{l}}, 3=\cvd[2]{24}{l}, 4=\cvd[3]{24}{l}, 5=\cvd[4]{24}{l}, 6=\cvd[5]{24}{l}}\\ +{1=\cvd{24}{l}, \cvc{2=\cvd[1]{24}{l}}, 3=\cvd[2]{24}{l}, 4=\cvd[3]{24}{l}, 5=\cvd[4]{24}{l}, 6=\cvd[5]{24}{l}}\index{cv24|textbf}\\ % \bluerow M & cv25 & -{1=\cvd{25}{M}, 2=\cvd[1]{25}{M}, 3=\cvd[2]{25}{M}, 4=\cvc{\cvd[3]{25}{M}}}\\ +{1=\cvd{25}{M}, 2=\cvd[1]{25}{M}, 3=\cvd[2]{25}{M}, 4=\cvc{\cvd[3]{25}{M}}}\index{cv25|textbf}\\ % m & cv26 & -{1=\cvd{26}{m}, 2=\cvd[1]{26}{m}, 3=\cvd[2]{26}{m}, 4=\cvc{\cvd[3]{26}{m}}}\\ +{1=\cvd{26}{m}, 2=\cvd[1]{26}{m}, 3=\cvd[2]{26}{m}, 4=\cvc{\cvd[3]{26}{m}}}\index{cv26|textbf}\\ % \bluerow N & cv27 & -{1=\cvd{27}{N}, \cvc{2=\cvd[1]{27}{N}}, 3=\cvd[2]{27}{N}}\\ +{1=\cvd{27}{N}, \cvc{2=\cvd[1]{27}{N}}, 3=\cvd[2]{27}{N}}\index{cv27|textbf}\\ % n & cv28 & {1=\cvd{28}{n}, 2=\cvd[1]{28}{n}, 3=\cvd[2]{28}{n}, 4=\cvd[3]{28}{n}, \cvc{5=\cvd[4]{28}{n}}, - 6=\cvd[5]{28}{n}, 7=\cvd[6]{28}{n}}\\ + 6=\cvd[5]{28}{n}, 7=\cvd[6]{28}{n}}\index{cv28|textbf}\\ % \bluerow O & cv29 & -{1=\cvd{29}{O}, 2=\cvc{\cvd[1]{29}{O}}}\\ +{1=\cvd{29}{O}, 2=\cvc{\cvd[1]{29}{O}}}\index{cv29|textbf}\\ % o & cv30 & -{1=\cvd{30}{o}, 2=\cvc{\cvd[1]{30}{o}}}\\ +{1=\cvd{30}{o}, 2=\cvc{\cvd[1]{30}{o}}}\index{cv30|textbf}\\ % \bluerow P & cv31 & -{1=\cvd{31}{P}, 2=\cvc{\cvd[1]{31}{P}}}\\ +{1=\cvd{31}{P}, 2=\cvc{\cvd[1]{31}{P}}}\index{cv31|textbf}\\ % p & cv32 & -{1=\cvc{\cvd{32}{p}}}, 2=\cvd[1]{32}{p}**\\ +{1=\cvc{\cvd{32}{p}}}, 2=\cvd[1]{32}{p}**\index{cv32|textbf}\\ % \bluerow Q & cv33 & {1=\cvd{33}{Q}, 2=\cvc{\cvd[1]{33}{Q}}, 3=\cvd[2]{33}{Q}◌, - 4=\cvd[3]{33}{Q}◌◌}\\ + 4=\cvd[3]{33}{Q}◌◌}\index{cv33|textbf}\\ % q & cv34 & -{1=\cvd{34}{q}, 2=\cvc{\cvd[1]{34}{q}}}\\ +{1=\cvd{34}{q}, 2=\cvc{\cvd[1]{34}{q}}}\index{cv34|textbf}\\ % \bluerow R & cv35 & -{1=\cvd{35}{R}, 2=\cvd[1]{35}{R}, 3=\cvc{\cvd[2]{35}{R}}}\\ +{1=\cvd{35}{R}, 2=\cvd[1]{35}{R}, 3=\cvc{\cvd[2]{35}{R}}}\index{cv35|textbf}\\ % r & cv36 & -{1=\cvd{36}{r}, 2=\cvd[1]{36}{r}, 3=\cvd[2]{36}{r}, 4=\cvc{\cvd[3]{36}{r}}}\\ +{1=\cvd{36}{r}, 2=\cvd[1]{36}{r}, 3=\cvd[2]{36}{r}, 4=\cvc{\cvd[3]{36}{r}}}\index{cv36|textbf}\\ % \bluerow S & cv37 & {1=\cvd{37}{S}, 2=\cvd[1]{37}{S}, 3=\cvc{\cvd[2]{37}{S}}, 4=\cvd[3]{37}{S}, 5=\cvd[4]{37}{S}, - 6=\cvd[5]{37}{S}, 7=\cvd[6]{37}{S}}\\ + 6=\cvd[5]{37}{S}, 7=\cvd[6]{37}{S}}\index{cv37|textbf}\\ % s & cv38 & {1=\cvd{38}{s}, 2=\cvd[1]{38}{s}, 3=\cvd[2]{38}{s}, 4=\cvd[3]{38}{s}, 5=\cvd[4]{38}{s}, 6=\cvd[5]{38}{s}, 7=\cvc{\cvd[6]{38}{s}}, 8=\cvd[7]{38}{s}, - 9=\cvd[8]{38}{s}, 10=\cvd[9]{38}{s}, 11=\cvd[10]{38}{s}, 12=\cvd[11]{38}{s}}\\ + 9=\cvd[8]{38}{s}, 10=\cvd[9]{38}{s}, 11=\cvd[10]{38}{s}, 12=\cvd[11]{38}{s}}\index{cv38|textbf}\\ % \bluerow T & cv39 & -{1=\cvd{39}{T}, 2=\cvc{\cvd[1]{39}{T}}}\\ +{1=\cvd{39}{T}, 2=\cvc{\cvd[1]{39}{T}}}\index{cv39|textbf}\\ % t & cv40 & -{1=\cvd{40}{t}, 2=\cvd[1]{40}{t}, 3=\cvc{\cvd[2]{40}{t}}, 4=\cvd[3]{40}{t}}\\ +{1=\cvd{40}{t}, 2=\cvd[1]{40}{t}, 3=\cvc{\cvd[2]{40}{t}}, 4=\cvd[3]{40}{t}}\index{cv40|textbf}\\ % \bluerow U & cv41 & -{1=\cvc{\cvd{41}{U}}, 2=\cvd[1]{41}{U}, 3=\cvd[2]{41}{U}}\\ +{1=\cvc{\cvd{41}{U}}, 2=\cvd[1]{41}{U}, 3=\cvd[2]{41}{U}}\index{cv41|textbf}\\ % u & cv42 & -{1=\cvc{\cvd{42}{u}}}\\ +{1=\cvc{\cvd{42}{u}}}\index{cv42|textbf}\\ % \bluerow V & cv43 & -{1=\cvc{\cvd{43}{V}}}\\ +{1=\cvc{\cvd{43}{V}}}\index{cv43|textbf}\\ % v & cv44 & {1=\cvd{44}{v}, 2=\cvd[1]{44}{v}, 3=\cvd[2]{44}{v}, 4=\cvd[3]{44}{v}, 5=\cvc{\cvd[4]{44}{v}}, - 6=\cvd[5]{44}{v}}\\ + 6=\cvd[5]{44}{v}}\index{cv44|textbf}\\ % \bluerow W & cv45 & -{1=\cvc{\cvd{45}{W}}, 2=\cvd[1]{45}{W}}\\ +{1=\cvc{\cvd{45}{W}}, 2=\cvd[1]{45}{W}}\index{cv45|textbf}\\ % w & cv46 & -{1=\cvc{\cvd{46}{w}}, 2=\cvd[1]{46}{w}}\\ +{1=\cvc{\cvd{46}{w}}, 2=\cvd[1]{46}{w}}\index{cv46|textbf}\\ % \bluerow X & cv47 & -{1=\cvc{\cvd{47}{X}}}\\ +{1=\cvc{\cvd{47}{X}}}\index{cv47|textbf}\\ % x & cv48 & -{1=\cvd{48}{x}, 2=\cvd[1]{48}{x}, 3=\cvd[2]{48}{x}, 4=\cvd[3]{48}{x}, 5=\cvc{\cvd[4]{48}{x}}}\\ +{1=\cvd{48}{x}, 2=\cvd[1]{48}{x}, 3=\cvd[2]{48}{x}, 4=\cvd[3]{48}{x}, 5=\cvc{\cvd[4]{48}{x}}}\index{cv48|textbf}\\ % \bluerow Y & cv49 & -{1=\cvd{49}{Y}, 2=\cvc{\cvd[1]{49}{Y}}}\\ +{1=\cvd{49}{Y}, 2=\cvc{\cvd[1]{49}{Y}}}\index{cv49|textbf}\\ % y & cv50 & {1=\cvd{50}{y}, 2=\cvd[1]{50}{y}, 3=\cvd[2]{50}{y}, 4=\cvc{\cvd[3]{50}{y}}, 5=\cvd[4]{50}{y}, - 6=\cvd[5]{50}{y}}\\ + 6=\cvd[5]{50}{y}}\index{cv50|textbf}\\ % \bluerow Z & cv51 & -{1=\cvd{51}{Z}, 2=\cvc{\cvd[1]{51}{Z}}}\\ +{1=\cvd{51}{Z}, 2=\cvc{\cvd[1]{51}{Z}}}\index{cv51|textbf}\\ % z & cv52 & -{1=\cvd{52}{z}, 2=\cvd[1]{52}{z}, 3=\cvc{\cvd[2]{52}{z}}}\\ +{1=\cvd{52}{z}, 2=\cvd[1]{52}{z}, 3=\cvc{\cvd[2]{52}{z}}}\index{cv52|textbf}\\ \end{supertabular} \end{center} -\noindent * \textSourceText{cv18[4]} changes ii to ij at the end of a word; +\noindent * \textSourceText{cv18[4]}\index{cv18} changes ii to ij at the end of a word; \textSourceText{cv18[5]} changes i to j at the end of a word whether another i precedes or not. These variants are chiefly useful for roman numbers, but also for Latin words ending in -ii. The j produced by this feature is searchable as i. -\noindent ** \textSourceText{cv32[2]} should be on in any edition or extensive +\noindent ** \textSourceText{cv32[2]}\index{cv32} should be on in any edition or extensive quotation of the \textit{Ormulum}. The feature produces a p that differs from -the default only in the way it forms a double-p ligature with \textSourceText{hlig}: +the default only in the way it forms a double-p ligature with \textSourceText{hlig}\index{hlig}: \cvd[1]{32}{\hlig{pp}}, not \hlig{pp}. -\subsection{\textSourceText{cv53-cv66}, \textSourceText{cv91} -- Other Latin Letters}\hypertarget{OtherLatin}{} -Some features affect both upper- and lowercase forms. \textSourceText{cv62} also affects -combining \textex{e} with ogonek, accessible via either \textSourceText{\hyperlink{cv84}{cv84}} or +\subsection{\textSourceText{cv53-cv66}, \textSourceText{cv91}\index{cv91} – Other Latin Letters}\hypertarget{OtherLatin}{} +Some features affect both upper- and lowercase forms. \textSourceText{cv62}\index{cv62} also affects +combining \textex{e} with ogonek, accessible via either \textSourceText{\hyperlink{cv84}{cv84}}\index{cv84} or \textSourceText{\hyperlink{ss10}{ss10}} with the entity reference \textSourceText{\&\_eogo;}. @@ -362,76 +364,83 @@ entity reference \textSourceText{\&\_eogo;}. \begin{supertabular}{| c | c |p{2.3212599in}|} % \bluerow\k{A} (\unic{U+0104}) & -cv53 & +cv53\index{cv53|textbf} & {1=\cvd{53}{Ą}, 2=\cvd[1]{53}{Ą}, 3=\cvd[2]{53}{Ą}}\\ % \k{a} (\unic{U+0105}) & -cv54 & +cv54\index{cv54|textbf} & {1=\cvd{54}{ą}, 2=\cvd[1]{54}{ą}}\\ % \bluerow ꜳ (\unic{U+A733}) & -cv55 & +cv55\index{cv55|textbf} & {1=\cvd{55}{ꜳ}, 2=\cvd[1]{55}{ꜳ}, 3=\cvc{\cvd[2]{55}{ꜳ}}, 4=\cvd[3]{55}{æ}}\\ % {\AE} (\unic{U+00C6}) & -cv56 & +cv56\index{cv56|textbf} & {1=\cvd{56}{\AE}, 2=\cvc{\cvd[1]{56}{\AE}}}\\ % \bluerow{\ae} (\unic{U+00E6}) & -cv57 & +cv57\index{cv57|textbf} & {1=\cvd{57}{\ae}, 2=\cvc{\cvd[1]{57}{\ae}}, 3=\cvd[2]{57}{\ae}, 4=\cvd[3]{57}{\ae}, 5=\cvd[4]{57}{\ae}, 6=\cvd[5]{57}{\ae}}\\ % Ꜵ (\unic{U+A734}) & -cv58 & +cv58\index{cv58|textbf} & {1=\cvd{58}{Ꜵ}, 2=\cvc{\cvd[1]{58}{Ꜵ}}, 3=\cvc{\cvd[2]{58}{Ꜵ}}}\\ % \bluerow ꜵ (\unic{U+A735}) & -cv59 & +cv59\index{cv59|textbf} & {1=\cvd{59}{ꜵ}, 2=\cvd[1]{59}{ꜵ}, 3=\cvc{\cvd[2]{59}{ꜵ}}}\\ % ꜹ (\unic{U+A739}) & -cv60 & +cv60\index{cv60|textbf} & {1=\cvd{60}{ꜹ}}\\ % \bluerow{\dj} (\unic{U+0111}) & -cv61 & +cv61\index{cv61|textbf} & {1=\cvd{61}{\dj}}\\ % -{\narrow Ę, ę ... (U+0118, U+0119)} & -cv62 & +{\jCond Ę, ę ... (U+0118, U+0119)} & +cv62\index{cv62|textbf} & {1=\cvd{62}{Ę, ę ...}; 2=\cvd[1]{62}{Ę, ę ...}}\\ % -\bluerow{\narrow Ȝ, ȝ (U+021C, U+021D)} & -cv63 & +\bluerow{\jCond Ȝ, ȝ (U+021C, U+021D)} & +cv63\index{cv63|textbf} & {1=\cvd{63}{Ȝȝ}, 2=\cvd[1]{63}{Ȝȝ}}\\ % -Ŋ (U+014A) & -cv91 & +{ꝉ (U+A749)} & +cv64\index{cv64|textbf} & +{1=\cvd{64}{ꝉ}}\\ +% +\bluerow Ŋ (U+014A) & +cv91\index{cv91|textbf} & {1=\cvd{91}{Ŋ}, 2=\cvd[1]{91}{Ŋ}}\\ % -\bluerow{\char"0A7C1} (\unic{U+A7C1}) & -cv65 & +{\char"0A7C1} (\unic{U+A7C1}) & +cv65\index{cv65|textbf} & {1=\cvd{65}{\char"0A7C1}, 2=\cvd[1]{65}{\char"0A7C1}, 3=\cvd[2]{65}{\char"0A7C1}, 4=\cvd[3]{65}{\char"0A7C1}}\\ % -ꝥ, \revthorn{ꝥ} (\unic{U+A765}) & -cv66 & -{1=\cvd{66}{ꝥ, \revthorn{ꝥ}}}\\ +\bluerow ꝥ, \textAltThornEth{ꝥ} (\unic{U+A765}) & +cv66\index{cv66|textbf} & +{1=\cvd{66}{ꝥ, \textAltThornEth{ꝥ}}}\\ \end{supertabular} \end{center} -\subsection{\textSourceText{ss01} -- Alternate thorn and eth} -Produces Nordic thorn and eth (\textex{\eng\revthorn{{\th}{\dh}{\TH}}}) when the language is English, and English thorn and eth -(\textex{\icel\revthorn{{\th}{\dh}{\TH}}}) with any other language, reversing the font’s ordinary usage. +\subsection{\textSourceText{ss01} – Alternate thorn and eth} +Produces\index{ss01} Nordic thorn and eth (\textex{\addfontfeature{Language=English}\textAltThornEth{{\th}{\dh}{\TH}}}) +when the language is English, and English thorn and eth +(\textex{\addfontfeature{Language=Icelandic}\textAltThornEth{{\th}{\dh}{\TH}}}) with any other language, +reversing the font’s ordinary usage. This also affects small caps, crossed -thorn (\textex{ꝥ \revthorn{ꝥ}}---see also +thorn (\textex{ꝥ \textAltThornEth{ꝥ}}—see also \hyperlink{OtherLatin}{\textSourceText{cv66}}), combining mark eth -(\unic{U+1DD9}, \textex{◌ᷙ \revthorn{◌ᷙ}}), and enlarged thorn and eth (see \textSourceText{\hyperlink{ss06}{ss06}}). -This feature depends on \textSourceText{\hyperlink{req}{loca}} (Localized Forms), which in most applications will +(\unic{U+1DD9}, \textex{◌ᷙ \textAltThornEth{◌ᷙ}}), and enlarged thorn and eth +(see \textSourceText{\hyperlink{ss06}{ss06}}\index{ss06}). +This feature depends on \textSourceText{\hyperlink{req}{loca}}\index{loca} (Localized Forms), which in most applications will always be enabled. -\subsection{\textSourceText{ss02} -- Insular Letter-Forms} -Produces insular letter-forms, e.g. \textex{\addfontfeatures{Language=English,StylisticSet=2}dfgrsw}. +\subsection{\textSourceText{ss02} – Insular Letter-Forms} +Produces\index{ss02|textbf} insular letter-forms, e.g. \textex{\addfontfeatures{Language=English,StylisticSet=2}dfgrsw}. The result is different, depending on whether the language is English or Irish (make sure the language for your document is set properly). In English text, capitals are not affected (except W), as these do not not commonly have @@ -441,18 +450,18 @@ passages of Hickes’s \textit{Thesaurus}, not the usage of Old English or Anglo Irish texts, it imitates the distribution of insular characters but cannot imitate the style of particular scribal hands or typefaces. -\subsection{\textSourceText{ss04} -- High +\subsection{\textSourceText{ss04} – High Overline} -Produces a high overline over letters used as roman numbers: \textex{\addfontfeature{StylisticSet=4}cdijlmvx CDI JLMVXↃ}. +Produces\index{ss04|textbf} a high overline over letters used as roman numbers: \textex{\addfontfeature{StylisticSet=4}cdijlmvx CDI JLMVXↃ}. -\subsection{\textSourceText{ss05} -- +\subsection{\textSourceText{ss05} – Medium-High Overline} -Produces a medium-high overline over (or through the ascenders of) letters used as roman numbers, and some others as +Produces\index{ss05|textbf} a medium-high overline over (or through the ascenders of) letters used as roman numbers, and some others as well: \textex{\addfontfeature{StylisticSet=5,Style=Historic}bcdhijklmſvx{\th}}. -\subsection{\textSourceText{ss06} -- +\subsection{\textSourceText{ss06} – Enlarged Minuscules}\hypertarget{ss06}{} -Letters that are lowercase in form but uppercase in function, and between upper- and +Letters\index{ss06|textbf} that are lowercase in form but uppercase in function, and between upper- and lowercase in size, often used in medieval manuscripts as \textit{litterae notabiliores} to begin sentences, paragraphs, and other textual units. This feature @@ -571,9 +580,9 @@ y\hfill→\hfill\enla{y} z\hfill→\hfill\enla{z} -{\addfontfeature{Language=Icelandic}þ\hfill→\hfill\enla{þ}} +{\addfontfeature{Language=Icelandic}þ\hfill→\hfill\EnlargedMinuscules\addfontfeature{Language=Icelandic}þ} -þ\hfill→\hfill\enla{þ} +{\addfontfeature{Language=English}þ\hfill→\hfill\EnlargedMinuscules\addfontfeature{Language=English}þ} \end{multicols} \noindent If you are using the variable version of the font (Junicode VF), consider using the @@ -581,30 +590,32 @@ z\hfill→\hfill\enla{z} %\href{https://psb1558.github.io/Junicode-New/EnlargedAxis.html}{Enlarge axis} instead, for reasons of flexibility and accessibility. -\subsection{\textSourceText{ss07} -- Underdotted Text} -Produces underdotted text (indicating deletion in medieval manuscripts) for most +\subsection{\textSourceText{ss07} – Underdotted Text} +Produces\index{ss07|textbf} underdotted text (indicating deletion in medieval manuscripts) for most Latin and Greek letters, e.g. \textex{\addfontfeature{StylisticSet=7}abcdefg HIJKLM αβγδεζη ΑΒΓΔΕΖΗ}. This also affects small caps, e.g. \textex{{\addfontfeature{StylisticSet=7}\textsc{hijklmn θικλμνξ}}}. If this feature fails for any letter, use \unic{U+0323}, combining dot below. -\subsection{\textSourceText{ss08} -- Contextual Long s} -In English, French, and Latin text only, varies \textex{s} and \textex{ſ} according to rules -followed by many early printers: \textex{\colongs sports, essence, stormy, disheveled, transfusions, slyness, cliffside}. For this -feature to work properly, \textSourceText{calt} ``Contextual Alternates'' must also be enabled (as it should be by +\subsection{\textSourceText{ss08} – Contextual Long s} +In\index{ss08|textbf} English, French, and Latin text only, varies \textex{s} and \textex{ſ} according to rules +followed by many early printers: \textex{\ContextualLongS\addfontfeature{Language=English} sports, +essence, stormy, disheveled, transfusions, +slyness, cliffside}. For this +feature to work properly, \textSourceText{calt}\index{calt} “Contextual Alternates” must also be enabled (as it should be by default: see \hyperlink{req}{Required Features} below). This feature does not work in {\ltech}, except in harf mode. -\subsection{\textSourceText{ss16} -- -Contextual r Rotunda}\hypertarget{ss16}{} +\subsection{\textSourceText{ss16} – +Contextual\index{ss16|textbf} r Rotunda}\hypertarget{ss16}{} Converts \textex{r} to \textex{ꝛ} (lowercase only) following the most common rules of medieval manuscripts: \textex{\addfontfeature{StylisticSet=16,Contextuals=Alternate}priest, firmer, frost, ornament}. For this feature to work properly, -\textSourceText{calt} ``Contextual Alternates'' must also be enabled (as it should be by default: see +\textSourceText{calt}\index{calt} “Contextual Alternates” must also be enabled (as it should be by default: see \hyperlink{req}{Required Features} below). This feature does not work in {\ltech}, except in harf mode. -\subsection{\textSourceText{salt} -- -Stylistic Alternates (medieval capitals, etc.)}\hypertarget{salt}{} +\subsection{\textSourceText{salt} – +Stylistic\index{salt|textbf} Alternates (medieval capitals, etc.)}\hypertarget{salt}{} Junicode has two series of decorative capitals in medieval scripts. These affect only the letters A-Z and a-z. \textSourceText{salt[1]} provides rustic capitals, a script used for text in the late ancient and early medieval periods and for display until around the eleventh century: @@ -620,8 +631,8 @@ unavailable) are also gathered here on \textSourceText{salt[1]}: ð \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}ð}, ẏ \rightarrow{ }\textex{\addfontfeature{Language=English,StylisticAlternates=0}ẏ}. -\subsection{\textSourceText{cv68} -- Variant of ʔ (\unic{U+0294}, glottal stop)} -1=\cvd{68}{ʔ}. +\subsection{\textSourceText{cv68} – Variant of ʔ (\unic{U+0294}, glottal stop)} +1=\cvd{68}{ʔ}\index{cv68|textbf}. \section{Greek} Junicode has two distinct styles of Greek. In the roman face, it is upright and @@ -632,15 +643,15 @@ Glasgow. Both Greek styles include the full polytonic and monotonic character sets: \textex{αβγδεζ \textit{αβγδεζ}}. To set Greek properly (especially polytonic text) requires that both \textSourceText{locl} -and \textSourceText{ccmp} be active, as they should be by default in most +and \textSourceText{ccmp}\index{ccmp} be active, as they should be by default in most text processing applications (but in MS Word they must be explicitly enabled -by checking the ``kerning'' box on the ``Advanced'' tab of the Font Dialog). +by checking the “kerning” box on the “Advanced” tab of the Font Dialog). Modern monotonic Greek should be set using only characters from the Unicode “Greek and Coptic” range (\unic{U+0370–U+03FF}). When monotonic text is set in all caps, Junicode suppresses accents automatically (except in single-letter words, for which you must substitute unaccented forms manually). This substitution is not -performed on text containing visually identical letters from the ``Greek Extended'' +performed on text containing visually identical letters from the “Greek Extended” range (\unic{U+0F00–U+1FFF}). Thus when setting polytonic Greek, one should use (for example) \textex{Ά} (\unic{U+1FBB}), not \textex{Ά} (\unic{U+0386}), @@ -660,54 +671,54 @@ applications will automatically reorder sequences of letters and accents, sparing you the trouble of remembering the canonical order.} For example, the sequence ω (\unic{U+03C9}) ◌̓ (\unic{U+0313}) ◌́ (\unic{U+0301}) ◌ͅ (\unic{U+0345}) -produces \textex{\grk ᾤ}. +produces \textex{\addfontfeatures{Language=Greek} ᾤ}. Substitute capital Ω (\unic{U+03A9}) and the result is -\textex{\grk ᾬ}. Note that in a number of applications the layout +\textex{\addfontfeatures{Language=Greek} ᾬ}. Note that in a number of applications the layout engine will perform these substitutions before Junicode’s own programming is invoked. If either the layout engine or Junicode fails to produce your preferred result, try placing \unic{U+034F} \textUName{combining grapheme joiner} (don't waste time puzzling over the name) somewhere -in the sequence of combining marks---for example, before the \textit{ypogegrammeni} -to make \textex{\grk Ὤ͏ͅ}. +in the sequence of combining marks—for example, before the \textit{ypogegrammeni} +to make \textex{\addfontfeatures{Language=Greek} Ὤ͏ͅ}. -\subsection{\textSourceText{ss03} -- Alternate Greek} -Provides alternate shapes of {\addfontfeature{Language=Greek}β γ θ π φ χ ω}: +\subsection{\textSourceText{ss03} – Alternate Greek} +Provides\index{ss03|textbf} alternate shapes of {\addfontfeature{Language=Greek}β γ θ π φ χ ω}: \textex{\addfontfeature{StylisticSet=3}β γ θ π φ χ ω}. These are chiefly useful in linguistics, as they harmonize with IPA characters. \section{Gothic} -\subsection{\textSourceText{ss19} -- Latin to Gothic Transliteration} -Produces Gothic letters from Latin: \revthorn{Warþ þan in dagans jainans} $\rightarrow $ -{\addfontfeature{StylisticSet=19}Warþ þan in dagans -jainans}. In web pages, the letters will be searchable as their Latin equivalents. +\subsection{\textSourceText{ss19} – Latin to Gothic Transliteration} +Produces\index{ss19|textbf} Gothic letters from Latin: {\addfontfeature{Language=Latin}Warþ þan in dagans jainans} $\rightarrow $ +{\LatinToGothic\addfontfeature{Language=Latin}Warþ þan in dagans +jainans}. In web pages and PDFs, the letters will be searchable as their Latin equivalents. \section{Runic} -\subsection{\textSourceText{ss12} -- Early English Futhorc} -Changes Latin letters to their equivalents in the early English futhorc. Because of the variability of the runic +\subsection{\textSourceText{ss12} – Early English Futhorc} +Changes\index{ss12|textbf} Latin letters to their equivalents in the early English futhorc. Because of the variability of the runic alphabet, this method of transliteration may not produce the result you want. In that case, it may be necessary to manually edit the result. fisc flodu ahof $\rightarrow $ {\addfontfeature{StylisticSet=12}fisc flodu ahof}. -\subsection{\textSourceText{ss13} -- Elder +\subsection{\textSourceText{ss13} – Elder Futhark} -Changes Latin letters to their equivalents in the Elder Futhark. Because of the variability of the runic alphabet, this +Changes\index{ss13|textbf} Latin letters to their equivalents in the Elder Futhark. Because of the variability of the runic alphabet, this method of transliteration may not produce the result you want. In that case, it may be necessary to manually edit the result. ABCDEFG $\rightarrow $ {\addfontfeature{StylisticSet=13}ABCDEFG}. -\subsection{\textSourceText{ss14} -- Younger +\subsection{\textSourceText{ss14} – Younger Futhark} -Changes Latin letters to their equivalents in the Younger Futhark. Because of the variability of the runic alphabet, +Changes\index{ss14|textbf} Latin letters to their equivalents in the Younger Futhark. Because of the variability of the runic alphabet, this method of transliteration may not produce the result you want. In that case, it may be necessary to manually edit the result. ABCDEFG $\rightarrow $ {\addfontfeature{StylisticSet=14}ABCDEFG}. -\subsection{\textSourceText{ss15} -- +\subsection{\textSourceText{ss15} – Long Branch to Short Twig} -In combination with \textSourceText{ss14}, converts long branch (the default for the Younger Futhark) to short twig runes: +In\index{ss15|textbf} combination with \textSourceText{ss14}, converts long branch (the default for the Younger Futhark) to short twig runes: {\addfontfeature{StylisticSet=14}{ABCDEFG $\rightarrow $ \addfontfeature{StylisticSet=15}ABCDEFG}}. \subsection{\textSourceText{rtlm} --- Right to Left Mirrored Forms} -Produces mirrored runes, e.g. {\addfontfeature{StylisticSet=12}ABCDEFG $\rightarrow $ \addfontfeature{MyStyle=mirrored}GFEDCBA}. +– Right to Left Mirrored Forms} +Produces\index{rtlm|textbf} mirrored runes, e.g. {\addfontfeature{StylisticSet=12}ABCDEFG $\rightarrow $ \addfontfeature{MyStyle=mirrored}GFEDCBA}. This feature cannot change the direction of text or reverse its order. \section{Ligatures and Digraphs} @@ -720,13 +731,13 @@ including the standard f-ligatures, a similar set for long s, e.g. \textex{ſl}, specialized forms like \textex{ſꞇ}, \textex{\addfontfeatures{StylisticSet=2,CharacterVariant=38:10}st}, \textex{\addfontfeatures{Language=English,StylisticSet=2,CharacterVariant=38:10}sw} -(the last two with \textSourceText{ss02} and \textSourceText{cv38[11]}), and a few more. Most of Junicode’s +(the last two with \textSourceText{ss02}\index{ss02} and \textSourceText{cv38[11]}\index{cv38}), and a few more. Most of Junicode’s ligatures, however, are not automatic, but belong to the set of either Historic Ligatures or Discretionary Ligatures, both of which must be invoked explicitly. These are listed in the following sections. -\subsection{\textSourceText{hlig} -- Historic Ligatures} +\subsection{\textSourceText{hlig} – Historic Ligatures} -Produces ligatures for combinations that should not ordinarily be rendered as +Produces\index{hlig|textbf} ligatures for combinations that should not ordinarily be rendered as ligatures in modern text.\footnote{\ Some fonts define \textSourceText{hlig} differently, as including all ligatures in which at least one element is an archaic character, e.g. @@ -735,10 +746,10 @@ historic ligature is defined not by the characters it is composed of, but rather by the join between them. If two characters (though modern) should not be joined except in certain historic contexts, they form a historic ligature. If they should be joined in all contexts (even if archaic), the ligature is not historic -and should be defined in \textSourceText{liga}.} Most of these are from the MUFI recommendation, +and should be defined in \textSourceText{liga}\index{liga}.} Most of these are from the MUFI recommendation, ranges B.1.1(b) and B.1.4. This feature does not produce digraphs (which have a phonetic value), for which see -\textSourceText{\hyperlink{ss17}{ss17}}. The ligatures: +\textSourceText{\hyperlink{ss17}{ss17}}\index{ss17}. The ligatures: \addfontfeatures{Ligatures=Historic} \begin{multicols}{5} @@ -845,7 +856,7 @@ f{\textcompwordmark}ä\hfill→\hfill{}fä} g{\textcompwordmark}d\hfill→\hfill{}gd} {\color[rgb]{0.38039216,0.09019608,0.16078432} -g{\textcompwordmark}\revthorn{ð}\hfill→\hfill{}\revthorn{gð}} +g{\textcompwordmark}\textAltThornEth{ð}\hfill→\hfill{}\textAltThornEth{gð}} {\color[rgb]{0.38039216,0.09019608,0.16078432} g{\textcompwordmark}ꝺ\hfill→\hfill{}gꝺ} @@ -944,7 +955,7 @@ p{\textcompwordmark}si\hfill→\hfill{}psi} q{\textcompwordmark}ꝩ\hfill→\hfill{}qꝩ} {\color[rgb]{0.38039216,0.09019608,0.16078432} -{\narrow q{\textcompwordmark}ꝫ/q\cvd[1]{83}{ꝫ}\hfill→\hfill\hlig{{}qꝫ/\cvd[1]{83}{qꝫ}}}} +{\jCond q{\textcompwordmark}ꝫ/q\cvd[1]{83}{ꝫ}\hfill→\hfill\hlig{{}qꝫ/\cvd[1]{83}{qꝫ}}}} {\color[rgb]{0.38039216,0.09019608,0.16078432} ꝗ{\textcompwordmark}ꝗ\hfill→\hfill{}ꝗꝗ} @@ -989,13 +1000,10 @@ u{\textcompwordmark}u\hfill→\hfill{}uu} ƿ{\textcompwordmark}ƿ\hfill→\hfill{}ƿƿ} {\color[rgb]{0.38039216,0.09019608,0.16078432} -\revthorn{{\th}{\textcompwordmark}r\hfill→\hfill{}{\th}r}} - -%{\color[rgb]{0.38039216,0.09019608,0.16078432} -%\revthorn{{\th}{\textcompwordmark}s\hfill→\hfill{}{\th}s}} +\textAltThornEth{{\th}{\textcompwordmark}r\hfill→\hfill{}{\th}r}} {\color[rgb]{0.38039216,0.09019608,0.16078432} -\revthorn{{\th}{\textcompwordmark}ẝ\hfill→\hfill{}{\th}ẝ}} +\textAltThornEth{{\th}{\textcompwordmark}ẝ\hfill→\hfill{}{\th}ẝ}} {\color[rgb]{0.38039216,0.09019608,0.16078432} ð{\textcompwordmark}ð\hfill→\hfill{}ðð} @@ -1016,22 +1024,22 @@ Note: For the ligature \textex{\textsc{\hlig{nſ}}} to work properly, \unic{U+017F} \textex{ſ} must be entered directly, not by applying an OpenType feature to \textex{s}. -\subsection{\textSourceText{dlig} -- +\subsection{\textSourceText{dlig} – Discretionary Ligatures} -Produces lesser-used ligatures: +Produces\index{dlig} lesser-used ligatures: \textex{\textcolor[rgb]{0.5529412,0.15686275,0.11764706}{\addfontfeature{Ligatures=Rare}ct, ſp, str, st, tr, tt, ty}}. The collection of discretionary ligatures in the italic face also includes \textex{\textit{\addfontfeature{Ligatures=Rare}as, is, us}}. -\subsection{\textSourceText{ss17} -- Rare +\subsection{\textSourceText{ss17} – Rare Digraphs}\hypertarget{ss17}{} -By ``digraph'' we mean conjoined letters that represent a phonetic value: the most common examples +By\index{ss17|textbf} “digraph” we mean conjoined letters that represent a phonetic value: the most common examples for western languages are \textex{{\ae}} and \textex{{\oe}} (though these, because they are so common, are not included in this feature). Use of this feature in web pages enables easier searches: for example, producing \textex{\addfontfeature{StylisticSet=17}{\th}au} from \textex{{\th}au} allows the word to be -searched as ``{\th}au.'' The digraphs covered by this feature are \textcolor[rgb]{0.5529412,0.15686275,0.11764706}{% +searched as “{\th}au.” The digraphs covered by this feature are \textcolor[rgb]{0.5529412,0.15686275,0.11764706}{% \addfontfeature{StylisticSet=17,Language=Icelandic}aa, ao, au, av, ay, ꝺv, ðv, gv, oo, vy,} plus capital and small cap equivalents and digraph + diacritic combinations anticipated in the @@ -1043,22 +1051,22 @@ diacritic combination not covered by MUFI (e.g. \textex{ꜵ̀}), you may have to \textUName{combining grapheme joiner} (see \hyperlink{cv84}{cv84}) between the second element of the digraph and the combining mark. \section{Numbers and Sequencing} -\subsection{\textSourceText{frac} -- Fractions} -Applied to a slash and surrounding numbers, produces fractions with diagonal +\subsection{\textSourceText{frac} – Fractions} +Applied\index{frac|textbf} to a slash and surrounding numbers, produces fractions with diagonal slashes. 6/9 becomes {\addfontfeature{Fractions=On}6/9}, 16/91 becomes {\addfontfeature{Fractions=On}16/91}. -\subsection{\textSourceText{numr} -- Numerators} -Changes numbers to those suitable for use on the left/upper side of fractions -with diagonal stroke (\unic{U+2044}). This can be used, with \textSourceText{dnom}, to manually construct -fractions, but for most users \textSourceText{frac} will be a better solution. +\subsection{\textSourceText{numr} – Numerators} +Changes\index{numr|textbf} numbers to those suitable for use on the left/upper side of fractions +with diagonal stroke (\unic{U+2044}). This can be used, with \textSourceText{dnom}\index{dnom}, to manually construct +fractions, but for most users \textSourceText{frac}\index{frac} will be a better solution. -\subsection{\textSourceText{dnom} -- Denominators} -Changes numbers to those suitable for use on the right/lower side of fractions -with diagonal stroke (\unic{U+2044}). This can be used, with \textSourceText{numr}, to manually construct -fractions, but for most users \textSourceText{frac} will be a better solution. +\subsection{\textSourceText{dnom} – Denominators} +Changes\index{dnom|textbf} numbers to those suitable for use on the right/lower side of fractions +with diagonal stroke (\unic{U+2044}). This can be used, with \textSourceText{numr}\index{numr}, to manually construct +fractions, but for most users \textSourceText{frac}\index{frac} will be a better solution. -\subsection{\textSourceText{nalt} -- Alternate Annotation Forms} -Produces letters and numbers circled, in parenthesis, or followed by periods, as follows: +\subsection{\textSourceText{nalt} – Alternate Annotation Forms} +Produces\index{nalt|textbf} letters and numbers circled, in parenthesis, or followed by periods, as follows: \textSourceText{nalt[1]}, circled letters or numbers: {\addfontfeature{Annotation=0}a b .~.~. z; 0 1 2 .~.~. 20}. @@ -1070,48 +1078,49 @@ Produces letters and numbers circled, in parenthesis, or followed by periods, as \textSourceText{nalt[5]}, numbers followed by period: {\addfontfeature{Numbers={Monospaced,Uppercase},Annotation=4}0 1 . . . 20} -\noindent For enclosed figures 10 and higher, \textSourceText{rlig} (Required Ligatures) must also be enabled (as it should +\noindent For enclosed figures 10 and higher, \textSourceText{rlig}\index{rlig} +(Required Ligatures) must also be enabled (as it should be by default: see \hyperlink{req}{Required Features} below). -\subsection{\textSourceText{tnum} -- Tabular Figures} -Fixed-width figures: \ltab{0123456789} (with \textSourceText{lnum}), \otab{0123456789} (default or with +\subsection{\textSourceText{tnum} – Tabular Figures} +Fixed-width\index{tnum|textbf} figures: \ltab{0123456789} (with \textSourceText{lnum}\index{lnum}), \otab{0123456789} (default or with \textSourceText{onum}). -\subsection{\textSourceText{onum} -- Oldstyle Figures} -Junicode's default figures are oldstyle and proportional, harmonizing with lowercase characters: +\subsection{\textSourceText{onum} – Oldstyle Figures} +Junicode's\index{onum|textbf} default figures are oldstyle and proportional, harmonizing with lowercase characters: 0123456789. Use this feature to switch temporarily to oldstyle figures in a context where -\textSourceText{lnum} is active. +\textSourceText{lnum}\index{lnum} is active. -\subsection{\textSourceText{pnum} -- Proportional Figures} -Junicode's default figures are proportionally spaced: unlike tabular figures, they are not +\subsection{\textSourceText{pnum} – Proportional Figures} +Junicode's\index{pnum|textbf} default figures are proportionally spaced: unlike tabular figures, they are not all the same width: 0123456789. Use this feature to switch temporarily to proportional figures in a context where \textSourceText{tnum} is active. -\subsection{\textSourceText{lnum} -- Lining Figures} -Figures in a uniform height, harmonizing with uppercase letters: \ltab{0123456789} (with -\textSourceText{tnum}), \lprop{0123456789} (default or with \textSourceText{pnum}). +\subsection{\textSourceText{lnum} – Lining Figures} +Figures\index{lnum|textbf} in a uniform height, harmonizing with uppercase letters: \ltab{0123456789} (with +\textSourceText{tnum}\index{tnum}), \lprop{0123456789} (default or with \textSourceText{pnum}). -\subsection{\textSourceText{zero} -- Slashed Zero} -Produces slashed zero in all number styles, including superscripts, subscripts, and fractions made with -\textSourceText{frac}: {\addfontfeature{Numbers=SlashedZero}\ltab{0} \otab{0} \lprop{0} \oprop{0} +\subsection{\textSourceText{zero} – Slashed Zero} +Produces\index{zero|textbf} slashed zero in all number styles, including superscripts, subscripts, and fractions made with +\textSourceText{frac}\index{frac}: {\addfontfeature{Numbers=SlashedZero}\ltab{0} \otab{0} \lprop{0} \oprop{0} \addfontfeature{Fractions=On} 10/30}. -\subsection{\textSourceText{ss09} -- Alternate Figures} -In the manner of old typefaces, Junicode's default number one is shaped like a small capital I and +\subsection{\textSourceText{ss09} – Alternate Figures} +In\index{ss09|textbf} the manner of old typefaces, Junicode's default number one is shaped like a small capital I and its zero is a plain ring. This feature provides more modern-looking figures: {\addfontfeature{StylisticSet=9}01}. Only oldstyle figures are affected by this feature. \section{Superscripts and Subscripts} -\subsection{\textSourceText{sups} -- Superscripts} -Produces superscript numbers and letters. Superscript numbers are in one of two styles: oldstyle proportional +\subsection{\textSourceText{sups} – Superscripts} +Produces\index{sups|textbf} superscript numbers and letters. Superscript numbers are in one of two styles: oldstyle proportional (from oldstyle numbers) and lining tabular (from lining numbers). All lowercase letters of the basic Latin alphabet are covered, and most uppercase letters: \sups{\ltab{0123} \oprop{4567} abcde ABDEG}. Wherever superscripts are needed (e.g. for footnote numbers), use \textSourceText{sups} instead of the raised and scaled characters generated by some programs. With sups: \sups{4567}. Scaled: \textsuperscript{4567}. -\subsection{\textSourceText{subs} -- Subscripts} -Produces subscript numbers. Only produces oldstyle proportional and lining tabular figures: +\subsection{\textSourceText{subs} – Subscripts} +Produces\index{subs|textbf} subscript numbers. Only produces oldstyle proportional and lining tabular figures: \subs{\oprop{2345} \ltab{8901}}. \section{Punctuation} @@ -1127,15 +1136,15 @@ have PUA encodings, but have since that release been assigned Unicode code point \unic{U+2E4D}), medieval comma (⹌~\unic{U+2E4C}), \textit{punctus elevatus} (⹎ \unic{U+2E4E}), \textit{virgula suspensiva} (⹊ \unic{U+2E4A}), triple dagger (⹋ \unic{U+2E4B}). -\subsection{\textSourceText{ss18} -- Old-Style Punctuation Spacing} -Colons, semicolons, parentheses, quotation marks and several other glyphs are spaced as in early printed books. +\subsection{\textSourceText{ss18} – Old-Style Punctuation Spacing} +Colons,\index{ss18|textbf} semicolons, parentheses, quotation marks and several other glyphs are spaced as in early printed books. -\subsection{\textSourceText{cv69} -- Variants of ⁊⹒ +\subsection{\textSourceText{cv69} – Variants of ⁊⹒ (\unic{U+204A / U+2E52}, Tironian nota)} -1=\cvd{69}{⁊⹒}, 2=\cvd[1]{69}{⁊⹒}, 3=\cvd[2]{69}{⁊⹒}. +1=\cvd{69}{⁊⹒}, 2=\cvd[1]{69}{⁊⹒}, 3=\cvd[2]{69}{⁊⹒}.\index{cv69|textbf} -\subsection{\textSourceText{cv70} -- - Variants of . (period)} +\subsection{\textSourceText{cv70} – + Variants of . (period)}\index{cv70|textbf} 1=\cvd{70}{.}, 2=\cvd[1]{70}{.}, 3=\cvd[2]{70}{.}, 4=\cvd[3]{70}{.}, 5=\cvd[4]{70}{.}, 6=\cvd[5]{70}{.}, 7=\cvd[6]{70}{.}, 8=\cvd[7]{70}{.}, 9=\cvd[8]{70}{.}, 10=\cvd[9]{70}{.}, 11=\cvd[10]{70}{.}, 12=\cvd[11]{70}{.}, 13=\cvd[12]{70}{.}, 14=\cvd[13]{70}{.}, 15=\cvd[14]{70}{.}, 16=\cvd[15]{70}{.}, 17=\cvd[16]{70}{.}, @@ -1143,70 +1152,70 @@ Colons, semicolons, parentheses, quotation marks and several other glyphs are sp feature provides access to all non-Unicode MUFI punctuation marks. Some of them are available via other features (see below). -\subsection{\textSourceText{cv71} -- Variant of {\textperiodcentered} (\unic{U+00B7}, middle dot)} +\subsection{\textSourceText{cv71} – Variant of {\textperiodcentered} (\unic{U+00B7}, middle dot)}\index{cv71|textbf} 1=\cvd{71}{\char"25CC\textperiodcentered} (\textit{distinctio}), 2=\cvd[1]{71}{\char"25CC\textperiodcentered}. -\subsection{\textSourceText{cv72} -- -Variants of , (comma)} +\subsection{\textSourceText{cv72} – +Variants of , (comma)}\index{cv72|textbf} 1=\cvd{72}{,}, 2=\cvd[1]{72}{,}. -\subsection{\textSourceText{cv73} -- -Variants of ; (semicolon)} +\subsection{\textSourceText{cv73} – +Variants of ; (semicolon)}\index{cv73|textbf} 1=\cvd{73}{;} (\textit{punctus versus}), 2=\cvd[1]{73}{;}, 3=\cvd[2]{73}{;}, 4=\cvd[3]{73}{;}, 5=\cvd[4]{73}{;}, 6=\cvd[5]{73}{;}, 7=\cvd[6]{73}{;}. -\subsection{\textSourceText{cv74} -- Variants of ⹎ (\unic{U+2E4E}, \textit{punctus elevatus})} +\subsection{\textSourceText{cv74} – Variants of ⹎ (\unic{U+2E4E}, \textit{punctus elevatus})}\index{cv74|textbf} 1=\cvd{74}{⹎}, 2=\cvd[1]{74}{⹎}, 3=\cvd[2]{74}{⹎}, 4=\cvd[3]{74}{⹎} (\textit{punctus flexus}). -\subsection{\textSourceText{cv7}\textSourceText{5} -- Variant of ! (exclamation mark)} +\subsection{\textSourceText{cv75} – Variant of ! (exclamation mark)}\index{cv75|textbf} 1=\cvd{75}{!} (\textit{punctus exclamativus}). \subsection{\textSourceText{cv76} --- Variants of ? (question mark)} +– Variants of ? (question mark)}\index{cv76|textbf} 1=\cvd{76}{?}, 2=\cvd[1]{76}{?}, 3=\cvd[2]{76}{?}. Shapes of the \textit{punctus interrogativus}. \subsection{\textSourceText{cv77} --- Variant of \~{} (ASCII tilde)} -1=\cvd{77}{\~{}} (same as MUFI \unic{U+F1F9}, ``wavy line''). +– Variant of \~{} (ASCII tilde)}\index{cv77|textbf} +1=\cvd{77}{\~{}} (same as MUFI \unic{U+F1F9}, “wavy line”). -\subsection{\textSourceText{cv78} -- -Variant of * (asterisk)} +\subsection{\textSourceText{cv78} – +Variant of * (asterisk)}\index{cv78|textbf} 1=\cvd{78}{*}. MUFI defines \unic{U+F1EC} as a \textit{signe de renvoi}. Manuscripts employ a number of shapes (of which this is one) for -this purpose. Junicode defines it as a variant of the asterisk---the most common modern \textit{signe de renvoi}. +this purpose. Junicode defines it as a variant of the asterisk—the most common modern \textit{signe de renvoi}. -\subsection{\textSourceText{cv7}\textSourceText{9} -- Variants of / (slash)} +\subsection{\textSourceText{cv79} – Variants of / (slash)}\index{cv79|textbf} 1=\cvd{79}{/}, 2=\cvd[1]{79}{/}. The first of these is Unicode, \unic{U+2E4E}. \section{Spacing Abbreviations} -\subsection{\textSourceText{cv80} -- Variant of ꝝ (\unic{U+A75D}, rum -abbreviation)} +\subsection{\textSourceText{cv80} – Variant of ꝝ (\unic{U+A75D}, rum +abbreviation)}\index{cv80|textbf} 1=\cvd{80}{ꝝ}. -\subsection{\textSourceText{cv82} -- Variants of spacing ꝰ (\unic{U+A770})} +\subsection{\textSourceText{cv82} – Variants of spacing ꝰ (\unic{U+A770})}\index{cv82|textbf} 1=\cvd{82}{ꝰ}, 2=\cvd[1]{82}{ꝰ}. \textSourceText{cv82[1]} produces the baseline \textit{{}-us} abbreviation (same as MUFI \unic{U+F1A6}). MUFI also has an uppercase baseline \textit{{}-us} abbreviation (\unic{U+F1A5}), but as there is no uppercase version of \unic{U+A770} to pair it with, it is indexed separately here. -\subsection{\textSourceText{cv83} -- Variants of ꝫ (\unic{U+A76B}, ``et'' abbreviation)} +\subsection{\textSourceText{cv83} – Variants of ꝫ (\unic{U+A76B}, “et” abbreviation)}\index{cv83|textbf} 1=\cvd{83}{ꝫ}, 2=\cvd[1]{83}{ꝫ}, 3=\cvd[2]{83}{ꝫ}. \textSourceText{[1]} and \textSourceText{[3]} are identical in shape to a semicolon and a colon, but as they are semantically the same as \unic{U+A76B}, it is preferable to use those characters with this feature. \textSourceText{[2]} produces a subscript version of the character, a common variant in early printed books. -\subsection{\textSourceText{cv67} -- Spacing zigzag (variant of \unic{U+00AF}, spacing macron)} +\subsection{\textSourceText{cv67} – Spacing zigzag (variant of \unic{U+00AF}, spacing macron)}\index{cv67|textbf} A spacing version of ◌͛ (\unic{U+035B}, combining zigzag) appears in John Hutchins, \textit{The History and Antiquities of the County of Dorset} (London, 1774). It is not in Unicode or MUFI. In the future this feature may be used, as necessary, for other spacing marks of abbreviation. -\section{Combining Marks} -\subsection{\textSourceText{cv84} -- MUFI combining marks (variants of \unic{U+0304})}\hypertarget{cv84}{} +\section{Combining Marks}\index{cv84|textbf} +\subsection{\textSourceText{cv84} – MUFI combining marks (variants of \unic{U+0304})}\hypertarget{cv84}{} MUFI encodes a number of combining marks in the PUA (with code points between \unic{E000} and \unic{F8FF}), but when these characters are entered directly, they can interfere with searching and accessibility, and some important applications fail to position them correctly over their base characters. To avoid these problems, enter \unic{U+0304} (◌̄, \textUName{combining macron}) and apply \textSourceText{cv84}, with the appropriate index, to both mark and base character. This -collection of marks does not include any Unicode-encoded marks (from the ``Combining Diacritical Marks'' ranges), as +collection of marks does not include any Unicode-encoded marks (from the “Combining Diacritical Marks” ranges), as these can safely be entered directly. It does include three marks (\textSourceText{cv84[30]}, \textSourceText{[31]} and \textSourceText{[32]}) that lack MUFI code points but are used to form MUFI characters, and three more (\textSourceText{[2]}, \textSourceText{[33]}, @@ -1226,11 +1235,11 @@ These marks can sometimes be produced by other \textSourceText{cvNN} features, w \textSourceText{cv84} as providing more suitable fallbacks for applications that do not support Character Variant (\textSourceText{cvNN}) features. -For some marks with PUA code points, users may find it easier to use \hyperlink{ss10}{entities} than this feature. +For some marks with PUA code points, users may find it easier to use \hyperlink{ss10}{entities}\index{ss10} than this feature. These marks are not affected by most other features. This is to preserve flexibility, given the rule that the feature that produces them must be applied to both the mark and the base character. For example, if you had to -apply \textSourceText{smcp} ``Small Caps'' to \textSourceText{U+1DE8} ◌͏ᷨ to get +apply \textSourceText{smcp}\index{smcp} “Small Caps” to \textSourceText{U+1DE8} ◌͏ᷨ to get \textSourceText{cv84[11]} \cvd[10]{84}{◌͏̄}, it would be impossible to produce the sequence \textex{\cvd[10]{84}{na͏{\char"34F\char"304}a}} (or the reverse case \textex{\textsc{na{\char"1DE8}a}}) @@ -1310,25 +1319,25 @@ with the diacritic properly positioned. 36\hfill=\hfill\cvd[34]{84}{◌͏̄} 37\hfill=\hfill\cvd[34]{84}{◌͏̄} -\end{multicols} +\end{multicols}\index{cv84} -\subsection{\textSourceText{cv81} -- Variants of ◌͛ (\unic{U+035B}, combining -zigzag above)} +\subsection{\textSourceText{cv81} – Variants of ◌͛ (\unic{U+035B}, combining +zigzag above)}\index{cv81|textbf} 1=\cvd{81}{◌͛}, 2=\cvd[1]{81}{◌͛}, 3=\cvd[2]{81}{◌͛}. Positioning of the zigzag can differ from that of other combining -marks, e.g. \textex{b͛ f͛ d͛}. If \textSourceText{calt} ``Contextual Alternates'' is enabled (as it is by +marks, e.g. \textex{b͛ f͛ d͛}. If \textSourceText{calt}\index{calt} “Contextual Alternates” is enabled (as it is by default in most apps), variant forms of \textSourceText{cv81[2]} will be used with several letters, e.g. -\textex{\cvd[1]{81}{d͛ \ f͛ \ k͛}}. Enable \textSourceText{case} for forms that harmonize with capitals +\textex{\cvd[1]{81}{d͛ \ f͛ \ k͛}}. Enable \textSourceText{case}\index{case} for forms that harmonize with capitals (\textex{\addfontfeature{Letters=Uppercase}\cvd[1]{81}{A͛ B͛ C͛ D͛}}), -\textSourceText{smcp} for forms that harmonize with small caps +\textSourceText{smcp}\index{smcp} for forms that harmonize with small caps (\textex{\textsc{\cvd[1]{81}{e͛ f͛ g͛ h͛}}}). -\subsection{\textSourceText{ss10} -- Character Entities for Combining Marks}\hypertarget{ss10}{} +\subsection{\textSourceText{ss10} – Character Entities for Combining Marks}\hypertarget{ss10}{}\index{ss10|textbf} Instead of \textSourceText{\hyperlink{cv84}{cv84}} for representing non-Unicode combining marks, some users may wish to use XML/HTML-style entities. When \textSourceText{ss10} is turned on (preferably for the entire text), these entities appear as combining marks and are correctly positioned over base characters. For example, the letter \textex{e} followed by \textex{\&{\textcompwordmark}\_eogo;} will yield \textex{e\&\_eogo;}. An advantage of entities is that -they are (unlike the PUA code points or the indexes of \textSourceText{cv84}) mnemonic and thus easy to use. +they are (unlike the PUA code points or the indexes of \textSourceText{cv84})\index{cv84} mnemonic and thus easy to use. A disadvantage is that searches cannot ignore combining marks entered by this method as they can using the \textSourceText{cv84} method. (Every method of entering non-Unicode combining marks has disadvantages: users should weigh these, choose a method, @@ -1369,11 +1378,11 @@ attention to them, since they will likely have their own method of representing \&\_{\textcompwordmark}ksc;\hfill→\hfill\textstyleEntityRef{◌\&\_ksc;} -{\narrow\&\_{\textcompwordmark}munc;\hfill→\hfill\cvd[18]{84}{◌\char"0304}} +{\jCond\&\_{\textcompwordmark}munc;\hfill→\hfill\cvd[18]{84}{◌\char"0304}} \&\_{\textcompwordmark}oogo;\hfill→\hfill\cvd[20]{84}{◌\char"0304} -{\narrow\&\_{\textcompwordmark}oslash;\hfill→\hfill\cvd[21]{84}{◌\char"0304}} +{\jCond\&\_{\textcompwordmark}oslash;\hfill→\hfill\cvd[21]{84}{◌\char"0304}} \&\_{\textcompwordmark}omac;\hfill→\hfill\cvd{84}{◌\char"0304} @@ -1391,13 +1400,14 @@ attention to them, since they will likely have their own method of representing \&\_{\textcompwordmark}y;\hfill→\hfill\textstyleEntityRef{◌\&\_y;} -{\narrow\&\_{\textcompwordmark}thorn;\hfill→\hfill\textstyleEntityRef{◌\&\_thorn;}} +{\jCond\&\_{\textcompwordmark}thorn;\hfill→\hfill\textstyleEntityRef{◌\&\_thorn;}} \end{multicols} -\noindent For another function of Stylistic Set 10, see \hyperlink{tagchapter}{Chapter 6, Entering Characters with Tags}. +\noindent For another function of Stylistic Set 10,\index{ss10} see +\hyperlink{tagchapter}{Chapter 6, Entering Characters with Tags}. -\subsection{\textSourceText{ss20} -- Low Diacritics} -The MUFI recommendation includes a number of precomposed characters with base letters +\subsection{\textSourceText{ss20} – Low Diacritics} +The\index{ss20|textbf} MUFI recommendation includes a number of precomposed characters with base letters {\addfontfeature{Language=Icelandic}b, h, k, {\th}, ꝺ and {\dh}} and a number of combining marks. Instead of being positioned above ascender height as usual (e.g. \textex{hͣ}), the MUFI glyphs have the marks positioned above the x-height @@ -1411,17 +1421,17 @@ the other base characters). Examples: feature: \begin{multicols}{3} - \seminarrow\color{BrickRed}◌ͣ (\unic{U+0363}) + \jSmCond\color{BrickRed}◌ͣ (\unic{U+0363}) ◌ᷓ (\unic{U+1DD3}) ◌ͤ (\unic{U+0364}) - \cvd[14]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[15]}) + \cvd[14]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[15]})\index{cv84} ◌ᷞ (\unic{U+1DDE}) - \cvd[18]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[19]}). + \cvd[18]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[19]})\index{cv84}. ◌ͦ (\unic{U+0366}) @@ -1453,34 +1463,34 @@ relevant base+diacritic pairs (e.g. via a style in InDesign or a word processor -\subsection{\textSourceText{cv85} -- Variant of ◌ᷓ (U+1DD3, combining open a)} -1=\cvd{85}{◌ᷓ}. +\subsection{\textSourceText{cv85} – Variant of ◌ᷓ (U+1DD3, combining open a)} +1=\cvd{85}{◌ᷓ}.\index{cv85|textbf} -\subsection{\textSourceText{cv86} -- Variant of ◌ᷘ (\unic{U+1DD8}, combining insular +\subsection{\textSourceText{cv86} – Variant of ◌ᷘ (\unic{U+1DD8}, combining insular d)} -1=\cvd{86}{◌ᷘ}. +1=\cvd{86}{◌ᷘ}.\index{cv86|textbf} -\subsection{\textSourceText{cv87} -- Variant of ◌ᷣ (\unic{U+1DE3}, combining r rotunda)} -1=\cvd{87}{◌ᷣ}. +\subsection{\textSourceText{cv87} – Variant of ◌ᷣ (\unic{U+1DE3}, combining r rotunda)} +1=\cvd{87}{◌ᷣ}.\index{cv87|textbf} -\subsection{\textSourceText{cv8}\textSourceText{8} -- Variant of combining dieresis (\unic{U+0308})} +\subsection{\textSourceText{cv88} – Variant of combining dieresis (\unic{U+0308})}\index{cv88|textbf} 1=\cvd{88}{◌̈}. This also affects precomposed characters on which this variant dieresis may occur, e.g. \textex{\cvd{88}{\"a}}. -\subsection{\textSourceText{cv89} -- Variant of ◌̅ (\unic{U+0305}, -combining overline)} +\subsection{\textSourceText{cv89} – Variant of ◌̅ (\unic{U+0305}, +combining overline)}\index{cv89|textbf} 1=\cvd{89}{◌̅}. -\subsection{\textSourceText{cv}\textSourceText{90} -- Variants of ◌͞◌ (\unic{U+035E}, combining double macron)} +\subsection{\textSourceText{cv}\textSourceText{90} – Variants of ◌͞◌ (\unic{U+035E}, combining double macron)}\index{cv90|textbf} 1=\cvd{90}{◌͞◌}, 2=\cvd[1]{90}{◌͞◌}. -\subsection{\textSourceText{cv92} -- Variant of combining breve below (\unic{U+032E})} +\subsection{\textSourceText{cv92} – Variant of combining breve below (\unic{U+032E})}\index{cv92|textbf} 1=\cvd{92}{◌◌̮◌}. Position the mark after the middle of three glyphs, and apply \textSourceText{cv92} to both the mark and (at least) the middle glyph. This mark is not available via \textSourceText{cv84}. \section{Currency and Weights} -\subsection{\textSourceText{cv93} -- Variants of {\textcurrency} (\unic{U+0044}, generic -currency sign)} +\subsection{\textSourceText{cv93} – Variants of {\textcurrency} (\unic{U+0044}, generic +currency sign)}\index{cv93|textbf} \begin{multicols}{6} \color{RViolet}1\hfill=\hfill\cvd{93}{\textcurrency} @@ -1536,30 +1546,30 @@ currency sign)} 26\hfill=\hfill\cvd[25]{93}{\textcurrency} 27\hfill=\hfill\cvd[26]{93}{\textcurrency} -\end{multicols} +\end{multicols}\index{cv93|textbf} \noindent All of MUFI’s currency and weight symbols (those that do not have Unicode code points) are gathered here, but some are also variants of other currency signs (see below). -\subsection{\textSourceText{cv9}\textSourceText{4} -- Variant of ℔ (\unic{U+2114})} +\subsection{\textSourceText{cv94} – Variant of ℔ (\unic{U+2114})}\index{cv94|textbf} 1=\cvd{94}{℔}. Same as MUFI \unic{U+F2EB} (French Libra sign). -\subsection{\textSourceText{cv95} -- Variants of {\pounds} (\unic{U+00A3}, British pound sign)} +\subsection{\textSourceText{cv95} – Variants of {\pounds} (\unic{U+00A3}, British pound sign)}\index{cv95|textbf} 1=\cvd{95}{\pounds}, 2=\cvd[1]{95}{\pounds}, 3=\cvd[2]{95}{\pounds}, 4=\cvd[3]{95}{\pounds}, 5=\cvd[4]{95}{\pounds}, 6=\cvd[5]{95}{\pounds}. Same as MUFI \unic{U+F2EA, F2EB, F2EC, F2ED, F2EE, F2EF}, pound signs from various locales. -\subsection{\textSourceText{cv96} -- Variant of ₰ (\unic{U+20B0}, German penny sign)} +\subsection{\textSourceText{cv96} – Variant of ₰ (\unic{U+20B0}, German penny sign)}\index{cv96|textbf} 1=\cvd{96}{₰}. Same as MUFI \unic{U+F2F5}. -\subsection{\textSourceText{cv97} -- Variant of ƒ (\unic{U+0192}, florin)} +\subsection{\textSourceText{cv97} – Variant of ƒ (\unic{U+0192}, florin)}\index{cv97|textbf} 1=\cvd{97}{ƒ}. Same as MUFI \unic{U+F2E8}. -\subsection{\textSourceText{cv98} -- Variant of ℥ (\unic{U+2125}, Ounce sign)} +\subsection{\textSourceText{cv98} – Variant of ℥ (\unic{U+2125}, Ounce sign)}\index{cv98|textbf} 1=\cvd{98}{℥}. Same as MUFI \unic{U+F2FD}, Script ounce sign. \section{Ornaments} -\subsection{\textSourceText{ornm} -- Ornaments}\hypertarget{ornm}{} +\subsection{\textSourceText{ornm} – Ornaments}\hypertarget{ornm}{}\index{ornm|textbf} Produces ornaments (fleurons) in either of two ways: as an indexed variant of the bullet character (\unic{U+2022}) or as variants of a-z, A-C: @@ -1625,7 +1635,7 @@ C, 29{\tabto{4em}}\ornm{C} \noindent The method with letters of the alphabet is easier, but the method with bullets will produce a more satisfactory result when text is displayed in an environment where Junicode is not available or \textSourceText{ornm} is not -implemented. +implemented.\index{ornm|textbf} \subsection{Lady Junicode} Lady Junicode cannot be produced by an OpenType feature, believing that it would be vulgar to make herself so accessible. She has, indeed, @@ -1636,9 +1646,10 @@ Private Use Area. She has, however, given permission to publish her miniature: \end{center} If you encounter her while adventuring in her domains, greet her respectfully, and she will welcome you graciously. -\section{Required Features}\hypertarget{req}{} -Required features, which provide some of the font’s most basic functionality---ligatures, support for -other features, kerning, and more---include \textSourceText{ccmp} (Glyph Composition/Decomposition), +\section{Required Features}\hypertarget{req}{}\index{ccmp|textbf}\index{calt|textbf}\index{liga|textbf}% +\index{loca|textbf}\index{rlig|textbf}\index{kern|textbf}\index{mark|textbf}\index{mkmk|textbf} +Required features, which provide some of the font’s most basic functionality—ligatures, support for +other features, kerning, and more—include \textSourceText{ccmp} (Glyph Composition/Decomposition), \textSourceText{calt} (Contextual Alternates), \textSourceText{liga} (Standard Ligatures), \textSourceText{loca} (Localized Forms), \textSourceText{rlig} (Required Ligatures), \textSourceText{kern} (Horizontal Kerning), and \textSourceText{mark}/\textSourceText{mkmk} (Mark diff --git a/fonts/junicodevf/doc/GettingStarted.tex b/fonts/junicodevf/doc/GettingStarted.tex index ca984d3e34..7120a474f4 100644 --- a/fonts/junicodevf/doc/GettingStarted.tex +++ b/fonts/junicodevf/doc/GettingStarted.tex @@ -59,7 +59,7 @@ Sketch, and CorelDRAW. The static version of Junicode has five weights and five widths, which are combined in many ways for a total of nineteen styles in both roman and italic.\footnote{Several of the twenty-five possible combinations -(e.g. {\lightexp light expanded}) +(e.g. {\jExpLight light expanded}) have been omitted as unlikely to be useful; however, these can be accessed via the variable font.} It is not necessary to install all of these; in fact, your life will be simplified (font menus easier to navigate) if you @@ -167,8 +167,8 @@ Programs like Word will automatically set the language to the default for your s change to a language other than your own for a passage (or even a single word), you should set the language for that passage appropriately. This will unlock a number of capabilities. For example, in Old and Middle English, Word and -other programs will use the English form of thorn and eth ({\eng þð}) instead of -the modern Icelandic ({\icel þð}), and in ancient +other programs will use the English form of thorn and eth ({\addfontfeature{Language=English} þð}) instead of +the modern Icelandic ({\addfontfeature{Language=Icelandic} þð}), and in ancient Greek you will be able to type accents after vowels instead of looking up the codes for hundreds of polytonic vowel + accent combinations. But these and other capabilities are only available when you set the language correctly. diff --git a/fonts/junicodevf/doc/JunicodeManual.pdf b/fonts/junicodevf/doc/JunicodeManual.pdf index 62f94f2354..952fcabed3 100644 Binary files a/fonts/junicodevf/doc/JunicodeManual.pdf and b/fonts/junicodevf/doc/JunicodeManual.pdf differ diff --git a/fonts/junicodevf/doc/JunicodeManual.sty b/fonts/junicodevf/doc/JunicodeManual.sty index 7c5ba43628..2c9d4517ef 100644 --- a/fonts/junicodevf/doc/JunicodeManual.sty +++ b/fonts/junicodevf/doc/JunicodeManual.sty @@ -1,248 +1,60 @@ \ProvidesPackage{JunicodeManual} \usepackage{microtype} + +\usepackage[ + MainFeatures={ + StylisticSet={9,10} + }, + MainRegularSizeFeatures={ + {size=8.6,wght=550,wdth=120}, + {size=10.99,wght=475,wdth=115}, + {size=21.59,wght=400,wdth=112.5}, + {size=21.59,wght=351,wdth=100} + }, + MainItalicSizeFeatures={ + {size=8.6,wght=550,wdth=118}, + {size=10.99,wght=475,wdth=114}, + {size=21.59,wght=450,wdth=111}, + {size=21.59,wght=372,wdth=98} + }, + MainBoldSizeFeatures={ + {size=8.6,wght=700,wdth=120}, + {size=10.99,wght=700,wdth=115}, + {size=21.59,wght=650,wdth=112.5}, + {size=21.59,wght=600,wdth=100} + }, + MainBoldItalicSizeFeatures={ + {size=8.6,wght=700,wdth=118}, + {size=10.99,wght=700,wdth=114}, + {size=21.59,wght=650,wdth=111}, + {size=21.59,wght=600,wdth=98} + }, + CondSizeFeatures={ + {size=8.5,wght=420,wdth=75}, + {size=11,wght=400,wdth=75}, + {size=22,wght=350,wdth=75}, + {size=22,wght=345,wdth=75} + } +]{junicodevf} +\setfontface\samplefootnote{JunicodeVF}[ + Renderer = HarfBuzz, + SizeFeatures = {{Size={5-}, RawFeature={axis={wght=490,wdth=115}}}}, +] +\setfontface\sampleheader{JunicodeVF}[ + Renderer = HarfBuzz, + SizeFeatures = {{Size={5-}, RawFeature={axis={wght=350,wdth=95}}}} +] +\setmonofont{Fira Mono}[Scale=MatchLowercase,Numbers=Lowercase] +\setsansfont{Fira Sans}[Scale=MatchLowercase,Numbers=Lowercase] + +\usepackage{imakeidx} +\usepackage{idxlayout} +%\renewcommand{\indexname}{Index of OpenType Features} +\makeindex[title=Index of OpenType Features,intoc] + \usepackage{fancyhdr} -%\usepackage[english,greek,lithuanian,polish,latin]{babel} -\usepackage[quiet]{fontspec} -%\setmainfont{Junicode}[ -% UprightFont = {*-Regular}, -% ItalicFont = {*-Italic}, -% BoldFont = {*-Smbold}, -% BoldItalicFont = {*-Bold Italic}, -% Numbers={Lowercase,Proportional}, -% RawFeature={mode=harf}, -% StylisticSet=10, -% UprightFeatures={ -% SizeFeatures={ -% {Size={-8.5}, Font={*-SmExp Medium}}, -% {Size={8.6-10.99}, Font=*-Medium}, -% {Size={11-21.59}, Font=*-Regular}, -% {Size={21.6-}, Font=*-Light} -% }, -% }, -% ItalicFeatures={ -% SizeFeatures={ -% {Size={-7.5}, Font={*-SmExp Medium Italic}}, -% {Size={7.6-10.99}, Font={*-Medium Italic}}, -% {Size={11-21.59}, Font=*-Italic}, -% {Size={21.6-}, Font={*-Light Italic}} -% }, -% }, -% BoldFeatures={ -% SizeFeatures={ -% {Size={-8.5}, Font={*-SmExp Bold}}, -% {Size={8.6-10.99}, Font=*-Bold}, -% {Size={11-21.59}, Font=*-Smbold}, -% {Size={21.6-}, Font=*-Medium} -% }, -% }, -% BoldItalicFeatures={ -% SizeFeatures={ -% {Size={-7.5}, Font={*-SmExp Bold Italic}}, -% {Size={7.6-10.99}, Font={*-Bold Italic}}, -% {Size={11-21.59}, Font={*-Smbold Italic}}, -% {Size={21.6-}, Font={*-Medium Italic}} -% }, -% }, -%] -\setmainfont{JunicodeVF-Roman.ttf}[ - ItalicFont = JunicodeVF-Italic.ttf, - BoldFont = JunicodeVF-Roman.ttf, - BoldItalicFont = JunicodeVF-Italic.ttf, - Contextuals=Alternate, - StylisticSet=10, - Renderer=HarfBuzz, - %RawFeature={mode=harf}, - UprightFeatures={ - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=120}}}, - {Size={8.6-10.99}, RawFeature={axis={wght=475,wdth=115}}}, - {Size={11-21.59}, RawFeature={axis={wght=400,wdth=112.5}}}, - {Size={21.6-}, RawFeature={axis={wght=351,wdth=100}}} - }, - }, - ItalicFeatures={ - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=118}}}, - {Size={8.6-10.99}, RawFeature={axis={wght=475,wdth=114}}}, - {Size={11-21.59}, RawFeature={axis={wght=450,wdth=111}}}, - {Size={21.6-}, RawFeature={axis={wght=372,wdth=98}}} - }, - }, - BoldFeatures={ - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=700,wdth=120}}}, - {Size={8.6-10.99}, RawFeature={axis={wght=700,wdth=115}}}, - {Size={11-21.59}, RawFeature={axis={wght=650,wdth=112.5}}}, - {Size={21.6-}, RawFeature={axis={wght=600,wdth=100}}} - }, - }, - BoldItalicFeatures={ - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=700,wdth=118}}}, - {Size={8.6-10.99}, RawFeature={axis={wght=700,wdth=114}}}, - {Size={11-21.59}, RawFeature={axis={wght=650,wdth=111}}}, - {Size={21.6-}, RawFeature={axis={wght=600,wdth=98}}} - }, - }, -] -%\newfontface\regular{Junicode} -\setfontface\regular{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={8.5-11}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={22-}, RawFeature={axis={wght=400,wdth=100}}} - }, -] -\setfontface\enlarged{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=400,wdth=100,ENLA=32}}}, - {Size={8.5-11}, RawFeature={axis={wght=400,wdth=100,ENLA=32}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=100,ENLA=32}}}, - {Size={22-}, RawFeature={axis={wght=400,wdth=100,ENLA=32}}} - }, -] -\setfontface\enlargedx{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=400,wdth=100,ENLA=47}}}, - {Size={8.5-11}, RawFeature={axis={wght=400,wdth=100,ENLA=47}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=100,ENLA=47}}}, - {Size={22-}, RawFeature={axis={wght=400,wdth=100,ENLA=47}}} - }, -] -%\newfontface\narrow{Junicode Cond} -\setfontface\narrow{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=75}}}, - {Size={8.5-11}, RawFeature={axis={wght=475,wdth=75}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=75}}}, - {Size={22-}, RawFeature={axis={wght=353,wdth=75}}} - }, -] -%\newfontface\seminarrow{Junicode SmCond} -\setfontface\seminarrow{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=87.5}}}, - {Size={8.5-11}, RawFeature={axis={wght=475,wdth=87.5}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=87.5}}}, - {Size={22-}, RawFeature={axis={wght=354,wdth=87.5}}} - }, -] -%\newfontface\seminarrowlight{Junicode SmCond Light} -\setfontface\seminarrowlight{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=355,wdth=87.5}}}, - {Size={8.5-11}, RawFeature={axis={wght=325,wdth=87.5}}}, - {Size={11-22}, RawFeature={axis={wght=301,wdth=87.5}}}, - {Size={22-}, RawFeature={axis={wght=301,wdth=87.5}}} - }, -] -%\newfontface\semiwide{Junicode SmExp} -\setfontface\semiwide{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=112.5}}}, - {Size={8.5-11}, RawFeature={axis={wght=475,wdth=112.5}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=112.5}}}, - {Size={22-}, RawFeature={axis={wght=356,wdth=112.5}}} - }, -] -%\newfontface\wide{Junicode Exp} -\setfontface\wide{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=125}}}, - {Size={8.5-11}, RawFeature={axis={wght=475,wdth=125}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=125}}}, - {Size={22-}, RawFeature={axis={wght=357,wdth=125}}} - }, -] -%\newfontface\light{Junicode Light} -\setfontface\light{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=358,wdth=120}}}, - {Size={8.5-11}, RawFeature={axis={wght=325,wdth=115}}}, - {Size={11-22}, RawFeature={axis={wght=301,wdth=112.5}}}, - {Size={22-}, RawFeature={axis={wght=301,wdth=100}}} - }, -] -\setfontface\lightexp{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=300,wdth=125}}}, - {Size={8.5-11}, RawFeature={axis={wght=300,wdth=125}}}, - {Size={11-22}, RawFeature={axis={wght=300,wdth=125}}}, - {Size={22-}, RawFeature={axis={wght=300,wdth=125}}} - }, -] -%\newfontface\medium{Junicode SmExp Medium} -\setfontface\medium{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=120}}}, - {Size={8.5-11}, RawFeature={axis={wght=525,wdth=115}}}, - {Size={11-22}, RawFeature={axis={wght=500,wdth=112.5}}}, - {Size={22-}, RawFeature={axis={wght=500,wdth=100}}} - }, -] -%\newfontface\semicondmedium{Junicode SmCond Medium} -\setfontface\semicondmedium{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=87.5}}}, - {Size={8.5-11}, RawFeature={axis={wght=525,wdth=87.5}}}, - {Size={11-22}, RawFeature={axis={wght=500,wdth=87.5}}}, - {Size={22-}, RawFeature={axis={wght=500,wdth=87.5}}} - }, -] -%\newfontface\condmed{Junicode Cond Medium} -\setfontface\condmed{JunicodeVF-Roman.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=75}}}, - {Size={8.5-11}, RawFeature={axis={wght=525,wdth=75}}}, - {Size={11-22}, RawFeature={axis={wght=500,wdth=75}}}, - {Size={22-}, RawFeature={axis={wght=500,wdth=75}}} - }, -] -%\newfontface\stditalic{Junicode Italic} -\setfontface\stditalic{JunicodeVF-Italic .ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={8.5-11}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={22-}, RawFeature={axis={wght=400,wdth=100}}} - }, -] -%\newfontface\semiconditalic{Junicode SmCond Italic} -\setfontface\semiconditalic{JunicodeVF-Italic.ttf}[ - RawFeature={mode=harf}, - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=550,wdth=100}}}, - {Size={8.5-11}, RawFeature={axis={wght=475,wdth=100}}}, - {Size={11-22}, RawFeature={axis={wght=400,wdth=100}}}, - {Size={22-}, RawFeature={axis={wght=301,wdth=100}}} - }, -] -\setmonofont{SourceCodePro-Regular.ttf}[Scale=MatchLowercase,Numbers=Lowercase] -%\setmonofont{SourceCodeVariable-Roman.otf}[ -% Scale = MatchLowercase, -% Numbers = Lowercase, -% SizeFeatures={ -% {Size={-8}, RawFeature={axis={wght=500}}}, -% {Size={8-11}, RawFeature={axis={wght=450}}}, -% {Size={11-}, RawFeature={axis={wght=400}}} -% } -%] +\usepackage{realscripts} \usepackage{graphicx} \usepackage[table,dvipsnames]{xcolor} \definecolor{BrickRed}{RGB}{146,18,6} @@ -256,6 +68,7 @@ \definecolor{myLightBlue}{RGB}{203,228,249} \definecolor{myLightGreen}{RGB}{234,255,244} \definecolor{myLightPurple}{RGB}{214,205,234} +\definecolor{GunMetalGray}{RGB}{42,52,57} \usepackage{multicol} \usepackage{array} \usepackage{tabto} @@ -271,16 +84,10 @@ \makeatother % Text styles \linespread{1.1} -\newopentypefeature{MyStyle}{insular}{+ss02} -\newopentypefeature{MyStyle}{altogonek}{+cv62} \newopentypefeature{MyStyle}{mirrored}{+rtlm} -\newopentypefeature{MyStyle}{gothic}{+ss19} -\newopentypefeature{MyStyle}{contextualr}{+ss16} -\newopentypefeature{MyStyle}{contextuals}{+ss08} \newopentypefeature{MyStyle}{IPA}{+ss03} \newopentypefeature{MyStyle}{thornswap}{+ss01} \newopentypefeature{MyStyle}{noentities}{-ss10} -%\newopentypefeature{Ligatures}{histon}{+hlig} \newopentypefeature{Ligatures}{histoff}{-hlig} \newcommand{\noent}[1]{{\addfontfeature{MyStyle=noentities}#1}} \newcommand\textex[1]{\textrm{\textbf{\color{BrickRed}#1}}} @@ -298,15 +105,13 @@ \newcommand{\otab}[1]{{\addfontfeature{Numbers={Lowercase,Monospaced}}#1}} \newcommand{\ltab}[1]{{\addfontfeature{Numbers={Uppercase,Monospaced}}#1}} \newcommand{\ornm}[2][0]{{\addfontfeature{Ornament=#1}#2}} -\newcommand{\revthorn}[1]{{\addfontfeature{StylisticSet=1}#1}} -\newcommand{\grk}{\addfontfeature{Script=Greek,Language=Greek}} -\newcommand{\eng}{\addfontfeature{Language=English}} -\newcommand{\icel}{\addfontfeature{Language=Icelandic}} \newcommand{\unic}[1]{{\addfontfeature{Numbers={Uppercase,Monospaced}}#1}} -\newcommand{\colongs}{\addfontfeature{Language=English,StylisticSet=8}} -%\newcommand{\enla}[1]{{\addfontfeature{StylisticSet=6}#1}} -\newcommand{\enla}[1]{{\enlarged#1}} -\newcommand{\enlax}[1]{{\enlargedx#1}} +\newcommand{\src}[1]{{\color{BrickRed}\texttt{#1}}} +%\newcommand{\src}[1]{#1} +\newcommand{\option}[1]{{\color{RViolet}\sffamily#1}} +%\newcommand{\option}[1]{#1} +\newcommand{\enla}[1]{{\EnlargedOne#1}} +\newcommand{\enlax}[1]{{\EnlargedTwo#1}} \newcommand{\ltech}{Lua\kern-1.5pt\TeX} \newcommand{\restag}[1]{{\addfontfeature{StylisticSet=10}#1}} \newcommand{\mufi}{\rowcolor{myLightGreen}} @@ -316,10 +121,8 @@ \newcommand{\bluerow}{\rowcolor{myLightBlue}} \newcommand{\nuni}{\rowcolor{myLightRed}} \newcommand{\ctosc}[1]{{\addfontfeature{Letters=UppercaseSmallCaps}#1}} -\newcommand{\charvar}{\textSourceText{cvNN}} \newcommand{\secletter}[1]{\textbf{#1}} -% Outline numbering -%\setcounter{secnumdepth}{0} +\newcommand{\fspec}{{\sffamily fontspec}} \makeatletter \newcommand\arraybslash{\let\\\@arraycr} \makeatother @@ -350,12 +153,9 @@ \setlength\tabcolsep{1mm} \renewcommand\arraystretch{1.3} % Headers -%\usepackage{sectsty} -%\subsectionfont{\color{BrickRed}} -%\sectionfont{\color{SlateGray}} \usepackage{titlesec} -\titleformat{\chapter}[hang]{\huge\seminarrowlight\color{RViolet}}{\thechapter.}{1em}{} -\titleformat{\section}[hang]{\Large\seminarrow\color{SlateGray}}{\thesection.}{1em}{} +\titleformat{\chapter}[hang]{\huge\jSmCondLight\color{RViolet}}{\thechapter.}{1em}{} +\titleformat{\section}[hang]{\Large\jSmCond\color{GunMetalGray}}{\thesection.}{1em}{} \titleformat{\subsection}[hang]{\large\color{BrickRed}}{\thesubsection.}{1em}{} % List styles \newcommand\liststyleLi{% diff --git a/fonts/junicodevf/doc/JunicodeManual.tex b/fonts/junicodevf/doc/JunicodeManual.tex index ab6c96dad1..236af06fee 100644 --- a/fonts/junicodevf/doc/JunicodeManual.tex +++ b/fonts/junicodevf/doc/JunicodeManual.tex @@ -12,8 +12,8 @@ \Huge \centering {\color{myBlue}Junicode} \\[1cm] \huge \centering the font for medievalists \\[1cm] \Huge\centering {\color{myRed}} \\[1cm] - \huge\centering {\stditalic specimens and user manual} \\[1ex] - \Large\centering{\regular for version 2.205}\\ + \huge\centering {\jItalic specimens and user manual} \\[1ex] + \Large\centering{\jRegular for version 2.206}\\ \vfill {\color{myRed}} \end{titlepage} @@ -40,12 +40,18 @@ \input{OnTheWeb.tex} +\input{in_tex.tex} + \input{encoded-glyphs.tex} +\printindex + \vspace*{\fill} \begin{center} -{\stditalic{This document was set in 12pt Junicode VF\\ +{\jItalic{This document was set in 12pt Junicode VF\\ using the {\LuaLaTeX} typesetting system with fontspec for font management.\\ +The font for code is Fira Mono.\\ +The sans serif font is Fira Sans.\\ The source for the document, JunicodeManual.tex, is available at}}\\ {\color{BrickRed}https://github.com/psb1558/Junicode-font.} \end{center} diff --git a/fonts/junicodevf/doc/OFL.txt b/fonts/junicodevf/doc/OFL.txt new file mode 100644 index 0000000000..76a6e3810a --- /dev/null +++ b/fonts/junicodevf/doc/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 by Peter S. Baker (b.tarde@gmail.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/junicodevf/doc/OnTheWeb.tex b/fonts/junicodevf/doc/OnTheWeb.tex index cc8a9e36ce..a45ab5b93e 100644 --- a/fonts/junicodevf/doc/OnTheWeb.tex +++ b/fonts/junicodevf/doc/OnTheWeb.tex @@ -32,7 +32,7 @@ First the legalities. It is perfectly all right to create a modified version of Junicode via subsetting, compress it into a webfont (almost certainly in woff2 format), and host it on your web server. This is because “Junicode” is not a “Reserved Font Name” (which complicates web use of -many fonts licensed under the Open Font License). If you are nervous about the +many fonts licensed under the Open Font License). If you are nevertheless nervous about the legal requirements of the Open Font License, you can change the font name to something arbitrary with the \texttt{-‌-obfuscate-names} option of the pyftsubset program, and you can embed the Open Font License, or a @@ -108,12 +108,14 @@ want to retain in the font. All others, except for the \hyperlink{req}{Required Features}, are discarded. All of the characters referenced in these features will also be included in the output file, as long as those characters are variants of characters in your text file. For example, -the \textSourceText{smcp} (Small Caps) feature has many more small caps than there are letters +the \textSourceText{smcp}\index{smcp} (Small Caps) feature has many more small caps than there are letters of the alphabet, but most of them are not included in the subsetted font. The program's parsimony with characters keeps the font file as small as possible. -Note that some features are included automatically: \textSourceText{ccmp}, -\textSourceText{locl}, \textSourceText{calt}, \textSourceText{liga}, \textSourceText{rlig}, -\textSourceText{kern}, \textSourceText{mark}, and \textSourceText{mkmk}. +Note that some features are included automatically: \textSourceText{ccmp}\index{ccmp}, +\textSourceText{locl}\index{locl}, \textSourceText{calt}\index{calt}, + \textSourceText{liga}\index{liga}, \textSourceText{rlig}\index{rlig}, +\textSourceText{kern}\index{kern}, \textSourceText{mark}\index{mark}, + and \textSourceText{mkmk}\index{mkmk}. \texttt{--layout-features-} tells the program which OpenType features to omit. diff --git a/fonts/junicodevf/doc/Record_Interpreter_notes.tex b/fonts/junicodevf/doc/Record_Interpreter_notes.tex index a80c4a6fb8..9d10990d1a 100644 --- a/fonts/junicodevf/doc/Record_Interpreter_notes.tex +++ b/fonts/junicodevf/doc/Record_Interpreter_notes.tex @@ -28,14 +28,15 @@ your text less accessible and less searchable. Indexing, concordance and bibliog screen readers will misinterpret it. To solve one problem (that of visual representation), you may well have introduced a host of far more serious problems. -Fortunately, Junicode offers a solution for this particular problem. The OpenType feature \textSourceText{cv63} substitutes for +Fortunately, Junicode offers a solution for this particular problem. The OpenType feature +\textSourceText{cv63}\index{cv63} substitutes for the yogh a character that \textit{looks} like the ezh but is semantically a yogh and therefore will be handled correctly by applications. But neither Junicode nor any other font can solve every problem of this kind. Sometimes you will have to call to mind the important principle stated above: \textit{A transcript is not a facsimile}. It is much more important that it should have the same \textit{meaning} as the original than that it should have the same \textit{look}. -This document concerns the transcription of texts in Latin (and to some extent, other archaic languages, e.g. Old and +This chapter concerns the transcription of texts in Latin (and to some extent, other archaic languages, e.g. Old and Middle English, Old French). It is long-standing custom, when transcribing certain kinds of documents, to retain marks of abbreviation---for example, the \textex{\hlig{\char"0A753p\char"0363}} you may find in a manuscript or printed edition representing the word \textit{propterea}. This is okay---and Junicode can help with the task. But when dealing with the @@ -44,7 +45,8 @@ correct characters for your transcription, as this will help readers who already For example, the abbreviation \textex{\hlig{\char"0A753p\char"0363}} as printed here consists of an underlying sequence of Unicode characters: \textex{\char"0A753} (\unic{U+A753}, the common abbreviation for \textit{pro}) + \textex{p} + \textex{\char"25CC\char"0363} -(\unic{U+0363}, the combining small \textit{a}). The OpenType feature \textSourceText{hlig} (Historical Ligatures) has been +(\unic{U+0363}, the combining small \textit{a}). The OpenType feature \textSourceText{hlig}\index{hlig} + (Historical Ligatures) has been applied to this sequence, changing its appearance but not its underlying value. That underlying value is intelligible to computer applications in the sense that they can recognize each character. @@ -81,7 +83,8 @@ the combining mark. It is also possible to place a combining mark over another c \textex{\cvd[32]{84}{q\char"0363\char"0304}}, enter this sequence: q (\unic{U+0071}) + \unic{U+0363} + \unic{U+0304}. Junicode 2 contains many variants of combining marks: for example the curly zigzag \cvd[1]{81}{\char"25CC\char"035B} is a variant of -Unicode's angular zigzag {\char"25CC\char"035B} (\unic{U+035B}), produced by applying the OpenType feature \textSourceText{cv81[2]} to +Unicode's angular zigzag {\char"25CC\char"035B} (\unic{U+035B}), produced by applying the OpenType feature +\textSourceText{cv81[2]}\index{cv81} to \textbf{both the base character and the combining mark}. Sometimes the combination of base + combining mark + OpenType feature will not produce the desired effect. When this happens, place \unic{U+034F} (a special invisible combining mark, included in Unicode for exactly this purpose) between the base and the (visible) mark.\\ @@ -92,11 +95,11 @@ included in Unicode for exactly this purpose) between the base and the (visible) \textit{dampna}. \end{quote} The combining macron can also be applied above superscripts and combining marks. Apply the OpenType feature -\textSourceText{cv84[33]} for a narrower macron: +\textSourceText{cv84[33]}\index{cv84} for a narrower macron: \begin{quote} \cvd[32]{84}{antiqua\char"034F\char"0304} \textit{antiquam}; \cvd[32]{84}{q\char"0363\char"0304} \textit{quam}. \end{quote} -For the superscript \textit{a}, use the OpenType feature \textSourceText{sups} (see r. below).\\[1ex] +For the superscript \textit{a}, use the OpenType feature \textSourceText{sups}\index{sups} (see r. below).\\[1ex] \noindent\secletter{b.}\ \ For a straight stroke through a tall letter, use the \textsc{combining short stroke overlay} (\unic{U+0335}): \textex{f\char"0335\ d\char"0335\ l\char"0335}. But Unicode also has precomposed versions of \textex{d}, \textex{l} and other characters \mbox{with} stroke, e.g. @@ -134,7 +137,7 @@ to apply \textSourceText{cv81[2]} to \unic{U+035B}, as here: \textit{generatio}; p\char"035B; \textit{prae}; seru\char"035Be \textit{servire}}. \end{quote} The curly form of the combining zigzag may be attached to any letter, and it may change shape depending on the letter it -is attached to (including caps, for which use the \textSourceText{case} feature, and small caps: +is attached to (including caps, for which use the \textSourceText{case}\index{case} feature, and small caps: \textex{\cvd[1]{81}{A\char"035B B\char"035B \textsc{c\char"035B d\char"035B\hspace{0.2em}}}}).\\[1ex] @@ -173,7 +176,7 @@ quib\char"0A76B\ \textit{quibus}; lic\char"0A76B\ \textit{licet}; s\char"0A76B\ \end{quote} \noindent\secletter{k.}\ \ For \textit{{}-rum} the Unicode \textsc{rum rotunda} (\unic{U+A75D}) is like the one in MUFI/Junicode. The one in the \textit{Record Interpreter} and \textit{Statutes} is a late stylized version of -this. Use \unic{U+A75D} and apply OpenType feature \textsc{\textSourceText{cv80}} to obtain the correct shape: +this. Use \unic{U+A75D} and apply OpenType feature \textsc{\textSourceText{cv80}}\index{cv80} to obtain the correct shape: \begin{quote} \cvd{80}{a\~{i}a\char"0A75D\ \textit{animarum}; co\char"0A75Dpere \textit{corrumpere}; beato\char"0A75D\ \textit{beatorum}}. @@ -203,9 +206,10 @@ former, and neither is listed among the \textit{Statutes} abbreviations): \char"0A757\ \textit{quod}; \char"0A757d \textit{quid}; \char"0A757b\char"0A76B\ \textit{quibus}. \end{quote} \noindent\secletter{q.}\ \ For \textit{quae}, \textit{que}, use \textex{q} -followed by \textsc{et} (\unic{U+A76B}) with or without \textSourceText{hlig}: \textex{q\char"0A76B} +followed by \textsc{et} (\unic{U+A76B}) with or without \textSourceText{hlig}\index{hlig}: \textex{q\char"0A76B} \textex{\hlig{q\char"0A76B}}. For the semicolon-like \textsc{et} sign (\textex{\cvd{83}{q\char"0A76B}}), use -\textSourceText{cv83[1]}; for the subscripted version (which can also form a ligature via \textSourceText{hlig}), use \textSourceText{cv83[2]}: +\textSourceText{cv83[1]}\index{cv83}; for the subscripted version (which can also form a ligature via \textSourceText{hlig}), +use \textSourceText{cv83[2]}: \textex{\cvd[1]{83}{q\char"0A76B\ \hlig{q\char"0A76B}}}.\\[1ex] \noindent\secletter{r.}\ \ All of the letters a-z are available in superscript form. Access with the \textex{sups} @@ -215,8 +219,9 @@ q\sups{o}s \textit{quos}; c\sups{i}lo \textit{circulo}; cap\sups{i} \textit{capi \end{quote} The basic Latin letters a--z have anchors that allow you to position combining marks over them (see a. above)\\[1ex] -\noindent\secletter{s.}\ \ Tironian \textsc{et} sign \char"204A\ \unic{U+204A}, cap \char"2E52\ \unic{U+2E52}. With \textSourceText{cv69[1]} \cvd{69}{\char"204A\char"2E52}; with -\textSourceText{cv69[2]} \cvd[1]{69}{\char"204A\char"2E52}.\\[1ex] +\noindent\secletter{s.}\ \ Tironian \textsc{et} sign \char"204A\ \unic{U+204A}, cap \char"2E52\ \unic{U+2E52}. +With \textSourceText{cv69[1]} \cvd{69}{\char"204A\char"2E52}; with +\textSourceText{cv69[2]}\index{cv69} \cvd[1]{69}{\char"204A\char"2E52}.\\[1ex] \noindent\secletter{t.}\ \ For \textit{est}, use \textex{\char"223B} \unic{U+223B} \textsc{homothetic}. Use of a mathematical sign for this purpose is not ideal, but Unicode offers no better solution.\\[1ex] @@ -228,7 +233,7 @@ use \textex{\textrecipe} \unic{U+211E} or \textex{\char"211F} \unic{U+211F}.\\[1 \noindent\secletter{w.}\ \ At least one edition uses a spacing version of the \textsc{combining zigzag} (\textbf{f.} above). -Neither Unicode nor MUFI has a matching character: with Junicode, apply \textSourceText{cv67} to the spacing +Neither Unicode nor MUFI has a matching character: with Junicode, apply \textSourceText{cv67}\index{cv67} to the spacing \textsc{macron} (\unic{U+00AF}): \textex{\cvd{67}{\char"25CC\char"00AF}}. \section[Other formatting]{Other formatting} @@ -252,7 +257,8 @@ body { } \end{verbatim} -\noindent But the \textSourceText{hlig} feature, if applied to the whole text, will produce many unwanted effects, so it should be +\noindent But the \textSourceText{hlig}\index{hlig} feature, if applied to the whole text, +will produce many unwanted effects, so it should be included in a class definition to be used in a applied just to the target sequence: \begin{verbatim} .que { diff --git a/fonts/junicodevf/doc/Specimens.tex b/fonts/junicodevf/doc/Specimens.tex index f5a8c220a3..3152687702 100644 --- a/fonts/junicodevf/doc/Specimens.tex +++ b/fonts/junicodevf/doc/Specimens.tex @@ -4,23 +4,23 @@ \subsection*{Old and Middle English} -{\noindent\regular\addfontfeature{Language=English}Wē æthrynon mid ūrum ārum þā ȳðan þæs dēopan wǣles; wē +{\noindent\jRegular\addfontfeature{Language=English}Wē æthrynon mid ūrum ārum þā ȳðan þæs dēopan wǣles; wē ġesāwon ēac þā muntas ymbe þǣre sealtan sǣ strande, and wē mid āðēnedum hræġle and ġesundfullum windum þǣr ġewīcodon on þām ġemǣrum þǣre fæġerestan þēode. Þā ȳðan ġetācniað þisne dēopan -cræft, and þā muntas ġetācniað ēac þā miċelnyssa þisses cræftes. (Regular)}\\ +cræft, and þā muntas ġetācniað ēac þā miċelnyssa þisses cræftes.} (Regular)\\ -\noindent{\semiwide\addfontfeature{Language=English} S{\scshape iþen} þe sege and þe assaut watz sesed at Troye,\\ +\noindent{\jSmExp\addfontfeature{Language=English} S{\scshape iþen} þe sege and þe assaut watz sesed at Troye,\\ Þe borȝ brittened and brent to brondez and askez,\\ Þe tulk þat þe trammes of tresoun þer wroȝt\\ Watz tried for his tricherie, þe trewest on erthe:\\ Hit watz Ennias þe athel, and his highe kynde,\\ Þat siþen depreced prouinces, and patrounes bicome\\ -Welneȝe of al þe wele in þe west iles. (SemiExpanded)}\\ +Welneȝe of al þe wele in þe west iles.} (SemiExpanded)\\ -\noindent{\small\semiconditalic Apply the OpenType feature ss02 (Stylistic Set 2) +\noindent{\small\jSmCondItalic Apply the OpenType feature ss02\index{ss02} (Stylistic Set 2) for insular letter-forms.}\\[1ex] -{\seminarrow\addfontfeature{StylisticSet=2,Ligatures=NoCommon,MyStyle=altogonek,Language=English} +{\jSmCond\addfontfeature{Language=English}\InsularLetterForms\jcv{\jcvEogonek} Her cynewulf benam sigebryht his rices \& westseaxna wiotan for un\-ryht\-um dędū buton hamtúnscire \& he hæfde þa oþ he ofslog þone aldormon þe hī lengest wunode \& hiene þa cynewulf on @@ -29,12 +29,12 @@ andred adræfde \& ħ þær wunade oþ þæt hine án swán ofstang oft miclum gefeohtum feaht uuiþ bretwalū.} (SemiCondensed) \subsection*{Old Irish} -{\addfontfeature{Language=Irish}{\condmed{}Fect n-oen do Ailill {\char"204A} do Meidb íar n-dergud a rígleptha dóib i +{\addfontfeature{Language=Irish}{\jCondMedium{}Fect n-oen do Ailill {\char"204A} do Meidb íar n-dergud a rígleptha dóib i Cruachanráith Chonnacht, arrecaim comrad chind-cherchailli eturru. Fírbriathar, a ingen, bar Ailill, is maith ben ben dagfir. Maith omm, bar ind ingen. Cid diatá latsu ón. Is de atá lim, bar Ailill, ar it ferr-su indiu indá in lá thucus-sa thu.} (Condensed Medium)\\[1ex] -\noindent{\small\semiconditalic For insular letter-forms, apply the OpenType feature ss02 (Stylistic Set 2), +\noindent{\small\jSmCondItalic For insular letter-forms, apply the OpenType feature ss02\index{ss02} (Stylistic Set 2), making sure the language is set to Irish.}\\[1ex] \noindent\addfontfeature{StylisticSet=2}Bamaith-se remut, ar Medb. Is maith nach cualammar {\char"204A} nach fetammar, ar Ailill, @@ -45,7 +45,7 @@ Findomain meic Findeoin meic Findguni meic Rogein Rúaid meic Rigéoin meic Blathachta meic Beothechta meic Enna Agnig meic Oengusa Turbig. Bátar aice se ingena d'ingenaib: Derbriu, Ethi {\char"204A} Éle, Clothru, Mugain, Medb, messi ba uasliu {\char"204A} ba urraitiu díb.} (Regular)\\[1ex] -\noindent{{\small\semiconditalic For a (somewhat) uncial look, try combining ss02 with smcp +\noindent{{\small\jSmCondItalic For a (somewhat) uncial look, try combining ss02 with smcp (Small Caps), adding other variants as you see fit.}\\[1ex] \noindent{\addfontfeature{StylisticSet=2,CharacterVariant={25:0,26:0},Letters=SmallCaps,Language=Irish}Bamaith-se remut, ar Medb. Is maith nach cualammar {\char"204A} nach fetammar, ar Ailill, @@ -55,29 +55,29 @@ acht m'athair i n-ardrigi hErenn .i. Eocho Feidlech mac Find meic Findomain meic Findeoin meic Findguni meic Rogein Rúaid meic Rige͏́oin meic Blathachta meic Beothechta meic Enna Agnig meic Oengusa Turbig. Ba͏́tar aice se ingena d'ingenaib: Derbriu, Ethi {\char"204A} Éle, Clothru, -Mugain, Medb, messi ba uasliu {\char"204A} ba urraitiu díb.} (Regular)\\[1ex] +Mugain, Medb, messi ba uasliu {\char"204A} ba urraitiu díb.} (Regular) \subsection*{Old Icelandic} -{\small\semiconditalic\addfontfeature{Language=English} For Nordic shapes of þ and ð in an +{\small\jSmCondItalic\addfontfeature{Language=English} For Nordic shapes of þ and ð in an English context, specify the appropriate language (e.g. Icelandic or Norwegian); -or apply the OpenType ss01 (Stylistic Set 1) feature.}\\[1ex] -{\icel\medium Um haustit sendi Mǫrðr Valgarðsson orð at Gunnarr myndi vera einn heimi, en +or apply the OpenType ss01\index{ss01} (Stylistic Set 1) feature.}\\[1ex] +{\jMedium\addfontfeature{Language=Icelandic} Um haustit sendi Mǫrðr Valgarðsson orð at Gunnarr myndi vera einn heimi, en lið alt myndi vera niðri í eyjum at lúka heyverkum. Riðu þeir Gizurr Hvíti ok Geirr Goði austr yfir ár, þegar þeir spurðu þat, ok austr yfir sanda til Hofs. Þá sendu þeir orð Starkaði undir Þríhyrningi; ok fundusk þeir þar allir er at Gunnari skyldu fara, ok réðu hversu at skyldi fara.} (SemiExpanded Medium) \subsection*{Runic} -{\small\semiconditalic\addfontfeature{Language=English} Junicode has features +{\small\jSmCondItalic\addfontfeature{Language=English} Junicode has features for automated transliteration of Latin letters into various runic systems.}\\[1ex] -{\wide ᚠᛁᛋᚳ ᚠᛚᚩᛞᚢ ᚪᚻᚩᚠ ᚩᚾ ᚠᛖᚱᚷᛖᚾᛒᛖᚱᛁᚷ ᚹᚪᚱᚦ ᚷᚪ᛬ᛇᚱᛁᚳ ᚷᚱᚩᚱᚾ ᚦᚨᚱ ᚻᛖ ᚩᚾ ᚷᚱᛖᚢᛏ ᚷᛁᛇᚹᚩᛗ +{\jExp ᚠᛁᛋᚳ ᚠᛚᚩᛞᚢ ᚪᚻᚩᚠ ᚩᚾ ᚠᛖᚱᚷᛖᚾᛒᛖᚱᛁᚷ ᚹᚪᚱᚦ ᚷᚪ᛬ᛇᚱᛁᚳ ᚷᚱᚩᚱᚾ ᚦᚨᚱ ᚻᛖ ᚩᚾ ᚷᚱᛖᚢᛏ ᚷᛁᛇᚹᚩᛗ ᚻᚱᚩᚾᚨᛇ ᛒᚪᚾ\\ ᚱᚩᛗᚹᚪᛚᚢᛇ ᚪᚾᛞ ᚱᛖᚢᛗᚹᚪᛚᚢᛇ ᛏᚹᛟᚷᛖᚾ ᚷᛁᛒᚱᚩᚦᚫᚱ ᚪᚠᛟᛞᛞᚫ ᛞᛁᚫ ᚹᚣᛚᛁᚠ ᚩᚾ ᚱᚩᛗᚫ\linebreak[0]ᚳᚫᛇᛏᛁ᛬ ᚩᚦᛚᚫ ᚢᚾᚾᛖᚷ} (Expanded) \subsection*{German} -{\narrow\addfontfeature{Language=English} Ich ſag üch aber / minen fründen / Foͤꝛchtēd üch nit voꝛ denen die den +{\jCond\addfontfeature{Language=English} Ich ſag üch aber / minen fründen / Foͤꝛchtēd üch nit voꝛ denen die den lyb toͤdend / vnd darnach nichts habennd das ſy mer thuͤgind. Ich wil üch aber zeigē voꝛ welchem ir üch \cvd[4]{12}{foͤꝛchten} ſollend. Foͤꝛchtend üch voꝛ dem / der / nach dem er toͤdet hat / ouch macht hat zewerffen inn die @@ -86,9 +86,9 @@ fünff Sparen vm̄ zween pfennig} (Condensed) \subsection*{Latin} -{\small\semiconditalic Junicode contains the most common Latin abbreviations, +{\small\jSmCondItalic Junicode contains the most common Latin abbreviations, making it suitable for diplomatic editions of Latin texts.}\\[1ex] -{\addfontfeatures{Language=Latin,MyStyle=altogonek,MyStyle=contextualr}\light Adiuuanos dſ̄ ſalutariſ noſter \& +{\jLight\ContextualRRotunda\jcv{\jcvEogonek}Adiuuanos dſ̄ ſalutariſ noſter \& ꝓpt̄ głam nominiſ tui dnē liƀanoſ· \& ꝓpitiuſ eſto peccatiſ noſtriſ ꝓpter nomen tuum· Ne forte dicant ingentib: ubi eſt dſ̄ eorum \& innoteſcat innationib: corā oculiſ nr̄iſ· Poſuerunt moſticina @@ -97,16 +97,16 @@ fünff Sparen vm̄ zween pfennig} (Condensed) \subsection*{Gothic} -{\seminarrowlight jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in galiuge stada +{\jSmCondLight jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in galiuge stada anakumbjandan, niu miþwissei is siukis wis\-an\-dins timrjada du galiugagudam gasaliþ matjan? fraqistniþ auk sa unmahteiga ana þeinamma witubnja broþar in þize Xristus gaswalt. swaþ~þan frawaurkjandans wiþra broþruns, slahandans ize gahugd siuka, du Xristau fra\-waur\-keiþ.} (SemiCondensed Light)\\ -{\noindent\small\semiconditalic Use ss19 to produce Gothic letters +{\noindent\small\jSmCondItalic Use ss19\index{ss19} to produce Gothic letters automatically from transliterated text.}\\[1ex] -{\addfontfeature{MyStyle=gothic}\bfseries jabai auk ƕas gasaiƕiþ þuk þana +{\jSmExpBold\LatinToGothic jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in ga\-liuge stada anakumbjandan, niu miþwissei is siukis wis\-an\-dins timrjada du galiugagudam gasaliþ matjan? jabai auk ƕas gasaiƕiþ þuk þana habandan kunþi in @@ -115,19 +115,19 @@ Xristau fra\-waur\-keiþ.} (SemiCondensed Light)\\ \subsection*{Sanskrit Transliteration} -\noindent{\semicondmedium mānaṁ dvividhaṁ viṣayadvai vidyātśaktyaśaktitaḥ \\ +\noindent{\jSmCondMedium mānaṁ dvividhaṁ viṣayadvai vidyātśaktyaśaktitaḥ \\ arthakriyāyāṁ keśadirnārtho ’narthādhimokṣataḥ\\[1ex] sadr̥śāsadr̥śatvācca viṣayāviṣayatvataḥ \\ śabdasyānyanimittānāṁ bhāve dhīsadasattvataḥ} (SemiCondensed Medium) \subsection*{International Phonetic Alphabet} {\addfontfeature{MyStyle=IPA,MyStyle=thornswap} -{\regular hwɑn θɑt ɑːprɪl wiθ is ʃuːrəs soːtə θə drʊxt ɔf mɑrʧ hɑθ peːrsəd toː +{\jRegular hwɑn θɑt ɑːprɪl wiθ is ʃuːrəs soːtə θə drʊxt ɔf mɑrʧ hɑθ peːrsəd toː θə roːte ɑnd bɑːðəd ɛvrɪ væɪn ɪn swɪʧ lɪkuːr ɔf hwɪʧ vɛrtɪu ɛnʤɛndrəd ɪs θə fluːr hwɑn zɛfɪrʊs eːk wɪθ hɪs sweːtə bræːθ}} (Regular) \subsection*{Greek} -{\regular\grk βίβλος +{\jRegular\addfontfeatures{Language=Greek} βίβλος γενέσεως ἰησοῦ χριστοῦ υἱοῦ δαυὶδ υἱοῦ ἀβραάμ. ἀβραὰμ @@ -145,7 +145,7 @@ sadr̥śāsadr̥śatvācca viṣayāviṣayatvataḥ \\ σαλμὼν δὲ ἐγέννησεν τὸν βόες ἐκ τῆς ῥαχά} (Regular)\\ -\noindent\textit{\grk βίβλος +\noindent{\jItalic\addfontfeatures{Language=Greek} βίβλος γενέσεως ἰησοῦ χριστοῦ υἱοῦ δαυὶδ υἱοῦ ἀβραάμ. ἀβραὰμ @@ -165,10 +165,10 @@ sadr̥śāsadr̥śatvācca viṣayāviṣayatvataḥ \\ \subsection*{Lithuanian} -{\small\semiconditalic Lithuanian poses several typographical challenges. Make sure - Contextual Alternates (calt) is turned on; for i̇́, use i followed +{\small\jSmCondItalic Lithuanian poses several typographical challenges. Make sure + Contextual Alternates (calt\index{calt}) is turned on; for i̇́, use i followed by combining dot accent (\unic{U+0307}) and acute (\unic{U+0301}).}\\[1ex] -{\wide\addfontfeature{Language=Lithuanian} Visa žemė turėjo vieną kalbą ir tuos pačius žodžius. Kai žmonės +{\jExp\addfontfeature{Language=Lithuanian} Visa žemė turėjo vieną kalbą ir tuos pačius žodžius. Kai žmonės kėlėsi iš rytų, jie rado slėnį Šinaro krašte ir ten įsikūrė. Vieni kitiems sakė: Eime, pasidirbkime plytų ir jas išdekime. – Vietoj akmens jie naudojo plytas, o vietoj kalkių – bitumą. Eime, – jie @@ -176,10 +176,10 @@ sakė, – pasistatykime miestą ir bokštą su dangų siekiančia viršūne ir pasidarykime sau vardą, kad nebūtume išblaškyti po visą žemės veidą.} (Expanded) \subsection*{Polish} -{\small\semiconditalic The default shape and position of ogonek in Junicode are suitable +{\small\jSmCondItalic The default shape and position of ogonek in Junicode are suitable for modern Polish. For the medieval Latin e-caudata, consider using -cv62.}\\[1ex] -{\condmed\addfontfeature{Language=Polish} Mieszkańcy całej ziemi mieli jedną mowę, czyli jednakowe słowa. A +cv62\index{cv62}.}\\[1ex] +{\jCondMedium\addfontfeature{Language=Polish} Mieszkańcy całej ziemi mieli jedną mowę, czyli jednakowe słowa. A gdy wędrowali ze wschodu, napotkali równinę w kraju Szinear i tam zamieszkali. I mówili jeden do drugiego: Chodźcie, wyrabiajmy cegłę i wypalmy ją w ogniu. A gdy już mieli cegłę zamiast kamieni i smołę @@ -189,9 +189,9 @@ uczynimy sobie znak, abyśmy się nie rozproszyli po całej ziemi.} (Condensed M \subsection*{Fleurons} -{\small\semiconditalic Junicode contains a number of fleurons (floral +{\small\jSmCondItalic Junicode contains a number of fleurons (floral ornaments) copied from a 1785 Caslon specimen book. Access - these via the OpenType feature \hyperlink{ornm}{ornm}. Fleurons have only one weight and + these via the OpenType feature \hyperlink{ornm}{ornm}\index{ornm}. Fleurons have only one weight and width, and they are the same in roman and italic.} \begin{center} diff --git a/fonts/junicodevf/doc/in_tex.tex b/fonts/junicodevf/doc/in_tex.tex new file mode 100644 index 0000000000..5b534d9ed8 --- /dev/null +++ b/fonts/junicodevf/doc/in_tex.tex @@ -0,0 +1,438 @@ +\chapter{Junicode and {\TeX}}\hypertarget{JunicodeAndTeX}{} + +\section{Loading the packages} + +There are packages for both Junicode (the static font) and Junicode VF (the variable font) +in CTAN, the {\TeX} repository, and also +in the {\TeX} Live distribution (run \src{tlmgr} to get them). Both static and variable versions +have a convenient script for loading and managing the font: use +{\color{BrickRed}\verb|\usepackage{junicode}|} for the static font and +{\color{BrickRed}\verb|\usepackage{junicodevf}|} for the variable font (which requires \ltech). +These commands accept several options commonly used in font packages: + +\begin{description} + \item[light] The weight of the type for the main text is light instead of regular. + \item[medium] The weight of the type for the main text is medium, somewhat heavier than regular. + \item[semibold] The weight of bold type is somewhat lighter than the usual bold. This may be a + good choice if you have selected the \option{light} option. + \item[condensed] The width of the type is narrow. Note that in the static font, + bold type cannot be condensed: when + this option is selected, any bold type in the text will have normal width. + \item[semicondensed] The width of the type is wider than condensed but narrower than the default. + In the static font, bold type cannot be semicondensed. + \item[expanded] The width of the type is about 125\%. Note that in the static font, light type + cannot be expanded: using both the \option{light} and the \option{expanded} options will produce + an error. + \item[semiexpanded] The width of the type is wider than the default but narrower than expanded. + In the static font, light type cannot be semiexpanded. + \item[proportional] Numbers in the document will be proportionally spaced. This is the default. + \item[tabular] Numbers will be tabular (or monospaced). + \item[oldstyle] Numbers will be old-style, harmonizing with lowercase letters. + \item[lining] Numbers will be lining, harmonizing with uppercase letters. +\end{description} + +\noindent With the variable font, terms like “light” and “semibold” (and, for that matter, +“regular”) do not denote a fixed +shape the way they do with the static font, but rather a +range of weights and widths that vary with the point size. You can see these variations +if we scale a line of footnote +text and a line of header text to the same {\color{BrickRed}\verb|\large|} size: + +\begin{quote} +\large\samplefootnote Here is some sample text for footnotes (about 8pt).\\ +\sampleheader Here is some sample text for headers (18pt or larger). +\end{quote} + +\noindent The glyphs for footnote text are heavier and wider than those for headers, recalling the way +punchcutters in the era of metal type often designed small sizes to be relatively thicker and wider +than main text or titles. This promoted legibility at small sizes and also evenness of color on +pages with diverse text blocks. + +Junicode VF provides vastly more flexibility than static Junicode, starting with two options that go +with the weight and width options listed above: + +\begin{description} + \item[weightadjustment] Adjusts the weight of the type by adding this number. + For example, if you choose \option{medium} for your document (weight averaging about 500) + and \option{bold} (weight around 700), and also include the option \src{weightadjustment=-25}, + then the weights of medium and bold text will be lightened by 25 (to 475 and 675). + \item[widthadjustment] Adjusts the width of the type by adding this number. For example, if you + choose \option{semicondensed} for your document (width averaging 87.5), and you also include + the option {\color{BrickRed}\verb|widthadjustment=5|}, then the average width will be 92.5, between + \option{semicondensed} and \option{regular}. +\end{description} + +\section{Advanced Options} + +If you are using the variable font and the basic options listed above don't yield the results +you want, the options listed in this section allow you to choose from an effectively infinite +number of styles. Do this by supplying custom axis coordinates for one or more of the four basic +styles of the main text (Regular, Italic, Bold, BoldItalic) via package options called +\option{SizeFeatures}. For example, here are the \option{SizeFeatures} for this document: + +\footnotesize +\begin{verbatim} + \usepackage[ + MainRegularSizeFeatures={ + {size=8.6,wght=550,wdth=120}, + {size=10.99,wght=475,wdth=115}, + {size=21.59,wght=400,wdth=112.5}, + {size=21.59,wght=351,wdth=100} + }, + MainItalicSizeFeatures={ + {size=8.6,wght=550,wdth=118}, + {size=10.99,wght=475,wdth=114}, + {size=21.59,wght=450,wdth=111}, + {size=21.59,wght=372,wdth=98} + }, + MainBoldSizeFeatures={ + {size=8.6,wght=700,wdth=120}, + {size=10.99,wght=700,wdth=115}, + {size=21.59,wght=650,wdth=112.5}, + {size=21.59,wght=600,wdth=100} + }, + MainBoldItalicSizeFeatures={ + {size=8.6,wght=700,wdth=118}, + {size=10.99,wght=700,wdth=114}, + {size=21.59,wght=650,wdth=111}, + {size=21.59,wght=600,wdth=98} + } + ]{junicodevf} +\end{verbatim} +\normalsize + +\noindent These options consist of lists of associative arrays, each +prescribing axis coordinates for a range of sizes. In these arrays, +the \src{size} key is mandatory: any array without one is ignored. The +arrays should be in order of point size. The first array +prescribes axis coordinates for all sizes up to \src{size}, the last array for all sizes +greater than \src{size}, and any intermediate arrays a range from the previous to the +current \src{size}.\footnote{% +If you want only one size array, make \src{size} improbably low (e.g. 5) and place +a comma after the closing brace of the array.% +} So the ranges covered in each list above are \src{-8.6}, \src{8.6-10.99}, +\src{10.99-21.59}, +and \src{21.59-}.\footnote{Any modification of the default text size (e.g. in the +\src{\textbackslash documentclass} command) can affect the size definitions in these +arrays, with the result that (for example) +\src{10} no longer means exactly “ten points.” You may have to experiment to get these numbers +right.} + +The keys other than \src{size} are the four-letter tags for the font's axes: \src{wght} +(Weight), \src{wdth} (Width), and \src{ENLA} (Enlarge).\footnote{% +By convention, tags for axes defined in the OpenType standard are lowercase; custom axes +are uppercase. Junicode’s \src{ENLA} is a custom axis.% +} When a key +is omitted, the default value for that axis is used. It is up to the user to make sure the values +given for each axis are valid---the package does no checking (though {\fspec} will do a good bit +of checking for you). When \option{SizeFeatures} are given in +this way, they override any other options that set or change axis coordinates +(e.g. \option{weightadjustment}). + +The \option{SizeFeatures} options can only set axis coordinates; with the \option{Features} +options you can +set OpenType features for the main text or for the four main styles individually. + +For example, if you want your document to use the conventions observed by early +English typesetters for the distribution of \textex{s} and \textex{ſ}, load the +package this way: + +\footnotesize +\begin{verbatim} + \usepackage[MainFeatures={ + Language=English, + StylisticSet=8 + }]{junicodevf} +\end{verbatim} +\normalsize + +\noindent If you want to use these conventions only for text in the regular style, use +\option{MainRegularFeatures} instead of \option{MainFeatures}. For the other styles, use +\option{MainItalicFeatures}, \option{MainBoldFeatures}, and \option{MainBoldItalicFeatures}. +All of the +features you pass via these options must be valid for \fspec: in fact, +they are passed straight through to \fspec. + +\section{Selecting Alternate Styles} + +In addition to the document's main font, you can choose from up to fifty +predefined styles---thirty-eight if you are using the static font (in the list below, +styles available only to variable font users are {\color{BrickRed}red}). +The commands for shifting to these +styles are as follows (of the italic styles, only the base “jItalic” is listed; +append “Italic” to any of the others, except “jRegular”): + +\begin{multicols}{3} + \jCond\textbackslash jRegular + + \textbackslash jItalic + + \textbackslash jCond + + \textbackslash jSmCond + + \textbackslash jSmExp + + \textbackslash jExp + + \textbackslash jLight + + \textbackslash jCondLight + + \textbackslash jSmCondLight + + {\color{BrickRed}\textbackslash jSmExpLight} + + {\color{BrickRed}\textbackslash jExpLight} + + \textbackslash jMedium + + \textbackslash jCondMedium + + \textbackslash jSmCondMedium + + \textbackslash jSmExpMedium + + \textbackslash jExpMedium + + \textbackslash jSmbold + + {\color{BrickRed}\textbackslash jCondSmbold} + + {\color{BrickRed}\textbackslash jSmCondSmbold} + + \textbackslash jSmExpSmbold + + \textbackslash jExpSmbold + + \textbackslash jBold + + {\color{BrickRed}\textbackslash jCondBold} + + {\color{BrickRed}\textbackslash jSmCondBold} + + \textbackslash jSmExpBold + + \textbackslash jExpBold + +\end{multicols} + +\noindent These commands will be self-explanatory if you bear in mind Junicode's +abbreviations for style names: Cond=Condensed, Exp=Expanded, Sm=Semi.\footnote{% +The purpose of these abbreviations is to keep font names under the character-limit +imposed by some systems.} Use +them to shift temporarily to a style other than that of the main text. +For example, to shift to the Condensed Light style for a short phrase, use +this code: +\begin{center} +{\color{BrickRed}\small\verb|{\jCondLight a short phrase}|}. +\end{center} +The result: {\jCondLight a short phrase}. + +To add features to any of these styles (variable font only), use the style name +(without the prefixed “j” and with \option{Features} appended) +as a package option. To change the size features for the style, +do the same, but with \option{SizeFeatures} instead of \option{Features} +appended: + +\footnotesize +\begin{verbatim} + \usepackage[ + CondLightFeatures={ + Language=English, + StylisticSet=2 + }, + CondLightSizeFeatures={{size=5,wght=325,wdth=80},} + ]{junicodevf} +\end{verbatim} +\normalsize + +\noindent This will shift text in the Condensed Light style from default to insular +letter-shapes and slightly increase the weight and width of all glyphs in that style. +Here the \option{SizeFeatures} section is very simple (as in the package file itself), +but you can have as many size ranges as you want, just as you can for the main font. + +\section{The Enlarge Axis} + +The variable package defines four different styles for Junicode VF’s +\hyperlink{enlarge}{Enlarge axis}, in four sizes: + +\begin{center} +\begin{tabular}{ l l l } +Not Enlarged & abc & \textit{abc}\\ +\textbackslash EnlargedOne & {\EnlargedOne abc} & {\EnlargedOneItalic abc}\\ +\textbackslash EnlargedTwo & {\EnlargedTwo abc} & {\EnlargedTwoItalic abc}\\ +\textbackslash EnlargedThree & {\EnlargedThree abc} & {\EnlargedThreeItalic abc}\\ +\textbackslash EnlargedFour & {\EnlargedFour abc} & {\EnlargedFourItalic abc}\\ +\end{tabular} +\end{center} + +\noindent You can produce an italic version of the enlarged minuscule by appending “Italic” to +the style name. You can also customize these styles with \option{SizeFeatures}: + +\footnotesize +\begin{verbatim} + \usepackage[ + EnlargedThreeSizeFeatures={{size=5,ENLA=85},} + ]{junicodevf} +\end{verbatim} +\normalsize + +\noindent This example will set all axes except for \src{ENLA} to their default coordinates. +You can, of course, define other axes, and, as with Junicode’s other \option{SizeFeatures} options, +as many size arrays as you like. \option{Features} options are not available for the Enlarged +styles. + +\section{Other Commands} + +The font packages’ other commands (listed in the following table) are offered as conveniences, +being shorter and more +mnemonic than the {\fspec} commands they invoke (though of course all {\fspec} commands +remain available). Each of these commands +also has a corresponding “text” command that works like +{\color{BrickRed}\verb|\textit{}|}---that is, it takes +as its sole argument the text to which the command will be applied. Each “text” command +consists of the main command with “text” prefixed---for example, +{\color{BrickRed}\verb|\textInsularLetterForms{}|} +corresponding to {\color{BrickRed}\verb|\InsularLetterForms|}. For a fuller account of the OpenType features +applied by these commands, see \hyperlink{FeatureReference}{Chapter 4, Feature Reference}. + +\begin{center}\small +%\begin{table}[ht] +\centering +\tablehead{\hline} +\tabletail{\hline} +\begin{supertabular}{| l | p{2.75in} |} +\bluerow\textbackslash AltThornEth & Applies ss01,\index{ss01} Alternate thorn and eth.\\ +\textbackslash InsularLetterForms & Applies ss02,\index{ss02} Insular letter-forms.\\ +\bluerow\textbackslash IPAAlternates & Applies ss03,\index{ss03} IPA alternates.\\ +\textbackslash HighOverline & Applies ss04,\index{ss04} High Overline.\\ +\bluerow\textbackslash MediumHighOverline & Applies ss05,\index{ss05} Medium-high Overline.\\ +\textbackslash EnlargedMinuscules & Applies ss06,\index{ss06} Enlarged minuscules.\\ +\bluerow\textbackslash Underdotted & Applies ss07,\index{ss07} Underdotted.\\ +\textbackslash ContextualLongS & Applies ss08,\index{ss08} Contextual long s.\\ +\bluerow\textbackslash AlternateFigures & Applies ss09,\index{ss09} Alternate Figures.\\ +\textbackslash EntitiesAndTags & Applies ss10,\index{ss10} Entities and Tags.\\ +\bluerow\textbackslash EarlyEnglishFuthorc & Applies ss12,\index{ss12} Early English Futhorc.\\ +\textbackslash ElderFuthark & Applies ss13,\index{ss13} Elder Futhark.\\ +\bluerow\textbackslash YoungerFuthark & Applies ss14,\index{ss14} Younger Futhark.\\ +\textbackslash LongBranchToShortTwig & Applies ss15,\index{ss15} Long Branch to Short Twig.\\ +\bluerow\textbackslash ContextualRRotunda & Applies ss16,\index{ss16} Contextual r rotunda.\\ +\textbackslash RareDigraphs & Applies ss17,\index{ss17} Rare Digraphs.\\ +\bluerow\textbackslash OldStylePunctuation & Applies ss18,\index{ss18} Old-style Punctuation.\\ +\textbackslash LatinToGothic & Applies ss19,\index{ss19} Latin to Gothic.\\ +\bluerow\textbackslash LowDiacritics & Applies ss20,\index{ss20} Low Diacritics.\\ +\textbackslash jcv, \textbackslash textcv & Applies any Character Variant feature (see below).\\ +\end{supertabular} +%\caption{Stylistic Set and Character Variant Commands} +%\end{table} +\end{center} + +The syntax of \textbackslash jcv +is {\color{BrickRed}\verb|\jcv[num]{num}|}, where the second (required) argument is the number of the Character Variant feature, +and the first (optional) argument is an index into the variants provided by that feature (starting with zero, the default). +\textbackslash textcv takes an additional required argument ({\color{BrickRed}\verb|\textcv[num]{num}{text}|}---the text to which the +feature should be applied. + +Character Variant features can also be selected by means of commands consisting of the prefix +{\color{BrickRed}\verb|\jcv|} plus any letter of the basic Latin alphabet (e.g. {\color{BrickRed}\verb|\jcvA|}, +{\color{BrickRed}\verb|\jcvz|}), or any of the mnemonics below. +For example, a feature for +lowercase \textbf{a} can be expressed as {\color{BrickRed}\verb|\textcv[2]{\jcva}{a}|},\index{cv02} +yielding \textbf{\textcv[2]{\jcva}{a}}. + +\begin{multicols}{3} +\small\jCond\textbackslash jcvaa + +\textbackslash jcvAE + +\textbackslash jcvae + +\textbackslash jcvAO + +\textbackslash jcvao + +\textbackslash jcvAogonek + +\textbackslash jcvaogonek + +\textbackslash jcvASCIItilde + +\textbackslash jcvasterisk + +\textbackslash jcvav + +\textbackslash jcvbrevebelow + +\textbackslash jcvcombiningdieresis + +\textbackslash jcvcombiningdoublemacron + +\textbackslash jcvcombininginsulard + +\textbackslash jcvcombiningopena + +\textbackslash jcvcombiningoverline + +\textbackslash jcvcombiningrrotunda + +\textbackslash jcvcombiningzigzag + +\textbackslash jcvcomma + +\textbackslash jcvcurrency + +\textbackslash jcvdbar + +\textbackslash jcvdcroat + +\textbackslash jcvEng + +\textbackslash jcvEogonek + +\textbackslash jcvetabbrev + +\textbackslash jcvexclam + +\textbackslash jcvflorin + +\textbackslash jcvGermanpenny + +\textbackslash jcvglottal + +\textbackslash jcvlb + +\textbackslash jcvlhighstroke %somehow escaped the documentation + +\textbackslash jcvmacron + +\textbackslash jcvmiddot + +\textbackslash jcvoPolish + +\textbackslash jcvounce + +\textbackslash jcvperiod + +\textbackslash jcvpunctuselevatus + +\textbackslash jcvquestion + +\textbackslash jcvrum + +\textbackslash jcvsemicolon + +\textbackslash jcvslash + +\textbackslash jcvspacingusabbrev + +\textbackslash jcvspacingzigzag + +\textbackslash jcvsterling + +\textbackslash jcvthorncrossed + +\textbackslash jcvTironianEt + +\textbackslash jcvYogh +\end{multicols} diff --git a/fonts/junicodevf/doc/junicodevf-package.pdf b/fonts/junicodevf/doc/junicodevf-package.pdf deleted file mode 100644 index d7f40e9d91..0000000000 Binary files a/fonts/junicodevf/doc/junicodevf-package.pdf and /dev/null differ diff --git a/fonts/junicodevf/doc/junicodevf-package.tex b/fonts/junicodevf/doc/junicodevf-package.tex deleted file mode 100644 index b753aa4fb2..0000000000 --- a/fonts/junicodevf/doc/junicodevf-package.tex +++ /dev/null @@ -1,628 +0,0 @@ -\documentclass[12pt]{article} - - -\usepackage{microtype} -\usepackage{multicol} -\usepackage{supertabular} -\usepackage[table,dvipsnames]{xcolor} -\definecolor{myLightBlue}{RGB}{203,228,249} -\definecolor{BrickRed}{RGB}{146,18,6} -\definecolor{RViolet}{RGB}{70,18,87} -\definecolor{GunMetalGray}{RGB}{42,52,57} -\definecolor{myRed}{rgb}{0.5,0,0} -\newcommand{\bluerow}{\rowcolor{myLightBlue}} - -\newcommand{\SizeRecord}[3]{{Size={#1},RawFeature={axis={wght=#2,wdth=#3}}}} -\usepackage[semiexpanded,weightadjustment=35,widthadjustment=-5, - MainFeatures={StylisticSet=9} -]{junicodevf} -\setfontface\samplefootnote{JunicodeVF}[ - Renderer = HarfBuzz, - SizeFeatures = {{Size={5-}, RawFeature={axis={wght=490,wdth=115}}}}, -] -\setfontface\sampleheader{JunicodeVF}[ - Renderer = HarfBuzz, - SizeFeatures = {{Size={5-}, RawFeature={axis={wght=350,wdth=90}}}} -] -\usepackage{metalogo} -\usepackage{titlesec} -\titleformat{\section}[hang]{\Large\color{GunMetalGray}}{\thesection.}{1em}{} -\newcommand{\ltech}{Lua\kern-1.5pt\TeX} -\newcommand{\lltech}{Lua\LaTeX} -\setmonofont{Fira Mono}[Scale=MatchLowercase,Numbers=Lowercase] -\setsansfont{Fira Sans}[Scale=MatchLowercase,Numbers=Lowercase] -\usepackage{fancyhdr} -\pagestyle{fancy} -\footskip = 30pt -\headsep = 30pt -\renewcommand{\headrule}{} -\fancyhead[L]{} -\fancyhead[C]{} -\fancyhead[R]{} -\fancyfoot[L]{} -\fancyfoot[C]{} -\fancyfoot[R]{} -\newcommand{\fspec}{{\sffamily fontspec}} -\newcommand{\src}[1]{{\color{BrickRed}\texttt{#1}}} -\newcommand{\option}[1]{{\color{RViolet}\textbf{#1}}} -\linespread{1.1} -\title{Junicode VF} -\author{Peter S. Baker} -\date{\today} -\tolerance=1500 - -\begin{document} - -\maketitle - -\section{Introduction} - -\pagestyle{fancy} -\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}% -\addfontfeature{Letters=UppercaseSmallCaps}\leftmark} -\fancyhead[CO]{\scshape\color{myRed} {junicode}\hspace{10pt}{\addfontfeatures{Numbers=OldStyle}\thepage}} - -This package supports Junicode VF, the variable version of Junicode -(2.204 or higher) for \lltech. - -A variable font is one with glyphs that can change not only their size, but also their -shape. These changes in shape are defined in one or more \textbf{axes}---for example, -\textbf{Weight} (Light, Bold, etc.) and \textbf{Width} (Condensed, Expanded). A traditional -“static” font family also has axes, but as every stylistic variant of a static family -requires a separate font file, -the number of available styles is severely constrained. A variable font, by contrast, -offers a practically limitless number of styles in a single file: you choose a style -by making a selection of number values (usually called “coordinates”) from the axes, -of which Junicode has three: - -\begin{description} - \item[Weight] Possible weights run from Light (300) to ExtraBold (700). By - convention, Regular is 400. - \item[Width] Widths run from 75 (Condensed) to 125 (Expanded). Stroke widths remain - the same as the overall width of the character changes, with the result that - Condensed type looks darker than Regular or Expanded. - \item[Enlarge] This axis is for reproducing the enlarged minuscules of medieval - manuscripts---that is, letters that are lowercase in shape and intermediate between - upper- and lowercase in size, used to introduce various textual units (see section - 5 below). -\end{description} - -\section{Loading Junicode VF} - -Load the package in the usual way, with {\color{BrickRed}\verb|\usepackage{junicodevf}|}, to -set Junicode VF as the main font. -By default, the main font is not a set of static outlines whose proportions -remain the same though they can be scaled, but rather a set of -\emph{variable} outlines that become relatively narrower and lighter as the -text size increases. You can see the difference if we scale a line of footnote -text and a line of header text to the same {\color{BrickRed}\verb|\large|} size:\\[0.5ex] - -\noindent {\large\samplefootnote Here is some sample text for footnotes (usually about 8pt).}\\[0.2ex] -{\large\sampleheader Here is some sample text for headers (18pt or larger).}\\[0.5ex] - -\noindent The letter-shapes are markedly different, but on the page they look -pretty much the same, because the purpose of these changes in -shape, in addition to promoting legibility, -is to allow blocks of text in different sizes (headers, main text, -block quotations, footnotes) to coexist on a page without any of them looking too -dark or too light.\footnote{% -For example, on a typical LaTeX page a footnote like this, looked at as a block -of gray, is usually a little lighter than the main text. But on this page, the -“color” of the footnote matches that of the main text. The variation in glyph -shape responsible for this effect approximates the way letters in metal type were -typically wider and heavier at small sizes.} Evenness of texture makes text in -different point sizes \emph{look} the same. - -Junicode VF's package options give you a number of ways to fine-tune the look of -your text: - -\begin{description} - \item[light] The weight of the type for the main text is Light. As with the default - weight, and all weights selectable by options, “Light” is a range of weights that varies - with the size of the type. - \item[medium] The weight of the type for the main text is Medium---that is, darker than - Regular but lighter than Semibold. - \item[semibold] The weight of bold type is somewhat lighter than the usual bold. This may be a - good choice if you have selected the \option{light} option. - \item[weightadjustment] Adjusts the weight of the type by adding this number. - For example, if you choose \option{medium} for your document (weight averaging about 500) - and \option{bold} (weight around 700), and also include the option {\color{BrickRed}\verb|weightadjustment=-25|}, - then the weights of medium and bold text will be lightened by 25 (475, 675). - \item[condensed] The width of the type is narrow---about 85\% of the width of the Regular style. - As with the default - width, and all widths selectable by options, "Condensed" is a range of widths that varies - with the size of the type. - \item[semicondensed] The width of the type is wider than condensed but narrower than the default. - \item[expanded] The width of the type is wide---about 125\% of the width of the Regular style. - \item[semiexpanded] The width of the type is wider than Regular but narrower than Expanded. - \item[widthadjustment] Adjusts the width of the type by adding this number. For example, if you - choose \option{semicondensed} for your document (width averaging 87.5), and you also include - the option {\color{BrickRed}\verb|widthadjustment=5|}, then the average width will be 92.5, between - \option{semicondensed} and \option{regular}. - \item[proportional] Numbers in the document will be proportionally spaced. This is the default. - \item[tabular] Numbers will be tabular (monospaced). - \item[oldstyle] Numbers will be old-style, harmonizing with lowercase letters. This is the default. - \item[lining] Numbers will be lining, harmonizing with uppercase letters. -\end{description} - -\section{Customizing the Main Font} - -If the options listed in the previous section don’t give you the effect you’re looking for, this package’s -more advanced options allow you to choose from an effectively infinite number of styles. Do this by passing -OpenType features for your document’s main text or for one or more of the four main styles (Regular, Italic, -Bold, Bold Italic), and also by supplying custom values for the font’s four axes. - -For example, if you want your document to use the conventions observed by early -English typesetters for the distribution of \option{s} and \option{ſ}, load the -package this way: - -\footnotesize -\begin{verbatim} - \usepackage[MainFeatures={ - Language=English, - StylisticSet=8 - }]{junicodevf} -\end{verbatim} -\normalsize - -\noindent If you want to use these conventions only for italic text, use -\option{MainItalicFeatures} instead of \option{MainFeatures}. All of the -features you pass via these options must be valid for \fspec: in fact, -they are passed straight through to \fspec. - -If you want to customize the four basic styles of the main text, use -\option{MainRegularSizeFeatures}, \option{MainItalicSizeFeatures}, and so on. -Each of these defines a list of associative arrays, in which each array in the -list prescribes axis coordinates for a range of sizes. -For example, here are the \textbf{SizeFeatures} for the \textit{Junicode Manual}: - -\footnotesize -\begin{verbatim} - \usepackage[ - MainRegularSizeFeatures={ - {size=8.6,wght=550,wdth=120}, - {size=10.99,wght=475,wdth=115}, - {size=21.59,wght=400,wdth=112.5}, - {size=21.59,wght=351,wdth=100} - }, - MainItalicSizeFeatures={ - {size=8.6,wght=550,wdth=118}, - {size=10.99,wght=475,wdth=114}, - {size=21.59,wght=450,wdth=111}, - {size=21.59,wght=372,wdth=98} - }, - MainBoldSizeFeatures={ - {size=8.6,wght=700,wdth=120}, - {size=10.99,wght=700,wdth=115}, - {size=21.59,wght=650,wdth=112.5}, - {size=21.59,wght=600,wdth=100} - }, - MainBoldItalicSizeFeatures={ - {size=8.6,wght=700,wdth=118}, - {size=10.99,wght=700,wdth=114}, - {size=21.59,wght=650,wdth=111}, - {size=21.59,wght=600,wdth=98} - } - ]{junicodevf} -\end{verbatim} -\normalsize - -\noindent For each array, a \src{size} key is mandatory: any array without one -is ignored. The arrays should be in order of point size. The first array -prescribes axis coordinates for all sizes up to \src{size}, the last array for all sizes -greater than \src{size}, and any intermediate items a range from the previous to the -current \src{size}.\footnote{% -If you want only one size array, make \src{size} improbably low (e.g. 5) and place -a comma after the closing brace of the array.% -} So the ranges covered in each list above are \src{-8.6}, \src{8.6-10.99}, -\src{10.99-21.59}, -and \src{21.59-}.\footnote{Any modification of the default text size (e.g. in the -\src{\textbackslash documentclass} command) can affect the size definitions in these -arrays, with the result that (for example) -\src{10} no longer means exactly “ten points.” You may have to experiment to get these numbers -right.} - -The keys other than \src{size} are the four-letter tags for the font's axes: \src{wght} -(Weight), \src{wdth} (Width), and \src{ENLA} (Enlarge).\footnote{% -By convention, tags for axes defined in the OpenType standard are lowercase; custom axes -are uppercase. Junicode’s \src{ENLA} is a custom axis.% -} When a key -is omitted, the default value for that axis is used. It is up to the user to make sure the values -given for each axis are valid---the package does no checking (but {\fspec} will do a good bit -of checking for you). When SizeFeatures are given in -this way, they override any other options that set or change axis coordinates -(e.g. \option{weightadjustment}). - - -\section{Selecting Alternate Styles} - -In addition to the document's main font, you can choose from fifty -predefined styles. These match the thirty-eight styles supplied by the -static version of Junicode, plus twelve more. The commands for shifting to these -styles are as follows (of the italic styles, only the base “jItalic” is listed; -append “Italic” to any of the others, except “jRegular”): - -\begin{multicols}{3} - \jCond\textbackslash jRegular - - \textbackslash jItalic - - \textbackslash jCond - - \textbackslash jSmCond - - \textbackslash jSmExp - - \textbackslash jExp - - \textbackslash jLight - - \textbackslash jCondLight - - \textbackslash jSmCondLight - - \textbackslash jSmExpLight - - \textbackslash jExpLight - - \textbackslash jMedium - - \textbackslash jCondMedium - - \textbackslash jSmCondMedium - - \textbackslash jSmExpMedium - - \textbackslash jExpMedium - - \textbackslash jSmbold - - \textbackslash jCondSmbold - - \textbackslash jSmCondSmbold - - \textbackslash jSmExpSmbold - - \textbackslash jExpSmbold - - \textbackslash jBold - - \textbackslash jCondBold - - \textbackslash jSmCondBold - - \textbackslash jSmExpBold - - \textbackslash jExpBold - -\end{multicols} - -\noindent These commands will be self-explanatory if you bear in mind Junicode's -abbreviations for style names: Cond=Condensed, Exp=Expanded, Sm=Semi.\footnote{% -The purpose of these abbreviations is to keep font names under the character-limit -imposed by some systems.} Use -them to shift temporarily to a style other than that of the main text. -For example, to shift to the Condensed Light style for a short phrase, use -this code: -\begin{center} -{\color{BrickRed}\small\verb|{\jCondLight a short phrase}|}. -\end{center} -The result: {\jCondLight a short phrase}. - -To add features to any of these styles, use the style name -(without the prefixed “j” and with \textbf{Features} appended) -as a package option. To change the size features for the style, -do the same, but with \textbf{SizeFeatures} instead of \textbf{Features} -appended: - -\footnotesize -\begin{verbatim} - \usepackage[ - CondLightFeatures={ - Language=English, - StylisticSet=2 - }, - CondLightSizeFeatures={{size=5,wght=325,wdth=80},} - ]{junicodevf} -\end{verbatim} -\normalsize - -\noindent This will shift text in the Condensed Light style from default to insular -letter-shapes and slightly increase the weight and width of all glyphs in that style. -Here the \textbf{SizeFeatures} section is very simple (as in the package file itself), -but you can have as many size ranges as you want, just as you can for the main font. - -\section{The Enlarge Axis} - -Junicode's Enlarge axis is for a special purpose: to represent the enlarged -minuscule letters that often begin sentences and other textual units in medieval manuscripts. -Thus it should normally be applied only to single letters, not to runs of text. - -This package defines four different styles for the Enlarge axis, in four sizes:\\[0.5ex] - -\begin{center} -\begin{supertabular}{ l l l } -Not Enlarged & abc & \textit{abc}\\ -\textbackslash EnlargedOne & {\EnlargedOne abc} & {\EnlargedOneItalic abc}\\ -\textbackslash EnlargedTwo & {\EnlargedTwo abc} & {\EnlargedTwoItalic abc}\\ -\textbackslash EnlargedThree & {\EnlargedThree abc} & {\EnlargedThreeItalic abc}\\ -\textbackslash EnlargedFour & {\EnlargedFour abc} & {\EnlargedFourItalic abc}\\ -\end{supertabular} -\end{center} - -\noindent You can produce an italic version of the enlarged minuscule by appending “Italic” to -the style name. You can also customize these styles with \textbf{SizeFeatures}: - -\footnotesize -\begin{verbatim} - \usepackage[ - ENLAThreeSizeFeatures={{size=5,ENLA=85},} - ]{junicodevf} -\end{verbatim} -\normalsize - -\noindent This example will set all axes except for \src{ENLA} to their default coordinates. -You can, of course, define other axes, and, as with Junicode’s other \textbf{SizeFeatures} options, -as many size arrays as you like. \textbf{Features} options are not available for the Enlarged -styles. - -\section{Other Commands} - -This package's other commands (listed in Table 1) are offered as conveniences, being shorter and more -mnemonic than the {\fspec} commands they invoke (though of course all {\fspec} commands -remain available). Each of these commands -also has a corresponding “text” command that works like -{\color{BrickRed}\verb|\textit{}|}—that is, it takes -as its sole argument the text to which the command will be applied. Each “text” command -consists of the main command with “text” prefixed—for example, -{\color{BrickRed}\verb|\textInsularLetterForms{}|} -corresponding to {\color{BrickRed}\verb|\InsularLetterForms|}. For a fuller account of the OpenType features -applied by these commands, see Chapter 4 of the \textit{Junicode Manual}, “Feature Reference.” - -%\begin{center} -\begin{table}[ht] -\centering -\tablehead{\hline} -\tabletail{\hline} -\begin{supertabular}{| l | p{2.75in} |} -\bluerow\textbackslash AltThornEth & Applies ss01, Alternate thorn and eth.\\ -\textbackslash InsularLetterForms & Applies ss02, Insular letter-forms.\\ -\bluerow\textbackslash IPAAlternates & Applies ss03, IPA alternates.\\ -\textbackslash HighOverline & Applies ss04, High Overline.\\ -\bluerow\textbackslash MediumHighOverline & Applies ss05, Medium-high Overline.\\ -\textbackslash EnlargedMinuscules & Applies ss06, Enlarged minuscules.\\ -\bluerow\textbackslash Underdotted & Applies ss07, Underdotted.\\ -\textbackslash ContextualLongS & Applies ss08, Contextual long s.\\ -\bluerow\textbackslash AlternateFigures & Applies ss09, Alternate Figures.\\ -\textbackslash EntitiesAndTags & Applies ss10, Entities and Tags.\\ -\bluerow\textbackslash EarlyEnglishFuthorc & Applies ss12, Early English Futhorc.\\ -\textbackslash ElderFuthark & Applies ss13, Elder Futhark.\\ -\bluerow\textbackslash YoungerFuthark & Applies ss14, Younger Futhark.\\ -\textbackslash LongBranchToShortTwig & Applies ss15, Long Branch to Short Twig.\\ -\bluerow\textbackslash ContextualRRotunda & Applies ss16, Contextual r rotunda.\\ -\textbackslash RareDigraphs & Applies ss17, Rare Digraphs.\\ -\bluerow\textbackslash OldStylePunctuation & Applies ss18, Old-style Punctuation.\\ -\textbackslash LatinToGothic & Applies ss19, Latin to Gothic.\\ -\bluerow\textbackslash LowDiacritics & Applies ss20, Low Diacritics.\\ -\textbackslash jcv, \textbackslash textcv & Applies any Character Variant feature (see below).\\ -\end{supertabular} -\caption{Stylistic Set and Character Variant Commands} -\end{table} -%\end{center} - -\noindent The syntax of \textbackslash jcv -is {\color{BrickRed}\verb|\jcv[num]{num}|}, where the second (required) argument is the number of the Character Variant feature, -and the first (optional) argument is an index into the variants provided by that feature (starting with zero, the default). -\textbackslash textcv takes an additional required argument ({\color{BrickRed}\verb|\textcv[num]{num}{text}|}—the text to which the -feature should be applied. - -Character Variant features can also be selected with mnemonics, listed below. For example, a feature for -lowercase \textbf{a} can be expressed as {\color{BrickRed}\verb|\textcv[2]{\jcva}{a}|}, yielding \textbf{\textcv[2]{\jcva}{a}}. - -\begin{multicols}{3} -\small\jCond\textbackslash jcvA - -\textbackslash jcva - -\textbackslash jcvB - -\textbackslash jcvb - -\textbackslash jcvC - -\textbackslash jcvc - -\textbackslash jcvD - -\textbackslash jcvd - -\textbackslash jcvE - -\textbackslash jcve - -\textbackslash jcvF - -\textbackslash jcvf - -\textbackslash jcvG - -\textbackslash jcvg - -\textbackslash jcvH - -\textbackslash jcvh - -\textbackslash jcvI - -\textbackslash jcvi - -\textbackslash jcvJ - -\textbackslash jcvj - -\textbackslash jcvK - -\textbackslash jcvk - -\textbackslash jcvL - -\textbackslash jcvl - -\textbackslash jcvM - -\textbackslash jcvm - -\textbackslash jcvN - -\textbackslash jcvn - -\textbackslash jcvO - -\textbackslash jcvo - -\textbackslash jcvP - -\textbackslash jcvp - -\textbackslash jcvQ - -\textbackslash jcvq - -\textbackslash jcvR - -\textbackslash jcvr - -\textbackslash jcvS - -\textbackslash jcvs - -\textbackslash jcvT - -\textbackslash jcvt - -\textbackslash jcvU - -\textbackslash jcvu - -\textbackslash jcvV - -\textbackslash jcvv - -\textbackslash jcvW - -\textbackslash jcvw - -\textbackslash jcvX - -\textbackslash jcvx - -\textbackslash jcvY - -\textbackslash jcvy - -\textbackslash jcvZ - -\textbackslash jcvz - -\textbackslash jcvaa - -\textbackslash jcvAE - -\textbackslash jcvae - -\textbackslash jcvAO - -\textbackslash jcvao - -\textbackslash jcvAogonek - -\textbackslash jcvaogonek - -\textbackslash jcvASCIItilde - -\textbackslash jcvasterisk - -\textbackslash jcvav - -\textbackslash jcvbrevebelow - -\textbackslash jcvcombiningdieresis - -\textbackslash jcvcombiningdoublemacron - -\textbackslash jcvcombininginsulard - -\textbackslash jcvcombiningopena - -\textbackslash jcvcombiningoverline - -\textbackslash jcvcombiningrrotunda - -\textbackslash jcvcombiningzigzag - -\textbackslash jcvcomma - -\textbackslash jcvcurrency - -\textbackslash jcvdbar - -\textbackslash jcvdcroat - -\textbackslash jcvEng - -\textbackslash jcvEogonek - -\textbackslash jcvetabbrev - -\textbackslash jcvexclam - -\textbackslash jcvflorin - -\textbackslash jcvGermanpenny - -\textbackslash jcvglottal - -\textbackslash jcvlb - -\textbackslash jcvlhighstroke %somehow escaped the documentation - -\textbackslash jcvmacron - -\textbackslash jcvmiddot - -\textbackslash jcvoPolish - -\textbackslash jcvounce - -\textbackslash jcvperiod - -\textbackslash jcvpunctuselevatus - -\textbackslash jcvquestion - -\textbackslash jcvrum - -\textbackslash jcvsemicolon - -\textbackslash jcvslash - -\textbackslash jcvspacingusabbrev - -\textbackslash jcvspacingzigzag - -\textbackslash jcvsterling - -\textbackslash jcvthorncrossed - -\textbackslash jcvTironianEt - -\textbackslash jcvYogh -\end{multicols} - -\vspace*{\fill} -\begin{center} - \itshape This document is set in 12-point Junicode VF with Weight 435 and Width 107.5.\\ - The font for code is Fira Mono,\\ - and the sans serif font is Fira Sans. -\end{center} -\end{document} diff --git a/fonts/junicodevf/doc/junicodevf-samples.pdf b/fonts/junicodevf/doc/junicodevf-samples.pdf index db609d897f..9944981966 100644 Binary files a/fonts/junicodevf/doc/junicodevf-samples.pdf and b/fonts/junicodevf/doc/junicodevf-samples.pdf differ diff --git a/fonts/junicodevf/doc/tag_key_ins.tex b/fonts/junicodevf/doc/tag_key_ins.tex index ef6ba651b7..fff64f13c4 100644 --- a/fonts/junicodevf/doc/tag_key_ins.tex +++ b/fonts/junicodevf/doc/tag_key_ins.tex @@ -3,7 +3,8 @@ %\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}entering characters with tags} \addfontfeature{MyStyle=noentities} -Any character in Junicode that can be rendered using a Character Variant ({\charvar}) feature can also be rendered using a +Any character in Junicode that can be rendered using a Character Variant (\textSourceText{cvNN}) +feature can also be rendered using a sequence consisting of a base character and two Unicode tags---that is, characters from the Unicode tag range. This range duplicates the ASCII character set (which consists, roughly, of things that can be typed on a U.S. English keyboard), but the characters it contains are normally invisible. They are used as modifiers @@ -83,7 +84,8 @@ C\&\_\_s\textcompwordmark;\&\_\_q\textcompwordmark; (appears as C\&\_\_s;\&\_\_q \end{supertabular} \end{center} -\noindent Then apply the OpenType feature \textSourceText{ss10} (Stylistic Set 10) to the passage or passages containing the tags or, if tags occur +\noindent Then apply the OpenType feature \textSourceText{ss10}\index{ss10} + (Stylistic Set 10) to the passage or passages containing the tags or, if tags occur throughout, to the whole document. The tags will disappear and the preceding characters (the base characters) will be transformed. @@ -96,10 +98,12 @@ Most of the two-tag sequences documented here are designed to be mnemonic. For e \textex{\&\_\_s;\&\_\_q;} sequence in the example above stands for ``square.'' However, two-tag sequences are not capable of describing characters in any detail, and in some cases, where the number of variants is large (especially for period, combining macron, and currency), the tags are -not descriptive at all, but rather an index (the same numbers used in the corresponding {\charvar} features). +not descriptive at all, but rather an index (the same numbers used in the corresponding \textSourceText{cvNN} features). -These tags are compatible with Junicode's other OpenType features, including the {\charvar} features, and can be mixed with -them. They will not interfere with the placement of combining marks, which can come either before or after the tag-pair. Use a {\charvar} feature when a variant should appear +These tags are compatible with Junicode's other OpenType features, including the \textSourceText{cvNN} features, +and can be mixed with +them. They will not interfere with the placement of combining marks, which can come either before or after the tag-pair. +Use a \textSourceText{cvNN} feature when a variant should appear throughout the text, repeatedly in a particular passage (for example, a block quotation), or in a style. A tag sequence may be preferable for isolated forms or to override an OpenType feature. In the list below, records for each character are color-coded as follows: @@ -118,10 +122,10 @@ In the list below, records for each character are color-coded as follows: \end{supertabular} \end{center} -\noindent Tags or {\charvar} features are usually to be preferred to PUA code points, +\noindent Tags or \textSourceText{cvNN} features are usually to be preferred to PUA code points, which should be used only where accessibility and searchability are not issues (mainly in printed texts). Unicode code points can safely be -entered directly. Junicode makes a few of them accessible via {\charvar} features and tags because it may often +entered directly. Junicode makes a few of them accessible via \textSourceText{cvNN} features and tags because it may often be desirable to associate these characters with their bases rather than the Unicode code points. For example, the insular T (\textex{\restag{T\&\_\_i;\&\_\_n;}}) is sure to be searchable as T if entered with the sequence \textex{\noent{T\&\_\_i;\&\_\_n;}}, but if entered as \textex{U+A786} it may or may not be searchable as T, @@ -218,12 +222,12 @@ Characters without code points can only be entered via tags or OpenType features \mufi{period} & {.\&\_\_1;\&\_\_5;} & {\restag{.\char"0E0031\char"0E0035}} & -\arraybslash {\narrow Punctus interrogativus horizontal tilde / \ltab{F1E8}}\\\hline +\arraybslash {\jCond Punctus interrogativus horizontal tilde / \ltab{F1E8}}\\\hline % \mufi{period} & {.\&\_\_1;\&\_\_6;} & {\restag{.\char"0E0031\char"0E0036}} & -\arraybslash {\narrow Punctus interrogativus lemniskate / \ltab{F1F1}}\\\hline +\arraybslash {\jCond Punctus interrogativus lemniskate / \ltab{F1F1}}\\\hline % \mufi{period} & {.\&\_\_1;\&\_\_7;} & @@ -383,12 +387,12 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U+0304} & {\char"25CC\char"0304\&\_\_2;\&\_\_8;} & {\restag{\char"25CC\char"0304\char"0E0032\char"0E0038}} & -\arraybslash {\narrow Combining ligature o r rotunda / \tab{F03E}}\\\hline +\arraybslash {\jCond Combining ligature o r rotunda / \tab{F03E}}\\\hline % \mufi{U+0304} & {\char"25CC\char"0304\&\_\_2;\&\_\_9;} & {\restag{\char"25CC\char"0304\char"0E0032\char"0E0039}} & -\arraybslash {\narrow Combining ligature letter o rum / \ltab{F03F}}\\\hline +\arraybslash {\jCond Combining ligature letter o rum / \ltab{F03F}}\\\hline % \nuni{U+0304} & {\char"25CC\char"0304\&\_\_3;\&\_\_0;} & @@ -793,7 +797,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{h} & {h\&\_\_d;\&\_\_b;} & {\restag{h\char"0E0064\char"0E0062}} & -\arraybslash{\narrow Caroline h with right descender and bar / TBD}\\\hline +\arraybslash{\jCond Caroline h with right descender and bar / TBD}\\\hline % \stdu{I} & {I\&\_\_d;\&\_\_a;} & @@ -933,7 +937,7 @@ Characters without code points can only be entered via tags or OpenType features \opua{l} & {l\&\_\_s;\&\_\_f;} & {\restag{l\char"0E0073\char"0E0066}} & -\arraybslash {\narrow l with high stroke ending with flourish / \ltab{F000F}}\\\hline +\arraybslash {\jCond l with high stroke ending with flourish / \ltab{F000F}}\\\hline % \nuni{l} & {l\&\_\_i;\&\_\_n;} & @@ -993,7 +997,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{N} & {N\&\_\_l;\&\_\_d;} & {\restag{N\char"0E006C\char"0E0064}} & -\arraybslash {\narrow N with low bar and descender / TBD}\\\hline +\arraybslash {\jCond N with low bar and descender / TBD}\\\hline % \mufi{n} & {n\&\_\_d;\&\_\_e;} & @@ -1153,7 +1157,7 @@ Characters without code points can only be entered via tags or OpenType features \nuni{S} & {S\&\_\_s;\&\_\_d;} & \restag{S\char"0E0073\char"0E0064} & -\arraybslash {\narrow S with diagonal stroke (Sanctus abbrev)}\\\hline +\arraybslash {\jCond S with diagonal stroke (Sanctus abbrev)}\\\hline % \stdu{S} & {S\&\_\_m;\&\_\_s;} & @@ -1263,7 +1267,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U} & {U\&\_\_l;\&\_\_d;} & \restag{U\char"0E006C\char"0E0064} & -\arraybslash {\narrow Lowercase-shaped U with descender / TBD}\\\hline +\arraybslash {\jCond Lowercase-shaped U with descender / TBD}\\\hline % \mufi{u} & {u\&\_\_e;\&\_\_n;} & @@ -1303,7 +1307,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{v} & {v\&\_\_e;\&\_\_l;} & \restag{v\char"0E0065\char"0E006C} & -\arraybslash {\narrow Enlarged minuscule v with low point / TBD}\\\hline +\arraybslash {\jCond Enlarged minuscule v with low point / TBD}\\\hline % \nuni{W} & {W\&\_\_e;\&\_\_n;} & @@ -1358,12 +1362,12 @@ Characters without code points can only be entered via tags or OpenType features \mufi{x} & {x\&\_\_s;\&\_\_3;} & \restag{x\char"0E0073\char"0E0033} & -\arraybslash {\narrow x with two diagonal strokes (lower right) / \ltab{E8CE}}\\\hline +\arraybslash {\jCond x with two diagonal strokes (lower right) / \ltab{E8CE}}\\\hline % \mufi{Y} & {Y\&\_\_s;\&\_\_d;} & \restag{Y\char"0E0073\char"0E0064} & -\arraybslash {\narrow Y with diagonal stroke (Hymnus abbrev) / \ltab{E8DB}}\\\hline +\arraybslash {\jCond Y with diagonal stroke (Hymnus abbrev) / \ltab{E8DB}}\\\hline % \nuni{Y} & {Y\&\_\_e;\&\_\_n;} & @@ -1523,7 +1527,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U+A735} & {\char"0A735\&\_\_e;\&\_\_2;} & \restag{\char"0A735\char"0E0065\char"0E0032} & -\arraybslash {\narrow Enlarged minuscule ao with smaller o / \ltab{EAF2}}\\\hline +\arraybslash {\jCond Enlarged minuscule ao with smaller o / \ltab{EAF2}}\\\hline % \mufi{U+A735} & {\char"0A735\&\_\_n;\&\_\_e;} & @@ -1591,12 +1595,12 @@ Characters without code points can only be entered via tags or OpenType features \arraybslash e with dot, acute, and diagonal stroke\\\hline % \nuni{\&\_eogo;} & -{{\narrow \char"25CC\&\_eogo;}\&\_\_c;\&\_\_e;} & +{{\jCond \char"25CC\&\_eogo;}\&\_\_c;\&\_\_e;} & \restag{\char"25CC\&\_eogo;\char"0E0063\char"0E0065} & \arraybslash Combining e with centered ogonek\\\hline % \nuni{\&\_eogo;} & -{{\narrow \char"25CC\&\_eogo;}\&\_\_s;\&\_\_t;} & +{{\jCond \char"25CC\&\_eogo;}\&\_\_s;\&\_\_t;} & \restag{\char"25CC\&\_eogo;\char"0E0073\char"0E0074} & \arraybslash Combining e with diagonal stroke\\\hline % @@ -1633,22 +1637,22 @@ Characters without code points can only be entered via tags or OpenType features \opua{U+A7C1} & {\prob\&\_\_a;\&\_\_1;\footnotemark{}} & {\prob\restag{\char"0A7C1\char"0E0061\char"0E0031}} & -\arraybslash {\narrow Old Polish o with broken slash / \ltab{F0011}}\\\hline +\arraybslash {\jCond Old Polish o with broken slash / \ltab{F0011}}\\\hline % \opua{U+A7C1} & {\prob\&\_\_a;\&\_\_2;} & {\prob\restag{\char"0A7C1\char"0E0061\char"0E0032}} & -\arraybslash {\narrow Old Polish o with short slash / \ltab{F0012}}\\\hline +\arraybslash {\jCond Old Polish o with short slash / \ltab{F0012}}\\\hline % \opua{U+A7C1} & {\prob\&\_\_a;\&\_\_3;} & {\prob\restag{\char"0A7C1\char"0E0061\char"0E0033}} & -\arraybslash {\narrow Old Polish o with lower left slash / \ltab{F0013}}\\\hline +\arraybslash {\jCond Old Polish o with lower left slash / \ltab{F0013}}\\\hline % \opua{U+A7C1} & {\prob\&\_\_a;\&\_\_4;} & {\prob\restag{\char"0A7C1\char"0E0061\char"0E0034}} & -\arraybslash {\narrow Old Polish o with upper right slash / \ltab{F0014}}\\\hline +\arraybslash {\jCond Old Polish o with upper right slash / \ltab{F0014}}\\\hline % \mufi{U+1E8F} & {\char"1E8F\&\_\_s;\&\_\_d;} & @@ -1658,7 +1662,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U+A765} & {\addfontfeature{Language=Icelandic} \char"0A765\&\_\_a;\&\_\_1;} & {\addfontfeature{Language=Icelandic}\restag{\char"0A765\char"0E0061\char"0E0031}} & -\arraybslash \ {\narrow thorn with stroke with different slant / \ltab{F149}}\\\hline +\arraybslash \ {\jCond thorn with stroke with different slant / \ltab{F149}}\\\hline % \nuni{U+A765/ENG} & {\char"0A765\&\_\_a;\&\_\_1;} & @@ -1683,7 +1687,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U+204A} & {\char"204A\&\_\_a;\&\_\_3;} & \restag{\char"204A\char"0E0061\char"0E0033} & -\arraybslash {\narrow Tironian et sign without descender / TBD}\\\hline +\arraybslash {\jCond Tironian et sign without descender / TBD}\\\hline % \opua{U+2E52} & {\char"2E52\&\_\_a;\&\_\_1;} & @@ -1698,7 +1702,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{U+2E52} & {\char"2E52\&\_\_a;\&\_\_3;} & \restag{\char"2E52\char"0E0061\char"0E0033} & -\arraybslash {\narrow Tironian Et sign without descender / TBD}\\\hline +\arraybslash {\jCond Tironian Et sign without descender / TBD}\\\hline % \nuni{U+00AF} & {{\textasciimacron}\&\_\_0;\&\_\_1;} & @@ -1748,7 +1752,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{semicolon} & {;\&\_\_a;\&\_\_3;} & \restag{;\char"0E0061\char"0E0033} & -\arraybslash {\narrow Colon with middle comma positura / \ltab{F1E5}}\\\hline +\arraybslash {\jCond Colon with middle comma positura / \ltab{F1E5}}\\\hline % \mufi{semicolon} & {;\&\_\_a;\&\_\_4;} & @@ -1763,7 +1767,7 @@ Characters without code points can only be entered via tags or OpenType features \mufi{semicolon} & {;\&\_\_a;\&\_\_6;} & \restag{;\char"0E0061\char"0E0036} & -\arraybslash {\narrow Punctus with double comma positura / TBD}\\\hline +\arraybslash {\jCond Punctus with double comma positura / TBD}\\\hline % \mufi{semicolon} & {;\&\_\_a;\&\_\_7;} & diff --git a/fonts/junicodevf/lualatex/junicodevf.lua b/fonts/junicodevf/lualatex/junicodevf.lua index 7148668331..9c58f79ff9 100644 --- a/fonts/junicodevf/lualatex/junicodevf.lua +++ b/fonts/junicodevf/lualatex/junicodevf.lua @@ -26,63 +26,54 @@ alt_styles = { ExpBold = { 700, 125 } } - --- 1: Regular, 2: Light, 3: Medium -regular_weights = { - junicodevf_at_RwghtOne = { 490, 390, 590 }, - junicodevf_at_RwghtTwo = { 440, 340, 540 }, - junicodevf_at_RwghtThree = { 390, 290, 490 }, - junicodevf_at_RwghtFour = { 370, 270, 470 }, - junicodevf_at_RwghtFive = { 350, 250, 450 }, - junicodevf_at_IwghtOne = { 525, 425, 625 }, - junicodevf_at_IwghtTwo = { 475, 375, 575 }, - junicodevf_at_IwghtThree = { 425, 325, 525 }, - junicodevf_at_IwghtFour = { 370, 270, 470 }, - junicodevf_at_IwghtFive = { 350, 250, 450 } +names = { + {"Regular", "MainRegSizeDef"}, + {"Italic", "MainItalicSizeDef"}, + {"Bold", "MainBoldSizeDef"}, + {"BoldItalic", "MainBoldItalicSizeDef"} } --- 1: Bold, 2: Semibold -bold_weights = { - junicodevf_at_BwghtOne = { 790, 690 }, - junicodevf_at_BwghtTwo = { 740, 640 }, - junicodevf_at_BwghtThree = { 690, 590 }, - junicodevf_at_BwghtFour = { 650, 550 }, - junicodevf_at_BwghtFive = { 600, 500 }, - junicodevf_at_BIwghtOne = { 800, 700 }, - junicodevf_at_BIwghtTwo = { 775, 675 }, - junicodevf_at_BIwghtThree = { 725, 625 }, - junicodevf_at_BIwghtFour = { 675, 575 }, - junicodevf_at_BIwghtFive = { 625, 525 } +main_regular_styles = { + {size=8.5, wght=490, wdth=115 }, + {size=9.5, wght=472, wdth=112 }, + {size=10.5, wght=454, wdth=109 }, + {size=11.5, wght=436, wdth=106 }, + {size=12.5, wght=418, wdth=103 }, + {size=13.5, wght=400, wdth=100 }, + {size=14.5, wght=390, wdth=99 }, + {size=16.5, wght=380, wdth=98 }, + {size=19.5, wght=370, wdth=97 }, + {size=22.5, wght=360, wdth=96 }, + {size=22.5, wght=350, wdth=95 }, } - -- 1: regular, 2: condensed, 3: semicondensed, 4: semiexpanded, 5: expanded -all_widths = { - junicodevf_at_RwdthOne = { 115, 95, 100, 125, 150 }, - junicodevf_at_RwdthTwo = { 107.5, 85, 95, 120, 137.5 }, - junicodevf_at_RwdthThree = { 100, 82.5, 90, 112.5, 125 }, - junicodevf_at_RwdthFour = { 95, 75, 87.5, 107.5, 120 }, - junicodevf_at_RwdthFive = { 90, 70, 77.5, 102.5, 115 }, - junicodevf_at_IwdthOne = { 115, 95, 100, 125, 150 }, - junicodevf_at_IwdthTwo = { 107.5, 85, 95, 120, 137.5 }, - junicodevf_at_IwdthThree = { 100, 82.5, 90, 112.5, 125 }, - junicodevf_at_IwdthFour = { 95, 75, 87.5, 107.5, 120 }, - junicodevf_at_IwdthFive = { 90, 70, 77.5, 102.5, 115 }, - junicodevf_at_BwdthOne = { 115, 95, 100, 125, 150 }, - junicodevf_at_BwdthTwo = { 107.5, 85, 95, 120, 137.5 }, - junicodevf_at_BwdthThree = { 100, 82.5, 90, 112.5, 125 }, - junicodevf_at_BwdthFour = { 95, 75, 87.5, 107.5, 120 }, - junicodevf_at_BwdthFive = { 90, 70, 77.5, 102.5, 115 }, - junicodevf_at_BIwdthOne = { 115, 95, 100, 125, 150 }, - junicodevf_at_BIwdthTwo = { 107.5, 85, 95, 120, 137.5 }, - junicodevf_at_BIwdthThree = { 100, 82.5, 90, 112.5, 125 }, - junicodevf_at_BIwdthFour = { 95, 75, 87.5, 107.5, 120 }, - junicodevf_at_BIwdthFive = { 90, 70, 77.5, 102.5, 115 } +main_bold_styles = { + {size=8.5, wght=790, wdth=115 }, + {size=9.5, wght=772, wdth=112 }, + {size=10.5, wght=754, wdth=109 }, + {size=11.5, wght=736, wdth=106 }, + {size=12.5, wght=718, wdth=103 }, + {size=13.5, wght=700, wdth=100 }, + {size=14.5, wght=690, wdth=99 }, + {size=16.5, wght=680, wdth=98 }, + {size=19.5, wght=670, wdth=97 }, + {size=22.5, wght=660, wdth=96 }, + {size=22.5, wght=650, wdth=95 }, } +-- 1=Regular, 2=Light, 3=Medium +main_regular_autoadjustment = {0, -100, 100} + +-- 1=Bold, 2=SemiBold +main_bold_autoadjustment = {0, -100} + +-- 1=Regular, 2=Condensed, 3=SemiCondensed, 4=SemiExpanded, 5=Expanded +main_width_autoadjustment = { 0, -25, -12.5, 12.5, 25 } + function adjustweight(weight, adjustment) adjusted = weight + adjustment - if adjusted > 800 then adjusted = 800 end - if adjusted < 200 then adjusted = 200 end + if adjusted > 700 then adjusted = 700 end + if adjusted < 300 then adjusted = 300 end return adjusted end @@ -93,7 +84,7 @@ function adjustwidth(width, adjustment) return adjusted end - function mkaltcommands() +function mkaltcommands() for k, v in pairs(alt_styles) do romdef = k .. "Def" romsizedef = k .. "SizeDef" @@ -117,27 +108,6 @@ end end end -function mkregweightcommands(wtidx,adjustment) - for k, wt in pairs(regular_weights) do - cmd, n = string.gsub(k, "_at_", "@") - tex.print("\\newcommand*{\\" .. cmd .. "}{" .. adjustweight(wt[wtidx],adjustment) .. "}") - end -end - -function mkboldweightcommands(wtidx,adjustment) - for k, wt in pairs(bold_weights) do - cmd, n = string.gsub(k, "_at_", "@") - tex.print("\\newcommand*{\\" .. cmd .. "}{" .. adjustweight(wt[wtidx],adjustment) .. "}") - end -end - -function mkwidthcommands(wdidx, adjustment) - for k, wd in pairs(all_widths) do - cmd, n = string.gsub(k, "_at_", "@") - tex.print("\\newcommand*{\\" .. cmd .. "}{" .. adjustwidth(wd[wdidx],adjustment) .. "}") - end -end - function mkfontcommands() for k, v in pairs(alt_styles) do defcmd = k .. "Def" @@ -153,7 +123,7 @@ function mkfontcommands() end end -function mksizecommand(sizetable) +function mksizecommand_helper(sizetable) result = "Nothing yet" if #sizetable > 0 then result = "SizeFeatures={" @@ -164,11 +134,11 @@ function mksizecommand(sizetable) sizeitem = "{Size={" currentsize = v["size"] csnum = v["size"] - if i == #sizetable then + if i == #sizetable then -- last array in the list currentsize = currentsize .. "-" - elseif lastsize == 0 then + elseif lastsize == 0 then -- first array in the list currentsize = "-" .. currentsize - else + else -- an intermediate array currentsize = lastsize .. "-" .. currentsize end lastsize = csnum @@ -191,8 +161,29 @@ function mksizecommand(sizetable) end end result = result .. "}" - tex.print(result) + return result end end +function mksizecommand(sizetable) + tex.print(mksizecommand_helper(sizetable)) +end +function mkmainfontcommand(name_idx, wght_option, wght_adjust, wdth_option, wdth_adjust) + main_style_name = names[name_idx][1] + command_name = names[name_idx][2] + style_table = main_regular_styles + wght_autoadjust = main_regular_autoadjustment[wght_option] + if string.find(main_style_name, "Bold") then + style_table = main_bold_styles + wght_autoadjust = main_bold_autoadjustment[wght_option] + end + sizetable = {} + for i, v in ipairs(style_table) do + sizetable[i] = {} + sizetable[i]["size"] = v["size"] + sizetable[i]["wght"] = adjustweight(v["wght"] + wght_autoadjust, wght_adjust) + sizetable[i]["wdth"] = adjustwidth(v["wdth"] + main_width_autoadjustment[wdth_option], wdth_adjust) + end + tex.print("\\newcommand{\\" .. command_name .. "}{" .. mksizecommand_helper(sizetable) .. "}") +end diff --git a/fonts/junicodevf/lualatex/junicodevf.sty b/fonts/junicodevf/lualatex/junicodevf.sty index c01ccafa57..4dcee747a9 100644 --- a/fonts/junicodevf/lualatex/junicodevf.sty +++ b/fonts/junicodevf/lualatex/junicodevf.sty @@ -39,7 +39,6 @@ % COMMANDS FOR ADDING FEATURES TO MAIN TEXT -%\directlua{dofile("junicodevf.lua")} \directlua{dofile(kpse.find_file("junicodevf.lua"))} % Features for all four Main faces @@ -75,6 +74,10 @@ \DeclareOptionX{ENLATwoSizeFeatures}{\renewcommand*{\ENLATwoSizeDef}{\directlua{mksizecommand({#1})}}} \DeclareOptionX{ENLAThreeSizeFeatures}{\renewcommand*{\ENLAThreeSizeDef}{\directlua{mksizecommand({#1})}}} \DeclareOptionX{ENLAFourSizeFeatures}{\renewcommand*{\ENLAFourSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{EnlargedOneSizeFeatures}{\renewcommand*{\ENLAOneSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{EnlargedTwoSizeFeatures}{\renewcommand*{\ENLATwoSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{EnlargedThreeSizeFeatures}{\renewcommand*{\ENLAThreeSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{EnlargedFourSizeFeatures}{\renewcommand*{\ENLAFourSizeDef}{\directlua{mksizecommand({#1})}}} % Declare the options for each of the Alternate Styles. @@ -83,80 +86,37 @@ % Declare an option that will catch anything undefined and issue a warning. % Then process the options. -\DeclareOptionX*{\PackageWarning{JunicodeVF}{Unknown option `\CurrentOption' ignored}} +\DeclareOptionX*{\PackageWarning{junicodevf}{Unknown option '\CurrentOption' ignored}} \ProcessOptionsX\relax -% DEFINE THE WEIGHTS AND WIDTHS (depending on weight and width options) +% MAKE THE FONTS -\def\mkregweightcommands#1#2{% -\directlua{wtindex = #1 -adjustment = #2 -mkregweightcommands(wtindex, adjustment)}} +\def\makemainfontcommand#1#2#3#4#5{% +\directlua{% +style_idx = #1 +weight_option = #2 +weight_adjust = #3 +width_option = #4 +width_adjust = #5 +mkmainfontcommand(style_idx, weight_option, weight_adjust, width_option, width_adjust)}} -\def\mkboldweightcommands#1#2{% -\directlua{wtindex = #1 -adjustment = #2 -mkboldweightcommands(wtindex, adjustment)}} - -\def\mkwidthcommands#1#2{% -\directlua{wdindex = #1 -adjustment = #2 -mkwidthcommands(wdindex, adjustment)}} - -\mkregweightcommands{\junicodevf@regweight}{\wghtadjust} - -\mkboldweightcommands{\junicodevf@boldweight}{\wghtadjust} - -\mkwidthcommands{\junicodevf@width}{\wdthadjust} - -% DEFINE SizeFeatures (if we don't already have them) +% If we didn't get size features from user, make them here from defaults and +% basic options. \@ifundefined{MainRegSizeDef}{ - \newcommand*{\MainRegSizeDef}{% - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=\junicodevf@RwghtOne,wdth=\junicodevf@RwdthOne}}}, - {Size={8.5-10.99}, RawFeature={axis={wght=\junicodevf@RwghtTwo,wdth=\junicodevf@RwdthTwo}}}, - {Size={10.99-17.99}, RawFeature={axis={wght=\junicodevf@RwghtThree,wdth=\junicodevf@RwdthThree}}}, - {Size={17.99-23.99}, RawFeature={axis={wght=\junicodevf@RwghtFour,wdth=\junicodevf@RwdthFour}}}, - {Size={23.99-}, RawFeature={axis={wght=\junicodevf@RwghtFive,wdth=\junicodevf@RwdthFive}}} - } - } + \makemainfontcommand{1}{\junicodevf@regweight}{\wghtadjust}{\junicodevf@width}{\wdthadjust} }{} \@ifundefined{MainItalicSizeDef}{ - \newcommand*{\MainItalicSizeDef}{% - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=\junicodevf@IwghtOne,wdth=\junicodevf@IwdthOne}}}, - {Size={8.5-10.99}, RawFeature={axis={wght=\junicodevf@IwghtTwo,wdth=\junicodevf@IwdthTwo}}}, - {Size={10.99-17.99}, RawFeature={axis={wght=\junicodevf@IwghtThree,wdth=\junicodevf@IwdthThree}}}, - {Size={17.99-23.99}, RawFeature={axis={wght=\junicodevf@IwghtFour,wdth=\junicodevf@IwdthFour}}}, - {Size={23.99-}, RawFeature={axis={wght=\junicodevf@IwghtFive,wdth=\junicodevf@IwdthFive}}} - } - } + \makemainfontcommand{2}{\junicodevf@regweight}{\wghtadjust}{\junicodevf@width}{\wdthadjust} }{} \@ifundefined{MainBoldSizeDef}{ - \newcommand*{\MainBoldSizeDef}{% - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=\junicodevf@BwghtOne,wdth=\junicodevf@BwdthOne}}}, - {Size={8.5-10.99}, RawFeature={axis={wght=\junicodevf@BwghtTwo,wdth=\junicodevf@BwdthTwo}}}, - {Size={10.99-17.99}, RawFeature={axis={wght=\junicodevf@BwghtThree,wdth=\junicodevf@BwdthThree}}}, - {Size={17.99-23.99}, RawFeature={axis={wght=\junicodevf@BwghtFour,wdth=\junicodevf@BwdthFour}}}, - {Size={23.99-}, RawFeature={axis={wght=\junicodevf@BwghtFive,wdth=\junicodevf@BwdthFive}}} - } - } + \makemainfontcommand{3}{\junicodevf@boldweight}{\wghtadjust}{\junicodevf@width}{\wdthadjust} }{} \@ifundefined{MainBoldItalicSizeDef}{ - \newcommand*{\MainBoldItalicSizeDef}{% - SizeFeatures={ - {Size={-8.5}, RawFeature={axis={wght=\junicodevf@BIwghtOne,wdth=\junicodevf@BIwdthOne}}}, - {Size={8.5-10.99}, RawFeature={axis={wght=\junicodevf@BIwghtTwo,wdth=\junicodevf@BIwdthTwo}}}, - {Size={10.99-17.99}, RawFeature={axis={wght=\junicodevf@BIwghtThree,wdth=\junicodevf@BIwdthThree}}}, - {Size={17.99-23.99}, RawFeature={axis={wght=\junicodevf@BIwghtFour,wdth=\junicodevf@BIwdthFour}}}, - {Size={23.99-}, RawFeature={axis={wght=\junicodevf@BIwghtFive,wdth=\junicodevf@BIwdthFive}}} - } - } + \makemainfontcommand{4}{\junicodevf@boldweight}{\wghtadjust}{\junicodevf@width}{\wdthadjust} }{} % NUMBER STRINGS for fontspec. @@ -166,7 +126,8 @@ mkwidthcommands(wdindex, adjustment)}} \def\junicodevf@figurealign{Proportional} \ifjunicodevf@tabular\def\junicodevf@figurealign{Monospaced}\fi -% DECLARE THE FONTS +% Set the main font, then the alternate styles. It appears that +% the fonts aren't embedded in the PDF unless actually used. \setmainfont{Junicode VF}[ ItalicFont = {*-Italic}, @@ -240,6 +201,7 @@ mkwidthcommands(wdindex, adjustment)}} \ENLAFourSizeDef ] + % Convenience commands for non-verbose access to the cvNN features. % See also the "jcv" mnemonics below. diff --git a/fonts/junicodevf/truetype/JunicodeVF-Italic.ttf b/fonts/junicodevf/truetype/JunicodeVF-Italic.ttf index c01870c668..8a1a9005e4 100644 Binary files a/fonts/junicodevf/truetype/JunicodeVF-Italic.ttf and b/fonts/junicodevf/truetype/JunicodeVF-Italic.ttf differ diff --git a/fonts/junicodevf/truetype/JunicodeVF-Roman.ttf b/fonts/junicodevf/truetype/JunicodeVF-Roman.ttf index 3c939c7fd0..e71b9c448d 100644 Binary files a/fonts/junicodevf/truetype/JunicodeVF-Roman.ttf and b/fonts/junicodevf/truetype/JunicodeVF-Roman.ttf differ -- cgit v1.2.3