summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [features] fix missing localPhilipp Gesang2016-06-111-2/+3
| | | | | | | The new addfeature() as of 499160de78a1 accesses utf8.len() which wasn’t imported at this point. Another import, utf8.char(), became irrelevant. Spotted by @doyunkim
* [init] adapt Context base path for file loaderPhilipp Gesang2016-06-101-10/+31
| | | | | | | | | Fix issue #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.
* [fontloader] sync with Context as of 2016-05-31Philipp Gesang2016-06-105-78/+128
| | | | | | 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.
* [db] resolve symlinks when traversing the file systemPhilipp Gesang2016-06-081-31/+41
| | | | | | | | | Addresses #359 and #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.
* [db] include values of missing fields in diagnosticPhilipp Gesang2016-06-071-2/+3
|
* [conf] fix malformed filePhilipp Gesang2016-06-071-1/+0
| | | | | | | | This was introduced with commit 67ad1263d032 during a code removal frenzy. Many thanks to @grizzilus for pointing that one out: https://github.com/phi-gamma/luaotfload/commit/67ad1263d0328fc74928a9a1d06ea9aa0ee9a116#commitcomment-17726875
* [aux] remove double scaling of capheight from typoascenderPhilipp Gesang2016-06-031-3/+7
| | | | | | | | | Fix #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.
* [db] fix name assignmentPhilipp Gesang2016-05-311-11/+34
| | | | | | | | | Address issue #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”.
* [db] ditch fontforge compatibility codePhilipp Gesang2016-05-262-188/+117
| | | | | | | | 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.
* [fontloader] import fix by Hans for crashes with ancient Linotype Palatino filesPhilipp Gesang2016-05-251-26/+39
| | | | | | | | | | | | | 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.
* [fontloader] sync with Context as of 2016-05-22Philipp Gesang2016-05-2416-101/+93
|
* [fontloader] include font-one.luaPhilipp Gesang2016-05-204-3/+413
|
* [featurs,loaders] adjust loader specifications to Context conventionsPhilipp Gesang2016-05-182-9/+7
|
* [fontloader] sync with Context as of 2016-05-18Philipp Gesang2016-05-184-569/+230
|
* [loaders] implement readable load failure messagePhilipp Gesang2016-05-131-4/+19
| | | | | | | | 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.
* [loaders] make AFM wrappers more consistentPhilipp Gesang2016-05-131-9/+11
|
* [features] update addfeature()Philipp Gesang2016-05-121-146/+379
|
* [features,loaders] tidy up loading of afmPhilipp Gesang2016-05-122-8/+26
|
* [fontloader] import new AFM loader directly from HansPhilipp Gesang2016-05-121-166/+216
|
* [fontloader] sync with Context as of 2016-05-11Philipp Gesang2016-05-115-543/+457
|
* [tool] fix invocation of names.update()Philipp Gesang2016-05-091-1/+1
|
* [db] fix inclusion of AFM fontsPhilipp Gesang2016-05-091-14/+19
| | | | | 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.
* [import,fontloader] pull new AFM/Type1 codePhilipp Gesang2016-05-093-167/+181
|
* [fontloader] sync with Context as of 2016-05-09Philipp Gesang2016-05-097-1184/+1226
| | | | | | Fixes #349 and #357. Also the new AFM code is due, let’s see what else we need to use it.
* [tool] include release tag in --versionv2.7-fix-2Philipp Gesang2016-05-041-0/+3
| | | | | This info is indeed valuable on top of the commit hash, thanks to @jfbu who complained about its absence.
* [letterspace] fix crash in kerning by keeping the default on failed lookupPhilipp Gesang2016-05-041-2/+2
| | | | | | | With commit 8c0dd0ebbedd kern accesses were fixed but the results never tested for the lookup, which caused the default which is set up before to be nil’ed. Fix this by reusing the value we initialized the kern factor to.
* [aux] fix units lookup prevent crash with AFM fontsPhilipp Gesang2016-05-041-10/+16
| | | | | | | | | | | With the new loader, the ``units_per_em`` field resides under the toplevel TFM structure with the key ``units``. For AFM fonts, it is not fount under the metadata table too, which we are currently querying. Thus we prefer the main value, falling back on metadata only in case it is missing. At this occasion, tidy up our unit lookup helper and use that wherever we need access to the values ourselves.
* [features] prevent database reload upon referencing a combinationPhilipp Gesang2016-05-041-0/+1
| | | | | | | Defining a combination did not override the default file: lookup so every font defined that way will at font embedding time trigger a reload of the index on account of a missing file. Setting the ``combo:`` lookup will prevent the issue.
* [features] straighten out logspamPhilipp Gesang2016-05-041-19/+18
| | | | | | | Due to the origin in other parts of Luatex, some messages in this file were logged under the “load” facility; corrected. Also, the combo mechanism still spits debug levels of noise at log level zero; raised to two.
* [letterspace] fix double free with disc componentsPhilipp Gesang2016-05-031-4/+1
| | | | | | | | Adress issue #350 For some reason our stack copy of the current node gets double-freed. Since the “components” field will probably vanish soon, we can get by for now by skipping the explicit free.
* [tool] check for version info in stats tablePhilipp Gesang2016-05-031-15/+28
| | | | This could become the common check eventually.
* [main,tool] reintroduce lost version checkPhilipp Gesang2016-05-032-19/+34
| | | | | | | | | | The version check was removed by accident in commit 5ce60cc98a30. This isn’t normally a problem except when people start to run the Pretest version on ancient Luatex binaries … In any case, the check must be present. While we’re at it, make the error messages consistent between the tool and a live TeX run. This can’t cover the fact that there is no (direct) means of determining the Luatex version when not running in TeX mode, so the checks still aren’t equivalent.
* [letterspace] remove useless state variablePhilipp Gesang2016-05-021-8/+3
|
* [letterspace] fix crash with fonts with missing glyphsPhilipp Gesang2016-05-021-7/+25
| | | | | | | | | | | Fix issue #351 The letterspace node handler dereferences kern values of non-existant character information under some circumstances, causing Luatex to crash. To avoid this crash, check more thoroughly for the presence of the fields accessed. Discovered by @schlcht
* [fontloader] sync with Context as of 2016-05-02Philipp Gesang2016-05-027-23/+41
|
* [resolvers,conf] allow “my:” lookups in anon sequencesPhilipp Gesang2016-04-282-11/+10
| | | | | | | | | | | | | | | | | | | | | | This allows to domesticate packages that quite disrespectfully only use “anon:” lookups. Example from the test repo: \documentclass{scrartcl} \usepackage{fontspec} \directlua{ config.luaotfload = config.actions.apply (config.luaotfload, { run = { anon_sequence = { "my" } } }) } \directlua{ luatexbase.add_to_callback( "luaotfload.resolve_font", function (spec) spec.name = "comic.ttf" end, "user.openbsd_style") } \setmainfont{Adobe Premier Deluxe Overpriced} \begin{document} There is no escape. \end{document}
* [tool,resolvers,conf] switch --find lookups to the actual resolversPhilipp Gesang2016-04-283-17/+30
| | | | | | | | The arguments to “--find” on the command line avoided calling the real index API functions and used crude approximations instead. In order to make “--find” obey the new “anon-sequence” configuration item, it needs to access the normal resolvers instead. This requires certain adaptations to allow for a fallback on the “file:” lookup.
* [conf] handle corner cases when assigning the lookup sequencePhilipp Gesang2016-04-281-4/+29
|
* [conf,resolvers] add config option to tweak anon lookup sequencePhilipp Gesang2016-04-282-1/+40
| | | | | | | | | Implements #263 The resolvers have already been decoupled a while ago but the goal of allowing the sequence to be reordered at will was still outstanding. Add a config option “anon-sequence” that is parsed as a comma-delimited list of sequence components.
* [parsers] fix rhs parsing in configurationv2.7-fix-1Philipp Gesang2016-04-271-2/+2
| | | | | | | | Fix issue #344 An incomplete matching rule for determining configuration values caused return bytes (0x0d) to leak into the configuration if Windows style newlines are used. Fixed by adapting the pattern.
* [db] restrict bold style fallback heuristicPhilipp Gesang2016-04-271-7/+15
| | | | | | @dohyunkim pointed out that due to the too broad criteria, secondary style variants like “heavy”, “black” ended up getting picked over the actual “bold”.
* [fontloader] sync with Context as of 2016-04-27Philipp Gesang2016-04-273-22/+36
|
* [db] disarm fallback assignmentPhilipp Gesang2016-04-271-6/+6
| | | | | | | When adapting to the new loader we repeated the mistake of classifying “bold” faces by too broad criteria, thereby sabotaging the recognition of large families from Adobe. Restore the old behavior by only treating those faces as bold fallback that advertise and exact weight of 700.
* [db] adapt call to getinfo() for revised interfacePhilipp Gesang2016-04-271-3/+10
|
* [db] fix family / style matchingPhilipp Gesang2016-04-271-65/+24
| | | | | | | | | | Fix #342 Due to the reassigned fontname fields, certain values designating styles ended up being interpreted wrongly and members of the font families ended up in the wrong table. Thanks to @dohyunkim for spotting the issue.
* [main] handle module load failurePhilipp Gesang2016-04-261-1/+25
| | | | | Forward the errors received from require() in a readable manner and exit on the spot.
* [aux] fix \fontdimen{10,114}Philipp Gesang2016-04-261-12/+11
| | | | | | | | Fix #341 Hironori Kitagawa pointed out that the patch for the other math parameters doesn’t work. Turns out Hans relocated the “mathconstants” table …
* [aux] actually pull capheight and ascender values from the correct tablePhilipp Gesang2016-04-261-7/+12
|
* [aux] probe multiple characters when guessing the capital heightPhilipp Gesang2016-04-261-4/+22
| | | | | Provide fallbacks in case no ‘X’ character is available for capheight measurement.
* [aux] fix \fontdimen8 hackPhilipp Gesang2016-04-261-31/+63
| | | | | | | | Addresses #341 This cleans up the font patching code we inherited from Fontspec. In addition to treating the bitrot with an extra dose of fungicide, we also make the process in which the final values are chosen more transparent.