src/hb-ot-os2-table.hh

Branch


Log

Author Commit Date CI Message
Garret Rieger b0d52abe 2024-10-23T20:49:44 [subset] consider variation selectors subsetting cmap14 cmap14 subsetting code was not considering variation selectors in the input unicode set when deciding which variant glyphs to keep. This updates subsetting to only keeps variant glyphs if their variation selector code point is in the input unicodes set. For https://github.com/harfbuzz/harfbuzz/issues/4911
Garret Rieger 2cfa5505 2024-03-27T23:21:57 [instancer] Switch to doubles for delta calculations. FontTools uses double's internally so match FontTool's precision so we get the same results more often for floating point calculations.
Garret Rieger 975bd39b 2024-03-27T19:28:53 [subset] Match hb rounding to fonttools for avg char width. Update Muli and Roboto input test fonts to recalc class values. FontTools recalcs class values during instancing while harfbuzz does not (like the ft subsetter).
Garret Rieger ec46c4c2 2024-03-27T18:11:26 [subset] Update subset test suite to match some changes made to fonttools. FontTools has added pruning functionality for code pages which we don't yet have in harfbuzz. Update our test runner to disable that for now. Also match fonttools and always recalc usFirst/LastCharIndex even if no prune unicode ranges is set.
Qunxin Liu d550e16a 2023-11-06T10:31:05 [instancer] Recalc avgcharwidth after instancing
Behdad Esfahbod f31fb431 2023-11-06T11:29:30 Remove a couple unnecessary barriers
Behdad Esfahbod 7ee7e2e3 2023-11-04T15:02:28 [sanitize] Add remaining hb_barrier() annotations I'm sure I've forgot some. But this is a good start.
Qunxin Liu 6e49128a 2023-09-01T10:27:40 [instancer] always check and update default wght/width/slnt if necessary Sometimes default values in original file are incorrect, and if default value for an axis is not changed, then these values won't be updated
Behdad Esfahbod 67b16247 2023-06-07T16:15:48 [set] Simplify a few set iterations as range loop
Qunxin Liu bf298e50 2023-05-01T13:40:19 [instancer ]update OS_2/post/glyf tables to accept Triple for axes positions
Behdad Esfahbod 81b942e3 2023-01-12T18:42:22 [os2] Comment
Behdad Esfahbod 9fb9be8d 2023-01-12T18:37:45 [os2] Rewrite a loop
Behdad Esfahbod 2dcbf3bd 2023-01-12T18:29:16 [os2] Inline a trivial function
Behdad Esfahbod 9dc3e785 2023-01-11T14:09:47 [instancer] Add MVAR values to OS/2
Behdad Esfahbod 65d3db37 2023-01-11T12:36:54 [subset-plan] Simplify user_axes_location allocation
Behdad Esfahbod a34a204b 2023-01-11T12:27:19 [subset-plan] Simplify unicodes allocation
Behdad Esfahbod 82c863a5 2023-01-06T12:51:58 Whitespace
Qunxin Liu 8a552483 2022-10-27T09:43:07 [instance] update OS2/.usWeightClass and .usWidthClass when no-prune-unicode-ranges option is enabled
Qunxin Liu f8ddb999 2022-08-30T09:08:09 [instance] Fix os/2 table width to widthclass mapping
Qunxin Liu 4882c717 2022-07-27T12:54:33 [instance] update OS/2.usWeightClass and OS/2.usWidthClass
Khaled Hosny c3f590bb 2022-06-16T11:04:13 [arabic] Support legacy PUA shaping Support legacy pre-OpenType Windows 3.1-era fonts, by remapping PUA code points in cmap table and letting our fallback shaper build the GSUB table. Uniscribe applies also mset-like substitution, but our fallback mark positioning gives better results, so this is not implemented.
Garret Rieger 46d4a5e6 2021-07-29T15:07:13 [subset] Convert subset plan to use a flags bit set.
Garret Rieger 9aa0ecef 2021-07-14T17:27:14 [subset] de-duplicate the logic that finds unicodes corresponding to requested glyphs. Move the logic into subset planning and then re-use the results in cmap and OS2 subsetting. Removes depedency on cmap from os2.
Qunxin Liu eee7b459 2021-06-24T10:17:46 [subset] add option --no-prune-unicode-ranges
Behdad Esfahbod bbbea3db 2021-02-11T12:23:33 [minor] Rewrite set operation in OS/2 subsetting This patch could be nicer: https://github.com/harfbuzz/harfbuzz/pull/2572/files Just tiny touchup now.
Qunxin Liu 8e5bc535 2020-07-15T18:54:52 [subset] call collect_mapping only when --gids option is used. collect_mapping is time consuming as it iterates all codepoints in all cmap subtables, only trigger it when necessary
Qunxin Liu b2a965df 2020-04-22T15:58:41 [subset] Add support for "--gids" option cmap subsetting now retains entries associated with any glyph ids explicitly requested
Ebrahim Byagowi 8f6d0f84 2020-04-17T11:30:27 [os2] minor, fix font_page_t enum naming As https://github.com/harfbuzz/harfbuzz/pull/986#pullrequestreview-395052800
Qunxin Liu 1db2c1d0 2020-01-07T11:10:40 fix for cmap4 and OS_2 subsetting: maximum character code allowed is 0xFFFF
Ebrahim Byagowi 0558413f 2019-10-01T13:49:55 Minor, tweak spaces
Ebrahim Byagowi 8762676e 2019-08-10T01:26:55 [os2] Replace null pool addr compare by checking vital fields (#1896)
Ebrahim Byagowi 60485ab0 2019-08-07T23:23:06 [os2] Get defined lower/upper optical size
Ebrahim Byagowi 08b48e89 2019-07-20T12:53:40 [os2] minor spacing tweaks
Behdad Esfahbod 2bd953ff 2019-07-18T14:25:45 [metrics] Fix weird use of xor I believe that was a try to use one approach as fallback to other. But felt wrong. Just believe what's in OS/2 table to be correct.
Ebrahim Byagowi 87e62843 2018-11-20T23:26:46 Implement a simple API for fetching opentype metrics Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
Michiharu Ariza 82d4bfb8 2019-06-14T10:49:42 enable cff subset tests add Unicode UCS-4 cmap fix Unicode bits in OS/2 add Unicode cmap sub-table in SourceHanSans-Regular_subset.otf regenerate cff subset test expected results
Garret Rieger f9b1ae73 2019-06-05T17:40:59 [subset] Move OS/2 to subset2.
Behdad Esfahbod b986c6a3 2019-03-29T20:17:46 [C++11] Remove IntType::set() in favor of operator=
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
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
Ebrahim Byagowi f7cfe998 2018-12-08T13:40:44 [os2] Move typometrics detection logic to the table (#1465)
Ebrahim Byagowi 47cf9a96 2018-12-08T10:20:25 Apply non-controversial parts of ot-style (#1464) Things to be used in https://github.com/harfbuzz/harfbuzz/pull/1459
Ebrahim Byagowi 8394a6cb 2018-12-05T15:23:41 [os2] Make newer table fields accessible (#1452)
Behdad Esfahbod 5c4fead7 2018-11-29T15:04:34 Convert "static const hb_tag_t" constants to enum
Ebrahim Byagowi 11aa0468 2018-11-15T23:10:56 [subset] minor, adjust spaces
Khaled Hosny 2c68f34b 2018-11-02T23:06:00 [os2] Capitalize table tag and struct Other tables follow the case of the OT tag, except this one.
Behdad Esfahbod 1e8f195b 2018-10-03T17:46:48 [emoji] Add emoji Extended_Pictographic table and function Part of https://github.com/harfbuzz/harfbuzz/issues/1159 .
Behdad Esfahbod d1f29908 2018-08-31T16:31:00 [subset] Add hb_subset_context_t<>
Behdad Esfahbod aba0a945 2018-08-31T13:25:19 [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod 36ed163f 2018-07-23T11:57:45 Remove unnecessary OT:: namespace specifiers
Behdad Esfahbod 9583e007 2018-07-22T22:40:32 Port more off of Sanitizer<>
Garret Rieger 251cc977 2018-05-30T12:23:51 [subset] Switch to using hb_map_t inside of hb_subset_plan_t.
Behdad Esfahbod 5c3112ae 2018-05-01T19:07:04 s/hb_prealloced_array_t/hb_vector_t/g Part of https://github.com/harfbuzz/harfbuzz/issues/1017
Ebrahim Byagowi 6771e79b 2018-04-17T09:36:52 Add pre-opentype font pages detection code (#986) As Khaled's finding on #981 this is the way Uniscribe detects those fonts. This is its detection part.
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
Garret Rieger ad3f2f77 2018-02-26T17:51:27 [subset] small cleanups in hb-ot-os2-table.
Garret Rieger e20ab71d 2018-02-26T16:13:10 [subset] Fix incorrect index.
Garret Rieger 074b5a29 2018-02-26T16:11:24 [subset] Add special case handling of bit 57 in os2 ulUnicodeRange.
Garret Rieger 4014555c 2018-02-26T15:50:13 [subset] set ulUnicodeRange[] in os2.
Behdad Esfahbod e5ab34fd 2018-02-16T16:58:17 Misc fixes Should bring bag djgpp bot.
Behdad Esfahbod 7b5ce740 2018-02-16T15:37:22 Fix warnings
Garret Rieger 3ab7d264 2018-02-14T15:48:57 [subset] Fix memory leak in hb-ot-{maxp,os2}. Plus some formatting.
Rod Sheeter 3ed70e5e 2018-02-14T15:24:49 [subset] return bool not hb_bool_t from table::subset
Rod Sheeter fa877703 2018-02-14T14:16:25 [subset] First pass at hmtx
Garret Rieger 24904383 2018-02-12T17:31:01 [subset] Correct usFirstCharIndex and usLastCharIndex in OS2 table when subsetting.
Behdad Esfahbod 6b19178e 2018-01-10T03:07:30 Prefix int types with HB Such a headache that Windows defines UINT8, ...; Just prefix it.
Behdad Esfahbod 6f335ed1 2017-11-14T21:06:07 Replace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc
Simon Cozens 097c998a 2015-10-26T16:22:38 Parse the OS/2 table.