summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [aux] make fontname substitution more robustPhilipp Gesang2016-04-191-2/+7
| | | | | | | | | Another take on https://github.com/lualatex/luaotfload/issues/334 The parsing issues we aim to prevent occur with spaces because Luatex treats them as argument separators. Hence apply quoting only if necessary. Also use the appropriate format string as a defense against garbage inputs.
* [main] fix oversight in comment (thanks, Èlie)Philipp Gesang2016-04-191-1/+1
|
* [aux] fix crash with tfm fontsPhilipp Gesang2016-04-191-1/+4
| | | | | | | Fixes https://github.com/lualatex/luaotfload/issues/334 Old-style font definitions only need a font name, so the extra quotes aren’t necessary to feed the \fontname string back into \font.
* [features] cull legacy feature handlerPhilipp Gesang2016-04-191-145/+1
|
* [features] do not attempt to add features on incomplete fontsPhilipp Gesang2016-04-191-8/+18
|
* [*] shred 2014 fontloaderPhilipp Gesang2016-04-196-13967/+3
| | | | | | This one hasn’t been touched for ages. The will be no compatibility loader this year. For testing, creating a loader on the fly from the Git repos is sufficient.
* [fontloader] sync with Context as of 2016-04-19Philipp Gesang2016-04-192-4/+4
|
* [db,fontloader] fix subfont table handling (by Dohyun Kim)Philipp Gesang2016-04-182-2/+2
| | | | | | TTC subfonts must be considered if there is at least one subfont. Discovered and fixed by @dohyunkim; the fix for ``font-otr.lua`` goes upstream.
* [tool,doc] inter fontloader warnings optionPhilipp Gesang2016-04-181-42/+7
| | | | | The option has become redundant with the new loader so we might as well get rid of it.
* [passim] update maintainer contactPhilipp Gesang2016-04-181-1/+1
|
* [fontloader] sync with Context as of 2016-04-18Philipp Gesang2016-04-184-33/+145
|
* [db] fix misleading error messagePhilipp Gesang2016-04-181-4/+2
| | | | | | | No such warnings with the new loader. Instead we need to test for the ``fontname`` / ``fullname`` fields. Thanks to @dohyunkim for reporting.
* [conf] move “use-fontforge” option into section “[db]”Philipp Gesang2016-04-171-18/+18
| | | | | Only font indexing is affected by “use-fontforge”. The fontloader itself will always use the new code.
* [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
|
* [*] update dates, versionPhilipp Gesang2016-04-0710-12/+12
|
* [fontloader] sync Context as of 2016-04-07Philipp Gesang2016-04-0732-10644/+18745
|
* [fontloader] sync fontloader package with Context revision 274c32699..Philipp Gesang2016-04-062-5349/+12577
|
* [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-192-5/+5
| | | | 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
|