Behdad Esfahbod
a08acf41f8
[varLib/avar2] Omit identity VarIdx map
2023-05-30 13:22:12 -06:00
Behdad Esfahbod
d915f08e76
[varLib/avar2] Don't require base master to be specified explicitly
...
We can deduce it as empty mapping.
2023-05-30 13:13:49 -06:00
Behdad Esfahbod
ff7f49a94c
[varLib/avar2] Add compile test
2023-05-30 13:13:49 -06:00
Behdad Esfahbod
246d539e29
[designspaceLib/avar2] Warn if input location missing for an output axis
...
https://github.com/fonttools/fonttools/pull/3123#issuecomment-1568852694
2023-05-30 12:10:15 -06:00
Behdad Esfahbod
588cbc982d
[designspaceLib/avar2] Rename variables
2023-05-30 11:55:48 -06:00
Khaled Hosny
a43f824af9
[feaLib] Support variable ligature caret position
...
Allow variable scaler in ligature caret position and build
CaretValueFormat3 with DeviceTable. Does not support non-variable device
table, but can be added if someone really really wants it.
2023-05-30 20:21:21 +03:00
Cosimo Lupo
0bf84f9c7b
Merge pull request #3129 from fonttools/privData_bytes
...
privData needs to padded with bytes not str
2023-05-30 12:10:30 +01:00
Behdad Esfahbod
3ba7e6d706
[instancer-solver] Fix a bug
...
Fixes https://github.com/fonttools/fonttools/issues/3139
2023-05-29 17:39:02 -06:00
Behdad Esfahbod
90e8595ef0
[designspaceLib/avar2] Document
2023-05-28 16:58:30 -06:00
Behdad Esfahbod
ae2305196a
[designspaceLib/avar2] Store axis name, not tag, in <dimension>
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
3a809dbbf3
[designspaceLib/avar2] Write out <mappings> element
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
50b1fb3f01
[designspaceLib/avar2] Rename elements to <mappings><mapping>
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
f27e843276
[designspaceLib/avar2] Flesh out AxisMapping API
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
0b57567c14
[designspaceLib/avar2] Add AxisMappingDescriptor
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
be9dacad74
[designspaceLib/avar2] Rename mapping to axisMappings
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
5785fdeec3
[avar2] Emit the difference of input vs output
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
b9e03b165b
[avar2] Rewrite loop
2023-05-28 15:14:25 -06:00
Behdad Esfahbod
50fc8218b3
[designspace/varLib] Hack to read avar2 mapping and build avar2 table
...
This just uses list of list of dictionaries. Should use proper objects.
https://github.com/fonttools/fonttools/issues/3049
https://github.com/harfbuzz/boring-expansion-spec/blob/main/avar2-in-designspace.md
2023-05-28 15:14:25 -06:00
David Corbett
b8dcb85161
[otlLib] Fix error message in MarkBasePosBuilder
2023-05-28 20:29:49 +02:00
Khaled Hosny
fd854d70d8
[feaLib] Simplify variable scalars that don’t vary
...
If a variable scalar does not vary (i.e. all values are the same), we
can simplify it and use a simple value instead. Arguably users shouldn’t
be using variable scalar in this case, but it helps when the feature
code is auto generated so each feaLib users doesn’t have to do the
check done here themselves.
2023-05-27 02:56:11 +03:00
Khaled Hosny
f8abda4570
[feaLib] Refactor-out builder code handling variable scalars
...
Refactor-out this piece of code to simplify the next commit.
2023-05-27 02:55:07 +03:00
Behdad Esfahbod
59058bb54f
[varStore.optimize] Address review comment
...
Harmless thinko.
2023-05-25 12:24:46 -06:00
Behdad Esfahbod
4e7cdeb8b1
[varStore.optimize] More idiomatic
2023-05-25 11:35:50 -06:00
Behdad Esfahbod
0a239f15d8
[varStore.optimize] Comment
2023-05-25 11:33:08 -06:00
Behdad Esfahbod
f5e62a1375
[varLib.optimize] Minor more idiomatic
2023-05-25 10:54:13 -06:00
Ben Kiel
d11a67010f
privData needs to pad with bytes not str
2023-05-25 10:30:28 -05:00
Behdad Esfahbod
dbc91b1b5b
[varStore.optimize] Remove unused variable
2023-05-25 08:52:13 -06:00
Behdad Esfahbod
12aba9070f
[varStore.optimize] Combine a couple of loops
2023-05-25 08:50:01 -06:00
Behdad Esfahbod
b0a0f74492
[varStore.optimize] Speed up some more
2023-05-25 08:47:47 -06:00
Behdad Esfahbod
b6ebb4c411
[varStore.optimize] Further speedup
2023-05-25 08:45:53 -06:00
Behdad Esfahbod
d8fabfa362
[varStore.optimize] Remove unused method
2023-05-25 08:28:12 -06:00
Behdad Esfahbod
832f2f766f
[varStore.optimize] Use faster intTools.bit_count as popcount
2023-05-25 08:19:15 -06:00
Behdad Esfahbod
9cbde09cdc
[varStore.optimize] Speed up
2023-05-25 08:09:27 -06:00
Behdad Esfahbod
f12f3d863c
[varStore.optimize] Remove unused best_new_encoding
2023-05-25 07:56:33 -06:00
Behdad Esfahbod
da305615d0
[varStore.optimize] Simplify algorithm
...
Produces better results even.
2023-05-25 07:49:13 -06:00
Behdad Esfahbod
47ec18f788
[varStore] Better optimize() algorithm
...
See comments.
Produces better results.
2023-05-25 07:39:41 -06:00
Behdad Esfahbod
93d87df315
[varStore] Refactor code into a method
2023-05-25 07:12:27 -06:00
Behdad Esfahbod
035529883c
[varStore] Minor rename a method
2023-05-25 07:06:48 -06:00
Behdad Esfahbod
c1ab8995f2
[varStore] Minor adjustment to the optimize() algorithm
...
It's very unlikely that this path is needed, but it's correct
to have it.
2023-05-25 07:00:28 -06:00
Behdad Esfahbod
5255c01bcc
Merge pull request #3126 from fonttools/varStore-quantize
...
Var store quantize
2023-05-25 14:26:47 +02:00
Behdad Esfahbod
a08f5ebbc9
[varStore] Update comment
2023-05-25 06:24:00 -06:00
Cosimo Lupo
98779958d0
Merge pull request #3100 from fonttools/explicit-closing-line-pen
...
add filter pen that explicitly emits closing line when lastPt != movePt
2023-05-25 12:56:48 +01:00
Behdad Esfahbod
ae7394e68a
[varLib.main] Accept --quantization
2023-05-24 18:10:08 -06:00
Behdad Esfahbod
d9649a7835
[varStore] Add test for quantization
2023-05-24 18:10:08 -06:00
Behdad Esfahbod
311bda2021
[varStore] Add optional quantization to optimize()
2023-05-24 18:10:08 -06:00
Behdad Esfahbod
47813b217c
[varStore] Make optimize() stable
...
Before, calling optimize() on its own output could generate different
result. I think it's stable now.
2023-05-24 18:09:58 -06:00
Behdad Esfahbod
6b20edf1fb
[varStore] Fix algorithm comment to match code
2023-05-24 17:08:20 -06:00
Behdad Esfahbod
1aa088e150
[varStore.main] Speed up if output is not requested
2023-05-24 17:05:00 -06:00
Behdad Esfahbod
2f78605c27
[varStore] Change a sort key in optimize()
...
Produces more optimized results in empirical testing.
2023-05-24 16:55:16 -06:00
Behdad Esfahbod
aeaf98a438
[varStore] Another fix and test
2023-05-24 16:34:15 -06:00