Commit Graph

7770 Commits

Author SHA1 Message Date
Ebrahim Byagowi bbeee84a7f
[meta] Add metadata tags documentation from ot spec 2019-08-03 13:47:55 +04:30
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
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
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
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
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
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