Commit Graph

183 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
323b5be77a Bug 1526294 - Should not need a pres context to get a system font. r=jfkthame
The only caller wants CSS pixels, no need to go back and forth.

This is the last dependency on the pres context, I think, from the style system
font code.

Differential Revision: https://phabricator.services.mozilla.com/D19147
2019-02-15 01:35:13 +01:00
Sebastian Hengst
3a9f3f2226 Fix off-by-one issue from merge conflict between bug 1313429 and bug 1521460. CLOSED TREE 2019-01-23 02:50:04 +02:00
Gurzau Raul
136dc5e8bc Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-23 02:05:32 +02:00
Sylvestre Ledru
0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D17139

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Markus Stange
b15bd436e6 Bug 1521622 - Add profiler labels to gfxMacFontFamily::FindStyleVariations and gfxFontFamily::FindFontForChar. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D17163

--HG--
extra : moz-landing-system : lando
2019-01-22 09:40:57 +00:00
Jonathan Kew
23806e75ca Bug 1500356 - Update gfxFont/gfxFontEntry to use new harfbuzz API in place of deprecated functions. r=jrmuizel
--HG--
extra : rebase_source : d5737b581503e45e1d9fb235cbfc21d8fb568ee7
2018-12-08 08:44:55 -05:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Jonathan Kew
fb4f42f9a7 Bug 1507506 - Use a sorted array rather than a hashtable for the short list of bad-underline font families. r=jwatt 2018-11-15 16:11:45 +00:00
Jonathan Kew
aa3e389fe2 Bug 1492220 - Fix encoding-form mismatch in macOS impl of GetVariationAxes. r=lsalzman 2018-09-19 09:25:58 +01:00
Jonathan Kew
ec73ee3318 Bug 1491860 - Use utf-8 rather than utf-16 strings to read/store font family names from preferences, as they're almost entirely ASCII. r=lsalzman 2018-09-18 09:34:24 +01:00
Jonathan Kew
6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
aceman
77d5a7fd81 Bug 1486311 - convert remaining nsIFile::GetDirectoryEntries() callers to pass in a nsIDirectoryEnumerator. r=kmag 2018-08-26 14:15:00 +03:00
Andi-Bogdan Postelnicu
b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Jonathan Kew
d4b7d95206 Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Brindusan Cristian
2c5b7db570 Backed out changeset f8dbb1d2d07c (bug 1464400) for mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-06-01 19:07:24 +03:00
Jonathan Kew
0cc7412d4f Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Jonathan Kew
526ed0b391 Bug 1457417 - Work around Core Text mishandling of 'opsz' axis when set to the font's default, by adjusting to a fractionally-different setting. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew
e92b9e44cf Bug 1449605 - part 1 - Rearrange thebes font code so that the decision whether to apply synthetic-bold is deferred until actually instantiating a font, not made during the font-matching process. r=jwatt
This rearranges how synthetic-bold use is determined in the font selection
& rendering code. Previously, we would decide during the font-selection
algorithm whether we need to apply synthetic-bold to the chosen face, and
then pass that decision through the fontgroup (storing it in the FamilyFace
entries of the mFonts array there) down to the actual rendering code that
instantiates fonts from the faces (font entries) we've selected.

That became a problem for variation fonts because in the case of a user
font, we may not have downloaded the resource yet, so we just have a "user
font container" entry, which carries the descriptors from the @font-face
rule and will fetch the actual resource when needed. But in the case of a
@font-face rule without a weight descriptor, we don't actually know at
font-selection time whether the face will support "true" bold (via a
variation axis) or not, so we can't reliably make the right decision about
applying synthetic bold.

So we now defer that decision until we actually instantiate a platform font
object to shape/measure/draw text. At that point, we have the requested
style and we also have the real font resource, so we can easily determine
whether fake-bold is required.

