74

A number of answers: Firstly, microtypography is (in my book) the art of enhancing the appearance of a document while exhibiting the minimum degree of visual obtrubsion, that is, ideally, without even being recognisable: Characters with less optical weight should slightly protrude into the margin to make it appear more even, but they shouldn't stick in your ...


50

Crimson is useful for experimenting with the new approach, because it’s free and defines few of the features it could support. Here are the features defined in its latest version: | r | i | b | bi | sb si | |------+---+---+---+----+-------| | c2sc | ✓ | ✓ | ✓ | | | | kern | ✓ | ✓ | ✓ | ✓ | ✓ | | liga | | | | ✓ | | | onum | ✓...


28

I tried the same and got Segmentation fault: 11 too. So I retried with luaotfload-tool -v -vvv -u that shows all processing and saw it stopped when trying to load Skia.ttf. So I edited /usr/local/texlive/2013/texmf-dist/tex/luatex/luaotfload/luaotfload-blacklist.cnf (with sudo) and added Skia.ttf (the first two lines) % Causes segmentation fault with ...


28

I came across the same problem as you when I first tried to use XeTeX. If you want fontspec to automatically find the path to the font and load it for you, then you need to have the font installed as a system font. On OS X, you can do this by navigating to Font Book -> Preferences and changing the "Default Installation Location" from "User" to "Computer". ...


28

