summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/regexp-opt.el
diff options
context:
space:
mode:
authorCecilio Pardo <cpardo@imayhem.com>2024-10-09 11:40:28 +0200
committerEli Zaretskii <eliz@gnu.org>2024-10-25 14:34:45 +0300
commitedf37e811cafa4092b13969613fa83f6e6d69ab3 (patch)
tree4e59b794758f5adc18dd1afaa4b9c8b9963a7f41 /lisp/emacs-lisp/regexp-opt.el
parent517711c373b9c80811371014fc5a7786aa7548eb (diff)
downloademacs-edf37e811cafa4092b13969613fa83f6e6d69ab3.tar.gz
emacs-edf37e811cafa4092b13969613fa83f6e6d69ab3.tar.bz2
emacs-edf37e811cafa4092b13969613fa83f6e6d69ab3.zip
Implement drawing text with DirectWrite on MS-Windows.
This adds support for color fonts. * configure.ac: Add src/w32drite to W32_OBJ. * src/w32dwrite.c: New file. (w32-initialize-direct-write): New function, initialize the DirectWrite library if it is available, and required global variables. (w32_use_direct_write): New function, check if DirectWrite is available and activated by the user. (w32_dwrite_encode_char): New function, replacement for HarfBuzz's 'encode_char'. (w32_dwrite_text_extents): New function, replacement for w32font text_extents. (w32_dwrite_draw): New function, replacement for w32font draw. (w32_dwrite_free_cached_face): New function, used in the font deletion process to also delete DirectWrite data. (verify_hr): New function, verify COM method results. (release_com): New function, release a COM object. (w32-dwrite-available): New function, returns true if DirectWrite is available. (w32-dwrite-reinit): New function, reinitialize DirectWrite, optionally setting some rendering parameters. * src/w32font.c (w32font_text_extents): If DirectWrite is enabled, call 'w32_dwrite_text_extents'. (w32font_draw): If DirectWrite is enabled, call 'w32_dwrite_draw'. * src/w32uniscribe.c: (w32hb_encode_char): If DirectWrite is enabled, call 'w32_dwrite_encode_char'. (syms_of_w32uniscribe_for_pdumper): Initialize DirectWrite. (uniscribe_close): Free DirectWrite data for the font. Bug#73730
Diffstat (limited to 'lisp/emacs-lisp/regexp-opt.el')
0 files changed, 0 insertions, 0 deletions