Commit Graph

54 Commits

Author SHA1 Message Date
Jonathan Kew
af62b14db3 Bug 1403302 - patch 3 - Remove direct cairo dependency from gfxTextRun and gfxGlyphExtents. r=bas 2017-11-23 19:40:33 +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
Jonathan Kew
bbbc9da9dd Bug 1407114 - part 1 - preliminary cleanup - Remove the (unused) runScript member from the GlobalFontMatch struct, and introduce gfxFontEntry::IsNormalStyle() helper method. r=jrmuizel 2017-10-28 13:21:38 +01:00
Jonathan Kew
2f7b2b13bf Bug 1405148 - part 1 - Make gfxFontEntry::SupportsOpenTypeFeature a virtual method, and override on MacOS for AAT fonts that we'll shape with Core Text instead of HarfBuzz. r=jrmuizel 2017-10-11 22:12:42 +01:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Jonathan Kew
162dd2e4e1 Bug 1395061 - patch 4 - Refactor checks in the gfxPlatformFontList::GetFontList loop to use a single virtual method call instead of three separate calls. r=jrmuizel 2017-09-11 19:24:01 +01: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
Jonathan Kew
379ddad597 Bug 1395061 - patch 2 - Implement default gfxFontFamily::IsSymbolFontFamily, and provide override for GDI font backend. r=jrmuizel 2017-09-11 19:22:57 +01:00
Myk Melez
aa59a13010 Bug 1395061 - patch 1 - Refactor gfxFontEntry::SupportsLangGroup and MatchesGenericFamily into gfxFontFamily. r=jfkthame 2017-09-11 19:22:15 +01:00
Jonathan Kew
24e13c5d2e Bug 1398458 - Ensure we don't leave null gfxFontEntry records in a formerly 'simple' gfxFontFamily when adding extra faces. r=heycam 2017-09-10 08:49:09 +01:00
Jonathan Kew
b43771fc5f Bug 1397238 - Reset the mIsSimpleFamily flag whenever a face is added to a font family, to ensure we will re-check the available faces before making assumptions about face indexes in FindAllFontsForStyle. r=heycam 2017-09-08 10:32:08 +01:00
Jonathan Kew
6ceb7d87f9 Bug 835204 - Accept styled font-family names as used in the legacy GDI model, for compatibility with content that assumes GDI-style font naming. r=heycam 2017-08-01 11:25:35 +01:00
Jonathan Kew
5d323919b9 Bug 1388059 - Ignore font size tolerance when selecting faces from a font family during global fallback. r=lsalzman 2017-08-07 17:27:33 +01:00
Jonathan Kew
5133782794 Bug 1364224 - Reduce refcount churn on gfxFont by using raw pointers where no strong ownership is needed. r=jrmuizel 2017-06-29 15:37:52 -07:00
Jonathan Kew
fd5dc7dd5e Bug 1364089 - Eliminate some unnecessary virtual calls in gfxFont-related code. r=jrmuizel 2017-06-01 15:42:07 +01:00
cku
d85d3ab378 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF
2017-05-18 22:03:41 +02:00
Sebastian Hengst
41f1727bf4 Backed out changeset f3460d42d23c (bug 1351440) 2017-05-18 21:15:35 +02:00
cku
eaa4406688 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF

