Commit Graph

93 Commits

Author SHA1 Message Date
Jonathan Kew
e0e389027e Bug 1139646 - Ensure gfxHarfBuzzShaper only loads the vmtx table once, to avoid leaking it. r=smontagu 2015-03-12 10:03:09 +00:00
Jonathan Kew
3f92d8c4be Bug 1139888 - Check for missing glyph metrics tables. r=jdaggett 2015-03-09 12:16:22 +00:00
Jonathan Kew
ee276d8a7b Bug 1127935 - Check for null when trying to load 'head' table, to avoid crashing on non-sfnt fonts. r=jdaggett 2015-02-10 09:18:23 +00:00
Jonathan Kew
c1c55a435c Bug 1108177 - Implement harfbuzz glyph-extents callback, so that fallback mark positioning works in legacy truetype fonts. r=jdaggett 2015-01-28 09:03:28 +00:00
Nicholas Nethercote
7d9cc5ecf2 Bug 1124545 - Avoid creating the mergedFeatures hash table when possible. r=jdaggett.
When scrolling all the way through
https://bugzilla.mozilla.org/show_bug.cgi?id=MNG, |mergedFeatures| gets
initialized more than 50,000 times -- each one involving a heap allocation for
the entry storage -- but it never has anything put into it.

This patch refactors MergeFontFeatures to move |mergedFeatures| inside it. It
now doesn't get created in the common case.

