Code

patch for bug 249665
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 18 Jul 2008 16:34:04 +0000 (16:34 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 18 Jul 2008 16:34:04 +0000 (16:34 +0000)
src/livarot/Path.cpp

index 726b0001cd673eb23f065c286d7c341282e0cd00..bc62e817e0b86c86363c489634e591e172271587 100644 (file)
@@ -813,6 +813,14 @@ void Path::FastBBox(double &l,double &t,double &r,double &b)
                }
            }
            
+/* bug 249665: "...the calculation of the bounding-box for cubic-paths
+has some extra steps to make it work corretly in Win32 that unfortunately
+are unnecessary in Linux, generating wrong results. This only shows in 
+Type1 fonts because they use cubic-paths instead of the
+bezier-paths used by True-Type fonts."
+*/
+
+#ifdef WIN32
            NR::Point np = nData->p - nData->end;
            if ( np[NR::X] < l ) {
                l = np[NR::X];
@@ -840,6 +848,8 @@ void Path::FastBBox(double &l,double &t,double &r,double &b)
            if ( np[NR::Y] > b ) {
                b = np[NR::Y];
            }
+#endif
+
            lastP = nData->p;
        }
         break;