MSVC builds: Add support to build DirectWrite shaping backend
Add into the NMake Makefiles to build the DirectWrite shaping backend, but as PR #134 mentions, this is considered to be in an experimental state, so don't include this in the build by default for now. This is most probably going to replace the Uniscribe backend eventually, since DirectWrite is meant to be Uniscribe's replacement, and is needed for Windows Store apps if a system shaping API is to be used.
This commit is contained in:
parent
c679285455
commit
f6ffba634b
@ -68,6 +68,10 @@ ICU: Enables the build HarfBuzz-ICU, which is now the recommended layout engine
|
||||
for ICU (International Components for Unicode), which deprecated ICU LE.
|
||||
Requires the ICU libraries.
|
||||
|
||||
DIRECTWRITE: Enable (experimental) DirectWrite platform shaper support,
|
||||
requires a rather recent Windows SDK, and at least Windows Vista/
|
||||
Server 2008 with SP2 and platform update.
|
||||
|
||||
PYTHON: Full path to the Python interpretor to be used, if it is not in %PATH%.
|
||||
|
||||
PERL: Full path to the PERL interpretor to be used, if it is not in %PATH%.
|
||||
|
@ -20,6 +20,9 @@ CAIRO_LIB = cairo.lib
|
||||
# Graphite2 is needed for building SIL Graphite2 support
|
||||
GRAPHITE2_LIB = graphite2.lib
|
||||
|
||||
# Directwrite is needed for DirectWrite shaping support
|
||||
DIRECTWRITE_LIB = dwrite.lib
|
||||
|
||||
# Please do not change anything beneath this line unless maintaining the NMake Makefiles
|
||||
# Bare minimum features and sources built into HarfBuzz on Windows
|
||||
HB_DEFINES =
|
||||
@ -185,4 +188,11 @@ HB_CFLAGS = \
|
||||
HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
|
||||
!endif
|
||||
|
||||
!if "$(DIRECTWRITE)" == "1"
|
||||
HB_CFLAGS = $(HB_CFLAGS) /DHAVE_DIRECTWRITE
|
||||
HB_SOURCES = $(HB_SOURCES) $(HB_DIRECTWRITE_sources)
|
||||
HB_HEADERS = $(HB_HEADERS) $(HB_DIRECTWRITE_headers)
|
||||
HB_DEP_LIBS = $(HB_DEP_LIBS) $(DIRECTWRITE_LIB)
|
||||
!endif
|
||||
|
||||
HB_LIB_CFLAGS = $(HB_CFLAGS) /DHB_EXTERN="__declspec (dllexport) extern"
|
||||
|
@ -18,6 +18,9 @@
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
/* #undef HAVE_DLFCN_H */
|
||||
|
||||
/* Have DirectWrite Library */
|
||||
/* #undef HAVE_DIRECTWRITE */
|
||||
|
||||
/* Have simple TrueType Layout backend */
|
||||
#define HAVE_FALLBACK 1
|
||||
|
||||
|
@ -23,6 +23,10 @@ INC_FEATURES = $(INC_FEATURES) FreeType
|
||||
INC_FEATURES = $(INC_FEATURES) Graphite2
|
||||
!endif
|
||||
|
||||
!if "$(DIRECTWRITE)" == "1"
|
||||
INC_FEATURES = $(INC_FEATURES) DirectWrite
|
||||
!endif
|
||||
|
||||
!if "$(ICU)" == "1"
|
||||
BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-ICU
|
||||
!endif
|
||||
@ -76,6 +80,9 @@ help:
|
||||
@echo HarfBuzz DLL is built with OpenType, fallback and Uniscribe support
|
||||
@echo with a bundled Unicode implementation (UCDN).
|
||||
@echo ======
|
||||
@echo DIRECTWRITE:
|
||||
@echo Enable DirectWrite support, requires a recent enough Windows SDK.
|
||||
@echo.
|
||||
@echo GRAPHITE2:
|
||||
@echo Enable graphite2 support, requires the SIL Graphite2 library
|
||||
@echo.
|
||||
|
Loading…
Reference in New Issue
Block a user