[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