Ver Fonte

fix for safari

Aakansha Doshi há 2 anos atrás
pai
commit
a0b968c8e0
1 ficheiros alterados com 9 adições e 3 exclusões
  1. 9 3
      src/element/textElement.ts

+ 9 - 3
src/element/textElement.ts

@@ -329,13 +329,19 @@ export const measureBaseline = (
   let baseline = span.offsetTop + span.offsetHeight;
   const domHeight = container.offsetHeight;
 
-  // In Safari sometimes DOM height could be less than canvas height due to
-  // which text could go out of the bounding box hence shifting the baseline
-  // to make sure text is rendered correctly
   if (isSafari) {
+    // In Safari sometimes DOM height could be less than canvas height due to
+    // which text could go out of the bounding box hence shifting the baseline
+    // to make sure text is rendered correctly
     if (canvasHeight > domHeight) {
       baseline += canvasHeight - domHeight;
     }
+    // In Safari sometimes DOM height could be more than canvas height due to
+    // which text could go out of the bounding box hence shifting the baseline
+    // to make sure text is rendered correctly
+    if (domHeight > canvasHeight) {
+      baseline -= domHeight - canvasHeight;
+    }
   }
   document.body.removeChild(container);
   return baseline;