(This patch should not result in any visible behavior change; that will
come in a second patch now that the architecture supports it.)
2018-05-01 10:30:50 +01:00
Jonathan Kew
2a3d1d4598 Bug 1454598 - part 4 - Disable font variations on macOS Sierra due to Core Text unreliability. r=jwatt 2018-04-25 14:03:44 +01:00
Jonathan Kew
c57f185cd9 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew
9872150acc Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew
7e27ba83c3 Backed out 4 changesets from bug 1454598 (26e036b1c703, bc910e36a7d7, bac001216577, 5af215d265b6) due to macOS 10.12 font issues. 2018-04-25 10:18:07 +01:00
Jonathan Kew
8489323f79 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew
6ca182d055 Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Watt
156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Cosmin Sabou
dcacfcfc71 Backed out 2 changesets (bug 1454598) as requested by Mossop in developers channel. a=backout
Backed out changeset b673e87d6134 (bug 1454598)
Backed out changeset 072dc1504ce6 (bug 1454598)
2018-04-20 06:45:39 +03:00
Jonathan Kew
6f1e2a29b3 Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-19 13:28:13 +01:00
Jonathan Kew
94238d9823 Bug 1452973 - Update NS_FONT_STRETCH_* constants to values based on the percentage definitions in css fonts 4. r=jwatt 2018-04-16 10:00:57 +01:00
Jonathan Watt
1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Jonathan Kew
c0a406064e Bug 1448180 - Don't mask complex-script ranges from the cmap for downloadable fonts; assume the author knows what they're doing and use the font as provided. r=jrmuizel
--HG--
rename : layout/reftests/text/arabic-fallback-4-notref.html => layout/reftests/text/arabic-fallback-4-ref.html
2018-03-26 13:25:11 +01:00
Jonathan Kew
4755d882f1 Bug 1432552 - patch 3 - DirectWrite and macOS font back-end implementation of getVariationInstances. r=dholbert 2018-01-29 13:24:11 +00:00
Jonathan Kew
8b13b6b801 Bug 1323743 - patch 3 - macOS implementation of the gfxFontEntry::GetVariationAxes method. r=dholbert 2018-01-26 15:47:20 +00:00
Jonathan Kew
35d7befd30 Bug 1416762 - Avoid using the LastResort font on macOS for glyph fallback -- prefer to draw hexboxes for unsupported characters. r=jrmuizel 2017-11-17 10:54:19 +00:00
Jonathan Kew
8de8fef958 Bug 1412090 - patch 4 - Also adopt the ContentParent::NotifyUpdatedFonts method on macOS, so that only the parent process needs to register with CFNotificationCenter for font-changed notifications. r=lsalzman 2017-11-09 16:54:37 +00:00
Jonathan Kew
a889197da2 Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
c28cae074c Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Jonathan Kew
7036cc5f85 Backed out changesets 75e7f32c3365, eec946b59360, 72a6f5f3512c, ea8ee40ed426 (bug 1412090) for apparently breaking all system-installed fonts on some Linux systems. r=backout 2017-11-10 16:05:33 +00:00
Jonathan Kew
f35b992490 Bug 1412090 - patch 4 - Also adopt the ContentParent::NotifyUpdatedFonts method on macOS, so that only the parent process needs to register with CFNotificationCenter for font-changed notifications. r=lsalzman 2017-11-09 16:54:37 +00:00
Jonathan Kew
0ba9f9c57b Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
90bf3da506 Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Jonathan Kew
a7a8736435 Bug 1415880 - Remove the obsolete mIsValid flag from gfxFontEntry, as nothing depends on it any more. r=jrmuizel 2017-11-09 16:54:02 +00:00
Lee Salzman
826eee8b2a Bug 1403198 - support WR font descriptors on Mac. r=jrmuizel
MozReview-Commit-ID: BqN51yY88oJ
2017-11-06 20:21:06 -05:00
Lee Salzman
600dccf87f Bug 1404742 - track ScaledFont and UnscaledFont lifetimes with ThreadSafeWeakPointer. r=bas
MozReview-Commit-ID: GRSEYh1fG4U
2017-10-18 14:22:09 -04:00
Jonathan Kew
0028134967 Bug 1408078 - Add missing null-checks in MacOSFontEntry::SupportsOpenTypeFeature. r=jrmuizel 2017-10-12 18:43:58 +01:00
Jonathan Kew
04f08a60e2 Bug 1405148 - part 3 - Use Core Text API to check for presence of small-caps feature in AAT fonts. r=jrmuizel 2017-10-11 22:12:43 +01:00
Jonathan Kew
e592a806a6 Bug 1398802 - Support the AAT 'trak' table when shaping macOS fonts via Core Text. r=jrmuizel 2017-09-27 11:16:35 +01:00
Myk Melez
917428e84b Bug 1375978 - enumerate fonts asynchronously; r=jfkthame,nhnt11 2017-09-12 11:05:37 -07:00
Jonathan Kew
82bdaf03b2 Bug 1395061 - patch 3 - Clean up vestigial code that existed to support setting the gfxFontEntry::mSymbolFont flag. r=jrmuizel 2017-09-11 19:23:30 +01:00