summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [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.
* [fontloader] sync with Context as of 2016-04-25Philipp Gesang2016-04-255-23/+53
|
* [loaders,resolvers] tone down default log noisePhilipp Gesang2016-04-252-10/+8
|
* [db] fix version fieldPhilipp Gesang2016-04-241-1/+1
| | | | | | | Fix #337 This amends the apparent failure of luaotfload-tool as reported by @eg9 and others.
* [db,loaders] clarify support for PFBPhilipp Gesang2016-04-242-4/+13
| | | | | | | | | | The current PFB loader, although it is indeed completely independent of the FF libraries, is not yet feature complete. Only the loading of vectors is supported which suffices for font rendering given the AFM information. According to Hans, we have decent chance of it growing into a full-fledged reader for 1.0.
* [fontloader] sync with Context as of 2016-04-24Philipp Gesang2016-04-244-34/+138
|
* [aux] make name_of_slot API more robustPhilipp Gesang2016-04-241-2/+14
|
* [aux] make slot_of_name API more robustPhilipp Gesang2016-04-241-15/+22
|
* [aux] fix features table access (issue #338)Philipp Gesang2016-04-241-17/+59
| | | | | | | | | | | Fix #338 Due to the new loader, certain tables were relocated inside the fontdata structure. This would cause a crash with certain kinds of fonts, most notably those for which TeX metrics exist. Many thanks to @aminophen and @u-fischer for their help in tracking this down.