Behdad Esfahbod
4d40ed9d1a
[iter] Add hb_iter_with_mixin_t<>
2019-01-29 13:55:23 -08:00
Behdad Esfahbod
6521d5b201
[iter] Export operator << / >>
2019-01-29 13:44:39 -08:00
Behdad Esfahbod
84a25d79c6
[iter] Rename
2019-01-29 13:39:19 -08:00
Garret Rieger
e6ffcc5904
[subset] Add expected files for retain-gids integration tests.
2019-01-29 13:19:21 -08:00
Garret Rieger
198859bb37
[subset] For retain gids don't truncate glyphs past the highest requested subset glyph.
2019-01-29 13:19:21 -08:00
Garret Rieger
490d52f908
[subset] Add retain-gids option to hb-subset executable.
2019-01-29 13:19:21 -08:00
Garret Rieger
a903f9c228
[subset] Add some subsetting integration tests covering retain gids.
2019-01-29 13:19:21 -08:00
Garret Rieger
05e99c86ba
[subset] A few small fixes for the new subset plan api.
2019-01-29 13:19:21 -08:00
Garret Rieger
bdbe047d6c
[subset] Update hb-subset-plan.cc to match hb-subset-plan.hh.
2019-01-29 13:19:21 -08:00
Garret Rieger
74c44ffeba
[subset] Update hb-subset-glyf.cc to use new hb-subset-plan API.
2019-01-29 13:19:21 -08:00
Garret Rieger
4842294b86
[subset] Update gsub to use glyphset() method of subset plan.
2019-01-29 13:19:21 -08:00
Garret Rieger
853b1f1aa5
[subset] Correct maxp num glyph's to use new subset plan method.
2019-01-29 13:19:21 -08:00
Garret Rieger
846e05a298
[subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it.
2019-01-29 13:19:21 -08:00
Garret Rieger
03e88eab5c
Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation.
2019-01-29 13:19:21 -08:00
Garret Rieger
925be29223
Update hb-ot-vorg-table and hb-ot-layout-common to use the updated subset plan api.
2019-01-29 13:19:21 -08:00
Garret Rieger
4af3be6ef8
Remove glyph array from subset plan, make num_glyphs and glyphset private.
2019-01-29 13:19:21 -08:00
Garret Rieger
23f364429d
[subset] Fix hdmx subsetting when retain gids is enabled.
2019-01-29 13:19:21 -08:00
Garret Rieger
2da1654aef
[subset] Compute num_glyphs during subset plan construction.
...
Update maxp to use the correct num glyphs.
2019-01-29 13:19:21 -08:00
Garret Rieger
ccc59dc612
[subset] Add unit test for glyf subsetting and retain gids.
2019-01-29 13:19:21 -08:00
Garret Rieger
96b038f375
[subset] fix failure to init instruction ranges values for an invalid glyph.
2019-01-29 13:19:21 -08:00
Garret Rieger
4b1ac3a2fa
[subset] Do some refactoring in hb-subset-glyf.cc.
...
- Extract code out into helper methods in several places.
- Bundle loca address, size and is short into a struct.
2019-01-29 13:19:21 -08:00
Garret Rieger
b7f971884e
Add retain_gids option to subset input. Update glyf and loca handling to respect retain_gids.
2019-01-29 13:19:21 -08:00
Behdad Esfahbod
e75b22039f
Move hb_addressof() to hb-meta.hh
2019-01-28 21:26:23 -05:00
Behdad Esfahbod
6cf25c2971
Merge branch 'master' into iter
2019-01-28 21:23:28 -05:00
Behdad Esfahbod
71157a4520
[meta] Remove _ft struct names
...
Using decltype() instead.
2019-01-28 21:20:12 -05:00
Behdad Esfahbod
9103bd056f
[pair] Use decltype
2019-01-28 21:16:51 -05:00
Behdad Esfahbod
fe53292310
[CI] Peg CircleCI badge link to master branch
...
[skip ci]
2019-01-28 20:47:58 -05:00
Behdad Esfahbod
9569819e24
[ci] Peg build status badges to master branch
...
[skip ci]
2019-01-28 20:43:43 -05:00
Behdad Esfahbod
1e29906a77
Switch README / README.md
...
[skip ci]
2019-01-28 20:39:16 -05:00
Behdad Esfahbod
a30e13469e
[iter] Add operator << to set / vector
2019-01-28 16:39:01 -05:00
Behdad Esfahbod
d438e61042
[iter] Fix operator() impls
2019-01-28 16:34:04 -05:00
Behdad Esfahbod
57795bc8dd
[iter] Add operator>> and operator<<
2019-01-28 16:23:12 -05:00
Behdad Esfahbod
8bd96be994
[iter] Use auto c = C.iter() internally
2019-01-28 16:17:36 -05:00
Behdad Esfahbod
073fa4ac5a
Merge branch 'master' into iter
2019-01-28 14:35:41 -05:00
Behdad Esfahbod
9a1df82e3f
[uniscribe] Whitelist function type cast
2019-01-28 14:15:18 -05:00
Behdad Esfahbod
6e1c3eaf70
Fix sign comparison error
2019-01-28 14:12:41 -05:00
Behdad Esfahbod
9db7a7da63
Fix warning
...
c:\projects\harfbuzz\src\hb-ot-color-cbdt-table.hh(59): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
2019-01-28 14:09:59 -05:00
Behdad Esfahbod
51b584880e
[pragma] Silence MSVC unknown-pragma warning
2019-01-28 14:09:45 -05:00
Behdad Esfahbod
d592bd16cd
Try fixing MSVC build
2019-01-28 13:41:40 -05:00
Behdad Esfahbod
0363ce650b
[iter] Accept C arrays in hb_iter()
2019-01-27 01:06:32 +01:00
Behdad Esfahbod
b62e7f9223
[test] Test unary operator+
...
"Test" as in compiles..
2019-01-27 00:51:57 +01:00
Behdad Esfahbod
778c96b8d7
[iter] Fix hb_iter()
2019-01-27 00:50:54 +01:00
Behdad Esfahbod
2f5b1a9104
[iter] Add unary operator+ that returns a copy
2019-01-27 00:49:37 +01:00
Behdad Esfahbod
fbab07f9b3
[iter] Add hb_bool() and make hb_filter default to it for predicate
2019-01-27 00:44:45 +01:00
Behdad Esfahbod
313d63e240
[meta] Back to using _ft suffix for function-object types
...
Seprate namespace, cleaner, more clear.
2019-01-26 22:58:26 +01:00
Behdad Esfahbod
2aff6d9625
[iter] Test that default-constructed iterators are empty
2019-01-26 22:54:25 +01:00
Behdad Esfahbod
f35e7eabf1
pragma GCC diagnostic error "-Winjected-class-name"
...
See 6b6783e158
2019-01-26 22:50:00 +01:00
Behdad Esfahbod
509353357c
[iter] Use hb_declval() instead of Null() to get instance
...
I had used Null to make one of the bots happy before. Not going
to bend to such demands anymore..
2019-01-26 22:47:35 +01:00
Behdad Esfahbod
6b6783e158
[iter/meta] Fix build on newer clang
...
The mystery failure had to do with SFINAE failure because the template
function involved was accessing ::iter_t of a type that was also named iter_t.
In this context, apparently:
warning: ISO C++ specifies that qualified reference to 'iter_t' is a
constructor name rather than a type in this context, despite preceding 'typename' keyword
[-Winjected-class-name]
We use a new macro, also called hb_iter_t(), to get iterator type of
a type. This uses declval/hb_decltype, and has the added benefit
that it returns correct type for const vs non-const objects, if they
have different iterators.
2019-01-26 22:44:09 +01:00
Behdad Esfahbod
5adb113baf
[meta] Mark function-objects as const
2019-01-26 22:15:59 +01:00