diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/oldstandard')
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/FONTLOG.txt | 170 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/README | 73 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/genfonts.sh | 13 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.pdf | bin | 731443 -> 654442 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.tex | 1205 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.pdf | bin | 0 -> 16317 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.tex | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/oldstandard/ost-generate.py | 24 |
8 files changed, 1106 insertions, 408 deletions
diff --git a/Master/texmf-dist/doc/fonts/oldstandard/FONTLOG.txt b/Master/texmf-dist/doc/fonts/oldstandard/FONTLOG.txt index 431cd956aba..8ea2eb65337 100644 --- a/Master/texmf-dist/doc/fonts/oldstandard/FONTLOG.txt +++ b/Master/texmf-dist/doc/fonts/oldstandard/FONTLOG.txt @@ -43,72 +43,126 @@ lettertype of the early 20th century. ChangeLog --------- +2011 April 30 (Alexey Kryukov) Version 2.2 -2008 November 24 (Alexey Kryukov) Version 2.0.2 - - * My TTF files somehow got autoinstructed with wrong settings. This - resulted into inconsistent bearings under certain PPEM's. - -2008 November 23 (Alexey Kryukov) Version 2.0.1 - - * Oops. GPOS kerning was broken in 2.0. - - * If the same set of rules is shared by several features, then - use just one lookup registered for more than one feature to store them. + * Latin Extended Additional (again, except Vietnamese and medievalist additions) + for Bold and Italic. + + * More punctuation characters, including New Testament critical signs. + + * New implementation for the 'frac' feature: it is now possible to build + any arbitrary fractions rather than just those available in Unicode in the + precomposed form. + + * SIL's Graphite rendering technologie is now supported. The features available + are mostly the same as for OpenType, but there are some additions (in + particular it is possible to render a Greek text with accents above capitals). + The manual has also been changed to reflect the new functionality. + + * Cosmetic glyph changes (foots/arms in Cyrillic 'Ka', 'Zhe', 'Ya' in + particular). + + * Added human-readable stylistic set names (US English only) and style + (sub-family) names in a few additional languages. + + * The fonts are now available also in the WOFF format to simplify embedding + into web pages. + +2009 November 18 (Alexey Kryukov) Version 2.1 (not released) + + * The "Greek and Coptic" Unicode range is now fully covered, except Coptic + letters. The epigraphic letters have been implemented in a simple sans-serif + style: I don't like "creativity" if it can result in producing urecognizable + glyphs. + + * Regular and bold: New alternate glyphs for Cyrillic IE (U+0415/U+0435) and + Ukrainian IE (U+0404/U+0454), used by default for Church Slavonic. The intent + is to make Old Cyrillic YEST clearly distinguishable both from Latin E and + "wide" YEST. + + * New glyphs for CYRILLIC SMALL LETTER MONOGRAPH UK (in all 3 styles). + + * I have implemented a k-shaped kappa in all three styles, a script rho in + regular and bold and a rho with straignt tail in italic. These characters + (except the script rho) are kept unencoded and can be accessed via the 'mgrk' + feature tag. I don't think they would be very useful, but at least it is now + possible to use Old Standard for typesetting a copy of the Unicode Greek + codechart (I needed one for a book I was preparing). + + * Multiple cosmetic glyph changes. In particular Latin capital "C", "E", "F", + "G", "L" and related glyphs have got heavier vertical serifs in the regular font. + Cedilla is redesigned (once again) in regular and bold. Shapes of some Greek + letters (including alternate beta and theta) have also been improved. + + * I no longer use custom PUA mappings. I have preserved PUA codepoints for + a few standard glyphs (including capital accents) previously mapped there + by Adobe, as well as for additional accented Greek characters implemented + for compatibility with Ralph Hancock's fonts. Everything else has been moved + outside the encoding. + + * Oops. I was wrong regarding "zhe with breve": this letter actually + should be formed with a standard (Latin) breve rather than a Cyrillic + telephone receiver-like accent. BTW I think rhis letter should be + available in the font: since I already support historical Romanian + characters, the modern Moldavian Cyrillic alphabet should be supported + as well. + + * The regular font now includes most accented characters from the + Latin Extended Additional range (but not Vietnamese). 2008 November 18 (Alexey Kryukov) Version 2.0 - + A bold version is now available! - - + Added a full set of historical Cyrillic characters, as defined + * A bold version is now available! + + * Added a full set of historical Cyrillic characters, as defined in Unicode 5.1; - - + Implemented Roman numerals and ancient Roman epigraphic letters + + * Implemented Roman numerals and ancient Roman epigraphic letters (including Claudian letters). - + * Switched to lookup-based representation of the OpenType data in the source files to conform the new FontForge's file format; - + * Now both cubic and quadratic versions of the font outlines are stored in the same source files (one file for each style), as FontForge's new approach to multilayered fonts allows this; - + * Switched to OFL version 1.1; - + * FontForge now can generate reasonably good TTF instructions (it could not when OldStandard v. 1.0 was released). So the TTF fonts are now automatically instructed with FontForge. I still include the old instructions for the regular version (prepared with - Peter Baker's xgridfit utility) into the source package, but they - are no longer used in the font itself. This certainly makes some - glyphs look worse, but improves the overall performance of the font + Peter Baker's xgridfit utility) into the source package, but they + are no longer used in the font itself. This certainly makes some + glyphs look worse, but improves the overall performance of the font (especially in the antialiased mode); - + * Danish Aringacute redesigned (now has the acute at the top of the ring and a specially designed, reduced in size, diacritic for the capital glyph); - + * Redesigned cedilla and all combinations with this accent in the upright font; - + * More contour cleanup; - + * Added accented combinations with "W" for Welsh; - + * Added several new math characters to the regular font. The intent was to fully cover the TeX OMS encoding, but this task is still far from being reached; - - * There is now a dedicated Unicode codepoint for capital insular "G" + + * There is now a dedicated Unicode codepoint for capital insular "G" (U+A77D), so move the corresponding glyph to that location; - + * Corrected the shape of Greek symbol phi (U+03D5). It is still not recommended to use this glyph instead of the normal (looped) form; - - * Several new characters have been added, including the Latin letter EZH + + * Several new characters have been added, including the Latin letter EZH (U+01B7/U+0292) and capital Es Zett for German (U+1E9E). There are some new combining marks as well; - + * I used to consider the breve accent should always take the typically Cyrillic form when used after Cyrillic letters. However this assumption seems to be wrong: the specific form of the diacritic is actually @@ -116,21 +170,21 @@ ChangeLog "Short u" (Byelorussian) and "zhe with breve" (Moldavian). 2007 July 14 (Alexey Kryukov) Version 1.1 (not released) - + * Added Latin letters OPEN E and OPEN O, requested by an African user; - + * New glyph for ampersand in the upright font; - + * Redesigned Polish ogonek and Czech comma-like caron; - + * More work on italic Greek letters; - + * General contour cleanup for some glyphs. 2007 January 22 (Alexey Kryukov) Version 1.0 - + * Added the WHITE SQUARE (U+25A1) character; - + * Minor corrections in the fonts themselves and in the PDF manual. 2006 December 12 (Alexey Kryukov) Version 0.9 @@ -144,28 +198,28 @@ ChangeLog * Added Hebrew aleph and a few Fraktur characters, useful for critical apparatus, especially in Bible/New Testament editions. - + * Implemented a full set of standard f-ligatures, present in most OpenType fonts. - + * Andrew Panov has convinced me to implement a set of mathematical glyphs, designed in the style of traditional Russian math typesetting. These glyphs are currently available only in the regular version of the font. - + * A PDF manual, explaining various features of the font, is now available. - + * Greek sampi (both uppercase and lowercase) has been redesigned. - + * Implemented Greek lunate epsilon and reversed lunate epsilon (the design doesn't match the remaining Greek letters though). Thus all Unicode slots intended for "alternate" and mathematical Greek glyphs are now covered. - + * A few improvements in the TTF instructions for the regular font (drop-out control has been enabled). - + * Several minor corrections in the OpenType layouts. 2006 October 01 (Alexey Kryukov) Version 0.8 @@ -178,11 +232,11 @@ ChangeLog * The TrueType version of the regular font now has a separate source file (OldStandard.ttf.sfd) with quadratic splines. - + * Changed the naming convention for the TrueType version: the font name now has a "TT" suffix, so that both TTF and OTF versions can be installed on the same system simultaneously. - + * Added a few Latin Extended-B characters, useful mainly for germanists, in particular "b" with bar, "o" with ogonek and hwair. Also I have corrected shapes of lowercase eth and thorn. Thus Old @@ -198,38 +252,38 @@ ChangeLog * Added OpenType layouts for Latin, Greek and Cyrillic. Special attention has been paid to correct shaping and positioning of diacritical marks. - + * Minor corrections of glyph shapes. 2006 May 08 (Alexey Kryukov) Version 0.6 - * Licensing changed to the SIL Open Font License. - + * License changed to the SIL Open Font License. + * Added Greek glyphs, including those in the U+1F00--U+1FFF "Greek Extended" Unicode range. - + * Ukrainian and Serbian Cyrillic glyphs were redesigned in order to bring them into a better correspondance with real examples of the early 20th century printing. - + * The standard mathematical operation signs were redesigned and significantly enlarged, so that now their implementation contradicts to the contemporary standards, but better corresponds to the European tradition of math typesetting. - + * Several additional math characters, needed to provide a full coverage for the Mac Roman encoding, have been added. * Ancient Greek metrical characters (U+23D1--U+23D9) have been implemented. - + * A TTF version is released in addition to OpenType-CFF fonts. It has no hinting at all, so don't complain for bad screen rendering! 2006 Feb 14 (Alexey Kryukov) Version 0.2 * First public release. - + Acknowledgements ---------------- (Here is where contributors can be acknowledged. If you make modifications diff --git a/Master/texmf-dist/doc/fonts/oldstandard/README b/Master/texmf-dist/doc/fonts/oldstandard/README index 9a5049bb335..460b2eac6ef 100644 --- a/Master/texmf-dist/doc/fonts/oldstandard/README +++ b/Master/texmf-dist/doc/fonts/oldstandard/README @@ -1,13 +1,60 @@ -Old Standard is supposed to reproduce the actual printing style of the -early 20th century, reviving a specific type of Modern (classicist) -style of serif typefaces, very commonly used in various editions of -the late 19th and early 20th century, but almost completely abandoned -later. - -It supports typesetting of Old and Middle English, Old Icelandic, -Cyrillic (with historical characters, extensions for Old Slavonic and -localised forms), Gothic transliterations, critical editions of -Classical Greek and Latin, and many more. - -Old Standard works with TeX engines that directly support OpenType -features, such as XeTeX and LuaTeX. +This is the README for the OldStandard package, version 2.2. + +This package provides the Old Standard family of fonts +designed by Alexey Kryukov, in both OpenType and Type1 +formats, with support for both traditional and modern LaTeX +processors. + +Old Standard reproduces a specific type of Modern +(classicist) style of serif typefaces, very commonly used in +various editions of the late 19th and early 20th century, +but almost completely abandoned later. However, this +lettertype still has at least two advantages: + + + it can be considered a good choice for typesetting + scientific papers, especially in social and humanitarian + sciences, as its specific features are closely + associated in people's eyes with old books they learned + on; + + + the most beautiful examples of Greek and Cyrillic + lettertypes were all based on the classicist style, + so for those scripts, "Modern" fonts are much more + appropriate than any contemporary (e. g. Times-based) + designs. + +To install this package on a TDS-compliant +TeX system download the file +"tex-archive"/install/fonts/oldstandard.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). Update the font-map +files by enabling the Map file OldStandard.map. + +To use, add + +\usepackage{OldStandard} + +to the preamble of your document. This will activate +OldStandard as the main (serifed) text font. Regular, +Italic and Bold styles are available. Font encodings +supported are OT1, T1, LY1 and TS1. The only figure style is +tabular-lining. + +LuaLaTeX and xeLaTeX users may also use OldStandard.sty but +should read the oldstand-manual document for information +on taking advantage of OpenType features. If they prefer +type1 fonts or wish to avoid fontspec they may use the type1 +option. + +Options scaled=<number> or scale=<number> may be used to +scale the fonts. + +The fonts are licensed under the SIL Open Font License, +version 1.1; the text may be found in the doc directory. +The type1 versions were created using fontforge. The LaTeX +support files were created using autoinst and are licensed +under the terms of the LaTeX Project Public License. +The maintainers of this package are Bob Tennent (rdt at +cs.queensu.ca) and Nikola Lecic. diff --git a/Master/texmf-dist/doc/fonts/oldstandard/genfonts.sh b/Master/texmf-dist/doc/fonts/oldstandard/genfonts.sh deleted file mode 100644 index c73e8f27a7d..00000000000 --- a/Master/texmf-dist/doc/fonts/oldstandard/genfonts.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -ZIP="zip -DrX" -PACK_NAME=oldstandard -DOCS="OFL.txt OFL-FAQ.txt FONTLOG.txt" -VERSION="2.0.2" - -fontforge -script ost-generate.py -rm -f *.zip - -$ZIP $PACK_NAME-$VERSION.ttf.zip *.ttf $DOCS -$ZIP $PACK_NAME-$VERSION.otf.zip *.otf $DOCS -$ZIP $PACK_NAME-$VERSION.src.zip genfonts.sh ost-generate.py *.sfd $DOCS diff --git a/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.pdf b/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.pdf Binary files differindex 99ab131da3c..47a77947757 100644 --- a/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.pdf +++ b/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.pdf diff --git a/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.tex b/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.tex index 6a1d7b87308..b9d9e05953a 100644 --- a/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.tex +++ b/Master/texmf-dist/doc/fonts/oldstandard/oldstand-manual.tex @@ -1,15 +1,15 @@ \documentclass[12pt,a4paper,openany]{book} -\usepackage[EU1]{fontenc} -\newcommand{\UTFencname}{EU1} -\newcommand{\cyrillicencoding}{EU1} -\usepackage[russian,english]{babel} +\usepackage{OldStandard} -\usepackage{fontspec} \usepackage{xunicode} +%\usepackage{xltxtra} \defaultfontfeatures{Mapping=tex-text} +\usepackage{polyglossia} +\setdefaultlanguage{english} +\setotherlanguage[variant=ancient]{greek} +\setotherlanguage{russian} -\setmainfont{OldStandard-Regular} \hoffset=-1in \voffset=-1in @@ -22,9 +22,21 @@ \lccode"2019="2019 \usepackage{array} -\usepackage[dvipdfm,colorlinks=true]{hyperref} +\usepackage{longtable} +\newcolumntype{B}[1]{>{\large\bfseries}c{#1}} +\newcolumntype{T}[1]{>{\ttfamily}l{#1}} +\usepackage[colorlinks=true]{hyperref} + +\usepackage{float} +\restylefloat{table} \providecommand{\XeTeX}{X\kern-.125em\lower.5ex\hbox{Ǝ}\kern-.1667em\TeX} +\providecommand{\XeLaTeX}{X\kern-.125em\lower.5ex\hbox{Ǝ}\kern-.125em\LaTeX} +\providecommand{\LuaTeX}{Lua\kern-.125em\TeX} + +\newcommand{\ie}{i.\,e.} +\newcommand{\eg}{e.\,g.} +\renewcommand{\omit}[1]{} \makeatletter \renewcommand\tableofcontents{% @@ -59,7 +71,7 @@ \bigskip {\Large\itshape User’s manual\\ -Version 2.0 +Version 2.3 } \bigskip @@ -68,9 +80,10 @@ Version 2.0 \vspace{\stretch{1}} -{\Large Alexey Kryukov +{\Large Alexey Kryukov } -} +\vspace*{3ex} +{\large Edited for CTAN by Bob Tennent} \vspace{\stretch{0.6}} @@ -81,11 +94,11 @@ Version 2.0 \vspace*{\stretch{1}} This manual is set in Old Standard with Latin Modern fonts used for missing -styles (e. g. typewriter fonts). +styles (\eg, typewriter fonts). \vspace{\stretch{0.1}} -Copyright © 2006--2008 Alexey Kryukov. +Copyright © 2006--2011 Alexey Kryukov. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 @@ -107,44 +120,44 @@ Free Documentation License”. \chapter{About Old Standard} \thispagestyle{empty} -Everybody who has ever thumbed through any old books printed in the late +Anybody who has ever thumbed through any old books printed in the late 19\textsuperscript{th} or early 20\textsuperscript{th} century may have noted a specific typeface style most commonly used at that time: basically, -a variation of the modern (classicist) antiqua, but less contrast and more -legible. This group of typefaces also had an accompanying style of italics +a variation of the modern (classicist) antiqua, but with less contrast and greater +legibility. This group of typefaces also had an accompanying style of italics with some specific shapes: \textit{k} with the upper leg terminating with a rounded ball, open bowl on \textit{g} (again, with a rounded ball at its end), -curved bowl on \textit{y} and so on. May be, you was wandering, why it is so -difficult to find a digital typeface of similar style, despite of the vast -amount of computer fonts currently available. In general, the Modern style +curved bowl on \textit{y} and so on. Maybe you were wondering, why is it so +difficult to find a digital typeface of similar style, despite the vast +number of computer fonts currently available. In general, the Modern style was almost completely abandoned in the middle 20\textsuperscript{th} century, as it no longer corresponded to the tastes of the time; moreover, contemporary typographers often consider this lettertype obsolete and out-of-fashion due to its “unnaturality”. Nevertheless, the classicist style in general, and its modification used in -early 20\textsuperscript{th} century in particular, has at least one +the early 20\textsuperscript{th} century in particular, has at least one advantage: it is still very suitable for typesetting scientific papers, especially on social and humanitarian sciences, as its specific features -are closely associated in the people’s eyes with old books they learned on. -However, it would be even more important to stress the fact that the book +are closely associated in people’s eyes with old books they learned on. +However, it would be even more important to stress the fact that book printing in many non-Western languages first appeared or was greatly -improved in 19\textsuperscript{th} century, and thus many classical +improved in the 19\textsuperscript{th} century, and thus many classical typefaces for non-Latin scripts (the most beautiful examples of Greek and Cyrillic lettertypes in particular) were designed to be harmonizable with the Modern faces~— the standard Roman printing style of the time. That’s why the Modern style should be considered an extremely good choice -for typesetting multilingual texts, and so I am really surprised that still -nobody has attempted to implement a multilingual typeface on this basis. +for typesetting multilingual texts, and so I am really surprised that +nobody has yet attempted to implement a multilingual typeface on this basis. Instead, multilingual typesetting is usually done with Times-styled fonts, which eliminate specific features of each script instead of stressing them. -This is the main reason for which I have designed Old Standard, a +This is the main reason why I designed Old Standard, a multilingual font which attempts to revive the most common printing style -of early 20\textsuperscript{th} century. Old Standard has two main +of the early 20\textsuperscript{th} century. Old Standard has two main purposes: it is intended to be used as a specialized font for philologists (mainly classicists and slavists) and also as a general-purpose font for -typesetting various editions in languages which use Greek or Cyrillic +typesetting various editions in languages that use Greek or Cyrillic script. For this reason Old Standard provides glyphs for a wide range of Latin, Greek and Cyrillic characters. @@ -176,8 +189,7 @@ catalogues printed in the Soviet Union: \end{itemize} \end{otherlanguage} - -That’s where the name originates from: I have have only added “Old” to +That’s where the name originates from: I have only added “Old” to stress the difference from \textit{Обыкновенная Новая} (“New Standard”)~— another, a bit similar and yet quite different typeface, much more popular in the Soviet typography. Currently there is a good digital version @@ -192,8 +204,8 @@ to improve the initial design basing mainly on various Russian and German editions of the late 19\textsuperscript{th} and early 20\textsuperscript{th} centuries, mainly manuals of ancient languages and editions of classical (Greek and Latin) authors, where I could find good -examples of Latin, Greek, and, in case of Russian books, also Cyrillic -letters, used alongside. I have also brought the following font catalogue, +examples of Latin, Greek, and, in the case of Russian books, also Cyrillic +letters, used alongside. I have also bought the following font catalogue, which, unlike later Soviet catalogues, contains examples of several “Standard” typefaces, so that I could compare the letterforms and select those I considered the most elegant: @@ -205,18 +217,18 @@ typeface, but rather attempts to revive the general style of the early 20\textsuperscript{th} century typography (mostly Russian and German). Nevertheless, I have decided to keep the initial name: of course, it doesn’t look very original, but seems to be a good choice for a lettertype -which was once so common that no special name was associated with it +that was once so common that no special name was associated with it (typefaces of this style are usually called just “Standard” or “Modern” in old font catalogues). \section{Greek font design} The Greek characters in Old Standard require a separate note. The upright -letters follow the style first introduced by famous French typecutter +letters follow the style first introduced by the famous French typecutter Firmin Didot and then widely used in various editions both in Greece itself and many other European countries. It would be no exaggeration to state that -the most part of Greek editions printed in continental Europe for more than -100 yers was set with Didot faces. So it is no wonder that digital versions +most Greek editions printed in continental Europe for more than +100 years were set with Didot faces. So it is no wonder that digital versions of this design have already been created by several type foundries. However almost all these fonts either cover just the Greek script and provide no support for Latin (not to say Cyrillic) characters, or combine Didot's Greek @@ -241,7 +253,7 @@ Paris, 1881.} A notable exception is \href{http://www.greekfontsociety.org/pages/en\_typefaces.html}{GFS Didot}, -now available for free from \href{http://www.greekfontsociety.gr/}{Greek +now available for free from the \href{http://www.greekfontsociety.gr/}{Greek Font Society}. Unlike many others, the designers of this font did care about a matching Latin face, but, surprisingly, their choice has nothing to do with the classicist style: instead, they implemented their font as an @@ -271,8 +283,8 @@ It should also be noted that the historic Didot style had several variations; in particular its \hyperlink{fig:didot-de}{German version} (popular also in Russia) is slightly different from the \hyperlink{fig:didot-fr}{font used in French editions of the same time}. Old Standard seems to be the only digital -typeface which follows mostly the German and Russian understanding of the -Didot style, although for some characters (e.~g. Greek circumflex) I have +typeface that follows mostly the German and Russian understanding of the +Didot style, although for some characters (\eg, Greek circumflex) I have preferred French forms, considering them more elegant. \begin{figure}[htb] @@ -292,7 +304,7 @@ Designing an italic style for a Greek typeface represents a separate problem. Most modern implementations of Greek Didot are accompanied with italic versions obtained by applying a slant to the upright glyphs. I have chosen a different solution: instead of creating a slanted version of -the Didot family (completely unknown to the traditional typography), I have +the Didot family (completely unknown to traditional typography), I have based my italics on various cursive Greek fonts actually used in the German typography of the early 20\textsuperscript{th} century. The most elegant of those fonts was the face used by the famous Teubner publishing house in @@ -321,6 +333,8 @@ houses in Germany at the same time. I hope however that the general style of the Teubner font is preserved, so that anybody who likes Leipzig editions of classical authors will like Old Standard as well. +\omit{ + \chapter{Installation and Usage} \thispagestyle{empty} @@ -336,10 +350,6 @@ the following page at the Thessalonica web site: This page contains information about all font projects I am currently developing and download links. -%You may download Old Standard either as a standalone package, or with -%Thessalonica for Microsoft Word 97/2000/XP/2003~— my utility designed to -%simplify the multilingual input in this word processor. - \section{Which format to prefer?} The Old Standard font family is currently available in two formats, so that @@ -349,66 +359,84 @@ planning to use them: \begin{description} \item[\XeTeXpicfile "truetype.png"] TrueType fonts, or, more precisely, -\hyperlink{OT}{OpenType} fonts with TrueType outlines. These fonts use the -file extension *.ttf, and under Windows they appear in a folder or on a -disk using a dog-eared page icon with two overlapping “T’s” (for -TrueType); +\hyperlink{OT}{OpenType} fonts with TrueType outlines; \item[\XeTeXpicfile "opentype.png"] \hyperlink{OT}{OpenType} fonts with -PostScript outlines (also called OpenType-CFF), with an *.otf extension. -The Windows icon for a PostScript-flavored OpenType font is a dog-eared -page icon with an “O” (for OpenType). +PostScript outlines (also called OpenType-CFF). \end{description} -It is worth pointing out, that, despite of the old “TT” icon used by -Windows to represent them, the TrueType fonts actually support the -same set of advanced \hyperlink{OT}{OpenType} features as their -OpenType-CFF counterparts (see \autoref{i18n} for information on -how to take advantage of those features). - -Note that you can install both TrueType and OpenType-CFF versions -alongside, as they use different naming conventions (the TrueType fonts -have a “TT” suffix in their names). However, in most cases you will -probably prefer the TrueType fonts, as this format was introduced long -time ago and now is widely supported on various platforms and operational -systems. - -OpenType-CFF is a relatively new font format, which is sometimes preferred -over TrueType for the purposes of the desktop publishing. A system-level -support for this font format was first introduced in Windows 2000, but in -practice it was poorly supported by Microsoft software until Office 2003 -was released. In particular, before Office 2003 one could not use -OpenType-CFF fonts to input a non-Latin text in Microsoft Word, although it -was possible to apply them to an existing text. Even now some problems -still persist: the most important one is that in most applications +Note that fonts in those two formats have different file extensions: +\texttt{*.ttf} for TrueType, \texttt{*.otf} for OpenType-CFF +(this is the convention most font developers currently follow). +There also used to be a small difference in Windows icons: while \texttt{*.otf} +files appear in a folder or on a disk with a dog-eared page icon +showing a slanted letter “O” (for OpenType), an old icon with two overlapping +“T’s” has been used for TrueType fonts. It is worth pointing out, that the +icon was misleading, since the TrueType version of the Old Standard +family beginning from the very first releases supported the same set of +advanced \hyperlink{OT}{OpenType} features as its OpenType-CFF counterpart +(see \autoref{i18n} for information on how to take advantage of those +features). + +The reason for displaying the old icon is that Windows checks the presense of +a digital signature in a TrueType font, considering (quite illogically) +this would allow to distinguish “old” TrueType fonts from “modern” OpenType +fonts with TrueType outlines. This is not a problem by itself, but it +has recently been reported that Microsoft Word 2010 (the first version +with optional OpenType features support) has adopted the same approach +and doesn't allow to access optional features in a TrueType font which +is not digitally signed. So now my TTF fonts contain a dummy digital signature +(which seems sufficient to fool both Windows Explorer and Word), and thus +appear with the same “O” icon as the OTF versions. + +The two formats are different in many aspects, which are important +from a developer's point of view, but almost not noticeable for an ordinary +user. In particular, OpenType-CFF fonts use PostScript oputlines, based +on third-order (cubic) Beziér curves, while in TrueType fonts second-order +(quadratic) splines are used. There is also a significant difference in +hinting (grid-fitting) area: TrueType hints theoretically allow to +achieve much better quality of screen rendering, but quality hinting is a +very difficult and time-consuming process. + +Note that it is possible to install both TrueType and OpenType-CFF versions +alongside: in order to prevent name clashes a “TT” suffix is appended to +font name/family name fields in TrueType fonts. Thus you can compare both +versions and decide which one better fits your needs. In the older versions +of this manual I recommended installing TrueType versions, since this +format used to be better supported in many applications on various +platforms. However most of the problems with OpenType-CFF fonts have been +fixed in recent software releases. In particular: + +\begin{itemize} + +\item In most Windows programs (except Adobe's desktop publishing applications) \textit{kerning}\footnote{Kerning is the adjustment of space between pairs of letters, especially by placing two characters closer together than -normal. Kerning makes certain combinations of letters, such as WA, MW, TA -or VA, look better. Kerning data is specific for each particular font and -for this reason is normally specified in the font file; carefully designed -fonts normally have a large number of kerning pairs.} will work only for -the first 256 characters in the font. Of course this means that you can get -kerning working neither for Greek nor for Cyrillic letters. The only -exception are Adobe’s desktop publishing applications (InDesign, -Illustrator, Photoshop), which don’t have this problem and provide a really -good support for OpenType-CFF fonts. I hope the situation will change in -future, but now I can recommend installing the OpenType-CFF versions under -Windows only if you a planning to use them with the Adobe software. - -You can install OpenType-CFF fonts also in Unix-like systems (since this -format is supported by the FreeType library), but be aware that here you -can face even more problems than under Windows. The worst thing is that -OpenOffice.org currently can’t access OpenType-CFF fonts at all, although -this issue was already several times reported to the developers. Some -other applications have no such problem, but they are still unable to -access OpenType kerning information. The exceptions are rare: the only GUI -application which allows to take a full advantage of the OpenType-CFF fonts -is Scribus, an open source desktop publishing system. You can also use -OpenType fonts with the Linux port of -\href{http://scripts.sil.org/xetex}{\XeTeX}~— the Unicode version of the -\TeX{} typesetting system. In particular this manual was set with \XeTeX{} -and the OpenType-CFF versions of the fonts. +normal. Kerning makes certain combinations of letters, such as WA, MW, +TA or VA, look better. Kerning data is specific for each particular font +and for this reason is normally specified in the font file; carefully +designed fonts normally have a large number of kerning pairs.} worked +only for the first 256 characters in the font. Of course this means that +you couldn't get kerning working neither for Greek nor for Cyrillic +letters. This issue seems to no longer exist in Windows Vista/7; + +\item older version of OpenOffice.org didn't embed OpenType-CFF fonts into PDF +files. Moreover, under Unix-like systems OpenOffice.org could not access +such fonts at all, so that using TTF versions was the only option. This +is fixed in OpenOffice.org 3.2 (and LibreOffice). + +\end{itemize} + +Thus selecting one of two formats is now essentially a matter of taste. +Since Old Standard has been drawn in cubic splines (and then converted to +quadratic for the TTF version), and since it still has only autogenerated +TrueType hints, the OpenType-CFF format may theoretically give you even +a better screen rendering quality. However note that only the +TTF version currently supports the \hyperlink{Graphite}{Graphite} +rendering technologie (this is a limitation of the technologie itself), +and this might be a reason to still prefer TrueType fonts for +OpenOffice.org/LibreOffice users. \section{Source Package} @@ -451,12 +479,11 @@ Old Standard is a large Unicode font. For Windows, you need at least Windows 95 (or at least Windows 2000 for the PostScript-flavored OpenType fonts) and a word processor that can handle -Unicode-based documents: either Microsoft Word 97~/ 2000~/ 2002~(=~XP)~/ -2003~/ 2007 or OpenOffice.org 1.0 or above. For more information about -OpenOffice.org, a full-featured, open-source cross-platform suite -comparable to Microsoft Office that is attracting considerable interest -these days, see -\href{http://www.openoffice.org}{\texttt{http://www.openoffice.org}}. +Unicode-based documents, such as Microsoft Word 97 and above, +\href{http://www.openoffice.org}{OpenOffice.org} 1.0 and above, +or \href{http://www.libreoffice.org}{LibreOffice}, which has +splitted from the OpenOffice.org project in 2010 and has now superseded +it in most Linux distributions. You will also need a way to enter the Unicode characters that are not directly accessible from standard keyboards. Remember that you can browse @@ -467,7 +494,7 @@ alternative is Andrew West’s \href{http://www.babelstone.co.uk/Software/BabelMap.html}{BabelMap} (free). Some applications also provide their own mechanisms for entering characters, such as Insert→Symbol in MS Word or Insert→Special Character -in OpenOffice.org. In Microsoft Office applications you can also enter +in OpenOffice.org/LibreOffice. In Microsoft Office applications you can also enter a Unicode character by typing its hexadecimal number followed by \texttt{ALT-x}. @@ -501,7 +528,7 @@ order to be able to handle TrueType or OpenType fonts your system should have the \href{http://freetype.sourceforge.net}{freetype} library installed and enabled; this is normally done by default in all modern distributions. As under Windows, you will need a Unicode-aware word processor. Presumable -you will do most of your work in OpenOffice.org; other, less powerful word +you will do most of your work in OpenOffice.org or LibreOffice; other, less powerful word processors, like AbiWord or KWord, support Unicode as well. As under Windows, you may input Unicode characters using either a character @@ -645,16 +672,17 @@ can be done by executing \subsection{OpenOffice.org} -Under MS Windows OpenOffice.org just uses system-wide installed fonts, but -Unix versions have their own font administration utility, inherited from -the dark times when no suitable engine that would be able to properly -handle scalable fonts existed at the X11 level. Normally OpenOffice.org can -automatically detect X11 fonts and add them to its configuration (so no -additional steps are required), but sometimes it fails to find them. In this -case you should let OpenOffice.org know about your new fonts using the -\texttt{spadmin} utility. You can either run this tool manually from your -OpenOffice.org directory, or select the “OpenOffice.org printer administration” -GUI menu item in KDE or Gnome (you should close any open OpenOffice.org +Under MS Windows OpenOffice.org/LibreOffice just uses system-wide installed +fonts, but Unix versions have their own font administration utility, +inherited from the dark times when no suitable engine that would be able +to properly handle scalable fonts existed at the X11 level. Normally +OpenOffice.org/LibreOffice can automatically detect X11 fonts and add +them to its configuration (so no additional steps are required), but +sometimes it fails to find them. In this case you should let +OpenOffice.org/LibreOffice know about your new fonts using the \texttt{spadmin} +utility. You can either run this tool manually from your OpenOffice.org +directory, or select the “OpenOffice.org printer administration” GUI menu +item in KDE or Gnome (you should close any open OpenOffice.org/LibreOffice instances before you can do this). When the \texttt{spadmin} window appears, do the following: @@ -694,10 +722,10 @@ shows; \end{enumerate} -When you restart OpenOffice.org, the fonts should be available to its +When you restart OpenOffice.org/LibreOffice, the fonts should be available to its applications. -\subsection{TeX systems} +\subsection{{\TeX} systems} Adding new fonts to a \TeX{} installation is always difficult for an average user, as in order to use a font with \TeX{} typesetting system one @@ -709,8 +737,8 @@ functionality from the \TeX{} point of view. However, you can easily use Old Standard (as well as any other TrueType or OpenType-CFF font) in your \TeX{} documents without any additional steps if you install \href{http://scripts.sil.org/xetex}{\XeTeX}~— a Unicode enabled version of -the \TeX{} compiler, currently actively developed by -\href{http://www.sil.org}{SIL international}. +the \TeX{} compiler. In particular this manual was set with \XeLaTeX{} +using the TrueType versions of the fonts. \XeTeX{} has many other advantages over traditional \TeX{} compilers, as it combines the full Unicode support with a very good support of advanced @@ -718,23 +746,25 @@ combines the full Unicode support with a very good support of advanced all examples demonstrating smart font rendering features available in Old Standard) was typeset with \XeTeX. +} + \section{Terms of use} \hypertarget{license}{} The current version of Old Standard is distributed under the -\href{http://scripts.sil.org/OFL}{SIL Open Font License} (OFL) v.~1.1. I have -selected OFL for my typeface because it is the only known license developed -specially for fonts, which meets the standards of the FLOSS (Free/Libre and +\href{http://scripts.sil.org/OFL}{SIL Open Font License} (OFL) v.~1.1. I +selected OFL for my typeface because it is the only license developed +specially for fonts that meets the standards of the FLOSS (Free/Libre and Open Source Software) community, in particular the Debian Free Software Guidelines. Both the text of the license itself and the OFL FAQ are -included into the fonts package, so I don’t reproduce them here. Basically +included in the fonts package, so I don’t reproduce them here. Basically licensing under OFL means that you can freely use, copy, modify and distribute the fonts, as long as the terms of the license are not violated. In particular you are not allowed to remove the original copyright notices -from the font software and to change licensing conditions (i.~e. distribute -either original or modified versions under a different license). One more +from the font software and to change licensing conditions (\ie, distribute +either original or modified versions under a different license). One additional significant restriction is that you can’t sell the fonts alone (however -OFL allows to bundle and sell them together with any other software, either +OFL allows you to bundle and sell them together with any other software, either free or commercial). A large part of OFL is devoted to so-called Reserved Font Names which can't @@ -750,7 +780,7 @@ your version “Old Standard Serbian”. It is still desired however that you don't take the original name as is, but add some suffix specific for your version. -Note that this manual is NOT covered by SIL OFL, but distributed under the +Note that this manual is \emph{not} covered by SIL OFL, but distributed under the \href{http://gnu.mirror.fr/licenses/fdl.html}{GNU Free Documentation license}. See \autoref{FDL} for more information. @@ -797,15 +827,15 @@ fonts are often attempting to cover the widest possible number of scripts and Unicode blocks, even if the Unicode \href{http://www.unicode.org/charts}{code charts} is the only source of their knowledge about the design of a specific character. Of course, the -resulting glyphs not always look really acceptable for actual typesetting. +resulting glyphs do not always look really acceptable for actual typesetting. Moreover, due to the lack of time and resources the designers are often unable to keep all glyphs at the same quality level: for example, we often can see autogenerated accented characters with mispositioned diacritics. In -particular, there are so many fonts which are claimed to support the +particular, there are so many fonts that are claimed to support the extended Greek range, but actually are not suitable for typesetting classical Greek\ldots{} Another common problem is that only the regular version of each particular font is really actively developed, while all -additional weights and shapes fall far behind it (e.~g. support much less +additional weights and shapes fall far behind it (\eg, support much fewer Unicode characters). That’s why I have formulated for myself several principles which I am @@ -813,27 +843,27 @@ always trying to follow when designing additional glyphs: \begin{itemize} -\item I shall never add any new characters just for completeness, i.~e. to +\item I shall never add any new characters just for completeness, \ie, to get a specific Unicode range fully covered. Before drawing a new glyph I must ensure that I really understand its intended purpose and the -principles of its design; +principles of its design. -\item since Old Standard is supposed to reproduce the actual printing style +\item Because Old Standard is supposed to reproduce the actual printing style of the early 20\textsuperscript{th} century, I shall avoid implementing new -characters basing just on general considerations. Ideally, all glyphs +characters based just on general considerations. Ideally, all glyphs should be based on real examples taken from some old editions. Of course, -exceptions from this rule are sometimes necessary, as many characters were +exceptions to this rule are sometimes necessary, as many characters were first introduced only in 20\textsuperscript{th} century, or even never existed in traditional typography before they were adopted by the Unicode -standard; +standard. \item I shall try to develop all font styles (currently regular, -italic and bold) only simultaneously, i.~e. if a specific character is added -to the regular font, it should also be designed for italics and bold. The -exceptions are allowed for glyphs which don't have dedicated codepoints -and supposed to be accessible via smart font features, as well as for those -characters which have no corresponding italic or slanted style (this is the case -of many mathematical symbols). +italic and bold) simultaneously, \ie, if a specific character is added +to the regular font, it should also be designed for italics and bold. +Exceptions are allowed for glyphs that don't have dedicated codepoints +and are supposed to be accessible via smart font features, as well as for those +characters that have no corresponding italic or slanted style (this is the case +for many mathematical symbols). \end{itemize} @@ -856,7 +886,7 @@ Germanic languages and Croatian accented characters and digraphs. \item[IPA Extensions (0250–02AF)] From this range Old Standard currently implements a few characters which can be used in other contexts, except IPA. -One such example is U+0280 LATIN LETTER SMALL CAPITAL R, needed for the +One such example is \texttt{U+0280} LATIN LETTER SMALL CAPITAL R, needed for the transliteration of Old Norse runic inscriptions. \item[Spacing Modifier Letters (02B0–02FF)] Old Standard implements spacing @@ -865,41 +895,36 @@ versions of some combining diacritical marks, available in the next block. \item[Combining Diacritical Marks (0300–036F)] Most standard accents, commonly used in various European languages, are supported. -\item[Greek and Coptic (0370–03FF)] Almost fully covered, except Coptic -letters, editorial signs and some archaic characters, recently added to -Unicode. These characters are rarely used and there is no stable tradition -of their typographic representation. However, if you really need them, -write me and I’ll add them for you. +\item[Greek and Coptic (0370–03FF)] Fully covered, except Coptic +letters. \item[Cyrillic (0400–04FF)] Old Standard implements all modern Slavic (i.~e. Russian, Uk\-rai\-nian, Byelorussian, Serbian and Macedonian) characters, as well as historical characters and extensions for Old Slavonic. -\item[Phonetic Extensions (1D00–1D7F)] Only one character (U+1D79 LATIN +\item[Phonetic Extensions (1D00–1D7F)] Only one character (\texttt{U+1D79} LATIN SMALL LETTER INSULAR G) is implemented. Note that the uppercase version of this letterform is now encoded in Latin Extended-D range. -\item[Latin Extended Additional (1E00–1EFF)] Old Standard implements -accented combinations with W for Welsh and LATIN CAPITAL LETTER SHARP S -(U+1E9E) for German. +\item[Latin Extended Additional (1E00–1EFF)] This range is coveref except +Vietnamese acented characters and medievalist additions. \item[Greek Extended (1F00–1FFF)] Fully supported. -\item[General Punctuation (2000–206F)] Almost fully supported, although -some characters, which might be of some interest for philologists, are -still missing. Report me if you need them. +\item[General Punctuation (2000–206F)] Fully supported, except invisible +control characters. \item[Superscripts and Subscripts (2070–209F)] Subscript and superscript forms of digits and math operators (but not letters), available in this block, are covered. -\item[Currency Symbols (20A0–20CF)] The EURO SIGN U+20AC. +\item[Currency Symbols (20A0–20CF)] The EURO SIGN \texttt{U+20AC}. \item[Letterlike Symbols (2100–214F)] In this block Old Standard implements a few characters, belonging to the following two categories: first, a few standard symbols, present in most Western or Cyrillic fonts (in particular -NUMERO SIGN U+2116, TRADE MARK SIGN U+2122 and OHM SIGN U+2126), and second, +NUMERO SIGN \texttt{U+2116}, TRADE MARK SIGN \texttt{U+2122} and OHM SIGN \texttt{U+2126}), and second, some characters which may be useful for textual criticism (such as Fraktur ℭ and ℌ). @@ -910,8 +935,8 @@ finished, and yet it already includes (I hope) all symbols which are most commonly used in mathematical typesetting. \item[Miscellaneous Technical (2300–23FF)] In this block Old Standard -implements angle brackets U+2329 and U+232A (these characters should -probably be avoided: use “mathematical” angle brackets at U+27E8/U+27E9 +implements angle brackets \texttt{U+2329} and \texttt{U+232A} (these characters should +probably be avoided: use “mathematical” angle brackets at \texttt{U+27E8/U+27E9} instead) and ancient metrical symbols (23D1—23D9). \item[Geometric Shapes (25A0–25FF)] Old Standard implements only a few of @@ -929,8 +954,11 @@ standards. \item[Cyrillic Extended-A (2DE0–2DFF)] Fully covered. +\item[Supplemental Punctuation (2E00–2E7F)] Old Standard implements New +Testament editorial symbols, Ancient Greek textual symbols and half brackets. + \item[CJK Symbols and Punctuation (3000–303F)] Again, Old Standard includes -angle and square brackets at U+3008/U+3009 and U+301A/U+301B +angle and square brackets at \texttt{U+3008/U+3009} and \texttt{U+301A/U+301B} correspondingly, as some people have used to use them for textual criticism. Nevertheless “mathematical” versions of those characters (see above) should probably be preferred for their purposes. @@ -938,13 +966,16 @@ above) should probably be preferred for their purposes. \item[Cyrillic Extended-B (A640–A69F)] Old Standard implements letters and signs for Old Cyrillic (but not letters for old Abkhasian orthography). -\item[Latin Extended-D (A720–A7FF)] LATIN CAPITAL LETTER INSULAR G (U+A77D) +\item[Latin Extended-D (A720–A7FF)] LATIN CAPITAL LETTER INSULAR G (\texttt{U+A77D}) and Ancient Roman epigraphic letters. -\item[Private Use Area] This block includes many different glyphs, but it -is not recommended to use them directly. Instead, you should access them -by applying various OpenType features (see \autoref{OT} for more -information), if only your application allows this. +\item[Private Use Area] This block includes a few additional accented Greek +letters and some glyphs traditionally mapped to PUA codepoints in Adobe +fonts (I find this practice reasonable, even if Adobe itself now has dropped +it). It is not recommended to use those glyphs directly: instead, you should +access them by applying various smart font features (see \autoref{OT} +for more information), if your application allows +this. \item[Alphabetic Presentation Forms (FB00–FB4F)] In this block the standard Latin f-ligatures are available. @@ -959,7 +990,7 @@ which appear in the Nestle---Aland New Testament. \subsection{TODO} -As you can see, still lots of characters are waiting to be implemented. +As you can see, lots of characters are still waiting to be implemented. Since Old Standard is oriented mainly to historians and philologists, I am especially interested in adding those characters which might be useful for textual studies and studying various ancient languages. Here are some @@ -970,30 +1001,14 @@ priorities: \item Some characters useful for medievalists are still missing from the Latin Extended-B range; -\item Some accented characters from the Latin Extended Additional range -(the first part, 1E00-1E9F), useful for Indic and Semitic transliterations. -However, currently you already can type almost anyone of those characters -using combining diacritical marks, if only your application supports smart -accent positioning (as Microsoft Word 2003 for example); - -\item Some IPA characters (at least those needed for English phonetic +\item some IPA characters (at least those needed for English phonetic transcription); -\item Supplemental Punctuation (2E00—2E0D) and New Testament editorial -symbols in particular. Again, I need some good examples showing these -characters used in editions of the pre-computer era; - -\item A large group of medievalist additions has been adopted in Unicode~5.1. +\item a large group of medievalist additions has been adopted in Unicode~5.1. Of course it would be nice to implement them in Old Standard. \end{itemize} -Currently I have no plans of providing support for any other scripts except -Latin, Greek and Cyrillic, as there are other needs that are much higher -priority. It is also very unlikely that I can implement small capitals and -some other nice typographic features in the near future, although it would -be really nice to have them supported. - \subsection{How you can help} If you would like to get a specific character available in Old Standard, @@ -1020,11 +1035,16 @@ ask you to make some specific revisions. This section is intended to demonstrate, how Old Standard can be used for typesetting texts in various languages. This assumes discussing two types of issues: “smart” font rendering features intended to provide a better -support for each specific language and some glyph design peculiarities. As -the implementation of “smart” features in Old Standard is based on the -OpenType technology, I had to start this section from a special paragraph -about OpenType. After that the manual describes various language-specific -details, sorting them by scripts: Latin, Greek and Cyrillic. +support for each particular language and some glyph design peculiarities. +Old Standard currently supports two “smart” font technologies: OpenType +and Graphite. Since the OpenType technologie is much more widespread, +this section deals mostly with OpenType rendering. It starts from a special +paragraph which describes the advantages of the OpenType technologie and +discusses the level of OpenType support in various applications. Then the +manual proceeds to various language-specific details (again, focusing +mainly on OpenType features), sorting them by scripts: Latin, Greek and +Cyrillic. The Graphite rendering mode is described in a +\hyperlink{Graphite}{separate paragraph}. \subsection{What is OpenType?} \hypertarget{OT}{}\label{OT} @@ -1046,8 +1066,9 @@ to work in your application, and which are not. The most popular OpenType rendering engine for Windows platform is the \textit{Uniscribe} library, developed by Microsoft. This library is used not only by own Microsoft software, but also by many other Windows -applications, for example, the Windows version of -\href{http://www.openoffice.org}{OpenOffice.org}. Initially Uniscribe +applications, for example, the Windows versions of +\href{http://www.openoffice.org}{OpenOffice.org} and +\href{http://www.libreoffice.org}{LibreOffice}. Initially Uniscribe supported only complex scripts (like Arabic or Devanagari), but the most recent versions, supplied with Microsoft Windows XP SP2 and Microsoft Office 2003 (note that MS Office uses its own version of Uniscribe rather @@ -1079,8 +1100,9 @@ Another, even more powerful rendering engine is properly handles virtually all features provided by Old Standard, even those not supported by most other rendering engines (language-dependent substitutions for example). Unix versions of \href{http://www.openoffice.org}{OpenOffice.org} -also use ICU, but, unfortunately, this is not very useful for our purposes, -as they enable complex text processing only for complex scripts. +and \href{http://www.libreoffice.org}{LibreOffice} also use ICU, but, +unfortunately, this is not very useful for our purposes, as they enable +complex text processing only for complex scripts. I know very little about Mac, but I have to mention that many applications for this platform also have a very good level of OpenType support. One such @@ -1186,50 +1208,69 @@ for the Latin script: \begin{description} \item[ss01] This set allows to automatically substitute small and capital -\textit{s} and \textit{t} with commaaccent (U+0218, U+0219, U+021A, U+021B) -instead of the corresponding letters with cedilla (U+015E, U+015F, U+0162, -U+0163), as required by Romanian typographic rules. The same substitution +\textit{s} and \textit{t} with commaaccent (\texttt{U+0218}, \texttt{U+0219}, +\texttt{U+021A}, \texttt{U+021B}) instead of the corresponding letters with +cedilla (\texttt{U+015E}, \texttt{U+015F}, \texttt{U+0162}, +\texttt{U+0163}), as required by Romanian typographic rules. The same substitution can be done automatically for Romanian and Moldavian languages, if only your application supports the \texttt{local} feature tag; otherwise you can use \texttt{ss01} instead. Of course this is important only if the glyph variants with commaaccent are not typed directly (which is also possible, as now those letterforms have separate Unicode codepoints). -\begin{center} -\LARGE +\begin{table}[h!] +\centering\LARGE \begin{tabular}[c]{ccc} -\fontspec[Script=Latin,Color=696969]{OldStandard-Regular} +\fontspec[Script=Latin,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} raţiune şi conştiinţă & ⇒ & -\fontspec[Script=Latin,Language=Romanian]{OldStandard-Regular} +\fontspec[Script=Latin,Language=Romanian, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} raţiune şi conştiinţă \\ -\fontspec[Script=Latin,Color=696969]{OldStandard-Regular} +\fontspec[Script=Latin,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} \itshape raţiune şi conştiinţă & ⇒ &\itshape -\fontspec[Script=Latin,Language=Romanian]{OldStandard-Regular} +\fontspec[Script=Latin,Language=Romanian, + ItalicFont= *-Italic, + UprightFont = *-Regular, + ]{OldStandard} raţiune şi conştiinţă \\ \end{tabular} -\end{center} +\end{table} \item[ss02] By enabling this feature tag you can get all occurrences of small and capital Latin \textit{g} automatically replaced with “insular” forms, sometimes preferred for typesetting Old English: -\begin{center} -\LARGE +\begin{table}[h!] +\centering\LARGE \begin{tabular}[c]{ccc} -\fontspec[Script=Latin,Color=696969]{OldStandard-Regular} +\fontspec[Script=Latin,Color=696969,]{OldStandard-Regular} Gosfregð & ⇒ & \fontspec[Script=Latin,RawFeature=+ss02]{OldStandard-Regular} Gosfregð \\ -\fontspec[Script=Latin,Color=696969]{OldStandard-Regular} +\fontspec[Script=Latin,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} \itshape Gosfregð & ⇒ &\itshape -\fontspec[Script=Latin,RawFeature=+ss02]{OldStandard-Regular} +\fontspec[Script=Latin,RawFeature=+ss02, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Gosfregð \\ \end{tabular} -\end{center} +\end{table} This stylistic set is preserved for backwards compatibility: I no longer recommend using it, as both capital and small insular \textit{g} now @@ -1246,7 +1287,10 @@ Of course classical Latin is supported. Just an example: \begin{quote} \large -\fontspec[Script=Latin,Language=Latin]{OldStandard-Regular} +\fontspec[Script=Latin,Language=Latin, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Gallia est omnis divīsa in partes tres, quārum unam incŏlunt Belgae, aliam Aquitāni, tertiam qui ipsōrum lingua Celtae, nostra Galli appellantur. Hi omnes lingua, institūtis, legĭbus inter se diffĕrunt. Gallos ab Aquitānis @@ -1286,7 +1330,10 @@ Note the insular “G” automatically substituted instead of the regular Latin \begin{quote} \large -\fontspec[Script=Latin,Language=English,RawFeature=+ss02]{OldStandard-Regular} +\fontspec[Script=Latin,Language=English,RawFeature=+ss02, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Will(el)m kyng gret Will(el)m bisceop and Gosfregð portirēfan and ealle þā burhwaru binnan Londone, Frencisce and Englisce, frēond\-līce. And ic kȳðe ēow þæt ic wylle þæt get bēon eallre þǣra laga weorðe þē gyt wǣran on Eadwerdes @@ -1315,7 +1362,10 @@ specific for this language, in particular the \textit{ȝ} (yogh): \begin{quote} \large -\fontspec[Script=Latin,Language=English]{OldStandard-Regular} +\fontspec[Script=Latin,Language=English, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Our Lord, which ich shal douten, is my liȝtyng and my helpe. Our Lord is defendour of my lif; for what þyng shal ich drede? To þat noiand comen neȝe vp me, þat hij etand my flesshes: Myn enemys, þat trubleden me, ben @@ -1348,7 +1398,10 @@ Standard: \begin{quote} \large -\fontspec[Script=Latin]{OldStandard-Regular} +\fontspec[Script=Latin, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Akei ik sunja izwis qiþa: batizo ist izwis ei ik galeiþau; unte jabai ik ni galeiþa, parakletus ni qimiþ at izwis; aþþan jabai gagga, sandja ina du izwis. Jah qimands is gasakiþ þo manaseþ bi frawaurht jah bi garaihtiþa @@ -1376,7 +1429,10 @@ that language, as well as the \textit{fj} ligature. \begin{quote} \large -\fontspec[Script=Latin,Language=Icelandic]{OldStandard-Regular} +\fontspec[Script=Latin,Language=Icelandic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Kømr nú þessi fregn fyrir Hrólf konung ok kappa hans upp í kastalann, at maðr mikilúðligr sé kominn til hallarinnar ok hafi drepit einn hirðmann hans, ok vildu þeir láta drepa manninn. Hrólfr konungr spurðisk eptir, @@ -1410,7 +1466,7 @@ A special note is required on the shape of the Icelandic letter \textit{þ} (thorn). In modern fonts this character’s design is almost always based on the lowercase \textit{p} with an ascender added. This design is also the only mentioned by Icelandic type designer Gunnlaugur SE Briem in his -article \href{http://briem.ismennt.is/2/2.11/index.htm}{Thorn and eth: how +article \href{http://66.147.242.192/~operinan/2/2.11/index.htm}{Thorn and eth: how to get them right}. And yet this letterform doesn’t look characteristic for the traditional typography. Generally speaking, there were two styles of \textit{thorn} most commonly used in the late 19\textsuperscript{th} and @@ -1465,12 +1521,12 @@ of them is stylistically compatible with each particular typeface. That’s why, although OldStandard implements several alternate forms for Greek letters, only a few of them can be considered really useful. The most -important of such exceptions is curly \textit{beta} U+03D0: this character, +important of such exceptions is curly \textit{beta} \texttt{U+03D0}: this character, indeed, should be available in any correct Greek font, since according to the French typographic rules it is used instead of the regular \textit{beta} with descender as a medial and final form (the same rule was sometimes applied also in Greece itself). For this reason French -classicists often type U+03D0 directly in their documents, and particularly +classicists often type \texttt{U+03D0} directly in their documents, and particularly I see nothing wrong in this practice, although it is not recommended by Unicode. However, in a “smart” font it is also possible to implement a contextual substitution rule, allowing initial/medial forms to be @@ -1500,9 +1556,13 @@ traditional Greek typesetting. This example has been taken from: Ὡρολόγ \textit{Theta} is another letter, which can have two different forms, both of which are stylistically compatible with Didot faces. The Unicode -code chart displays the closed \textit{theta} \textit{\char"EB02} at U+03B8 +code chart displays the closed \textit{theta} +{\fontspec[Script=Greek,RawFeature=+mgrk, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}\textit{θ}} at \texttt{U+03B8} (thus making it the default letterform), while the open, or script variant -form \textit{ϑ} is mapped to U+03D1 and intended only for mathematical +form \textit{ϑ} is mapped to \texttt{U+03D1} and intended only for mathematical usage. Most fonts currently follow this convention. Historically, however, selection of one or another form has been made depending from national typographic traditions. In particular, French and Greek publishers @@ -1519,45 +1579,64 @@ Since my sources contained good examples of both open and closed and have added a closed letterform even to the italic font for better compatibility with the regular version. However, since Old Standard mainly follows German typographic conventions, it seemed inappropriate to map this -form to U+03B8 and thus make it the only accessible glyph for the case +form to \texttt{U+03B8} and thus make it the only accessible glyph for the case advanced Open Type features are not supported by user’s application. Instead the following solution has been preferred: the open \textit{theta} -is mapped both to U+03B8 (GREEK SMALL LETTER THETA) and U+03D1 (GREEK THETA -SYMBOL), while the closed glyph is placed to a slot in the PUA and can be -automatically substituted instead of U+03B8 in one of the following -situations: +is mapped both to \texttt{U+03B8} (GREEK SMALL LETTER THETA) and \texttt{U+03D1} (GREEK THETA +SYMBOL), while the closed glyph may be automatically substituted instead +of \texttt{U+03B8} in one of the following situations: \begin{itemize} -\item in any postition, if the \texttt{mgrk} (Mathematical Greek) feature -tag is applied. Thus in mathematical contexts you can get a glyph mapping -which exactly corresponds to one defined by Unicode; +\item in any postition, if the \texttt{ss05} (stylistic set 05) feature +tag is applied. You can apply this substitution to an ordinary Greek text if +you prefer the closed form of \textit{theta}; -\item at the middle and the end of words, if stylistic set 06 (the -\texttt{ss06} feature tag) is applied. +\item applying the \texttt{mgrk} (Mathematical Greek) feature tag triggers the +same substitution as well. This is supposed to be used in mathematical contexts +in order to make the glyph mapping exactly corresponding to one defined by the +Unicode standard; + +\item at the middle and the end of words, if the stylistic set 06 (the \texttt{ss06} +feature tag) is active. \end{itemize} -Thus enabling \texttt{ss06} will turn on contextual forms both for +Thus enabling both \texttt{ss05} and \texttt{ss06} allows you to typeset your +text in exact comformance with French typographic conventions (\textit{theta} +is aways closed, the contextual substitution for \texttt{beta} is on). On the +other hand, activating just \texttt{ss06} will turn on contextual forms both for \textit{beta} and \textit{theta}, as demonstrated below: -\begin{center} -\LARGE +\begin{table}[h!] +\centering\LARGE \begin{tabular}[c]{ccc} -\fontspec[Script=Greek,Color=696969]{OldStandard-Regular} +\fontspec[Script=Greek,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} θαυμασθεὶς βάρβαρος & ⇒ & -\fontspec[Script=Greek,RawFeature=+ss06]{OldStandard-Regular} +\fontspec[Script=Greek,RawFeature=+ss06, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} θαυμασθεὶς βάρβαρος \\ -\fontspec[Script=Greek,Color=696969]{OldStandard-Regular} +\fontspec[Script=Greek,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} \itshape θαυμασθεὶς βάρβαρος & ⇒ & \itshape -\fontspec[Script=Greek,RawFeature=+ss06]{OldStandard-Regular} +\fontspec[Script=Greek,RawFeature=+ss06, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} θαυμασθεὶς βάρβαρος \\ \end{tabular} -\end{center} +\end{table} -Note that the U+03D1 character will always be displayed as a script theta, +Note that the \texttt{U+03D1} character will always be displayed as a script theta, no matter, which feature tags you have applied. The following example shows a fragment of Greek text with contextual @@ -1567,7 +1646,10 @@ substituted in the appropriate places): \begin{quote} \large -\fontspec[Script=Greek,RawFeature=+ss06]{OldStandard-Regular} +\fontspec[Script=Greek,RawFeature=+ss06, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} Κῦρος δὲ συγκαλέσας τοὺς στρατηγοὺς καὶ λοχαγοὺς τῶν Ἑλλήνων συνεβουλεύετό τε πῶς ἂν τὴν μάχην ποιοῖτο καὶ αὐτὸς παρῄνει θαρ\-ρύνων τοιάδε· «ὦ ἄνδρες Ἕλληνες, οὐκ ἀνθρώπων ἀπορῶν [βαρβά\-ρων] συμ\-μάχους ὑμᾶς ἄγω, ἀλλὰ νομίζων @@ -1587,18 +1669,23 @@ substituted in the appropriate places): \end{quote} -Old Standard also implements stroked \textit{phi} (U+03D5), omega-like -\textit{pi} (U+03D6) and lunate epsilon (U+03F5), but these glyphs are not -accessible via any OpenType features, and using them anywhere except -mathematical contexts is not recommended. In other cases I had just to put -the same glyph image to more than one Unicode slot. For example, U+03F0 -(GREEK KAPPA SYMBOL) just contains a reference to U+03BA (the regular Greek -kappa), as the only possible form for this letter both in the Didot and -Teubner styles is the x-shaped one. All such “alternate” codepoints are -supported only for compatibility with other existing Greek fonts and for -the case you have occasionally used them in some texts. - -The same statement is true for the lunate \textit{sigma}, both small and +Except the script \textit{theta} to closed \textit{theta} substitution, the +\texttt{mgrk} feature allows to change the appearance of some other glyphs. +This includes \textit{kappa} in all font styles and \textit{rho} in italic +(in regular and bold the default shape for this character is Unicode conforming). +Note that the k-shaped glyph for \textit{kappa}, which can be activated by this way, +doesn't harmonize well with other Didot-styled letters (although I've done my +best to make it aesthetically acceptable), so using it anywhere outside of +math contexts is not recommended. + +Old Standard also implements stroked \textit{phi} (\texttt{U+03D5}), omega-like +\textit{pi} (\texttt{U+03D6}) and lunate epsilon (\texttt{U+03F5}). There are +no special “smart” font features to get those glyph substituted instead of +default letterforms, so they can be accessed only by their Unicode codepoints. +Again, there is no reason to do so when typesetting ordinary Greek texts, +although the glyphs might be useful in mathematical contexts. + +The same statement would be true for the lunate \textit{sigma}, both small and capital: although it is sometimes reasonable to use this form e. g. for typesetting papyrological texts (where word breaks and thus the usage of final sigmas are sometimes not obvious), it is probably impossible to @@ -1640,7 +1727,10 @@ fragment of the Mantinea inscription: \begin{quote} \large -\fontspec[Script=Greek]{OldStandard-Regular} +\fontspec[Script=Greek, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} ὀσ̱έοι ἂν χρε̄στε̄́ριον κακρίνε̄ || ε̄̓̀ γνο̄σίαι κακριθε̄́ε̄ το̄͂ν χρε̄μάτο̄ν, | πὲ τοῖς ϝοικιάται(ς) τᾶς θεο̄͂ ε̄̓͂ναι, κὰ ϝοικίας δάσασθαι τὰς ἂν ο̄̓͂δ᾽ ἐάσας. εἰ τοῖς ϝο̄φλε̄κόσι ἐπὶ τοῖδ’ ἐδικάσαμε[ν], | ἄ τε θεὸς κὰς οἰ δικασσταὶ, @@ -1664,7 +1754,7 @@ the PUA, added for compatibility with fonts. However, you should use those characters with a caution and only if your application doesn’t support combining mark positioning. -\subsubsection{Tilda-Shaped Circumflex vs. Lunate Circumflex} +\subsubsection{Tilde-Shaped Circumflex vs. Lunate Circumflex} Greek circumflex (perispomeni) often becomes a matter of discussions. I know, that some (mostly English and American) classicists prefer porsonic @@ -1677,6 +1767,7 @@ acceptable, as inverted breve just cannot be harmonized with most letters. So, don’t ask me to implement a version with “porsonic” circumflex. \subsubsection{Iota Adscript vs. Iota Subscript} +\hypertarget{isub}{}\label{isub} Combinations of Greek vowels with “mute” iota, defined in Unicode, is one more important group of glyphs, which may be designed by various ways, @@ -1699,12 +1790,12 @@ letterspacing for the surrounding text is changed, the distance between the iota and the preceding vowel should be scaled too. Of course this is impossible if both characters are implemented as a single glyph. -That’s why in Old Standard mute iota is implemented as iota subscript in +That’s why in Old Standard mute iota is looks like a iota subscript in all accented combinations with capital vowels. Note that \textit{unaccented} capital vowels with mute iota represent a special case: unlike their accented counterparts, they are used in upper case only, i.~e. may occur only in a fully capitalized text. So for these glyphs (namely, Unicode -characters U+1FBC, U+1FCC, U+1FFC) I have designed a special version of +characters \texttt{U+1FBC}, \texttt{U+1FCC}, \texttt{U+1FFC}) I have designed a special version of iota adscript, which looks like a \textit{capital} Iota, decreased in size. To my mind, this shape will better match to the design of surrounding capital glyphs. @@ -1712,7 +1803,7 @@ capital glyphs. Such an implementation of capital vowels with mute iota has nothing wrong by itself, but, of course, it would be nice to allow replacing each of affected Unicode codepoints with a pair of glyphs: the vowel itself and a -regular iota. Theoretically, this can be done by applying an OpenType +regular iota. Theoretically, this could be done by applying a smart font feature, but, unfortunately, I am not aware of any suitable OpenType feature, which: @@ -1725,10 +1816,16 @@ our case; \end{itemize} -So for now I can’t provide an alternative for the implementation which -looks preferred for me. If you absolutely don’t like capital vowels with -iota subscript, at least you can always type regular iota as a separate -character. +Things are different for \hyperlink{Graphite}{Graphite}, since this +technologie doesn't impose any limitations on the number and usage of +features the designer would consider appropriate. That's why in Graphite-enabled +applications Old Standard now uses the adscript design by default. This +can be easily changed by applying another value to the appropriate +feature. Unfortunately I can't implement the same behavior in a way +compatible with OpenType, so all other applications will just use the +default glyphs for capital vowels with the mute iota. If you absolutely +don’t like the subscript design, at least you can always type regular +iota as a separate character. \subsection{Cyrillic Script} @@ -1767,10 +1864,9 @@ Serbian and Macedonian norms on the right} \end{figure} However, after studying several examples of old Serbian printing (a small -\href{http://alas.matf.bg.ac.yu/biblioteka/home.jsp}{collection of such -examples} is available at the site of the faculty of Mathematics at the -Belgrade university) I have an impression that the modern practice is not -fully justified by the preceding tradition. +collection of such examples was previously available at the site of the +faculty of Mathematics at the Belgrade university) I have an impression that +the modern practice is not fully justified by the preceding tradition. As far as I can see, there are only two letters (namely Cyrillic \textit{п} and \textit{т}), which always have typically “Serbian” forms, clearly @@ -1812,7 +1908,10 @@ the localized forms in the italic style: \begin{quote} \large -\fontspec[Script=Cyrillic,Language=Serbian]{OldStandard-Regular} +\fontspec[Script=Cyrillic,Language=Serbian, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} На но̀ве̄мбарско̄м су̑нцу прѐврће̄ се пр̏љава̄ у̏троба на̏ше̄ ку̏ће̄. Чу̏дно сам ту̑жан. И док но̏сӣм с ма̑јко̄м си̑вӯ о̀тр̄ца̄нӯ сла̏марицу ту̑по за̀гледан у јѐдан мр̑твӣ о̏бла̄к над цр̑нӣм, ни̏скӣм кро̀во\-вима на̏ше̄г прѐдгра̄ђа~— са̀плиће̄м се о пра̏г. О̀на @@ -1846,22 +1945,30 @@ just for completeness. These glyphs are not automatically applied for Serbian text by default, but you can enable the stylistic set 12 to get them substituted, as in the following example: -\begin{center} -\LARGE +\begin{table}[h!] +\centering\LARGE \begin{tabular}[c]{ccc} -\fontspec[Script=Cyrillic,Language=Serbian,Color=696969] -{OldStandard-Regular}мртви облак & ⇒ & -\fontspec[Script=Cyrillic,Language=Serbian,RawFeature=+ss12] -{OldStandard-Regular}мртви облак \\ -\fontspec[Script=Cyrillic,Language=Serbian,Color=696969] -{OldStandard-Regular}\itshape мртви облак & ⇒ &\itshape -\fontspec[Script=Cyrillic,Language=Serbian,RawFeature=+ss12] -{OldStandard-Regular}мртви облак \\ +\fontspec[Script=Cyrillic,Language=Serbian,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}мртви облак & ⇒ & +\fontspec[Script=Cyrillic,Language=Serbian,RawFeature=+ss12, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}мртви облак \\ +\fontspec[Script=Cyrillic,Language=Serbian,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}\itshape мртви облак & ⇒ &\itshape +\fontspec[Script=Cyrillic,Language=Serbian,RawFeature=+ss12, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}мртви облак \\ \end{tabular} -\end{center} +\end{table} Finally, the case of “Serbian” \textit{г} is a bit special: here the specific shape is really justified by the peculiarities of the Serbian @@ -1910,10 +2017,14 @@ its numeric system, where numbers are denoted with letters. However, special enclosing marks, shown in the following table, have been invented to denote large numbers beginning from 10000: -\begin{center} +\begin{table}[h!] +\centering \begin{tabular}[c] -{|>{\fontspec[Script=Cyrillic,Language=Church Slavonic]{OldStandard-Regular}} -p{4em}|p{6em}|p{6em}|} +{|>{\fontspec[Script=Cyrillic,Language=Church Slavonic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard}} +p{4em}|p{5.6em}|p{5.6em}|} \hline \textit{Notation}& \textit{Numerical meaning}& \textit{Old Slavonic name}\\ \hline @@ -1928,7 +2039,7 @@ p{4em}|p{6em}|p{6em}|} \Large\hfil{а҃꙱ }\hfil & 100\,000\,000 & колода\\ \hline \end{tabular} -\end{center} +\end{table} Old Standard implements two types of OT lookups to achieve proper positioning for this kind of marks: first, standard anchor points (the \texttt{mark} @@ -1946,30 +2057,70 @@ Peter the Great, and thus would look out of place in a historical context. That's why Old Standard provides some stylistic alternates, specially intended for Old Russian and Old (Church) Slavonic: -\begin{center} -\LARGE +\begin{table}[h!] +\centering\LARGE \begin{tabular}[c]{cccc} -\fontspec[Script=Cyrillic,Color=696969]{OldStandard-Regular} -не вѣдыи будущаго & +\fontspec[Script=Cyrillic,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +не вѣдыи бѹдѹщаго & ⇒ & -\fontspec[Script=Cyrillic,Language=Church Slavonic]{OldStandard-Regular} -не вѣдыи будущаго &\\ - -\fontspec[Script=Cyrillic,Color=696969]{OldStandard-Regular} -\itshape не вѣдыи будущаго & +\fontspec[Script=Cyrillic,Language=Church Slavonic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +не вѣдыи бѹдѹщаго &\\ + +\fontspec[Script=Cyrillic,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +\itshape не вѣдыи бѹдѹщаго & ⇒ & -\fontspec[Script=Cyrillic,Language=Church Slavonic]{OldStandard-Regular} -\itshape не вѣдыи будущаго &\\ +\fontspec[Script=Cyrillic,Language=Church Slavonic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +\itshape не вѣдыи бѹдѹщаго &\\ \end{tabular} -\end{center} +\end{table} -These alternates are automatically enabled for Old Church Slavonic, if +These alternates are enabled for Old Church Slavonic, if your application understands the \texttt{locl} feature tag and allows to mark a text with this language. Alternatively you can get the same substitutions by applying the stylistic set 14 (\texttt{ss14}). +There is also an additional stylistic set (\texttt{ss15}) intended to handle +the Cyrillic I vs. Cyrillic N problem. It is a well known fact that in the oldest +Cyrillic manuscripts these two letters looked more like their Greek prototypes +(\textit{Eta} and \textit{Nu}), and only in 15\textsuperscript{th} century +the middle bar slope has aquired its modern form. However using an H-shaped +Cyrillic I and N-shaped Cyrillic N by default (even for typesetting Old Slavonic) +would probably be misleading in some context. So these substitutions (they are +available only in regular and bold) are optional: + +\begin{table}[h!] +\centering\LARGE +\begin{tabular}[c]{cccc} + +\fontspec[Script=Cyrillic,Language=Church Slavonic,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +не вѣдыи бѹдѹщаго & +⇒ & +\fontspec[Script=Cyrillic,Language=Church Slavonic,RawFeature=+ss15, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} +не вѣдыи бѹдѹщаго &\\ + +\end{tabular} +\end{table} + \item[Contextual letterforms] Some Cyrillic letters have tall ascenders, while in medieval manuscripts the same letters normally did not extend above x-height, so that it was possible to put an accent or a combining letter @@ -1977,19 +2128,28 @@ above them. Old Standard includes special low forms for some of such letters (namely \textit{б} and \textit{ѣ}) and can automatically subsitute them when the letter is followed by an accent: -\begin{center} -\LARGE -\fontspec[Script=Cyrillic,Language=Church Slavonic]{OldStandard-Regular} +\begin{table}[h!] +\centering\LARGE +\fontspec[Script=Cyrillic,Language=Church Slavonic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} \begin{tabular}[c]{ccc} -\fontspec[Script=Cyrillic,Language=Church Slavonic,Color=696969]{OldStandard-Regular} +\fontspec[Script=Cyrillic,Language=Church Slavonic,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} прѣдъ богомъ & ⇒ & прѣⷣ҇ бⷢ҇омъ \\ -\fontspec[Script=Cyrillic,Language=Church Slavonic,Color=696969]{OldStandard-Regular} +\fontspec[Script=Cyrillic,Language=Church Slavonic,Color=696969, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} \itshape прѣдъ богомъ & ⇒ &\itshape прѣⷣ҇ бⷢ҇омъ \\ \end{tabular} -\end{center} +\end{table} \end{description} @@ -1999,7 +2159,10 @@ letters and letterforms: \begin{quote} \large -\fontspec[Script=Cyrillic,Language=Church Slavonic]{OldStandard-Regular} +\fontspec[Script=Cyrillic,Language=Church Slavonic, + ItalicFont = *-Italic, + UprightFont = *-Regular, + ]{OldStandard} А҆ ѡ҆ сеⷨ Иракліи и҆ною̀ притчею рекоша сеⷤ Феѡ҆́фиⷧ҇ мⷣрыи хронограⷴ написа. Є҆рміи же раⷥумѣвь на нь творѧщꙋся братію ѿиде, ꙁлато многѡ̀ вꙁемъ, и҆ и҆де въ Є҆гѷпеⷮ҇ къ коленꙋ Хамову сн҃а Ноєва. иⷤ и҆ пріаша є҆́го с̾ честію. и҆ живе @@ -2020,6 +2183,448 @@ letters and letterforms: \end{quote} +\omit{ + +\subsection{Graphite Support} +\hypertarget{Graphite}{}\label{Graphite} + +\href{http://scripts.sil.org/Graphite}{Graphite} is a rendering technologie +developed by \href{http://www.sil.org}{SIL International}. It is similar +to OpenType at some aspects, but doesn't prescribe a list of features with +predefined meanings and their possible implementations, thus leaving more +freedom to a font designer. Another advantage of Graphite is that it gives +a better control on some subtle aspects of font behavior. However, this +technologie isn't currently widely supported: except SIL's own +\href{http://scripts.sil.org/WorldPadDownload}{WorldPad} editor (a +Windows-only application which requires a .NET runtime), the Graphite +support is now built into OpenOffice.org (beginning from the 3.2 version) +and LibreOffice. There is also an open-source project to put Graphite +support into Mozilla. + +This means the Graphite support in Old Standard would be mostly actual for +OpenOffice.org/LibreOffice users. Since this office suite still lacks +proper OpenType support for Wester scripts (its Windows version depends +from Miscrosoft Uniscribe rendering engine), Graphite gives a nice +possibility to get a consistent rendering both on Linux and Windows +platforms. It also provides an optional features support (although for +reasons discussed below I'd not recommend to actively use it at the +present time). + +Note that it is currently not possible to add Graphite tables to +OpenType-CFF fonts. So for now the technologie is only supported by +the TrueType version of Old Standard. + +\subsubsection{Graphite Features in Old Standard} + +In Graphite fonts each feature is identified by a human-readable name +(which may be localized, but Old Standard currently includes only US +English names) and a unique ID. Those IDs are often numerical, but in +Old Standard 4-letter codes, similar to OpenType feature tags, are used +for this purpose. A Graphite feature normally has several states (or +settings), which again have their own names and IDs. In the simplest case +a feature is boolean, i.~e. supports just two two possible settings: 1 +(true) and 0 (false). + +The following table lists all Graphite features defined in Old Standard +with their possible settings. It also tells which settings are available +for each particular style (for example, there are no required Serbian +forms in regular and bold). The last column shows the correspondences between +OpenType and Graphite features. Note that some cells in this columns are +left blank, and this means the given feature setting corresponds to the +default font behavior, without any OpenType features applied. A dash (---) +indicates there is no OpenType feature similar to this Graphite +feature/setting pair. + +\begin{center} +\setlength{\tabcolsep}{2.4pt} +\begin{longtable}[c]{|>{\raggedright}p{11.2em}|T|>{\raggedright}p{8.4em}|p{2em}|c|c|c|T|} +\hline +\multicolumn{2}{|B|}{\rule{0pt}{14pt}Supported Features} & \multicolumn{2}{B|}{Feature Settings} & +\multicolumn{3}{B|}{Font Styles} & \multicolumn{1}{B|}{OpenType}\\ +\cline{1-7} +\multicolumn{1}{|B|}{\rule{0pt}{14pt}English Name} & \multicolumn{1}{B|}{ID} & \multicolumn{1}{B|}{Name} & +\multicolumn{1}{B|}{ID} & \multicolumn{1}{B|}{Rg} & \multicolumn{1}{B|}{Bd} & +\multicolumn{1}{B|}{It} & \multicolumn{1}{B|}{equiv.}\\ +\hline + +Diagonal Fractions & frac & False/True & 0/1 & + & + & + & frac\\ +\hline + +Vertical Position & vpos & Normal Vertical Position & 0 & + & + & + & \\ +\cline{3-8} + +& & Superiors & 1 & + & + & + & sups \\ +\cline{3-8} + +& & Inferiors & 2 & + & + & + & subs \\ +\hline + +Ligatures & liga & No Ligatures & 0 & + & + & + & \\ +\cline{3-8} + +& & Common Ligatures & 2 & + & + & + & liga\footnote{\texttt{dlig} for German.} \\ +\hline + +Diphthong Ligatures & dphl & False/True & 0/1 & + & + & + & dlig\\ +\hline + +French Spacing Rules\newline for Punctuation Marks & frsp & False/True & 0/1 & + & + & + & -\\ +\hline + +Localized Forms\newline for Romanian & rolc & No Localized Forms & 0 & + & + & + & \\ +\cline{3-8} + +& & Required\newline Localized Forms & 1 & + & + & + & locl; ss01 \\ +\hline + +Localized Forms\newline for Serbian & srlc & No Localized Forms & 0 & + & + & + & \\ +\cline{3-8} + +& & Required\newline Localized Forms & 1 & − & + & − & locl; ss11 \\ +\cline{3-8} + +& & Optional\newline Localized Forms & 2 & + & + & + & ss12 \\ +\hline + +Localized Forms\newline for Old Slavonic & oslc & No Localized Forms & 0 & + & + & + & \\ +\cline{3-8} + +& & Required\newline Localized Forms & 1 & + & + & + & locl; ss14 \\ +\cline{3-8} + +& & Optional\newline Localized Forms & 2 & + & − & + & ss15 \\ +\hline + +Greek Punctuation Marks & elpt & False/True & 0/1 & + & + & + & locl\\ +\hline + +Mathematical Greek & mgrk & False/True & 0/1 & + & + & + & mgrk\\ +\hline + +Greek Theta & elth & Script Form & 0 & + & + & + & \\ +\cline{3-8} + +& & Closed Form & 1 & + & + & + & ss05\\ +\hline + +Contextual Forms\newline for Greek & elct & False/True & 0/1 & + & + & + & ss06\\ +\hline + +Greek Accents & elmk & Before Capitals & 0 & + & + & + & \\ +\cline{3-8} + +& & Above Capitals & 1 & + & + & + & —\\ +\hline + +Greek Mute Iota\newline with Capitals & elis & Adscript & 0 & + & + & + & —\\ +\cline{3-8} + +& & Subscript & 1 & + & + & + & \\ +\hline + +Capitalized Greek & elcp & False/True & 0/1 & + & + & + & —\\ +\hline + +Language-Dependent Feature Modifications & fmod & Default & 0 & + & + & + & \\ +\cline{3-8} + +& & Dutch & 19 & + & + & + & —\\ +\cline{3-8} + +& & Turkish & 31 & + & + & + & —\\ +\hline + +\end{longtable} +\end{center} + +Note that some OpenType features, supported by Old Standard, (such as +\texttt{ccmp}, \texttt{mark} or \texttt{mkmk}) are not listed in this +table. In fact my Graphite tables implement nearly the same functions +as provided by those features, but the corresponding rules are considered +mandatory and always executed, so there are no optional features to +control them. On the other hand, you can see that most Graphite features +have their OpenType equivalents. However, due to more flexible nature +of the Graphite technologie it was possible to describe some additional +features, which would be too difficult to implement in OpenType. These +features are listed below. + +\begin{description} + +\item[French Spacing Rules] This feature adds extra space to some +punctuation marks, as required by the French typographic rules. It will +be on by default for a French text. + +\begin{table}[h!] +\centering\LARGE +\begin{tabular}[c]{>{\fontspec[Script=Latin,Color=696969]{Old Standard TT}}cc +>{\fontspec[ + Renderer=Graphite, + ItalicFont=OldStandardTT-Italic, + RawFeature={French Spacing Rules for Punctuation Marks=True}]{Old Standard TT}}c} + +Il a dit: «Bonjour!» & ⇒ & Il a dit: «Bonjour!»\\ +\itshape Il a dit: «Bonjour!» & ⇒ &\itshape Il a dit: «Bonjour!»\\ + +\end{tabular} +\end{table} + +\item[Greek Accents] Setting this feature to the “Above Capitals” state +causes Greek accents/breathings to be displayed above capital letters +instead of their default position before capitals. This convention would +probably look a bit chocking for a modern classicist, but it was quite +common in Greek 19\textsuperscript{th} century typography. + +\begin{table}[h!] +\centering\LARGE + +\begin{tabular}[c]{>{\fontspec[Script=Greek,Color=696969]{Old Standard TT}}cc +>{\fontspec[ + Renderer=Graphite, + ItalicFont=OldStandardTT-Italic, + RawFeature={Greek Accents=Above Capitals}]{Old Standard TT}}c} + +ᾨδὴ ἐν ᾍδη & ⇒ & ᾨδὴ ἐν ᾍδη \\ + +\itshape ᾨδὴ ἐν ᾍδη & ⇒ &\itshape ᾨδὴ ἐν ᾍδη \\ + +\end{tabular} +\end{table} + +\item[Greek Mute Iota with Capitals] This feature allows to select the +preferred style of the Greek mute iota in combination with capital +letters. See \autoref{isub} for more information of this issue. Note +that the adscript style (i.~e. a normal lowercase iota) is used +by default if the Graphite rendering is enabled, while in applications +which don't support Graphite the corresponding glyphs are always +rendered with iota subscript. + +\begin{table}[h!] +\centering\LARGE + +\begin{tabular}[c]{>{\fontspec[Script=Greek,Color=696969]{Old Standard TT}}cc +>{\fontspec[ + Renderer=Graphite, + ItalicFont=OldStandardTT-Italic, + RawFeature={Greek Mute Iota with Capitals=Adscript}]{Old Standard TT}}c} + +ᾨδὴ ἐν ᾍδη & ⇒ & ᾨδὴ ἐν ᾍδη \\ + +\itshape ᾨδὴ ἐν ᾍδη & ⇒ &\itshape ᾨδὴ ἐν ᾍδη \\ + +\end{tabular} +\end{table} + +\item[Capitalized Greek] This feature converts lowercase Greek letters +to uppercase. The accents/breathings are removed, unless the “Greek +Accents” feature is set to “Above Capitals”: + +\begin{table}[H] +\centering\LARGE + +\begin{tabular}[c]{>{\fontspec[Script=Greek,Color=696969]{Old Standard TT}}cc +>{\fontspec[ + Renderer=Graphite, + ItalicFont=OldStandardTT-Italic, + RawFeature={Capitalized Greek=True}]{Old Standard TT}}c} + +ἄυλος αὐλὸς & ⇒ & ἄυλος αὐλὸς \\ + +\itshape ἄυλος αὐλὸς & ⇒ &\itshape ἄυλος αὐλὸς \\ + +\end{tabular} +\end{table} + +Ιn the later case the diacritical marks preserved, but placed at the top of +the capitalized letters: + +\begin{table}[h!] +\centering\LARGE + +\begin{tabular}[c]{>{\fontspec[Script=Greek,Color=696969]{Old Standard TT}}cc +>{\fontspec[ + Renderer=Graphite, + ItalicFont=OldStandardTT-Italic, + RawFeature={ + Capitalized Greek=True; + Greek Accents=Above Capitals}]{Old Standard TT}}c} + +ἄυλος αὐλὸς & ⇒ & ἄυλος αὐλὸς \\ + +\itshape ἄυλος αὐλὸς & ⇒ &\itshape ἄυλος αὐλὸς \\ + +\end{tabular} +\end{table} + +\item[Language-Dependent Feature Modifications] This feature may modify +the effect produced by some other features depending from its current +setting. For example, in the Turkish mode fi-ligatures are disabled. In +OpenType the same effect is achieved by associating a feature lookup +with a specific combination of scripts/languages. It is not recommended +to manually change settings of this feature: they are supposed to be +activated by default depending from the language assigned to a text in +your application. + +\end{description} + +\subsubsection{Using Graphite Features in OpenOffice.org/LibreOffice} + +\begin{figure}[htb] + +\centerline{\XeTeXpicfile "graphite-ooo-extension.png" width 104mm} + +\caption{The window of the Graphite Font Extension for OpenOffice.org, +displaying the Graphite features of Old Standard.} + +\hypertarget{fig:graphite-ext}{}\label{fig:graphite-ext} + +\end{figure} + +OpenOffice.org 3.2 and above (or LibreOffice) automatically recognizes +fonts which contain Graphite tables. For such fonts Graphite rendering +is enabled by default. However, currently there is no special GUI +allowing to select typographic features (either OpenType or Graphite). +Instead, a special extended font name syntax has been developed: in +order to activate an optional feature, its ID, followed by an equals +sign and the ID of the desired setting, are appended directly to the +font name string. An ampersand is used to separate different feature/settings +pairs. + +For example, the following “font” should be used in order to get +capitalized Greek text with accents and breathings placed +above letters: + +\begin{verbatim} +Old Standard TT:elmk=1&elcp=1 +\end{verbatim} + +Of course modifying the font name directly is very inconvenient, since +it is difficult to remember short tags and numerical values used for +feature/setting IDs in different fonts. Things may be simplified if you +install Keith Stribley's \href{http://www.thanlwinsoft.org/GraphiteOOoExt/} +{Graphite Font Extension}, which provides a \hyperlink{fig:graphite-ext}{dialog} +to make feature selection easy. + +However, at the present time (as for March 2011) this extension should be +used with a caution due to several problems related both with the extension +itself and the Graphite renderer: + +\begin{itemize} + +\item the extension cannot determine which feature settings are supposed +to be on for the current text language. For example, in Old Standard +common ligatures are enabled by default but disabled for German. +Thus you can't activate the standard Latin ligatures in a German text +with the Graphite extension, since it will consider they are already on; + +\item the displayed list of features and their possible settings will +always correspond to the regular font, even if the the selected text is +formatted in bold or italic; + +\item the extension doesn't care about the order of applied features, +and, unfortunately, this order may be significant, since applying multiple +features at once may sometimes lead to incorrect rendering. However, this +problems doesn't occur, if feature IDs are appended to the font name in +the same order as they are defined in the font file. + +\end{itemize} + +If you have experienced any of the problems described above, then you +have only two options available: either to avoid using optional features +at all, or to access them by modifying the font name directly. Refer +to the table above for the list of feature/setting IDs supported by +Old Standard. + +It is also possible that the Graphite renderer will do wrong things +for you, so that you want to avoid using it. Then you can either switch +to the OpenType-CFF version of the font (which doesn't support Graphite), +or to completely disable the Graphite engine for your OpenOffice.org +installation. You can do this by modifying the \texttt{SAL\_DISABLE\_GRAPHITE} +environment variable which is set in \texttt{\textasciitilde/.profile} on Linux and +\texttt{HKCU/environment} in the Windows registry. Graphite Font Extension +provides a GUI option to simplify this operation (however, it didn't work on +my Ubuntu box). + +\subsubsection{Using Graphite Features in \XeTeX} + +Graphite Support has recently been added to \XeTeX, which means Graphite +features are now accessible from \TeX{} documents. Moreover, it is possible +to enable the Graphite font renderer with the \texttt{fontspec} package, +which greatly simplifies selecting system-installed fonts in \LaTeX{} +documents for users of Unicode-based \TeX{} compilers (\XeTeX{} and \LuaTeX). +This functionality is relatively new, so you'll need at least \TeX{} Live 2010 +or Mik\TeX 2.9 for the recommendations below to work. + +You can activate the Graphite rendering mode for a particular font via the +the \texttt{Renderer} option (its value should be set to \texttt{Graphite}) +in the argument list of a font selection command (such as \verb|\fontspec|, +\verb|\newfontfamily| or \verb|\setmainfont|). Since there are no standard +feature tags in Graphite, most of the \texttt{fontspec} feature selection +interface is useless here: optional feature identifiers and their settings are +just passed to the \texttt{RawFeature} option (which normally serves +the last resort for accessing OpenType features which aren't supported otherwise). + +As the \texttt{fontspec} package author +\href{http://tex.stackexchange.com/questions/4324/using-graphite-fonts-on-xelatex}{has +explained}, both \texttt{<feature ID>=<setting ID>} and \texttt{<feature name>=<setting name>} +combinations can be used to specify the desired optional feature settings. +However in my tests the first syntax didn't work, probably because Old Standard +unlike most other Graphite fonts doesn't use numerical feature identifiers. So +for example in order to get capitalized Greek text with accents above vowels one +should write something like the following (note that settings passed to +\texttt{RawFeature} are separated with a semicolon: + +\begin{verbatim} +\fontspec[ + Renderer=Graphite, + RawFeature={ + Capitalized Greek=True; + Greek Accents=Above Capitals} + ]{Old Standard TT} +\end{verbatim} + +Of course this code is quite easy to understand, but it is surely not optimal +in terms of conciseness. + +The Graphite support in \XeTeX{} and \texttt{fontspec} is not very much tested, +and so various undesired effects may still occur. Here's a few problems I have +noticed with their solutions: + +\begin{itemize} + +\item \texttt{fontspec} sometimes would complain that the current roman font does not +support a particular script (say, Cyrillic or Greek). This error is reported because +\texttt{fontspec} expects to find the information about supported scripts in +the font's tables responsible for its “smart” rendering. Well, this makes some sense +for OpenType, but Graphite essentially has no “script” concept at all (it allows +to define language-specific some behavior, but doesn't group languages by their +script). So there is just no desired data in Graphite tables, and this leads +to an error. Fortunately the workaround is simple: it is sufficient to explicitly +tell \texttt{fontspec} to use the desired font for a particular script by defining +the appropriate font family. For example: + +\begin{verbatim} +\newfontfamily\greekfont[ + Renderer=Graphite + ]{Old Standard TT} +\end{verbatim} + +\item under certain conditions \XeTeX{} correctly loads additional font family +members (e.~g. bold or italic) but apparently doesn't recognize them as Graphite +fonts. The workaround is to explicitly specify all the additional styles in +\texttt{fontspec} options, e.~g.: + +\begin{verbatim} +\fontspec[ + Renderer=Graphite, + ItalicFont={OldStandardTT-Italic}, + BoldFont={OldStandardTT-Bold} + ]{Old Standard TT} +\end{verbatim} + +\end{itemize} + +} + \chapter{GNU Free Documentation License} \label{FDL} @@ -2433,7 +3038,7 @@ Free Documentation License”. \end{quote} \bigskip - + If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with \dots\ Texts.” line with this: diff --git a/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.pdf b/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.pdf Binary files differnew file mode 100644 index 00000000000..796694a68af --- /dev/null +++ b/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.pdf diff --git a/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.tex b/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.tex new file mode 100644 index 00000000000..f4e1a5cf50e --- /dev/null +++ b/Master/texmf-dist/doc/fonts/oldstandard/oldstandard-samples.tex @@ -0,0 +1,29 @@ +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage{OldStandard} +\usepackage{lipsum} +\begin{document} +\thispagestyle{empty} + +\begin{center}\huge\bf Old Standard +\end{center} + + +\section*{Regular} +\lipsum[1] + +\section*{Italic} +\textit{\lipsum[2]} + +\section*{Bold} + +\textbf{\lipsum[3]} + +\section*{Numbers} + +0123456789 + +\noindent +X\textsu{0123456789} + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/oldstandard/ost-generate.py b/Master/texmf-dist/doc/fonts/oldstandard/ost-generate.py deleted file mode 100644 index 0f394d9776f..00000000000 --- a/Master/texmf-dist/doc/fonts/oldstandard/ost-generate.py +++ /dev/null @@ -1,24 +0,0 @@ -import fontforge - -base_name = "OldStandard" -full_name = "Old Standard" -styles = ("Regular", "Italic", "Bold",) - -def process_font(name, fname, style): - filename = name + "-" + style - font = fontforge.open(filename + ".sfd") - font.encoding = "mac" - font.generate(filename + ".otf",flags=("opentype","PfEd-colors","PfEd-lookups"),layer="Fore") - - font.familyname = fname + " TT" - font.fullname = fname + " TT " + style - font.fontname = name + "TT-" + style - font.generate(filename + ".ttf",flags=("opentype","old-kern","PfEd-colors","PfEd-lookups"),layer="TTF") - - font.close() - -for style in styles: - fontforge.setPrefs("AutoHint",False) - fontforge.setPrefs("ClearInstrsBigChanges",False) - fontforge.setPrefs("CopyTTFInstrs",False) - process_font(base_name, full_name, style) |