gdi32: Substitute glyph for vertical font only.
This commit is contained in:
parent
69a26387b3
commit
53385314d0
|
@ -269,6 +269,7 @@ typedef struct tagFace {
|
||||||
DWORD ntmFlags;
|
DWORD ntmFlags;
|
||||||
FT_Fixed font_version;
|
FT_Fixed font_version;
|
||||||
BOOL scalable;
|
BOOL scalable;
|
||||||
|
BOOL vertical;
|
||||||
Bitmap_Size size; /* set if face is a bitmap */
|
Bitmap_Size size; /* set if face is a bitmap */
|
||||||
BOOL external; /* TRUE if we should manually add this font to the registry */
|
BOOL external; /* TRUE if we should manually add this font to the registry */
|
||||||
struct tagFamily *family;
|
struct tagFamily *family;
|
||||||
|
@ -1619,6 +1620,7 @@ static void AddFaceToList(FT_Face ft_face, char *fake_family, const char *file,
|
||||||
if (face->ntmFlags == 0) face->ntmFlags = NTM_REGULAR;
|
if (face->ntmFlags == 0) face->ntmFlags = NTM_REGULAR;
|
||||||
face->font_version = pHeader ? pHeader->Font_Revision : 0;
|
face->font_version = pHeader ? pHeader->Font_Revision : 0;
|
||||||
face->family = family;
|
face->family = family;
|
||||||
|
face->vertical = vertical;
|
||||||
face->external = (flags & ADDFONT_EXTERNAL_FONT) ? TRUE : FALSE;
|
face->external = (flags & ADDFONT_EXTERNAL_FONT) ? TRUE : FALSE;
|
||||||
face->fs = fs;
|
face->fs = fs;
|
||||||
memset(&face->fs_links, 0, sizeof(face->fs_links));
|
memset(&face->fs_links, 0, sizeof(face->fs_links));
|
||||||
|
@ -4248,7 +4250,7 @@ found_face:
|
||||||
ret->strikeout = lf.lfStrikeOut ? 0xff : 0;
|
ret->strikeout = lf.lfStrikeOut ? 0xff : 0;
|
||||||
create_child_font_list(ret);
|
create_child_font_list(ret);
|
||||||
|
|
||||||
if (lf.lfFaceName[0]=='@') /* We need to try to load the GSUB table */
|
if (face->vertical) /* We need to try to load the GSUB table */
|
||||||
{
|
{
|
||||||
int length = get_font_data(ret, GSUB_TAG , 0, NULL, 0);
|
int length = get_font_data(ret, GSUB_TAG , 0, NULL, 0);
|
||||||
if (length != GDI_ERROR)
|
if (length != GDI_ERROR)
|
||||||
|
|
|
@ -4126,7 +4126,6 @@ static void test_vertical_font(void)
|
||||||
check_vertical_font("@WineTestVertical", &installed, &selected, &gm);
|
check_vertical_font("@WineTestVertical", &installed, &selected, &gm);
|
||||||
ok(installed, "@WineTestVertical is not installed\n");
|
ok(installed, "@WineTestVertical is not installed\n");
|
||||||
ok(selected, "@WineTestVertical is not selected\n");
|
ok(selected, "@WineTestVertical is not selected\n");
|
||||||
todo_wine
|
|
||||||
ok(gm.gmBlackBoxX > gm.gmBlackBoxY,
|
ok(gm.gmBlackBoxX > gm.gmBlackBoxY,
|
||||||
"gmBlackBoxX(%u) should be greater than gmBlackBoxY(%u) if horizontal\n",
|
"gmBlackBoxX(%u) should be greater than gmBlackBoxY(%u) if horizontal\n",
|
||||||
gm.gmBlackBoxX, gm.gmBlackBoxY);
|
gm.gmBlackBoxX, gm.gmBlackBoxY);
|
||||||
|
|
Loading…
Reference in New Issue