diff options
author | Karl Berry <karl@freefriends.org> | 2024-01-02 21:30:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-01-02 21:30:53 +0000 |
commit | f8915eca2482878ff31e0a4a37dce78a6687c04a (patch) | |
tree | 6aa4a29940ce7643b74f81bc3f03b11a0c440471 /Master/texmf-dist | |
parent | df98f38a4d220432cdc2c1ff9efa8ac671dd2959 (diff) |
junicodevf (2jan24)
git-svn-id: svn://tug.org/texlive/trunk@69278 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
22 files changed, 7125 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/junicodevf/JunicodeManual.pdf b/Master/texmf-dist/doc/fonts/junicodevf/JunicodeManual.pdf Binary files differnew file mode 100644 index 00000000000..62f94f23549 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/JunicodeManual.pdf diff --git a/Master/texmf-dist/doc/fonts/junicodevf/README b/Master/texmf-dist/doc/fonts/junicodevf/README new file mode 100644 index 00000000000..975de0179ce --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/README @@ -0,0 +1,130 @@ +This is the README for version 2.205 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 +the development of the Medieval Unicode Font Initiative +(MUFI), with its wealth of specialized medieval characters, +but it also provides many OpenType features that allow users +to access MUFI characters in accessible ways. + +This package supports the Junicode variable +fonts for LuaLaTeX. To install this package on +a TDS-compliant TeX system download the file +"tex-archive"/install/fonts/junicodevf.tds.zip where the +preferred URL for "tex-archive" is http://mirrors.ctan.org. +Unzip the archive at the root of an appropriate texmf tree, +likely a personal or local tree. If necessary, update the +file-name database (e.g., texhash). + +Load JunicodeVF in the usual way, with + + \usepackage{junicodevf}. + +Several options are available: + +light + + The weight of the type for the main text is Light instead + of Regular. + +medium + + The weight of the type for the main text is Medium, + somewhat heavier than Regular. + +semibold + + The weight of bold type is somewhat lighter than the usual + bold. This may be a good choice if you have selected the + light option. + +condensed + + The width of the type is narrow. Note that bold type + cannot be condensed: when this option is selected, any + bold type in the text will have normal width. + +semicondensed + + The width of the type is narrower than the default but + wider than condensed. Note that bold type cannot be + semicondensed: when this option is selected, any bold type + in the text will have normal width. + +expanded + + The width of the type is wide. Note that light type cannot + be expanded: using both the light and the expanded options + will produce an error. + + +semiexpanded + + The width of the type is wider than the default but + narrower than expanded. Note that light type cannot be + semiexpanded: using both the light and the semiexpanded + options will produce an error. + +Selecting Alternate Styles + +The Junicode font comes in thirty-eight styles: nineteen +roman and nineteen italic. You can switch to any of these +styles with one of the following commands, which will be +self-explanatory if you keep these abbreviations in mind: +Sm = Semi, Cond = Condensed, Exp = Expanded. + +\jBold +\jBoldItalic +\jCond +\jCondItalic +\jCondLight +\jCondLightItalic +\jCondMedium +\jCondMediumItalic +\jExp +\jExpItalic +\jExpBold +\jExpBoldItalic +\jExpMedium +\jExpMediumItalic +\jExpSmbold +\jExpSmboldItalic +\jItalic +\jLight +\jLightItalic +\jMedium +\jMediumItalic +\jRegular +\jSmbold +\jSmboldItalic +\jSmCond +\jSmCondItalic +\jSmCondLight +\jSmCondLightItalic +\jSmCondMedium +\jSmCondMediumItalic +\jSmExp +\jSmExpItalic +\jSmExpBold +\jSmExpBoldItalic +\jSmExpMedium +\jSmExpMediumItalic +\jSmExpSmbold +\jSmExpSmboldItalic + +There are additional commands and options; see +junicodevf-package.pdf in the doc directory. + +The ttf fonts have been downloaded from + +https://github.com/psb1558/Junicode-font + +and are licensed under the SIL Open Font License, (version +1.1); the text may be found in the doc directory. + +The documentation and the LuaLaTeX support is by Peter Baker +and is licensed under the terms of the LaTeX Project Public +License. This README is by Bob Tennent and is licensed +under the terms of the LaTeX Project Public License. The +maintainer of this package is Bob Tennent (rdtennent at +gmail dot com). diff --git a/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.pdf b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.pdf Binary files differnew file mode 100644 index 00000000000..d7f40e9d91b --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.pdf diff --git a/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.tex b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.tex new file mode 100644 index 00000000000..b753aa4fb29 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-package.tex @@ -0,0 +1,628 @@ +\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/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.pdf b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.pdf Binary files differnew file mode 100644 index 00000000000..db609d897fc --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.pdf diff --git a/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.tex b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.tex new file mode 100644 index 00000000000..8824890bc47 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/junicodevf-samples.tex @@ -0,0 +1,110 @@ +\documentclass{article} +\usepackage{lipsum} + +\usepackage{junicodevf} + +\begin{document} + +\begin{center} +\huge{\jExp JunicodeVF} +\end{center} + +\section*{Regular} +\lipsum[1] + +\section*{Italic} +\textit{\lipsum[2]} + +\section*{Small Caps Regular} +\textsc{\lipsum[5]} + +\section*{Small Caps Italic} +\textsc{\textit{\lipsum[6]}} + +\section*{Bold} +\textbf{\lipsum[3]} + +\section*{Bold Italic} +\textbf{\emph{\lipsum[4]}} + + +\section*{Small Caps Bold} +\textbf{\textsc{\lipsum[5]}} + +\section*{Small Caps Bold Italic} +\textbf{\textsc{\textit{\lipsum[6]}}} + +\section*{Default Numbers} + +1234567890 + +\section*{Oldstyle Numbers} + +{\addfontfeatures{Numbers=OldStyle}1234567890} + +\section*{Lining Numbers} + +{\addfontfeatures{Numbers=Lining}1234567890} + +\section*{Tabular Numbers} + +{\addfontfeatures{Numbers=Tabular}1234567890} + +\section*{Proportional Numbers} + +{\addfontfeatures{Numbers=Proportional}1234567890} + + +\section*{Superior Numbers} + +X{\addfontfeatures{VerticalPosition=Superior}1234567890} + +\section*{Inferior Numbers} + +X{\addfontfeatures{VerticalPosition=Inferior}1234567890} + +\section*{Light} + +{\jLight\lipsum[1]} + +\section*{Medium} + +{\jMedium\lipsum[2]} + +\section*{Semibold} + +{\jSmbold\lipsum[3]} + +\section*{Condensed} + +{\jCond\lipsum[7]} + +\section*{Condensed Italic} + +{\jCondItalic\lipsum[8]} + +\section*{Semicondensed} + +{\jSmCond\lipsum[9]} + +\section*{Semicondensed Italic} + +{\jSmCondItalic\lipsum[9]} + +\section*{Expanded} + +{\jExp\lipsum[10]} + +\section*{Expanded Italic} + +{\jExpItalic\lipsum[11]} + +\section*{Semiexpanded} + +{\jSmExp\lipsum[12]} + +\section*{Semiexpanded Italic} + +{\jSmExpItalic\lipsum[12]} + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/About.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/About.tex new file mode 100644 index 00000000000..92b71b11510 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/About.tex @@ -0,0 +1,57 @@ + +\hypertarget{aboutj}{}\chapter{About Junicode} + +{\large% +\noindent Junicode is modeled on the Pica Roman type +purchased by Oxford University in 1692 and +used to set the bulk of the Latin text of George Hickes, +{\itshape Linguarum vett. septentrionalium thesaurus +grammatico-criticus et archaeologicus} (Oxford, 1703–5). This massive two-volume folio +is not only a major work of scholarship on the languages and literatures +of northern Europe in the Middle Ages, but also a fine +example of the work of the Oxford Press at this +period: printed in multiple types (for every language had to +have its proper type) and lavishly +illustrated with engravings of manuscript pages, coins and +artifacts. + +Junicode also includes two other typefaces from the \textit{Thesaurus}: +Pica Saxon, used to set passages in the Old English language, +and a typeface reproducing the Gothic alphabet (“Gothic” here +being not the late medieval style, but rather +the earliest extensively attested Germanic language). +These were commissioned by the literary scholar +Francis\-cus Junius (1591–1677) and bequeathed by him to +the University. Examples of all these typefaces can be found +in {\itshape A Specimen of the +Several Sorts of Letter Given to the University by Dr. John Fell, +Sometime Lord Bishop of Oxford. To Which Is Added the Letter Given by +Mr. F. Junius} (Oxford, 1693).\footnote{There is a facsimile of this +work at the +\href{https://digital.bodleian.ox.ac.uk/objects/876b73f0-3e03-41c1-9fd1-0688a1785561/}{Digital Bodleian}.} + +Junicode has two distinct Greek faces. The first, newly designed to harmonize with the roman face, is +up\-right and modern. The other, accompanying the italic face, is based on type designed by Alexander +Wilson (1714–86) of Glasgow and used in numerous books published by +the Foulis Press, most notably the great Glasgow Homer of 1756–58. + +The Junicode project began around 1998, when the developer began to revise his +older (early 1990s) “Junius” fonts for medievalists to take account of the Unicode +standard, then relatively new. The font’s name, a contraction of +“Junius Unicode,” was supposed to be a stopgap, serving until a more suitable name +could be found, but “Junicode” quickly stuck, and it is now so well known that it can’t be +changed.\footnote{\ An effort to change the name to “JuniusX” produced +only confusion. If you find a font by the name JuniusX on a free font site, +that is nothing more than an early version of Junicode 2.} +The project has been active for its entire history, responding to frequent +requests from users and changes in font technology; a particular focus of +recent versions of Junicode (numbered 2.000 and higher) is the promotion of best practices in the presentation +of medieval texts, especially in +the area of accessibility. This aspect of the font is explored in the +Introduction to the Feature Reference. + +} +\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}} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/EnlargeAxis.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/EnlargeAxis.tex new file mode 100644 index 00000000000..d0c6873e3ad --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/EnlargeAxis.tex @@ -0,0 +1,219 @@ +\chapter{The Enlarge Axis}\hypertarget{enlarge}{} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}the enlarge axis} + +The character recommendation of the Medieval Unicode Font Initiative (MUFI) includes a class of characters called +“Enlarged Minuscules,” for representing characters that are lowercase in shape but intermediate between lowercase +and uppercase in size: these are often used to begin sentences in medieval manuscripts. MUFI encodes these characters +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”). +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. + +An “axis” is an aspect of a font that can be varied along a numerical range. A family of traditional fonts like Times +New Roman has a weight axis with a font file on either end: Regular and Bold. Other font families have more weights +along this axis: for example, Light, Medium, ExtraBold. Most variable fonts also have a weight axis, but all weights +are contained in a single file, and users are not restricted to just a few weights, but can select any weight between +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 +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!] + \centering\includegraphics[width=4in]{dns.png} +\end{figure} +Just as the size of these sentence-initial letters varies widely in manuscripts, so it can vary on web pages and in +print (though few applications for producing printed documents currently support variable fonts). Notice that the letters +are not simply scaled: the proportions change and the weight remains consistent (a lowercase letter scaled up would look +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. +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}. + +To use the axis in a web page, declare a CSS class specifying the value for the axis. For example, the second of the examples +in the figure above has the axis set to 75: +\begin{verbatim} + .SentenceInitial { + font-variation-settings: "wght" 400, "wdth" 100, "ENLA" 75; + } +\end{verbatim} +\noindent In the text, enclose the first letter of a sentence in a \verb!<span>! with the class “Sentence\-Initial” (the entity +is for insular d): +\begin{verbatim} + <span class="SentenceInitial">ꝺ</span>ñs +\end{verbatim} +\noindent The result will be an abbreviation that begins with an “Enlarged Minuscule” insular d, precisely matching the look +of the second example in the figure above. + +These lowercase letters are affected by the Enlarge axis:\footnote{Note that all composite characters (e.g. \textex{á}, \textex{ü}) +based on these are also affected, so that the actual number of affected characters is much greater than shown here.} +\begin{multicols}{6} + a\hfill→\hfill\enlax{a} + + \cvd[1]{2}{a}\hfill→\hfill\enlax{\cvd[1]{2}{a}} + + ꜳ\hfill→\hfill\enlax{ꜳ} + + \cvd{55}{ꜳ}\hfill→\hfill\enlax{\cvd{55}{ꜳ}} + + æ\hfill→\hfill\enlax{æ} + + \cvd[3]{57}{æ}\hfill→\hfill\enlax{\cvd[3]{57}{æ}} + + ꜵ\hfill→\hfill\enlax{ꜵ} + + \cvd{59}{ꜵ}\hfill→\hfill\enlax{\cvd{59}{ꜵ}} + + \cvd[1]{59}{ꜵ}\hfill→\hfill\enlax{\cvd[1]{59}{ꜵ}} + + ꜷ\hfill→\hfill\enlax{ꜷ} + + ꜹ\hfill→\hfill\enlax{ꜹ} + + ꜻ\hfill→\hfill\enlax{ꜻ} + + ꜽ\hfill→\hfill\enlax{ꜽ} + + b\hfill→\hfill\enlax{b} + + c\hfill→\hfill\enlax{c} + + d\hfill→\hfill\enlax{d} + + đ\hfill→\hfill\enlax{đ} + + ꝺ\hfill→\hfill\enlax{ꝺ} + + {\addfontfeature{Language=Icelandic}ð}\hfill→\hfill\enlax{{\addfontfeature{Language=Icelandic}ð}} + + {\addfontfeature{Language=English}ð}\hfill→\hfill\enlax{{\addfontfeature{Language=English}ð}} + + e\hfill→\hfill\enlax{e} + + ȩ\hfill→\hfill\enlax{ȩ} + + ę\hfill→\hfill\enlax{ę} + + \cvd{62}{ę}\hfill→\hfill\enlax{\cvd{62}{ę}} + + \cvd[1]{62}{ę}\hfill→\hfill\enlax{\cvd[1]{62}{ę}} + + f\hfill→\hfill\enlax{f} + + \cvd[4]{12}{f}\hfill→\hfill\enlax{\cvd[4]{12}{f}} + + ꝼ\hfill→\hfill\enlax{ꝼ} + + g\hfill→\hfill\enlax{g} + + ꟑ\hfill→\hfill\enlax{ꟑ} + + ᵹ\hfill→\hfill\enlax{ᵹ} + + h\hfill→\hfill\enlax{h} + + \cvd{16}{h}\hfill→\hfill\enlax{\cvd{16}{h}} + + \cvd[3]{16}{h}\hfill→\hfill\enlax{\cvd[3]{16}{h}} + + ħ\hfill→\hfill\enlax{ħ} + + \cvd[4]{16}{h}\hfill→\hfill\enlax{\cvd[4]{16}{h}} + + i\hfill→\hfill\enlax{i} + + ı\hfill→\hfill\enlax{ı} + + j\hfill→\hfill\enlax{j} + + ȷ\hfill→\hfill\enlax{ȷ} + + k\hfill→\hfill\enlax{k} + + l\hfill→\hfill\enlax{l} + + ł\hfill→\hfill\enlax{ł} + + m\hfill→\hfill\enlax{m} + + n\hfill→\hfill\enlax{n} + + o\hfill→\hfill\enlax{o} + + ɵ\hfill→\hfill\enlax{ɵ} + + ơ\hfill→\hfill\enlax{ơ} + + ƣ\hfill→\hfill\enlax{ƣ} + + ꝋ\hfill→\hfill\enlax{ꝋ} + + ꝏ\hfill→\hfill\enlax{ꝏ} + + ǫ\hfill→\hfill\enlax{ǫ} + + ø\hfill→\hfill\enlax{ø} + + œ\hfill→\hfill\enlax{œ} + + p\hfill→\hfill\enlax{p} + + ꝓ\hfill→\hfill\enlax{ꝓ} + + ꝕ\hfill→\hfill\enlax{ꝕ} + + ꝑ\hfill→\hfill\enlax{ꝑ} + + q\hfill→\hfill\enlax{q} + + ꝙ\hfill→\hfill\enlax{ꝙ} + + r\hfill→\hfill\enlax{r} + + ꞃ\hfill→\hfill\enlax{ꞃ} + + ꝛ\hfill→\hfill\enlax{ꝛ} + + ꝝ\hfill→\hfill\enlax{ꝝ} + + s\hfill→\hfill\enlax{s} + + ꞅ\hfill→\hfill\enlax{ꞅ} + + t\hfill→\hfill\enlax{t} + + ꞇ\hfill→\hfill\enlax{ꞇ} + + u\hfill→\hfill\enlax{u} + + v\hfill→\hfill\enlax{v} + + w\hfill→\hfill\enlax{w} + + ƿ\hfill→\hfill\enlax{ƿ} + + x\hfill→\hfill\enlax{x} + + y\hfill→\hfill\enlax{y} + + z\hfill→\hfill\enlax{z} + + {\addfontfeature{Language=Icelandic}þ}\hfill→\hfill\enlax{{\addfontfeature{Language=Icelandic}þ}} + + {\addfontfeature{Language=English}þ}\hfill→\hfill\enlax{{\addfontfeature{Language=English}þ}} + + {\addfontfeature{Language=Icelandic}ꝥ}\hfill→\hfill\enlax{{\addfontfeature{Language=Icelandic}ꝥ}} + + {\addfontfeature{Language=English}ꝥ}\hfill→\hfill\enlax{{\addfontfeature{Language=English}ꝥ}} + + {\addfontfeature{Language=Icelandic,CharacterVariant=66}ꝥ}\hfill→\hfill\enlax{{\addfontfeature{Language=Icelandic,CharacterVariant=66}ꝥ}} + + {\addfontfeature{Language=English,CharacterVariant=66}ꝥ}\hfill→\hfill\enlax{{\addfontfeature{Language=English,CharacterVariant=66}ꝥ}} + + ꝧ\hfill→\hfill\enlax{ꝧ} +\end{multicols}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/Feature_Reference.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/Feature_Reference.tex new file mode 100644 index 00000000000..54e7ac3fe85 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/Feature_Reference.tex @@ -0,0 +1,1897 @@ + +\chapter{Feature Reference}\hypertarget{FeatureReference}{} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}feature reference} + +\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 +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} + +Each character in the MUFI recommendation has a code point associated with it: either the one +assigned by Unicode or, where the character is not recognized by Unicode, in the Private Use Area (PUA) of the Basic +Multilingual Plane, a block of codes, running from \unic{U+E000} to \unic{U+F8FF}, that are assigned no value by Unicode but instead +are available for font designers to use in any way they please. + +The problem with PUA code points is precisely their lack of any value. Consider, as a point of comparison, the letter +\textex{a} (\unic{U+0061}). Your computer, your phone, and probably a good many other devices around the house +store a good bit of information about this \textex{a}: that it’s a letter in the Latin script, that +it’s lowercase, and that the uppercase equivalent is \textex{A} (\unic{U+0041}). All this information is +available to word processors, browsers, and other applications running on your computer. + +Now suppose you're preparing an electronic text containing what MUFI calls \textUName{latin small letter neckless +a} (\textex{}). It is assigned to code point \unic{U+F215}, which belongs to the PUA. Beyond that, your +computer knows nothing about it: not that it is a variant of \textex{a}, or that it is lowercase, or a letter in the Latin +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 +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 +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 +\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 +practice for displaying text using current font technology. + +The full range of OpenType features listed in this document is supported by all major web browsers, LibreOffice, {\XeTeX}, +{\LuaTeX}, and (presumably) other document processing applications. All characters listed here are available in Adobe +InDesign, though that program supports only a selection of OpenType features. Microsoft Word, unfortunately, supports +only Stylistic Sets, ligatures (all but the standard ones in peculiar and probably useless combinations), number +variants, and the \hyperlink{req}{Required Features}. In terms of +OpenType support, Word is the most primitive of the major text processing applications. + +Many MUFI characters cannot be produced by using the OpenType variants of Junicode. These characters fall into three +categories: + +\liststyleLi +\begin{itemize} +\item Those with Unicode (non-PUA) code points. MUFI has done valuable work obtaining Unicode code points for medieval characters. +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, +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}: +\textex{ẹ́} (when applying combining marks, start with any marks below the character and work +downwards, then continue with any marks above the character and work upwards. For example, to make +\textex{ǭ̣́}, place characters in this order: \textex{o}, +\textUName{combining ogonek} \unic{U+0328}, \textUName{combining dot below} \unic{U+0323}, \textUName{combining +macron} \unic{U+0304}, \textUName{combining acute} \unic{U+0301}). Some MUFI characters have marks in unconventional positions, +e.g. \textex{ȯ́} \textUName{latin small letter o with dot above and acute}, where the +acute appears beside the dot instead of above. This and other characters like it should still be entered as a sequence +of base character + marks (here \textex{o}, \textUName{combining dot above} \unic{U+0307}, +\textUName{combining acute} \unic{U+0301}). Junicode will position the marks in the manner prescribed by MUFI. +\item Characters for which a base character (a Unicode character to which it can be linked) cannot be identified, or for +which there may be an inconsistency in the MUFI recommendation. These include: + +\begin{itemize} +\item \textex{} \unic{U+E8AF}. This is a ligature of long \textex{s} and \textex{l} with stroke, +but there are no base characters with this style of stroke. +\item \textex{} \unic{U+EFD8} and \unic{U+EFD9}. MUFI lists these as ligatures (corresponding to the +historic ligatures \textex{\hlig{uuUU}}, but they cannot be treated as ligatures in the +font because a single diacritic is positioned over the glyphs as if they were digraphs like +\textex{ꜳꜲ}. +\item \textex{} \unic{U+EBE7} and \unic{U+EBE6}, for the same reason. +\item \textex{} \unic{U+F159} \textUName{latin abbreviation sign small de}. Neither a variant of +\textex{d} nor an eth (\textex{ð}), this character may be a candidate for Unicode +encoding. +\end{itemize} +\item Characters for which OpenType programming is not yet available. These will be added as they are located and +studied.% [Check: \unic{U+EBF1}, and smcp version.] +\end{itemize} +These characters should be avoided, even if you are otherwise using MUFI’s PUA characters: + +\liststyleLii +\begin{itemize} +\item \unic{U+F1C5} \textUName{combining curl high position}. Use \unic{U+1DCE} \textUName{combining ogonek above}. The +positioning problem mentioned in the MUFI recommendation is solved in Junicode (and, to be fair, many other fonts with +OpenType programming). +\item \unic{U+F1CA} \textUName{combining dot above high position}. Use \unic{U+0307} \textUName{combining dot above}. It +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 +exceptions noted below) have a small cap equivalent. Lowercase letters without matching caps may lack matching small +caps. fghij $\rightarrow $ \textsc{fghij}. + +Note: Precomposed characters defined by MUFI in the Private Use Area have no small cap equivalents. Instead, compose +characters using combining diacritics, as outlined in the introduction. For example, \textSourceText{smcp} applied +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}. + +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 +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}} +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 +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}) +already use case-appropriate combining marks. This feature also changes oldstyle to +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 +enlarged minuscule for a capital (or, less likely, a lowercase) letter everywhere in a text. + +\begin{center} +\tablefirsthead{\hline +\bfseries Variant of &\ +\bfseries cvNN & +\arraybslash{\bfseries Variants}\\\hline} +\tablehead{\hline +\bfseries Variant of & +\bfseries cvNN & +\centering\arraybslash{\bfseries Variants}\\\hline} +\tabletail{\hline} +\tablelasttail{\hline} +\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}}\\ +% +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}}\\ +% +\bluerow B & cv03 & +1=\cvc{\cvd{3}{B}}, 2=\cvd[1]{3}{B}\\ +% +b & cv04 & +1=\cvc{\cvd{4}{b}}\\ +% +\bluerow C & cv05 & +{1=\cvd{5}{C}, 2=\cvc{\cvd[1]{5}{C}}}\\ +% +c & cv06 & +{1=\cvd{6}{c}, 2=\cvd[1]{6}{c}}\\ +% +\bluerow D & cv07 & +{1=\cvd{7}{D}, 2=\cvc{\cvd[1]{7}{D}}, 3=\cvc{\cvd[2]{7}{D}}}\\ +% +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 ḋ)}\\ +% +\bluerow E & cv09 & +{1=\cvd{9}{E}, 2=\cvd[1]{9}{E}, 3=\cvc{\cvd[2]{9}{E}}, 4=\cvd[3]{9}{E}}\\ +% +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}}\\ +% +\bluerow F & cv11 & +{1=\cvd{11}{F}, 2=\cvc{\cvd[1]{11}{F}, 3=\cvd[2]{11}{F}}}\\ +% +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}}\\ +% +\bluerow G & cv13 & +{1=\cvd{13}{G}, 2=\cvd[1]{13}{G}, 3=\cvd[2]{13}{G}, 4=\cvc{\cvd[3]{13}{G}}}\\ +% +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}}}\\ +% +\bluerow H & cv15 & +{1=\cvd{15}{H}, 2=\cvc{\cvd[1]{15}{H}}, 3=\cvd[2]{15}{H}}\\ +% +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}}\\ +% +\bluerow I & cv17 & +{1=\cvd{17}{I}, 2=\cvd[1]{17}{I}, 3=\cvc{\cvd[2]{17}{I}}, 4=\cvd[3]{17}{I}}\\ +% +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}}*}\\ +% +\bluerow J & cv19 & +{1=\cvd{19}{J}, 2=\cvc{\cvd[1]{19}{J}}}\\ +% +j & cv20 & +{1=\cvd{20}{j}, 2=\cvd[1]{20}{j}, 3=\cvd[2]{20}{j}, \cvc{4=\cvd[3]{20}{j}}}\\ +% +\bluerow K & cv21 & +{1=\cvc{\cvd{21}{K}}}\\ +% +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}}\\ +% +\bluerow L & cv23 & +{\cvc{1=\cvd{23}{L}}}\\ +% +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}}\\ +% +\bluerow M & cv25 & +{1=\cvd{25}{M}, 2=\cvd[1]{25}{M}, 3=\cvd[2]{25}{M}, 4=\cvc{\cvd[3]{25}{M}}}\\ +% +m & cv26 & +{1=\cvd{26}{m}, 2=\cvd[1]{26}{m}, 3=\cvd[2]{26}{m}, 4=\cvc{\cvd[3]{26}{m}}}\\ +% +\bluerow N & cv27 & +{1=\cvd{27}{N}, \cvc{2=\cvd[1]{27}{N}}, 3=\cvd[2]{27}{N}}\\ +% +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}}\\ +% +\bluerow O & cv29 & +{1=\cvd{29}{O}, 2=\cvc{\cvd[1]{29}{O}}}\\ +% +o & cv30 & +{1=\cvd{30}{o}, 2=\cvc{\cvd[1]{30}{o}}}\\ +% +\bluerow P & cv31 & +{1=\cvd{31}{P}, 2=\cvc{\cvd[1]{31}{P}}}\\ +% +p & cv32 & +{1=\cvc{\cvd{32}{p}}}, 2=\cvd[1]{32}{p}**\\ +% +\bluerow Q & cv33 & +{1=\cvd{33}{Q}, 2=\cvc{\cvd[1]{33}{Q}}, 3=\cvd[2]{33}{Q}◌, + 4=\cvd[3]{33}{Q}◌◌}\\ +% +q & cv34 & +{1=\cvd{34}{q}, 2=\cvc{\cvd[1]{34}{q}}}\\ +% +\bluerow R & cv35 & +{1=\cvd{35}{R}, 2=\cvd[1]{35}{R}, 3=\cvc{\cvd[2]{35}{R}}}\\ +% +r & cv36 & +{1=\cvd{36}{r}, 2=\cvd[1]{36}{r}, 3=\cvd[2]{36}{r}, 4=\cvc{\cvd[3]{36}{r}}}\\ +% +\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}}\\ +% +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}}\\ +% +\bluerow T & cv39 & +{1=\cvd{39}{T}, 2=\cvc{\cvd[1]{39}{T}}}\\ +% +t & cv40 & +{1=\cvd{40}{t}, 2=\cvd[1]{40}{t}, 3=\cvc{\cvd[2]{40}{t}}, 4=\cvd[3]{40}{t}}\\ +% +\bluerow U & cv41 & +{1=\cvc{\cvd{41}{U}}, 2=\cvd[1]{41}{U}, 3=\cvd[2]{41}{U}}\\ +% +u & cv42 & +{1=\cvc{\cvd{42}{u}}}\\ +% +\bluerow V & cv43 & +{1=\cvc{\cvd{43}{V}}}\\ +% +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}}\\ +% +\bluerow W & cv45 & +{1=\cvc{\cvd{45}{W}}, 2=\cvd[1]{45}{W}}\\ +% +w & cv46 & +{1=\cvc{\cvd{46}{w}}, 2=\cvd[1]{46}{w}}\\ +% +\bluerow X & cv47 & +{1=\cvc{\cvd{47}{X}}}\\ +% +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}}}\\ +% +\bluerow Y & cv49 & +{1=\cvd{49}{Y}, 2=\cvc{\cvd[1]{49}{Y}}}\\ +% +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}}\\ +% +\bluerow Z & cv51 & +{1=\cvd{51}{Z}, 2=\cvc{\cvd[1]{51}{Z}}}\\ +% +z & cv52 & +{1=\cvd{52}{z}, 2=\cvd[1]{52}{z}, 3=\cvc{\cvd[2]{52}{z}}}\\ +\end{supertabular} +\end{center} + +\noindent * \textSourceText{cv18[4]} 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 +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}: +\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 +\textSourceText{\hyperlink{ss10}{ss10}} with the +entity reference \textSourceText{\&\_eogo;}. + +\begin{center} +\tablefirsthead{\hline +\bfseries Variant of & +\bfseries cvNN & +\centering\arraybslash{\bfseries Variants}\\\hline} +\tablehead{\hline +\bfseries Variant of & +\bfseries cvNN & +\arraybslash{\bfseries Variants}\\\hline} +\tabletail{\hline} +\tablelasttail{\hline} +\begin{supertabular}{| c | c |p{2.3212599in}|} +% +\bluerow\k{A} (\unic{U+0104}) & +cv53 & +{1=\cvd{53}{Ą}, 2=\cvd[1]{53}{Ą}, 3=\cvd[2]{53}{Ą}}\\ +% +\k{a} (\unic{U+0105}) & +cv54 & +{1=\cvd{54}{ą}, 2=\cvd[1]{54}{ą}}\\ +% +\bluerow ꜳ (\unic{U+A733}) & +cv55 & +{1=\cvd{55}{ꜳ}, 2=\cvd[1]{55}{ꜳ}, 3=\cvc{\cvd[2]{55}{ꜳ}}, 4=\cvd[3]{55}{æ}}\\ +% +{\AE} (\unic{U+00C6}) & +cv56 & +{1=\cvd{56}{\AE}, 2=\cvc{\cvd[1]{56}{\AE}}}\\ +% +\bluerow{\ae} (\unic{U+00E6}) & +cv57 & +{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 & +{1=\cvd{58}{Ꜵ}, 2=\cvc{\cvd[1]{58}{Ꜵ}}, 3=\cvc{\cvd[2]{58}{Ꜵ}}}\\ +% +\bluerow ꜵ (\unic{U+A735}) & +cv59 & +{1=\cvd{59}{ꜵ}, 2=\cvd[1]{59}{ꜵ}, 3=\cvc{\cvd[2]{59}{ꜵ}}}\\ +% +ꜹ (\unic{U+A739}) & +cv60 & +{1=\cvd{60}{ꜹ}}\\ +% +\bluerow{\dj} (\unic{U+0111}) & +cv61 & +{1=\cvd{61}{\dj}}\\ +% +{\narrow Ę, ę ... (U+0118, U+0119)} & +cv62 & +{1=\cvd{62}{Ę, ę ...}; 2=\cvd[1]{62}{Ę, ę ...}}\\ +% +\bluerow{\narrow Ȝ, ȝ (U+021C, U+021D)} & +cv63 & +{1=\cvd{63}{Ȝȝ}, 2=\cvd[1]{63}{Ȝȝ}}\\ +% +Ŋ (U+014A) & +cv91 & +{1=\cvd{91}{Ŋ}, 2=\cvd[1]{91}{Ŋ}}\\ +% +\bluerow{\char"0A7C1} (\unic{U+A7C1}) & +cv65 & +{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{ꝥ}}}\\ +\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. +This also affects small caps, crossed +thorn (\textex{ꝥ \revthorn{ꝥ}}---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 +always be enabled. + +\subsection{\textSourceText{ss02} -- Insular Letter-Forms} +Produces 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 +insular shapes in early manuscripts; instead, enter the Unicode code points or use the Character Variant +(\textSourceText{cvNN}) features. In English text, ss02 imitates the typography of the Old English +passages of Hickes’s \textit{Thesaurus}, not the usage of Old English or Anglo-Latin manuscripts. In +Irish texts, it imitates the distribution of insular characters but cannot imitate the style of +particular scribal hands or typefaces. + +\subsection{\textSourceText{ss04} -- High +Overline} +Produces a high overline over letters used as roman numbers: \textex{\addfontfeature{StylisticSet=4}cdijlmvx CDI JLMVXↃ}. + +\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 +well: \textex{\addfontfeature{StylisticSet=5,Style=Historic}bcdhijklmſvx{\th}}. + +\subsection{\textSourceText{ss06} -- +Enlarged Minuscules}\hypertarget{ss06}{} +Letters 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 +covers the whole of the basic Latin alphabet and a number of other letters that +occur at the beginnings of sentences. +Uppercase letters are also covered by this feature so that enlarged minuscules +can, if you like, be searched as capitals. This is Junicode's collection of +enlarged minuscules: + +\begin{multicols}{6} +\color{BrickRed}a\hfill→\hfill\enla{a} + +á\hfill→\hfill\enla{á} + +\cvd[6]{2}{a}\hfill→\hfill\enla{\cvd[6]{2}{a}} + +ꜳ\hfill→\hfill\enla{ꜳ} + +æ\hfill→\hfill\enla{æ} + +ꜵ\hfill→\hfill\enla{ꜵ} + +b\hfill→\hfill\enla{b} + +c\hfill→\hfill\enla{c} + +d\hfill→\hfill\enla{d} + +ḋ\hfill→\hfill\enla{ḋ} + +d́\hfill→\hfill\enla{d́} + +\cvd{8}{ḋ}\hfill→\hfill\enla{\cvd{8}{ḋ}} + +ꝺ\hfill→\hfill\enla{ꝺ} + +ꝺ́\hfill→\hfill\enla{ꝺ́} + +{\addfontfeature{Language=Icelandic}ð\hfill→\hfill\enla{ð}} + +ð\hfill→\hfill\enla{ð} + +e\hfill→\hfill\enla{e} + +\cvd[1]{10}{e}\hfill→\hfill\enla{\cvd[1]{10}{e}} + +é\hfill→\hfill\enla{é} + +ę\hfill→\hfill\enla{ę} + +\cvd{62}{ę}\hfill→\hfill\enla{\cvd{62}{ę}} + +f\hfill→\hfill\enla{f} + +ꝼ\hfill→\hfill\enla{ꝼ} + +g\hfill→\hfill\enla{g} + +ᵹ\hfill→\hfill\enla{ᵹ} + +ꟑ\hfill→\hfill\enla{ꟑ} + +h\hfill→\hfill\enla{h} + +\cvd{16}{h}\hfill→\hfill\enla{\cvd{16}{h}} + +\cvd[3]{16}{h}\hfill→\hfill\enla{\cvd[3]{16}{h}} + +ħ\hfill→\hfill\enla{ħ} + +i\hfill→\hfill\enla{i} + +ı\hfill→\hfill\enla{ı} + +j\hfill→\hfill\enla{j} + +ȷ\hfill→\hfill\enla{ȷ} + +k\hfill→\hfill\enla{k} + +l\hfill→\hfill\enla{l} + +m\hfill→\hfill\enla{m} + +\cvd{26}{m}\hfill→\hfill\enla{\cvd{26}{m}} + +n\hfill→\hfill\enla{n} + +o\hfill→\hfill\enla{o} + +œ\hfill→\hfill\enla{œ} + +p\hfill→\hfill\enla{p} + +q\hfill→\hfill\enla{q} + +r\hfill→\hfill\enla{r} + +s\hfill→\hfill\enla{s} + +ſ\hfill→\hfill\enla{ſ} + +t\hfill→\hfill\enla{t} + +u\hfill→\hfill\enla{u} + +v\hfill→\hfill\enla{v} + +w\hfill→\hfill\enla{w} + +ƿ\hfill→\hfill\enla{ƿ} + +x\hfill→\hfill\enla{x} + +y\hfill→\hfill\enla{y} + +z\hfill→\hfill\enla{z} + +{\addfontfeature{Language=Icelandic}þ\hfill→\hfill\enla{þ}} + +þ\hfill→\hfill\enla{þ} +\end{multicols} + +\noindent If you are using the variable version of the font (Junicode VF), consider using the +\hyperlink{enlarge}{Enlarge axis} +%\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 +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 +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}{} +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 +\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}{} +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: +\textex{\addfontfeature{StylisticAlternates=0}Gazifrequens Libycos duxit Karthago triumphos}. \textSourceText{salt[2]} +provides Lombardic capitals, a style used mainly for what are now called drop caps. Junicode’s Lombardic capitals +are not suitable for running text, titles, or headers: +\textex{\addfontfeature{StylisticAlternates=1}A\,B\,C\,D\,E\,F}. +Rustic capital Æ is available (\textex{\addfontfeature{StylisticAlternates=0}Æ}), but not Lombardic. +\textSourceText{salt[3]} provides variants of rustic G and Lombardic F and T: +\textex{\addfontfeature{StylisticAlternates=2}G\,F\,T}. +Miscellaneous alternates (for which Character Variants are +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}{ʔ}. + +\section{Greek} +Junicode has two distinct styles of Greek. In the roman face, it is upright and +modern, especially designed to harmonize with Junicode's Latin letters. In the +italic, it is slanted and old-style, being based on the eighteenth-century +Greek type designed by Alexander Wilson and used by the Foulis Press in +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 +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). + +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'' +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}), +though they look the same. + +You can set polytonic Greek either by entering code points from the Greek +Extended range or by entering sequences of base characters and diacritics. +When using the latter method, you must first make sure the language for the +text in question (whether a single word, a short passage, or a complete +document) is set to Greek, and then enter characters in canonical order +(that is, the sequence defined by Unicode as equivalent to the composite +character). The order is as follows: 1. base character; 2. diacritics +positioned either above or in front of the base character, working from left +to right or bottom to top; 3. the \textit{ypogegrammeni} (\unic{U+0345}), or for +capitals, if you prefer, the \textit{prosgegrammeni} (\unic{U+1FBE}).\footnote{\ Some +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 ᾤ}. +Substitute capital Ω (\unic{U+03A9}) and the result is +\textex{\grk ᾬ}. 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 Ὤ͏ͅ}. + +\subsection{\textSourceText{ss03} -- Alternate Greek} +Provides 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. + +\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 +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 +Futhark} +Changes 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 +Futhark} +Changes 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} -- +Long Branch to Short Twig} +In 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}. +This feature cannot change the direction of text or reverse its order. + +\section{Ligatures and Digraphs} + +Old-style fonts typically contain a standard collection of ligatures (conjoined letters), including +\textex{fi}, \textex{fl}, \textex{ff}, \textex{ffi}, and \textex{ffl}. +Most software will display these ligatures automatically (except +Microsoft Word, for which they must be enabled explicitly). Junicode has a large number of ligatures, +including the standard f-ligatures, a similar set for long s, e.g. \textex{ſl}, \textex{ſſ}, \textex{ſſi}, but also more +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 +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} + +Produces 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. +those involving long s (\textrm{ſ\hspace{0.2em}}). In Junicode, however, a +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, +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: +\addfontfeatures{Ligatures=Historic} + +\begin{multicols}{5} +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}f\hfill→\hfill{}af} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}ꝼ\hfill→\hfill{}aꝼ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}g\hfill→\hfill{}ag} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}l\hfill→\hfill{}al} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}n\hfill→\hfill{}an} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}N\hfill→\hfill{}aN} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}p\hfill→\hfill{}ap} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}r\hfill→\hfill{}ar} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}R\hfill→\hfill{}aR} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +{\addfontfeature{Language=Icelandic}a{\textcompwordmark}{\th}\hfill→\hfill{}a{\th}}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +a{\textcompwordmark}v\hfill→\hfill{}av} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +\cvd[1]{2}{a}{\textcompwordmark}{v}\hfill→\hfill{}\cvd[1]{2}{av}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +b{\textcompwordmark}b\hfill→\hfill{}bb} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +b{\textcompwordmark}g\hfill→\hfill{}bg} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +b{\textcompwordmark}o\hfill→\hfill{}bo} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +c{\textcompwordmark}h\hfill→\hfill{}ch} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +c{\textcompwordmark}k\hfill→\hfill{}ck} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ꝺ{\textcompwordmark}ꝺ\hfill→\hfill{}ꝺꝺ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +d{\textcompwordmark}e\hfill→\hfill{}de} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ꝺ{\textcompwordmark}e\hfill→\hfill{}ꝺe} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}a\hfill→\hfill{}ea} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}c\hfill→\hfill{}ec} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}ꝼ\hfill→\hfill{}eꝼ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}ᵹ\hfill→\hfill{}eᵹ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}m\hfill→\hfill{}em} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}n\hfill→\hfill{}en} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}o\hfill→\hfill{}eo} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}ꞃ\hfill→\hfill{}eꞃ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}ꞅ\hfill→\hfill{}eꞅ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}ꞇ\hfill→\hfill{}eꞇ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}x\hfill→\hfill{}ex} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +e{\textcompwordmark}y\hfill→\hfill{}ey} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +f{\textcompwordmark}ä\hfill→\hfill{}fä} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}d\hfill→\hfill{}gd} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}\revthorn{ð}\hfill→\hfill{}\revthorn{gð}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}ꝺ\hfill→\hfill{}gꝺ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}g\hfill→\hfill{}gg} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +\cvd[2]{14}{ɡ{\textcompwordmark}ɡ}\hfill→\hfill{}ɡɡ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}o\hfill→\hfill{}go} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}p\hfill→\hfill{}gp} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +g{\textcompwordmark}r\hfill→\hfill{}gr} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +H{\textcompwordmark}r\hfill→\hfill{}Hr} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +h{\textcompwordmark}r\hfill→\hfill{}hr} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +h{\textcompwordmark}ſ\hfill→\hfill{}hſ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +h{\textcompwordmark}ẝ\hfill→\hfill{}hẝ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +k{\textcompwordmark}r\hfill→\hfill{}kr} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +k{\textcompwordmark}ſ\hfill→\hfill{}kſ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +k{\textcompwordmark}ẝ\hfill→\hfill{}kẝ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +l{\textcompwordmark}l\hfill→\hfill{}ll} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +n{\textcompwordmark}a\hfill→\hfill{}na} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +n{\textcompwordmark}i\hfill→\hfill{}ni} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +\textsc{n}{\textcompwordmark}ſ\hfill→\hfill{}\textsc{nſ}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +n{\textcompwordmark}v\hfill→\hfill{}nv} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +o{\textcompwordmark}c\hfill→\hfill{}oc} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +O{\textcompwordmark}Ꝛ\hfill→\hfill{}OꝚ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +o{\textcompwordmark}ꝛ\hfill→\hfill{}oꝛ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +O{\textcompwordmark}Ꝝ\hfill→\hfill{}OꝜ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +o{\textcompwordmark}ꝝ\hfill→\hfill{}oꝝ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +P{\textcompwordmark}P\hfill→\hfill{}PP} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +p{\textcompwordmark}p\hfill→\hfill{}pp} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ꝓ{\textcompwordmark}p\hfill→\hfill{}ꝓp} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +P{\textcompwordmark}s\hfill→\hfill{}Ps} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +p{\textcompwordmark}e\hfill→\hfill{}pe} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +p{\textcompwordmark}s\hfill→\hfill{}ps} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +P{\textcompwordmark}si\hfill→\hfill{}Psi} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +p{\textcompwordmark}si\hfill→\hfill{}psi} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +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ꝫ}}}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ꝗ{\textcompwordmark}ꝗ\hfill→\hfill{}ꝗꝗ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +Q{\textcompwordmark}Ꝛ\hfill→\hfill{}QꝚ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +q{\textcompwordmark}ꝛ\hfill→\hfill{}qꝛ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ſ{\textcompwordmark}\"a\hfill→\hfill{}ſ\"a} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ſ{\textcompwordmark}c{\textcompwordmark}h\hfill→\hfill{}ſch} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ſ{\textcompwordmark}t{\textcompwordmark}r\hfill→\hfill{}ſtr} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ſ{\textcompwordmark}ꝩ\hfill→\hfill{}ſꝩ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ſ{\textcompwordmark}ƿ\hfill→\hfill{}ſƿ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ꞇ{\textcompwordmark}ꞇ\hfill→\hfill{}ꞇꞇ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +U{\textcompwordmark}E\hfill→\hfill{}UE} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +u{\textcompwordmark}e\hfill→\hfill{}ue} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +U{\textcompwordmark}U\hfill→\hfill{}UU} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +u{\textcompwordmark}u\hfill→\hfill{}uu} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ƿ{\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}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +\revthorn{{\th}{\textcompwordmark}ẝ\hfill→\hfill{}{\th}ẝ}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ð{\textcompwordmark}ð\hfill→\hfill{}ðð} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +{\th}\textcompwordmark{\th}\hfill→\hfill{}{\th}{\th}} + +{\color[rgb]{0.38039216,0.09019608,0.16078432} +ƿ{\textcompwordmark}ƿ\hfill→\hfill{}ƿƿ} + +{\color[rgb]{0.38039216,0.09019608,0.16078432}\addfontfeature{Language=English} +ꝥ{\textcompwordmark}ꝥ\hfill→\hfill{}ꝥꝥ} + +\end{multicols} + +\noindent\addfontfeatures{Ligatures=histoff} +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} -- +Discretionary Ligatures} +Produces 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 +Digraphs}\hypertarget{ss17}{} +By ``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}{% +\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 +MUFI recommendation. To produce such a digraph + diacritic combination, either type a letter + diacritic combination as +the second element of the digraph or type the diacritic after the second element. For example, +\textex{a} + \textex{\'u} yields \textex{\addfontfeature{StylisticSet=17}a\'u}, and so does +\textex{a} + \textex{u} + \unic{U+0301} (combining acute accent). To produce a digraph + +diacritic combination not covered by MUFI (e.g. \textex{ꜵ̀}), you may have to place \unic{U+034F} +\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 +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{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{nalt} -- Alternate Annotation Forms} +Produces 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}. + +\textSourceText{nalt[2]}, letter or numbers in parentheses: {\addfontfeature{Annotation=1}a .~.~. z; 0 1 .~.~. 20}. + +\textSourceText{nalt[3]}, double-circled numbers: {\addfontfeature{Annotation=2}0 1 .~.~. 10}. + +\textSourceText{nalt[4]}, white numbers in black circles: {\addfontfeature{Annotation=3}0 1 2 3 . . . 20}. + +\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 +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 +\textSourceText{onum}). + +\subsection{\textSourceText{onum} -- Oldstyle Figures} +Junicode's 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. + +\subsection{\textSourceText{pnum} -- Proportional Figures} +Junicode's 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{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} +\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 +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 +(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: +\subs{\oprop{2345} \ltab{8901}}. + +\section{Punctuation} +MUFI encodes nearly twenty marks of punctuation in the PUA. In Junicode these can be accessed in +either of two ways: all are indexed variants of \textex{.} (period), and all are associated with the Unicode marks of +punctuation they most resemble (but it should not be inferred that the medieval marks are semantically identical with +the Unicode marks, or that there is an etymological relationship between them). The first method will be easier for +most to use, but the second is more likely to yield acceptable fallbacks in environments where Junicode is not +available. + +Marks with Unicode encoding are not included here, as they can safely be entered directly. In MUFI 4.0 several marks +have PUA encodings, but have since that release been assigned Unicode code points: \textit{paragraphus} (⹍ +\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{cv69} -- Variants of ⁊⹒ +(\unic{U+204A / U+2E52}, Tironian nota)} +1=\cvd{69}{⁊⹒}, 2=\cvd[1]{69}{⁊⹒}, 3=\cvd[2]{69}{⁊⹒}. + +\subsection{\textSourceText{cv70} -- + Variants of . (period)} +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}{.}, +18=\cvd[17]{70}{.}, 19=\cvd[18]{70}{.}, 20=\cvd[19]{70}{.}. This +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)} +1=\cvd{71}{\char"25CC\textperiodcentered} (\textit{distinctio}), 2=\cvd[1]{71}{\char"25CC\textperiodcentered}. + +\subsection{\textSourceText{cv72} -- +Variants of , (comma)} +1=\cvd{72}{,}, 2=\cvd[1]{72}{,}. + +\subsection{\textSourceText{cv73} -- +Variants of ; (semicolon)} +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})} +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)} +1=\cvd{75}{!} (\textit{punctus exclamativus}). + +\subsection{\textSourceText{cv76} +-- Variants of ? (question mark)} +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''). + +\subsection{\textSourceText{cv78} -- +Variant of * (asterisk)} +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}. + +\subsection{\textSourceText{cv7}\textSourceText{9} -- Variants of / (slash)} +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)} +1=\cvd{80}{ꝝ}. + +\subsection{\textSourceText{cv82} -- Variants of spacing ꝰ (\unic{U+A770})} +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)} +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)} +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}{} +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 +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]}, +and \textSourceText{[34]}) that have no code points in Unicode or MUFI. + +This feature may often appear to have no effect. When this happens it is because +an application replaced a sequence like \textex{a \unic{U+0304}} with a precomposed character +like \textex{ā} (\unic{U+0101}) before Junicode's OpenType programming had a chance to work. +This process is called normalization, and it usually has the effect of simplifying +text processing tasks, but can sometimes prevent the proper functioning of OpenType +features. To disable it, place the character \unic{U+034F} \textUName{combining +grapheme joiner} between the base +character and the combining mark (or the first combining mark). For example, to produce +the combination \textex{\cvd[1]{84}{u͏̄}}, enter \textex{u \unic{U+034F U+0304}}. + +These marks can sometimes be produced by other \textSourceText{cvNN} features, which may be preferable to +\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. + +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 +\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}}) +with the diacritic properly positioned. + +\begin{multicols}{6} +\color{BrickRed}1\hfill=\hfill\cvd{84}{◌͏̄} + +2\hfill=\hfill\cvd[1]{84}{◌͏̄} + +3\hfill=\hfill\cvd[2]{84}{◌͏̄} + +4\hfill=\hfill\cvd[3]{84}{◌͏̄} + +5\hfill=\hfill\cvd[4]{84}{◌͏̄} + +6\hfill=\hfill\cvd[5]{84}{◌͏̄} + +7\hfill=\hfill\cvd[6]{84}{◌͏̄} + +8\hfill=\hfill\cvd[7]{84}{◌͏̄} + +9\hfill=\hfill\cvd[8]{84}{◌͏̄} + +10\hfill=\hfill\cvd[9]{84}{◌͏̄} + +11\hfill=\hfill\cvd[10]{84}{◌͏̄} + +12\hfill=\hfill\cvd[11]{84}{◌͏̄} + +13\hfill=\hfill\cvd[12]{84}{◌͏̄} + +14\hfill=\hfill\cvd[13]{84}{◌͏̄} + +15\hfill=\hfill\cvd[14]{84}{◌͏̄} + +16\hfill=\hfill\cvd[15]{84}{◌͏̄} + +17\hfill=\hfill\cvd[16]{84}{◌͏̄} + +18\hfill=\hfill\cvd[17]{84}{◌͏̄} + +19\hfill=\hfill\cvd[18]{84}{◌͏̄} + +20\hfill=\hfill\cvd[19]{84}{◌͏̄} + +21\hfill=\hfill\cvd[20]{84}{◌͏̄} + +22\hfill=\hfill\cvd[21]{84}{◌͏̄} + +23\hfill=\hfill\cvd[22]{84}{◌͏̄} + +24\hfill=\hfill\cvd[23]{84}{◌͏̄} + +25\hfill=\hfill\cvd[24]{84}{◌͏̄} + +26\hfill=\hfill\cvd[25]{84}{◌͏̄} + +27\hfill=\hfill\cvd[26]{84}{◌͏̄} + +28\hfill=\hfill\cvd[27]{84}{◌͏̄} + +29\hfill=\hfill\cvd[28]{84}{◌͏̄} + +30\hfill=\hfill\cvd[29]{84}{◌͏̄} + +31\hfill=\hfill\cvd[30]{84}{◌͏̄} + +32\hfill=\hfill\cvd[31]{84}{◌͏̄} + +33\hfill=\hfill\cvd[32]{84}{◌͏̄} + +34\hfill=\hfill\cvd[33]{84}{◌͏̄} + +35\hfill=\hfill\cvd[34]{84}{◌͏̄} + +36\hfill=\hfill\cvd[34]{84}{◌͏̄} + +37\hfill=\hfill\cvd[34]{84}{◌͏̄} +\end{multicols} + +\subsection{\textSourceText{cv81} -- Variants of ◌͛ (\unic{U+035B}, combining +zigzag above)} +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 +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{\addfontfeature{Letters=Uppercase}\cvd[1]{81}{A͛ B͛ C͛ D͛}}), +\textSourceText{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}{} +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. +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, +and stick with it.) + +If you use any of these entities in a work intended for print publication, you should call your publisher’s +attention to them, since they will likely have their own method of representing them. + +\begin{multicols}{4} +\color{RViolet}% +% Some of the marks in this table are made with cv84. It appears that the +% program may be calculating column width using the width of the unresolved +% entity, and that is causing some cells to wrap. We use cv84 for those +% cells. +\&{\textcompwordmark}\_ansc;\hfill→\hfill\textstyleEntityRef{◌\&\_ansc;} + +\&{\textcompwordmark}\_an;\hfill→\hfill\textstyleEntityRef{◌\&\_an;} + +\&{\textcompwordmark}\_ar;\hfill→\hfill\textstyleEntityRef{◌\&\_ar;} + +\&{\textcompwordmark}\_arsc;\hfill→\hfill\textstyleEntityRef{◌\&\_arsc;} + +\&\_{\textcompwordmark}as;\hfill→\hfill\textstyleEntityRef{◌\&\_as;} + +\&{\textcompwordmark}\_bsc;\hfill→\hfill\textstyleEntityRef{◌\&\_bsc;} + +\&{\textcompwordmark}\_dsc;\hfill→\hfill\textstyleEntityRef{◌\&\_dsc;} + +\&{\textcompwordmark}\_eogo;\hfill→\hfill\textstyleEntityRef{◌\&\_eogo;} + +\&{\textcompwordmark}\_emac;\hfill→\hfill\cvd[12]{84}{◌\char"0304} + +\&\_{\textcompwordmark}idotl;\hfill→\hfill\textstyleEntityRef{◌\&\_idotl;} + +\&\_{\textcompwordmark}j;\hfill→\hfill\textstyleEntityRef{◌\&\_j;} + +\&\_{\textcompwordmark}jdotl;\hfill→\hfill\textstyleEntityRef{◌\&\_jdotl;} + +\&\_{\textcompwordmark}ksc;\hfill→\hfill\textstyleEntityRef{◌\&\_ksc;} + +{\narrow\&\_{\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}} + +\&\_{\textcompwordmark}omac;\hfill→\hfill\cvd{84}{◌\char"0304} + +\&\_{\textcompwordmark}orr;\hfill→\hfill\textstyleEntityRef{◌\&\_orr;} + +\&\_{\textcompwordmark}oru;\hfill→\hfill\textstyleEntityRef{◌\&\_oru;} + +\&\_{\textcompwordmark}q;\hfill→\hfill\textstyleEntityRef{◌\&\_q;} + +\&\_{\textcompwordmark}ru;\hfill→\hfill\textstyleEntityRef{◌\&\_ru;} + +\&\_{\textcompwordmark}sa;\hfill→\hfill\textstyleEntityRef{◌\&\_sa;} + +\&\_{\textcompwordmark}tsc;\hfill→\hfill\textstyleEntityRef{◌\&\_tsc;} + +\&\_{\textcompwordmark}y;\hfill→\hfill\textstyleEntityRef{◌\&\_y;} + +{\narrow\&\_{\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}. + +\subsection{\textSourceText{ss20} -- Low Diacritics} +The 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 +(e.g. \textex{\addfontfeature{StylisticSet=20}hͣ}). +Using the MUFI code points for these precomposed glyphs can interfere with searching +and drastically reduce accessibility. Users of Junicode should instead use a sequence of base character + combining +mark, and apply \textSourceText{ss20} to the two glyphs. Variant shapes of \textex{ꝺ} and \textex{{\dh}} +that accommodate the combining mark will be substituted for the normal base characters (but this is not necessary for +the other base characters). Examples: +\textex{\addfontfeature{StylisticSet=20}bͦ ꝺᷦ \cvd[14]{84}{h̄} kͤ {\th}ͭ ðᷢ}. These marks are affected by this +feature: + +\begin{multicols}{3} + \seminarrow\color{BrickRed}◌ͣ (\unic{U+0363}) + + ◌ᷓ (\unic{U+1DD3}) + + ◌ͤ (\unic{U+0364}) + + \cvd[14]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[15]}) + + ◌ᷞ (\unic{U+1DDE}) + + \cvd[18]{84}{◌͏̄} (\unic{U+0304}\slash\textSourceText{cv84[19]}). + + ◌ͦ (\unic{U+0366}) + + ◌ͬ (\unic{U+036C}) + + ◌ᷢ (\unic{U+1DE2}) + + ◌ᷣ (\unic{U+1DE3}) + + \cvd{87}{◌ᷣ} (\unic{U+1DE3}\slash\textSourceText{cv87[1]}) + + ◌ͭ (\unic{U+036D}) + + ◌ᫎ (\unic{U+1ACE}) + + ◌ͧ (\unic{U+0367}) + + ◌ͮ (\unic{U+036E}) + + ◌ᷦ (\unic{U+1DE6}) + + ◌͛ (\unic{U+035B}) + \end{multicols} + +\noindent\textSourceText{ss20} is intended for use only with the diacritics and base characters listed here; other +base+diacritic combinations may be disrupted by the feature. You should therefore apply it only to +relevant base+diacritic pairs (e.g. via a style in InDesign or a word processor or a command in +{\LuaTeX}). + + + +\subsection{\textSourceText{cv85} -- Variant of ◌ᷓ (U+1DD3, combining open a)} +1=\cvd{85}{◌ᷓ}. + +\subsection{\textSourceText{cv86} -- Variant of ◌ᷘ (\unic{U+1DD8}, combining insular +d)} +1=\cvd{86}{◌ᷘ}. + +\subsection{\textSourceText{cv87} -- Variant of ◌ᷣ (\unic{U+1DE3}, combining r rotunda)} +1=\cvd{87}{◌ᷣ}. + +\subsection{\textSourceText{cv8}\textSourceText{8} -- Variant of combining dieresis (\unic{U+0308})} +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)} +1=\cvd{89}{◌̅}. + +\subsection{\textSourceText{cv}\textSourceText{90} -- Variants of ◌͞◌ (\unic{U+035E}, combining double macron)} +1=\cvd{90}{◌͞◌}, 2=\cvd[1]{90}{◌͞◌}. + +\subsection{\textSourceText{cv92} -- Variant of combining breve below (\unic{U+032E})} +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)} + +\begin{multicols}{6} +\color{RViolet}1\hfill=\hfill\cvd{93}{\textcurrency} + +2\hfill=\hfill\cvd[1]{93}{\textcurrency} + +3\hfill=\hfill\cvd[2]{93}{\textcurrency} + +4\hfill=\hfill\cvd[3]{93}{\textcurrency} + +5\hfill=\hfill\cvd[4]{93}{\textcurrency} + +6\hfill=\hfill\cvd[5]{93}{\textcurrency} + +7\hfill=\hfill\cvd[6]{93}{\textcurrency} + +8\hfill=\hfill\cvd[7]{93}{\textcurrency} + +9\hfill=\hfill\cvd[8]{93}{\textcurrency} + +10\hfill=\hfill\cvd[9]{93}{\textcurrency} + +11\hfill=\hfill\cvd[10]{93}{\textcurrency} + +12\hfill=\hfill\cvd[11]{93}{\textcurrency} + +13\hfill=\hfill\cvd[12]{93}{\textcurrency} + +14\hfill=\hfill\cvd[13]{93}{\textcurrency} + +15\hfill=\hfill\cvd[14]{93}{\textcurrency} + +16\hfill=\hfill\cvd[15]{93}{\textcurrency} + +17\hfill=\hfill\cvd[16]{93}{\textcurrency} + +18\hfill=\hfill\cvd[17]{93}{\textcurrency} + +19\hfill=\hfill\cvd[18]{93}{\textcurrency} + +20\hfill=\hfill\cvd[19]{93}{\textcurrency} + +21\hfill=\hfill\cvd[20]{93}{\textcurrency} + +22\hfill=\hfill\cvd[21]{93}{\textcurrency} + +23\hfill=\hfill\cvd[22]{93}{\textcurrency} + +24\hfill=\hfill\cvd[23]{93}{\textcurrency} + +25\hfill=\hfill\cvd[24]{93}{\textcurrency} + +26\hfill=\hfill\cvd[25]{93}{\textcurrency} + +27\hfill=\hfill\cvd[26]{93}{\textcurrency} +\end{multicols} + +\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})} +1=\cvd{94}{℔}. Same as MUFI \unic{U+F2EB} (French Libra sign). + +\subsection{\textSourceText{cv95} -- Variants of {\pounds} (\unic{U+00A3}, British pound sign)} +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)} +1=\cvd{96}{₰}. Same as MUFI \unic{U+F2F5}. + +\subsection{\textSourceText{cv97} -- Variant of ƒ (\unic{U+0192}, florin)} +1=\cvd{97}{ƒ}. Same as MUFI \unic{U+F2E8}. + +\subsection{\textSourceText{cv98} -- Variant of ℥ (\unic{U+2125}, Ounce sign)} +1=\cvd{98}{℥}. Same as MUFI \unic{U+F2FD}, Script ounce sign. + +\section{Ornaments} +\subsection{\textSourceText{ornm} -- Ornaments}\hypertarget{ornm}{} +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: + +\begin{multicols}{4} +a, 1{\tabto{4em}}\ornm{a} + +b, 2{\tabto{4em}}\ornm{b} + +c, 3{\tabto{4em}}\ornm{c} + +d, 4{\tabto{4em}}\ornm{d} + +e, 5{\tabto{4em}}\ornm{e} + +f, 6{\tabto{4em}}\ornm{f} + +g, 7{\tabto{4em}}\ornm{g} + +h, 8{\tabto{4em}}\ornm{h} + +i, 9{\tabto{4em}}\ornm{i} + +j, 10{\tabto{4em}}\ornm{j} + +k, 11{\tabto{4em}}\ornm{k} + +l, 12{\tabto{4em}}\ornm{l} + +m, 13{\tabto{4em}}\ornm{m} + +n, 14{\tabto{4em}}\ornm{n} + +o, 15{\tabto{4em}}\ornm{o} + +p, 16{\tabto{4em}}\ornm{p} + +q, 17{\tabto{4em}}\ornm{q} + +r, 18{\tabto{4em}}\ornm{r} + +s, 19{\tabto{4em}}\ornm{s} + +t, 20{\tabto{4em}}\ornm{t} + +u, 21{\tabto{4em}}\ornm{u} + +v, 22{\tabto{4em}}\ornm{v} + +w, 23{\tabto{4em}}\ornm{w} + +x, 24{\tabto{4em}}\ornm{x} + +y, 25{\tabto{4em}}\ornm{y} + +z, 26{\tabto{4em}}\ornm{z} + +A, 27{\tabto{4em}}\ornm{A} + +B, 28{\tabto{4em}}\ornm{B} + +C, 29{\tabto{4em}}\ornm{C} +\end{multicols} + +\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. + +\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, +commanded that the author of this document not publish her code point, located in one of the more private corners of the +Private Use Area. She has, however, given permission to publish her miniature: +\begin{center} +{\huge\char"0F19F} +\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), +\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 +Positioning). In MS Word these features have to be explicitly enabled on the Advanced tab of the Font dialog (Ctrl-D or +Cmd-D: enable Kerning, Standard Ligatures, and Contextual Alternates, and the others will be enabled automatically), +but in most other applications they are enabled by default. + + +\chapter{Non-MUFI Code Points}\hypertarget{nonmufi}{} + +Characters in Junicode that do not have Unicode code points should be accessed via OpenType +features whenever possible. MUFI/PUA code points should be used only in applications that do not support OpenType, or +that support it only partially (for example, MS Word). For certain characters that lack either Unicode or MUFI code +points, code points in the Supplementary Private Use Area-A (plane 15) are available. + +\begin{multicols}{4} +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0000\hfill\cvd{53}{Ą}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0001\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0002\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0003\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0004\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0005\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0006\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0007\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0008\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0009\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000A\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000B\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000C\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000D\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000E\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F000F\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0010\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0011\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0012\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0013\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0014\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0015\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0016\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0017\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0018\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0019\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001A\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001B\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001C\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001D\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001E\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F001F\hfill{}} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0020\hfill\char"0F0020} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0021\hfill\char"0F0021} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0030\hfill\char"0F0030} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0031\hfill\char"0F0031} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0032\hfill\char"0F0032} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0033\hfill\char"0F0033} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0034\hfill\char"0F0034} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0035\hfill\char"0F0035} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0036\hfill\char"0F0036} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0037\hfill\char"0F0037} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0038\hfill\char"0F0038} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0039\hfill\char"0F0039} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003A\hfill\char"0F003A} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003B\hfill\char"0F003B} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003C\hfill\char"0F003C} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003D\hfill\char"0F003D} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003E\hfill\char"0F003E} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F003F\hfill\char"0F003F} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0040\hfill\char"0F0040} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0041\hfill\char"0F0041} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0042\hfill\char"0F0042} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0043\hfill\char"0F0043} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0044\hfill\char"0F0044} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0045\hfill\char"0F0045} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0046\hfill\char"0F0046} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0047\hfill\char"0F0047} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0048\hfill\char"0F0048} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0049\hfill\char"0F0049} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004A\hfill\char"0F004A} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004B\hfill\char"0F004B} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004C\hfill\char"0F004C} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004D\hfill\char"0F004D} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004E\hfill\char"0F004E} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F004F\hfill\char"0F004F} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0050\hfill\char"0F0050} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0051\hfill\char"0F0051} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0052\hfill\char"0F0052} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0053\hfill\char"0F0053} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0054\hfill\char"0F0054} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0055\hfill\char"0F0055} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0056\hfill\char"0F0056} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0057\hfill\char"0F0057} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0058\hfill\char"0F0058} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F0059\hfill\char"0F0059} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F005A\hfill\char"0F005A} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F005B\hfill\char"0F005B} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F005C\hfill\char"0F005C} + +{\color[rgb]{0.13333334,0.29411766,0.07058824} +U+F005D\hfill\char"0F005D} +\end{multicols} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/GettingStarted.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/GettingStarted.tex new file mode 100644 index 00000000000..ca984d3e347 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/GettingStarted.tex @@ -0,0 +1,185 @@ + +\chapter{Getting Started with Junicode}\hypertarget{GettingStarted}{} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}getting started} + +Junicode comes in two flavors—static and variable. Static fonts are the ones +users are most familiar with, each font file supplying a single set of outlines +that do not change except in size. By contrast, a single +\href{https://fonts.google.com/knowledge/introducing_type/introducing_variable_fonts}{variable font} +file stores a set of +outlines that can morph in various ways—for example, becoming bolder or lighter, +narrower or wider, and sometimes undergoing more complex transformations. The static +version of Junicode consists of thirty-eight font files, +each providing a distinct variation of the font’s style; the variable version consists +of only two (one each for roman and italic), but those two font files are capable of +much more than the static version's thirty-eight. + +Because the static and variable versions of Junicode are differently named +(“Junicode” and “Junicode VF”), both can be installed on the same system. However, +you should choose one or the other for any particular project. Choose the static +version if the application you are using does not yet support variable fonts. Such +applications include Microsoft Word, Apple Pages, Quark Xpress, Google Docs, +Affinity Publisher, and most flavors of {\TeX} (except for {\LuaTeX}—see below). Another +reason to choose the static version is its familiarity: if you don't need the +advanced capabilities of the variable version, it is perfectly all right to stick +with what you know. + +All major web browsers (including browsers for mobile devices) support variable fonts, +and there are good reasons to choose +the variable version of Junicode for any web project. The greatest reason to go +with the variable version is to speed the loading of web pages: users will never +have to download more than two font files (the size of which can be radically +reduced via subsetting, explained in Section 9 of this Manual). Additionally, +however, variable fonts can make a page of text more dynamic and visually +interesting. See Mozilla's +\href{https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_fonts/Variable_fonts_guide}% +{Variable Fonts Guide} for more information about using variable fonts on the web. + +A growing number of desktop applications support variable fonts. Use the variable version of +Junicode in Adobe InDesign (always with the World-Ready Paragraph Composer).\footnote{% +The choice of a Composer is well hidden in the “Justification” section of the +“Paragraph Style Options” dialog. Use of the default “Adobe Paragraph Composer” +with Junicode VF may cause InDesign to crash or otherwise misbehave. To prevent crashes +when using the variable version of Junicode, +it is also advisable to delete InDesign's preferences when launching the program after +a font upgrade. To do this, press Shift-Alt-Control (on Windows) or +Shift-Control-Option-Command (on the Mac) all together, \textit{immediately} after +clicking to launch InDesign.} LibreOffice +has supported variable fonts since version 7.5 (2023). {\LuaTeX} has excellent support +for variable fonts: make sure your {\TeX} installation is up to date (since in +recent years support for variable fonts has improved with every release), and always choose “harf” +mode in your font-selection code. For an example of font-selection code for a +variable font, see the file +\href{https://github.com/psb1558/Junicode-font/blob/master/docs/JunicodeManual.sty}% +{JunicodeManual.sty} (part of the source for this manual) in the “docs” directory of the GitHub Junicode site. +You are welcome to copy and modify this code. A number of graphical design apps +also support variable fonts, including Adobe Illustrator, PhotoShop, Figma, +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}) +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 +make a selection. You will probably want the traditional Regular, Bold, Italic, and Bold +Italic fonts, but you should survey the styles displayed in the Specimen +section of this booklet, choose the ones that look best to you, and install +only those. A reasonable selection for many users will include the traditional four +styles for main text, several SemiExpanded styles for footnotes, and +SemiCondensed for titles. + +Junicode’s static fonts come in two types, TrueType (files with a .ttf extension) and +CFF (files with an .otf extension). These are functionally identical, but they may look +subtly different on your computer’s screen because of the different technologies used to +render glyphs. Choose the one you find most appealing. + +With around 5,000 characters, Junicode is a large font. Finding the things you +want in a collection that size can be a challenge, and then entering them in your +documents is another challenge. This document will help, but it +presupposes a certain amount of knowledge—for example, how to install a font in +Windows, Mac OS or Linux and how to install and use different kinds of software. + +Medievalists will find the \href{https://bora.uib.no/bora-xmlui/handle/1956/10699}% +{\textit{MUFI Character Recommendation}}, version 4.0 (2015) +an essential supplement to this document. The \textit{Recommendation} lists +thousands of characters identified by the +Medieval Unicode Font Initiative as being of interest to medievalists. Junicode +contains all of these characters. There are two versions of the \textit{Recommendation}: +you will probably find the “Alphabetical Order” version most helpful. + +From the \textit{MUFI Character Recommendation} and Chapter 10 (“Encoded Glyphs in +Junicode”) of this manual, you can find out +the \textbf{code points}\footnote{\ A Unicode code point is a numerical identifier for a character. +It is generally expressed as a +four-digit hexadecimal (or base-16) number with a prefix of ``U+''. The letter +capital ``A,'' for example, is \unic{U+0041} (65 +in decimal notation), and lowercase ``ȝ'' (Middle English yogh) is \unic{U+021D}.} +of the characters you need. These code points can be used to enter +characters in your documents when they cannot be typed on the keyboard. + +To enter any Unicode character in a Windows application, type its four-digit +code, followed by Alt-X. To do the same in the Mac OS, first install and switch +to the “Unicode Hex Input” keyboard, then type the code while holding down the Option +key. In most Linux distributions you can enter a code by typing Shift-Control-U, +then the code followed by Return or Enter. + +\textbf{Combining marks} (diacritics and certain abbreviation signs) can pose special problems for +medievalists. Unicode contains a great +many \textbf{precomposed characters} consisting of a base letter plus one or more marks. +If these are all you need you're fortunate---especially if they can be +typed on an international keyboard (not all can).\footnote{\ Both +Windows and the Mac OS come with international keyboards that make it easy to +type special letters and diacritics. To find out how to enable these, search +online for “Mac OS International Keyboard” or “Windows International Keyboard.”} +But medieval manuscripts frequently contain +combinations of base + mark that are not used in modern written languages. +For these, you'll have to +enter bases and marks separately. + +To position a mark correctly over a base character, first enter the base, +followed by the mark or marks. +The sequence \textbf{m} + \textbf{◌ᷙ} (\unic{U+1DD9}) +will make \textex{mᷙ}; +\mbox{\textbf{y} + \textbf{◌̄}} (\unic{U+0304}) + \textbf{◌̆} (\unic{U+0306}) will make \textex{ȳ̆}; +\textbf{e} + \textbf{◌̣} (\unic{U+0323}) + \textbf{◌ᷠ} (\unic{U+1DE0}) will make \textex{ẹᷠ}. + +More than sixteen hundred characters in Junicode can only be accessed via OpenType features—that is, +by way of the programming built into the font—and many others \textit{should} be +accessed that way for reasons explained in the Introduction +to the Feature Reference section of this document. + +For example, some programs (including Microsoft Word) produce small caps by +scaling capitals down to approximately the height of lowercase letters. +These always look too thin and light. +But Junicode contains hundreds of \textsc{true small caps} designed to harmonize with +the surrounding text. These can only be accessed via the OpenType \textSourceText{smcp} feature, +which you can apply to a run of text much as you apply italic or bold styles: +select some text and then apply the feature. + +Unfortunately, not every program supports OpenType features, and some that do +either support only a few or make them difficult to access. Programs +that support Junicode’s features fully include the free word processor +\href{https://www.libreoffice.org/}{LibreOffice Writer}, all major browsers +(Firefox, Chrome, Safari and Edge), and +the typesetting programs {\LuaLaTeX} and {\XeLaTeX}. Adobe InDesign supports +OpenType features only partially, but all features can be accessed via +Roland Dreger’s \href{https://github.com/RolandDreger/open-type-features}{open-type-features} +script, and InDesign provides access to +all of Junicode's characters via its “Glyphs” dialog. + +Microsoft Word, unfortunately, provides only limited support for OpenType +features. It supports the \hyperlink{req}{Required Features} discussed below, and also +variant number forms and Stylistic Sets (though only one at a time). Many characters +(for example, \textsc{true small caps} and those accessible only via Character +Variant features) cannot be accessed at all. To activate Word's OpenType +support, you must open the “Font” dialog, click over to the “Advanced” tab, +and check the “Kerning” box. (Oddly, the “Kerning” box enables all other +OpenType features.) Then, in the same tab, select Standard Ligatures, Contextual +Alternates, and any other features you want. +OpenType features are best applied to character styles rather than +directly to text: this will +save you from having to perform this operation repeatedly. + +It is also good to set the language properly for the text you're working on. +Programs like Word will automatically set the language to the default for your system. If you +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 +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. + +In LibreOffice and InDesign you can set the language with a drop-down menu +in the “Character” dialog. In Word there is a separate “Language” dialog, +accessible from the “Tools” menu. + +If you have questions about any aspect of Junicode, +post a query in the \href{https://github.com/psb1558/Junicode-font/discussions}% +{Junicode discussion forum}. If you notice a bug, or wish to +request an enhancement or other change, please open an +\href{https://github.com/psb1558/Junicode-font/issues}{issue} at the font's +\href{https://github.com/psb1558/Junicode-font}{development site}. diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.sty b/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.sty new file mode 100644 index 00000000000..7c5ba436286 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.sty @@ -0,0 +1,381 @@ +\ProvidesPackage{JunicodeManual} + +\usepackage{microtype} +\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{graphicx} +\usepackage[table,dvipsnames]{xcolor} +\definecolor{BrickRed}{RGB}{146,18,6} +\definecolor{SlateGray}{RGB}{112,128,144} +\definecolor{GGOrange}{RGB}{240,74,6} +\definecolor{RViolet}{RGB}{70,18,87} +\definecolor{myRed}{rgb}{0.5,0,0} +\definecolor{myBlue}{rgb}{0,0,0.5} +\definecolor{myLightRed}{RGB}{255,232,244} +\definecolor{myLightYellow}{RGB}{239,249,218} +\definecolor{myLightBlue}{RGB}{203,228,249} +\definecolor{myLightGreen}{RGB}{234,255,244} +\definecolor{myLightPurple}{RGB}{214,205,234} +\usepackage{multicol} +\usepackage{array} +\usepackage{tabto} +\usepackage{supertabular} +\usepackage{hhline} +\usepackage{metalogo} +\usepackage{hyperref} +\hypersetup{pdftex, colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue,% + urlcolor=blue, pdftitle=, pdfauthor=, pdfsubject=, pdfkeywords=} +% Footnotes configuration +\makeatletter +\renewcommand\thefootnote{\arabic{footnote}} +\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}}} +\newcommand\textUName[1]{\textsc{#1}} +\newcommand\textSourceText[1]{{\color{GGOrange}\texttt{#1}}} +\newcommand\cvc[1]{{\color{magenta}#1}} +\newcommand\textstyleEmphasis[1]{\textit{#1}} +\newcommand\textstyleEntityRef[1]{\textrm{#1}} +\newcommand{\cvd}[3][0]{{\addfontfeature{CharacterVariant=#2:#1}#3}} +\newcommand{\hlig}[1]{{\addfontfeature{Ligatures=Historic}#1}} +\newcommand{\sups}[1]{{\addfontfeature{VerticalPosition = Superior}#1}} +\newcommand{\subs}[1]{{\addfontfeature{VerticalPosition = Inferior}#1}} +\newcommand{\oprop}[1]{{\addfontfeature{Numbers={Lowercase,Proportional}}#1}} +\newcommand{\lprop}[1]{{\addfontfeature{Numbers={Uppercase,Proportional}}#1}} +\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{\ltech}{Lua\kern-1.5pt\TeX} +\newcommand{\restag}[1]{{\addfontfeature{StylisticSet=10}#1}} +\newcommand{\mufi}{\rowcolor{myLightGreen}} +\newcommand{\prob}{\cellcolor{myLightPurple}} +\newcommand{\opua}{\rowcolor{myLightYellow}} +\newcommand{\stdu}{\rowcolor{myLightBlue}} +\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} +\makeatletter +\newcommand\arraybslash{\let\\\@arraycr} +\makeatother +% Page layout (geometry) +%\setlength\voffset{-1in} +%\setlength\hoffset{-0.75in} +%\setlength\topmargin{1in} +%\setlength\oddsidemargin{1in} +%\setlength\textheight{8.000001in} +%\setlength\textwidth{6in} +%\setlength\footskip{0.0cm} +\setlength\headheight{15pt} +%\setlength\headsep{0.2in} +% Footnote rule +%\setlength{\skip\footins}{14pt} +%\renewcommand\footnoterule{\vspace*{-0.0071in}\setlength\leftskip{0pt}\setlength\rightskip{0pt plus 1fil}\noindent\textcolor{black}{\rule{0.25\columnwidth}{0.0071in}}\vspace*{0.0398in}} +% Pages styles +\pagestyle{fancy} +\footskip = 30pt +\headsep = 30pt +\renewcommand{\headrule}{} +\fancyhead[L]{} +\fancyhead[C]{} +\fancyhead[R]{} +\fancyfoot[L]{} +\fancyfoot[C]{} +\fancyfoot[R]{} +\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{\subsection}[hang]{\large\color{BrickRed}}{\thesubsection.}{1em}{} +% List styles +\newcommand\liststyleLi{% +\renewcommand\labelitemi{{\textbullet}} +\renewcommand\labelitemii{{\textbullet}} +\renewcommand\labelitemiii{{\textbullet}} +\renewcommand\labelitemiv{{\textbullet}} +} +\newcommand\liststyleLii{% +\renewcommand\labelitemi{{\textbullet}} +\renewcommand\labelitemii{{\textbullet}} +\renewcommand\labelitemiii{{\textbullet}} +\renewcommand\labelitemiv{{\textbullet}} +} +\newcounter{Feature} +\renewcommand\theFeature{\arabic{Feature}} +\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}} +\tolerance=1500 +\widowpenalty=500 +\clubpenalty=500 +\frenchspacing +\raggedbottom +\usepackage{unicodefonttable} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.tex new file mode 100644 index 00000000000..ab6c96dad10 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/JunicodeManual.tex @@ -0,0 +1,55 @@ +\documentclass[12pt,letterpaper,openany]{book} +% +\usepackage{JunicodeManual} +% +\begin{document} + +\addfontfeature{Script=Latin,Language=English,Contextuals=Alternate} + +\begin{titlepage} +\huge\noindent +{\color{myRed}}\\[5cm] +\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}\\ +\vfill +{\color{myRed}} +\end{titlepage} +\cleardoublepage +\thispagestyle{plain} + +\tableofcontents + +\mainmatter + +\input{About.tex} + +\input{Specimens.tex} + +\input{GettingStarted.tex} + +\input{Feature_Reference.tex} + +\input{tag_key_ins.tex} + +\input{Record_Interpreter_notes.tex} + +\input{EnlargeAxis.tex} + +\input{OnTheWeb.tex} + +\input{encoded-glyphs.tex} + +\vspace*{\fill} +\begin{center} +{\stditalic{This document was set in 12pt Junicode VF\\ +using the {\LuaLaTeX} typesetting system with fontspec for font management.\\ +The source for the document, JunicodeManual.tex, is available at}}\\ +{\color{BrickRed}https://github.com/psb1558/Junicode-font.} +\end{center} +%\thispagestyle{plain} + + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/OnTheWeb.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/OnTheWeb.tex new file mode 100644 index 00000000000..cc8a9e36cee --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/OnTheWeb.tex @@ -0,0 +1,257 @@ + +\chapter{Junicode on the Web}\hypertarget{OnTheWeb}{} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}on the web} + +If you are using Junicode on a web page, you should prefer the variable fonts +(those with “VF” in the family name and filename) to the static fonts. One +variable font file can do the work of many traditional font files. For example, +the \href{https://psb1558.github.io/Junicode-font/Junicode-2-feature-test.html}% +{Test of High-Level CSS Properties} web page displays Junicode in regular, +bold and semicondensed styles. It used +to be that your user would have to download three font files, one for each +style, but one variable font will display all three. + +But you may be thinking, \textit{That font is big}! It's true: even the +compressed webfont (.woff2) is nearly a megabyte in size—enough to seriously +slow down the loading of a web page. + +To solve this problem, you'll need to subset the font—that is, produce a copy +that contains only what you need. The subsetted font that downloads +with the property test web page +is approximately 275k in size—almost thirty percent of the +size of the full webfont. It's still a pretty big download, but that's because the page +displays a lot of the font's features. If I were displaying, say, a diplomatic +transcript of a Latin text, the font would be much smaller. + +So the first section of this chapter will talk about how to subset the Junicode +font. + +\section{Subsetting Junicode} + +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 +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 +link to it, in your CSS. These steps should settle any ambiguity about whether +you are in compliance with the license. + +Generating a subsetted version of Junicode should be one of the last tasks you +perform before deploying your web page(s). Until then, it is recommended that +you work with the unmodified font. After subsetting, review your +pages thoroughly to make sure everything is displayed properly. If you have +forgotten to include a glyph in your subsetted font, you will see little boxes +where characters should be or, perhaps, the correct characters +displayed in the wrong typeface. If you have omitted features, you will see +default instead of transformed characters. + +There are many subsetting programs, some online and very easy to use. But for +maximum control (and thus the smallest fonts), you should choose pyftsubset, a +part of the \href{https://github.com/fonttools/fonttools}{fontTools} library, +which runs under Python 3.7 or higher. This is a command-line tool which +takes a long list of arguments; you should create a shell script to run it. + +Here is the script used to create the subsetted font for the property test +web page mentioned above: + +\small\begin{verbatim} +#!/bin/zsh +pyftsubset JunicodeVF-Roman.ttf \ +--flavor=woff2 --output-file=JunicodeVFsubset.woff2 \ +--recommended-glyphs \ +--text="jq" --text-file=Junicode-2-feature-test.html \ +--layout-features+=liga,ss01,ss02,ss03,ss04,ss05,ss06,ss07,ss08,\ +ss10,ss12,ss13,ss14,ss15,ss16,ss17,ss18,ss19,ss20,cv01,cv02,cv05,\ +cv06,cv07,cv08,cv09,cv10,dlig,hlig,onum,pnum,pcap,smcp,c2sc,subs,\ +sups,zero \ +--layout-features-=rlig +\end{verbatim} + +\normalsize\noindent For those unfamiliar with shell scripts, the first line specifies the shell +the script is to run under (in this case the default shell for Mac OS, but +\texttt{bash} is another possible choice), and the backslashes mean +that the command continues on the next line. The rest of the file is a list +of arguments passed to pyftsubset. Let's walk through them. + +First after the program name comes the name of the unsubsetted, uncompressed +font file. After that, +the \texttt{--flavor} argument tells the program that you want a webfont in +woff2 format, and \texttt{--output} is the name of the font file you want the +program to save. + +Having taken care of this preliminary business, we tell pyftsubset what we +want the font to contain. + +\texttt{--recommended-glyphs} includes a few characters that +every font should have, according to the OpenType specification---though in +fact modern browsers don't care. It's best, however, to conform to the specification, +since it's impossible to say with absolute certainty that no program will +ever reject the font +because of the absence of these few characters. + +\texttt{--text-file} is the name of a file to treat as a list of characters +that \textit{must} be included in the font. In this case I have simply used +the html file for the web page for this purpose. If your site contains +multiple web pages, your job will be more complicated. You must make sure the +text file contains all the characters used on the site---either that or +supplement the text file with a \texttt{--text} argument (which here adds +two lowercase letters that don't appear in the web page---just in case). +The text file will +contain only encoded characters—you don't have to worry here about unencoded +characters produced by OpenType features. + +\texttt{--layout-features+} tells the program which OpenType features you +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 +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}. + + +\texttt{--layout-features-} tells the program which OpenType features to omit. +Normally, \textSourceText{rlig} (Required Ligtures) is automatically +included in fonts by pyftsubset, but as it has no relevance to this web page, +it can be omitted. + +These are the most useful arguments, but there are many more. Type +\texttt{pyftsubset --help} for a complete list. Once you have written your +script, run it (in Mac OS or Linux you need to make the file executable +by typing \texttt{chmod +x mysubsetscript} on the command line). + +Before you put your subsetted font to work, check it carefully in a program +like \href{https://github.com/justvanrossum/fontgoggles}{FontGoggles}, +which lets you preview the font and test all its OpenType features. If you +find errors, revise your script and run it again. + +\section{Junicode and CSS/HTML} + +This section assumes a basic knowledge of HTML (Hypertext Markup Language, used +to construct web pages) and CSS (Cascading Style Sheets, used to format them). +If you want to learn about these subjects, the number of good books and online +tutorials is so great that it makes no sense to try to list them. Just make sure +that the instructional materials you choose are of recent vintage, because the +relevant standards are always changing. + +In the CSS for your web page, the \texttt{@font-face} at-rule for a variable +font is a little different +from the one for a static font in that the range of possible values for each +axis can be declared: + +\small\begin{verbatim} +@font-face { + font-family: "Junicode VF"; + src: url("./webfiles/JunicodeVFsubset.woff2"); + font-weight: 300 700; + font-stretch: 75% 125%; + font-style: normal; +} +\end{verbatim} + +\normalsize\noindent These ranges are not strictly necessary, but they will prevent your +supplying invalid values for \texttt{font-weight} and \texttt{font-stretch} +(that is, \texttt{width}) in other CSS rules. + +Once you have declared the font, you can invoke it in setting up classes. +For example: + +\small\begin{verbatim} +body { + font-family: "Junicode VF"; + font-size: 28px; + font-weight: normal; /* that is, 400 */ + font-stretch: 112.5%; /* that is, semiexpanded */ +} +h1 { + font-family: "Junicode VF"; + font-size: 125%; + font-weight: 600; /* that is, semibold */ + font-stretch: 112.5%; /* that is, semiexpanded */ +} +.annotation { + font-size: 90%; + font-weight: 300; /* that is, light */ + font-stretch: 87.5%; /* that is, semicondensed */ +} +\end{verbatim} + +\normalsize\noindent These classes should be tested in all browsers. If any fail to +display text properly, you can use \texttt{font-variation-settings} +instead of the high-level \texttt{font-weight} and \texttt{font-stretch}: + +\small\begin{verbatim} +body { + font-family: "Junicode VF"; + font-size: 28px; + font-variation-settings: "wght" 400, "wdth" 112.5; +} +h1 { + font-family: "Junicode VF"; + font-size: 125%; + font-variation-settings: "wght" 600, "wdth" 112.5; +} +.annotation { + font-size: 90%; + font-variation-settings: "wght" 300, "wdth" 87.5; +} +\end{verbatim} + +\normalsize\noindent To accommodate older browsers, you should make a selection of +Junicode static fonts, subset them, and include them in your CSS. For example, +if you need normal and bold weights of Junicode roman, your +\texttt{@font-face} at-rule may look like this: + +\small\begin{verbatim} +@font-face { + font-family: "Junicode VF"; + src: url("./webfiles/JunicodeVFsubset.woff2"); + font-weight: 300 700; + font-stretch: 75% 125%; + font-style: normal; +} +@font-face { + font-family: "Junicode"; + src: url("./webfiles/Junicode-Regular.woff2"); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: "Junicode"; + src: url("./webfiles/Junicode-Bold.woff2"); + font-weight: 700; + font-style: normal; +} +\end{verbatim} + +\normalsize\noindent Now use \texttt{@supports} in your CSS rules to determine which +font gets downloaded: + +\small\begin{verbatim} +body { + font-family: "Junicode", serif; +} +@supports (font-variation-settings: normal) { + body { + font-family: "Junicode VF", serif; + } +} +b { + font-weight: 700; +} +@supports (font-variation-settings: "wght" 700) { + b { + font-variation-settings: "wght" 700; + } +} +\end{verbatim} + +\normalsize\noindent The variable version of Junicode will be downloaded only if +the browser supports it, and the static version will be downloaded only if +needed. diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/Record_Interpreter_notes.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/Record_Interpreter_notes.tex new file mode 100644 index 00000000000..a80c4a6fb85 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/Record_Interpreter_notes.tex @@ -0,0 +1,287 @@ +\chapter{Transcribing records} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}transcribing records} + +This chapter provides guidance for persons transcribing records (laws and other +public documents) in the style of Charles Trice Martin’s +\textit{The Record Interpreter}, \textit{Statutes of the Realm}, and similar guides +and editions. +Unlike most editions of early texts, these retain (or recommend retaining) the capitalization, +punctuation, and abbreviations of their manuscript sources. + +\section{A preliminary note on transcription} +Here are a few observations, based on a long career as a scholarly editor of medieval and eighteenth-century texts. + +Before embarking on the task of transcribing an old document, ask yourself what value you want to add to the document as +it already exists, because different kinds of transcription add different kinds of value. The kind of transcription +that adds the least is that which aims at the exact \textit{visual} reproduction of a document. A transcript is not a +facsimile: it needs to do something that a photograph can't do. + +Converting a document from visual image to Unicode-encoded text adds a good bit of value all by itself, but only if done +with due regard for the semantics of Unicode characters. Every Unicode character has a meaning, and that meaning is a +help to readers. Using the wrong character is a hinderance to readers, even it if \textit{looks} right. + +For example, in transcribing a Middle English text, you may decide that the Unicode ezh (\char"0292,~\unic{U+0292}) looks more like +the yogh in your source than the Unicode yogh (\kern+1.5pt\char"021D,~\unic{U+021D}) and therefore decide to use it for yogh. But the ezh is +not a yogh! It is a character in the International Phonetic Alphabet and a letter in the alphabets of several minor +languages---but not a letter in the Middle English language. If you use it where the yogh is called for, it will make +your text less accessible and less searchable. Indexing, concordance and bibliographical programs may be misled by it; +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 +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 +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 +abbreviations, punctuation, and diacritics of an old text it is more important than ever that you use semantically +correct characters for your transcription, as this will help readers who already face significant challenges. + +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 +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. + +This doesn't mean, though, that computer programs can correctly interpret \textex{\hlig{\char"0A753p\char"0363}} as +\textit{propterea}. Many (probably \textit{most}) Latin abbreviations are ambiguous: this one, +for example, can mean \textit{propterea} or \textit{propria}. Some abbreviations (most +notoriously \textex{\char"25CC\char"035B} \unic{U+035B}) can mean many things, depending on context. It takes a human being with a +knowledge of Latin to interpret them correctly. + +So another way you can add value in your transcript is by interpreting abbreviations like +\textex{\hlig{\char"0A753p\char"0363}} and +supplying expansions of them. Fortunately, systems for representing texts often offer ways to handle this task +gracefully. For example, in a TEI (Text Encoding Initiative) text, you would use this construction:\\[1ex] + +\noindent\verb!<choice>!\newline +\verb! <abbr rend="hlig">!\textrm{\hlig{\char"0A753p\char"0363}}\verb!</abbr>!\newline +\verb! <expan>propterea</expan>!\newline +\verb!</choice>!\\[1ex] + +\noindent This kind of structure can be approximated in HTML, with supporting CSS and scripting to allow readers to choose between +a ``diplomatic'' version, with unexpanded abbreviations, and a ``reading'' version, with expanded abbreviations and +perhaps other amenities, such as modern punctuation and capitalization. + +There are other ways to add value to a transcript---for example, by correcting errors, annotating the content, or +writing textual notes. Each of these operations takes your transcript farther from the facsimile and closer to the +edition. + +\section[Common combining marks]{Common combining marks} +A \textbf{combining mark} is a character that combines with another character (called the \textbf{base}) to form a +character with accent (e.g. \textex{\'e}) or an abbreviation (e.g. \textex{\cvd[1]{81}{p\char"035B}} for \textit{prae}). +Unicode and the Medieval Unicode Font Initiative (MUFI) offer code points for many precomposed combinations of base + +combining mark, but it is also possible to place any mark over any base character by entering first the base and then +the combining mark. It is also possible to place a combining mark over another combining mark. For example, to produce +\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 +\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.\\ + +\noindent\secletter{a.}\ \ For a straight stroke over any letter, use the \textsc{combining macron} (\unic{U+0304}): +\begin{quote} +\=onis \textit{omnis}; o\={m}is \textit{omnis}; d\=apna \textit{dampna}; dam\={p}a +\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: +\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] + +\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. +\textex{{\dj}} (\unic{U+0111}), \textex{\char"019A} (\unic{U+019A}).\\[1ex] + +\noindent\secletter{c.}\ \ For \textex{\~{}} above any character, use the \textsc{combining tilde} (\unic{U+0303}): +\begin{quote} +\~a \textit{ac}, \textit{apud}; \~a \textit{alias}.\newline +d\~ns \textit{dominus}; ca\~{r}ina \textit{carmina}; \cvd[4]{12}{f\~{c}is} \textit{factis}.\newline +p\~oita \textit{posita}. +\end{quote} + +\noindent\secletter{d.}\ \ For \textex{\~{}} through a vertical stroke, use the \textsc{tilde overlay} (\unic{U+0334}): +\textex{l\char"0334\ d\char"0334} (\unic{U+0303} would be positioned above the letter, e.g. +\textex{\~{l}}, \textex{\~{d}}). For the ligatures +\textex{l̴l̴}, \textex{b\char"0334b\char"0334}, and \textex{f\char"0334f\char"0334}, type the +sequence for \textex{l\char"0334}, etc. twice.\\[1ex] + +\noindent\secletter{e.}\ \ For the tilde positioned above two letters, use \textsc{combining double tilde} +(\unic{U+0360}) between the letters. It is +automatically repositioned to clear tall characters: c\char"0360o t\char"0360o d\char"0360o o\char"0360l. The same is true of +\textsc{double breve} (\unic{U+035D}) c\char"035Do d\char"035Do, \textsc{double macron} (\unic{U+035E}) c\char"035Eo d\char"035Eo, +\textsc{double inverted breve} (\unic{U+0361}) c\char"0361o d\char"0361o, and \textsc{double circumflex} (\unic{U+1DCD}) +c\char"1DCDo d\char"1DCDo.\\[1ex] + +\noindent\secletter{f.}\ \ The figure used to represent \textit{er\textup{ }}(and other similar combinations) is a common medieval +abbreviation which takes many forms. The semantically correct Unicode character is the \textsc{combining +zigzag} (\char"25CC\char"035B, \unic{U+035B}), but the best match in Junicode 2 for the figure as it appears in the +\textit{Record Interpreter} and the \textit{Statutes} is a gothic variant of this, which MUFI +encodes as \unic{U+F1C8} (the curly form zigzag). However, because for technical reasons many applications will not position +the MUFI character correctly over the base, that code point should be avoided. The best way to access this variant is +to apply \textSourceText{cv81[2]} to \unic{U+035B}, as here: +\begin{quote} +\cvd[1]{81}{deb\char"035Be \textit{debere}; int\char"035B\ \textit{inter}; f\char"035B\hspace{0.2em}r\=u \textit{ferrum}; gn\char"035Bo +\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: +\textex{\cvd[1]{81}{A\char"035B B\char"035B \textsc{c\char"035B +d\char"035B\hspace{0.2em}}}}).\\[1ex] + +\noindent\secletter{g.}\ \ All letters a--z, and several others too, have combining forms. +You may access these via their code points, when they are standard Unicode, via the +\textSourceText{\textsc{cv84}} feature, or via +Junicode's special entity references. For details, see \hyperlink{ss10}{4.10.3, Character Entities +for Combining Marks}. +\begin{quote} +q\char"0366\ \textit{quo}; q\char"0365\ \textit{qui}; quatt\&\_orr; \textit{quattuor}. +\end{quote} +\section{Spacing characters} +\secletter{h.}\ \ The symbol for \textit{is}, \textit{es} and a number of other abbreviations is the +\textsc{is-sign} (\unic{U+A76D}): +\begin{quote} +for\char"0A76D\ \textit{foris}; o\={m}\char"0A76D\ \textit{omnes}; \char"0A76Ft\char"0A76D\ +\textit{competentes}; inf\char"0A76D\ \textit{infortunium}. +\end{quote} +This character will sometimes ligature with the preceding letter. The italic version differs from the roman +stylistically (\ \textex{\textit{for\char"0A76D\ o\={m}\char"0A76D\ \char"0A76Ft\char"0A76D\ inf\char"0A76D}}), but it will be +intelligible to informed readers.\\[1ex] + +\noindent\secletter{i.}\ \ There are two characters for \textit{{}-us} in Unicode: +\textsc{spacing us} \unic{U+A770} (do not +confuse this with \textsc{con} \unic{U+A76F}) and \textsc{combining us} \unic{U+1DD2}. The \textit{Record +Interpreter} and \textit{Statutes} appear to use only the spacing character: +\begin{quote} +\cvd[1]{81}{i\~{p}i\char"0A770\ \textit{ipsius}; u\char"035Bs\char"0A770\ \textit{uersus}; p\char"0A770tea +\textit{postea}; p\char"0A770\ \textit{post}.} +\end{quote} +\noindent\secletter{j.}\ \ The three-like sign is the \textsc{et sign} (\char"25CC\char"0A76B, \unic{U+A76B}, also used for +\textit{us} in the Latin ending \textit{-ibus}). Do not use the numeral three (\textex{3}) +or the Middle English yogh (\textex{\char"021D}, \unic{U+021D}): +\begin{quote} +quib\char"0A76B\ \textit{quibus}; lic\char"0A76B\ \textit{licet}; s\char"0A76B\ \textit{sed}. +\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: +\begin{quote} +\cvd{80}{a\~{i}a\char"0A75D\ \textit{animarum}; co\char"0A75Dpere \textit{corrumpere}; beato\char"0A75D\ +\textit{beatorum}}. +\end{quote} +\noindent\secletter{l.}\ \ For \textit{cum}, \textit{con}, etc. use \textsc{small letter con} (\unic{U+A76F}): +\begin{quote} +\char"0A76Fputus \textit{computus}; \char"0A76Fa \textit{contra}; \char"0A76Fnouit \textit{cognouit}. +\end{quote} +\noindent\secletter{m.}\ \ For \textit{per} (or sometimes \textit{par} and other similar sequences), use +\textsc{p with stroke} \unic{U+A751}: +\begin{quote} +\char"0A751s\={o}a \textit{persona}; \char"0A76F\char"0A751et \textit{comparet}. +\end{quote} +\noindent\secletter{n.}\ \ For \textit{pro,} use \textsc{p with flourish} \unic{U+A753}: +\begin{quote} +\char"0A753ceres \textit{proceres}. +\end{quote} +\noindent\secletter{o.}\ \ For \textit{prae}, \textit{pr{\ae}}, \textit{pre}, there is no separate character; +use a variant of the \textsc{zigzag} (f. above) with \textex{p}: +\begin{quote} +\cvd[1]{81}{p\char"035Bs\~{e}s \textit{praesens}}. +\end{quote} +\noindent\secletter{p.}\ \ For \textex{q} with stroke through the descender, there are two Unicode points: \unic{U+A757} for a +straight stroke, and \unic{U+A759} for a diagonal stroke (the \textit{Record Interpreter} appears to use only the +former, and neither is listed among the \textit{Statutes} abbreviations): +\begin{quote} +\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} +\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]}: +\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} +OpenType feature: +\begin{quote} +q\sups{o}s \textit{quos}; c\sups{i}lo \textit{circulo}; cap\sups{i} \textit{capituli}. +\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{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] + +\noindent\secletter{u.}\ \ For \textit{tz} (Old French), use \textex{\char"01B6} \unic{U+01B6} \textsc{z with stroke}.\\[1ex] + +\noindent\secletter{v.}\ \ For an abbreviation for \textit{Rex}, +use \textex{\textrecipe} \unic{U+211E} or \textex{\char"211F} \unic{U+211F}.\\[1ex] + +\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 +\textsc{macron} (\unic{U+00AF}): \textex{\cvd{67}{\char"25CC\char"00AF}}. + +\section[Other formatting]{Other formatting} +\secletter{x.}\ \ For underdotted text, use Stylistic Set 7, Underdotted. For letters that lack an underdotted form, use \unic{U+0323} \textsc{combining dot below}. + +\section[On the web]{On the web} +Because Junicode is a very large font, web pages should use a subsetted version to speed loading +(see \hyperlink{OnTheWeb}{Chapter 9, Junicode on the Web}, for instructions). +The variable version of the font is better for web use than the +static fonts, since one variable font file can do the work of many static font files. + +All major web browsers (Firefox, Chrome, Safari, Edge) are capable of accessing all of Junicode's characters via +OpenType features, use of which promotes accessibility and searchability. When building a web page, study which +features will be needed and write them into the appropriate element or class definition of the page's CSS style sheet. +For example, if you use the curly form of the zigzag (\unic{U+035B}) anywhere, you are likely to want it everywhere, and so it +should be included in the CSS styling for the <body> element: +\begin{verbatim} +body { + font-family: Junicode; + font-feature-settings: "cv81" 2; +} +\end{verbatim} + +\noindent But the \textSourceText{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 <span> applied just to the target sequence: +\begin{verbatim} +.que { + font-feature-settings: "hlig" on; +} +filio<span class="que">qꝫ</span> +\end{verbatim} + +\noindent The illustrations here use the low-level CSS font-feature-settings property. +There are higher-level properties for some +OpenType features, but as these are not (yet) universally supported by browsers, and some implementations are buggy, it +is best to stick with font-feature-settings for now. + +For the purposes addressed in this document, the font-feature-settings for the <body> element +should probably be as follows: +\begin{verbatim} +font-feature-settings: 'cv69' 2, 'cv80' 1, 'cv81' 2; +\end{verbatim} +\noindent And the following classes should be defined: +\begin{verbatim} +.super { + font-feature-settings: 'sups' on, 'cv84' 39; +} + +.que { + font-feature-settings: 'hlig' on; +} + +.deleted { + font-feature-settings: 'ss07' on; +} +\end{verbatim} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/Specimens.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/Specimens.tex new file mode 100644 index 00000000000..f5a8c220a30 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/Specimens.tex @@ -0,0 +1,203 @@ + +\chapter{Specimens}\hypertarget{specimens}{} +%\fancyhead[CE]{\scshape\color{myRed} {\addfontfeatures{Numbers=OldStyle}\thepage}\hspace{10pt}specimens} + +\subsection*{Old and Middle English} + +{\noindent\regular\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)}\\ + +\noindent{\semiwide\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)}\\ + +\noindent{\small\semiconditalic Apply the OpenType feature ss02 (Stylistic Set 2) +for insular letter-forms.}\\[1ex] +{\seminarrow\addfontfeature{StylisticSet=2,Ligatures=NoCommon,MyStyle=altogonek,Language=English} +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 +andred adræfde \& ħ þær wunade oþ þæt hine án swán ofstang +æt pryfetesflodan \& he wręc þone aldormon cumbran \& se cynewulf +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 +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), +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, +acht do bithsiu ar bantincur mnaa {\char"204A} bidba na crich ba nessom duit oc +breith do slait {\char"204A} do chrech i fúatach úait. Ni samlaid bása, ar Medb, +acht m'athair i n-ardrigi hErenn .i. Eocho Feidlech mac Find meic +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 +(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, +acht do bithsiu ar bantincur mnaa {\char"204A} bidba na crich ba nessom duit oc +breith do slait {\char"204A} do chrech i fúatach úait. Ni samlaid ba͏́sa, ar Medb, +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] + +\subsection*{Old Icelandic} +{\small\semiconditalic\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 +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 +for automated transliteration of Latin letters into various runic systems.}\\[1ex] +{\wide ᚠᛁᛋᚳ ᚠᛚᚩᛞᚢ ᚪᚻᚩᚠ ᚩᚾ ᚠᛖᚱᚷᛖᚾᛒᛖᚱᛁᚷ ᚹᚪᚱᚦ ᚷᚪ᛬ᛇᚱᛁᚳ ᚷᚱᚩᚱᚾ ᚦᚨᚱ ᚻᛖ ᚩᚾ ᚷᚱᛖᚢᛏ ᚷᛁᛇᚹᚩᛗ +ᚻᚱᚩᚾᚨᛇ ᛒᚪᚾ\\ +ᚱᚩᛗᚹᚪᛚᚢᛇ ᚪᚾᛞ ᚱᛖᚢᛗᚹᚪᛚᚢᛇ ᛏᚹᛟᚷᛖᚾ ᚷᛁᛒᚱᚩᚦᚫᚱ ᚪᚠᛟᛞᛞᚫ ᛞᛁᚫ ᚹᚣᛚᛁᚠ ᚩᚾ ᚱᚩᛗᚫ\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 +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 +hell: ja ich ſag üch / voꝛ dem ſelben \cvd[4]{12}{foͤꝛchtēd} üch. Koufft man nit +fünff Sparen vm̄ zween pfennig} (Condensed) + +\subsection*{Latin} + +{\small\semiconditalic 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 \& + ꝓ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 + ſeruorū ruorū eſcaſ uolatilib: cęli carneſ ſcōꝝ tuoꝝ beſtiiſ tenice· + Facti ſumꝰ ob\kern+0.2ptꝓbrium uiciniſ nr̄iſ·} (Light) + +\subsection*{Gothic} + +{\seminarrowlight 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 + automatically from transliterated text.}\\[1ex] +{\addfontfeature{MyStyle=gothic}\bfseries 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 + ga\-liuge stada anakumbjandan, niu miþwissei is siukis + wis\-an\-dins timrjada du galiugagudam gasaliþ matjan?} (SemiExpanded Bold) + + \subsection*{Sanskrit Transliteration} + +\noindent{\semicondmedium 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ː +θə 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 βίβλος +γενέσεως ἰησοῦ χριστοῦ υἱοῦ δαυὶδ +υἱοῦ ἀβραάμ. +ἀβραὰμ +ἐγέννησεν τὸν ἰσαάκ, ἰσαὰκ δὲ ἐγέννησεν +τὸν ἰακώβ, ἰακὼβ δὲ ἐγέννησεν τὸν +ἰούδαν καὶ τοὺς ἀδελφοὺς αὐτοῦ, +ἰούδας +δὲ ἐγέννησεν τὸν φάρες καὶ τὸν ζάρα +ἐκ τῆς θαμάρ, φάρες δὲ ἐγέννησεν τὸν +ἑσρώμ, ἑσρὼμ δὲ ἐγέννησεν τὸν ἀράμ, +ἀρὰμ +δὲ ἐγέννησεν τὸν ἀμιναδάβ, ἀμιναδὰβ +δὲ ἐγέννησεν τὸν ναασσών, ναασσὼν δὲ +ἐγέννησεν τὸν σαλμών, +σαλμὼν +δὲ ἐγέννησεν τὸν βόες ἐκ τῆς ῥαχά} (Regular)\\ + +\noindent\textit{\grk βίβλος +γενέσεως ἰησοῦ χριστοῦ υἱοῦ δαυὶδ +υἱοῦ ἀβραάμ. +ἀβραὰμ +ἐγέννησεν τὸν ἰσαάκ, ἰσαὰκ δὲ ἐγέννησεν +τὸν ἰακώβ, ἰακὼβ δὲ ἐγέννησεν τὸν +ἰούδαν καὶ τοὺς ἀδελφοὺς αὐτοῦ, +ἰούδας +δὲ ἐγέννησεν τὸν φάρες καὶ τὸν ζάρα +ἐκ τῆς θαμάρ, φάρες δὲ ἐγέννησεν τὸν +ἑσρώμ, ἑσρὼμ δὲ ἐγέννησεν τὸν ἀράμ, +ἀρὰμ +δὲ ἐγέννησεν τὸν ἀμιναδάβ, ἀμιναδὰβ +δὲ ἐγέννησεν τὸν ναασσών, ναασσὼν δὲ +ἐγέννησεν τὸν σαλμών, +σαλμὼν +δὲ ἐγέννησεν τὸν βόες ἐκ τῆς ῥαχά} (Italic) + +\subsection*{Lithuanian} + +{\small\semiconditalic Lithuanian poses several typographical challenges. Make sure + Contextual Alternates (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 +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 +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 +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 +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łę +zamiast zaprawy murarskiej, rzekli: Chodźcie, zbudujemy sobie miasto +i wieżę, której wierzchołek będzie sięgał nieba, i w ten sposób +uczynimy sobie znak, abyśmy się nie rozproszyli po całej ziemi.} (Condensed Medium)\pagebreak + +\subsection*{Fleurons} + +{\small\semiconditalic 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 + width, and they are the same in roman and italic.} + +\begin{center} +\huge \\ + \\[0.7ex] +\\[0.7ex] +\\ + +\end{center} diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/dns.png b/Master/texmf-dist/doc/fonts/junicodevf/source/dns.png Binary files differnew file mode 100644 index 00000000000..882918783f9 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/dns.png diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/encoded-glyphs.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/encoded-glyphs.tex new file mode 100644 index 00000000000..9ca17260996 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/encoded-glyphs.tex @@ -0,0 +1,17 @@ +\chapter{Encoded Glyphs in Junicode}\hypertarget{EncodedGlyphs}{} + +\noindent The following table lists all the encoded glyphs in Junicode Roman. The font also +contains more than 2,000 \emph{unencoded} glyphs, +accessible via OpenType features. For a comprehensive list of these features, see +\hyperlink{FeatureReference}{Chapter 4, Feature Reference}. + +Code points for which Junicode has no glyphs are represented in the table by blue +bullets (the actual bullet at U+2022 is black). +Many of Junicode's glyphs (e.g. spaces, formatting marks) are invisible: these +are represented by blanks in the table. A few glyphs are too large for their table cells, +and these spill out on one or more sides. + +\displayfonttable[color=blue,title-format=\caption{Encoded Glyphs in Junicode}, +title-format-cont=\caption{Encoded Glyphs in Junicode, \emph{cont.}}, missing-glyph=•, +missing-glyph-color=blue, range-end=F005F, glyph-width=12pt, hex-digits=head]{JunicodeVF-Roman.ttf}[Renderer=HarfBuzz] + diff --git a/Master/texmf-dist/doc/fonts/junicodevf/source/tag_key_ins.tex b/Master/texmf-dist/doc/fonts/junicodevf/source/tag_key_ins.tex new file mode 100644 index 00000000000..ef6ba651b7b --- /dev/null +++ b/Master/texmf-dist/doc/fonts/junicodevf/source/tag_key_ins.tex @@ -0,0 +1,2108 @@ + +\chapter{Entering characters with tags}\hypertarget{tagchapter}{} +%\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 +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 +for a preceding character (in other fonts, usually a flag symbol). Junicode contains a partial collection of tag +characters: + +\begin{center} +\tablefirsthead{}\tablehead{}\tabletail{}\tablelasttail{} +\setlength\tabcolsep{15pt} +%\begin{supertabular}{m{1.7545599in}m{1.7545599in}m{1.7545599in}} +\begin{supertabular}{ccc} +{\&\_\_a; U+E0061} & +{\&\_\_b; U+E0062} & +{\&\_\_c; U+E0063}\\ +{\&\_\_d; U+E0064} & +{\&\_\_e; U+E0065} & +{\&\_\_f; U+E0066}\\ +{\&\_\_g; U+E0067} & +{\&\_\_h; U+E0068} & +{\&\_\_i; U+E0069}\\ +{\&\_\_j; U+E006A} & +{\&\_\_k; U+E006B} & +{\&\_\_l; U+E006C}\\ +{\&\_\_m; U+E006D} & +{\&\_\_n; U+E006E} & +{\&\_\_o; U+E006F}\\ +{\&\_\_p; U+E0070} & +{\&\_\_q; U+E0071} & +{\&\_\_r; U+E0072}\\ +{\&\_\_s; U+E0073} & +{\&\_\_t; U+E0074} & +{\&\_\_u; U+E0075}\\ +{\&\_\_v; U+E0076} & +{\&\_\_w; U+E0077} & +{\&\_\_x; U+E0078}\\ +{\&\_\_y; U+E0079} & +{\&\_\_z; U+E007A} & +{\&\_\_0; U+E0030}\\ +{\&\_\_1; U+E0031} & +{\&\_\_2; U+E0032} & +{\&\_\_3; U+E0033}\\ +{\&\_\_4; U+E0034} & +{\&\_\_5; U+E0035} & +{\&\_\_6; U+E0036}\\ +{\&\_\_7; U+E0037} & +{\&\_\_8; U+E0038} & +{\&\_\_9; U+E0039}\\ +\end{supertabular} +\end{center} + +\noindent When creating web pages or XML documents, +you can enter these using character entities (e.g. \textSourceText{\&\#xE0073;} for \textex{\noent{\&\_\_s;}}); +along the same lines, you can use the \textSourceText{{\textbackslash}char} command +(e.g. \textSourceText{{\textbackslash}char{\textquotedbl}0E0073}) when +composing TeX documents. But such entities and commands are not generally available in editors and word processors, and +entering the tags themselves can be tricky because they are not only invisible, but also ignored by the application +(the cursor +skips over them). Instead of attempting to enter the code points for tags directly, use character entities consisting +of \textbf{an ampersand, two underscores, the tag character, and a semicolon}. These will yield visible tags. For +example, typing \textSourceText{\&\_\_6;} will yield the tag \textex{\noent{\&\_\_6;}}. + +To use the tag method of entering characters, first type the base character from the table below, then the two tags. +For example, to make a square C (\textex{\restag{C\&\_\_s;\&\_\_q;}}), enter one of these sequences: + +\begin{center} +\tablefirsthead{} +\tablehead{} +\tabletail{} +\tablelasttail{} +\begin{supertabular}{m{1.2969599in}m{2.54416in}} +{\bfseries Web page:} & +C\&\#xE0073;\&\#xE0071;\\ +{\bfseries TeX:} & +C{\textbackslash}char{\textquotedbl}0E0073{\textbackslash}char{\textquotedbl}0E0071\\ +{\bfseries Word processor:} & +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 +throughout, to the whole document. The tags will disappear and the preceding characters (the base characters) will be +transformed. + +For variants of the combining macron (\unic{U+0304}) and perhaps other combining marks, it will often be necessary to place the +\ctosc{COMBINING GRAPHEME JOINER} (\unic{U+034F}) between the macron and the base character that precedes it. This will prevent +normalization (the shaping engine changing sequences of character + combining mark into precomposed characters), +which interferes with the operation of tags. + +Most of the two-tag sequences documented here are designed to be mnemonic. For example, the +\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). + +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 +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: + +\begin{center} + \tablefirsthead{} + \tablehead{} + \tabletail{\hline} + \tablelasttail{\hline} + \begin{supertabular}{|m{13mm}|m{72mm}|} + \hline + \mufi{green} & MUFI characters with PUA code points\\\hline + \opua{yellow} & Other characters with PUA code points\\\hline + \stdu{blue} & Characters with Unicode code points\\\hline + \nuni{red} & Characters without code points\\ + \end{supertabular} +\end{center} + +\noindent Tags or {\charvar} 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 +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, +depending on the application. + +Characters without code points can only be entered via tags or OpenType features. + +\begin{center} + \addfontfeature{Numbers={Uppercase,Monospaced}} +\tablefirsthead{\hline\rowcolor{Goldenrod} +{Base} & +{Sequence} & +{Result} & +\arraybslash Description / Code point\\} +\tablehead{\hline\rowcolor{Goldenrod} +{Base} & +{Sequence} & +{Result} & +\arraybslash Description / Code point\\} +\tabletail{\hline} +\tablelasttail{} +\begin{supertabular}{|c|c|c|c|} +%\begin{supertabular}{|m{0.9872598in}|m{0.97815984in}|m{0.9254598in}|m{2.79556in}|} +\hline +\mufi{period} & +{.\&\_\_0;\&\_\_1;} & +{\restag{.\char"0E0030\char"0E0031}} & +\arraybslash Distinctio / F1F8 \\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_2;} & +{.\char"0E0030\char"0E0032} & +\arraybslash Comma positura / F1E2\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_3;} & +{\restag{.\char"0E0030\char"0E0033}} & +\arraybslash High comma positura / F1E3\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_4;} & +{\restag{.\char"0E0030\char"0E0034}} & +\arraybslash Punctus versus / F1EA\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_5;} & +{\restag{.\char"0E0030\char"0E0035}} & +\arraybslash Punctus with comma positura / F1E4\\\hline +\mufi{period} & +{.\&\_\_0;\&\_\_6;} & +{\restag{.\char"0E0030\char"0E0036}} & +\arraybslash Colon with middle comma positura / F1E5\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_7;} & +{\restag{.\char"0E0030\char"0E0037}} & +\arraybslash Two dots over comma positura / F1F2\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_8;} & +{\restag{.\char"0E0030\char"0E0038}} & +\arraybslash Three dots over comma positura / F1E6\\\hline +% +\mufi{period} & +{.\&\_\_0;\&\_\_9;} & +{\restag{.\char"0E0030\char"0E0039}} & +\arraybslash Punctus elevatus diagonal stroke / F1F0\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_0;} & +{\restag{.\char"0E0031\char"0E0030}} & +\arraybslash Punctus elevatus with high back / F1FA\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_1;} & +{\restag{.\char"0E0031\char"0E0031}} & +\arraybslash Punctus elevatus with onset / F1FB\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_2;} & +{\restag{.\char"0E0031\char"0E0032}} & +\arraybslash Punctus flexus / F1F5\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_3;} & +{\restag{.\char"0E0031\char"0E0033}} & +\arraybslash Punctus exclamativus / F1E7\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_4;} & +{\restag{.\char"0E0031\char"0E0034}} & +\arraybslash Punctus interrogativus / F160\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_5;} & +{\restag{.\char"0E0031\char"0E0035}} & +\arraybslash {\narrow Punctus interrogativus horizontal tilde / \ltab{F1E8}}\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_6;} & +{\restag{.\char"0E0031\char"0E0036}} & +\arraybslash {\narrow Punctus interrogativus lemniskate / \ltab{F1F1}}\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_7;} & +{\restag{.\char"0E0031\char"0E0037}} & +\arraybslash Wavy line / F1F9\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_8;} & +{\restag{.\char"0E0031\char"0E0038}} & +\arraybslash Signe de renvoi / F1EC\\\hline +% +\mufi{period} & +{.\&\_\_1;\&\_\_9;} & +{\restag{.\char"0E0031\char"0E0039}} & +\arraybslash Virgula suspensiva / F1F4\\\hline +% +\mufi{period} & +{.\&\_\_2;\&\_\_0;} & +{\restag{.\char"0E0032\char"0E0030}} & +\arraybslash Short virgula / F1F7\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_1;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0031}} & +\arraybslash Combining curly bar above / F1CC\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_2;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0032}} & +\arraybslash Combining diagonal macron\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_3;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0033}} & +\arraybslash Combining bar above with dot / F1C0\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_4;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0034}} & +\arraybslash Combining angular zigzag / F1C7\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_5;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0035}} & +\arraybslash Combining curly zigzag / F1C8\\\hline +% +\stdu{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_6;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0036}} & +\arraybslash Combining vertical tilde / 033E\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_7;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0037}} & +\arraybslash Combining ligature an / F036\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_8;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0038}} & +\arraybslash Combining ligature aN / F03A\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_0;\&\_\_9;} & +{\restag{\char"25CC\char"0304\char"0E0030\char"0E0039}} & +\arraybslash Combining ligature ar / F038\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_0;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0030}} & +\arraybslash Combining ligature aR / F130\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_1;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0031}} & +\arraybslash Combining B / F013\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_2;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0032}} & +\arraybslash Combining D / F016\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_3;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0033}} & +\arraybslash Combining e with macron / F136\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_4;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0034}} & +\arraybslash Combining e with ogonek / F135\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_5;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0035}} & +\arraybslash Combining dotless i / F02F\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_6;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0036}} & +\arraybslash Combining j / F030\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_7;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0037}} & +\arraybslash Combining dotless j / F031\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_8;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0038}} & +\arraybslash Combining K / F01C\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_1;\&\_\_9;} & +{\restag{\char"25CC\char"0304\char"0E0031\char"0E0039}} & +\arraybslash Combining uncial m / F01F\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_0;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0030}} & +\arraybslash Combining o with macron / F13F\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_1;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0031}} & +\arraybslash Combining o with ogonek / F13E\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_2;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0032}} & +\arraybslash Combining o with stroke / F032\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_3;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0033}} & +\arraybslash Combining q / F033\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_4;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0034}} & +\arraybslash Combining rum abbreviation / F040\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_5;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0035}} & +\arraybslash Combining T / F02A\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_6;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0036}} & +\arraybslash Combining y / F02B\\\hline +% +\mufi{U+0304} & +{\char"25CC\char"0304\&\_\_2;\&\_\_7;} & +{\restag{\char"25CC\char"0304\char"0E0032\char"0E0037}} & +\arraybslash Combining thorn / F03D\\\hline +% +\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 +% +\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 +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_0;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0030}} & +\arraybslash Combining diagonal dieresis\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_1;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0031}} & +\arraybslash Combining dot and acute\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_2;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0032}} & +\arraybslash Combining ogonek and dot\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_3;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0033}} & +\arraybslash Combining narrow macron\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_4;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0034}} & +\arraybslash Combining macron with serifs\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_5;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0035}} & +\arraybslash Combining et sign\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_6;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0036}} & +\arraybslash Combining spiritus asper sign\\\hline +% +\nuni{U+0304} & +{\char"25CC\char"0304\&\_\_3;\&\_\_7;} & +{\restag{\char"25CC\char"0304\char"0E0033\char"0E0037}} & +\arraybslash Attached subscript a\\\hline +% +\mufi{A} & +{A\&\_\_i;\&\_\_n;} & +{\restag{A\char"0E0069\char"0E006E}} & +\arraybslash Insular A / F201\\\hline +% +\mufi{A} & +{A\&\_\_s;\&\_\_q;} & +{\restag{A\char"0E0073\char"0E0071}} & +\arraybslash Square A / F13A\\\hline +% +\mufi{A} & +{A\&\_\_s;\&\_\_d;} & +{\restag{A\char"0E0073\char"0E0064}} & +\arraybslash A with diagonal stroke / E8DA\\\hline +% +\nuni{A} & +{A\&\_\_e;\&\_\_n;} & +{\restag{A\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule A\\\hline +% +\mufi{a} & +{a\&\_\_i;\&\_\_n;} & +{\restag{a\char"0E0069\char"0E006E}} & +\arraybslash Insular a / F200\\\hline +% +\mufi{a} & +{a\&\_\_u;\&\_\_n;} & +{\restag{a\char"0E0075\char"0E006E}} & +\arraybslash Uncial a / F214\\\hline +% +\mufi{a} & +{a\&\_\_o;\&\_\_p;} & +{\restag{a\char"0E006F\char"0E0070}} & +\arraybslash Open a / F202\\\hline +% +\mufi{a} & +{a\&\_\_c;\&\_\_l;} & +{\restag{a\char"0E0063\char"0E006C}} & +\arraybslash Closed a / F203\\\hline +% +\mufi{a} & +{a\&\_\_n;\&\_\_e;} & +{\restag{a\char"0E006E\char"0E0065}} & +\arraybslash Neckless a / F215\\\hline +% +\mufi{a} & +{a\&\_\_o;\&\_\_c;} & +{\restag{a\char"0E006F\char"0E0063}} & +\arraybslash oc-shaped a / TBD\\\hline +% +\mufi{a} & +{a\&\_\_h;\&\_\_c;} & +{\restag{a\char"0E0068\char"0E0063}} & +\arraybslash high caroline a / TBD\\\hline +% +\mufi{a} & +{a\&\_\_s;\&\_\_q;} & +{\restag{a\char"0E0073\char"0E0071}} & +\arraybslash Square a / TBD\\\hline +% +\mufi{a} & +{a\&\_\_p;\&\_\_o;} & +{\restag{a\char"0E0070\char"0E006F}} & +\arraybslash Pointed a / TBD\\\hline +% +\mufi{a} & +{a\&\_\_e;\&\_\_n;} & +{\restag{a\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule a / EEE0\\\hline +% +\mufi{a} & +{a\&\_\_o;\&\_\_n;} & +{\restag{a\char"0E006F\char"0E006E}} & +\arraybslash Enlarged oc-shaped a / TBD\\\hline +% +\nuni{B} & +{B\&\_\_e;\&\_\_n;} & +{\restag{B\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule B\\\hline +% +\nuni{B} & +{B\&\_\_i;\&\_\_n;} & +{\restag{B\char"0E0069\char"0E006E}} & +\arraybslash Insular B\\\hline +% +\mufi{b} & +{b\&\_\_e;\&\_\_n;} & +{\restag{b\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule b / EEE1\\\hline +% +\mufi{C} & +{C\&\_\_s;\&\_\_q;} & +{\restag{C\char"0E0073\char"0E0071}} & +\arraybslash Square C / F106\\\hline +% +\nuni{C} & +{C\&\_\_e;\&\_\_n;} & +{\restag{C\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule C\\\hline +% +\mufi{c} & +{c\&\_\_c;\&\_\_u;} & +{\restag{c\char"0E0063\char"0E0075}} & +\arraybslash c with curl / F198\\\hline +% +\mufi{c} & +{c\&\_\_e;\&\_\_n;} & +{\restag{c\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule c / EEE2\\\hline +% +\nuni{D} & +{D\&\_\_i;\&\_\_e;} & +{\restag{D\char"0E0069\char"0E0065}} & +\arraybslash Enlarged minuscule insular D\\\hline +% +\stdu{D} & +{D\&\_\_i;\&\_\_n;} & +{\restag{D\char"0E0069\char"0E006E}} & +\arraybslash Insular D / A779\\\hline +% +\nuni{D} & +{D\&\_\_e;\&\_\_n;} & +{\restag{D\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule D\\\hline +% +\stdu{d} & +{d\&\_\_i;\&\_\_1;} & +{\restag{d\char"0E0069\char"0E0031}} & +\arraybslash Insular d default form / A77A\\\hline +% +\nuni{d} & +{d\&\_\_i;\&\_\_2;} & +{\restag{d\char"0E0069\char"0E0032}} & +\arraybslash Insular d second form\\\hline +% +\mufi{d} & +{d\&\_\_i;\&\_\_e;} & +{\restag{d\char"0E0069\char"0E0065}} & +\arraybslash Enlarged minuscule insular d / EEE4\\\hline +% +\mufi{d} & +{d\&\_\_c;\&\_\_u;} & +{\restag{d\char"0E0063\char"0E0075}} & +\arraybslash d with curl / F193\\\hline +% +\mufi{d} & +{d\&\_\_e;\&\_\_n;} & +{\restag{d\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule d / EEE3\\\hline +% +\mufi{E} & +{E\&\_\_u;\&\_\_c;} & +{\restag{E\char"0E0075\char"0E0063}} & +\arraybslash Uncial closed E / F217\\\hline +% +\mufi{E} & +{E\&\_\_u;\&\_\_n;} & +{\restag{E\char"0E0075\char"0E006E}} & +\arraybslash Uncial E / F10A\\\hline +% +\nuni{E} & +{E\&\_\_e;\&\_\_n;} & +{\restag{E\char"0E0069\char"0E006E}} & +\arraybslash Insular E\\\hline +% +\nuni{E} & +{E\&\_\_e;\&\_\_n;} & +{\restag{E\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule E\\\hline +% +\mufi{e} & +{e\&\_\_u;\&\_\_n;} & +{\restag{e\char"0E0075\char"0E006E}} & +\arraybslash Uncial e / F218\\\hline +% +\mufi{e} & +{e\&\_\_b;\&\_\_a;} & +{\restag{e\char"0E0062\char"0E0061}} & +\arraybslash e with bar / F219\\\hline +% +\mufi{e} & +{e\&\_\_b;\&\_\_h;} & +{\restag{e\char"0E0062\char"0E0068}} & +\arraybslash High e with bar / F21A\\\hline +% +\mufi{e} & +{e\&\_\_e;\&\_\_n;} & +{\restag{e\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule e / EEE6\\\hline +% +\stdu{F} & +{F\&\_\_i;\&\_\_n;} & +{\restag{F\char"0E0069\char"0E006E}} & +\arraybslash Insular F / A77B\\\hline +% +\mufi{F} & +{F\&\_\_e;\&\_\_n;} & +{\restag{F\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule F / EEE7\\\hline +% +\nuni{F} & +{F\&\_\_i;\&\_\_e;} & +{\restag{F\char"0E0069\char"0E0065}} & +\arraybslash Enlarged minuscule insular F\\\hline +% +\stdu{f} & +{f\&\_\_i;\&\_\_n;} & +{\restag{f\char"0E0069\char"0E006E}} & +\arraybslash Insular f / A77C\\\hline +% +\mufi{f} & +{f\&\_\_i;\&\_\_s;} & +{\restag{f\char"0E0069\char"0E0073}} & +\arraybslash Insular f with split top / TBD\\\hline +% +\mufi{f} & +{f\&\_\_i;\&\_\_1;} & +{\restag{f\char"0E0069\char"0E0031}} & +\arraybslash Insular f with dotted hooks / F21C\\\hline +% +\mufi{f} & +{f\&\_\_i;\&\_\_2;} & +{\restag{f\char"0E0069\char"0E0032}} & +\arraybslash Semi-closed insular f / EBD5\\\hline +% +\mufi{f} & +{f\&\_\_i;\&\_\_3;} & +{\restag{f\char"0E0069\char"0E0033}} & +\arraybslash Closed insular f / EBD6\\\hline +% +\mufi{f} & +{f\&\_\_i;\&\_\_e;} & +{\restag{f\char"0E0069\char"0E0065}} & +\arraybslash Enlarged minuscule insular f / EEFF\\\hline +% +\opua{f} & +{f\&\_\_n;\&\_\_a;} & +{\restag{f\char"0E006E\char"0E0061}} & +\arraybslash Narrow f / F000B\\\hline +% +\mufi{f} & +{f\&\_\_c;\&\_\_u;} & +{\restag{f\char"0E0063\char"0E0075}} & +\arraybslash f with curl / F194\\\hline +% +\mufi{f} & +{f\&\_\_e;\&\_\_n;} & +{\restag{f\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule f / EEE7\\\hline +% +\stdu{G} & +{G\&\_\_i;\&\_\_n;} & +{\restag{G\char"0E0069\char"0E006E}} & +\arraybslash Insular G / A77D\\\hline +% +\stdu{G} & +{G\&\_\_o;\&\_\_r;} & +{\restag{G\char"0E006F\char"0E0072}} & +\arraybslash Ormulum G with bar / A7D0\\\hline +% +\mufi{G} & +{G\&\_\_s;\&\_\_q;} & +{\restag{G\char"0E0073\char"0E0071}} & +\arraybslash Square G / F10E\\\hline +% +\nuni{G} & +{G\&\_\_e;\&\_\_n;} & +{\restag{G\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule G\\\hline +% +\stdu{g} & +{g\&\_\_i;\&\_\_n;} & +{\restag{g\char"0E0069\char"0E006E}} & +\arraybslash Insular g / 1D79\\\hline +% +\stdu{g} & +{g\&\_\_o;\&\_\_r;} & +{\restag{g\char"0E006F\char"0E0072}} & +\arraybslash Ormulum g with bar / A7D1\\\hline +% +\stdu{g} & +{g\&\_\_s;\&\_\_c;} & +{\restag{g\char"0E0073\char"0E0063}} & +\arraybslash Script g / 0261 \\\hline +% +\mufi{g} & +{g\&\_\_c;\&\_\_u;} & +{\restag{g\char"0E0063\char"0E0075}} & +\arraybslash g with curl / F196\\\hline +% +\mufi{g} & +{g\&\_\_e;\&\_\_n;} & +{\restag{g\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule g / EEE8 \\\hline +% +\mufi{g} & +{g\&\_\_n;\&\_\_e;} & +{\restag{g\char"0E006E\char"0E0065}} & +\arraybslash Enlarged insular g / TBD \\\hline +% +\mufi{g} & +{g\&\_\_c;\&\_\_1;} & +{\restag{g\char"0E0063\char"0E0031}} & +\arraybslash Closed g with separate loops / F21D\\\hline +% +\mufi{g} & +{g\&\_\_c;\&\_\_2;} & +{\restag{g\char"0E0063\char"0E0032}} & +\arraybslash Closed g with large lower loop / F21E\\\hline +% +\mufi{g} & +{g\&\_\_c;\&\_\_3;} & +{\restag{g\char"0E0063\char"0E0033}} & +\arraybslash Closed g with small lower loop / F21F\\\hline +% +\mufi{H} & +{H\&\_\_u;\&\_\_n;} & +{\restag{H\char"0E0075\char"0E006E}} & +\arraybslash Uncial H / F110\\\hline +% +\nuni{H} & +{H\&\_\_e;\&\_\_n;} & +{\restag{H\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule H\\\hline +% +\mufi{H} & +{H\&\_\_h;\&\_\_l;} & +{\restag{H\char"0E0068\char"0E006C}} & +\arraybslash H with high left stem / TBD\\\hline +% +\mufi{h} & +{h\&\_\_d;\&\_\_e;} & +{\restag{h\char"0E0064\char"0E0065}} & +\arraybslash h with descender / F23A\\\hline +% +\mufi{h} & +{h\&\_\_a;\&\_\_u;} & +{\restag{h\char"0E0061\char"0E0075}} & +\arraybslash h-shaped \textit{autem} abbreviation / E8A3\\\hline +% +\mufi{h} & +{h\&\_\_e;\&\_\_n;} & +{\restag{h\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule h / EEE9\\\hline +% +\nuni{h} & +{h\&\_\_e;\&\_\_d;} & +{\restag{h\char"0E0065\char"0E0064}} & +\arraybslash Enlarged minuscule h with descender\\\hline +% +\nuni{h} & +{h\&\_\_c;\&\_\_a;} & +{\restag{h\char"0E0063\char"0E0061}} & +\arraybslash Caroline a\\\hline +% +\mufi{h} & +{h\&\_\_e;\&\_\_c;} & +{\restag{h\char"0E0065\char"0E0063}} & +\arraybslash Enlarged Caroline h / TBD\\\hline +% +\mufi{h} & +{h\&\_\_d;\&\_\_b;} & +{\restag{h\char"0E0064\char"0E0062}} & +\arraybslash{\narrow Caroline h with right descender and bar / TBD}\\\hline +% +\stdu{I} & +{I\&\_\_d;\&\_\_a;} & +{\restag{I\char"0E0064\char"0E0061}} & +\arraybslash I with dot above / 0130\\\hline +% +\stdu{I} & +{I\&\_\_d;\&\_\_e;} & +{\restag{I\char"0E0064\char"0E0065}} & +\arraybslash I with descender / A7FE\\\hline +% +\nuni{I} & +{I\&\_\_e;\&\_\_n;} & +{\restag{I\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule I\\\hline +% +\mufi{I} & +{I\&\_\_u;\&\_\_s;} & +{\restag{I\char"0E0075\char"0E0073}} & +\arraybslash I without serif / TBD\\\hline +% +\stdu{i} & +{i\&\_\_d;\&\_\_l;} & +{\restag{i\char"0E0064\char"0E006C}} & +\arraybslash Dotless i / 0131\\\hline +% +\mufi{i} & +{i\&\_\_l;\&\_\_o;} & +{\restag{i\char"0E006C\char"0E006F}} & +\arraybslash Long I / F220\\\hline +% +\mufi{i} & +{i\&\_\_b;\&\_\_d;} & +{\restag{i\char"0E0062\char"0E0064}} & +\arraybslash i with double bar / E8A1\\\hline +% +\nuni{i} & +{i\&\_\_f;\&\_\_1;} & +{\restag{ii\char"0E0066\char"0E0031}} & +\arraybslash i final form (when i precedes)\\\hline +% +\nuni{i} & +{i\&\_\_f;\&\_\_2;} & +{\restag{i\char"0E0066\char"0E0032}} & +\arraybslash i final form\\\hline +% +\mufi{i} & +{i\&\_\_e;\&\_\_n;} & +{\restag{i\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule i / EEEA\\\hline +% +\mufi{J} & +{J\&\_\_d;\&\_\_a;} & +{\restag{J\char"0E0064\char"0E0061}} & +\arraybslash J with dot above / E15C\\\hline +% +\nuni{J} & +{J\&\_\_e;\&\_\_n;} & +{\restag{J\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule J\\\hline +% +\stdu{j} & +{j\&\_\_d;\&\_\_l;} & +{\restag{j\char"0E0064\char"0E006C}} & +\arraybslash Dotless j / 0237\\\hline +% +\mufi{j} & +{j\&\_\_s;\&\_\_d;} & +\restag{j\char"0E0073\char"0E0064} & +\arraybslash j with double bar / E8A2\\\hline +% +\opua{j} & +{j\&\_\_d;\&\_\_a;} & +{\restag{j\char"0E0064\char"0E0061}} & +\arraybslash j with dot accent / F000D\\\hline +% +\mufi{j} & +{j\&\_\_e;\&\_\_n;} & +{\restag{j\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule j / EEEB\\\hline +% +\nuni{K} & +{K\&\_\_e;\&\_\_n;} & +{\restag{K\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule K\\\hline +% +\mufi{k} & +{k\&\_\_u;\&\_\_n;} & +{\restag{k\char"0E0075\char"0E006E}} & +\arraybslash Uncial k / F208\\\hline +% +\mufi{k} & +{k\&\_\_u;\&\_\_d;} & +{\restag{k\char"0E0075\char"0E0064}} & +\arraybslash Uncial k with descender / TBD\\\hline +% +\mufi{k} & +{k\&\_\_c;\&\_\_1;} & +{\restag{k\char"0E0063\char"0E0031}} & +\arraybslash Closed k, one / F221\\\hline +% +\mufi{k} & +{k\&\_\_c;\&\_\_2;} & +{\restag{k\char"0E0063\char"0E0032}} & +\arraybslash Closed k, two / F209 \\\hline +% +\mufi{k} & +{k\&\_\_c;\&\_\_u;} & +{\restag{k\char"0E0063\char"0E0075}} & +\arraybslash k with curl / F195\\\hline +% +\mufi{k} & +{k\&\_\_e;\&\_\_n;} & +{\restag{k\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule k / EEEC\\\hline +% +\nuni{L} & +{L\&\_\_e;\&\_\_n;} & +{\restag{L\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule L\\\hline +% +\mufi{l} & +{l\&\_\_d;\&\_\_e;} & +{\restag{l\char"0E0064\char"0E0065}} & +\arraybslash Descending l / F222\\\hline +% +\mufi{l} & +{l\&\_\_e;\&\_\_n;} & +{\restag{l\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule l / EEED\\\hline +% +\stdu{l} & +{l\&\_\_s;\&\_\_h;} & +{\restag{l\char"0E0073\char"0E0068}} & +\arraybslash l with high stroke / A749\\\hline +% +\opua{l} & +{l\&\_\_s;\&\_\_f;} & +{\restag{l\char"0E0073\char"0E0066}} & +\arraybslash {\narrow l with high stroke ending with flourish / \ltab{F000F}}\\\hline +% +\nuni{l} & +{l\&\_\_i;\&\_\_n;} & +{\restag{l\char"0E0069\char"0E006E}} & +\arraybslash {Insular l}\\\hline +% +\mufi{M} & +{M\&\_\_u;\&\_\_d;} & +{\restag{M\char"0E0075\char"0E0064}} & +\arraybslash Uncial M with descender / F224\\\hline +% +\mufi{M} & +{M\&\_\_u;\&\_\_n;} & +{\restag{M\char"0E0075\char"0E006E}} & +\arraybslash Uncial M / F11A\\\hline +% +\stdu{M} & +{M\&\_\_a;\&\_\_1;} & +{\restag{M\char"0E0061\char"0E0031}} & +\arraybslash Epigraphic M / \ A7FF\\\hline +% +\nuni{M} & +{M\&\_\_e;\&\_\_n;} & +{\restag{M\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule M\\\hline +% +\mufi{m} & +{m\&\_\_u;\&\_\_d;} & +{\restag{m\char"0E0075\char"0E0064}} & +\arraybslash Uncial m with descender / F23D\\\hline +% +\mufi{m} & +{m\&\_\_u;\&\_\_n;} & +{\restag{m\char"0E0075\char"0E006E}} & +\arraybslash Uncial m / F23C\\\hline +% +\mufi{m} & +{m\&\_\_d;\&\_\_e;} & +{\restag{m\char"0E0064\char"0E0065}} & +\arraybslash m with descender / F223\\\hline +% +\mufi{m} & +{m\&\_\_e;\&\_\_n;} & +{\restag{m\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule m / EEEE\\\hline +% +\mufi{N} & +{N\&\_\_d;\&\_\_e;} & +{\restag{N\char"0E0064\char"0E0065}} & +\arraybslash N with descender / F229\\\hline +% +\mufi{N} & +{N\&\_\_e;\&\_\_n;} & +{\restag{N\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule n / EEEF\\\hline +% +\mufi{N} & +{N\&\_\_l;\&\_\_d;} & +{\restag{N\char"0E006C\char"0E0064}} & +\arraybslash {\narrow N with low bar and descender / TBD}\\\hline +% +\mufi{n} & +{n\&\_\_d;\&\_\_e;} & +{\restag{n\char"0E0064\char"0E0065}} & +\arraybslash n with descender / F228\\\hline +% +\mufi{n} & +{n\&\_\_b;\&\_\_a;} & +{\restag{n\char"0E0062\char"0E0061}} & +\arraybslash n with bar / E7B2\\\hline +% +\mufi{n} & +{n\&\_\_c;\&\_\_u;} & +{\restag{n\char"0E0063\char"0E0075}} & +\arraybslash n with curl / F19A\\\hline +% +\mufi{n} & +{n\&\_\_e;\&\_\_n;} & +{\restag{n\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule n / EEEF\\\hline +% +\mufi{n} & +{n\&\_\_s;\&\_\_d;} & +{\restag{n\char"0E0073\char"0E0064}} & +\arraybslash Small cap n with descender / F22A\\\hline +% +\nuni{n} & +{n\&\_\_a;\&\_\_s;} & +{\restag{n\char"0E0061\char"0E0073}} & +\arraybslash n with attached subscript a\\\hline +% +\mufi{n} & +{n\&\_\_w;\&\_\_p;} & +{\restag{n\char"0E0077\char"0E0070}} & +\arraybslash {Wide petite cap n with descender / TBD}\\\hline +% +\nuni{O} & +{O\&\_\_e;\&\_\_n;} & +{\restag{O\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule O\\\hline +% +\mufi{o} & +{o\&\_\_e;\&\_\_n;} & +{\restag{o\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule o / EEF0\\\hline +% +\stdu{P} & +{P\&\_\_r;\&\_\_e;} & +{\restag{P\char"0E0072\char"0E0065}} & +\arraybslash Reversed P / A7FC\\\hline +% +\nuni{P} & +{P\&\_\_e;\&\_\_n;} & +{\restag{P\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule P\\\hline +% +\mufi{p} & +{p\&\_\_e;\&\_\_n;} & +{\restag{p\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule p / EEF1\\\hline +% +\nuni{p} & +{p\&\_\_a;\&\_\_1;} & +{\restag{p\char"0E0061\char"0E0031}} & +\arraybslash Alternate p for Ormulum\\\hline +% +\mufi{Q} & +{Q\&\_\_s;\&\_\_m;} & +{\restag{Q\char"0E0073\char"0E006D}} & +\arraybslash Q with stem / F22C\\\hline +% +\nuni{Q} & +{Q\&\_\_l;\&\_\_1;} & +{\restag{Q\char"0E006C\char"0E0031\char"25CC}} & +\arraybslash Q with long tail, one\\\hline +% +\nuni{Q} & +{Q\&\_\_l;\&\_\_2;} & +{\restag{Q\char"0E006C\char"0E0032\char"25CC\char"25CC}} & +\arraybslash Q with long tail, two\\\hline +% +\nuni{Q} & +{Q\&\_\_e;\&\_\_n;} & +{\restag{Q\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule Q\\\hline +% +\mufi{q} & +{q\&\_\_s;\&\_\_d;} & +{\restag{q\char"0E0073\char"0E0064}} & +\arraybslash q with diagonal stroke / E8B4\\\hline +% +\mufi{q} & +{q\&\_\_e;\&\_\_n;} & +{\restag{q\char"0E0065\char"0E006E}} & +\arraybslash Enlarged minuscule q / EEF2\\\hline +% +\stdu{R} & +{R\&\_\_i;\&\_\_n;} & +\restag{R\char"0E0069\char"0E006E} & +\arraybslash Insular R / A783\\\hline +% +\stdu{R} & +{R\&\_\_r;\&\_\_o;} & +\restag{R\char"0E0072\char"0E006F} & +\arraybslash R rotunda / A75A\\\hline +% +\nuni{R} & +{R\&\_\_e;\&\_\_n;} & +\restag{R\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule R\\\hline +% +\stdu{r} & +{r\&\_\_i;\&\_\_n;} & +\restag{r\char"0E0069\char"0E006E} & +\arraybslash Insular r / A782\\\hline +% +\stdu{r} & +{r\&\_\_r;\&\_\_o;} & +\restag{r\char"0E0072\char"0E006F} & +\arraybslash r rotunda / A75B\\\hline +% +\mufi{r} & +{r\&\_\_c;\&\_\_u;} & +\restag{r\char"0E0063\char"0E0075} & +\arraybslash r with curl / F19B\\\hline +% +\mufi{r} & +{r\&\_\_e;\&\_\_n;} & +\restag{r\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule r / EEF3\\\hline +% +\stdu{S} & +{S\&\_\_i;\&\_\_n;} & +\restag{S\char"0E0069\char"0E006E} & +\arraybslash Insular S / A784\\\hline +% +\stdu{S} & +{S\&\_\_s;\&\_\_g;} & +\restag{S\char"0E0073\char"0E0067} & +\arraybslash Sigmoid S / A7D8\\\hline +% +\mufi{S} & +{S\&\_\_a;\&\_\_d;} & +\restag{S\char"0E0061\char"0E0064} & +\arraybslash Ascending and descending S / TBD\\\hline +% +\mufi{S} & +{S\&\_\_r;\&\_\_z;} & +\restag{S\char"0E0072\char"0E007A} & +\arraybslash Reverse Z-shaped S / TBD\\\hline +% +\nuni{S} & +{S\&\_\_e;\&\_\_n;} & +\restag{S\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule S\\\hline +% +\nuni{S} & +{S\&\_\_s;\&\_\_d;} & +\restag{S\char"0E0073\char"0E0064} & +\arraybslash {\narrow S with diagonal stroke (Sanctus abbrev)}\\\hline +% +\stdu{S} & +{S\&\_\_m;\&\_\_s;} & +\restag{S\char"0E006D\char"0E0073} & +\arraybslash {Middle Scots S}\\\hline +% +\stdu{s} & +{s\&\_\_i;\&\_\_n;} & +\restag{s\char"0E0069\char"0E006E} & +\arraybslash Insular s / A785\\\hline +% +\mufi{s} & +{s\&\_\_i;\&\_\_s;} & +\restag{s\char"0E0069\char"0E0073} & +\arraybslash Insular s with split top / TBD\\\hline +% +\stdu{s} & +{s\&\_\_s;\&\_\_g;} & +\restag{s\char"0E0073\char"0E0067} & +\arraybslash Sigmoid s / A7D9\\\hline +% +\mufi{s} & +{s\&\_\_a;\&\_\_d;} & +\restag{s\char"0E0061\char"0E0064} & +\arraybslash Ascending and descending s / TBD\\\hline +% +\stdu{s} & +{s\&\_\_l;\&\_\_o;} & +\restag{s\char"0E006C\char"0E006F} & +\arraybslash Long s / 017F\\\hline +% +\mufi{s} & +{s\&\_\_e;\&\_\_n;} & +\restag{s\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule s / EEF4\\\hline +% +\mufi{s} & +{s\&\_\_l;\&\_\_d;} & +\restag{s\char"0E006C\char"0E0064} & +\arraybslash Long s with descender / F127\\\hline +% +\mufi{s} & +{s\&\_\_l;\&\_\_f;} & +\restag{s\char"0E006C\char"0E0066} & +\arraybslash Long s with flourish / E8B7\\\hline +% +\mufi{s} & +{s\&\_\_l;\&\_\_s;} & +\restag{s\char"0E006C\char"0E0073} & +\arraybslash Long s with diagonal stroke / E8B8\\\hline +% +\nuni{s} & +{s\&\_\_l;\&\_\_l;} & +\restag{s\char"0E006C\char"0E006C} & +\arraybslash Long s with loop\\\hline +% +\mufi{s} & +{s\&\_\_s;\&\_\_t;} & +\restag{s\char"0E0073\char"0E0074} & +\arraybslash Long s with short tail / TBD\\\hline +% +\stdu{s} & +{s\&\_\_m;\&\_\_s;} & +\restag{s\char"0E006D\char"0E0073} & +\arraybslash {Middle Scots s}\\\hline +% +\stdu{T} & +{T\&\_\_i;\&\_\_n;} & +\restag{T\char"0E0069\char"0E006E} & +\arraybslash Insular T / A786\\\hline +% +\nuni{T} & +{T\&\_\_e;\&\_\_n;} & +\restag{T\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule T\\\hline +% +\stdu{t} & +{t\&\_\_i;\&\_\_n;} & +\restag{t\char"0E0069\char"0E006E} & +\arraybslash Insular t / A787\\\hline +% +\mufi{t} & +{t\&\_\_c;\&\_\_u;} & +\restag{t\char"0E0063\char"0E0075} & +\arraybslash t with curl / F199\\\hline +% +\mufi{t} & +{t\&\_\_e;\&\_\_n;} & +\restag{t\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule t / EEF5\\\hline +% +\mufi{t} & +{t\&\_\_c;\&\_\_d;} & +\restag{t\char"0E0063\char"0E0064} & +\arraybslash Cap-like t with descender / TBD\\\hline +% +\nuni{U} & +{U\&\_\_e;\&\_\_n;} & +\restag{U\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule U\\\hline +% +\nuni{U} & +{U\&\_\_l;\&\_\_c;} & +\restag{U\char"0E006C\char"0E0063} & +\arraybslash Lowercase-shaped U\\\hline +% +\mufi{U} & +{U\&\_\_l;\&\_\_d;} & +\restag{U\char"0E006C\char"0E0064} & +\arraybslash {\narrow Lowercase-shaped U with descender / TBD}\\\hline +% +\mufi{u} & +{u\&\_\_e;\&\_\_n;} & +\restag{u\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule u / EEF7\\\hline +% +\nuni{V} & +{V\&\_\_e;\&\_\_n;} & +\restag{V\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule V\\\hline +% +\mufi{v} & +{v\&\_\_s;\&\_\_1;} & +\restag{v\char"0E0073\char"0E0031} & +\arraybslash Enlarged minuscule v / EEF8\\\hline +% +\mufi{v} & +{v\&\_\_s;\&\_\_d;} & +\restag{v\char"0E0073\char"0E0064} & +\arraybslash v with diagonal stroke / E8BA\\\hline +% +\mufi{v} & +{v\&\_\_b;\&\_\_a;} & +\restag{v\char"0E0062\char"0E0061} & +\arraybslash v with bar / E74E\\\hline +% +\mufi{v} & +{v\&\_\_e;\&\_\_n;} & +\restag{v\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule v / EEF8\\\hline +% +\mufi{v} & +{v\&\_\_s;\&\_\_2;} & +\restag{v\char"0E0073\char"0E0032} & +\arraybslash v with two bars / E8BC\\\hline +% +\mufi{v} & +{v\&\_\_e;\&\_\_l;} & +\restag{v\char"0E0065\char"0E006C} & +\arraybslash {\narrow Enlarged minuscule v with low point / TBD}\\\hline +% +\nuni{W} & +{W\&\_\_e;\&\_\_n;} & +\restag{W\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule W\\\hline +% +\stdu{W} & +{W\&\_\_a;\&\_\_n;} & +\restag{W\char"0E0061\char"0E006E} & +\arraybslash {W Anglicana}\\\hline +% +\mufi{w} & +{w\&\_\_e;\&\_\_n;} & +\restag{w\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule w / EEF9\\\hline +% +\stdu{w} & +{w\&\_\_a;\&\_\_n;} & +\restag{w\char"0E0061\char"0E006E} & +\arraybslash {w Anglicana}\\\hline +% +\mufi{ƿ} & +{ƿ\&\_\_e;\&\_\_n;} & +\restag{ƿ\char"0E0065\char"0E006E} & +\arraybslash Enlarged wynn / TBD\\\hline +% +\nuni{X} & +{X\&\_\_e;\&\_\_n;} & +\restag{X\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule X\\\hline +% +\mufi{x} & +{x\&\_\_e;\&\_\_n;} & +\restag{x\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule x / EEFA\\\hline +% +\stdu{x} & +{x\&\_\_l;\&\_\_o;} & +\restag{x\char"0E006C\char"0E006F} & +\arraybslash x with long left leg / AB57\\\hline +% +\mufi{x} & +{x\&\_\_s;\&\_\_1;} & +\restag{x\char"0E0073\char"0E0031} & +\arraybslash x with diagonal stroke (upper left) / E8BD\\\hline +% +\mufi{x} & +{x\&\_\_s;\&\_\_2;} & +\restag{x\char"0E0073\char"0E0032} & +\arraybslash x with diagonal stroke (lower right) / E8BE\\\hline +% +\mufi{x} & +{x\&\_\_s;\&\_\_3;} & +\restag{x\char"0E0073\char"0E0033} & +\arraybslash {\narrow 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 +% +\nuni{Y} & +{Y\&\_\_e;\&\_\_n;} & +\restag{Y\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule Y\\\hline +% +\mufi{y} & +{y\&\_\_r;\&\_\_m;} & +\restag{y\char"0E0072\char"0E006D} & +\arraybslash y with main right stroke / F233\\\hline +% +\mufi{y} & +{y\&\_\_b;\&\_\_a;} & +\restag{y\char"0E0062\char"0E0061} & +\arraybslash y with bar / E77B\\\hline +% +\mufi{y} & +{y\&\_\_e;\&\_\_n;} & +\restag{y\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule y / EEFB\\\hline +% +\mufi{y} & +{y\&\_\_c;\&\_\_u;} & +\restag{y\char"0E0063\char"0E0075} & +\arraybslash Curved y / TBD\\\hline +% +\mufi{y} & +{y\&\_\_s;\&\_\_c;} & +\restag{y\char"0E0073\char"0E0063} & +\arraybslash Short curved y / TBD\\\hline +% +\stdu{Z} & +{Z\&\_\_v;\&\_\_i;} & +\restag{Z\char"0E0076\char"0E0069} & +\arraybslash Visigothic Z / A762\\\hline +% +\nuni{Z} & +{Z\&\_\_e;\&\_\_n;} & +\restag{Z\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule Z\\\hline +% +\stdu{z} & +{z\&\_\_v;\&\_\_i;} & +\restag{z\char"0E0076\char"0E0069} & +\arraybslash Visigothic z / A763\\\hline +% +\mufi{z} & +{z\&\_\_m;\&\_\_g;} & +\restag{z\char"0E006D\char"0E0067} & +\arraybslash Middle High German z / F238\\\hline +% +\mufi{z} & +{z\&\_\_e;\&\_\_n;} & +\restag{z\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule z / EEFC\\\hline +% +\opua{U+0104} & +{\char"0104\&\_\_s;\&\_\_1;} & +\restag{\char"0104\char"0E0073\char"0E0031} & +\arraybslash A with short diagonal stroke / F0000\\\hline +% +\opua{U+0104} & +{\char"0104\&\_\_s;\&\_\_2;} & +\restag{\char"0104\char"0E0073\char"0E0032} & +\arraybslash A with long diagonal stroke / F001E\\\hline +% +\opua{U+0104} & +{\char"0104\&\_\_f;\&\_\_l;} & +\restag{\char"0104\char"0E0066\char"0E006C} & +\arraybslash A with flourish / F0002\\\hline +% +\opua{U+0105} & +{\char"0105\&\_\_s;\&\_\_1;} & +\restag{\char"0105\char"0E0073\char"0E0031} & +\arraybslash a with short diagonal stroke / F0001\\\hline +% +\opua{U+0105} & +{\char"0105\&\_\_s;\&\_\_2;} & +\restag{\char"0105\char"0E0073\char"0E0032} & +\arraybslash a with long diagonal stroke / F001F\\\hline +% +\nuni{U+A733} & +{\char"0A733\&\_\_u;\&\_\_n;} & +\restag{\char"0A733\char"0E0075\char"0E006E} & +\arraybslash Uncial aa\\\hline +% +\mufi{U+A733} & +{\char"0A733\&\_\_c;\&\_\_l;} & +\restag{\char"0A733\char"0E0063\char"0E006C} & +\arraybslash Closed aa / EFA0\\\hline +% +\mufi{U+A733} & +{\char"0A733\&\_\_e;\&\_\_n;} & +\restag{\char"0A733\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule aa / EFDF\\\hline +% +\mufi{U+00C6} & +{Æ\&\_\_n;\&\_\_e;} & +\restag{Æ\char"0E006E\char"0E0065} & +\arraybslash Neckless {\AE} / EFAE\\\hline +% +\mufi{U+00C6} & +{Æ\&\_\_e;\&\_\_n;} & +\restag{Æ\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule {\AE}\\\hline +% +\mufi{U+00E6} & +{æ\&\_\_n;\&\_\_e;} & +\restag{æ\char"0E006E\char"0E0065} & +\arraybslash Neckless æ / EFA1\\\hline +% +\mufi{U+00E6} & +{æ\&\_\_e;\&\_\_n;} & +\restag{æ\char"0E0065\char"0E006E} & +\arraybslash Enlarged minuscule æ / \ EAF1\\\hline +% +\mufi{U+00E6} & +{æ\&\_\_o;\&\_\_p;} & +\restag{æ\char"0E006F\char"0E0070} & +\arraybslash Open æ / F204\\\hline +% +\mufi{U+00E6} & +{æ\&\_\_s;\&\_\_q;} & +\restag{æ\char"0E0073\char"0E0071} & +\arraybslash æ with square a / TBD\\\hline +% +\mufi{U+00E6} & +{æ\&\_\_r;\&\_\_o;} & +\restag{æ\char"0E0072\char"0E006F} & +\arraybslash æ with round a / TBD\\\hline +% +\nuni{U+00E6} & +{æ\&\_\_r;\&\_\_o;} & +\restag{æ\char"0E0075\char"0E006E} & +\arraybslash Uncial æ\\\hline +% +\mufi{U+A734} & +{\char"0A734\&\_\_n;\&\_\_e;} & +\restag{\char"0A734\char"0E006E\char"0E0065} & +\arraybslash Neckless AO / F205\\\hline +% +\nuni{U+A734} & +{\char"0A734\&\_\_e;\&\_\_1;} & +\restag{\char"0A734\char"0E0065\char"0E0031} & +\arraybslash Enlarged minuscule AO\\\hline +% +\nuni{U+A734} & +{\char"0A734\&\_\_e;\&\_\_2;} & +\restag{\char"0A734\char"0E0065\char"0E0032} & +\arraybslash Enlarged minuscule AO with smaller O\\\hline +% +\mufi{U+A735} & +{\char"0A735\&\_\_e;\&\_\_1;} & +\restag{\char"0A735\char"0E0065\char"0E0031} & +\arraybslash Enlarged minuscule ao / EFDE\\\hline +% +\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 +% +\mufi{U+A735} & +{\char"0A735\&\_\_n;\&\_\_e;} & +\restag{\char"0A735\char"0E006E\char"0E0065} & +\arraybslash Neckless ao / F206\\\hline +% +\nuni{U+A735} & +{\char"0A735\&\_\_u;\&\_\_n;} & +\restag{\char"0A735\char"0E0075\char"0E006E} & +\arraybslash Uncial ao\\\hline +% +\mufi{U+A739} & +{\char"0A739\&\_\_n;\&\_\_e;} & +\restag{\char"0A739\char"0E006E\char"0E0065} & +\arraybslash Neckless av / EFA2\\\hline +% +\opua{U+0111} & +{\char"0111\&\_\_f;\&\_\_l;} & +\restag{\char"0111\char"0E0066\char"0E006C} & +\arraybslash d with flourish / F0007\\\hline +% +\mufi{U+00F0} & +{ð\&\_\_e;\&\_\_a;} & +\restag{ð\char"0E0065\char"0E0061} & +\arraybslash Enlarged eth alternate form / TBD\\\hline +% +\nuni{U+0118} & +{Ę\&\_\_c;\&\_\_e;} & +\restag{Ę\char"0E0063\char"0E0065} & +\arraybslash E with centered ogonek\\\hline +% +\opua{U+0118} & +{Ę\&\_\_s;\&\_\_t;} & +\restag{Ę\char"0E0073\char"0E0074} & +\arraybslash E with diagonal stroke / F0009\\\hline +% +\nuni{U+0118} & +{Ę\char"0307\char"0301\&\_\_c;\&\_\_e;} & +\restag{Ę\char"0307\char"0301\char"0E0063\char"0E0065} & +\arraybslash E with dot, acute, and centered ogonek\\\hline +% +\nuni{U+0118} & +{Ę\char"0307\char"0301\&\_\_s;\&\_\_t;} & +\restag{Ę\char"0307\char"0301\char"0E0073\char"0E0074} & +\arraybslash E with dot, acute, and diagonal stroke\\\hline +% +\nuni{U+0119} & +{ę\&\_\_c;\&\_\_e;} & +\restag{ę\char"0E0063\char"0E0065} & +\arraybslash e with centered ogonek\\\hline +% +\opua{U+0119} & +{ę\&\_\_s;\&\_\_t;} & +\restag{ę\char"0E0073\char"0E0074} & +\arraybslash e with diagonal stroke / F000A\\\hline +% +\nuni{U+0119} & +{ę\char"0307\char"0301\&\_\_c;\&\_\_e;} & +\restag{ę\char"0307\char"0301\char"0E0063\char"0E0065} & +\arraybslash e with dot, acute, and centered ogonek\\\hline +% +\nuni{U+0119} & +{ę\char"0307\char"0301\&\_\_s;\&\_\_t;} & +\restag{ę\char"0307\char"0301\char"0E0073\char"0E0074} & +\arraybslash e with dot, acute, and diagonal stroke\\\hline +% +\nuni{\&\_eogo;} & +{{\narrow \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;} & +\restag{\char"25CC\&\_eogo;\char"0E0073\char"0E0074} & +\arraybslash Combining e with diagonal stroke\\\hline +% +\nuni{U+021C} & +{Ȝ\&\_\_f;\&\_\_l;} & +\restag{Ȝ\char"0E0066\char"0E006C} & +\arraybslash Yogh with flat top\\\hline +% +\nuni{U+021C} & +{Ȝ\&\_\_i;\&\_\_n;} & +\restag{Ȝ\char"0E0069\char"0E006E} & +\arraybslash Yogh with insular shape\\\hline +% +\nuni{U+021D} & +{\char"021D\&\_\_f;\&\_\_l;} & +\restag{\char"021D\char"0E0066\char"0E006C} & +\arraybslash yogh with flat top\\\hline +% +\nuni{U+021D} & +{\char"021D\&\_\_i;\&\_\_n;} & +\restag{\char"021D\char"0E0069\char"0E006E} & +\arraybslash yogh with insular shape\\\hline +% +\nuni{U+014A} & +{Ŋ\&\_\_l;\&\_\_h;} & +{\restag{Ŋ\char"0E006C\char"0E0068}} & +\arraybslash Rounded Ŋ with low hook\\\hline +% +\nuni{U+014A} & +{Ŋ\&\_\_b;\&\_\_h;} & +{\restag{Ŋ\char"0E0062\char"0E0068}} & +\arraybslash Rounded Ŋ with baseline hook\\\hline +% +\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 +% +\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 +% +\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 +% +\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 +% +\mufi{U+1E8F} & +{\char"1E8F\&\_\_s;\&\_\_d;} & +\restag{\char"1E8F\char"0E0073\char"0E0064} & +\arraybslash Short curved y with dot / TBD\\\hline +% +\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 +% +\nuni{U+A765/ENG} & +{\char"0A765\&\_\_a;\&\_\_1;} & +{\restag{\char"0A765\char"0E0061\char"0E0031}} & +\arraybslash \ thorn with stroke with different slant\\\hline +% +\opua{U+0241} & +{\char"0294\&\_\_a;\&\_\_1;} & +\restag{\char"0294\char"0E0061\char"0E0031} & +\arraybslash Alternate glottal stop / F001B\\\hline +% +\opua{U+204A} & +{\char"204A\&\_\_a;\&\_\_1;} & +\restag{\char"204A\char"0E0061\char"0E0031} & +\arraybslash Tironian et sign later form / F001D\\\hline +% +\nuni{U+204A} & +{\char"204A\&\_\_a;\&\_\_2;} & +\restag{\char"204A\char"0E0061\char"0E0032} & +\arraybslash Tironian et sign later form with bar\\\hline +% +\mufi{U+204A} & +{\char"204A\&\_\_a;\&\_\_3;} & +\restag{\char"204A\char"0E0061\char"0E0033} & +\arraybslash {\narrow Tironian et sign without descender / TBD}\\\hline +% +\opua{U+2E52} & +{\char"2E52\&\_\_a;\&\_\_1;} & +\restag{\char"2E52\char"0E0061\char"0E0031} & +\arraybslash Tironian Et sign later form / F001C\\\hline +% +\nuni{U+2E52} & +{\char"2E52\&\_\_a;\&\_\_2;} & +\restag{\char"2E52\char"0E0061\char"0E0032} & +\arraybslash Tironian Et sign later form with bar\\\hline +% +\mufi{U+2E52} & +{\char"2E52\&\_\_a;\&\_\_3;} & +\restag{\char"2E52\char"0E0061\char"0E0033} & +\arraybslash {\narrow Tironian Et sign without descender / TBD}\\\hline +% +\nuni{U+00AF} & +{{\textasciimacron}\&\_\_0;\&\_\_1;} & +\restag{{\textasciimacron}\char"0E0030\char"0E0031} & +\arraybslash Spacing zigzag\\\hline +% +\nuni{U+035E} & +{\char"25CC\char"035E\&\_\_a;\&\_\_1;\char"25CC} & +\restag{\char"25CC\char"035E\char"0E0061\char"0E0031\char"25CC} & +\arraybslash Double macron with serifs\\\hline +% +\nuni{U+035E} & +{\char"25CC\char"035E\&\_\_a;\&\_\_2;\char"25CC} & +\restag{\char"25CC\char"035E\char"0E0061\char"0E0032\char"25CC} & +\arraybslash Shorter double macron with serifs\\\hline +% +\mufi{U+00B7} & +{{\textperiodcentered}\&\_\_h;\&\_\_i;} & +\restag{{\textperiodcentered}\char"0E0068\char"0E0069} & +\arraybslash Distinctio / \ F1F8\\\hline +% +\mufi{U+00B7} & +{{\textperiodcentered}\&\_\_s;\&\_\_r;} & +\restag{{\textperiodcentered}\char"0E0073\char"0E0072} & +\arraybslash Slightly raised period / \ TBD\\\hline +% +\mufi{comma} & +{,\&\_\_a;\&\_\_1;} & +\restag{,\char"0E0061\char"0E0031} & +\arraybslash Comma positura / F1E2\\\hline +% +\mufi{comma} & +{,\&\_\_a;\&\_\_2;} & +\restag{,\char"0E0061\char"0E0032} & +\arraybslash High comma positura / F1E3\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_1;} & +\restag{;\char"0E0061\char"0E0031} & +\arraybslash Punctus versus / F1EA\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_2;} & +\restag{;\char"0E0061\char"0E0032} & +\arraybslash Punctus with comma positura / F1E4\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_3;} & +\restag{;\char"0E0061\char"0E0033} & +\arraybslash {\narrow Colon with middle comma positura / \ltab{F1E5}}\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_4;} & +\restag{;\char"0E0061\char"0E0034} & +\arraybslash Two dots over comma positura / F1F2\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_5;} & +\restag{;\char"0E0061\char"0E0035} & +\arraybslash Three dots over comma positura / F1E6\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_6;} & +\restag{;\char"0E0061\char"0E0036} & +\arraybslash {\narrow Punctus with double comma positura / TBD}\\\hline +% +\mufi{semicolon} & +{;\&\_\_a;\&\_\_7;} & +\restag{;\char"0E0061\char"0E0037} & +\arraybslash Hexagonal positura / TBD\\\hline +% +\mufi{U+2E4E} & +{\char"2E4E\&\_\_a;\&\_\_1;} & +\restag{\char"2E4E\char"0E0061\char"0E0031} & +\arraybslash Punctus elevatus diagonal stroke / F1F0\\\hline +% +\mufi{U+2E4E} & +{\char"2E4E\&\_\_a;\&\_\_2;} & +\restag{\char"2E4E\char"0E0061\char"0E0032} & +\arraybslash Punctus elevatus with high back / F1FA\\\hline +% +\mufi{U+2E4E} & +{\char"2E4E\&\_\_a;\&\_\_3;} & +\restag{\char"2E4E\char"0E0061\char"0E0033} & +\arraybslash Punctus elevatus with onset / F1FB\\\hline +% +\mufi{U+2E4E} & +{\char"2E4E\&\_\_a;\&\_\_4;} & +\restag{\char"2E4E\char"0E0061\char"0E0034} & +\arraybslash Punctus flexus / F1F5\\\hline +% +\mufi{exclam} & +{!\&\_\_a;\&\_\_1;} & +\restag{!\char"0E0061\char"0E0031} & +\arraybslash Punctus exlamativus / F1E7\\\hline +% +\mufi{question} & +{?\&\_\_a;\&\_\_1;} & +\restag{?\char"0E0061\char"0E0031} & +\arraybslash Punctus interrogativus / F160\\\hline +% +\mufi{question} & +{?\&\_\_a;\&\_\_2;} & +\restag{?\char"0E0061\char"0E0032} & +\arraybslash Punctus interrogativus horizontal tilde / F1E8\\\hline +% +\mufi{question} & +{?\&\_\_a;\&\_\_3;} & +\restag{?\char"0E0061\char"0E0033} & +\arraybslash Punctus interrogativus lemniskate / F1F1\\\hline +% +\mufi{asciitilde} & +{\~{}\&\_\_a;\&\_\_1;} & +\restag{\~{}\char"0E0061\char"0E0031} & +\arraybslash Wavy line / F1F9\\\hline +% +\mufi{asterisk} & +{*\&\_\_a;\&\_\_1;} & +\restag{*\char"0E0061\char"0E0031} & +\arraybslash Signe de renvoi / F1EC\\\hline +% +\mufi{slash} & +{/\&\_\_a;\&\_\_1;} & +\restag{/\char"0E0061\char"0E0031} & +\arraybslash Virgula suspensiva / F1F4\\\hline +% +\mufi{slash} & +{/\&\_\_a;\&\_\_2;} & +\restag{/\char"0E0061\char"0E0032} & +\arraybslash Short virgula / F1F7\\\hline +% +\opua{U+A75D} & +{\char"0A75D\&\_\_a;\&\_\_1;} & +\restag{\char"0A75D\char"0E0061\char"0E0031} & +\arraybslash Alternate rum abbreviation / F0016\\\hline +% +\mufi{U+035B} & +{\char"25CC\char"035B\&\_\_a;\&\_\_n;} & +\restag{\char"25CC\char"035B\char"0E0061\char"0E006E} & +\arraybslash Combining angular zigzag / F1C7\\\hline +% +\mufi{U+035B} & +{\char"25CC\char"035B\&\_\_c;\&\_\_u;} & +\restag{\char"25CC\char"035B\char"0E0063\char"0E0075} & +\arraybslash Combining curly zigzag / F1C8\\\hline +% +\stdu{U+035B} & +{\char"25CC\char"035B\&\_\_v;\&\_\_e;} & +\restag{\char"25CC\char"035B\char"0E0076\char"0E0065} & +\arraybslash Combining vertical zigzag (tilde) / 033E\\\hline +% +\mufi{U+A770} & +{\char"0A770\&\_\_a;\&\_\_1;} & +\restag{\char"0A770\char"0E0061\char"0E0031} & +\arraybslash Baseline spacing us abbreviation / F1A6\\\hline +% +\mufi{U+A770} & +{\char"0A770\&\_\_a;\&\_\_2;} & +\restag{\char"0A770\char"0E0061\char"0E0032} & +\arraybslash Uppercase us abbreviation / F1A5\\\hline +% +\mufi{U+A76B} & +{\char"0A76B\&\_\_a;\&\_\_1;} & +\restag{\char"0A76B\char"0E0061\char"0E0031} & +\arraybslash Semicolon-like et abbreviation / F1AC\\\hline +% +\nuni{U+A76B} & +{\char"0A76B\&\_\_a;\&\_\_2;} & +\restag{\char"0A76B\char"0E0061\char"0E0032} & +\arraybslash Subscript et abbreviation\\\hline +% +\mufi{U+A76B} & +{\char"0A76B\&\_\_a;\&\_\_3;} & +\restag{\char"0A76B\char"0E0061\char"0E0033} & +\arraybslash Colon-like et abbreviation / TBD\\\hline +% +\mufi{U+1DD3} & +{\char"25CC\char"1DD3\&\_\_a;\&\_\_1;} & +\restag{\char"25CC\char"1DD3\char"0E0061\char"0E0031} & +\arraybslash Combining flattened \ a with macron / F1C1\\\hline +% +\opua{U+1DD8} & +{\char"25CC\char"1DD8\&\_\_a;\&\_\_1;} & +\restag{\char"25CC\char"1DD8\char"0E0061\char"0E0031} & +\restag\arraybslash Alternate combining insular d / F0005\\\hline +% +\mufi{U+1DE3} & +{\char"25CC\char"1DE3\&\_\_a;\&\_\_1;} & +\restag{\char"25CC\char"1DE3\char"0E0061\char"0E0031} & +\arraybslash Combining ur abbreviation lemniskate / F1C2\\\hline +% +\mufi{U+00E4} & +{ä\&\_\_d;\&\_\_i;} & +\restag{ä\char"0E0064\char"0E0069} & +\arraybslash a with diagonal dieresis / E8D5\\\hline +% +\mufi{U+00F6} & +{ö\&\_\_d;\&\_\_i;} & +\restag{ö\char"0E0064\char"0E0069} & +\arraybslash o with diagonal dieresis / E8D7\\\hline +% +\nuni{U+0308} & +{\char"25CC\char"0308\&\_\_d;\&\_\_i;} & +\restag{\char"25CC\char"0308\char"0E0064\char"0E0069} & +\arraybslash Combining diagonal dieresis\\\hline +% +\mufi{U+0305} & +{\char"25CC\char"0305\&\_\_a;\&\_\_1;} & +\restag{\char"25CC\char"0305\char"0E0061\char"0E0031} & +\arraybslash Combining horizontal stroke with dot / F1C0\\\hline +% +\mufi{U+032E} & +{\char"25CC\char"25CC\char"032E\&\_\_a;\&\_\_1;\char"25CC} & +\restag{\char"25CC\char"25CC\char"032E\char"0E0061\char"0E0031\char"25CC} & +\arraybslash Breve below three letters / F1FC\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_1;} & +\restag{{\textcurrency}\char"0E0030\char"0E0031} & +\arraybslash Latin as libralis sign / F2E0\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_2;} & +\restag{{\textcurrency}\char"0E0030\char"0E0032} & +\arraybslash Latin small capital letter x with bar / F2E2\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_3;} & +\restag{{\textcurrency}\char"0E0030\char"0E0033} & +\arraybslash Latin small capital letter y with bar / F2E3\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_4;} & +\restag{{\textcurrency}\char"0E0030\char"0E0034} & +\arraybslash Latin small capital letter d with slash / F2E4\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_5;} & +\restag{{\textcurrency}\char"0E0030\char"0E0035} & +\arraybslash Pharmaceutical dram sign / F2E6\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_6;} & +\restag{{\textcurrency}\char"0E0030\char"0E0036} & +\arraybslash Ecu sign / F2E7\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_7;} & +\restag{{\textcurrency}\char"0E0030\char"0E0037} & +\arraybslash Floren sign with loop / F2E8\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_8;} & +\restag{{\textcurrency}\char"0E0030\char"0E0038} & +\arraybslash Groschen sign / F2E9\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_0;\&\_\_9;} & +\restag{{\textcurrency}\char"0E0030\char"0E0039} & +\arraybslash Helbing sign / F2FB\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_0;} & +\restag{{\textcurrency}\char"0E0031\char"0E0030} & +\arraybslash Krone sign / F2FA\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_1;} & +\restag{{\textcurrency}\char"0E0031\char"0E0031} & +\arraybslash Dutch libra sign / F2EA\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_2;} & +\restag{{\textcurrency}\char"0E0031\char"0E0032} & +\arraybslash French libra sign / F2EB\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_3;} & +\restag{{\textcurrency}\char"0E0031\char"0E0033} & +\arraybslash Italian libra sign / F2EC\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_4;} & +\restag{{\textcurrency}\char"0E0031\char"0E0034} & +\arraybslash Flemish libra sign / F2ED\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_5;} & +\restag{{\textcurrency}\char"0E0031\char"0E0035} & +\arraybslash Lira nuova sign / F2EE\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_6;} & +\restag{{\textcurrency}\char"0E0031\char"0E0036} & +\arraybslash Lira sterlina sign / F2EF\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_7;} & +\restag{{\textcurrency}\char"0E0031\char"0E0037} & +\arraybslash Old mark sign / F2F0\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_8;} & +\restag{{\textcurrency}\char"0E0031\char"0E0038} & +\arraybslash Old flourish mark sign / F2F1\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_1;\&\_\_9;} & +\restag{{\textcurrency}\char"0E0031\char"0E0039} & +\arraybslash Marked small letter m sign / F2F2\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_0;} & +\restag{{\textcurrency}\char"0E0032\char"0E0030} & +\arraybslash Flourished small letter m sign / F2F3\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_1;} & +\restag{{\textcurrency}\char"0E0032\char"0E0031} & +\arraybslash Pharmaceutical obelus sign / F2F4\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_2;} & +\restag{{\textcurrency}\char"0E0032\char"0E0032} & +\arraybslash Penning sign / F2F5\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_3;} & +\restag{{\textcurrency}\char"0E0032\char"0E0033} & +\arraybslash Old Reichstaler sign / F2F6\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_4;} & +\restag{{\textcurrency}\char"0E0032\char"0E0034} & +\arraybslash German schilling sign / F2F7\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_5;} & +\restag{{\textcurrency}\char"0E0032\char"0E0035} & +\arraybslash German script schilling sign / F2F8\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_6;} & +\restag{{\textcurrency}\char"0E0032\char"0E0036} & +\arraybslash Scudi sign / F2F9\\\hline +% +\mufi{U+00A4} & +{{\textcurrency}\&\_\_2;\&\_\_7;} & +\restag{{\textcurrency}\char"0E0032\char"0E0037} & +\arraybslash Script ounce sign / F2FD\\\hline +% +\mufi{U+2114} & +{\char"2114\&\_\_a;\&\_\_1;} & +\restag{\char"2114\char"0E0061\char"0E0031} & +\arraybslash French libra sign / F2EB\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_1;} & +\restag{{\pounds}\char"0E0061\char"0E0031} & +\arraybslash Dutch libra sign / F2EA\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_2;} & +\restag{{\pounds}\char"0E0061\char"0E0032} & +\arraybslash French libra sign / F2EB\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_3;} & +\restag{{\pounds}\char"0E0061\char"0E0033} & +\arraybslash Italian libra sign / F2EC\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_4;} & +\restag{{\pounds}\char"0E0061\char"0E0034} & +\arraybslash Flemish libra sign / F2ED\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_5;} & +\restag{{\pounds}\char"0E0061\char"0E0035} & +\arraybslash Lira nuova sign / F2EE\\\hline +% +\mufi{U+00A3} & +{{\pounds}\&\_\_a;\&\_\_6;} & +\restag{{\pounds}\char"0E0061\char"0E0036} & +\arraybslash Lira sterlina sign / F2EF\\\hline +% +\mufi{U+20B1} & +{\char"20B0\&\_\_a;\&\_\_1;} & +\restag{\char"20B0\char"0E0061\char"0E0031} & +\arraybslash Penning sign / F2F5\\\hline +% +\mufi{U+0192} & +{\char"0192\&\_\_a;\&\_\_1;} & +\restag{\char"0192\char"0E0061\char"0E0031} & +\arraybslash Floren sign with loop / F2E8\\\hline +% +\mufi{U+2125} & +{\char"2125\&\_\_a;\&\_\_1;} & +\restag{\char"2125\char"0E0061\char"0E0031} & +\arraybslash Script ounce sign / F2FD\\\hline +\end{supertabular} +\end{center} +\footnotetext{Junicode entities (like \&\_\_a\textcompwordmark;) following U+A7C1 (Old Polish o) are not properly +displayed or resolved for technical reasons related to U+A7C1 having very recently been added to Unicode. However, tags +entered directly (as here) or via HTML/XML entity references and TeX commands will still work, and the Junicode entity +will work once applications are updated with the latest additions to the Unicode standard.} +\addfontfeature{StylisticSet=10} diff --git a/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Italic.ttf b/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Italic.ttf Binary files differnew file mode 100644 index 00000000000..c01870c6680 --- /dev/null +++ b/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Italic.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Roman.ttf b/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Roman.ttf Binary files differnew file mode 100644 index 00000000000..3c939c7fd02 --- /dev/null +++ b/Master/texmf-dist/fonts/truetype/public/junicodevf/JunicodeVF-Roman.ttf diff --git a/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.lua b/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.lua new file mode 100644 index 00000000000..71486683316 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.lua @@ -0,0 +1,198 @@ +alt_styles = { + Reg = { 400, 100 }, -- Regular + Cond = { 400, 75 }, + SmCond = { 400, 87.5 }, + SmExp = { 400, 112.5 }, + Exp = { 400, 125 }, + Light = { 300, 100 }, -- Light + CondLight = { 300, 75 }, + SmCondLight = { 300, 87.5 }, + SmExpLight = { 300, 112.5 }, + ExpLight = { 300, 125 }, + Medium = { 500, 100 }, -- Medium + CondMedium = { 500, 75 }, + SmCondMedium = { 500, 87.5 }, + SmExpMedium = { 500, 112.5 }, + ExpMedium = { 500, 125 }, + Smbold = { 600, 100 }, -- Semibold + CondSmbold = { 600, 75 }, + SmCondSmbold = { 600, 87.5 }, + SmExpSmbold = { 600, 112.5 }, + ExpSmbold = { 600, 125 }, + Bold = { 700, 100 }, -- Bold + CondBold = { 700, 75 }, + SmCondBold = { 700, 87.5 }, + SmExpBold = { 700, 112.5 }, + 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 } +} + +-- 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 } +} + + -- 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 } +} + +function adjustweight(weight, adjustment) + adjusted = weight + adjustment + if adjusted > 800 then adjusted = 800 end + if adjusted < 200 then adjusted = 200 end + return adjusted +end + +function adjustwidth(width, adjustment) + adjusted = width + adjustment + if adjusted > 125 then adjusted = 125 end + if adjusted < 75 then adjusted = 75 end + return adjusted +end + + function mkaltcommands() + for k, v in pairs(alt_styles) do + romdef = k .. "Def" + romsizedef = k .. "SizeDef" + italsizedef = k .. "ItalicSizeDef" + romfeat = k .. "Features" + romsizefeat = k .. "SizeFeatures" + italsizefeat = k .. "ItalicSizeFeatures" + if k == "Reg" then + romdef = "RegDef" + italsizedef = "ItalicSizeDef" + romfeat = "RegularFeatures" + romsizefeat = "RegularSizeFeatures" + italsizefeat = "ItalicSizeFeatures" + end + tex.print("\\newcommand{\\" .. romdef .. "}{}") + tex.print("\\newcommand{\\" .. romsizedef .. "}{SizeFeatures={{Size={5-}, RawFeature={axis={wght=" .. + v[1] .. ",wdth=" .. v[2] .. "}}}}}") + tex.print("\\DeclareOptionX{" .. romfeat .. "}{\\renewcommand*{\\" .. romdef .. "}{#1,}}") + tex.print("\\DeclareOptionX{" .. romsizefeat .. "}{\\renewcommand*{\\" .. romsizedef .. "}{\\directlua{mksizecommand({#1})}}}") + tex.print("\\DeclareOptionX{" .. italsizefeat .. "}{\\renewcommand*{\\" .. romsizedef .. "}{\\directlua{mksizecommand({#1})}}}") + 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" + defsizecmd = k .. "SizeDef" + romfontcmd = "j" .. k + italfontcmd = "j" .. k .. "Italic" + if k == "Reg" then + romfontcmd = "jRegular" + italfontcmd = "jItalic" + end + tex.print("\\junicodevf@newfont{\\" .. romfontcmd .. "}{JunicodeVF}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}") + tex.print("\\junicodevf@newfont{\\" .. italfontcmd .. "}{JunicodeVF-Italic}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}") + end +end + +function mksizecommand(sizetable) + result = "Nothing yet" + if #sizetable > 0 then + result = "SizeFeatures={" + lastsize = 0 + for i, v in ipairs(sizetable) do + if v["size"] then + axiscount = 0 + sizeitem = "{Size={" + currentsize = v["size"] + csnum = v["size"] + if i == #sizetable then + currentsize = currentsize .. "-" + elseif lastsize == 0 then + currentsize = "-" .. currentsize + else + currentsize = lastsize .. "-" .. currentsize + end + lastsize = csnum + sizeitem = sizeitem .. currentsize .. "},RawFeature={axis={" + if v["wght"] then + sizeitem = sizeitem .. "wght=" .. v["wght"] + axiscount = axiscount + 1 + end + if v["wdth"] then + if axiscount >= 1 then sizeitem = sizeitem .. "," end + sizeitem = sizeitem .. "wdth=" .. v["wdth"] + axiscount = axiscount + 1 + end + if v["ENLA"] then + if axiscount >= 1 then sizeitem = sizeitem .. "," end + sizeitem = sizeitem .. "ENLA=" .. v["ENLA"] + end + sizeitem = sizeitem .. "}}}," + result = result .. sizeitem + end + end + result = result .. "}" + tex.print(result) + end +end + + diff --git a/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.sty b/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.sty new file mode 100644 index 00000000000..c01ccafa576 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/junicodevf/junicodevf.sty @@ -0,0 +1,393 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{junicodevf}[% + 2023/12/19 (Peter Baker) Supports Junicode VF (2.204 and up) variable fonts for LuaLaTeX.] + +\RequirePackage{ifluatex,xkeyval,fontspec} + +\RequireLuaTeX + +% OPTIONS FOR WEIGHT AND WIDTH + +\def\junicodevf@regweight{1} +\DeclareOptionX{light}{\def\junicodevf@regweight{2}} +\DeclareOptionX{medium}{\def\junicodevf@regweight{3}} + +\def\junicodevf@boldweight{1} +\DeclareOptionX{semibold}{\def\junicodevf@boldweight{2}} + +\def\junicodevf@width{1} +\DeclareOptionX{condensed}{\def\junicodevf@width{2}} +\DeclareOptionX{semicondensed}{\def\junicodevf@width{3}} +\DeclareOptionX{semiexpanded}{\def\junicodevf@width{4}} +\DeclareOptionX{expanded}{\def\junicodevf@width{5}} + +\def\wghtadjust{0} +\DeclareOptionX{weightadjustment}{\def\wghtadjust{#1}} + +\def\wdthadjust{0} +\DeclareOptionX{widthadjustment}{\def\wdthadjust{#1}} + +% FIGURES (default is OldStyle Proportional) + +\newif\ifjunicodevf@lining \junicodevf@liningfalse +\newif\ifjunicodevf@tabular \junicodevf@tabularfalse + +\DeclareOptionX{lining}{\junicodevf@liningtrue} +\DeclareOptionX{tabular}{\junicodevf@tabulartrue} +\DeclareOptionX{proportional}{\junicodevf@tabularfalse} +\DeclareOptionX{oldstyle}{\junicodevf@liningfalse} + +% COMMANDS FOR ADDING FEATURES TO MAIN TEXT + +%\directlua{dofile("junicodevf.lua")} +\directlua{dofile(kpse.find_file("junicodevf.lua"))} + +% Features for all four Main faces + +\newcommand*{\MainDef}{} + +% Features for each of the four Main faces. + +\newcommand*{\MainRegDef}{} +\newcommand*{\MainItalicDef}{} +\newcommand*{\MainBoldDef}{} +\newcommand*{\MainBoldItalicDef}{} + +\DeclareOptionX{MainFeatures}{\renewcommand*{\MainDef}{#1,}} +\DeclareOptionX{MainRegularFeatures}{\renewcommand*{\MainRegDef}{#1,}} +\DeclareOptionX{MainItalicFeatures}{\renewcommand*{\MainItalicDef}{#1,}} +\DeclareOptionX{MainBoldFeatures}{\renewcommand*{\MainBoldDef}{#1,}} +\DeclareOptionX{MainBoldItalicFeatures}{\renewcommand*{\MainBoldItalicDef}{#1,}} + +\DeclareOptionX{MainRegularSizeFeatures}{\newcommand*{\MainRegSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{MainItalicSizeFeatures}{\newcommand*{\MainItalicSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{MainBoldSizeFeatures}{\newcommand*{\MainBoldSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{MainBoldItalicSizeFeatures}{\newcommand*{\MainBoldItalicSizeDef}{\directlua{mksizecommand({#1})}}} + +% SUPPORT FOR ENLA AXIS + +\newcommand*{\ENLAOneSizeDef}{SizeFeatures={{Size={5-}, RawFeature={axis={wght=400,wdth=100,ENLA=32}}}}} +\newcommand*{\ENLATwoSizeDef}{SizeFeatures={{Size={5-}, RawFeature={axis={wght=400,wdth=100,ENLA=47}}}}} +\newcommand*{\ENLAThreeSizeDef}{SizeFeatures={{Size={5-}, RawFeature={axis={wght=400,wdth=100,ENLA=75}}}}} +\newcommand*{\ENLAFourSizeDef}{SizeFeatures={{Size={5-}, RawFeature={axis={wght=400,wdth=100,ENLA=100}}}}} + +\DeclareOptionX{ENLAOneSizeFeatures}{\renewcommand*{\ENLAOneSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{ENLATwoSizeFeatures}{\renewcommand*{\ENLATwoSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{ENLAThreeSizeFeatures}{\renewcommand*{\ENLAThreeSizeDef}{\directlua{mksizecommand({#1})}}} +\DeclareOptionX{ENLAFourSizeFeatures}{\renewcommand*{\ENLAFourSizeDef}{\directlua{mksizecommand({#1})}}} + +% Declare the options for each of the Alternate Styles. + +\directlua{mkaltcommands()} + +% Declare an option that will catch anything undefined and issue a warning. +% Then process the options. + +\DeclareOptionX*{\PackageWarning{JunicodeVF}{Unknown option `\CurrentOption' ignored}} +\ProcessOptionsX\relax + +% DEFINE THE WEIGHTS AND WIDTHS (depending on weight and width options) + +\def\mkregweightcommands#1#2{% +\directlua{wtindex = #1 +adjustment = #2 +mkregweightcommands(wtindex, adjustment)}} + +\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) + +\@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}}} + } + } +}{} + +\@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}}} + } + } +}{} + +\@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}}} + } + } +}{} + +\@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}}} + } + } +}{} + +% NUMBER STRINGS for fontspec. + +\def\junicodevf@figurestyle{Lowercase} +\ifjunicodevf@lining\def\junicodevf@figurestyle{Uppercase}\fi +\def\junicodevf@figurealign{Proportional} +\ifjunicodevf@tabular\def\junicodevf@figurealign{Monospaced}\fi + +% DECLARE THE FONTS + +\setmainfont{Junicode VF}[ + ItalicFont = {*-Italic}, + BoldFont = {*}, + BoldItalicFont = {*-Italic}, + Renderer = HarfBuzz, + Numbers = {\junicodevf@figurealign,\junicodevf@figurestyle}, + \MainDef, + UprightFeatures = {\MainRegDef + \MainRegSizeDef}, + BoldFeatures = {\MainBoldDef + \MainBoldSizeDef}, + ItalicFeatures = {\MainItalicDef + \MainItalicSizeDef}, + BoldItalicFeatures = {\MainBoldItalicDef + \MainBoldItalicSizeDef} +] + +\newcommand*{\junicodevf@newfont}[4]{ + \setfontface#1{#2}[ + Renderer = HarfBuzz, + Numbers = {\junicodevf@figurealign,\junicodevf@figurestyle}, + SmallCapsFont = {*}, + SmallCapsFeatures = {Letters=SmallCaps}, + #3 + #4 + ] +} + +\directlua{mkfontcommands()} + +% ENLARGED FACES + +\setfontface\EnlargedOne{JunicodeVF}[ + Renderer = HarfBuzz, + \ENLAOneSizeDef +] + +\setfontface\EnlargedOneItalic{JunicodeVF-Italic}[ + Renderer = HarfBuzz, + \ENLAOneSizeDef +] + +\setfontface\EnlargedTwo{JunicodeVF}[ + Renderer = HarfBuzz, + \ENLATwoSizeDef +] + +\setfontface\EnlargedTwoItalic{JunicodeVF-Italic}[ + Renderer = HarfBuzz, + \ENLATwoSizeDef +] + +\setfontface\EnlargedThree{JunicodeVF}[ + Renderer = HarfBuzz, + \ENLAThreeSizeDef +] + +\setfontface\EnlargedThreeItalic{JunicodeVF-Italic}[ + Renderer = HarfBuzz, + \ENLAThreeSizeDef +] + +\setfontface\EnlargedFour{JunicodeVF}[ + Renderer = HarfBuzz, + \ENLAFourSizeDef +] + +\setfontface\EnlargedFourItalic{JunicodeVF-Italic}[ + Renderer = HarfBuzz, + \ENLAFourSizeDef +] + +% Convenience commands for non-verbose access to the cvNN features. +% See also the "jcv" mnemonics below. + +\newcommand*{\textcv}[3][0]{{\addfontfeature{CharacterVariant=#2:#1}#3}} +\newcommand*{\jcv}[2][0]{\addfontfeature{CharacterVariant=#2:#1}} + +% Convenience commands for accessing the Stylistic Sets. These are +% intended to be mnemonic. + +\newcommand*{\AltThornEth}{\addfontfeature{StylisticSet=1}} % ss01 +\newcommand*{\textAltThornEth}[1]{{\addfontfeature{StylisticSet=1}#1}} +\newcommand*{\InsularLetterForms}{\addfontfeature{StylisticSet=2}} % ss02 +\newcommand*{\textInsularLetterForms}[1]{{\addfontfeature{StylisticSet=2}#1}} +\newcommand*{\IPAAlternates}{\addfontfeature{StylisticSet=3}} % ss03 +\newcommand*{\textIPAAlternates}[1]{{\addfontfeature{StylisticSet=3}#1}} +\newcommand*{\HighOverline}{\addfontfeature{StylisticSet=4}} % ss04 +\newcommand*{\textHighOverline}[1]{{\addfontfeature{StylisticSet=4}#1}} +\newcommand*{\MediumHighOverline}{\addfontfeature{StylisticSet=5}} % ss05 +\newcommand*{\textMediumHighOverline}[1]{{\addfontfeature{StylisticSet=5}#1}} +\newcommand*{\EnlargedMinuscules}{\addfontfeature{StylisticSet=6}} % ss06 +\newcommand*{\textEnlargedMinuscules}[1]{\addfontfeature{{StylisticSet=6}#1}} +\newcommand*{\Underdotted}{\addfontfeature{StylisticSet=7}} % ss07 +\newcommand*{\textUnderdotted}[1]{{\addfontfeature{StylisticSet=7}#1}} +\newcommand*{\ContextualLongS}{\addfontfeature{StylisticSet=8}} % ss08 +\newcommand*{\textContextualLongS}[1]{{\addfontfeature{StylisticSet=8}#1}} +\newcommand*{\AlternateFigures}{\addfontfeature{StylisticSet=9}} % ss09 +\newcommand*{\textAlternateFigures}[1]{{\addfontfeature{StylisticSet=9}#1}} +\newcommand*{\EntitiesAndTags}{\addfontfeature{StylisticSet=10}} % ss10 +\newcommand*{\textEntitiesAndTags}[1]{{\addfontfeature{StylisticSet=10}#1}} +% \newcommand*{\}{} % ss11 not yet used +\newcommand*{\EarlyEnglishFuthorc}{\addfontfeature{StylisticSet=12}} % ss12 +\newcommand*{\textEarlyEnglishFuthorc}[1]{{\addfontfeature{StylisticSet=12}#1}} +\newcommand*{\ElderFuthark}{\addfontfeature{StylisticSet=13}} % ss13 +\newcommand*{\textElderFuthark}[1]{{\addfontfeature{StylisticSet=13}#1}} +\newcommand*{\YoungerFuthark}{\addfontfeature{StylisticSet=14}} % ss14 +\newcommand*{\textYoungerFuthark}[1]{{\addfontfeature{StylisticSet=14}#1}} +\newcommand*{\LongBranchToShortTwig}{\addfontfeature{StylisticSet=15}} % ss15 +\newcommand*{\textLongBranchToShortTwig}[1]{{\addfontfeature{StylisticSet=15}#1}} +\newcommand*{\ContextualRRotunda}{\addfontfeature{StylisticSet=16}} % ss16 +\newcommand*{\textContextualRRotunda}[1]{{\addfontfeature{StylisticSet=16}#1}} +\newcommand*{\RareDigraphs}{\addfontfeature{StylisticSet=17}} % ss17 +\newcommand*{\textRareDigraphs}[1]{{\addfontfeature{StylisticSet=17}#1}} +\newcommand*{\OldStylePunctuation}{\addfontfeature{StylisticSet=18}} % ss18 +\newcommand*{\textOldStylePunctuation}[1]{{\addfontfeature{StylisticSet=18}#1}} +\newcommand*{\LatinToGothic}{\addfontfeature{StylisticSet=19}} % ss19 +\newcommand*{\textLatinToGothic}[1]{{\addfontfeature{StylisticSet=19}#1}} +\newcommand*{\LowDiacritics}{\addfontfeature{StylisticSet=20}} % ss20 +\newcommand*{\textLowDiacritics}[1]{{\addfontfeature{StylisticSet=20}#1}} + +% Tiny macros for providing mnemonic access to the cvNN features. + +\def\jcvA{1} +\def\jcva{2} +\def\jcvB{3} +\def\jcvb{4} +\def\jcvC{5} +\def\jcvc{6} +\def\jcvD{7} +\def\jcvd{8} +\def\jcvE{9} +\def\jcve{10} +\def\jcvF{11} +\def\jcvf{12} +\def\jcvG{13} +\def\jcvg{14} +\def\jcvH{15} +\def\jcvh{16} +\def\jcvI{17} +\def\jcvi{18} +\def\jcvJ{19} +\def\jcvj{20} +\def\jcvK{21} +\def\jcvk{22} +\def\jcvL{23} +\def\jcvl{24} +\def\jcvM{25} +\def\jcvm{26} +\def\jcvN{27} +\def\jcvn{28} +\def\jcvO{29} +\def\jcvo{30} +\def\jcvP{31} +\def\jcvp{32} +\def\jcvQ{33} +\def\jcvq{34} +\def\jcvR{35} +\def\jcvr{36} +\def\jcvS{37} +\def\jcvs{38} +\def\jcvT{39} +\def\jcvt{40} +\def\jcvU{41} +\def\jcvu{42} +\def\jcvV{43} +\def\jcvv{44} +\def\jcvW{45} +\def\jcvw{46} +\def\jcvX{47} +\def\jcvx{48} +\def\jcvY{49} +\def\jcvy{50} +\def\jcvZ{51} +\def\jcvz{52} +\def\jcvAogonek{53} +\def\jcvaogonek{54} +\def\jcvaa{55} +\def\jcvAE{56} +\def\jcvae{57} +\def\jcvAO{58} +\def\jcvao{59} +\def\jcvav{60} +\def\jcvdbar{61} +\def\jcvdcroat{61} +\def\jcvEogonek{62} +\def\jcvYogh{63} +\def\jcvlhighstroke{64} %somehow escaped the documentation +\def\jcvoPolish{65} +\def\jcvthorncrossed{66} +\def\jcvspacingzigzag{67} +\def\jcvglottal{68} +\def\jcvTironianEt{69} +\def\jcvperiod{70} +\def\jcvmiddot{71} +\def\jcvcomma{72} +\def\jcvsemicolon{73} +\def\jcvpunctuselevatus{74} +\def\jcvexclam{75} +\def\jcvquestion{76} +\def\jcvASCIItilde{77} +\def\jcvasterisk{78} +\def\jcvslash{79} +\def\jcvrum{80} +\def\jcvcombiningzigzag{81} +\def\jcvspacingusabbrev{82} +\def\jcvetabbrev{83} +\def\jcvmacron{84} +\def\jcvcombiningopena{85} +\def\jcvcombininginsulard{86} +\def\jcvcombiningrrotunda{87} +\def\jcvcombiningdieresis{88} +\def\jcvcombiningoverline{89} +\def\jcvHcombiningdoublemacron{90} +\def\jcvEng{91} +\def\jcvbrevebelow{92} +\def\jcvcurrency{93} +\def\jcvlb{94} +\def\jcvsterling{95} +\def\jcvGermanpenny{96} +\def\jcvflorin{97} +\def\jcvounce{98} +%\def\notyetused{99} |