X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7e510e2844732d53563abd45ec60df7de2129246..fb39b937b0628f4592b07d0aa61a41cf696abd30:/src/w32uniscribe.c diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index bc45e2c648..5d160b9d42 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c @@ -27,7 +27,6 @@ along with GNU Emacs. If not, see . */ #define _WIN32_WINNT 0x500 #include #include -#include #include "lisp.h" #include "w32term.h" @@ -454,7 +453,11 @@ uniscribe_shape (Lisp_Object lgstring) } else ASET (vec, 0, make_number (offsets[j].du + adj_offset)); - ASET (vec, 1, make_number (offsets[j].dv)); + /* In the font definition coordinate system, the + Y coordinate points up, while in our screen + coordinates Y grows downwards. So we need to + reverse the sign of Y-OFFSET here. */ + ASET (vec, 1, make_number (-offsets[j].dv)); /* Based on what ftfont.c does... */ ASET (vec, 2, make_number (advances[j])); LGLYPH_SET_ADJUSTMENT (lglyph, vec);