Commit Graph

54 Commits

Author SHA1 Message Date
Pale Moon c2818900b5 Fix the handling of glyph positioning (gpos) offsets in vertical-upright mode. 2018-07-25 07:02:28 +08:00
Xidorn Quan b8ea09a221 Bug 1117227 part 5 - Render ellipsis in correct orientation. 2018-07-25 07:02:18 +08:00
Pale Moon 1b66cbcf38 Graphite2: cherry-pick bugfix. 2018-07-25 06:59:39 +08:00
Pale Moon f1618f071d Handle specular filters in SVG according to spec.
In the SVG filter implementation, a negative or 0 value for kernel unit length is an error according to spec.
Bail if we find this.
See https://www.w3.org/TR/SVG/filters.html#feSpecularLightingKernelUnitLengthAttribute
2018-07-25 06:57:13 +08:00
Pale Moon 8e19705607 Up date harfbuzz font shaper to 1.4.3
- Add OpenType Font Variation tables
- Bugfixes
- Memory/perf improvements
2018-07-25 06:56:38 +08:00
Pale Moon 20377b2b6b Don't allow subnormal surfaceScale values to be used in the lighting filter calculations. 2018-07-25 06:56:33 +08:00
Pale Moon 82fd773482 Fix cairo_cff_font_write_cid_fontdict array output. 2018-07-25 06:56:27 +08:00
janekptacijarabaci 4cfc6638c7 Canvas (follow up) 2018-07-25 06:53:33 +08:00
janekptacijarabaci 04e24878ea Canvas: Added support for ellipse (+ fix a hang/crashes problem, check the canvas rects) 2018-07-25 06:53:27 +08:00
Pale Moon 16872dfc79 Remove D3D 9.3 feature level since it's not practically usable; fall back to cairo/skia if D3D 11/10 fails 2018-07-25 06:52:30 +08:00
Pale Moon 29b3acea0a Actually provide an implementation for GetRenderedtext() 2018-07-25 06:47:41 +08:00
trav90 816a187556 Fix GCC "-Wendif-labels" warnings when building JXR
Prevents massive spamming in the terminal when compiling.
2018-07-25 06:45:19 +08:00
rhinoduck 7b7ccd5dce Add JXR support to the browser
Can be enabled/disabled at runtime by toggling the 'media.jxr.enabled'
pref (disabled by default).

Two additional prefs are provided for testing purposes:
'media.jxr.autoaccept', and 'media.jxr.advertised_mime_type'
See comments in all.js for information on what these do.

This commit includes the MS OpenTech implementation of the decoder on
the browser side with some fixes applied; see the development in Pale
Moon GitGub issue #105 or my comments in the source code for more
information.
2018-07-25 06:44:47 +08:00
Pale Moon 531298905a Restore incorrectly-removed zero check for non-default UVS offset.
This fixes a rather critical crash that can occur with some typekit fonts with DirectWrite enabled.
Caused by: Bug 1067989 - Unify some more binary search uses.
2018-07-25 06:42:12 +08:00
Pale Moon 08e58e7fbb Remove Windows Metro/WinRT code. 2018-07-25 06:25:01 +08:00
Jeff Muizelaar 5825ae1adf Pixman: Use unsigned integer arithmetic to avoid UB. 2018-07-25 01:29:22 +08:00
Pale Moon f909c0d255 OTS: reduce strictness of OTF checking.
Allow OT Layout tables (GDEF/GPOS/GSUB) through OTS unchecked, and rely on harfbuzz to handle them safely.
This is a compromise to deal with poor font foundries; harfbuzz *should* still be sufficient to keep the worst at bay.

Tag #655.
2018-07-25 01:26:27 +08:00
Pale Moon c6bdeac0a5 Update OTS to 5.1.0 + fix missing OTS_API visibility. 2018-07-25 01:16:59 +08:00
Gpower2 8a2d6734c1 Remove MOZ_DIRECTX_SDK_PATH
- Remove MOZ_DIRECTX_SDK_PATH
2018-07-25 01:08:04 +08:00
Gpower2 73ce1f8ceb Remove d3dcompiler_43 from build system
- Remove MOZ_FOUND_BOTH_D3D_COMPILERS and MOZ_REQUIRE_ALL_D3DCS
- Remove --enable-require-all-d3dc-versions , require-all-d3dc-versions
and --enable-require-all-d3dc-versions
- Remove MOZ_D3DCOMPILER_XP_DLL, MOZ_D3DCOMPILER_XP_CAB and
DMOZ_D3DCOMPILER_XP_DLL
2018-07-25 01:08:02 +08:00
Gpower2 127d36c685 Remove d3dcompiler_43.dll dependency #529
Remove d3dcompiler_43.dll dependency and replace it with
d3dcompiler_47.dll where applicable.
2018-07-25 01:06:29 +08:00
Gpower2 1db79f4ff6 Enhancement to deal with bad fonts
Based on mozilla changesets 822036786a92 and 257de631a38c
2018-07-25 00:55:39 +08:00
Pale Moon ad0b2b8926 Switch to Lanczos scaling from Hamming to get a wider range of acceptable fast downscaling.
Selectively use HQ when scaling factor becomes too large (less than 33.5%).

