Commit Graph

7812 Commits

Author SHA1 Message Date
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
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
Behdad Esfahbod c7439d4e3a Slightly massage buffer-messaging commit
Saves a few bytes.
2019-06-05 12:15:09 -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