STIX Fonts

The STIX project (Scientific and Technical Information eXchange) was born several years ago as a collaboration between American Mathematical Society (AMS), American Institute of Physics (AIP), American Physical Society (APS), American Chemical Society (ACS), Institute of Electrical and Electronic Engineers (IEEE) and Elsevier to satisfy the needs of all people trying to write documents on the areas of science, medicine, engineering, etc. The design was inspired on the classical Times Roman and the aim was to create a set of free fonts under a SIL Open Font License. The project went far beyond the original plans and now offers a high quality product that can be easily used on other fields.

For version 2 (from the end of 2016), the project completely reviewed the design and reorganized everything as a set of OpenType fonts with several interesting variants, changing its name to


In addition to the four “traditional” faces (normal, italic, bold and bold italic), the package offers a font that can be used with unicode-math to create mathematical formulae on XƎTEX or LuaTEX systems: STIX Two Math

This mathematical font offers several “alternatives” through stylistic sets. For example, to use the alternative glyphs of g, u, v, w, z we can call this font on the preamble of our XƎTEX documents with

\setmathfont{STIX Two Math}[RawFeature={+ss02}]

If we also want integral signs that are more “vertical” we can use

\setmathfont{STIX Two Math}[RawFeature={+ss02;+ss08}]

The documentation that comes with the font (the end of the file “STIX_2.0.0_release_notes.txt” and the file “STIX_2.0.0_stylistic_sets.pdf”) provides a list with all the OpenType characteristics available on both, normal and the mathematical fonts.

It’s possible to download the fonts from the project’s SourceForge page.


LyX 2.3.0 is here!

Finally, it’s here! After several problems (the windows installer is not available yet) it’s now possible to download  LYX 2.3.0, the latest and greatest version of this wonderful interface for LATEX, XƎTEX and much more.

There are many new features: native support for BibLATEX, better handling for «”intelligent” quotes», support from the UI for Microtype package, native support for even more LATEX commands… there is a list of new features here

What is new in LyX 2.3?

Unfortunately, for the first time on many years openSUSE’s publishing repository did not update to the last package on release date so I do not have screenshots to show… yet 😉

Libertinus Fonts

Started by Khaled Hosny as a way to deliver a “math companion” to Linux Libertine fonts, the project I present today developed as a full fork that it’s actively maintained and it’s full of interesting OpenType features and fixes not present on the original project

Libertinus Fonts

Libertinus is a “Times”  font family offering highly developed serif, good sans serif (no bold-italic, though) and “keyboard” faces, together with less developed monospaced, display and initial fonts

There is also a font, Libertinus Math, that can be used with unicode-math package to build our XƎTEX/LuaTEX math expresions

To get the latest development version (don’t worry, it works perfectly!) you can use the button “clone or download” on the GitHub project page to download a zip file containing the latest versions of the fonts, together to the source code and everything else.

You know, Space (or how to insert arbitrary Unicode characters on Writer)

Typography has those weird corners that nevertheless can be powerful tools if we understand how they work.

For example, consider the concept of “space.” The space bar inserts a particular character whose Unicode code is U+0020, but that’s not the only “space” available. In fact we have a “no-break space”, represented by U+00A0, that stops words from being separated at the end of a line and a couple of spaces that do not take any space: U+200B and U+2060.

The no-break space can be introduced on Writer with Ctrl-Shift-Space and it’s quite useful. But what about those spaces that take no space? What’s their use?

U+200B, called “zero width space” can be used as a “word delimiter” so two​words (it was on purpose 😉 ) are shown as one but retaining their “identity” so the spellchecker recognize them as two independent words. This word delimiter allow the couple to break at the line end, something that the other “space that do not take space” wont. In fact, U+2060 is called “word joiner”, and do exactly that, join words, not allowing them to separate.

How do we insert those special spaces? Or, by the way, any other Unicode character.

On recent (since 5.1, I think) LibreOffice versions it’s quite easy to switch between Unicode codes and actual Unicode characters with the shortcut Alt-X.

NOTE: On mac systems the shortcut is CMD-option-X while for some locales it may be Alt-C. See here for more information.

For example, to insert a zero width space between two words type the fist one, without letting any space type 200b, press Alt-X and, again without leaving any space, type the second word.

Given the content of this blog, you could ask how an arbitrary Unicode character could be introduced into a LYX document. We’ll cover that in future articles.

Eau De Garamond: a “distilled” Garalde without serifs

To find matching typefaces is a difficult art. Some developers offer “families” of fonts (I’ll talk about many of them on future articles), but, which “sans” do we have that goes well with a garalde? From the team developing Cormorant we now have an interesting proposal:

Eau de Garamond

This font is an original development from Christian Thalmann that picks the concepts of  Claude Garamond and “distil” them to create a font without serif that’s at the same time unique and recognizable

Here it’s how it looks compared to EB Garamond and Cormorant

The project is still on its initial development phases, hence there is no official release yet, but it’s possible to download the repository (the Clone or download button) to obtain the last development version.

A really interesting project.

Cormorant: a Garalde for Headings Full of Options

Today I’ll present a wonderful Garalde that can be used for headings as a good companion to EB Garamond:

Cormorant, by Christian Thalmann

Some of its variants (namely, ss02, ss03 and all the Small Caps) are also offered as independent fonts, but if you use an OpenType aware software just ignore them.

