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

Support new AFDKO variable layout syntax #2228

Closed
wants to merge 293 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 22, 2021

  1. Shorten exception names

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    da39a79 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6227a73 View commit details
    Browse the repository at this point in the history
  3. Improve error message

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    207083a View commit details
    Browse the repository at this point in the history
  4. More tests

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b3266ca View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8ba64df View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1ca6ee8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    914b664 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9e0cf4c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    97fb234 View commit details
    Browse the repository at this point in the history
  10. [otlLib] Generate Value1 / Value2 if respective formats are non-zero

    Previously otlLib was generating None if the values themselves were
    empty even if the value format was non-empty.  This happened to work
    for compiling to binary since the compiler handles Value=None.
    
    But this was confusing varLib.merger module (as in when building
    variable fonts from such otlLib-built master GSUB/GPOS tables, without
    roundtripping to OTF/TTF binary first), because in varLib.merger,
    a None means "this master doesn't provide that info; skip it"; whereas
    in a PairPos table a None as generated by otlLib simply meant "all
    values are zero", which is different from "this master doesn't
    provide this value".
    
    This fixes that, such that ufo2ft can build variable-font without
    saving masters to binary.
    
    Part of googlefonts/ufo2ft#486
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    40937b0 View commit details
    Browse the repository at this point in the history
  11. Update test data

    madig authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    f348db3 View commit details
    Browse the repository at this point in the history
  12. Don't write Format for Coverage, ClassDef, Single/Alternate/LigatureS…

    …ubst
    
    The format values for those are automatically handled in
    postRead/preWrite to choose optimal format.  As such, don't write them
    in XML.  Reduces noise.
    
    fonttools#2236 (comment)
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    edc4bba View commit details
    Browse the repository at this point in the history
  13. Revert "[varLib.merge] Fix tests"

    This reverts commit fb0c60c.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    c825def View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    cd4dc79 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    af81665 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    f8fdfca View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f1f7816 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    63e8dd4 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    6ebbdf7 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    b91b382 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    51dcd98 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    c7b460f View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    1279ba2 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    55f963f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    1e1d17a View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    260b4f1 View commit details
    Browse the repository at this point in the history
  27. [feaLib] Set RangeStart/RangeEnd as float

    Fixes the one failing test after previous commit.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    62fd70e View commit details
    Browse the repository at this point in the history
  28. Remove run-tests.sh

    I'm the only one who was using it. Remove now that pytest is what we
    call.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    06270d5 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    281da3c View commit details
    Browse the repository at this point in the history
  30. [otlLib] Ensure built PairPos2 ValueRecords are padded with 0s

    Like when they are decompiled.
    
    Part of fonttools#2237
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    0cda858 View commit details
    Browse the repository at this point in the history
  31. [otlLib] Ensure built SinglePos ValueRecords are padded with 0s

    Like when they are decompiled.
    
    Part of fonttools#2237
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b310185 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    d4ad757 View commit details
    Browse the repository at this point in the history
  33. Misc py23 cleanups (fonttools#2243)

    * Replaced all from ...py23 import * with explicit name imports, or removed completely when possible.
    * Replaced tounicode() with tostr()
    * Changed all BytesIO ans StringIO imports to from io import ..., replaced all UnicodeIO with StringIO.
    * Replaced all unichr() with chr()
    * Misc minor tweaks and fixes
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b031462 View commit details
    Browse the repository at this point in the history
  34. [subset] Improve PairPosFormat2 subsetting

    This does two things:
    
    1. Intersect subsetter glyphset with the table's Coverage before
       passing to ClassDef1 for subsetting.  Anything that doesn't
       get past Coverage wouldn't ever get to ClassDef1,
    
    2. Never reuse class0 of ClassDef2.  There's unspoken assumption
       that ClassDef2's class0 is never used for actual kerning, since
       that's the unbounded "every other glyph" class.  Previously our
       ClassDef subsetter was reusing class0 if "every other glyph"
       happened to become empty because of the subset glyphset.  Don't
       do that for PairPos's ClassDef2.  As a result of this assumption,
       don't keep a PairPosClass2 subtable if only ClassDef2's class0
       survived subsetting.
    
    Would be good to add tests for both.
    
    Related to harfbuzz/harfbuzz#2703
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1444558 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    dcd73a8 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    8f0749c View commit details
    Browse the repository at this point in the history
  37. refactored TTFont.__getitem__ somewhat: don't do major work in an exc…

    …eption handler; factor reading table from file into separate function
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1ecd20a View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    f736d6a View commit details
    Browse the repository at this point in the history
  39. Update NEWS.rst

    madig authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    45988eb View commit details
    Browse the repository at this point in the history
  40. Release 4.22.0

    madig authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5a01270 View commit details
    Browse the repository at this point in the history
  41. Bump version: 4.22.0 → 4.22.1.dev0

    madig authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    c112fc3 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    db074e0 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    2a8c85d View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    543953b View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    af3d954 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    5ef70c6 View commit details
    Browse the repository at this point in the history
  47. [GlyphCoordinates] Speed up __imul__()

    Like the recent change to __isub__/__iadd__().
    
    This, as well as the other, change do not handle overflows.
    Going to fix that now.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    0bc9f1b View commit details
    Browse the repository at this point in the history
  48. [GlyphCoordinates] Store int data as 4byte, not 2byte

    The memory increase is negligible, but means that we don't have to
    worry about integer overflows anymore.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    621b663 View commit details
    Browse the repository at this point in the history
  49. [GlyphCoordinates] Revert back from double to float

    We do proper rounding these days, so revert this back.
    
    fonttools#964 (comment)
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    e06a884 View commit details
    Browse the repository at this point in the history
  50. [GlyphCoordinates] Speed up .zeros()

    Such a pain that this is a speedup...
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    bb8c667 View commit details
    Browse the repository at this point in the history
  51. [GlyphCoordinates] Faster .zeros()

    Using .frombytes() since bytes() constructor can make zeros fast.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    11a9531 View commit details
    Browse the repository at this point in the history
  52. [GlyphCoordinates] Remove internal dual representation

    Always store coordinates as float. Convert to int in __getitem__() if is whole.
    
    This changes observed values. But we never made any guarantees so that's fine.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b47406a View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    de1a2bc View commit details
    Browse the repository at this point in the history
  54. [glyf] Use bytearray() when compiling

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    d8ba7c4 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    b6a245d View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    ce64a78 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    222f8fd View commit details
    Browse the repository at this point in the history
  58. [glyf] Remove reprflag()

    If compatibility is an issue, we should rewrite it in terms of "bin(flag)".
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5b1d9d2 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    f5518c2 View commit details
    Browse the repository at this point in the history
  60. [glyf] Minor

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    197f23d View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    b34da83 View commit details
    Browse the repository at this point in the history
  62. [TupleVariation] Use list(coordinates) instead of coordinates[:]

    The latter is more expensive in GlyphCoordinates().
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    bcab655 View commit details
    Browse the repository at this point in the history
  63. [glyf] Remove several bytes slicings

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    8a7527f View commit details
    Browse the repository at this point in the history
  64. [subset] Set glyph.data to b'' instead of ''

    Fixes tests after 7adbe44
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    4f60d19 View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    a26af50 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    69da57a View commit details
    Browse the repository at this point in the history
  67. [glyf] Use bytearray() in trim()

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    414c750 View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    e6f4f60 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    1466874 View commit details
    Browse the repository at this point in the history
  70. [TupleVariation] Don't round deltas (again!)

    Remove tests that passed float in.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1d7bb29 View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    315ff46 View commit details
    Browse the repository at this point in the history
  72. [TupleVariation] Minor

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    c138967 View commit details
    Browse the repository at this point in the history
  73. [TupleVariation] Remove a few hot asserts

    We verify the code instead.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7ea6e35 View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    299ee58 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    4ee2124 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    158f014 View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    970719e View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    ea63d06 View commit details
    Browse the repository at this point in the history
  79. [GlyphCoordinates] Format

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    df39d61 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    183ba2c View commit details
    Browse the repository at this point in the history
  81. [GlyphCoordinates] Inline _i()

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    18f0225 View commit details
    Browse the repository at this point in the history
  82. Configuration menu
    Copy the full SHA
    7b741d6 View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    ca12330 View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    2f81301 View commit details
    Browse the repository at this point in the history
  85. Configuration menu
    Copy the full SHA
    919823f View commit details
    Browse the repository at this point in the history
  86. [GlyphCoordinates] Remove isFloat() again

    Based on subsequent review feedback.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    586f44e View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    79d1f02 View commit details
    Browse the repository at this point in the history
  88. Configuration menu
    Copy the full SHA
    5a86771 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    2da9b21 View commit details
    Browse the repository at this point in the history
  90. Configuration menu
    Copy the full SHA
    e900220 View commit details
    Browse the repository at this point in the history
  91. [gvar] Remove use of bytesjoin()

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    c542b86 View commit details
    Browse the repository at this point in the history
  92. Configuration menu
    Copy the full SHA
    870d003 View commit details
    Browse the repository at this point in the history
  93. [gvar] Avoid a copy in compileGlyph_()

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    dc549c3 View commit details
    Browse the repository at this point in the history
  94. Configuration menu
    Copy the full SHA
    08591c8 View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    d228a9e View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    df11e19 View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    b92e98a View commit details
    Browse the repository at this point in the history
  98. Configuration menu
    Copy the full SHA
    933a32e View commit details
    Browse the repository at this point in the history
  99. Configuration menu
    Copy the full SHA
    56fd521 View commit details
    Browse the repository at this point in the history
  100. Configuration menu
    Copy the full SHA
    6a6f5ed View commit details
    Browse the repository at this point in the history
  101. [TupleVariation] Avoid recompiling pointData

    Pass them down to tv.compile().
    
    Tests need to be updated for changed new internal tv.compile() API.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    6acfbb7 View commit details
    Browse the repository at this point in the history
  102. [TupleVariation] Optimize compilePoints()

    Special-case "all points used" representation in the internal API.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    0d41bea View commit details
    Browse the repository at this point in the history
  103. Configuration menu
    Copy the full SHA
    c9a31e9 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    71d5702 View commit details
    Browse the repository at this point in the history
  105. Configuration menu
    Copy the full SHA
    1dcfb9e View commit details
    Browse the repository at this point in the history
  106. [TupleVariation] Comment

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    ba6075e View commit details
    Browse the repository at this point in the history
  107. Configuration menu
    Copy the full SHA
    9f9aad7 View commit details
    Browse the repository at this point in the history
  108. Configuration menu
    Copy the full SHA
    f45f74d View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    bf2e4b3 View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    57f1c25 View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    a0bbc59 View commit details
    Browse the repository at this point in the history
  112. [varLib/glyf] Remove fallback vertical phantom-points code

    I suggested Cosimo add that code in
    fonttools#1528
    
    Upon further inspection now, that code is unnecessary and even wrong in
    cases where different masters have different ascent, because that would
    result in encoding variations for vertical phantom points, which will
    be then either be unused or double-apply on top of ascent etc.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    661f938 View commit details
    Browse the repository at this point in the history
  113. Configuration menu
    Copy the full SHA
    bf2d9a6 View commit details
    Browse the repository at this point in the history
  114. [varLib] Optimize getPhantomPoints()

    To reduce calling TTFont.__getitem__ many times per glyph!
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5362926 View commit details
    Browse the repository at this point in the history
  115. Configuration menu
    Copy the full SHA
    5c8027d View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    b61c3be View commit details
    Browse the repository at this point in the history
  117. Configuration menu
    Copy the full SHA
    93fb805 View commit details
    Browse the repository at this point in the history
  118. Configuration menu
    Copy the full SHA
    a63c423 View commit details
    Browse the repository at this point in the history
  119. [glyf] Add .get() which is like __getitem__() but returning None if n…

    …ot found
    
    And use it in a couple places.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    95fa3b5 View commit details
    Browse the repository at this point in the history
  120. [glyf] Remove unused code

    Also simplify bounds check.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b1685a9 View commit details
    Browse the repository at this point in the history
  121. [glyf] Add default=None to glyf.get()

    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5611167 View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    c7ca37c View commit details
    Browse the repository at this point in the history
  123. [glyf] Prefix setCoordinates, getCoordinatesAndControls, getPhantomPo…

    …ints
    
    Will add old name with old API next.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    ca2702c View commit details
    Browse the repository at this point in the history
  124. Configuration menu
    Copy the full SHA
    48e3761 View commit details
    Browse the repository at this point in the history
  125. Configuration menu
    Copy the full SHA
    3aa34d0 View commit details
    Browse the repository at this point in the history
  126. Update Lib/fontTools/varLib/instancer/__init__.py

    Co-authored-by: Nikolaus Waxweiler <madigens@gmail.com>
    2 people authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    fedf8f2 View commit details
    Browse the repository at this point in the history
  127. Include record size adjustment.

    garretrieger authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    75b66a1 View commit details
    Browse the repository at this point in the history
  128. Configuration menu
    Copy the full SHA
    c1a170b View commit details
    Browse the repository at this point in the history
  129. [ttLib] Add Value.getEffectiveFormat()

    This ignores 0/None values that don't need to be encoded.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    8b00e39 View commit details
    Browse the repository at this point in the history
  130. Configuration menu
    Copy the full SHA
    4151481 View commit details
    Browse the repository at this point in the history
  131. Configuration menu
    Copy the full SHA
    2c570b4 View commit details
    Browse the repository at this point in the history
  132. Configuration menu
    Copy the full SHA
    54ae41b View commit details
    Browse the repository at this point in the history
  133. Configuration menu
    Copy the full SHA
    5596596 View commit details
    Browse the repository at this point in the history
  134. Configuration menu
    Copy the full SHA
    2b7298e View commit details
    Browse the repository at this point in the history
  135. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    95f2b4f View commit details
    Browse the repository at this point in the history
  136. Release 4.22.1

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    096f275 View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    cbe2e9a View commit details
    Browse the repository at this point in the history
  138. [varLib.instancer] update instantiateVariableFont docs

    updated to indicate that Level 3 sub-space ranges are supported, but you must include the default axis value in the new range
    chrissimpkins authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    aef9961 View commit details
    Browse the repository at this point in the history
  139. [mutator] Round lsb for CFF2 fonts as well

    Otherwise head table compilation would fail because of the floating
    point side bearing. The advance width is already rounded.
    khaledhosny authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    2793b73 View commit details
    Browse the repository at this point in the history
  140. Configuration menu
    Copy the full SHA
    704d043 View commit details
    Browse the repository at this point in the history
  141. Configuration menu
    Copy the full SHA
    913f396 View commit details
    Browse the repository at this point in the history
  142. Use TypeError for not enough points

    madig authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    9b18610 View commit details
    Browse the repository at this point in the history
  143. Configuration menu
    Copy the full SHA
    ea90f84 View commit details
    Browse the repository at this point in the history
  144. Configuration menu
    Copy the full SHA
    d4c6231 View commit details
    Browse the repository at this point in the history
  145. test if issue fonttools#2295 is fixed

    Eigi authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    830633a View commit details
    Browse the repository at this point in the history
  146. [otTables] Default varIdx should be 0xFFFFFFFF (fonttools#2298)

    * default value for varIdx should be 0xFFFFFFFF to indicate 'no variations'
    
    * use lc hex notation as per feedback
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1e6e3c0 View commit details
    Browse the repository at this point in the history
  147. Fix for fonttools#2293: allow more than one lookahead glyph/class in …

    …contextual positioning with "value at end" (fonttools#2294)
    
    * add test that fails for fonttools#2293
    
    * fixing fonttools#2293: rewrite of contextual positioning logic, ensure len(suffix) > 1 yields the correct result; checking more edge cases and raising errors inspired by makeotf
    
    * test error cases
    
    * only check when we actually have a value
    
    * catch one more case that makeotf errors on and we didn't
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5a1195a View commit details
    Browse the repository at this point in the history
  148. Configuration menu
    Copy the full SHA
    c1247a1 View commit details
    Browse the repository at this point in the history
  149. Configuration menu
    Copy the full SHA
    5be1980 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    1ff8e7d View commit details
    Browse the repository at this point in the history
  151. [otBase] fix array-reader to return list, not array.array

    Was not noticed because it was for the most part unused.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    24981b1 View commit details
    Browse the repository at this point in the history
  152. Configuration menu
    Copy the full SHA
    40cbaac View commit details
    Browse the repository at this point in the history
  153. Configuration menu
    Copy the full SHA
    0af3473 View commit details
    Browse the repository at this point in the history
  154. Configuration menu
    Copy the full SHA
    f0ff817 View commit details
    Browse the repository at this point in the history
  155. [otBase] Actually call conv.writeArray()

    Huh. Somehow the writeArray() was never wired up. We lose the failing
    array index in the exception, but is fine to me.
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    cda8ef6 View commit details
    Browse the repository at this point in the history
  156. Configuration menu
    Copy the full SHA
    bdaabd3 View commit details
    Browse the repository at this point in the history
  157. Configuration menu
    Copy the full SHA
    87a3e96 View commit details
    Browse the repository at this point in the history
  158. Configuration menu
    Copy the full SHA
    9f82ee9 View commit details
    Browse the repository at this point in the history
  159. Configuration menu
    Copy the full SHA
    dba17cc View commit details
    Browse the repository at this point in the history
  160. Configuration menu
    Copy the full SHA
    ba86469 View commit details
    Browse the repository at this point in the history
  161. [varLib.builder] Implement building 32bit VarStore

    The full optimizer in varLib.varStore still needs to be updated.
    But this pretty much enables building 32bit VarStores, even if they
    won't be fully optimal.
    
    Part of fonttools#2279
    behdad authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    99bf8ff View commit details
    Browse the repository at this point in the history
  162. Configuration menu
    Copy the full SHA
    7c40406 View commit details
    Browse the repository at this point in the history
  163. Configuration menu
    Copy the full SHA
    8b8d0c7 View commit details
    Browse the repository at this point in the history
  164. Configuration menu
    Copy the full SHA
    e65c3bc View commit details
    Browse the repository at this point in the history
  165. Configuration menu
    Copy the full SHA
    2b7d169 View commit details
    Browse the repository at this point in the history
  166. Configuration menu
    Copy the full SHA
    b78f727 View commit details
    Browse the repository at this point in the history
  167. use optimizer

    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    6f17d22 View commit details
    Browse the repository at this point in the history
  168. add 32-bit master value tests

    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    da0891f View commit details
    Browse the repository at this point in the history
  169. adding compile/decompile step; this currently fails for the 32-bit te…

    …sts (which are therefore commented out)
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    23cb298 View commit details
    Browse the repository at this point in the history
  170. uncomment failing tests

    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7d9fd1d View commit details
    Browse the repository at this point in the history
  171. fix struct vs array mismatch: for array 'l' is 8 bytes, not 4. I'm no…

    …t 100% sure this is correct for all platforms.
    justvanrossum authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    844b07d View commit details
    Browse the repository at this point in the history
  172. Configuration menu
    Copy the full SHA
    57a156a View commit details
    Browse the repository at this point in the history
  173. Configuration menu
    Copy the full SHA
    da4945b View commit details
    Browse the repository at this point in the history
  174. Configuration menu
    Copy the full SHA
    623db87 View commit details
    Browse the repository at this point in the history
  175. Configuration menu
    Copy the full SHA
    ccddd90 View commit details
    Browse the repository at this point in the history
  176. Configuration menu
    Copy the full SHA
    27dfece View commit details
    Browse the repository at this point in the history
  177. fix for issue fonttools#2299

    translate leading backslashes of UNC path to forward slashes.
    Eigi authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    3e38997 View commit details
    Browse the repository at this point in the history
  178. Configuration menu
    Copy the full SHA
    50ea33e View commit details
    Browse the repository at this point in the history
  179. Configuration menu
    Copy the full SHA
    cdb5c5f View commit details
    Browse the repository at this point in the history
  180. Index was never used

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1dd872d View commit details
    Browse the repository at this point in the history
  181. Configuration menu
    Copy the full SHA
    9558173 View commit details
    Browse the repository at this point in the history
  182. Reformat with black

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    bbe2c70 View commit details
    Browse the repository at this point in the history
  183. Remove else-after-return

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    65464e3 View commit details
    Browse the repository at this point in the history
  184. Configuration menu
    Copy the full SHA
    101f4c1 View commit details
    Browse the repository at this point in the history
  185. removeOverlaps: print glyph name when pathops.simplify fails

    Sometimes skia-pathops simplify may fail (for unknown reasons which I'm still trying to debug).
    It's a good idea to know the name of the offending glyph
    google/fonts#3365
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    66686cb View commit details
    Browse the repository at this point in the history
  186. Configuration menu
    Copy the full SHA
    5b97554 View commit details
    Browse the repository at this point in the history
  187. Configuration menu
    Copy the full SHA
    403414b View commit details
    Browse the repository at this point in the history
  188. Configuration menu
    Copy the full SHA
    86c38d2 View commit details
    Browse the repository at this point in the history
  189. Configuration menu
    Copy the full SHA
    65ffeff View commit details
    Browse the repository at this point in the history
  190. Configuration menu
    Copy the full SHA
    038099c View commit details
    Browse the repository at this point in the history
  191. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    5f99cc7 View commit details
    Browse the repository at this point in the history
  192. Configuration menu
    Copy the full SHA
    6f23541 View commit details
    Browse the repository at this point in the history
  193. Configuration menu
    Copy the full SHA
    25ba6c3 View commit details
    Browse the repository at this point in the history
  194. [feaLib] Allow substituting a glyph class with NULL

    sub [a b c] by NULL; was producing errors, now it builds as multiple
    statements.
    khaledhosny authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    16daa57 View commit details
    Browse the repository at this point in the history
  195. VarLibMergeError first parameter must be a Merger object

    a lot of places instead pass in the 'self' parameter, incorrectly assuming that is a Merger.
    This is meant to fix 'AttributeError: 'dict' object has no attribute 'ttfs'' as reported in googlefonts/fontmake#766 (comment)
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    c4777b5 View commit details
    Browse the repository at this point in the history
  196. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    75a3729 View commit details
    Browse the repository at this point in the history
  197. Release 4.23.0

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    83a489b View commit details
    Browse the repository at this point in the history
  198. Configuration menu
    Copy the full SHA
    5b935a6 View commit details
    Browse the repository at this point in the history
  199. subset: test mixed COLR v0/v1 with subset excluding all v0 glyphs

    This currently throws a KeyError: ('uniE004', 'BaseGlyphRecordArray')
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    25c12b8 View commit details
    Browse the repository at this point in the history
  200. COLR: set {BaseGlyph,Layer}RecordArray to None when no colorGlyphsV0 …

    …in populateCOLRv0
    
    Same when LayerV1List is empty. All these fields are optional in v1
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7038ec3 View commit details
    Browse the repository at this point in the history
  201. subset: prune v0 base glyphs and layers when none are left after subs…

    …etting COLRv1 table
    
    Thanks Qunxin for reporting the bug!
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    3584471 View commit details
    Browse the repository at this point in the history
  202. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b58d4dc View commit details
    Browse the repository at this point in the history
  203. Release 4.23.1

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    90debbf View commit details
    Browse the repository at this point in the history
  204. Configuration menu
    Copy the full SHA
    9f5196e View commit details
    Browse the repository at this point in the history
  205. Add TTGlyphPointPen (fonttools#2205)

    * Add TTGlyphPointPen
    * Format code with black
    * Implement TTGlyphPen and TTGlyphPointPen with common base class
    * Use PenError instead of assert
    * Add note about decomposing mixed composites to the docstring
    jenskutilek authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    0866d68 View commit details
    Browse the repository at this point in the history
  206. Update NEWS.rst [skip ci]

    jenskutilek authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    4d89944 View commit details
    Browse the repository at this point in the history
  207. Release 4.24.0

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    a1395bb View commit details
    Browse the repository at this point in the history
  208. Configuration menu
    Copy the full SHA
    656573b View commit details
    Browse the repository at this point in the history
  209. Add test to reproduce issue 2312

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7c6d0d8 View commit details
    Browse the repository at this point in the history
  210. Configuration menu
    Copy the full SHA
    1ff86ca View commit details
    Browse the repository at this point in the history
  211. return True from SinglePos.prune_post_subset to not change semantics

    the useless subtable might have been there to stop the next subtable from applying...
    fonttools#2313 (comment)
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    cb031d1 View commit details
    Browse the repository at this point in the history
  212. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7949acd View commit details
    Browse the repository at this point in the history
  213. Release 4.24.1

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    1125728 View commit details
    Browse the repository at this point in the history
  214. Configuration menu
    Copy the full SHA
    e7af4ec View commit details
    Browse the repository at this point in the history
  215. ttGlyphPen: run black

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    8d5b24a View commit details
    Browse the repository at this point in the history
  216. ttGlyphPen: fix typing annotation for glyphSet parameter

    It is an optional dictionary. Even the ttGlypgPen_test.py or the fontBuilder.py calls TTGlyphPen(None) often.
    We caught this because internally we run a type-checker. Originally the glyphSet parameter was not explicitly typed.
    Now that it is, make the type hints match the way code is intended to be used.
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    4df38ed View commit details
    Browse the repository at this point in the history
  217. Configuration menu
    Copy the full SHA
    fb065ee View commit details
    Browse the repository at this point in the history
  218. leave self.glyphSet alone

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b939bc5 View commit details
    Browse the repository at this point in the history
  219. Configuration menu
    Copy the full SHA
    ec2da24 View commit details
    Browse the repository at this point in the history
  220. Configuration menu
    Copy the full SHA
    6f2402e View commit details
    Browse the repository at this point in the history
  221. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    7305a67 View commit details
    Browse the repository at this point in the history
  222. Release 4.24.2

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    e24bc0e View commit details
    Browse the repository at this point in the history
  223. Configuration menu
    Copy the full SHA
    afef274 View commit details
    Browse the repository at this point in the history
  224. README: add instructions on how to make a release

    to reduce the bus factor -- or maybe I should call it the 'new baby factor'
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    59258bc View commit details
    Browse the repository at this point in the history
  225. make title underline long enough

    nice that twine catches issues with RST as well
    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    099a207 View commit details
    Browse the repository at this point in the history
  226. Configuration menu
    Copy the full SHA
    789a11b View commit details
    Browse the repository at this point in the history
  227. Configuration menu
    Copy the full SHA
    490e9a8 View commit details
    Browse the repository at this point in the history
  228. Configuration menu
    Copy the full SHA
    870b767 View commit details
    Browse the repository at this point in the history
  229. Update changelog [skip ci]

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    4f96b4b View commit details
    Browse the repository at this point in the history
  230. Release 4.24.3

    anthrotype authored and simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    01c87a2 View commit details
    Browse the repository at this point in the history
  231. Configuration menu
    Copy the full SHA
    5b2fb0b View commit details
    Browse the repository at this point in the history
  232. Configuration menu
    Copy the full SHA
    ec816ed View commit details
    Browse the repository at this point in the history
  233. Configuration menu
    Copy the full SHA
    2e86b2c View commit details
    Browse the repository at this point in the history
  234. Variable scalar tests

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    2e55709 View commit details
    Browse the repository at this point in the history
  235. Configuration menu
    Copy the full SHA
    1216eb2 View commit details
    Browse the repository at this point in the history
  236. Format bug

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    16afa35 View commit details
    Browse the repository at this point in the history
  237. Useful property

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    b38bf4a View commit details
    Browse the repository at this point in the history
  238. Configuration menu
    Copy the full SHA
    9a3fbac View commit details
    Browse the repository at this point in the history
  239. Parse variation blocks

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    4165bb2 View commit details
    Browse the repository at this point in the history
  240. Round-trip FEA correctly

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    259204e View commit details
    Browse the repository at this point in the history
  241. Configuration menu
    Copy the full SHA
    301c17d View commit details
    Browse the repository at this point in the history
  242. Configuration menu
    Copy the full SHA
    f99b6fb View commit details
    Browse the repository at this point in the history
  243. Configuration menu
    Copy the full SHA
    1f758f2 View commit details
    Browse the repository at this point in the history
  244. Configuration menu
    Copy the full SHA
    f7589ca View commit details
    Browse the repository at this point in the history
  245. Configuration menu
    Copy the full SHA
    635c29f View commit details
    Browse the repository at this point in the history
  246. Configuration menu
    Copy the full SHA
    dcf985d View commit details
    Browse the repository at this point in the history
  247. Configuration menu
    Copy the full SHA
    c58ddae View commit details
    Browse the repository at this point in the history
  248. Put count fields in ttx

    simoncozens committed Oct 22, 2021
    Configuration menu
    Copy the full SHA
    3c19ae4 View commit details
    Browse the repository at this point in the history
  249. Configuration menu
    Copy the full SHA
    778a7ca View commit details
    Browse the repository at this point in the history
  250. Configuration menu
    Copy the full SHA
    4639015 View commit details
    Browse the repository at this point in the history