Commit Graph

10798 Commits

Author SHA1 Message Date
Garret Rieger dbfd2bf327 minor. 2022-06-30 23:04:35 +00:00
Garret Rieger 79bdcbef0d [subset] Fix GDEF version downgrade logic. 2022-06-30 22:20:32 +00:00
Garret Rieger 587969af42 [subset] Drop scripts that are not in the layout_scripts list. 2022-06-30 21:37:42 +00:00
Garret Rieger 900476c635 Move GSUB.hh GPOS.hh back into the GPOS/GSUB sub directories. 2022-06-30 15:33:20 -06:00
Garret Rieger 5fdae68481 [reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl. 2022-06-30 15:33:20 -06:00
Garret Rieger 70e32a662f [subset] Add layout_scripts to subset input. 2022-06-30 21:00:48 +00:00
Behdad Esfahbod 13c499cb26 [hvar] Minor internal rewiring
Not passing font to functions makes it more clear that they don't
scale values.
2022-06-30 14:25:09 -06:00
Garret Rieger 41d2c335bc [subset] Apply script list filter when doing layout collection. 2022-06-30 20:24:42 +00:00
Garret Rieger e5c8a2f4e1 [subset] Pass plan through to collect methods.
Allows to more easily access the filtering sets as they are added and enables propagating errors to the plan.
2022-06-30 20:14:29 +00:00
Behdad Esfahbod aba4a4957a [ot-font] Disable VORG variation code in HB_NO_VAR 2022-06-30 14:13:44 -06:00
Behdad Esfahbod d5921b379b [tt-font] Apply VVAR.vOrg variation to VORG origin
Mostly fixes https://github.com/harfbuzz/harfbuzz/issues/1694
2022-06-30 14:09:09 -06:00
Behdad Esfahbod eee29f7327 [hmtx] Specialize var_table 2022-06-30 14:09:09 -06:00
Garret Rieger 1bf051ef3b [subset] refactor feature tag filtering so it can be used for scripts as well. 2022-06-30 20:03:33 +00:00
Khaled Hosny f6f93c30f3 [docs] Fix warning
These comment blocks don’t use gtk-doc syntax.
2022-06-30 08:50:59 +02:00
Khaled Hosny 98e90cc67c [docs] Reduce warnings
Use markdown syntax for inline code blocks instead of %true, %false, and
%NULL.
2022-06-30 08:44:40 +02:00
Behdad Esfahbod c69ec6f5bb [kern2] Fix sanitize issue on 32bit systems
Fixes https://github.com/harfbuzz/harfbuzz/issues/3483
2022-06-29 16:32:59 -06:00
Khaled Hosny 34d3d49e78 [docs] Fix Since annotation 2022-06-29 07:46:21 +02:00
Khaled Hosny 096aaa62a6 4.4.1 2022-06-29 07:30:05 +02:00
Behdad Esfahbod 050f169078 [GPOS/kerx] Call into impl namespace from kerx 2022-06-28 18:52:27 -06:00
Garret Rieger 910a137f4e [reorg] Fix propagate_attachment_offsets definition. 2022-06-28 18:47:50 -06:00
Garret Rieger 3fbf2dece7 [reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS. 2022-06-28 18:47:50 -06:00
Garret Rieger 88ef3c5a9a [reorg] Change OT::Layout::GPOS to OT::Layout::GPOS_impl. 2022-06-28 18:47:50 -06:00
Garret Rieger 49ddf069e0 [reorg] Move GPOS reverse_cursive_minor_offset implementation into new directory layout. 2022-06-28 18:47:50 -06:00
Garret Rieger 74f45f7c2a [reorg] Move remaining GPOS lookup types to new directory. 2022-06-28 18:47:50 -06:00
Garret Rieger 197d9a5c99 [reorg] Move more GPOS lookups to new directory. 2022-06-28 18:47:50 -06:00
Garret Rieger c7307ca06a [reorg] Begin moving GPOS into the new directory layout. 2022-06-28 18:47:50 -06:00
Behdad Esfahbod 9909d11f6f [indic generator] Fix regression
Fixes https://github.com/harfbuzz/harfbuzz/issues/3690
2022-06-28 16:02:51 -06:00
Behdad Esfahbod 4499ae0225 [coretext] Fix positioning of out-of-order glyphs
Unfortunately this now generates negative advances. To be fixed...
2022-06-28 15:44:34 -06:00
Behdad Esfahbod 58d2e93099 [coretext] Fix up clusters only if needed 2022-06-28 15:44:34 -06:00
Behdad Esfahbod eaba5e74a9 [directwrite] Simplify 2022-06-28 13:51:50 -06:00
Behdad Esfahbod 33e3bf2d79 [font] Drop caches on variation changes 2022-06-28 13:51:50 -06:00
Behdad Esfahbod c90130e625 [coretext] Remove old hack now that font layer takes care...
of invalidating font data when font settings change.
2022-06-28 13:30:44 -06:00
Behdad Esfahbod c1c78ade71 [font] When font changes, drop font shaper data
https://github.com/harfbuzz/harfbuzz/issues/3683#issuecomment-1168016509
2022-06-28 13:19:30 -06:00
Behdad Esfahbod 34c6c0193c [glyf] Fix byterange check again 2022-06-27 20:26:57 -06:00
Behdad Esfahbod 20572f914c [glyf] Move read_flags into a function 2022-06-27 20:22:09 -06:00
Behdad Esfahbod 31e985d7d1 [buffer] Likely that not messaging 2022-06-27 16:32:02 -06:00
Behdad Esfahbod 4be074e2cb [gvar] Whitespace 2022-06-27 16:12:42 -06:00
Behdad Esfahbod a96647841a [gvar] Optimize apply_deltas_to_points 2022-06-27 15:41:02 -06:00
Behdad Esfahbod e9af9062c0 [gvar] Optimize unpack_deltas 2022-06-27 15:38:42 -06:00
Behdad Esfahbod 573e77280b [gvar] Optimize unpack_deltas 2022-06-27 15:35:28 -06:00
Behdad Esfahbod 698f51464c [gvar] Share vector allocation across delta-sets 2022-06-27 15:30:19 -06:00
Behdad Esfahbod 39e280c256 [gvar] Handle a couple of error conditions 2022-06-27 15:28:30 -06:00
Behdad Esfahbod 5be6e5dd57 [gvar] Rewrite linear interpolation 2022-06-27 15:22:16 -06:00
Behdad Esfahbod 57519b532d [gvar] Use pointer-to-member instead of function 2022-06-27 15:18:56 -06:00
Behdad Esfahbod ab15fe082a [gvar] Handle a couple of error conditions 2022-06-27 15:13:10 -06:00
Behdad Esfahbod b7e9e8785c [gvar] Optimize deltas and points loading 2022-06-27 15:09:25 -06:00
Behdad Esfahbod 6e72c2e3fa [glyf] Add an assertion 2022-06-27 15:09:25 -06:00
Behdad Esfahbod 5da341ce92 [map] Another try at hiding minus1
To fix https://github.com/harfbuzz/harfbuzz/issues/3684
2022-06-27 14:00:34 -06:00
Behdad Esfahbod c72d3104ed [map] Return const reference in operator[] 2022-06-27 13:31:05 -06:00
Behdad Esfahbod 69d53f3e7f [map] Make default_value() inline
See if it make fix https://github.com/harfbuzz/harfbuzz/issues/3684
2022-06-27 13:17:10 -06:00
Behdad Esfahbod 3a0e27e794 [glyf] Move comment 2022-06-27 13:07:39 -06:00
Behdad Esfahbod d0836dee7a [glyf] Minor typo change 2022-06-27 13:05:58 -06:00
Behdad Esfahbod 5cca25e5d0 [glyf] Accumulate points as int
Everything is int at this stage.
Doesn't seem to matter for performance though.
2022-06-27 13:03:06 -06:00
Behdad Esfahbod d6f60b3c19 [glyf] Minor optimization 2022-06-27 13:00:08 -06:00
Behdad Esfahbod b30a3dcba3 [glyf] Another bounds check
Very unlikely that is needed but technically possible.
2022-06-27 12:56:54 -06:00
Behdad Esfahbod 2e9dbdcbbe [glyf] Protect against an unlikely overflow 2022-06-27 12:55:13 -06:00
Khaled Hosny 8537d68172 4.4.0 2022-06-27 20:51:16 +02:00
Behdad Esfahbod f1fb8c4489 [glyf] Optimize Glyph layout 2022-06-27 12:41:46 -06:00
Behdad Esfahbod 34e3f561b5 [glyf] Fix a bug I introduced recently
Pass gid to Glyph in trim_padding codepath.
2022-06-27 12:39:35 -06:00
Behdad Esfahbod 97cbc2d40a [gvar] Remove condition that font num_coords should match gvar's 2022-06-27 12:37:11 -06:00
Behdad Esfahbod 19cbfb9ce9 [glyf] Relax a condition that font num_coords be equal to gvar's
gvar itself still checks the same.
2022-06-27 12:32:18 -06:00
Behdad Esfahbod d5cfbaa068 [glyf] Optimize composite points loading 2022-06-27 12:24:20 -06:00
Behdad Esfahbod 32dc0641e1 [glyf] Remove an unnecessary condition 2022-06-27 12:22:06 -06:00
Behdad Esfahbod 95bfa0913d [gvar] Optimize translate() 2022-06-27 12:10:16 -06:00
Behdad Esfahbod 9f067582b8 [gvar] Optimize transform() 2022-06-27 12:10:16 -06:00
Behdad Esfahbod cfc57ef862 [glyf] Optimize contour_point_t layout 2022-06-27 12:10:16 -06:00
Behdad Esfahbod 75ca78a6bb [glyf] Optimize hb_contour_points_t::extend 2022-06-27 12:10:16 -06:00
David Corbett 04c4767150 [lao] Decompose and reorder U+0EB3 around U+0EBB 2022-06-27 11:31:32 -06:00
Behdad Esfahbod d3308f4713 [font] Optimize font scaling further 2022-06-27 11:28:57 -06:00
Matthias Clasen e72506d085 Fix the annotation for hb_blob_get_data
This function will return NULL for the the
empty blob. That is important information for
bindings that treat nullability as a type trait.
2022-06-27 10:59:02 -06:00
Behdad Esfahbod 3c49a6a60a [glyf] Fix an allocation error
Try fixing assertion failure found by fuzzers:

hb-draw-fuzzer: ../../src/harfbuzz/src/OT/glyf/glyf.hh:175: bool OT::glyf_accelerator_t::get_points(hb_font_t *, hb_codepoint_t, T) const [T = OT::glyf_impl::path_builder_t]: Assertion `count >= glyf_impl::PHANTOM_COUNT' failed.
2022-06-27 10:57:51 -06:00
Behdad Esfahbod 556e7078f0 [font] Optimize glyph scaling 2022-06-26 17:48:43 -06:00
Behdad Esfahbod a1c45bbb55 [glyf] Minor simplify 2022-06-26 17:30:16 -06:00
Behdad Esfahbod a21a9bb855 [glyf] Optimize flags decoding byte range checking 2022-06-26 17:24:29 -06:00
Behdad Esfahbod 0f1fdf461c [glyf] Optimize points decoding byte range checking 2022-06-26 17:22:45 -06:00
Behdad Esfahbod 51cfcf2957 [glyf] Optimize points decoding 2022-06-26 17:04:47 -06:00
Behdad Esfahbod 86b7022503 [glyf] Optimize flag decoding 2022-06-26 17:02:32 -06:00
Behdad Esfahbod 30d58bfd0f [glyf] Don't translate/transform components if has no effect 2022-06-26 16:49:40 -06:00
Behdad Esfahbod 2bb0fa878a [glyf] Remove unneeded point init() 2022-06-26 16:43:05 -06:00
Behdad Esfahbod fc72a1d22d [glyf] Add a pre-allocation for phantom points 2022-06-26 16:42:01 -06:00
Behdad Esfahbod 8d242aaa8b [glyf] Rewrite a loop harmlessly
I hope...
2022-06-26 16:36:08 -06:00
Behdad Esfahbod cf57f04ddb [glyf/path-builder] Optimize scaling code
Scale each point once upon entry to function.

This makes our shape fetching code as fast as FreeType for all
benchmark cases now.
2022-06-26 16:26:17 -06:00
Behdad Esfahbod 36dd5d32fb [draw] Use multiplication instead of division in quadratic conversion 2022-06-26 16:16:43 -06:00
Behdad Esfahbod b095df1343 [glyf/path-builder] Use operator bool for style 2022-06-26 16:12:50 -06:00
Behdad Esfahbod abb433d0f4 [glyf] Avoid a copy of points in shape fetching for simple glyphs
Matches performance with freetype now.
2022-06-26 16:09:32 -06:00
Behdad Esfahbod 7eac779abf Revert "Revert "[glyf] Optimize shape loading""
This reverts commit 164bd288cf.
2022-06-26 16:02:27 -06:00
Behdad Esfahbod 164bd288cf Revert "[glyf] Optimize shape loading"
This reverts commit f0819301b7.

Broke tests. To be debugged and redone.
2022-06-26 16:01:15 -06:00
Behdad Esfahbod f0819301b7 [glyf] Optimize shape loading
Do away with a copy for simple glyph load.
2022-06-26 15:52:54 -06:00
Behdad Esfahbod 65b066f18e [glyf/path-builder] Simplify initialization 2022-06-26 13:18:00 -06:00
David Corbett b2abd5c7e8 [thai] Reword to include all relevant marks 2022-06-26 13:12:12 -06:00
Behdad Esfahbod 2d4557fe04 [glyf/SimpleGlyph] Use member pointer instead of lambda 2022-06-26 13:08:37 -06:00
Behdad Esfahbod 9ce9773040 [glyf/SimpleGlyph] Minor use constructor for contour_point_t 2022-06-26 13:08:37 -06:00
Behdad Esfahbod f897978f21 [glyf] Adjust a check-range 2022-06-26 13:08:37 -06:00
Behdad Esfahbod db039d97ff [glyf/Composite] Make glyphIndex public 2022-06-26 13:08:37 -06:00
Behdad Esfahbod 1b14bf8aa8 [glyf] Rename CompositeGlyphChain to CompositeGlyphRecord 2022-06-26 13:08:37 -06:00
Behdad Esfahbod a5ac7f2ea6 [glyf/composite_iter_t] Renames 2022-06-26 13:08:37 -06:00
Behdad Esfahbod d15260ca95 [gpos] Limit recursion depth in propagate_attachment_offsets()
Fixes https://github.com/harfbuzz/harfbuzz/issues/2927
2022-06-25 19:53:11 -06:00
Behdad Esfahbod 449bdeed5f [glyf] Rename get_iterator() to iter()
That's the standard name.
2022-06-25 18:32:30 -06:00
Behdad Esfahbod 11d2670676 [glyf] Split off glyf-helpers.hh 2022-06-25 18:19:09 -06:00
Behdad Esfahbod 7c4b8c9bf4 [glyf] path-builder minor header guards fix test 2022-06-25 18:14:42 -06:00
Behdad Esfahbod 499c637922 [glyf] Split off path-builder.hh 2022-06-25 18:07:49 -06:00
Behdad Esfahbod 13aadc8961 [glyf] Split off CompositeGlyph.hh 2022-06-25 18:03:15 -06:00
Behdad Esfahbod f0ec2b728e [glyf] Split off SimpleGlyph.hh 2022-06-25 17:55:16 -06:00
Behdad Esfahbod 8ed78627f0 [glyf] Split off GlyphHeader.hh 2022-06-25 17:53:13 -06:00
Behdad Esfahbod 81315a3016 [glyf] Namespace implementation in glyf_impl
Part of https://github.com/harfbuzz/harfbuzz/issues/3677
2022-06-25 17:50:44 -06:00
Behdad Esfahbod be1d4bcf29 [glyf] Add fast __end__ to composite iterator 2022-06-25 17:45:21 -06:00
Behdad Esfahbod ef250eea7e [glyf] Move a few structs out of Glyph{} 2022-06-25 17:37:59 -06:00
Behdad Esfahbod ae75f066b5 [glyf] Split SubsetGlyph 2022-06-25 17:12:10 -06:00
Behdad Esfahbod 0031069f47 [glyf] Fix includes 2022-06-25 17:05:18 -06:00
Behdad Esfahbod b4a0c30d98 [glyf] Remove hardcoded HB_MAX_COMPOSITE_OPERATIONS 2022-06-25 17:01:11 -06:00
Behdad Esfahbod 36373ee15c [glyf] Move add_gid_and_children to subset-plan where it belongs 2022-06-25 16:55:26 -06:00
Behdad Esfahbod ba1c9eda38 [glyf] Use a range for loop 2022-06-25 16:51:33 -06:00
Behdad Esfahbod e4f2bc9342 [glyf] Split Glyph.hh 2022-06-25 16:47:06 -06:00
Behdad Esfahbod 3f9c6bf3fc [glyf] Minor in _write_loca() 2022-06-25 14:46:26 -06:00
Behdad Esfahbod 852985da0f [glyf] Split loca.hh 2022-06-25 14:41:51 -06:00
Behdad Esfahbod 100576b7b7 [glyf] Start splitting file 2022-06-25 14:38:43 -06:00
Behdad Esfahbod e867ac3aef
Merge pull request #3674 from harfbuzz/use-sinhala-no-hacks
[use] Switch Sinhala to USE
2022-06-25 12:43:04 -06:00
Behdad Esfahbod b1629b0ce0 [gdef] Minor harmless use of HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED 2022-06-25 12:00:25 -06:00
David Corbett 78c5ae3979 [indic] Remove remnants of Sinhala 2022-06-25 13:49:18 -04:00
Behdad Esfahbod 0cc948b96c [use] Switch Sinhala to USE
https://github.com/harfbuzz/harfbuzz/issues/1044
2022-06-25 13:48:43 -04:00
David Corbett 6059828769 [use] Reintroduce the HVM class for U+0DCA 2022-06-25 13:48:43 -04:00
David Corbett 1555b30081 Add U+25CC to lone Robatic but not after U+17D9 2022-06-25 11:02:39 -06:00
David Corbett 0f15cb12de [indic-table] Fix block headers 2022-06-25 11:02:39 -06:00
Garret Rieger 2674962cf5 [repacker] Add comment to graph class. 2022-06-24 17:16:50 -06:00
Garret Rieger 81a2dd0e80 [repacker] Update Makefile for repacker re-org. 2022-06-24 17:16:50 -06:00
Garret Rieger 7078560e33 [repacker] extract graph serialization code into a seperate file. 2022-06-24 17:16:50 -06:00
Garret Rieger 20b02a672d [repacker] Begin splitting up the repacker implementation into several files. 2022-06-24 17:16:50 -06:00
Behdad Esfahbod ad2ab1ddb4 [indic] Clear syllables at the end of GSUB 2022-06-24 11:08:35 -06:00
Behdad Esfahbod 8bfb3e9df2 [indic] Disable vowel-constraints under uniscribe-bug-compatible 2022-06-23 13:28:07 -06:00
Behdad Esfahbod a5cf1a8738 Another null adjustment 2022-06-20 18:01:39 -06:00
Behdad Esfahbod a7960bdfb0 [config] Add HB_NO_LANGUAGE_LONG and enable in TINY profile
Disables 3letter language tags and more complex ones.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3664
2022-06-20 17:55:28 -06:00
Behdad Esfahbod 0d03123350 Mark a null variable as const 2022-06-20 16:51:35 -06:00
Behdad Esfahbod 91d00ab722 [ucd] Update 2022-06-20 13:36:01 -06:00
Khaled Hosny a15ad778fe [arabic-fallback] Generate PUA table from data
Uses packtab for more compact arrays.
2022-06-19 12:29:10 -06:00
Behdad Esfahbod abc0685749
Merge pull request #3063 from harfbuzz/arabic-pua
Arabic PUA shaping
2022-06-19 11:05:17 -06:00
Behdad Esfahbod 7ec4a556d9 [normalize] Cosmetic
I didn't know this syntax is allowed in old C++.
2022-06-19 11:01:45 -06:00
Behdad Esfahbod 8c27c51c27 [arabic-pua] Rename symbols 2022-06-19 10:47:38 -06:00
Behdad Esfahbod 7698962911 [arabic-fallback] Disable PUA shaping under HB_NO_OT_SHAPER_ARABIC_FALLBACK 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 4520911429 [arabic-fallback] Fix warning 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 55350377b0 [cmap/ft] Only map 0xF000 range if font_page is NONE 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 41a079bdec [arabic-fallback] Make win1256 code build again
Humm. Untested.
2022-06-19 10:42:06 -06:00
Behdad Esfahbod 1db6fddb24 [arabic-fallback.hh] Hook up 3-letter ligatures 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 20e9f0b1d2 [arabic-fallback] Add the component loop
Should be able to support 3-letter ligatures now.  Hooking up next.
2022-06-19 10:42:06 -06:00
Behdad Esfahbod 9684d2d8aa [arabic-fallback] More baby steps 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 08715d75e0 [arabic-fallback] Another baby-step 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 15dd34b515 [arabic-fallback] Another minor rename towards supporting 3-letter ligatures 2022-06-19 10:42:06 -06:00
Behdad Esfahbod d86effa4a6 [arabic-fallback] Rename; towards supporting 3-letter ligatures 2022-06-19 10:42:06 -06:00
Behdad Esfahbod 16c2371352 [arabick-fallback] Apply mark ligatures 2022-06-19 10:42:06 -06:00
Khaled Hosny 7f362196c5 [arabic] Split ligature array
Generate marks and 3-component ligatures in separate arrays. The new
arrays are unused currently.
2022-06-19 10:42:06 -06:00
Khaled Hosny 6e29060af2 [arabic] Add mapping files for the PUA encoding
Unused right now.
2022-06-19 10:42:06 -06:00
Khaled Hosny 189e8c326e [ft] Remap legacy Arabic PUA codepoints
Similar to what ot font finctions does, to support Support legacy
pre-OpenType Windows 3.1-era fonts.
2022-06-19 10:42:05 -06:00
Khaled Hosny 69cbd365cc WIP: manually add data entries for PUA ligatures
Just a test, I’m not entirely convinced we should do this.
2022-06-19 10:42:05 -06:00
Khaled Hosny c3f590bb1e [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.
2022-06-19 10:42:05 -06:00
Behdad Esfahbod b172f88c7d Fix a warning
D:\a\harfbuzz\harfbuzz\src\hb-bit-set-invertible.hh(83): warning C4805: '^': unsafe mix of type 'uint32_t' and type 'const bool' in operation
[870/1075] Compiling C++ object src/harfbuzz.dll.p/hb-face.cc.obj
cl : Command line warning D9025 : overriding '/EHs' with '/EHs-'
cl : Command line warning D9025 : overriding '/EHc' with '/EHc-'
2022-06-18 14:00:59 -06:00
Garret Rieger af74ab452f [repack] always run the sort in repack.
This is needed to ensure virtual link ordering constraints are respected when repack is being called from fontTools. For subset usage, repack won't be called if the graph doesn't already overflow so this change doesn't cause any extra work.
2022-06-16 15:17:58 -06:00
Behdad Esfahbod 29811a720c Fix typo 2022-06-16 14:04:08 -06:00
Behdad Esfahbod c859cbfb88 Mark an array as static
Not sure how this wasn't flagged before.
2022-06-16 13:55:12 -06:00
Behdad Esfahbod 19802dfdf0 Minor rename of static symbols to namespace them 2022-06-16 13:52:47 -06:00
Behdad Esfahbod e0a5231657 [draw] Lazy-allocate user-data/destroy callback vector 2022-06-16 13:40:44 -06:00
Garret Rieger 823f32a0e2 [subset] Fix potential out of bounds write setting overlap flag on composite glyphs. 2022-06-16 12:30:59 -06:00
Behdad Esfahbod 3f9226da37 [meta] Fix typo 2022-06-16 09:28:47 -06:00
Ryan VanderMeulen 1c0eeb7cb3 Don't try to set _USE_MATH_DEFINES if already defined 2022-06-16 09:28:33 -06:00
Ryan VanderMeulen 25917c780f Fix build warning when __GNUG__ isn't defined 2022-06-16 09:28:33 -06:00
Behdad Esfahbod e9c0a74063 Fix clang -Wcomma warnings
Fixes https://github.com/harfbuzz/harfbuzz/issues/3656
2022-06-15 17:28:36 -06:00
Behdad Esfahbod d9c18cc2f0 [indic-table] Update 2022-06-15 16:50:34 -06:00
Behdad Esfahbod 99a26bc19d [indic-generator] Fix typo 2022-06-15 16:15:21 -06:00
Behdad Esfahbod 2cbb775866 [myanmar] Fold category P into GB
Fixes https://github.com/harfbuzz/harfbuzz/issues/3649

This actually now allows Asat after the Myanmar punctuation marks;
something I see in Wikipedia data.
2022-06-15 16:15:21 -06:00
Behdad Esfahbod b350e30186 [myanmar] Remove category D completely
Fixes https://github.com/harfbuzz/harfbuzz/issues/3651
2022-06-15 16:15:21 -06:00
Behdad Esfahbod 8533214ac5 [khmer] Fold category Coeng completely into category H 2022-06-15 16:15:21 -06:00
Behdad Esfahbod 607a9fe793 [indic-like] Remove category duplication 2022-06-15 16:15:21 -06:00
Behdad Esfahbod 0485192195 [indic-like] Remove dependence on ot_category_t 2022-06-15 16:15:21 -06:00
Behdad Esfahbod 14049003ac [indic-like] Reduce indic-dependency of khmer/myanmar even more 2022-06-15 16:15:21 -06:00
Garret Rieger f9f0969cb6 [subset] switch to hb_memcpy. 2022-06-14 17:49:13 +01:00
Garret Rieger 1e34852f07 [subset] Fix undefined behaviour.
Don't memcpy if there's nothing to copy.
2022-06-14 17:49:13 +01:00
Garret Rieger 311413f16b [subset] Fix fuzzer issue.
Fixes https://oss-fuzz.com/testcase-detail/5693568490012672. new_index should be set from new_index2 when the entry is present in the map.
2022-06-14 17:49:13 +01:00
Matthias Clasen 4ba7980b8e Fix the generated gobject headers
These headers are not acceptable to modern compilers.
gcc says things like:

/usr/include/harfbuzz/hb-gobject-enums.h💯1: warning:
  function declaration isn’t a prototype [-Wstrict-prototypes]
  100 | hb_gobject_ot_metrics_tag_get_type () G_GNUC_CONST;
2022-06-11 23:47:00 +01:00
Ali Chraghi 79bb3b5278 [docs] fix typo 2022-06-11 13:04:55 +01:00
Behdad Esfahbod 98116e5cf5 [myanmar] Fix comments on categories
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894955430
2022-06-11 03:42:36 -06:00
Behdad Esfahbod 02016914b3 [indic-generator] Remove unnecessary Myanmar category=D overrides
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894685106
2022-06-10 17:24:19 -06:00
Behdad Esfahbod 937c878078 [indic-generator] Remove unnecessary override for Myanmar U+1039
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894762535
2022-06-10 17:20:15 -06:00
Behdad Esfahbod 9504037ccb [indic-generator] Remove three unneeded Myanmar overrides U+AA74-6
These three characters have Indic_Syllabic_Category=Consonant_Placeholder. The
original evidence that prompted these overrides says they can take tone marks.
They are not subjoined: Khamti Shan apparently does not use subjoined
characters at all. Therefore, PLACEHOLDER is good enough and these need not be
overridden to C.

https://www.unicode.org/L2/L2008/08276-khamti-proposal.pdf

https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894640713
2022-06-10 17:13:16 -06:00
Behdad Esfahbod 02eb6606d7 [indic-generator] Remove redundant PLACEHODER characters overrides
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894631922
2022-06-10 17:10:42 -06:00
Behdad Esfahbod e16669ceac [indic-generator] Remove redundant override of U+2010 / U+2011
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894630596
2022-06-10 17:05:35 -06:00
Behdad Esfahbod bb255cd9a6 [indic-generator] Remove redundant override of U+0980
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894627064
2022-06-10 17:03:52 -06:00
Behdad Esfahbod 30d8c87d01 [myanmar] Document Medials
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894532676
2022-06-10 16:56:15 -06:00
Behdad Esfahbod e1826c3714 [khmer] Reuse OT_H for OT_Coeng
https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894517417
2022-06-10 16:53:11 -06:00
Behdad Esfahbod eb2f2e318a [indic-generator] Update comment re U+104E
https://github.com/harfbuzz/harfbuzz/pull/3648#pullrequestreview-1002150048
2022-06-10 16:47:59 -06:00
Behdad Esfahbod 0daafefdd1 Merge branch 'main' into indic-cleanup 2022-06-10 10:55:49 -06:00
Behdad Esfahbod 148283d0e0 [syllabic] Use a buffer scratch-flag for has-broken-syllable 2022-06-10 07:48:39 -06:00
Behdad Esfahbod 6997d10bc0 [arabic] Remove a couple TODO items 2022-06-10 07:43:33 -06:00
Behdad Esfahbod e1575f2347 [iter] Remove a few TODO items 2022-06-10 07:41:39 -06:00
Behdad Esfahbod 689c77530a [buffer] Actually remove TODO item
In reality, one side is smaller and one side is larger. The existing code
handles that just fine.
2022-06-10 07:37:45 -06:00
Behdad Esfahbod d09e962b9f [buffer] Update a TODO item 2022-06-10 07:36:43 -06:00
Behdad Esfahbod b3f689e7e5 [serializer] Remove TODO that's not gonna happen 2022-06-10 07:31:47 -06:00
Behdad Esfahbod 10a8cc28fc [normalizer] Remove a TODO that's not going to happen 2022-06-10 07:31:06 -06:00
Behdad Esfahbod 7635568f29 [font] Remove a TODO item that's not gonna happen 2022-06-10 07:29:15 -06:00
Behdad Esfahbod bd453de757 [unicode] Accept a couple hacks as permanent 2022-06-10 07:25:48 -06:00
Behdad Esfahbod 39c132a62d [indic/myanmar] Simplify compare functions 2022-06-10 07:12:39 -06:00
Behdad Esfahbod a5bcd8567f [indic] Update comment re category listing 2022-06-10 07:03:02 -06:00
Behdad Esfahbod 10a5485136 [indic/myanmar] Move is_consonant to .cc files 2022-06-10 06:34:56 -06:00