Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge fea-rs repo #505

Merged
merged 528 commits into from
Oct 25, 2023
Merged

Merge fea-rs repo #505

merged 528 commits into from
Oct 25, 2023

Conversation

cmyr
Copy link
Member

@cmyr cmyr commented Oct 25, 2023

This merges the history of the fea-rs repo, which will be subsequently archived.

After this is merged I will:

  • make sure that fea-rs is setting up its venv during testing correctly
  • make fea-rs use the workspace deps where appropriate
  • make crates here depend on the local version of fea-rs
  • update the metadata & links in the fea-rs cargo.toml and readme
  • fix anything else that's broken?

cmyr added 30 commits November 29, 2022 11:13
This simplifies our imports, and prevents any possible future version
conflicts.
This is about updating the API for applying a compilation result to an
input font to fit the read/write-fonts division.
 This no longer makes sense, as we can just use the write-fonts type and
 save ourselves some complication.
This moves us off of specifying write-fonts as a local dependency, which
means other people can check out this commit and actually build the
project, which seems like a reasonable desire.

This also cleans up a bunch of dead code etc.
This renames the compile::consts module to compile::common, and moves
these things in there. These functions will be shared between
validation (which doesn't seem to be happening yet?) and compilation.
This simplifies the logic around generating the name table, where
entries come from various sources.
This is a refactor/cleanup, no functional change.
This is a shim that lets us easily build a font with only FEA and a
glyph map.
As a consequence we can no longer compile when we are passed a font,
instead of a glyph order. Is this better? Is this worse? It is a curious
question.
This doesn't currently pass the tests because fontations can't handle
mac-japanese encoding, but I'll get around to that later.
- bump version
- update deps (and adjust to new API, in the case of xflags)
- pin to crates.io version of fontations
- no need to pass glyph map
- return builder, so more work can be done afterwards
- passing in a font is optional
This further ensures that our output matches the output of fonttools.
This updates our logic to better match how the behaviour of feaLib,
which I think is valuable for the time being while we use the feaLib
test suite as our benchmark.
e.g. they're all suffixed with 'Builder', and I'm also cleaning up some
of the old non-rustic names and removing associated `#[allow]`
annotations.
This was blocked on upstream support.
cmyr and others added 22 commits August 23, 2023 10:37
We didn't support named value records for a while, and so this had been
omitted, but support was added a few months ago.
This will hopefully reduce the chance that we run into differences when
reading/writing string values.
This was cluttering up logs when I was debugging pairpos2 splitting.
I'm not sure if this was triggerable during real use, but I was hitting
it in some test code where we don't have a real variation model, and so
were passing empty deltas.
This matches the behaviour of fontmake, although it deviates from
makeotf.
This deletes the var_store module, which has moved to write-fonts.
Not directly needed by fea-rs but fontc (user of fea-rs) needs it and can't update otherwise
bump minor because write-fonts was bumped minor
[clippy] Push the rock back up the hill
This will make it easier for us to debug and profile fontc, by letting
us run feature compilation in isolation, on our real inputs.

axis info can be specified in a file, where each (non blank, non
commented) line contains a tag and three numbers.
Copy link
Contributor

@rsheeter rsheeter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I think you can delete gitmodules?

Also ignoring _experiments is extremely Colin-specific; I suggest we dont' keep that change.

@cmyr cmyr added this pull request to the merge queue Oct 25, 2023
Merged via the queue into main with commit cb9722c Oct 25, 2023
@cmyr cmyr deleted the merge-fea-rs branch October 25, 2023 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants