Ebrahim Byagowi
1cc844da66
minor
...
Use hb_font_t coords directly
2019-08-14 19:10:02 +04:30
Ebrahim Byagowi
6a194b6876
Minor, remove trailing spaces in hb-font.{cc,h} as .editorconfig
2019-08-14 18:49:57 +04:30
Ebrahim Byagowi
3ae44645d6
Fix caret_count value when AAT is disabled
...
Set caret_count to zero as that is what we want to happen inside lcar when
there is no result.
2019-08-14 17:58:30 +04:30
Ebrahim Byagowi
a5aa67b9f2
[lcar] Use multiformat convention
2019-08-14 17:58:30 +04:30
Ebrahim Byagowi
bfffe85dd7
[opbd] Use multiformat convention on the table
2019-08-14 15:45:57 +04:30
Ebrahim Byagowi
d6206dbcc4
[opbd] Turn OpticalBounds fields to FWORD
2019-08-14 15:45:57 +04:30
Behdad Esfahbod
6461143b44
2.6.0
2019-08-13 22:20:54 -07:00
Behdad Esfahbod
e56d4ff43b
Rename hb_ot_meta_get_entries() to +hb_ot_meta_get_entry_tags()
2019-08-13 21:02:47 -07:00
Behdad Esfahbod
aade9b70aa
[pool] Fix alignment assertion
...
I *think* it should fix https://github.com/harfbuzz/harfbuzz/issues/1901
Ie. if on a system, alignof(void*) < sizeof(void*)...
2019-08-13 16:10:03 -07:00
Ebrahim Byagowi
60d9f00975
Implement opbd table parsing
...
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
2019-08-11 16:15:19 +04:30
Ebrahim Byagowi
8762676e34
[os2] Replace null pool addr compare by checking vital fields ( #1896 )
2019-08-10 01:26:55 +04:30
Ebrahim Byagowi
1f926fb2b6
[fvar] Use roundf instead hardcoding round logic
2019-08-09 11:05:48 -07:00
Ebrahim Byagowi
60485ab047
[os2] Get defined lower/upper optical size
2019-08-07 23:23:06 +04:30
Qunxin Liu
321d5588d4
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
2019-08-06 14:06:35 -07:00
Qunxin Liu
37572882e7
[subset] cmap table to use _subset2 and new iterator frameworks
2019-08-05 11:26:34 -07:00
Ebrahim Byagowi
5848c890cf
[metrics] Add metrics tags documentation
2019-08-03 14:19:28 +04:30
Ebrahim Byagowi
4d1872b8e0
[base] Add documentation for baseline tags from ot spec
2019-08-03 14:06:46 +04:30
Ebrahim Byagowi
bbeee84a7f
[meta] Add metadata tags documentation from ot spec
2019-08-03 13:47:55 +04:30
Michiharu Ariza
6b3e093911
Merge branch 'master' into var-subset
2019-07-31 16:04:48 -07:00
Michiharu Ariza
07f27accb9
Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset
2019-07-31 14:58:53 -07:00
Ebrahim Byagowi
521c7013ab
[cpal] revert port to dagger
...
It has a different semantic, maybe we should just do a zero memset,
letting Behdad to decide.
2019-07-30 18:10:40 +04:30
Ebrahim Byagowi
8014ce198a
[cpal] port to dagger ( #1887 )
2019-07-30 17:31:34 +04:30
Ebrahim Byagowi
d67201da5a
[colr] minor
2019-07-30 17:20:18 +04:30
Ebrahim Byagowi
e5cf9718c0
[colr][feat][meta] Port sub_array iteration to dagger ( #1868 )
2019-07-30 04:44:23 +04:30
Ebrahim Byagowi
9f2b4956b4
[base] Add hb_ot_layout_get_baseline API
2019-07-30 04:42:51 +04:30
Ebrahim Byagowi
40a4b6ddbd
[var] Add a new API, hb_font_set_var_named_instance
2019-07-29 16:23:47 -07:00
Ebrahim Byagowi
b6a2281f1a
[meta] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
Ebrahim Byagowi
20072a2eca
[metrics] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
Ebrahim Byagowi
ed2965a852
[base] Don't use enum inside the table
2019-07-30 03:34:10 +04:30
Ebrahim Byagowi
388fa9b326
[lcar] flip for and switch position
2019-07-29 15:19:33 -07:00
blueshade7
f0dd724c1e
Merge branch 'master' into subset-varstore
2019-07-29 14:21:05 -07:00
blueshade7
6e3bfecf35
Merge branch 'master' into var-subset
2019-07-29 12:25:43 -07:00
Ebrahim Byagowi
4e1da6bb61
[metrics] Rename hb_ot_metrics_t to hb_ot_metrics_tag_t
2019-07-29 22:43:09 +04:30
Ebrahim Byagowi
2c2a2b97db
[meta] Rename hb_ot_meta_t to hb_ot_meta_tag_t
2019-07-29 22:43:09 +04:30
Behdad Esfahbod
7bcc5dfa97
[iter] Fix accumulate to accept const types
2019-07-28 20:55:50 -07:00
Ebrahim Byagowi
87454c447d
[base] fix logic
2019-07-28 20:46:47 +04:30
Ebrahim Byagowi
69655d5bc3
[base] minor
2019-07-28 20:39:20 +04:30
Ebrahim Byagowi
d9c44e7239
[base] Check if the returned base_coord is valid
2019-07-28 20:35:32 +04:30
Ebrahim Byagowi
53853c044a
[meta] minor
2019-07-28 20:23:48 +04:30
Ebrahim Byagowi
ed126d8c37
[base] fix build
2019-07-28 20:21:59 +04:30
Ebrahim Byagowi
c7b22b96cc
[base] minor
2019-07-28 19:46:57 +04:30
Ebrahim Byagowi
a157342fce
[base] Fix use of bsearch
2019-07-28 18:54:13 +04:30
Ebrahim Byagowi
eddd456532
[base] minor spacing
2019-07-28 02:21:54 +04:30
Behdad Esfahbod
0a18efd766
Minor
2019-07-26 14:34:26 -07:00
Ebrahim Byagowi
d3d99f8bb6
[metrics] Expose raw OS2/HHEA asc/dsc values using private tags ( #1867 )
2019-07-26 16:46:04 +04:30
Ebrahim Byagowi
aaffe41094
[meta] minor, simplify iterator
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
62932c14bd
[meta] Rename ot-metadata to ot-meta per review
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
821d9e9034
Use .sub_array for DataMap tags iteration
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
a250af98ae
[meta] Add max value to hb_ot_metadata_t
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
80e246a1f2
[meta] Add a test program for metadata
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
bc65ebbce7
[meta] hb_ot_metadata_get_entries, tags iteration API
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
3ac03bd67c
[meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
aab8e08487
minor spacing fix ( #1869 )
2019-07-26 02:19:22 +04:30
Ebrahim Byagowi
d791446a93
[feat] minor
2019-07-26 02:12:06 +04:30
Ebrahim Byagowi
a744fdc6c8
Add _MAX_VALUE to hb_ot_metrics_t ( #1861 )
2019-07-25 14:49:02 +04:30
Ebrahim Byagowi
069872c51b
minor
2019-07-25 14:27:43 +04:30
Ebrahim Byagowi
737eb85a4e
Add _MAX_VALUE to disabled baseline types enum
2019-07-25 14:26:30 +04:30
Ebrahim Byagowi
dd9a0ed3f0
Replace 0x7FFFFFFFu in enums with HB_TAG_MAX_SIGNED
2019-07-24 00:47:19 +04:30
blueshade7
5988ab8a4e
Merge branch 'master' into var-subset
2019-07-22 14:36:16 -07:00
Ebrahim Byagowi
636ae42237
minor, comment out meta table in list till its use
2019-07-22 22:50:21 +04:30
Khaled Hosny
04c11a19b7
Merge pull request #1851 from khaledhosny/fix-sbix-extents
...
Fix sbix glyph extents
2019-07-22 16:44:47 +02:00
Ebrahim Byagowi
41ab56e095
Implement meta table parsing
2019-07-22 18:46:52 +04:30
Ebrahim Byagowi
a51aa951b5
[metrics] Fix _get_variation API to works with actual coord values
2019-07-22 18:35:55 +04:30
Behdad Esfahbod
77141dff7d
[metrics] _-prefix internal symbol
2019-07-22 07:48:32 -04:00
Behdad Esfahbod
89228ccb9a
Fix warning on IBM compilers
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1852
2019-07-22 07:07:37 -04:00
Khaled Hosny
c9796d15e1
Fix sbix glyph extents
...
* The ‘height’ needs to be negated since the API returns “distance from
top to bottom side”.
* Similarly, the ‘y_offset‘ needs to be added to the height to get the
‘y_bearing’, since sbix’s offset is “the point in the glyph relative
to its lower-left corner which corresponds to the origin” while
‘y_bearing’ is the “top side of glyph from origin”.
With these changes the sbix glyph metrics return values similar to other
tables, as they were otherwise unusable.
2019-07-22 05:42:34 +02:00
Ebrahim Byagowi
759f3bd486
[metrics] Don't use metrics API in _common
...
As it is exposed with a different condition
2019-07-22 02:06:07 +04:30
Ebrahim Byagowi
eb8bd2f7ec
Add hb_gdi_face_create API
...
Based on Konstantin Ritt work posted on mailing list
2019-07-21 14:22:19 -07:00
Ebrahim Byagowi
3d03bb84d4
[metrics] minor, tweak comment
2019-07-21 12:38:04 +04:30
Behdad Esfahbod
e540d402f6
[docs] Minor
2019-07-20 12:09:34 -07:00
Ebrahim Byagowi
00e13985fb
Revert hhea fallback to OS/2 to its reverse way
...
As searching number of hhea having fonts beats the number of OS/2
having ones in macOS 10.14.2
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
c13ef9cc64
Bring back asc/desc abs logic used to be in hmtx table
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
772e62688c
Make HB_TINY builds work again by separating the always needed part
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
cb70433740
Merge _get_position_internal into _get_position
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
ac3518af58
Define post table only when used
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
471f798ace
Merge ot-metrics-internal.cc with ot-metrics now that isn't needed in subset
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
29444d7e9f
Don't cache ascender/descender metrics
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
5e28c2654d
[doc] minor, improve hb-ot-metrics doc a bit
2019-07-20 14:08:11 +04:30
Ebrahim Byagowi
08b48e89d3
[os2] minor spacing tweaks
2019-07-20 12:53:40 +04:30
Ebrahim Byagowi
54b9ab704d
Fallback hhea's ascender/descender to OS2
2019-07-20 12:51:38 +04:30
Behdad Esfahbod
ec8dde8142
[metrics] Fall back to hhea if OS2 metrics are empty
...
Reinstates previous logic, even if it might be unnecessary.
2019-07-19 11:14:20 -07:00
Ebrahim Byagowi
2e5b49d11d
Add HB_NO_METRICS and fix HB_TINY build ( #1839 )
2019-07-19 11:41:07 +04:30
Behdad Esfahbod
2bd953ff4f
[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.
2019-07-18 14:25:45 -07:00
Behdad Esfahbod
9675a067bf
[ot-metrics] Touch up
2019-07-18 14:16:11 -07:00
Ebrahim Byagowi
87e628436e
Implement a simple API for fetching opentype metrics
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
2019-07-18 14:15:58 -07:00
David Corbett
ed67efcc8c
Revert "[Myanmar] Prevent reordering between Asat and Dot below"
...
This reverts commit 1c8654ead4
.
2019-07-18 10:42:20 -07:00
blueshade7
a76d8b0d55
Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset
2019-07-17 14:12:06 -07:00
Behdad Esfahbod
6157bbe512
Revert "Revert previous change"
...
This reverts commit b8e90ca1a1
.
Works now.
2019-07-17 11:20:08 -07:00
Behdad Esfahbod
576065b442
[iter] Fix reduce type deduction
2019-07-17 11:19:34 -07:00
Ebrahim Byagowi
b8e90ca1a1
Revert previous change
...
Interestingly all of the bots disagreed with the change and the complain is... weird.
2019-07-17 21:38:19 +04:30
Ebrahim Byagowi
ee05627aff
Improve syntax to make out linux-arm64 a little happy
...
Decided to apply is we did the same on other places however this won't
fix all of its complains
2019-07-17 21:28:25 +04:30
Ebrahim Byagowi
6a6bf7b7bc
Downgrade -Wdeprecated-declarations to warning
...
Fixes #1834 at least till fix of #1829
2019-07-17 21:22:38 +04:30
Behdad Esfahbod
25e2562fdf
[amalgam] Fix redundant-declaration warning/error
2019-07-17 09:35:56 -07:00
Ali Javadi
c184180228
Fix C++20 compile warning on implicit capture of this with '=' default capture ( #1833 )
...
Happens when compiled with -std=c++2a, the fix just makes the captures explicit to resolve the issue. Just adding this in addition to = doesn't work in C++11.
src/hb-ot-layout-gpos-table.hh:737:18: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ return (this+_).intersects (glyphs, valueFormat); })
^
src/hb-ot-layout-gpos-table.hh:736:16: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (const OffsetTo<PairSet> &_)
^
, this
2019-07-16 22:10:24 +04:30
Ebrahim Byagowi
1f94388516
[usp] define atfree callback only if used
2019-07-16 11:24:29 +04:30
blueshade7
68ac767e43
added skip(), get_next_value() to inc_bimap to subset VarStore with retain-gids
2019-07-12 23:02:29 -07:00
blueshade7
670768e5b9
fix inc-bimap for subsetting VarStore with retain-gids
2019-07-12 16:14:23 -07:00
Behdad Esfahbod
4730b350b7
Revert "Update Graphite API to latest ( #1215 )"
...
This reverts commit e4e74c2751
.
See https://github.com/harfbuzz/harfbuzz/issues/1829
2019-07-12 15:38:35 -07:00
Ebrahim Byagowi
7a9d643c29
Fix unintialized memory read in cmap subset ( #1826 )
2019-07-11 01:35:07 +04:30
Ebrahim Byagowi
a6065d05cf
Don't call memcpy when a table is empty
2019-07-10 23:38:07 +04:30
blueshade7
0eef8113d8
retain gids in HVAR so in sync with fontTools
...
regenerate Comfortaa subset test results
2019-07-09 11:43:59 -07:00
Michiharu Ariza
a87fbb872b
Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset
2019-07-09 10:25:54 -07:00
blueshade7
6e35668b45
fix var-subset build
2019-07-09 09:47:54 -07:00
blueshade7
8bf989ea70
update from master
2019-07-08 17:13:29 -07:00
Dominik Röttsches
2e7021da7d
Revert "Minor" - revert moving extern "C" definitions in-function
...
This reverts commit 62e60322cb
since it
breaks building HarfBuzz as part of Chromium.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1821 .
2019-07-08 10:51:47 +03:00
Behdad Esfahbod
f18ea1dd3a
[font] Remove division when scaling
...
Yoohoo. This seems to be precise enough! Let's see if it sticks.
I'm asking Dominik to run this in Chrome test suite and report.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1801
2019-07-05 13:56:45 -07:00
Behdad Esfahbod
b847769292
[font] Keep font-space to user-space multiplier
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
2019-07-05 13:52:09 -07:00
Behdad Esfahbod
df6edcd44c
Make face immutable in hb_font_set_face()
2019-07-05 13:45:15 -07:00
Behdad Esfahbod
0d425e1eea
[ot-font] Optimize rounding
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
The assumption that compiler optimizes "upem/2" to a shift only
works if upem is unsigned... Anyway, spoon-feed the compiler.
2019-07-05 13:42:02 -07:00
Simon Sapin
ffa736f151
hb_set_previous_range docs: fix presumed copy/paste error
2019-07-05 08:09:25 -07:00
Simon Sapin
641f337380
Docs typo fix: slower → lower
2019-07-05 08:09:09 -07:00
Ebrahim Byagowi
9fea6b4dd4
[amalgam] Use it in cmake port and fix conflicts ( #1812 )
2019-07-05 18:46:41 +04:30
Behdad Esfahbod
b240d701fd
[amalgam] Include integration source files as well
...
Just for those that are normally built into libharfbuzz itself.
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-03 12:17:57 -07:00
Behdad Esfahbod
d515242045
[amalgam] Rename hb.cc to harfbuzz.cc
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-03 12:10:03 -07:00
Behdad Esfahbod
4cb180d227
Revert "Use constexpr to replace passthru_ bools"
...
This reverts commit c4aa10ebc8
.
Broke several compilers... Sigh. The version without constexpr
didn't fully optimize out the unreachable code on clang.
So, revert it is...
2019-07-02 19:44:18 -07:00
Behdad Esfahbod
c4aa10ebc8
Use constexpr to replace passthru_ bools
2019-07-02 19:15:03 -07:00
Behdad Esfahbod
2e48fd0779
Sprinkle constexpr around
...
Being conservative. Also not sure it makes any real difference
in our codebase.
2019-07-02 17:55:58 -07:00
Behdad Esfahbod
df4448064e
Remove unused 'inline' specifier
2019-07-02 17:11:09 -07:00
Behdad Esfahbod
04a4957040
[amalgam] Add hb.cc to git
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 16:19:18 -07:00
Behdad Esfahbod
62e60322cb
Minor
2019-07-02 16:08:53 -07:00
Behdad Esfahbod
ceb4c212dc
[amalgam] Fix UCD issue
...
This actually makes it build now!
Part https://github.com/harfbuzz/harfbuzz/issues/1809
Keeping open to add tests, CI, etc.
2019-07-02 16:08:53 -07:00
Behdad Esfahbod
7ca54811f4
[amalgam] Fix CFF
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 16:00:58 -07:00
Behdad Esfahbod
3724f13ba0
[amalgam] Finish fixing Indic-like shapers
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 15:40:11 -07:00
Behdad Esfahbod
eb37bc9d93
[use] Remove Syriac features
...
This was non-standard, and unused anyway.
2019-07-02 15:21:11 -07:00
Behdad Esfahbod
dc480fc471
[amalgam] More Indic-like issues
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 15:17:56 -07:00
Behdad Esfahbod
d8b5353e07
[amalgam] More
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 15:09:26 -07:00
Behdad Esfahbod
d115a9e022
[amalgam] Fix most duplicate-id instances in Indic-like shapers
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 14:58:52 -07:00
Behdad Esfahbod
c073233f45
Add make rule to build hb.cc
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 14:26:45 -07:00
Behdad Esfahbod
f1d20d9b4d
Add ucd-table make target
2019-07-02 14:18:38 -07:00
blueshade7
634390ecaf
added VariationStore serializer to be used by HVAR/VVAR subsetters
2019-07-01 18:52:57 -07:00
Michiharu Ariza
5763a92749
Merge branch 'master' into var-subset
2019-07-01 15:17:19 -07:00
Michiharu Ariza
040b261dee
add bimap test along with bug fix/tweaks
2019-07-01 13:54:36 -07:00
Ebrahim Byagowi
4ab2d1d676
[dwrite] Apply minor style improves
2019-07-01 19:30:21 +04:30
Carlo Bramini
5ebd265e66
Fix error rised by GCC8+
2019-07-01 16:06:43 +02:00
Carlo Bramini
693dacbb1c
Use lower case file name with #include
...
I tried to cross compile harfbuzz for Windows and an error was generated because `DWrite_1.h` was not found.
This happened because the filesystem is case sensitive and for this reason that include file was not found.
The right name of the file to be used is `dwrite_1.h`, with all letters not capitalized:
https://docs.microsoft.com/en-us/windows/desktop/api/dwrite_1/
I also verified in the installation of VS2017 with Windows Kit v10 and in that place it was also lower case.
So, in my opinion it should be better to change this.
2019-07-01 13:31:26 +02:00
Carlo Bramini
601b6825b0
Dynamically load DWRITE
...
Also checks if DWriteCreateFactory() has been executed successfully.
2019-06-30 15:03:44 +02:00
Behdad Esfahbod
ad341d5f16
[config] Fix CoreText build with NO_AAT
2019-06-28 16:01:09 -07:00
Ebrahim Byagowi
3f806673fb
Apply some minor improves on CFFIndex
2019-06-29 00:00:00 +04:30
Ebrahim Byagowi
ddd29e5594
minor, reuse StructAtOffset logic in StructAtOffsetOrNull
2019-06-28 23:44:14 +04:30
Ebrahim Byagowi
9db7ce73d7
minor style improve in hb-cff-interp-common.hh
2019-06-28 23:11:52 +04:30
Ebrahim Byagowi
9a7b7bd9fc
style fix for pylint complain
2019-06-28 22:53:51 +04:30
Michiharu Ariza
01832fd16b
alternate fix for https://crbug.com/971933
2019-06-26 15:59:00 -07:00
Behdad Esfahbod
cd65305b05
[config] Don't disable emoji sequences in HB_TINY
...
It makes sense to disable this code these if editing is not needed.
However, this is also necessary to correctly display emoji sequences
in right-to-left direction. For that reason, don't auto-disable it.
2019-06-26 14:57:48 -07:00
Behdad Esfahbod
7298716a3c
[config] Compile out modified combining-class if HB_NO_OT_SHAPE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 14:51:41 -07:00
Behdad Esfahbod
1cdd0fa60d
[emoji] Port generator to packtab
2019-06-26 14:49:15 -07:00
Behdad Esfahbod
5130c90ac0
[config] Add HB_NO_EMOJI
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 14:29:39 -07:00
Behdad Esfahbod
9d5b5348c7
[config] Add HB_NO_SHAPER
...
Don't know who would want when why. But makes sense to have.
2019-06-26 13:58:40 -07:00
Behdad Esfahbod
8fe15485cb
[config] Add HB_NO_OT_TAG
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 13:49:42 -07:00
Behdad Esfahbod
7dcf8e126e
[config] Fix build with HB_NO_OT_LAYOUT
2019-06-26 13:44:23 -07:00
Behdad Esfahbod
2804790bce
[config] Add dependency
2019-06-26 13:38:14 -07:00
Behdad Esfahbod
b0fd16eec6
[config] Add dependency
2019-06-26 13:31:51 -07:00
Behdad Esfahbod
12092a46d8
[config] Rename HB_NO_SHAPE_AAT to HB_NO_AAT_SHAPE
2019-06-26 13:31:01 -07:00
Behdad Esfahbod
bb4bbe617d
[config] Add HB_NO_OT_LAYOUT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 13:29:58 -07:00
Behdad Esfahbod
ab40a2feec
[config] Enable HB_NO_OT_FONT in HB_NO_OT
2019-06-26 13:25:02 -07:00
Behdad Esfahbod
7aad53657e
[config] Add HB_NO_OT_SHAPE / HB_NO_OT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 13:21:03 -07:00
Behdad Esfahbod
cee9f6e044
Fail compile if no shapers enabled
2019-06-26 13:01:58 -07:00
Behdad Esfahbod
8786820a5a
[src] Add make targets "tiny" and "tinyz"
2019-06-26 12:55:46 -07:00
Behdad Esfahbod
b14e413fae
2.5.3
2019-06-26 10:44:10 -07:00
Behdad Esfahbod
3bfa878c98
[gen-ucd] Protect against accidents like previous commit
...
https://github.com/harfbuzz/harfbuzz/pull/1796
2019-06-25 19:07:07 -07:00
David Corbett
f4ea1a9afb
[ucd] Include scripts added in Unicode 10 or later
2019-06-25 18:52:40 -07:00
Michiharu Ariza
10bd6b8d91
minor
2019-06-25 13:52:40 -07:00
Michiharu Ariza
f3ee2bd020
add ops & methods to hb_bimap_t making it more like hb_map_t
...
moved has () to hb_bimap_t from hb_inc_bimap_t
moved identity () to hb_inc_bimap_t
removed forward()
2019-06-25 13:52:40 -07:00
Michiharu Ariza
094966959f
add hb_bimap_t, subclass hb_inc_bimap_t replacing CFF::remap_t
2019-06-25 13:52:40 -07:00
David Corbett
0660175dc8
Categorize U+1133B for use in Tamil
2019-06-25 13:23:19 -07:00
David Corbett
fb0df17b27
Correct "nonunihan" to "nounihan"
2019-06-24 21:54:26 -04:00
Ebrahim Byagowi
bb4cdf8e0b
Replace create_from_file with empty blob if HB_NO_OPEN is defined
2019-06-24 14:35:53 -07:00
GaryQian
ccf1448238
Cast long->size_t to ensure comparison of similar types
2019-06-24 13:03:07 -07:00
Behdad Esfahbod
ec8e635e0c
[ucd] Use custom encoding to shrink composition data
...
Saves another 2.5kb.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-24 12:37:23 -07:00
Behdad Esfahbod
9c933acaa4
[ucd] Save a few more bytes
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-24 11:58:36 -07:00
Qunxin Liu
9bd8d66c2b
[subset] VORG table to use _subset2 method and new iterator frameworks
2019-06-24 10:42:59 -07:00
James Hilliard
c2d7dfc68f
Add missing cairo-svg dependency to test-ot-color
2019-06-23 00:42:06 -06:00
Behdad Esfahbod
ad97ec9501
[config/ucd] Add HB_NO_UNICODE_UNASSIGNED and activate in HB_TINY
...
Saves another 12kb:
$ python ./gen-ucd-table.py ucd.nounihan.grouped.zip > hb-ucd-table.hh && make -j5 CPPFLAGS='-Os -DHB_TINY' -C ~/hb/build/src/ && size ~/hb/build/src/.libs/libharfbuzz_la-hb-ucd.o
INFO: Loading UCDXML...
INFO: Preparing data tables...
INFO: Generating output...
INFO: Compression=1:
INFO: Dataset=gc FullCost=18612
INFO: Dataset=ccc FullCost=3550
INFO: Dataset=bmg FullCost=1548
INFO: Dataset=sc FullCost=17765
INFO: Dataset=dm FullCost=13325
INFO: Compression=3:
INFO: Dataset=gc FullCost=10726
INFO: Dataset=ccc FullCost=2389
INFO: Dataset=bmg FullCost=1052
INFO: Dataset=sc FullCost=13669
INFO: Dataset=dm FullCost=7780
INFO: Compression=5:
INFO: Dataset=gc FullCost=8274
INFO: Dataset=ccc FullCost=2055
INFO: Dataset=bmg FullCost=908
INFO: Dataset=sc FullCost=4073
INFO: Dataset=dm FullCost=7780
INFO: Done.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-21 14:36:48 -07:00
Behdad Esfahbod
ccea7fa119
[config] Make test build under HB_TINY
2019-06-21 14:36:17 -07:00
Ebrahim Byagowi
12cec6c12e
Don't define hb_blob_create_from_file if HB_NO_OPEN is defined
2019-06-21 22:39:42 +04:30
Behdad Esfahbod
7f3b409e85
Fix build with -O0
...
message_impl was not defined. That causes trouble if compiler didn't
optimize the unreachable call out...
2019-06-20 14:24:43 -07:00
Behdad Esfahbod
6b44bf8538
2.5.2
2019-06-20 11:57:19 -07:00
Behdad Esfahbod
fce3bf8127
[config] Add HB_NO_LAYOUT_COLLECT_GLYPHS
...
Part of
2019-06-19 20:34:29 -07:00
Behdad Esfahbod
6c725c7799
[config] Add HB_NO_LAYOUT_FEATURE_PARAMS
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 20:12:25 -07:00
Behdad Esfahbod
27de7c44fe
[config] Add HB_NO_FACE_COLLECT_UNICODES
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 20:07:02 -07:00
Behdad Esfahbod
3caa32d737
[config] Add HB_NO_CMAP_LEGACY_SUBTABLES
...
Part of https://vimeo.com/331852453/06eec89c65
2019-06-19 19:59:26 -07:00
Behdad Esfahbod
8e3cde67df
Fix MSVC build
...
MSVC warning:
c:\projects\harfbuzz\src\hb-ot-layout-gsubgpos.hh(2732): error C2121: '#': invalid character: possibly the result of a macro expansion [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
Clang warning for it:
./hb-ot-layout-gsubgpos.hh:2729:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
2019-06-19 19:59:26 -07:00
Behdad Esfahbod
c8f529a07e
[config] Add HB_NO_HINTING, enabled by HB_TINY
...
Disables HintingDevice tables and Anchors addressing contour points.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 19:33:15 -07:00
Behdad Esfahbod
a849873124
[config] Add HB_NO_VAR to disable variations support, enabled by HB_TINY
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 19:26:22 -07:00
Behdad Esfahbod
230adf2c41
[config] Add HB_NO_OT_FONT_GLYPH_NAMES
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 18:49:52 -07:00
Behdad Esfahbod
b0debc32f6
[subset] Simplify collect_name_ids
2019-06-19 18:42:51 -07:00
Behdad Esfahbod
a5897463d4
[config] Add HB_NO_STAT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 18:36:35 -07:00
Behdad Esfahbod
ffc2b8d56e
[config] Don't include name table in face if HB_NO_NAME
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 18:33:29 -07:00
Behdad Esfahbod
1432df102e
[config] Disable hb-ot-font code if HB_NO_OT_FONT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 18:32:40 -07:00
Behdad Esfahbod
b1a2384a52
[ucd] Print out table sizes
2019-06-19 17:34:12 -07:00
Behdad Esfahbod
f4de0c7754
[config] Disable AAT map
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 17:09:55 -07:00
Behdad Esfahbod
d8bf6723a1
[config] Disable more legacy kerning
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 17:04:16 -07:00
Behdad Esfahbod
43d7048d59
[config] More trak disabling
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 17:02:32 -07:00
Behdad Esfahbod
d84932ba50
[config] add HB_NO_OT_SHAPE_FRACTIONS, enabled in HB_LEAN
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 16:57:48 -07:00
Behdad Esfahbod
eaf4a7364c
[config] Minor trak disable
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 16:51:23 -07:00
Behdad Esfahbod
971330c058
[config] Add HB_NO_LANGUAGE_PRIVATE_SUBTAG
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 16:37:35 -07:00
Behdad Esfahbod
f642a5fa6c
Restructure code
2019-06-19 16:36:09 -07:00
Behdad Esfahbod
d2ff73b256
[config] Remove remaining AAT context bits if HB_NO_OT_KERN
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 16:28:27 -07:00
Behdad Esfahbod
588697afd0
[config] Add HB_NO_OT_KERN, enabled by HB_MINI / HB_NO_LEGACY
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 16:24:51 -07:00
Behdad Esfahbod
2e3e929d2b
Fix build
2019-06-19 15:50:13 -07:00
Behdad Esfahbod
631da9d816
[config] Remove tables from hb_face_t for disabled features
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-19 15:36:14 -07:00
Misty De Meo
e710888188
coretext: remove trailing macro from SCRATCH_RESTORE
2019-06-18 15:52:23 -07:00
Behdad Esfahbod
10bac21bb5
[coretext/uniscribe/directwrite] Remove extra semicolons
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1783
2019-06-18 15:15:06 -07:00
Behdad Esfahbod
f0b0fd4e78
Remove dead code
2019-06-18 14:40:24 -07:00
Behdad Esfahbod
d7e27cd65a
[config] Don't use VORG table if HB_NO_OT_FONT_CFF
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 14:38:05 -07:00
Behdad Esfahbod
37f8ebff5f
[config] Fixup for AAT ltag table access
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 14:33:49 -07:00
Behdad Esfahbod
f08066ce9a
[config] One more morx disabling
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 14:30:45 -07:00
Behdad Esfahbod
231d025788
[config] Don't compile AAT API if HB_NO_AAT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 14:25:52 -07:00
Behdad Esfahbod
bf9424a9a1
[config] Don't compile unused layout API if HB_NO_LAYOUT_UNUSED
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:31:35 -07:00
Behdad Esfahbod
eb9798ef73
[config] Dont' compile buffer message API if HB_NO_BUFFER_MESSAGE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:29:55 -07:00
Behdad Esfahbod
be1c0ab218
[config] Don't compile buffer serialize API if HB_NO_BUFFER_SERIALIZE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:26:03 -07:00
Behdad Esfahbod
bdbabd110c
Minor header include cleanup
2019-06-18 13:21:25 -07:00
Behdad Esfahbod
83de3a60ab
[config] Don't compile color API if HB_NO_COLOR
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:18:15 -07:00
Behdad Esfahbod
350f98ea47
[config] Don't compile name table API if HB_NO_NAME
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:11:41 -07:00
Behdad Esfahbod
da51a2cb0e
[config] Don't compile math API if HB_NO_MATH
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-18 13:09:22 -07:00
Behdad Esfahbod
737436d3f8
Streamline HB_NO_CFF
2019-06-18 13:07:44 -07:00
Behdad Esfahbod
60653a7adb
Remove HB_VECTOR_SIZE
...
It was cumbersome to get it to work reliably, for dubious performance
gain, mostly in the subsetter maybe...
Life is easier without. It was disabled forever anyway.
2019-06-18 13:01:11 -07:00
Behdad Esfahbod
24060d3aa7
Add hb_bitwise_neg
2019-06-18 12:50:42 -07:00
Behdad Esfahbod
7cf9169078
Remove accidentally left cruft
2019-06-18 12:44:03 -07:00
Behdad Esfahbod
6172ec5d87
Remove (unused) posix_memalign fallback
...
Was wrong. The returned pointer couldn't be passed to free(). Ouch!
2019-06-18 12:41:56 -07:00
Behdad Esfahbod
aa3450cac1
[config] Don't compile disabled features
...
This makes it possible to include all .cc files into build, even if not
building CoreText, Uniscribe, etc.
This was mostly to help custom builders. But also means that we can
include all files in our own build system. Not sure if we should.
Definitely simplifies things, but slightly only.
2019-06-17 22:41:49 -07:00
Behdad Esfahbod
23ccd00a3d
Minor
2019-06-17 20:35:04 -07:00
Behdad Esfahbod
23768a99e0
[config] Replace HAVE_FALLBACK with HB_NO_FALLBACK_SHAPE
...
This disables fallback shaper in tiny builds. Projects that don't
use our build system and want to disable fallback shaper (eg. Firefox)
should define HB_NO_FALLBACK_SHAPE now.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-17 20:29:29 -07:00
Behdad Esfahbod
1c56b5d1d8
[serialize] Fix copy() calling operator=
...
9f610ae239 (commitcomment-33944686)
2019-06-17 14:23:04 -07:00
Behdad Esfahbod
6492b2345c
Minor
2019-06-17 14:19:13 -07:00
Behdad Esfahbod
8938dd23c6
Use injected class name
2019-06-17 14:12:11 -07:00
Behdad Esfahbod
bfb5569d53
Disable non-OpenType kerning with hb-ft in HB_TINY
2019-06-17 14:06:04 -07:00
Behdad Esfahbod
0819f3ca86
Deprecate v_kerning callback again
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1682
2019-06-17 14:02:47 -07:00
Behdad Esfahbod
eb2825c7f1
Minor
2019-06-17 13:42:53 -07:00
Behdad Esfahbod
896416bd4c
Partially revert "[ft/ot] Remove implementation of deprecated kerning funcs"
...
This reverts commit 47030b1855
.
Reverts only the hb-ft part, to reinstate non-OpenType kerning with
FreeType.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1682
2019-06-17 13:39:49 -07:00
Behdad Esfahbod
2682efb02d
Revert "Deprecate font kern API"
...
This reverts commit d219f899f4
.
API change: Un-deprecate font kern API.
Part of https://github.com/harfbuzz/harfbuzz/issues/1682
We should document that this API is only necessary to hook up
non-OpenType kerning. hb-ot-font will continue to NOT implement them.
2019-06-17 13:38:49 -07:00
David Corbett
d6cb244f7d
Canonically reorder U+0C55 and U+0C56
2019-06-16 16:44:45 -07:00
Michiharu Ariza
82d4bfb8f3
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
2019-06-14 11:08:59 -07:00
Ebrahim Byagowi
6bcbe495bf
[cff] minor format ( #1774 )
2019-06-13 15:04:51 +04:30
David Corbett
4f37c0db9b
Remove 'mym3'
2019-06-11 15:41:37 -07:00
Michiharu Ariza
90872a29ee
change assert(false) to failure
2019-06-11 12:42:28 -07:00
Behdad Esfahbod
0c5da57d1a
Fix typo :)
2019-06-10 14:06:25 -07:00
Ebrahim Byagowi
19b8eb08e5
Move HB_NO_SETLOCALE to closer place to its to unbreak HB_TINY build ( #1768 )
2019-06-11 01:33:30 +04:30
Ebrahim Byagowi
b4a5a69ad8
Add HB_NO_OEPN ( #1767 )
2019-06-11 01:33:09 +04:30
Ebrahim Byagowi
a36ff94171
Add HB_NO_SETLOCALE
2019-06-10 12:54:02 -07:00
Ebrahim Byagowi
c4cae81a26
Remove round polyfill
...
Added in 01dff1e
and 19256bef
, this was targeted at older
msvc versions that don't support C99 but now as we require
C++11 we don't target places those envs thus removing this.
2019-06-10 12:49:50 -07:00
Behdad Esfahbod
ff9b9b1c89
Simplify HB_PARTIALIZE impl
...
+this works on gcc 4.8 as well as default code path.
2019-06-10 12:48:25 -07:00
Behdad Esfahbod
451edbd4d0
Revert "Test new solution for HB_PARTIALIZE"
...
This reverts commit a0c4900799
.
2019-06-10 12:46:54 -07:00
Behdad Esfahbod
a0c4900799
Test new solution for HB_PARTIALIZE
...
Just testing bots. Will finish based on results.
2019-06-10 12:33:23 -07:00
Ebrahim Byagowi
9407ef8d4b
minor, add HB_USE_INTERNAL_QSORT
...
The only thing I need for a working wasm in a minimum libc,
otherwise I have to provide the very same qsort inside that libc
2019-06-10 15:17:43 +04:30
Ebrahim Byagowi
7dcfc5357d
[stat] minor format
2019-06-09 11:58:08 +04:30
Ebrahim Byagowi
2646c7149c
[stat] minor
2019-06-09 11:51:58 +04:30
Ebrahim Byagowi
c4669fda78
[algs] minor
2019-06-09 11:50:36 +04:30
Ebrahim Byagowi
9b853f755d
[cff] Use switch on multi-format structs ( #1762 )
2019-06-09 11:49:25 +04:30
Ebrahim Byagowi
eff579f743
Update and use internal qsort everywhere
2019-06-08 12:53:27 -07:00
Behdad Esfahbod
5074d665a8
[ucd] Save another 1.5kb
...
https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-07 14:21:40 -07:00
Behdad Esfahbod
973699c49b
Disable clang gcc impersonator
2019-06-07 12:49:06 -07:00
Behdad Esfahbod
e4e518f33d
Fix build on gcc 4.8
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1724
2019-06-07 12:41:09 -07:00
Behdad Esfahbod
3c240bd3dc
Downgrade double-promotion from error to warning
...
https://github.com/harfbuzz/harfbuzz/issues/1740
2019-06-07 10:56:24 -07:00
Ebrahim Byagowi
385e436692
Minor, fix gcc maybe-uninitialized complain
...
I guess all of its field will be initialized anyway here but lets make it more defensive
2019-06-07 10:49:57 -07:00
Ebrahim Byagowi
1bada656a8
Minor, remove unnecessary semicolon
...
Causing -Wextra-semi-stmt build error when no primitive has chosen
Interesting that nobody has noticed it yet.
2019-06-07 02:01:27 +04:30
Garret Rieger
f9b1ae7336
[subset] Move OS/2 to subset2.
2019-06-06 12:33:42 -07:00
Qunxin Liu
93d592e0e1
[subset] post table to use _subset2
2019-06-06 10:55:25 -07:00
Qunxin Liu
db938479d7
[subset] maxp table to use _subset2
2019-06-05 14:56:21 -07:00
Eli Zaretskii
d5e5f37832
This makes minor changes to allow building HarfBuzz with
...
mingw.org's MinGW.
src/hb-algs.hh: Don't compile _BitScanForward and _BitScanReverse
for GCC >= 4. mingw.org's MinGW doesn't have these functions.
src/hb-atomic.hh: MemoryBarrier does exist in mingw.org's MinGW,
but it is not a macro, it is an inline function. __MINGW32_VERSION
is a macro that exists only in mingw.org's MinGW, so conditioning
on it should not affect MinGW64, where MemoryBarrier is a macro.
src/hb-uniscribe.cc: Define E_NOT_SUFFICIENT_BUFFER if it is not
defined (mingw.org's MinGW doesn't).
src/hb.hh: Don't include intrin.h for mingw.org's MinGW, since that
header is not available; instead, include windows.h. Conditioned
on __MINGW32_VERSION to avoid affecting MinGW64.
2019-06-05 14:37:51 -07:00
Michiharu Ariza
8f8e8a8479
fix build
2019-06-05 12:59:09 -07:00
Behdad Esfahbod
c7439d4e3a
Slightly massage buffer-messaging commit
...
Saves a few bytes.
2019-06-05 12:15:09 -07:00
Michiharu Ariza
4ddab6facc
Merge branch 'master' into var-subset
2019-06-05 11:21:27 -07:00
Ebrahim Byagowi
4b1b0bf2f5
Merge pull request #1755 from ebraminio/slim
...
Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined
2019-06-05 12:57:28 +04:30
Ebrahim Byagowi
815f002bb9
Don't use vsnprintf when HB_NO_BUFFER_MESSAGE is defined
2019-06-05 10:38:06 +04:30
David Corbett
2e16593b70
[myanmar] Make medial_group match the OT spec
...
Sometime between [July 2018] and [January 2019], the OpenType Myanmar
grammar changed: one asat is now allowed after a medial ya, before any
other medial consonant.
[July 2018]: http://web.archive.org/web/20180711011550/https://docs.microsoft.com/en-us/typography/script-development/myanmar
[January 2019]: http://web.archive.org/web/20190115044451/https://docs.microsoft.com/en-us/typography/script-development/myanmar
This also reverts commit 439b05867c
, which
allowed an asat immediately after a medial ra.
2019-06-04 13:02:04 -07:00
Qunxin Liu
209491fc37
[subset] Hmtx/vmtx tables to use subset2 and new iterator frameworks
2019-06-04 12:08:05 -07:00
Michiharu Ariza
12febd68d6
added parentheses to FDSelect::sanitize as well
2019-06-03 16:40:03 -07:00
Michiharu Ariza
be82a2fc0c
parenthesized cond-exp in CFF2FDSelect::sanitize
2019-06-03 15:52:23 -07:00
Ebrahim Byagowi
760eb1bf93
Reapply possible bsearch overflow fix
...
Originally introduced in 21ede86
(#1314 ) but as it wasn't applied to hb_bsearch
accidentally removed while merging hb_bsearch_r to it.
2019-06-03 05:48:04 -07:00
Bruce Mitchener
5846884f86
test: Use nullptr in C++ code. ( #1744 )
2019-06-03 12:30:25 +04:30
Ebrahim Byagowi
8278ff7dce
minor
2019-06-02 00:36:30 +04:30
Ebrahim Byagowi
33d38e793e
Use a unified bsearch ( #1741 )
...
A part of #593
2019-06-02 00:19:57 +04:30
Ebrahim Byagowi
c91f3fa3ea
[dwrite] Replace REPLACEME with release version the symbol had
2019-06-01 10:55:37 +04:30
Behdad Esfahbod
93c455567f
2.5.1
2019-05-31 22:56:56 -07:00
Behdad Esfahbod
619f5f1eb9
Fourth try at building VS bots
...
Based on https://github.com/harfbuzz/harfbuzz/issues/1730#issuecomment-497151210
2019-05-31 22:49:34 -07:00
Behdad Esfahbod
aba3888d93
Third try at fixing VS build
...
https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod
8aaecbb583
Second VS fix try
...
https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod
5a1b5c0a8b
Try fixing VS builds
...
Hopefully fixes https://github.com/harfbuzz/harfbuzz/issues/1730
2019-05-31 22:49:34 -07:00
Behdad Esfahbod
92fde3dea2
Whitespace
2019-05-31 22:49:34 -07:00
rsheeter
49879adbfc
[subset] Correct calculation of max offset; fixes bug where loca would erroneously be short
2019-05-31 19:43:30 -07:00
Behdad Esfahbod
2ad4ba7bc0
[gsub] Minor
2019-05-31 15:51:29 -07:00
Behdad Esfahbod
2dbdec66a1
[gsub] Porting serialize to iterators
2019-05-31 15:41:54 -07:00
Behdad Esfahbod
1834cf86d4
[serialize] Pass offset to serialize_subset()
2019-05-31 14:39:32 -07:00
Behdad Esfahbod
9260441624
[serialize] Pass offset to serialize_copy()
2019-05-31 14:35:01 -07:00
Behdad Esfahbod
87dd4bff1c
[math] Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER
...
To HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER. Added a deprecated macro.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1734
2019-05-30 11:26:17 -04:00
Bruce Mitchener
da9d43171b
Fix some typos.
2019-05-28 17:13:57 +02:00
David Corbett
d64fb9db52
[use] Allow U+1A60 TAI THAM SIGN SAKOT after vowel
2019-05-27 13:14:03 -04:00
Behdad Esfahbod
179570d4ca
[atomic] Fix warning, second time
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1554306
2019-05-27 13:08:07 -04:00
Behdad Esfahbod
ad17a8bdd5
[ucd] Update for latest packTab
2019-05-25 16:33:37 -04:00
Behdad Esfahbod
771712b3ca
[ucd] Update for recent packTab
...
No need for separate youseedy package.
2019-05-25 16:33:37 -04:00
Behdad Esfahbod
85b68a42af
[atomic] Fix warnings
...
https://bugzilla.mozilla.org/show_bug.cgi?id=1554306
2019-05-25 12:59:01 -04:00
Behdad Esfahbod
210f93c143
[mutex] Prefer pthread over windows
...
https://github.com/harfbuzz/harfbuzz/issues/1728
2019-05-25 12:49:20 -04:00
Behdad Esfahbod
5fd3ece523
2.5.0
2019-05-24 15:57:57 -04:00
Behdad Esfahbod
1da089179b
Put back Since: tags for hb_color_get_*
2019-05-24 15:41:34 -04:00
Qunxin Liu
e1a5ce6aa6
Fix fuzzer crash testcase
...
Add a check for stringOffSet(uint16) overflow,
return early if overflow happens
2019-05-24 15:26:20 -04:00
David Corbett
d100ccad02
[use] Allow multiple FMs in a cluster
2019-05-24 15:07:29 -04:00
Behdad Esfahbod
487879e013
Don't compile in UCD if HB_NO_UCD defined
2019-05-24 14:35:26 -04:00
Behdad Esfahbod
1fffe51a29
[blob] Shuffle
2019-05-24 14:35:26 -04:00
rsheeter
96de94768b
Merge pull request #1722 from googlefonts/glyf
...
[subset] Use iterators in glyf/loca subsetting
2019-05-24 11:22:41 -07:00
Rod Sheeter
1197bef26c
[subset] Per code review, use hb_array to avoid duplicated type name
2019-05-24 10:52:49 -07:00
Rod Sheeter
13b3cd307e
[subset] Address @behdad review feedback
2019-05-24 10:10:12 -07:00
Behdad Esfahbod
226ab06ec1
[ucd] Add URL to dependencies
2019-05-23 20:39:04 -04:00
Behdad Esfahbod
65392b734e
[ucdn] Replace UCDN with a new UCD implementation
...
UCDN was ~120kb of data. New implementatoin is 69kb in default builds,
and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__. The
latter automatically enabled if built with -Os or -Oz.
There's room to shave off another 10kb or 20kb. That will follow later.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-23 20:34:19 -04:00
Behdad Esfahbod
12c59f6c40
[deprecated] Minor
2019-05-23 20:34:19 -04:00
Behdad Esfahbod
36dee9221f
[gen-ucd] Rename
2019-05-23 20:34:19 -04:00
Behdad Esfahbod
831c213501
[gen-ucd] Minor
2019-05-23 20:34:19 -04:00
Garret Rieger
ff7fc6d488
[subset] Add morx, mort, kern, and kernx to the default layout tables drop list.
2019-05-22 17:36:16 -07:00
Qunxin Liu
993d81b9c5
[subset] Add one ttf file with fvar/STAT tables to integration test
...
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option
2019-05-22 17:20:45 -07:00
Rod Sheeter
58ce477ac1
[subset] Report failure more often
2019-05-21 20:22:40 -07:00
Rod Sheeter
14e3b0cf41
[subset] Code review feedback
2019-05-21 20:09:36 -07:00
Behdad Esfahbod
a03ed95e7d
[gen-ucd] Generate decomposition tables
...
Code is ugly. Ugh.
2019-05-21 16:43:39 -04:00
Behdad Esfahbod
8a48c88fa9
[gen-ucd] Comment
2019-05-21 16:43:39 -04:00
Behdad Esfahbod
b71d353cee
[gen-ucd] Remove some code
2019-05-21 16:43:39 -04:00
Rod Sheeter
4ea44112b5
[subset] Remove missed reference to hb-subset-glyf, was deleted
2019-05-21 13:07:43 -07:00
Garret Rieger
0af9de13b7
[subset] For gsub subsetting only consider glyphs reachable via gsub closure.
2019-05-21 13:02:11 -07:00
Rod Sheeter
349d692b0e
[subset] Iter in and out for loca
2019-05-21 12:38:53 -07:00
Rod Sheeter
95445d79be
[subset] Write loca using more idiomatic harfbuzzese
2019-05-21 11:14:31 -07:00
Rod Sheeter
d1b12a5465
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
2019-05-20 21:29:54 -07:00
Rod Sheeter
3a43603ece
[subset] Fix memory leak caused by failure to cleanup glyf accelerator
2019-05-20 21:25:42 -07:00
Rod Sheeter
5cedda5e4a
[subset] Fix null pointer deref, tidy up a bit
2019-05-20 21:25:42 -07:00
Rod Sheeter
8a84b540c7
[subset] Tests passing using iterator based glyf
2019-05-20 21:25:42 -07:00
Rod Sheeter
82bbec3063
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
2019-05-20 21:25:42 -07:00
rsheeter
9d09ac13a1
[subset] Tweak hint stripping
2019-05-20 21:25:42 -07:00
rsheeter
3a4c928fcf
[subset] Fix glyf tests except hint stripping & local test asan
2019-05-20 21:25:42 -07:00
Rod Sheeter
b77dde8f13
[subset] Destroy blob
2019-05-20 21:25:35 -07:00
Rod Sheeter
14db6512f8
[subset] Correct flipped use short computation
2019-05-20 21:25:29 -07:00
Rod Sheeter
ab3fe5de2b
[subset] Glyf by iter now runs but fails tests
2019-05-20 21:25:16 -07:00
rsheeter
0d7fef2d50
[subset] Dinner time, checkpoint
2019-05-20 21:25:11 -07:00
rsheeter
240bc86e3a
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
2019-05-20 21:25:05 -07:00
rsheeter
02d4d4f3e6
[subset] Starting to sketch glyf as iter
2019-05-20 21:24:59 -07:00
Behdad Esfahbod
1aadd1449c
[gen-ucd] Generate script order table
2019-05-20 17:29:27 -04:00
Behdad Esfahbod
be8de18867
[gen-ucd] Start adding script-order
2019-05-20 17:29:27 -04:00
Behdad Esfahbod
4a0eb066fd
[gen-ucd] Add gc order
2019-05-20 17:29:27 -04:00
Behdad Esfahbod
d1f9b2f961
[gen-ucd] Flesh out a bit more
2019-05-20 17:29:27 -04:00
Behdad Esfahbod
d6de4659aa
Add HB_OPTIMIZE_SIZE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-20 17:29:27 -04:00
Garret Rieger
0ff3618c2d
[subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli.
2019-05-20 13:35:46 -07:00
Garret Rieger
3be0ffe45d
[subset] Add drop tables to subset input.
2019-05-20 13:35:46 -07:00
Behdad Esfahbod
0ca7ad4352
[cff] Fix unlikely invocations
2019-05-20 11:39:07 -04:00
Behdad Esfahbod
3efb7af7e2
[STAT] Fix sanitize condition
...
Oops!
Fixes https://oss-fuzz.com/testcase-detail/5696825891225600
2019-05-20 11:37:16 -04:00
Ebrahim Byagowi
e66eb21a46
Don't set _POSIX_C_SOURCE in NetBSD
...
According to a harfbuzz package patch on NetBSD project
https://github.com/NetBSD/pkgsrc/blob/trunk/fonts/harfbuzz/patches/patch-src_hb-blob.cc
2019-05-18 07:44:48 -07:00
Behdad Esfahbod
08c3648c6e
Oops, fix include
2019-05-17 16:21:34 -07:00
Behdad Esfahbod
24958b8868
[set] Use StructAtOffsetUnaligned
2019-05-17 16:20:36 -07:00
Behdad Esfahbod
b7be59311f
Fix msan issue
...
The fact that HB_AUTO_RETURN will return rvalue-references for rvalues
is very disturbing.
Even apart from that, I'm totally lost re any hb_move needs or
hb_forward'ing to functions/templates where the type is fixed by
explicitly specifying template parameters.
==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f6ad65e51e0 at pc 0x0000005da240 bp 0x7ffc104ab670 sp 0x7ffc104ab668
READ of size 4 at 0x7f6ad65e51e0 thread T0
SCARINESS: 55 (4-byte-read-stack-use-after-return)
#0 0x5da23f in bool OT::Coverage::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>) harfbuzz/src/hb-ot-layout-common.hh:1055:16
#1 0x5d88f9 in bool OT::SingleSubstFormat1::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, unsigned int) harfbuzz/src/hb-ot-layout-gsub-table.hh:98:9
2019-05-16 13:34:19 -07:00
Behdad Esfahbod
bcd3ffc948
Whitespace
2019-05-16 13:27:08 -07:00
Behdad Esfahbod
05bc5f96fb
[subset] Remove extra iteration
2019-05-16 13:05:58 -07:00
Garret Rieger
6555f20958
[subset] Truncate empty gids at the end in retain-gids mode.
2019-05-16 10:34:53 -07:00
Behdad Esfahbod
2376867649
Use hb_map(hb_add(this)) to dereference OffsetTo<>'s
2019-05-15 22:01:44 -07:00
Behdad Esfahbod
6f51e55524
[algs] Rename hb_bind to hb_partial
...
Since our API is the invers of what std::bind is, and closer to Python
functools.partial().
2019-05-15 21:41:12 -07:00
Behdad Esfahbod
0888e7bc86
[algs] Change hb_bind parameter number to be from one
...
To match std:;bind, even though our interfaces are very different.
2019-05-15 21:36:42 -07:00
Behdad Esfahbod
dfa5e42971
Add back symmetric OffsetTo<>::friend operator+
...
Finally seems to be working now.
2019-05-15 21:18:14 -07:00
Behdad Esfahbod
a06a236891
[algs] Partialize all operators
2019-05-15 21:16:09 -07:00
Behdad Esfahbod
edc69ec935
[algs] Rewrite bind API
...
And add a partialization API use example to hb_add()
2019-05-15 21:09:56 -07:00
Behdad Esfahbod
16a3540ea4
[algs] Add hb_bind0 and hb_bind1
2019-05-15 20:48:20 -07:00
Behdad Esfahbod
d214b07883
Fix clang build
...
Ugh.
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
2019-05-15 19:07:39 -07:00
Behdad Esfahbod
371b55c7a0
Fix clang build
...
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
1 error generated.
2019-05-15 19:04:24 -07:00
Behdad Esfahbod
243a5a6af2
[algs] Remove pair copy constructor
...
Use default.
2019-05-15 19:04:24 -07:00
Behdad Esfahbod
f92d188d77
Whitespace
2019-05-15 18:52:57 -07:00
Garret Rieger
962f95cf80
[subset] Switch SingleSubst to use iterators in serialize.
2019-05-15 18:37:32 -07:00
Behdad Esfahbod
78d35f0e78
Reduce captures of lambdas
2019-05-15 18:15:05 -07:00
Behdad Esfahbod
5266ca86b6
Fix tests
...
Oops.
2019-05-15 17:59:00 -07:00
Behdad Esfahbod
5da8a3a90d
Remove variadic form of hb_min/hb_max
...
Unused, and why here and not in other functions...
2019-05-15 17:11:18 -07:00
Behdad Esfahbod
e5cfe9d582
Add arithmetic operators
2019-05-15 16:59:36 -07:00
Behdad Esfahbod
f7a458510d
Add hb_bitwise_* ops
2019-05-15 16:53:12 -07:00
Behdad Esfahbod
d822e0a16f
[array] Adjust operator!=
...
See comments.
2019-05-15 16:30:08 -07:00
Behdad Esfahbod
203ea58bf6
More adjustment to OffsetTo<>::friend opeator+
...
Let's see if I break any bots. But yeah, it wasn't accepting a
non-const pointer. It just happens that we don't use that in the
code it seems.
2019-05-15 16:14:40 -07:00
Behdad Esfahbod
ebf47a95f2
[iter] Simplify operator!= of iterator filters
...
Both to save ops, and also because lambdas don't implement operator!=,
so this was failing in range-based for loop if a lambda was passed to
hb_map() or hb_filter(). Just check end-condition assuming that we
are comparing to .end() or iterators that are otherwise derived from
current iterator. Ie. don't compare things that are expected to be
in common.
2019-05-15 15:14:26 -07:00
Behdad Esfahbod
d3e1d5044f
Add all pair_t comparison operators
2019-05-15 14:34:36 -07:00
Behdad Esfahbod
f244224dbb
[iter] Use default operators instead of redefining empty ones
2019-05-15 14:34:36 -07:00
David Corbett
125c45ed36
Convert Consonant_Initial_Postfixed to CONS_MED
2019-05-15 14:34:25 -07:00
Ebrahim Byagowi
e2767e438c
[ci][test] Ignore other gcov symbols also
...
To fix https://travis-ci.org/harfbuzz/harfbuzz/jobs/532693197
2019-05-15 13:14:09 +04:30
Behdad Esfahbod
763ea4224b
Another try
2019-05-15 01:21:32 -07:00
Behdad Esfahbod
e1b2edb04a
Completely revert the thing back
2019-05-15 01:12:04 -07:00
Behdad Esfahbod
c58eeb5fb3
Another try at fix
...
Fails locally. Trying to understand. Sigh
2019-05-15 01:10:31 -07:00
Behdad Esfahbod
004edf3bda
Ugh. How was the Travis bot happy before, but isn't now?! :(
2019-05-15 01:02:50 -07:00
Behdad Esfahbod
e01c7b1648
Move OffsetTo operator+ back out of class
...
Apparently there's different overload resolution rules that apply, at
least with some (older?) version of gcc.
hb-ot-name-table.hh: In member function ‘void OT::name::accelerator_t::init(hb_face_t*)’:
hb-ot-name-table.hh:244:62: error: ambiguous overload for ‘operator+’ (operand types are ‘hb_blob_ptr_t<OT::name>’ and ‘OT::NNOffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > > {aka const OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<short unsigned int, 2u>, false>}’)
this->pool = (const char *) (const void *) (this->table+this->table->stringOffset);
^
hb-ot-name-table.hh:244:62: note: candidates are:
hb-ot-name-table.hh:244:62: note: operator+(const C*, long int) <built-in>
hb-ot-name-table.hh:244:62: note: operator+(const char*, long int) <built-in>
2019-05-15 00:52:17 -07:00
Behdad Esfahbod
b213042f87
Revert "Revert symmetric OffsetTo overloads"
...
This reverts commit 01912efb74
.
Actually this didn't break things. Fixing
2019-05-15 00:50:48 -07:00
Behdad Esfahbod
01912efb74
Revert symmetric OffsetTo overloads
...
Reverts 57f65ae935
Caused ambiguous-overload on some gcc...
2019-05-15 00:42:47 -07:00
Behdad Esfahbod
d0df996cdc
Use implicit lambda return type
2019-05-15 00:32:41 -07:00
Behdad Esfahbod
57f65ae935
Add symmetric friend operator+ for OffsetTo
2019-05-14 22:52:59 -07:00
Behdad Esfahbod
71208e5047
Move OffsetTo<> deref operators in-class as friends
2019-05-14 22:51:59 -07:00
Behdad Esfahbod
e6d6f4b96d
Whitespace
2019-05-14 22:46:31 -07:00
Behdad Esfahbod
889dc1eb06
[iter] Remove sort categorization
...
See comments.
2019-05-14 22:28:07 -07:00
Behdad Esfahbod
b4eff38397
Start of gen-ucd.py, to replace UCDN
2019-05-14 14:44:27 -07:00
Qunxin Liu
02e5e5d939
[subset] retian nameids from STAT and fvar tables
2019-05-14 14:44:17 -07:00
Behdad Esfahbod
ff7995200e
Hopefully last warning fix
2019-05-14 07:44:03 -07:00
Ebrahim Byagowi
9e7c9c3adb
Fix -Wunused-function on HB_NO_SHAPE_AAT
...
We should add a bot for it
Part of #1652
2019-05-14 15:58:51 +04:30
Dominik Röttsches
c73d7ba75d
Fix building with HB_NO_SUBSET_LAYOUT
...
Fixes an unused function warning when building with HB_NO_SUBSET_LAYOUT
as part of the Chrome build.
2019-05-14 13:31:44 +03:00
Behdad Esfahbod
f39934983f
[ucdn] Fix Hangul composition
...
https://github.com/grigorig/ucdn/issues/23
2019-05-14 00:13:21 -07:00
Behdad Esfahbod
b2ab15a78c
Fix more warnings
2019-05-13 23:47:28 -07:00
Behdad Esfahbod
42ae468a8a
[config] Add NDEBUG and HB_NDEBUG
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-13 23:43:45 -07:00
Behdad Esfahbod
0a01deb76f
One more warning fix
...
No idea where these appear from...
2019-05-13 18:04:09 -07:00
Behdad Esfahbod
f76e9f2ede
[icu] Comment
2019-05-13 17:39:46 -07:00
Behdad Esfahbod
70fe9e7355
Fix moreeeeeeeeeee
2019-05-13 17:35:02 -07:00
Behdad Esfahbod
68e12e68f8
Fix more semi-colon issues
2019-05-13 17:28:59 -07:00
Behdad Esfahbod
4d3cf2adb6
[iter] Fix zip iterator sortedness classification logic
2019-05-13 17:25:07 -07:00
Behdad Esfahbod
c572732f29
Fix more excess semi-colon errors
2019-05-13 15:41:09 -07:00
Behdad Esfahbod
513762849a
[iter] Track strictly-sorted iterators
...
This make output of hb_enumerate() sorted regardless of input iterator.
2019-05-13 15:36:14 -07:00
Behdad Esfahbod
7e02063f32
[iter] Minor
2019-05-13 15:26:00 -07:00
Garret Rieger
a5fb44a8cb
[subset] Fix shadowed 'groups' param in cmap.
2019-05-13 15:04:35 -07:00
Behdad Esfahbod
73943bdf21
Adjust uniscribe_bug_compatible mode
...
More correct behavior. We were commenting out some legit conditions
before.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-13 14:48:31 -07:00
Behdad Esfahbod
809c587083
[config] Better compile away morx/kerx/trak
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-13 14:45:51 -07:00
Behdad Esfahbod
b1d3e54bd3
[indic] Don't constrain how many C, M, ... occur
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1709
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-13 14:35:04 -07:00
Behdad Esfahbod
a487fc3324
Another extra semi-colon
2019-05-13 14:16:33 -07:00
Behdad Esfahbod
8461ade783
Revert "[ragel] Regenerate ragel-generated files using ragel 7.0.0.11 May 2018"
...
This reverts commit 9b05db33b5
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1708
2019-05-13 14:10:48 -07:00
Behdad Esfahbod
52c15b053a
Revert "[ragel] Switch to -T1 output instead of -F1"
...
This reverts commit ae8719eb59
.
Part of https://github.com/harfbuzz/harfbuzz/issues/1708
2019-05-13 14:10:28 -07:00
Behdad Esfahbod
e98f0ddd63
Fix extra semi-colon
2019-05-13 13:53:06 -07:00
Behdad Esfahbod
ae8719eb59
[ragel] Switch to -T1 output instead of -F1
...
Fedora upgraded to ragel 7, which is buggy if char is signed.
Switching to -G2 output fails with sign-compare error:
../../src/hb-buffer-deserialize-json.hh:107:12: error: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘const char’ [-Werror=sign-compare]
if ( 9u <= ( (*( p))) && ( (*( p))) <= 13u ) {
~~~^~~~~~~~~~~~~
Switching to -T1 for now. It actually results in smaller code,
at the expense of some binary searching instead of flat tables.
In the not distant future, we might actually generate two different
outputs and choose between depending on size-optimize options.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1708
2019-05-13 12:30:40 -07:00
Behdad Esfahbod
df3f36f0bb
Minor
2019-05-12 20:56:36 -07:00
Behdad Esfahbod
ccc88e98f3
Fix MSVC build
2019-05-12 16:12:06 -07:00
Behdad Esfahbod
f8f9cb93b7
[config] Define HB_NO_SUBSET_LAYOUT in HB_LEAN
...
Assumning subsetter would be used for printing-like uses in that case,
which don't need GSUB/GPOS.
2019-05-12 15:56:25 -07:00
Behdad Esfahbod
a1394a28fc
[config] Add HB_NO_UNISCRIBE_BUG_COMPATIBLE
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-12 15:47:46 -07:00
Behdad Esfahbod
dba1ac1b0e
[config] Disable buffer serialize routines in HB_TINY
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-12 15:33:49 -07:00
n8willis
3d9be2ad50
Merge pull request #1665 from n8willis/docs-gtkdoc-colormath
...
[Docs] Add gtk-doc comments for OT color and OT math
2019-05-12 20:03:29 +01:00
Behdad Esfahbod
a20db496f0
Fix builds
2019-05-12 11:08:45 -07:00
Behdad Esfahbod
8694d60829
[config] Enable HB_NO_MT in HB_TINY
...
Now that user can override it if needed...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-12 11:05:24 -07:00
Behdad Esfahbod
7f6fca4ef7
Force-disable CFF code under disabling conditions
...
Subsetter size goes down from 190kb to 119kb. Main library about 7kb.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-12 10:29:47 -07:00
Behdad Esfahbod
5249eee437
[config] Allow overriding chosen config
2019-05-11 16:12:23 -07:00
n8willis
1a850abd66
Merge branch 'master' into docs-gtkdoc-colormath
2019-05-11 20:16:57 +01:00
Nathan Willis
8a544171d1
Corrections to OT Color gtk-doc comments.
2019-05-11 20:11:49 +01:00
Nathan Willis
301f5091f6
Corrections to OT Math gtk-doc comments.
2019-05-11 20:11:36 +01:00
Behdad Esfahbod
a6048e4cd0
Fix build
2019-05-11 12:11:22 -07:00
Behdad Esfahbod
32d3c06b61
Disable sbix if no-color or no-ot-font-bitmap
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 11:59:18 -07:00
Behdad Esfahbod
606841b070
[iter] Check for more before forwarding/rewinding past ends
2019-05-11 11:56:26 -07:00
David Corbett
c1c122e7b3
[iter] Fix filter rewinding
2019-05-11 11:52:40 -07:00
David Corbett
b854d4ff46
[array] Fix rewinding
2019-05-11 11:52:40 -07:00
n8willis
76e80c5ca5
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 19:51:24 +01:00
Behdad Esfahbod
79126df307
[iter] Add hb_map_sorted() and hb_map_retains_sorting()
2019-05-11 11:23:31 -07:00
n8willis
bcd81932f0
Update src/hb-ot-math.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:10:32 +01:00
n8willis
ddc6dd42f7
Update src/hb-ot-math.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:10:11 +01:00
n8willis
46e05ecca1
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:09:52 +01:00
n8willis
6d9870b479
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:09:26 +01:00
n8willis
12ea4a24c4
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:08:40 +01:00
n8willis
3535f2d31e
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:07:38 +01:00
n8willis
12d2c472fe
Update src/hb-ot-color.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2019-05-11 14:06:56 +01:00
Behdad Esfahbod
7f45ce42db
[config] Rename
2019-05-11 01:28:31 -07:00
Behdad Esfahbod
0e78d4ddae
[config] Add HB_NO_NAME
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 01:27:50 -07:00
Behdad Esfahbod
1fc0772117
[config] HB_NO_OT_NAME_LANGUAGE AAT
2019-05-11 01:24:23 -07:00
Behdad Esfahbod
4381bb2de7
[config] Comment
2019-05-11 01:14:04 -07:00
Behdad Esfahbod
9c921e6c32
[config] Enable HB_NO_NAME_TABLE_AAT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 01:08:51 -07:00
Behdad Esfahbod
81b79dfc39
[config] Add HB_NO_COLOR to HB_LEAN
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:53:52 -07:00
Behdad Esfahbod
b63a8e173c
[config Add HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS to LEAN
...
Already I don't like the inflexibility of this approach :(.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:47:20 -07:00
Behdad Esfahbod
42a2128477
[config] Disbale getenv() and atexit() if HB_LEAN
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:44:38 -07:00
Behdad Esfahbod
fca2786041
[config] Make HB_DISABLE_DEPRECATED actually compile
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:37:01 -07:00
Behdad Esfahbod
5a48611ccd
[config] Add HB_NO_OT_LAYOUT_UNUSED
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:19:03 -07:00
Behdad Esfahbod
771f1b21d1
[config] Adjust
2019-05-11 00:16:18 -07:00
Behdad Esfahbod
484f6e8215
[config] Add HB_LEAN
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:13:35 -07:00
Behdad Esfahbod
0bfd14c0ed
[config] Fix tests
2019-05-11 00:06:57 -07:00
Behdad Esfahbod
784df8eba1
[config] Flesh out more
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-11 00:04:59 -07:00
Behdad Esfahbod
799c6a5081
[config] Add some
2019-05-10 23:56:40 -07:00
Behdad Esfahbod
e6582de12f
Add hb-config.hh
2019-05-10 23:53:38 -07:00
Behdad Esfahbod
d43af339e7
[subset] More HB_NO_SUBSET_LAYOUT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-10 23:46:22 -07:00
Behdad Esfahbod
31c591d69f
[cff] Prune more code if HB_NO_OT_FONT_CFF
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-10 23:40:09 -07:00
Behdad Esfahbod
5ea8ad5c48
[subset] Add HB_NO_SUBSET_CFF
...
Doesn't fully prune all the relevant code. To be fixed later.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-10 23:36:42 -07:00
Behdad Esfahbod
2c93f0dee3
Add HB_NO_AAT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-10 23:35:10 -07:00
Behdad Esfahbod
62dfe7aea2
[cff] Minor
2019-05-10 23:18:08 -07:00
Behdad Esfahbod
227d85e138
Minor
2019-05-10 23:16:14 -07:00
Behdad Esfahbod
9bfe22af61
[sanitize] Fix previous commit
2019-05-10 22:44:19 -07:00
Behdad Esfahbod
4dcf65328f
[sanitize] Simplify
2019-05-10 22:23:24 -07:00
Behdad Esfahbod
23168c3981
[sanitize] Use hb_is_trivially_copyable()
2019-05-10 22:20:47 -07:00
Behdad Esfahbod
0ff7954f9f
[meta] Add hb_is_trivial
2019-05-10 22:04:40 -07:00
Behdad Esfahbod
7162a97bca
[meta] Add hb_is_trivially_copyable()
2019-05-10 22:03:03 -07:00
Behdad Esfahbod
f2398f34c0
[meta] Add is_trivially_destructible
2019-05-10 21:59:57 -07:00
Behdad Esfahbod
72cb5b8e52
Remove accidentally included include
2019-05-10 21:50:15 -07:00
Behdad Esfahbod
086772e409
[meta] Add is_destructible
2019-05-10 21:49:25 -07:00
Behdad Esfahbod
b14745278a
[met]a Add is_constructible, ...
2019-05-10 21:42:59 -07:00
Behdad Esfahbod
19e08a1467
[iter] Adjust source_of/sink_of
2019-05-10 21:25:07 -07:00
Behdad Esfahbod
c0485e32a3
Use hb_void_t<> the way it's supposed to be used
2019-05-10 21:03:14 -07:00
Behdad Esfahbod
40fb36a39d
[meta] Minor
2019-05-10 21:01:19 -07:00
Behdad Esfahbod
f9a96a0a97
[meta] More rewrites
2019-05-10 20:56:16 -07:00
Behdad Esfahbod
5252677e53
[meta] Rewrite hb_int_min/max
2019-05-10 20:49:52 -07:00
Behdad Esfahbod
caa3f92e91
[meta] void_tt -> void_t
2019-05-10 20:44:22 -07:00
Behdad Esfahbod
7df3ecfb40
[meta] hb_void_t -> hb_empty_t
2019-05-10 20:43:26 -07:00
Behdad Esfahbod
149c3db8a2
[meta] Minor
2019-05-10 20:34:52 -07:00
Behdad Esfahbod
707ff5b59d
Minor
2019-05-10 20:31:20 -07:00
Behdad Esfahbod
ce300f4fb6
[meta] Rewrite is_signed, add is_unsigned
2019-05-10 20:26:29 -07:00
Behdad Esfahbod
e939d88bd7
[meta] Rewrite is_integral / is_floating_point, add is_arithmetic
2019-05-10 20:20:51 -07:00
Behdad Esfahbod
c3a456a26e
[meta] Rewrite is_cr_convertible
2019-05-10 20:17:30 -07:00
Behdad Esfahbod
b4ad6af9c4
[meta] Rewrite is_base_of
2019-05-10 20:15:03 -07:00
Behdad Esfahbod
5a171ed3a6
[null] Modernize template work
2019-05-10 20:11:29 -07:00
Behdad Esfahbod
61d150c916
[meta] Add integral_constant, true_t -> true_type, false_t -> false_type
2019-05-10 20:06:31 -07:00
Behdad Esfahbod
38e3a8bd53
[meta] bool_tt -> bool_constant
2019-05-10 20:03:14 -07:00
Behdad Esfahbod
3919ca41b5
[meta] Add is_floating_point
2019-05-10 19:56:36 -07:00
Behdad Esfahbod
25bb7e005d
[meta] Add is_signed for floating point types
2019-05-10 19:52:36 -07:00
Behdad Esfahbod
e0315b4aad
[meta] is_integer -> is_integral
2019-05-10 19:48:02 -07:00
Behdad Esfahbod
9574de7a3e
[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference
2019-05-10 19:29:32 -07:00
Behdad Esfahbod
2fb3a8327a
[vector] Simplify arrayZ
...
Was turned into function when we had static ones and wanted to be
move-safe... Not the case anymore.
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
4d67743ffd
[subset] Use more auto typing
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
a27a31b9ee
Minor
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
2ade008628
[serialize] More rewrite
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
99ed6e29d8
[serialize] Fix a TODO
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
25a5b287f2
Fix sanitize fail of extension sublookups
...
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=960331
2019-05-10 16:03:20 -07:00
Behdad Esfahbod
9c0c3589f3
Minor
2019-05-10 13:56:50 -07:00
Behdad Esfahbod
5d773ec600
Minor
2019-05-10 13:53:15 -07:00
Behdad Esfahbod
ac737f8c9e
Minor again
2019-05-10 13:51:12 -07:00
Behdad Esfahbod
5d4437fad0
Minor
2019-05-10 13:43:29 -07:00
Behdad Esfahbod
cd9bc732a7
[gsubgpos] Minor
2019-05-10 13:17:41 -07:00
Behdad Esfahbod
1d870cce68
Fix bot
...
Any way to catch these?
2019-05-10 11:32:59 -07:00
Behdad Esfahbod
30e4ae6bd1
[meta] Add hb_is_base_of
2019-05-10 11:26:49 -07:00
Behdad Esfahbod
98974ac16f
[iter] Adjust is_source_of / is_sink_of
...
There are two cases that we accept. Encode both.
2019-05-10 11:26:49 -07:00
Behdad Esfahbod
ed972d5d73
[iter] Rewrite test functions
...
Notably, add hb_is_source_of(,) and hb_is_sink_of(,) to replace most
uses of hb_is_iterator_of(,).
2019-05-09 16:58:28 -07:00
Behdad Esfahbod
42901d7af9
Minor
2019-05-09 16:22:08 -07:00
Behdad Esfahbod
322627ae1d
Whitespace
2019-05-09 16:08:10 -07:00
Behdad Esfahbod
489f3c35bd
Fix bot
2019-05-09 15:39:53 -07:00
Behdad Esfahbod
790315e0db
[algs] Implement implicit casting between compatible pair types
2019-05-09 15:31:24 -07:00
Behdad Esfahbod
69d9114b53
[meta] Rewrite hb_is_cr_converitble
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
ceda1f03b7
Fix compile
...
NameRecord is not copy-constructible, so should be iterator of
const-reference.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
3686c3b65c
Adjust is_cr_convertible
...
If To is const& then From doesn't need to be &.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
726002a6a6
[iter] Make hb_is_iterator_of() check is_convertible
...
Instead of is_cr_convertible.
2019-05-09 15:24:25 -07:00
Behdad Esfahbod
70a49f2e4a
[meta] Add hb_conditional<> and hb_is_convertible()
2019-05-09 15:24:25 -07:00
Garret Rieger
5e3cbed048
[subset] Switch building of glyph maps in subset plan to use iterators.
2019-05-09 14:52:01 -07:00
Garret Rieger
971020eca7
Add sink support for hb_hashmap_t and a reverse call to hb_pair_t.
2019-05-09 14:52:01 -07:00
Behdad Esfahbod
98eec3dd5f
Add hb_pair_t(,) macro as alternative to hb_pair_t<,>
...
Just so it's easier to use it in other macros.
2019-05-09 13:15:36 -07:00
Behdad Esfahbod
c9b287a867
Add hb_lidentity(), and rename hb_rvalue() to hb_ridentity()
2019-05-09 12:43:57 -07:00
Behdad Esfahbod
00195a22ce
[hdmx] Adjust to hb_iota() behavior change
...
Use hb_range() instead.
2019-05-09 12:14:36 -07:00
Behdad Esfahbod
4f2ad75a83
[enumerate] Fix hb_enumerate() len for step=0
2019-05-09 12:07:45 -07:00
Behdad Esfahbod
5da3c9c33f
[iter] Fix hb_zip() end condition
...
We should compare-equal to end if either iterator's end reaches,
not if both reach at the same time. Fixes infinite-loop in test
which was happening after hb_enumerate() switched to using hb_zip().
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
57a5256fbc
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
12dd56f857
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
57d545932f
[test-iter] Don't walk past end
...
That's not legal.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
46837910e6
[iter] Allow negative step in hb_iota()
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
087327af1e
[iter] Minor
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
64f0899a9f
[iter] Bug fix
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
5d263556b9
[iter] Fix
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
2c24ea37b1
[iter] Take start value in hb_enumerate()
...
Also rewrite it via composition.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
7675d0d3a6
[iter] Add hb_range()
...
hb_range() is like Python range. hb_iota() has slightly different API.
Ie. it takes a start, instead of end.
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
05867d9f53
[meta] Add hb_int_max()
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
71537f93e0
[iota] end -> end_ to not shadow
2019-05-09 11:31:13 -07:00
Behdad Esfahbod
3476445420
Remove unnecessary template keyword
...
Should fix MSVC.
2019-05-08 21:14:01 -07:00
Behdad Esfahbod
e2a51ff726
Remove unused var
2019-05-08 16:41:39 -07:00
Behdad Esfahbod
e8b45c1933
[array] Add .copy()
2019-05-08 16:37:38 -07:00
Behdad Esfahbod
afb013f350
Fix msan issue
...
hb_identity returns rvalue-reference if input is rvalue. That, can leak
the reference and cause in bad access to temporaries after they are
destructed. This is unfortunately unfixable given the desired
transparency of hb_identity :(. Just don't use it with hb_map().
2019-05-08 16:16:43 -07:00
Behdad Esfahbod
4c94bc63d9
Move hb_invoke() back to hb-algs.hh
2019-05-08 15:57:33 -07:00
Behdad Esfahbod
b710176ce2
[hdmx] Touch up
2019-05-08 15:47:24 -07:00
Garret Rieger
e8ef0e627c
[subset] WIP convert hdmx subsetting to use iterators.
2019-05-08 15:47:24 -07:00
Garret Rieger
d5decf9bf7
[subset] Move hdmx to subset2.
2019-05-08 15:47:24 -07:00
Behdad Esfahbod
27b2093009
[map] Return rvalues from keys()/values()
2019-05-08 15:32:57 -07:00
Behdad Esfahbod
372c5b97bf
[map] Fix bots
...
Older compilers don't like calling iter() from return-type decltype()
../src/hb-map.hh:226:12: error: cannot call member function 'decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) hb_hashmap_t<K, V, kINVALID, vINVALID>::iter() const [with K = const hb_serialize_context_t::object_t*; V = unsigned int; K kINVALID = 0u; V vINVALID = 0u; decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) = hb_map_iter_t<hb_filter_iter_t<hb_array_t<hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t>, bool (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, const<anonymous struct>&, 0u>, hb_pair_t<const hb_serialize_context_t::object_t*, unsigned int> (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, 0u>]' without object
+ iter()
^
../src/hb-meta.hh:58:41: note: in definition of macro 'HB_AUTO_RETURN'
#define HB_AUTO_RETURN(E) -> decltype ((E)) { return (E); }
^
2019-05-08 15:28:39 -07:00
Behdad Esfahbod
a304827184
[map] Add .values() iterator
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
3c69505b3a
[map] Fix iter
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
5ceaafa5de
[algs] Fix identity return type
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
f5705d7656
Whitespace
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
a17f0fa3a1
[meta] Capture rvalue-references in is_reference / remove_reference
2019-05-08 15:08:33 -07:00
Behdad Esfahbod
7166bd5634
Minor
2019-05-08 15:08:33 -07:00
rsheeter
b827181ba1
[map] tweak test-iter.cc
2019-05-08 15:08:33 -07:00
rsheeter
492af0f1bf
[map] add keys()
2019-05-08 15:08:33 -07:00
rsheeter
ba60512813
[map] add a test for iteration
2019-05-08 15:08:33 -07:00
rsheeter
183b8094b5
[map] add iteration
2019-05-08 15:08:33 -07:00
Michiharu Ariza
02ae2591d9
initialize return param subr_num in popSubrNum
...
also snake_cased popSubrtNum and other surrounding function names
2019-05-08 13:44:03 -07:00
Behdad Esfahbod
503748d8a8
[name] Sanitize records for reals
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14641
2019-05-08 12:45:02 -07:00
Behdad Esfahbod
5875d775e1
[iter] Rename hb_iter_t() to hb_iter_type<> and add hb_item_type<>
2019-05-08 12:28:46 -07:00
Behdad Esfahbod
bad1606639
[map] Make .has() optionally return value
2019-05-08 12:11:52 -07:00
Behdad Esfahbod
750d5af48e
Make compiler happy with -Og
2019-05-08 12:10:00 -07:00
Behdad Esfahbod
cdb61eb043
[iter] Accept pointer in hb_iter() and hb_iter_t()
2019-05-08 11:00:18 -07:00
Behdad Esfahbod
c93eeba9b2
[iter] Accept pointer in hb_map()
2019-05-08 10:56:09 -07:00
Behdad Esfahbod
4c9e0c37a3
[serialize] LangSys subset->copy
2019-05-08 10:40:39 -07:00
Behdad Esfahbod
50dc3e7d9f
Add hb_iota()
2019-05-08 10:35:02 -07:00
Behdad Esfahbod
aa4ac13f0b
[iter] Actually fix previous commit
...
The iter objects shouldn't not be const. D'oh.
2019-05-08 10:03:10 -07:00
Behdad Esfahbod
a66598e030
[iter] For ref-qualified variants
2019-05-08 10:03:10 -07:00
Behdad Esfahbod
8479eb5955
[iter] Fix hb_sink() to accept rvalue
2019-05-08 09:48:55 -07:00
Behdad Esfahbod
710d459aca
[iter] Default predicates to hb_identity instead of hb_bool
...
The bool conversion happens after predicate is called automatically.
2019-05-08 09:33:09 -07:00
Behdad Esfahbod
fe14a4000a
Adjust hb_all/any/none
2019-05-08 09:32:19 -07:00
Behdad Esfahbod
4a101d8ffc
Add hb_match
2019-05-08 09:16:33 -07:00
Behdad Esfahbod
26adefd9ea
[algs] Try f[v] in hb_get() as last resort
2019-05-08 09:14:44 -07:00
Behdad Esfahbod
0601a19d38
Fix a few more double-pomotion errors
2019-05-08 07:47:36 -07:00
Behdad Esfahbod
2ba984fcbb
Fix signed comparison on 32bit
2019-05-07 23:28:22 -07:00
Behdad Esfahbod
dfc5780245
Fix more double-promotion errors
...
WHy do only some of the clang bots catch this I have no idea :(.
2019-05-07 23:26:09 -07:00
Behdad Esfahbod
c2c9d204fa
Fix double-promotion warnings
...
Make it an error.
2019-05-07 23:13:38 -07:00
Behdad Esfahbod
2c7093ed01
More tests
2019-05-07 23:10:59 -07:00
Behdad Esfahbod
56d2d0294b
[algs] Sprinkle hb_min/max with hb-forward salad
...
Let's see if fixes MSVC fail. Though, the error doesn't make sense to me.
hb-blob.cc
c:\projects\harfbuzz\src\hb-algs.hh(166): error C2440: 'return': cannot convert from 'unsigned int' to 'unsigned int &&' [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
c:\projects\harfbuzz\src\hb-algs.hh(166): note: You cannot bind an lvalue to an rvalue reference
c:\projects\harfbuzz\src\hb-algs.hh(174): note: see reference to function template instantiation 'T &&<unnamed-type-hb_min>::impl<T,unsigned int&>(T &&,T2) const' being compiled
with
[
T=unsigned int,
T2=unsigned int &
]
2019-05-07 23:08:49 -07:00
Behdad Esfahbod
bdbfdc92b5
[iter] Add value and projection to hb_all/any/none
...
Allows for eg, checking all values equal 2: hb_all (it, 2).
2019-05-07 23:02:44 -07:00
Behdad Esfahbod
cf61acb9ea
[iter] Accept rvalues to hb_enumerate()
2019-05-07 22:45:01 -07:00
Behdad Esfahbod
e8bd5fc3fa
[meta] Move hb_invoke from algs to meta
2019-05-07 22:29:40 -07:00
Behdad Esfahbod
af571dbffc
[meta] Replace most hb_enable_if with hb_requires
...
They do absolutely same thing. hb_requires is to encode constraints,
whereas hb_enable_if is for more conditional enabling.
2019-05-07 21:39:20 -07:00
Behdad Esfahbod
6fa1f38070
[algs] Accept varargs in hb_min/max
2019-05-07 21:33:26 -07:00
Behdad Esfahbod
1ad07080c3
Rename
2019-05-07 21:00:23 -07:00
Behdad Esfahbod
83e3eabd84
Whitespace
2019-05-07 20:58:43 -07:00
Behdad Esfahbod
2b9402a86a
Use universal references in hb_min/max
2019-05-07 20:55:33 -07:00
Behdad Esfahbod
41248cce0e
Remove MIN/MAX in favor of hb_min/hb_max
2019-05-07 20:54:31 -07:00
Behdad Esfahbod
5c0f62adc9
[serializer] Accept pointer & reference in more methods
2019-05-07 17:25:58 -07:00
Behdad Esfahbod
839618de3b
[serializer] Minor
2019-05-07 17:21:27 -07:00
Behdad Esfahbod
035b818e34
[meta] Fix addressof()
2019-05-07 17:21:18 -07:00
Behdad Esfahbod
7654ebe3a5
Whitespace
2019-05-07 16:53:03 -07:00
Behdad Esfahbod
95426ea983
Add comment
2019-05-07 15:56:51 -07:00
Behdad Esfahbod
e33ad25222
[serialize] FeatureVariations subset->copy
2019-05-07 15:46:24 -07:00
Behdad Esfahbod
fa8c4ba811
Minor
2019-05-07 14:26:03 -07:00
Behdad Esfahbod
c09d6c58e9
[iter] Require lvalue in operators that return reference
2019-05-07 14:09:00 -07:00
Behdad Esfahbod
52f6c04c1e
Minor
2019-05-07 13:45:48 -07:00
Behdad Esfahbod
7c037bd2be
[name] Clean up some more
2019-05-07 13:37:43 -07:00
Behdad Esfahbod
f982b9d9f8
[name] Clean up serialize() API
2019-05-07 13:29:01 -07:00
Behdad Esfahbod
59ee61fddc
[name] Use iterators more
2019-05-07 13:26:15 -07:00
Behdad Esfahbod
2eb7e0e0e9
[serialize] Minor
2019-05-07 12:45:38 -07:00
Behdad Esfahbod
1c81cff2d3
Fix signed-comparison error on 32bit
2019-05-07 11:51:10 -07:00
Behdad Esfahbod
938de31575
Comment
2019-05-07 11:47:02 -07:00
Behdad Esfahbod
9b05db33b5
[ragel] Regenerate ragel-generated files using ragel 7.0.0.11 May 2018
2019-05-07 11:39:44 -07:00
Behdad Esfahbod
521262b236
[subset] Add TODO
2019-05-07 11:08:08 -07:00
Behdad Esfahbod
e6a622b5b2
[serialize] Enable bias assertion
2019-05-07 11:06:43 -07:00
Behdad Esfahbod
530ddbbc32
[serialize] Use range-based loop
2019-05-07 11:05:51 -07:00
Behdad Esfahbod
0987c4204f
[name] Remove dead code
2019-05-07 11:01:02 -07:00
Behdad Esfahbod
5ac4ab6868
[subset] fix for name table serializing with new serializer machinery
2019-05-07 10:59:03 -07:00
Behdad Esfahbod
c548fcedc4
[WIP] [name] Port to fancy serializer machinery
2019-05-07 10:59:03 -07:00
Behdad Esfahbod
fa2d97161f
Remove use of deprecated implicit copy/move assignment operators
...
By removing custom copy constructor.
2019-05-07 00:36:36 -07:00
Behdad Esfahbod
45f5e56236
Warn on -Wdeprecated
2019-05-07 00:36:36 -07:00
Behdad Esfahbod
8903040fcd
Actually make it work
2019-05-07 00:13:11 -07:00
Behdad Esfahbod
025eaa3c81
[iter] Make filter/map copyable
2019-05-07 00:05:37 -07:00
Behdad Esfahbod
03a68165d8
[meta] Add hb_reference_wrapper<>
...
Functionality kinda superset of std:: counterpart.
2019-05-07 00:05:31 -07:00
Behdad Esfahbod
0bf86d9c5d
Whitespace
2019-05-06 23:39:26 -07:00
Behdad Esfahbod
72eb91deb9
Add hb_ref()
...
Unused.
2019-05-06 23:39:13 -07:00
Behdad Esfahbod
240f57e58d
Rename hb_deref_pointer() to hb_deref()
2019-05-06 23:17:39 -07:00
Behdad Esfahbod
0b1ca5a13b
[iter] Adjust hb_filter
2019-05-06 23:04:32 -07:00
Behdad Esfahbod
4c2fd05ca5
[iter] Implement range-based for loops
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1648
2019-05-06 19:57:35 -07:00
Ebrahim Byagowi
e261dc3a40
Ignore -Wc++11-compat as we require C++11 actually
...
pollutes gcc bots logs https://circleci.com/gh/harfbuzz/harfbuzz/85395
2019-05-07 01:24:55 +04:30
Behdad Esfahbod
9f9890e9e8
Remove HB_NO_OPTIONS in favor of HB_NO_GETENV
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-06 12:16:51 -07:00
Behdad Esfahbod
36bb24f7b4
[dispatch] Forward arguments in all dispatch multiplexers
2019-05-05 10:14:17 -07:00
Behdad Esfahbod
c14efb8e68
Fix previous commit
...
Priority should be given to specific over dispatch. Broke sanitize before.
This fixes it, by moving prioritization to the context implementation, since
the correct priority cannot be done in the dispatch implementation. Done
for subset and sanitize only, which need it.
2019-05-05 09:54:58 -07:00
Behdad Esfahbod
b10f65933a
[dispatch] Use functionality from previous commit
...
To remove a couple of unwanted wrapper methods
2019-05-05 09:23:35 -07:00
Behdad Esfahbod
ac350c92fd
[dispatch] Try obj.dispatch(c) before trying c->dispatch(obj)
2019-05-05 09:10:46 -07:00
Michiharu Ariza
49252c42bb
get rid of O(n^2) loop from apply_deltas_to_points
2019-05-03 10:42:11 -07:00
Behdad Esfahbod
0d5fd168f8
Revert "[WIP] [name] Port to fancy serializer machinery"
...
This reverts commit c7f366fbbb
.
Don't know how it got to master!
2019-05-03 10:37:32 -07:00
Cody Planteen
72e3eba8f8
Add configuration option HB_NO_GETENV to disable use of getenv()
2019-05-03 10:28:43 -07:00
Behdad Esfahbod
c7f366fbbb
[WIP] [name] Port to fancy serializer machinery
2019-05-02 21:04:31 -07:00
Behdad Esfahbod
8855af38a8
[name] Add NameRecord::copy()
2019-05-02 16:26:06 -07:00
Behdad Esfahbod
097bb3f0af
[name] Minor changes
2019-05-02 16:25:00 -07:00
Behdad Esfahbod
431b6e1c44
[serialize] Disable assertion for now
2019-05-02 16:22:32 -07:00
Behdad Esfahbod
8a32c9eecb
[serialize] Misc getting copy() to work
2019-05-02 16:20:18 -07:00
Behdad Esfahbod
7d497a3a92
[debug] Allow return_trace() to return any type
2019-05-02 16:20:03 -07:00
Behdad Esfahbod
91176d5b77
[serialize] Check offset base is within (possibly end of) object
2019-05-02 15:12:07 -07:00
Behdad Esfahbod
0f1a6ce826
[name] Fix format of susbetted table to 0
2019-05-02 15:03:41 -07:00
Behdad Esfahbod
87810fc958
[name] Use variable forwarding to simplify sanitize()
2019-05-02 14:45:57 -07:00
Behdad Esfahbod
bf91b418b0
[name]
2019-05-02 14:43:22 -07:00
Behdad Esfahbod
998b0b68ac
[serializer] Add copy() to (Unsized)ArrayOf
2019-05-02 14:39:52 -07:00
Behdad Esfahbod
88a4147240
[serializer] Accept exact type in serialize_subset/copy()
2019-05-02 14:22:31 -07:00
Behdad Esfahbod
88fdeeecc0
[serialize] Take arguments in copy()
2019-05-02 14:14:33 -07:00
Behdad Esfahbod
273ed6127b
[serializer] Add serialize_copy()
2019-05-02 14:04:51 -07:00
Behdad Esfahbod
bf22338f49
Remove dead code
2019-05-02 13:51:52 -07:00
Michiharu Ariza
157a414bd9
fix mixup of TRACE_SUBSET/SERIALIZE
2019-05-02 11:25:10 -07:00
David Corbett
14e1fabc41
Sync gen-vowel-constraints.py with current output
2019-05-01 21:29:06 -04:00
David Corbett
026ab825c8
Add dotted circles to more broken clusters
2019-05-01 13:59:34 -07:00
Ebrahim Byagowi
92588782d7
Remove space between right angle brackets now that we have C++11 ( #1689 )
2019-04-30 13:05:10 -07:00
Ebrahim Byagowi
f27fdca4aa
[doc] Add documentation to hb_color_get_* and hb_directwrite_face_* ( #1690 )
2019-04-30 13:01:04 -07:00
Michiharu Ariza
c52294eb28
renaming & arg reorder
2019-04-30 10:40:45 -07:00
David Corbett
fe4a0ac707
Fix some dead links
2019-04-30 13:35:50 -04:00
Michiharu Ariza
1223a352b7
Merge branch 'master' into var-subset
2019-04-29 16:43:48 -07:00
Ebrahim Byagowi
9542bdd0ed
Add color channels getters ABI ( #1513 )
...
So can be used with language wrappers
2019-04-29 14:52:28 -07:00
David Corbett
4aa546b70a
Allow some Balinese Po & So as aksara modre bases
2019-04-29 11:37:35 -07:00
Behdad Esfahbod
6977a95fed
[subset] Don't crash if subsetting GSUB/GPOS fails
...
Fixes fuzzer issue.
2019-04-27 10:05:25 -07:00
Behdad Esfahbod
2b051e7aa1
[subset] Check error after calling serializer end
2019-04-27 10:01:11 -07:00
Behdad Esfahbod
750b65e9a9
[meta] Add hb_type_identity<>
...
To block template argument deduction.
2019-04-26 17:14:25 -07:00
Qunxin Liu
8c8922a019
[subset] Updates due to changes in resolve_links() on master branch
2019-04-26 15:24:47 -07:00
Garret Rieger
2f6ec35344
Move implementations of hb-ot-name-language.cc into a hb-static.cc
2019-04-26 15:24:47 -07:00
Qunxin Liu
19afd25004
[subset] Update to use _subset2() for name table
2019-04-26 15:24:47 -07:00