--HG--
extra : rebase_source : 66c9a9e391c2f9e142575f42fd47b37334ec5752
extra : source : 97a08873177c0f18edffdb1b5589c77843a50553
2017-05-05 17:19:43 +08:00
Manish Goregaokar
6be22491bd Bug 1341724 - Part 4: stylo: Make font metrics usage threadsafe; r=heycam
MozReview-Commit-ID: 3EqpUy09UuI
2017-04-10 17:06:19 +08:00
Lee Salzman
a168dcdbf3 Bug 1348980 - implement UnscaledFont API for Moz2D and thebes. r=jfkthame 2017-04-06 17:41:02 -04:00
Lee Salzman
a10fddc8eb Bug 1350783 - support bitmaps fonts in gfxFcPlatformFontList. r=jfkthame
MozReview-Commit-ID: 4VQkyhx4IJE
2017-03-29 13:47:46 -04:00
Frédéric Wang
5f755e9bc4 Bug 1305977 - Use HarfBuzz ot-math API to parse the OpenType MATH table. r=jfkthame 2016-11-02 11:47:18 -07:00
Wes Kocher
c91def63e7 Backed out changeset 961a84574836 (bug 1305977) for multiscripts-1.html failures a=backout 2016-11-02 11:45:41 -07:00
Frédéric Wang
1c9167ba68 Bug 1305977 - Use HarfBuzz ot-math API to parse the OpenType MATH table. r=jfkthame
--HG--
extra : rebase_source : 743927b509e8e4b37334c46f32e4e69b3ba35091
2016-10-31 04:18:00 +01:00
Jonathan Kew
17a2101b23 Bug 1228799 - Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method. r=emk 2016-08-19 13:57:05 +01:00
Jonathan Watt
db80f397f6 Bug 1058040, part 2 - Rename gfxTextContextPaint to SVGContextPaint and add some code comments. r=dholbert 2016-07-22 14:56:09 +01:00
Khaled Hosny
d8d7f64870 Bug 1283932 - support COLR table layers with unset color, r=jfkthame 2016-07-06 10:10:17 +01:00
Jonathan Kew
fb5e0a3be3 Bug 1268021 - Implement memory reporting for the user-font cache. r=njn 2016-05-03 12:14:34 +01:00
Jonathan Kew
1be69b60f6 Backout 86bea1a981f9 (bug 1268021) for causing Windows crashes on a CLOSED TREE. 2016-05-03 13:36:28 +01:00
Jonathan Kew
d1f897d72c Bug 1268021 - Implement memory reporting for the user-font cache. r=njn 2016-05-03 12:14:34 +01:00
Jonathan Kew
c60f6a1ae4 Bug 1266391 - Introduce an enum class mozilla::unicode::Script, and use this instead of bare integers to specify script codes for better type checking. r=masayuki 2016-04-21 18:58:59 +01:00
Jonathan Watt
c7da421b17 Bug 1266101, part 1 - Remove various bits of dead code related to painting SVG text. r=heycam 2016-04-21 14:39:30 +01:00
Jonathan Kew
28a9e2cf14 Bug 1265452 - Remove use of nsAutoPtr from gfx/thebes. r=jrmuizel 2016-04-15 20:45:37 +01:00
John Daggett
cb1a460415 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-08 15:26:50 +09:00
Carsten "Tomcat" Book
c797ca6392 Backed out changeset 0e3ca319b742 (bug 1244017) for reftest failures 2016-02-05 11:19:25 +01:00
John Daggett
debbbb10f6 Bug 1244017 - remove system font cascade for OSX. r=m_kato 2016-02-05 16:46:05 +09:00
Birunthan Mohanathas
9137955c65 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
53bb27f2a4 Bug 1235261 - Part 2: Switch some uses of AutoFallibleTArray to AutoTArray. r=froydnj
This changes some function signatures to take a nsTArray<T>& instead of a
FallibleTArray<T>& because AutoTArray does not inherit from FallibleTArray.

This is effectively a no-op because the affected array operations already use
`mozilla::fallible`.
2016-01-31 17:12:12 +02:00
John Daggett
bbaa509596 Bug 1212731 p2 - add system font cascade to fontlist for -apple-system generic. r=m_kato 2016-01-15 16:33:51 +09:00
Nicholas Nethercote
52308b4cb3 Bug 1232822 (part 2) - Moz2Dify SetupGlyphExtents(). r=jfkthame.
The gfxContextMatrixAutoSaveRestore in SetupGlyphExtents() is now obviously not
needed, and the rest is trivial.
2015-12-15 13:56:40 -08:00
Nathan Froyd
3d5a31b8f3 Bug 1216644 - part 2 - make gfxFontEntry::mUVSData a UniquePtr; r=jrmuizel
This patch could have been in the last patch, but it felt like modifying
ReadCMAPTableFormat14 to accept a UniquePtr<> made the code clearer.
This change was therefore separated into its own patch for easier
review.
2015-10-20 12:12:41 -04:00
John Daggett
e85da43d87 Bug 1160506 - support intra-family font fallback. r=heycam
Fontconfig allows for fonts to be arbitrarily mapped into another font
family. Under some versions of Debian and Fedora, families like Droid
Sans Japanese were mapped into the Droid Sans family. To match these
font families properly, it's necessary to test multiple fonts within a
single given family. Since this is a relatively time consuming
procedure, only do this when there are multiple regular faces for a
given family.
2015-11-11 21:13:33 +09:00
John Daggett
f4458274bd Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-19 11:16:43 +09:00
Phil Ringnalda
adfbc1f710 Back out 2 changesets (bug 543715) because Mulet is why we can't have nice things
Backed out changeset 2d1d8e9b095c (bug 543715)
Backed out changeset bc90276ec090 (bug 543715)
2015-10-18 11:22:22 -07:00
John Daggett
72b6bcd6d6 Bug 543715 p1 - distinguish between italic and oblique. r=jfkthame 2015-10-18 22:17:46 +09:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Jonathan Kew
fad47169f8 Bug 1184473 - Bypass the word cache for graphite fonts that include space contextuals. r=jdaggett 2015-08-03 09:04:59 +01:00
Jonathan Kew
903c69a371 Bug 1119253 - Font-selection code should use gfxFontEntry::HasCharacter in preference to TestCharacterMap. r=jdaggett 2015-01-15 11:07:24 +00:00
Robert O'Callahan
0c9928a13e Bug 1099977. Part 2: Make gfxFont::Measure return an empty bounding-box when all glyphs are invisible. r=jfkthame
--HG--
extra : rebase_source : 41a9f586ef2992d96b789d6bd55daae18f15ed2f
2014-11-18 23:23:45 +13:00