Opentype Math Font Development: Progress and Challenges 304 Tugboat, Volume 33 (2012), No

Total Page:16

File Type:pdf, Size:1020Kb

Opentype Math Font Development: Progress and Challenges 304 Tugboat, Volume 33 (2012), No 302 TUGboat, Volume 33 (2012), No. 3 OpenType math font development: by typesetting engines which happen to know about Progress and challenges* math, while other engines will safely ignore it. Finally, it is helpful to understand how Uni- Ulrik Vieth code math, OpenType math, fonts and typesetting Abstract engines work together. Unicode math, by itself, only defines the en- A main reason for the development of the LuaTEX coding of mathematical input. It does not define and X TE EX engines has been to provide support for any semantics of how a math formula is arranged or Unicode and OpenType font technology, which im- spaced. That is a matter left to the font technology plies support for Unicode math and OpenType math (OpenType) and the typesetting engine (LuaTEX or as well. One important ingredient is the develop- X TE EX or MS Office). ment of full-featured OpenType math fonts, which In Unicode, each math symbol is usually repre- are needed to replace traditional math fonts. In this sented only once, regardless of how many sizes may paper, we review recent progress in OpenType math be needed for proper typesetting. Letters of math font development as well as the many challenges alphabets are the exceptions: since a font change in faced by font developers of OpenType math fonts. math usually also conveys a different meaning, each variation of a letter has a separate slot. 1 Introduction OpenType, as a font technology, provides the In this paper, we will discuss technical details of glyphs and metric information for mathematical out- OpenType math font development, so we will as- put. OpenType math fonts are encoded based on sume that readers have some familiarity with the ba- Unicode, but they can extend beyond the scope of sic concepts of Unicode math and OpenType math Unicode by taking advantage of the private use area. font technology. Where Unicode math defines only a single slot When we speak about Unicode math, we re- for each symbol, OpenType math provides lookup fer to an effort that was undertaken between 1998 mechanisms for multiple sizes of glyph variants or and 2002 by a group of scientific and technical pub- glyph substitutions for constructed symbols. lishers to get math symbols and alphabets accepted Where Unicode math does not define any pro- into the Unicode standard. As a result of this ac- visions for the semantics of math, OpenType math tivity, hundreds of math symbols as well as dozens provides a table to store the font metric information of math alphabets have been added to Unicode, and controlling the spacing, but leaves interpretation of have become part of the official standard ever since these parameters to the typesetting engine. Unicode 3.2 was released in 2002 [1, 2]. In the end, it all depends on having an Open- From a technical point of view, Unicode math is Type math-capable typesetting system to take ad- nothing special, just a convenient term for a subset vantage of the information in OpenType math fonts of Unicode that is relevant for typesetting math. and to properly arrange math formulas. When we speak about OpenType math, we re- When OpenType math was first introduced, MS fer to an extension of the OpenType font format [3] Office 2007 was the only available OpenType math that was developed by Microsoft when they intro- engine, but both X TE EX and LuaTEX have since im- duced support for math typesetting in Office 2007 plemented OpenType math capabilities [8, 9]. [4, 5]. As a result of this, a new optional MATH While X TE EX provides only a partial implemen- table has been added to the OpenType font format, tation, LuaTEX aims to provide a full-featured Open- which is used to store all the additional information Type math engine. (As of 2012, work on improv- needed for proper typesetting of math, such as font ing math typesetting in X TE EX has been ongoing, metric parameters controlling the spacing of math so hopefully both engines will eventually be able to as well as additional lookup mechanisms of glyph produce the same quality of math typesetting.) variants [6, 7]. From a technical point of view, OpenType math 2 Progress in OpenType math fonts does represent an extension of the OpenType font When OpenType math was introduced, only a single format, but it uses a well-defined extension mecha- math font was available: Cambria Math, which was nism, so the optional MATH table will only be seen developed by Tiro Typeworks on behalf of Microsoft and bundled with MS Office 2007. In some sense, * First submitted for publication in the Proceedings of the the situation was reminiscent of the early days of 5th ConTEXt Meeting 2011 (to appear). Updated and revised for BachoTEX 2012. Updated and revised again for TUGboat. TEX, when Computer Modern was the only available Reprinted with permission. math font in METAFONT format. Ulrik Vieth TUGboat, Volume 33 (2012), No. 3 303 In recent years, several more OpenType math while to consider the question: What is the basis for fonts have been added, so by the time of writing the OpenType math font development? first revision of this paper (September 2011) we had First, there is a specification of the OpenType at least 4 math fonts available as released versions: MATH table, developed by the Microsoft typogra- • Cambria Math, by Tiro Typeworks on behalf phy group. The specification is officially considered of Microsoft [11], experimental and is available only on request, so it has remained unpublished for years, despite the fact • Asana Math, by Apostolos Syropoulos [12], that it has been widely adopted as a de facto stan- • XITS Math, by Khaled Hosny, derived from the dard by typesetting engines and font tools. STIX fonts [13, 14], Next, there is a reference implementation of an • Latin Modern Math, by the GUST e-foundry OpenType math font, Cambria Math, developed by [15, 16] (released in June 2011). Tiro Typeworks on behalf of Microsoft. This font is In the meantime, several additional choices of math widely available, and can be viewed with font editors fonts that were under development have been com- such as FontForge, making it easily possible to study pleted and released as well: how it is constructed and what it contains. Finally, there is a reference implementation of • Minion Math, by Johannes Küster [17], an OpenType math typesetting engine, namely MS • Lucida Math, by Khaled Hosny on behalf of Office, developed by the Microsoft Office group. Un- TUG, designed by Bigelow & Holmes [18, 19] like the specification, which is at least somewhat (released in March 2012), open, the reference implementation is completely • TEX Gyre Pagella Math, by the GUST e-foundry closed and off-limits, so it is impossible to see how [20] (released in June 2012), the specification is actually implemented. • TEX Gyre Termes Math, by the GUST e-foundry Given this scenario, developers of OpenType [20] (released in October 2012). math fonts or engines face the problem of determin- Finally, two more math font projects are under de- ing what defines the reference behavior and what velopment or have been announced: may be needed to make their fonts behave correctly with different typesetting engines. • Neo Euler, by Khaled Hosny on behalf of DANTE, First, the OpenType math specification may designed by Hermann Zapf [21, 22], not be perfect, leaving some gray areas open to ques- • Maxwell Math, by Tiro Typeworks [23]. tions or interpretations. For example, there is hardly Given all these recent and ongoing font projects, any description when to apply italic correction. we now have OpenType math font support for a Next, the reference OpenType math font may number of popular text typefaces, such as Latin not be perfect either. For example, it may have Modern, Times, Palatino, Lucida Bright, and Min- some incorrect parameter settings, which may con- ion, although some of these are non-free, but subject fuse some engines when interpreting the parameter to the usual industry proprietary licensing. values literally. In some sense, the situation is now reminiscent Finally, the reference OpenType math engine of the early days of PostScript font support for TEX, may not be perfect either. For example, it may when choices of math fonts were still very few, but have interpreted the specification in certain ways, several popular typefaces were already supported. or it may have included some workarounds to patch An interesting note is that these fonts have been certain problems in the reference font. developed by relatively few teams and individuals: In LuaTEX, the implementation of the math en- Tiro Typeworks (Cambria, Maxwell), the GUST e- gine has followed the specification as much as possi- foundry (Latin Modern, TEX Gyre), and Khaled ble, but in case of doubt, it has chosen to follow the Hosny (XITS (with STIX), Neo Euler, Lucida), in reference implementation. OpenType math fonts addition to the solo efforts by Johannes Küster (Min- developed and tested with LuaTEX should work with ion Math), and Apostolos Syropoulos (Asana Math). MS Office equally well, although they may not work We may conclude that OpenType math font de- quite as well with earlier versions of X TE EX. velopment remains a very challenging task, that has been mastered by only a few. 4 OpenType math development challenges Development of OpenType math fonts is challenging 3 References for OpenType math for many reasons. Besides the inherent complexity, Before we consider the challenges faced by font de- the size of the project is also a factor. Typical exam- velopers of OpenType math fonts, it may be worth- ples of OpenType math fonts may include between OpenType math font development: Progress and challenges 304 TUGboat, Volume 33 (2012), No.
Recommended publications
  • Uniform Rendering of XML Encoded Mathematical Content with Opentype Fonts
    i \eutypon24-25" | 2011/1/21 | 8:58 | page 11 | #15 i i i Εὔτυπon, τεῦχος 24-25 — >Okt¸brioc/October 2010 11 Uniform Rendering of XML Encoded Mathematical Content with OpenType Fonts Apostolos Syropoulos 366, 28th October Str. GR-671 00 Xanthi Greece E-mail: asyropoulos at yahoo dot com The new OpenType MATH font table contains important information that can be used to correctly and uniformly render mathematical con- tent (e.g., mathematical formulae, equations, etc.). Until now, all sys- tems in order to render XML encoded mathematical content employed some standard algorithms together with some standard sets of TrueType and/or Type 1 fonts, which contained the necessary glyphs. Unfortu- nately, this approach does not produce uniform results because certain parameters (e.g., the thickness of the fraction line, the scale factor of superscripts/subscripts, etc.) are system-dependant, that is, their exact values will depend on the particular setup of a given system. Fortunately, the new OpenType MATH table can be used to remedy this situation. In particular, by extending renderers so as to be able to render mathemat- ical contents with user-specified fonts, the result will be uniform across systems and platforms. In other words, the proposed technology would allow mathematical content to be rendered the same way ordinary text is rendered across platforms and systems. 1 Introduction The OpenType font format is a new cross-platform font file format developed jointly by Adobe and Microsoft. OpenType fonts may contain glyphs with ei- ther cubic B´eziersplines (used in PostScript fonts) or with quadratic B´ezier splines (used in TrueType fonts).
    [Show full text]
  • Opentype Postscript Fonts with Unusual Units-Per-Em Values
    Luigi Scarso VOORJAAR 2010 73 OpenType PostScript fonts with unusual units-per-em values Abstract Symbola is an example of OpenType font with TrueType OpenType fonts with Postscript outline are usually defined outlines which has been designed to match the style of in a dimensionless workspace of 1000×1000 units per em Computer Modern font. (upm). Adobe Reader exhibits a strange behaviour with pdf documents that embed an OpenType PostScript font with A brief note about bitmap fonts: among others, Adobe unusual upm: this paper describes a solution implemented has published a “Glyph Bitmap Distribution Format by LuaTEX that resolves this problem. (BDF)” [2] and with fontforge it’s easy to convert a bdf font into an opentype one without outlines. A fairly Keywords complete bdf font is http://unifoundry.com/unifont-5.1 LuaTeX, ConTeXt Mark IV, OpenType, FontMatrix. .20080820.bdf.gz: this Vle can be converted to an Open- type format unifontmedium.otf with fontforge and it Introduction can inspected with showttf, a C program from [3]. Here is an example of glyph U+26A5 MALE AND FEMALE Opentype is a font format that encompasses three kinds SIGN: of widely used fonts: 1. outline fonts with cubic Bézier curves, sometimes Glyph 9887 ( uni26A5) starts at 492 length=17 referred to CFF fonts or PostScript fonts; height=12 width=8 sbX=4 sbY=10 advance=16 2. outline fonts with quadratic Bézier curve, sometimes Bit aligned referred to TrueType fonts; .....*** 3. bitmap fonts. ......** .....*.* Nowadays in digital typography an outline font is almost ..***... the only choice and no longer there is a relevant diUer- .*...*.
    [Show full text]
  • CM-Super: Automatic Creation of Efficient Type 1 Fonts from Metafont
    CM-Super: Automatic creation of efficient Type 1 fonts from METAFONT fonts Vladimir Volovich Voronezh State University Moskovsky prosp. 109/1, kv. 75, Voronezh 304077 Russia [email protected] Abstract In this article I describe making the CM-Super fonts: Type 1 fonts converted from METAFONT sources of various Computer Modern font families. The fonts contain a large number of glyphs covering writing in dozens of languages (Latin-based, Cyrillic-based, etc.) and provide outline replacements for the original METAFONT fonts. The CM-Super fonts were produced by tracing the high resolution bitmaps generated by METAFONT with the help of TEXtrace, optimizing and hinting the fonts with FontLab, and applying cleanups and optimizations with Perl scripts. 1 The idea behind the CM-Super fonts There exist free Type 1 versions of the original CM The Computer Modern (CM) fonts are the default fonts, provided by Blue Sky Research, Elsevier Sci- ence, IBM Corporation, the Society for Industrial and most commonly used text fonts with TEX. Orig- inally, CM fonts contained only basic Latin letters, and Applied Mathematics (SIAM), Springer-Verlag, and thus covered only the English language. There Y&Y and the American Mathematical Society, but are however a number of Computer Modern look- until not long ago there were no free Type 1 versions alike METAFONT fonts developed which cover other of other “CM look-alike” fonts available, which lim- languages and scripts. Just to name a few: ited their usage in PDF and PostScript target docu- ment formats. The CM-Super fonts were developed • EC and TC fonts, developed by J¨orgKnappen, to cover this gap.
    [Show full text]
  • Using Fonts Installed in Local Texlive - Tex - Latex Stack Exchange
    27-04-2015 Using fonts installed in local texlive - TeX - LaTeX Stack Exchange sign up log in tour help TeX ­ LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related Take the 2­minute tour × typesetting systems. It's 100% free, no registration required. Using fonts installed in local texlive I have installed texlive at ~/texlive . I have installed collection­fontsrecommended using tlmgr . Now, ~/texlive/2014/texmf­dist/fonts/ has several folders: afm , cmap , enc , ... , vf . Here is the output of tlmgr info helvetic package: helvetic category: Package shortdesc: URW "Base 35" font pack for LaTeX. longdesc: A set of fonts for use as "drop­in" replacements for Adobe's basic set, comprising: ­ Century Schoolbook (substituting for Adobe's New Century Schoolbook); ­ Dingbats (substituting for Adobe's Zapf Dingbats); ­ Nimbus Mono L (substituting for Abobe's Courier); ­ Nimbus Roman No9 L (substituting for Adobe's Times); ­ Nimbus Sans L (substituting for Adobe's Helvetica); ­ Standard Symbols L (substituting for Adobe's Symbol); ­ URW Bookman; ­ URW Chancery L Medium Italic (substituting for Adobe's Zapf Chancery); ­ URW Gothic L Book (substituting for Adobe's Avant Garde); and ­ URW Palladio L (substituting for Adobe's Palatino). installed: Yes revision: 31835 sizes: run: 2377k relocatable: No cat­date: 2012­06­06 22:57:48 +0200 cat­license: gpl collection: collection­fontsrecommended But when I try to compile: \documentclass{article} \usepackage{helvetic} \begin{document} Hello World! \end{document} It gives an error: ! LaTeX Error: File `helvetic.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name.
    [Show full text]
  • 4.4. Is Unicode Font Available? 14 4.4.1
    1 Contents 1. Introduction 3 1.1. Who we are 3 1.2. The UNESCO and IYIL initiative 4 2. Process overview 4 2.1. Language Status Workflow 5 2.2. Technology Implementation Workflow 6 3. Language Status 7 3.1. Is language currently used by a community? 7 3.2. Is language intended for active community use? 7 3.2.1. Revitalize language 7 3.3. Is language in a public registry? 8 3.4. Is language written? 8 3.4.1. Develop written form 8 3.4.2. Document language 8 3.4.2.1. Language is documented 8 3.4.2.2. Language is not documented 9 3.5. Does language use a consistent writing system? 9 3.5.1. Are the characters used already supported? 9 3.6. Is writing supported by a standard? 10 3.6.1. Submit character proposals 10 3.6.2. Develop standard 11 3.7. Proceed to implementation 11 4. Language Technology Implementation Workflow 11 4.1 Note on technology for text in digital systems 11 4.2. Definitions for implementing digital support 12 4.3. Standard language code available? 13 4.3.1. Apply for language code 13 4.4. Is Unicode font available? 14 4.4.1. Create font 14 4.5. Is font available on devices? 14 4.5.1. Manual install or ask vendors for support 14 4.6. Does device have input support? 15 4.7. Is input supported by third party apps or devices? 15 4.7.1. Develop input method 15 4.8. Does device have Unicode data support? 16 This work is licensed under a Creative Commons Attribution 4.0 International License ​ 2 5.
    [Show full text]
  • Download Font Forge for Free Download Font Forge for Free
    download font forge for free Download font forge for free. We recommend that you start by reading Design With FontForge before moving on to the documentation on this page. Get help. Ask a question on the mailing list if you're stuck and the documentation and a websearch didn't provide any answers. Get libre. FontForge is a free and open source font editor brought to you by a community of fellow type lovers. You can donate to support the project financially. Get involved. Anyone can help! You don't have to be a programmer. If you want to help but don't know where then join the developer list and introduce yourself. FontForge on Mac OS X. FontForge is a UNIX application, so it doesn’t behave 100% like a normal Mac Application. OS X 10.12 or later is required. 1. Install XQuartz. Without XQuartz, FontForge will open a Dock icon but not load any further. Open Finder and look in your /Applications/Utilities/ folder for the XQuartz app. If you don’t have it then download and install: direct link to XQuartz-2.8.1.dmg. Log out and log back in to ensure it works correctly. Just this first time, start XQuartz from Applications/Utilities/XQuartz.app , go to the X11 menu, Preferences, Input, and turn off the Enable keyboard shortcuts under X11 or Enable key equivalents under X11 preference item. FontForge will start XQuartz automatically for you next time. 2. Install FontForge. For users of OS X 10.10 and later, download and install FontForge 2017-07-31.
    [Show full text]
  • Ainsi Font- Font- Font- Les Petites Marionnettes
    uj - fontfk - Ainsi font- font- font- les petites marionnettes Text Generator - Font Meme Font Bros is your source for unique display fonts! Browse our library of over 5,000 one-of-a-kind typefaces to find the perfect font youve been looking for! Download Terminal Font - Custom Fonts are part of the Custom Design upgrade that allows you to easily add Typekit fonts to your blog. In standard mode, you can use the Font Editor to customize the fonts on your blog in a matter of clicks no coding required. The advanced mode (with an understanding of CSS required) is Tattoo Font Generator | Tattoo Lettering Font Bros is your source for unique display fonts! Browse our library of over 5,000 one-of-a-kind typefaces to find the perfect font youve been looking for! The Font Pool The recommended CDN for Font Awesome. Looking for a premium icon sets? Check out Iconfinder! FontForge Open Source Font Editor Font Craft has nice fonts, borders & frames - many medieval and Celtic styles, Renaissance, Wild West, Fantasy, or Psychedelic theme? David Nalle, founder and designer, adapted fonts from historical source material. W - Helps you choose fonts YouWorkForThem has been designing and providing fonts for decades, and we currently provide 85,540 fonts from hundreds of different font foundries. Known for our unique niche-and designer-oriented font library, we offer easy, affordable Desktop licenses for OpenType and TrueType fonts, along with WebFont, ePub and Mobile App licenses. 78937823122.
    [Show full text]
  • Noto Sans Tagalog V3 Documentation
    Noto Sans Tagalog v3.0 Documentation & Information FREDRICK R. BRENNAN 2 August 2020 Differences between Noto Sans Tagalog Noto Sans Tagalog v3.0 improves upon v2.0 in the following ways: ● It is a one-axis (weight) variable font with an avar table ● It includes glyph for “ra”, a missing letter, at U+170D ○ Also archaic “ra” at U+171F ● It includes a pamudpod ● It includes alternate hollow kudlit enabled in various ways (salt; cv02; VS1) Overview Tagalog? Noto Sans Tagalog is a font for a script known to The Unicode Standard as “Tagalog”. However, this name is not what the script is known by to Filipinos; Filipinos know it as baybayin or alibata. Baybayin is the name preferred by Philippine scholars, deriving from the Tagalog verb root baybay, meaning “to spell”. The name “Tagalog” was kept as Noto Sans Tagalog is part of the much larger Noto family, and as all the others are named after their respective Unicode blocks, so too should Noto Sans Tagalog. However, the alternate name of “Noto Sans Baybayin” should be understood just as well by your OS to refer to the font, as it’s in the name table. Creation notes Process in a nutshell This was primarily an engineering project and learning experience for me, Fred Brennan, the author of this font. This was my first Google Web Font. It is a requirement of Google that all Google Fonts be built from UFO with fontmake. This is unfortunate as it leads many to use Glyphs to make Google Fonts, which is not what Google wants to promote (I’d hope).
    [Show full text]
  • The Comicsans Pacakge
    The comicsans package∗ Scott Pakin [email protected] December 19, 2013 1 Introduction The comicsans package makes Microsoft's Comic Sans font available to LATEX 2". comicsans supports all of the following: • Roman text, boldface text, SMALL-CAPS TEXT, and—with a little extra effort—italic text • Кирилица (римский шрифт, жирный шрифт, каллиграфический шрифт) • Mathematics using Comic Sans wherever possible: ′ log 2" 1 k y (x) 3 10 3 + k=x pk1 Comic Sans is a TrueType (TTF) font. As such, it works particularly well with pdfLATEX, which natively supports TrueType fonts. Some TEX distribu- tions also support dynamic conversion of TTF to PK (a bitmapped font format long used by TEX) so TEX backends other than pdfTEX can (indirectly) utilize TrueType fonts, as well. 2 Installation The following is a brief summary of the comicsans installation procedure: 1. Acquire and install the Comic Sans TrueType (.ttf) files. 2. [Optional] Generate the italic and/or Cyrillic variants of Comic Sans 3. Install the comicsans font files and refresh the TEX filename database. ∗This document corresponds to comicsans v1.0g, dated 2013/12/19. 1 4. Point the TEX backends to the comicsans files. Details are presented in Sections 2.1–2.4. 2.1 Acquire and install the TrueType files comicsans requires the Comic Sans and Comic Sans Bold TrueType files (comic.ttf and comicbd.ttf). You may already have these installed. (On Windows, look in C:\WINDOWS\Fonts for Comic Sans MS (True- Type) and Comic Sans MS Bold (TrueType).) If not, see if a package called msttcorefonts is available for your operating system or operating-system distribution.
    [Show full text]
  • Making Type 1 and Opentype Fonts with Metatype1 and Fontforge
    Making Type 1 and OpenType fonts with MetaType1 and FontForge Karel Píška Institute of Physics, Academy of Sciences Prague, Czech Republic 24 August 2008 2nd ConTEXt Meeting Bohinj, Slovenija Contents Type 1 v.s. OpenType OpenType fonts today TEX text OpenType fonts OpenType math fonts today Stage 1: Font creating with MetaType1 Examples with Latin Modern Stage 2: From Type 1 to OpenType Construction of OpenType Conclusion and suggestions Conclusion and suggestions TEX Gyre fonts and math OpenType tables Last comments Type 1 v.s. OpenType (probably everybody knows) Limitations in Type 1 I max.number of encoded glyphs – 256 I we need many encoding files to cover various languages and their encodings (9 or more in today’s Latin Modern and TEX Gyre) I metrics data (also ligatures, kernings, . ) in additional separated files (× the number of encodings) OpenType fonts I can cover all characters together with metrics and “advances typographic facilities” I are available for XeTEX, LuaTEX I allow to unify access to glyphs, hyphenation patterns, . OpenType fonts today TEX text OpenType fonts I Latin Modern (LMRoman10-Regular) old style digits present I TEX Gyre (TeXGyreTermes-Regular) old style digits, small caps I Antykwa Torunska I Iwona I Kurier and, maybe, other OpenType fonts today OpenType math fonts I Cambria Math [MicroSoft] I old style digits I math symbols I letters: regular, bold, (math) italic, small caps, subscript, superscript, script-script, etc. I see (MS specification) I Minion Math [Jonannes Küster] I Asana Math [Apostolos Syropoulos] (glyph list) special optical sizes for scripts and scriptscrips are absent (?) I STIX not available after beta-testing (?) I other OpenType math ? Stage 1: Font creating with MetaType1 The fonts can be generated with the MetaType1 package [authors B.
    [Show full text]
  • THE MATHALPHA, AKA MATHALFA PACKAGE the Math Alphabets
    THE MATHALPHA, AKA MATHALFA PACKAGE MICHAEL SHARPE The math alphabets normally addressed via the macros \mathcal, \mathbb, \mathfrak and \mathscr are in a number of cases not well-adapted to the LATEX math font structure. Some suffer from one or more of the following defects: • font sizes are locked into a sequence that was appropriate for metafont{generated rather than scalable fonts; • there is no option in the loading package to enable scaling; • the font metrics are designed for text rather than math mode, leading to awkward spacing, subscript placement and accent placement when used for the latter; • the means of selecting a set of math alphabets varies from package to package. The goal of this package is to provide remedies for the above, where possible. This means, in effect, providing virtual fonts with my personal effort at correcting the metric issues, rewriting the font-loading macros usually found in a .sty and/or .fd files to admit a scale factor in all cases, and providing a .sty file which is extensible and from which any such math alphabet may be specified using a standard recipe. For example, the following fonts are potentially suitable as targets for \mathcal or \mathscr and are either included as part of TEXLive 2011, as free downloads from CTAN or other free sources, or from commercial sites. cm % Computer Modern Math Italic (cmsy) euler % euscript rsfs % Ralph Smith Formal Script---heavily sloped rsfso % based on rsfs, much less sloped lucida % From Lucida New Math (commercial) mathpi % Adobe Mathematical Pi or clones thereof
    [Show full text]
  • Thai Printing Support in FOSS
    Thai Printing Support in FOSS Theppitak Karoonboonyanan 23 January 2006 1 Requirements Summary 1.1 Rendering As summarized in [1] and [2], rendering or typesetting Thai texts involves the following issues: 1.1.1 Word Breaking There is no word delimitor for Thai. Texts are written continuously. Word boundaries need to be determined when wrapping lines, for example. 1.1.2 Cell Clustering Clustering means tokenizing text string into clusters, each comprising a base character and zero or more combining characters. In case of excessive combining characters, or invalid sequence, extra clusters without base character will be introduced to show the excessive characters. These extra clusters might be rendered with dotted circle as its base, for example. Figure 1: Thai cell clustering 1.1.3 Substitution • U+0E33 (SARA AM) needs to be decomposed for proper rendering. The character is composed of two parts, U+0E4D (NIKHAHIT) and U+0E32 (SARA AA). NIKHAHIT is a combining character, while SARA AA is a base-line character. The glyph for SARA AM in most fonts are already prepared for placing both parts on normal base characters. But some base characters with upshooting stem will cause an overlap with NIKHAHIT. So, decomposing SARA AM will provide some chance for proper position- ing. Then, the decomposed NIKHAHIT needs to be further reordered with any existing tone mark, so that it is stacked to the base character before the tone mark. 1 • The removal of descender component of some characters, namely U+0E0D (YO YING) and U+0E10 (THO THAN), when combined with a below- base combining character.
    [Show full text]