summaryrefslogtreecommitdiffstats
path: root/libass/ass_directwrite.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_directwrite.c')
-rw-r--r--libass/ass_directwrite.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libass/ass_directwrite.c b/libass/ass_directwrite.c
index 521447d..6b6b623 100644
--- a/libass/ass_directwrite.c
+++ b/libass/ass_directwrite.c
@@ -512,7 +512,6 @@ static void scan_fonts(IDWriteFactory *factory,
IDWriteLocalizedStrings *fontNames = NULL;
IDWriteLocalizedStrings *psNames = NULL;
BOOL exists = FALSE;
- char *psName = NULL;
hr = IDWriteFontCollection_GetFontFamily(fontCollection, i, &fontFamily);
if (FAILED(hr))
@@ -556,8 +555,10 @@ static void scan_fonts(IDWriteFactory *factory,
temp_name[NAME_MAX_LENGTH-1] = 0;
size_needed = WideCharToMultiByte(CP_UTF8, 0, temp_name, -1, NULL, 0,NULL, NULL);
- psName = (char *) malloc(size_needed);
- WideCharToMultiByte(CP_UTF8, 0, temp_name, -1, psName, size_needed, NULL, NULL);
+ char *mbName = (char *) malloc(size_needed);
+ WideCharToMultiByte(CP_UTF8, 0, temp_name, -1, mbName, size_needed, NULL, NULL);
+ meta.postscript_name = mbName;
+
IDWriteLocalizedStrings_Release(psNames);
}
@@ -618,7 +619,7 @@ static void scan_fonts(IDWriteFactory *factory,
FontPrivate *font_priv = (FontPrivate *) calloc(1, sizeof(*font_priv));
font_priv->font = font;
- ass_font_provider_add_font(provider, &meta, NULL, 0, psName, font_priv);
+ ass_font_provider_add_font(provider, &meta, NULL, 0, font_priv);
for (UINT32 k = 0; k < meta.n_family; ++k)
free(meta.families[k]);
@@ -626,7 +627,7 @@ static void scan_fonts(IDWriteFactory *factory,
free(meta.fullnames[k]);
free(meta.fullnames);
free(meta.families);
- free(psName);
+ free(meta.postscript_name);
}
}
}