diff options
author | Jason Rumney <jasonr@gnu.org> | 2004-10-16 23:02:25 +0000 |
---|---|---|
committer | Jason Rumney <jasonr@gnu.org> | 2004-10-16 23:02:25 +0000 |
commit | 0424a1b04306efa6096a59c38a337a40c7dfd856 (patch) | |
tree | 719f3d86daf95023759e301a1f3278e55fd70a2d /src/w32fns.c | |
parent | be13cbb78b1986aa44989cf715f05dc07d359348 (diff) | |
download | emacs-0424a1b04306efa6096a59c38a337a40c7dfd856.tar.gz |
(w32_font_match): Encode font name being matched.
Diffstat (limited to 'src/w32fns.c')
-rw-r--r-- | src/w32fns.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index 5cfc4adb0af..1e52155ab3b 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5370,7 +5370,7 @@ x_to_w32_font (lpxstr, lplogfont) setup_coding_system (Fcheck_coding_system (Vlocale_coding_system), &coding); coding.src_multibyte = 1; - coding.dst_multibyte = 1; + coding.dst_multibyte = 0; /* Need to set COMPOSITION_DISABLED, otherwise Emacs crashes in encode_coding_iso2022 trying to dereference a null pointer. */ coding.composing = COMPOSITION_DISABLED; @@ -5607,12 +5607,14 @@ w32_font_match (fontname, pattern) char * fontname; char * pattern; { - char *regex = alloca (strlen (pattern) * 2 + 3); - char *font_name_copy = alloca (strlen (fontname) + 1); + char *font_name_copy; char *ptr; + Lisp_Object encoded_font_name; + char *regex = alloca (strlen (pattern) * 2 + 3); - /* Copy fontname so we can modify it during comparison. */ - strcpy (font_name_copy, fontname); + /* Convert fontname to unibyte for match. */ + encoded_font_name = string_make_unibyte (build_string (fontname)); + font_name_copy = SDATA (encoded_font_name); ptr = regex; *ptr++ = '^'; |