Commit Graph

7757 Commits

Author SHA1 Message Date
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
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