This here (an adaption of the example from the context list) works for me Edit on februar 2017 The syntax seems to have changed. data and type are no longer in a subtable and the explaining text does harm. The new code working for me (in a current TeXLive 2016 and in miktex) is \documentclass{article} \usepackage{fontspec} \directlua { fonts.handlers.otf....


17

This could be related to a bug with negative protrusion values that I reported a year ago and which is obviously still open. Which luatex version are you using?


16

I think that defaults are just enough for most texts, but it depend the overall text format (font size, font type, text width, margins, columns, etc.) and how sensitive are your eyes to bad spacing or the abuse of microtype methods. To test if your settings are OK first try (with some long text) a disproportionated value in one option as stretch=1000. You ...


15

Based on Ulrike's answer: Because I don't want to create a TeX document every time I need the font list, here is a simple script for that: #!/usr/bin/env texlua kpse.set_program_name("listluatexfonts") cachefile = kpse.expand_var("$TEXMFVAR") .. "/luatex-cache/generic/names/otfl-names.lua" fontlist = dofile(cachefile) assert(fontlist,"Could not load ...


14

I just found a solution. It turned out it was all about cleaning my LuaTeX font cache. Try that if you face the same problem. Go to your home folder. Activate viewing of hidden files (Ctrl+H). Look for .texlive2012/texmf-var/luatex-cache/generic/fonts/otf and delete the .lua file(s) that more closely match your "existing but not found" fontname. That did ...


13

Both Miktex and TL includes file UnicodeData.txt, which contains all necessary information. It contains lines in the following form: 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 There are several fields delimited with semicolon. Important fields are first, which is current character codepoint, fourth, which is class of character and fifteenth, which ...


12

You have to specify the font for each feature. See section 5.1.2. of the fontspec manual. A XeTeX MWE: \documentclass[12pt]{memoir} \usepackage{fontspec} \setmainfont[% UprightFeatures={ SizeFeatures={ {Size={-8.4},Font=MinionPro-Capt}, {Size={8.4-13},Font=MinionPro-Regular}, {Size={13-19.9},Font=MinionPro-...


12

For opentype fonts, luaotfload provide function nodes.simple_font_handler which will take care of all font manipulations like ligaturing and kerning and all other features supported by luaotfload. This function isn't advertised in the manual, I've found it in luaotfload source code. It is called as node callback on normal text, but as you create nodes ...


12

The fontloader provided by the luaotfload package (loaded by default in LuaLaTeX) is not compatible with current LuaTeX versions. A newer fontloader fixing this problem can be found at this GitHub repo in the dev-2.9 branch. Just download this project and add the texmf directory to your TEXMFHOME, then LuaLaTeX works again. A step by step guide for Linux: ...


11

You can do as proposed in section 9.2.1 “Trimming fonts“ in Fonts out of ConTeXt and remove all the glyph names in the font. Adapted to LaTeX and your example: \documentclass{article} \usepackage{fontspec,luacode} \begin{luacode*} fonts.handlers.otf.readers.registerextender { name = "remove names from Noto Sans CJK SC", action = function(...


10

The file luatex-unicode-letters.tex differs between TL2013 and MiKTeX. The TL version deactivates (comments) all entries from \l 1D400 to \l 1D7CB and contains the comment: % XXX: luatex math italic correction bug % http://www.tug.org/pipermail/tex-live/2011-October/030295.html This sound as if there is a bug in LuaTeX and Tex Live has implemented a ...


10

As far as I know, LuaLaTeX doesn't use fc-list, but rather caches fonts using luaotfload.lua. In order to make all otf fonts in TeX Live known to your system, run cp $(kpsewhich -var-value TEXMFSYSVAR)/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf fc-cache -fsv as superuser. This is actually necessary for XeTeX and XeLaTeX.


10

You can use the LetterSpace option in fontspec. It preserves kerning as you can see if you compare it with the output of Renderer=basic: \documentclass{article} \usepackage{microtype} \usepackage{fontspec} \setmainfont{LinLibertine_R}[% Extension = .otf, SmallCapsFeatures = {% LetterSpace = 10, Letters = SmallCaps}] \setsansfont{...


10

The problem is that realscript itself use locally \addfontfeature. And this means that you are actually using two different fonts for the A and the superscript. It works fine if you use for both the same font features: \documentclass{article} \setlength\parindent{0pt} \usepackage{fontspec} \directlua { fonts.handlers.otf.addfeature { name = "supkern", ...


8

I've finally found a solution (with the hint by Ulrike Fischer): Simply edit (with administrator rights): C:\Program Files (x86)\MiKTeX 2.9\tex\luatex\lualibs\lualibs-dir.lua And paste add these lines to the filter (around line 95) just before "P(1)" P("(") / "%%(" + P(")") / "%%)" + The brackets will be escaped and therefore the fonts in the "program ...


8

I don't know how is this feature implemented in the font, but I guess that Luaotfload is missing support for it. The following code is just quick fix for this issue, it should be fixed in Luaotfload ideally. The full code follows, some explanation is provided bellow: \documentclass{article} \usepackage{fontspec} \usepackage{luacode} \begin{luacode*} local ...


8

Kpathsea searches a given path recursively if it ends with two slashes (//). Accordingly export OSFONTDIR="$HOME/FontExplorer X/Font Library//" luaotfload-tool --update should work. And indeed luaotfload-tool --find="Minion Pro" yields luaotfload | resolve : Font "Minion Pro" found! luaotfload | resolve : Resolved file name "/Users/<username>/...


8

David Carlisle gave me the tipp to use a size-function to inject the necessary code in \DeclareFontShape and so I wrote a small, (very experimental) package combofont: http://www.ctan.org/pkg/combofont With it the font can be declared like this: \RequirePackage{luatex85} \documentclass[parskip=half-]{scrartcl} \usepackage{combofont} \setupcombofont{...


7

This seems to be a bug in luaotfload's handling of the pdf page resources. The example can be further reduced (and plainified) by removing the preview package -- a simple \vbox is enough: \input luaotfload.sty \font\x="texgyrebonum-bold.otf:color=FF000077" at 24pt\x AAA \newbox\y\setbox\y\vbox{AAA}\unvbox\y \bye The effect is that the setting of the ...


7

The node subtype for pdf literal is 16 not 8 these days. (Probably it ought to get the number by name, rather than rely on the internal numbers, but here I just changed 8 to 16.) your test file \RequirePackage{luatex85} \documentclass {scrartcl} \usepackage {fontspec} %% this loads luaotfload as well \setmainfont {Antykwa Poltawskiego} \usepackage{...


7

What is going on here? Let's start by looking at what \section actually does: In article.cls, \section is defined by \newcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\...


6

My feeling is that luaotfload makes LuaTeX ignore the choice of stylistic sets when the font is used in math mode. In order to prove my claim, I did \mathcode``=\numexpr"7000+\mathcode``\relax and tried $\mathtt{`}$, which resulted in the curly backquote no matter what stylistic set in used in the definition of the mono font. Note that url typesets the ...


6

luatex loads a lot of otf fonts at every luaLaTeX run with my custom class […] On my system (linux, SSD, core i3), each run takes at least 10 seconds. Are you referring to one entire pass of Luatex? I can’t say anything regarding Latex, but in Context that’s reached easily with more complex documents. If I understand correctly, much of the time is ...


6

Thanks to Ulrike's hint, my question is now answered. Here's an example of a simple context sub using the two Rs present in Miller Text. \documentclass{article} \usepackage{fontspec} \directlua{ fonts.handlers.otf.addfeature{ name = "ralt", type = "chainsubstitution", lookups = { { type = "substitution", data = { ...


6

Here is an example with script Kannada (knda in the above list). The (typical) problematic cases for the other scripts will be similar, just have to pick the corresponding codepoints from the other scripts. \documentclass{article} \usepackage{fontspec} \setmainfont{NotoSansKannada-Regular.ttf}[Script=Kannada] \begin{document} % U+0C95 KANNADA LETTER KA ...


Only top voted, non community-wiki answers of a minimum length are eligible