]> code.delx.au - gnu-emacs/blobdiff - src/macfont.m
Fix shr.el/image build problem
[gnu-emacs] / src / macfont.m
index 4e4daba0707be9471ac10c379a9a8246de4fa210..c799100c8550823ac84311d5eae0f2f0c9474bec 100644 (file)
@@ -3767,6 +3767,7 @@ mac_font_shape (CTFontRef font, CFStringRef string,
             {
               struct mac_glyph_layout *gl;
               CGPoint position;
+             CGFloat max_x;
 
               if (!RIGHT_TO_LEFT_P)
                 gl = glbuf + range.location;
@@ -3788,12 +3789,13 @@ mac_font_shape (CTFontRef font, CFStringRef string,
               CTRunGetGlyphs (ctrun, range, &gl->glyph_id);
 
               CTRunGetPositions (ctrun, range, &position);
+             max_x = position.x + CTRunGetTypographicBounds (ctrun, range,
+                                                             NULL, NULL, NULL);
+             max_x = max (max_x, total_advance);
               gl->advance_delta = position.x - total_advance;
               gl->baseline_delta = position.y;
-              gl->advance = (gl->advance_delta
-                             + CTRunGetTypographicBounds (ctrun, range,
-                                                          NULL, NULL, NULL));
-              total_advance += gl->advance;
+              gl->advance = max_x - total_advance;
+              total_advance = max_x;
             }
 
           if (RIGHT_TO_LEFT_P)