This resolves #23.
2018-07-25 00:55:37 +08:00
trav90 e3763169f0 Import the Google WOFF2 module 2018-07-24 23:31:48 +08:00
trav90 576310ed9d Update OTS to version 5.0.1 2018-07-24 23:31:43 +08:00
wolfbeast 9edf753d6b Allow icon fonts to coexist with user-preferred text fonts.
Honor serif/sans generics when replacing downloadable fonts with user-preferred fonts.
Fonts that don't have generics will be accepted as downloadable (icon fonts).
2018-07-24 23:30:53 +08:00
trav90 cffc471202 Include cmath instead of math.h in Collider.cpp (GCC 6 only) 2018-07-24 23:27:01 +08:00
trav90 0da81c352d Revert "Include cmath instead of math.h in Collider.cpp"
No longer needed with update to Graphite v1.3.9.
2018-07-24 23:26:51 +08:00
trav90 14e2d06ba2 Update Graphite to v1.3.9 2018-07-24 23:26:40 +08:00
trav90 05bf9dfe52 Include cmath instead of math.h in Collider.cpp 2018-07-24 23:26:32 +08:00
wolfbeast 4c296099d2 Update the OpenType sanitizer.
This includes an important fix for the (incorrect) constraint on table-directory ordering in WOFF2 files, as discussed and agreed in the Fonts WG recently. Fonts created by future WOFF2 encoders will require this, although existing WOFF2 files will also remain compatible.
2018-07-24 23:26:01 +08:00
Pale Moon c6f28ad1a9 Don't reuse pixman images when not thread-safe. 2018-07-24 23:17:19 +08:00
trav90 d7010086e9 Remove conditional SPS Profiler code 2018-07-24 23:15:28 +08:00
trav90 5ab9b89635 Remove last "forceFeatureReport" bit 2018-07-24 23:15:07 +08:00
trav90 dfcd80601c Remove gfx crashreporter utils 2018-07-24 23:14:01 +08:00
trav90 903fddcff7 Remove conditional crashreporter code 2018-07-24 23:13:57 +08:00
trav90 54d2533175 Use nsRefPtr for holding more references 2018-07-24 23:13:24 +08:00
wolfbeast 8f7e5f5f44 Fix porting bustage from commit d30f5a5 2018-07-24 23:13:18 +08:00
Jeff Muizelaar a9189c8178 Bug 1242668 - Hold more references. 2018-07-24 23:12:27 +08:00
trav90 5c65dbbfd5 Fix compiler warnings in gfx/angle/ 2018-07-24 23:12:22 +08:00
trav90 738ba99850 Fix compiler warnings in gfx/angle/libEGL & libGLESv2 2018-07-24 23:12:21 +08:00
trav90 2f6b96ce9a Set execute attributes on all .sh files in tree 2018-07-24 23:12:12 +08:00
trav90 9a03f54dd0 Suppress many GCC/Clang build warnings in third-party code. 2018-07-24 23:12:09 +08:00
trav90 b3c3d1fa0e Silence even more GCC & Clang warnings in gfx/skia 2018-07-24 23:12:09 +08:00
trav90 51582333e4 Silence more GCC/Clang build warnings in Skia 2018-07-24 23:12:08 +08:00
trav90 a2ad7bd77f Stop Clang from complaining about missing override keywords in Skia 2018-07-24 23:12:08 +08:00
trav90 598c8c91ea Don't use -fomit-frame-pointer for all of Skia 2018-07-24 23:12:07 +08:00
trav90 870ff901ae Silence some Clang and GCC warnings in gfx/angle 2018-07-24 23:12:06 +08:00
trav90 7858f9920e Don't check for GCC force_align_arg_pointer attribute 2018-07-24 23:11:43 +08:00
wolfbeast f0bbd03e91 Update graphite lib to 1.3.7+
- Also clean up leftover dead files that weren't cleaned up by Mozilla's graphite updates
- Also revert BMO 1255731 which was just a cheap solution to not back-port graphite 1.3.7 to ESR38
2018-07-24 23:11:33 +08:00