src


Log

Author Commit Date CI Message
Behdad Esfahbod 120bc2c6 2025-02-22T16:24:35 [paint] Add rotate_around_center
Behdad Esfahbod 75cc0d35 2025-02-22T16:15:09 [geometry] Add rotate_around_center
Behdad Esfahbod 4e99803f 2025-02-22T16:01:30 [hvgl] Optimize rotate-around-center
Behdad Esfahbod 67e119d5 2025-02-21T19:03:57 [hvgl] Micro-optimize
Behdad Esfahbod 907af345 2025-02-19T19:31:15 [coretext] Set all variation axes always Otherwise, PingFangUI with its weird non-compliant avar table, gets misrendered at default location.
Behdad Esfahbod 2f19b9d0 2025-02-19T18:17:21 [avar] Add alternative, disabled, code path for mapping 0
Behdad Esfahbod 494b13a8 2025-02-21T18:55:09 [hvgl] Let compiler see both code paths ifdef __FMA__
Behdad Esfahbod c993fde8 2025-02-19T18:00:20 [hvgl] Fix node count accounting
Behdad Esfahbod ba9a6159 2025-02-18T20:44:13 [hvgl] Fix MINI build HVF disabling to be configured better. But fix build for now.
Behdad Esfahbod a91719db 2025-02-22T13:33:51 [hvgl] Move a method around
Behdad Esfahbod ec66c16a 2025-02-21T18:27:46 [hvgl] Micro-optimize
Behdad Esfahbod 758ee5cf 2025-02-18T20:39:22 [COLR] Regain speed if all (normalized) coords are 0
Behdad Esfahbod da1fba88 2025-02-09T11:24:44 [cff] Regain speed re skipping applying variations
Behdad Esfahbod a0bb93e3 2025-02-21T18:21:59 [hvgl] Optimize is_translate_only
Behdad Esfahbod e1b92c09 2025-02-22T16:08:50 [paint] Use hb_sincos()
Behdad Esfahbod 63dc0399 2025-02-22T00:49:37 [geometry] Micro-optimize translate
Behdad Esfahbod 83a36fd8 2025-02-21T18:10:45 [hvgl] Optimize rotation
Behdad Esfahbod fede68bd 2025-02-21T17:30:54 [HVF] Remove stale comment
Behdad Esfahbod 531a7205 2025-02-21T19:14:20 [hvgl] Micro-optimize complex i
Behdad Esfahbod 07a15ec7 2025-02-20T23:18:14 [hvgl] Micro-optimize transformations
Behdad Esfahbod 6010b089 2025-02-20T17:27:28 [HVF] Add AVX2 codepath
Behdad Esfahbod f883d370 2025-02-27T02:26:53 [glyf] Regain speed if variations are all zero We always have coords array populated now... Check for non-zero.
Behdad Esfahbod d4bf8a77 2025-03-02T17:03:15 [glyf] Regain speed if variations are all zero We always have coords array populated now... Check for non-zero.
Behdad Esfahbod aa3d37e8 2025-02-09T00:04:28 [avar] Rewrite the "extended" logic more robustly
Behdad Esfahbod a0dcca67 2025-02-08T23:53:01 [avar] Non-change
Behdad Esfahbod e0496665 2025-02-08T23:41:24 [avar] Fix bug introduced ...
Behdad Esfahbod 19b4c6e5 2025-02-25T13:39:59 [subset] "Fix" subset tests after recent fvar/avar precision changes
Behdad Esfahbod d7b15b0e 2025-02-08T21:14:59 [font/fvar/avar] Increase axis coordinate normalization precision Spec requires 16.16; we were doing 2.14. Fix up. Now we do math in float, but do the 16.16 and final 2.14 rounding as required by the spec.
Behdad Esfahbod bfcbb439 2025-02-08T20:31:45 [avar] Remove some unused code Unfortunately subsetter doesn't support avar2 yet. So, more cruft still left in there.
Behdad Esfahbod 29991730 2025-02-08T20:28:07 [fvar] Remove unused code
Behdad Esfahbod 9ccb7142 2025-02-08T20:26:46 [font] Return NAN for design coords, if normalized coords were set
Behdad Esfahbod 117b79fd 2025-02-08T20:15:36 [font] Change docs to match recent behavior change We always allocate coords vectors full-sized.
Behdad Esfahbod feb899bb 2025-02-08T20:12:43 [ft] Fix rounding of normalized coords According to spec... https://learn.microsoft.com/en-us/typography/opentype/spec/otvaroverview#coordinate-scales-and-normalization
Behdad Esfahbod 3a489fd7 2025-02-08T02:32:19 [avar] Another hack, to match CoreText Until further notice, this mess remains...
Behdad Esfahbod cf7f5ad0 2025-02-09T05:53:20 [font] Remove avar->is_biased() short-circuit That was not considering avar2 fonts. Let the has_nonzero_coords magic take care of optimizing for default instance. A couple extra allocations during hb_font_create(), but no big deal.
Behdad Esfahbod 5f93435d 2025-02-09T04:58:06 [ot-font/hvgl] Guard include
Behdad Esfahbod 9b6da299 2025-03-02T17:00:14 [font/var] Try to regain performance of all-normalized-coords=0
Behdad Esfahbod 1f0aae52 2025-02-08T01:57:06 [font/var] Try to allow "biased" avar's That map 0 to non-0!
Behdad Esfahbod fc0966d9 2025-02-07T17:53:49 [hvgl] Fix the complex-number transform code path Tested by U+9DAD at wght=900 of PingFangUI.
Behdad Esfahbod d4511648 2025-02-07T17:35:26 [draw] Simplify quadratic-to-cubic conversion Hopefully introduces less error.
Behdad Esfahbod 9685d393 2025-02-07T16:57:19 [hvgl] Another clamp Huh. Errors down to just 1!
Behdad Esfahbod 40b9930c 2025-02-07T16:46:49 [hvgl] Minor move condition Previous code was safe but was taking address of an out-of-range array member if end was 0. Was never dereferenced though.
Behdad Esfahbod a71ad886 2025-02-07T16:42:42 [hvgl] Rename a variable
Behdad Esfahbod 32a6940d 2025-02-07T16:15:53 [hvgl] Minor const
Behdad Esfahbod 3c84aa52 2025-02-07T13:52:32 [hvgl] Move transforms around This doesn't seem to quite match the spec. But produces fewer wrong shapes. Down to 834 out of 34485 characters.
Behdad Esfahbod 3e1e2ab3 2025-02-07T13:45:18 [hvgl] Another transform fix
Behdad Esfahbod 7e84cf81 2025-02-07T13:23:01 [hvgl] Simplify transform
Behdad Esfahbod d5174c41 2025-02-07T13:13:02 [hvgl] Fix transform order
Behdad Esfahbod 76dbae15 2025-02-07T11:34:33 [hvgl] Minor
Behdad Esfahbod 04be8088 2025-02-08T01:29:14 [font/var] Always allocate coords vector the length of fvar axes In prep for black magic.
Behdad Esfahbod 74b0455e 2025-02-08T01:08:59 [avar] Bend to some weirdo font's wght mapping
Behdad Esfahbod f3a1ec29 2025-02-07T19:52:08 [open-type] Minor float math
Behdad Esfahbod f3500cb3 2025-02-07T19:22:30 [hvgl] I *think* I got transforms right this time!
Behdad Esfahbod 7bf8ce58 2025-02-07T19:16:54 [hvgl] Fixup Oops. Still buggy.
Behdad Esfahbod c6ec6eb1 2025-02-07T19:04:55 [geometry] Whitespace
Behdad Esfahbod f286d33d 2025-02-07T18:29:43 [hvgl] Back to composing transforms the way the paper says ...
Behdad Esfahbod 2bcbfd35 2025-02-07T17:58:13 [hvgl] Indent
Behdad Esfahbod 453aea05 2025-03-02T16:59:19 [hvgl] Use double instead of float for coords & transforms As "spec" requires.
Behdad Esfahbod 00bc3ecf 2025-03-02T16:58:37 [geometry] Use int literals instead of float ones In anticipation of templatizing on float type.
Behdad Esfahbod 9f85e974 2025-01-30T17:58:28 [hvgl] Remove a resize(0) that was not doing any good In hb_vector_t<double> we use hb_realloc() for resizing, which doesn't care what the vector current length is.
Behdad Esfahbod dbef4e32 2025-01-30T14:54:41 [hvgl] Name a value
Behdad Esfahbod da3fca46 2025-01-30T08:41:31 [hvgl] Reduce another malloc
Behdad Esfahbod 44780db5 2025-01-30T08:31:48 [hvgl] Remove unused parameter
Behdad Esfahbod 9579cee8 2025-01-30T08:26:16 [hvgl] Add table version check
Behdad Esfahbod d4b29817 2025-01-30T08:01:56 [hvgl] Remove use of a transient variable
Behdad Esfahbod 9b361172 2025-01-30T07:58:21 [hvgl] Micro-optimize vector allocation
Behdad Esfahbod a2fc9523 2025-01-30T07:51:10 [hvgl] Use a common "scratch" vector To avoid reallocation.
Behdad Esfahbod de0e1bdd 2025-01-30T07:30:51 [hvgl] Minor simplify sanitize
Behdad Esfahbod 4e56a0b8 2025-01-30T06:54:59 [hvgl] Use smarter algorithm for cycle detection Great speedup as we don't use hb_set_t. Yay!
Behdad Esfahbod cd73ca3c 2025-01-30T06:43:51 [hvgl] Possibly save a malloc
Behdad Esfahbod 7a171dcc 2025-01-30T06:42:35 [hvgl] Simplify resize call
Behdad Esfahbod 60562fce 2025-01-30T05:09:35 [hvgl] Remove an unnecessary cast
Behdad Esfahbod 26fc2d7c 2025-01-30T05:08:24 [hvgl] Minor var type declaration
Behdad Esfahbod fc62af31 2025-01-30T05:03:34 [hvgl] Bail on error Easier than handling a vector too short.
Behdad Esfahbod 2a3477c8 2025-01-30T04:59:49 [hvgl] Micro-optimize
Behdad Esfahbod d9d58958 2025-01-30T04:46:08 [geometry] Minor avoid a default initialization Compiler probably doesn't care though.
Behdad Esfahbod 7d3b340d 2025-01-30T04:26:31 [hvgl] Grammar
Behdad Esfahbod 241304b2 2025-01-30T04:25:54 [hvgl] Micro-optimize
Behdad Esfahbod 460f0f19 2025-01-30T04:18:36 [hvgl] Cosmetic
Behdad Esfahbod b191d084 2025-01-30T04:16:56 [hvgl] Micro-optimize
Behdad Esfahbod 500290bb 2025-01-30T03:54:54 [hvgl] Fix typo
Behdad Esfahbod 3bdae43a 2025-01-30T01:23:21 [hvgl] Add a barrier Just in case.
Behdad Esfahbod c52c98ab 2025-01-28T03:59:39 [hvgl] Remove a duplicate variable
Behdad Esfahbod 0a25471b 2025-01-28T03:49:59 [hvgl] Fix vector resize I meant to resize to exact, but the false wasn't doing that.
Behdad Esfahbod 4bced206 2025-01-28T03:06:00 [hvgl] Rename a method
Behdad Esfahbod 1b42d811 2025-01-28T00:36:34 [hvgl] Micro-optimize segment access
Behdad Esfahbod 3a6dc3d2 2025-01-28T00:27:03 [hvgl] Micro-optimize
Behdad Esfahbod 6e92267c 2025-01-28T00:06:48 [hvgl] Only pass the needed coords around
Behdad Esfahbod 80a8c5fa 2025-01-28T00:00:00 [hvgl] Whitespace
Behdad Esfahbod 4fc69418 2025-01-27T23:43:39 [hvgl] Rename "be" var to "le"
Behdad Esfahbod 303cd634 2025-01-27T23:14:09 [hvgl] Disable unnecessary code
Behdad Esfahbod 9c788d12 2025-01-27T21:17:38 [hvgl] Comment
Behdad Esfahbod 3d0fae3f 2025-01-27T19:29:47 [hvgl] Optimize initial getting of coordinates
Behdad Esfahbod f31fa0ae 2025-01-27T14:52:19 [hvgl] Optimize extremum transforms some more Passed the 2x threshold, faster than CoreText.
Behdad Esfahbod e7a05b1b 2025-01-27T14:48:40 [hvgl] Micro-optimize
Behdad Esfahbod 4ba06925 2025-01-27T14:42:17 [hvgl] Minor use a variable
Behdad Esfahbod 727b647e 2025-01-27T14:37:36 [hvgl] Speed up transform variations
Behdad Esfahbod be30bf9d 2025-01-27T14:22:31 [hvgl] Simplify master transforms a bit more
Behdad Esfahbod 93ddf8f8 2025-01-27T14:01:04 [hvgl] Move variables around
Behdad Esfahbod 49fd66eb 2025-01-27T13:58:59 [hvgl] Split apply_transforms into two loops The paper says walk them together, but the master can be applied separately before the extremums.