src/hb-aat-layout-trak-table.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 8c29dcae 2022-10-13T12:04:32 s/HBFixed/F16DOT16/g
Behdad Esfahbod ad28f973 2021-03-31T12:49:14 Rename offset types to be explicit about their size Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
Ebrahim Byagowi 08428a15 2020-04-24T23:45:17 minor, spacing
Ebrahim Byagowi 47f5a860 2020-03-10T13:57:46 minor, use NN on every OffsetTo<UnsizedArrayOf<>>
Ebrahim Byagowi ce114d6b 2019-12-31T15:53:02 minor, tweak spaces
Behdad Esfahbod 229ef1d2 2019-09-10T10:31:07 Rename Fixed to HBFixed Fixes(!!) https://github.com/harfbuzz/harfbuzz/issues/1966
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Ebrahim Byagowi bbad1b82 2019-08-20T14:46:48 [trak] minor, use roundf instead round to normalize the use The change to `round` wasn't intended
Ebrahim Byagowi 37de38ad 2019-08-20T12:59:33 Merge branch 'master' into remove-coretext-96dpi-assumption
Behdad Esfahbod dfc57802 2019-05-07T23:26:09 Fix more double-promotion errors WHy do only some of the clang bots catch this I have no idea :(.
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Behdad Esfahbod ef006549 2019-01-22T12:08:57 Convert tag enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod b1152d5e 2019-01-17T18:17:04 Use NNOffsetTo<>
Tor Arne Vestbø f401f85a 2018-12-17T00:48:35 Remove assumption about Core Text working in 96 DPI Core Text doesn't actually have a concept of DPI internally, as it doesn't rasterize anything by itself, it just generates vector paths that get passed along to Core Graphics. In practice this means Core Text operates in the classical macOS logical DPI of 72, with one typographic point corresponding to one point in the Core Graphics coordinate system, which for a normal bitmap context then corresponds to one pixel -- or two pixels for a "retina" context with a 2x scale transform. Scaling the font point sizes given to HarfBuzz to an assumed DPI of 96 is problematic with this in mind, as fonts with optical features such as 'trak' tables for tracking, or color glyphs, will then base the metrics off of the wrong point size compared to what the client asked for. This in turn causes mismatches between the metrics of the shaped text and the actual rasterization, which doesn't include the 72 to 96 DPI scaling. If a 96 DPI is needed, such as on the Web, the scaling should be done outside of HarfBuzz, allowing the client to keep the DPI of the shaping in sync with the rasterization. The recommended way to do that is by scaling the font point size, not by applying a transform to the target Core Graphics context, to let Core Text choose the right optical features of the target point size, as described in WWDC 2015 session 804: https://developer.apple.com/videos/play/wwdc2015/804/
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Ebrahim Byagowi 7ee5c523 2018-12-12T15:14:37 minor style fix, use void in methods on no argument
Behdad Esfahbod 5c4fead7 2018-11-29T15:04:34 Convert "static const hb_tag_t" constants to enum
Behdad Esfahbod 4a3b2073 2018-11-24T10:17:59 [trak] Coment
Behdad Esfahbod aa065748 2018-11-16T14:31:05 Minor
Ebrahim Byagowi 1d82b476 2018-11-10T18:08:11 [colr/feat/trak] minor
Ebrahim Byagowi b989507f 2018-11-08T20:48:54 [aat] Minor (#1369)
Behdad Esfahbod 72462eb7 2018-11-02T11:46:24 Add UnsizedArrayOf::as_array() instead of hb_array() template
Behdad Esfahbod cf92d657 2018-10-23T03:10:56 [trak] Allow disabling tracking for ranges of text Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
Behdad Esfahbod 8d689f8a 2018-10-22T21:33:18 Add hb_array<>() specialization for UnsizedArrayOf Related https://github.com/harfbuzz/harfbuzz/issues/1301
Behdad Esfahbod abfbba19 2018-10-22T21:27:45 Add hb_array<>() Simplifies transient object creation. Fixes https://github.com/harfbuzz/harfbuzz/issues/1301
Behdad Esfahbod d7865107 2018-10-22T16:18:34 Remove const from hb_array_t details Will come in through <T> if desired.
Behdad Esfahbod 79b63561 2018-10-19T11:00:20 [trak] Fix extrapolation at end side
Behdad Esfahbod 9d42d702 2018-10-17T17:55:47 [trak] Fix calc We were getting the first track record always. Ie. this line: if (trackTable[i].get_track_value () == 0.f) { - trackTableEntry = &trackTable[0]; + trackTableEntry = &trackTable[i]; break; } The rest is cleanup. Fixes https://github.com/harfbuzz/harfbuzz/issues/1263 for the most part.
Behdad Esfahbod 04f72e89 2018-10-11T11:25:07 [trak] Implement extrapolation This concludes trak, as well as AAT shaping support!
Behdad Esfahbod d6a12dba 2018-10-11T11:10:06 [trak] Fix, and hook up Works beautifully! Test coming.
Behdad Esfahbod 3d7dea6d 2018-10-11T10:32:08 [trak] Handle nSizes=0 and 1
Behdad Esfahbod 451f3de5 2018-10-11T10:30:32 [trak] Fix counting
Behdad Esfahbod a5be380c 2018-10-11T10:29:02 [trak] More
Behdad Esfahbod d06c4a86 2018-10-11T10:22:01 [trak] Only adjust around first glyph Assumes graphemes only have one base glyph.
Behdad Esfahbod 071a2cbc 2018-10-11T10:18:46 [trak] Clean up
Behdad Esfahbod 10642b3f 2018-09-15T19:43:33 Disallow null-enabled offsets to unsized structures... ...like UnsizedArrayOf<>. This fixes a class of crasher bugs, mostly with color and AAT tables. We cannot use nullable offsets to varsized data that does not declare min_size, because it's nost safe to use our fixed-size null pool for types that have their size external. So, use non_null'able offsets for these. A further enhancement would be to make use of min_size in Null<> itself. Will try that after.
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Ebrahim Byagowi 32348a43 2018-07-01T15:32:43 Fix trak table apply logic In collaboration with Behdad
Ebrahim Byagowi 816b8169 2018-04-23T19:36:53 Resolve some of clang's double-promotion warnings
Ebrahim Byagowi a47070cd 2018-04-18T12:09:37 Minor, annotate the added tables with likely/unlikely (#997)
Ebrahim Byagowi 277e3289 2018-04-17T09:13:35 Make some of implicit header uses explicit (#989) Splitted from #950 and #986 IIRC Chromium had a policy about this encouraging it, not sure about automated way to detect and add them but for now lets have the needed ones of them.
Ebrahim Byagowi a02c3ee7 2018-04-12T13:38:19 Add or update tables specifications links
Ebrahim Byagowi 211da5ef 2018-04-11T17:41:24 [aat] Cosmetic changes (#964)
Ebrahim Byagowi 158f2810 2018-03-26T12:04:30 [aat/ltag] Implement the table parsing (#911)
Ebrahim Byagowi 9eee38a5 2018-03-25T23:56:02 [aat/fmtx] Implement the table parsing (#910)
Behdad Esfahbod a0dccb61 2018-03-14T16:31:53 Add NameID
Behdad Esfahbod fa3a69e2 2018-02-26T00:32:11 [aat/trak] Simplify sanitize()
Behdad Esfahbod f0bc6c09 2018-02-26T00:18:17 [aat/trak] Clean up We always just used "unsigned int" for counter values. There's no use for uint16_t outside of a struct. Also, no need for explict casting where implicit does.
Ebrahim Byagowi bb82f013 2018-02-25T12:30:33 [aat] trak sanitization
Behdad Esfahbod 6dd46fa5 2018-02-25T18:54:52 [aat/trak] Minor Maybe we should make DEFINE_* make structs uncopyable.
Ebrahim Byagowi 1ab16f45 2018-02-24T12:49:42 [aat] Implement trak logic (#816)
Behdad Esfahbod 6ae4013f 2018-02-20T15:02:25 [aat] Cosmetic touch-ups to trak table
Ebrahim Byagowi a64eacd8 2018-02-19T23:27:08 [aat] First dig on 'trak'