Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Mar 2002 07:06:13 -0800 (PST)
From:      Joe Kelsey <joe@zircon.seattle.wa.us>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/36049: Mozilla 0.9.9 TrueType support broken
Message-ID:  <200203181506.g2IF6DV38471@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         36049
>Category:       ports
>Synopsis:       Mozilla 0.9.9 TrueType support broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 18 07:10:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Joe Kelsey
>Release:        4.5
>Organization:
>Environment:
FreeBSD zircon.zircon.seattle.wa.us 4.5-STABLE FreeBSD 4.5-STABLE #6: Mon Mar  4 08:38:11 PST 2002     joe@zircon.zircon.seattle.wa.us:/usr/obj/usr/src/sys/ZIRCON  i386
>Description:
Mozilla TrueType font support doesn't really work.  Bugzilla PR#130661 describes the problem and provides a simple fix.
>How-To-Repeat:
      Set up TrueType font support as described in the 0.9.9 release notes.  Notice that the font style does not change (italic versus bold versus normal) when it should.
>Fix:
? junk
? .nsFT2FontCatalog.cpp.swp
? .nsFreeType.cpp.swp
? .nsFT2FontCatalog.h.swp
Index: nsFreeType.cpp
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/x11shared/nsFreeType.cpp,v
retrieving revision 1.5
diff -u -r1.5 nsFreeType.cpp
--- nsFreeType.cpp	28 Feb 2002 22:37:13 -0000	1.5
+++ nsFreeType.cpp	16 Mar 2002 00:46:44 -0000
@@ -1340,12 +1340,20 @@
 nsFreeTypeFace *
 nsFreeTypeGetFaceID(nsFontCatalogEntry *aFce)
 {
-  // in this hash each ttc face has a unique key
-  nsCStringKey key(nsFT2FontCatalog::GetFamilyName(aFce));
+  // We need to have separate keys for the different faces in a ttc file.
+  // We append a slash and the face index to the file name to give us a 
+  // unique key for each ttc face.
+  nsCAutoString key_str(nsFT2FontCatalog::GetFileName(aFce));
+  char buf[20];
+  sprintf(buf, "/%d", nsFT2FontCatalog::GetFaceIndex(aFce));
+  key_str.Append(buf);
+  nsCStringKey key(key_str);
   nsFreeTypeFace *face = (nsFreeTypeFace *)gFreeTypeFaces->Get(&key);
   if (!face) {
     face = new nsFreeTypeFace(aFce);
     NS_ASSERTION(face, "memory error while creating nsFreeTypeFace");
+    if (!face)
+      return nsnull;
     gFreeTypeFaces->Put(&key, face);
   }
   return face;


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203181506.g2IF6DV38471>