[HarfBuzz] harfbuzz: Branch 'master' - 9 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Oct 26 08:34:00 UTC 2016
appveyor.yml | 15 +++++++++++++--
src/hb-gobject-structs.cc | 3 +++
test/api/Makefile.am | 1 -
win32/README.txt | 13 +++++++------
win32/config-msvc.mak | 25 ++++++++++++++++++++-----
win32/config.h.win32.in | 2 +-
win32/detectenv-msvc.mak | 3 +++
win32/info-msvc.mak | 11 +++++++++--
8 files changed, 56 insertions(+), 17 deletions(-)
New commits:
commit b6c765871b752c9436ec993e47b48f9d4fecaed5
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Oct 26 10:33:33 2016 +0200
[ci] Fix appveyor.yml syntax error
diff --git a/appveyor.yml b/appveyor.yml
index 0653000..ddcc9a4 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -36,7 +36,7 @@ install:
- 'if "%compiler%"=="msvc" cd vcpkg'
- 'if "%compiler%"=="msvc" powershell -exec bypass scripts\bootstrap.ps1'
- 'if "%compiler%"=="msvc" vcpkg install freetype:%VCPKG_ARCH%'
- - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib"
+ - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib'
- 'if "%compiler%"=="msvc" cd ..'
build_script:
commit 0e79ebb3ca9b7b6d238a0007e5ca022845ee9afc
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 23 14:39:43 2016 +0200
[gobject] Update for new MATH structs
diff --git a/src/hb-gobject-structs.cc b/src/hb-gobject-structs.cc
index 6bd6336..fef0024 100644
--- a/src/hb-gobject-structs.cc
+++ b/src/hb-gobject-structs.cc
@@ -78,3 +78,6 @@ HB_DEFINE_VALUE_TYPE (glyph_info)
HB_DEFINE_VALUE_TYPE (glyph_position)
HB_DEFINE_VALUE_TYPE (segment_properties)
HB_DEFINE_VALUE_TYPE (user_data_key)
+
+HB_DEFINE_VALUE_TYPE (ot_math_glyph_variant)
+HB_DEFINE_VALUE_TYPE (ot_math_glyph_part)
commit 8c854dc023b1f9e081a3bbd16416b88a4671c267
Merge: bb9805f c3fa5d0
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Tue Oct 25 00:31:36 2016 +0300
Merge pull request #352 from fred-wang/makefile-am
Remove inexistent file ttx file from test/api/Makefile.am
commit c3fa5d0e03b57be131c66ea8720806c946d0e10f
Author: Frédéric Wang <fred.wang at free.fr>
Date: Mon Oct 24 21:42:04 2016 +0200
Remove inexistent file ttx file from test/api/Makefile.am
diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index d514a6f..530bf3e 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -57,7 +57,6 @@ test_ot_math_CPPFLAGS = $(AM_CPPFLAGS) $(FREETYPE_CFLAGS)
EXTRA_DIST += \
fonts/MathTestFontEmpty.otf \
fonts/MathTestFontFull.otf \
- fonts/MathTestFontFull.ttx \
fonts/MathTestFontNone.otf \
fonts/MathTestFontPartial1.otf \
fonts/MathTestFontPartial2.otf \
commit bb9805f5419f18c7f5cab32d660fd4109c30f7cc
Merge: 702d9f5 755a0c2
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Sat Oct 22 12:23:05 2016 +0330
Merge pull request #349 from ebraminio/mergebackvcpkgpatches
[ci] Enable hb-freetype on Windows build tests
commit 755a0c20798e3c3e6bb933a28e38f9667fccdadc
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Fri Oct 21 11:48:58 2016 +0330
[ci] Enable freetype on msvc using vcpkg
diff --git a/appveyor.yml b/appveyor.yml
index cc16e5e..0653000 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -4,15 +4,19 @@ environment:
matrix:
- compiler: msvc
ARCH: amd64
+ VCPKG_ARCH: x64-windows
CFG: release
- compiler: msvc
ARCH: x86
+ VCPKG_ARCH: x86-windows
CFG: release
- compiler: msvc
ARCH: amd64
+ VCPKG_ARCH: x64-windows
CFG: debug
- compiler: msvc
ARCH: x86
+ VCPKG_ARCH: x86-windows
CFG: debug
- compiler: msys2
@@ -27,11 +31,18 @@ environment:
install:
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel"
-build_script:
- 'if "%compiler%"=="msvc" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
+ - 'if "%compiler%"=="msvc" git clone https://github.com/Microsoft/vcpkg'
+ - 'if "%compiler%"=="msvc" cd vcpkg'
+ - 'if "%compiler%"=="msvc" powershell -exec bypass scripts\bootstrap.ps1'
+ - 'if "%compiler%"=="msvc" vcpkg install freetype:%VCPKG_ARCH%'
+ - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib"
+ - 'if "%compiler%"=="msvc" cd ..'
+
+build_script:
- 'if "%compiler%"=="msvc" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"'
- 'if "%compiler%"=="msvc" cd harfbuzz-*\win32'
- - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1'
+ - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1 FREETYPE=1 FREETYPE_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\include ADDITIONAL_LIB_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\lib'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config}"'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=$MINGW_CHOST --host=$MINGW_CHOST --prefix=$MINGW_PREFIX; make; make check"'
commit 4631d84c2bb51395efe3156f9c9f1a6b0e277947
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Tue Oct 18 14:30:00 2016 +0330
Merge back @vlj's local patches of vcpkg
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index 88ae071..d8b851d 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -12,7 +12,11 @@ HB_GLIB_LIBS = glib-2.0.lib
HB_GOBJECT_DEP_LIBS = gobject-2.0.lib $(HB_GLIB_LIBS)
# Freetype is needed for building FreeType support and hb-view
+!if "$(CFG)" == "debug"
+FREETYPE_LIB = freetyped.lib
+!else
FREETYPE_LIB = freetype.lib
+!endif
# Cairo is needed for building hb-view
CAIRO_LIB = cairo.lib
@@ -125,6 +129,9 @@ HB_DEFINES = $(HB_DEFINES) /DHAVE_CAIRO=1
# Enable freetype if desired
!if "$(FREETYPE)" == "1"
+!if "$(FREETYPE_DIR)" != ""
+HB_CFLAGS = $(HB_CFLAGS) /I$(FREETYPE_DIR)
+!endif
HB_DEFINES = $(HB_DEFINES) /DHAVE_FREETYPE=1
HB_SOURCES = $(HB_SOURCES) $(HB_FT_sources)
HB_HEADERS = $(HB_HEADERS) $(HB_FT_headers)
diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
index 83d8786..41f4bd0 100644
--- a/win32/detectenv-msvc.mak
+++ b/win32/detectenv-msvc.mak
@@ -130,6 +130,9 @@ LDFLAGS_ARCH = /machine:x86
CFLAGS = $(CFLAGS_ADD) /W3 /Zi /I.. /I..\src /I. /I$(PREFIX)\include
LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(PREFIX)\lib /DEBUG
+!if "$(ADDITIONAL_LIB_DIR)" != ""
+LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(ADDITIONAL_LIB_DIR)
+!endif
!if "$(CFG)" == "debug"
LDFLAGS = $(LDFLAGS_BASE)
commit 702d9f522d1ac4797700f0ea056f69169b8d1a78
Merge: 331c46c d8e2eb9
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Fri Oct 14 13:54:55 2016 +0330
Merge pull request #340 from ebraminio/nouniscribe
Make Uniscribe optional on nmake win32 builds
commit d8e2eb9ee0f47af7e90056d8db5949d10a88786a
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Sun Oct 9 09:06:05 2016 +0330
Make Uniscribe optional on nmake win32 builds
Most of harfbuzz clients don't need Uniscribe and DirectWrite support at all
as harfbuzz is a replacement for Uniscribe so Chromium and Firefox are using
harfbuzz without them on Windows.
This removal also helps win32 nmake clients to have reduced binary size and
libs count.
diff --git a/appveyor.yml b/appveyor.yml
index 4677a27..cc16e5e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -31,7 +31,7 @@ build_script:
- 'if "%compiler%"=="msvc" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
- 'if "%compiler%"=="msvc" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"'
- 'if "%compiler%"=="msvc" cd harfbuzz-*\win32'
- - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% DIRECTWRITE=1'
+ - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config}"'
- 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=$MINGW_CHOST --host=$MINGW_CHOST --prefix=$MINGW_PREFIX; make; make check"'
diff --git a/win32/README.txt b/win32/README.txt
index e2ead01..07e211c 100644
--- a/win32/README.txt
+++ b/win32/README.txt
@@ -7,11 +7,10 @@ Makefiles.
The following are instructions for performing such a build, as there is a
number of build configurations supported for the build. Note that for all
build configurations, the OpenType and Simple TrueType layout (fallback)
-backends are enabled, as well as the Uniscribe platform shaper, and this
-is the base configuration that is built if no options (see below) are
-specified. A 'clean' target is provided-it is recommended that one cleans
-the build and redo the build if any configuration option changed. An
-'install' target is also provided to copy the built items in their appropriate
+backends are enabled, and this is the base configuration that is built if no
+options (see below) are specified. A 'clean' target is provided-it is recommended
+that one cleans the build and redo the build if any configuration option changed.
+An 'install' target is also provided to copy the built items in their appropriate
locations under $(PREFIX), which is described below.
Invoke the build by issuing the command:
@@ -68,7 +67,9 @@ 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,
+UNISCRIBE: Enable Uniscribe platform shaper support.
+
+DIRECTWRITE: Enable DirectWrite platform shaper support,
requires a rather recent Windows SDK, and at least Windows Vista/
Server 2008 with SP2 and platform update.
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index e0c6468..88ae071 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -20,6 +20,9 @@ CAIRO_LIB = cairo.lib
# Graphite2 is needed for building SIL Graphite2 support
GRAPHITE2_LIB = graphite2.lib
+# Uniscribe is needed for Uniscribe shaping support
+UNISCRIBE_LIB = usp10.lib gdi32.lib rpcrt4.lib user32.lib
+
# Directwrite is needed for DirectWrite shaping support
DIRECTWRITE_LIB = dwrite.lib
@@ -31,17 +34,15 @@ HB_UCDN_CFLAGS = /I..\src\hb-ucdn
HB_SOURCES = \
$(HB_BASE_sources) \
$(HB_FALLBACK_sources) \
- $(HB_OT_sources) \
- $(HB_UNISCRIBE_sources) \
+ $(HB_OT_sources)
HB_HEADERS = \
$(HB_BASE_headers) \
$(HB_NODIST_headers) \
- $(HB_OT_headers) \
- $(HB_UNISCRIBE_headers)
+ $(HB_OT_headers)
# Minimal set of (system) libraries needed for the HarfBuzz DLL
-HB_DEP_LIBS = usp10.lib gdi32.lib rpcrt4.lib user32.lib
+HB_DEP_LIBS =
# We build the HarfBuzz DLL/LIB at least
HB_LIBS = $(CFG)\$(PLAT)\harfbuzz.lib
@@ -188,6 +189,13 @@ HB_CFLAGS = \
HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
!endif
+!if "$(UNISCRIBE)" == "1"
+HB_CFLAGS = $(HB_CFLAGS) /DHAVE_UNISCRIBE
+HB_SOURCES = $(HB_SOURCES) $(HB_UNISCRIBE_sources)
+HB_HEADERS = $(HB_HEADERS) $(HB_UNISCRIBE_headers)
+HB_DEP_LIBS = $(HB_DEP_LIBS) $(UNISCRIBE_LIB)
+!endif
+
!if "$(DIRECTWRITE)" == "1"
HB_CFLAGS = $(HB_CFLAGS) /DHAVE_DIRECTWRITE
HB_SOURCES = $(HB_SOURCES) $(HB_DIRECTWRITE_sources)
diff --git a/win32/config.h.win32.in b/win32/config.h.win32.in
index 73ad205..d45cefb 100644
--- a/win32/config.h.win32.in
+++ b/win32/config.h.win32.in
@@ -115,7 +115,7 @@
#define HAVE_UCDN 1
/* Have Uniscribe library */
-#define HAVE_UNISCRIBE 1
+/* #undef HAVE_UNISCRIBE */
/* Define to 1 if you have the <unistd.h> header file. */
#ifndef _MSC_VER
diff --git a/win32/info-msvc.mak b/win32/info-msvc.mak
index bc85dc9..bbe631b 100644
--- a/win32/info-msvc.mak
+++ b/win32/info-msvc.mak
@@ -1,6 +1,6 @@
# NMake Makefile portion for displaying config info
-INC_FEATURES = Uniscribe Fallback OT
+INC_FEATURES = Fallback OT
BUILT_TOOLS =
BUILT_LIBRARIES = HarfBuzz
@@ -23,6 +23,10 @@ INC_FEATURES = $(INC_FEATURES) FreeType
INC_FEATURES = $(INC_FEATURES) Graphite2
!endif
+!if "$(UNISCRIBE)" == "1"
+INC_FEATURES = $(INC_FEATURES) Uniscribe
+!endif
+
!if "$(DIRECTWRITE)" == "1"
INC_FEATURES = $(INC_FEATURES) DirectWrite
!endif
@@ -77,9 +81,12 @@ help:
@echo.
@echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
@echo multiple OPTION's may be used. If no OPTION is specified, a default
- @echo HarfBuzz DLL is built with OpenType, fallback and Uniscribe support
+ @echo HarfBuzz DLL is built with OpenType and fallback support
@echo with a bundled Unicode implementation (UCDN).
@echo ======
+ @echo UNISCRIBE:
+ @echo Enable Uniscribe support.
+ @echo.
@echo DIRECTWRITE:
@echo Enable DirectWrite support, requires a recent enough Windows SDK.
@echo.
More information about the HarfBuzz
mailing list