Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (4a6ee7aa316c051abb6313c6e59d575970665a9d)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (4a6ee7aa316c051abb6313c6e59d575970665a9d)
  • Date: Mon, 24 Apr 2023 21:07:53 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/DETAILS | 2
http/firefox/HISTORY | 4
http/firefox/patches/0036-bmo-1827950-bitmap-font-issue.patch | 73
++++++++++
3 files changed, 78 insertions(+), 1 deletion(-)

New commits:
commit 4a6ee7aa316c051abb6313c6e59d575970665a9d
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: version 112.0.2

diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index fca0055..0afd461 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,5 +1,5 @@
SPELL=firefox
- VERSION=112.0.1
+ VERSION=112.0.2
SECURITY_PATCH=175
SOURCE="${SPELL}-${VERSION}.source.tar.xz"
# Watch: http://releases.mozilla.org/pub/firefox/releases/
/releases/([0-9.]+)/
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index 1da4bcc..f00382c 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,7 @@
+2023-04-24 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 112.0.2
+ * patches/*: updated
+
2023-04-19 Pavel Vinogradov <public AT sourcemage.org>
* patches/*: updated

diff --git a/http/firefox/patches/0036-bmo-1827950-bitmap-font-issue.patch
b/http/firefox/patches/0036-bmo-1827950-bitmap-font-issue.patch
new file mode 100644
index 0000000..dc07cb6
--- /dev/null
+++ b/http/firefox/patches/0036-bmo-1827950-bitmap-font-issue.patch
@@ -0,0 +1,73 @@
+
+# HG changeset patch
+# User Jonathan Kew <jkew AT mozilla.com>
+# Date 1681473245 0
+# Node ID 80b83057f86ba261009ac5cfcf18d200365b6013
+# Parent c251ad7af1d1de2e7642d09349129e3896db20ed
+Bug 1827950 - Don't attempt to use font extents if we didn't get a valid
'head' table, or if it's not an sfnt resource. r=lsalzman, a=dsmith
+
+Differential Revision: https://phabricator.services.mozilla.com/D175391
+
+diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
+--- a/gfx/thebes/gfxFont.cpp
++++ b/gfx/thebes/gfxFont.cpp
+@@ -2465,17 +2465,25 @@ void gfxFont::Draw(const gfxTextRun* aTe
+ }
+ } else {
+ fontParams.synBoldOnePixelOffset = 0;
+ fontParams.extraStrikes = 0;
+ }
+
+ // Figure out the maximum extents for the font, accounting for synthetic
+ // oblique and bold.
+- fontParams.fontExtents =
GetFontEntry()->GetFontExtents(mFUnitsConvFactor);
++ if (mFUnitsConvFactor > 0.0) {
++ fontParams.fontExtents =
GetFontEntry()->GetFontExtents(mFUnitsConvFactor);
++ } else {
++ // Was it not an sfnt? Maybe on Linux... use arbitrary huge extents, so
we
++ // don't inadvertently clip stuff. A bit less efficient than true
extents,
++ // but this should be extremely rare.
++ auto size = GetAdjustedSize();
++ fontParams.fontExtents = Rect(-2 * size, -2 * size, 5 * size, 5 * size);
++ }
+ if (fontParams.obliqueSkew != 0.0f) {
+ gfx::Point p(fontParams.fontExtents.x, fontParams.fontExtents.y);
+ gfx::Matrix skew(1, 0, fontParams.obliqueSkew, 1, 0, 0);
+ fontParams.fontExtents = skew.TransformBounds(fontParams.fontExtents);
+ }
+ if (fontParams.extraStrikes) {
+ if (fontParams.isVerticalFont) {
+ fontParams.fontExtents.height +=
+diff --git a/gfx/thebes/gfxFontEntry.cpp b/gfx/thebes/gfxFontEntry.cpp
+--- a/gfx/thebes/gfxFontEntry.cpp
++++ b/gfx/thebes/gfxFontEntry.cpp
+@@ -279,21 +279,24 @@ uint16_t gfxFontEntry::UnitsPerEm() {
+ if (!mUnitsPerEm) {
+ AutoTable headTable(this, TRUETYPE_TAG('h', 'e', 'a', 'd'));
+ if (headTable) {
+ uint32_t len;
+ const HeadTable* head =
+ reinterpret_cast<const HeadTable*>(hb_blob_get_data(headTable,
&len));
+ if (len >= sizeof(HeadTable)) {
+ mUnitsPerEm = head->unitsPerEm;
++ if (int16_t(head->xMax) > int16_t(head->xMin) &&
++ int16_t(head->yMax) > int16_t(head->yMin)) {
++ mXMin = head->xMin;
++ mYMin = head->yMin;
++ mXMax = head->xMax;
++ mYMax = head->yMax;
++ }
+ }
+- mXMin = head->xMin;
+- mYMin = head->yMin;
+- mXMax = head->xMax;
+- mYMax = head->yMax;
+ }
+
+ // if we didn't find a usable 'head' table, or if the value was
+ // outside the valid range, record it as invalid
+ if (mUnitsPerEm < kMinUPEM || mUnitsPerEm > kMaxUPEM) {
+ mUnitsPerEm = kInvalidUPEM;
+ }
+ }
+



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (4a6ee7aa316c051abb6313c6e59d575970665a9d), Pavel Vinogradov, 04/24/2023

Archive powered by MHonArc 2.6.24.

Top of Page