Each font is offered on eight weights.

The best way to download the font is from the project’s GitHub page, just be aware that the fonts present on the file only offer ttf versions, to obtain the otf files you need to download the file called «source code»: there you’ll find the ttf, otf, woff and source code files.

EB Garamond, by Georg Duffner

Let’s start this year font reviews with great style.

EB Garamond, by Georg Duffner

Starting with scans of a specimen known as the “Berner specimen”, the EB Garamond project tries to bring to life, and with an open license, the designs of Claude Garamond from mid-16th century.

This is a very ambitious project that offers lots of advanced OpenType features, high readability and plenty of typographical beauty.

The project is not complete, though: bold and bold italic faces are still on development, but at the time of this writing they are not complete yet. But that does not prevent us from using this incredible font: my book on LyX (Spanish only for now, sorry) uses EB Garamond as base font with great results. Just be aware you’ll need to replace bold with something else (I used Small Caps).

Using OpenType on XeTeX+LyX: Short Texts (with character styles)

Index of articles for this “miniseries”

This is the fourth and last article on the mini series about using OpenType on a XƎTEX/LYX document.

Note: on this article I’ll suppose you are using XƎTEX as LYX backend.

Defining character styles on LYX it’s really easy. Let’s suppose we need to define a style that apply historic ligatures to a selected text. Under Document → Settings → Local format we need to write something like this

Format 60
   InsetLayout Flex:HistoLig
   LyxType charstyle
   LabelString histolig
   LatexType command
   LatexName histolig
   ResetsFont true

Then we need to press “Validate” and then “Accept”.

But what does all this code means, you may ask?

The Format line at the beginning indicates the format used by LYX to define a style. 60 corresponds to versions 2.2.x (for 2.3.x it will be 64). It’s mandatory, but you need to write it only once if you define more than one style.

There must be NO space after the colons on the second line. There it is defined the name of the new format.

LyxType define the type of format defined. Here a character style.

LabelString is, well, the label we’ll see while using this format on LYX.

LatexType defines that we are using a command.

LatexName is the name (without backslash) for the LATEX command to be applied.

If we want that during edition the selected text displays different we may use something like this

   Family Serif
   Shape Italic

The Preamble section defines code that should go to the LATEX preamble. Clearly if the code it’s already on the preamble this section is not needed.

On section 5.3.6 of Personalization manual (menu Help → Personalization) it is explained how to define paragraph styles.

Now we just need to select some text on our document, right click on the selection → Text style → HistoLig and we’ll have a working style.

Erasing an applied style is also simple: Right click → Text style → Dissolve style.

With this article we ended the quick review of OpenType basics on XƎTEX/LYX. Of course there is a lot more to tell (the fontspec manual is huge), but with this it’s more than enough to get started.

Using OpenType on XeTeX+LyX: unicode-math

This is the third article about using OpenType on a XƎTEX/LYX document.

There are several projects that offers OpenType fonts specially crafted to be used on mathematical formulae. Some of them are

(I’ll talk about some of these projects on more detail on future articles)

To use them on a LYX document we need to perform two simple steps. First, on the font selection menu (be sure to enable the “use of non TeX typefaces” first) we need to choose on the Math section the “Predefined non-TeX typeface”. Now, to use the STIX Math font we need to write on the LATEX preamble

\setmathfont{STIX Two Math}

or to use Libertinus Math

\setmathfont{Libertinus Math}

If the font offers some OpenType features we are interested in, we just need to add them as parameters. For example

\setmathfont{STIX Two Math}[RawFeature={+ss02;+ss08}]

will enable the second and eighth stylistic sets on STIX Two Math.

And that’s it. Next week, on the last article of this mini series, we’ll discuss how to define a character style on LYX.

Using OpenType on XeTeX+LyX: The Whole Document

This is the second article about using OpenType on a XƎTEX/LYX document.

Let’s suppose we want to use EB Garamond on a document, but do not like the old style numerals that are enabled by default on this font, hence we decide to apply the “lnum” (lining numerals) OpenType tag to the whole document.

Or perhaps we need to use a different font feature only for the bold face. How can we do that on LYX?

Setting the main typeface

We’ll need to set that on the LATEX preamble. After selecting the use of “non TeX typefaces” we need to let the font selection on default, then move to the Formats entry to select to use PDF (XeTeX) and finally to go to the LATEX preamble and write something like this:

\setmainfont{EB Garamond}[

Note: the “Mapping=tex-text” thing is to enable the “TeX ligatures”: they turn two dashes into an en-dash and three into an em-dash.

Using different fonts for each shape

If we want to use Gentium Plus for the Roman font and the Italic, but Gentium Basic for Bold and Bold Italic (Gentium Plus do not provides bold), then on the LATEX preamble:

\setmainfont[BoldFont = Gentium Basic Bold,
      ItalicFont = Gentium Plus Italic,
      BoldItalicFont = Gentium Basic Bold Italic,
      Mapping = tex-text]{Gentium Plus}

We could even apply different OpenType features for each shape. As an example let’s see the completely crazy and unrealistic case in which we want to apply the first stylistic set for the Roman shape, the 17th for the italics, the 14th for bold and the “slashed zero” for bold italic:


Yes, I know, it’s a pretty unrealistic example… but now you understand how all this works 😉

Next week we’ll discuss how to use OpenType on our Math.