summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [doc] describe “use-fontforge” option in man pagePhilipp Gesang2016-04-171-18/+24
|
* [features] account for subfont indexing changesPhilipp Gesang2016-04-171-0/+4
| | | | | | The new Lua based loader consistently numbers subfonts from one, not zero like the Fontforge one. We correct the value immediately before passing a handled font request on to the loader.
* [features] adjust feature processor to new data structuresPhilipp Gesang2016-04-171-4/+10
|
* [db] undo commented out texmf tree processingPhilipp Gesang2016-04-171-1/+1
| | | | D’oh! Too much debugging =)
* [fontloader] quick fix by Hans for issue #326Philipp Gesang2016-04-171-2/+8
| | | | | | | Addresses #326 This is a hot-fix with non-official code. The actual fix will come downstream later from Context as usual.
* [features] fix buggy state checkPhilipp Gesang2016-04-171-2/+1
|
* [fontloader] sync with Context as of 2016-04-17Philipp Gesang2016-04-175-164/+207
|
* [tool] adapt fullinfo to new loaderPhilipp Gesang2016-04-161-4/+13
| | | | | Note that this will explode on the current loader code due to a typo in font-otr.lua. Patch submitted upstream, please be patient.
* [fontloader] sync with Context as of 2016-04-16Philipp Gesang2016-04-167-10/+184
|
* [features] rely on config to detect runtime modePhilipp Gesang2016-04-161-6/+7
|
* [tool] annihilate references to FFPhilipp Gesang2016-04-161-101/+36
| | | | | | | The tables emitted by the new font reader functions do not correspond to their Fontforge counterparts. Thus, some of the display routines had to be rewritten, in some cases like the names table this resulted in the removal of a good deal of obsolete code.
* [fontloader] sync with Context as of 2016-04-15Philipp Gesang2016-04-153-28/+46
|
* [db] fix extraction of name info important for family clusteringPhilipp Gesang2016-04-151-76/+98
| | | | | | | … or perhaps more accurately, “megafamily”. For the time being we prefer the “windows” versions of the fonts due to the higher quality of the “typographic family” and “subfamily” fields. Another advantage of the new loader over FF is that we’re even given that choice.
* [db] pull raw name information with getinfo()Philipp Gesang2016-04-131-3/+9
| | | | | | This facility was added by Hans to accomodate our peculiar requirements: There should be no fallback from prefmodifiers to familyname since that removes valuable information about larger font sets like the Adobe ones.
* [init] avoid infinite recursion in characters.__indexPhilipp Gesang2016-04-131-1/+1
| | | | Fallout of the new character table loading routine.
* [db] add some stats regarding the new loaderPhilipp Gesang2016-04-131-25/+99
|
* [db] adjust names extraction to Lua loaderPhilipp Gesang2016-04-121-59/+79
|
* [fontloader] sync with Context as of 2016-04-11Philipp Gesang2016-04-114-139/+315
| | | | | | | | | | | | | | | After some discussion, Hans came up with these extensions to the new reader. We get access to more items from the hideous “name” table. On the one hand, this means more brokenness to endure and a less sane matter to work with. But since our tracker was devoid of font-matching related bug reports for some time, it’s the right move nonetheless. In addition to the name table junk, the font loader now also includes the “version” field in the output of “getinfo()”. It’s meaningless per se, but it sure helps to distinguish historical bugs from the ones that matter. **UNTESTED**
* [db] in ff mode, collect font object after accessPhilipp Gesang2016-04-101-3/+1
|
* [conf] rework logic ff/lua fontloader choicePhilipp Gesang2016-04-101-6/+17
|
* [db] do not rely on __gc for font object lifetimesPhilipp Gesang2016-04-101-0/+5
| | | | | | | The penalty for having font object closed automatically is huge: It takes around nine seconds more to rebuild the font database: 58 s with __gc, 49 s by closing manually. Even if it’s not the default, we reintroduce the code for closing fonts manually to avoid that situation.
* [conf,db] allow switching back to fontforgePhilipp Gesang2016-04-092-4/+33
| | | | | | There are some non-negligible differences in the reader output, especially concerning font names. Until this is sorted out we need a fast way to switch back to the old code for reference.
* [tool,db] kill off fontforgePhilipp Gesang2016-04-092-41/+41
| | | | | | | | This has been coming for some time: Upstream now provides full Opentype reader capabilities. This allows Luatex to drop those horrible fontforge libraries. Since the API is pretty similar, for Luaotfload it means little change and a decent speed gain. Though we still need to investigate whether the result is equivalent or at least acceptable.
* [aux] fix crash in patching code that sets \fontdimen8Philipp Gesang2016-04-091-8/+13
| | | | | | | | | | Obviously, since Fontforge has been ditched, we need to adapt to the slightly different data structures created by the Lua reader. For the time being, we revise the code so it will not crash instantly due to the lack of a missing ``pfminfo`` table. Hans has been notified of our use of the ``capheight`` data and may add that value grudgingly again.
* [aux,init] move lazy char-def loading code into earlier stage of initializationPhilipp Gesang2016-04-092-129/+131
| | | | | | | | | | | | | | The fontloader requires parts of the ``characters`` table to be present at load time. This turns out to interfere with our custom of installing the lazy loader for the table components only after the fontloader has been injected. Since inserting the code at the appropriate place in the loading chain would be tedious and unmaintainable due to the various load options, we just preinstall the metatable onto an empty table prior to loading the loader. Some precautions had to be taken regarding the ``classifiers`` subhash of the table that needs to be relocated from the data we received via mkcharacters.
* [init] force preloading of the character tablePhilipp Gesang2016-04-082-4/+8
|
* [db] ditch our gzip wrappersPhilipp Gesang2016-04-081-41/+4
| | | | | We again depend on the full Lualibs set for some time so our wrappers are irrelevant as we can just use the similar once from there.
* [init] addremove fontloader filesPhilipp Gesang2016-04-081-22/+35
|
* [import] fix dupePhilipp Gesang2016-04-081-1/+0
|
* [*] update dates, versionPhilipp Gesang2016-04-0713-18/+18
|
* [*] update newsPhilipp Gesang2016-04-071-0/+2
|
* [status] addremove fontloader files from/to listPhilipp Gesang2016-04-071-10/+18
|
* [import] addremove oversightsPhilipp Gesang2016-04-071-3/+0
|
* [fontloader] sync Context as of 2016-04-07Philipp Gesang2016-04-0732-10644/+18745
|
* [import] adapt to grand upstream restructuringPhilipp Gesang2016-04-071-49/+89
| | | | | | | | | | | | | | | | | | | | | Two not quite unrelated changes have to be accounted for: * Finally, the source for Context MkII and MkIV are being kept in separate trees, at least as far as the format is concerned. All out scripts that pull code from upstream had to be adapted. * New fontloader. This has been cooking for half a year maybe: Some of our troubles with 2.6 were caused by separating out the revised but highly experimental code from the self-contained fontloader, despite Hans’ great efforts to make it seamless. Now that the new fontloader is deemed mature enough, we have to accomodate the switchover. The fallout exceeds the bounds of Luaotfload proper: The Lualibs package had to be extended as well, adding a rather tiny library from the ``util-*`` namespace. With the latest setup, a fontloader can indeed be assembled automatically again. No testing has taken place yet, so it might not even run.
* [characters] add code for extracting the “classifiers” tablePhilipp Gesang2016-04-071-19/+83
| | | | | | | | | The extraction code itself was taken from luatex-basics-prepare.tex. In Context, this file generates “luatex-basics-chr.lua” a stripped down version of char-def.lua. Just as our exisiting mkcharacters script. Interesting that Hans chose a similar path to what we do ;) The code, which requires some functionality from char-ini.lua, has thus been added as a function to the script.
* [fontloader] sync fontloader package with Context revision 274c32699..Philipp Gesang2016-04-062-5349/+12577
|
* [import] do not abort immediately upon encountering missing filePhilipp Gesang2016-04-061-20/+32
| | | | | | Larger changes by upstream are easier to comprehend if errors during import are counted instead. The script will exit non-zero regardless if such an error occurred, but otherwise attempt to import all the files.
* [tool] status library API falloutPhilipp Gesang2016-04-051-3/+4
| | | | | With revision 5624, the status library was overhauled. Among others we lose the ``luatex_svn`` field which was rather useful for debugging :/
* *: bump version and datePhilipp Gesang2016-02-193-5/+9
| | | | Now that we’re heading towards TL 2016, this seems necessary.
* [features,parsers] implement font fallbacksPhilipp Gesang2016-02-193-25/+41
| | | | | | | | | | | | | | | | | | | | | Building on the combination mechanism, this allows defining fallback fonts of which all glyphs are pulled that aren’t currently part of the base font. Example: \input luaotfload.sty \font \lm = file:lmroman10-regular.otf:mode=base \font \cmu = file:cmunrm.otf:mode=base \font \lmu = "combo: 1->\fontid\lm; 2->\fontid\cmu,fallback" \lmu Eh bien, mon prince. Gênes et Lueques ne sont plus que des apanages, des поместья, de la famille Buonaparte. \bye This allows setting Latin Modern text that contains Cyrillic letters. Note that -- as with the other combinations -- only glyphs are considered, no other properties of the fallback font. So besides the occasional letter in a different script this functionality is probably useless.
* [parsers] rework combo syntaxPhilipp Gesang2016-02-191-17/+27
| | | | | | | | | | | Use arrows to emphasise what’s mapped. Allow whitespace to visually separate items. Also allow optional grouping with parentheses. Now it’s possible to define a combination as follows: \font \f = "combo: 1 -> 42; 2 -> 1337, U+0042-U+0084; 3 -> (55, 0x54 * 0x45 * 0x58)"
* [parsers] allow whitespace around combo elementsPhilipp Gesang2016-02-191-7/+10
| | | | | | | | | | This gives more leeway to the notation, allowing font definitions to become more readable: \font \f = "combo: 1 / \fontid\one, 2 / \fontid\two / 0x41-0x5a, 3 / \fontid\three / 0x42, 4 / \fontid\three / 0x54 * 69 * U+58"
* [features,loaders] fix lookup conflicts via introduction of “evl” lookupPhilipp Gesang2016-02-193-21/+26
| | | | | | | | This introduces a forced lookup type “evl” that bypasses the other methods. The specification is extended with the correct values including a more meaningful hash string. As a result, the loader no longer attempts to interpret the specification as a “file:” request but the backend can still resolve the necessary files.
* [features,loaders] allow for direct injection of tfmdata when defining fontsPhilipp Gesang2016-02-182-7/+56
|
* [features] handle combination definitionsPhilipp Gesang2016-02-161-7/+106
|
* [parsers,features] parse combo requestsPhilipp Gesang2016-02-152-2/+42
| | | | | | | Highly experimental at this point. The font request parser has been extended to handle combinations of already defined fonts. Nothing else has been implemented yet, so the request handler will simply error out with a message.
* [fontloader] patch font-otn.lua to skip unusable contextpos featuresPhilipp Gesang2016-02-122-3/+3
| | | | | | | Address issue #322 The annotation says it all; reportedly this is fine with TL 2016, though.
* [doc] fix typo and formatting in man pagePhilipp Gesang2016-02-041-4/+4
| | | | Spacing is off in the ``.5``, we didn’t account for markup.
* [resolvers] allow arbitrary sequence lookupsPhilipp Gesang2016-01-271-42/+84
| | | | | | | | This primarily affects the “anon” lookup. However, since we cannot any longer determine the lookup success by crude means, the resolver signature had to be modified to indicate success or failure via the return value. This does no longer match the resolver implementation of Context but the interface has become much cleaner.