--HG--
extra : rebase_source : 5a8d44b30f90169b70e5f50a5e38bbe57f02b12b
2015-01-21 22:41:02 -08:00
Jonathan Kew
2f5de859dd Bug 1120101 - Calculate vertical glyph origin based on 'vmtx' table in TrueType fonts. r=jdaggett 2015-01-15 11:07:26 +00:00
Jonathan Kew
1b836295dc Bug 1090329 - gfxHarfBuzzShaper::GetGlyphVAdvance should never use the backend-specific GetGlyphWidth method, which is for horizontal width only. r=smontagu 2015-01-06 20:56:01 +00:00
Jonathan Kew
9b86ba77e0 Bug 1108616 - part 3 - Only do language-specific shaping when the language was explicitly tagged. r=jdaggett 2014-12-23 12:50:10 +00:00
Jonathan Watt
788f36f152 Bug 1093811 - Convert the gfxFont::GetGlyphWidth() virtual method to take a Moz2D DrawTarget instead of a Thebes gfxContext. r=jfkthame 2014-11-10 21:41:41 +00:00
Jonathan Watt
34c0ce8374 Bug 1093813 - Remove the gfxContext argument from gfxHarfBuzzShaper's GetGlyphHAdvance, GetGlyphVAdvance and GetGlyphVOrigin methods. r=jfkthame 2014-11-10 21:41:41 +00:00
Jonathan Kew
315fe696fe Bug 902762 pt 1 - Pass a 'vertical' flag to font shapers, and support vertical shaping through harfbuzz. r=jdaggett 2014-10-01 20:25:48 +01:00
Jonathan Kew
08babb6a11 bug 1066043 - split gfxFont.cpp and .h into more manageably-sized pieces. r=jdaggett
--HG--
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxFontEntry.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxFontEntry.h
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxGlyphExtents.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxGlyphExtents.h
rename : gfx/thebes/gfxFont.cpp => gfx/thebes/gfxTextRun.cpp
rename : gfx/thebes/gfxFont.h => gfx/thebes/gfxTextRun.h
2014-09-16 10:58:12 +01:00
Jonathan Kew
15b1ad36a4 bug 1063931 - support cmap subtable format 10 in gfxHarfBuzzShaper::GetGlyph. r=jdaggett 2014-09-08 09:53:29 +01:00
John Daggett
100e7f2947 Bug 1059691. Cleanup tabs in gfx/thebes source files. r=mkato 2014-08-29 13:18:28 +09:00
John Daggett
a982b2ef3a Bug 1024804 p2 - scan scriptrun for characters lacking variant glyphs. r=jfkthame 2014-07-22 09:02:48 +09:00
John Daggett
5a49215c66 Bug 961558 - add fallback support for font-variant-caps values. r=jfkthame 2014-06-23 12:09:16 +09:00
Jonathan Kew
5120924fba bug 1012365 - workaround for Devanagari fonts that lack support for U+0972 on Android. r=jdaggett 2014-06-02 12:46:49 +01:00
Frédéric Wang
a8464ba408 Bug 407059 - Part 4: Use gfxHarfbuzzShaper::GetGlyphHAdvance() for math operators. r=jfkthame 2014-04-23 06:57:42 -07:00
Ryan VanderMeulen
e50ce58691 Backed out 5 changesets (bug 407059) for reftest asserts.
Backed out changeset 21fee1261f2e (bug 407059)
Backed out changeset c940a2d399c4 (bug 407059)
Backed out changeset 77593dd1b044 (bug 407059)
Backed out changeset cfcbc731d4db (bug 407059)
Backed out changeset d8244f3ecdcb (bug 407059)
2014-04-22 11:00:13 -04:00
Frédéric Wang
d577ebba69 Bug 407059 - Part 4: Use gfxHarfbuzzShaper::GetGlyphHAdvance() for math operators. r=jfkthame 2014-04-22 08:44:04 -04:00
Masatoshi Kimura
23286abbc0 Bug 989557 - Implement a fallback for CJK Compatibility Ideographs Standardized Variants. r=jfkthame
--HG--
rename : layout/reftests/fonts/gw432047-license.txt => layout/reftests/fonts/glyphwiki-license.txt
2014-04-01 02:30:26 +09:00
Ehsan Akhgari
ef4e513fd2 Bug 969866 - Use fallible allocations in some places in our font/text shaping code; r=jfkthame
It seems like the sizes for these data structures can be controlled from
Web content, and we are already prepared to deal with OOM conditions,
except that we are using infallible allocations by mistake.
2014-02-08 13:10:07 -05:00
James Kitchener
4c8c250776 Bug 953385 - Set math script where applicable in /gfx. r=jfkthame 2014-01-30 10:59:16 -05:00
Ehsan Akhgari
ebd358dfd7 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Ehsan Akhgari
02adcaf06e Bug 939585 - Build gfx/thebes in unified mode; r=BenWa 2013-11-27 08:03:04 -05:00
Phil Ringnalda
62cb41d82e Back out d280a1c64f76 (bug 939585) for Mac build bustage
CLOSED TREE
2013-11-24 18:02:14 -08:00
Benoit Girard
f5ea9b323a Bug 939585 - Build gfx/thebes in unified mode. r=ehsan,bjacob 2013-11-21 14:22:45 -05:00
Ehsan Akhgari
b6bef348c1 Bug 924221 - Minimize the #includes in gfx/thebes; r=bjacob
--HG--
extra : rebase_source : af198eb9b9739ce718ba0d16c385624a722cde51
2013-10-07 19:15:59 -04:00
Jonathan Kew
76c20f804e bug 910506 - update harfbuzz to upstream release 0.9.21 plus latest bugfixes (commit 3d2c4f0c2ff8fab4262988aad65b170e5b479b20). r=jdaggett 2013-09-28 09:51:46 +01:00
Jonathan Kew
1eac4d8f53 backout changesets 9a9382595fce and ff34f480df07 (bug 910506) on a CLOSED TREE for failure in reftest variation-selector-unsupported-1.html 2013-09-27 14:58:28 +01:00
Jonathan Kew
4ccbee8eb5 bug 910506 - fix up gfxHarfBuzzShaper::GetGlyph for changed semantics of the hb_font_get_glyph callback. r=jdaggett 2013-09-27 13:22:26 +01:00
Jonathan Kew
5088360b94 bug 847344 - refactor gfxFont/gfxFontEntry and associated classes for more efficient use of HarfBuzz and Graphite shaper APIs. r=roc 2013-05-16 17:29:20 +01:00
John Daggett
18ea34f1e4 Bug 549861 - reland font-variant subproperties with DOM-peer review. r=khuey 2013-05-20 11:59:20 +09:00
Ms2ger
c80e8cd5c6 Backout bug 549861 (changesets 27fb48df15ce:7ecd4e3863b4) for insufficient review. 2013-05-19 20:23:19 +02:00
John Daggett
46d5a31f16 Bug 549861. Trim out kerning from gfxFontStyle. r=jkew 2013-05-13 18:45:38 +09:00
John Daggett
c580f1c701 Bug 549861. Implement gfx support for font-variant-alternates. r=jkew 2013-05-13 18:45:37 +09:00
John Daggett
353ac539b0 Bug 549861. Implement rendering support for simple font-variant properties. r=jkew 2013-05-13 18:45:36 +09:00
Jonathan Kew
99ab56d516 bug 831277 - (a) make GetRoundOffsetsToPixels a method on gfxContext, instead of private to the harfbuzz shaper. r=jdaggett 2013-01-21 09:24:01 +00:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Jonathan Kew
c83f05e1ca bug 825871 - refactor gfxTextRun and gfxShapedWord to share a common abstract base class (gfxShapedText) and shaping interface. r=roc 2013-01-04 18:35:37 +00:00
Trevor Saunders
3d3592cd63 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Ehsan Akhgari
1d1ec4e105 Bug 793408 - Remove some prtypes.h #includes from gfx; r=jrmuizel 2012-09-28 14:56:27 -04:00
Phil Ringnalda
fd1e5a6cf0 Back out 519f41fa596f (bug 793408) for Windows build bustage on a CLOSED TREE 2012-09-27 14:38:23 -07:00
Ehsan Akhgari
7c8cbb6a5f Bug 793408 - Remove some prtypes.h #includes from gfx; r=jrmuizel 2012-09-22 11:34:22 -04:00
Ehsan Akhgari
52ace62039 Backout changeset 24f4f77fba76 (bug 793408) because of broken builds on a CLOSED TREE 2012-09-27 10:24:08 -04:00
Ehsan Akhgari
823f39644b Bug 793408 - Remove some prtypes.h #includes from gfx; r=jrmuizel 2012-09-22 11:34:22 -04:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Daniel Holbert
fbf9a0e9ff Bug 780680: Remove never-read variable 'prevGlyphCharIndex' from gfxHarfBuzzShaper::SetGlyphsFromRun(). r=jfkthame 2012-08-06 13:34:38 -07:00
Jonathan Kew
1024b2c567 bug 780409 - updates to thebes harfbuzz integration for hb api changes. r=jdaggett 2012-08-06 11:42:20 +01:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00