Commit 53385314 authored by Kusanagi Kouichi's avatar Kusanagi Kouichi Committed by Alexandre Julliard

gdi32: Substitute glyph for vertical font only.

parent 69a26387
...@@ -269,6 +269,7 @@ typedef struct tagFace { ...@@ -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, ...@@ -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: ...@@ -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) ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment