Skip to content
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.

fixes, 3rd edition #364

Merged
merged 29 commits into from
Jun 14, 2016
Merged

fixes, 3rd edition #364

merged 29 commits into from
Jun 14, 2016

Conversation

phi-gamma
Copy link
Member

Fontloader updated to the latest beta; this includes improvements
especially regarding Type1 loading.

Luaotfload issues addressed: #356 (possibly #363), #359 (possibly
#325), #358, #357, #349, #344, and, as usual, a number of other

untracked issues that surfaced during testing.

phi-gamma added 29 commits May 9, 2016 07:16
Fixes lualatex#349 and lualatex#357.

Also the new AFM code is due, let’s see what else we need to use it.
The assumption that the AFM/PFB pair will reside in the same directory
together is wrong for TeX Live. Hence the new lookup against kpse.
Add a message that includes the information relevant for
troubleshooting.

Due to the spammy nature of the message printed by Fontspec this is not
exactly useful with Latex so disabled by default for now.
…atino files

The crash happens with these broken files MS used to ship:

    beef66370e7124eb683514ad9ad07576  palabi.ttf
    975972a205fd91a532d1b7433281af70  palab.ttf
    be4590eba976dace111b6686f6dade52  palai.ttf
    96261bb90c9babbf8042ce7f43200d65  pala.ttf

on account of a broken rule in the “s_s_l” lookup. The change removes
the entire lookup in this case since otherwise the rest of the font
behaves *very* strange.
Remove all the FF stuff and the config option. The transition is
complete, no need to keep these things around any longer.

Since we won’t be going back to the FF loader we might as well dispose
of the junk identifiers and the translation layer as well.
Address issue lualatex#356

The DejaVu Family needs stricter handling of fallback choices so we take
the font’s avertised width into consideration. This used to be easier
with the old loader since it had some decent heuristics in place for the
more or less reliable “fontstyle_name”.
Fix lualatex#358

The typographic ascender value from the metrics (Windows metrics) table
comes prescaled by the fontloader but we scaled it nevertheless. This is
not true, however, for the value in the metrics table. Fix the access
method to treat the values differently.
This was introduced with commit 67ad126 during a code removal
frenzy.

Many thanks to @grizzilus for pointing that one out:
67ad126#commitcomment-17726875
Addresses lualatex#359 and lualatex#325

To avoid duplicate entries, paths have to be resolved before collecting
them. This necessitates loop detection of some sort, currently
implemented naively as a flat table containing the directories already
traversed.
This corresponds to commit a274872832cd on the mirror repo. The changes
since then were numerous but seem to introduce a couple new files we
didn’t ask for =) Later.
Fix issue lualatex#344

The paths changed a while ago making a change necessary. We can’t just
replace the path because older versions of the tree would fail,
rendering bisection unusable. We compensate by testing the candidate
directories beforehand.
The new addfeature() as of 499160d accesses utf8.len() which wasn’t
imported at this point. Another import, utf8.char(), became irrelevant.

Spotted by @DoyunKim
Some of the more absurd aspects of fonts ;) This will fork inkscape for
the actual SVG processing.
@phi-gamma phi-gamma merged commit 36cc5c9 into lualatex:master Jun 14, 2016
@dohyunkim
Copy link

After the update, an error occurs when I issue luaotfload-tool -u.

.../luaotfload-database.lua:3199: attempt to index field 'meta' (a nil value)

It seems to be that currentnames at line 3196 is now empty table, not nil anymore, so that load_names function has not been executed.

@phi-gamma
Copy link
Member Author

Hi,

thanks for the report.

···<date: 2016-06-14, Tuesday>···<from: Dohyun Kim>···

After the update, an error occurs when I issue luaotfload-tool -u.

.../luaotfload-database.lua:3199: attempt to index field 'meta' (a nil value)

It seems to be that currentnames at line 3196 is now empty
table, not nil anymore, so that load_names function has not
been executed.

What version is the database (meta.version)?

Best,
Philipp

phi-gamma added a commit to phi-gamma/luaotfload that referenced this pull request Jun 15, 2016
Reported by @dohyunkim: lualatex#364 (comment)

Under certain circumstances, update_names() was invoked with an empty
table instead of a correctly initialized one, breaking the assumptions
of the db populating code.

This commit also guards more strongly against this kind of oversight and
tidies up the db constructor.
@phi-gamma
Copy link
Member Author

···<date: 2016-06-15, Wednesday>···<from: phg>···

Hi,

thanks for the report.

···<date: 2016-06-14, Tuesday>···<from: Dohyun Kim>···

After the update, an error occurs when I issue luaotfload-tool -u.

.../luaotfload-database.lua:3199: attempt to index field 'meta' (a nil value)

It seems to be that currentnames at line 3196 is now empty
table, not nil anymore, so that load_names function has not
been executed.

What version is the database (meta.version)?

Scratch that; please check the latest PR.

@dohyunkim
Copy link

2016-06-15 14:53 GMT+09:00 Philipp Gesang [email protected]:

···<date: 2016-06-15, Wednesday>···<from: phg>···

Hi,

thanks for the report.

···<date: 2016-06-14, Tuesday>···<from: Dohyun Kim>···

After the update, an error occurs when I issue luaotfload-tool -u.

.../luaotfload-database.lua:3199: attempt to index field 'meta' (a nil
value)

It seems to be that currentnames at line 3196 is now empty
table, not nil anymore, so that load_names function has not
been executed.

What version is the database (meta.version)?

Scratch that; please check the latest PR.

Works ok now. Thanks for the quick fix.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants