1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
|
Change History
--------------
2022-10-03 luaotfload v3.23
* More reliable ToUnicode mappings in Harf mode
* Various bug fixes
2022-06-15 luaotfload v3.22
* Tailored case mappings
* Avoid database rebuilds when switching Lua versions
* Improved attribute settings of ActualText nodes in harf mode
* Callback-based customization for color parameter
* Various bug fixes
2022-03-18 luaotfload v3.21
* Fix performance regression introduced in version 3.19.
* More reliably support TrueType based variable fonts in harf mode.
2022-02-27 luaotfload v3.20
* A bug in luaotfload-tool has been corrected.
* The directory for the font name database has been corrected and no
longer uses the development directory.
2022-02-24 luaotfload v3.19
* When used with LuaTeX 1.15.0 or newer, variable fonts are supported
when using the harf shaper too.
* A new algorithm for selecting fonts based on font family names allows
to more reliably load fonts based on their family name.
* The compiled font database gets compressed to reduce disk space and
improve performance on newer systems.
* Text automatically gets normalized to Unicode's NFC before shaping.
This improves rendering for text written in decomposed forms for many
fonts. This can be turned off by passing the -normalize font feature.
* The fontloader has been synced with the context code from 2022-02-24.
This fixes some broken rendering of TrueType based variable fonts.
* A number of small bugfixes.
2021-05-21 luaotfload v3.18
* Allow using variable fonts without explicitly specifying any axis values
* The fontloader has been synced with the context code from 2021-05-20
* Multiple small fixes, mostly concerning discretionaries in harf mode.
2021-01-08 luaotfload v3.17
* The fontloader has been synced with the context code from 2021-01-07.
This improves support for advanced CFF based OpenType variable fonts.
2020-12-31 luaotfload v3.16
* The fontloader has been synced with the context code from 2020-12-30
* The entry point is called luaotfload.lua instead of
luaotfload-main.lua (but the old name is still provided for
compatibility).
* pre/post_shaping_filter callbacks has been added.
* The number of lua-files and submodules shown in the log-file
has been reduced. But it is extended again by setting the environment
variable LUAOTFLOAD_TRACE_SUBMODULES=1.
* The HarfBuzz based shaper will in some situations drop hyphenation
points. This happens less frequently now since the new version uses
first/second discretionaries (the mechanism described in the LuaTeX manual,
section 5.6 for the of-f-ice example) to support a limited amount of
nesting.
* When the node shaper is used, experimental support for
OpenType variable fonts has been added. To use them, set the font
feature axis to a comma separated list of axis names and values.
(E.g. axis={weight=600}) The supported axis names and value
range depend on the font.
* The font features upper and lower can be used to map
the text of a font to upper or lowercase before displaying it. Currently
this implements the untailored Unicode case mapping algorithm, but it is
planned to add tailoring later.
* A number of small bugfixes.
2020-09-02 luaotfload v3.15
* The font database is updated more reliably if fonts get deleted.
* In multiple error cases, error messages are shown instead of silently
generating bad output.
* Write glyph ids instead of internal identifiers to DVI files. This
allows using OpenType fonts when working with dvilualatex.
(This requires additional support from the DVI reader)
* The set of font features which are enabled by default has been
changed to be more similar to HarfBuzz.
Especially Above-base mark Positioning (abvm),
Below-base mark Positioning (blwm), Contextual
Alternates (calt), Cursive Positioning (curs),
Distances (dist), and Required Contextual Alternates
(rclt) are now enabled by default for all scripts.
* Added a mathfontdimen font feature which allows emulating
fontdimen values from xetex or traditional \TeX\ math fonts.
* Initial support for variable fonts in node mode.
2020-05-01 luaotfload v3.14
* bug fix for luaotfload-tool, luaotfload-tool --list=basename failed (texlive list)
* fontloader patched to resolve issue #124
2020-05-01 luaotfload v3.13
* A problem with text fonts with minimal math table has been fixed (issue 148.)
In new luaotfload versions, math parameters will only be loaded for fonts with `script=math`.
If you do want to set math parameters for fonts with other scripts, add `-nomathparam`.
We strongly recommend against setting math parameters for text fonts because
these would overwrite parameters from actual math fonts.
* A bug in harf-mode that could lead to missing chars and freezing was corrected (issue 141).
* A font size problem in harf-mode has been fixed (issue 147).
* An error if the main function was called twice has been fixed (issue 145).
* Allow .ttf fonts to be loaded with a map file with luahbtex (issue 142) (issue 143).
* Fonts installed for a single user on windows are now found (issue 138).
* A problem with wrong \TeX-ligatures in harf mode has been fixed (issue 139).
* The debugging output has been changed (issue 131).
* a missing U+1E9E (Capital ß) in a font is replaced by
SS instead of giving a missing character.
* extended the color handling to be compatible with the luacolor package
* sync with context files from 2020-04-30
2020-02-02 luaotfload v3.12
* new experimental feature multiscript
* new experimental feature fallback
* extension of the color feature to color output glyphs
* Small bug correction
2019-11-10 luaotfload v3.11
* Changed the handling of the script key in harf mode to be more compatible with behaviour of the node mode.
It now expects the name of a script that is actually in the font instead of a ISO 15924 script tag. See issue 117.
* Corrected a number of small typos and bugs in harf mode.
2019-11-04 luaotfload v3.1
* added code to use the harfbuzz library of luahbtex ("mode=harf")
* fonts in ttc can now be indexed by name
* remove a number of lua tables from the global enviroment (_G) to reduce the polution.
Kept there are only the tables luaotfload, fonts and nodes.
* sync with context files from 2019-10-29
2019-09-13 luaotfload v3.0
* invisible option to avoid that some glyph are shown (issue #63)
* correct small bug in xheight calculation
2019-08-11 luaotfload v2.99
* some clean up
* fix a bug in luaotfload.aux.resolve_fontname() (issue #76)
* removed dependency on slnunicode (PR#72)
* sync with context files from 2019-08-11
2019-06-20 luaotfload v2.98
* add embolden key
* add missing char detection issue #65
* sync with context files from 2019-07-04
2019-05-18 luaotfload v2.97
* fix issue #47
* fix whatsits interfering with letterspacing (issue #53)
* fix luaotfload-tool switches version and find not working correctly (PR#59)
* fix luaotfload-tool support of ttc fonts (PR#58)
* sync with context files from 2019-05-18 (improves handling of large fonts, see e.g. issue #55 and PR#58)
2019-01-28 luaotfload v2.96
* repaired broken letterspace (issue #38)
* changed handling of spaces in letterspacing
* changed handling of ligatures in letterspacing
* corrected detection of bold fonts (issue #41)
2019-01-28 luaotfload v2.95
* imported context files of 2019-01-28
* changed bold indification (for lucida demi bold) (issue #33)
* changed handling of tex file (issue #35)
* changed resolver code (pr #36)
2019-01-14 luaotfload v2.94
* imported context files of 2018-12-19
* removed luaotfload-characters from init - use the basics-chr instead.
* allow custom fontloaders through the mode-key https://github.com/u-fischer/luaotfload/pull/25
* resolved issue #29
2018-10-28 luaotfload v2.93
* reinserted forgotten man files
* unified and improved version/module info for automatic tagging
2018-10-21 luaotfload v2.92
* better deva support, issue #9
* test for --safer and abort, issue #12
* newest context files
* correct file: syntax for tfm files, issue #11.
2018-10-03 luaotfload v2.91
* solved copy & paste of variant glyphs, https://tex.stackexchange.com/questions/451442/localized-glyphs-locl-have-unicode-value-ufffd
* solved problem with PUA no longer accessible with \char, see https://github.com/u-fischer/luaotfload/issues/7
2018-09-21 luaotfload v2.9
* added various testfiles for the l3build system/travis tests to the github repository
* solved a bug regarding directions https://github.com/u-fischer/lua-font-pond/issues/12
* adapted luaotfload-letterspace to new fontloader
* solved the case problem see https://github.com/u-fischer/lua-font-pond/issues/6
* Fix parsing of font.conf see https://github.com/lualatex/luaotfload/pull/420
* imported new versions of the context files - fontloader is compatible with luatex 1.08 again
* adapted the files list
* created a luaotfload-filelist.lua which describes the files of the package
* removed some not functional files
* adapted mkstatus to use the new file list.
2017-01-29, luaotfload v2.8:
* Latest fontloader code.
* Support for Luatex 1.0.
* Integration of the extended AFM handler.
* Fixes to font family assignment.
* Skip initialization if Luaotfload is already loaded.
* Optical sizes advertised by fonts treated as big points.
2016/04/21, luaotfload v2.7:
* Rework lookup chaining.
* Combining glyphs from different fonts (``combo: ...`` requests).
* Glyph fallbacks.
* Latest fontloader code.
* Adapt packaging to changed upstream file layout.
* Remove support for builtin Fontforge libraries (this includes the PFA,
PFB, DFONT, and feature file readers).
* Allow configuration of anonymous lookups.
2015/12/09, luaotfload v2.6
* Add ``sign`` target to makefile for automated package signing.
* Add ``--dumpconf`` option to luaotfload-tool for generating configuration
files.
* Move fontloader files to subtree src/fontloader.
* New script ``mkimport`` facilitates maintainance of code imported from
Context.
* Revised letterspacing, now utilizing the ``node.direct`` interface.
* Revized colorization of fonts, utilizing ``node.direct`` (Dohyun Kim).
* Colorization was moved to the ``post_linebreak_filter`` stage.
* Move remaining functionality from ``luaotfload-override`` into
initialization.
* Write names index if fonts were removed.
* Separate module loading from initialization.
* Custom fontloader package with the files from Lualibs removed.
* Swappable fontloader via configuration option.
* Lualibs are now a dependency when used in a TeX run as well.
* Respect interword spaces when letterspacing.
2014/07/13, luaotfload v2.5
* Remove legacy code.
* Remove compatibility with the old mkluatexfontdb script.
* Remove test directory. Use https://bitbucket.org/phg/lua-la-tex-tests
instead.
* Remove luaotfload.lua from luaotfload.dtx; it is now a separate file
luaotfload-main.lua.
* Standard source tree structure: the code is now located in the ./doc,
./scripts, ./src, ./build, and ./misc directories.
* Move the heavier LPEG parsers from luaotfload-features (syntax) and
luaotfload-database (fontconfig) into the new file
luaotfload-parsers.lua.
* Move logging routines from luaotfload-override in to luaotfload-log.
* Scan local font files (``--local`` flag to luaotfload-tool, flag
``scan_local`` during TeX run).
* Add bisection mode (``--bisect``) to luaotfload-tool.
* Add functions for accessing the database: ``aux.font_index()`` and
``aux.read_font_index()``.
* Distinguish XDG configuration paths (Reuben Thomas)
* Optional configuration via rc files.
* Configure default features via configuration file.
2013/12/31, luaotfload v2.4
* Additional self-tests, now in separate file (luaotfload-diagnostics.lua)
* Better path and directory handling, especially on Windows
* database now indexes Type1 fonts (PFA, PFB) and makes them accessible
with style modifiers (requires --format=+pfa,pfb option to luaotfload-tool)
* Test runner (script mktests)
* New luaotfload-tool option: ``--no-reload``
* ``luaotfload-tool --find`` now understands request syntax
* text (Lua script) version of the font index is filtered through gzip by
default, the ``--no-compress`` option of luaotfload-tool will prevent
this
* rename ``luaotfload-merged.lua`` (the fontloader package from Context)
to ``luaotfload-fontloader.lua``
* Treat arguments of the ``letterspace`` option as percentages; add
``kernfactor`` option that behaves as before.
* Remove imported version of typo-krn.lua. Xetex-style per-font
letterspacing is now the canonical method.
* Merge functionality from extralibs (fake Context layer) into
luaotfload-letterspace.lua as it is only needed there anyways.
2013/07/10, luaotfload v2.3a
* Detect LuaJIT interpreter (LuaJITTeX)
* Self-test functionality for luaotfload-tool.lua (option ``--diagnose``)
2013/07/03, luaotfload v2.3:
* New experimental lookups: ``kpse`` (kpathsea), ``my`` (callback)
* Precedence of texmf over system fonts can be requested
using the ``--prefer-texmf`` option of luaotfload-tool
* Resolve file names to full paths at later stage
* Rewrite the output of ``\fontname`` via ``patch_font`` callback
* Allow blacklisting directories
* Drop compatibility layer
* Remove dependency on luaotfload-lib-dir (references to dir.glob() and
dir.mkdirs())
* luaotfload-tool now displays extensive information about a font if given
the argument --inspect
2013/05/20, luaotfload v2.2:
* There is now a central, non-personal dev repo on github:
https://github.com/lualatex/luaotfload
* Synchronisation with ConTeXt from TeXLive 2013, inducing
backward-incompatible changes in the font structure. A
backward-compatibility layer has been added for the current
versions of fontspec, unicode-math and microtype, but it should
disapear in a future version.
* Synchronisation with ConTeXt is now easier and can be done by just
updating luaotfload-merged.lua (<= luatex-fonts-merged.lua from
the LuaTeX-Plain format)
* Improved and extended documentation
* Font filenames are stored in the database (file: lookups more efficient)
* Optional caching of name: lookups (uses separate cache file)
* Rewriting and increased fidelity of XeTeX emulation
* Renaming mkluatexfontdb into luaotfload-tool (the old behavior is kept if
the script is symlinked or renamed mkluatexfontdb)
* Added options to luaotfload-tool for simple database queries
* Logging facilities have been rewritten and allow for more granularity
* All files have been renamed, abandoning cryptic acronyms; also
the new prefix is "luaotfload" (<= "otfl")
* The Adobe Glyph List (font-age.lua) is now built via script (mkglyphlist)
* Hans adapted the font loader to several of our requests (attribute
allocation, custom merged package name etc.)
* Auxiliary functions for package authors
* Man page for luaotfload-tool
* Unsupported v1.3 codebase is included in the luaotfload-*lua files. Crude,
but effective way to support older Luatex binaries
* implemented basic cache control/stats option for luaotfload-tool
* Character list is generated from char-def.lua (mkcharacters)
2013/04/27, luaotfload v1.3:
* blacklisting lingoes.ttf (segfaults)
* unblacklisting ttc fonts (warning: may break LuaTeX < 0.65)
* fixing font cache file name with non-ascii characters
2013/04/25, luaotfload v1.29:
* Reverting the unified resolver, as the database was rebuilt too often
which made the compilation longer. This will come back improved
in the next version, hopefully for TeXLive 2013.
* Fix resolving of Libertine Mono
* Fix a bug that made fontconfig files not parsed when OSFONTDIR is set
2013/04/11, luaotfload v1.28:
* Adapting to LuaTeX 0.75
* Fix small documentation issues in mkluatexfontdb
* Fix possible infite loop with fontconfig config files references
* Adding semibold synonym for bold
* file:xxx syntax now uses the same search function as name: which
make more fonts recognized
2012/05/28, luaotfload v1.27:
* Fix "endless loop in charlist" with some OpenType math fonts
2012/03/27, luaotfload v1.26:
* Enable setting italic correction values by default
* Fix finding demibold italic fonts
2011/04/21, luaotfload v1.25:
* Fix bug loading *.dfont fonts
* Misc. documentation fixes
* Fix the need to manually delete font cache when feature file is changed
* Hack to support Demi fonts
2011/02/16, luaotfload v1.24:
* Fix infinite loop first time creating a name list
2011/02/04, luaotfload v1.23:
* Fix a typo breaking fonts.names.scan()
2011/01/25, luaotfload v1.22:
* Remove --database-dir and --sys options from mkluatexfontdb
* Provide a "luaotfload.patch_font" callback for on the fly patching of fonts
* Some documentation improvements
2010/11/11, luaotfload v1.21:
* Adapt to luatexbase v3.0
2010/10/16, luaotfload v1.20:
* Make cache directory creation more robust
* Fix GPOS mark placement in left-to-right direction
* Reject fonts missing 'names' table
* Sanitize color value before attempting to use it
2010/09/12, luaotfload v1.19:
* fix LaTeX's detection (made Tikz fail under a non-LaTeX format)
2010/07/15, luaotfload v1.18:
* fix for \overwithdelims and brothers
2010/07/14, luaotfload v1.17:
* allow stylistic sets features in base mode
* don't scale percent math constants
2010/07/12, luaotfload v1.16:
* support keys prefixed by "+", for compatibility with XeTeX
* remove the progress bar from mkluatexfontdb, it is of little use now
* minor code a documentation cleanups
2010/06/28, luaotfload v1.15:
* anum feature did not work as advertised
* add system shipped TTC fonts on Mac OS X to the blacklist, until the
culprit ones are isolated
2010/06/25, luaotfload v1.14:
* fix mkluatexfontdb which was broken in the last version
* support general font blacklisting feature
* temporally re-enable ttc fonts on Mac OS X
* make sure mkluatexfontdb in verbose mode prints font filename before
attempting to load it
2010/06/24, luaotfload v1.13:
* fix typo in font cache path
2010/06/18, luaotfload v1.12:
* populate MathConstants table for OpenType math fonts, now such fonts
can be really used in math mode.
* sync with ConTeXt beta 2010.06.18
* change cache dir to $TEXMFCACHE/luatex-cache/generic
2010/06/09, luaotfload v1.11:
* when asking for a font with style that doesn't exist, we would return
nothing, now we fallback to the regular font
2010/06/07, luaotfload v1.10:
* provide a fonts.names.scan(dir) function that temporally loads fonts
from the specified dir into the names database
* Log loaded font file before attempting to open it
* fix XeTeX's square brackets syntax so that it doesn't trigger database
update
* fix loading fonts with absolute path
* add \fontdimen8 support, for XeTeX compatibility
* be more verbose when updating the font database
* improve fonts.conf parsing
* make sure when a TFM font is requested we don't end up loading a non-TFM
font with a similar name instead
* Remove --fc-cache option from mkluatexfontdb.lua, since we no longer use
fontconfig tools
* misc. bug fixes
2010/05/30, luaotfload v1.09:
* the last release didn't even load
* fix passing --destdir to mkluatexfontdb
2010/05/28, luaotfload v1.08a:
* revert experimental code that was committed by mistake
2010/05/28, luaotfload v1.08:
* fix misc. bugs with system fonts scanning
* parse fontconfig configuration directly, no longer dependant on 'fc-list'
* now if no font names database is found, luaotfload will generate it, also
it will force an update of the database if the asked font can not be
found
* avoid loading non-tfm fonts when the user asks for tfm font
* update the documentation
* blacklist .ttc and LastResort font on mac.
* sync with ConTeXt beta 2010.05.22
* fix attribute handling
* clarify license
* misc. bug fixes
2010/05/10, luaotfload v1.07:
* using the new luatexbase package
* synchronizing with latest ConTeXt stable 2010.05.08
* adding support for microtypography
* adding support for color and transparency
* adding a script to generate a font database with TeX and system fonts
* more verbose log file
2010/02/07, luaotfload v1.06a:
* more complete tlig and trep
* defaults options changed to "+ccmp;+locl;+rlig;+liga;+clig;+kern;
+mark;+mkmk;"
* supporting windows absolute path
2009/12/01, luaotfload v1.06:
* synchronizing with ConTeXt stable 2009.11.26
* adding backward compatibility with LuaTeX 0.40.6
|