Behdad Esfahbod
37b95612d4
Remove hb_auto_array_t
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:09:00 -04:00
Ebrahim Byagowi
218fa7166e
[ot-color] SVG table implementation ( #874 )
2018-03-10 11:13:52 +03:30
Ebrahim Byagowi
4c63c82383
[ot-color] sbix table implementation ( #870 )
2018-03-10 11:07:56 +03:30
Ebrahim Byagowi
c446c23f0f
[ot-color] Move the related tables to hb-ot-color-* ( #858 )
2018-03-03 22:43:23 +03:30
Ebrahim Byagowi
f671f7f0a8
[colr] Implement
2018-02-28 13:19:40 +03:30
Ebrahim Byagowi
5b9c234043
[CPAL] Refactor and address the reviews
2018-02-28 11:25:29 +03:30
Ebrahim Byagowi
101850f9e6
Merge with master
2018-02-27 20:17:25 +03:30
Ebrahim Byagowi
f110c0c886
Merge pull request #838 from harfbuzz/BASE
...
BASE table
2018-02-27 11:41:12 +03:30
Ebrahim Byagowi
0ad8c663e0
Remove public API of the branch
2018-02-27 11:02:33 +03:30
Ebrahim Byagowi
ae14dd0fb0
[aat] Implement ankr
2018-02-25 17:01:39 -08:00
Behdad Esfahbod
551fa2d200
[BASE] Minor
2018-02-25 16:32:17 -08:00
Behdad Esfahbod
05699fd996
Merge remote-tracking branch 'eroux/add-base'
2018-02-24 12:03:26 -08:00
Ebrahim Byagowi
1ab16f4556
[aat] Implement trak logic ( #816 )
2018-02-24 12:49:42 +03:30
Behdad Esfahbod
cd32177a32
Try at fixing multiple-definition of NullPool
...
If we don't have visibility, make NullPool static.
2018-02-11 19:36:00 -06:00
Behdad Esfahbod
cdab20df1e
Minor
2018-02-10 15:45:17 -06:00
Bruce Mitchener
148ca61075
[ot-layout] Fix nullptr dereference.
...
If the `calloc` for `gsub_accels` or `gpos_accels` fails, then the
unlikely branch afterwards can be taken, which frees up the
`hb_ot_layout_t`, but since those fields can now be `nullptr`, then
we don't want to dereference them.
2018-01-31 08:05:25 -08:00
Behdad Esfahbod
fd03449094
Rename hb_apply_context_t to hb_ot_apply_context_t
2018-01-19 16:40:13 -08:00
Behdad Esfahbod
470fe5b603
[aat] Implement Lookup table
...
Untested, but compiles.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
c71b55a223
[aat] Start implementing Apple AAT morx table
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
be9e307a88
[ot] Ensure layout in hb_ot_layout_table_get_lookup_count()
2017-12-01 12:37:05 -08:00
Behdad Esfahbod
ec86cc5e55
Fix Windows build
...
(And prevent it from happening in the future.)
2017-10-30 14:11:59 -06:00
Behdad Esfahbod
af3f72f9eb
Correctly mark NullPool const
...
Saves some more code size as well!
2017-10-27 15:14:44 -06:00
Behdad Esfahbod
3205de7906
Make the NullPool HB_INTERNAL shared
...
Saves 2k of .bss section.
2017-10-27 15:01:40 -06:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +02:00
Behdad Esfahbod
cdf1fd0627
[indic] Add infrastructure to disable ZWNJ-skipping in context-matching
...
Not used yet.
2017-07-14 12:43:34 +01:00
Ebrahim Byagowi
3b0e47ca00
Fix arm-none-eabi build ( fixes #451 ) ( #496 )
2017-06-19 14:47:09 +04:30
jfkthame
c04c1fe86e
Blacklist GDEF table in additional Tahoma versions. ( #459 )
...
There are more broken versions of Tahoma out there on various Windows releases,
so we need to add them to our blacklist to avoid broken rendering.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
2017-04-11 14:29:13 -07:00
Behdad Esfahbod
edcf6344bc
Blacklist more versions of Padauk
...
Patch from Phil Race.
2017-03-24 10:24:52 -07:00
Elie Roux
3ebcd5a381
first working version!
2017-03-05 16:26:01 +01:00
Dominik Röttsches
a657f23ca3
Blacklist another instance of Padauk ( #419 )
...
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
adding those to the list of blacklisted versions.
2017-02-20 13:52:07 -06:00
Elie Roux
f131f00b17
compile, move into hb-ot-layout.cc
2017-02-19 10:12:22 +01:00
Behdad Esfahbod
466b3e58bd
Shuffle things around a bit
2017-02-03 16:57:15 -08:00
jfkthame
4ec19319ab
Add Win10 Anniversary Update version of Tahoma to GDEF blacklist. ( #412 )
2017-02-02 10:48:23 -08:00
jfkthame
72c754873c
Add Win7 version of himalaya.ttf to the GDEF table blacklist. ( #407 )
2017-01-26 14:35:41 -08:00
Behdad Esfahbod
113393efec
Remove a few unused includes
2017-01-21 15:12:03 -08:00
Behdad Esfahbod
55d42fd667
Start adding hb-ot-var.h and implementation
...
Supports enumerating variation axes, normalizing values, etc.
2017-01-19 19:35:48 -08:00
Behdad Esfahbod
1f810daf16
Port math table to hb_lazy_table_loader_t
2017-01-09 23:50:56 -08:00
Frédéric Wang
ae00af4a47
Move math-specific code from hb-ot-layout to hb-ot-math #235 ( #384 )
2017-01-02 23:55:09 -05:00
Behdad Esfahbod
ec87ba9ba3
[GX] Add hb_ot_layout_feature_with_variations_get_lookups()
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
30c42b644e
[GX] Add hb_ot_layout_table_find_feature_variations()
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
d1c62370a0
Aim math API for 1.3.3 instead of 1.4.0
2016-10-04 14:47:12 -07:00
Khaled Hosny
7adbc5dd62
Fix building math docs ( #335 )
2016-09-30 04:01:24 -07:00
Behdad Esfahbod
c3e21a6620
[MATH] Fix more docs
2016-09-27 16:51:38 +02:00
Behdad Esfahbod
46cc4a3a2a
[MATH] Rename hb_math_*_t types to hb_ot_math_*_t
...
With this, I believe MATH table API is not ready to be merged.
2016-09-27 16:44:22 +02:00
Frédéric Wang
0762b35474
Document API for MathVariants ( #330 )
2016-09-27 15:28:35 +02:00
Behdad Esfahbod
86106c7528
[MATH] Rename all API to hb_ot_math_*
2016-09-26 22:14:29 +02:00
Behdad Esfahbod
559eb56447
[MATH] Wire up get_glyph_assembly()
2016-09-26 21:46:05 +02:00
Behdad Esfahbod
353f455af7
[MATH] Wire up get_glyph_variants()
2016-09-26 21:25:00 +02:00
Behdad Esfahbod
7fe0e28c22
[MATH] Start fleshing out glyph variant API
2016-09-26 17:51:47 +01:00
Frédéric Wang
51da7a1cd6
MATH table: Add API to access math variants.
2016-09-26 15:18:16 +01:00
Behdad Esfahbod
94f5df5626
[MATH] Clean up get_kerning()
2016-09-26 13:31:47 +01:00
Behdad Esfahbod
17ff30e9af
[MATH] Clean up get_top_accent_attachment()
...
Note, the function now returns "half of horizontal advance width"
if top accent attachment for glyph is not explicitly defined.
This is what the spec requires. Updated tests.
2016-09-26 12:21:27 +01:00
Behdad Esfahbod
8bcf517fe5
[MATH] Clean up get_italics_correction()
2016-09-26 12:13:14 +01:00
Behdad Esfahbod
06003f71ba
[MATH] Clean up a bit more
2016-09-26 12:07:29 +01:00
Behdad Esfahbod
54c0cc38fb
[MATH] Clean up get_math_constant implementation
2016-09-26 11:56:40 +01:00
Behdad Esfahbod
8a8cfad9a0
[MATH] Cleanup previous commit a bit
2016-09-26 11:51:07 +01:00
Frédéric Wang
d7182d1296
MATH Table: Add API to access glyph info.
2016-09-26 11:32:25 +01:00
Frédéric Wang
319ff59161
MATH Table: Add API to access math contants.
2016-09-26 10:49:09 +01:00
Behdad Esfahbod
4d3892e9b0
[MATH] Fixups for previous commit
2016-09-26 10:45:58 +01:00
Frédéric Wang
5fbcb992bd
MATH Table: Add API to check availability of math data.
2016-09-26 10:27:33 +01:00
Dominik Röttsches
67e9fdf427
Blacklist Padauk 2.80 and 3.00 ( #311 )
...
According to comments in issue #305 broken GDEF tables lead
to incorrect rendering of Latin characters. Blacklisting
this font.
2016-09-05 01:27:25 -07:00
jfkthame
f3f6c1ccbf
Blacklist GDEF tables of more fonts
...
This is based on bug reports that have been filed against Firefox since it
updated to a version of harfbuzz that uses zeroing by GDEF rather than by
Unicode. I'm sure there are a bunch more font versions that should also be
included; these are just the ones I have on hand and have confirmed as having
bad GDEF data.
Given how the list here is growing, I think we should reconsider the approach,
and perhaps revert to zeroing by Unicode instead.
Fixes https://github.com/behdad/harfbuzz/issues/264
Fixes https://github.com/behdad/harfbuzz/pull/266
2016-07-21 01:15:12 -07:00
Sascha Brawer
d34d3ac985
Support CPAL table
2016-06-19 13:17:57 +02:00
Behdad Esfahbod
29393884b9
Annotate blacklisted fonts with their sha1sum
2016-04-26 10:35:47 -07:00
Behdad Esfahbod
1c625dff22
Minor
2016-04-09 12:53:23 -07:00
Behdad Esfahbod
4f3d59a187
Blacklist another set of timesi.ttf and timesbi.ttf
2016-04-08 13:41:20 -07:00
Behdad Esfahbod
94dd0bb7e7
Add blacklist signature for Times New Roman (Bold) Italic on OS X
2016-02-25 11:31:03 +09:00
Behdad Esfahbod
e23cf902e9
Blacklist GDEF table of timesi.ttf and timesbi.ttf on Win 7
...
See discussion:
https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html
2016-02-25 11:11:15 +09:00
Behdad Esfahbod
7d8d58ac81
[GPOS] Divide position_finish() into two phases, for advances and offsets
...
Right now the position_finish_advances() is empty. To be used for
spacing attachments proposal later.
2016-02-11 16:34:28 +07:00
Behdad Esfahbod
3e704521f6
[OT] Get list of lookup subtables once and loop through them
...
This speeds up shaping the Amiri font by over 15%.
This was primarily needed for my work on OpenType GX, since
we will be collecting only sublookups that are "active" for
current font instance; but it's a nice boost in general as
well.
We might, in the future, collect subtables in the lookup_accel.
That would also allow us to do a per-subtbale set-digest, which
should speed things up some more, specially for ContextChainFormat3
lookups... Amiri, for example, contains one lookup with 53
subtables!
2016-01-11 17:38:41 +00:00
Khaled Hosny
d7bf9d05c5
[docs] Fix comment syntax
...
To lower the number of gtk-doc warnings.
2015-12-30 17:58:53 +04:00
Behdad Esfahbod
0475ef2f97
[buffer] Add debugging, aka, message, API
...
Currently just announces lookup applications. Message-API *will* change.
hb-shape / hb-view are updated to print-out messages to stder if --debug
is specified.
2015-12-18 19:29:06 +00:00
Behdad Esfahbod
9ea0aa43ac
Don't deserialize positions if buffer has no positions
2015-12-18 17:30:57 +00:00
Behdad Esfahbod
35d18585fc
Fix a few docs blocks
2015-11-26 19:30:37 -05:00
Behdad Esfahbod
ea512f7108
Use C-style casts instead of compare to 0, to convert hb_bool_t to bool
2015-11-26 19:22:22 -05:00
Behdad Esfahbod
766963adba
Merge pull request #114 from ThePhD/vc++-fixes
...
Fix all VC++ warnings and errors
2015-11-24 15:38:43 -06:00
Behdad Esfahbod
abadc1717d
Try to better handle OOM situations
...
Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161
with libharfbuzz-fuzzing.
2015-11-18 17:52:08 -08:00
Behdad Esfahbod
5337db29af
Revert "Don't process lookups if buffer is in error"
...
This reverts commit f92bd86cc8
.
We don't want to be like cairo, where as soon as there's an error,
nothing works anymore. So, lets process lookups as long as there's
no new memory needed. That's also a model that hides fewer bugs.
2015-11-06 16:18:09 -08:00
Behdad Esfahbod
f92bd86cc8
Don't process lookups if buffer is in error
2015-11-05 23:52:29 -08:00
Behdad Esfahbod
77a1a2bc18
Add hb_dispatch_context_t
2015-10-09 12:20:58 -04:00
Behdad Esfahbod
b8811429b6
Fix Since tags
...
Fixes https://github.com/behdad/harfbuzz/issues/103
2015-09-03 15:53:22 +04:30
Behdad Esfahbod
902e74a098
Commented-out code to print buffer before each lookup
...
To be turned into a useful HB_DEBUG_SHAPE infrastructure...
2015-08-18 18:55:03 +01:00
Behdad Esfahbod
2c8b3b2e53
[debug] Print lookup index in debug-apply output
2015-08-18 14:36:43 +01:00
ThePhD
5c99cf93d6
Merge branch 'master' into vc++-fixes
2015-08-14 01:02:00 -04:00
Behdad Esfahbod
0f98fe88f4
[ot] Search globally for 'vert' feature if not found in specified script/lang
...
Fixes https://github.com/behdad/harfbuzz/issues/63
2015-07-23 11:52:11 +01:00
Behdad Esfahbod
d78463c801
Minor debug output fix
2015-07-23 10:11:35 +01:00
ThePhD
8e545d5961
Fix all VC++ warnings and errors in the current commit's builds.
2015-06-22 22:29:04 -04:00
Sascha Brawer
01c3a88543
Fix "Since:" tags
...
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
2015-06-01 13:25:27 +02:00
Behdad Esfahbod
f47cf1f12d
Minor
2015-02-25 15:43:33 -08:00
Behdad Esfahbod
640b66c634
[layout] If lookup has only one subtable, move the forward loop down to subtable
...
I was hoping to see a nice speedup, but it resulted in a very minor one.
2015-02-25 15:43:33 -08:00
Behdad Esfahbod
e2f50f2a7e
[layout] Add apply_forward / apply_backward
2015-02-25 15:43:32 -08:00
Behdad Esfahbod
1d4a328472
[layout] Remove unneeded return value from apply()
2015-02-25 15:43:32 -08:00
Behdad Esfahbod
bd047d3b7f
[layout] Minor
2015-02-25 15:43:31 -08:00
Behdad Esfahbod
b9d3f60520
[layout] Minor
2015-02-25 15:43:31 -08:00
Behdad Esfahbod
241eac9559
Hide internals of lookup accelerators
2015-02-25 15:43:25 -08:00
Behdad Esfahbod
395b35903e
Avoid accessing layout tables at face destruction
...
"Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300
Based on discussion someone else who had a similar issue, most probably
the user is releasing FT_Face before destructing hb_face_t / hb_font_t.
While that's a client bug, and while we can (and should) use FreeType
refcounting to help avoid that, it happens that we were accessing
the table when we didn't really have to. Avoid that.
2014-12-28 16:03:26 -08:00
Behdad Esfahbod
911ca38645
Add back API removed recently
...
Add hb_ot_layout_language_get_required_feature_index() again, which
is used in Pango. This was removed in
da13293798
in favor of
hb_ot_layout_language_get_required_feature().
API changes:
- Added hb_ot_layout_language_get_required_feature_index back.
2014-06-24 10:20:36 -06:00
Jonathan Kew
da13293798
Rework handling of requiredFeature to solve problem with rlig in arial.ttf from winxp
...
https://bugzilla.mozilla.org/show_bug.cgi?id=986802
Fixes https://github.com/behdad/harfbuzz/pull/39
API Change:
-hb_ot_layout_language_get_required_feature_index
+hb_ot_layout_language_get_required_feature
New API takes an extra pointer argument. Pass NULL in to get
behavior of previous API.
Reworked by behdad
2014-06-19 16:33:48 -04:00
Behdad Esfahbod
6ffc007b61
[otlayout] Optimize inplace
...
See thread started by Jonathan with subject "an optimization for complex
fonts".
2013-10-28 19:26:02 +01:00