[HarfBuzz] harfbuzz: Branch 'master' - 9 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Fri Sep 2 16:39:27 UTC 2016
.travis.yml | 1 +
README | 1 +
appveyor.yml | 40 ++++++++++++++++++++++++++++++++++++++++
src/hb-coretext.cc | 2 +-
src/hb-directwrite.cc | 4 ----
src/hb-ot-tag.cc | 14 ++++++++++++--
src/hb-shape-plan.cc | 5 +++--
test/api/test-ot-tag.c | 6 ++++++
win32/generate-msvc.mak | 2 +-
9 files changed, 65 insertions(+), 10 deletions(-)
New commits:
commit 17f0dd2dfb9a15aed9d1a229115940cc23bdbc97
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Fri Sep 2 01:21:48 2016 +0430
[ci] Add msys2 build to CI and run its testsuite on Windows (#310)
diff --git a/appveyor.yml b/appveyor.yml
index 391fdc2..4677a27 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,14 +15,26 @@ environment:
ARCH: x86
CFG: debug
+ - compiler: msys2
+ MINGW_PREFIX: /c/msys2/mingw64/
+ MINGW_CHOST: x86_64-w64-mingw32
+ MSYS2_ARCH: x86_64
+ - compiler: msys2
+ MINGW_PREFIX: /c/msys2/mingw32/
+ MINGW_CHOST: i686-w64-mingw32
+ MSYS2_ARCH: i686
+
install:
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel"
build_script:
- - '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
- - C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"
- - cd harfbuzz-*\win32
- - nmake /f Makefile.vc CFG=%CFG% DIRECTWRITE=1
+ - '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%"=="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"'
# disable automatic tests
test: off
commit 5362ce6a6455c539d615e7fb221a904ac744b74c
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Thu Sep 1 20:05:45 2016 +0430
[dwrite] Minor, don't include unnecessary headers (#309)
diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc
index 6846a86..76482ac 100644
--- a/src/hb-directwrite.cc
+++ b/src/hb-directwrite.cc
@@ -29,10 +29,6 @@
#include "hb-directwrite.h"
-#include "hb-open-file-private.hh"
-#include "hb-ot-name-table.hh"
-#include "hb-ot-tag.h"
-
#ifndef HB_DEBUG_DIRECTWRITE
#define HB_DEBUG_DIRECTWRITE (HB_DEBUG+0)
commit c4f36b04e32ae5111ef11d225e5d6e82c8216185
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date: Thu Sep 1 17:31:16 2016 +0430
[ci] Add Windows CI support, provided by AppVeyor (#308)
diff --git a/README b/README
index 3fcdfb4..69a1bdd 100644
--- a/README
+++ b/README
@@ -1,4 +1,5 @@
[![Build Status](https://travis-ci.org/behdad/harfbuzz.svg)](https://travis-ci.org/behdad/harfbuzz)
+[![Build Status](https://ci.appveyor.com/api/projects/status/4oaq58ns2h0m2soa?svg=true)](https://ci.appveyor.com/project/behdad/harfbuzz)
[![Coverage Status](https://img.shields.io/coveralls/behdad/harfbuzz.svg)](https://coveralls.io/r/behdad/harfbuzz)
[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/)
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..391fdc2
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,28 @@
+platform: x64
+
+environment:
+ matrix:
+ - compiler: msvc
+ ARCH: amd64
+ CFG: release
+ - compiler: msvc
+ ARCH: x86
+ CFG: release
+ - compiler: msvc
+ ARCH: amd64
+ CFG: debug
+ - compiler: msvc
+ ARCH: x86
+ CFG: debug
+
+install:
+ - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel"
+
+build_script:
+ - '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
+ - C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"
+ - cd harfbuzz-*\win32
+ - nmake /f Makefile.vc CFG=%CFG% DIRECTWRITE=1
+
+# disable automatic tests
+test: off
diff --git a/win32/generate-msvc.mak b/win32/generate-msvc.mak
index 48bd9f0..7c17a94 100644
--- a/win32/generate-msvc.mak
+++ b/win32/generate-msvc.mak
@@ -23,4 +23,4 @@ $(HB_GOBJECT_ENUM_GENERATED_SOURCES): ..\src\hb-gobject-enums.h.tmpl ..\src\hb-g
# Create the build directories
$(CFG)\$(PLAT)\harfbuzz $(CFG)\$(PLAT)\harfbuzz-icu $(CFG)\$(PLAT)\harfbuzz-gobject $(CFG)\$(PLAT)\util:
- @-mkdir $@
+ @-mkdir -p $@
commit 3d976d20f1b97c771e64a9cfed2760ebec64037a
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Sat Aug 27 16:38:42 2016 +0300
Show the shaper name in the debug message (#306)
diff --git a/src/hb-shape-plan.cc b/src/hb-shape-plan.cc
index 56e2ea5..87231fb 100644
--- a/src/hb-shape-plan.cc
+++ b/src/hb-shape-plan.cc
@@ -289,9 +289,10 @@ hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
unsigned int num_features)
{
DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan,
- "num_features=%d shaper_func=%p",
+ "num_features=%d shaper_func=%p, shaper_name=%s",
num_features,
- shape_plan->shaper_func);
+ shape_plan->shaper_func,
+ shape_plan->shaper_name);
if (unlikely (!buffer->len))
return true;
commit 547ddb0721365dca985aef5b759d08718f7c5f82
Merge: bd1aac9 e7ecbba
Author: Sascha Brawer <sascha at brawer.ch>
Date: Thu Aug 18 22:33:14 2016 +0200
Merge pull request #303 from behdad/fonnapa
Support Americanist Phonetic Notation
commit e7ecbba2cc3c9369c5e7dc7296cb210018aca3bb
Author: Sascha Brawer <sascha at brawer.ch>
Date: Thu Aug 18 12:48:38 2016 +0200
Support Americanist Phonetic Notation
OpenType language system tag: `APPH`
https://www.microsoft.com/typography/otspec/languagetags.htm
IETF BCP47 variant tag: `fonnapa`
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc
index 34d7b37..5f21ac0 100644
--- a/src/hb-ot-tag.cc
+++ b/src/hb-ot-tag.cc
@@ -892,13 +892,21 @@ hb_ot_tag_from_language (hb_language_t language)
}
/*
- * The International Phonetic Alphabet is a variant tag in BCP-47,
- * which can be applied to any language.
+ * "fonipa" is a variant tag in BCP-47, meaning the International Phonetic Alphabet.
+ * It can be applied to any language.
*/
if (strstr (lang_str, "-fonipa")) {
return HB_TAG('I','P','P','H'); /* Phonetic transcription—IPA conventions */
}
+ /*
+ * "fonnapa" is a variant tag in BCP-47, meaning the North American Phonetic Alphabet
+ * also known as Americanist Phonetic Notation. It can be applied to any language.
+ */
+ if (strstr (lang_str, "-fonnapa")) {
+ return HB_TAG('A','P','P','H'); /* Phonetic transcription—Americanist conventions */
+ }
+
/* Find a language matching in the first component */
{
const LangTag *lang_tag;
@@ -970,6 +978,8 @@ hb_ot_tag_to_language (hb_tag_t tag)
/* struct LangTag has only room for 3-letter language tags. */
switch (tag) {
+ case HB_TAG('A','P','P','H'): /* Phonetic transcription—Americanist conventions */
+ return hb_language_from_string ("und-fonnapa", -1);
case HB_TAG('I','P','P','H'): /* Phonetic transcription—IPA conventions */
return hb_language_from_string ("und-fonipa", -1);
}
diff --git a/test/api/test-ot-tag.c b/test/api/test-ot-tag.c
index eda87ff..e54e552 100644
--- a/test/api/test-ot-tag.c
+++ b/test/api/test-ot-tag.c
@@ -232,6 +232,12 @@ test_ot_tag_language (void)
test_tag_from_language ("IPPH", "zh-fonipa");
test_tag_to_language ("IPPH", "und-fonipa");
+ /* North American Phonetic Alphabet (Americanist Phonetic Notation) */
+ test_tag_from_language ("APPH", "en-fonnapa");
+ test_tag_from_language ("APPH", "chr-fonnapa");
+ test_tag_from_language ("APPH", "und-fonnapa");
+ test_tag_to_language ("APPH", "und-fonnapa");
+
/* Test that x-hbot overrides the base language */
test_tag_from_language ("ABC", "fa-x-hbotabc-zxc");
test_tag_from_language ("ABC", "fa-ir-x-hbotabc-zxc");
commit bd1aac9c0021a936058637424a478abf792533dd
Merge: 18c19dd a0f1b44
Author: Sascha Brawer <sascha at brawer.ch>
Date: Thu Aug 18 13:59:38 2016 +0200
Merge pull request #302 from khaledhosny/master
[travis] Fix MacOS libtool issue
commit a0f1b44b6c0e3b1e6a1ba63dde2be22e0425353f
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Tue Aug 16 03:09:04 2016 +0200
[coretext] Blind fix for build on MacOS 10.9
diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc
index 3e56f15..9e24e90 100644
--- a/src/hb-coretext.cc
+++ b/src/hb-coretext.cc
@@ -150,7 +150,7 @@ create_ct_font (CGFontRef cg_font, CGFloat font_size)
* bug indicate that the cascade list reconfiguration occasionally causes
* crashes in CoreText on OS X 10.9, thus let's skip this step on older
* operating system versions. */
- if (&CTGetCoreTextVersion != NULL && CTGetCoreTextVersion() < kCTVersionNumber10_10)
+ if (&CTGetCoreTextVersion != NULL && CTGetCoreTextVersion() <= kCTVersionNumber10_9)
return ct_font;
CFURLRef original_url = (CFURLRef)CTFontCopyAttribute(ct_font, kCTFontURLAttribute);
commit 0634d5600e559a69a92d49173ffb8e715fe7576c
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Tue Aug 16 02:49:48 2016 +0200
[travis] Fix MacOS libtool issue
Reveals another MacOS build breakage in the Core Text shaper.
diff --git a/.travis.yml b/.travis.yml
index f37b4b2..1b15058 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,6 +19,7 @@ install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user cpp-coveralls; fi # for coveralls.io code coverage tracking
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=$HOME/.local/bin:$PATH; fi # Make sure we can find the above Python packages
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi;
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew uninstall libtool && brew install libtool; fi # Workaround Travis/brew bug
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install ragel freetype glib gobject-introspection cairo icu4c graphite2; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force icu4c; fi # icu4c is keg-only
script:
More information about the HarfBuzz
mailing list