[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 922121e: Fix the handling of font backend supersede
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 922121e: Fix the handling of font backend supersedence on MS-Windows |
Date: |
Tue, 18 Jun 2019 13:23:56 -0400 (EDT) |
branch: master
commit 922121e7ddbc107da14ea9c1280d15c828e85063
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix the handling of font backend supersedence on MS-Windows
* src/w32font.c (syms_of_w32font): Don't make the Uniscribe
font backend "superceded" here, ...
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
... make it "superceded" here, only if the HarfBuzz DLL was
successfully loaded. This is because Emacs compiled with
HarfBuzz support might run on a system without the DLL.
* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
Register the HarfBuzz font backend only if it is available.
---
src/w32fns.c | 6 ++++--
src/w32font.c | 2 --
src/w32uniscribe.c | 1 +
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/w32fns.c b/src/w32fns.c
index 83830c6..acd9c80 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -5845,7 +5845,8 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
}
#ifdef HAVE_HARFBUZZ
- register_font_driver (&harfbuzz_font_driver, f);
+ if (harfbuzz_available)
+ register_font_driver (&harfbuzz_font_driver, f);
#endif
register_font_driver (&uniscribe_font_driver, f);
register_font_driver (&w32font_driver, f);
@@ -6900,7 +6901,8 @@ w32_create_tip_frame (struct w32_display_info *dpyinfo,
Lisp_Object parms)
}
#ifdef HAVE_HARFBUZZ
- register_font_driver (&harfbuzz_font_driver, f);
+ if (harfbuzz_available)
+ register_font_driver (&harfbuzz_font_driver, f);
#endif
register_font_driver (&uniscribe_font_driver, f);
register_font_driver (&w32font_driver, f);
diff --git a/src/w32font.c b/src/w32font.c
index 5d54f04..14d49b2 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -2821,8 +2821,6 @@ versions of Windows) characters. */);
defsubr (&Sx_select_font);
- Fput (Quniscribe, Qfont_driver_superseded_by, Qharfbuzz);
-
pdumper_do_now_and_after_load (syms_of_w32font_for_pdumper);
}
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index caf346a..d59d564 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -1533,6 +1533,7 @@ syms_of_w32uniscribe_for_pdumper (void)
if (!load_harfbuzz_funcs (harfbuzz))
return;
+ Fput (Quniscribe, Qfont_driver_superseded_by, Qharfbuzz);
harfbuzz_available = 1;
harfbuzz_font_driver = uniscribe_font_driver;
harfbuzz_font_driver.type = Qharfbuzz;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 922121e: Fix the handling of font backend supersedence on MS-Windows,
Eli Zaretskii <=