From: Bowon Ryu Date: Fri, 18 Feb 2022 02:31:20 +0000 (+0900) Subject: Imported Upstream version 3.4.0 X-Git-Tag: upstream/3.4.0^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fharfbuzz.git;a=commitdiff_plain;h=8b9bac85deb2ace750acafa5e0da676f633aadeb Imported Upstream version 3.4.0 --- diff --git a/BUILD.md b/BUILD.md index 652d8af..f64f868 100644 --- a/BUILD.md +++ b/BUILD.md @@ -1,47 +1,27 @@ On Linux, install the development packages for FreeType, Cairo, and GLib. For example, on Ubuntu / Debian, you would do: - sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev + sudo apt-get install meson pkg-config ragel gtk-doc-tools gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: - sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel + sudo dnf install meson pkgconfig gtk-doc gcc gcc-c++ freetype-devel glib2-devel cairo-dev -on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg) -or `meson build && ninja -Cbuild`. +and on ArchLinux and Manjaro: -on macOS, using MacPorts: + sudo pacman -Suy meson pkg-config ragel gcc freetype2 glib2 cairo - sudo port install freetype glib2 cairo +then use meson to build the project like `meson build && meson test -Cbuild`. -or using Homebrew: +On macOS, `brew install pkg-config ragel gtk-doc freetype glib cairo meson` then use +meson like above. - brew install freetype glib cairo +On Windows, meson can build the project like above if a working MSVC's cl.exe (`vcvarsall.bat`) +or gcc/clang is already on your path, and if you use something like `meson build --wrap-mode=default` +it fetches and compiles most of the dependencies also. -If you are using a tarball, you can now proceed to running configure and make -as with any other standard package. That should leave you with a shared -library in `src/`, and a few utility programs including `hb-view` and `hb-shape` -under `util/`. +Our CI configurations is also a good source of learning how to build HarfBuzz. -If you are bootstrapping from git, you need a few more tools before you can -run `autogen.sh` for the first time. Namely, `pkg-config` and `ragel`. - -Again, on Ubuntu / Debian: - - sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools - -and on Fedora, RHEL, CentOS: - - sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc - -on the Mac, using MacPorts: - - sudo port install autoconf automake libtool pkgconfig ragel gtk-doc - -or using Homebrew: - - brew install autoconf automake libtool pkgconfig ragel gtk-doc - -To build the Python bindings, you also need: - - brew install pygobject3 +There is also amalgam source provided with HarfBuzz which reduces whole process of building +HarfBuzz like `g++ src/harfbuzz.cc -fno-exceptions` but there is not guarantee provided +with buildability and reliability of features you get. diff --git a/CMakeLists.txt b/CMakeLists.txt index 71830b6..3259ca9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 2.8.0) +cmake_minimum_required(VERSION 3.1) project(harfbuzz) -message("HarfBuzz has a Meson port also and tries to migrate all the other build systems to it, please consider using it.") +message(WARN "HarfBuzz has a Meson port and tries to migrate all the other build systems to it, please consider using it as we might remove our cmake port soon.") ## Limit framework build to Xcode generator if (BUILD_FRAMEWORK) @@ -37,6 +37,10 @@ option(HB_HAVE_FREETYPE "Enable freetype interop helpers" OFF) option(HB_HAVE_GRAPHITE2 "Enable Graphite2 complementary shaper" OFF) option(HB_HAVE_GLIB "Enable glib unicode functions" OFF) option(HB_HAVE_ICU "Enable icu unicode functions" OFF) +if (TARGET freetype) + set (HB_HAVE_FREETYPE ON) + add_definitions(-DHAVE_FREETYPE=1) +endif () if (APPLE) option(HB_HAVE_CORETEXT "Enable CoreText shaper backend on macOS" ON) set (CMAKE_MACOSX_RPATH ON) @@ -88,7 +92,7 @@ endmacro () if (UNIX) list(APPEND CMAKE_REQUIRED_LIBRARIES m) endif () -check_funcs(atexit mprotect sysconf getpagesize mmap isatty roundf) +check_funcs(atexit mprotect sysconf getpagesize mmap isatty) check_include_file(unistd.h HAVE_UNISTD_H) if (${HAVE_UNISTD_H}) add_definitions(-DHAVE_UNISTD_H) @@ -102,6 +106,14 @@ if (${HAVE_STDBOOL_H}) add_definitions(-DHAVE_STDBOOL_H) endif () +if (NOT MSVC) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads) + if (CMAKE_USE_PTHREADS_INIT) + add_definitions("-DHAVE_PTHREAD") + list(APPEND THIRD_PARTY_LIBS Threads::Threads) + endif () +endif () if (MSVC) add_definitions(-wd4244 -wd4267 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) @@ -176,7 +188,7 @@ set (project_headers ${HB_BASE_headers}) set (subset_project_headers ${HB_SUBSET_headers}) ## Find and include needed header folders and libraries -if (HB_HAVE_FREETYPE) +if (HB_HAVE_FREETYPE AND NOT TARGET freetype) include (FindFreetype) if (NOT FREETYPE_FOUND) message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix") @@ -233,7 +245,7 @@ endif () if (HB_HAVE_ICU) add_definitions(-DHAVE_ICU) - # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindICU.cmake + # https://github.com/WebKit/webkit/blob/fdd7733f2f30eab7fe096a9791f98c60f62f49c0/Source/cmake/FindICU.cmake find_package(PkgConfig) pkg_check_modules(PC_ICU QUIET icu-uc) @@ -302,6 +314,7 @@ if (WIN32 AND HB_HAVE_DIRECTWRITE) endif () if (HB_HAVE_GOBJECT) + add_definitions(-DHAVE_GOBJECT) include (FindPerl) # Use the hints from glib-2.0.pc to find glib-mkenums @@ -405,41 +418,16 @@ if (HB_HAVE_GOBJECT) ) endif () -## Atomic ops availability detection -file(WRITE "${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c" -" void memory_barrier (void) { __sync_synchronize (); } - int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); } - int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); } - void mutex_unlock (int *m) { __sync_lock_release (m); } - int main () { return 0; } -") -try_compile(HB_HAVE_INTEL_ATOMIC_PRIMITIVES - ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives - ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c) -if (HB_HAVE_INTEL_ATOMIC_PRIMITIVES) - add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES) -endif () - -file(WRITE "${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c" -" #include - /* This requires Solaris Studio 12.2 or newer: */ - #include - void memory_barrier (void) { __machine_rw_barrier (); } - int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); } - void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); } - int main () { return 0; } -") -try_compile(HB_HAVE_SOLARIS_ATOMIC_OPS - ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops - ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c) -if (HB_HAVE_SOLARIS_ATOMIC_OPS) - add_definitions(-DHAVE_SOLARIS_ATOMIC_OPS) -endif () - ## Define harfbuzz library add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers}) target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS}) +target_include_directories(harfbuzz PUBLIC + "$" + "$") +if (HB_HAVE_FREETYPE AND TARGET freetype) + target_link_libraries(harfbuzz PUBLIC freetype) +endif () ## Define harfbuzz-icu library @@ -457,6 +445,7 @@ endif () ## Define harfbuzz-subset library if (HB_BUILD_SUBSET) add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers}) + list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-subset.h) add_dependencies(harfbuzz-subset harfbuzz) target_link_libraries(harfbuzz-subset harfbuzz ${THIRD_PARTY_LIBS}) @@ -722,6 +711,11 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) FRAMEWORK DESTINATION Library/Frameworks ) endif () + if (HB_BUILD_SUBSET) + install(TARGETS harfbuzz-subset + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + endif () if (HB_BUILD_UTILS) if (WIN32 AND BUILD_SHARED_LIBS) install(TARGETS harfbuzz-subset diff --git a/CONFIG.md b/CONFIG.md index 8aa9b1b..15b4ffa 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -1,9 +1,9 @@ # Configuring HarfBuzz Most of the time you will not need any custom configuration. The configuration -options provided by `configure` or `meson` should be enough. In particular, -if you just want HarfBuzz library plus hb-shape / hb-view utilities, make sure -FreeType and Cairo are available and found during configuration. +options provided by `meson` should be enough. In particular, if you just want +HarfBuzz library plus hb-shape / hb-view utilities, make sure FreeType and Cairo +are available and found during configuration. If you are building for distribution, you should more carefully consider whether you need Glib, ICU, Graphite2, as well as CoreText / Uniscribe / DWrite. Make @@ -18,9 +18,9 @@ binary size savings. ## Compiler Options Make sure you build with your compiler's "optimize for size" option. On `gcc` -this is `-Os`, and can be enabled by passing `CXXFLAGS=-Os` either to `configure` -(sticky) or to `make` (non-sticky). On clang there is an even more extreme flag, -`-Oz`. +this is `-Os`, and can be enabled by passing `CXXFLAGS=-Os`. On clang there +is an even more extreme flag, `-Oz`. Meson also provides `--buildtype=minsize` +for more convenience. HarfBuzz heavily uses inline functions and the optimize-size flag can make the library smaller by 20% or more. Moreover, sometimes, based on the target CPU, @@ -32,8 +32,7 @@ optimizations. Search for `HB_OPTIMIZE_SIZE` for details, if you are using other compilers, or continue reading. Another compiler option to consider is "link-time optimization", also known as -'lto'. To enable that, with `gcc` or `clang`, add `-flto` to both `CXXFLAGS` -and `LDFLAGS`, either on `configure` invocation (sticky) or on `make` (non-sticky). +'lto'. To enable that, feel free to use `-Db_lto=true` of meson. This, also, can have a huge impact on the final size, 20% or more. Finally, if you are making a static library build or otherwise linking the @@ -109,7 +108,7 @@ Defining `HB_NO_FALLBACK_SHAPE` however is pretty harmless. That removes the By default HarfBuzz builds as a thread-safe library. The exception is that the `HB_TINY` predefined configuring (more below) disables thread-safety. -If you do /not/ need thread-safety in the library (eg. you always call into +If you do *not* need thread-safety in the library (eg. you always call into HarfBuzz from the same thread), you can disable thread-safety by defining `HB_NO_MT`. As noted already, this is enabled by `HB_TINY`. @@ -136,16 +135,23 @@ The pre-defined configurations are: Most of the time, one of the pre-defined configuration is exactly what one needs. Sometimes, however, the pre-defined configuration cuts out features that might be desired in the library. Unfortunately there is no quick way to undo those -configurations from the command-line. But one can add a header file called -`config-override.h` to undefine certain `HB_NO_*` symbols as desired. Then -define `HAVE_CONFIG_OVERRIDE_H` to make `hb-config.hh` include your configuration -overrides at the end. +configurations from the command-line. + +However, configuration can still be overridden from a file. To do that, add your +override instructions (mostly `undef` instructions) to a header file and define +the macro `HB_CONFIG_OVERRIDE_H` to the string containing to that header file's +name. HarfBuzz will then include that file at appropriate right place during +configuration. + +Up until HarfBuzz 3.1.2 the the configuration override header file's name was +fixed and called `config-override.h`, and was activated by defining the macro +`HAVE_CONFIG_OVERRIDE_H`. That still works. ## Notes Note that the config option `HB_NO_CFF`, which is enabled by `HB_LEAN` and -`HB_TINY` does /not/ mean that the resulting library won't work with CFF fonts. +`HB_TINY` does *not* mean that the resulting library won't work with CFF fonts. The library can shape valid CFF fonts just fine, with or without this option. -This option disables (among other things) the code to calculate glyph exntents +This option disables (among other things) the code to calculate glyph extents for CFF fonts. diff --git a/COPYING b/COPYING index 5734316..48d1b30 100644 --- a/COPYING +++ b/COPYING @@ -4,14 +4,14 @@ files names COPYING in subdirectories where applicable. Copyright © 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 Google, Inc. Copyright © 2018,2019,2020 Ebrahim Byagowi -Copyright © 2019,2020 Facebook, Inc. +Copyright © 2019,2020 Facebook, Inc. Copyright © 2012 Mozilla Foundation Copyright © 2011 Codethink Limited Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) Copyright © 2009 Keith Stribley Copyright © 2009 Martin Hosken and SIL International Copyright © 2007 Chris Wilson -Copyright © 2006 Behdad Esfahbod +Copyright © 2005,2006,2020,2021 Behdad Esfahbod Copyright © 2005 David Turner Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. Copyright © 1998-2004 David Turner and Werner Lemberg diff --git a/ChangeLog b/ChangeLog index 2817d07..efc2473 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31799 @@ +commit 0a129961341da370ec82bfccdd11ec9b1094b5a2 +Author: Khaled Hosny +Date: Sun Feb 13 00:30:50 2022 +0200 + + 3.4.0 + + NEWS | 26 ++++++++++++++++++++++++++ + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-buffer.h | 4 ++-- + src/hb-common.h | 4 ++-- + src/hb-ot-deprecated.h | 2 +- + src/hb-ot-math.cc | 2 +- + src/hb-ot-math.h | 4 ++-- + src/hb-version.h | 6 +++--- + 10 files changed, 40 insertions(+), 13 deletions(-) + +commit 41815a0d63512e11b2ff23f27e6906c44c0e9691 +Author: Khaled Hosny +Date: Sun Feb 13 00:00:01 2022 +0200 + + [name] Extraneous (out) annotation in return value + + src/hb-ot-name.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b263371b0959a2021e68b210d6b73e27c6fe64b0 +Merge: b3f8288cc b47b3b997 +Author: Behdad Esfahbod +Date: Sat Feb 12 15:06:47 2022 -0600 + + Merge pull request #3398 from harfbuzz/buffer-verify + + Add HB_BUFFER_FLAG_VERIFY + +commit b3f8288cca1951310928e3ba919c32b0c968249a +Author: Behdad Esfahbod +Date: Sat Feb 12 14:52:42 2022 -0600 + + [test/subset] Don't hash files without reason + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3118#issuecomment-894021518 + + test/subset/run-tests.py | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 42b119edb5966793a51cdd9e7898fc90bd5036aa +Author: Behdad Esfahbod +Date: Sat Feb 12 14:18:02 2022 -0600 + + [hmtx] Remove other subset-specific method from hmtx accelerator + + src/hb-ot-hmtx-table.hh | 28 +++++++++++++--------------- + 1 file changed, 13 insertions(+), 15 deletions(-) + +commit 9ba520b5d1594f972c73eeb76d61d67255c07597 +Author: Behdad Esfahbod +Date: Sat Feb 12 13:57:03 2022 -0600 + + [hmtx] Remove one subset-specific method from hmtx accelerator + + Looks ugly but is the right thing to do. + + src/hb-ot-hmtx-table.hh | 18 +++--------------- + 1 file changed, 3 insertions(+), 15 deletions(-) + +commit af407dd24d3f55ad279dfdbf21ec7c7c3cfb76ac +Author: Behdad Esfahbod +Date: Sat Feb 12 13:53:16 2022 -0600 + + Add a fuzzer font + + .../fonts/crash-d223bc42a8226c4d655c417d63d9a76760d05985 | Bin 0 -> 316 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 68937238791181b6172ea4cd3d127ff4f6bbdd98 +Author: Behdad Esfahbod +Date: Fri Feb 11 13:16:25 2022 -0600 + + [machinery] Allow using lazy-loader with void* + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3427 + + src/Makefile.am | 29 +++++++++++++++++------------ + src/hb-common.cc | 2 +- + src/hb-machinery.hh | 3 ++- + src/meson.build | 5 +++-- + src/test-machinery.cc | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 69 insertions(+), 16 deletions(-) + +commit 3d22dae5f854416939935f7cd913af7c21b4f490 +Author: Chun-wei Fan +Date: Thu Feb 10 16:30:36 2022 +0800 + + meson.build: Only use get_variable() on icu_dep with pkgconfig + + We might have found ICU via the .lib names, and get_variable() is only + available for pkg-config deps. + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 52c536bb8d90cf0f09e13f5e9e21bf489cc08c23 +Author: Chun-wei Fan +Date: Thu Feb 10 16:39:40 2022 +0800 + + hb-algs.hh: Fix build on Visual Studio 2015 + + The compiler does not recognize the std::hash call on + hb_decay, so give it a shove so that it is recognized + there. + + src/hb-algs.hh | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 81754a5a962ebefef848237ee218c019f85ef316 +Author: Alexis King +Date: Wed Feb 9 12:00:47 2022 -0600 + + [ot-math] Add hb_ot_math_get_glyph_kernings + + closes #3396 + + docs/harfbuzz-sections.txt | 2 ++ + src/hb-ot-math-table.hh | 78 +++++++++++++++++++++++++++++++++++++++++++ + src/hb-ot-math.cc | 45 +++++++++++++++++++++++++ + src/hb-ot-math.h | 22 +++++++++++++ + test/api/test-ot-face.c | 1 + + test/api/test-ot-math.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++ + 6 files changed, 230 insertions(+) + +commit 1bc4bad7a59e9d4d79d8faeb9e695df19aa494da +Author: Alexis King +Date: Mon Feb 7 19:57:25 2022 -0600 + + [ot-tag] Add HB_SCRIPT_MATH (Zmth) and map it to OT ‘math’ tag + + The ISO 15924 code for mathematical notation is ‘Zmth’, but the + OpenType script is ‘math’. + + docs/harfbuzz-sections.txt | 3 ++- + src/hb-common.h | 6 ++++++ + src/hb-ot-deprecated.h | 15 +++++++++++++++ + src/hb-ot-math.h | 14 +++++++++----- + src/hb-ot-tag.cc | 3 +++ + test/api/test-ot-tag.c | 2 ++ + 6 files changed, 37 insertions(+), 6 deletions(-) + +commit 76cd8a47373e924d146e641f377065d3929b8e51 +Author: Khaled Hosny +Date: Tue Feb 8 16:47:01 2022 +0200 + + [arabic] Update to AMTRA revision 6 + + https://www.unicode.org/reports/tr53/tr53-6.html#Modifications + + src/hb-ot-shape-complex-arabic.cc | 5 +++++ + 1 file changed, 5 insertions(+) + +commit c4cf5ddb272cb1c05a572db5b76629368f9054f5 +Author: Khaled Hosny +Date: Sun Feb 6 16:32:05 2022 +0200 + + [ci] Downgrade pip on MSVC jobs + + Turns out, pip 22.0 is the source of the breakage: + https://github.com/mesonbuild/meson/issues/9955#issuecomment-1030843844 + https://github.com/pypa/pip/issues/10875 + + .github/workflows/msvc-ci.yml | 4 ++++ + 1 file changed, 4 insertions(+) + +commit ac46c3248e8b0316235943175c4d4a11c24dd4a9 +Author: Khaled Hosny +Date: Sun Feb 6 15:41:18 2022 +0200 + + 3.3.2 + + NEWS | 7 +++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 11 insertions(+), 4 deletions(-) + +commit 7657bdd91f93fb087c74b400e5864641317f91f5 +Author: Behdad Esfahbod +Date: Fri Feb 4 19:16:54 2022 -0600 + + Revert "Fix failing Mac test for previous commit" + + This reverts commit 070e30e6daba74fe62ea486dc97cd01a79f90541. + + test/shape/data/in-house/tests/macos.tests | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 44da4e2a2751058bde1b2c465a1d2f3c5d617d93 +Author: Behdad Esfahbod +Date: Fri Feb 4 19:16:47 2022 -0600 + + Revert "One more fix" + + This reverts commit cab943a015b1a3d4cd72f0c5dc4ff79e0aefa06f. + + test/shape/data/in-house/tests/macos.tests | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 88798ee8bedcf464e4853fec67cf3648a3f39973 +Author: Behdad Esfahbod +Date: Fri Feb 4 18:59:50 2022 -0600 + + [GPOS] Disable split-kerning + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3408 + Reverts https://github.com/harfbuzz/harfbuzz/pull/3235 + Fixes https://github.com/harfbuzz/harfbuzz/pull/3235#issuecomment-1029814978 + + src/hb-ot-layout-gpos-table.hh | 10 +++++++++- + test/shape/data/aots/tests/gpos2_2.tests | 2 +- + test/shape/data/in-house/tests/positioning-features.tests | 2 +- + 3 files changed, 11 insertions(+), 3 deletions(-) + +commit 9177953720e2d10e8db47c079563d8656d6f5553 +Author: Behdad Esfahbod +Date: Fri Feb 4 12:38:45 2022 -0600 + + [atexit] Allow hb_atexit redefinition + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3412 + + src/hb.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 8670ffbf4ca809b954d69c52c27ab958c7d143ee +Author: Behdad Esfahbod +Date: Thu Feb 3 11:19:23 2022 -0600 + + [buffer] Comment + + src/hb-buffer.hh | 37 ++++++++++++++++++++----------------- + 1 file changed, 20 insertions(+), 17 deletions(-) + +commit e59da2871a83f1f68ff1d3228e4fa419d8a9e1d6 +Author: Behdad Esfahbod +Date: Tue Feb 1 16:32:39 2022 -0600 + + [glyf] Don't store face in accelerator + + src/hb-ot-glyf-table.hh | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 0fb8e22406fb9253da3da0d9f6d7fedc861fe148 +Author: Garret Rieger +Date: Fri Jan 28 10:39:51 2022 -0800 + + [serialize] document how the serializer works. + + docs/serializer.md | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 178 insertions(+) + +commit 45df259538c204540819d74456d30ffb40df488a +Author: Khaled Hosny +Date: Mon Jan 31 23:06:10 2022 +0200 + + 3.3.1 + + NEWS | 23 +++++++++++++++-------- + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 19 insertions(+), 12 deletions(-) + +commit 4e2f409bce77b97de2d098365977beeeb4447b1e +Author: Garret Rieger +Date: Mon Jan 31 12:20:32 2022 -0800 + + [subset] Don't hold references to members of the active_glyph_stack. + + These references may get invalidated after the vector for the stack is resized. Fixes: https://oss-fuzz.com/testcase-detail/5422577634377728 + + src/hb-ot-layout-gsubgpos.hh | 54 +++++++++++++-------- + ...ase-minimized-hb-subset-fuzzer-5422577634377728 | Bin 0 -> 1700 bytes + 2 files changed, 34 insertions(+), 20 deletions(-) + +commit 98da3306384044c6c73904d9a2a5996da16504ea +Author: Khaled Hosny +Date: Mon Jan 31 18:12:01 2022 +0200 + + 3.3.0 + + NEWS | 32 +++++++++++++++++++++++++++++++- + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-buffer.cc | 11 +++++------ + src/hb-buffer.h | 2 +- + src/hb-font.cc | 19 ++++++++++++------- + src/hb-version.h | 4 ++-- + 8 files changed, 54 insertions(+), 19 deletions(-) + +commit 3e8742e37631e0570e6e635c02302e3df2b548a0 +Merge: bc899650c ae9afd977 +Author: Behdad Esfahbod +Date: Sun Jan 30 17:19:46 2022 -0800 + + Merge pull request #3402 from harfbuzz/language-tags + + Make miscellaneous changes to hb-ot-tag-table.hh + +commit ae9afd9772e909476d28fb647d7f7aef6865f6cd +Author: David Corbett +Date: Sun Oct 3 20:09:33 2021 -0400 + + Let BCP 47 tag "mo" fall back to OT tag 'ROM ' + + src/gen-tag-table.py | 5 ++++- + src/hb-ot-tag-table.hh | 13 +++++++++++-- + 2 files changed, 15 insertions(+), 3 deletions(-) + +commit a184c5f8518ab92b95947f23848ddde677e8cac1 +Author: David Corbett +Date: Sun Jan 30 13:28:23 2022 -0500 + + Don’t always inherit from macrolanguages + + If an OpenType tag maps to a BCP 47 macrolanguage, that is presumably to + support the use of the macrolanguage as a vague stand-in for one of its + individual languages. For example, "ar" and "zh" are often used for + "arb" and "cmn". When the OpenType tag maps to a macrolanguage and some + but not all of its individual languages, that indicates that the + OpenType tag only corresponds to the listed individual languages (which + may be referred to using the macrolanguage subtag) but not the missing + individual languages. In particular, INUK (Nunavik Inuktitut) is mapped + to "ike" (Eastern Canadian Inuktitut) and "iu" (Inuktitut) but not to + "ikt" (Inuinnaqtun), so "ikt" should not inherit the INUK mapping from + its macrolanguage "iu". + + src/gen-tag-table.py | 35 +++++++++++++++++++++++++++++++---- + src/hb-ot-tag-table.hh | 12 ++---------- + 2 files changed, 33 insertions(+), 14 deletions(-) + +commit b47b3b99725888fd27273d8d9b9ee3d5d6cf0400 +Author: Behdad Esfahbod +Date: Sat Jan 29 10:24:38 2022 -0700 + + [fallback-kern] Move buffer message to correct position + + src/hb-ot-shape-fallback.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit e986c12075a69300a5e114fe139ae5acd762ef1b +Author: Behdad Esfahbod +Date: Sat Jan 29 09:08:48 2022 -0700 + + [verify] Show buffer input text when verification fails + + src/hb-buffer-verify.cc | 50 ++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 41 insertions(+), 9 deletions(-) + +commit d35f380126830872611c85d664c3710deb46cd6b +Author: Behdad Esfahbod +Date: Sat Jan 29 09:08:20 2022 -0700 + + [util] Change "All shapers failed." message to "Shaping failed." + + Since we now emit this when verification fails as well. + + util/shape-options.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3972e0a8f1504783a509096e069ca718d25af8d9 +Author: Behdad Esfahbod +Date: Sat Jan 29 08:22:19 2022 -0700 + + [buffer] Whitespace + + src/hb-buffer.h | 38 +++++++++++++++++++------------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +commit 0b1bf89cc2ee6a8782c007e2b7362a4485be249a +Author: David Corbett +Date: Fri Jan 28 22:27:51 2022 -0500 + + Replace “[family]” with “[collection]” + + Not all language collections are language families. + + src/gen-tag-table.py | 4 ++-- + src/hb-ot-tag-table.hh | 58 +++++++++++++++++++++++++------------------------- + 2 files changed, 31 insertions(+), 31 deletions(-) + +commit 0e31595e0d2e214262c4cf0d4136215bc4c89a0a +Author: David Corbett +Date: Fri Jan 28 22:26:38 2022 -0500 + + Infer tag mappings for unregistered macrolanguages + + Every macrolanguage not mentioned in the OT language system tag registry + is mapped to every tag of its individual languages, if those have + registered tags. + + src/gen-tag-table.py | 34 +++++++++++++++++++--------------- + src/hb-ot-tag-table.hh | 9 +++++++++ + 2 files changed, 28 insertions(+), 15 deletions(-) + +commit 5a6545940ac0ed48bc8872424269e598388b7996 +Author: David Corbett +Date: Fri Jan 28 21:29:43 2022 -0500 + + Add the language system tag INUK + + src/hb-ot-tag-table.hh | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit bc899650c7976df7bc62ed55da5268f1d10b9a43 +Author: Garret Rieger +Date: Fri Jan 28 13:54:10 2022 -0800 + + [subset] Fix for issue #3397. + + cur_intersected_glyphs gets modified during recursion leading to incorrect filtering of sub tables in some cases. So don't use cur_intersected_glyphs. Instead just add an additional entry onto the parent_active_glyphs () stack. + + Additionaly expands NotoNastaliqUrdu tests to include coverage of the issue from #3397. + + src/hb-ot-layout-gsubgpos.hh | 59 +++++++++++++-------- + src/hb-ot-layout.cc | 6 +-- + .../NotoNastaliqUrdu-Bold.default.633,6D2.ttf | Bin 0 -> 14048 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.633,6D2.ttf | Bin 0 -> 19948 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 17564 bytes + ...astaliqUrdu-Regular.default.627,644,62D,628.ttf | Bin 0 -> 24564 bytes + .../NotoNastaliqUrdu-Regular.default.627,644.ttf | Bin 0 -> 7776 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 0 -> 23232 bytes + .../NotoNastaliqUrdu-Regular.default.633,6D2.ttf | Bin 0 -> 14296 bytes + ...otoNastaliqUrdu-Regular.default.63A,64A,631.ttf | Bin 0 -> 26152 bytes + ...iqUrdu-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 542388 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 24224 bytes + ...liqUrdu-Regular.retain-gids.627,644,62D,628.ttf | Bin 0 -> 30464 bytes + ...otoNastaliqUrdu-Regular.retain-gids.627,644.ttf | Bin 0 -> 13380 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 28888 bytes + ...otoNastaliqUrdu-Regular.retain-gids.633,6D2.ttf | Bin 0 -> 20140 bytes + ...astaliqUrdu-Regular.retain-gids.63A,64A,631.ttf | Bin 0 -> 32012 bytes + ...du-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 542424 bytes + .../subset/data/fonts/NotoNastaliqUrdu-Regular.ttf | Bin 570552 -> 1060612 bytes + .../data/tests/layout.notonastaliqurdu.tests | 2 + + 20 files changed, 40 insertions(+), 27 deletions(-) + +commit f3c1f4f0dae03bfd4521b3b8965891d45c49d02f +Author: Garret Rieger +Date: Fri Jan 28 11:50:22 2022 -0800 + + [subset] convert active_glyphs_stack to be a vector of hb_set_t instead of hb_set_t*. + + src/hb-ot-layout-gsubgpos.hh | 63 ++++++++++++++++++++++---------------------- + 1 file changed, 32 insertions(+), 31 deletions(-) + +commit 476a6377a574291025ce8acc0cecfc53408c8d3c +Author: Behdad Esfahbod +Date: Fri Jan 28 15:05:10 2022 -0700 + + [buffer] Document HB_BUFFER_FLAG_VERIFY + + src/hb-buffer.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 61856359cb90f4d53eced1159b0810defa342ec6 +Author: Behdad Esfahbod +Date: Fri Jan 28 14:07:29 2022 -0700 + + [fuzz] Disable verification for now. + + test/fuzzing/hb-shape-fuzzer.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6596e42d160a0ae2cd2cd3b42a9f8823197cd716 +Author: Behdad Esfahbod +Date: Fri Jan 28 13:55:24 2022 -0700 + + [fuzz] Verify shape results + + test/fuzzing/hb-shape-fuzzer.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 5b1d813b698488fb86b4f20a596bb1c046e61eed +Author: Behdad Esfahbod +Date: Fri Jan 28 13:49:21 2022 -0700 + + [config] Enable HB_NO_BUFFER_VERIFY in HB_LEAN + + src/hb-config.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 61823838f9c3cdc93b2452451126dddcacfbe61d +Author: Behdad Esfahbod +Date: Fri Jan 28 13:45:25 2022 -0700 + + [buffer] Add HB_BUFFER_FLAG_VERIFY + + Move buffer verification code inside the library, from util/. + + Part of https://github.com/harfbuzz/harfbuzz/issues/3010 + + src/Makefile.sources | 1 + + src/harfbuzz.cc | 1 + + src/hb-buffer-verify.cc | 389 ++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-buffer.h | 3 +- + src/hb-buffer.hh | 14 ++ + src/hb-shape.cc | 18 +++ + src/meson.build | 1 + + util/shape-options.hh | 344 +----------------------------------------- + 8 files changed, 427 insertions(+), 344 deletions(-) + +commit 7c704d898210cd88f6fbf1096b9a75123d33cccd +Author: Behdad Esfahbod +Date: Fri Jan 28 12:38:32 2022 -0700 + + [buffer] Make hb_buffer_append() take a const argument + + src/hb-buffer.cc | 2 +- + src/hb-buffer.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 24650624c812368e3900e276aaca2dc94b737af8 +Author: Behdad Esfahbod +Date: Fri Jan 28 13:53:21 2022 -0700 + + [font] Fix build with no-var configs + + src/hb-font.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 91b779e23cbaea5d9e3176f3a2c05b8ec10c89fb +Author: Behdad Esfahbod +Date: Fri Jan 28 13:52:15 2022 -0700 + + Avoid redefinition of HB_NO_SETLOCALE in certain configs + + src/hb-common.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fa29006bfa3d5f84182b3a1c259ef4a3634da6b7 +Author: Khaled Hosny +Date: Thu Jan 27 01:57:45 2022 +0200 + + [doc] Fix generation of hb_glyph_flags_t docs + + GTK-Doc does not like the empty lines here, and interprets everything + after the first empty line as the description of the enum itself not a + specific member and the generated text makes no sense. + + Removing the empty lines makes the text harder to read (both in source + and HTML), but at least it is correctly organized. + + src/hb-buffer.h | 11 ----------- + 1 file changed, 11 deletions(-) + +commit e9cc5f6cdb3e29f2e33e0f8a08cf821ebd654a8d +Merge: bad5c9456 540af548d +Author: Behdad Esfahbod +Date: Wed Jan 26 12:23:29 2022 -0800 + + Merge pull request #3297 from harfbuzz/unsafe-to-concat + + Implement UNSAFE_TO_CONCAT flag + +commit 540af548dc3926c4b9db059c9b20297df0802671 +Author: Behdad Esfahbod +Date: Tue Jan 25 09:10:56 2022 -0700 + + [unsafe-to-concat] Clarify documentation as per feedback + + Fixes https://github.com/harfbuzz/harfbuzz/pull/3297#discussion_r754395825 + + src/hb-buffer.h | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit bad5c94562fa07c4c10f8b3663ca29cc5210c13c +Author: Behdad Esfahbod +Date: Sun Jan 23 10:53:19 2022 -0700 + + [test] Remove HB_UNUSED + + src/test-serialize.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6c09a8b5b0cc3ecef19f1c5a031481d831374b5d +Author: Behdad Esfahbod +Date: Sun Jan 23 10:52:13 2022 -0700 + + [test-serialize] Assert len + + src/test-serialize.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 76c6f4164f133e056bd75378a4a2e912d153550e +Author: Behdad Esfahbod +Date: Sun Jan 23 10:43:37 2022 -0700 + + [test] Add test-serialize + + src/Makefile.am | 5 +++++ + src/meson.build | 1 + + src/test-serialize.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 57 insertions(+) + +commit 332460649268844bf93e147cc0b86a82c449a980 +Author: Behdad Esfahbod +Date: Sat Jan 22 15:46:13 2022 -0700 + + [buffer] Oops + + src/hb-buffer.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 20031ddbb814d46f8c988242d2ee0bd9b198dbe2 +Author: Behdad Esfahbod +Date: Sat Jan 22 11:41:30 2022 -0700 + + [unsafe-to-concat] Mark in all other shapers + + unsafe_to_break() implies unsafe-to-concat; but setting the flag + manually wasn't. + + src/hb-coretext.cc | 3 ++- + src/hb-directwrite.cc | 3 ++- + src/hb-graphite2.cc | 3 ++- + src/hb-uniscribe.cc | 3 ++- + 4 files changed, 8 insertions(+), 4 deletions(-) + +commit 6e345f709d4888ab10ed22afffb6661d695e052f +Author: Behdad Esfahbod +Date: Sat Jan 22 11:40:37 2022 -0700 + + Cosmetic + + src/hb-buffer.hh | 16 ++++++++-------- + src/hb-kern.hh | 2 +- + 2 files changed, 9 insertions(+), 9 deletions(-) + +commit 374a6f186d7094370ffd6aed80688203c8f5a067 +Author: Behdad Esfahbod +Date: Sat Jan 22 11:29:00 2022 -0700 + + [fallback-shape] Add buffer trace log + + src/hb-kern.hh | 5 +++++ + src/hb-ot-shape-fallback.cc | 10 ++++++++++ + 2 files changed, 15 insertions(+) + +commit bcdfedbc09c308965239c4b7a750a9cc20618542 +Author: Behdad Esfahbod +Date: Sat Jan 22 11:19:05 2022 -0700 + + [unsafe-to-concat] Mark as unsafe in kern machine + + Fixes that last test. Yay! + + src/hb-aat-layout-kerx-table.hh | 1 - + src/hb-kern.hh | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 14d43d12359ba14e4bb95c24903be70808f66738 +Author: Behdad Esfahbod +Date: Sat Jan 22 10:46:18 2022 -0700 + + [unsafe-to-concat] Adjust end conditions + + src/hb-buffer.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 8663eda4fde11d360cca15936e9d2ae07c357958 +Author: Behdad Esfahbod +Date: Sat Jan 22 10:35:05 2022 -0700 + + [unsafe-to-concat] More annotations for MarkMarkPos + + Failures down to one: + + 265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach FAIL + + src/hb-ot-layout-gpos-table.hh | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +commit 6a7d6d4b64dd0eff7d0e7191ad30268a2502db5f +Author: Behdad Esfahbod +Date: Sat Jan 22 10:33:35 2022 -0700 + + [unsafe-to-concat] More annotations for MarkLigaturePos + + src/hb-ot-layout-gpos-table.hh | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit a575992057bcfab2ee3a720ad321c907cf20ff22 +Author: Behdad Esfahbod +Date: Sat Jan 22 10:30:39 2022 -0700 + + [unsafe-to-concat] Mark LigatureSubst + + Failures down to two: + + 209/401 harfbuzz:shaping+aots / gpos6 FAIL 0.06s exit status 1 + 265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach FAIL 0.06s exit status 1 + + src/hb-ot-layout-gsub-table.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit b443898cce2251ca2aaf332c13886577ab8db416 +Author: Behdad Esfahbod +Date: Sat Jan 22 10:24:59 2022 -0700 + + [unsafe-to-concat] Adjust MarkBasePos + + A couple more aots tests down. Four failing: + + 209/401 harfbuzz:shaping+aots / gpos6 FAIL 0.06s exit status 1 + 261/401 harfbuzz:shaping+aots / gsub4_1_multiple_ligatures FAIL 0.07s exit status 1 + 265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach FAIL 0.07s exit status 1 + 267/401 harfbuzz:shaping+aots / lookupflag_ignore_combination FAIL 0.07s exit status 1 + + src/hb-ot-layout-gpos-table.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 95d052a791262ebccbfeb794b992525ba2cc0ffc +Author: Behdad Esfahbod +Date: Sat Jan 22 10:16:23 2022 -0700 + + [unsafe-to-concat] Adjust GPOS lookbacks + + Fixes Cursive aots test, fails a couple new aots ones. + + src/hb-ot-layout-gpos-table.hh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 909e34f68a969275bc9b14c63e03d5d131823d91 +Author: Behdad Esfahbod +Date: Sat Jan 22 09:44:13 2022 -0700 + + [unsafe-to-concat] Adjust Arabic-joining start boundary condition more + + src/hb-ot-shape-complex-arabic.cc | 14 ++++++++++++-- + test/shape/data/in-house/Makefile.sources | 1 + + .../fonts/34da9aab7bee86c4dfc3b85e423435822fdf4b62.ttf | Bin 0 -> 1904 bytes + test/shape/data/in-house/meson.build | 1 + + test/shape/data/in-house/tests/unsafe-to-concat.tests | 1 + + 5 files changed, 15 insertions(+), 2 deletions(-) + +commit 11bdd7a020d3e99c0ff43f34cf1724a95713b463 +Author: Behdad Esfahbod +Date: Fri Jan 21 18:59:06 2022 -0700 + + [unsafe-to-concat] Adjust CursivePos + + Doesn't fix the test yet. + + src/hb-ot-layout-gpos-table.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit ea1b32c8c198da4475941f459b16dc6d7e28148a +Author: Behdad Esfahbod +Date: Fri Jan 21 18:58:33 2022 -0700 + + [unsafe-to-concat] Adjust "interior"ness of "from_out_buffer" + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4f04baef17bf5b150c1594f6e80604974e6e95e4 +Author: Behdad Esfahbod +Date: Fri Jan 21 18:26:54 2022 -0700 + + [unsafe-to-concat] Further adjust Arabic joining logic at boundary + + src/hb-ot-shape-complex-arabic.cc | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 235c3a129581e96701fe055341e56699766df5fa +Author: Behdad Esfahbod +Date: Fri Jan 21 15:17:40 2022 -0700 + + [unsafe-to-concat] Adjust Arabic joining logic + + Test failures done one more. Fixed the mongolian-variation-selector + test. Another test case: + + $ util/hb-shape NotoSansArabic-Regular.ttf -u 628,200c,628 --show-flags --verify + + src/hb-ot-shape-complex-arabic.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 48c5f26199808f40251cdaef7494456e9f23acb9 +Author: Behdad Esfahbod +Date: Fri Jan 21 12:18:50 2022 -0700 + + [unsafe-to-concat] Fix PairPos2 logic + + Test failures down from 8 to 6: + + 113/400 harfbuzz:shaping+in-house / mongolian-variation-selector FAIL 0.06s exit status 1 + 203/400 harfbuzz:shaping+aots / gpos3 FAIL 0.06s exit status 1 + 204/400 harfbuzz:shaping+aots / gpos4_lookupflag FAIL 0.06s exit status 1 + 260/400 harfbuzz:shaping+aots / gsub4_1_multiple_ligatures FAIL 0.06s exit status 1 + 264/400 harfbuzz:shaping+aots / lookupflag_ignore_attach FAIL 0.06s exit status 1 + 266/400 harfbuzz:shaping+aots / lookupflag_ignore_combination FAIL 0.06s exit status 1 + + src/hb-ot-layout-gpos-table.hh | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +commit c0058892bec52e4f0346b1139ebb206c03e094e2 +Author: Behdad Esfahbod +Date: Thu Jan 20 15:51:04 2022 -0700 + + [unsafe-to-concat] Mark entire buffer unsafe-to-concat if kerx format2 + + src/hb-aat-layout-kerx-table.hh | 1 + + src/hb-buffer.hh | 21 ++++++++++++++------- + 2 files changed, 15 insertions(+), 7 deletions(-) + +commit 60006d368770982c6a0d3bf06eb937773343cf5b +Author: Behdad Esfahbod +Date: Thu Jan 20 15:29:28 2022 -0700 + + [gsubgpos] Adjust chaining unsafe-to-concat application + + Fixes three tests. + + src/hb-ot-layout-gsubgpos.hh | 46 ++++++++++++++++++++++++-------------------- + 1 file changed, 25 insertions(+), 21 deletions(-) + +commit d98a0fc88e8bcf7993c92425212cd6c57a632a01 +Author: Behdad Esfahbod +Date: Sat Dec 4 20:43:27 2021 -0800 + + [buffer] Consolidate glyph-flags implementation + + src/hb-buffer.cc | 25 ------------------- + src/hb-buffer.hh | 76 +++++++++++++++++++++++++++++++++++++++++++++----------- + 2 files changed, 62 insertions(+), 39 deletions(-) + +commit f91ce56e08ed9acdfaf5dfe994d950195dd10881 +Author: Behdad Esfahbod +Date: Sat Dec 4 20:07:05 2021 -0800 + + [buffer] Add default cluster value in find_min_cluster + + src/hb-buffer.cc | 6 ++---- + src/hb-buffer.hh | 2 +- + 2 files changed, 3 insertions(+), 5 deletions(-) + +commit 56d081955c768a4ed55354fe57577cb10706fb81 +Author: Behdad Esfahbod +Date: Sat Dec 4 19:59:55 2021 -0800 + + [buffer] Rename _unsafe_to_break_set_mask to _infos_set_glyph_flags + + src/hb-buffer.cc | 6 +++--- + src/hb-buffer.hh | 27 +++++++++++++-------------- + 2 files changed, 16 insertions(+), 17 deletions(-) + +commit 78481b32c0a14f0ee1c4baec4d5208b385be0b2e +Author: Behdad Esfahbod +Date: Sun Nov 21 16:50:34 2021 -0700 + + [gsubgpos] Combine input/backtrack/lookahead unsafe-to-concat + + I feel like this is correct logic. Still have to prove. + + Errors unchanged at 10. + + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsub-table.hh | 15 ++++--- + src/hb-ot-layout-gsubgpos.hh | 93 +++++++++++++++++++++++------------------- + 3 files changed, 62 insertions(+), 48 deletions(-) + +commit 596bc7e939d927b4b211cdd847fbb1208789b999 +Author: Behdad Esfahbod +Date: Sat Nov 20 12:02:47 2021 -0700 + + [unsafe-to-concat] Add to GPOS kerning + + src/hb-ot-layout-gpos-table.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit e1cbd4539f392034899353f55daffa32e6d62c87 +Author: Behdad Esfahbod +Date: Sat Nov 20 11:46:48 2021 -0700 + + [unsafe-to-concat] Add annotations to GPOS and kern + + Failures from 13 to 14. + + src/hb-kern.hh | 4 +++- + src/hb-ot-layout-gpos-table.hh | 43 ++++++++++++++++++++++++++++++++++++------ + 2 files changed, 40 insertions(+), 7 deletions(-) + +commit 36b1561715737ff6608bf2eb6c21b64348abb226 +Author: Behdad Esfahbod +Date: Fri Nov 19 14:10:34 2021 -0700 + + Implement hb-shape --verify unsafe-to-concat flag + + 15 tests failing. Those look like legit places that unsafe-to-concat + needs more implementation. + + util/shape-options.hh | 198 +++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 189 insertions(+), 9 deletions(-) + +commit 3122c2cdc45a964efedad8953a2df67205c3e3a8 +Author: Behdad Esfahbod +Date: Sat Dec 4 19:50:33 2021 -0800 + + [buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1463 + + src/hb-buffer.cc | 10 +++--- + src/hb-buffer.h | 76 ++++++++++++++++++++++++++++++++++++-------- + src/hb-buffer.hh | 33 +++++++++++-------- + src/hb-ot-layout-gsubgpos.hh | 39 ++++++++++++++++++++--- + src/hb-ot-shape.cc | 8 ++--- + 5 files changed, 124 insertions(+), 42 deletions(-) + +commit a8b7f1880412c7f0c9ecdada0a4935011816c7dc +Author: Behdad Esfahbod +Date: Fri Jan 21 07:38:33 2022 -0700 + + [cff] Initialize accelerator members + + src/hb-ot-cff1-table.hh | 24 ++++++++++++------------ + src/hb-ot-cff2-table.hh | 16 ++++++++-------- + 2 files changed, 20 insertions(+), 20 deletions(-) + +commit cce37a6f10e0c7b06b5ead1223e92c85d88242c0 +Author: Behdad Esfahbod +Date: Fri Jan 21 07:31:21 2022 -0700 + + [gpos] Fix conditional + + src/hb-ot-layout-gpos-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 773cf4fdd30cf9d4b8a7139ce2992156dc86bc00 +Author: Behdad Esfahbod +Date: Fri Jan 21 07:30:09 2022 -0700 + + [post] Initialize variables + + src/hb-ot-post-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit cab943a015b1a3d4cd72f0c5dc4ff79e0aefa06f +Author: Behdad Esfahbod +Date: Thu Jan 20 14:32:30 2022 -0700 + + One more fix + + test/shape/data/in-house/tests/macos.tests | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 070e30e6daba74fe62ea486dc97cd01a79f90541 +Author: Behdad Esfahbod +Date: Thu Jan 20 14:31:31 2022 -0700 + + Fix failing Mac test for previous commit + + test/shape/data/in-house/tests/macos.tests | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 84aa1a836c1440e862f58f0d5a23363825b5ac66 +Author: Behdad Esfahbod +Date: Thu Jan 20 13:18:19 2022 -0800 + + [PairPos] Split GPOS kerning to both sides (#3235) + + src/hb-ot-layout-gpos-table.hh | 66 +++++++++++++++++++++- + test/shape/data/aots/Makefile.sources | 3 - + test/shape/data/aots/tests/gpos2_2.tests | 2 +- + .../data/in-house/tests/positioning-features.tests | 2 +- + 4 files changed, 66 insertions(+), 7 deletions(-) + +commit ae9fc7f53335a42fe109ced01238fdaf2fc49b90 +Author: Behdad Esfahbod +Date: Thu Jan 20 12:37:21 2022 -0700 + + Clean accelerators a bit more + + src/hb-ot-color-colr-table.hh | 12 ++++++------ + src/hb-ot-layout-gdef-table.hh | 10 +++++----- + src/hb-ot-name-table.hh | 2 -- + src/hb-ot-post-table.hh | 3 --- + src/hb-subset-plan.cc | 4 +--- + 5 files changed, 12 insertions(+), 19 deletions(-) + +commit 0ae66593987c54e2d8a03b2c2c49c76d0ba1a4bb +Merge: 112cb9fe6 ac1bb3e39 +Author: Behdad Esfahbod +Date: Thu Jan 20 11:28:59 2022 -0800 + + Merge pull request #3392 from harfbuzz/auto-accelerators + + Auto accelerators + +commit ac1bb3e39e4c0be675bd0f8a230bc75b57d22e98 +Author: Behdad Esfahbod +Date: Thu Jan 20 11:47:17 2022 -0700 + + [machinery] Move accelerators to constructor/destructor + + src/hb-machinery.hh | 6 +++--- + src/hb-ot-cff1-table.hh | 10 ++++++---- + src/hb-ot-cff2-table.hh | 43 +++++++++++++++++++++++++--------------- + src/hb-ot-cmap-table.hh | 17 ++++++++-------- + src/hb-ot-color-cbdt-table.hh | 14 +++++++------ + src/hb-ot-color-sbix-table.hh | 9 ++++++--- + src/hb-ot-color-svg-table.hh | 8 +++++--- + src/hb-ot-glyf-table.hh | 15 +++++++------- + src/hb-ot-hmtx-table.hh | 20 +++++++++---------- + src/hb-ot-layout-gdef-table.hh | 9 +++++---- + src/hb-ot-layout-gpos-table.hh | 4 +++- + src/hb-ot-layout-gsub-table.hh | 4 +++- + src/hb-ot-layout-gsubgpos.hh | 5 ++--- + src/hb-ot-meta-table.hh | 8 +++++--- + src/hb-ot-name-table.hh | 9 +++++---- + src/hb-ot-post-table-v2subset.hh | 7 ++----- + src/hb-ot-post-table.hh | 10 +++++++--- + src/hb-ot-var-gvar-table.hh | 8 +++++--- + src/hb-subset-cff2.cc | 8 ++------ + src/hb-subset-plan.cc | 22 ++++---------------- + 20 files changed, 123 insertions(+), 113 deletions(-) + +commit 112cb9fe6927600018c61cd92577e01dbd8ed601 +Author: Garret Rieger +Date: Wed Jan 19 15:31:35 2022 -0800 + + [repacker] Fix missing initilization of obj in vertex_t. + + src/hb-repacker.hh | 23 +++++------------------ + 1 file changed, 5 insertions(+), 18 deletions(-) + +commit e062376ef1ce0e8e303eefd3bf449c20ba1f3607 +Author: Behdad Esfahbod +Date: Wed Jan 19 17:09:34 2022 -0700 + + [machinery] Make accelerator lazy-loader call Xinit/Xfini + + Instead of init/fini. To isolate those functions. To be turned into + constructor/destructors, ideally one per commit (after some SFINAE + foo.) + + src/hb-machinery.hh | 6 +++--- + src/hb-ot-cff1-table.hh | 4 ++-- + src/hb-ot-cff2-table.hh | 28 ++++++++++++++-------------- + src/hb-ot-cmap-table.hh | 14 +++++++------- + src/hb-ot-color-cbdt-table.hh | 4 ++-- + src/hb-ot-color-sbix-table.hh | 4 ++-- + src/hb-ot-color-svg-table.hh | 4 ++-- + src/hb-ot-glyf-table.hh | 8 ++++---- + src/hb-ot-hmtx-table.hh | 8 ++++---- + src/hb-ot-layout-gdef-table.hh | 4 ++-- + src/hb-ot-layout-gsubgpos.hh | 4 ++-- + src/hb-ot-meta-table.hh | 4 ++-- + src/hb-ot-name-table.hh | 4 ++-- + src/hb-ot-post-table-v2subset.hh | 4 ++-- + src/hb-ot-post-table.hh | 4 ++-- + src/hb-ot-var-gvar-table.hh | 4 ++-- + src/hb-subset-cff2.cc | 4 ++-- + src/hb-subset-plan.cc | 16 ++++++++-------- + 18 files changed, 64 insertions(+), 64 deletions(-) + +commit 1522015bb2d140f199359c4e7cfcf342b93894a7 +Author: Khaled Hosny +Date: Wed Jan 19 23:13:50 2022 +0200 + + [test] Add --single-par to more places in hb-aots-tester [ci skip] + + test/shape/data/aots/hb-aots-tester.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2d12fc90a4b4d5b5ba847115c8ef76b16ec495ef +Author: Behdad Esfahbod +Date: Wed Jan 19 14:01:20 2022 -0700 + + [ms-feature-ranges] Pass reference to cmp function + + src/hb-ms-feature-ranges.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ac109c9353292bfa474f57efdb43f9e0f2f735f6 +Author: Behdad Esfahbod +Date: Wed Jan 19 12:11:58 2022 -0700 + + [ms-feature-ranges] Inline code in header file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3387 + + src/Makefile.sources | 1 - + src/harfbuzz.cc | 1 - + src/hb-ms-feature-ranges.cc | 177 -------------------------------------------- + src/hb-ms-feature-ranges.hh | 141 ++++++++++++++++++++++++++++++++++- + src/meson.build | 1 - + 5 files changed, 137 insertions(+), 184 deletions(-) + +commit cfa00238e40cc3c8d1aac557539fd746bc70124b +Merge: 7e160dc34 376738d41 +Author: Behdad Esfahbod +Date: Wed Jan 19 11:10:22 2022 -0800 + + Merge pull request #3386 from harfbuzz/unify-sorted-vector + + Unify sorted vector + +commit 376738d41104dc10d483c8eb135d1befd5b18855 +Author: Behdad Esfahbod +Date: Wed Jan 19 11:46:21 2022 -0700 + + [coretext] Fix lsearch + + src/hb-coretext.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 106388e7665984b545b2b47b0fac63ab2484a4f3 +Author: Behdad Esfahbod +Date: Wed Jan 19 11:38:37 2022 -0700 + + [vector] Merge sorted-vector into vector + + Was easier than I thought! + + Let's see what the bot gods think... + + src/hb-vector.hh | 58 +++++++++++--------------------------------------------- + 1 file changed, 11 insertions(+), 47 deletions(-) + +commit 294d50ff353f77be2b2f0a560a2a876e4a80d094 +Author: Behdad Esfahbod +Date: Wed Jan 19 11:32:14 2022 -0700 + + [vector] Add sorted template argument + + src/hb-vector.hh | 24 ++++++++++++++++++++++-- + 1 file changed, 22 insertions(+), 2 deletions(-) + +commit cd9799784cc6deb8829a3c54a9dee654379cc03e +Author: Behdad Esfahbod +Date: Wed Jan 19 11:14:25 2022 -0700 + + [vector] Remove old find() method + + src/hb-algs.hh | 12 +++++++++--- + src/hb-object.hh | 6 +++--- + src/hb-vector.hh | 17 ----------------- + 3 files changed, 12 insertions(+), 23 deletions(-) + +commit 849e40b4db814bc6fe5defa5b802cc534aab209a +Author: Behdad Esfahbod +Date: Wed Jan 19 11:06:33 2022 -0700 + + [ms-feature-ranges] Use preferred vector search API + + src/hb-ms-feature-ranges.cc | 2 +- + src/hb-ms-feature-ranges.hh | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 7e160dc347a77dc36a9bd9df6cb686eff8252f7c +Author: Behdad Esfahbod +Date: Wed Jan 19 09:26:53 2022 -0700 + + [gpos] Fix unsafe-to-break of mark-attachment + + This was undetected because most of the time marks were in same + cluster of their base already. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3093 + + src/hb-ot-layout-gpos-table.hh | 2 +- + test/shape/data/aots/tests/gpos4_simple.tests | 2 +- + test/shape/data/aots/tests/gpos5.tests | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit c8195dbc01f0b36f39ac6f087ee6891b09e31594 +Merge: 17cd4457b 282642311 +Author: Behdad Esfahbod +Date: Wed Jan 19 06:56:05 2022 -0800 + + Merge pull request #3365 from harfbuzz/gdef-fix + + GDEF fix + +commit 17cd4457b7e456f3c99582a71c92b47ad572cd2f +Author: Hugo Beauzée-Luyssen +Date: Wed Jan 19 11:53:02 2022 +0100 + + meson: Enable big objects support when building for windows + + Fix cross compilation when targetting win64 + + meson.build | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 282642311f1710d1b4ea223de21090211de57765 +Author: Simon Cozens +Date: Wed Jul 8 14:39:31 2020 +0100 + + Test for #2140 + + test/shape/data/in-house/Makefile.sources | 1 + + .../in-house/fonts/FallbackPlus-Javanese-no-GDEF.otf | Bin 0 -> 4776 bytes + test/shape/data/in-house/meson.build | 1 + + test/shape/data/in-house/tests/glyph-props-no-gdef.tests | 1 + + 4 files changed, 3 insertions(+) + +commit fc5354c5e5e16105b46b7716065a9f1afac72e7b +Author: Simon Cozens +Date: Wed Jul 8 14:16:00 2020 +0100 + + Add test for #2516 + + test/shape/data/in-house/Makefile.sources | 1 + + .../data/in-house/fonts/NotoNastaliqUrdu-Regular.ttf | Bin 0 -> 457312 bytes + test/shape/data/in-house/meson.build | 1 + + .../in-house/tests/nested-mark-filtering-sets.tests | 4 ++++ + 4 files changed, 6 insertions(+) + +commit 94ba4d5a440c599694b0db73ab8e9344d83cb9ef +Author: Garret Rieger +Date: Tue Jan 18 16:35:30 2022 -0800 + + [subset] Fix bound check when setting overlap bit. + + length() shouldn't be used again as the end of instruction offset is already included in flags_offset. + + src/hb-ot-glyf-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 10a20be397e47522f8d20f6247278a0770c5bf66 +Merge: daab4bf63 fe783ac09 +Author: Behdad Esfahbod +Date: Tue Jan 18 13:46:35 2022 -0800 + + Merge pull request #3381 from harfbuzz/clean-vector-use + + Clean vector use + +commit fe783ac091b94ff6d0c9060fde229594b4e635e1 +Author: Behdad Esfahbod +Date: Tue Jan 18 13:38:28 2022 -0700 + + [cff] Remove op_str_t nop init/fini + + src/hb-cff-interp-common.hh | 3 --- + src/hb-subset-cff-common.hh | 3 --- + 2 files changed, 6 deletions(-) + +commit 8d24ac26623f5645783b8e36e39c9f5c635e0191 +Author: Behdad Esfahbod +Date: Tue Jan 18 13:14:42 2022 -0700 + + [cff] Remove init/fini from number_t + + src/hb-cff-interp-common.hh | 7 +------ + src/hb-cff-interp-cs-common.hh | 9 +-------- + 2 files changed, 2 insertions(+), 14 deletions(-) + +commit 6ef83c2c31b4355f2eeee7d241e2c6bb52f6d6b3 +Author: Behdad Esfahbod +Date: Tue Jan 18 13:08:34 2022 -0700 + + [vector] Remove .fini_deep() + + src/hb-cff-interp-common.hh | 4 ++-- + src/hb-vector.hh | 7 ------- + 2 files changed, 2 insertions(+), 9 deletions(-) + +commit daab4bf63a6ce1a519173aee5ddfbf17318cf2b8 +Author: James Hilliard +Date: Mon Jan 17 18:28:39 2022 -0700 + + [meson] add icu DEFS required for compilation + + In some cases we need to add additionl defs to build against icu if + icu has certain options configured. + + ICU warns about this when building: + + *** WARNING: You must set the following flags before code compiled against this ICU will function properly: + + -DU_DISABLE_RENAMING=1 + + We can fetch these flags from the icu pkgconfig and add them if + required. + + This fixes symbol errors if ICU is built without renaming. + + meson.build | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 4eb6e6ea16e0b4f6ac7271929849c3e8f52c8cc6 +Author: Behdad Esfahbod +Date: Tue Jan 18 12:07:05 2022 -0700 + + [cff] Remove some more fini_deep() + + src/hb-ot-cff1-table.hh | 4 ++-- + src/hb-ot-cff2-table.hh | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 29f60d1eaad663b8519930145e7f4c4d88429dce +Author: Behdad Esfahbod +Date: Tue Jan 18 11:58:16 2022 -0700 + + [cff] Remove init/fini from blend_arg_t + + src/hb-cff2-interp-cs.hh | 12 ------------ + 1 file changed, 12 deletions(-) + +commit 213e3f09b11cd6fb67295ad758beffd490d62ed6 +Author: Behdad Esfahbod +Date: Tue Jan 18 09:39:46 2022 -0700 + + [vector] Add TODO Emplace? + + src/hb-vector.hh | 1 + + 1 file changed, 1 insertion(+) + +commit f1dc8b087cf08970c6c96b0052ec46a10892cc66 +Author: Garret Rieger +Date: Tue Jan 18 10:29:04 2022 -0800 + + [subset-cff] Convert subr_closures_t to constructor/destructor instead of init/fini. + + src/hb-subset-cff-common.hh | 50 ++++++++++++--------------------------------- + 1 file changed, 13 insertions(+), 37 deletions(-) + +commit a48aa9850acf89a1ba36fa812195d6428f80b9a6 +Author: Behdad Esfahbod +Date: Tue Jan 18 09:32:58 2022 -0700 + + [subset-cff] Remove another set of fini_deep + + src/hb-subset-cff-common.hh | 30 ++++-------------------------- + 1 file changed, 4 insertions(+), 26 deletions(-) + +commit 07474aa8c6f8a4d4bff92501e2e19143cfe8e91f +Author: Behdad Esfahbod +Date: Tue Jan 18 09:29:43 2022 -0700 + + [subset-cff1] Remove a constructor/destructor pair + + src/hb-subset-cff1.cc | 32 +++++--------------------------- + 1 file changed, 5 insertions(+), 27 deletions(-) + +commit a1e9a276eb2dee1c1b0503072a0e6bbefc1dd62f +Author: Behdad Esfahbod +Date: Tue Jan 18 09:27:32 2022 -0700 + + [subset-cff2] Drop an constructor/destructor pair + + src/hb-subset-cff2.cc | 33 ++++++--------------------------- + 1 file changed, 6 insertions(+), 27 deletions(-) + +commit 035f03346ddc673a3617822e45103d67a11cd62c +Author: Behdad Esfahbod +Date: Tue Jan 18 09:26:30 2022 -0700 + + [str_buff_vec_t] Remove unused fini method + + src/hb-ot-cff-common.hh | 2 -- + 1 file changed, 2 deletions(-) + +commit de2cef42b4b6fba68d5b7baa53019af257ba2110 +Author: Behdad Esfahbod +Date: Tue Jan 18 09:21:31 2022 -0700 + + [bimap] Remove init/fini + + src/hb-bimap.hh | 14 -------------- + src/hb-ot-layout-common.hh | 9 --------- + src/hb-ot-var-hvar-table.hh | 7 ++----- + src/hb-subset-cff-common.hh | 19 +------------------ + src/hb-subset-cff1.cc | 8 -------- + src/hb-subset-cff2.cc | 2 -- + 6 files changed, 3 insertions(+), 56 deletions(-) + +commit c3dd21f11087f1e4cda82dcd6667cae508ca4543 +Author: Behdad Esfahbod +Date: Tue Jan 18 09:11:08 2022 -0700 + + [cff] Remove unneeded init/fini + + src/hb-subset-cff1.cc | 2 -- + 1 file changed, 2 deletions(-) + +commit 0b54f924160204e895ae832a1244a3d98e3b5252 +Merge: 92f179075 15cceff3d +Author: Behdad Esfahbod +Date: Tue Jan 18 07:28:07 2022 -0800 + + Merge pull request #3376 from harfbuzz/auto-vector + + [vector] Automatic item allocation / destruction + +commit 15cceff3d779c0cfb6b4d613ec7b39e81c962c7d +Author: Behdad Esfahbod +Date: Mon Jan 17 15:53:01 2022 -0700 + + [repacker] Replace fini_deep() with fini() + + Vector calls destructor now. + + src/hb-repacker.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 1198fb24686d1ea268f9923d3238fe6c2afb2d97 +Author: Behdad Esfahbod +Date: Sun Jan 16 06:29:35 2022 -0700 + + [vector] Adjust construction criteria + + src/hb-vector.hh | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit c58bfa35fb9d6d8bebad94c2c6e24eaf18d5d1d5 +Author: Behdad Esfahbod +Date: Sat Jan 15 18:06:03 2022 -0700 + + [vector] Move semantics in vector remove() + + src/hb-vector.hh | 23 +++++++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +commit 5946e945d515bed8579caaac7fb79ee540fb22e8 +Author: Behdad Esfahbod +Date: Sat Jan 15 18:00:18 2022 -0700 + + [vector] Destruct in pop() + + src/hb-vector.hh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 7171917b52880728b513168d946196331b7707d1 +Author: Behdad Esfahbod +Date: Sat Jan 15 17:16:40 2022 -0700 + + [vector] Construct items when enlarging + + src/hb-vector.hh | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +commit 813eaba6ea23544eea6bc6efcedada817b9c0b10 +Author: Behdad Esfahbod +Date: Fri Jan 14 13:09:21 2022 -0700 + + [vector] Start adding destruction + + Now we need to remove manual destruction, ouch! + + src/hb-vector.hh | 34 ++++++++++++++++++++++++++-------- + 1 file changed, 26 insertions(+), 8 deletions(-) + +commit 65a22836f833c9ec0e5a3d11f3e5b9a2befaea54 +Author: Behdad Esfahbod +Date: Fri Jan 14 12:55:48 2022 -0700 + + [vector] Add XXX markers for remaining places that need work + + src/hb-vector.hh | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit 92f179075fc264c9d999c6316193b8ac3e76746c +Author: Behdad Esfahbod +Date: Sun Jan 16 07:51:35 2022 -0700 + + Make hb_coerce static inline + + That's the pattern we follow. + + https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544 + + src/hb-algs.hh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 19793f333b14208daecc911f4f6979ff7d393391 +Author: Behdad Esfahbod +Date: Sun Jan 16 07:49:40 2022 -0700 + + Better try at previous commit + + https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544 + + src/hb-algs.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 1173ed1f7f401b0f21bacc0f35c4a18f6947a99d +Author: Behdad Esfahbod +Date: Sun Jan 16 07:48:02 2022 -0700 + + Try fix Mac build + + https://github.com/harfbuzz/harfbuzz/commit/985b63b3eeee5be1f5234fc7f13077eacf5e5b94#commitcomment-63973544 + + src/hb-algs.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c0f57ccc88b56c023bbb683449bb6627b697ccc2 +Author: Behdad Esfahbod +Date: Sun Jan 16 06:59:24 2022 -0700 + + [algs] Add default-construtor to hb_pair_t + + src/hb-algs.hh | 4 ++++ + 1 file changed, 4 insertions(+) + +commit e2e305066a09b67670fff460d920d4a8aae81389 +Author: luz paz +Date: Sun Jan 16 07:00:53 2022 -0500 + + Fix various typos + + Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne` + + NEWS | 6 +++--- + RELEASING.md | 2 +- + docs/Makefile.am | 2 +- + docs/repacker.md | 12 ++++++------ + docs/usermanual-integration.xml | 4 ++-- + src/gen-os2-unicode-ranges.py | 2 +- + src/hb-aat-layout-just-table.hh | 2 +- + src/hb-array.hh | 2 +- + src/hb-cff2-interp-cs.hh | 2 +- + src/hb-draw.h | 2 +- + src/hb-ot-color.cc | 2 +- + src/hb-ot-layout-common.hh | 2 +- + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape.cc | 2 +- + src/hb-ot-var-gvar-table.hh | 2 +- + src/hb-ot-var.h | 2 +- + src/hb-repacker.hh | 2 +- + src/hb-serialize.hh | 4 ++-- + src/ms-use/IndicPositionalCategory-Additional.txt | 12 ++++++------ + test/api/test-ot-math.c | 2 +- + test/fuzzing/hb-set-fuzzer.cc | 2 +- + util/ansi-print.hh | 2 +- + util/hb-subset.cc | 2 +- + 23 files changed, 37 insertions(+), 37 deletions(-) + +commit 589bea15b790f36ec12c8f463ea1c333b6155958 +Author: Behdad Esfahbod +Date: Sat Jan 15 17:55:10 2022 -0700 + + Fix previous commit + + src/hb-common.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b97e4f7084e3f2c3eea64163188da97734bbedef +Author: Behdad Esfahbod +Date: Sat Jan 15 17:47:51 2022 -0700 + + Further adjust setlocale + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3375#issuecomment-1013783496 + + src/hb-common.cc | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit 63affc4eaea73a70667f346926a3a289c35773c5 +Author: Behdad Esfahbod +Date: Thu Jan 13 16:05:42 2022 -0700 + + [vector] Move semantics when resizing + + src/hb-ot-color-cbdt-table.hh | 10 ++++++++++ + src/hb-vector.hh | 30 +++++++++++++++++++++++++++++- + src/test-vector.cc | 14 ++++++++++++++ + 3 files changed, 53 insertions(+), 1 deletion(-) + +commit 1c50106608cfa205fafa41e80c7f747e2e5b0730 +Author: Behdad Esfahbod +Date: Sat Jan 15 13:08:21 2022 -0700 + + [meta] Include , for addressof + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3375 + + src/hb-meta.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 71e6f742a8159640fff6b9ddee0fd34f277ce0e2 +Author: Behdad Esfahbod +Date: Thu Jan 13 16:19:44 2022 -0700 + + [meta] Remove unused hb_ref() + + src/hb-meta.hh | 10 ---------- + 1 file changed, 10 deletions(-) + +commit e30511a8de700224a22163cf6f0c29e18aaeb4fb +Author: Garret Rieger +Date: Fri Jan 14 16:20:31 2022 -0800 + + [map] Correct previous commit, if (...) was reversed. + + src/hb-map.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ff4e8c7eac26f3183cb88a37dadb578362d44405 +Author: Garret Rieger +Date: Fri Jan 14 16:20:31 2022 -0800 + + [map] Fix bad memory access if hb_map.fini() was called twice. + + src/hb-map.hh | 12 +++++++----- + src/test-map.cc | 8 ++++++++ + 2 files changed, 15 insertions(+), 5 deletions(-) + +commit 8a69e0063936764cbd149985e0b57e1dc35935c2 +Author: Behdad Esfahbod +Date: Thu Jan 13 16:17:34 2022 -0700 + + [meta] Use std::addressof() instead of hb_addressof() + + src/hb-algs.hh | 2 +- + src/hb-iter.hh | 2 +- + src/hb-map.hh | 4 ++-- + src/hb-meta.hh | 20 ++------------------ + src/hb-ot-cmap-table.hh | 2 +- + src/hb-ot-color-colrv1-closure.hh | 2 +- + src/hb-ot-name-table.hh | 2 +- + src/hb-serialize.hh | 10 +++++----- + 8 files changed, 14 insertions(+), 30 deletions(-) + +commit b7b0a15f7eb8e753e6434c1fee66c2a2f75ea1bb +Author: Behdad Esfahbod +Date: Thu Jan 13 15:33:27 2022 -0700 + + [meta] Remove hb_add_const + + src/hb-iter.hh | 2 +- + src/hb-meta.hh | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 3b2e604237d5c818dc9b24158e18bc556c566dce +Author: Behdad Esfahbod +Date: Thu Jan 13 15:32:46 2022 -0700 + + [meta] Use std::is_const instead of hb_is_const + + src/hb-meta.hh | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 909dde9df1b93a508258461ff8e00c5f6604f07b +Author: Behdad Esfahbod +Date: Thu Jan 13 15:30:10 2022 -0700 + + [meta] Use std::is_reference instead of hb_is_reference + + src/hb-iter.hh | 2 +- + src/hb-meta.hh | 5 +++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit 47afb3ef04c97628d36a129e744b82303b1ca52a +Author: Behdad Esfahbod +Date: Thu Jan 13 15:26:07 2022 -0700 + + [meta] Replace hb_is_pointer with std::is_pointer + + src/hb-algs.hh | 2 +- + src/hb-map.hh | 4 ++-- + src/hb-meta.hh | 1 - + 3 files changed, 3 insertions(+), 4 deletions(-) + +commit 956e0a4d13c349ccaf64dd130211909fadc43637 +Author: Behdad Esfahbod +Date: Thu Jan 13 15:06:58 2022 -0700 + + [map] Destruct objects + + src/hb-map.hh | 11 ++++++++--- + src/test-map.cc | 2 -- + 2 files changed, 8 insertions(+), 5 deletions(-) + +commit 726b1a8b2d0ce980e51dc7404c49906b44e73076 +Author: Jussi Pakkanen +Date: Thu Jan 13 18:30:52 2022 +0200 + + Convert fallback kwargs to [provide] entries. + + meson.build | 11 ++++------- + subprojects/cairo.wrap | 3 +++ + subprojects/freetype2.wrap | 3 +++ + subprojects/glib.wrap | 4 ++++ + 4 files changed, 14 insertions(+), 7 deletions(-) + +commit bc0a5fdf43c7932c9ca39fa64a5cd405ebb43da5 +Author: Behdad Esfahbod +Date: Thu Jan 13 13:34:22 2022 -0700 + + [test-map] Add disabled tests with std::string + + src/test-map.cc | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +commit 985b63b3eeee5be1f5234fc7f13077eacf5e5b94 +Author: Behdad Esfahbod +Date: Thu Jan 13 13:33:07 2022 -0700 + + [map] Allow invalid items to be pointer to static object + + By derefencing them when necessary. + + Also, we do not rely on trivially-copyable, so remove that assertion. + + src/hb-algs.hh | 7 +++++-- + src/hb-map.hh | 28 +++++++++++++--------------- + 2 files changed, 18 insertions(+), 17 deletions(-) + +commit 98b26eedf5578b66f4ca1c173443942af831f195 +Author: Behdad Esfahbod +Date: Thu Jan 13 13:12:10 2022 -0700 + + [check-static-inits] Only check library object files + + src/check-static-inits.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1e27f95dc1e8c35c9b2acd60a3460d8c6f8edf31 +Author: Behdad Esfahbod +Date: Thu Jan 13 13:10:47 2022 -0700 + + [algs] Add hb_coerce() + + src/hb-algs.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 5a91db113507fa465f320438f1c68ca22bc0a2cd +Author: Behdad Esfahbod +Date: Thu Jan 13 12:44:48 2022 -0700 + + [map] Remove constexpr invalid items + + These were non-workable in the general case, eg std::string. + + src/hb-map.hh | 3 --- + src/hb-ot-layout-gsubgpos.hh | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +commit 114046dc27795514189f4af4e65be50238f3ca8e +Author: Behdad Esfahbod +Date: Thu Jan 13 12:38:26 2022 -0700 + + [map] Construct objects + + src/hb-map.hh | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +commit b15e497d4de5b04537217117137f7756dc535c2f +Author: Matthias Clasen +Date: Thu Jan 13 14:10:23 2022 -0500 + + Fix the docs build + + This was inadvertendly broken in f956ecdbaffbb8643. + Sorry + + docs/usermanual-object-model.xml | 1 + + 1 file changed, 1 insertion(+) + +commit ca4f56bdc746d3d23f46898bd83c1b2c3d8250a1 +Author: Behdad Esfahbod +Date: Thu Jan 13 11:48:34 2022 -0700 + + [map] Massage some more + + Towards being able to store arbitrary types. + + src/hb-map.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit cfe2b66114fdbc2b61566bdc086ce41286a78aec +Author: Behdad Esfahbod +Date: Thu Jan 13 11:42:48 2022 -0700 + + [algs] Fix hash chaining to std::hash() + + src/hb-algs.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 87496bf63ea7644733cdcc08f330a522597509a1 +Author: Garret Rieger +Date: Thu Jan 13 11:03:45 2022 -0800 + + [subset] fix fuzzer timeout if visisted_paint goes into error. + + src/hb-ot-color-colr-table.hh | 2 +- + ...z-testcase-minimized-hb-subset-fuzzer-4979711393005568 | Bin 0 -> 349 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit 4ced2e8a8ad224f9a4abcc418632600af1194c11 +Author: Matthias Clasen +Date: Thu Jan 13 09:05:04 2022 -0500 + + docs: Add some details + + Mention immutability in the object model section. + + docs/usermanual-object-model.xml | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit bb330c6aa6d56e29d08a3d6358aec70561defa49 +Author: Matthias Clasen +Date: Thu Jan 13 08:57:56 2022 -0500 + + docs: Fix a typo + + docs/usermanual-object-model.xml | 42 ++++++++++++++++++++-------------------- + 1 file changed, 21 insertions(+), 21 deletions(-) + +commit 16cfe34ae85c90754f5171428e4709ff784f8139 +Author: Behdad Esfahbod +Date: Thu Jan 13 11:01:22 2022 -0700 + + [git.mk] Update + + git.mk | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 0acf466c44143de2e9b9cc0375cb25ec67cb132f +Author: Khaled Hosny +Date: Thu Jan 13 01:29:22 2022 +0200 + + [doc] Fix hb_font_set_synthetic_slant param name + + src/hb-font.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fa12f1ae25014a8da9f1b8bef871f60460e27a6b +Author: Behdad Esfahbod +Date: Wed Jan 12 15:08:34 2022 -0700 + + Rename method + + src/hb-ot-layout-gsubgpos.hh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 9408e0d6d1a046fc6175eeca833852e86deb5d17 +Author: Behdad Esfahbod +Date: Wed Jan 12 15:07:34 2022 -0700 + + Rename variable + + src/hb-ot-layout-gsubgpos.hh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 96c969c82046560859df5cdebddb91d0488c6919 +Author: Behdad Esfahbod +Date: Wed Jan 12 15:06:40 2022 -0700 + + Preserve glyph props + + src/hb-ot-layout-gsubgpos.hh | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 0b2c514fb48b26e2c8fc915b3702ba1b2c8b2b5e +Author: Behdad Esfahbod +Date: Wed Jan 12 11:20:58 2022 -0700 + + More macro cleanup + + src/hb-ot-shape-complex-arabic-win1256.hh | 24 +++++++++++++++++------- + 1 file changed, 17 insertions(+), 7 deletions(-) + +commit 0a42f46ce974bcc01b935f400ee2cdd9e3363e30 +Author: Behdad Esfahbod +Date: Wed Jan 12 11:16:02 2022 -0700 + + Fix compiler warning + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3364 + + src/hb-ot-shape-complex-arabic-win1256.hh | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 72f0b24ee3b138bc955430c5a7d71de669b219f0 +Author: Matthias Clasen +Date: Wed Jan 12 13:08:02 2022 -0500 + + docs: Clarify variation apis (#3363) + + Make it explicit that the variations setters + replace all existing variations, even if + not all axes are included in the provided + values. + + Co-authored-by: Matthias Clasen + + src/hb-font.cc | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit befe3b5d5ac4a88ffb880ca16ad1f3fbb225ae28 +Author: Matthias Clasen +Date: Wed Jan 12 13:07:25 2022 -0500 + + color: Document empty returns (#3362) + + Document that the SVG and PNG getters return + the singleton empty blob if the glyph has no + color. + + Fixes: #1413 + + Co-authored-by: Matthias Clasen + + src/hb-ot-color.cc | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 13643934aa9c957831ae76dfad3a2a00ee85c42a +Author: Behdad Esfahbod +Date: Wed Jan 12 10:54:28 2022 -0700 + + Clean up HB_NO_SETLOCALE + + https://github.com/harfbuzz/harfbuzz/pull/3358#pullrequestreview-850500143 + + src/hb-common.cc | 47 +++++++++++++++++++++++++++-------------------- + 1 file changed, 27 insertions(+), 20 deletions(-) + +commit 53847dba92d59b0c457bd1b468751d20cbbe105b +Author: Behdad Esfahbod +Date: Mon Jan 10 15:04:47 2022 -0700 + + [algs] Call std::hash from hb_hash() + + src/hb-algs.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 74811c501d7876dc72d1ee821c1ce26cdaa0750e +Author: Behdad Esfahbod +Date: Mon Jan 10 14:57:38 2022 -0700 + + [map] Map == / != use correct types + + src/hb-map.hh | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +commit b8c2c1ab3778755a23ea449ba334959693388687 +Author: Timo Suoranta +Date: Tue Jan 11 13:14:44 2022 +0100 + + Use freetype from CMake target when present (#3361) + + Add check for Freetype CMake target. If it is found: + - enable HB_HAVE_FREETYPE option + - add HAVE_FREETYPE=1 define + - bypass finding Freetype as cmake package + - add Freetype CMake target as dependency to harfbuzz + + CMakeLists.txt | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit ce7f19a2ccb04181b015005f9aa12381da606c63 +Author: Behdad Esfahbod +Date: Mon Jan 10 14:40:27 2022 -0700 + + Revert "[map] Actually use k/v invalid types for declaration!" + + This reverts commit 6f559346ac70fd188cb22d41f4b03ec227feee25. + + Err. My bad. + + src/hb-map.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6f559346ac70fd188cb22d41f4b03ec227feee25 +Author: Behdad Esfahbod +Date: Mon Jan 10 14:29:36 2022 -0700 + + [map] Actually use k/v invalid types for declaration! + + src/hb-map.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a45a630539edb1d8554608e76a7a03160ecbd3a8 +Author: Behdad Esfahbod +Date: Sat Jan 8 15:47:33 2022 -0800 + + Fix unintentional locale dependency (#3358) + + Avoid unintentional locale dependency + + hb_variation_to_string uses sprintf with %g, which will produce + a locale-dependent decimal point, which is not desired here. + + The output is supposed to be compatible with CSS syntax, and + that always uses '.' for the decimal point. + + Fix this by changing the per-thread locale to "C" around sprintf call. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3355 + Fixes https://github.com/harfbuzz/harfbuzz/pull/3357 + Fixes https://github.com/harfbuzz/harfbuzz/pull/3358 + + Co-authored-by: Matthias Clasen + + configure.ac | 4 ++-- + meson.build | 3 +++ + src/hb-common.cc | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- + 3 files changed, 66 insertions(+), 5 deletions(-) + +commit d70825a6d18a4240876a75f107ef566f61bddf58 +Author: Matthias Clasen +Date: Sun Jan 2 11:28:28 2022 -0500 + + docs: Add some details about coordinates + + Mention what the effective values are when + coordinates have not been set. + + src/hb-font.cc | 29 ++++++++++++++++++----------- + 1 file changed, 18 insertions(+), 11 deletions(-) + +commit 0a5c1c970581fb8639d45a6f5a12443af89b7e12 +Author: Behdad Esfahbod +Date: Tue Jan 4 14:18:38 2022 -0700 + + [failing-alloc] Make it compile as C++ as well + + src/failing-alloc.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit bea5369c6d8f138c1d3113a1b60e1c6ea097a6e3 +Author: Behdad Esfahbod +Date: Tue Jan 4 10:52:05 2022 -0700 + + [buffer] Rename swap_buffers() to sync() + + src/gen-vowel-constraints.py | 2 +- + src/hb-aat-layout-common.hh | 2 +- + src/hb-buffer.cc | 6 +++--- + src/hb-buffer.hh | 2 +- + src/hb-ot-layout.cc | 2 +- + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape-complex-syllabic.cc | 2 +- + src/hb-ot-shape-complex-thai.cc | 2 +- + src/hb-ot-shape-complex-vowel-constraints.cc | 2 +- + src/hb-ot-shape-normalize.cc | 4 ++-- + src/hb-ot-shape.cc | 2 +- + 11 files changed, 14 insertions(+), 14 deletions(-) + +commit c5e5d5e0bcdeb9256b445fe6378bd503083d5204 +Merge: 165a6073f d1e7df5c3 +Author: Behdad Esfahbod +Date: Tue Jan 4 07:33:59 2022 -0700 + + Merge pull request #3353 from harfbuzz/buffer-create-similar + + Add `hb_buffer_create_similar()`; use it in util + +commit d1e7df5c3f214b0f199fc2aff3e5645281fc5caa +Author: Behdad Esfahbod +Date: Tue Jan 4 07:32:04 2022 -0700 + + [buffer] Add enter()/leave() pair around shape() + + src/hb-buffer.cc | 27 +++++++++++++++++++++++++++ + src/hb-buffer.hh | 13 +++++++++++-- + src/hb-ot-shape.cc | 19 ++----------------- + 3 files changed, 40 insertions(+), 19 deletions(-) + +commit 43be5ba442548528c89ad31c0927cc68515b736e +Author: Behdad Esfahbod +Date: Tue Jan 4 07:26:53 2022 -0700 + + [buffer] Group shape-related members together + + src/hb-buffer.cc | 5 ++--- + src/hb-buffer.hh | 14 ++++++-------- + src/hb-ot-layout.hh | 5 ++--- + src/hb-ot-shape.cc | 2 ++ + 4 files changed, 12 insertions(+), 14 deletions(-) + +commit 52f5711ed0354b0c5d396255886f03048997bbd9 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:57:42 2022 -0700 + + [buffer] Add hb_buffer_create_similar() + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1555 + + docs/harfbuzz-sections.txt | 1 + + src/hb-buffer.cc | 73 ++++++++++++++++++++++++++++++++++------------ + src/hb-buffer.h | 12 ++++++-- + src/hb-buffer.hh | 1 + + util/shape-options.hh | 13 ++------- + 5 files changed, 68 insertions(+), 32 deletions(-) + +commit f643b81ffc4d4dd6a100f83ff7bc618dfb7f5b69 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:45:31 2022 -0700 + + [buffer] Clean up internal state bookkeeping + + hb_buffer_reset() was NOT resetting cluster_level. Ouch! Fix that. + + Part of https://github.com/harfbuzz/harfbuzz/issues/1555 + + src/hb-buffer.cc | 15 ++++++++------- + src/hb-buffer.hh | 25 ++++++++++++++++++------- + 2 files changed, 26 insertions(+), 14 deletions(-) + +commit d0c3515ce423f689123f96111b105e7e4141a6b9 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:26:41 2022 -0700 + + [util] Copy unicode_funcs in copy_buffer_properties() + + Part of https://github.com/harfbuzz/harfbuzz/issues/1555 + + util/shape-options.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 34f5b855aa39cc5ac59fb7cd3e9e3a48507e1a08 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:25:06 2022 -0700 + + [util] Simplify copy_buffer_properties() + + Now that hb_buffer_append() overlays segment_properties we can do this. + + Part of https://github.com/harfbuzz/harfbuzz/issues/1555 + + util/shape-options.hh | 3 --- + 1 file changed, 3 deletions(-) + +commit 101d07efd9a11b1f215b913205d2560ee0df9135 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:24:07 2022 -0700 + + [util] Move copy_buffer_properties() out of loop + + Now that hb_buffer_append() overlays properties, we can do this. + + Part of https://github.com/harfbuzz/harfbuzz/issues/1555 + + util/shape-options.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 36e9f467a43d18f5b040e2bd47c87f271916a73f +Author: Behdad Esfahbod +Date: Mon Jan 3 11:23:14 2022 -0700 + + [buffer] Overlay segment-properties in hb_buffer_append() + + Part of https://github.com/harfbuzz/harfbuzz/issues/1555 + + src/hb-buffer.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 6a66992842dea6e3ad9c717a3fa047341ab50af6 +Author: Behdad Esfahbod +Date: Mon Jan 3 11:21:29 2022 -0700 + + Add hb_segment_properties_overlay() + + New API: + + hb_segment_properties_overlay() + + docs/harfbuzz-sections.txt | 1 + + src/hb-buffer.cc | 39 +++++++++++++++++++++++++++++++++++++++ + src/hb-buffer.h | 3 +++ + 3 files changed, 43 insertions(+) + +commit 165a6073faf347bb2d622472f1f104b7865398e5 +Merge: a3265e1e0 3fc2e654c +Author: Behdad Esfahbod +Date: Sun Jan 2 12:02:20 2022 -0700 + + Merge pull request #3338 from harfbuzz/slant + + [font] Add public API for synthetic slant + +commit 3fc2e654c0eca9566b184fd64c682114f99b2093 +Author: Behdad Esfahbod +Date: Sun Jan 2 11:56:45 2022 -0700 + + [metrics] Fix slant calc + + src/hb-ot-metrics.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a7751277e9e8982093928e762ac9eecc42820444 +Author: Behdad Esfahbod +Date: Sun Jan 2 11:50:02 2022 -0700 + + [docs] Add hb_font_[gs]et_synthetic_slant() + + docs/harfbuzz-sections.txt | 2 ++ + src/hb-font.cc | 14 ++++++++++---- + 2 files changed, 12 insertions(+), 4 deletions(-) + +commit 4ab94443bbe80a354daa2d94e496c13f096501ad +Author: Behdad Esfahbod +Date: Sun Jan 2 11:26:45 2022 -0700 + + [metrics] Ouch. Fix slant code + + src/hb-ot-metrics.cc | 27 ++++++++++++++++++++++----- + 1 file changed, 22 insertions(+), 5 deletions(-) + +commit f7d49d9c2b9899f9caeeff766714631918129d2c +Author: Behdad Esfahbod +Date: Sun Jan 2 11:16:33 2022 -0700 + + [metrics] Simplify + + src/hb-ot-metrics.cc | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit f1ba1f940f407efd192cb2d6bd4b7eee20aedf96 +Author: Behdad Esfahbod +Date: Sun Jan 2 10:58:25 2022 -0700 + + [metrics] Only scale caret rise/run if font is slanted + + src/hb-ot-metrics.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 45c2b6e384e3359a54f40e4b02df9fffe27b0def +Author: Behdad Esfahbod +Date: Sun Jan 2 10:55:11 2022 -0700 + + [metrics] Harden math + + src/hb-ot-metrics.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fa008a021fbd3c432499ac9316fa75a7f5a4ea02 +Author: Behdad Esfahbod +Date: Sun Jan 2 10:46:38 2022 -0700 + + [metrics] Implement synthetic slant for caret slope + + Part of https://github.com/harfbuzz/harfbuzz/pull/3338 + + src/hb-ot-metrics.cc | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit fc329f665fab56c2983ababf2ebc71088b2ecfcc +Author: Behdad Esfahbod +Date: Sun Jan 2 10:41:41 2022 -0700 + + [metrics] Scale up horizontal caret rise/run + + Eg. if rise/run are 1/0, we now return upem/0. This is equivalent. + + Part of https://github.com/harfbuzz/harfbuzz/pull/3338 + + src/hb-ot-metrics.cc | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +commit a3265e1e07f8d00e5dbd5ae89e0b500b1469575a +Author: Behdad Esfahbod +Date: Sun Jan 2 10:02:41 2022 -0700 + + Typo + + docs/harfbuzz-sections.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0df83f52a126aa1c89e4dd8478f3a535805bd6ac +Author: Behdad Esfahbod +Date: Sun Jan 2 08:01:11 2022 -0700 + + Fix test + + src/gen-def.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 6356da88ee4b0926b4fb2bc3b70352633124d05f +Author: Behdad Esfahbod +Date: Sun Jan 2 07:55:56 2022 -0700 + + [docs] Update + + docs/harfbuzz-sections.txt | 1 + + 1 file changed, 1 insertion(+) + +commit 5b87c30d6b192092008e578fb5f3148fb96ab09a +Author: Behdad Esfahbod +Date: Sun Jan 2 07:53:45 2022 -0700 + + [font] Mark hb_font_get_var_coords_design() non-experimental + + Any remaining issue with the API will address later by deprecating it. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1865 + + src/hb-font.cc | 4 +--- + src/hb-font.h | 2 -- + 2 files changed, 1 insertion(+), 5 deletions(-) + +commit 2d42fc9fbb9ddb7c9bd53b06a7ef70ef6f459399 +Author: Behdad Esfahbod +Date: Sun Jan 2 07:45:10 2022 -0700 + + [font] Load named-instance if face index top bits are set + + This matches FreeType behavior. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3348 + + src/hb-face.cc | 4 ++++ + src/hb-font.cc | 10 ++++++++++ + 2 files changed, 14 insertions(+) + +commit da7dba0002616eab73b7dd1621274992ce6eb2aa +Author: Behdad Esfahbod +Date: Sat Jan 1 11:20:20 2022 -0700 + + [face] Clarify face_index handling + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3347 + + src/hb-face.cc | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +commit 6da4b80e5f303bf40c295c4888ba3dc48bd28f4b +Author: Behdad Esfahbod +Date: Wed Dec 22 21:51:03 2021 -0700 + + [hb-ot-var] Specify normalized 2.14 docs + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3345 + + src/hb-ot-var.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 1b51be57dcd3f964ab7503b5261294e673892991 +Author: Behdad Esfahbod +Date: Wed Dec 22 21:43:48 2021 -0700 + + [hb-ot-var] Actually set in/out argument + + Fixes https://github.com/harfbuzz/harfbuzz/pull/3344 + + src/hb-ot-var-fvar-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 06ee40213cb98fe1589c1712d80380c19d2bbc50 +Author: Behdad Esfahbod +Date: Tue Dec 21 14:14:09 2021 -0700 + + Use invisible-glyph for spaces if font has no ASCII space + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3340 + + Should add tests ideally. + + src/hb-ot-shape-fallback.cc | 9 +++++++++ + src/hb-ot-shape-normalize.cc | 3 ++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +commit 602bd39680e6c337309516d6b5086834a35a7609 +Author: Behdad Esfahbod +Date: Sun Dec 19 21:40:25 2021 -0800 + + [style] Adjust font slant angle for synthetic slant value + + Part of https://github.com/harfbuzz/harfbuzz/pull/3338 + + src/hb-style.cc | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit ff697debd8e55d8858a2f199ae06f7a9f33a5991 +Author: Behdad Esfahbod +Date: Sun Dec 19 07:25:37 2021 -0700 + + [GPOS] Apply font synthetic slant + + Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196 + + src/hb-font.cc | 1 + + src/hb-font.hh | 2 ++ + src/hb-ot-layout-gpos-table.hh | 11 +++++++++-- + 3 files changed, 12 insertions(+), 2 deletions(-) + +commit 810f5d71c71ab59f4b1257e18b81551de49f3ee5 +Author: Behdad Esfahbod +Date: Sat Dec 18 15:12:26 2021 -0700 + + [font] Add public API for slant + + Not hooked up internally to anything. + + New API: + + + hb_font_set_synthetic_slant() + + hb_font_get_synthetic_slant() + + Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196 + + src/hb-font.cc | 41 ++++++++++++++++++++++++++++++++++++++++- + src/hb-font.h | 6 ++++++ + src/hb-font.hh | 1 + + 3 files changed, 47 insertions(+), 1 deletion(-) + +commit 067f90a82087a5feb1cf76625c54c60a10946fe1 +Author: Garret Rieger +Date: Tue Dec 14 16:24:38 2021 -0800 + + [subset] Fix for fuzzer timeout. + + Fixes https://oss-fuzz.com/testcase-detail/5549945449480192 + + In prune_langsys: move LangSys visited check up before any work is done for a LangSys. In this particular case the compare() method is responsible for the majority of the time spent and wasn't being guarded with a visisted check. + + src/hb-ot-layout-common.hh | 10 +++++++--- + ...estcase-minimized-hb-subset-fuzzer-5549945449480192 | Bin 0 -> 562733 bytes + 2 files changed, 7 insertions(+), 3 deletions(-) + +commit c4573c2ec793dc9a124654f0d0d349df7787fa45 +Author: Garret Rieger +Date: Tue Dec 14 14:49:15 2021 -0800 + + [repacker] don't infinite loop if visited or roots is in error. + + Fixes https://oss-fuzz.com/testcase-detail/5205038086094848 + + src/hb-repacker.hh | 7 +++++++ + ...estcase-minimized-hb-subset-fuzzer-5205038086094848 | Bin 0 -> 129192 bytes + 2 files changed, 7 insertions(+) + +commit 449c4296a11a8b3d3882d4a4d6705281f5ff52e5 +Author: Khaled Hosny +Date: Sun Dec 12 07:50:06 2021 +0200 + + [ci] Try harder to fix this randomly failing job + + The default --num-processes is the number of CPUs multiplied by 5, + which seems to give this VM a hard-time. Even the number of CPUs is too + much, so lets use half of that (I’m adding one just in case the division + gives zero). + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 52a33a15a409550fdc6496cfcb16168b371e2aaf +Author: Khaled Hosny +Date: Sun Dec 12 07:43:58 2021 +0200 + + [ci] Try to fix the randomly failing valgrind job + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit be91d2917d9860326cb5fd1d03ffe1042a72f6d3 +Author: Khaled Hosny +Date: Sun Dec 12 04:45:54 2021 +0200 + + 3.2.0 + + NEWS | 16 ++++++++++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 6 +++--- + 4 files changed, 21 insertions(+), 5 deletions(-) + +commit 77507a1d8d872d8cd4f62b807e933cd3e2cdb110 +Author: Garret Rieger +Date: Fri Dec 10 14:10:04 2021 -0800 + + [subset] Don't double count visit lookups in closure_lookups + + Each recursed lookup was getting counted once in closure_lookups() and then again in hb_closure_lookups_context_t::recurse. + + src/hb-ot-layout-gsubgpos.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit d67025705f0c4993cdd756bc47d942e14ceed0a1 +Author: Garret Rieger +Date: Fri Dec 10 13:52:05 2021 -0800 + + [subset] reset the visited lookup count before each closure iteration. + + src/hb-ot-layout-gsubgpos.hh | 3 +++ + src/hb-ot-layout.cc | 1 + + 2 files changed, 4 insertions(+) + +commit 23159084b43c1ce429d9e98035bf845919fd8a89 +Author: Behdad Esfahbod +Date: Fri Dec 10 15:00:16 2021 -0700 + + [morx] Reverse graphemese, not whole buffer + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3314 + Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315 + + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-ot-layout.hh | 6 ++++++ + src/hb-ot-shape.cc | 15 +-------------- + test/shape/data/in-house/tests/macos.tests | 3 +++ + 4 files changed, 12 insertions(+), 16 deletions(-) + +commit 5b995526f7d0d1e688f68005b410a93cf1685544 +Author: Behdad Esfahbod +Date: Fri Dec 10 14:59:56 2021 -0700 + + [buffer] Fix reverse_group() to reverse() at the end + + src/hb-buffer.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 21c4fc1011854547edf564573fdbec4687e76e04 +Author: Behdad Esfahbod +Date: Fri Dec 10 13:02:43 2021 -0700 + + [buffer] Add optional merge_clusters arg to reverse_groups() + + src/hb-buffer.hh | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit e949e512181d04da1add14f6133a6d68f7a60fc2 +Author: Behdad Esfahbod +Date: Fri Dec 10 12:58:27 2021 -0700 + + [ot-layout] Port foreach_grapheme to buffer foreach_group + + src/hb-ot-layout.hh | 22 ++++++---------------- + 1 file changed, 6 insertions(+), 16 deletions(-) + +commit eb96e69d18aa45a623c05bf69e562b3918724f6f +Author: Behdad Esfahbod +Date: Fri Dec 10 12:55:29 2021 -0700 + + [buffer] Add foreach_group() + + src/hb-buffer.hh | 40 ++++++++++++++++++++-------------------- + 1 file changed, 20 insertions(+), 20 deletions(-) + +commit 1b78e04c78338266c200226bccb21188355046ca +Author: Behdad Esfahbod +Date: Fri Dec 10 12:45:43 2021 -0700 + + [buffer] Add ::reverse_groups() + + src/hb-buffer.cc | 23 ----------------------- + src/hb-buffer.hh | 26 +++++++++++++++++++++++++- + 2 files changed, 25 insertions(+), 24 deletions(-) + +commit 4cd96e73e40acfa65b7d0726a7186bf31c169b2a +Author: Behdad Esfahbod +Date: Fri Dec 10 12:33:21 2021 -0700 + + [buffer] Inline revers_range() / reverse() + + src/hb-buffer.cc | 23 ----------------------- + src/hb-buffer.hh | 10 ++++++++-- + 2 files changed, 8 insertions(+), 25 deletions(-) + +commit 5914acb3cbb3634e9e94e0e571d96b806b7ecacf +Author: Garret Rieger +Date: Fri Dec 10 10:05:47 2021 -0800 + + [repacker] Clear distance and position cache when assigning a new space. + + A change in space will effect the distance assigned to the node and any of it's children so clear the distance cache. + + src/hb-repacker.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 706014f69dc2cde140e17faf32d32a1cbd5d0000 +Author: Qunxin Liu +Date: Wed Dec 1 20:20:12 2021 -0800 + + [subset] (Chain)ContextSubst glyph_closure fix + + - When pos_glyphs is empty, use current full glyphs set as input for + subsequent recursive closure process + - Also increase max_lookup_visit_count to 35000 cause a real font file hit + previous limit 20000 and some lookups are dropped unexpectedly + + src/hb-ot-layout-common.hh | 6 +++--- + src/hb-ot-layout-gsubgpos.hh | 24 +++++++++++++-------- + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11372 -> 19032 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17640 -> 25608 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3512 -> 8040 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12360 -> 22776 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19340 -> 27772 bytes + ...taliqUrdu-Bold.default.retain-all-codepoint.ttf | Bin 0 -> 543364 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18208 -> 25868 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23704 -> 31676 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9160 -> 13688 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18164 -> 28580 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25392 -> 33824 bytes + ...qUrdu-Bold.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 543364 bytes + test/subset/data/fonts/NotoNastaliqUrdu-Bold.ttf | Bin 459600 -> 589224 bytes + .../data/tests/layout.notonastaliqurdu.tests | 1 + + 16 files changed, 19 insertions(+), 12 deletions(-) + +commit 441877f56aa09bc848a8860007232a7be5e179d9 +Author: Garret Rieger +Date: Thu Dec 9 16:38:05 2021 -0800 + + [repacker] add test case for using max priority to resolve an overflow. + + src/test-repacker.cc | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 73 insertions(+) + +commit be2c488e5d20db18e3ee82dee6a22056ed526add +Author: Garret Rieger +Date: Thu Dec 9 15:44:06 2021 -0800 + + [repacker] Improve vertex priority packing. + + Previous priority implementation would move a node further back within it's layer, but at max priority was unable to move any further up than that. This updates the implementation to have 3 priority levels: + 1. Distance is reduced by half of table size. + 2. Distance is reduced by full table size (move to beginning of the layer). + 3. Distance is set to 0. Vertex will be packed as soon as possible. + + Also makes the iterative resolutions aware of max priority, so it won't keep trying to raise priority beyond the maximum. + + src/hb-repacker.hh | 38 +++++++++++++++++++++++++++++--------- + 1 file changed, 29 insertions(+), 9 deletions(-) + +commit 2404617a605cd8c419fe67afa012ddc90a24c685 +Author: David Corbett +Date: Wed Dec 8 21:10:22 2021 -0500 + + Update language system tag registry to OT 1.9 + + src/gen-tag-table.py | 11 +++++++++-- + src/hb-ot-tag-table.hh | 14 +++++++++++++- + 2 files changed, 22 insertions(+), 3 deletions(-) + +commit 002a1f70b81d56b882bd5a68ebdc22c015e88f7f +Author: Behdad Esfahbod +Date: Wed Dec 8 10:45:30 2021 -0800 + + [ft] Disable vertical funcs if HB_NO_VERTICAL + + src/hb-ft.cc | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit ef14cad736e499f42281e09d3835ad667245e4be +Author: Behdad Esfahbod +Date: Wed Dec 8 10:43:52 2021 -0800 + + [GPOS] Disable vertical advance if HB_NO_VERTICAL + + src/hb-ot-layout-gpos-table.hh | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 6ed22de1279f7e68666bd9f024a80a4a48a1a467 +Author: Behdad Esfahbod +Date: Wed Dec 8 10:40:40 2021 -0800 + + [CONFIG] Fix HB_NO_VERTICAL build without HB_TINY + + src/hb-ot-glyf-table.hh | 12 ++++++++++-- + src/hb-ot-metrics.cc | 2 ++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +commit 53eebc7cd2680a41c3e7c7ac363b7ecc1355d655 +Author: Behdad Esfahbod +Date: Wed Dec 8 08:32:41 2021 -0800 + + [CONFIG] Add HB_NO_VERTICAL + + src/hb-ot-face-table-list.hh | 2 ++ + src/hb-ot-font.cc | 18 +++++++++++++++--- + src/hb-ot-glyf-table.hh | 25 ++++++++++++++++++++++--- + src/hb-ot-hmtx-table.hh | 9 ++++++++- + src/hb-ot-metrics.cc | 5 +++++ + src/hb-ot-shape.cc | 4 ++++ + 6 files changed, 56 insertions(+), 7 deletions(-) + +commit 9bc5d2903a6c1669a3bd8aa47f42d34c6bbcf763 +Author: Behdad Esfahbod +Date: Wed Dec 8 08:16:17 2021 -0800 + + [TINY] Don't disable VORG table in any config profile + + Is needed for vertical layout of CFF fonts. + + Fixes https://github.com/harfbuzz/harfbuzz/discussions/3294#discussioncomment-1770313 + + src/hb-ot-face-table-list.hh | 2 +- + src/hb-ot-font.cc | 2 -- + 2 files changed, 1 insertion(+), 3 deletions(-) + +commit 3e4a25098df348c459f57829d84c4b0ebb3efc97 +Author: Garret Rieger +Date: Mon Dec 6 16:00:15 2021 -0800 + + [repacker] add a maximum number of roots that can be moved in one iteration. + + Set to half of the roots in a space. This prevents the repacker from moving all roots in a space to a new space if their are overflows in every root. + + src/hb-repacker.hh | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 02b12d7965710de93fa4b42617113e66ddf19add +Author: Garret Rieger +Date: Mon Dec 6 15:23:35 2021 -0800 + + [repacker] Move all overflowing roots to a new space simultaneously. + + src/hb-repacker.hh | 69 +++++++++++++++++++++++++++++++++++++----------------- + 1 file changed, 47 insertions(+), 22 deletions(-) + +commit fa966bcc29e84a579fc32af7663a50bfe7814b1a +Author: Garret Rieger +Date: Mon Dec 6 12:54:19 2021 -0800 + + [repacker] create repacker output buffer after final length is known. + + Don't rely on a buffer provided by the caller, as it may not be large enough. + + src/hb-repacker.hh | 60 ++++++++++++++++++++++++++---------- + src/hb-subset.cc | 18 +++++------ + src/test-repacker.cc | 87 ++++++++++++++++++---------------------------------- + 3 files changed, 80 insertions(+), 85 deletions(-) + +commit 51655a078e599c532b739c1e58556d873dabf6b0 +Author: Qunxin Liu +Date: Sun Dec 5 19:27:57 2021 -0800 + + [subset] COLR : only include glyphs after COLR closure + + src/hb-ot-color-colr-table.hh | 18 ++++++++++++------ + src/hb-subset-plan.cc | 4 +++- + src/hb-subset-plan.hh | 1 + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../colr_glyphs/BungeeColor-Regular.default.41.ttf | Bin 0 -> 1664 bytes + .../BungeeColor-Regular.drop-hints-retain-gids.41.ttf | Bin 0 -> 3384 bytes + .../colr_glyphs/BungeeColor-Regular.drop-hints.41.ttf | Bin 0 -> 1656 bytes + .../BungeeColor-Regular.retain-gids.41.ttf | Bin 0 -> 3392 bytes + test/subset/data/fonts/BungeeColor-Regular.ttf | Bin 0 -> 75348 bytes + test/subset/data/tests/colr_glyphs.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 12 files changed, 30 insertions(+), 7 deletions(-) + +commit 70f8c57e5c72697bdd2dc84b3573e1e90a94d681 +Author: Behdad Esfahbod +Date: Sat Dec 4 19:49:23 2021 -0800 + + [buffer] Rename find_min_cluster + + src/hb-buffer.cc | 7 ++++--- + src/hb-buffer.hh | 8 ++++---- + 2 files changed, 8 insertions(+), 7 deletions(-) + +commit 94d43c008ab4ec2281b693af1f4014b1ebce1b14 +Author: Behdad Esfahbod +Date: Sat Dec 4 16:56:39 2021 -0800 + + [buffer] Merge and rename clear_glyph_flags() + + src/hb-buffer.hh | 5 ++--- + src/hb-coretext.cc | 2 +- + src/hb-directwrite.cc | 2 +- + src/hb-fallback-shape.cc | 2 +- + src/hb-graphite2.cc | 2 +- + src/hb-ot-layout-gsub-table.hh | 2 +- + src/hb-uniscribe.cc | 2 +- + 7 files changed, 8 insertions(+), 9 deletions(-) + +commit b95d252fabca73ded3c7529ba726499ec6dcda5d +Author: Behdad Esfahbod +Date: Fri Dec 3 11:49:55 2021 -0700 + + [CONFIG] Add HB_CONFIG_OVERRIDE_H to simplify config overrides + + CONFIG.md | 15 +++++++++++---- + src/hb-config.hh | 7 +++++-- + 2 files changed, 16 insertions(+), 6 deletions(-) + +commit 74b46b29e7ebb8521fdbf92325a3798083381237 +Author: Qunxin Liu +Date: Thu Dec 2 19:50:16 2021 -0800 + + [subset] MATH: don't serialize coverage table when iterator is empty + + when iterator is empty, just set coverage offset to 0. + serialize() in coverage will at lease write out a 16-bit format header. + + src/hb-ot-math-table.hh | 10 +++++++--- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../Caudex-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 417604 bytes + ...Caudex-Regular.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 436712 bytes + ...r.keep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 417604 bytes + ...dex-Regular.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 417780 bytes + ...Caudex-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 417620 bytes + test/subset/data/fonts/Caudex-Regular.ttf | Bin 0 -> 466324 bytes + test/subset/data/tests/math_coverage_offset.tests | 12 ++++++++++++ + test/subset/meson.build | 1 + + 11 files changed, 22 insertions(+), 3 deletions(-) + +commit 1d9ef3a75a445a52d084e805d4abdbaaa4c782d7 +Author: Garret Rieger +Date: Wed Dec 1 10:30:27 2021 -0800 + + [subset] Actually fix end_cp unitialized warning. + + src/hb-ot-cmap-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d8635dfe5a06d1112ea563dcef788097b7b124af +Author: Garret Rieger +Date: Wed Dec 1 10:14:10 2021 -0800 + + [subset] Fix warning about uninitialized use of end_cp. + + src/hb-ot-cmap-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6c81cd9543f35cbc54e938b402355990a3b0859c +Author: Khaled Hosny +Date: Wed Dec 1 19:29:34 2021 +0200 + + [tests] Add tests for platform shapers + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3115 + + test/shape/data/in-house/meson.build | 14 +++++++++++++- + test/shape/data/in-house/tests/coretext.tests | 1 + + test/shape/data/in-house/tests/directwrite.tests | 1 + + test/shape/data/in-house/tests/uniscribe.tests | 1 + + test/shape/meson.build | 11 +++++++++++ + 5 files changed, 27 insertions(+), 1 deletion(-) + +commit 7608b191672972efdc69ce49c22001346f5470c0 +Author: Khaled Hosny +Date: Wed Dec 1 18:57:21 2021 +0200 + + [directwrite] Set unsafe to break flag + + Like the rest of platform shapers. Otherwise hb-shape --verify goes + crazy. + + src/hb-directwrite.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 361a438658dcddea29d7c8b9c68bf2bc88109bde +Author: Khaled Hosny +Date: Wed Dec 1 03:16:46 2021 +0200 + + Revert "Revert "[hb-directwrite] Don't load dwrit.dll dynamically"" + + This reverts commit ecbe224743c205c99aa459b27e7fb241cc4b1dc5. + + It was causing directwrite shaper to crash in MSVC builds. + + src/hb-directwrite.cc | 36 ++---------------------------------- + 1 file changed, 2 insertions(+), 34 deletions(-) + +commit 549e2b7038282e34f83b54b36fabf02de0cbfcae +Author: Khaled Hosny +Date: Wed Dec 1 03:16:26 2021 +0200 + + Revert "Remove direct link to dwrite from meson scripts" + + This reverts commit 6ea6c581edb3cecf1b4b42854e37b40d6d067cd3. + + meson.build | 7 ++++++- + src/meson.build | 1 + + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 071aea42c28e84e89b550de03cbd0094382f634c +Author: Garret Rieger +Date: Tue Nov 30 16:16:06 2021 -0800 + + [iter] add specialized implementation for hb_concat forward when iterators are not random access. + + src/hb-iter.hh | 20 +++++++++++++++----- + src/test-iter.cc | 19 +++++++++++++++++++ + 2 files changed, 34 insertions(+), 5 deletions(-) + +commit 2e935514d9790f6f8a7f6639c9564b3d7237d6d3 +Author: Garret Rieger +Date: Tue Nov 30 16:02:05 2021 -0800 + + [iter] fix forward implementation in hb_concat(). + + Add test coverage for forward. + + src/hb-iter.hh | 6 ++++-- + src/test-iter.cc | 22 ++++++++++++++++++++++ + 2 files changed, 26 insertions(+), 2 deletions(-) + +commit 39e76af19ed6ab798d4671ff3e7a4b71e2abe6cf +Author: Garret Rieger +Date: Tue Nov 30 15:25:40 2021 -0800 + + [subset] add all_links () to object_t. + + Helper to provide easy access to concatenated real and virtual links iterator. + + src/hb-repacker.hh | 44 +++++++++++++++----------------------------- + src/hb-serialize.hh | 5 +++++ + 2 files changed, 20 insertions(+), 29 deletions(-) + +commit 9121ed0cecab2296ee2a18042ed89c0ce95dbbaa +Author: Garret Rieger +Date: Tue Nov 30 13:45:22 2021 -0800 + + [subset] Improve sharing of Ligature subtables. + + Ligature subtables use virtual links to enforce an ordering constraint between the subtables and the coverage table. Unfortunately this has the sideeffect of prevent the subtables from being shared by another Ligature with a different coverage table since object equality compares all links real and virtual. This change makes virtual links stored separately from real links and updates the equality check to only check real links. If an object is de-duped any virtual links it has are merged into the object that replaces it. + + src/hb-repacker.hh | 84 +++++++----- + src/hb-serialize.hh | 50 ++++--- + src/test-repacker.cc | 150 +++++++++++++-------- + ...ic-Regular.layout-test.retain-all-codepoint.ttf | Bin 46544 -> 46524 bytes + ...Howrah-Regular.default.retain-all-codepoint.ttf | Bin 174024 -> 173756 bytes + ...rah-Regular.drop-hints.retain-all-codepoint.ttf | Bin 99288 -> 99020 bytes + ...ah-Regular.retain-gids.retain-all-codepoint.ttf | Bin 174324 -> 174056 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17732 -> 17640 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19432 -> 19340 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23792 -> 23704 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25484 -> 25392 bytes + ...hnadevaraya-Regular.default.c30,c36,c40,c4d.ttf | Bin 10860 -> 10848 bytes + ...varaya-Regular.default.retain-all-codepoint.ttf | Bin 572812 -> 572104 bytes + ...evaraya-Regular.glyph-names.c30,c36,c40,c4d.ttf | Bin 11292 -> 11280 bytes + ...ya-Regular.glyph-names.retain-all-codepoint.ttf | Bin 608460 -> 607752 bytes + ...raya-Regular.notdef-outline.c30,c36,c40,c4d.ttf | Bin 10940 -> 10928 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 572892 -> 572184 bytes + ...evaraya-Regular.retain-gids.c30,c36,c40,c4d.ttf | Bin 16880 -> 16868 bytes + ...ya-Regular.retain-gids.retain-all-codepoint.ttf | Bin 572824 -> 572116 bytes + 19 files changed, 181 insertions(+), 103 deletions(-) + +commit ca227411102b615edb40a78d2355d2f6cf5291c5 +Author: Garret Rieger +Date: Tue Nov 30 12:53:15 2021 -0800 + + [iter] add hb_concat (a, b). + + Iterates over a, and then over b. + + src/hb-iter.hh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/test-iter.cc | 33 +++++++++++++++++++++++++ + 2 files changed, 106 insertions(+) + +commit 95329081c2c6e7f763b466ea3cfc9630ddb23dcf +Author: Garret Rieger +Date: Fri Nov 26 16:18:42 2021 -0800 + + [subset] further optimize cmap4 packing. + + src/hb-ot-cmap-table.hh | 48 +++++++++++++++------ + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222692 -> 222684 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 191568 -> 191560 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 191520 -> 191512 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222692 -> 222684 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 229684 -> 229676 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 223388 -> 223380 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 220884 -> 220876 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 222432 -> 222424 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222692 -> 222684 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222692 -> 222684 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 222692 -> 222684 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 223288 -> 223280 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222740 -> 222732 bytes + ...tu-Regular.glyph-names.retain-all-codepoint.ttf | Bin 280064 -> 280056 bytes + ...traLightItalic.default.retain-all-codepoint.ttf | Bin 134364 -> 134344 bytes + ...ightItalic.glyph-names.retain-all-codepoint.ttf | Bin 145640 -> 145620 bytes + ...tItalic.notdef-outline.retain-all-codepoint.ttf | Bin 134492 -> 134472 bytes + ...ns-BlackItalic.default.retain-all-codepoint.ttf | Bin 120040 -> 120020 bytes + ...lackItalic.glyph-names.retain-all-codepoint.ttf | Bin 132284 -> 132264 bytes + ...kItalic.notdef-outline.retain-all-codepoint.ttf | Bin 120040 -> 120020 bytes + .../Tinos-Italic.default.retain-all-codepoint.ttf | Bin 410180 -> 410092 bytes + ...nos-Italic.glyph-names.retain-all-codepoint.ttf | Bin 435008 -> 434920 bytes + ...-Italic.notdef-outline.retain-all-codepoint.ttf | Bin 410180 -> 410092 bytes + ...nos-Italic.retain-gids.retain-all-codepoint.ttf | Bin 412556 -> 412468 bytes + ...wLatin-Regular.default.retain-all-codepoint.ttf | Bin 130076 -> 129952 bytes + ...in-Regular.layout-test.retain-all-codepoint.ttf | Bin 152052 -> 151928 bytes + ...in-Regular.retain-gids.retain-all-codepoint.ttf | Bin 133180 -> 133056 bytes + ...woMath-Regular.default.retain-all-codepoint.ttf | Bin 1033572 -> 1033528 bytes + ...th-Regular.glyph-names.retain-all-codepoint.ttf | Bin 1086348 -> 1086304 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 1033820 -> 1033776 bytes + ...th-Regular.retain-gids.retain-all-codepoint.ttf | Bin 1048752 -> 1048716 bytes + 32 files changed, 36 insertions(+), 12 deletions(-) + +commit 599143824c39b3cf37c3cb714364b58d45fc0d3d +Author: Garret Rieger +Date: Fri Nov 26 14:19:39 2021 -0800 + + [subset] Don't pad glyphs when using long loca. + + src/hb-ot-glyf-table.hh | 36 +++++++++++++-------- + ...tu-Regular.glyph-names.retain-all-codepoint.ttf | Bin 280296 -> 280064 bytes + ...Howrah-Regular.default.retain-all-codepoint.ttf | Bin 174308 -> 174024 bytes + ...ah-Regular.retain-gids.retain-all-codepoint.ttf | Bin 174608 -> 174324 bytes + .../Tinos-Italic.default.retain-all-codepoint.ttf | Bin 410932 -> 410180 bytes + ...nos-Italic.glyph-names.retain-all-codepoint.ttf | Bin 435760 -> 435008 bytes + ...-Italic.notdef-outline.retain-all-codepoint.ttf | Bin 410932 -> 410180 bytes + ...nos-Italic.retain-gids.retain-all-codepoint.ttf | Bin 413308 -> 412556 bytes + ...woMath-Regular.default.retain-all-codepoint.ttf | Bin 1035756 -> 1033572 bytes + ...th-Regular.glyph-names.retain-all-codepoint.ttf | Bin 1088532 -> 1086348 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 1036004 -> 1033820 bytes + ...th-Regular.retain-gids.retain-all-codepoint.ttf | Bin 1050936 -> 1048752 bytes + ...varaya-Regular.default.retain-all-codepoint.ttf | Bin 573428 -> 572812 bytes + ...ya-Regular.glyph-names.retain-all-codepoint.ttf | Bin 609076 -> 608460 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 573508 -> 572892 bytes + ...ya-Regular.retain-gids.retain-all-codepoint.ttf | Bin 573440 -> 572824 bytes + 16 files changed, 22 insertions(+), 14 deletions(-) + +commit d9660fd58a3ade1c8962e5cd3f7538a5b5189262 +Author: Garret Rieger +Date: Thu Nov 25 18:15:35 2021 -0800 + + [subset] Make cmap4 packing more optimal. + + The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual. + + src/hb-ot-cmap-table.hh | 246 ++++++++++++--------- + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222756 -> 222692 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 191632 -> 191568 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 191584 -> 191520 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222756 -> 222692 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 229748 -> 229684 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 223452 -> 223388 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 220948 -> 220884 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 222496 -> 222432 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222756 -> 222692 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222756 -> 222692 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 222756 -> 222692 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 223352 -> 223288 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222804 -> 222740 bytes + ...tu-Regular.glyph-names.retain-all-codepoint.ttf | Bin 281092 -> 280296 bytes + ...Gothic-Regular.default.retain-all-codepoint.ttf | Bin 44584 -> 44544 bytes + ...ic-Regular.layout-test.retain-all-codepoint.ttf | Bin 46584 -> 46544 bytes + ...ic-Regular.retain-gids.retain-all-codepoint.ttf | Bin 44592 -> 44552 bytes + ...traLightItalic.default.retain-all-codepoint.ttf | Bin 134520 -> 134364 bytes + ...ightItalic.glyph-names.retain-all-codepoint.ttf | Bin 145796 -> 145640 bytes + ...tItalic.notdef-outline.retain-all-codepoint.ttf | Bin 134648 -> 134492 bytes + ...ns-BlackItalic.default.retain-all-codepoint.ttf | Bin 120236 -> 120040 bytes + ...lackItalic.glyph-names.retain-all-codepoint.ttf | Bin 132480 -> 132284 bytes + ...kItalic.notdef-outline.retain-all-codepoint.ttf | Bin 120236 -> 120040 bytes + .../Tinos-Italic.default.retain-all-codepoint.ttf | Bin 412764 -> 410932 bytes + ...nos-Italic.glyph-names.retain-all-codepoint.ttf | Bin 437592 -> 435760 bytes + ...-Italic.notdef-outline.retain-all-codepoint.ttf | Bin 412764 -> 410932 bytes + ...nos-Italic.retain-gids.retain-all-codepoint.ttf | Bin 415140 -> 413308 bytes + ...wLatin-Regular.default.retain-all-codepoint.ttf | Bin 131672 -> 130076 bytes + ...in-Regular.layout-test.retain-all-codepoint.ttf | Bin 153648 -> 152052 bytes + ...in-Regular.retain-gids.retain-all-codepoint.ttf | Bin 134776 -> 133180 bytes + ...woMath-Regular.default.retain-all-codepoint.ttf | Bin 1038580 -> 1035756 bytes + ...th-Regular.glyph-names.retain-all-codepoint.ttf | Bin 1091356 -> 1088532 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 1038828 -> 1036004 bytes + ...th-Regular.retain-gids.retain-all-codepoint.ttf | Bin 1053656 -> 1050936 bytes + 35 files changed, 143 insertions(+), 103 deletions(-) + +commit 8aed5c21a31eece6a9f3cd775fda8facb6c28b9b +Author: Khaled Hosny +Date: Fri Nov 26 17:54:18 2021 +0200 + + 3.1.2 + + NEWS | 9 +++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 13 insertions(+), 4 deletions(-) + +commit 720ab0883b4bd7daa32a3c46031a9d8adb5c8a5f +Author: Behdad Esfahbod +Date: Thu Nov 25 11:49:16 2021 -0700 + + [util] Add --single-par + + Use it in aots tests + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3129 + Related https://github.com/harfbuzz/harfbuzz/issues/3298 + + test/shape/data/aots/hb-aots-tester.cpp | 2 +- + test/shape/data/aots/tests/classdef1.tests | 2 +- + test/shape/data/aots/tests/classdef1_empty.tests | 2 +- + .../shape/data/aots/tests/classdef1_multiple.tests | 2 +- + test/shape/data/aots/tests/classdef1_single.tests | 2 +- + test/shape/data/aots/tests/classdef2.tests | 2 +- + test/shape/data/aots/tests/classdef2_empty.tests | 2 +- + .../shape/data/aots/tests/classdef2_multiple.tests | 2 +- + test/shape/data/aots/tests/classdef2_single.tests | 2 +- + test/shape/data/aots/tests/cmap0.tests | 2 +- + test/shape/data/aots/tests/cmap10.tests | 4 ++-- + test/shape/data/aots/tests/cmap12.tests | 2 +- + test/shape/data/aots/tests/cmap2.tests | 2 +- + test/shape/data/aots/tests/cmap4.tests | 12 ++++++------ + test/shape/data/aots/tests/cmap6.tests | 4 ++-- + test/shape/data/aots/tests/cmap8.tests | 2 +- + .../shape/data/aots/tests/gpos1_1_lookupflag.tests | 2 +- + test/shape/data/aots/tests/gpos1_1_simple.tests | 8 ++++---- + test/shape/data/aots/tests/gpos1_2.tests | 2 +- + .../shape/data/aots/tests/gpos1_2_lookupflag.tests | 2 +- + test/shape/data/aots/tests/gpos2_1.tests | 4 ++-- + .../shape/data/aots/tests/gpos2_1_lookupflag.tests | 4 ++-- + .../shape/data/aots/tests/gpos2_1_next_glyph.tests | 4 ++-- + test/shape/data/aots/tests/gpos2_1_simple.tests | 4 ++-- + test/shape/data/aots/tests/gpos2_2.tests | 10 +++++----- + test/shape/data/aots/tests/gpos3.tests | 22 +++++++++++----------- + test/shape/data/aots/tests/gpos3_lookupflag.tests | 4 ++-- + test/shape/data/aots/tests/gpos4_lookupflag.tests | 4 ++-- + .../data/aots/tests/gpos4_multiple_anchors.tests | 2 +- + test/shape/data/aots/tests/gpos4_simple.tests | 10 +++++----- + test/shape/data/aots/tests/gpos5.tests | 4 ++-- + test/shape/data/aots/tests/gpos6.tests | 6 +++--- + test/shape/data/aots/tests/gpos7_1.tests | 4 ++-- + test/shape/data/aots/tests/gpos9.tests | 4 ++-- + .../data/aots/tests/gpos_chaining1_boundary.tests | 8 ++++---- + .../aots/tests/gpos_chaining1_lookupflag.tests | 2 +- + .../tests/gpos_chaining1_multiple_subrules.tests | 4 ++-- + .../aots/tests/gpos_chaining1_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining1_simple.tests | 22 +++++++++++----------- + .../aots/tests/gpos_chaining1_successive.tests | 2 +- + .../data/aots/tests/gpos_chaining2_boundary.tests | 8 ++++---- + .../aots/tests/gpos_chaining2_lookupflag.tests | 2 +- + .../tests/gpos_chaining2_multiple_subrules.tests | 4 ++-- + .../aots/tests/gpos_chaining2_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining2_simple.tests | 22 +++++++++++----------- + .../aots/tests/gpos_chaining2_successive.tests | 2 +- + .../data/aots/tests/gpos_chaining3_boundary.tests | 8 ++++---- + .../aots/tests/gpos_chaining3_lookupflag.tests | 2 +- + .../aots/tests/gpos_chaining3_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining3_simple.tests | 22 +++++++++++----------- + .../aots/tests/gpos_chaining3_successive.tests | 2 +- + .../data/aots/tests/gpos_context1_boundary.tests | 4 ++-- + .../data/aots/tests/gpos_context1_expansion.tests | 2 +- + .../data/aots/tests/gpos_context1_lookupflag.tests | 4 ++-- + .../tests/gpos_context1_multiple_subrules.tests | 4 ++-- + .../data/aots/tests/gpos_context1_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context1_simple.tests | 6 +++--- + .../data/aots/tests/gpos_context1_successive.tests | 2 +- + .../data/aots/tests/gpos_context2_boundary.tests | 4 ++-- + .../data/aots/tests/gpos_context2_classes.tests | 4 ++-- + .../data/aots/tests/gpos_context2_expansion.tests | 2 +- + .../data/aots/tests/gpos_context2_lookupflag.tests | 4 ++-- + .../tests/gpos_context2_multiple_subrules.tests | 4 ++-- + .../data/aots/tests/gpos_context2_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context2_simple.tests | 6 +++--- + .../data/aots/tests/gpos_context2_successive.tests | 2 +- + .../data/aots/tests/gpos_context3_boundary.tests | 4 ++-- + .../data/aots/tests/gpos_context3_lookupflag.tests | 4 ++-- + .../data/aots/tests/gpos_context3_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context3_simple.tests | 4 ++-- + .../data/aots/tests/gpos_context3_successive.tests | 2 +- + .../shape/data/aots/tests/gsub1_1_lookupflag.tests | 2 +- + test/shape/data/aots/tests/gsub1_1_modulo.tests | 2 +- + test/shape/data/aots/tests/gsub1_1_simple.tests | 2 +- + .../shape/data/aots/tests/gsub1_2_lookupflag.tests | 2 +- + test/shape/data/aots/tests/gsub1_2_simple.tests | 2 +- + .../shape/data/aots/tests/gsub2_1_lookupflag.tests | 2 +- + .../aots/tests/gsub2_1_multiple_sequences.tests | 2 +- + test/shape/data/aots/tests/gsub2_1_simple.tests | 4 ++-- + .../shape/data/aots/tests/gsub3_1_lookupflag.tests | 2 +- + test/shape/data/aots/tests/gsub3_1_multiple.tests | 2 +- + test/shape/data/aots/tests/gsub3_1_simple.tests | 2 +- + .../shape/data/aots/tests/gsub4_1_lookupflag.tests | 2 +- + .../aots/tests/gsub4_1_multiple_ligatures.tests | 4 ++-- + .../data/aots/tests/gsub4_1_multiple_ligsets.tests | 2 +- + test/shape/data/aots/tests/gsub4_1_simple.tests | 2 +- + test/shape/data/aots/tests/gsub7.tests | 4 ++-- + .../data/aots/tests/gsub_chaining1_boundary.tests | 8 ++++---- + .../aots/tests/gsub_chaining1_lookupflag.tests | 2 +- + .../tests/gsub_chaining1_multiple_subrules.tests | 4 ++-- + .../aots/tests/gsub_chaining1_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining1_simple.tests | 22 +++++++++++----------- + .../aots/tests/gsub_chaining1_successive.tests | 2 +- + .../data/aots/tests/gsub_chaining2_boundary.tests | 8 ++++---- + .../aots/tests/gsub_chaining2_lookupflag.tests | 2 +- + .../tests/gsub_chaining2_multiple_subrules.tests | 4 ++-- + .../aots/tests/gsub_chaining2_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining2_simple.tests | 22 +++++++++++----------- + .../aots/tests/gsub_chaining2_successive.tests | 2 +- + .../data/aots/tests/gsub_chaining3_boundary.tests | 8 ++++---- + .../aots/tests/gsub_chaining3_lookupflag.tests | 2 +- + .../aots/tests/gsub_chaining3_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining3_simple.tests | 22 +++++++++++----------- + .../aots/tests/gsub_chaining3_successive.tests | 2 +- + .../data/aots/tests/gsub_context1_boundary.tests | 4 ++-- + .../data/aots/tests/gsub_context1_expansion.tests | 2 +- + .../data/aots/tests/gsub_context1_lookupflag.tests | 4 ++-- + .../tests/gsub_context1_multiple_subrules.tests | 4 ++-- + .../data/aots/tests/gsub_context1_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context1_simple.tests | 6 +++--- + .../data/aots/tests/gsub_context1_successive.tests | 2 +- + .../data/aots/tests/gsub_context2_boundary.tests | 4 ++-- + .../data/aots/tests/gsub_context2_classes.tests | 4 ++-- + .../data/aots/tests/gsub_context2_expansion.tests | 2 +- + .../data/aots/tests/gsub_context2_lookupflag.tests | 4 ++-- + .../tests/gsub_context2_multiple_subrules.tests | 4 ++-- + .../data/aots/tests/gsub_context2_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context2_simple.tests | 6 +++--- + .../data/aots/tests/gsub_context2_successive.tests | 2 +- + .../data/aots/tests/gsub_context3_boundary.tests | 4 ++-- + .../data/aots/tests/gsub_context3_lookupflag.tests | 4 ++-- + .../data/aots/tests/gsub_context3_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context3_simple.tests | 4 ++-- + .../data/aots/tests/gsub_context3_successive.tests | 2 +- + .../data/aots/tests/lookupflag_ignore_attach.tests | 10 +++++----- + .../data/aots/tests/lookupflag_ignore_base.tests | 4 ++-- + .../aots/tests/lookupflag_ignore_combination.tests | 6 +++--- + .../aots/tests/lookupflag_ignore_ligatures.tests | 6 +++--- + .../data/aots/tests/lookupflag_ignore_marks.tests | 2 +- + util/text-options.hh | 10 ++++++---- + 130 files changed, 296 insertions(+), 294 deletions(-) + +commit b58afe586f6d100df94cc3a9b716befc68d8abec +Author: Behdad Esfahbod +Date: Thu Nov 25 11:34:24 2021 -0700 + + [util] Undo treat as single-paragraph text provided on cmdline + + Reverts d92ee726ce3b2fc2c249407d977433f0badcc918 + except that it does so even in batch mode. + + Am going to add a --single-par mode that will affect all input + modes. + + Part of https://github.com/harfbuzz/harfbuzz/issues/3129 + Fixes https://github.com/harfbuzz/harfbuzz/issues/3298 + + util/text-options.hh | 34 ++++++++++++++++++++++++++++------ + 1 file changed, 28 insertions(+), 6 deletions(-) + +commit 903a6baecefdbb8a01caed77f215560549e7dd5e +Author: Qunxin Liu +Date: Mon Nov 15 19:58:33 2021 -0800 + + [subset] layout_features filtering fix + + we should not use get_size (), which returns length * item_size + + src/hb-subset-plan.cc | 18 +++++++++++++++--- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../FranklinGothic-Regular.default.61,63,68,69.ttf | Bin 0 -> 6856 bytes + ...linGothic-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 44584 bytes + ...FranklinGothic-Regular.layout-test.61,63,68,69.ttf | Bin 0 -> 7928 bytes + ...othic-Regular.layout-test.retain-all-codepoint.ttf | Bin 0 -> 46584 bytes + ...FranklinGothic-Regular.retain-gids.61,63,68,69.ttf | Bin 0 -> 7288 bytes + ...othic-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 44592 bytes + test/subset/data/fonts/FranklinGothic-Regular.ttf | Bin 0 -> 71856 bytes + test/subset/data/tests/layout.default_features.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 12 files changed, 29 insertions(+), 3 deletions(-) + +commit 3160789701463bcd822c26010da4de33c92c85d9 +Author: Khaled Hosny +Date: Mon Nov 22 03:31:50 2021 +0200 + + [ci] windows-2016 image is going away in a bit + + https://github.com/actions/virtual-environments/issues/4312 + + windows-latest is the same as windows-2019, but we are using explicit + windows-2019 image for when they become different. + + .github/workflows/msvc-ci.yml | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit ed65577e3d896a2393aa6a92d76da1f81677d45e +Author: Khaled Hosny +Date: Sat Nov 20 20:51:26 2021 +0200 + + [ci] Split sanitizers job + + It was running four different builds sequentially. Each should have been + its own job. + + .circleci/config.yml | 41 ++++++++++++++++++++++++++++++++++------- + 1 file changed, 34 insertions(+), 7 deletions(-) + +commit 69d8f27c69b30f2c3726f279c2daa183d954c6b0 +Author: Khaled Hosny +Date: Sat Nov 20 17:09:15 2021 +0200 + + [meson] Require 0.55.0 + + We implicitly require it for building ragel subproject. This new version + requirement should satisfied in both Fedora 33 and Debian bullseye, and + not be too cutting edge for us. + + .circleci/config.yml | 5 +++-- + docs/meson.build | 4 ++-- + meson.build | 39 ++++++++++----------------------------- + perf/meson.build | 10 ++-------- + src/meson.build | 32 ++++++++------------------------ + test/fuzzing/meson.build | 6 +++--- + test/shape/meson.build | 12 ++++++------ + test/subset/meson.build | 8 ++++---- + 8 files changed, 38 insertions(+), 78 deletions(-) + +commit 84dc4e85e889d4b24cca7bb8ef04563fc6d1c3e6 +Author: Qunxin Liu +Date: Mon Nov 8 09:36:31 2021 -0800 + + [subset] avoid writing out duplicate extra glyph names in post table + + Add check for possible duplicate with other name index + + src/hb-ot-post-table-v2subset.hh | 31 +++++++++++++-------- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...hnadevaraya-Regular.default.c30,c36,c40,c4d.ttf | Bin 0 -> 10860 bytes + ...varaya-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 573428 bytes + ...evaraya-Regular.glyph-names.c30,c36,c40,c4d.ttf | Bin 0 -> 11292 bytes + ...ya-Regular.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 609076 bytes + ...raya-Regular.notdef-outline.c30,c36,c40,c4d.ttf | Bin 0 -> 10940 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 573508 bytes + ...evaraya-Regular.retain-gids.c30,c36,c40,c4d.ttf | Bin 0 -> 16880 bytes + ...ya-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 573440 bytes + .../data/fonts/SreeKrushnadevaraya-Regular.ttf | Bin 0 -> 612636 bytes + test/subset/data/tests/post.tests | 12 ++++++++ + test/subset/meson.build | 1 + + 14 files changed, 34 insertions(+), 12 deletions(-) + +commit 325f26290eef9b001df4b750f33698d2a81a47f0 +Author: Behdad Esfahbod +Date: Fri Nov 19 17:19:09 2021 -0700 + + [array] Fix a couple constexpr warnings + + ./subprojects/harfbuzz/src/hb-array.hh:71:25: warning: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Wconstexpr-not-const] + constexpr hb_array_t& operator = (const hb_array_t &o) + ^ + const + ../subprojects/harfbuzz/src/hb-array.hh:72:5: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions] + { arrayZ = o.arrayZ; length = o.length; backwards_length = o.backwards_length; return *this; } + ^ + ../subprojects/harfbuzz/src/hb-array.hh:329:32: warning: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Wconstexpr-not-const] + constexpr hb_sorted_array_t& operator = (const hb_array_t &o) + ^ + const + ../subprojects/harfbuzz/src/hb-array.hh:330:5: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions] + { hb_array_t (*this) = o; return *this; } + ^ + 4 warnings generated. + + src/hb-array.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 98fefd5dedf912aebb58990f8d74fa5fad0ddb2c +Merge: ca418cac7 4731b1073 +Author: Behdad Esfahbod +Date: Fri Nov 19 13:34:53 2021 -0700 + + Merge pull request #3301 from harfbuzz/hashmap-classes + + Hashmap classes + +commit ca418cac74189dbda1abf433bda4618853107f1f +Author: Qunxin Liu +Date: Wed Nov 17 16:42:08 2021 -0800 + + [subset] keep features that have FeatureParams and the tag is "size" + + src/hb-ot-layout-gsubgpos.hh | 8 ++++++-- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 3 ++- + ...C-ExtraLightItalic.default.retain-all-codepoint.ttf | Bin 0 -> 134520 bytes + ...traLightItalic.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 145796 bytes + ...LightItalic.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 134648 bytes + test/subset/data/fonts/SpectralSC-ExtraLightItalic.ttf | Bin 0 -> 275612 bytes + test/subset/data/tests/layout.drop_feature.tests | 10 ++++++++++ + test/subset/meson.build | 1 + + 9 files changed, 20 insertions(+), 3 deletions(-) + +commit e88fc41ef323cf1105e30b88f726f171504cb85e +Author: Qunxin Liu +Date: Thu Nov 18 16:53:36 2021 -0800 + + [subset] inputSequence could be empty, change the sanity check + + src/hb-ot-layout-gsubgpos.hh | 5 ++--- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...ar.layout-test-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 142456 bytes + ...nsNewa-Regular.layout-test.retain-all-codepoint.ttf | Bin 0 -> 142456 bytes + test/subset/data/fonts/NotoSansNewa-Regular.ttf | Bin 0 -> 150892 bytes + test/subset/data/tests/layout.context_format2.tests | 9 +++++++++ + test/subset/meson.build | 1 + + 8 files changed, 14 insertions(+), 3 deletions(-) + +commit 4731b1073636b6ff4ff1bccbe7fb4663a2648674 +Author: Behdad Esfahbod +Date: Fri Nov 19 12:33:37 2021 -0700 + + [array] Mark constructors constexpr + + ../src/hb-map.hh:44:38: note: non-constexpr constructor 'hb_array_t' cannot be used in a constant expression + static constexpr K INVALID_KEY = kINVALID; + ^ + + src/hb-array.hh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 1da7423ed9d96c6ed8000f2c6a971bc3ce65cb2b +Author: Behdad Esfahbod +Date: Fri Nov 19 12:11:41 2021 -0700 + + [array] Add constructor taking std::nullptr_t + + Not all impls implement nullptr_t in a way that would automatically + convert to what we were accepting. + + In file included from ../src/test-map.cc:27: + ../src/hb-map.hh:44:22: error: no viable conversion from 'nullptr_t' to 'const hb_array_t' + static constexpr K INVALID_KEY = kINVALID; + ^ ~~~~~~~~ + + src/hb-array.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit e456922a769461757acc6c0628e7af28f27b16ac +Author: Behdad Esfahbod +Date: Fri Nov 19 12:04:08 2021 -0700 + + [test] Fix nullptr_t scope issue + + src/test-map.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 5157cac0e28204ce658d784ee1fbe0614e50c786 +Author: Behdad Esfahbod +Date: Fri Nov 19 12:03:10 2021 -0700 + + [test] Silence unused-variable erros in test + + src/test-map.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 394f772937851f10ef05245e32279cf08ca8399d +Author: Behdad Esfahbod +Date: Fri Nov 19 11:49:23 2021 -0700 + + [map] Allow storing classes in the hashmap + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3293 + + The trick was to change the type of the invalid key/value to be non-class. + + src/hb-map.hh | 22 +++++++++++++++------- + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + src/hb-ot-layout.cc | 4 ++-- + src/hb-serialize.hh | 4 +++- + src/hb-set.hh | 6 +++--- + src/hb-subset-plan.cc | 2 +- + src/hb-subset-plan.hh | 4 ++-- + src/test-map.cc | 7 +++++++ + 9 files changed, 41 insertions(+), 24 deletions(-) + +commit cba17fd1015113a1176eef5a87876d4e2b19e13a +Author: Behdad Esfahbod +Date: Fri Nov 19 11:49:03 2021 -0700 + + [array] Add default methods again, this time the full set + + Should add tests. + + src/hb-array.hh | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit a75b96f7e5833c9206f6a15d11168a757a85ee59 +Author: Garret Rieger +Date: Tue Nov 16 14:34:07 2021 -0800 + + [sanitize] In lookup sanitize don't try to access subtable 0 if it isn't there. + + src/hb-ot-layout-common.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 82a9f54410d2d0188eab50c96824f52e2820b1da +Author: Behdad Esfahbod +Date: Wed Nov 10 10:15:38 2021 -0800 + + [colr] Simplify sanitize + + src/hb-ot-color-colr-table.hh | 38 ++------------------------------------ + 1 file changed, 2 insertions(+), 36 deletions(-) + +commit 64b29dbd5994a511acee69cb9b45ad650ef88359 +Author: Garret Rieger +Date: Tue Nov 9 09:13:14 2021 -0800 + + [subset] reuse colrv1 max nesting depth constant for sanitize. + + src/hb-ot-color-colr-table.hh | 11 ++++++----- + src/hb-sanitize.hh | 7 ++----- + 2 files changed, 8 insertions(+), 10 deletions(-) + +commit ace98cc65f527dbdfaa3784957535f551c7a600a +Author: Garret Rieger +Date: Mon Nov 8 15:47:56 2021 -0800 + + [subset] Only sanitize recursion depth in COLR. + + src/hb-ot-color-colr-table.hh | 49 ++++++++++++++++++++- + src/hb-sanitize.hh | 26 +++++++---- + ...tcase-minimized-hb-draw-fuzzer-4856957815619584 | Bin 0 -> 486280 bytes + 3 files changed, 65 insertions(+), 10 deletions(-) + +commit 782a7377adc2a13071b6dc74ddca209a8e65e4ba +Author: Garret Rieger +Date: Thu Nov 4 13:39:11 2021 -0700 + + [sanitize] add a maximum recursion depth for sanitize. + + src/hb-sanitize.hh | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit cd5c6cd0419ac5e4de975d6c476fb760bf06d2ce +Author: Khaled Hosny +Date: Mon Nov 8 06:59:55 2021 +0200 + + 3.1.1 + + NEWS | 7 +++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 11 insertions(+), 4 deletions(-) + +commit 1e07d42aa6259f73aed09f25dd37993974b9b366 +Author: Matthias Clasen +Date: Sun Nov 7 01:19:42 2021 -0400 + + Typo fix + + src/hb-ot-layout.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1fd7fd98235649115bba7407f2a2b977bf86733c +Author: Matthias Clasen +Date: Sat Nov 6 10:18:20 2021 -0400 + + Cosmetics: Avoid confusing indentation + + This line had me confused for a second because + the condition looked like a cast and the if just + looked misplaced. Add a line break to prevent + such confusion. + + src/hb-ot-layout.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3471f8f69e25ffebe96dc55173096cedc738ca6f +Author: Matthias Clasen +Date: Sat Nov 6 10:17:20 2021 -0400 + + docs: Clarify a doc comment + + Reword the docs for hb_ot_layout_script_select_language and + be a bit more specific about the returned index. + + src/hb-ot-layout.cc | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 07dc34bdaf977a3be97ab5a68455ed7a67f80a06 +Author: Behdad Esfahbod +Date: Fri Nov 5 14:45:20 2021 -0700 + + [mutex] Try work around GCC cast-align error/warning + + Shouldn't be needed because of the alignas(). Oh well... + + Might fix https://github.com/harfbuzz/harfbuzz/issues/3283 + + src/hb-mutex.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 77eeec53a917554a2766a7cb1687607841282777 +Author: Khaled Hosny +Date: Wed Nov 3 23:31:03 2021 +0200 + + 3.1.0 + + NEWS | 21 +++++++++++++++++++++ + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-buffer.cc | 4 ++-- + src/hb-version.h | 4 ++-- + 6 files changed, 28 insertions(+), 6 deletions(-) + +commit 54e7d6267b485f252cf3f266a4577c72d79b286b +Author: Behdad Esfahbod +Date: Wed Nov 3 14:43:34 2021 -0600 + + [array] Remove defaulted destructor + + src/hb-array.hh | 1 - + 1 file changed, 1 deletion(-) + +commit f51b48c8e780ca918535c7af670818f2166ccf64 +Author: Garret Rieger +Date: Tue Nov 2 16:16:52 2021 -0700 + + [subset] Fix fuzzer found memory leak. + + Happens because an insert into a map with an invalid key reports successful, but this causes the set being inserted to be lost. + + src/hb-ot-layout-gsubgpos.hh | 17 +++++++++-------- + .../leak-34f1798a142fd0dfdd71a96fb6aa7de19a62865e | Bin 0 -> 134 bytes + 2 files changed, 9 insertions(+), 8 deletions(-) + +commit b1cd0dce8ed2fff2b781dfb432777db7de5f3f80 +Author: Behdad Esfahbod +Date: Tue Nov 2 17:56:11 2021 -0600 + + [map] Add INVALID_KEY and INVALID_VALUE + + src/hb-map.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 540f19b6fe0de39312bc3f881be16e76dd902c33 +Author: Qunxin Liu +Date: Fri Oct 29 17:11:53 2021 -0700 + + [subset] fix bug in (Chain)ContextFormat2 + + Only keep rulesets for glyphs class numbers that survived in coverage + + src/hb-ot-layout-common.hh | 53 ++++++++++++++++++++- + src/hb-ot-layout-gsubgpos.hh | 46 ++++++++++++++---- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...lar.layout-test-retain-gids.268,301,302,324.ttf | Bin 0 -> 6312 bytes + ...ayout-test-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 60976 bytes + ...Molengo-Regular.layout-test.268,301,302,324.ttf | Bin 0 -> 4124 bytes + ...go-Regular.layout-test.retain-all-codepoint.ttf | Bin 0 -> 60972 bytes + test/subset/data/fonts/Molengo-Regular.ttf | Bin 0 -> 65464 bytes + test/subset/data/tests/layout.gsub5_format2.tests | 10 ++++ + test/subset/meson.build | 1 + + 11 files changed, 103 insertions(+), 9 deletions(-) + +commit e260eeb9be0402d645917cadc8634ddf8c0e2743 +Author: Garret Rieger +Date: Tue Nov 2 15:31:32 2021 -0700 + + [subset] Update test goldens for gdef.glyphset. + + ...Howrah-Regular.default.retain-all-codepoint.ttf | Bin 174040 -> 174308 bytes + ...rah-Regular.drop-hints.retain-all-codepoint.ttf | Bin 99020 -> 99288 bytes + ...ah-Regular.retain-gids.retain-all-codepoint.ttf | Bin 174340 -> 174608 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit 60e203644b7aa2098bce9ddae7741ba037500d2c +Author: Qunxin Liu +Date: Tue Nov 2 15:02:36 2021 -0700 + + [subset] use glyphset_gsub instead of glyphset for GDEF + + src/hb-ot-layout-gdef-table.hh | 4 ++-- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../IndicTestHowrah-Regular.default.9dd.ttf | Bin 0 -> 4152 bytes + ...TestHowrah-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 174040 bytes + .../IndicTestHowrah-Regular.drop-hints.9dd.ttf | Bin 0 -> 1128 bytes + ...tHowrah-Regular.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 99020 bytes + .../IndicTestHowrah-Regular.retain-gids.9dd.ttf | Bin 0 -> 4540 bytes + ...Howrah-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 174340 bytes + test/subset/data/fonts/IndicTestHowrah-Regular.ttf | Bin 0 -> 186128 bytes + test/subset/data/tests/layout.gdef.glyphset.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 12 files changed, 16 insertions(+), 2 deletions(-) + +commit e39647c0f14102928ed787c2d38213f5b6cf576d +Author: Garret Rieger +Date: Tue Nov 2 15:25:05 2021 -0700 + + [subset] update subset goldens to fix tests. + + ...wLatin-Regular.default.retain-all-codepoint.ttf | Bin 131672 -> 131672 bytes + ...in-Regular.layout-test.retain-all-codepoint.ttf | Bin 153648 -> 153648 bytes + ...in-Regular.retain-gids.retain-all-codepoint.ttf | Bin 134776 -> 134776 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit 0a7563a53ffedd735cb41c03f697269ef48f0ec2 +Author: Qunxin Liu +Date: Mon Nov 1 14:56:14 2021 -0700 + + [subset] fuzzer fix: https://oss-fuzz.com/testcase?key=6254792024915968 + + Make sure input is valid, each gid has a corresponding offset value in + the map + + src/hb-ot-color-colr-table.hh | 5 ++++- + ...testcase-minimized-hb-subset-fuzzer-6254792024915968 | Bin 0 -> 20851 bytes + 2 files changed, 4 insertions(+), 1 deletion(-) + +commit 364b6b3989e9df6335711e282e3250534d88299a +Author: Qunxin Liu +Date: Sun Oct 31 14:38:20 2021 -0700 + + [subset] Don't assume FeatureList is sorted + + Though the spec said FeatureRecords are sorted alphabetically by feature + tag, there're font files with unsorted FeatureList. And harfbuzz is not + able to subset these files correctly because we use binary search in + finding featureRecords when collecting lookups. Also + find_duplicate_features needs to be updated to handle this. + + src/hb-ot-layout-gsubgpos.hh | 28 +++++++++++++++------ + src/hb-ot-layout.cc | 21 +++++----------- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...HebrewLatin-Regular.default.392,3a7,3b2,3c7.ttf | Bin 0 -> 2464 bytes + ...wLatin-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 131672 bytes + ...ewLatin-Regular.layout-test.392,3a7,3b2,3c7.ttf | Bin 0 -> 2588 bytes + ...in-Regular.layout-test.retain-all-codepoint.ttf | Bin 0 -> 153648 bytes + ...ewLatin-Regular.retain-gids.392,3a7,3b2,3c7.ttf | Bin 0 -> 13484 bytes + ...in-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 134776 bytes + .../data/fonts/NotoIKEAHebrewLatin-Regular.ttf | Bin 0 -> 212524 bytes + .../data/tests/layout.unsorted_featurelist.tests | 11 ++++++++ + test/subset/meson.build | 1 + + 13 files changed, 40 insertions(+), 23 deletions(-) + +commit 49c9392412ccf31cf948310acda057b96eb6afc6 +Author: Garret Rieger +Date: Fri Sep 24 09:28:10 2021 -0700 + + [subset] During LigatureSubstFormat1 subsetting always place Coverage last. + + In Windows 7 on Chrome if the coverage table comes before any of the LigatureSet or Ligature subtables the font won't load. This changes the packing order to always place the Coverage table last. Virtual links are used to ensure the repacker maintains the desired ordering. + + Coincidentally fontTools also does the same thing (https://github.com/fonttools/fonttools/blob/a3f988fbf621142d7d9b3e68a69725b88f358869/Lib/fontTools/ttLib/tables/otTables.py#L1137) to reduce overflows during packing. + + src/hb-ot-layout-gsub-table.hh | 48 +++++++++++++++++---- + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 191632 -> 191632 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 191584 -> 191584 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 229748 -> 229748 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 223452 -> 223452 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 220948 -> 220948 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 222496 -> 222496 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 223352 -> 223352 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222804 -> 222804 bytes + ...tu-Regular.glyph-names.retain-all-codepoint.ttf | Bin 281092 -> 281092 bytes + ...ns-BlackItalic.default.retain-all-codepoint.ttf | Bin 120236 -> 120236 bytes + ...lackItalic.glyph-names.retain-all-codepoint.ttf | Bin 132480 -> 132480 bytes + ...kItalic.notdef-outline.retain-all-codepoint.ttf | Bin 120236 -> 120236 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29468 -> 29468 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + ...ayout-test-retain-gids.retain-all-codepoint.otf | Bin 4064 -> 4064 bytes + ...pos5_font1.layout-test.retain-all-codepoint.otf | Bin 4064 -> 4064 bytes + ...ayout-test-retain-gids.retain-all-codepoint.otf | Bin 4008 -> 4008 bytes + ...cessive_f1.layout-test.retain-all-codepoint.otf | Bin 4008 -> 4008 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11372 -> 11372 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17640 -> 17732 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3512 -> 3512 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12360 -> 12360 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19340 -> 19432 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18208 -> 18208 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23704 -> 23792 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9160 -> 9160 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18164 -> 18164 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25392 -> 25484 bytes + .../Tinos-Italic.default.retain-all-codepoint.ttf | Bin 412764 -> 412764 bytes + ...nos-Italic.glyph-names.retain-all-codepoint.ttf | Bin 437592 -> 437592 bytes + ...-Italic.notdef-outline.retain-all-codepoint.ttf | Bin 412764 -> 412764 bytes + ...nos-Italic.retain-gids.retain-all-codepoint.ttf | Bin 415140 -> 415140 bytes + ...woMath-Regular.default.retain-all-codepoint.ttf | Bin 1038580 -> 1038580 bytes + ...th-Regular.glyph-names.retain-all-codepoint.ttf | Bin 1091356 -> 1091356 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 1038828 -> 1038828 bytes + ...th-Regular.retain-gids.retain-all-codepoint.ttf | Bin 1053656 -> 1053656 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15856 -> 15856 bytes + 44 files changed, 39 insertions(+), 9 deletions(-) + +commit 9643d77086b1d0896cb4703f48b71743044880bf +Author: Garret Rieger +Date: Fri Sep 24 11:39:59 2021 -0700 + + [repacker] add more detailed comment about virtual links. + + src/hb-serialize.hh | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +commit 5bfc7d101562a188fb283fd679a7ba55acc4042c +Author: Garret Rieger +Date: Thu Sep 23 14:45:20 2021 -0700 + + [repacker] remove VirtualOffset struct. + + Make and add_virtual_link () specialization of add_link() instead. + + src/hb-serialize.hh | 9 +-------- + src/test-repacker.cc | 3 +-- + 2 files changed, 2 insertions(+), 10 deletions(-) + +commit bc4c5341d6e5725a6ad231eba3a7a6f2ba606ce9 +Author: Garret Rieger +Date: Thu Sep 23 14:41:42 2021 -0700 + + [repacker] Add test for virtual links in the repacker. + + src/hb-serialize.hh | 24 +++++++++++++++++++++ + src/test-repacker.cc | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 84 insertions(+) + +commit 7615b94ecf483aa275220409d3c385089a74a09d +Author: Garret Rieger +Date: Thu Sep 23 14:14:06 2021 -0700 + + [repacker] add 'virtual links' to the serializer. + + These aren't associated with an offset field, but instead exist solely to add an ordering constraint to the object graph. + + src/hb-repacker.hh | 10 +++++++++- + src/hb-serialize.hh | 21 ++++++++++++++++++++- + 2 files changed, 29 insertions(+), 2 deletions(-) + +commit 59d8f6c8173a9054b2594f38c06d9aa635da04c9 +Author: Behdad Esfahbod +Date: Tue Nov 2 10:33:53 2021 -0600 + + [map] Fix copy assignment operator + + src/hb-map.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bbda020cbc99d6a956f21a7fb05bf721fa0f2faf +Merge: 8dc86d070 459e485ba +Author: Behdad Esfahbod +Date: Tue Nov 2 08:40:59 2021 -0700 + + Merge pull request #3278 from harfbuzz/more-std + + More standard idioms + +commit 459e485babea657e47930e74bd56280658811af2 +Author: Behdad Esfahbod +Date: Tue Nov 2 09:36:12 2021 -0600 + + [meta] Remove otherwise-empty test-meta + + src/Makefile.am | 5 ---- + src/meson.build | 1 - + src/test-meta.cc | 87 -------------------------------------------------------- + 3 files changed, 93 deletions(-) + +commit b8724c60232a97d1e1785c3c618a340089be9c8a +Author: Behdad Esfahbod +Date: Tue Nov 2 00:49:40 2021 -0600 + + [meta] Add in-house impl of hb_is_convertible() + + src/hb-meta.hh | 26 +------------------------- + src/test-meta.cc | 14 -------------- + 2 files changed, 1 insertion(+), 39 deletions(-) + +commit 7a078c395a57097a2ae204c0089f47a9ac97d849 +Author: Behdad Esfahbod +Date: Tue Nov 2 00:44:51 2021 -0600 + + [meta] Use std::conditional instead of hb_conditional() + + src/hb-meta.hh | 13 ++----------- + src/hb-open-type.hh | 2 +- + 2 files changed, 3 insertions(+), 12 deletions(-) + +commit 943921cf0caefa564601f7b18eed2168be77cfda +Author: Behdad Esfahbod +Date: Tue Nov 2 00:26:46 2021 -0600 + + [meta] Use more std type_traits + + src/hb-algs.hh | 6 +++--- + src/hb-map.hh | 8 ++++---- + src/hb-meta.hh | 44 -------------------------------------------- + src/hb-open-type.hh | 4 ++-- + src/hb-serialize.hh | 2 +- + src/test-meta.cc | 3 --- + 6 files changed, 10 insertions(+), 57 deletions(-) + +commit 6d555ce82e50bdd54896a89d9d547493b466b116 +Author: Behdad Esfahbod +Date: Tue Nov 2 00:18:22 2021 -0600 + + [meta] Use std::forward instead of hb_forward() + + src/hb-aat-layout-common.hh | 2 +- + src/hb-aat-layout-kerx-table.hh | 10 +++--- + src/hb-aat-layout-morx-table.hh | 10 +++--- + src/hb-algs.hh | 80 ++++++++++++++++++++--------------------- + src/hb-debug.hh | 8 ++--- + src/hb-dispatch.hh | 2 +- + src/hb-iter.hh | 14 ++++---- + src/hb-meta.hh | 10 ++---- + src/hb-open-type.hh | 22 ++++++------ + src/hb-ot-cff-common.hh | 2 +- + src/hb-ot-color-colr-table.hh | 68 +++++++++++++++++------------------ + src/hb-ot-kern-table.hh | 8 ++--- + src/hb-ot-layout-common.hh | 4 +-- + src/hb-ot-layout-gdef-table.hh | 6 ++-- + src/hb-ot-layout-gpos-table.hh | 36 +++++++++---------- + src/hb-ot-layout-gsub-table.hh | 30 ++++++++-------- + src/hb-ot-layout-gsubgpos.hh | 16 ++++----- + src/hb-ot-layout.cc | 4 +-- + src/hb-sanitize.hh | 6 ++-- + src/hb-serialize.hh | 16 ++++----- + src/hb-subset.hh | 6 ++-- + src/hb-vector.hh | 4 +-- + 22 files changed, 179 insertions(+), 185 deletions(-) + +commit 811f80a701a7e40d8ef2e01b927da74015aa6113 +Author: Behdad Esfahbod +Date: Tue Nov 2 00:14:34 2021 -0600 + + [algs] Use std::move instead of hb_move() + + src/hb-map.hh | 4 ++-- + src/hb-meta.hh | 6 ++---- + src/hb-set.hh | 2 +- + src/hb-vector.hh | 2 +- + 4 files changed, 6 insertions(+), 8 deletions(-) + +commit 896e0c74a82eb65f80d284a5d4f6557960de2620 +Author: Behdad Esfahbod +Date: Tue Nov 2 00:06:30 2021 -0600 + + [meta] Remove unused traits + + src/hb-meta.hh | 46 ---------------------------------------------- + src/test-meta.cc | 13 ------------- + 2 files changed, 59 deletions(-) + +commit be42800fc6d90340f843fa03be1bb06b0453e519 +Author: Behdad Esfahbod +Date: Tue Nov 2 00:04:18 2021 -0600 + + [meta] Use std::is_trivially_... instead of internal copies + + src/hb-meta.hh | 58 ++--------------------------------------------------- + src/hb-open-type.hh | 10 ++++----- + src/test-meta.cc | 16 --------------- + 3 files changed, 7 insertions(+), 77 deletions(-) + +commit 30c05e8b55c36200735446f237f1d7003cb70450 +Author: Behdad Esfahbod +Date: Mon Nov 1 23:57:00 2021 -0600 + + [algs] include + + src/hb-algs.hh | 1 + + src/hb-mutex.hh | 1 - + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit 4c6fd7cdb2f2ab60de83d9a1e0fd189510b771a0 +Author: Behdad Esfahbod +Date: Mon Nov 1 23:13:34 2021 -0600 + + [map] Try moving items when resizing + + src/hb-map.hh | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +commit a28ea8d7f35a89cda49a9552a5ab6dc14d208c84 +Author: Behdad Esfahbod +Date: Mon Nov 1 22:50:54 2021 -0600 + + Simplify swap() + + src/hb-bit-set.hh | 1 - + src/hb-map.hh | 1 - + 2 files changed, 2 deletions(-) + +commit 94158316d9ba69315497a200ec63d13cb6959363 +Author: Behdad Esfahbod +Date: Mon Nov 1 22:47:26 2021 -0600 + + [map] Add iterable constructor + + src/hb-map.hh | 6 ++++++ + src/test-map.cc | 24 ++++++++++++++++++++++++ + 2 files changed, 30 insertions(+) + +commit a03b9b14c988aa04ba3ee1e5d187b65e7b24015a +Author: Behdad Esfahbod +Date: Mon Nov 1 22:45:11 2021 -0600 + + [map] Add initializer_list and swap() + + src/hb-map.hh | 25 +++++++++++++++++++++++-- + src/test-map.cc | 10 ++++++++++ + src/test-set.cc | 6 +++--- + 3 files changed, 36 insertions(+), 5 deletions(-) + +commit 3604f5f2484b47c0693896f8a8e48dfe46dddef1 +Author: Behdad Esfahbod +Date: Mon Nov 1 22:37:42 2021 -0600 + + [algs] Include + + src/hb-algs.hh | 1 + + src/hb-set.hh | 2 -- + src/hb-vector.hh | 2 -- + 3 files changed, 1 insertion(+), 4 deletions(-) + +commit c30f6834d0ad0adbe0f16bb79555fd161de2303e +Author: Behdad Esfahbod +Date: Mon Nov 1 22:29:14 2021 -0600 + + [map] Add 5 methods + + src/Makefile.am | 5 ++++ + src/hb-map.hh | 17 +++++++++++++- + src/meson.build | 1 + + src/test-map.cc | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/test-set.cc | 1 + + src/test-vector.cc | 1 + + 6 files changed, 92 insertions(+), 1 deletion(-) + +commit 38debbab7e287e513968c80a10e69ab054acad4d +Author: Behdad Esfahbod +Date: Mon Nov 1 22:17:35 2021 -0600 + + [set] Add successful check in swap() + + src/hb-bit-set-invertible.hh | 2 ++ + src/hb-bit-set.hh | 2 ++ + 2 files changed, 4 insertions(+) + +commit b860b44229dbde49e8a1ed34257b1a70bb2401ee +Author: Behdad Esfahbod +Date: Mon Nov 1 22:00:18 2021 -0600 + + [bimap] Simplify initialization + + src/hb-bimap.hh | 15 +++------------ + 1 file changed, 3 insertions(+), 12 deletions(-) + +commit d2c364f6e7edbd295132f792d711ac37ff551d37 +Author: Behdad Esfahbod +Date: Mon Nov 1 21:55:14 2021 -0600 + + [array] Use default methods + + src/hb-array.hh | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +commit 6f74d80ed1f20a31744f78ee5a290b76b1dfb102 +Author: Behdad Esfahbod +Date: Mon Nov 1 21:49:32 2021 -0600 + + [vector] Complete sorted_vector 5-methods + + src/hb-vector.hh | 11 +++++++++-- + src/test-vector.cc | 19 ++++++++++++++++--- + 2 files changed, 25 insertions(+), 5 deletions(-) + +commit a28b5d03b5c86d2ffc352ef35463718aa4a00a9f +Author: Behdad Esfahbod +Date: Mon Nov 1 21:43:44 2021 -0600 + + [vector] Add swap() friend to hb_sorted_vector_t + + src/hb-vector.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit e97e79967e6ed0dd5719c2b88cf72f8860790245 +Author: Behdad Esfahbod +Date: Mon Nov 1 21:34:46 2021 -0600 + + Verbiage + + src/hb-set.hh | 8 ++++---- + src/hb-vector.hh | 10 +++++----- + 2 files changed, 9 insertions(+), 9 deletions(-) + +commit 34fa5e290146b14ee6bdb261811d219fd7711574 +Author: Behdad Esfahbod +Date: Mon Nov 1 21:25:03 2021 -0600 + + [set] More default operators + + src/hb-set.hh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit b6c0b40fc2a66893c70f02dc20f2c99b0a996b6a +Author: Behdad Esfahbod +Date: Mon Nov 1 21:15:38 2021 -0600 + + [vector] Use default constructor + + src/hb-vector.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 1e3f57c07904578079a58e37baf3a6bb01c0be0c +Author: Behdad Esfahbod +Date: Mon Nov 1 21:14:12 2021 -0600 + + [bit-set] Implement standard-5 methods plus swap + + src/hb-bit-set.hh | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +commit 11eadb5d2886c8d2a6eef26866f080bde9ff65ce +Author: Behdad Esfahbod +Date: Mon Nov 1 21:07:09 2021 -0600 + + [bit-set-invertible] Implement standard-5 methods & swap + + src/hb-bit-set-invertible.hh | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit dcd18da611436455733e3a80075d07685a6f96f7 +Author: Behdad Esfahbod +Date: Mon Nov 1 20:55:30 2021 -0600 + + [set] Add standard the 5 standard methods & tests + + src/Makefile.am | 9 ++++++ + src/hb-set.hh | 33 +++++++++++++++++--- + src/meson.build | 1 + + src/test-set.cc | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 135 insertions(+), 4 deletions(-) + +commit 628a0f3796992fe858b368c8b6358ef9d83a21e1 +Author: Behdad Esfahbod +Date: Mon Nov 1 20:36:55 2021 -0600 + + [vector] Add more tests + + src/test-vector.cc | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + +commit f15858be5f09a9fdfbec9ccc68490e23e5db35ad +Author: Behdad Esfahbod +Date: Mon Nov 1 20:26:07 2021 -0600 + + [vector] Pre-allocate if iterator has random-access length + + src/hb-vector.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 11135150a7e9955aefbf9ac943367a618b513981 +Author: Behdad Esfahbod +Date: Mon Nov 1 20:23:12 2021 -0600 + + [vector] Move test code into separate file + + src/Makefile.am | 14 ++++++++- + src/meson.build | 1 + + src/test-algs.cc | 51 -------------------------------- + src/test-vector.cc | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 99 insertions(+), 52 deletions(-) + +commit ee75e716c1fec110e9ee2d30be9db14b75515404 +Author: Behdad Esfahbod +Date: Mon Nov 1 20:18:49 2021 -0600 + + [vector] Add initializer from iterable + + src/hb-vector.hh | 6 ++++++ + src/test-algs.cc | 31 +++++++++++++++++++++++++++++++ + 2 files changed, 37 insertions(+) + +commit 18a078f968072990cc50f96d4b6e47b32a6001c5 +Author: Behdad Esfahbod +Date: Mon Nov 1 20:06:58 2021 -0600 + + [vector] Implement move assignment using swap + + src/hb-vector.hh | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit 8dc86d07036e0d251ab6817230651f8943693db8 +Author: Matthias Clasen +Date: Mon Nov 1 19:57:11 2021 -0400 + + Add a test font scale rounding behavior + + This test verifies the fix for + https://github.com/harfbuzz/harfbuzz/issues/3274 + + test/api/Makefile.am | 1 + + test/api/fonts/Cantarell.A.otf | Bin 0 -> 1956 bytes + test/api/meson.build | 1 + + test/api/test-font-scale.c | 57 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 59 insertions(+) + +commit eeda2c549ddd103ebf8f9d1e20ae30137f5ed532 +Author: Behdad Esfahbod +Date: Mon Nov 1 18:36:57 2021 -0600 + + [vector] Add initializer_list constructor & tests + + src/hb-vector.hh | 15 +++++++++++++-- + src/test-algs.cc | 20 ++++++++++++++++++++ + 2 files changed, 33 insertions(+), 2 deletions(-) + +commit c484641304daff090111171d2dc3404735e14ed6 +Author: Behdad Esfahbod +Date: Mon Nov 1 18:48:24 2021 -0600 + + Revert "[vector] Add initializer_list constructor & tests" + + This reverts commit aa6182453b29b2d1cc974756fe0ae4220a846bf4. + + src/hb-vector.hh | 15 ++------------- + src/test-algs.cc | 20 -------------------- + 2 files changed, 2 insertions(+), 33 deletions(-) + +commit aa6182453b29b2d1cc974756fe0ae4220a846bf4 +Author: Behdad Esfahbod +Date: Mon Nov 1 18:36:57 2021 -0600 + + [vector] Add initializer_list constructor & tests + + src/hb-vector.hh | 15 +++++++++++++-- + src/test-algs.cc | 20 ++++++++++++++++++++ + 2 files changed, 33 insertions(+), 2 deletions(-) + +commit 8c05569930b3ba8901baae7ffb9ae2a6fc6ce4b1 +Author: Behdad Esfahbod +Date: Mon Nov 1 17:59:17 2021 -0600 + + [algs] Add hb_swap() ala, and using, std::swap() + + Use it in vector. + + Use ADL idiom. + + src/hb-algs.hh | 11 +++++++++++ + src/hb-repacker.hh | 4 ++-- + src/hb-vector.hh | 16 ++++------------ + 3 files changed, 17 insertions(+), 14 deletions(-) + +commit bbaccf23d9e231370fb3ca3398ebfc132c7555bc +Author: Behdad Esfahbod +Date: Mon Nov 1 16:45:36 2021 -0600 + + Better round positions during scaling + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3274 + + src/hb-font.hh | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 52ccdc78e67b57645a83c6a55268dc19bf562e04 +Author: Matthias Clasen +Date: Thu Oct 28 14:56:13 2021 -0400 + + docs: Add a link to the OpenType spec + + Link to the name table specification in the + hb_ot_name_id_t docs. + + src/hb-ot-name.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 8cb2f969d9632804a546e7e1157b64f85f21f512 +Author: Matthias Clasen +Date: Thu Oct 28 07:42:07 2021 -0400 + + Document hb_ot_name_t values + + Add a short blurb for each value and refer + to the OpenType spec for more information. + + Fixes: #3181 + + src/hb-ot-name.h | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +commit 85deddb16ee6b00b0c921998e1d93c84002f5a42 +Author: Qunxin Liu +Date: Wed Oct 27 14:36:02 2021 -0700 + + [subset] fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40406 + + src/hb-ot-color-colr-table.hh | 1 + + ...testcase-minimized-hb-subset-fuzzer-6315334756335616 | Bin 0 -> 20377 bytes + 2 files changed, 1 insertion(+) + +commit de9424172d79ee45c1913b2a5020c228a19e7ac8 +Author: David Korczynski +Date: Wed Oct 27 15:24:57 2021 +0100 + + [ci] Add CIFuzz integration + + Add CIFuzz integration, which will run the fuzzers for a short amount + of time when a PR is submitted on Github. + + Signed-off-by: David Korczynski + + .github/workflows/cifuzz.yml | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit da500568dee503fd3fc9042d95668e3371f93d75 +Author: Behdad Esfahbod +Date: Tue Oct 26 08:02:29 2021 -0600 + + [API] Add hb_buffer_[sg]et_not_found_glyph() and --not-found-glyph + + Instead of using gid=0 when a character is not found in the font, + client can now set a custom value. This is useful for shaper-driven + font fallback and to differentiate that from .notdef glyph. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1360 + + docs/harfbuzz-sections.txt | 2 ++ + src/hb-buffer.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ + src/hb-buffer.h | 7 +++++++ + src/hb-buffer.hh | 1 + + src/hb-font.hh | 10 ++++++---- + src/hb-ot-shape-normalize.cc | 5 +++-- + src/hb-ot-shape-normalize.hh | 1 + + util/shape-options.hh | 3 +++ + 8 files changed, 65 insertions(+), 6 deletions(-) + +commit 6ea6c581edb3cecf1b4b42854e37b40d6d067cd3 +Author: Cameron Cawley +Date: Fri Sep 24 22:05:29 2021 +0100 + + Remove direct link to dwrite from meson scripts + + meson.build | 7 +------ + src/meson.build | 1 - + 2 files changed, 1 insertion(+), 7 deletions(-) + +commit ecbe224743c205c99aa459b27e7fb241cc4b1dc5 +Author: Cameron Cawley +Date: Fri Sep 24 21:32:12 2021 +0100 + + Revert "[hb-directwrite] Don't load dwrit.dll dynamically" + + This reverts commit 6119ff9d806db7de3ceef73de67fe589507800bb. + + src/hb-directwrite.cc | 36 ++++++++++++++++++++++++++++++++++-- + 1 file changed, 34 insertions(+), 2 deletions(-) + +commit 4262636926123df42eaba5374dc54bb9776a5af2 +Merge: f55d83473 d17155f5d +Author: Behdad Esfahbod +Date: Sat Oct 23 13:18:22 2021 -0700 + + Merge pull request #3248 from googlefonts/connected_components + + [repacker] Keep connected subgraphs in the same space. + +commit f55d834736b58ac15cff09c20f5c5cd3ca52ef1e +Author: Qunxin Liu +Date: Thu Oct 14 13:39:45 2021 -0700 + + [subset] Move struct DeltaSetIndexMap into hb-ot-var-common.hh + + Also fix naming issues in review comments + + src/Makefile.sources | 1 + + src/hb-ot-color-colr-table.hh | 131 +-------------------- + src/hb-ot-var-common.hh | 264 ++++++++++++++++++++++++++++++++++++++++++ + src/hb-ot-var-hvar-table.hh | 88 +------------- + src/meson.build | 1 + + 5 files changed, 273 insertions(+), 212 deletions(-) + +commit 8c583db9b5c63dc790f6553044b8915e1f5906bb +Author: Qunxin Liu +Date: Sat Oct 2 20:32:30 2021 -0700 + + [subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap + + Also fix issues in struct PaintTransform definition + + src/hb-ot-color-colr-table.hh | 193 ++++++++++++++++++--- + src/hb-subset-plan.cc | 60 ++++--- + .../TwemojiMozilla.subset.default.32,3299.ttf | Bin 1576 -> 1520 bytes + .../api/fonts/TwemojiMozilla.subset.default.32.ttf | Bin 932 -> 888 bytes + .../fonts/TwemojiMozilla.subset.default.3297.ttf | Bin 1376 -> 1332 bytes + test/api/fonts/TwemojiMozilla.subset.ttf | Bin 1936 -> 1868 bytes + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1344 -> 1344 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1520 -> 1520 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1860 -> 1860 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1332 -> 1332 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1508 -> 1508 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1340 -> 1340 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1520 -> 1520 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1844 -> 1844 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1328 -> 1328 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1508 -> 1508 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1324 -> 1324 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1500 -> 1500 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1840 -> 1840 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1312 -> 1312 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1488 -> 1488 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1360 -> 1360 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1540 -> 1540 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1864 -> 1864 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1348 -> 1348 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1528 -> 1528 bytes + .../colr_with_components/colr-table.default.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../colr-table.drop-hints.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../TestCOLRv1.default.E000,E001,E002,E003.ttf | Bin 0 -> 1260 bytes + .../colrv1/TestCOLRv1.default.E000,E001,E002.ttf | Bin 0 -> 1200 bytes + .../colrv1/TestCOLRv1.default.E000,E001.ttf | Bin 0 -> 996 bytes + .../colrv1/TestCOLRv1.default.E000,E004.ttf | Bin 0 -> 940 bytes + .../expected/colrv1/TestCOLRv1.default.E000.ttf | Bin 0 -> 800 bytes + .../expected/colrv1/TestCOLRv1.default.E001.ttf | Bin 0 -> 856 bytes + .../colrv1/TestCOLRv1.default.E002,E003,E004.ttf | Bin 0 -> 1248 bytes + .../colrv1/TestCOLRv1.default.E002,E003.ttf | Bin 0 -> 1116 bytes + .../expected/colrv1/TestCOLRv1.default.E002.ttf | Bin 0 -> 856 bytes + .../colrv1/TestCOLRv1.default.E003,E004.ttf | Bin 0 -> 1044 bytes + .../expected/colrv1/TestCOLRv1.default.E003.ttf | Bin 0 -> 916 bytes + .../expected/colrv1/TestCOLRv1.default.E004.ttf | Bin 0 -> 748 bytes + .../TestCOLRv1.default.retain-all-codepoint.ttf | Bin 0 -> 1532 bytes + ....drop-hints-retain-gids.E000,E001,E002,E003.ttf | Bin 0 -> 1308 bytes + ...OLRv1.drop-hints-retain-gids.E000,E001,E002.ttf | Bin 0 -> 1248 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E001.ttf | Bin 0 -> 1052 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttf | Bin 0 -> 1020 bytes + .../TestCOLRv1.drop-hints-retain-gids.E000.ttf | Bin 0 -> 856 bytes + .../TestCOLRv1.drop-hints-retain-gids.E001.ttf | Bin 0 -> 924 bytes + ...OLRv1.drop-hints-retain-gids.E002,E003,E004.ttf | Bin 0 -> 1304 bytes + ...TestCOLRv1.drop-hints-retain-gids.E002,E003.ttf | Bin 0 -> 1176 bytes + .../TestCOLRv1.drop-hints-retain-gids.E002.ttf | Bin 0 -> 936 bytes + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttf | Bin 0 -> 1124 bytes + .../TestCOLRv1.drop-hints-retain-gids.E003.ttf | Bin 0 -> 984 bytes + .../TestCOLRv1.drop-hints-retain-gids.E004.ttf | Bin 0 -> 844 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1532 bytes + .../TestCOLRv1.drop-hints.E000,E001,E002,E003.ttf | Bin 0 -> 1260 bytes + .../TestCOLRv1.drop-hints.E000,E001,E002.ttf | Bin 0 -> 1200 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E001.ttf | Bin 0 -> 996 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttf | Bin 0 -> 940 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E000.ttf | Bin 0 -> 800 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E001.ttf | Bin 0 -> 856 bytes + .../TestCOLRv1.drop-hints.E002,E003,E004.ttf | Bin 0 -> 1248 bytes + .../colrv1/TestCOLRv1.drop-hints.E002,E003.ttf | Bin 0 -> 1116 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E002.ttf | Bin 0 -> 856 bytes + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttf | Bin 0 -> 1044 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E003.ttf | Bin 0 -> 916 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttf | Bin 0 -> 748 bytes + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 1532 bytes + .../TestCOLRv1.retain-gids.E000,E001,E002,E003.ttf | Bin 0 -> 1308 bytes + .../TestCOLRv1.retain-gids.E000,E001,E002.ttf | Bin 0 -> 1248 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E001.ttf | Bin 0 -> 1052 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttf | Bin 0 -> 1020 bytes + .../colrv1/TestCOLRv1.retain-gids.E000.ttf | Bin 0 -> 856 bytes + .../colrv1/TestCOLRv1.retain-gids.E001.ttf | Bin 0 -> 924 bytes + .../TestCOLRv1.retain-gids.E002,E003,E004.ttf | Bin 0 -> 1304 bytes + .../colrv1/TestCOLRv1.retain-gids.E002,E003.ttf | Bin 0 -> 1176 bytes + .../colrv1/TestCOLRv1.retain-gids.E002.ttf | Bin 0 -> 936 bytes + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttf | Bin 0 -> 1124 bytes + .../colrv1/TestCOLRv1.retain-gids.E003.ttf | Bin 0 -> 984 bytes + .../colrv1/TestCOLRv1.retain-gids.E004.ttf | Bin 0 -> 844 bytes + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1532 bytes + test/subset/data/fonts/TestCOLRv1.ttf | Bin 1780 -> 1860 bytes + test/subset/data/tests/colrv1.tests | 16 +- + test/subset/meson.build | 2 +- + 91 files changed, 222 insertions(+), 51 deletions(-) + +commit e51c7f8e79867b790bfb282ca112b922cc7a2022 +Author: Qunxin Liu +Date: Thu Sep 30 10:42:17 2021 -0700 + + [subset] COLRv1: add ClipList/ClipRecord/ClipBox struct definition + + src/hb-ot-color-colr-table.hh | 76 +++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 76 insertions(+) + +commit 2e5636eeaf5da1623c9a14d60163449c44ffacd1 +Author: Qunxin Liu +Date: Wed Aug 4 14:51:52 2021 -0700 + + [subset] add DeltasetIndexMap struct definition + + src/hb-ot-color-colr-table.hh | 86 ++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 84 insertions(+), 2 deletions(-) + +commit d2e986feadfb8bbd7b7109795187780290e28f3b +Author: Qunxin Liu +Date: Tue Aug 3 16:31:42 2021 -0700 + + [subset] update COLRv1 table struct definitions + + src/hb-ot-color-colr-table.hh | 471 ++++++++++++++++++++++++++------------ + src/hb-ot-color-colrv1-closure.hh | 53 +++-- + 2 files changed, 357 insertions(+), 167 deletions(-) + +commit 792ca307b0cfe916e65879403861a583bb12c378 +Author: Khaled Hosny +Date: Tue Oct 5 19:00:29 2021 +0200 + + [meson] Add graphite2 option and deprecate graphite + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3241 + + Should be better handled when we can use https://github.com/mesonbuild/meson/pull/9184 + + meson.build | 5 +++-- + meson_options.txt | 2 ++ + src/meson.build | 2 +- + 3 files changed, 6 insertions(+), 3 deletions(-) + +commit c6557747ef2d5b5effeaa4c6ff97a0d274e0ca6c +Author: Behdad Esfahbod +Date: Thu Oct 21 09:56:47 2021 -0600 + + [style] Use head->macStyle.isExtended in style fallback + + https://github.com/harfbuzz/harfbuzz/issues/3263 + + src/hb-style.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit f3f848b5066f3e6680ae5f68a1047085e7b8d59f +Author: Behdad Esfahbod +Date: Thu Oct 21 09:54:02 2021 -0600 + + [head] Add is_expanded() internally + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3263 + + src/hb-ot-head-table.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit d17155f5d26f7ecb75d24d190c28a46f179c5d37 +Author: Garret Rieger +Date: Wed Oct 13 14:40:00 2021 -0700 + + [repacker] use possibly updated root idx after isolate_subgraph. + + isolate_subgraph can change the root indices in some cases. So operations after the isolation need to use the roots from the output of isolate_subgraph. + + src/hb-repacker.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit a7a36085538f218678c635a595025b7235c0e8cc +Author: Behdad Esfahbod +Date: Tue Oct 12 16:11:25 2021 -0700 + + [docs] Rename overflow_resolution to repacker + + docs/{overflow_resolution.md => repacker.md} | 0 + src/hb-repacker.hh | 4 ++-- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 9bd7ba5019381bb8584811ee63a0ba0cee7dca99 +Author: Behdad Esfahbod +Date: Tue Oct 12 08:44:01 2021 -0700 + + Err on -Wbitwise-instead-of-logical + + Part of https://github.com/harfbuzz/harfbuzz/pull/3256 + + src/hb.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 6bc64317ca0b1784a2826f980393d8cad3cf9de3 +Author: Garret Rieger +Date: Tue Oct 12 13:13:32 2021 -0700 + + Add a writeup of the overflow resolution algorithm in harfbuzz. + + docs/overflow_resolution.md | 265 ++++++++++++++++++++++++++++++++++++++++++++ + src/hb-repacker.hh | 7 ++ + 2 files changed, 272 insertions(+) + +commit 96299d70edba60e5eb88a1efca384bc82392d977 +Author: Nico Weber +Date: Tue Oct 12 10:42:43 2021 -0400 + + Fix Wbitwise-instead-of-logical warnings + + `a || b` only evaluates b if a is false. `a | b` always evaluates + both a and b. If a and b are of type bool, || is usually what you + want, so clang now warns on `|` where both arguments are of type bool. + + This warning fires twice in harfbuzz. In both cases, `|` is used + intentionally, with a comment explaining this. + + Slightly reorder the code a bit to make the compiler happy, and to + make it obvious even without a comment that both calls should be evaluated. + + No intended behavior change. + + src/hb-ot-layout-gpos-table.hh | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit b621c4fc29162c69098dce29fed887eac903d516 +Author: faywong +Date: Mon Oct 11 21:04:47 2021 +0800 + + [subset] Refine the coding style + + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f8538d3117b3f1715ffcfaf1775635c3d867839c +Author: faywong +Date: Mon Oct 11 21:01:21 2021 +0800 + + [subset] Export header & archive when HB_BUILD_SUBSET + + Ease the adopt of hb-subset feature for 3rd party developers + + CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 36ed56b6e81b613b95b551527f6091c9fdbdc7ba +Author: Qunxin Liu +Date: Thu Sep 23 10:51:21 2021 -0700 + + [subset] code cleanup + + - rename copy() method if it takes extra parameter + - get rid of same code blocks + + src/hb-ot-layout-gsubgpos.hh | 110 ++++++++++++++++++------------------------- + 1 file changed, 45 insertions(+), 65 deletions(-) + +commit 3e635cf5e26e33d6210d3092256a49291752deec +Author: David Corbett +Date: Fri Oct 8 17:13:22 2021 -0400 + + [USE] Categorize characters that only have AJT + + src/gen-use-table.py | 69 +++++++++++++----------------------- + src/hb-ot-shape-complex-use-table.hh | 66 +++++++++++++++++----------------- + src/update-unicode-tables.make | 2 +- + 3 files changed, 59 insertions(+), 78 deletions(-) + +commit ae193cd18239e662308a4a189a0241cbf7b92244 +Author: David Corbett +Date: Fri Oct 8 21:58:07 2021 -0400 + + [USE] Insert dotted circles before lone viramas + + src/hb-ot-shape-complex-use-machine.hh | 520 ++++++++++++++++----------------- + src/hb-ot-shape-complex-use-machine.rl | 14 +- + 2 files changed, 265 insertions(+), 269 deletions(-) + +commit 641296b5ebb17875550705f1cea45ab6e6a8e562 +Author: David Corbett +Date: Fri Oct 8 21:39:30 2021 -0400 + + [USE] Categorize U+11046 BRAHMI VIRAMA as HALANT + + src/gen-use-table.py | 3 +-- + src/hb-ot-shape-complex-use-table.hh | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) + +commit cca42cda460491fb8d9ee89cb0b37fe1d59ac04a +Merge: 8eaee2f88 bb50aae9b +Author: Behdad Esfahbod +Date: Fri Oct 8 13:10:21 2021 -0600 + + Merge pull request #3249 from harfbuzz/use-merge-s-o + + [USE] Merge the categories S and O + +commit bb50aae9b42e20e4b7aff0f7ac67a18ff2d65460 +Author: David Corbett +Date: Fri Oct 8 13:25:46 2021 -0400 + + [USE] Document customizations of USE categories + + src/gen-use-table.py | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 7287125c586994bf2ea5d3117b15731475ce3192 +Author: David Corbett +Date: Tue Oct 5 08:52:11 2021 -0400 + + [USE] Merge the categories S and O + + src/gen-use-table.py | 5 - + src/hb-ot-shape-complex-use-machine.hh | 470 ++++++++++++++++----------------- + src/hb-ot-shape-complex-use-machine.rl | 6 +- + src/hb-ot-shape-complex-use-table.hh | 4 +- + src/hb-ot-shape-complex-use.cc | 1 - + 5 files changed, 234 insertions(+), 252 deletions(-) + +commit 8eaee2f887fffb1130b41668a54cd98866f0bfb5 +Author: David Corbett +Date: Thu Oct 7 20:10:31 2021 -0400 + + [USE] Only skip default ignorables within CCSes + + src/gen-use-table.py | 106 ++++++++-------- + src/hb-ot-shape-complex-use-machine.hh | 55 ++++---- + src/hb-ot-shape-complex-use-machine.rl | 9 +- + src/hb-ot-shape-complex-use-table.hh | 145 ++++++++++++++-------- + src/update-unicode-tables.make | 16 +-- + test/shape/data/in-house/tests/use-syllable.tests | 2 +- + 6 files changed, 189 insertions(+), 144 deletions(-) + +commit 4645c3b47c6e7a70f8d55eda543df1109e309347 +Author: David Corbett +Date: Thu Oct 7 08:52:02 2021 -0400 + + Update comments for U+180F FVS4 + + src/hb-ot-layout.hh | 4 ++-- + src/hb-unicode.hh | 3 ++- + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit 5b882c420adc8f0556a0d966a641aef4c812079e +Author: Garret Rieger +Date: Wed Oct 6 11:12:32 2021 -0700 + + [repacker] performance optimizations for topological sorting. + + - Presize the output sorted graph and write it once in the correct order to avoid needing to reverse. + - Swap the old/new graph vectors instead of copying. + - Use a boolean vector for tracking visited instead of a set. + + src/hb-repacker.hh | 25 +++++++++++-------------- + src/hb-vector.hh | 15 +++++++++++++++ + 2 files changed, 26 insertions(+), 14 deletions(-) + +commit ff7a86e9b06f7c9b4c82fb931d681b08be1e0b27 +Author: Garret Rieger +Date: Wed Oct 6 10:51:45 2021 -0700 + + [repacker] remove clone buffer, they are unnessecary. + + When nodes are duplicated it's fine to just reuse head, tail from the node being cloned since we don't modify the contents. + + src/hb-repacker.hh | 39 +++------------------------------------ + 1 file changed, 3 insertions(+), 36 deletions(-) + +commit 8cae8b653ddae37b1a5410a5997a14e44bf934a0 +Author: Garret Rieger +Date: Tue Oct 5 14:03:02 2021 -0700 + + [repacker] add missing fini for parents vector. + + src/hb-repacker.hh | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 7f0ede4f04f3f3eeb985bf40907e127952c7390c +Author: Garret Rieger +Date: Tue Oct 5 13:10:01 2021 -0700 + + [repacker] refactor resolve overflow tests to use a helper. + + src/test-repacker.cc | 165 +++++++++++++++++---------------------------------- + 1 file changed, 53 insertions(+), 112 deletions(-) + +commit 79937d24b75d3039d70feafa2e5ca9836d72689b +Author: Garret Rieger +Date: Tue Oct 5 12:53:21 2021 -0700 + + [repacker] Add repacker test that requires space splitting. + + test/subset/data/fonts/Harmattan-Regular.ttf | Bin 0 -> 835156 bytes + test/subset/data/repack_tests/Makefile.sources | 3 ++- + test/subset/data/repack_tests/space_splitting.tests | 2 ++ + test/subset/meson.build | 2 ++ + 4 files changed, 6 insertions(+), 1 deletion(-) + +commit 7883b7ed95fcf577e4a5771daeaa01a89058eade +Author: Garret Rieger +Date: Tue Oct 5 12:46:59 2021 -0700 + + [repacker] Add additional splitting spaces test. + + Fix issues it uncovered. + + src/hb-repacker.hh | 11 +++-- + src/test-repacker.cc | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 133 insertions(+), 3 deletions(-) + +commit 6265663de4c77dd504d231f2b8f7fd8e80363b40 +Author: Garret Rieger +Date: Tue Oct 5 11:30:04 2021 -0700 + + [repacker] add test for splitting spaces. + + src/test-repacker.cc | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 105 insertions(+) + +commit d97bd4268a8acdbc3628855057743d2b22e85341 +Author: Garret Rieger +Date: Tue Oct 5 10:53:05 2021 -0700 + + [repacker] when assigning spaces use post isolation node indices. + + isolate_subgraph can result in some of the roots being duplicated and moved to new indices, so do subgraph isolation before assign roots to spaces. + + src/hb-repacker.hh | 69 ++++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 51 insertions(+), 18 deletions(-) + +commit bb57df7a4fae6991895388c8b4fab8ae9de80332 +Author: Khaled Hosny +Date: Tue Oct 5 15:40:30 2021 +0200 + + [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978 + + .../fonts/e6185e88b04432fbf373594d5971686bb7dd698d.ttf | Bin 0 -> 79552 bytes + test/shape/data/in-house/tests/aat-morx.tests | 1 + + 2 files changed, 1 insertion(+) + +commit 16245503776b5d5487bb07640b1d75d0429f2143 +Author: Khaled Hosny +Date: Tue Oct 5 15:35:17 2021 +0200 + + [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/3244 + + .../fonts/e2b17207c4b7ad78d843e1b0c4d00b09398a1137.ttf | Bin 0 -> 1488 bytes + test/shape/data/in-house/tests/indic-syllable.tests | 1 + + 2 files changed, 1 insertion(+) + +commit ccfc0481539ca34cba578ebbcef8ac0ea315e2f0 +Author: Behdad Esfahbod +Date: Tue Oct 5 07:00:50 2021 -0600 + + [indic] Apply 'calt' and 'clig' across syllable boundaries + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3244 + + src/hb-ot-shape-complex-indic.cc | 3 --- + 1 file changed, 3 deletions(-) + +commit d58f1685cee7fef904f4149561a2dcf5ec519ac3 +Author: Behdad Esfahbod +Date: Mon Oct 4 08:40:24 2021 -0600 + + [ot-shape] Tweak table order some more; apply GPOS with morx + + During 5bc05ba155 accidentally GPOS was disabled when morx was + enabled. Fix that. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2757#issuecomment-933531978 + + src/hb-ot-shape.cc | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit f8ebb8a65778745e43c560270d198c77c9d55220 +Author: David Corbett +Date: Wed Sep 29 19:18:25 2021 -0400 + + [USE] Update the data files + + This uses the data files from + . + + src/hb-ot-shape-complex-use-table.hh | 187 +++++++++++++++++----- + src/ms-use/IndicPositionalCategory-Additional.txt | 97 +++++------ + src/ms-use/IndicSyllabicCategory-Additional.txt | 164 ++++++++++--------- + 3 files changed, 284 insertions(+), 164 deletions(-) + +commit 564afc425abac78fc2741540cb0d77cf31491f40 +Author: David Corbett +Date: Tue Sep 28 17:33:47 2021 -0400 + + [USE] Remove overrides for hieroglyphic categories + + src/gen-use-table.py | 8 --- + src/hb-ot-shape-complex-use-table.hh | 96 +++++------------------------------- + 2 files changed, 13 insertions(+), 91 deletions(-) + +commit 8c654420692a3534413334f6d096738a796f4384 +Author: David Corbett +Date: Sat Sep 25 16:38:32 2021 -0400 + + [Unicode 14] Handle U+180F FVS4 + + src/hb-ot-layout.hh | 2 +- + src/hb-ot-shape-complex-arabic.cc | 2 +- + src/hb-unicode.hh | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 375a6c8f81a894ac15be7542e17571ad3ebdf16a +Author: Garret Rieger +Date: Wed Sep 29 18:14:57 2021 -0700 + + [repacker] add the ability to move subgraphs from a shared space into their own space. + + Used to resolve overflows during manual resolution. + + src/hb-repacker.hh | 93 ++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 84 insertions(+), 9 deletions(-) + +commit 0dccbf368f1158f474f7ec3c6647932fbdda4e60 +Author: Garret Rieger +Date: Wed Sep 29 14:28:27 2021 -0700 + + [repacker] Handle the case where a subgraph root has an incoming 32 and 16 bit edge. + + In this case the entire subgraph from that root will be duplicated. + + src/hb-repacker.hh | 49 ++++++++++++++++++++---- + src/test-repacker.cc | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 146 insertions(+), 8 deletions(-) + +commit 794b00db4b63e8314aee96c23a20ecb878452eef +Author: Qunxin Liu +Date: Mon Sep 27 17:21:16 2021 -0700 + + [subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/6616166961905664 + + src/hb-ot-math-table.hh | 8 ++++++-- + ...z-testcase-minimized-hb-subset-fuzzer-6616166961905664 | Bin 0 -> 919 bytes + 2 files changed, 6 insertions(+), 2 deletions(-) + +commit 816c5302a7f5bfbbac1b89a72f9d50871085ddf3 +Author: Garret Rieger +Date: Tue Sep 28 16:04:27 2021 -0700 + + [repacker] restrict 32 bit subgraph connected component search to only nodes reachable via directed links. + + src/hb-repacker.hh | 20 ++++++--- + src/test-repacker.cc | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 136 insertions(+), 6 deletions(-) + +commit 67eb222b8eae1a10d0fd485a04254144e4051d46 +Author: Garret Rieger +Date: Tue Sep 28 13:36:06 2021 -0700 + + [repacker] when assigning each connected subgraph a space, also isolate it. + + This will break any links coming from space 0 (ie. the 16 bit offset only space). + + src/hb-repacker.hh | 46 ++++++++++++++-------------------------------- + src/test-repacker.cc | 50 ++++++++++++++++++++++++++++++++++---------------- + 2 files changed, 48 insertions(+), 48 deletions(-) + +commit 307acf7fb0d4c767b4b78ba6c80ab83399d16cb4 +Author: Garret Rieger +Date: Tue Sep 28 12:08:18 2021 -0700 + + [repacker] add space assignment based on connected components. + + Assign each connected component that is underneath one or more 32 bit offsets into a unique space. This ensures that 32 bit subgraphs which are connected are packed into the same space. + + src/hb-repacker.hh | 79 ++++++++++++++++++++++++++++++++- + src/test-repacker.cc | 122 ++++++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 182 insertions(+), 19 deletions(-) + +commit c77bdf1dcf86dcad79e90643a5f4e7d04fbae975 +Author: Garret Rieger +Date: Fri Sep 24 15:58:57 2021 -0700 + + [repacker] begin storing each nodes parents. + + Will be used for connected component search. + + src/hb-repacker.hh | 132 +++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 87 insertions(+), 45 deletions(-) + +commit a52c6df38a38c4e36ff991dfb4b7d92e48a44553 +Author: Garret Rieger +Date: Mon Sep 27 11:22:05 2021 -0700 + + [subset] Fix bug in composite operation counting. + + Adding the result of add_gid_and_children to operation count over counts the number of operations. + + src/hb-ot-glyf-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit efda2f14e104eedfee7da50ba2d22ba9a9ae376b +Author: Garret Rieger +Date: Fri Sep 24 16:28:34 2021 -0700 + + [repacker] fix bug in subgraph isolation. + + Prior to this fix id remapping at the end of the isolation operation was fed the old subgraph instead of the new one. Which results in object indices being remapped for the nodes outside of the new subgraph. Adds a test which detects this problem. + + src/hb-repacker.hh | 11 +++++++-- + src/test-repacker.cc | 64 ++++++++++++++++++++++++++++++++++++++++++++++++---- + 2 files changed, 69 insertions(+), 6 deletions(-) + +commit 6f1909439862cc37246aba55a85c0a072b945dff +Author: Behdad Esfahbod +Date: Thu Sep 23 08:39:29 2021 -0600 + + [getn-hb-version.py] Open old output in UTF-8 mode as well + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3227 + + src/gen-hb-version.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9247d24d7f41f820d7ea79089b482410b927edc8 +Author: Garret Rieger +Date: Wed Sep 22 16:00:02 2021 -0700 + + [repacker] s/0/HB_TAG_NONE + + src/test-repacker.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit fe155de9895e99d8ae13cb7516e2a70d6e7f8856 +Author: Garret Rieger +Date: Fri Sep 10 14:55:24 2021 -0700 + + [repacker] handle a couple of duplication edge cases. + + - Detect cases where there are multiple links from a parent to a child. Don't duplicate that child if those are the only remaining links to the child. + - Correctly handle isolating a subgraph where the root idx has multiple incoming links. + + src/hb-repacker.hh | 47 ++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 36 insertions(+), 11 deletions(-) + +commit c19ec97da722d4a91024328c2d31f5e2f984fe10 +Author: Garret Rieger +Date: Thu Sep 9 10:53:09 2021 -0700 + + [repacker] reduce the bits used by order by 2 to give more bits to distance. + + src/hb-repacker.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit d5beb96e06c34b6f5799f341d4b27e952e739d85 +Author: Garret Rieger +Date: Thu Sep 9 10:40:08 2021 -0700 + + [repacker] add repacker isolation test on real font. + + .../subset/data/fonts/NotoNastaliqUrdu-Regular.ttf | Bin 0 -> 570552 bytes + test/subset/data/repack_tests/Makefile.sources | 1 + + test/subset/data/repack_tests/isolation.tests | 96 +++++++++++++++++++++ + test/subset/meson.build | 1 + + 4 files changed, 98 insertions(+) + +commit d0daa7a59be05689ac618b6c22f2c112f67d75cb +Author: Garret Rieger +Date: Thu Sep 9 10:25:43 2021 -0700 + + [repacker] add a couple more complex isolation tests. + + src/hb-repacker.hh | 5 ++- + src/test-repacker.cc | 120 +++++++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 119 insertions(+), 6 deletions(-) + +commit 62c502cd9dc4637934f846caa9587a2aebca9ee9 +Author: Garret Rieger +Date: Thu Sep 9 09:57:42 2021 -0700 + + [repacker] correctly update incoming_edges in duplicate. + + src/hb-repacker.hh | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit a57ef8df7ebf70f08065233f3ad218c451eff98a +Author: Garret Rieger +Date: Wed Sep 8 17:31:39 2021 -0700 + + [repacker] default space to 0. + + Since vector push() init's new objects to all zeros. + + src/hb-repacker.hh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 58facaade1c85906fec70584abfe13995a9dd07b +Author: Garret Rieger +Date: Wed Sep 8 16:08:48 2021 -0700 + + [repacker] put each 32 bit subgraph into it's own packing space. + + Each subgraph pointed to by a 32 bit offset should be packed into it's own space. This adds a space property to vertices which affects the distance calculation. This effectively places the distances for all of the nodes of a 32 bit subgraph into a distinct range. Thus all of the nodes of the subgraph will be packed together. + + src/hb-repacker.hh | 12 ++++++++++-- + src/test-repacker.cc | 3 +++ + 2 files changed, 13 insertions(+), 2 deletions(-) + +commit 543a3f97333a3bdede0cadd19b9a8554df81f1e8 +Author: Garret Rieger +Date: Wed Sep 8 15:07:02 2021 -0700 + + [repacker] Add repacker test for subgraph isolation. + + src/hb-repacker.hh | 10 +++++++-- + src/test-repacker.cc | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 65 insertions(+), 2 deletions(-) + +commit 7147f169d6cc93f54b7722022829ddb68957d2a5 +Author: Garret Rieger +Date: Wed Sep 8 13:44:25 2021 -0700 + + [repacker] recursively duplicate nodes during isolation. + + If a node is duplicated during isolation then any children it has will have incoming links from outside the subgraph (from the duplicated node and the original node), so they must be duplicated too. + + src/hb-repacker.hh | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +commit 41bbf2812e9f4f6e704496da5d73ba74d0b4465e +Author: Garret Rieger +Date: Wed Sep 8 10:14:00 2021 -0700 + + [repacker] do extension subtable isolation before starting resolution attempts. + + src/hb-repacker.hh | 39 ++++++++++++++++++++++++++++++++------- + src/hb-subset.cc | 2 +- + src/test-repacker.cc | 4 ++-- + 3 files changed, 35 insertions(+), 10 deletions(-) + +commit 8d8b7458a4cac9131bd650800ef0e3c0b67adfd4 +Author: Garret Rieger +Date: Tue Sep 7 16:52:37 2021 -0700 + + [repacker] extract overflows processing into its own method. + + src/hb-repacker.hh | 102 ++++++++++++++++++++++++++--------------------------- + 1 file changed, 51 insertions(+), 51 deletions(-) + +commit b14b3f13bae48045c8a8465bdf6f579cb833852c +Author: Garret Rieger +Date: Tue Sep 7 16:32:13 2021 -0700 + + [repacker] begin implementing the ability to isolate extension subtables. + + Adds isolate_subgraph operation to the repacker. This severs any links from outside a subgraph by duplicating the affected vertices. This will be used to isolate the subgraphs of a extension subtable from the rest of object graph. Thus allowing the extension subtable to be packed far away from the rest of the objects. + + src/hb-repacker.hh | 122 +++++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 105 insertions(+), 17 deletions(-) + +commit 02c4a516dbcedc40cf7436105a56c6d913fa3675 +Author: Garret Rieger +Date: Tue Sep 7 13:22:19 2021 -0700 + + Add a debug message when offset overflow resolution fails. + + src/hb-repacker.hh | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +commit cb2d71c648137f1bd7586d3ec05050f0db50865f +Author: Ben Wagner +Date: Fri Jul 30 14:30:20 2021 -0400 + + [mutex] Add hb_mutex_t std::mutex implementation + + Instead of failing... + + src/hb-mutex.hh | 33 ++++++++++++++++++++------------- + 1 file changed, 20 insertions(+), 13 deletions(-) + +commit 67b3962fa5348ac7ee8e6297edcc277f3983e8be +Author: Behdad Esfahbod +Date: Wed Sep 22 16:21:27 2021 -0600 + + [atomic] Cannot fail anymore + + src/hb-atomic.hh | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +commit ca7b9daef06fc515ec84cfb95e7204e9eef3f00e +Author: Qunxin Liu +Date: Mon Sep 20 14:42:51 2021 -0700 + + [subset] subset MATH table + + src/hb-ot-layout-common.hh | 37 +++ + src/hb-ot-math-table.hh | 268 +++++++++++++++++++++ + src/hb-subset-plan.cc | 20 +- + src/hb-subset-plan.hh | 1 + + src/hb-subset.cc | 2 + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../math/STIXTwoMath-Regular.default.2f,7c,305.ttf | Bin 0 -> 6388 bytes + ...woMath-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 1038580 bytes + .../STIXTwoMath-Regular.glyph-names.2f,7c,305.ttf | Bin 0 -> 6540 bytes + ...th-Regular.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 1091356 bytes + ...TIXTwoMath-Regular.notdef-outline.2f,7c,305.ttf | Bin 0 -> 6636 bytes + ...Regular.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 1038828 bytes + .../STIXTwoMath-Regular.retain-gids.2f,7c,305.ttf | Bin 0 -> 14916 bytes + ...th-Regular.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1053656 bytes + test/subset/data/fonts/STIXTwoMath-Regular.ttf | Bin 0 -> 1517976 bytes + test/subset/data/tests/math.tests | 12 + + test/subset/meson.build | 1 + + 18 files changed, 342 insertions(+), 1 deletion(-) + +commit c2cc566c9d7f63c024c0a15e93c9ae99717a4b4f +Author: Garret Rieger +Date: Wed Sep 22 14:15:55 2021 -0700 + + [subset] Fix subset_offset_array adding unused space to serializer. + + ArrayOf.serialize_append allocates space for the new item, but ArrayOf.pop() does not recover the allocated space. So in the case where the revert path was entered the extra space added by serialize_append gets left in the serialization buffer. This moves the snapshot to before ArrayOf.serialize_append is called so that revert cleans up the buffer extend. + + src/hb-ot-layout-common.hh | 4 ++-- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 4 ++-- + ...ns-BlackItalic.default.retain-all-codepoint.ttf | Bin 120240 -> 120236 bytes + ...lackItalic.glyph-names.retain-all-codepoint.ttf | Bin 132484 -> 132480 bytes + ...kItalic.notdef-outline.retain-all-codepoint.ttf | Bin 120240 -> 120236 bytes + ...s2_1_font7.layout-test-retain-gids.21,23,25.otf | Bin 1728 -> 1728 bytes + .../gpos2_1_font7.layout-test.21,23,25.otf | Bin 1384 -> 1384 bytes + ...e_subrules_f2.layout-test-retain-gids.41,42.otf | Bin 2208 -> 2208 bytes + ...ext1_multiple_subrules_f2.layout-test.41,42.otf | Bin 1400 -> 1400 bytes + ...e_subrules_f2.layout-test-retain-gids.41,42.otf | Bin 2224 -> 2224 bytes + ...ext2_multiple_subrules_f2.layout-test.41,42.otf | Bin 1416 -> 1416 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11388 -> 11372 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17688 -> 17640 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3520 -> 3512 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12380 -> 12360 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19380 -> 19340 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18224 -> 18208 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23748 -> 23704 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9164 -> 9160 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18184 -> 18164 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25432 -> 25392 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15856 -> 15856 bytes + 23 files changed, 5 insertions(+), 5 deletions(-) + +commit 8c5c81746d8d4c5921be50a85d219deea2c95762 +Author: Qunxin Liu +Date: Sun Sep 12 20:16:30 2021 -0700 + + [subset] fix find_duplicate_features + + We should check each feature against all other features with the same + tag for duplicates. + + src/hb-ot-layout-gsubgpos.hh | 70 +++++++++++---------- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...fault.20,2f,38,49,4c,51,53,66,67,6f,b4,2044.ttf | Bin 0 -> 8452 bytes + ...ns-BlackItalic.default.retain-all-codepoint.ttf | Bin 0 -> 120240 bytes + ...names.20,2f,38,49,4c,51,53,66,67,6f,b4,2044.ttf | Bin 0 -> 8552 bytes + ...lackItalic.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 132484 bytes + ...tline.20,2f,38,49,4c,51,53,66,67,6f,b4,2044.ttf | Bin 0 -> 8452 bytes + ...kItalic.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 120240 bytes + .../subset/data/fonts/AlegreyaSans-BlackItalic.ttf | Bin 0 -> 211948 bytes + .../data/tests/layout.duplicate_features.tests | 11 ++++ + test/subset/meson.build | 1 + + 12 files changed, 50 insertions(+), 34 deletions(-) + +commit 1afc3874e00992c378977c2feb25f8088c9c5a9a +Author: Qunxin Liu +Date: Sun Sep 19 20:41:43 2021 -0700 + + [subset] add closure_glyphs () method for MATH table + + src/hb-ot-math-table.hh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 57 insertions(+) + +commit 3b2929e8a9da349fbd8437fd0b5cf0c8ce92cf32 +Author: Behdad Esfahbod +Date: Tue Sep 21 12:21:02 2021 -0600 + + [set-digest] Use using instead of typedef + + src/hb-set-digest.hh | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +commit 5694561f75bdea9c7d77d7932598fe4e5f45b33e +Author: Simon Cozens +Date: Mon Sep 20 15:21:11 2021 +0100 + + Add support for Pwo Karen / Ason Chin medial la + + https://github.com/harfbuzz/harfbuzz/pull/3217 + + src/hb-ot-shape-complex-myanmar-machine.hh | 473 +++++++++++++++-------------- + src/hb-ot-shape-complex-myanmar-machine.rl | 5 +- + src/hb-ot-shape-complex-myanmar.hh | 7 +- + 3 files changed, 259 insertions(+), 226 deletions(-) + +commit bff56854323f853ed3dbad1105555da5192a7d1b +Author: Behdad Esfahbod +Date: Mon Sep 20 13:25:58 2021 -0600 + + [khmer] Towards separating Khmer from Indic table + + src/hb-ot-shape-complex-khmer.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 5d957ffe74d767f621d7ce4833ce2349206a2391 +Author: Behdad Esfahbod +Date: Mon Sep 20 11:33:01 2021 -0600 + + [myanmar] Towards separating Myanmar from Indic table + + src/hb-ot-shape-complex-myanmar.cc | 2 +- + src/hb-ot-shape-complex-myanmar.hh | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 6db4b56e05a6fd993b4f3b5f1d21acc12236361e +Author: Khaled Hosny +Date: Mon Sep 20 19:18:39 2021 +0200 + + Make the file UTF-8 again + + GitHub web interface failed to show the encoding change. + + src/hb-subset-input.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 14a2df7bc237e7e59ff62c710751c7069733a469 +Author: Behdad Esfahbod +Date: Sun Sep 19 23:06:09 2021 -0400 + + Add stub HBUINT15 + + src/hb-open-type.hh | 9 +++++++++ + src/hb-ot-layout-common.hh | 2 +- + 2 files changed, 10 insertions(+), 1 deletion(-) + +commit c852b8684154f707a897b6b62338efc48ebcfd9e +Author: Behdad Esfahbod +Date: Sun Sep 19 16:30:12 2021 -0400 + + Rename HBGlyphID to HBGlyphID16 + + perf/texts/en-words.txt | 2 +- + src/hb-aat-layout-bsln-table.hh | 4 +- + src/hb-aat-layout-common.hh | 16 +++--- + src/hb-aat-layout-just-table.hh | 8 +-- + src/hb-aat-layout-kerx-table.hh | 4 +- + src/hb-aat-layout-morx-table.hh | 32 ++++++------ + src/hb-open-type.hh | 4 +- + src/hb-ot-cmap-table.hh | 4 +- + src/hb-ot-color-cbdt-table.hh | 8 +-- + src/hb-ot-color-colr-table.hh | 6 +-- + src/hb-ot-glyf-table.hh | 2 +- + src/hb-ot-layout-base-table.hh | 2 +- + src/hb-ot-layout-common.hh | 18 +++---- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsub-table.hh | 78 +++++++++++++++--------------- + src/hb-ot-layout-jstf-table.hh | 2 +- + src/hb-ot-math-table.hh | 4 +- + src/hb-ot-shape-complex-arabic-fallback.hh | 14 +++--- + src/hb-ot-vorg-table.hh | 2 +- + 19 files changed, 106 insertions(+), 106 deletions(-) + +commit 74f96d9d4b359fc138d21709c975a09ba933fb3d +Author: Garret Rieger +Date: Fri Sep 17 13:46:07 2021 -0700 + + [repacker] fix heap use after free in repacker. + + Don't store a reference to the link in overflow records as the link object may be freed if the sorted graph vector is resized. + + src/hb-repacker.hh | 12 ++++++------ + ...testcase-minimized-hb-subset-fuzzer-5127321313476608 | Bin 0 -> 60417 bytes + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 7143c8333bae6b0ca238a92d1fdb222d088bf9d1 +Author: ActuallyaDeviloper +Date: Sat Sep 18 20:59:38 2021 +0200 + + Make the code able to compile with MSVC++ from Visual Studio 2015 (Version 14.0.25431.01, Update 3) sucessfully again. + + src/hb-subset-input.hh | 24 +++++++++++++----------- + 1 file changed, 13 insertions(+), 11 deletions(-) + +commit b36f1510ec5180724e7866e2a86570429a435c93 +Author: Khaled Hosny +Date: Sat Sep 18 23:09:07 2021 +0200 + + [doc] Add missing version tags + + src/hb-ot-layout.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9c387e20d65a7a366ac270d789f6ad266014c9e0 +Author: Khaled Hosny +Date: Fri Sep 17 21:32:30 2021 +0200 + + 3.0.0 + + NEWS | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-common.h | 12 ++++++------ + src/hb-style.cc | 2 +- + src/hb-style.h | 2 +- + src/hb-version.h | 8 ++++---- + 8 files changed, 66 insertions(+), 14 deletions(-) + +commit e0d5fe740a6c23a995d4d881bfa330eb1063059d +Author: Behdad Esfahbod +Date: Fri Sep 17 08:27:03 2021 -0400 + + Centralize math include + + https://github.com/harfbuzz/harfbuzz/pull/3212 + + src/hb-style.cc | 3 --- + src/hb.hh | 3 +++ + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 671f1d149a880491541d552c0d6e16365480790b +Author: Khaled Hosny +Date: Wed Sep 15 15:13:41 2021 +0200 + + [ci] meson 0.55.0 didn’t work for harfbuzz + + https://github.com/mesonbuild/meson/issues/7437 + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f1b20b5a1466cbbea358960967b4a1bbb17956f2 +Author: Khaled Hosny +Date: Wed Sep 15 14:52:49 2021 +0200 + + [ci] Ragel subproject requires meson 0.55.0 + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 835fc1376f47e63f073a967cb6190c194e1e63f2 +Author: Khaled Hosny +Date: Wed Sep 15 14:14:04 2021 +0200 + + [ci] Build ragel on the Linux CI job + + To make sure we don’t accidentally break this option. + + .github/workflows/linux-ci.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a59e7ec9938cb8a927ea7b02aee8800c36d7d71a +Author: Khaled Hosny +Date: Wed Sep 15 14:02:52 2021 +0200 + + [meson] Add ragel_subproject option + + Add an option to build fallback ragel subproject when no suitable ragel + version is found, and make it off by default since most builder don’t + need ragel at all. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3208 (hopefully) + + meson_options.txt | 2 ++ + src/meson.build | 8 +++++--- + 2 files changed, 7 insertions(+), 3 deletions(-) + +commit 60a38d7988f8e1a15411aabde9ea91d1fe519b7b +Merge: f4649f389 19cd84b4e +Author: Khaled Hosny +Date: Fri Sep 17 11:25:42 2021 +0200 + + Merge pull request #3210 from NikitaFeodonit/main + + CMake: Detect pthread with module FindThread + +commit f4649f389563819cee909df3c11087dc716f35e9 +Author: Garret Rieger +Date: Thu Sep 16 13:40:44 2021 -0700 + + [subset] restore hb_subset_input_unicode/glyph_set () to documentation. + + docs/harfbuzz-sections.txt | 2 ++ + 1 file changed, 2 insertions(+) + +commit d700646c33af53afcabe564e9943565d58e1192a +Author: Garret Rieger +Date: Thu Sep 16 11:23:09 2021 -0700 + + [subset] In preperation for 3.0.0 release remove legacy subsetting api methods. + + src/hb-subset-input.cc | 202 ------------------------------------- + src/hb-subset.cc | 8 -- + src/hb-subset.h | 82 ++------------- + test/api/hb-subset-test.h | 4 +- + test/api/test-subset-drop-tables.c | 4 +- + test/api/test-subset-glyf.c | 12 +-- + test/api/test-subset-gpos.c | 6 +- + test/api/test-subset.c | 53 +--------- + util/hb-subset.cc | 8 +- + 9 files changed, 25 insertions(+), 354 deletions(-) + +commit 19cd84b4e95190f7ee236cb15a60d4a6be7040a0 +Author: NikitaFeodonit +Date: Wed Sep 15 16:31:32 2021 +0300 + + CMake: Detect pthread with module FindThread + + Set CMake minimum version to 3.1. + + CMakeLists.txt | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit ae145378540846ea3e51d6dee0033b16b9a43dea +Author: Behdad Esfahbod +Date: Wed Sep 15 07:46:33 2021 -0400 + + [style] Change tag type to hb_style_tag_t + + https://github.com/harfbuzz/harfbuzz/pull/3201#discussion_r708914354 + + src/hb-style.cc | 5 ++--- + src/hb-style.h | 2 +- + 2 files changed, 3 insertions(+), 4 deletions(-) + +commit 470686e8179d728d70fe7d738e831f6d26281def +Author: David Corbett +Date: Tue Sep 14 20:56:37 2021 -0400 + + [USE] Send Khitan Small Script and Yezidi to USE + + src/hb-ot-shape-complex.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 22cbd038d3578c344e265a098fc98ef168f8d18b +Author: Khaled Hosny +Date: Tue Sep 14 12:34:25 2021 +0200 + + [meson] Add ragel subproject + + If ragel 6.10 is not found, build it from source. + + Seems to work, except that ragel uses exceptions and we configure + HarfBuzz build to not use exceptions, and I can’t find away to enable + exceptions only for the ragel subproject. I had to remove cpp_eh=none + from default options and try to disable exceptions in MSVC manually + (other compilers are already handled). + + Makefile.am | 2 ++ + meson.build | 3 +- + src/gen-ragel-artifacts.py | 8 ++--- + src/meson.build | 5 ++- + subprojects/.gitignore | 1 + + subprojects/packagefiles/ragel/meson.build | 58 ++++++++++++++++++++++++++++++ + subprojects/ragel.wrap | 11 ++++++ + 7 files changed, 82 insertions(+), 6 deletions(-) + +commit 5898a9618cf6004d51c6fa2b34212c0ee61df3b0 +Author: Khaled Hosny +Date: Tue Sep 14 07:09:50 2021 +0200 + + [ragel] Regenerate state machine files with 6.10 + + src/hb-buffer-deserialize-json.hh | 1189 +++++++++++++----------- + src/hb-buffer-deserialize-text.hh | 1437 ++++++++++++++++-------------- + src/hb-ot-shape-complex-khmer-machine.hh | 665 +++++++------- + src/hb-ot-shape-complex-use-machine.hh | 1036 ++++++++++----------- + 4 files changed, 2171 insertions(+), 2156 deletions(-) + +commit 7e9ac8fea2b6d2b729c1e4c2a773ed2947265b16 +Author: Khaled Hosny +Date: Tue Sep 14 07:07:00 2021 +0200 + + [meson] Require ragel 6.10 + + Ragel 7 is also not stable from upstream's point of view. + + This uses “version” argument find_program(), which was introduced in + meson 0.52.0, so I raised the minimum required meson version + accordingly. + + .circleci/config.yml | 2 +- + .github/workflows/linux-ci.yml | 2 +- + meson.build | 2 +- + src/meson.build | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +commit 175f24a45938ec27f54154b40d9283f4cf47981c +Merge: cd77846bd f1493357f +Author: Behdad Esfahbod +Date: Tue Sep 14 18:46:05 2021 -0600 + + Merge pull request #3206 from harfbuzz/unicode-14 + + Update to Unicode 14.0.0 + +commit f1493357f745ef554276cb5cf3054d3d0f8a7af5 +Author: David Corbett +Date: Tue Sep 14 18:46:50 2021 -0400 + + [Unicode 14] Update the Arabic joining script list + + src/hb-ot-shape-complex-arabic-joining-list.hh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit a0101a31b5079d7f223e109d13b4f45397aa1db0 +Author: David Corbett +Date: Tue Sep 14 18:38:50 2021 -0400 + + [Unicode 14] Add tests + + test/api/test-unicode.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +commit 2c3e4b279b577073df5a16610f7e6ae8aa790ef5 +Author: David Corbett +Date: Tue Sep 14 18:31:42 2021 -0400 + + [Unicode 14] Send all the new scripts to USE + + src/hb-ot-shape-complex.hh | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 20736d9bb33f18b8c657e3451ec1287b2866c0d4 +Author: David Corbett +Date: Tue Sep 14 18:25:38 2021 -0400 + + [Unicode 14] Update the USE table + + src/hb-ot-shape-complex-use-table.hh | 76 ++++++++++++++++++------------------ + 1 file changed, 39 insertions(+), 37 deletions(-) + +commit 35ac0de42bc3904e90039c7f00a9daf088f9d363 +Author: David Corbett +Date: Tue Sep 14 18:14:20 2021 -0400 + + [Unicode 14] Update the emoji table + + src/hb-unicode-emoji-table.hh | 8 ++++---- + src/update-unicode-tables.make | 4 +++- + 2 files changed, 7 insertions(+), 5 deletions(-) + +commit ec5688f50fbc53de9b78fe11ef33fb903075aea6 +Author: David Corbett +Date: Tue Sep 14 18:09:05 2021 -0400 + + [Unicode 14] Update the vowel constraint table + + src/hb-ot-shape-complex-vowel-constraints.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 11d5334d8e782ee3284a942eaae1f2dc9e4b4080 +Author: David Corbett +Date: Tue Sep 14 18:00:33 2021 -0400 + + [Unicode 14] Update the Indic table + + src/hb-ot-shape-complex-indic-table.cc | 42 +++++++++++++++++----------------- + 1 file changed, 21 insertions(+), 21 deletions(-) + +commit 18a46eeafbe075dba953a1aba9bffeff089dd227 +Author: David Corbett +Date: Tue Sep 14 17:55:54 2021 -0400 + + [Unicode 14] Update the Arabic table + + src/hb-ot-shape-complex-arabic-table.hh | 38 ++++++++++++++++++++------------- + 1 file changed, 23 insertions(+), 15 deletions(-) + +commit 7b05eec0548f5f5f74cd697a815d45ef2ab51e27 +Author: David Corbett +Date: Tue Sep 14 17:51:11 2021 -0400 + + [Unicode 14] Update the script direction list + + src/hb-common.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 26e1498e76245f9e57f7d257c89a7e4be23d65ff +Author: David Corbett +Date: Tue Sep 14 18:07:29 2021 -0400 + + [Unicode 14] Update the UCD table + + src/hb-ucd-table.hh | 6796 ++++++++++++++++++++++++++------------------------- + 1 file changed, 3457 insertions(+), 3339 deletions(-) + +commit 67f1aa4d219b4636e151c7c01ab393d092ae7b6f +Author: David Corbett +Date: Tue Sep 14 17:43:13 2021 -0400 + + [Unicode 14] Add new `hb_script_t` values + + src/hb-common.h | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit cd77846bd9e2bab9c40048597ec0ee47604376c3 +Author: Behdad Esfahbod +Date: Tue Sep 14 08:35:19 2021 -0400 + + [util] Fix leak of an hb_font_t + + util/font-options.hh | 4 +++- + util/options.hh | 6 ++++-- + 2 files changed, 7 insertions(+), 3 deletions(-) + +commit da285d511f85d6189fdb213cd29f25730baaed02 +Author: Behdad Esfahbod +Date: Tue Sep 14 08:28:12 2021 -0400 + + [util/shape-consumer] Simplify font tracking + + util/shape-consumer.hh | 23 +++++++++++------------ + 1 file changed, 11 insertions(+), 12 deletions(-) + +commit bda3238c89fa4673c8772ad02f1949fc19b41a5e +Author: Behdad Esfahbod +Date: Tue Sep 14 08:12:48 2021 -0400 + + Add fallback atexit implementation using template descrutors + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3197 + + src/hb.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 9c270451581a0d7e969c29d65a9ba62b6b7b9b12 +Author: Behdad Esfahbod +Date: Tue Sep 14 07:50:35 2021 -0400 + + [style] Fix another float conversion warning + + src/hb-style.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5a1a6f1fe35aa3e1325239e5e7b0ac67c49f7105 +Author: Behdad Esfahbod +Date: Tue Sep 14 07:14:56 2021 -0400 + + [ot-shape] Enabled two more features: 'Harf' and 'Buzz' + + Considered 'required', as opposed to existing 'HARF' and 'BUZZ', + consider them discretionary. + + See discussion in https://github.com/harfbuzz/harfbuzz/issues/3200 + + src/hb-ot-shape.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit ed1163208d97d77082d9b6e57671a55512a87729 +Author: Behdad Esfahbod +Date: Tue Sep 14 07:09:54 2021 -0400 + + Call atexit() via hb_atexit() + + Part of https://github.com/harfbuzz/harfbuzz/issues/3197 + + src/hb-common.cc | 8 ++------ + src/hb-ft.cc | 24 ++++++------------------ + src/hb-glib.cc | 12 +++--------- + src/hb-icu.cc | 12 +++--------- + src/hb-ot-font.cc | 12 +++--------- + src/hb-shape.cc | 12 +++--------- + src/hb-shaper.cc | 12 +++--------- + src/hb-ucd.cc | 10 ++-------- + src/hb-uniscribe.cc | 12 +++--------- + src/hb.hh | 17 +++++++++++++---- + 10 files changed, 41 insertions(+), 90 deletions(-) + +commit ad4df20dd62efe6db4993861cba2268bd3921c1a +Author: Behdad Esfahbod +Date: Tue Sep 14 07:11:33 2021 -0400 + + [style] Fix float conversion warning + + src/hb-style.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c5cc23a9b59c2c039a4838e5734741f63c7ae23f +Author: Behdad Esfahbod +Date: Mon Sep 13 12:14:06 2021 -0400 + + [style] Change private slant tag + + https://github.com/harfbuzz/harfbuzz/issues/3200#issuecomment-918352162 + + src/hb-style.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d748586a186826e8e09ddf290a064f84ff5619e6 +Author: Khaled Hosny +Date: Sat Sep 11 01:11:55 2021 +0200 + + [style] Try harder to fix MSVC build + + https://docs.microsoft.com/en-us/cpp/c-runtime-library/math-constants?view=msvc-160 + + src/hb-style.cc | 1 + + 1 file changed, 1 insertion(+) + +commit e275f0d7edb190fba0e0af56f0e4a7775b7bfccb +Author: Khaled Hosny +Date: Sat Sep 11 01:03:32 2021 +0200 + + [style] Try to fix MSVC build + + src/hb-style.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit eb4075a1ed8362ea3dd65a976141ddf8c12b2207 +Author: Khaled Hosny +Date: Sat Sep 11 00:50:08 2021 +0200 + + [style] Fix documentation + + Message documentation a bit to get it working. + + docs/harfbuzz-docs.xml | 5 +++++ + docs/harfbuzz-sections.txt | 6 ++++++ + src/hb-style.cc | 11 ++++++++++- + src/hb-style.h | 3 ++- + 4 files changed, 23 insertions(+), 2 deletions(-) + +commit 4d9b7de0b6b8247bf25f12047ed28d72454182bb +Author: Khaled Hosny +Date: Sat Sep 11 00:43:43 2021 +0200 + + [style] Prepare for release + + src/gen-def.py | 1 - + src/hb-style.cc | 40 +--------------------------------------- + src/hb-style.h | 39 +++++++++++++++++++++++++++++++++++++-- + test/api/test-style.c | 10 ---------- + 4 files changed, 38 insertions(+), 52 deletions(-) + +commit 34ff2d3ea6b7d3b748d82266e86c4a4d3fe31585 +Author: Khaled Hosny +Date: Sat Sep 11 00:12:03 2021 +0200 + + Fix build with -Dexperimental_api=true + + ../src/hb-style.cc:102:32: error: no matching function for call to 'hb_style_get_value' + return _hb_angle_to_ratio (hb_style_get_value (HB_STYLE_TAG_SLANT_ANGLE)); + ^~~~~~~~~~~~~~~~~~ + ../src/hb-style.cc:99:1: note: candidate function not viable: requires 2 arguments, but 1 was provided + hb_style_get_value (hb_font_t *font, hb_tag_t tag) + ^ + + and + + ../src/hb-style.cc:80:1: error: unused function '_hb_ratio_to_angle' [-Werror,-Wunused-function] + _hb_ratio_to_angle (float r) + ^ + + src/hb-style.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 39c20d2b9eb476065e64d3a3cccc6345aa50e4c1 +Author: Behdad Esfahbod +Date: Thu Sep 9 11:19:21 2021 -0600 + + [style] Add HB_STYLE_TAG_SLANT_RATIO + + src/hb-style.cc | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +commit 201cbe3c66fda566be302aff051cb6f836e2931b +Author: Behdad Esfahbod +Date: Thu Sep 9 11:09:46 2021 -0600 + + [style] Rename HB_STYLE_TAG_SLANT to HB_STYLE_TAG_SLANT_ANGLE + + src/hb-style.cc | 9 +++++---- + test/api/test-style.c | 24 ++++++++++++------------ + 2 files changed, 17 insertions(+), 16 deletions(-) + +commit a23ce2897706c150160c21764fea992ac017c5c4 +Author: Behdad Esfahbod +Date: Thu Sep 9 10:59:01 2021 -0600 + + [style] Fall back to GPOS 'size' feature for optical size in style API + + src/hb-style.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 37379f8f7d6dab83b011416b8c7ff25d4f7365a0 +Author: Qunxin Liu +Date: Thu Sep 2 11:54:37 2021 -0700 + + [subset] fox for (Chain)ContextFormat3: subset lookupRecord + + skip copying a lookupRecord if lookup referenced in the lookupRecord is + not retained after subset + + src/hb-ot-layout-gsubgpos.hh | 30 ++++++++++++++++++--- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...5f2,fb21,fb22,fb23,fb24,fb25,fb26,fb27,fb28.ttf | Bin 0 -> 12424 bytes + .../Tinos-Italic.default.retain-all-codepoint.ttf | Bin 0 -> 412764 bytes + ...5f2,fb21,fb22,fb23,fb24,fb25,fb26,fb27,fb28.ttf | Bin 0 -> 12624 bytes + ...nos-Italic.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 437592 bytes + ...5f2,fb21,fb22,fb23,fb24,fb25,fb26,fb27,fb28.ttf | Bin 0 -> 12424 bytes + ...-Italic.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 412764 bytes + ...5f2,fb21,fb22,fb23,fb24,fb25,fb26,fb27,fb28.ttf | Bin 0 -> 87564 bytes + ...nos-Italic.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 415140 bytes + test/subset/data/fonts/Tinos-Italic.ttf | Bin 0 -> 455400 bytes + test/subset/data/tests/layout.tinos.tests | 12 +++++++++ + test/subset/meson.build | 1 + + 14 files changed, 41 insertions(+), 4 deletions(-) + +commit 838d67075240e8be97f44aab4a925a0ee21935ae +Author: Khaled Hosny +Date: Wed Sep 8 15:12:52 2021 +0200 + + [subset] Improve alignment of --help-all message + + util/hb-subset.cc | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +commit 9b7af950b36b919717580f3a5872812728d60dc1 +Author: Khaled Hosny +Date: Tue Sep 7 15:05:42 2021 +0200 + + [docs] Fix subset documentation + + List the missing new APIs and unlist all the to be deleted legacy APIs. + + docs/harfbuzz-sections.txt | 9 ++------- + src/hb-subset.h | 46 +++++++++++++++++++++++----------------------- + 2 files changed, 25 insertions(+), 30 deletions(-) + +commit e38b873eaeec6105dcf4c2511a7c29ca6cf0749c +Author: Khaled Hosny +Date: Tue Sep 7 14:13:23 2021 +0200 + + [ci] Use different executer for win64 jobs + + .circleci/config.yml | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 48c9869bda0dcfa7cea11766718d3c5f3a102509 +Author: Khaled Hosny +Date: Tue Sep 7 13:57:44 2021 +0200 + + Typo + + NEWS | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 505df5abf8032f3a2295ded417dca9bfb14ea7b8 +Author: Khaled Hosny +Date: Tue Sep 7 13:46:08 2021 +0200 + + 2.9.1 + + NEWS | 19 +++++++++++++++++++ + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-subset-input.cc | 2 +- + src/hb-subset.h | 2 +- + src/hb-version.h | 4 ++-- + 7 files changed, 26 insertions(+), 6 deletions(-) + +commit 6602cbb7062bf92e6824ae6bc0e5d3aad4b85939 +Author: mahanstreamer <84676642+mahanstreamer@users.noreply.github.com> +Date: Mon Aug 23 00:13:25 2021 -0400 + + dead link + + docs/usermanual-install-harfbuzz.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 916ffe0c8590b4064cd898ac52dd48e3a343b14e +Author: mahanstreamer <84676642+mahanstreamer@users.noreply.github.com> +Date: Mon Aug 23 00:09:19 2021 -0400 + + grammer fix + + docs/usermanual-getting-started.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 195c05df9925c7c4a4982a286ef9c416b2cde3af +Author: Khaled Hosny +Date: Sat Sep 4 03:41:19 2021 +0200 + + Revert "[ot-shape-normalize] Move buffer out of hb_ot_shape_normalize_context_t" + + This reverts commit 8cdbea5580731c2bf66e56bf619c1fbb2978692e. + + For some reason this is causing several tests to crash locally for me + (on macOS), see: + https://github.com/harfbuzz/harfbuzz/commit/8cdbea5580731c2bf66e56bf619c1fbb2978692e#commitcomment-55898088 + + src/hb-ot-shape-normalize.cc | 32 ++++++++++++++------------------ + src/hb-ot-shape-normalize.hh | 1 + + 2 files changed, 15 insertions(+), 18 deletions(-) + +commit f4559d243560a6f780e8975d7d48cd1bc1f3096a +Author: David Corbett +Date: Thu Sep 2 17:56:17 2021 -0400 + + Update hb-ot-tag-table.hh + + src/hb-ot-tag-table.hh | 27 ++++++++++++++++++++++++--- + 1 file changed, 24 insertions(+), 3 deletions(-) + +commit 9fddbb3e24469a0cd87de8237a1be52f730809d3 +Author: Khaled Hosny +Date: Fri Sep 3 17:56:08 2021 +0200 + + [test] Rename test and split into smaller subtests + + test/shape/data/in-house/Makefile.sources | 2 +- + test/shape/data/in-house/meson.build | 2 +- + .../data/in-house/tests/arabic-decomposition.tests | 4 -- + .../data/in-house/tests/arabic-normalization.tests | 64 ++++++++++++++++++++++ + 4 files changed, 66 insertions(+), 6 deletions(-) + +commit c6bb719e658573a602eeab184e2c23c5bdc4a284 +Author: Khaled Hosny +Date: Fri Sep 3 16:14:02 2021 +0200 + + [test] Add tests for Arabic decomposition + + Test that both NFC and NFD input produces identical results for fonts + that used composed fonts internally (Amiri here) and fonts that + decompose internally (Noto Nastaliq Urdu here) and that for the former + composed forms are used. + + See https://github.com/harfbuzz/harfbuzz/issues/3179 + + test/shape/data/in-house/Makefile.sources | 1 + + .../fonts/3e46c3b84c1370a06594736c7f8acebf810bbb3b.ttf | Bin 0 -> 44884 bytes + .../fonts/872d2955d326bd6676a06f66b8238ebbaabc212f.ttf | Bin 0 -> 17556 bytes + test/shape/data/in-house/meson.build | 1 + + .../data/in-house/tests/arabic-decomposition.tests | 4 ++++ + 5 files changed, 6 insertions(+) + +commit a9dc4fbeacac23407e90b050d81ec8cddc9f4ff1 +Author: Khaled Hosny +Date: Fri Sep 3 16:20:06 2021 +0200 + + [test] Make shape test names match file names + + No idea why test names are underscorified but it it just makes calling + meson test testname harder than it should being not able to copy file + name directly. + + test/shape/meson.build | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 2bd911b8b49ac9e7cb0708b7ff5861cc3705e915 +Author: Garret Rieger +Date: Thu Aug 26 14:32:17 2021 -0700 + + [subset] handle cmap4 overflows. + + If a cmap4 subtable overflows during serialization drop it and the corresponding EncodingRecord. Don't drop the corresponding cmap12 table if it would have otherwise been removed. + + src/hb-ot-cmap-table.hh | 49 +++++++++++++++++++++++++++++++++++++++---------- + src/hb-serialize.hh | 15 +++++++++++++-- + 2 files changed, 52 insertions(+), 12 deletions(-) + +commit bf81bbfb3541ea4a39bacdbe0568e9e170b1b0f7 +Author: Behdad Esfahbod +Date: Thu Sep 2 00:16:22 2021 -0600 + + Revert "[arabic] Do not re-compose Unicode sequences" + + This reverts commit ff34c240b0a60014a219b8af49c1be2d7e08b388. + + https://github.com/harfbuzz/harfbuzz/issues/3179#issuecomment-911242833 + + src/hb-ot-shape-complex-arabic.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ff34c240b0a60014a219b8af49c1be2d7e08b388 +Author: Behdad Esfahbod +Date: Wed Sep 1 23:55:00 2021 -0600 + + [arabic] Do not re-compose Unicode sequences + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3179 + + src/hb-ot-shape-complex-arabic.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5fadf4c85e53a9acc9baa126b5588e4f4aeec2ed +Author: Alba Mendez +Date: Wed Sep 1 14:38:01 2021 +0200 + + Small docs improvement + + Mention that the returned strings are always nul terminated for convenience. + + src/hb-ot-name.cc | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 04cf6212d72ceffb164b2aaf7315711d4227445f +Author: Behdad Esfahbod +Date: Mon Aug 30 18:35:08 2021 -0600 + + [util/hb-subset] Fix --version and --help again + + https://github.com/harfbuzz/harfbuzz/commit/38ad093216d8204df2dce18a112ee43964031357 + + util/hb-subset.cc | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit 5c4c173b06e28171f5fafd54ae0c5a70f38d8d8a +Merge: 41b9f2abc de8563658 +Author: Behdad Esfahbod +Date: Mon Aug 30 16:44:28 2021 -0600 + + Merge pull request #3146 from googlefonts/set_api + + [subset] proposed update to subset set apis. + +commit de85636581f3c7c8f8140624b78efd76e3ecfd4b +Author: Garret Rieger +Date: Mon Aug 30 14:36:05 2021 -0700 + + [subset] s/REPLACE/REPLACEME/ + + src/hb-subset.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3844e58e14f6f528c52df06d49c771dd174730b9 +Author: Garret Rieger +Date: Mon Aug 30 11:16:51 2021 -0700 + + [subset] remove helper functions for accessing subset input sets. + + src/hb-subset-input.cc | 24 ++++++++--------- + src/hb-subset-input.hh | 70 -------------------------------------------------- + src/hb-subset-plan.cc | 20 +++++++-------- + 3 files changed, 22 insertions(+), 92 deletions(-) + +commit 41b9f2abcd63589e541da13e295fdb9d2f78a2bb +Author: Behdad Esfahbod +Date: Sun Aug 29 10:47:11 2021 -0600 + + [set] Add TODO item + + src/hb-bit-set.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 93ac700da612b70fec9efb15ed97855dc15f4582 +Author: Behdad Esfahbod +Date: Sun Aug 29 10:32:40 2021 -0600 + + [set] Add copy-constructor/assignment again + + src/hb-bit-set.hh | 10 +++++----- + src/hb-set.hh | 5 +++++ + 2 files changed, 10 insertions(+), 5 deletions(-) + +commit b9a176e268a0dde9ed491130fe4fc5869bcca235 +Author: Garret Rieger +Date: Sun Aug 29 10:33:12 2021 -0600 + + [subset] speedup cmap4 subsetting for large codepoint counts. (#3178) + + glyphIdArray generation implementation was O(n^2). Refactored to use a hashmap to reduce complexity. After the change subset time for a 22k codepoint subset went from 7s to 0.7s. + + src/hb-ot-cmap-table.hh | 33 ++++++++++++++------------------- + 1 file changed, 14 insertions(+), 19 deletions(-) + +commit fdce294120bc7d626321d38df46e4c49823310db +Author: Behdad Esfahbod +Date: Sun Aug 29 09:44:52 2021 -0600 + + [util/hb-subset] Print error and suggest filing github issue if operation fails + + https://github.com/harfbuzz/harfbuzz/issues/3173#issuecomment-906715780 + + util/batch.hh | 5 ++++- + util/shape-options.hh | 4 ++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + +commit 38ad093216d8204df2dce18a112ee43964031357 +Author: Behdad Esfahbod +Date: Sun Aug 29 09:44:07 2021 -0600 + + [util/hb-subset] Don't ignore errors during face parsing + + Was ignoring file-not-found errors. + + util/hb-subset.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 57d6bf82519f39717ddb7b7574ac079e3016757f +Author: Garret Rieger +Date: Fri Aug 27 10:59:28 2021 -0700 + + [subset] in sets union correctly size the pointer array. + + src/hb-subset-input.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 102666dab7ef649fca0fbd3ce043ab2b166d662c +Author: Garret Rieger +Date: Fri Aug 27 10:31:37 2021 -0700 + + [subset] add test for hb_subset_input_set (...). + + src/hb-subset-input.cc | 1 - + test/api/test-subset.c | 30 ++++++++++++++++++++++++++++++ + 2 files changed, 30 insertions(+), 1 deletion(-) + +commit 7194c2a2a370a39d8e41539cb7fde9a9ffed80c3 +Author: Garret Rieger +Date: Fri Aug 27 08:20:58 2021 -0700 + + [subset] use anonymous union to hold the input sets instead of a map. + + src/hb-subset-input.cc | 16 ++++----------- + src/hb-subset-input.hh | 56 ++++++++++++++++++++++++++++++++++---------------- + 2 files changed, 42 insertions(+), 30 deletions(-) + +commit 05204d758689751350cf9f14518bfd7fc86db608 +Author: Garret Rieger +Date: Wed Aug 25 16:51:26 2021 -0700 + + [subset] implement hb_subset_input_set (...). + + Switch to storing the sets keyed by enum internally. + + src/hb-subset-input.cc | 87 ++++++++++++++++++++++++++------------------ + src/hb-subset-input.hh | 97 ++++++++++++++++++++++++++++++++++++++++++-------- + src/hb-subset-plan.cc | 20 +++++------ + 3 files changed, 145 insertions(+), 59 deletions(-) + +commit 50193262f0d8aa1c2d6a2a2e4b68f8d2771157b3 +Author: Garret Rieger +Date: Wed Aug 25 15:10:21 2021 -0700 + + [subset] reorder set enums. + + src/hb-subset.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 3282f540a967670d8ee6ac2d78193f6bfaa8c68c +Author: Garret Rieger +Date: Wed Aug 25 15:06:42 2021 -0700 + + [subset] restore legacy set api methods. + + src/hb-subset.h | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +commit 1457c1f0806ce63051cf48c47b9a03741533fc8f +Author: Garret Rieger +Date: Wed Aug 25 15:01:28 2021 -0700 + + [subset] set enum name changes. + + src/hb-subset.h | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +commit 1b5e1593010eb7c79c58bb68ea1200ef6c8cb740 +Author: Garret Rieger +Date: Wed Aug 25 14:56:55 2021 -0700 + + [subset] Remove HB_SUBSET_SETS_COUNT and flags comment. + + src/hb-subset.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 4c389fd9e5c09574651c5dca3917857cc2cf910c +Author: Garret Rieger +Date: Fri Aug 13 11:14:52 2021 -0700 + + [subset] add unicode and glyph set enums. + + src/hb-subset.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit e3e1ae876646937302593d37ea68e1e650621fcb +Author: Garret Rieger +Date: Fri Aug 13 10:53:20 2021 -0700 + + [subset] proposed update to subset set apis. + + src/hb-subset.h | 37 ++++++++++++++++++++++++------------- + 1 file changed, 24 insertions(+), 13 deletions(-) + +commit 1e1438c4fb7ed6fdcfcd8d6ae53eb9ed8d3a8a93 +Author: Garret Rieger +Date: Thu Aug 26 14:59:29 2021 -0600 + + [subset] fix --*-file options in hb-subset. (#3176) + + The previous change to add -/+ versions of each set type broke all of the --*-file input options since all of the parse functions now default to replacing the set if the + variant is not being used. This fixes the issue by changing parse_file_for to pass '+' as the name to the parsing function. This triggers the append mode. + + util/hb-subset.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9db494f517a217e4bec709762416777b97b4445d +Author: Garret Rieger +Date: Thu Aug 26 10:51:38 2021 -0600 + + [subset] Update remaining subset input sets to use inversion for all. (#3172) + + * [subset] Update remaining subset input sets to use inversion for all. + + * [subset] Update flag help for remaining sets to mention -=. + + src/hb-subset-input.hh | 14 ++++---- + util/hb-subset.cc | 95 +++++++++++++++++++++++++++++--------------------- + 2 files changed, 62 insertions(+), 47 deletions(-) + +commit 99356ea5f0b426137e83b68605cb50045bf42708 +Merge: 1620698bd 4b5a81f13 +Author: Behdad Esfahbod +Date: Wed Aug 25 17:19:06 2021 -0600 + + Merge pull request #3150 from harfbuzz/item-context-tests + + [test] Add tests for item context + +commit 1620698bd51d4a21d4cb2ca9ff3d66d10a1a4cd6 +Author: Behdad Esfahbod +Date: Wed Aug 25 16:25:08 2021 -0600 + + [subset-input] Minor format + + src/hb-subset-plan.cc | 32 ++++++++++++++++++-------------- + 1 file changed, 18 insertions(+), 14 deletions(-) + +commit 18b4aab6526bdfe1cc595709fbd7586c07a5417a +Merge: e9e6d66cd 75efade7a +Author: Behdad Esfahbod +Date: Wed Aug 25 16:21:07 2021 -0600 + + Merge pull request #3171 from googlefonts/unicode_glyph_invert + + [subset] use inverted set for all unicodes. + +commit 75efade7a4290413711c00748b38c547021a6f26 +Author: Garret Rieger +Date: Wed Aug 25 14:51:21 2021 -0700 + + [subset] format --gids and --unicodes help messages better. + + util/hb-subset.cc | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit cd07070e41eb020be0669780be4a8517cfb0e9a6 +Author: Garret Rieger +Date: Wed Aug 25 14:42:00 2021 -0700 + + [subset] Move plan unicodes and gids population to end of _populate_unicodes... + + src/hb-subset-plan.cc | 49 +++++++++++++++++++++++++------------------------ + 1 file changed, 25 insertions(+), 24 deletions(-) + +commit fa4bf7cf58e9193981c9f4a6da7f15f7ba4332d2 +Author: Garret Rieger +Date: Wed Aug 25 14:31:11 2021 -0700 + + [subset] use inverted sets for glyph id input. + + Adds --gids-=, --glyphs-=, --text-=, --unicodes-= options. Use inverted sets to represent all glyphs and/or all unicodes. + + util/hb-subset.cc | 84 +++++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 63 insertions(+), 21 deletions(-) + +commit 4b5a81f13c326e26f740ca61752f95a9d2afe89c +Author: Behdad Esfahbod +Date: Wed Aug 25 15:20:54 2021 -0600 + + [buffer] Fix hb_buffer_append() pre/post-context logic + + Part of https://github.com/harfbuzz/harfbuzz/pull/3150 + + src/hb-buffer.cc | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit 8f4f47df7c42294c06d6bd4f2d0e1b35c4040eb5 +Author: Garret Rieger +Date: Wed Aug 25 13:34:05 2021 -0700 + + [subset] use inverted set for all unicodes. + + Modify the code that handles input->unicodes to be safe with possibly inverted sets. Also adds --unicodes-= and --unicodes+= flags. + + src/hb-subset-plan.cc | 45 +++++++++++++++++++++++++++------------------ + util/hb-subset.cc | 15 ++++++++++++--- + 2 files changed, 39 insertions(+), 21 deletions(-) + +commit e9e6d66cd6bf00124fa3cffdbeece44dcffb1bbd +Author: Behdad Esfahbod +Date: Tue Aug 24 23:22:49 2021 -0600 + + [subset] Minor internal parameter rename + + src/hb-subset-plan.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 955f86a034b11827a5d3bfb6e60f7e00a4bf40db +Author: Behdad Esfahbod +Date: Tue Aug 24 11:17:10 2021 -0600 + + [test-set] Fix compiler warnings + + test/api/test-set.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 59deb754b3e199ff47e1ce2c22aab1a3486615ba +Author: Garret Rieger +Date: Tue Aug 24 17:06:14 2021 -0700 + + [subset] rename _collect_subset_layout to _collect_layout_indices. + + Better describes what the function does. + + src/hb-subset-plan.cc | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +commit f2441a4b65288dfc1c17a52bb31d694fb3e3ce08 +Author: Garret Rieger +Date: Tue Aug 24 15:53:32 2021 -0700 + + [subset] Remove retain all layout features flag. + + Instead use inverted sets to handle requesting all features. Modifies feature collection in subset plan to intersect the set of requested features against the features in the font. This prevents iterating a fully filled feature tag set. + + src/hb-subset-input.cc | 15 ---------- + src/hb-subset-plan.cc | 74 +++++++++++++++++++++++++------------------------- + src/hb-subset.h | 11 -------- + test/api/test-subset.c | 4 +-- + util/hb-subset.cc | 12 ++------ + 5 files changed, 42 insertions(+), 74 deletions(-) + +commit f84daccb4f85e6ec86e2608fbe59c1e92ec0d814 +Author: Garret Rieger +Date: Tue Aug 24 14:20:26 2021 -0700 + + [set] include null pool sets in the permutations tested by inverted_operations. + + test/api/test-set.c | 38 +++++++++++++++++++++++++------------- + 1 file changed, 25 insertions(+), 13 deletions(-) + +commit c90678cbc5856a425e7b6b50a516bc8287569a39 +Author: Behdad Esfahbod +Date: Tue Aug 24 11:11:12 2021 -0600 + + [set] One more try to fix things + + That I don't let a "make check -j10" run finish before pushing things + out means either that we need to speed up our build / test process, + or I need a faster laptop... + + src/hb-bit-set.hh | 1 - + 1 file changed, 1 deletion(-) + +commit 357976963ec7228d4790d9524142943f5ecf112e +Author: Behdad Esfahbod +Date: Tue Aug 24 10:55:12 2021 -0600 + + [set] One more try at fixing clear() on empty set + + src/hb-bit-set.hh | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +commit fb07f8f8761b12dadaa18bb42d09706bb69c56e3 +Author: Garret Rieger +Date: Mon Aug 23 15:33:57 2021 -0700 + + During subset input creation check for set alloc failures and fail if encountered. + + src/hb-subset-input.cc | 12 ++++++++++++ + ...estcase-minimized-hb-subset-fuzzer-5141317848530944.fuzz | Bin 0 -> 8 bytes + 2 files changed, 12 insertions(+) + +commit b5177d21473bdabb16bd9bfe8f4512edc776c1c1 +Author: Behdad Esfahbod +Date: Tue Aug 24 10:43:37 2021 -0600 + + [set] Fix seam exposed by previous commit + + src/hb-bit-set.hh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit f0de40dd61dd261cda197383d192ca487408a3f7 +Author: Behdad Esfahbod +Date: Mon Aug 23 23:52:17 2021 -0600 + + Whitespace + + src/hb-ot-shape.cc | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 8cdbea5580731c2bf66e56bf619c1fbb2978692e +Author: Behdad Esfahbod +Date: Mon Aug 23 23:44:55 2021 -0600 + + [ot-shape-normalize] Move buffer out of hb_ot_shape_normalize_context_t + + src/hb-ot-shape-normalize.cc | 32 ++++++++++++++++++-------------- + src/hb-ot-shape-normalize.hh | 1 - + 2 files changed, 18 insertions(+), 15 deletions(-) + +commit 10da9fd20de74411f1a463e17628d8a2395e6eaa +Author: Behdad Esfahbod +Date: Mon Aug 23 23:32:02 2021 -0600 + + [ot-map] Whitespace + + src/hb-ot-map.cc | 25 ++++++++++++++++++++----- + 1 file changed, 20 insertions(+), 5 deletions(-) + +commit d3e09bf4654fe5478b6dbf2b26ebab6271317d81 +Author: Behdad Esfahbod +Date: Tue Aug 24 10:31:49 2021 -0600 + + [set] Make all operators null-safe again + + Changed my mind. + + Also for hb_map_clear(). + + Part of https://github.com/harfbuzz/harfbuzz/pull/3162 + + src/hb-bit-set-invertible.hh | 38 ++++++++++++++++++++++++++++++-------- + src/hb-map.cc | 3 --- + src/hb-map.hh | 2 ++ + src/hb-set.cc | 28 +++++++--------------------- + 4 files changed, 39 insertions(+), 32 deletions(-) + +commit 33bfe9edd679d61898209281960ec1a8570a11c7 +Author: Khaled Hosny +Date: Mon Aug 16 17:00:57 2021 +0200 + + [test] Add tests for item context + + Test pre-context and post-context in Arabic shaper, as well as + interaction of pre-context with BOT flag. + + test/shape/data/in-house/Makefile.sources | 1 + + .../fonts/3105b51976b879032c66aa93a634b3b3672cd344.ttf | Bin 0 -> 2768 bytes + .../fonts/65984dfce552a785f564422aadf4715fa07795ad.ttf | Bin 0 -> 4020 bytes + test/shape/data/in-house/meson.build | 1 + + test/shape/data/in-house/tests/item-context.tests | 11 +++++++++++ + 5 files changed, 13 insertions(+) + +commit 430224b1a06c6eef04de9b6e1ee5aa2cb7a9a403 +Author: Khaled Hosny +Date: Mon Aug 16 15:40:47 2021 +0200 + + [buffer] Handle pre/post-context in buffer_append + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1843 + + src/hb-buffer.cc | 15 +++++++++++++++ + util/shape-options.hh | 1 - + 2 files changed, 15 insertions(+), 1 deletion(-) + +commit 6ca0ffd42e0a5cea2adc9efaedf7fc6fd333f9d1 +Author: Khaled Hosny +Date: Mon Aug 16 14:52:13 2021 +0200 + + [util] Add --unicodes-before/after + + Parallel to --unicodes for --text-before/after. To be used in tests. + + util/text-options.hh | 156 +++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 126 insertions(+), 30 deletions(-) + +commit 65c622c6892dcbe44996962a748f13569600d389 +Author: Khaled Hosny +Date: Mon Aug 23 21:23:30 2021 +0200 + + Typo + + docs/usermanual-install-harfbuzz.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c76af4973cc9f9b64f829a81bb6107218cf303f6 +Author: Khaled Hosny +Date: Mon Aug 23 20:50:35 2021 +0200 + + [doc] We use GitHub for discussion not the mailing list + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3160 + + docs/usermanual-install-harfbuzz.xml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 33c82c7dad41a7dc7ac007b63a5c3e9a45b6faf4 +Author: Behdad Esfahbod +Date: Sun Aug 22 22:31:39 2021 -0600 + + [ot-shape] Fix unused-var error when building without AAT + + Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45 + + src/hb-ot-shape.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 34e0b28faef0f4157a47cc3e2feb7360f82232fd +Author: Qunxin Liu +Date: Wed Aug 18 20:46:06 2021 -0700 + + [subset] make glyph-names option match fonttools behavior + + Don't encode psNames that are contained in standard glyph names set + + src/hb-ot-post-table-v2subset.hh | 24 +++++++++++++++++---- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...ular.glyph-names.0x0,0x8,0x9,0x1d,0x20,0xb7.ttf | Bin 0 -> 10172 bytes + ...tu-Regular.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 281092 bytes + test/subset/data/fonts/Ubuntu-Regular.ttf | Bin 0 -> 351884 bytes + test/subset/data/tests/glyph_names.tests | 9 ++++++++ + test/subset/meson.build | 1 + + 8 files changed, 32 insertions(+), 4 deletions(-) + +commit 829b0f33531b3c14b2e08331b8cc5b31fed73129 +Merge: 280366ba6 915550ab1 +Author: Behdad Esfahbod +Date: Fri Aug 20 01:28:15 2021 -0600 + + Merge pull request #3154 from harfbuzz/set-invert + + Resurrect hb_set_invert() + +commit 915550ab19659107acea9e70a7bc699a19fe2f44 +Author: Garret Rieger +Date: Thu Aug 19 17:48:38 2021 -0700 + + [set] remove inverted test TODO. + + test/api/test-set.c | 13 ------------- + 1 file changed, 13 deletions(-) + +commit c4ed58299761ac2e5452bec890e44fcb7c9f1cc7 +Author: Garret Rieger +Date: Thu Aug 19 17:47:41 2021 -0700 + + [set] add test for inverted set operations. + + This test checks all possible set configurations against each operation type. + + test/api/test-set.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 125 insertions(+) + +commit 325fd6ddb85a141507f752f37ab650bb56299247 +Author: Garret Rieger +Date: Thu Aug 19 15:54:31 2021 -0700 + + [set] add tests for inverted set equality. + + test/api/test-set.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 55 insertions(+), 1 deletion(-) + +commit 287032af6cf3609bb9ca88cf622d478fc77698e3 +Author: Garret Rieger +Date: Thu Aug 19 15:45:28 2021 -0700 + + [set] update set test TODO list. + + test/api/test-set.c | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +commit 5c003d80a680ec619f0922318244e7d41ca709ba +Author: Garret Rieger +Date: Thu Aug 19 15:41:12 2021 -0700 + + [set] add tests for inverted previous iteration. + + test/api/test-set.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 108 insertions(+) + +commit 84c2a30214eed8e9cabc1efa7460c74e0ca4f214 +Author: Behdad Esfahbod +Date: Thu Aug 19 16:33:48 2021 -0600 + + [bit-set-invertible] Second try fixing previous() + + src/hb-bit-set-invertible.hh | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit 8f88747a5e100adc3f722baf573143cbb812ac48 +Author: Behdad Esfahbod +Date: Thu Aug 19 16:30:48 2021 -0600 + + [bit-set-invertible] Fix previous() iteration + + src/hb-bit-set-invertible.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3f2cc582f283319a5f98469b993403c6f79f3ef9 +Author: Garret Rieger +Date: Thu Aug 19 15:00:07 2021 -0700 + + [set] add basic and iteration set inverion tests. + + test/api/test-set.c | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 220 insertions(+) + +commit 1d832693e17935e025201905236b9fa34e1f310d +Author: Behdad Esfahbod +Date: Thu Aug 19 16:02:30 2021 -0600 + + [set] Protect against immutible null set with invertible addition + + src/hb-map.cc | 2 ++ + src/hb-set.cc | 22 ++++++++++++++++++++++ + 2 files changed, 24 insertions(+) + +commit 7115af23ebe4a896174d1a246fcfb3b4d0fe6806 +Author: Behdad Esfahbod +Date: Thu Aug 19 15:55:21 2021 -0600 + + [util] Fix glib deprecation warning re g_memdup() + + util/hb-subset.cc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit dc800ffd6c0b806b5b0db9d48cd57528d1fae3eb +Author: Behdad Esfahbod +Date: Thu Aug 19 15:35:51 2021 -0600 + + [bit-set] Remove TODO items we don't intend to finish + + src/hb-bit-set.hh | 8 -------- + 1 file changed, 8 deletions(-) + +commit 92908c122bb578d502bdaa2fbf7a9a3b41540ae0 +Author: Behdad Esfahbod +Date: Thu Aug 19 15:28:26 2021 -0600 + + [bit-set-invertible] Remove extra check + + We don't expect immutable / null set in this code. + + src/hb-bit-set-invertible.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1babe80ed2506b36c22275b4c511296c8d9b4096 +Author: Behdad Esfahbod +Date: Thu Aug 19 15:18:32 2021 -0600 + + [bit-set-invertible] Fix last remaining corner-case + + src/hb-bit-set-invertible.hh | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +commit e8911d137ca1e367a41143ece02149a62779cdf0 +Author: Behdad Esfahbod +Date: Thu Aug 19 14:59:57 2021 -0600 + + [bit-set-invertible] Implement a couple other missing corner cases + + Also, in bit-set, don't compute population in is_equal/is_subset() + if we don't have it computed already. + + src/hb-bit-set-invertible.hh | 7 +++---- + src/hb-bit-set.hh | 14 +++++++++----- + 2 files changed, 12 insertions(+), 9 deletions(-) + +commit 2579dc648f940c7c66ac0ef2cc75c7b6754c6892 +Author: Behdad Esfahbod +Date: Thu Aug 19 14:48:27 2021 -0600 + + [bit-set-invertible] Move code around + + src/hb-bit-set-invertible.hh | 31 +++++++++++++++---------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +commit 2dfc104236395f224b6834ab52263fbafbe92651 +Author: Behdad Esfahbod +Date: Thu Aug 19 14:47:33 2021 -0600 + + [bit-set-invertible] Implement is_empty() for inverted case as well + + src/hb-bit-set-invertible.hh | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit ec4812a7d4031c2a579f0d49f526f0a9b418e063 +Author: Behdad Esfahbod +Date: Thu Aug 19 13:32:44 2021 -0600 + + [bit-page] Remove unused inverted code + + src/hb-bit-page.hh | 47 +++++++++++++++++------------------------------ + 1 file changed, 17 insertions(+), 30 deletions(-) + +commit 87885e6f02fef1d8289050c1c939d5a5566b5ee2 +Author: Behdad Esfahbod +Date: Thu Aug 19 13:26:25 2021 -0600 + + [bit-set-invertible] Fix next/previous() logic + + src/hb-bit-set-invertible.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit ee4e331a6e05ce5e99671a401e986c0fcdd2a691 +Author: Behdad Esfahbod +Date: Thu Aug 19 13:23:22 2021 -0600 + + [bit-set] Remove unused get_min(inverted) + + src/hb-bit-set.hh | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +commit eec1a25e7169a2958a4f739d98cca4ae6e38605f +Author: Behdad Esfahbod +Date: Thu Aug 19 13:22:36 2021 -0600 + + [bit-set-invertible] Rewrite get_min/max() in terms of next/previous() + + src/hb-bit-set-invertible.hh | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +commit f09d5ed0f52987f4af39d0a577762d4dda99509c +Author: Behdad Esfahbod +Date: Thu Aug 19 13:06:10 2021 -0600 + + [algs] Remove hb_bitwise_non() + + src/hb-algs.hh | 6 ------ + 1 file changed, 6 deletions(-) + +commit f4fd7baf7ec8ff5954e226f2e7ea2697e84a39dd +Author: Behdad Esfahbod +Date: Thu Aug 19 13:05:12 2021 -0600 + + [bit-set-invertible] Fix subtract() logic + + src/hb-bit-set-invertible.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f317d8e4261e6fef1a7d5682bd62a4562588b322 +Author: Behdad Esfahbod +Date: Thu Aug 19 13:01:07 2021 -0600 + + [bit-set-invertible] Fix intersect() logic + + src/hb-bit-set-invertible.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b21038d91de7f67bbfec549f618b0238c3ca7735 +Author: Behdad Esfahbod +Date: Thu Aug 19 11:24:17 2021 -0600 + + [bit-set-invertible] Rewrite next/previous_range() in terms of s.next/previous() + + src/hb-bit-set-invertible.hh | 26 ++++++++------------------ + 1 file changed, 8 insertions(+), 18 deletions(-) + +commit eb98bc1e322c0675de7f7b00e4e1932ec593277d +Author: Behdad Esfahbod +Date: Thu Aug 19 11:19:24 2021 -0600 + + [bit-set-invertible] Rewrite next/previous() using s.next/previous_range() + + src/hb-bit-set-invertible.hh | 54 ++++++++++++++++++++++++-------------------- + 1 file changed, 30 insertions(+), 24 deletions(-) + +commit 248ad3bce5b5e7190e174929bf1892f1a2bafb44 +Author: Behdad Esfahbod +Date: Thu Aug 19 10:17:51 2021 -0600 + + [bit-set-invertible] Implement next/previous + + This makes invertible set functionality complete. + + src/hb-bit-set-invertible.hh | 48 ++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 44 insertions(+), 4 deletions(-) + +commit c27f5b1288e4786c27bd010a1f6b41c29ab37992 +Author: Behdad Esfahbod +Date: Thu Aug 19 10:01:24 2021 -0600 + + [bit-set-invertible] Plug in next_range()/previous_range() + + src/hb-bit-set-invertible.hh | 34 ++++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +commit f6aa37159bf1f4b3a2b83c7e263f4642959af73a +Author: Behdad Esfahbod +Date: Thu Aug 19 01:12:25 2021 -0600 + + [bit-set-invertible] Fix process logic for inverted + [# On branch set-invert + + src/hb-bit-set-invertible.hh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 060de189ecdf2327c6583b97f02c33c21889ca15 +Author: Behdad Esfahbod +Date: Thu Aug 19 00:58:34 2021 -0600 + + [bit-page] Fix sanitizer error + + This essentially reverts 9449cfeefd7e3b761c8035c45330abd7a5201604 + + Problem was dereferencing pointer at end of array... + + src/hb-bit-page.hh | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit b119b48079ab4bece6bb0cf75c6606d25c49ee5e +Author: Behdad Esfahbod +Date: Thu Aug 19 00:51:24 2021 -0600 + + [bit-set-invertible] Add unlikely() around inverted checks + + src/hb-bit-set-invertible.hh | 36 +++++++++++++++++++----------------- + 1 file changed, 19 insertions(+), 17 deletions(-) + +commit b94f24ec79877d57a17e8e8b9961127d590afa34 +Author: Behdad Esfahbod +Date: Thu Aug 19 00:48:00 2021 -0600 + + [bit-set-invertible] Implement set algebra + + src/hb-algs.hh | 32 +++++++++++++++++++- + src/hb-bit-set-invertible.hh | 71 +++++++++++++++++++++++++++++++++++++------- + src/hb-bit-set.hh | 2 +- + 3 files changed, 93 insertions(+), 12 deletions(-) + +commit 6afefe1dc3f7aedc1f355bfa70bfee1a15829ec1 +Author: Behdad Esfahbod +Date: Thu Aug 19 00:27:03 2021 -0600 + + [algs] Remove unnecessary struct tag names + + src/hb-algs.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 8aa92ff8f054a1b7b8d06618a6366a44cba8fe87 +Author: Behdad Esfahbod +Date: Wed Aug 18 23:01:06 2021 -0600 + + [bit-set-invertible] Implement get_min/max + + src/hb-bit-set-invertible.hh | 4 ++-- + src/hb-bit-set.hh | 16 +++++++++++++--- + 2 files changed, 15 insertions(+), 5 deletions(-) + +commit 18f50275ed2b66c9316d68138572b84ee713f0cc +Author: Behdad Esfahbod +Date: Wed Aug 18 22:08:06 2021 -0600 + + [bit-set] Restructure get_min/max() in prep for adding inverted + + src/hb-bit-set.hh | 26 ++++++++++++++++++-------- + 1 file changed, 18 insertions(+), 8 deletions(-) + +commit 669b97d949173ceb691ece4c71c606f90c2f3e3f +Author: Behdad Esfahbod +Date: Wed Aug 18 21:39:04 2021 -0600 + + [bit-set-invertible] Implement iterator + + src/hb-bit-set-invertible.hh | 32 +++++++++++++++++++++++++++++--- + 1 file changed, 29 insertions(+), 3 deletions(-) + +commit c66894d7c9f7883032fbe92aa33c49cb689b1230 +Author: Behdad Esfahbod +Date: Wed Aug 18 21:24:29 2021 -0600 + + [bit-set-invertible] Write a subset branch as dagger + + src/hb-bit-set-invertible.hh | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +commit c39d2f7a76807cfa8198eb931ff6c58e6bb7fc67 +Author: Behdad Esfahbod +Date: Wed Aug 18 21:20:54 2021 -0600 + + [bit-set-invertible] Implement add_array / add_sorted_array / intersects + + src/hb-bit-set-invertible.hh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 0efa614c04a237722ca6a63a7b0c481fee11be97 +Author: Behdad Esfahbod +Date: Wed Aug 18 21:16:05 2021 -0600 + + [bit-set] Add del_array/del_sorted_array() + + src/hb-bit-set.hh | 35 +++++++++++++++++++++++++++++------ + 1 file changed, 29 insertions(+), 6 deletions(-) + +commit 48ad9eef1eb5e5226fcfdb86f3cf5be925456a57 +Author: Behdad Esfahbod +Date: Wed Aug 18 21:05:21 2021 -0600 + + [bit-set] Merge page_for_insert() into page_for() + + src/hb-bit-set.hh | 27 +++++++++++---------------- + 1 file changed, 11 insertions(+), 16 deletions(-) + +commit 280366ba6af14fbcacbc49e6aa1c12d83e531ad1 +Author: Garret Rieger +Date: Wed Aug 18 15:50:49 2021 -0700 + + Add TODO to update NN offsets to allow nulls. + + src/hb-ot-color-cpal-table.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit dc31920bbe3a35c565f89aaeca43e2a5fdb5b606 +Author: Garret Rieger +Date: Wed Aug 18 14:20:14 2021 -0700 + + Don't serialize null offsets in CPAL. + + Fixes https://oss-fuzz.com/testcase-detail/5443213648330752 + + src/hb-ot-color-cpal-table.hh | 11 ++++++++--- + ...z-testcase-minimized-hb-subset-fuzzer-5443213648330752 | Bin 0 -> 567 bytes + 2 files changed, 8 insertions(+), 3 deletions(-) + +commit e29f56354a62683bc461d4dfba48de4173ccd538 +Author: Simon Cozens +Date: Wed Aug 18 08:51:41 2021 +0100 + + Replace "langstr" with more helpful help. + + util/shape-options.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7f9173d67f14dd273f6366cfcbf3498e6a8b2f56 +Author: Caleb Maclennan +Date: Wed Aug 18 14:43:54 2021 +0300 + + [ci] Fix workflow so ‘publish-*’ dependencies can run + + This is a documented but bizarre quirk on Circle CI: in order for a job + to run as a dependency of another job that has a filter it must also + have at least one filter of its own, even if the filter is a noop. + + https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag + + .circleci/config.yml | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit a997f8918ea4e748657b4feb60dda84044c50ffd +Author: Caleb Maclennan +Date: Wed Aug 18 13:23:19 2021 +0300 + + [ci] Bump ghr tool used to post release artifacts to v0.14.0 + + Also make sure we only download it once per CI run, not three times... + + .ci/publish_release_artifact.sh | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +commit 80ff72f39dc833118426521f82f6bf614ef274d5 +Author: Khaled Hosny +Date: Wed Aug 18 13:09:03 2021 +0200 + + [doc] Misc fixes + + docs/harfbuzz-docs.xml | 1 + + docs/harfbuzz-sections.txt | 6 +++--- + src/hb-subset-input.cc | 6 ++++-- + 3 files changed, 8 insertions(+), 5 deletions(-) + +commit 9aa6f8a93f035dd0a1e3978da495d830049480c8 +Author: Khaled Hosny +Date: Wed Aug 18 09:32:04 2021 +0200 + + 2.9.0 + + NEWS | 20 ++++++++++++++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-subset-input.cc | 18 +++++++++--------- + src/hb-subset.cc | 2 +- + src/hb-subset.h | 2 +- + src/hb-version.h | 6 +++--- + 7 files changed, 36 insertions(+), 16 deletions(-) + +commit adf3f3b317dbf95b3906f3003bd01195ec3121f7 +Author: Khaled Hosny +Date: Wed Aug 18 09:29:28 2021 +0200 + + Revert "2.9.0" + + This reverts commit 791aba9c45709a68ce6d5dc1066d22399dc4bee4. + + NEWS | 20 -------------------- + 1 file changed, 20 deletions(-) + +commit 791aba9c45709a68ce6d5dc1066d22399dc4bee4 +Author: Khaled Hosny +Date: Wed Aug 18 09:25:27 2021 +0200 + + 2.9.0 + + NEWS | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit f0c3804fa292ef3be41cc8d1cdea8239f00e2295 +Author: Behdad Esfahbod +Date: Tue Aug 17 15:37:19 2021 -0600 + + [set] Add hb_bit_set_invertible_t and resurrect hb_set_invert() + + Implementation is NOT complete yet. + + docs/harfbuzz-sections.txt | 2 +- + src/Makefile.sources | 1 + + src/hb-bit-set-invertible.hh | 168 +++++++++++++++++++++++++++++++++++++++++++ + src/hb-bit-set.hh | 15 ++-- + src/hb-deprecated.h | 3 - + src/hb-set.cc | 9 +-- + src/hb-set.h | 3 + + src/hb-set.hh | 40 +++++------ + 8 files changed, 201 insertions(+), 40 deletions(-) + +commit b5cdbdc030dc700134f41b67b5a42ab54806a9a3 +Author: Behdad Esfahbod +Date: Tue Aug 17 10:53:08 2021 -0600 + + [set] Turn hb_set_t into instance of template taking implementation t + + src/hb-set.hh | 32 ++++++++++++++++++-------------- + 1 file changed, 18 insertions(+), 14 deletions(-) + +commit fad452bffb4047b84aad3e2684244ce0385742ff +Author: Behdad Esfahbod +Date: Mon Aug 16 20:48:24 2021 -0600 + + [set] Move main functionality into hb_bit_set_t + + To add inversion on top in hb_invertible_set_t and use that as hb_set_t. + + src/Makefile.sources | 1 + + src/hb-bit-set.hh | 787 +++++++++++++++++++++++++++++++++++++++++++ + src/hb-ot-layout-gsubgpos.hh | 5 +- + src/hb-set.cc | 2 +- + src/hb-set.hh | 737 ++-------------------------------------- + 5 files changed, 828 insertions(+), 704 deletions(-) + +commit 9cc4da962f53c2a9883742a0d9e9fd24222bd7b4 +Author: Behdad Esfahbod +Date: Mon Aug 16 20:17:53 2021 -0600 + + [object] Remove hb_object_is_inert() + + src/hb-object.hh | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +commit 2d5ef05d67d9a352d620e9d9e781e25717ab3a31 +Author: Behdad Esfahbod +Date: Mon Aug 16 20:13:58 2021 -0600 + + Use !g_object_is_valid() instead of g_object_is_inert() + + src/hb-shape-plan.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f6d6eff6a2f996df3144b9c03326c8efdcbf10bf +Author: Behdad Esfahbod +Date: Mon Aug 16 19:41:44 2021 -0600 + + [object] Remove unused HB_REFERENCE_COUNT_INIT + + src/hb-object.hh | 2 -- + 1 file changed, 2 deletions(-) + +commit 57d86950c3f913805a5527a54eb735ef9360c8d5 +Author: Khaled Hosny +Date: Mon Aug 16 21:54:26 2021 +0200 + + [meson] Update FreeType wrap to use upstream repo + + subprojects/freetype2.wrap | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit f245dc4db86483be3ede773e0bc8ba68065e2380 +Author: Behdad Esfahbod +Date: Sun Aug 15 12:40:36 2021 -0600 + + [set] Whitespace + + src/hb-set.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9b390f8c40eb80871778b13de7e987bd0e8bedad +Author: Behdad Esfahbod +Date: Sun Aug 15 12:34:55 2021 -0600 + + [set] Move page_t into hb-bit-page.hh + + src/Makefile.sources | 1 + + src/hb-bit-page.hh | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-set.hh | 190 ++------------------------------------------- + src/meson.build | 1 + + 4 files changed, 221 insertions(+), 183 deletions(-) + +commit 0c3e02ee2d0b24d7fbed92ab2b51c3e98bbe69e8 +Author: Behdad Esfahbod +Date: Sun Aug 15 12:10:13 2021 -0600 + + [set] Add "inverted" to page_t::is_empty() + + src/hb-set.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9bd64fa077ed1133ec96341335c62f91b3f9b9ce +Author: Behdad Esfahbod +Date: Sun Aug 15 11:42:16 2021 -0600 + + [set] Add "inverted" to page_t::next/prev() + + src/hb-set.hh | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit c88e7ec935caf31ca7db6b90ab0db514c1b65e45 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:39:31 2021 -0600 + + [set] Add page_t::elt_maybe_invert() + + src/hb-set.hh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 9449cfeefd7e3b761c8035c45330abd7a5201604 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:35:33 2021 -0600 + + [set] Simplify page_t::next/prev() + + src/hb-set.hh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 4394ee1f1dd355b4e8c4e4ad8f310ed624c64e01 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:28:09 2021 -0600 + + [set] Add inverted to page_t::get_min/max() + + src/hb-set.hh | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +commit 0dcd9b15d964c7eee3344525313c15a2ff4a16e4 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:11:10 2021 -0600 + + [set] Add page_t::set_range() + + src/hb-set.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit cb273fd17c436ada2b88aaecc585b62eb5203691 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:09:08 2021 -0600 + + [set] Add page_t::set() + + src/hb-set.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 32bbf53d9c860c32fb9109a11459ccba6eba7110 +Author: Behdad Esfahbod +Date: Sun Aug 15 11:06:52 2021 -0600 + + [set] Minor rewrite one cmp() in term of other + + src/hb-set.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5b4dbf5af361161194d815fd97d616429f6bf81c +Merge: cb05c363d d203267e5 +Author: Behdad Esfahbod +Date: Sun Aug 15 12:57:55 2021 -0600 + + Merge pull request #3148 from harfbuzz/win64 + + Build win64 binaries + +commit d203267e53d1007ea1974111dee26c5383b3ee9a +Author: Khaled Hosny +Date: Sun Aug 15 18:29:26 2021 +0200 + + [ci] Remove effectively ignored filters + + We want these jobs to always run, and the filter does not seem to do + anything anyway. + + .circleci/config.yml | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +commit f73053edafdcdd04855055e8b04eff33b425ae7d +Author: Khaled Hosny +Date: Sun Aug 15 18:27:32 2021 +0200 + + [ci] Don’t install unused dependencies + + This is a cross build job, native libraries are not used. + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ddb4f9b9674a651fafd0e628ea7ea74a20e61ad9 +Author: Khaled Hosny +Date: Sun Aug 15 17:24:51 2021 +0200 + + [ci] Build win64 binaries as well + + .ci/build-win64.sh | 27 +++++++++++++++++++++++++++ + .circleci/config.yml | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 60 insertions(+) + +commit cb05c363d7f85f1a9f309cc91a372d1305ee8f9e +Author: Garret Rieger +Date: Fri Aug 13 15:19:20 2021 -0700 + + [subset] add some basic tests for the legacy subset methods. + + src/hb-subset-input.cc | 16 ++++++++-------- + test/api/test-subset.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 59 insertions(+), 8 deletions(-) + +commit d18aad7ec5e940cf2bd31f5005df739f42da2590 +Author: Garret Rieger +Date: Fri Aug 13 15:05:48 2021 -0700 + + [subset] restore old subsetting api methods. + + These will be left in place until the 3.0.0 release. + + src/hb-subset-input.cc | 130 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-subset.cc | 8 +++ + src/hb-subset.h | 61 +++++++++++++++++++++++ + 3 files changed, 199 insertions(+) + +commit 44802c8ec462574c148be12594609e13abd7ccb5 +Author: Garret Rieger +Date: Thu Aug 12 11:11:51 2021 -0700 + + [subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts. + + ...e_subrules_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2132 bytes + ...iple_subrules_f1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2012 bytes + ...ple_subrules_f1.layout-test-retain-gids.41,43.otf} | Bin + ...ltiple_subrules_f1.layout-test-retain-gids.41.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3992 bytes + ...ext1_multiple_subrules_f1.layout-test.41,42,43.otf | Bin 0 -> 1420 bytes + ...ontext1_multiple_subrules_f1.layout-test.41,42.otf | Bin 0 -> 1304 bytes + ...ntext1_multiple_subrules_f1.layout-test.41,43.otf} | Bin + ..._context1_multiple_subrules_f1.layout-test.41.otf} | Bin + ...e_subrules_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3992 bytes + ...e_subrules_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 0 bytes + ...1_multiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 0 bytes + ...ext1_multiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 0 bytes + ...e_subrules_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2152 bytes + ...iple_subrules_f1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2028 bytes + ...ple_subrules_f1.layout-test-retain-gids.41,43.otf} | Bin + ...ltiple_subrules_f1.layout-test-retain-gids.41.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4012 bytes + ...ext2_multiple_subrules_f1.layout-test.41,42,43.otf | Bin 0 -> 1440 bytes + ...ontext2_multiple_subrules_f1.layout-test.41,42.otf | Bin 0 -> 1320 bytes + ...ntext2_multiple_subrules_f1.layout-test.41,43.otf} | Bin + ..._context2_multiple_subrules_f1.layout-test.41.otf} | Bin + ...e_subrules_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4012 bytes + ...ubrules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2016 -> 0 bytes + ...e_subrules_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 0 bytes + ...2_multiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 0 bytes + ...ext2_multiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 0 bytes + ...xt3_simple_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2112 bytes + ...text3_simple_f1.layout-test-retain-gids.41,42.otf} | Bin + ...text3_simple_f1.layout-test-retain-gids.41,43.otf} | Bin + ...context3_simple_f1.layout-test-retain-gids.41.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3972 bytes + .../gpos_context3_simple_f1.layout-test.41,42,43.otf | Bin 0 -> 1400 bytes + ... => gpos_context3_simple_f1.layout-test.41,42.otf} | Bin + ... => gpos_context3_simple_f1.layout-test.41,43.otf} | Bin + ...otf => gpos_context3_simple_f1.layout-test.41.otf} | Bin + ...xt3_simple_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3972 bytes + ..._simple_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 0 bytes + ...pos_context3_simple_f1.notdef-outline.41,42,43.otf | Bin 1284 -> 0 bytes + ..._simple_f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 0 bytes + ...Prototype.layout-test-retain-gids.41,42,43,57.otf} | Bin 5272 -> 5924 bytes + ...eVFPrototype.layout-test-retain-gids.41,42,43.otf} | Bin 4740 -> 5212 bytes + ...dobeVFPrototype.layout-test-retain-gids.41,42.otf} | Bin 4264 -> 4732 bytes + ...eVFPrototype.layout-test-retain-gids.41,56,57.otf} | Bin 4408 -> 5048 bytes + ...> AdobeVFPrototype.layout-test-retain-gids.41.otf} | Bin 3560 -> 3996 bytes + ...dobeVFPrototype.layout-test-retain-gids.42,57.otf} | Bin 4396 -> 5040 bytes + ...f => AdobeVFPrototype.layout-test.41,42,43,57.otf} | Bin 5460 -> 5480 bytes + ....otf => AdobeVFPrototype.layout-test.41,42,43.otf} | Bin 4928 -> 4952 bytes + ...,42.otf => AdobeVFPrototype.layout-test.41,42.otf} | Bin 4448 -> 4468 bytes + ....otf => AdobeVFPrototype.layout-test.41,56,57.otf} | Bin 4596 -> 4620 bytes + ...ine.41.otf => AdobeVFPrototype.layout-test.41.otf} | Bin 3748 -> 3768 bytes + ...,57.otf => AdobeVFPrototype.layout-test.42,57.otf} | Bin 4580 -> 4600 bytes + ...=> gpos1_2_font.layout-test-retain-gids.41,43.otf} | Bin 1980 -> 2044 bytes + ...=> gpos1_2_font.layout-test-retain-gids.41,46.otf} | Bin 2140 -> 2204 bytes + ...tf => gpos1_2_font.layout-test-retain-gids.41.otf} | Bin 1856 -> 1916 bytes + ...=> gpos1_2_font.layout-test-retain-gids.42,44.otf} | Bin + ...=> gpos1_2_font.layout-test-retain-gids.43,46.otf} | Bin 2004 -> 2068 bytes + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3780 -> 3848 bytes + ...e.41,43.otf => gpos1_2_font.layout-test.41,43.otf} | Bin 1260 -> 1324 bytes + ...e.41,46.otf => gpos1_2_font.layout-test.41,46.otf} | Bin 1388 -> 1452 bytes + ...outline.41.otf => gpos1_2_font.layout-test.41.otf} | Bin 1152 -> 1212 bytes + ...e.42,44.otf => gpos1_2_font.layout-test.42,44.otf} | Bin + ...e.43,46.otf => gpos1_2_font.layout-test.43,46.otf} | Bin 1252 -> 1316 bytes + ...gpos1_2_font.layout-test.retain-all-codepoint.otf} | Bin 3780 -> 3848 bytes + ...pos2_1_font7.layout-test-retain-gids.21,23,25.otf} | Bin 1656 -> 1728 bytes + ...> gpos2_1_font7.layout-test-retain-gids.21,23.otf} | Bin 1532 -> 1604 bytes + ...> gpos2_1_font7.layout-test-retain-gids.2E,23.otf} | Bin + ...pos2_1_font7.layout-test-retain-gids.41,42,43.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3780 -> 3868 bytes + ...,25.otf => gpos2_1_font7.layout-test.21,23,25.otf} | Bin 1312 -> 1384 bytes + ....21,23.otf => gpos2_1_font7.layout-test.21,23.otf} | Bin 1204 -> 1276 bytes + ....2E,23.otf => gpos2_1_font7.layout-test.2E,23.otf} | Bin + ...,43.otf => gpos2_1_font7.layout-test.41,42,43.otf} | Bin + ...pos2_1_font7.layout-test.retain-all-codepoint.otf} | Bin 3780 -> 3868 bytes + ...gpos2_2_font5.layout-test-retain-gids.21,23,25.otf | Bin 0 -> 1780 bytes + .../gpos2_2_font5.layout-test-retain-gids.21,23.otf | Bin 0 -> 1656 bytes + ...> gpos2_2_font5.layout-test-retain-gids.2E,23.otf} | Bin + ...pos2_2_font5.layout-test-retain-gids.41,42,43.otf} | Bin + ...5.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3904 bytes + .../gpos2_2_font5.layout-test.21,23,25.otf | Bin 0 -> 1436 bytes + .../layout.gpos2/gpos2_2_font5.layout-test.21,23.otf | Bin 0 -> 1328 bytes + ....2E,23.otf => gpos2_2_font5.layout-test.2E,23.otf} | Bin + ...,43.otf => gpos2_2_font5.layout-test.41,42,43.otf} | Bin + ...gpos2_2_font5.layout-test.retain-all-codepoint.otf | Bin 0 -> 3904 bytes + ...s2_2_font5.notdef-outline-retain-gids.21,23,25.otf | Bin 1656 -> 0 bytes + ...gpos2_2_font5.notdef-outline-retain-gids.21,23.otf | Bin 1532 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 0 bytes + .../gpos2_2_font5.notdef-outline.21,23,25.otf | Bin 1312 -> 0 bytes + .../gpos2_2_font5.notdef-outline.21,23.otf | Bin 1204 -> 0 bytes + ...s2_2_font5.notdef-outline.retain-all-codepoint.otf | Bin 3780 -> 0 bytes + ... => gpos3_font3.layout-test-retain-gids.28,29.otf} | Bin 1616 -> 1700 bytes + ... => gpos3_font3.layout-test-retain-gids.28,2B.otf} | Bin 1752 -> 1836 bytes + ... => gpos3_font3.layout-test-retain-gids.29,2B.otf} | Bin 1664 -> 1744 bytes + ... gpos3_font3.layout-test-retain-gids.41,42,43.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 3908 bytes + ...ne.28,29.otf => gpos3_font3.layout-test.28,29.otf} | Bin 1224 -> 1308 bytes + ...ne.28,2B.otf => gpos3_font3.layout-test.28,2B.otf} | Bin 1344 -> 1428 bytes + ...ne.29,2B.otf => gpos3_font3.layout-test.29,2B.otf} | Bin 1256 -> 1336 bytes + ...42,43.otf => gpos3_font3.layout-test.41,42,43.otf} | Bin + .../gpos3_font3.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 3908 bytes + ..._anchors_1.layout-test-retain-gids.41,42,43,44.otf | Bin 0 -> 2336 bytes + ..._anchors_1.layout-test-retain-gids.41,42,43,45.otf | Bin 0 -> 2332 bytes + ...le_anchors_1.layout-test-retain-gids.41,42,43.otf} | Bin 1976 -> 2096 bytes + ...tiple_anchors_1.layout-test-retain-gids.41,42.otf} | Bin + ...hors_1.layout-test-retain-gids.41,43,44,45,46.otf} | Bin 2560 -> 2692 bytes + ...ple_anchors_1.layout-test-retain-gids.41,43,44.otf | Bin 0 -> 2328 bytes + ...ple_anchors_1.layout-test-retain-gids.41,43,45.otf | Bin 0 -> 2328 bytes + ...tiple_anchors_1.layout-test-retain-gids.41,43.otf} | Bin 1972 -> 2092 bytes + ...multiple_anchors_1.layout-test-retain-gids.41.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3844 -> 3996 bytes + ...os4_multiple_anchors_1.layout-test.41,42,43,44.otf | Bin 0 -> 1620 bytes + ...os4_multiple_anchors_1.layout-test.41,42,43,45.otf | Bin 0 -> 1600 bytes + .../gpos4_multiple_anchors_1.layout-test.41,42,43.otf | Bin 0 -> 1384 bytes + ...=> gpos4_multiple_anchors_1.layout-test.41,42.otf} | Bin + ...multiple_anchors_1.layout-test.41,43,44,45,46.otf} | Bin 1832 -> 1964 bytes + .../gpos4_multiple_anchors_1.layout-test.41,43,44.otf | Bin 0 -> 1604 bytes + .../gpos4_multiple_anchors_1.layout-test.41,43,45.otf | Bin 0 -> 1592 bytes + .../gpos4_multiple_anchors_1.layout-test.41,43.otf | Bin 0 -> 1372 bytes + ...tf => gpos4_multiple_anchors_1.layout-test.41.otf} | Bin + ...le_anchors_1.layout-test.retain-all-codepoint.otf} | Bin 3844 -> 3996 bytes + ...chors_1.notdef-outline-retain-gids.41,42,43,44.otf | Bin 2208 -> 0 bytes + ..._anchors_1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 0 bytes + ...ple_anchors_1.notdef-outline-retain-gids.41,43.otf | Bin 2000 -> 0 bytes + ..._multiple_anchors_1.notdef-outline.41,42,43,44.otf | Bin 1492 -> 0 bytes + ..._multiple_anchors_1.notdef-outline.41,42,43,45.otf | Bin 1488 -> 0 bytes + ...os4_multiple_anchors_1.notdef-outline.41,42,43.otf | Bin 1284 -> 0 bytes + ...os4_multiple_anchors_1.notdef-outline.41,43,45.otf | Bin 1488 -> 0 bytes + .../gpos4_multiple_anchors_1.notdef-outline.41,43.otf | Bin 1280 -> 0 bytes + ...os5_font1.layout-test-retain-gids.41,42,43,44.otf} | Bin 2224 -> 2360 bytes + ...os5_font1.layout-test-retain-gids.41,42,43,45.otf} | Bin 2220 -> 2356 bytes + .../gpos5_font1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2120 bytes + ... gpos5_font1.layout-test-retain-gids.41,42,44.otf} | Bin 2144 -> 2276 bytes + .../gpos5_font1.layout-test-retain-gids.41,42,45.otf | Bin 0 -> 2260 bytes + .../gpos5_font1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2012 bytes + ... => gpos5_font1.layout-test-retain-gids.41,43.otf} | Bin + ...otf => gpos5_font1.layout-test-retain-gids.41.otf} | Bin + ...otf => gpos5_font1.layout-test-retain-gids.42.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3860 -> 4064 bytes + ...44.otf => gpos5_font1.layout-test.41,42,43,44.otf} | Bin 1508 -> 1644 bytes + .../gpos5_font1.layout-test.41,42,43,45.otf | Bin 0 -> 1624 bytes + .../layout.gpos5/gpos5_font1.layout-test.41,42,43.otf | Bin 0 -> 1408 bytes + ...42,44.otf => gpos5_font1.layout-test.41,42,44.otf} | Bin 1420 -> 1552 bytes + .../layout.gpos5/gpos5_font1.layout-test.41,42,45.otf | Bin 0 -> 1524 bytes + .../layout.gpos5/gpos5_font1.layout-test.41,42.otf | Bin 0 -> 1304 bytes + ...ne.41,43.otf => gpos5_font1.layout-test.41,43.otf} | Bin + ...-outline.41.otf => gpos5_font1.layout-test.41.otf} | Bin + ...-outline.42.otf => gpos5_font1.layout-test.42.otf} | Bin + ... gpos5_font1.layout-test.retain-all-codepoint.otf} | Bin 3860 -> 4064 bytes + ...5_font1.notdef-outline-retain-gids.41,42,43,45.otf | Bin 2236 -> 0 bytes + ...pos5_font1.notdef-outline-retain-gids.41,42,43.otf | Bin 2012 -> 0 bytes + ...pos5_font1.notdef-outline-retain-gids.41,42,45.otf | Bin 2144 -> 0 bytes + .../gpos5_font1.notdef-outline-retain-gids.41,42.otf | Bin 1908 -> 0 bytes + .../gpos5_font1.notdef-outline.41,42,43,45.otf | Bin 1504 -> 0 bytes + .../gpos5_font1.notdef-outline.41,42,43.otf | Bin 1300 -> 0 bytes + .../gpos5_font1.notdef-outline.41,42,45.otf | Bin 1408 -> 0 bytes + .../layout.gpos5/gpos5_font1.notdef-outline.41,42.otf | Bin 1200 -> 0 bytes + ...os6_font1.layout-test-retain-gids.41,42,43,44.otf} | Bin 2184 -> 2312 bytes + ...pos6_font1.layout-test-retain-gids.41,42,43,45.otf | Bin 0 -> 2308 bytes + .../gpos6_font1.layout-test-retain-gids.41,42,43.otf} | Bin 2016 -> 2072 bytes + ... => gpos6_font1.layout-test-retain-gids.41,42.otf} | Bin + ..._font1.layout-test-retain-gids.41,43,44,45,46.otf} | Bin 2536 -> 2668 bytes + .../gpos6_font1.layout-test-retain-gids.41,43,44.otf} | Bin 2216 -> 2304 bytes + .../gpos6_font1.layout-test-retain-gids.41,43,45.otf} | Bin 2224 -> 2304 bytes + .../gpos6_font1.layout-test-retain-gids.41,43.otf | Bin 0 -> 2068 bytes + ...otf => gpos6_font1.layout-test-retain-gids.41.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3820 -> 3972 bytes + ...44.otf => gpos6_font1.layout-test.41,42,43,44.otf} | Bin 1468 -> 1596 bytes + .../gpos6_font1.layout-test.41,42,43,45.otf | Bin 0 -> 1576 bytes + .../layout.gpos6/gpos6_font1.layout-test.41,42,43.otf | Bin 0 -> 1360 bytes + ...ne.41,42.otf => gpos6_font1.layout-test.41,42.otf} | Bin + ...otf => gpos6_font1.layout-test.41,43,44,45,46.otf} | Bin 1808 -> 1940 bytes + .../gpos6_font1.layout-test.41,43,44.otf} | Bin 1492 -> 1580 bytes + .../layout.gpos6/gpos6_font1.layout-test.41,43,45.otf | Bin 0 -> 1568 bytes + .../layout.gpos6/gpos6_font1.layout-test.41,43.otf | Bin 0 -> 1348 bytes + ...-outline.41.otf => gpos6_font1.layout-test.41.otf} | Bin + ... gpos6_font1.layout-test.retain-all-codepoint.otf} | Bin 3820 -> 3972 bytes + ...6_font1.notdef-outline-retain-gids.41,42,43,45.otf | Bin 2196 -> 0 bytes + ...pos6_font1.notdef-outline-retain-gids.41,43,44.otf | Bin 2192 -> 0 bytes + ...pos6_font1.notdef-outline-retain-gids.41,43,45.otf | Bin 2200 -> 0 bytes + .../gpos6_font1.notdef-outline.41,42,43,45.otf | Bin 1464 -> 0 bytes + .../gpos6_font1.notdef-outline.41,42,43.otf | Bin 1260 -> 0 bytes + .../gpos6_font1.notdef-outline.41,43,44.otf | Bin 1468 -> 0 bytes + .../gpos6_font1.notdef-outline.41,43,45.otf | Bin 1464 -> 0 bytes + .../layout.gpos6/gpos6_font1.notdef-outline.41,43.otf | Bin 1256 -> 0 bytes + ...ubrules_f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2400 bytes + ..._subrules_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4012 bytes + ...1_multiple_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1928 bytes + ...ng1_multiple_subrules_f1.layout-test.41,42,43.otf} | Bin + ...e_subrules_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4012 bytes + ...ules_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 0 bytes + ...ultiple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 0 bytes + ...ubrules_f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2420 bytes + ..._subrules_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4044 bytes + ...2_multiple_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1948 bytes + ...ng2_multiple_subrules_f1.layout-test.41,42,43.otf} | Bin + ...e_subrules_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4044 bytes + ...ules_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 0 bytes + ...ultiple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 0 bytes + ..._simple_f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2392 bytes + ...g3_simple_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3980 bytes + ...os_chaining3_simple_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1920 bytes + ...gpos_chaining3_simple_f1.layout-test.41,42,43.otf} | Bin + ...ng3_simple_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3980 bytes + ...mple_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2268 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 0 bytes + ...chaining3_simple_f1.notdef-outline.30,31,32,33.otf | Bin 1796 -> 0 bytes + ..._simple_f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 0 bytes + .../gpos9_font2.layout-test-retain-gids.41,42.otf | Bin 0 -> 1960 bytes + ...otf => gpos9_font2.layout-test-retain-gids.41.otf} | Bin 1852 -> 1920 bytes + ...otf => gpos9_font2.layout-test-retain-gids.42.otf} | Bin 1724 -> 1792 bytes + .../layout.gpos9/gpos9_font2.layout-test.41,42.otf | Bin 0 -> 1252 bytes + ...-outline.41.otf => gpos9_font2.layout-test.41.otf} | Bin 1148 -> 1216 bytes + ...-outline.42.otf => gpos9_font2.layout-test.42.otf} | Bin 1008 -> 1076 bytes + .../gpos9_font2.notdef-outline-retain-gids.41,42.otf | Bin 1868 -> 0 bytes + .../layout.gpos9/gpos9_font2.notdef-outline.41,42.otf | Bin 1160 -> 0 bytes + .../gsub_alternate_substitution.default.53A9.otf | Bin 3884 -> 0 bytes + .../gsub_alternate_substitution.default.53F1.otf | Bin 2440 -> 0 bytes + ...ubstitution.layout-test-retain-gids.53A9,53F1.otf} | Bin 4440 -> 5076 bytes + ...nate_substitution.layout-test-retain-gids.53A9.otf | Bin 0 -> 4656 bytes + ...nate_substitution.layout-test-retain-gids.53F1.otf | Bin 0 -> 2996 bytes + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 6076 -> 6764 bytes + ..._alternate_substitution.layout-test.53A9,53F1.otf} | Bin 4316 -> 4952 bytes + .../gsub_alternate_substitution.layout-test.53A9.otf | Bin 0 -> 4504 bytes + .../gsub_alternate_substitution.layout-test.53F1.otf | Bin 0 -> 2804 bytes + ...substitution.layout-test.retain-all-codepoint.otf} | Bin 5984 -> 6672 bytes + .../gsub_alternate_substitution.retain-gids.53A9.otf | Bin 4036 -> 0 bytes + .../gsub_alternate_substitution.retain-gids.53F1.otf | Bin 2632 -> 0 bytes + ...e_subrules_f2.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2236 bytes + ...iple_subrules_f2.layout-test-retain-gids.41,42.otf | Bin 0 -> 2208 bytes + ...ple_subrules_f2.layout-test-retain-gids.41,43.otf} | Bin + ...ltiple_subrules_f2.layout-test-retain-gids.41.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3880 -> 3988 bytes + ...ext1_multiple_subrules_f2.layout-test.41,42,43.otf | Bin 0 -> 1440 bytes + ...ontext1_multiple_subrules_f2.layout-test.41,42.otf | Bin 0 -> 1400 bytes + ...ntext1_multiple_subrules_f2.layout-test.41,43.otf} | Bin + ..._context1_multiple_subrules_f2.layout-test.41.otf} | Bin + ..._subrules_f2.layout-test.retain-all-codepoint.otf} | Bin 3880 -> 3988 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + ...e_subrules_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 0 bytes + ...1_multiple_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 0 bytes + ...ext1_multiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 0 bytes + ...ubrules_f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 0 bytes + ...e_subrules_f2.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2256 bytes + ...iple_subrules_f2.layout-test-retain-gids.41,42.otf | Bin 0 -> 2224 bytes + ...ple_subrules_f2.layout-test-retain-gids.41,43.otf} | Bin + ...ltiple_subrules_f2.layout-test-retain-gids.41.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3880 -> 4008 bytes + ...ext2_multiple_subrules_f2.layout-test.41,42,43.otf | Bin 0 -> 1460 bytes + ...ontext2_multiple_subrules_f2.layout-test.41,42.otf | Bin 0 -> 1416 bytes + ...ntext2_multiple_subrules_f2.layout-test.41,43.otf} | Bin + ..._context2_multiple_subrules_f2.layout-test.41.otf} | Bin + ..._subrules_f2.layout-test.retain-all-codepoint.otf} | Bin 3880 -> 4008 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + ...e_subrules_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 0 bytes + ...2_multiple_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 0 bytes + ...ext2_multiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 0 bytes + ...ubrules_f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 0 bytes + ...uccessive_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ...3_successive_f1.layout-test-retain-gids.41,42.otf} | Bin + ...3_successive_f1.layout-test-retain-gids.41,43.otf} | Bin + ...ext3_successive_f1.layout-test-retain-gids.41.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 4008 bytes + ...b_context3_successive_f1.layout-test.41,42,43.otf} | Bin + ...gsub_context3_successive_f1.layout-test.41,42.otf} | Bin + ...gsub_context3_successive_f1.layout-test.41,43.otf} | Bin + ...=> gsub_context3_successive_f1.layout-test.41.otf} | Bin + ...uccessive_f1.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 4008 bytes + ...brules_f1.layout-test-retain-gids.30,31,32,33.otf} | Bin 2304 -> 2372 bytes + ..._subrules_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 3984 bytes + ..._multiple_subrules_f1.layout-test.30,31,32,33.otf} | Bin 1832 -> 1900 bytes + ...ng1_multiple_subrules_f1.layout-test.41,42,43.otf} | Bin + ..._subrules_f1.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 3984 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 0 bytes + ...ubrules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 0 bytes + ...brules_f1.layout-test-retain-gids.30,31,32,33.otf} | Bin 2304 -> 2400 bytes + ..._subrules_f1.layout-test-retain-gids.41,42,43.otf} | Bin + ...1.layout-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4016 bytes + ...2_multiple_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1928 bytes + ...ng2_multiple_subrules_f1.layout-test.41,42,43.otf} | Bin + ...e_subrules_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4016 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 0 bytes + ...ultiple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1832 -> 0 bytes + ...ubrules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 0 bytes + ..._simple_f2.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2360 bytes + ...g3_simple_f2.layout-test-retain-gids.41,42,43.otf} | Bin + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3812 -> 3952 bytes + ...ub_chaining3_simple_f2.layout-test.30,31,32,33.otf | Bin 0 -> 1888 bytes + ...gsub_chaining3_simple_f2.layout-test.41,42,43.otf} | Bin + ...g3_simple_f2.layout-test.retain-all-codepoint.otf} | Bin 3812 -> 3952 bytes + ...mple_f2.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2280 -> 0 bytes + ...otdef-outline-retain-gids.retain-all-codepoint.otf | Bin 3868 -> 0 bytes + ...chaining3_simple_f2.notdef-outline.30,31,32,33.otf | Bin 1808 -> 0 bytes + ..._simple_f2.notdef-outline.retain-all-codepoint.otf | Bin 3868 -> 0 bytes + ...t-test-retain-gids.41,42,43,44,45,46,47,48,49.otf} | Bin 2916 -> 3208 bytes + ...d.layout-test-retain-gids.41,42,43,44,45,46,47.otf | Bin 0 -> 2828 bytes + ...d.layout-test-retain-gids.41,42,43,44,45,46,4D.otf | Bin 0 -> 2896 bytes + ....layout-test-retain-gids.41,42,43,44,45,46,51.otf} | Bin 2624 -> 2900 bytes + ...ted.layout-test-retain-gids.41,42,43,44,45,46.otf} | Bin + ...ally_created.layout-test-retain-gids.41,42,43.otf} | Bin + ...8_manually_created.layout-test-retain-gids.41.otf} | Bin + ...b8_manually_created.layout-test-retain-gids.61.otf | Bin 0 -> 2608 bytes + ....layout-test-retain-gids.retain-all-codepoint.otf} | Bin 3868 -> 4048 bytes + ...reated.layout-test.41,42,43,44,45,46,47,48,49.otf} | Bin 2188 -> 2404 bytes + ...ally_created.layout-test.41,42,43,44,45,46,47.otf} | Bin 1948 -> 2012 bytes + ...ually_created.layout-test.41,42,43,44,45,46,4D.otf | Bin 0 -> 2012 bytes + ...ually_created.layout-test.41,42,43,44,45,46,51.otf | Bin 0 -> 2060 bytes + ...anually_created.layout-test.41,42,43,44,45,46.otf} | Bin + ...> gsub8_manually_created.layout-test.41,42,43.otf} | Bin + ....otf => gsub8_manually_created.layout-test.41.otf} | Bin + .../gsub8_manually_created.layout-test.61.otf | Bin 0 -> 1556 bytes + ...ally_created.layout-test.retain-all-codepoint.otf} | Bin 3868 -> 4048 bytes + ...otdef-outline-retain-gids.41,42,43,44,45,46,4D.otf | Bin 2668 -> 0 bytes + ...otdef-outline-retain-gids.41,42,43,44,45,46,51.otf | Bin 2792 -> 0 bytes + ...manually_created.notdef-outline-retain-gids.61.otf | Bin 2292 -> 0 bytes + ...ly_created.notdef-outline.41,42,43,44,45,46,47.otf | Bin 1904 -> 0 bytes + ...ly_created.notdef-outline.41,42,43,44,45,46,4D.otf | Bin 1868 -> 0 bytes + .../gsub8_manually_created.notdef-outline.61.otf | Bin 1236 -> 0 bytes + test/subset/data/profiles/layout-test-retain-gids.txt | 3 +++ + test/subset/data/profiles/layout-test.txt | 2 ++ + test/subset/data/tests/layout.context.tests | 4 ++-- + test/subset/data/tests/layout.gdef-varstore.tests | 4 ++-- + test/subset/data/tests/layout.gpos.tests | 4 ++-- + test/subset/data/tests/layout.gpos2.tests | 4 ++-- + test/subset/data/tests/layout.gpos3.tests | 4 ++-- + test/subset/data/tests/layout.gpos4.tests | 4 ++-- + test/subset/data/tests/layout.gpos5.tests | 4 ++-- + test/subset/data/tests/layout.gpos6.tests | 4 ++-- + test/subset/data/tests/layout.gpos8.tests | 4 ++-- + test/subset/data/tests/layout.gpos9.tests | 4 ++-- + test/subset/data/tests/layout.gsub3.tests | 4 ++-- + test/subset/data/tests/layout.gsub5.tests | 4 ++-- + test/subset/data/tests/layout.gsub6.tests | 4 ++-- + test/subset/data/tests/layout.gsub8.tests | 4 ++-- + 340 files changed, 33 insertions(+), 28 deletions(-) + +commit 7620da0f2b2ec83db401f598c1e1ab22c0cfa91d +Merge: c0f3af91b ccc2a1921 +Author: Behdad Esfahbod +Date: Thu Aug 12 14:55:33 2021 -0600 + + Merge pull request #3142 from harfbuzz/subset-preload-face + + [util/hb-subset] preload face + +commit c0f3af91b80bcaa32d216eac6843c5036e446e25 +Author: Garret Rieger +Date: Wed Aug 11 16:20:05 2021 -0700 + + [subset] speed up add_gid_and_children and adjust op limit. + + Fix for fuzzer timeout: https://oss-fuzz.com/testcase-detail/5001604901240832. + + - Operation limit is per glyph, so 100,000 should still be far more than needed. + - Switches from for(...) to while(...) loop for iteration. for(...) calls it.end() which in this case triggers a complete iteration. + - Cache CompositeGlyph size in the iterator to avoid needing to recalculate it. + + src/hb-ot-glyf-table.hh | 48 +++++++++++++++------ + ...ase-minimized-hb-subset-fuzzer-5001604901240832 | Bin 0 -> 165568 bytes + 2 files changed, 34 insertions(+), 14 deletions(-) + +commit ccc2a1921a2beab5d7570145a9474870cf25d02a +Author: Behdad Esfahbod +Date: Thu Aug 12 12:44:52 2021 -0600 + + [util/hb-subset] Whitespace + + util/hb-subset.cc | 57 +++++++++++++++++++++++++++---------------------------- + 1 file changed, 28 insertions(+), 29 deletions(-) + +commit 4dfc668e0a745cfb6d06d731adf71198cb4cb610 +Author: Behdad Esfahbod +Date: Thu Aug 12 12:40:21 2021 -0600 + + [util/hb-subset] Move glyph name parsing inline instead of post_parse + + Now that we have face around we can just do it as it happens. + + util/hb-subset.cc | 85 +++++++++++++++++++------------------------------------ + 1 file changed, 29 insertions(+), 56 deletions(-) + +commit 08d43d1ba188ffb99eeeb50f6bc20b2f10701318 +Author: Behdad Esfahbod +Date: Thu Aug 12 11:40:56 2021 -0600 + + [util/hb-subset] Move add_all_unicodes inline, instead of post_parse + + Now that we have the font loaded, we can do it as it happens. + + util/hb-subset.cc | 19 +++++++++---------- + 1 file changed, 9 insertions(+), 10 deletions(-) + +commit 11b0b688538b54f13069416a4a47a4db1eba6ae6 +Author: Behdad Esfahbod +Date: Thu Aug 12 11:38:28 2021 -0600 + + [util/hb-subset] Pre-parse font-face so we can use it during main parsing + + util/face-options.hh | 3 +++ + util/hb-subset.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ + util/options.hh | 23 +++++++++++++++-------- + 3 files changed, 69 insertions(+), 8 deletions(-) + +commit c45d2a9c9dbdf3f0936f56f12706e8725078883b +Author: Behdad Esfahbod +Date: Thu Aug 12 11:17:26 2021 -0600 + + [util] Allow setting cli summary / description + + util/hb-ot-shape-closure.cc | 1 + + util/hb-shape.cc | 1 + + util/hb-subset.cc | 2 ++ + util/options.hh | 13 +++++++++++-- + util/view-cairo.hh | 1 + + 5 files changed, 16 insertions(+), 2 deletions(-) + +commit 4f3b7b7035b12991a155f2775ddadd1ecd824ecb +Author: Behdad Esfahbod +Date: Thu Aug 12 11:05:31 2021 -0600 + + [util] Remove unused usage + + util/options.hh | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +commit 1cb621d35d1e8e47d868f4ef6a9d186aa835e708 +Author: Behdad Esfahbod +Date: Thu Aug 12 10:58:19 2021 -0600 + + [util/hb-subset] Minor move parsing + + util/hb-subset.cc | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit 3f94177ee80a120afcb2275608473b9da63811d0 +Author: Behdad Esfahbod +Date: Thu Aug 12 10:43:31 2021 -0600 + + [util] Use g_set_error() in one more place + + util/font-options.hh | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +commit 4d73b3d9b1575b9b71ba21886cc130f8bb7591ee +Author: Behdad Esfahbod +Date: Thu Aug 12 10:39:46 2021 -0600 + + [util] Add --batch to hb-view / hb-ot-shape-closure + + util/batch.hh | 2 ++ + util/hb-ot-shape-closure.cc | 8 +++++--- + util/hb-shape.cc | 8 ++++---- + util/hb-subset.cc | 6 ++---- + util/hb-view.cc | 10 ++++++---- + 5 files changed, 19 insertions(+), 15 deletions(-) + +commit 302bde0bfbb29208a974bd50b1af09a154efbd45 +Merge: 43722cc9f 23282c9c9 +Author: Behdad Esfahbod +Date: Wed Aug 11 23:05:11 2021 -0600 + + Merge pull request #3135 from harfbuzz/post-parse + + [util] Clean up option parsing some more and implement missing featuress + +commit 23282c9c9d057c715dde93d18167de9329931354 +Author: Behdad Esfahbod +Date: Wed Aug 11 22:49:47 2021 -0600 + + [util/hb-subset] Support ranges in --unicodes / --unicodes-file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3109 + + test/shape/hb_test_tools.py | 2 +- + util/hb-subset.cc | 68 ++++++++++++++++++++++++++++++--------------- + util/text-options.hh | 3 +- + 3 files changed, 48 insertions(+), 25 deletions(-) + +commit f60f005b1fec38dcb0630b01520a7b8a105759c5 +Author: Behdad Esfahbod +Date: Wed Aug 11 22:36:00 2021 -0600 + + [util/hb-subset] Remove wrong hb_set_destroy() in error paths + + util/hb-subset.cc | 5 ----- + 1 file changed, 5 deletions(-) + +commit 49cf36027c5ad8092966983f9c2e438cbef00c15 +Author: Behdad Esfahbod +Date: Wed Aug 11 22:34:14 2021 -0600 + + [util/hb-subset] Parse --gids-file, --glyphs-file, --text-file, --unicodes-file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2455 + Fixes https://github.com/harfbuzz/harfbuzz/issues/3002 + + util/hb-subset.cc | 119 +++++++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 92 insertions(+), 27 deletions(-) + +commit bf80b7ea457deb1fb72e7996e5f4d78a981e8a39 +Author: Behdad Esfahbod +Date: Wed Aug 11 22:07:45 2021 -0600 + + [util/hb-subset] Add --glyphs for passing glyph names + + Part of https://github.com/harfbuzz/harfbuzz/issues/2455 + + util/hb-subset.cc | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 62 insertions(+), 1 deletion(-) + +commit 5b07c3c7d03b5ff6d35fafa3db402528d813af0a +Author: Behdad Esfahbod +Date: Wed Aug 11 21:14:55 2021 -0600 + + [util/hb-subset] Parse --text & --unicodes + + util/Makefile.sources | 1 - + util/hb-subset.cc | 528 ++++++++++++++++++++++++++++++++++++++++++++----- + util/subset-options.hh | 399 ------------------------------------- + util/text-options.hh | 3 +- + 4 files changed, 475 insertions(+), 456 deletions(-) + +commit 4ec727e55f1f5479aa2be85f8ad4e0f1a4b922b6 +Author: Behdad Esfahbod +Date: Wed Aug 11 20:46:16 2021 -0600 + + [util] Minor edit of failure messages + + util/subset-options.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b83f25c749c219e2cb7ed6d819d638f97bf3ea62 +Author: Behdad Esfahbod +Date: Wed Aug 11 20:42:20 2021 -0600 + + [util/hb-subset] Revamp option groups + + util/shape-options.hh | 3 ++- + util/subset-options.hh | 59 ++++++++++++++++++++++++++++++++++++++++---------- + 2 files changed, 49 insertions(+), 13 deletions(-) + +commit 9a6055caa812a5c855ec604ce0c74a91236c0988 +Author: Behdad Esfahbod +Date: Wed Aug 11 20:30:25 2021 -0600 + + [util/hb-ot-shape-closure] Remove unnecessary include + + util/hb-ot-shape-closure.cc | 4 ---- + 1 file changed, 4 deletions(-) + +commit c98773ebb0b47c682494de4a4c6b648a62698cec +Author: Behdad Esfahbod +Date: Wed Aug 11 20:22:03 2021 -0600 + + [util/hb-subset] Move output-file validation code into post_parse + + util/hb-shape.cc | 2 +- + util/hb-subset.cc | 5 +-- + util/helper-cairo.hh | 2 + + util/output-options.hh | 120 ++++++++++++++++++++++++------------------------- + util/view-cairo.hh | 2 +- + 5 files changed, 65 insertions(+), 66 deletions(-) + +commit 58bfe40794352afc162c651ff84cbacf5e751960 +Author: Behdad Esfahbod +Date: Wed Aug 11 19:48:28 2021 -0600 + + [util] Move hb-subset away from main-font-text + + test/subset/run-tests.py | 1 - + util/face-options.hh | 6 ++ + util/hb-shape.cc | 8 +-- + util/hb-subset.cc | 146 ++++++++++++++++++++++++++++------------------- + util/helper-cairo.hh | 4 +- + util/output-options.hh | 15 +++-- + util/shape-options.hh | 9 ++- + util/text-options.hh | 18 +++--- + 8 files changed, 122 insertions(+), 85 deletions(-) + +commit 3147e081da35b9c3c03cc58970eb96f31958f4c4 +Merge: ba418cfc5 43722cc9f +Author: Behdad Esfahbod +Date: Wed Aug 11 19:33:00 2021 -0600 + + Merge branch 'main' into post-parse + +commit 43722cc9f428bbfa759d4d93008ba4cf6efaceba +Author: Khaled Hosny +Date: Thu Aug 12 02:32:29 2021 +0200 + + [test] Add some real reverse sub tests + + .../fonts/1b66a1f4b076b734caa6397b3e57231af1feaafb.ttf | Bin 0 -> 3220 bytes + .../fonts/3f24aff8b768e586162e9b9d03b15c36508dd2ae.ttf | Bin 0 -> 5760 bytes + test/shaping/data/in-house/tests/reverse-sub.tests | 2 ++ + 3 files changed, 2 insertions(+) + +commit ba418cfc5218ac093b759e2c03a43234a786f6eb +Author: Behdad Esfahbod +Date: Wed Aug 11 19:29:07 2021 -0600 + + [util] Use automatic casts + + util/view-cairo.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 97a9e4e41e9712fa52802d1043b7cecdde2ff2a2 +Author: Behdad Esfahbod +Date: Wed Aug 11 19:28:16 2021 -0600 + + [util] Separate shape_text_options_t from text_options_t + + util/hb-ot-shape-closure.cc | 15 ++++++---- + util/hb-shape.cc | 2 +- + util/hb-subset.cc | 14 +++++---- + util/hb-view.cc | 2 +- + util/main-font-text.hh | 6 ++-- + util/shape-consumer.hh | 16 ++++++---- + util/text-options.hh | 73 ++++++++++++++++++++++++++++++++++++++++----- + 7 files changed, 98 insertions(+), 30 deletions(-) + +commit 6ba7ddafed4cf80cdb4ff38700d96629d10eed64 +Author: Behdad Esfahbod +Date: Wed Aug 11 19:06:57 2021 -0600 + + [util] Move text-file opening to post_parse + + util/text-options.hh | 39 +++++++++++++++++++++------------------ + 1 file changed, 21 insertions(+), 18 deletions(-) + +commit 23298bc846d34eb6a5465511df6219e3d94c3103 +Author: Behdad Esfahbod +Date: Wed Aug 11 18:58:25 2021 -0600 + + [util] Remove unnecessary check + + util/text-options.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit fd0778aa2a8525d9b435304710c29598df6905cc +Author: Behdad Esfahbod +Date: Wed Aug 11 18:54:46 2021 -0600 + + [util] Use post_parse in output_options_t + + util/hb-shape.cc | 1 - + util/helper-cairo.hh | 4 ++-- + util/output-options.hh | 57 ++++++++++++++++++++++---------------------------- + 3 files changed, 27 insertions(+), 35 deletions(-) + +commit 24a9d8c78db50e8082cb6ba258707f3d0e8333e7 +Author: Behdad Esfahbod +Date: Wed Aug 11 18:47:06 2021 -0600 + + [util] Use post_parse in font_options_t + + util/font-options.hh | 15 +++++---------- + util/hb-ot-shape-closure.cc | 2 +- + util/hb-shape.cc | 2 +- + util/helper-cairo.hh | 2 +- + util/shape-consumer.hh | 2 +- + util/view-cairo.hh | 2 +- + 6 files changed, 10 insertions(+), 15 deletions(-) + +commit e0d7060f80f8c4b9b8241c3a4d8faa33f48da86d +Author: Behdad Esfahbod +Date: Wed Aug 11 18:43:21 2021 -0600 + + [test] Rename shaping/ to shape/ + + configure.ac | 10 +++++----- + test/Makefile.am | 2 +- + test/meson.build | 4 ++-- + test/{shaping => shape}/Makefile.am | 0 + test/{shaping => shape}/README.md | 0 + test/{shaping => shape}/data/Makefile.am | 0 + test/{shaping => shape}/data/aots/COPYING | 0 + test/{shaping => shape}/data/aots/Makefile.am | 0 + test/{shaping => shape}/data/aots/Makefile.sources | 0 + test/{shaping => shape}/data/aots/fonts/classdef1_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef1_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef1_font3.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef1_font4.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef2_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef2_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef2_font3.otf | Bin + test/{shaping => shape}/data/aots/fonts/classdef2_font4.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap0_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap10_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap10_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap12_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap14_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap2_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap4_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap4_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap4_font3.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap4_font4.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap6_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap6_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/cmap8_font1.otf | Bin + .../data/aots/fonts/cmap_composition_font1.otf | Bin + .../data/aots/fonts/cmap_subtableselection_font1.otf | Bin + .../data/aots/fonts/cmap_subtableselection_font2.otf | Bin + .../data/aots/fonts/cmap_subtableselection_font3.otf | Bin + .../data/aots/fonts/cmap_subtableselection_font4.otf | Bin + .../data/aots/fonts/cmap_subtableselection_font5.otf | Bin + .../data/aots/fonts/gpos1_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos1_1_simple_f1.otf | Bin + .../data/aots/fonts/gpos1_1_simple_f2.otf | Bin + .../data/aots/fonts/gpos1_1_simple_f3.otf | Bin + .../data/aots/fonts/gpos1_1_simple_f4.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos1_2_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos1_2_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_1_font6.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_1_font7.otf | Bin + .../data/aots/fonts/gpos2_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos2_1_lookupflag_f2.otf | Bin + .../data/aots/fonts/gpos2_1_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos2_1_next_glyph_f2.otf | Bin + .../data/aots/fonts/gpos2_1_simple_f1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_2_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_2_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_2_font3.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_2_font4.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos2_2_font5.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos3_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos3_font2.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos3_font3.otf | Bin + .../data/aots/fonts/gpos4_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos4_lookupflag_f2.otf | Bin + .../data/aots/fonts/gpos4_multiple_anchors_1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos4_simple_1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos5_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos6_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos7_1_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos9_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gpos9_font2.otf | Bin + .../data/aots/fonts/gpos_chaining1_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_chaining1_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_chaining1_boundary_f3.otf | Bin + .../data/aots/fonts/gpos_chaining1_boundary_f4.otf | Bin + .../data/aots/fonts/gpos_chaining1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_chaining1_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gpos_chaining1_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gpos_chaining1_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_chaining1_simple_f1.otf | Bin + .../data/aots/fonts/gpos_chaining1_simple_f2.otf | Bin + .../data/aots/fonts/gpos_chaining1_successive_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_chaining2_boundary_f3.otf | Bin + .../data/aots/fonts/gpos_chaining2_boundary_f4.otf | Bin + .../data/aots/fonts/gpos_chaining2_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gpos_chaining2_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_simple_f1.otf | Bin + .../data/aots/fonts/gpos_chaining2_simple_f2.otf | Bin + .../data/aots/fonts/gpos_chaining2_successive_f1.otf | Bin + .../data/aots/fonts/gpos_chaining3_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_chaining3_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_chaining3_boundary_f3.otf | Bin + .../data/aots/fonts/gpos_chaining3_boundary_f4.otf | Bin + .../data/aots/fonts/gpos_chaining3_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_chaining3_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_chaining3_simple_f1.otf | Bin + .../data/aots/fonts/gpos_chaining3_simple_f2.otf | Bin + .../data/aots/fonts/gpos_chaining3_successive_f1.otf | Bin + .../data/aots/fonts/gpos_context1_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_context1_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_context1_expansion_f1.otf | Bin + .../data/aots/fonts/gpos_context1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_context1_lookupflag_f2.otf | Bin + .../data/aots/fonts/gpos_context1_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gpos_context1_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gpos_context1_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_context1_simple_f1.otf | Bin + .../data/aots/fonts/gpos_context1_simple_f2.otf | Bin + .../data/aots/fonts/gpos_context1_successive_f1.otf | Bin + .../data/aots/fonts/gpos_context2_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_context2_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_context2_classes_f1.otf | Bin + .../data/aots/fonts/gpos_context2_classes_f2.otf | Bin + .../data/aots/fonts/gpos_context2_expansion_f1.otf | Bin + .../data/aots/fonts/gpos_context2_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_context2_lookupflag_f2.otf | Bin + .../data/aots/fonts/gpos_context2_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gpos_context2_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gpos_context2_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_context2_simple_f1.otf | Bin + .../data/aots/fonts/gpos_context2_simple_f2.otf | Bin + .../data/aots/fonts/gpos_context2_successive_f1.otf | Bin + .../data/aots/fonts/gpos_context3_boundary_f1.otf | Bin + .../data/aots/fonts/gpos_context3_boundary_f2.otf | Bin + .../data/aots/fonts/gpos_context3_lookupflag_f1.otf | Bin + .../data/aots/fonts/gpos_context3_lookupflag_f2.otf | Bin + .../data/aots/fonts/gpos_context3_next_glyph_f1.otf | Bin + .../data/aots/fonts/gpos_context3_simple_f1.otf | Bin + .../data/aots/fonts/gpos_context3_successive_f1.otf | Bin + .../data/aots/fonts/gsub1_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub1_1_modulo_f1.otf | Bin + .../data/aots/fonts/gsub1_1_simple_f1.otf | Bin + .../data/aots/fonts/gsub1_2_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub1_2_simple_f1.otf | Bin + .../data/aots/fonts/gsub2_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub2_1_multiple_sequences_f1.otf | Bin + .../data/aots/fonts/gsub2_1_simple_f1.otf | Bin + .../data/aots/fonts/gsub3_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub3_1_multiple_f1.otf | Bin + .../data/aots/fonts/gsub3_1_simple_f1.otf | Bin + .../data/aots/fonts/gsub4_1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub4_1_multiple_ligatures_f1.otf | Bin + .../data/aots/fonts/gsub4_1_multiple_ligatures_f2.otf | Bin + .../data/aots/fonts/gsub4_1_multiple_ligsets_f1.otf | Bin + .../data/aots/fonts/gsub4_1_simple_f1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gsub7_font1.otf | Bin + test/{shaping => shape}/data/aots/fonts/gsub7_font2.otf | Bin + .../data/aots/fonts/gsub_chaining1_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_chaining1_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_chaining1_boundary_f3.otf | Bin + .../data/aots/fonts/gsub_chaining1_boundary_f4.otf | Bin + .../data/aots/fonts/gsub_chaining1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_chaining1_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gsub_chaining1_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gsub_chaining1_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_chaining1_simple_f1.otf | Bin + .../data/aots/fonts/gsub_chaining1_simple_f2.otf | Bin + .../data/aots/fonts/gsub_chaining1_successive_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_chaining2_boundary_f3.otf | Bin + .../data/aots/fonts/gsub_chaining2_boundary_f4.otf | Bin + .../data/aots/fonts/gsub_chaining2_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gsub_chaining2_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_simple_f1.otf | Bin + .../data/aots/fonts/gsub_chaining2_simple_f2.otf | Bin + .../data/aots/fonts/gsub_chaining2_successive_f1.otf | Bin + .../data/aots/fonts/gsub_chaining3_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_chaining3_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_chaining3_boundary_f3.otf | Bin + .../data/aots/fonts/gsub_chaining3_boundary_f4.otf | Bin + .../data/aots/fonts/gsub_chaining3_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_chaining3_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_chaining3_simple_f1.otf | Bin + .../data/aots/fonts/gsub_chaining3_simple_f2.otf | Bin + .../data/aots/fonts/gsub_chaining3_successive_f1.otf | Bin + .../data/aots/fonts/gsub_context1_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_context1_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_context1_expansion_f1.otf | Bin + .../data/aots/fonts/gsub_context1_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_context1_lookupflag_f2.otf | Bin + .../data/aots/fonts/gsub_context1_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gsub_context1_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gsub_context1_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_context1_simple_f1.otf | Bin + .../data/aots/fonts/gsub_context1_simple_f2.otf | Bin + .../data/aots/fonts/gsub_context1_successive_f1.otf | Bin + .../data/aots/fonts/gsub_context2_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_context2_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_context2_classes_f1.otf | Bin + .../data/aots/fonts/gsub_context2_classes_f2.otf | Bin + .../data/aots/fonts/gsub_context2_expansion_f1.otf | Bin + .../data/aots/fonts/gsub_context2_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_context2_lookupflag_f2.otf | Bin + .../data/aots/fonts/gsub_context2_multiple_subrules_f1.otf | Bin + .../data/aots/fonts/gsub_context2_multiple_subrules_f2.otf | Bin + .../data/aots/fonts/gsub_context2_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_context2_simple_f1.otf | Bin + .../data/aots/fonts/gsub_context2_simple_f2.otf | Bin + .../data/aots/fonts/gsub_context2_successive_f1.otf | Bin + .../data/aots/fonts/gsub_context3_boundary_f1.otf | Bin + .../data/aots/fonts/gsub_context3_boundary_f2.otf | Bin + .../data/aots/fonts/gsub_context3_lookupflag_f1.otf | Bin + .../data/aots/fonts/gsub_context3_lookupflag_f2.otf | Bin + .../data/aots/fonts/gsub_context3_next_glyph_f1.otf | Bin + .../data/aots/fonts/gsub_context3_simple_f1.otf | Bin + .../data/aots/fonts/gsub_context3_successive_f1.otf | Bin + .../data/aots/fonts/lookupflag_ignore_attach_f1.otf | Bin + .../data/aots/fonts/lookupflag_ignore_base_f1.otf | Bin + .../data/aots/fonts/lookupflag_ignore_combination_f1.otf | Bin + .../data/aots/fonts/lookupflag_ignore_ligatures_f1.otf | Bin + .../data/aots/fonts/lookupflag_ignore_marks_f1.otf | Bin + test/{shaping => shape}/data/aots/hb-aots-tester.cpp | 0 + test/{shaping => shape}/data/aots/meson.build | 0 + test/{shaping => shape}/data/aots/tests/classdef1.tests | 0 + .../data/aots/tests/classdef1_empty.tests | 0 + .../data/aots/tests/classdef1_multiple.tests | 0 + .../data/aots/tests/classdef1_single.tests | 0 + test/{shaping => shape}/data/aots/tests/classdef2.tests | 0 + .../data/aots/tests/classdef2_empty.tests | 0 + .../data/aots/tests/classdef2_multiple.tests | 0 + .../data/aots/tests/classdef2_single.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap0.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap10.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap12.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap2.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap4.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap6.tests | 0 + test/{shaping => shape}/data/aots/tests/cmap8.tests | 0 + .../data/aots/tests/gpos1_1_lookupflag.tests | 0 + .../{shaping => shape}/data/aots/tests/gpos1_1_simple.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos1_2.tests | 0 + .../data/aots/tests/gpos1_2_lookupflag.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos2_1.tests | 0 + .../data/aots/tests/gpos2_1_lookupflag.tests | 0 + .../data/aots/tests/gpos2_1_next_glyph.tests | 0 + .../{shaping => shape}/data/aots/tests/gpos2_1_simple.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos2_2.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos3.tests | 0 + .../data/aots/tests/gpos3_lookupflag.tests | 0 + .../data/aots/tests/gpos4_lookupflag.tests | 0 + .../data/aots/tests/gpos4_multiple_anchors.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos4_simple.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos5.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos6.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos7_1.tests | 0 + test/{shaping => shape}/data/aots/tests/gpos9.tests | 0 + .../data/aots/tests/gpos_chaining1_boundary.tests | 0 + .../data/aots/tests/gpos_chaining1_lookupflag.tests | 0 + .../data/aots/tests/gpos_chaining1_multiple_subrules.tests | 0 + .../data/aots/tests/gpos_chaining1_next_glyph.tests | 0 + .../data/aots/tests/gpos_chaining1_simple.tests | 0 + .../data/aots/tests/gpos_chaining1_successive.tests | 0 + .../data/aots/tests/gpos_chaining2_boundary.tests | 0 + .../data/aots/tests/gpos_chaining2_lookupflag.tests | 0 + .../data/aots/tests/gpos_chaining2_multiple_subrules.tests | 0 + .../data/aots/tests/gpos_chaining2_next_glyph.tests | 0 + .../data/aots/tests/gpos_chaining2_simple.tests | 0 + .../data/aots/tests/gpos_chaining2_successive.tests | 0 + .../data/aots/tests/gpos_chaining3_boundary.tests | 0 + .../data/aots/tests/gpos_chaining3_lookupflag.tests | 0 + .../data/aots/tests/gpos_chaining3_next_glyph.tests | 0 + .../data/aots/tests/gpos_chaining3_simple.tests | 0 + .../data/aots/tests/gpos_chaining3_successive.tests | 0 + .../data/aots/tests/gpos_context1_boundary.tests | 0 + .../data/aots/tests/gpos_context1_expansion.tests | 0 + .../data/aots/tests/gpos_context1_lookupflag.tests | 0 + .../data/aots/tests/gpos_context1_multiple_subrules.tests | 0 + .../data/aots/tests/gpos_context1_next_glyph.tests | 0 + .../data/aots/tests/gpos_context1_simple.tests | 0 + .../data/aots/tests/gpos_context1_successive.tests | 0 + .../data/aots/tests/gpos_context2_boundary.tests | 0 + .../data/aots/tests/gpos_context2_classes.tests | 0 + .../data/aots/tests/gpos_context2_expansion.tests | 0 + .../data/aots/tests/gpos_context2_lookupflag.tests | 0 + .../data/aots/tests/gpos_context2_multiple_subrules.tests | 0 + .../data/aots/tests/gpos_context2_next_glyph.tests | 0 + .../data/aots/tests/gpos_context2_simple.tests | 0 + .../data/aots/tests/gpos_context2_successive.tests | 0 + .../data/aots/tests/gpos_context3_boundary.tests | 0 + .../data/aots/tests/gpos_context3_lookupflag.tests | 0 + .../data/aots/tests/gpos_context3_next_glyph.tests | 0 + .../data/aots/tests/gpos_context3_simple.tests | 0 + .../data/aots/tests/gpos_context3_successive.tests | 0 + .../data/aots/tests/gsub1_1_lookupflag.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub1_1_modulo.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub1_1_simple.tests | 0 + .../data/aots/tests/gsub1_2_lookupflag.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub1_2_simple.tests | 0 + .../data/aots/tests/gsub2_1_lookupflag.tests | 0 + .../data/aots/tests/gsub2_1_multiple_sequences.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub2_1_simple.tests | 0 + .../data/aots/tests/gsub3_1_lookupflag.tests | 0 + .../data/aots/tests/gsub3_1_multiple.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub3_1_simple.tests | 0 + .../data/aots/tests/gsub4_1_lookupflag.tests | 0 + .../data/aots/tests/gsub4_1_multiple_ligatures.tests | 0 + .../data/aots/tests/gsub4_1_multiple_ligsets.tests | 0 + .../{shaping => shape}/data/aots/tests/gsub4_1_simple.tests | 0 + test/{shaping => shape}/data/aots/tests/gsub7.tests | 0 + .../data/aots/tests/gsub_chaining1_boundary.tests | 0 + .../data/aots/tests/gsub_chaining1_lookupflag.tests | 0 + .../data/aots/tests/gsub_chaining1_multiple_subrules.tests | 0 + .../data/aots/tests/gsub_chaining1_next_glyph.tests | 0 + .../data/aots/tests/gsub_chaining1_simple.tests | 0 + .../data/aots/tests/gsub_chaining1_successive.tests | 0 + .../data/aots/tests/gsub_chaining2_boundary.tests | 0 + .../data/aots/tests/gsub_chaining2_lookupflag.tests | 0 + .../data/aots/tests/gsub_chaining2_multiple_subrules.tests | 0 + .../data/aots/tests/gsub_chaining2_next_glyph.tests | 0 + .../data/aots/tests/gsub_chaining2_simple.tests | 0 + .../data/aots/tests/gsub_chaining2_successive.tests | 0 + .../data/aots/tests/gsub_chaining3_boundary.tests | 0 + .../data/aots/tests/gsub_chaining3_lookupflag.tests | 0 + .../data/aots/tests/gsub_chaining3_next_glyph.tests | 0 + .../data/aots/tests/gsub_chaining3_simple.tests | 0 + .../data/aots/tests/gsub_chaining3_successive.tests | 0 + .../data/aots/tests/gsub_context1_boundary.tests | 0 + .../data/aots/tests/gsub_context1_expansion.tests | 0 + .../data/aots/tests/gsub_context1_lookupflag.tests | 0 + .../data/aots/tests/gsub_context1_multiple_subrules.tests | 0 + .../data/aots/tests/gsub_context1_next_glyph.tests | 0 + .../data/aots/tests/gsub_context1_simple.tests | 0 + .../data/aots/tests/gsub_context1_successive.tests | 0 + .../data/aots/tests/gsub_context2_boundary.tests | 0 + .../data/aots/tests/gsub_context2_classes.tests | 0 + .../data/aots/tests/gsub_context2_expansion.tests | 0 + .../data/aots/tests/gsub_context2_lookupflag.tests | 0 + .../data/aots/tests/gsub_context2_multiple_subrules.tests | 0 + .../data/aots/tests/gsub_context2_next_glyph.tests | 0 + .../data/aots/tests/gsub_context2_simple.tests | 0 + .../data/aots/tests/gsub_context2_successive.tests | 0 + .../data/aots/tests/gsub_context3_boundary.tests | 0 + .../data/aots/tests/gsub_context3_lookupflag.tests | 0 + .../data/aots/tests/gsub_context3_next_glyph.tests | 0 + .../data/aots/tests/gsub_context3_simple.tests | 0 + .../data/aots/tests/gsub_context3_successive.tests | 0 + .../data/aots/tests/lookupflag_ignore_attach.tests | 0 + .../data/aots/tests/lookupflag_ignore_base.tests | 0 + .../data/aots/tests/lookupflag_ignore_combination.tests | 0 + .../data/aots/tests/lookupflag_ignore_ligatures.tests | 0 + .../data/aots/tests/lookupflag_ignore_marks.tests | 0 + test/{shaping => shape}/data/aots/update.py | 0 + test/{shaping => shape}/data/in-house/COPYING | 0 + test/{shaping => shape}/data/in-house/Makefile.am | 0 + test/{shaping => shape}/data/in-house/Makefile.sources | 0 + .../fonts/03e3f463c3a985bc42096620cc415342818454fb.ttf | Bin + .../fonts/051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin + .../fonts/065b01e54f35f0d849fd43bd5b936212739a50cb.ttf | Bin + .../fonts/074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf | Bin + .../fonts/07f054357ff8638bac3711b422a1e31180bba863.ttf | Bin + .../fonts/08b4b136f418add748dc641eb4a83033476f1170.ttf | Bin + .../fonts/15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf | Bin + .../fonts/1735326da89f0818cd8c51a0600e9789812c0f94.ttf | Bin + .../fonts/191826b9643e3f124d865d617ae609db6a2ce203.ttf | Bin + .../fonts/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf | Bin + .../fonts/1a5face3fcbd929d228235c2f72bbd6f8eb37424.ttf | Bin + .../fonts/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf | Bin + .../fonts/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf | Bin + .../fonts/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf | Bin + .../fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf | Bin + .../fonts/21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf | Bin + .../fonts/226bc2deab3846f1a682085f70c67d0421014144.ttf | Bin + .../fonts/24b8d24d00ae86f49791b746da4c9d3f717a51a8.ttf | Bin + .../fonts/2681c1c72d6484ed3410417f521b1b819b4e2392.ttf | Bin + .../fonts/270b89df543a7e48e206a2d830c0e10e5265c630.ttf | Bin + .../fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf | Bin + .../fonts/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin + .../fonts/2a670df15b73a5dc75a5cc491bde5ac93c5077dc.ttf | Bin + .../fonts/2c25beb56d9c556622d56b0b5d02b4670c034f89.ttf | Bin + .../fonts/2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf | Bin + .../fonts/341421e629668b1a1242245d39238ca48432d35d.ttf | Bin + .../fonts/3493e92eaded2661cadde752a39f9d58b11f0326.ttf | Bin + .../fonts/37033cc5cf37bb223d7355153016b6ccece93b28.ttf | Bin + .../fonts/373e67bf41ca264e260a9716162b71a23549e885.ttf | Bin + .../fonts/3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf | Bin + .../fonts/3b791518a9ba89675df02f1eefbc9026a50648a6.ttf | Bin + .../fonts/3c96e7a303c58475a8c750bf4289bbe73784f37d.ttf | Bin + .../fonts/3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf | Bin + .../fonts/3cc01fede4debd4b7794ccb1b16cdb9987ea7571.ttf | Bin + .../fonts/3cf6f8ac6d647473a43a3100e7494b202b2cfafe.ttf | Bin + .../fonts/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf | Bin + .../fonts/43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin + .../fonts/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf | Bin + .../fonts/46669c8860cbfea13562a6ca0d83130ee571137b.ttf | Bin + .../fonts/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf | Bin + .../fonts/4afb0e8b9a86bb9bd73a1247de4e33fbe3c1fd93.ttf | Bin + .../fonts/4cbbc461be066fccc611dcc634af6e8cb2705537.ttf | Bin + .../fonts/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf | Bin + .../fonts/4d4206e30b2dbf1c1ef492a8eae1c9e7829ebad8.ttf | Bin + .../fonts/4fac3929fc3332834e93673780ec0fe94342d193.ttf | Bin + .../fonts/5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin + .../fonts/53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf | Bin + .../fonts/53a91c20e33a596f2be17fb68b382d6b7eb85d5c.ttf | Bin + .../fonts/54674a3111d209fb6be0ed31745314b7a8d2c244.ttf | Bin + .../fonts/55c88ebbe938680b08f92c3de20713183e0c7481.ttf | Bin + .../fonts/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf | Bin + .../fonts/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf | Bin + .../fonts/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf | Bin + .../fonts/59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin + .../fonts/5af5361ed4d1e8305780b100e1730cb09132f8d1.ttf | Bin + .../fonts/5bb74492f5e0ffa1fbb72e4c881be035120b6513.ttf | Bin + .../fonts/5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf | Bin + .../fonts/604026ae5aaca83c49cd8416909d71ba3e1c1194.ttf | Bin + .../fonts/641ca9d7808b01cafa9a666c13811c9b56eb9c52.ttf | Bin + .../fonts/663aef6b019dbf45ffd74089e2b5f2496ceceb18.ttf | Bin + .../fonts/6677074106f94a2644da6aaaacd5bbd48cbdc7de.ttf | Bin + .../fonts/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin + .../fonts/6f36d056bad6d478fc0bf7397bd52dc3bd197d5f.ttf | Bin + .../fonts/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf | Bin + .../fonts/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf | Bin + .../fonts/738d9f3b8c2dfd03875bf35a61d28fd78faf17c8.ttf | Bin + .../fonts/73e84dac2fc6a2d1bc9250d1414353661088937d.ttf | Bin + .../fonts/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin + .../fonts/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf | Bin + .../fonts/7d18685e1529e4ceaad5b6095dfab2f9789e5bce.ttf | Bin + .../fonts/7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin + .../fonts/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf | Bin + .../fonts/8116e5d8fedfbec74e45dc350d2416d810bed8c4.ttf | Bin + .../fonts/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf | Bin + .../fonts/81c368a33816fb20e9f647e8f24e2180f4720263.ttf | Bin + .../fonts/8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf | Bin + .../fonts/82f4f3b57bb55344e72e70231380202a52af5805.ttf | Bin + .../fonts/8454d22037f892e76614e1645d066689a0200e61.ttf | Bin + .../fonts/85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf | Bin + .../fonts/856ff9562451293cbeff6f396d4e3877c4f0a436.ttf | Bin + .../fonts/85fe0be440c64ac77699e21c2f1bd933a919167e.ttf | Bin + .../fonts/86cdd983c4e4c4d7f27dd405d6ceb7d4b9ed3d35.ttf | Bin + .../fonts/87f85d17d26f1fe9ad28d7365101958edaefb967.ttf | Bin + .../fonts/881642af1667ae30a54e58de8be904566d00508f.ttf | Bin + .../fonts/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf | Bin + .../fonts/8d9c4b193808b8bde94389ba7831c1fc6f9e794e.ttf | Bin + .../fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf | Bin + .../fonts/94a5d6fb15a27521fba9ea4aee9cb39b2d03322a.ttf | Bin + .../fonts/96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf | Bin + .../fonts/98b7887cff91f722b92a8ff800120954606354f9.ttf | Bin + .../fonts/9fc3e6960b3520e5304033ef5fd540285f72f14d.ttf | Bin + test/{shaping => shape}/data/in-house/fonts/AdobeBlank2.ttf | Bin + test/{shaping => shape}/data/in-house/fonts/DFONT.dfont | Bin + test/{shaping => shape}/data/in-house/fonts/HBTest-VF.ttf | Bin + .../data/in-house/fonts/MORXTwentyeight.ttf | Bin + test/{shaping => shape}/data/in-house/fonts/TRAK.ttf | Bin + test/{shaping => shape}/data/in-house/fonts/TTC.ttc | Bin + .../fonts/a014549f766436cf55b2ceb40e462038938ee899.ttf | Bin + .../fonts/a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf | Bin + .../fonts/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf | Bin + .../fonts/a6b17da98b9f1565ba428719777bbf94a66403c1.ttf | Bin + .../fonts/a6c76d1bafde4a0b1026ebcc932d2e5c6fd02442.ttf | Bin + .../fonts/a706511c65fb278fda87eaf2180ca6684a80f423.ttf | Bin + .../fonts/a919b33197965846f21074b24e30250d67277bce.ttf | Bin + .../fonts/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf | Bin + .../fonts/ab14b4eb9d7a67e293f51d30d719add06c9d6e06.ttf | Bin + .../fonts/ab40c89624a6104e5d0a2308e448a989302f515b.ttf | Bin + .../fonts/ad01ab2ea1cb1a4d3a2783e2675112ef11ae6404.ttf | Bin + .../fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf | Bin + .../fonts/af85624080af5627fb050f570d148a62f04fda74.ttf | Bin + .../fonts/b082211be29a3e2cf91f0fd43497e40b2a27b344.ttf | Bin + .../fonts/b121d4306b2e3add5abbaad21d95fcf04aacbd64.ttf | Bin + .../fonts/b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf | Bin + .../fonts/b3075ca42b27dde7341c2d0ae16703c5b6640df0.ttf | Bin + .../fonts/b31e6c52a31edadc16f1bec9efe6019e2d59824a.ttf | Bin + .../fonts/b6031119874ae9ff1dd65383a335e361c0962220.ttf | Bin + .../fonts/b722a7d09e60421f3efbc706ad348ab47b88567b.ttf | Bin + .../fonts/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf | Bin + .../fonts/bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin + .../fonts/bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf | Bin + .../fonts/bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf | Bin + .../fonts/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin + .../fonts/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf | Bin + .../fonts/d23d76ea0909c14972796937ba072b5a40c1e257.ttf | Bin + .../fonts/d3129450fafe5e5c98cfc25a4e71809b1b4d2855.ttf | Bin + .../fonts/d629e7fedc0b350222d7987345fe61613fa3929a.ttf | Bin + .../fonts/d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf | Bin + .../fonts/dcf774ca21062e7439f98658b18974ea8b956d0c.ttf | Bin + .../fonts/df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin + .../fonts/e207635780b42f898d58654b65098763e340f5c7.ttf | Bin + .../fonts/e39391c77a6321c2ac7a2d644de0396470cd4bfe.ttf | Bin + .../fonts/e5ff44940364c2247abed50bdda30d2ef5aedfe4.ttf | Bin + .../fonts/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf | Bin + .../fonts/e8691822f6a705e3e9fb48a0405c645b1a036590.ttf | Bin + .../fonts/ea3f63620511b2097200d23774ffef197e829e69.ttf | Bin + .../fonts/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf | Bin + .../fonts/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf | Bin + .../fonts/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf | Bin + .../fonts/f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf | Bin + .../fonts/f499fbc23865022234775c43503bba2e63978fe1.ttf | Bin + .../fonts/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin + .../fonts/f75c4b05a0a4d67c1a808081ae3d74a9c66509e8.ttf | Bin + .../fonts/f79eb71df4e4c9c273b67b89a06e5ff9e3c1f834.ttf | Bin + .../fonts/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf | Bin + .../fonts/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf | Bin + .../fonts/fcbaa518d3cce441ed37ae3b1fed6a19e9b54efd.ttf | Bin + .../fonts/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf | Bin + .../fonts/fcea341ba6489536390384d8403ce5287ba71a4a.ttf | Bin + .../fonts/fd07ea46e4d8368ada1776208c07fd596f727852.ttf | Bin + .../fonts/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf | Bin + test/{shaping => shape}/data/in-house/meson.build | 0 + test/{shaping => shape}/data/in-house/tests/aat-morx.tests | 0 + test/{shaping => shape}/data/in-house/tests/aat-trak.tests | 0 + .../data/in-house/tests/arabic-fallback-shaping.tests | 0 + .../data/in-house/tests/arabic-feature-order.tests | 0 + .../data/in-house/tests/arabic-like-joining.tests | 0 + .../data/in-house/tests/arabic-mark-attach.tests | 0 + .../data/in-house/tests/arabic-mark-order.tests | 0 + .../data/in-house/tests/arabic-stch.tests | 0 + .../data/in-house/tests/automatic-fractions.tests | 0 + test/{shaping => shape}/data/in-house/tests/cluster.tests | 0 + .../data/in-house/tests/collections.tests | 0 + .../data/in-house/tests/color-fonts.tests | 0 + .../data/in-house/tests/context-matching.tests | 0 + .../data/in-house/tests/cursive-positioning.tests | 0 + .../data/in-house/tests/default-ignorables.tests | 0 + test/{shaping => shape}/data/in-house/tests/digits.tests | 0 + .../data/in-house/tests/emoji-clusters.tests | 0 + test/{shaping => shape}/data/in-house/tests/emoji.tests | 0 + .../data/in-house/tests/fallback-positioning.tests | 0 + .../data/in-house/tests/hangul-jamo.tests | 0 + test/{shaping => shape}/data/in-house/tests/hyphens.tests | 0 + .../data/in-house/tests/indic-consonant-with-stacker.tests | 0 + .../data/in-house/tests/indic-decompose.tests | 0 + .../{shaping => shape}/data/in-house/tests/indic-init.tests | 0 + .../data/in-house/tests/indic-joiner-candrabindu.tests | 0 + .../data/in-house/tests/indic-joiners.tests | 0 + .../data/in-house/tests/indic-old-spec.tests | 0 + .../data/in-house/tests/indic-pref-blocking.tests | 0 + .../data/in-house/tests/indic-script-extensions.tests | 0 + .../data/in-house/tests/indic-special-cases.tests | 0 + .../data/in-house/tests/indic-syllable.tests | 0 + .../data/in-house/tests/indic-vowel-letter-spoofing.tests | 0 + .../data/in-house/tests/kern-format2.tests | 0 + .../data/in-house/tests/khmer-mark-order.tests | 0 + .../{shaping => shape}/data/in-house/tests/khmer-misc.tests | 0 + .../data/in-house/tests/language-tags.tests | 0 + .../data/in-house/tests/ligature-id.tests | 0 + test/{shaping => shape}/data/in-house/tests/macos.tests | 0 + .../data/in-house/tests/mark-attachment.tests | 0 + .../data/in-house/tests/mark-filtering-sets.tests | 0 + .../data/in-house/tests/mongolian-variation-selector.tests | 0 + .../data/in-house/tests/myanmar-misc.tests | 0 + .../data/in-house/tests/myanmar-syllable.tests | 0 + .../data/in-house/tests/myanmar-zawgyi.tests | 0 + .../data/in-house/tests/none-directional.tests | 0 + .../data/in-house/tests/positioning-features.tests | 0 + test/{shaping => shape}/data/in-house/tests/rand.tests | 0 + .../data/in-house/tests/reverse-sub.tests | 0 + test/{shaping => shape}/data/in-house/tests/rotation.tests | 0 + test/{shaping => shape}/data/in-house/tests/simple.tests | 0 + test/{shaping => shape}/data/in-house/tests/sinhala.tests | 0 + test/{shaping => shape}/data/in-house/tests/spaces.tests | 0 + .../data/in-house/tests/tibetan-contractions-1.tests | 0 + .../data/in-house/tests/tibetan-contractions-2.tests | 0 + .../data/in-house/tests/tibetan-vowels.tests | 0 + .../data/in-house/tests/tt-kern-gpos.tests | 0 + .../{shaping => shape}/data/in-house/tests/use-indic3.tests | 0 + .../data/in-house/tests/use-marchen.tests | 0 + .../data/in-house/tests/use-syllable.tests | 0 + .../data/in-house/tests/use-vowel-letter-spoofing.tests | 0 + test/{shaping => shape}/data/in-house/tests/use.tests | 0 + .../data/in-house/tests/variations-rvrn.tests | 0 + .../{shaping => shape}/data/in-house/tests/variations.tests | 0 + test/{shaping => shape}/data/in-house/tests/vertical.tests | 0 + .../data/in-house/tests/zero-width-marks.tests | 0 + test/{shaping => shape}/data/text-rendering-tests/COPYING | 0 + test/{shaping => shape}/data/text-rendering-tests/DISABLED | 0 + .../data/text-rendering-tests/Makefile.am | 0 + .../data/text-rendering-tests/Makefile.sources | 0 + test/{shaping => shape}/data/text-rendering-tests/README | 0 + .../text-rendering-tests/fonts/AdobeVFPrototype-Subset.otf | Bin + .../data/text-rendering-tests/fonts/FDArrayTest257.otf | Bin + .../data/text-rendering-tests/fonts/FDArrayTest65535.otf | Bin + .../text-rendering-tests/fonts/NotoSansBalinese-Regular.ttf | Bin + .../text-rendering-tests/fonts/NotoSansKannada-Regular.ttf | Bin + .../text-rendering-tests/fonts/NotoSerifKannada-Regular.ttf | Bin + .../data/text-rendering-tests/fonts/Selawik-README.md | 0 + .../data/text-rendering-tests/fonts/Selawik-variable.ttf | Bin + .../data/text-rendering-tests/fonts/TestAVAR.ttf | Bin + .../data/text-rendering-tests/fonts/TestCMAP14.otf | Bin + .../data/text-rendering-tests/fonts/TestCMAPMacTurkish.ttf | Bin + .../data/text-rendering-tests/fonts/TestCVARGVAROne.ttf | Bin + .../data/text-rendering-tests/fonts/TestCVARGVARTwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestGLYFOne.ttf | Bin + .../data/text-rendering-tests/fonts/TestGPOSFour.ttf | Bin + .../data/text-rendering-tests/fonts/TestGPOSOne.ttf | Bin + .../data/text-rendering-tests/fonts/TestGPOSThree.ttf | Bin + .../data/text-rendering-tests/fonts/TestGPOSTwo.otf | Bin + .../data/text-rendering-tests/fonts/TestGSUBOne.otf | Bin + .../data/text-rendering-tests/fonts/TestGSUBThree.ttf | Bin + .../text-rendering-tests/fonts/TestGVAR-Composite-0.ttf | Bin + .../fonts/TestGVAR-Composite-Missing.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVAREight.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVARFour.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVARNine.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVAROne.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVARThree.ttf | Bin + .../data/text-rendering-tests/fonts/TestGVARTwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestHVAROne.otf | Bin + .../data/text-rendering-tests/fonts/TestHVARTwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestKERNOne.otf | Bin + .../data/text-rendering-tests/fonts/TestMORXEight.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXEighteen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXEleven.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXForty.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXFour.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXFourteen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXFourtyone.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXNine.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXOne.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXSeventeen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXSixteen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirteen.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtyeight.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtyfive.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtyfour.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtynine.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtyone.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtyseven.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtysix.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtythree.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThirtytwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXThree.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwelve.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwenty.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentyeight.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentyfour.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentynine.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentyone.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentyseven.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentythree.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwentytwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestMORXTwo.ttf | Bin + .../data/text-rendering-tests/fonts/TestSFNTOne.otf | Bin + .../data/text-rendering-tests/fonts/TestSFNTTwo.ttf | Bin + .../text-rendering-tests/fonts/TestSVGgradientTransform.otf | Bin + .../data/text-rendering-tests/fonts/TestSVGgzip.otf | Bin + .../data/text-rendering-tests/fonts/TestSVGmultiGlyphs.otf | Bin + .../data/text-rendering-tests/fonts/TestShapeAran.ttf | Bin + .../data/text-rendering-tests/fonts/TestShapeEthi.ttf | Bin + .../data/text-rendering-tests/fonts/TestShapeKndaV3.ttf | Bin + .../data/text-rendering-tests/fonts/TestShapeLana.ttf | Bin + .../data/text-rendering-tests/fonts/TestTRAKOne.ttf | Bin + .../data/text-rendering-tests/fonts/Zycon.ttf | Bin + .../data/text-rendering-tests/meson.build | 0 + .../data/text-rendering-tests/tests/AVAR-1.tests | 0 + .../data/text-rendering-tests/tests/CFF-1.tests | 0 + .../data/text-rendering-tests/tests/CFF-2.tests | 0 + .../data/text-rendering-tests/tests/CFF2-1.tests | 0 + .../data/text-rendering-tests/tests/CMAP-1.tests | 0 + .../data/text-rendering-tests/tests/CMAP-2.tests | 0 + .../data/text-rendering-tests/tests/CMAP-3.tests | 0 + .../data/text-rendering-tests/tests/CVAR-1.tests | 0 + .../data/text-rendering-tests/tests/CVAR-2.tests | 0 + .../data/text-rendering-tests/tests/GLYF-1.tests | 0 + .../data/text-rendering-tests/tests/GPOS-1.tests | 0 + .../data/text-rendering-tests/tests/GPOS-2.tests | 0 + .../data/text-rendering-tests/tests/GPOS-3.tests | 0 + .../data/text-rendering-tests/tests/GPOS-4.tests | 0 + .../data/text-rendering-tests/tests/GPOS-5.tests | 0 + .../data/text-rendering-tests/tests/GSUB-1.tests | 0 + .../data/text-rendering-tests/tests/GSUB-2.tests | 0 + .../data/text-rendering-tests/tests/GSUB-3.tests | 0 + .../data/text-rendering-tests/tests/GVAR-1.tests | 0 + .../data/text-rendering-tests/tests/GVAR-2.tests | 0 + .../data/text-rendering-tests/tests/GVAR-3.tests | 0 + .../data/text-rendering-tests/tests/GVAR-4.tests | 0 + .../data/text-rendering-tests/tests/GVAR-5.tests | 0 + .../data/text-rendering-tests/tests/GVAR-6.tests | 0 + .../data/text-rendering-tests/tests/GVAR-7.tests | 0 + .../data/text-rendering-tests/tests/GVAR-8.tests | 0 + .../data/text-rendering-tests/tests/GVAR-9.tests | 0 + .../data/text-rendering-tests/tests/HVAR-1.tests | 0 + .../data/text-rendering-tests/tests/HVAR-2.tests | 0 + .../data/text-rendering-tests/tests/KERN-1.tests | 0 + .../data/text-rendering-tests/tests/KERN-2.tests | 0 + .../data/text-rendering-tests/tests/MORX-1.tests | 0 + .../data/text-rendering-tests/tests/MORX-10.tests | 0 + .../data/text-rendering-tests/tests/MORX-11.tests | 0 + .../data/text-rendering-tests/tests/MORX-12.tests | 0 + .../data/text-rendering-tests/tests/MORX-13.tests | 0 + .../data/text-rendering-tests/tests/MORX-14.tests | 0 + .../data/text-rendering-tests/tests/MORX-16.tests | 0 + .../data/text-rendering-tests/tests/MORX-17.tests | 0 + .../data/text-rendering-tests/tests/MORX-18.tests | 0 + .../data/text-rendering-tests/tests/MORX-19.tests | 0 + .../data/text-rendering-tests/tests/MORX-2.tests | 0 + .../data/text-rendering-tests/tests/MORX-20.tests | 0 + .../data/text-rendering-tests/tests/MORX-21.tests | 0 + .../data/text-rendering-tests/tests/MORX-22.tests | 0 + .../data/text-rendering-tests/tests/MORX-23.tests | 0 + .../data/text-rendering-tests/tests/MORX-24.tests | 0 + .../data/text-rendering-tests/tests/MORX-25.tests | 0 + .../data/text-rendering-tests/tests/MORX-26.tests | 0 + .../data/text-rendering-tests/tests/MORX-27.tests | 0 + .../data/text-rendering-tests/tests/MORX-28.tests | 0 + .../data/text-rendering-tests/tests/MORX-29.tests | 0 + .../data/text-rendering-tests/tests/MORX-3.tests | 0 + .../data/text-rendering-tests/tests/MORX-30.tests | 0 + .../data/text-rendering-tests/tests/MORX-31.tests | 0 + .../data/text-rendering-tests/tests/MORX-32.tests | 0 + .../data/text-rendering-tests/tests/MORX-33.tests | 0 + .../data/text-rendering-tests/tests/MORX-34.tests | 0 + .../data/text-rendering-tests/tests/MORX-35.tests | 0 + .../data/text-rendering-tests/tests/MORX-36.tests | 0 + .../data/text-rendering-tests/tests/MORX-37.tests | 0 + .../data/text-rendering-tests/tests/MORX-38.tests | 0 + .../data/text-rendering-tests/tests/MORX-39.tests | 0 + .../data/text-rendering-tests/tests/MORX-4.tests | 0 + .../data/text-rendering-tests/tests/MORX-40.tests | 0 + .../data/text-rendering-tests/tests/MORX-41.tests | 0 + .../data/text-rendering-tests/tests/MORX-5.tests | 0 + .../data/text-rendering-tests/tests/MORX-6.tests | 0 + .../data/text-rendering-tests/tests/MORX-7.tests | 0 + .../data/text-rendering-tests/tests/MORX-8.tests | 0 + .../data/text-rendering-tests/tests/MORX-9.tests | 0 + .../data/text-rendering-tests/tests/SFNT-1.tests | 0 + .../data/text-rendering-tests/tests/SFNT-2.tests | 0 + .../data/text-rendering-tests/tests/SHARAN-1.tests | 0 + .../data/text-rendering-tests/tests/SHBALI-1.tests | 0 + .../data/text-rendering-tests/tests/SHBALI-2.tests | 0 + .../data/text-rendering-tests/tests/SHBALI-3.tests | 0 + .../data/text-rendering-tests/tests/SHKNDA-1.tests | 0 + .../data/text-rendering-tests/tests/SHKNDA-2.tests | 0 + .../data/text-rendering-tests/tests/SHKNDA-3.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-1.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-10.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-2.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-3.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-4.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-5.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-6.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-7.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-8.tests | 0 + .../data/text-rendering-tests/tests/SHLANA-9.tests | 0 + test/{shaping => shape}/data/text-rendering-tests/update.py | 0 + test/{shaping => shape}/hb-diff | 0 + test/{shaping => shape}/hb-diff-colorize | 0 + test/{shaping => shape}/hb-diff-filter-failures | 0 + test/{shaping => shape}/hb-diff-stat | 0 + test/{shaping => shape}/hb-unicode-decode | 0 + test/{shaping => shape}/hb-unicode-encode | 0 + test/{shaping => shape}/hb-unicode-prettyname | 0 + test/{shaping => shape}/hb_test_tools.py | 0 + test/{shaping => shape}/meson.build | 0 + test/{shaping => shape}/record-test.sh | 0 + test/{shaping => shape}/run-tests.py | 0 + .../shaper-arabic/script-arabic/language-persian/mehran.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/2grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/3grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/4grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/5grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/6grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/7grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/8grams.txt | 0 + .../script-arabic/language-urdu/crulp/ligatures/LICENSE | 0 + .../script-arabic/language-urdu/crulp/ligatures/README | 0 + .../script-arabic/language-urdu/crulp/ligatures/SOURCES | 0 + .../script-arabic/misc/diacritics/lam-alef.txt | 0 + .../script-arabic/misc/diacritics/language-arabic.txt | 0 + .../script-arabic/misc/diacritics/language-persian.txt | 0 + .../script-arabic/misc/diacritics/language-urdu.txt | 0 + .../script-arabic/misc/diacritics/ligature-components.txt | 0 + .../script-arabic/misc/diacritics/ligature-diacritics.txt | 0 + .../script-arabic/misc/diacritics/mark-skipping.txt | 0 + .../in-house/shaper-arabic/script-mongolian/misc/misc.txt | 0 + .../shaper-arabic/script-mongolian/misc/non-joining.txt | 0 + .../in-house/shaper-arabic/script-mongolian/misc/poem.txt | 0 + .../script-mongolian/misc/variation-selectors.txt | 0 + .../texts/in-house/shaper-arabic/script-nko/misc/misc.txt | 0 + .../in-house/shaper-arabic/script-phags-pa/misc/misc.txt | 0 + .../shaper-arabic/script-syriac/misc/abbreviation-mark.txt | 0 + .../in-house/shaper-arabic/script-syriac/misc/alaph.txt | 0 + .../in-house/shaper-default/script-ethiopic/misc/misc.txt | 0 + .../in-house/shaper-default/script-han/misc/cjk-compat.txt | 0 + .../script-hiragana/misc/kazuraki-liga-lines.txt | 0 + .../shaper-default/script-hiragana/misc/kazuraki-liga.txt | 0 + .../in-house/shaper-default/script-linear-b/misc/misc.txt | 0 + .../in-house/shaper-default/script-tifinagh/misc/misc.txt | 0 + .../in-house/shaper-hangul/script-hangul/misc/misc.txt | 0 + .../shaper-hebrew/script-hebrew/misc/diacritics.txt | 0 + .../in-house/shaper-indic/script-assamese/utrrs/LICENSE | 0 + .../in-house/shaper-indic/script-assamese/utrrs/README | 0 + .../in-house/shaper-indic/script-assamese/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../shaper-indic/script-bengali/bengali-vowel-letters.txt | 0 + .../in-house/shaper-indic/script-bengali/misc/misc.txt | 0 + .../in-house/shaper-indic/script-bengali/misc/reph.txt | 0 + .../in-house/shaper-indic/script-bengali/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-bengali/utrrs/README | 0 + .../in-house/shaper-indic/script-bengali/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../script-devanagari/devanagari-atomic-consonants.txt | 0 + .../script-devanagari/devanagari-vowel-letters.txt | 0 + .../shaper-indic/script-devanagari/misc/dottedcircle.txt | 0 + .../shaper-indic/script-devanagari/misc/eyelash.txt | 0 + .../shaper-indic/script-devanagari/misc/joiners.txt | 0 + .../in-house/shaper-indic/script-devanagari/misc/misc.txt | 0 + .../shaper-indic/script-devanagari/misc/spec-deviations.txt | 0 + .../script-devanagari/misc/tricky-reordering.txt | 0 + .../in-house/shaper-indic/script-devanagari/utrrs/LICENSE | 0 + .../in-house/shaper-indic/script-devanagari/utrrs/README | 0 + .../in-house/shaper-indic/script-devanagari/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-GenericPunctuation.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../shaper-indic/script-gujarati/gujarati-vowel-letters.txt | 0 + .../in-house/shaper-indic/script-gujarati/utrrs/LICENSE | 0 + .../in-house/shaper-indic/script-gujarati/utrrs/README | 0 + .../in-house/shaper-indic/script-gujarati/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../shaper-indic/script-gurmukhi/gurmukhi-vowel-letters.txt | 0 + .../in-house/shaper-indic/script-gurmukhi/misc/misc.txt | 0 + .../in-house/shaper-indic/script-gurmukhi/utrrs/LICENSE | 0 + .../in-house/shaper-indic/script-gurmukhi/utrrs/README | 0 + .../in-house/shaper-indic/script-gurmukhi/utrrs/SOURCES | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../shaper-indic/script-kannada/kannada-vowel-letters.txt | 0 + .../in-house/shaper-indic/script-kannada/misc/misc.txt | 0 + .../shaper-indic/script-kannada/misc/right-matras.txt | 0 + .../in-house/shaper-indic/script-kannada/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-kannada/utrrs/README | 0 + .../in-house/shaper-indic/script-kannada/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../script-malayalam/malayalam-vowel-letters.txt | 0 + .../in-house/shaper-indic/script-malayalam/misc/cibu.txt | 0 + .../shaper-indic/script-malayalam/misc/dot-reph.txt | 0 + .../in-house/shaper-indic/script-malayalam/misc/misc.txt | 0 + .../in-house/shaper-indic/script-malayalam/utrrs/LICENSE | 0 + .../in-house/shaper-indic/script-malayalam/utrrs/README | 0 + .../in-house/shaper-indic/script-malayalam/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../texts/in-house/shaper-indic/script-oriya/misc/bindu.txt | 0 + .../texts/in-house/shaper-indic/script-oriya/misc/misc.txt | 0 + .../shaper-indic/script-oriya/oriya-vowel-letters.txt | 0 + .../texts/in-house/shaper-indic/script-oriya/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-oriya/utrrs/README | 0 + .../texts/in-house/shaper-indic/script-oriya/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../in-house/shaper-indic/script-sinhala/misc/extensive.txt | 0 + .../in-house/shaper-indic/script-sinhala/misc/misc.txt | 0 + .../in-house/shaper-indic/script-sinhala/misc/reph.txt | 0 + .../shaper-indic/script-sinhala/misc/split-matras.txt | 0 + .../in-house/shaper-indic/script-sinhala/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-sinhala/utrrs/README | 0 + .../in-house/shaper-indic/script-sinhala/utrrs/SOURCES | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Punctuation.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt | 0 + .../utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt | 0 + .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../texts/in-house/shaper-indic/script-tamil/misc/misc.txt | 0 + .../texts/in-house/shaper-indic/script-tamil/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-tamil/utrrs/README | 0 + .../texts/in-house/shaper-indic/script-tamil/utrrs/SOURCES | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 + .../script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../texts/in-house/shaper-indic/script-telugu/misc/misc.txt | 0 + .../shaper-indic/script-telugu/telugu-vowel-letters.txt | 0 + .../texts/in-house/shaper-indic/script-telugu/utrrs/LICENSE | 0 + .../texts/in-house/shaper-indic/script-telugu/utrrs/README | 0 + .../texts/in-house/shaper-indic/script-telugu/utrrs/SOURCES | 0 + .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 + .../IndicFontFeatureCodepoint-IndependentVowels.txt | 0 + .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 + .../codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 + .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 + .../script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 + .../{shaping => shape}/texts/in-house/shaper-khmer/misc.txt | 0 + .../texts/in-house/shaper-khmer/other-marks-invalid.txt | 0 + .../texts/in-house/shaper-khmer/other-marks.txt | 0 + .../in-house/shaper-myanmar/script-myanmar/misc/misc.txt | 0 + .../in-house/shaper-myanmar/script-myanmar/misc/otspec.txt | 0 + .../in-house/shaper-myanmar/script-myanmar/misc/utn11.txt | 0 + .../texts/in-house/shaper-thai/script-lao/misc/sara-am.txt | 0 + .../texts/in-house/shaper-thai/script-thai/misc/misc.txt | 0 + .../texts/in-house/shaper-thai/script-thai/misc/phinthu.txt | 0 + .../in-house/shaper-thai/script-thai/misc/pua-shaping.txt | 0 + .../texts/in-house/shaper-thai/script-thai/misc/sara-am.txt | 0 + .../shaper-tibetan/script-tibetan/misc/contractions.txt | 0 + .../in-house/shaper-tibetan/script-tibetan/misc/misc.txt | 0 + .../texts/in-house/shaper-use/script-batak/misc.txt | 0 + .../texts/in-house/shaper-use/script-buginese/misc.txt | 0 + .../texts/in-house/shaper-use/script-cham/misc.txt | 0 + .../texts/in-house/shaper-use/script-javanese/misc.txt | 0 + .../texts/in-house/shaper-use/script-kaithi/misc.txt | 0 + .../texts/in-house/shaper-use/script-kharoshti/misc.txt | 0 + .../texts/in-house/shaper-use/script-tai-tham/misc.txt | 0 + .../texts/in-house/shaper-use/script-tai-tham/torture.txt | 0 + 983 files changed, 8 insertions(+), 8 deletions(-) + +commit e4b33d9d360eeb80f7d841f7ad8921aa16836027 +Author: Behdad Esfahbod +Date: Wed Aug 11 18:35:11 2021 -0600 + + [util] Use post_parse in face_options_t + + util/face-options.hh | 37 ++++++++++++------------------------- + util/font-options.hh | 2 -- + util/hb-subset.cc | 2 +- + util/helper-cairo.hh | 2 +- + 4 files changed, 14 insertions(+), 29 deletions(-) + +commit c0ea4e2d33e613eb4936a9cce85453a6b7a43ae5 +Author: Behdad Esfahbod +Date: Wed Aug 11 18:30:08 2021 -0600 + + [util] Use post_parse to validate + + util/face-options.hh | 21 +++++++++++---- + util/font-options.hh | 1 - + util/main-font-text.hh | 72 ++++++++++++++++++++++++++++++++++---------------- + util/options.hh | 33 +++++++++-------------- + util/text-options.hh | 3 +++ + 5 files changed, 81 insertions(+), 49 deletions(-) + +commit f1226988104281b576878cd8c306d03cc91aa111 +Author: Khaled Hosny +Date: Thu Aug 12 01:47:35 2021 +0200 + + [test] Improve generate-expected-outputs.py diff output + + test/subset/generate-expected-outputs.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9468e4699833b6f6376503d2724fa4a8abcc8ab2 +Author: Behdad Esfahbod +Date: Wed Aug 11 16:46:04 2021 -0600 + + [util] Rename main_font_text back to main_font_text_t + + util/hb-ot-shape-closure.cc | 2 +- + util/hb-shape.cc | 2 +- + util/hb-subset.cc | 2 +- + util/hb-view.cc | 2 +- + util/main-font-text.hh | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +commit 6ac6a2b27b3abe42508828e7919c9ff55a7840d7 +Author: Khaled Hosny +Date: Thu Aug 12 00:04:32 2021 +0200 + + [test] hb_ot_layout_language_get_feature_tags() + + test/api/test-ot-layout.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 45 insertions(+) + +commit e9b743b26d9ac4a981ac519d85d975ad1d74f513 +Author: Khaled Hosny +Date: Wed Aug 11 23:51:12 2021 +0200 + + [test] hb_ot_layout_script_get_language_tags() + + test/api/test-ot-layout.c | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +commit bf438b815f488afe97ae8442ec4a0989a8bc0c65 +Author: Khaled Hosny +Date: Wed Aug 11 23:23:51 2021 +0200 + + [test] hb_ot_layout_table_get_feature_tags() + + test/api/test-ot-layout.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +commit 2f88ea5a200a8c33ed307460ef153cf51d486683 +Author: Khaled Hosny +Date: Wed Aug 11 23:12:00 2021 +0200 + + [test] hb_ot_layout_table_find_script() + + test/api/test-ot-layout.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit f60caad7ffd796c6dc1cc57f0cecee6fd643d827 +Author: Khaled Hosny +Date: Wed Aug 11 22:54:30 2021 +0200 + + [test] hb_ot_layout_table_get_script_tags() + + test/api/Makefile.am | 1 + + test/api/meson.build | 1 + + test/api/test-ot-layout.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 79 insertions(+) + +commit 7e4fcf1be895b7c92d3d5e3498cf1b467708994c +Author: Behdad Esfahbod +Date: Wed Aug 11 12:12:49 2021 -0600 + + [util] Rename add_main_options + + util/options.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 62fb102184b82ad1c7798c16fcb5f390ddf2ba91 +Author: Behdad Esfahbod +Date: Wed Aug 11 12:03:07 2021 -0600 + + [util] Move add_main_options() invocation + + util/options.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 9d8bbe3e531ded6419b2573c8b813596fff69745 +Author: Behdad Esfahbod +Date: Wed Aug 11 11:53:32 2021 -0600 + + [util] Make main_font_text a struct again + + Going to move to G_OPTION_REMAINING. + + util/batch.hh | 8 +++--- + util/hb-ot-shape-closure.cc | 2 +- + util/hb-shape.cc | 4 +-- + util/hb-subset.cc | 4 +-- + util/hb-view.cc | 2 +- + util/main-font-text.hh | 59 ++++++++++++++++++++++++--------------------- + 6 files changed, 41 insertions(+), 38 deletions(-) + +commit 5bd463f130935df282cc2a484ef1bb6dbd047170 +Author: Behdad Esfahbod +Date: Tue Aug 10 14:26:48 2021 -0600 + + [util/hb-subset] Access input directly + + util/hb-subset.cc | 3 --- + util/subset-options.hh | 5 ----- + 2 files changed, 8 deletions(-) + +commit 6905f6fa600c2565573952e9d347dfcf9f0d3770 +Author: Behdad Esfahbod +Date: Tue Aug 10 14:24:24 2021 -0600 + + [util/hb-subset] Use templated function to parse flags directly + + util/subset-options.hh | 55 +++++++++++++++++++++++++------------------------- + 1 file changed, 27 insertions(+), 28 deletions(-) + +commit 3e3e1801a5a7916c3966c86b4deab225c3d63167 +Author: Behdad Esfahbod +Date: Tue Aug 10 13:59:46 2021 -0600 + + [util] Small tweaks in --help output + + util/font-options.hh | 3 ++- + util/text-options.hh | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +commit c08f1b89037b9a0277b8cef67ff2f38bcf253dfd +Author: Garret Rieger +Date: Tue Aug 10 12:29:32 2021 -0700 + + [map] fix incorrect population count in hash map. + + If the same key was set twice the population was being incorrectly incremented. + + src/hb-map.hh | 2 +- + test/api/test-map.c | 28 +++++++++++++++++++++ + ...ase-minimized-hb-subset-fuzzer-5522792714993664 | Bin 0 -> 74 bytes + 3 files changed, 29 insertions(+), 1 deletion(-) + +commit e39c3bde7bf56a49848cba09cf7309ac6a359796 +Author: Garret Rieger +Date: Tue Aug 10 11:41:55 2021 -0700 + + [subset] fix bug in parsing glyf flags. + + the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec. + + src/hb-ot-glyf-table.hh | 4 ++-- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ..._3131.drop-hints-retain-gids.63,64,65,6F,70,71,72.ttf | Bin 0 -> 1908 bytes + ..._3131.drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1908 bytes + .../glyf_bug_3131.retain-gids.63,64,65,6F,70,71,72.ttf | Bin 0 -> 1928 bytes + .../glyf_bug_3131.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1928 bytes + test/subset/data/fonts/glyf_bug_3131.ttf | Bin 0 -> 2600 bytes + test/subset/data/tests/glyf_bug_3131.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 10 files changed, 16 insertions(+), 2 deletions(-) + +commit f5a8f747ffc4fa920d12db68f1f40c28627d720a +Merge: d92ee726c f3acb977e +Author: Behdad Esfahbod +Date: Tue Aug 10 11:21:08 2021 -0600 + + Merge pull request #3132 from harfbuzz/semicolon + + Use semicolon in shaping test suite + +commit f3acb977ec269dc735ab68aa477ada774873d5d4 +Author: Behdad Esfahbod +Date: Tue Aug 10 11:05:40 2021 -0600 + + [test/shaping;util] Use ';' instead of ':' to separate test fields + + Accept that in --batch mode. Also in batch mode don't send the 0th arg. + + Related discussion: https://github.com/harfbuzz/harfbuzz/pull/3102 + + test/shaping/data/aots/hb-aots-tester.cpp | 18 +- + test/shaping/data/aots/tests/classdef1.tests | 2 +- + test/shaping/data/aots/tests/classdef1_empty.tests | 2 +- + .../data/aots/tests/classdef1_multiple.tests | 2 +- + .../shaping/data/aots/tests/classdef1_single.tests | 2 +- + test/shaping/data/aots/tests/classdef2.tests | 2 +- + test/shaping/data/aots/tests/classdef2_empty.tests | 2 +- + .../data/aots/tests/classdef2_multiple.tests | 2 +- + .../shaping/data/aots/tests/classdef2_single.tests | 2 +- + test/shaping/data/aots/tests/cmap0.tests | 2 +- + test/shaping/data/aots/tests/cmap10.tests | 4 +- + test/shaping/data/aots/tests/cmap12.tests | 2 +- + test/shaping/data/aots/tests/cmap2.tests | 2 +- + test/shaping/data/aots/tests/cmap4.tests | 12 +- + test/shaping/data/aots/tests/cmap6.tests | 4 +- + test/shaping/data/aots/tests/cmap8.tests | 2 +- + .../data/aots/tests/gpos1_1_lookupflag.tests | 2 +- + test/shaping/data/aots/tests/gpos1_1_simple.tests | 8 +- + test/shaping/data/aots/tests/gpos1_2.tests | 2 +- + .../data/aots/tests/gpos1_2_lookupflag.tests | 2 +- + test/shaping/data/aots/tests/gpos2_1.tests | 4 +- + .../data/aots/tests/gpos2_1_lookupflag.tests | 4 +- + .../data/aots/tests/gpos2_1_next_glyph.tests | 4 +- + test/shaping/data/aots/tests/gpos2_1_simple.tests | 4 +- + test/shaping/data/aots/tests/gpos2_2.tests | 10 +- + test/shaping/data/aots/tests/gpos3.tests | 22 +- + .../shaping/data/aots/tests/gpos3_lookupflag.tests | 4 +- + .../shaping/data/aots/tests/gpos4_lookupflag.tests | 4 +- + .../data/aots/tests/gpos4_multiple_anchors.tests | 2 +- + test/shaping/data/aots/tests/gpos4_simple.tests | 10 +- + test/shaping/data/aots/tests/gpos5.tests | 4 +- + test/shaping/data/aots/tests/gpos6.tests | 6 +- + test/shaping/data/aots/tests/gpos7_1.tests | 4 +- + test/shaping/data/aots/tests/gpos9.tests | 4 +- + .../data/aots/tests/gpos_chaining1_boundary.tests | 8 +- + .../aots/tests/gpos_chaining1_lookupflag.tests | 2 +- + .../tests/gpos_chaining1_multiple_subrules.tests | 4 +- + .../aots/tests/gpos_chaining1_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining1_simple.tests | 22 +- + .../aots/tests/gpos_chaining1_successive.tests | 2 +- + .../data/aots/tests/gpos_chaining2_boundary.tests | 8 +- + .../aots/tests/gpos_chaining2_lookupflag.tests | 2 +- + .../tests/gpos_chaining2_multiple_subrules.tests | 4 +- + .../aots/tests/gpos_chaining2_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining2_simple.tests | 22 +- + .../aots/tests/gpos_chaining2_successive.tests | 2 +- + .../data/aots/tests/gpos_chaining3_boundary.tests | 8 +- + .../aots/tests/gpos_chaining3_lookupflag.tests | 2 +- + .../aots/tests/gpos_chaining3_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_chaining3_simple.tests | 22 +- + .../aots/tests/gpos_chaining3_successive.tests | 2 +- + .../data/aots/tests/gpos_context1_boundary.tests | 4 +- + .../data/aots/tests/gpos_context1_expansion.tests | 2 +- + .../data/aots/tests/gpos_context1_lookupflag.tests | 4 +- + .../tests/gpos_context1_multiple_subrules.tests | 4 +- + .../data/aots/tests/gpos_context1_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context1_simple.tests | 6 +- + .../data/aots/tests/gpos_context1_successive.tests | 2 +- + .../data/aots/tests/gpos_context2_boundary.tests | 4 +- + .../data/aots/tests/gpos_context2_classes.tests | 4 +- + .../data/aots/tests/gpos_context2_expansion.tests | 2 +- + .../data/aots/tests/gpos_context2_lookupflag.tests | 4 +- + .../tests/gpos_context2_multiple_subrules.tests | 4 +- + .../data/aots/tests/gpos_context2_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context2_simple.tests | 6 +- + .../data/aots/tests/gpos_context2_successive.tests | 2 +- + .../data/aots/tests/gpos_context3_boundary.tests | 4 +- + .../data/aots/tests/gpos_context3_lookupflag.tests | 4 +- + .../data/aots/tests/gpos_context3_next_glyph.tests | 2 +- + .../data/aots/tests/gpos_context3_simple.tests | 4 +- + .../data/aots/tests/gpos_context3_successive.tests | 2 +- + .../data/aots/tests/gsub1_1_lookupflag.tests | 2 +- + test/shaping/data/aots/tests/gsub1_1_modulo.tests | 2 +- + test/shaping/data/aots/tests/gsub1_1_simple.tests | 2 +- + .../data/aots/tests/gsub1_2_lookupflag.tests | 2 +- + test/shaping/data/aots/tests/gsub1_2_simple.tests | 2 +- + .../data/aots/tests/gsub2_1_lookupflag.tests | 2 +- + .../aots/tests/gsub2_1_multiple_sequences.tests | 2 +- + test/shaping/data/aots/tests/gsub2_1_simple.tests | 4 +- + .../data/aots/tests/gsub3_1_lookupflag.tests | 2 +- + .../shaping/data/aots/tests/gsub3_1_multiple.tests | 2 +- + test/shaping/data/aots/tests/gsub3_1_simple.tests | 2 +- + .../data/aots/tests/gsub4_1_lookupflag.tests | 2 +- + .../aots/tests/gsub4_1_multiple_ligatures.tests | 4 +- + .../data/aots/tests/gsub4_1_multiple_ligsets.tests | 2 +- + test/shaping/data/aots/tests/gsub4_1_simple.tests | 2 +- + test/shaping/data/aots/tests/gsub7.tests | 4 +- + .../data/aots/tests/gsub_chaining1_boundary.tests | 8 +- + .../aots/tests/gsub_chaining1_lookupflag.tests | 2 +- + .../tests/gsub_chaining1_multiple_subrules.tests | 4 +- + .../aots/tests/gsub_chaining1_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining1_simple.tests | 22 +- + .../aots/tests/gsub_chaining1_successive.tests | 2 +- + .../data/aots/tests/gsub_chaining2_boundary.tests | 8 +- + .../aots/tests/gsub_chaining2_lookupflag.tests | 2 +- + .../tests/gsub_chaining2_multiple_subrules.tests | 4 +- + .../aots/tests/gsub_chaining2_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining2_simple.tests | 22 +- + .../aots/tests/gsub_chaining2_successive.tests | 2 +- + .../data/aots/tests/gsub_chaining3_boundary.tests | 8 +- + .../aots/tests/gsub_chaining3_lookupflag.tests | 2 +- + .../aots/tests/gsub_chaining3_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_chaining3_simple.tests | 22 +- + .../aots/tests/gsub_chaining3_successive.tests | 2 +- + .../data/aots/tests/gsub_context1_boundary.tests | 4 +- + .../data/aots/tests/gsub_context1_expansion.tests | 2 +- + .../data/aots/tests/gsub_context1_lookupflag.tests | 4 +- + .../tests/gsub_context1_multiple_subrules.tests | 4 +- + .../data/aots/tests/gsub_context1_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context1_simple.tests | 6 +- + .../data/aots/tests/gsub_context1_successive.tests | 2 +- + .../data/aots/tests/gsub_context2_boundary.tests | 4 +- + .../data/aots/tests/gsub_context2_classes.tests | 4 +- + .../data/aots/tests/gsub_context2_expansion.tests | 2 +- + .../data/aots/tests/gsub_context2_lookupflag.tests | 4 +- + .../tests/gsub_context2_multiple_subrules.tests | 4 +- + .../data/aots/tests/gsub_context2_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context2_simple.tests | 6 +- + .../data/aots/tests/gsub_context2_successive.tests | 2 +- + .../data/aots/tests/gsub_context3_boundary.tests | 4 +- + .../data/aots/tests/gsub_context3_lookupflag.tests | 4 +- + .../data/aots/tests/gsub_context3_next_glyph.tests | 2 +- + .../data/aots/tests/gsub_context3_simple.tests | 4 +- + .../data/aots/tests/gsub_context3_successive.tests | 2 +- + .../data/aots/tests/lookupflag_ignore_attach.tests | 10 +- + .../data/aots/tests/lookupflag_ignore_base.tests | 4 +- + .../aots/tests/lookupflag_ignore_combination.tests | 6 +- + .../aots/tests/lookupflag_ignore_ligatures.tests | 6 +- + .../data/aots/tests/lookupflag_ignore_marks.tests | 2 +- + test/shaping/data/in-house/tests/aat-morx.tests | 2 +- + test/shaping/data/in-house/tests/aat-trak.tests | 22 +- + .../in-house/tests/arabic-fallback-shaping.tests | 2 +- + .../data/in-house/tests/arabic-feature-order.tests | 8 +- + .../data/in-house/tests/arabic-like-joining.tests | 2 +- + .../data/in-house/tests/arabic-mark-attach.tests | 2 +- + .../data/in-house/tests/arabic-mark-order.tests | 12 +- + test/shaping/data/in-house/tests/arabic-stch.tests | 2 +- + .../data/in-house/tests/automatic-fractions.tests | 6 +- + test/shaping/data/in-house/tests/cluster.tests | 8 +- + test/shaping/data/in-house/tests/collections.tests | 12 +- + test/shaping/data/in-house/tests/color-fonts.tests | 4 +- + .../data/in-house/tests/context-matching.tests | 6 +- + .../data/in-house/tests/cursive-positioning.tests | 10 +- + .../data/in-house/tests/default-ignorables.tests | 10 +- + test/shaping/data/in-house/tests/digits.tests | 10 +- + .../data/in-house/tests/emoji-clusters.tests | 6522 ++++++++++---------- + test/shaping/data/in-house/tests/emoji.tests | 10 +- + .../data/in-house/tests/fallback-positioning.tests | 4 +- + test/shaping/data/in-house/tests/hangul-jamo.tests | 4 +- + test/shaping/data/in-house/tests/hyphens.tests | 4 +- + .../tests/indic-consonant-with-stacker.tests | 8 +- + .../data/in-house/tests/indic-decompose.tests | 2 +- + test/shaping/data/in-house/tests/indic-init.tests | 2 +- + .../in-house/tests/indic-joiner-candrabindu.tests | 4 +- + .../data/in-house/tests/indic-joiners.tests | 12 +- + .../data/in-house/tests/indic-old-spec.tests | 8 +- + .../data/in-house/tests/indic-pref-blocking.tests | 4 +- + .../in-house/tests/indic-script-extensions.tests | 4 +- + .../data/in-house/tests/indic-special-cases.tests | 6 +- + .../data/in-house/tests/indic-syllable.tests | 24 +- + .../tests/indic-vowel-letter-spoofing.tests | 106 +- + .../shaping/data/in-house/tests/kern-format2.tests | 6 +- + .../data/in-house/tests/khmer-mark-order.tests | 50 +- + test/shaping/data/in-house/tests/khmer-misc.tests | 180 +- + .../data/in-house/tests/language-tags.tests | 26 +- + test/shaping/data/in-house/tests/ligature-id.tests | 74 +- + test/shaping/data/in-house/tests/macos.tests | 266 +- + .../data/in-house/tests/mark-attachment.tests | 2 +- + .../data/in-house/tests/mark-filtering-sets.tests | 10 +- + .../tests/mongolian-variation-selector.tests | 38 +- + .../shaping/data/in-house/tests/myanmar-misc.tests | 2 +- + .../data/in-house/tests/myanmar-syllable.tests | 2 +- + .../data/in-house/tests/myanmar-zawgyi.tests | 2 +- + .../data/in-house/tests/none-directional.tests | 6 +- + .../data/in-house/tests/positioning-features.tests | 6 +- + test/shaping/data/in-house/tests/rand.tests | 6 +- + test/shaping/data/in-house/tests/reverse-sub.tests | 2 +- + test/shaping/data/in-house/tests/rotation.tests | 8 +- + test/shaping/data/in-house/tests/simple.tests | 4 +- + test/shaping/data/in-house/tests/sinhala.tests | 2 +- + test/shaping/data/in-house/tests/spaces.tests | 68 +- + .../in-house/tests/tibetan-contractions-1.tests | 120 +- + .../in-house/tests/tibetan-contractions-2.tests | 106 +- + .../data/in-house/tests/tibetan-vowels.tests | 22 +- + .../shaping/data/in-house/tests/tt-kern-gpos.tests | 2 +- + test/shaping/data/in-house/tests/use-indic3.tests | 2 +- + test/shaping/data/in-house/tests/use-marchen.tests | 70 +- + .../shaping/data/in-house/tests/use-syllable.tests | 44 +- + .../in-house/tests/use-vowel-letter-spoofing.tests | 188 +- + test/shaping/data/in-house/tests/use.tests | 30 +- + .../data/in-house/tests/variations-rvrn.tests | 200 +- + test/shaping/data/in-house/tests/variations.tests | 10 +- + test/shaping/data/in-house/tests/vertical.tests | 8 +- + .../data/in-house/tests/zero-width-marks.tests | 22 +- + .../data/text-rendering-tests/tests/AVAR-1.tests | 34 +- + .../data/text-rendering-tests/tests/CFF-1.tests | 26 +- + .../data/text-rendering-tests/tests/CFF-2.tests | 26 +- + .../data/text-rendering-tests/tests/CFF2-1.tests | 18 +- + .../data/text-rendering-tests/tests/CMAP-1.tests | 8 +- + .../data/text-rendering-tests/tests/CMAP-2.tests | 4 +- + .../data/text-rendering-tests/tests/CMAP-3.tests | 40 +- + .../data/text-rendering-tests/tests/CVAR-1.tests | 6 +- + .../data/text-rendering-tests/tests/CVAR-2.tests | 6 +- + .../data/text-rendering-tests/tests/GLYF-1.tests | 2 +- + .../data/text-rendering-tests/tests/GPOS-1.tests | 38 +- + .../data/text-rendering-tests/tests/GPOS-2.tests | 6 +- + .../data/text-rendering-tests/tests/GPOS-3.tests | 8 +- + .../data/text-rendering-tests/tests/GPOS-4.tests | 8 +- + .../data/text-rendering-tests/tests/GPOS-5.tests | 10 +- + .../data/text-rendering-tests/tests/GSUB-1.tests | 2 +- + .../data/text-rendering-tests/tests/GSUB-2.tests | 22 +- + .../data/text-rendering-tests/tests/GSUB-3.tests | 2 +- + .../data/text-rendering-tests/tests/GVAR-1.tests | 18 +- + .../data/text-rendering-tests/tests/GVAR-2.tests | 18 +- + .../data/text-rendering-tests/tests/GVAR-3.tests | 18 +- + .../data/text-rendering-tests/tests/GVAR-4.tests | 22 +- + .../data/text-rendering-tests/tests/GVAR-5.tests | 22 +- + .../data/text-rendering-tests/tests/GVAR-6.tests | 22 +- + .../data/text-rendering-tests/tests/GVAR-7.tests | 14 +- + .../data/text-rendering-tests/tests/GVAR-8.tests | 12 +- + .../data/text-rendering-tests/tests/GVAR-9.tests | 20 +- + .../data/text-rendering-tests/tests/HVAR-1.tests | 12 +- + .../data/text-rendering-tests/tests/HVAR-2.tests | 12 +- + .../data/text-rendering-tests/tests/KERN-1.tests | 2 +- + .../data/text-rendering-tests/tests/KERN-2.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-1.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-10.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-11.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-12.tests | 6 +- + .../data/text-rendering-tests/tests/MORX-13.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-14.tests | 4 +- + .../data/text-rendering-tests/tests/MORX-16.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-17.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-18.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-19.tests | 4 +- + .../data/text-rendering-tests/tests/MORX-2.tests | 32 +- + .../data/text-rendering-tests/tests/MORX-20.tests | 14 +- + .../data/text-rendering-tests/tests/MORX-21.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-22.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-23.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-24.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-25.tests | 18 +- + .../data/text-rendering-tests/tests/MORX-26.tests | 4 +- + .../data/text-rendering-tests/tests/MORX-27.tests | 6 +- + .../data/text-rendering-tests/tests/MORX-28.tests | 10 +- + .../data/text-rendering-tests/tests/MORX-29.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-3.tests | 32 +- + .../data/text-rendering-tests/tests/MORX-30.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-31.tests | 16 +- + .../data/text-rendering-tests/tests/MORX-32.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-33.tests | 6 +- + .../data/text-rendering-tests/tests/MORX-34.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-35.tests | 4 +- + .../data/text-rendering-tests/tests/MORX-36.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-37.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-38.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-39.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-4.tests | 30 +- + .../data/text-rendering-tests/tests/MORX-40.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-41.tests | 8 +- + .../data/text-rendering-tests/tests/MORX-5.tests | 50 +- + .../data/text-rendering-tests/tests/MORX-6.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-7.tests | 2 +- + .../data/text-rendering-tests/tests/MORX-8.tests | 6 +- + .../data/text-rendering-tests/tests/MORX-9.tests | 2 +- + .../data/text-rendering-tests/tests/SFNT-1.tests | 4 +- + .../data/text-rendering-tests/tests/SFNT-2.tests | 4 +- + .../data/text-rendering-tests/tests/SHARAN-1.tests | 12 +- + .../data/text-rendering-tests/tests/SHBALI-1.tests | 44 +- + .../data/text-rendering-tests/tests/SHBALI-2.tests | 24 +- + .../data/text-rendering-tests/tests/SHBALI-3.tests | 18 +- + .../data/text-rendering-tests/tests/SHKNDA-1.tests | 68 +- + .../data/text-rendering-tests/tests/SHKNDA-2.tests | 32 +- + .../data/text-rendering-tests/tests/SHKNDA-3.tests | 62 +- + .../data/text-rendering-tests/tests/SHLANA-1.tests | 104 +- + .../text-rendering-tests/tests/SHLANA-10.tests | 94 +- + .../data/text-rendering-tests/tests/SHLANA-2.tests | 74 +- + .../data/text-rendering-tests/tests/SHLANA-3.tests | 26 +- + .../data/text-rendering-tests/tests/SHLANA-4.tests | 6 +- + .../data/text-rendering-tests/tests/SHLANA-5.tests | 26 +- + .../data/text-rendering-tests/tests/SHLANA-6.tests | 14 +- + .../data/text-rendering-tests/tests/SHLANA-7.tests | 36 +- + .../data/text-rendering-tests/tests/SHLANA-8.tests | 26 +- + .../data/text-rendering-tests/tests/SHLANA-9.tests | 12 +- + test/shaping/record-test.sh | 2 +- + test/shaping/run-tests.py | 16 +- + test/subset/run-repack-tests.py | 8 +- + test/subset/run-tests.py | 8 +- + util/batch.hh | 10 +- + 289 files changed, 5277 insertions(+), 5279 deletions(-) + +commit b83fd3a564aaaa0311a1f8275b2ae5bbc8b94e2c +Author: Behdad Esfahbod +Date: Tue Aug 10 02:21:05 2021 -0600 + + [util] Refactor batch-processing code into batch.hh + + test/subset/run-repack-tests.py | 2 +- + test/subset/run-tests.py | 2 +- + util/Makefile.sources | 2 ++ + util/batch.hh | 72 +++++++++++++++++++++++++++++++++++++++++ + util/hb-shape.cc | 34 ++----------------- + util/hb-subset.cc | 34 ++----------------- + 6 files changed, 80 insertions(+), 66 deletions(-) + +commit d92ee726ce3b2fc2c249407d977433f0badcc918 +Author: Behdad Esfahbod +Date: Mon Aug 9 19:08:34 2021 -0600 + + [util/hb-shape] Treat as single-paragraph text other than provided by a file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3129 + + util/hb-shape.cc | 4 ++-- + util/hb-subset.cc | 4 ++-- + util/main-font-text.hh | 4 ++-- + util/text-options.hh | 39 +++++++++------------------------------ + 4 files changed, 15 insertions(+), 36 deletions(-) + +commit 8940409e3c108e2c26c0f22679eb3c6cea4fee9d +Merge: f5ba1fabc 7d2e9164a +Author: Behdad Esfahbod +Date: Mon Aug 9 13:21:07 2021 -0600 + + Merge pull request #3121 from harfbuzz/subset-args + + Fix up `hb-subset --help-all` + +commit f5ba1fabced5b04615ece8938d950b098490fe97 +Author: Ben Wagner +Date: Sat Aug 7 16:05:51 2021 -0400 + + Fix documentation of hb_subset_flags_t defaults + + HB_SUBSET_FLAGS_DEFAULT is 0, and hb_subset_input_create_or_fail + initializes its flags to HB_SUBSET_FLAGS_DEFAULT, so currently all flags + are set to false by default. It has been decided that future flags will + also be false by default for simplicity (using NO_ in the name if + needed). Correct and simplify the documentation for hb_subset_flags_t to + reflect this. + + src/hb-subset.h | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +commit 7d2e9164ab6681bfd9fa0946a1150905a1aba283 +Author: Behdad Esfahbod +Date: Sat Aug 7 13:38:19 2021 -0600 + + [util] Move text options into text_options_t + + Remove now empty options.cc. + + util/Makefile.sources | 8 +-- + util/hb-ot-shape-closure.cc | 1 + + util/hb-shape.cc | 4 +- + util/hb-subset.cc | 1 + + util/hb-view.cc | 2 + + util/meson.build | 4 -- + util/options.hh | 43 ------------- + util/{options.cc => text-options.hh} | 120 ++++++++++++++++++++--------------- + 8 files changed, 81 insertions(+), 102 deletions(-) + +commit 93bc62e9b24404d2af4042c4a9aa450af79be8dd +Author: Behdad Esfahbod +Date: Sat Aug 7 13:13:58 2021 -0600 + + [util] Move output options into output-options.hh + + util/Makefile.sources | 15 +++--- + util/hb-shape.cc | 1 + + util/hb-subset.cc | 1 + + util/helper-cairo.hh | 4 +- + util/options.cc | 50 -------------------- + util/options.hh | 40 ---------------- + util/output-options.hh | 123 +++++++++++++++++++++++++++++++++++++++++++++++++ + util/view-cairo.hh | 1 + + 8 files changed, 137 insertions(+), 98 deletions(-) + +commit af9d2495dc68c4a64bab87a7cc0a60927d81fa53 +Author: Behdad Esfahbod +Date: Sat Aug 7 12:29:52 2021 -0600 + + [util] Use inheritance for output_options_t + + util/hb-shape.cc | 41 ++++++++++++++++++++--------------------- + util/hb-subset.cc | 9 +++------ + util/view-cairo.hh | 12 ++++++------ + 3 files changed, 29 insertions(+), 33 deletions(-) + +commit 9db0fd4821ab721bbf558e999044384726ba650e +Author: Behdad Esfahbod +Date: Sat Aug 7 12:22:17 2021 -0600 + + [util] Don't show --output-format if no supported formats provided + + util/options.cc | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit 5545eea7e575318d53aa42acbb09cf39e4b82134 +Author: Behdad Esfahbod +Date: Sat Aug 7 11:04:46 2021 -0600 + + [util] Remove main_font_text_t class, use bare function + + util/hb-ot-shape-closure.cc | 3 +- + util/hb-shape.cc | 8 ++--- + util/hb-subset.cc | 8 ++--- + util/hb-view.cc | 3 +- + util/main-font-text.hh | 72 +++++++++++++++++---------------------------- + util/options.hh | 15 ++++++++++ + 6 files changed, 50 insertions(+), 59 deletions(-) + +commit 58c223357b340ceb64af337b481fd4786152881e +Author: Behdad Esfahbod +Date: Fri Aug 6 23:45:59 2021 -0600 + + [util] Move face/font options into face/font-options.hh + + util/Makefile.sources | 7 + + util/face-options.hh | 135 +++++++++++++++++++ + util/font-options.hh | 306 ++++++++++++++++++++++++++++++++++++++++++ + util/hb-ot-shape-closure.cc | 3 +- + util/hb-shape.cc | 2 +- + util/hb-subset.cc | 7 +- + util/hb-view.cc | 2 +- + util/main-font-text.hh | 2 +- + util/options.cc | 318 +------------------------------------------- + util/options.hh | 63 --------- + util/shape-consumer.hh | 1 + + 11 files changed, 457 insertions(+), 389 deletions(-) + +commit 6edd50ae7fa550c909fa32339537f6105002a07d +Author: Behdad Esfahbod +Date: Fri Aug 6 23:36:45 2021 -0600 + + [util] Move option_parser_t code into options.hh + + util/options.cc | 83 -------------------------------------------------------- + util/options.hh | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 83 insertions(+), 84 deletions(-) + +commit 798bb89c969288704c1cc534192eac9e6339d66a +Author: Behdad Esfahbod +Date: Fri Aug 6 23:29:29 2021 -0600 + + [util] Move shape format options into shape-format.hh + + util/Makefile.sources | 1 + + util/hb-shape.cc | 5 +- + util/hb-subset.cc | 2 +- + util/hb-view.cc | 2 +- + util/options.cc | 135 ------------------------------- + util/options.hh | 42 ---------- + util/shape-format.hh | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 220 insertions(+), 181 deletions(-) + +commit c3599fded73882d5234a995b7f253baf0b4fa1e4 +Author: Behdad Esfahbod +Date: Fri Aug 6 23:24:28 2021 -0600 + + [util] Move shape options into shape-options.hh + + util/Makefile.sources | 2 + + util/hb-ot-shape-closure.cc | 1 + + util/main-font-text.hh | 1 - + util/options.cc | 179 +--------------- + util/options.hh | 286 -------------------------- + util/shape-consumer.hh | 3 +- + util/shape-options.hh | 490 ++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 496 insertions(+), 466 deletions(-) + +commit cfb2d6ad9e34f4b61ea3fedd27ac448a47ac4c09 +Author: Behdad Esfahbod +Date: Fri Aug 6 23:14:30 2021 -0600 + + [util] Move view options into view-options.hh + + util/Makefile.sources | 15 +++--- + util/options.cc | 64 -------------------------- + util/options.hh | 25 ---------- + util/view-cairo.hh | 4 +- + util/view-options.hh | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 132 insertions(+), 99 deletions(-) + +commit 167f58a2ca1db5649a0724f88e033c28a3bbb844 +Author: Behdad Esfahbod +Date: Fri Aug 6 23:03:30 2021 -0600 + + [util] Move subset options into subset-options.hh + + util/Makefile.sources | 2 +- + util/hb-subset.cc | 3 +- + util/meson.build | 1 - + util/options.hh | 40 ------------------------ + util/{options-subset.cc => subset-options.hh} | 45 +++++++++++++++++++++++++++ + 5 files changed, 48 insertions(+), 43 deletions(-) + +commit 370e961faf28291def7f011f694bef1266adda99 +Author: Behdad Esfahbod +Date: Fri Aug 6 22:59:50 2021 -0600 + + [util/hb-subset] Use hb-subset.h public API instead of poking inside + + Oops. + + util/options-subset.cc | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +commit 4e97678ebb77be96765942051d8bb03ab8f74f1c +Author: Behdad Esfahbod +Date: Fri Aug 6 22:53:44 2021 -0600 + + [util] Use inheritence to embed inherent options of objects + + util/hb-subset.cc | 9 ++++----- + util/shape-consumer.hh | 15 +++++++-------- + util/view-cairo.hh | 33 ++++++++++++++++----------------- + 3 files changed, 27 insertions(+), 30 deletions(-) + +commit 06d661803c79e18bad3e943894a8a7bcba1352e8 +Author: Behdad Esfahbod +Date: Fri Aug 6 19:20:47 2021 -0600 + + [util] Fix compiler error + + ../util/options.cc:588:3: error: narrowing conversion of ‘font_size_flags’ from ‘unsigned int’ to ‘gint {aka int}’ inside { } [-Werror=narrowing] + + util/options.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c5337c43e932f23c18380995fa1ec74e2d8eaeb7 +Author: Behdad Esfahbod +Date: Fri Aug 6 19:19:50 2021 -0600 + + [util] Fold helper-cairo.cc into helper-cairo.hh + + util/Makefile.sources | 1 - + util/helper-cairo.cc | 668 -------------------------------------------------- + util/helper-cairo.hh | 636 ++++++++++++++++++++++++++++++++++++++++++++++- + util/meson.build | 1 - + 4 files changed, 624 insertions(+), 682 deletions(-) + +commit c329ce1000ee202700582396b0a47918d815e22e +Author: Behdad Esfahbod +Date: Fri Aug 6 19:13:21 2021 -0600 + + [util] Also hide ppem settings in hb-ot-shape-closure + + Leaving ptem, as that can in theory change shape closure if we apply it + to optical-size axis (we currently don't). + + util/options.cc | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit c40e00796c6ae900a9e540ad9e345a4514fdc4eb +Author: Behdad Esfahbod +Date: Fri Aug 6 19:04:27 2021 -0600 + + [util] Fold helper-cairo-ansi.cc into helper-cairo-ansi.hh + + util/Makefile.sources | 1 - + util/helper-cairo-ansi.cc | 202 ---------------------------------------------- + util/helper-cairo-ansi.hh | 174 ++++++++++++++++++++++++++++++++++++++- + util/meson.build | 1 - + 4 files changed, 172 insertions(+), 206 deletions(-) + +commit 4fe43ccbf172d633c17ea4d5c308310d4597062f +Author: Behdad Esfahbod +Date: Fri Aug 6 19:00:45 2021 -0600 + + [util] Fold ansi-print.cc into ansi-print.hh + + util/Makefile.sources | 1 - + util/ansi-print.cc | 427 -------------------------------------------------- + util/ansi-print.hh | 391 ++++++++++++++++++++++++++++++++++++++++++++- + util/meson.build | 1 - + 4 files changed, 389 insertions(+), 431 deletions(-) + +commit b1db0e4a0f2c1aa1f64176b0da9ca4ea5585d0ee +Author: Behdad Esfahbod +Date: Fri Aug 6 18:55:40 2021 -0600 + + [util] Fold view-cairo.cc into view-cairo.hh + + util/Makefile.sources | 1 - + util/meson.build | 1 - + util/view-cairo.cc | 140 -------------------------------------------------- + util/view-cairo.hh | 110 +++++++++++++++++++++++++++++++++++++++ + 4 files changed, 110 insertions(+), 142 deletions(-) + +commit 6500f68f1fd0614c7165fc9bea6d37a3cf17a8b4 +Author: Behdad Esfahbod +Date: Fri Aug 6 18:46:31 2021 -0600 + + [util] Change hb-subset to use face_options_t instead of font_options_t + + util/hb-subset.cc | 9 +++++---- + util/main-font-text.hh | 3 +-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +commit 869e20e09f96ba6cddc5db7e9aa6fde29d84ed78 +Author: Behdad Esfahbod +Date: Fri Aug 6 18:09:31 2021 -0600 + + [util] separate face options from font options + + util/helper-cairo.cc | 2 +- + util/options.cc | 87 +++++++++++++++++++++++++++++++++------------------- + util/options.hh | 48 +++++++++++++++++------------ + 3 files changed, 85 insertions(+), 52 deletions(-) + +commit b3a2f2bfcf483b525c55de211e3c644dba860e51 +Author: Behdad Esfahbod +Date: Thu Aug 5 14:03:48 2021 -0600 + + [util/main-font-text] Simplify + + util/main-font-text.hh | 21 ++++++++------------- + 1 file changed, 8 insertions(+), 13 deletions(-) + +commit 71440dbd90d77b2af35c69fac90e9342e9a9e439 +Author: Behdad Esfahbod +Date: Thu Aug 5 13:48:59 2021 -0600 + + [util] Move font-size and upem to be extern variables + + util/hb-ot-shape-closure.cc | 5 ++++- + util/hb-shape.cc | 5 ++++- + util/hb-subset.cc | 5 ++++- + util/hb-view.cc | 6 +++--- + util/main-font-text.hh | 6 +----- + util/options.cc | 6 +++--- + util/options.hh | 17 ++++++----------- + 7 files changed, 25 insertions(+), 25 deletions(-) + +commit fc0339eef0fa302f74ca9a3b90430288dac29df3 +Author: Behdad Esfahbod +Date: Thu Aug 5 13:35:46 2021 -0600 + + [util] Simplify shape-consumer by removing buffer arg + + util/hb-ot-shape-closure.cc | 5 ++--- + util/hb-subset.cc | 3 +-- + util/main-font-text.hh | 4 +--- + util/shape-consumer.hh | 5 ++--- + 4 files changed, 6 insertions(+), 11 deletions(-) + +commit e014c6fa2d4b1cb341d065d582d1dd995c04e5b5 +Author: Behdad Esfahbod +Date: Thu Aug 5 13:24:59 2021 -0600 + + [util/main-font-text] Move eol from template arg to main() arg + + util/hb-shape.cc | 11 +++++------ + util/hb-subset.cc | 11 +++++------ + util/main-font-text.hh | 4 ++-- + 3 files changed, 12 insertions(+), 14 deletions(-) + +commit 463411a1de4b9ca2e267a1ce0f9667da17a73d1e +Author: Behdad Esfahbod +Date: Thu Aug 5 11:44:35 2021 -0600 + + [util] Remove unused option_group_t + + util/hb-ot-shape-closure.cc | 2 +- + util/options.hh | 31 +++++++++++++------------------ + 2 files changed, 14 insertions(+), 19 deletions(-) + +commit 8588173ee6ace5926e090120fbcad85e5be1fab5 +Author: Behdad Esfahbod +Date: Thu Aug 5 11:43:25 2021 -0600 + + [util] Rework post_parse() handling + + util/options.hh | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +commit 3362b48f5a5eee9fe6378787ffce3304b341e474 +Author: Behdad Esfahbod +Date: Thu Aug 5 11:30:39 2021 -0600 + + [util] Templatize add_group logic + + util/options.cc | 25 ------------------------- + util/options.hh | 22 +++++++++++++++++++++- + 2 files changed, 21 insertions(+), 26 deletions(-) + +commit fe90fbeba3b9ddca20e1ecc0feb99ddb8132f961 +Author: Behdad Esfahbod +Date: Thu Aug 5 11:22:20 2021 -0600 + + [util] Remove unused pre_parse callback logic + + util/options.cc | 13 +------------ + util/options.hh | 1 - + 2 files changed, 1 insertion(+), 13 deletions(-) + +commit 09e4d7dd306ceb58064b92ec3cfc3ad7900a7802 +Author: Behdad Esfahbod +Date: Thu Aug 5 11:21:20 2021 -0600 + + [util] Simplify output_options_t + + util/hb-ot-shape-closure.cc | 2 +- + util/hb-shape.cc | 9 +++------ + util/options.cc | 3 ++- + util/options.hh | 21 ++++++++------------- + util/view-cairo.hh | 5 +---- + 5 files changed, 15 insertions(+), 25 deletions(-) + +commit e109f9a6f9954f55a7ca2f336aa41a0235dca37b +Author: Behdad Esfahbod +Date: Thu Aug 5 11:05:51 2021 -0600 + + [util] Collect cmdline arg options outside of constructor + + util/hb-ot-shape-closure.cc | 8 ++------ + util/hb-shape.cc | 11 ++++++++--- + util/hb-subset.cc | 13 +++++++------ + util/main-font-text.hh | 16 +++++++++++----- + util/options.hh | 37 ++++++------------------------------- + util/shape-consumer.hh | 9 +++++---- + util/view-cairo.hh | 11 ++++++++--- + 7 files changed, 47 insertions(+), 58 deletions(-) + +commit e57dd6688937072ac1b5bf2cd45c8fb9e867abe1 +Author: Behdad Esfahbod +Date: Thu Aug 5 10:33:31 2021 -0600 + + [util] Initialize struct members inline + + util/hb-ot-shape-closure.cc | 13 ++- + util/hb-shape.cc | 20 ++--- + util/hb-subset.cc | 10 ++- + util/options.hh | 214 +++++++++++++++----------------------------- + util/shape-consumer.hh | 14 ++- + util/view-cairo.hh | 20 ++--- + 6 files changed, 110 insertions(+), 181 deletions(-) + +commit 21f1054d4718213c5b4e4abba7fe74979e93febe +Author: Behdad Esfahbod +Date: Wed Aug 4 20:23:48 2021 -0600 + + [util/hb-subset] Keep face around instead of font + + util/hb-subset.cc | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +commit 8c0c217b5a1ded98ce62a3c7394942bcb3b95396 +Author: Garret Rieger +Date: Fri Aug 6 10:45:38 2021 -0700 + + [subset] fail reference blob in face builder if allocation for table sorting fails. + + Fixes https://oss-fuzz.com/testcase-detail/5041767803125760 + + src/hb-face.cc | 6 ++++++ + ...zz-testcase-minimized-hb-subset-fuzzer-5041767803125760 | Bin 0 -> 29 bytes + 2 files changed, 6 insertions(+) + +commit e5bfd49ae5bc711a40e3fac9e3b8230f251e5d67 +Author: Garret Rieger +Date: Thu Aug 5 14:03:25 2021 -0700 + + [subset] don't allow table adds for tag == -1. + + src/hb-face.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 222b74f08f8cc4a5e1b7c1582b28db5588ea11da +Author: Garret Rieger +Date: Thu Aug 5 11:39:26 2021 -0700 + + [subset] don't leak memory for duplicate tables. + + src/hb-face.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit f7a9c3ea9324caf83eaacd65a7493470d09198a3 +Author: Behdad Esfahbod +Date: Thu Aug 5 13:05:07 2021 -0600 + + [open-file] Use hb_is_source_of instead of hb_is_iterator + + src/hb-open-file.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit fa90cb8a3128d617d8a71b73085eb05af105f62c +Author: Behdad Esfahbod +Date: Thu Aug 5 12:31:06 2021 -0600 + + Whitespace again + + src/hb-open-file.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a110a47eb5782cf35b6b042fd3c7565a204b6ff7 +Author: Behdad Esfahbod +Date: Thu Aug 5 12:28:39 2021 -0600 + + Whitespace + + src/hb-open-file.hh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 2cb8c928d75ae4c0ac491be60e65be4a77fe9705 +Author: Behdad Esfahbod +Date: Thu Aug 5 12:27:22 2021 -0600 + + [face] Let hashmap derive invalid key/value types + + Works now with the previous two fixes. + + src/hb-face.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 95c888e192909b18de6f38da8b6e4d8294416703 +Author: Behdad Esfahbod +Date: Thu Aug 5 12:27:02 2021 -0600 + + [meta] Define hb_int_min for pointer types as nullptr + + src/hb-meta.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 407a112e7b743e75053ed2278416cb1bd5c91fac +Author: Behdad Esfahbod +Date: Thu Aug 5 12:23:53 2021 -0600 + + [meta] Make hb_is_signed/hb_is_unsigned work on all types + + They were failing if type was non-scalar, eg. pointer. + + src/hb-meta.hh | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit baf2166a24554ba26ac88f800fc6f124a0adf706 +Author: Behdad Esfahbod +Date: Thu Aug 5 12:07:25 2021 -0600 + + [meta] Use hb_true_type/hb_false_type more + + src/hb-meta.hh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 74ad5ddcd759140a1a35d38288d0e615538b66ca +Author: Behdad Esfahbod +Date: Thu Aug 5 11:51:54 2021 -0600 + + [face] Minor cleaning of previous commit + + src/hb-face.cc | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +commit c2ee1fdd404e980303dd92882b1df816727a4b65 +Author: Garret Rieger +Date: Wed Aug 4 16:42:49 2021 -0700 + + [subset] remove unsed table_entry struct. + + src/hb-face.cc | 48 ++++++++------------- + src/hb-open-file.hh | 5 +-- + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 6692 -> 6692 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6328 -> 6328 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6200 -> 6200 bytes + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6256 -> 6256 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 4608 -> 4608 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4312 -> 4312 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 3724 -> 3724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 3900 -> 3900 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 3972 -> 3972 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 191632 -> 191632 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 2600 -> 2600 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2296 -> 2296 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 1976 -> 1976 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 1900 -> 1900 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 1968 -> 1968 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 191584 -> 191584 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 7988 -> 7988 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 7628 -> 7628 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7256 -> 7256 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7184 -> 7184 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7180 -> 7180 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 7072 -> 7072 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 6700 -> 6700 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 6336 -> 6336 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 6208 -> 6208 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 6264 -> 6264 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 229748 -> 229748 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 7508 -> 7508 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 7144 -> 7144 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 6776 -> 6776 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 6200 -> 6200 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 223452 -> 223452 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 220948 -> 220948 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 6800 -> 6800 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 6432 -> 6432 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6068 -> 6068 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 5940 -> 5940 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 5996 -> 5996 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 222496 -> 222496 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6256 -> 6256 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6256 -> 6256 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...egular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 6692 -> 6692 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 6328 -> 6328 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 6200 -> 6200 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 6256 -> 6256 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 7652 -> 7652 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 7284 -> 7284 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 6920 -> 6920 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 6796 -> 6796 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 6844 -> 6844 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 223352 -> 223352 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9068 -> 9068 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 8708 -> 8708 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8076 -> 8076 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8200 -> 8200 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8260 -> 8260 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222804 -> 222804 bytes + ...numMyeongjo-Regular-subset.default.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.default.61,63.ttf | Bin 3580 -> 3580 bytes + .../NanumMyeongjo-Regular-subset.default.61.ttf | Bin 3156 -> 3156 bytes + .../NanumMyeongjo-Regular-subset.default.62.ttf | Bin 3180 -> 3180 bytes + .../NanumMyeongjo-Regular-subset.default.63.ttf | Bin 3048 -> 3048 bytes + ...Regular-subset.default.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ular-subset.drop-hints-retain-gids.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...Regular-subset.drop-hints-retain-gids.61,63.ttf | Bin 1284 -> 1284 bytes + ...jo-Regular-subset.drop-hints-retain-gids.61.ttf | Bin 1128 -> 1128 bytes + ...jo-Regular-subset.drop-hints-retain-gids.62.ttf | Bin 1144 -> 1144 bytes + ...jo-Regular-subset.drop-hints-retain-gids.63.ttf | Bin 1116 -> 1116 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttf | Bin 1276 -> 1276 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 1128 -> 1128 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 1140 -> 1140 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 1104 -> 1104 bytes + ...ular-subset.drop-hints.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 4128 -> 4128 bytes + ...jo-Regular-subset.gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...subset.layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 3924 -> 3924 bytes + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttf | Bin 3376 -> 3376 bytes + .../NanumMyeongjo-Regular-subset.name-ids.61.ttf | Bin 2952 -> 2952 bytes + .../NanumMyeongjo-Regular-subset.name-ids.62.ttf | Bin 2976 -> 2976 bytes + .../NanumMyeongjo-Regular-subset.name-ids.63.ttf | Bin 2844 -> 2844 bytes + ...egular-subset.name-ids.retain-all-codepoint.ttf | Bin 9320 -> 9320 bytes + ...ngjo-Regular-subset.name-languages.61,62,63.ttf | Bin 4172 -> 4172 bytes + ...yeongjo-Regular-subset.name-languages.61,63.ttf | Bin 3624 -> 3624 bytes + ...umMyeongjo-Regular-subset.name-languages.61.ttf | Bin 3200 -> 3200 bytes + ...umMyeongjo-Regular-subset.name-languages.62.ttf | Bin 3224 -> 3224 bytes + ...umMyeongjo-Regular-subset.name-languages.63.ttf | Bin 3092 -> 3092 bytes + ...-subset.name-languages.retain-all-codepoint.ttf | Bin 9568 -> 9568 bytes + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.name-legacy.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...egular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 3580 -> 3580 bytes + ...o-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 3156 -> 3156 bytes + ...o-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 3180 -> 3180 bytes + ...o-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 3048 -> 3048 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 3580 -> 3580 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 3156 -> 3156 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 3180 -> 3180 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 3048 -> 3048 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttf | Bin 3588 -> 3588 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttf | Bin 3184 -> 3184 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttf | Bin 3060 -> 3060 bytes + ...lar-subset.retain-gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1932 -> 1932 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1152 -> 1152 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1072 -> 1072 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 944 -> 944 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 840 -> 840 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 928 -> 928 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1152 -> 1152 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1152 -> 1152 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1056 -> 1056 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 944 -> 944 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 836 -> 836 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 916 -> 916 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1152 -> 1152 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2412 -> 2412 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 1932 -> 1932 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 2412 -> 2412 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 2208 -> 2208 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 2008 -> 2008 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 1876 -> 1876 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 1932 -> 1932 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 1932 -> 1932 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1932 -> 1932 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1932 -> 1932 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1932 -> 1932 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 2412 -> 2412 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 2208 -> 2208 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 2008 -> 2008 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 1876 -> 1876 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 1932 -> 1932 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 1932 -> 1932 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 2224 -> 2224 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1884 -> 1884 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1948 -> 1948 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../cbdt/NotoColorEmoji.subset.default.2049.ttf | Bin 3112 -> 3112 bytes + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttf | Bin 4084 -> 4084 bytes + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + .../NotoColorEmoji.subset.default.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.default.39.ttf | Bin 1920 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.default.AE.ttf | Bin 4412 -> 4412 bytes + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttf | Bin 1928 -> 1928 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttf | Bin 3112 -> 3112 bytes + .../NotoColorEmoji.subset.drop-hints.38,2049.ttf | Bin 4084 -> 4084 bytes + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttf | Bin 1920 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttf | Bin 4412 -> 4412 bytes + .../NotoColorEmoji.subset.gap.default.2049.ttf | Bin 3112 -> 3112 bytes + .../NotoColorEmoji.subset.gap.default.38,2049.ttf | Bin 4084 -> 4084 bytes + .../NotoColorEmoji.subset.gap.default.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttf | Bin 908 -> 908 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttf | Bin 4412 -> 4412 bytes + ...moji.subset.gap.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttf | Bin 916 -> 916 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttf | Bin 3112 -> 3112 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttf | Bin 4084 -> 4084 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../NotoColorEmoji.subset.gap.drop-hints.39.ttf | Bin 908 -> 908 bytes + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttf | Bin 4412 -> 4412 bytes + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + .../NotoColorEmoji.subset.gap.retain-gids.39.ttf | Bin 916 -> 916 bytes + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + ...olorEmoji.subset.index_format3.default.2049.ttf | Bin 3108 -> 3108 bytes + ...rEmoji.subset.index_format3.default.38,2049.ttf | Bin 4076 -> 4076 bytes + ...rEmoji.subset.index_format3.default.38,20E3.ttf | Bin 3560 -> 3560 bytes + ...index_format3.default.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...oji.subset.index_format3.default.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...oColorEmoji.subset.index_format3.default.39.ttf | Bin 1916 -> 1916 bytes + ...oColorEmoji.subset.index_format3.default.AE.ttf | Bin 4408 -> 4408 bytes + ...t.index_format3.drop-hints-retain-gids.2049.ttf | Bin 3132 -> 3132 bytes + ...ndex_format3.drop-hints-retain-gids.38,2049.ttf | Bin 4100 -> 4100 bytes + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttf | Bin 3592 -> 3592 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7552 -> 7552 bytes + ...set.index_format3.drop-hints-retain-gids.39.ttf | Bin 1924 -> 1924 bytes + ...set.index_format3.drop-hints-retain-gids.AE.ttf | Bin 4424 -> 4424 bytes + ...rEmoji.subset.index_format3.drop-hints.2049.ttf | Bin 3108 -> 3108 bytes + ...oji.subset.index_format3.drop-hints.38,2049.ttf | Bin 4076 -> 4076 bytes + ...oji.subset.index_format3.drop-hints.38,20E3.ttf | Bin 3560 -> 3560 bytes + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ....subset.index_format3.drop-hints.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...lorEmoji.subset.index_format3.drop-hints.39.ttf | Bin 1916 -> 1916 bytes + ...lorEmoji.subset.index_format3.drop-hints.AE.ttf | Bin 4408 -> 4408 bytes + ...Emoji.subset.index_format3.retain-gids.2049.ttf | Bin 3132 -> 3132 bytes + ...ji.subset.index_format3.retain-gids.38,2049.ttf | Bin 4100 -> 4100 bytes + ...ji.subset.index_format3.retain-gids.38,20E3.ttf | Bin 3592 -> 3592 bytes + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...subset.index_format3.retain-gids.38,AE,2049.ttf | Bin 7552 -> 7552 bytes + ...orEmoji.subset.index_format3.retain-gids.39.ttf | Bin 1924 -> 1924 bytes + ...orEmoji.subset.index_format3.retain-gids.AE.ttf | Bin 4424 -> 4424 bytes + ...ji.subset.multiple_size_tables.default.2049.ttf | Bin 5312 -> 5312 bytes + ...subset.multiple_size_tables.default.38,2049.ttf | Bin 7244 -> 7244 bytes + ...subset.multiple_size_tables.default.38,20E3.ttf | Bin 6212 -> 6212 bytes + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...set.multiple_size_tables.default.38,AE,2049.ttf | Bin 14140 -> 14140 bytes + ...moji.subset.multiple_size_tables.default.39.ttf | Bin 2928 -> 2928 bytes + ...moji.subset.multiple_size_tables.default.AE.ttf | Bin 7916 -> 7916 bytes + ...ple_size_tables.drop-hints-retain-gids.2049.ttf | Bin 5336 -> 5336 bytes + ..._size_tables.drop-hints-retain-gids.38,2049.ttf | Bin 7268 -> 7268 bytes + ..._size_tables.drop-hints-retain-gids.38,20E3.ttf | Bin 6244 -> 6244 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttf | Bin 14164 -> 14164 bytes + ...tiple_size_tables.drop-hints-retain-gids.39.ttf | Bin 2936 -> 2936 bytes + ...tiple_size_tables.drop-hints-retain-gids.AE.ttf | Bin 7932 -> 7932 bytes + ...subset.multiple_size_tables.drop-hints.2049.ttf | Bin 5312 -> 5312 bytes + ...set.multiple_size_tables.drop-hints.38,2049.ttf | Bin 7244 -> 7244 bytes + ...set.multiple_size_tables.drop-hints.38,20E3.ttf | Bin 6212 -> 6212 bytes + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ....multiple_size_tables.drop-hints.38,AE,2049.ttf | Bin 14140 -> 14140 bytes + ...i.subset.multiple_size_tables.drop-hints.39.ttf | Bin 2928 -> 2928 bytes + ...i.subset.multiple_size_tables.drop-hints.AE.ttf | Bin 7916 -> 7916 bytes + ...ubset.multiple_size_tables.retain-gids.2049.ttf | Bin 5336 -> 5336 bytes + ...et.multiple_size_tables.retain-gids.38,2049.ttf | Bin 7268 -> 7268 bytes + ...et.multiple_size_tables.retain-gids.38,20E3.ttf | Bin 6244 -> 6244 bytes + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...multiple_size_tables.retain-gids.38,AE,2049.ttf | Bin 14164 -> 14164 bytes + ....subset.multiple_size_tables.retain-gids.39.ttf | Bin 2936 -> 2936 bytes + ....subset.multiple_size_tables.retain-gids.AE.ttf | Bin 7932 -> 7932 bytes + .../NotoColorEmoji.subset.retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + .../NotoColorEmoji.subset.retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttf | Bin 1928 -> 1928 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 20128 -> 20128 bytes + ...outline-desubroutinize-retain-gids.61,62,63.otf | Bin 2280 -> 2280 bytes + ...e-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30448 -> 30448 bytes + ...f-outline-desubroutinize.1FC,21,41,20,62,63.otf | Bin 2356 -> 2356 bytes + ...ular.notdef-outline-desubroutinize.61,62,63.otf | Bin 2084 -> 2084 bytes + ...otdef-outline-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2252 -> 2252 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 19960 -> 19960 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 2156 -> 2156 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30280 -> 30280 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 2184 -> 2184 bytes + ...-outline-drop-hints-desubroutinize.61,62,63.otf | Bin 1960 -> 1960 bytes + ...ne-drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2088 -> 2088 bytes + ...e-drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 20052 -> 20052 bytes + ...def-outline-drop-hints-retain-gids.61,62,63.otf | Bin 2196 -> 2196 bytes + ...tline-drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30296 -> 30296 bytes + ...otdef-outline-drop-hints.1FC,21,41,20,62,63.otf | Bin 2268 -> 2268 bytes + ...-Regular.notdef-outline-drop-hints.61,62,63.otf | Bin 2028 -> 2028 bytes + ...ar.notdef-outline-drop-hints.D7,D8,D9,DA,DE.otf | Bin 2104 -> 2104 bytes + ...tdef-outline-retain-gids.1FC,21,41,20,62,63.otf | Bin 20284 -> 20284 bytes + ...Regular.notdef-outline-retain-gids.61,62,63.otf | Bin 2348 -> 2348 bytes + ...r.notdef-outline-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30464 -> 30464 bytes + ...o-Regular.notdef-outline.1FC,21,41,20,62,63.otf | Bin 2500 -> 2500 bytes + ...urceSansPro-Regular.notdef-outline.61,62,63.otf | Bin 2180 -> 2180 bytes + ...nsPro-Regular.notdef-outline.D7,D8,D9,DA,DE.otf | Bin 2272 -> 2272 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 4820 -> 4820 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6196 -> 6196 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 2540 -> 2540 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6640 -> 6640 bytes + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 2444 -> 2444 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129820 -> 129820 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130840 -> 130840 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3364 -> 3364 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121956 -> 121956 bytes + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 50744 -> 50744 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4656 -> 4656 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5840 -> 5840 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 2472 -> 2472 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6132 -> 6132 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 2428 -> 2428 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129376 -> 129376 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130220 -> 130220 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3244 -> 3244 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121180 -> 121180 bytes + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 50516 -> 50516 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4348 -> 4348 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5324 -> 5324 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 2368 -> 2368 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 5456 -> 5456 bytes + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 2292 -> 2292 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129516 -> 129516 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130528 -> 130528 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 3208 -> 3208 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121680 -> 121680 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 50532 -> 50532 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 4484 -> 4484 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5628 -> 5628 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 2400 -> 2400 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 5952 -> 5952 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 2304 -> 2304 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129980 -> 129980 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 131196 -> 131196 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 3364 -> 3364 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122460 -> 122460 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 50760 -> 50760 bytes + ...otoSerifMyanmar-Regular.notdef-outline.1092.otf | Bin 1392 -> 1392 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1208 -> 1208 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 1264 -> 1264 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 1216 -> 1216 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 1204 -> 1204 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 1184 -> 1184 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1424 -> 1424 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 8232 -> 8232 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 8104 -> 8104 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 8172 -> 8172 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 8156 -> 8156 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1036 -> 1036 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 1092 -> 1092 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 1044 -> 1044 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 1032 -> 1032 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 956 -> 956 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 964 -> 964 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 952 -> 952 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 932 -> 932 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1596 -> 1596 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 8404 -> 8404 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 8276 -> 8276 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 8344 -> 8344 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 8328 -> 8328 bytes + ...tline-drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1404 -> 1404 bytes + ...ef-outline-drop-hints-retain-gids.4E00,4E03.otf | Bin 1292 -> 1292 bytes + ...tline-drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1416 -> 1416 bytes + ...tline-drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1736 -> 1736 bytes + ....notdef-outline-drop-hints-retain-gids.4E02.otf | Bin 1048 -> 1048 bytes + ....notdef-outline-drop-hints-retain-gids.4E03.otf | Bin 1140 -> 1140 bytes + ...-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2000 -> 2000 bytes + ...ef-outline-drop-hints-retain-gids.4E08,4E09.otf | Bin 1888 -> 1888 bytes + ....notdef-outline-drop-hints-retain-gids.4E08.otf | Bin 1560 -> 1560 bytes + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2452 -> 2452 bytes + ...t1.notdef-outline-drop-hints.4E00,4E02,4E03.otf | Bin 1308 -> 1308 bytes + ...4_font1.notdef-outline-drop-hints.4E00,4E03.otf | Bin 1188 -> 1188 bytes + ...t1.notdef-outline-drop-hints.4E00,4E05,4E07.otf | Bin 1280 -> 1280 bytes + ...t1.notdef-outline-drop-hints.4E02,4E03,4E08.otf | Bin 1528 -> 1528 bytes + ...cmap14_font1.notdef-outline-drop-hints.4E02.otf | Bin 944 -> 944 bytes + ...cmap14_font1.notdef-outline-drop-hints.4E03.otf | Bin 1028 -> 1028 bytes + ...tdef-outline-drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1796 -> 1796 bytes + ...4_font1.notdef-outline-drop-hints.4E08,4E09.otf | Bin 1672 -> 1672 bytes + ...cmap14_font1.notdef-outline-drop-hints.4E08.otf | Bin 1336 -> 1336 bytes + ...def-outline-drop-hints.retain-all-codepoint.otf | Bin 2296 -> 2296 bytes + ...14_font1.notdef-outline-gids.4E00,4E02,4E03.otf | Bin 1408 -> 1408 bytes + .../cmap14_font1.notdef-outline-gids.4E00,4E03.otf | Bin 1396 -> 1396 bytes + ...14_font1.notdef-outline-gids.4E00,4E05,4E07.otf | Bin 1640 -> 1640 bytes + ...14_font1.notdef-outline-gids.4E02,4E03,4E08.otf | Bin 1760 -> 1760 bytes + .../cmap14_font1.notdef-outline-gids.4E02.otf | Bin 1332 -> 1332 bytes + .../cmap14_font1.notdef-outline-gids.4E03.otf | Bin 1372 -> 1372 bytes + ...nt1.notdef-outline-gids.4E05,4E07,4E08,4E09.otf | Bin 2184 -> 2184 bytes + .../cmap14_font1.notdef-outline-gids.4E08,4E09.otf | Bin 2056 -> 2056 bytes + .../cmap14_font1.notdef-outline-gids.4E08.otf | Bin 1720 -> 1720 bytes + ...t1.notdef-outline-gids.retain-all-codepoint.otf | Bin 2400 -> 2400 bytes + ...ont1.notdef-outline-name-ids.4E00,4E02,4E03.otf | Bin 1308 -> 1308 bytes + ...p14_font1.notdef-outline-name-ids.4E00,4E03.otf | Bin 1184 -> 1184 bytes + ...ont1.notdef-outline-name-ids.4E00,4E05,4E07.otf | Bin 1280 -> 1280 bytes + ...ont1.notdef-outline-name-ids.4E02,4E03,4E08.otf | Bin 1528 -> 1528 bytes + .../cmap14_font1.notdef-outline-name-ids.4E02.otf | Bin 944 -> 944 bytes + .../cmap14_font1.notdef-outline-name-ids.4E03.otf | Bin 1028 -> 1028 bytes + ...notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf | Bin 1796 -> 1796 bytes + ...p14_font1.notdef-outline-name-ids.4E08,4E09.otf | Bin 1668 -> 1668 bytes + .../cmap14_font1.notdef-outline-name-ids.4E08.otf | Bin 1336 -> 1336 bytes + ...otdef-outline-name-ids.retain-all-codepoint.otf | Bin 2296 -> 2296 bytes + ...1.notdef-outline-retain-gids.4E00,4E02,4E03.otf | Bin 1472 -> 1472 bytes + ..._font1.notdef-outline-retain-gids.4E00,4E03.otf | Bin 1360 -> 1360 bytes + ...1.notdef-outline-retain-gids.4E00,4E05,4E07.otf | Bin 1480 -> 1480 bytes + ...1.notdef-outline-retain-gids.4E02,4E03,4E08.otf | Bin 1804 -> 1804 bytes + ...map14_font1.notdef-outline-retain-gids.4E02.otf | Bin 1116 -> 1116 bytes + ...map14_font1.notdef-outline-retain-gids.4E03.otf | Bin 1208 -> 1208 bytes + ...def-outline-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2068 -> 2068 bytes + ..._font1.notdef-outline-retain-gids.4E08,4E09.otf | Bin 1956 -> 1956 bytes + ...map14_font1.notdef-outline-retain-gids.4E08.otf | Bin 1628 -> 1628 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 2520 -> 2520 bytes + .../cmap14_font1.notdef-outline.4E00,4E02,4E03.otf | Bin 1376 -> 1376 bytes + .../cmap14_font1.notdef-outline.4E00,4E03.otf | Bin 1252 -> 1252 bytes + .../cmap14_font1.notdef-outline.4E00,4E05,4E07.otf | Bin 1348 -> 1348 bytes + .../cmap14_font1.notdef-outline.4E02,4E03,4E08.otf | Bin 1596 -> 1596 bytes + .../cmap14/cmap14_font1.notdef-outline.4E02.otf | Bin 1012 -> 1012 bytes + .../cmap14/cmap14_font1.notdef-outline.4E03.otf | Bin 1096 -> 1096 bytes + ...14_font1.notdef-outline.4E05,4E07,4E08,4E09.otf | Bin 1864 -> 1864 bytes + .../cmap14_font1.notdef-outline.4E08,4E09.otf | Bin 1736 -> 1736 bytes + .../cmap14/cmap14_font1.notdef-outline.4E08.otf | Bin 1404 -> 1404 bytes + ...4_font1.notdef-outline.retain-all-codepoint.otf | Bin 2364 -> 2364 bytes + ...tline-drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1404 -> 1404 bytes + ...ef-outline-drop-hints-retain-gids.4E00,4E03.otf | Bin 1292 -> 1292 bytes + ...tline-drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1420 -> 1420 bytes + ...tline-drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1736 -> 1736 bytes + ....notdef-outline-drop-hints-retain-gids.4E02.otf | Bin 1044 -> 1044 bytes + ....notdef-outline-drop-hints-retain-gids.4E03.otf | Bin 1136 -> 1136 bytes + ...-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2000 -> 2000 bytes + ...ef-outline-drop-hints-retain-gids.4E08,4E09.otf | Bin 1884 -> 1884 bytes + ....notdef-outline-drop-hints-retain-gids.4E08.otf | Bin 1556 -> 1556 bytes + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2448 -> 2448 bytes + ...t2.notdef-outline-drop-hints.4E00,4E02,4E03.otf | Bin 1308 -> 1308 bytes + ...4_font2.notdef-outline-drop-hints.4E00,4E03.otf | Bin 1188 -> 1188 bytes + ...t2.notdef-outline-drop-hints.4E00,4E05,4E07.otf | Bin 1284 -> 1284 bytes + ...t2.notdef-outline-drop-hints.4E02,4E03,4E08.otf | Bin 1528 -> 1528 bytes + ...cmap14_font2.notdef-outline-drop-hints.4E02.otf | Bin 940 -> 940 bytes + ...cmap14_font2.notdef-outline-drop-hints.4E03.otf | Bin 1024 -> 1024 bytes + ...tdef-outline-drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1796 -> 1796 bytes + ...4_font2.notdef-outline-drop-hints.4E08,4E09.otf | Bin 1668 -> 1668 bytes + ...cmap14_font2.notdef-outline-drop-hints.4E08.otf | Bin 1332 -> 1332 bytes + ...def-outline-drop-hints.retain-all-codepoint.otf | Bin 2292 -> 2292 bytes + ...14_font2.notdef-outline-gids.4E00,4E02,4E03.otf | Bin 1408 -> 1408 bytes + .../cmap14_font2.notdef-outline-gids.4E00,4E03.otf | Bin 1396 -> 1396 bytes + ...14_font2.notdef-outline-gids.4E00,4E05,4E07.otf | Bin 1644 -> 1644 bytes + ...14_font2.notdef-outline-gids.4E02,4E03,4E08.otf | Bin 1760 -> 1760 bytes + .../cmap14_font2.notdef-outline-gids.4E02.otf | Bin 1328 -> 1328 bytes + .../cmap14_font2.notdef-outline-gids.4E03.otf | Bin 1368 -> 1368 bytes + ...nt2.notdef-outline-gids.4E05,4E07,4E08,4E09.otf | Bin 2184 -> 2184 bytes + .../cmap14_font2.notdef-outline-gids.4E08,4E09.otf | Bin 2052 -> 2052 bytes + .../cmap14_font2.notdef-outline-gids.4E08.otf | Bin 1716 -> 1716 bytes + ...t2.notdef-outline-gids.retain-all-codepoint.otf | Bin 2396 -> 2396 bytes + ...ont2.notdef-outline-name-ids.4E00,4E02,4E03.otf | Bin 1308 -> 1308 bytes + ...p14_font2.notdef-outline-name-ids.4E00,4E03.otf | Bin 1184 -> 1184 bytes + ...ont2.notdef-outline-name-ids.4E00,4E05,4E07.otf | Bin 1284 -> 1284 bytes + ...ont2.notdef-outline-name-ids.4E02,4E03,4E08.otf | Bin 1528 -> 1528 bytes + .../cmap14_font2.notdef-outline-name-ids.4E02.otf | Bin 940 -> 940 bytes + .../cmap14_font2.notdef-outline-name-ids.4E03.otf | Bin 1024 -> 1024 bytes + ...notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf | Bin 1796 -> 1796 bytes + ...p14_font2.notdef-outline-name-ids.4E08,4E09.otf | Bin 1664 -> 1664 bytes + .../cmap14_font2.notdef-outline-name-ids.4E08.otf | Bin 1332 -> 1332 bytes + ...otdef-outline-name-ids.retain-all-codepoint.otf | Bin 2292 -> 2292 bytes + ...2.notdef-outline-retain-gids.4E00,4E02,4E03.otf | Bin 1472 -> 1472 bytes + ..._font2.notdef-outline-retain-gids.4E00,4E03.otf | Bin 1360 -> 1360 bytes + ...2.notdef-outline-retain-gids.4E00,4E05,4E07.otf | Bin 1484 -> 1484 bytes + ...2.notdef-outline-retain-gids.4E02,4E03,4E08.otf | Bin 1804 -> 1804 bytes + ...map14_font2.notdef-outline-retain-gids.4E02.otf | Bin 1112 -> 1112 bytes + ...map14_font2.notdef-outline-retain-gids.4E03.otf | Bin 1204 -> 1204 bytes + ...def-outline-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2068 -> 2068 bytes + ..._font2.notdef-outline-retain-gids.4E08,4E09.otf | Bin 1952 -> 1952 bytes + ...map14_font2.notdef-outline-retain-gids.4E08.otf | Bin 1624 -> 1624 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 2516 -> 2516 bytes + .../cmap14_font2.notdef-outline.4E00,4E02,4E03.otf | Bin 1376 -> 1376 bytes + .../cmap14_font2.notdef-outline.4E00,4E03.otf | Bin 1252 -> 1252 bytes + .../cmap14_font2.notdef-outline.4E00,4E05,4E07.otf | Bin 1352 -> 1352 bytes + .../cmap14_font2.notdef-outline.4E02,4E03,4E08.otf | Bin 1596 -> 1596 bytes + .../cmap14/cmap14_font2.notdef-outline.4E02.otf | Bin 1008 -> 1008 bytes + .../cmap14/cmap14_font2.notdef-outline.4E03.otf | Bin 1092 -> 1092 bytes + ...14_font2.notdef-outline.4E05,4E07,4E08,4E09.otf | Bin 1864 -> 1864 bytes + .../cmap14_font2.notdef-outline.4E08,4E09.otf | Bin 1732 -> 1732 bytes + .../cmap14/cmap14_font2.notdef-outline.4E08.otf | Bin 1400 -> 1400 bytes + ...4_font2.notdef-outline.retain-all-codepoint.otf | Bin 2360 -> 2360 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1344 -> 1344 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1520 -> 1520 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 888 -> 888 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1860 -> 1860 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1332 -> 1332 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1508 -> 1508 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1340 -> 1340 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1520 -> 1520 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 868 -> 868 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1844 -> 1844 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1328 -> 1328 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1508 -> 1508 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1324 -> 1324 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1500 -> 1500 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 868 -> 868 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1840 -> 1840 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1312 -> 1312 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1488 -> 1488 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1360 -> 1360 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1540 -> 1540 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 888 -> 888 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1864 -> 1864 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1348 -> 1348 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1528 -> 1528 bytes + .../colr_with_components/colr-table.default.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../colr-table.drop-hints.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3004 -> 3004 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2632 -> 2632 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 2960 -> 2960 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1556 -> 1556 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1372 -> 1372 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1584 -> 1584 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3888 -> 3888 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3784 -> 3784 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4324 -> 4324 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3876 -> 3876 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3784 -> 3784 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4324 -> 4324 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 2340 -> 2340 bytes + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 1988 -> 1988 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2616 -> 2616 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2848 -> 2848 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2248 -> 2248 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3144 -> 3144 bytes + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1944 -> 1944 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 1612 -> 1612 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 1260 -> 1260 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1888 -> 1888 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2120 -> 2120 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1520 -> 1520 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2416 -> 2416 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1216 -> 1216 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 2340 -> 2340 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 1988 -> 1988 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2616 -> 2616 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2848 -> 2848 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2248 -> 2248 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3144 -> 3144 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1944 -> 1944 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2016 -> 2016 bytes + ...ubrules_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 1912 bytes + ...ubrules_f1.notdef-outline-retain-gids.41,43.otf | Bin 2020 -> 2020 bytes + ...e_subrules_f1.notdef-outline-retain-gids.41.otf | Bin 1896 -> 1896 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 1304 bytes + ...1_multiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 1204 bytes + ...1_multiple_subrules_f1.notdef-outline.41,43.otf | Bin 1300 -> 1300 bytes + ...ext1_multiple_subrules_f1.notdef-outline.41.otf | Bin 1192 -> 1192 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2016 -> 2016 bytes + ...ubrules_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 1912 bytes + ...ubrules_f1.notdef-outline-retain-gids.41,43.otf | Bin 2020 -> 2020 bytes + ...e_subrules_f1.notdef-outline-retain-gids.41.otf | Bin 1896 -> 1896 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 1304 bytes + ...2_multiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 1204 bytes + ...2_multiple_subrules_f1.notdef-outline.41,43.otf | Bin 1300 -> 1300 bytes + ...ext2_multiple_subrules_f1.notdef-outline.41.otf | Bin 1192 -> 1192 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...mple_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 1996 bytes + ..._simple_f1.notdef-outline-retain-gids.41,42.otf | Bin 1892 -> 1892 bytes + ..._simple_f1.notdef-outline-retain-gids.41,43.otf | Bin 2000 -> 2000 bytes + ...xt3_simple_f1.notdef-outline-retain-gids.41.otf | Bin 1876 -> 1876 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 3856 bytes + ..._context3_simple_f1.notdef-outline.41,42,43.otf | Bin 1284 -> 1284 bytes + ...pos_context3_simple_f1.notdef-outline.41,42.otf | Bin 1184 -> 1184 bytes + ...pos_context3_simple_f1.notdef-outline.41,43.otf | Bin 1280 -> 1280 bytes + .../gpos_context3_simple_f1.notdef-outline.41.otf | Bin 1172 -> 1172 bytes + ...mple_f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 3856 bytes + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4172 -> 4172 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4748 -> 4748 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4720 -> 4720 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 1032 -> 1032 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1340 -> 1340 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1340 -> 1340 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29468 -> 29468 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4172 -> 4172 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4748 -> 4748 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4720 -> 4720 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + ...otype.notdef-outline-drop-hints.41,42,43,57.otf | Bin 5272 -> 5272 bytes + ...rototype.notdef-outline-drop-hints.41,42,43.otf | Bin 4740 -> 4740 bytes + ...VFPrototype.notdef-outline-drop-hints.41,42.otf | Bin 4264 -> 4264 bytes + ...rototype.notdef-outline-drop-hints.41,56,57.otf | Bin 4408 -> 4408 bytes + ...obeVFPrototype.notdef-outline-drop-hints.41.otf | Bin 3560 -> 3560 bytes + ...VFPrototype.notdef-outline-drop-hints.42,57.otf | Bin 4396 -> 4396 bytes + ...AdobeVFPrototype.notdef-outline.41,42,43,57.otf | Bin 5460 -> 5460 bytes + .../AdobeVFPrototype.notdef-outline.41,42,43.otf | Bin 4928 -> 4928 bytes + .../AdobeVFPrototype.notdef-outline.41,42.otf | Bin 4448 -> 4448 bytes + .../AdobeVFPrototype.notdef-outline.41,56,57.otf | Bin 4596 -> 4596 bytes + .../AdobeVFPrototype.notdef-outline.41.otf | Bin 3748 -> 3748 bytes + .../AdobeVFPrototype.notdef-outline.42,57.otf | Bin 4580 -> 4580 bytes + .../Roboto-Regular.default.1E00,303.ttf | Bin 2472 -> 2472 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2148 -> 2148 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 1968 -> 1968 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2532 -> 2532 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1328 -> 1328 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1072 -> 1072 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1108 -> 1108 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1016 -> 1016 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1348 -> 1348 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2472 -> 2472 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2148 -> 2148 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 1968 -> 1968 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2532 -> 2532 bytes + ...os1_2_font.notdef-outline-retain-gids.41,43.otf | Bin 1980 -> 1980 bytes + ...os1_2_font.notdef-outline-retain-gids.41,46.otf | Bin 2140 -> 2140 bytes + .../gpos1_2_font.notdef-outline-retain-gids.41.otf | Bin 1856 -> 1856 bytes + ...os1_2_font.notdef-outline-retain-gids.42,44.otf | Bin 1964 -> 1964 bytes + ...os1_2_font.notdef-outline-retain-gids.43,46.otf | Bin 2004 -> 2004 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + .../gpos1_2_font.notdef-outline.41,43.otf | Bin 1260 -> 1260 bytes + .../gpos1_2_font.notdef-outline.41,46.otf | Bin 1388 -> 1388 bytes + .../layout.gpos/gpos1_2_font.notdef-outline.41.otf | Bin 1152 -> 1152 bytes + .../gpos1_2_font.notdef-outline.42,44.otf | Bin 1232 -> 1232 bytes + .../gpos1_2_font.notdef-outline.43,46.otf | Bin 1252 -> 1252 bytes + ..._2_font.notdef-outline.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + ...1_font7.notdef-outline-retain-gids.21,23,25.otf | Bin 1656 -> 1656 bytes + ...s2_1_font7.notdef-outline-retain-gids.21,23.otf | Bin 1532 -> 1532 bytes + ...s2_1_font7.notdef-outline-retain-gids.2E,23.otf | Bin 1912 -> 1912 bytes + ...1_font7.notdef-outline-retain-gids.41,42,43.otf | Bin 1976 -> 1976 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + .../gpos2_1_font7.notdef-outline.21,23,25.otf | Bin 1312 -> 1312 bytes + .../gpos2_1_font7.notdef-outline.21,23.otf | Bin 1204 -> 1204 bytes + .../gpos2_1_font7.notdef-outline.2E,23.otf | Bin 1476 -> 1476 bytes + .../gpos2_1_font7.notdef-outline.41,42,43.otf | Bin 1264 -> 1264 bytes + ...1_font7.notdef-outline.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + ...2_font5.notdef-outline-retain-gids.21,23,25.otf | Bin 1656 -> 1656 bytes + ...s2_2_font5.notdef-outline-retain-gids.21,23.otf | Bin 1532 -> 1532 bytes + ...s2_2_font5.notdef-outline-retain-gids.2E,23.otf | Bin 1912 -> 1912 bytes + ...2_font5.notdef-outline-retain-gids.41,42,43.otf | Bin 1976 -> 1976 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + .../gpos2_2_font5.notdef-outline.21,23,25.otf | Bin 1312 -> 1312 bytes + .../gpos2_2_font5.notdef-outline.21,23.otf | Bin 1204 -> 1204 bytes + .../gpos2_2_font5.notdef-outline.2E,23.otf | Bin 1476 -> 1476 bytes + .../gpos2_2_font5.notdef-outline.41,42,43.otf | Bin 1264 -> 1264 bytes + ...2_font5.notdef-outline.retain-all-codepoint.otf | Bin 3780 -> 3780 bytes + ...pos3_font3.notdef-outline-retain-gids.28,29.otf | Bin 1616 -> 1616 bytes + ...pos3_font3.notdef-outline-retain-gids.28,2B.otf | Bin 1752 -> 1752 bytes + ...pos3_font3.notdef-outline-retain-gids.29,2B.otf | Bin 1664 -> 1664 bytes + ...3_font3.notdef-outline-retain-gids.41,42,43.otf | Bin 1972 -> 1972 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3812 -> 3812 bytes + .../gpos3_font3.notdef-outline.28,29.otf | Bin 1224 -> 1224 bytes + .../gpos3_font3.notdef-outline.28,2B.otf | Bin 1344 -> 1344 bytes + .../gpos3_font3.notdef-outline.29,2B.otf | Bin 1256 -> 1256 bytes + .../gpos3_font3.notdef-outline.41,42,43.otf | Bin 1260 -> 1260 bytes + ...3_font3.notdef-outline.retain-all-codepoint.otf | Bin 3812 -> 3812 bytes + ...rs_1.notdef-outline-retain-gids.41,42,43,44.otf | Bin 2208 -> 2208 bytes + ...rs_1.notdef-outline-retain-gids.41,42,43,45.otf | Bin 2220 -> 2220 bytes + ...chors_1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 1996 bytes + ..._anchors_1.notdef-outline-retain-gids.41,42.otf | Bin 1892 -> 1892 bytes + ...1.notdef-outline-retain-gids.41,43,44,45,46.otf | Bin 2560 -> 2560 bytes + ...chors_1.notdef-outline-retain-gids.41,43,44.otf | Bin 2216 -> 2216 bytes + ...chors_1.notdef-outline-retain-gids.41,43,45.otf | Bin 2224 -> 2224 bytes + ..._anchors_1.notdef-outline-retain-gids.41,43.otf | Bin 2000 -> 2000 bytes + ...ple_anchors_1.notdef-outline-retain-gids.41.otf | Bin 1876 -> 1876 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3844 -> 3844 bytes + ...ltiple_anchors_1.notdef-outline.41,42,43,44.otf | Bin 1492 -> 1492 bytes + ...ltiple_anchors_1.notdef-outline.41,42,43,45.otf | Bin 1488 -> 1488 bytes + ..._multiple_anchors_1.notdef-outline.41,42,43.otf | Bin 1284 -> 1284 bytes + ...os4_multiple_anchors_1.notdef-outline.41,42.otf | Bin 1184 -> 1184 bytes + ...ple_anchors_1.notdef-outline.41,43,44,45,46.otf | Bin 1832 -> 1832 bytes + ..._multiple_anchors_1.notdef-outline.41,43,44.otf | Bin 1492 -> 1492 bytes + ..._multiple_anchors_1.notdef-outline.41,43,45.otf | Bin 1488 -> 1488 bytes + ...os4_multiple_anchors_1.notdef-outline.41,43.otf | Bin 1280 -> 1280 bytes + .../gpos4_multiple_anchors_1.notdef-outline.41.otf | Bin 1172 -> 1172 bytes + ...chors_1.notdef-outline.retain-all-codepoint.otf | Bin 3844 -> 3844 bytes + ...ont1.notdef-outline-retain-gids.41,42,43,44.otf | Bin 2224 -> 2224 bytes + ...ont1.notdef-outline-retain-gids.41,42,43,45.otf | Bin 2236 -> 2236 bytes + ...5_font1.notdef-outline-retain-gids.41,42,43.otf | Bin 2012 -> 2012 bytes + ...5_font1.notdef-outline-retain-gids.41,42,44.otf | Bin 2144 -> 2144 bytes + ...5_font1.notdef-outline-retain-gids.41,42,45.otf | Bin 2144 -> 2144 bytes + ...pos5_font1.notdef-outline-retain-gids.41,42.otf | Bin 1908 -> 1908 bytes + ...pos5_font1.notdef-outline-retain-gids.41,43.otf | Bin 2016 -> 2016 bytes + .../gpos5_font1.notdef-outline-retain-gids.41.otf | Bin 1892 -> 1892 bytes + .../gpos5_font1.notdef-outline-retain-gids.42.otf | Bin 1764 -> 1764 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3860 -> 3860 bytes + .../gpos5_font1.notdef-outline.41,42,43,44.otf | Bin 1508 -> 1508 bytes + .../gpos5_font1.notdef-outline.41,42,43,45.otf | Bin 1504 -> 1504 bytes + .../gpos5_font1.notdef-outline.41,42,43.otf | Bin 1300 -> 1300 bytes + .../gpos5_font1.notdef-outline.41,42,44.otf | Bin 1420 -> 1420 bytes + .../gpos5_font1.notdef-outline.41,42,45.otf | Bin 1408 -> 1408 bytes + .../gpos5_font1.notdef-outline.41,42.otf | Bin 1200 -> 1200 bytes + .../gpos5_font1.notdef-outline.41,43.otf | Bin 1296 -> 1296 bytes + .../layout.gpos5/gpos5_font1.notdef-outline.41.otf | Bin 1188 -> 1188 bytes + .../layout.gpos5/gpos5_font1.notdef-outline.42.otf | Bin 1048 -> 1048 bytes + ...5_font1.notdef-outline.retain-all-codepoint.otf | Bin 3860 -> 3860 bytes + ...ont1.notdef-outline-retain-gids.41,42,43,44.otf | Bin 2184 -> 2184 bytes + ...ont1.notdef-outline-retain-gids.41,42,43,45.otf | Bin 2196 -> 2196 bytes + ...6_font1.notdef-outline-retain-gids.41,42,43.otf | Bin 1972 -> 1972 bytes + ...pos6_font1.notdef-outline-retain-gids.41,42.otf | Bin 1868 -> 1868 bytes + ...1.notdef-outline-retain-gids.41,43,44,45,46.otf | Bin 2536 -> 2536 bytes + ...6_font1.notdef-outline-retain-gids.41,43,44.otf | Bin 2192 -> 2192 bytes + ...6_font1.notdef-outline-retain-gids.41,43,45.otf | Bin 2200 -> 2200 bytes + ...pos6_font1.notdef-outline-retain-gids.41,43.otf | Bin 1976 -> 1976 bytes + .../gpos6_font1.notdef-outline-retain-gids.41.otf | Bin 1852 -> 1852 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3820 -> 3820 bytes + .../gpos6_font1.notdef-outline.41,42,43,44.otf | Bin 1468 -> 1468 bytes + .../gpos6_font1.notdef-outline.41,42,43,45.otf | Bin 1464 -> 1464 bytes + .../gpos6_font1.notdef-outline.41,42,43.otf | Bin 1260 -> 1260 bytes + .../gpos6_font1.notdef-outline.41,42.otf | Bin 1160 -> 1160 bytes + .../gpos6_font1.notdef-outline.41,43,44,45,46.otf | Bin 1808 -> 1808 bytes + .../gpos6_font1.notdef-outline.41,43,44.otf | Bin 1468 -> 1468 bytes + .../gpos6_font1.notdef-outline.41,43,45.otf | Bin 1464 -> 1464 bytes + .../gpos6_font1.notdef-outline.41,43.otf | Bin 1256 -> 1256 bytes + .../layout.gpos6/gpos6_font1.notdef-outline.41.otf | Bin 1148 -> 1148 bytes + ...6_font1.notdef-outline.retain-all-codepoint.otf | Bin 3820 -> 3820 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12592 -> 12592 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 9924 -> 9924 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4112 -> 4112 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9424 -> 9424 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7256 -> 7256 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 47920 -> 47920 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42572 -> 42572 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36640 -> 36640 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45816 -> 45816 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 37920 -> 37920 bytes + ...s_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 2292 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2020 -> 2020 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3880 -> 3880 bytes + ...iple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 1820 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1308 -> 1308 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3880 -> 3880 bytes + ...s_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 2292 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2020 -> 2020 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3880 -> 3880 bytes + ...iple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 1820 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1308 -> 1308 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3880 -> 3880 bytes + ...e_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2268 -> 2268 bytes + ...mple_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 1996 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 3856 bytes + ...ining3_simple_f1.notdef-outline.30,31,32,33.otf | Bin 1796 -> 1796 bytes + ...chaining3_simple_f1.notdef-outline.41,42,43.otf | Bin 1284 -> 1284 bytes + ...mple_f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 3856 bytes + ...pos9_font2.notdef-outline-retain-gids.41,42.otf | Bin 1868 -> 1868 bytes + .../gpos9_font2.notdef-outline-retain-gids.41.otf | Bin 1852 -> 1852 bytes + .../gpos9_font2.notdef-outline-retain-gids.42.otf | Bin 1724 -> 1724 bytes + .../gpos9_font2.notdef-outline.41,42.otf | Bin 1160 -> 1160 bytes + .../layout.gpos9/gpos9_font2.notdef-outline.41.otf | Bin 1148 -> 1148 bytes + .../layout.gpos9/gpos9_font2.notdef-outline.42.otf | Bin 1008 -> 1008 bytes + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 4316 -> 4316 bytes + .../gsub_alternate_substitution.default.53A9.otf | Bin 3884 -> 3884 bytes + .../gsub_alternate_substitution.default.53F1.otf | Bin 2440 -> 2440 bytes + ...e_substitution.default.retain-all-codepoint.otf | Bin 5984 -> 5984 bytes + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 4440 -> 4440 bytes + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 4036 -> 4036 bytes + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 2632 -> 2632 bytes + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 6076 -> 6076 bytes + ...ules_f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 2028 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 1924 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,43.otf | Bin 2032 -> 2032 bytes + ...e_subrules_f2.notdef-outline-retain-gids.41.otf | Bin 1908 -> 1908 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 3888 bytes + ...ultiple_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 1316 bytes + ...1_multiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 1216 bytes + ...1_multiple_subrules_f2.notdef-outline.41,43.otf | Bin 1312 -> 1312 bytes + ...ext1_multiple_subrules_f2.notdef-outline.41.otf | Bin 1204 -> 1204 bytes + ...ules_f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 3888 bytes + ...ules_f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 2028 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 1924 bytes + ...ubrules_f2.notdef-outline-retain-gids.41,43.otf | Bin 2032 -> 2032 bytes + ...e_subrules_f2.notdef-outline-retain-gids.41.otf | Bin 1908 -> 1908 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 3888 bytes + ...ultiple_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 1316 bytes + ...2_multiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 1216 bytes + ...2_multiple_subrules_f2.notdef-outline.41,43.otf | Bin 1312 -> 1312 bytes + ...ext2_multiple_subrules_f2.notdef-outline.41.otf | Bin 1204 -> 1204 bytes + ...ules_f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 3888 bytes + ...sive_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2016 -> 2016 bytes + ...cessive_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 1912 bytes + ...cessive_f1.notdef-outline-retain-gids.41,43.otf | Bin 2020 -> 2020 bytes + ...successive_f1.notdef-outline-retain-gids.41.otf | Bin 1896 -> 1896 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...text3_successive_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 1304 bytes + ...context3_successive_f1.notdef-outline.41,42.otf | Bin 1204 -> 1204 bytes + ...context3_successive_f1.notdef-outline.41,43.otf | Bin 1300 -> 1300 bytes + ...ub_context3_successive_f1.notdef-outline.41.otf | Bin 1192 -> 1192 bytes + ...sive_f1.notdef-outline.retain-all-codepoint.otf | Bin 3876 -> 3876 bytes + ...s_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2304 -> 2304 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2032 -> 2032 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 3892 bytes + ...iple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1832 -> 1832 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1320 -> 1320 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 3892 bytes + ...s_f1.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2304 -> 2304 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2032 -> 2032 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 3892 bytes + ...iple_subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1832 -> 1832 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 1320 -> 1320 bytes + ...ules_f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 3892 bytes + ...e_f2.notdef-outline-retain-gids.30,31,32,33.otf | Bin 2280 -> 2280 bytes + ...mple_f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2008 -> 2008 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3868 -> 3868 bytes + ...ining3_simple_f2.notdef-outline.30,31,32,33.otf | Bin 1808 -> 1808 bytes + ...chaining3_simple_f2.notdef-outline.41,42,43.otf | Bin 1296 -> 1296 bytes + ...mple_f2.notdef-outline.retain-all-codepoint.otf | Bin 3868 -> 3868 bytes + ...line-retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 2916 -> 2916 bytes + ...ef-outline-retain-gids.41,42,43,44,45,46,47.otf | Bin 2624 -> 2624 bytes + ...ef-outline-retain-gids.41,42,43,44,45,46,4D.otf | Bin 2668 -> 2668 bytes + ...ef-outline-retain-gids.41,42,43,44,45,46,51.otf | Bin 2792 -> 2792 bytes + ...otdef-outline-retain-gids.41,42,43,44,45,46.otf | Bin 2564 -> 2564 bytes + ...created.notdef-outline-retain-gids.41,42,43.otf | Bin 2008 -> 2008 bytes + ...ually_created.notdef-outline-retain-gids.41.otf | Bin 1888 -> 1888 bytes + ...ually_created.notdef-outline-retain-gids.61.otf | Bin 2292 -> 2292 bytes + ...ef-outline-retain-gids.retain-all-codepoint.otf | Bin 3868 -> 3868 bytes + ...d.notdef-outline.41,42,43,44,45,46,47,48,49.otf | Bin 2188 -> 2188 bytes + ...created.notdef-outline.41,42,43,44,45,46,47.otf | Bin 1904 -> 1904 bytes + ...created.notdef-outline.41,42,43,44,45,46,4D.otf | Bin 1868 -> 1868 bytes + ...created.notdef-outline.41,42,43,44,45,46,51.otf | Bin 1948 -> 1948 bytes + ...ly_created.notdef-outline.41,42,43,44,45,46.otf | Bin 1844 -> 1844 bytes + ...b8_manually_created.notdef-outline.41,42,43.otf | Bin 1296 -> 1296 bytes + .../gsub8_manually_created.notdef-outline.41.otf | Bin 1184 -> 1184 bytes + .../gsub8_manually_created.notdef-outline.61.otf | Bin 1236 -> 1236 bytes + ...created.notdef-outline.retain-all-codepoint.otf | Bin 3868 -> 3868 bytes + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 4200 -> 4200 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 6408 -> 6408 bytes + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 4136 -> 4136 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 4460 -> 4460 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 7844 -> 7844 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 4252 -> 4252 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11388 -> 11388 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17688 -> 17688 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3520 -> 3520 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12380 -> 12380 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19380 -> 19380 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18224 -> 18224 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23748 -> 23748 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9164 -> 9164 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18184 -> 18184 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25432 -> 25432 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 2424 -> 2424 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2232 -> 2232 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2044 -> 2044 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2348 -> 2348 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 2676 -> 2676 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 2496 -> 2496 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 2296 -> 2296 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 2344 -> 2344 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 6436 -> 6436 bytes + .../data/expected/sbix/sbix.default.58,59.ttf | Bin 193528 -> 193528 bytes + test/subset/data/expected/sbix/sbix.default.58.ttf | Bin 121168 -> 121168 bytes + test/subset/data/expected/sbix/sbix.default.59.ttf | Bin 89364 -> 89364 bytes + .../sbix/sbix.drop-hints-retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../sbix/sbix.drop-hints-retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../sbix/sbix.drop-hints-retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../data/expected/sbix/sbix.drop-hints.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.drop-hints.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.drop-hints.59.ttf | Bin 89364 -> 89364 bytes + .../data/expected/sbix/sbix.retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15856 -> 15856 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 4232 -> 4232 bytes + 942 files changed, 21 insertions(+), 32 deletions(-) + +commit dea0fe5717a0ce72484bf6b827f5a871f816d4a2 +Author: Garret Rieger +Date: Wed Aug 4 16:36:20 2021 -0700 + + [subset] discard extra copies of a table in face builder. + + Fixes #2361. Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder. + + src/hb-face.cc | 44 +++++++++++++-------- + src/hb-open-file.hh | 23 ++++++----- + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 6692 -> 6692 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6328 -> 6328 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6200 -> 6200 bytes + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6256 -> 6256 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 4608 -> 4608 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4312 -> 4312 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 3724 -> 3724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 3900 -> 3900 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 3972 -> 3972 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 191632 -> 191632 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 2600 -> 2600 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2296 -> 2296 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 1976 -> 1976 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 1900 -> 1900 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 1968 -> 1968 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 191584 -> 191584 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 7988 -> 7988 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 7628 -> 7628 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7256 -> 7256 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7184 -> 7184 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7180 -> 7180 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 7072 -> 7072 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 6700 -> 6700 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 6336 -> 6336 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 6208 -> 6208 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 6264 -> 6264 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 229748 -> 229748 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 7508 -> 7508 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 7144 -> 7144 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 6776 -> 6776 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 6200 -> 6200 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 223452 -> 223452 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 220948 -> 220948 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 6800 -> 6800 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 6432 -> 6432 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6068 -> 6068 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 5940 -> 5940 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 5996 -> 5996 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 222496 -> 222496 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6256 -> 6256 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6256 -> 6256 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...egular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 6692 -> 6692 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 6328 -> 6328 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 6200 -> 6200 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 6256 -> 6256 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 222756 -> 222756 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 7652 -> 7652 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 7284 -> 7284 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 6920 -> 6920 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 6796 -> 6796 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 6844 -> 6844 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 223352 -> 223352 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9068 -> 9068 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 8708 -> 8708 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8076 -> 8076 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8200 -> 8200 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8260 -> 8260 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222804 -> 222804 bytes + ...numMyeongjo-Regular-subset.default.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.default.61,63.ttf | Bin 3580 -> 3580 bytes + .../NanumMyeongjo-Regular-subset.default.61.ttf | Bin 3156 -> 3156 bytes + .../NanumMyeongjo-Regular-subset.default.62.ttf | Bin 3180 -> 3180 bytes + .../NanumMyeongjo-Regular-subset.default.63.ttf | Bin 3048 -> 3048 bytes + ...Regular-subset.default.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ular-subset.drop-hints-retain-gids.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...Regular-subset.drop-hints-retain-gids.61,63.ttf | Bin 1284 -> 1284 bytes + ...jo-Regular-subset.drop-hints-retain-gids.61.ttf | Bin 1128 -> 1128 bytes + ...jo-Regular-subset.drop-hints-retain-gids.62.ttf | Bin 1144 -> 1144 bytes + ...jo-Regular-subset.drop-hints-retain-gids.63.ttf | Bin 1116 -> 1116 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttf | Bin 1276 -> 1276 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 1128 -> 1128 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 1140 -> 1140 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 1104 -> 1104 bytes + ...ular-subset.drop-hints.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 4128 -> 4128 bytes + ...jo-Regular-subset.gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...subset.layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 3924 -> 3924 bytes + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttf | Bin 3376 -> 3376 bytes + .../NanumMyeongjo-Regular-subset.name-ids.61.ttf | Bin 2952 -> 2952 bytes + .../NanumMyeongjo-Regular-subset.name-ids.62.ttf | Bin 2976 -> 2976 bytes + .../NanumMyeongjo-Regular-subset.name-ids.63.ttf | Bin 2844 -> 2844 bytes + ...egular-subset.name-ids.retain-all-codepoint.ttf | Bin 9320 -> 9320 bytes + ...ngjo-Regular-subset.name-languages.61,62,63.ttf | Bin 4172 -> 4172 bytes + ...yeongjo-Regular-subset.name-languages.61,63.ttf | Bin 3624 -> 3624 bytes + ...umMyeongjo-Regular-subset.name-languages.61.ttf | Bin 3200 -> 3200 bytes + ...umMyeongjo-Regular-subset.name-languages.62.ttf | Bin 3224 -> 3224 bytes + ...umMyeongjo-Regular-subset.name-languages.63.ttf | Bin 3092 -> 3092 bytes + ...-subset.name-languages.retain-all-codepoint.ttf | Bin 9568 -> 9568 bytes + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.name-legacy.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...egular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 3580 -> 3580 bytes + ...o-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 3156 -> 3156 bytes + ...o-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 3180 -> 3180 bytes + ...o-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 3048 -> 3048 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 3580 -> 3580 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 3156 -> 3156 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 3180 -> 3180 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 3048 -> 3048 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttf | Bin 3588 -> 3588 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttf | Bin 3184 -> 3184 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttf | Bin 3060 -> 3060 bytes + ...lar-subset.retain-gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1932 -> 1932 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1152 -> 1152 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1072 -> 1072 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 944 -> 944 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 840 -> 840 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 928 -> 928 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1152 -> 1152 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1152 -> 1152 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1056 -> 1056 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 944 -> 944 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 836 -> 836 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 916 -> 916 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1152 -> 1152 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2412 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2412 -> 2412 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 1932 -> 1932 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 2412 -> 2412 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 2208 -> 2208 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 2008 -> 2008 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 1876 -> 1876 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 1932 -> 1932 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 1932 -> 1932 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1932 -> 1932 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1932 -> 1932 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 2208 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1876 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1932 -> 1932 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 2412 -> 2412 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 2208 -> 2208 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 2008 -> 2008 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 1876 -> 1876 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 1932 -> 1932 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 2208 -> 2208 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 2008 -> 2008 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 1876 -> 1876 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 1932 -> 1932 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2412 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 2224 -> 2224 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 2008 -> 2008 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1884 -> 1884 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1948 -> 1948 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2412 -> 2412 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1208 -> 1208 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 1264 -> 1264 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 1216 -> 1216 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 1204 -> 1204 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 1184 -> 1184 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1424 -> 1424 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 8232 -> 8232 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 8104 -> 8104 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 8172 -> 8172 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 8156 -> 8156 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1036 -> 1036 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 1092 -> 1092 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 1044 -> 1044 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 1032 -> 1032 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 956 -> 956 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 964 -> 964 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 952 -> 952 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 932 -> 932 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1596 -> 1596 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 8404 -> 8404 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 8276 -> 8276 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 8344 -> 8344 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 8328 -> 8328 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1344 -> 1344 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1520 -> 1520 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 888 -> 888 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1860 -> 1860 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1332 -> 1332 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1508 -> 1508 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1340 -> 1340 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1520 -> 1520 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 868 -> 868 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1844 -> 1844 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1328 -> 1328 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1508 -> 1508 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1848 -> 1848 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1324 -> 1324 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1500 -> 1500 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 868 -> 868 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1840 -> 1840 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1312 -> 1312 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1488 -> 1488 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1868 -> 1868 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1360 -> 1360 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1540 -> 1540 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 888 -> 888 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1864 -> 1864 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1348 -> 1348 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1528 -> 1528 bytes + .../colr_with_components/colr-table.default.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../colr-table.drop-hints.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3004 -> 3004 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2632 -> 2632 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 2960 -> 2960 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1556 -> 1556 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1372 -> 1372 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1584 -> 1584 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3888 -> 3888 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3784 -> 3784 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4324 -> 4324 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3876 -> 3876 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3784 -> 3784 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4324 -> 4324 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 2340 -> 2340 bytes + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 1988 -> 1988 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2616 -> 2616 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2848 -> 2848 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2248 -> 2248 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3144 -> 3144 bytes + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1944 -> 1944 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 1612 -> 1612 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 1260 -> 1260 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1888 -> 1888 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2120 -> 2120 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1520 -> 1520 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2416 -> 2416 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1216 -> 1216 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 2340 -> 2340 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 1988 -> 1988 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2616 -> 2616 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2848 -> 2848 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2248 -> 2248 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3144 -> 3144 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1944 -> 1944 bytes + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4172 -> 4172 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4748 -> 4748 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4720 -> 4720 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 1032 -> 1032 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1340 -> 1340 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1340 -> 1340 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29468 -> 29468 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4172 -> 4172 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4748 -> 4748 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4720 -> 4720 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49248 -> 49248 bytes + .../Roboto-Regular.default.1E00,303.ttf | Bin 2472 -> 2472 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2148 -> 2148 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 1968 -> 1968 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2532 -> 2532 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1328 -> 1328 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1072 -> 1072 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1108 -> 1108 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1016 -> 1016 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1348 -> 1348 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2472 -> 2472 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2148 -> 2148 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 1968 -> 1968 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2532 -> 2532 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12592 -> 12592 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 9924 -> 9924 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4112 -> 4112 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9424 -> 9424 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7256 -> 7256 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 47920 -> 47920 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42572 -> 42572 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36640 -> 36640 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45816 -> 45816 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 37920 -> 37920 bytes + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 4200 -> 4200 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 6408 -> 6408 bytes + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 4136 -> 4136 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 4460 -> 4460 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 7844 -> 7844 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 4252 -> 4252 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11388 -> 11388 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 17688 -> 17688 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3520 -> 3520 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12380 -> 12380 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 19380 -> 19380 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18224 -> 18224 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 23748 -> 23748 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9164 -> 9164 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18184 -> 18184 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 25432 -> 25432 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 2424 -> 2424 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2232 -> 2232 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2044 -> 2044 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2076 -> 2076 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2348 -> 2348 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 2676 -> 2676 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 2496 -> 2496 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 2296 -> 2296 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 2344 -> 2344 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 6436 -> 6436 bytes + .../data/expected/sbix/sbix.default.58,59.ttf | Bin 193528 -> 193528 bytes + test/subset/data/expected/sbix/sbix.default.58.ttf | Bin 121168 -> 121168 bytes + test/subset/data/expected/sbix/sbix.default.59.ttf | Bin 89364 -> 89364 bytes + .../sbix/sbix.drop-hints-retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../sbix/sbix.drop-hints-retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../sbix/sbix.drop-hints-retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../data/expected/sbix/sbix.drop-hints.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.drop-hints.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.drop-hints.59.ttf | Bin 89364 -> 89364 bytes + .../data/expected/sbix/sbix.retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15856 -> 15856 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 4232 -> 4232 bytes + 403 files changed, 41 insertions(+), 26 deletions(-) + +commit 368e9578873798e2d17ed78a0474dec7d4e9d6c0 +Author: Behdad Esfahbod +Date: Thu Aug 5 10:16:13 2021 -0600 + + [ot-shape] Add comment re `vert` feature + + src/hb-ot-shape.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 2c024dc3cba60eee67fb004e3258cd8e47bd9593 +Author: Garret Rieger +Date: Wed Aug 4 11:38:38 2021 -0700 + + [subset] prune redundant cmap12 subtables. + + If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools. + + src/hb-ot-cmap-table.hh | 96 ++++++++++++++++++++- + test/api/fonts/Roboto-Regular.D7,D8,D9,DA,DE.ttf | Bin 2532 -> 2472 bytes + test/api/fonts/Roboto-Regular.abc.ttf | Bin 2168 -> 2132 bytes + test/api/fonts/Roboto-Regular.ac.ttf | Bin 1988 -> 1940 bytes + test/subset/data/Makefile.am | 6 +- + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 2256 -> 2208 bytes + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 2044 -> 2008 bytes + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1912 -> 1876 bytes + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1968 -> 1932 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1188 -> 1152 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1120 -> 1072 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 980 -> 944 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 876 -> 840 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 964 -> 928 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1188 -> 1152 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1188 -> 1152 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1104 -> 1056 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 980 -> 944 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 872 -> 836 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 952 -> 916 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1188 -> 1152 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2448 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2448 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2448 -> 2412 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2448 -> 2412 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 2256 -> 2208 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 2044 -> 2008 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 1912 -> 1876 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 1968 -> 1932 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 2448 -> 2412 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 2256 -> 2208 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 2044 -> 2008 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 1912 -> 1876 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 1968 -> 1932 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 2256 -> 2208 bytes + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 2044 -> 2008 bytes + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 1912 -> 1876 bytes + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 1968 -> 1932 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 2256 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 2044 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1912 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1968 -> 1932 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 2256 -> 2208 bytes + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 2044 -> 2008 bytes + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1912 -> 1876 bytes + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1968 -> 1932 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 2256 -> 2208 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 2044 -> 2008 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1912 -> 1876 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1968 -> 1932 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 2448 -> 2412 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 2256 -> 2208 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 2044 -> 2008 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 1912 -> 1876 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 1968 -> 1932 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 2256 -> 2208 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 2044 -> 2008 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 1912 -> 1876 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 1968 -> 1932 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2448 -> 2412 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 2272 -> 2224 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 2044 -> 2008 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1920 -> 1884 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1984 -> 1948 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2448 -> 2412 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 2004 -> 0 bytes + ...ubroutinize-retain-gids.1FC,21,41,20,62,63.otf} | Bin 20220 -> 20128 bytes + ...utline-desubroutinize-retain-gids.61,62,63.otf} | Bin 2324 -> 2280 bytes + ...-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf} | Bin 30528 -> 30448 bytes + ...-outline-desubroutinize.1FC,21,41,20,62,63.otf} | Bin 2448 -> 2356 bytes + ...lar.notdef-outline-desubroutinize.61,62,63.otf} | Bin 2128 -> 2084 bytes + ...tdef-outline-desubroutinize.D7,D8,D9,DA,DE.otf} | Bin 2320 -> 2252 bytes + ...ubroutinize-retain-gids.1FC,21,41,20,62,63.otf} | Bin 20052 -> 19960 bytes + ...-hints-desubroutinize-retain-gids.61,62,63.otf} | Bin 2200 -> 2156 bytes + ...-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf} | Bin 30360 -> 30280 bytes + ...op-hints-desubroutinize.1FC,21,41,20,62,63.otf} | Bin 2276 -> 2184 bytes + ...-outline-drop-hints-desubroutinize.61,62,63.otf | Bin 0 -> 1960 bytes + ...e-drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf} | Bin 2156 -> 2088 bytes + ...-drop-hints-retain-gids.1FC,21,41,20,62,63.otf} | Bin 20144 -> 20052 bytes + ...ef-outline-drop-hints-retain-gids.61,62,63.otf} | Bin 2240 -> 2196 bytes + ...line-drop-hints-retain-gids.D7,D8,D9,DA,DE.otf} | Bin 30376 -> 30296 bytes + ...tdef-outline-drop-hints.1FC,21,41,20,62,63.otf} | Bin 2360 -> 2268 bytes + ...Regular.notdef-outline-drop-hints.61,62,63.otf} | Bin 2072 -> 2028 bytes + ...r.notdef-outline-drop-hints.D7,D8,D9,DA,DE.otf} | Bin 2172 -> 2104 bytes + ...def-outline-retain-gids.1FC,21,41,20,62,63.otf} | Bin 20376 -> 20284 bytes + ...egular.notdef-outline-retain-gids.61,62,63.otf} | Bin 2392 -> 2348 bytes + ....notdef-outline-retain-gids.D7,D8,D9,DA,DE.otf} | Bin 30544 -> 30464 bytes + ...-Regular.notdef-outline.1FC,21,41,20,62,63.otf} | Bin 2592 -> 2500 bytes + ...rceSansPro-Regular.notdef-outline.61,62,63.otf} | Bin 2224 -> 2180 bytes + ...sPro-Regular.notdef-outline.D7,D8,D9,DA,DE.otf} | Bin 2340 -> 2272 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 4912 -> 4820 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6300 -> 6196 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 2620 -> 2540 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6744 -> 6640 bytes + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 2488 -> 2444 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129912 -> 129820 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130944 -> 130840 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3444 -> 3364 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122060 -> 121956 bytes + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 50788 -> 50744 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4748 -> 4656 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5944 -> 5840 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 2552 -> 2472 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6236 -> 6132 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 2472 -> 2428 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129468 -> 129376 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130324 -> 130220 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3324 -> 3244 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121284 -> 121180 bytes + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 50560 -> 50516 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4440 -> 4348 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5428 -> 5324 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 2448 -> 2368 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 5560 -> 5456 bytes + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 2336 -> 2292 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129608 -> 129516 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130632 -> 130528 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 3288 -> 3208 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121784 -> 121680 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 50576 -> 50532 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 4576 -> 4484 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5732 -> 5628 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 2480 -> 2400 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6056 -> 5952 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 2348 -> 2304 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 130072 -> 129980 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 131300 -> 131196 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 3444 -> 3364 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122564 -> 122460 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 50804 -> 50760 bytes + ...039,1005,100A,103A,1038,1010,103D,1031,104A.otf | Bin 7724 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1252 -> 1208 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1468 -> 1424 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1080 -> 1036 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 1000 -> 956 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1640 -> 1596 bytes + ...line-drop-hints-retain-gids.4E00,4E02,4E03.otf} | Bin + ...f-outline-drop-hints-retain-gids.4E00,4E03.otf} | Bin + ...line-drop-hints-retain-gids.4E00,4E05,4E07.otf} | Bin + ...line-drop-hints-retain-gids.4E02,4E03,4E08.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E02.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E03.otf} | Bin + ...drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...f-outline-drop-hints-retain-gids.4E08,4E09.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E08.otf} | Bin + ...rop-hints-retain-gids.retain-all-codepoint.otf} | Bin + ...1.notdef-outline-drop-hints.4E00,4E02,4E03.otf} | Bin + ..._font1.notdef-outline-drop-hints.4E00,4E03.otf} | Bin + ...1.notdef-outline-drop-hints.4E00,4E05,4E07.otf} | Bin + ...1.notdef-outline-drop-hints.4E02,4E03,4E08.otf} | Bin + ...map14_font1.notdef-outline-drop-hints.4E02.otf} | Bin + ...map14_font1.notdef-outline-drop-hints.4E03.otf} | Bin + ...def-outline-drop-hints.4E05,4E07,4E08,4E09.otf} | Bin + ..._font1.notdef-outline-drop-hints.4E08,4E09.otf} | Bin + ...map14_font1.notdef-outline-drop-hints.4E08.otf} | Bin + ...ef-outline-drop-hints.retain-all-codepoint.otf} | Bin + ...4_font1.notdef-outline-gids.4E00,4E02,4E03.otf} | Bin + ...cmap14_font1.notdef-outline-gids.4E00,4E03.otf} | Bin + ...4_font1.notdef-outline-gids.4E00,4E05,4E07.otf} | Bin + ...4_font1.notdef-outline-gids.4E02,4E03,4E08.otf} | Bin + ...f => cmap14_font1.notdef-outline-gids.4E02.otf} | Bin + ...f => cmap14_font1.notdef-outline-gids.4E03.otf} | Bin + ...t1.notdef-outline-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...cmap14_font1.notdef-outline-gids.4E08,4E09.otf} | Bin + ...f => cmap14_font1.notdef-outline-gids.4E08.otf} | Bin + ...1.notdef-outline-gids.retain-all-codepoint.otf} | Bin + ...nt1.notdef-outline-name-ids.4E00,4E02,4E03.otf} | Bin + ...14_font1.notdef-outline-name-ids.4E00,4E03.otf} | Bin + ...nt1.notdef-outline-name-ids.4E00,4E05,4E07.otf} | Bin + ...nt1.notdef-outline-name-ids.4E02,4E03,4E08.otf} | Bin + ... cmap14_font1.notdef-outline-name-ids.4E02.otf} | Bin + ... cmap14_font1.notdef-outline-name-ids.4E03.otf} | Bin + ...otdef-outline-name-ids.4E05,4E07,4E08,4E09.otf} | Bin + ...14_font1.notdef-outline-name-ids.4E08,4E09.otf} | Bin + ... cmap14_font1.notdef-outline-name-ids.4E08.otf} | Bin + ...tdef-outline-name-ids.retain-all-codepoint.otf} | Bin + ....notdef-outline-retain-gids.4E00,4E02,4E03.otf} | Bin + ...font1.notdef-outline-retain-gids.4E00,4E03.otf} | Bin + ....notdef-outline-retain-gids.4E00,4E05,4E07.otf} | Bin + ....notdef-outline-retain-gids.4E02,4E03,4E08.otf} | Bin + ...ap14_font1.notdef-outline-retain-gids.4E02.otf} | Bin + ...ap14_font1.notdef-outline-retain-gids.4E03.otf} | Bin + ...ef-outline-retain-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...font1.notdef-outline-retain-gids.4E08,4E09.otf} | Bin + ...ap14_font1.notdef-outline-retain-gids.4E08.otf} | Bin + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin + ...cmap14_font1.notdef-outline.4E00,4E02,4E03.otf} | Bin + ...f => cmap14_font1.notdef-outline.4E00,4E03.otf} | Bin + ...cmap14_font1.notdef-outline.4E00,4E05,4E07.otf} | Bin + ...cmap14_font1.notdef-outline.4E02,4E03,4E08.otf} | Bin + ...02.otf => cmap14_font1.notdef-outline.4E02.otf} | Bin + ...03.otf => cmap14_font1.notdef-outline.4E03.otf} | Bin + ...4_font1.notdef-outline.4E05,4E07,4E08,4E09.otf} | Bin + ...f => cmap14_font1.notdef-outline.4E08,4E09.otf} | Bin + ...08.otf => cmap14_font1.notdef-outline.4E08.otf} | Bin + ..._font1.notdef-outline.retain-all-codepoint.otf} | Bin + ...line-drop-hints-retain-gids.4E00,4E02,4E03.otf} | Bin + ...f-outline-drop-hints-retain-gids.4E00,4E03.otf} | Bin + ...line-drop-hints-retain-gids.4E00,4E05,4E07.otf} | Bin + ...line-drop-hints-retain-gids.4E02,4E03,4E08.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E02.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E03.otf} | Bin + ...drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...f-outline-drop-hints-retain-gids.4E08,4E09.otf} | Bin + ...notdef-outline-drop-hints-retain-gids.4E08.otf} | Bin + ...rop-hints-retain-gids.retain-all-codepoint.otf} | Bin + ...2.notdef-outline-drop-hints.4E00,4E02,4E03.otf} | Bin + ..._font2.notdef-outline-drop-hints.4E00,4E03.otf} | Bin + ...2.notdef-outline-drop-hints.4E00,4E05,4E07.otf} | Bin + ...2.notdef-outline-drop-hints.4E02,4E03,4E08.otf} | Bin + ...map14_font2.notdef-outline-drop-hints.4E02.otf} | Bin + ...map14_font2.notdef-outline-drop-hints.4E03.otf} | Bin + ...def-outline-drop-hints.4E05,4E07,4E08,4E09.otf} | Bin + ..._font2.notdef-outline-drop-hints.4E08,4E09.otf} | Bin + ...map14_font2.notdef-outline-drop-hints.4E08.otf} | Bin + ...ef-outline-drop-hints.retain-all-codepoint.otf} | Bin + ...4_font2.notdef-outline-gids.4E00,4E02,4E03.otf} | Bin + ...cmap14_font2.notdef-outline-gids.4E00,4E03.otf} | Bin + ...4_font2.notdef-outline-gids.4E00,4E05,4E07.otf} | Bin + ...4_font2.notdef-outline-gids.4E02,4E03,4E08.otf} | Bin + ...f => cmap14_font2.notdef-outline-gids.4E02.otf} | Bin + ...f => cmap14_font2.notdef-outline-gids.4E03.otf} | Bin + ...t2.notdef-outline-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...cmap14_font2.notdef-outline-gids.4E08,4E09.otf} | Bin + ...f => cmap14_font2.notdef-outline-gids.4E08.otf} | Bin + ...2.notdef-outline-gids.retain-all-codepoint.otf} | Bin + ...nt2.notdef-outline-name-ids.4E00,4E02,4E03.otf} | Bin + ...14_font2.notdef-outline-name-ids.4E00,4E03.otf} | Bin + ...nt2.notdef-outline-name-ids.4E00,4E05,4E07.otf} | Bin + ...nt2.notdef-outline-name-ids.4E02,4E03,4E08.otf} | Bin + ... cmap14_font2.notdef-outline-name-ids.4E02.otf} | Bin + ... cmap14_font2.notdef-outline-name-ids.4E03.otf} | Bin + ...otdef-outline-name-ids.4E05,4E07,4E08,4E09.otf} | Bin + ...14_font2.notdef-outline-name-ids.4E08,4E09.otf} | Bin + ... cmap14_font2.notdef-outline-name-ids.4E08.otf} | Bin + ...tdef-outline-name-ids.retain-all-codepoint.otf} | Bin + ....notdef-outline-retain-gids.4E00,4E02,4E03.otf} | Bin + ...font2.notdef-outline-retain-gids.4E00,4E03.otf} | Bin + ....notdef-outline-retain-gids.4E00,4E05,4E07.otf} | Bin + ....notdef-outline-retain-gids.4E02,4E03,4E08.otf} | Bin + ...ap14_font2.notdef-outline-retain-gids.4E02.otf} | Bin + ...ap14_font2.notdef-outline-retain-gids.4E03.otf} | Bin + ...ef-outline-retain-gids.4E05,4E07,4E08,4E09.otf} | Bin + ...font2.notdef-outline-retain-gids.4E08,4E09.otf} | Bin + ...ap14_font2.notdef-outline-retain-gids.4E08.otf} | Bin + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin + ...cmap14_font2.notdef-outline.4E00,4E02,4E03.otf} | Bin + ...f => cmap14_font2.notdef-outline.4E00,4E03.otf} | Bin + ...cmap14_font2.notdef-outline.4E00,4E05,4E07.otf} | Bin + ...cmap14_font2.notdef-outline.4E02,4E03,4E08.otf} | Bin + ...02.otf => cmap14_font2.notdef-outline.4E02.otf} | Bin + ...03.otf => cmap14_font2.notdef-outline.4E03.otf} | Bin + ...4_font2.notdef-outline.4E05,4E07,4E08,4E09.otf} | Bin + ...f => cmap14_font2.notdef-outline.4E08,4E09.otf} | Bin + ...08.otf => cmap14_font2.notdef-outline.4E08.otf} | Bin + ..._font2.notdef-outline.retain-all-codepoint.otf} | Bin + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1936 -> 1868 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1400 -> 1344 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1576 -> 1520 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 932 -> 888 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1916 -> 1860 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1376 -> 1332 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1552 -> 1508 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1916 -> 1848 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1396 -> 1340 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1576 -> 1520 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 912 -> 868 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1900 -> 1844 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1372 -> 1328 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1552 -> 1508 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1916 -> 1848 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1380 -> 1324 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1556 -> 1500 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 912 -> 868 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1896 -> 1840 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1356 -> 1312 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1532 -> 1488 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1936 -> 1868 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1416 -> 1360 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1596 -> 1540 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 932 -> 888 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1920 -> 1864 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1392 -> 1348 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1572 -> 1528 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f35e.ttf | Bin 3004 -> 0 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f696.ttf | Bin 3752 -> 0 bytes + ...Regular.subset.drop-hints-retain-gids.1f35e.ttf | Bin 3516 -> 0 bytes + ...Regular.subset.drop-hints-retain-gids.1f696.ttf | Bin 5048 -> 0 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttf | Bin 3004 -> 0 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f696.ttf | Bin 3752 -> 0 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f35e.ttf | Bin 3516 -> 0 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f696.ttf | Bin 5048 -> 0 bytes + .../colrv1/TestCOLRv1.default.E000,E004.ttf | Bin 900 -> 0 bytes + .../colrv1/TestCOLRv1.default.E003,E004.ttf | Bin 1000 -> 0 bytes + .../expected/colrv1/TestCOLRv1.default.E004.ttf | Bin 744 -> 0 bytes + .../TestCOLRv1.default.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttf | Bin 984 -> 0 bytes + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttf | Bin 1076 -> 0 bytes + .../TestCOLRv1.drop-hints-retain-gids.E004.ttf | Bin 836 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttf | Bin 900 -> 0 bytes + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttf | Bin 1000 -> 0 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttf | Bin 744 -> 0 bytes + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttf | Bin 984 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttf | Bin 1076 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E004.ttf | Bin 836 -> 0 bytes + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3076 -> 3004 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2668 -> 2632 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3020 -> 2960 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1628 -> 1556 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1408 -> 1372 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1644 -> 1584 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3960 -> 3888 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3820 -> 3784 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4384 -> 4324 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3948 -> 3876 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3820 -> 3784 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4384 -> 4324 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2700 -> 2616 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2944 -> 2848 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2320 -> 2248 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3240 -> 3144 bytes + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1980 -> 1944 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1972 -> 1888 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2216 -> 2120 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1592 -> 1520 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2512 -> 2416 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1252 -> 1216 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2700 -> 2616 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2944 -> 2848 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2320 -> 2248 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3240 -> 3144 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1980 -> 1944 bytes + ...les_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2052 -> 2016 bytes + ...brules_f1.notdef-outline-retain-gids.41,42.otf} | Bin 1948 -> 1912 bytes + ...brules_f1.notdef-outline-retain-gids.41,43.otf} | Bin 2068 -> 2020 bytes + ..._subrules_f1.notdef-outline-retain-gids.41.otf} | Bin 1932 -> 1896 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + ...ltiple_subrules_f1.notdef-outline.41,42,43.otf} | Bin 1340 -> 1304 bytes + ..._multiple_subrules_f1.notdef-outline.41,42.otf} | Bin 1240 -> 1204 bytes + ..._multiple_subrules_f1.notdef-outline.41,43.otf} | Bin 1348 -> 1300 bytes + ...xt1_multiple_subrules_f1.notdef-outline.41.otf} | Bin 1228 -> 1192 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + ...les_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2052 -> 2016 bytes + ...brules_f1.notdef-outline-retain-gids.41,42.otf} | Bin 1948 -> 1912 bytes + ...brules_f1.notdef-outline-retain-gids.41,43.otf} | Bin 2068 -> 2020 bytes + ..._subrules_f1.notdef-outline-retain-gids.41.otf} | Bin 1932 -> 1896 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + ...ltiple_subrules_f1.notdef-outline.41,42,43.otf} | Bin 1340 -> 1304 bytes + ..._multiple_subrules_f1.notdef-outline.41,42.otf} | Bin 1240 -> 1204 bytes + ..._multiple_subrules_f1.notdef-outline.41,43.otf} | Bin 1348 -> 1300 bytes + ...xt2_multiple_subrules_f1.notdef-outline.41.otf} | Bin 1228 -> 1192 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + .../gpos_context3_simple_f1.default.41,42,43.otf | Bin 1320 -> 0 bytes + ...ple_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2008 -> 1996 bytes + ...simple_f1.notdef-outline-retain-gids.41,42.otf} | Bin 1904 -> 1892 bytes + ..._simple_f1.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 2000 bytes + ...t3_simple_f1.notdef-outline-retain-gids.41.otf} | Bin 1888 -> 1876 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3892 -> 3856 bytes + ...context3_simple_f1.notdef-outline.41,42,43.otf} | Bin 1296 -> 1284 bytes + ...os_context3_simple_f1.notdef-outline.41,42.otf} | Bin 1196 -> 1184 bytes + ...os_context3_simple_f1.notdef-outline.41,43.otf} | Bin 1304 -> 1280 bytes + .../gpos_context3_simple_f1.notdef-outline.41.otf} | Bin 1184 -> 1172 bytes + ...ple_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3892 -> 3856 bytes + ...pos_context3_simple_f1.retain-gids.41,42,43.otf | Bin 2032 -> 0 bytes + .../gpos_context3_simple_f1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5460 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4928 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4448 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4596 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3748 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4580 -> 0 bytes + ...type.notdef-outline-drop-hints.41,42,43,57.otf} | Bin + ...ototype.notdef-outline-drop-hints.41,42,43.otf} | Bin + ...FPrototype.notdef-outline-drop-hints.41,42.otf} | Bin + ...ototype.notdef-outline-drop-hints.41,56,57.otf} | Bin + ...beVFPrototype.notdef-outline-drop-hints.41.otf} | Bin + ...FPrototype.notdef-outline-drop-hints.42,57.otf} | Bin + ...dobeVFPrototype.notdef-outline.41,42,43,57.otf} | Bin + ...> AdobeVFPrototype.notdef-outline.41,42,43.otf} | Bin + ...f => AdobeVFPrototype.notdef-outline.41,42.otf} | Bin + ...> AdobeVFPrototype.notdef-outline.41,56,57.otf} | Bin + ....otf => AdobeVFPrototype.notdef-outline.41.otf} | Bin + ...f => AdobeVFPrototype.notdef-outline.42,57.otf} | Bin + .../Roboto-Regular.default.1E00,303.ttf | Bin 2520 -> 2472 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2112 -> 2076 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2208 -> 2148 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 2004 -> 1968 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2568 -> 2532 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1376 -> 1328 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1108 -> 1072 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1168 -> 1108 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1052 -> 1016 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1384 -> 1348 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2520 -> 2472 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2112 -> 2076 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2208 -> 2148 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 2004 -> 1968 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2568 -> 2532 bytes + ...os1_2_font.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 1980 bytes + ...s1_2_font.notdef-outline-retain-gids.41,46.otf} | Bin 2188 -> 2140 bytes + ...gpos1_2_font.notdef-outline-retain-gids.41.otf} | Bin 1888 -> 1856 bytes + ...s1_2_font.notdef-outline-retain-gids.42,44.otf} | Bin 2012 -> 1964 bytes + ...s1_2_font.notdef-outline-retain-gids.43,46.otf} | Bin 2052 -> 2004 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + ...3.otf => gpos1_2_font.notdef-outline.41,43.otf} | Bin 1308 -> 1260 bytes + ...6.otf => gpos1_2_font.notdef-outline.41,46.otf} | Bin 1436 -> 1388 bytes + .../gpos1_2_font.notdef-outline.41.otf} | Bin 1184 -> 1152 bytes + ...4.otf => gpos1_2_font.notdef-outline.42,44.otf} | Bin 1280 -> 1232 bytes + ...6.otf => gpos1_2_font.notdef-outline.43,46.otf} | Bin 1300 -> 1252 bytes + ...2_font.notdef-outline.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,43.otf | Bin 2028 -> 0 bytes + ..._font7.notdef-outline-retain-gids.21,23,25.otf} | Bin 1716 -> 1656 bytes + ...2_1_font7.notdef-outline-retain-gids.21,23.otf} | Bin 1580 -> 1532 bytes + ...2_1_font7.notdef-outline-retain-gids.2E,23.otf} | Bin 1960 -> 1912 bytes + ..._font7.notdef-outline-retain-gids.41,42,43.otf} | Bin 2008 -> 1976 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + ...f => gpos2_1_font7.notdef-outline.21,23,25.otf} | Bin 1372 -> 1312 bytes + ....otf => gpos2_1_font7.notdef-outline.21,23.otf} | Bin 1252 -> 1204 bytes + ....otf => gpos2_1_font7.notdef-outline.2E,23.otf} | Bin 1524 -> 1476 bytes + .../gpos2_1_font7.notdef-outline.41,42,43.otf} | Bin 1296 -> 1264 bytes + ..._font7.notdef-outline.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + ..._font5.notdef-outline-retain-gids.21,23,25.otf} | Bin 1716 -> 1656 bytes + ...2_2_font5.notdef-outline-retain-gids.21,23.otf} | Bin 1580 -> 1532 bytes + ...2_2_font5.notdef-outline-retain-gids.2E,23.otf} | Bin 1960 -> 1912 bytes + ..._font5.notdef-outline-retain-gids.41,42,43.otf} | Bin 2012 -> 1976 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + ...f => gpos2_2_font5.notdef-outline.21,23,25.otf} | Bin 1372 -> 1312 bytes + ....otf => gpos2_2_font5.notdef-outline.21,23.otf} | Bin 1252 -> 1204 bytes + ....otf => gpos2_2_font5.notdef-outline.2E,23.otf} | Bin 1524 -> 1476 bytes + ...f => gpos2_2_font5.notdef-outline.41,42,43.otf} | Bin 1300 -> 1264 bytes + ..._font5.notdef-outline.retain-all-codepoint.otf} | Bin 3816 -> 3780 bytes + ...os3_font3.notdef-outline-retain-gids.28,29.otf} | Bin 1652 -> 1616 bytes + ...os3_font3.notdef-outline-retain-gids.28,2B.otf} | Bin 1800 -> 1752 bytes + ...os3_font3.notdef-outline-retain-gids.29,2B.otf} | Bin 1712 -> 1664 bytes + ..._font3.notdef-outline-retain-gids.41,42,43.otf} | Bin 2012 -> 1972 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3848 -> 3812 bytes + ...29.otf => gpos3_font3.notdef-outline.28,29.otf} | Bin 1260 -> 1224 bytes + ...2B.otf => gpos3_font3.notdef-outline.28,2B.otf} | Bin 1392 -> 1344 bytes + ...2B.otf => gpos3_font3.notdef-outline.29,2B.otf} | Bin 1304 -> 1256 bytes + .../gpos3_font3.notdef-outline.41,42,43.otf} | Bin 1300 -> 1260 bytes + ..._font3.notdef-outline.retain-all-codepoint.otf} | Bin 3848 -> 3812 bytes + .../gpos4_multiple_anchors_1.default.41,42,43.otf | Bin 1320 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41.otf | Bin 1208 -> 0 bytes + ...s_1.notdef-outline-retain-gids.41,42,43,44.otf} | Bin 2220 -> 2208 bytes + ...s_1.notdef-outline-retain-gids.41,42,43,45.otf} | Bin 2268 -> 2220 bytes + ...chors_1.notdef-outline-retain-gids.41,42,43.otf | Bin 0 -> 1996 bytes + ...anchors_1.notdef-outline-retain-gids.41,42.otf} | Bin 1904 -> 1892 bytes + ....notdef-outline-retain-gids.41,43,44,45,46.otf} | Bin 2584 -> 2560 bytes + ...hors_1.notdef-outline-retain-gids.41,43,44.otf} | Bin 2240 -> 2216 bytes + ...hors_1.notdef-outline-retain-gids.41,43,45.otf} | Bin 2260 -> 2224 bytes + ..._anchors_1.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 2000 bytes + ...le_anchors_1.notdef-outline-retain-gids.41.otf} | Bin 1892 -> 1876 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3880 -> 3844 bytes + ...tiple_anchors_1.notdef-outline.41,42,43,44.otf} | Bin 1504 -> 1492 bytes + ...tiple_anchors_1.notdef-outline.41,42,43,45.otf} | Bin 1512 -> 1488 bytes + ..._multiple_anchors_1.notdef-outline.41,42,43.otf | Bin 0 -> 1284 bytes + ...s4_multiple_anchors_1.notdef-outline.41,42.otf} | Bin 1196 -> 1184 bytes + ...le_anchors_1.notdef-outline.41,43,44,45,46.otf} | Bin 1856 -> 1832 bytes + ...multiple_anchors_1.notdef-outline.41,43,44.otf} | Bin 1516 -> 1492 bytes + ...multiple_anchors_1.notdef-outline.41,43,45.otf} | Bin 1524 -> 1488 bytes + ...s4_multiple_anchors_1.notdef-outline.41,43.otf} | Bin 1328 -> 1280 bytes + ...gpos4_multiple_anchors_1.notdef-outline.41.otf} | Bin 1188 -> 1172 bytes + ...hors_1.notdef-outline.retain-all-codepoint.otf} | Bin 3880 -> 3844 bytes + ...os4_multiple_anchors_1.retain-gids.41,42,43.otf | Bin 2032 -> 0 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + .../gpos4_multiple_anchors_1.retain-gids.41.otf | Bin 1912 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.42.otf | Bin 1084 -> 0 bytes + ...nt1.notdef-outline-retain-gids.41,42,43,44.otf} | Bin 2260 -> 2224 bytes + ...nt1.notdef-outline-retain-gids.41,42,43,45.otf} | Bin 2284 -> 2236 bytes + ..._font1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2048 -> 2012 bytes + ..._font1.notdef-outline-retain-gids.41,42,44.otf} | Bin 2192 -> 2144 bytes + ..._font1.notdef-outline-retain-gids.41,42,45.otf} | Bin 2192 -> 2144 bytes + ...os5_font1.notdef-outline-retain-gids.41,42.otf} | Bin 1944 -> 1908 bytes + ...pos5_font1.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 2016 bytes + ... gpos5_font1.notdef-outline-retain-gids.41.otf} | Bin 1928 -> 1892 bytes + ... gpos5_font1.notdef-outline-retain-gids.42.otf} | Bin 1800 -> 1764 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3896 -> 3860 bytes + ... => gpos5_font1.notdef-outline.41,42,43,44.otf} | Bin 1544 -> 1508 bytes + ... => gpos5_font1.notdef-outline.41,42,43,45.otf} | Bin 1552 -> 1504 bytes + ...otf => gpos5_font1.notdef-outline.41,42,43.otf} | Bin 1336 -> 1300 bytes + ...otf => gpos5_font1.notdef-outline.41,42,44.otf} | Bin 1468 -> 1420 bytes + ...otf => gpos5_font1.notdef-outline.41,42,45.otf} | Bin 1456 -> 1408 bytes + ...42.otf => gpos5_font1.notdef-outline.41,42.otf} | Bin 1236 -> 1200 bytes + ...43.otf => gpos5_font1.notdef-outline.41,43.otf} | Bin 1344 -> 1296 bytes + ...lt.41.otf => gpos5_font1.notdef-outline.41.otf} | Bin 1224 -> 1188 bytes + .../layout.gpos5/gpos5_font1.notdef-outline.42.otf | Bin 0 -> 1048 bytes + ..._font1.notdef-outline.retain-all-codepoint.otf} | Bin 3896 -> 3860 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,43.otf | Bin 2064 -> 0 bytes + ...nt1.notdef-outline-retain-gids.41,42,43,44.otf} | Bin 2244 -> 2184 bytes + ...nt1.notdef-outline-retain-gids.41,42,43,45.otf} | Bin 2244 -> 2196 bytes + ...6_font1.notdef-outline-retain-gids.41,42,43.otf | Bin 0 -> 1972 bytes + ...os6_font1.notdef-outline-retain-gids.41,42.otf} | Bin 1928 -> 1868 bytes + ....notdef-outline-retain-gids.41,43,44,45,46.otf} | Bin 2608 -> 2536 bytes + ..._font1.notdef-outline-retain-gids.41,43,44.otf} | Bin 2264 -> 2192 bytes + ..._font1.notdef-outline-retain-gids.41,43,45.otf} | Bin 2284 -> 2200 bytes + ...pos6_font1.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 1976 bytes + .../gpos6_font1.notdef-outline-retain-gids.41.otf} | Bin 1912 -> 1852 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3856 -> 3820 bytes + .../gpos6_font1.notdef-outline.41,42,43,44.otf} | Bin 1528 -> 1468 bytes + .../gpos6_font1.notdef-outline.41,42,43,45.otf} | Bin 1536 -> 1464 bytes + .../gpos6_font1.notdef-outline.41,42,43.otf | Bin 0 -> 1260 bytes + .../gpos6_font1.notdef-outline.41,42.otf} | Bin 1220 -> 1160 bytes + .../gpos6_font1.notdef-outline.41,43,44,45,46.otf} | Bin 1880 -> 1808 bytes + .../gpos6_font1.notdef-outline.41,43,44.otf} | Bin 1540 -> 1468 bytes + .../gpos6_font1.notdef-outline.41,43,45.otf} | Bin 1548 -> 1464 bytes + .../gpos6_font1.notdef-outline.41,43.otf} | Bin 1328 -> 1256 bytes + .../gpos6_font1.notdef-outline.41.otf} | Bin 1208 -> 1148 bytes + ..._font1.notdef-outline.retain-all-codepoint.otf} | Bin 3856 -> 3820 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,43.otf | Bin 2024 -> 0 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12684 -> 12592 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 9992 -> 9924 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4168 -> 4112 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9516 -> 9424 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7324 -> 7256 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48012 -> 47920 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42640 -> 42572 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36696 -> 36640 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45908 -> 45816 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 37988 -> 37920 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 0 bytes + ..._f1.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2304 -> 2292 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 0 -> 2020 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3916 -> 3880 bytes + ...ple_subrules_f1.notdef-outline.30,31,32,33.otf} | Bin 1832 -> 1820 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 0 -> 1308 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3916 -> 3880 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2056 -> 0 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 0 bytes + ..._f1.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2328 -> 2292 bytes + ...ules_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 0 -> 2020 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3916 -> 3880 bytes + ...ple_subrules_f1.notdef-outline.30,31,32,33.otf} | Bin 1856 -> 1820 bytes + ...ultiple_subrules_f1.notdef-outline.41,42,43.otf | Bin 0 -> 1308 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3916 -> 3880 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2056 -> 0 bytes + .../gpos_chaining3_simple_f1.default.41,42,43.otf | Bin 1320 -> 0 bytes + ..._f1.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2328 -> 2268 bytes + ...mple_f1.notdef-outline-retain-gids.41,42,43.otf | Bin 0 -> 1996 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3892 -> 3856 bytes + ...ning3_simple_f1.notdef-outline.30,31,32,33.otf} | Bin 1856 -> 1796 bytes + ...chaining3_simple_f1.notdef-outline.41,42,43.otf | Bin 0 -> 1284 bytes + ...ple_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3892 -> 3856 bytes + ...os_chaining3_simple_f1.retain-gids.41,42,43.otf | Bin 2032 -> 0 bytes + .../layout.gpos9/gpos9_font2.default.42.otf | Bin 1044 -> 0 bytes + ...os9_font2.notdef-outline-retain-gids.41,42.otf} | Bin 1928 -> 1868 bytes + .../gpos9_font2.notdef-outline-retain-gids.41.otf | Bin 0 -> 1852 bytes + ... gpos9_font2.notdef-outline-retain-gids.42.otf} | Bin 1760 -> 1724 bytes + .../gpos9_font2.notdef-outline.41,42.otf} | Bin 1220 -> 1160 bytes + .../layout.gpos9/gpos9_font2.notdef-outline.41.otf | Bin 0 -> 1148 bytes + .../layout.gpos9/gpos9_font2.notdef-outline.42.otf | Bin 0 -> 1008 bytes + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 4372 -> 4316 bytes + .../gsub_alternate_substitution.default.53A9.otf | Bin 3928 -> 3884 bytes + .../gsub_alternate_substitution.default.53F1.otf | Bin 2484 -> 2440 bytes + ...e_substitution.default.retain-all-codepoint.otf | Bin 6064 -> 5984 bytes + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 4496 -> 4440 bytes + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 4080 -> 4036 bytes + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 2676 -> 2632 bytes + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 6156 -> 6076 bytes + ...les_f2.notdef-outline-retain-gids.41,42,43.otf} | Bin 2064 -> 2028 bytes + ...brules_f2.notdef-outline-retain-gids.41,42.otf} | Bin 1960 -> 1924 bytes + ...brules_f2.notdef-outline-retain-gids.41,43.otf} | Bin 2080 -> 2032 bytes + ..._subrules_f2.notdef-outline-retain-gids.41.otf} | Bin 1944 -> 1908 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3924 -> 3888 bytes + ...ltiple_subrules_f2.notdef-outline.41,42,43.otf} | Bin 1352 -> 1316 bytes + ..._multiple_subrules_f2.notdef-outline.41,42.otf} | Bin 1252 -> 1216 bytes + ..._multiple_subrules_f2.notdef-outline.41,43.otf} | Bin 1360 -> 1312 bytes + ...xt1_multiple_subrules_f2.notdef-outline.41.otf} | Bin 1240 -> 1204 bytes + ...les_f2.notdef-outline.retain-all-codepoint.otf} | Bin 3924 -> 3888 bytes + ...les_f2.notdef-outline-retain-gids.41,42,43.otf} | Bin 2064 -> 2028 bytes + ...brules_f2.notdef-outline-retain-gids.41,42.otf} | Bin 1960 -> 1924 bytes + ...brules_f2.notdef-outline-retain-gids.41,43.otf} | Bin 2080 -> 2032 bytes + ..._subrules_f2.notdef-outline-retain-gids.41.otf} | Bin 1944 -> 1908 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3924 -> 3888 bytes + ...ltiple_subrules_f2.notdef-outline.41,42,43.otf} | Bin 1352 -> 1316 bytes + ..._multiple_subrules_f2.notdef-outline.41,42.otf} | Bin 1252 -> 1216 bytes + ..._multiple_subrules_f2.notdef-outline.41,43.otf} | Bin 1360 -> 1312 bytes + ...xt2_multiple_subrules_f2.notdef-outline.41.otf} | Bin 1240 -> 1204 bytes + ...les_f2.notdef-outline.retain-all-codepoint.otf} | Bin 3924 -> 3888 bytes + ...ive_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2044 -> 2016 bytes + ...essive_f1.notdef-outline-retain-gids.41,42.otf} | Bin 1948 -> 1912 bytes + ...cessive_f1.notdef-outline-retain-gids.41,43.otf | Bin 0 -> 2020 bytes + ...uccessive_f1.notdef-outline-retain-gids.41.otf} | Bin 1932 -> 1896 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + ...ext3_successive_f1.notdef-outline.41,42,43.otf} | Bin 1332 -> 1304 bytes + ...ontext3_successive_f1.notdef-outline.41,42.otf} | Bin 1240 -> 1204 bytes + ...ontext3_successive_f1.notdef-outline.41,43.otf} | Bin 1348 -> 1300 bytes + ...b_context3_successive_f1.notdef-outline.41.otf} | Bin 1228 -> 1192 bytes + ...ive_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3912 -> 3876 bytes + ...ub_context3_successive_f1.retain-gids.41,43.otf | Bin 2068 -> 0 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1356 -> 0 bytes + ..._f1.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2316 -> 2304 bytes + ...les_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2052 -> 2032 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3928 -> 3892 bytes + ...ple_subrules_f1.notdef-outline.30,31,32,33.otf} | Bin 1844 -> 1832 bytes + ...ltiple_subrules_f1.notdef-outline.41,42,43.otf} | Bin 1340 -> 1320 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3928 -> 3892 bytes + ..._f1.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2340 -> 2304 bytes + ...les_f1.notdef-outline-retain-gids.41,42,43.otf} | Bin 2068 -> 2032 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3928 -> 3892 bytes + ...ple_subrules_f1.notdef-outline.30,31,32,33.otf} | Bin 1868 -> 1832 bytes + ...ltiple_subrules_f1.notdef-outline.41,42,43.otf} | Bin 1356 -> 1320 bytes + ...les_f1.notdef-outline.retain-all-codepoint.otf} | Bin 3928 -> 3892 bytes + ..._f2.notdef-outline-retain-gids.30,31,32,33.otf} | Bin 2340 -> 2280 bytes + ...ple_f2.notdef-outline-retain-gids.41,42,43.otf} | Bin 2068 -> 2008 bytes + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin 3904 -> 3868 bytes + ...ning3_simple_f2.notdef-outline.30,31,32,33.otf} | Bin 1868 -> 1808 bytes + ...chaining3_simple_f2.notdef-outline.41,42,43.otf | Bin 0 -> 1296 bytes + ...ple_f2.notdef-outline.retain-all-codepoint.otf} | Bin 3904 -> 3868 bytes + ...ine-retain-gids.41,42,43,44,45,46,47,48,49.otf} | Bin + ...f-outline-retain-gids.41,42,43,44,45,46,47.otf} | Bin + ...f-outline-retain-gids.41,42,43,44,45,46,4D.otf} | Bin + ...f-outline-retain-gids.41,42,43,44,45,46,51.otf} | Bin + ...tdef-outline-retain-gids.41,42,43,44,45,46.otf} | Bin + ...reated.notdef-outline-retain-gids.41,42,43.otf} | Bin + ...ally_created.notdef-outline-retain-gids.41.otf} | Bin + ...ally_created.notdef-outline-retain-gids.61.otf} | Bin + ...f-outline-retain-gids.retain-all-codepoint.otf} | Bin + ....notdef-outline.41,42,43,44,45,46,47,48,49.otf} | Bin + ...reated.notdef-outline.41,42,43,44,45,46,47.otf} | Bin + ...reated.notdef-outline.41,42,43,44,45,46,4D.otf} | Bin + ...reated.notdef-outline.41,42,43,44,45,46,51.otf} | Bin + ...y_created.notdef-outline.41,42,43,44,45,46.otf} | Bin + ...8_manually_created.notdef-outline.41,42,43.otf} | Bin + ...> gsub8_manually_created.notdef-outline.41.otf} | Bin + ...> gsub8_manually_created.notdef-outline.61.otf} | Bin + ...reated.notdef-outline.retain-all-codepoint.otf} | Bin + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 2460 -> 2424 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2280 -> 2232 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2080 -> 2044 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2112 -> 2076 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2384 -> 2348 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 2712 -> 2676 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 2544 -> 2496 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 2332 -> 2296 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 2380 -> 2344 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 6472 -> 6436 bytes + .../notdef-outline-desubroutinize-retain-gids.txt | 3 + + .../profiles/notdef-outline-desubroutinize.txt | 2 + + ...tline-drop-hints-desubroutinize-retain-gids.txt | 4 + + .../notdef-outline-drop-hints-desubroutinize.txt | 3 + + .../notdef-outline-drop-hints-retain-gids.txt | 3 + + .../data/profiles/notdef-outline-drop-hints.txt | 2 + + test/subset/data/profiles/notdef-outline-gids.txt | 2 + + .../data/profiles/notdef-outline-name-ids.txt | 2 + + .../data/profiles/notdef-outline-retain-gids.txt | 2 + + test/subset/data/tests/cff-full-font.tests | 16 ++-- + test/subset/data/tests/cmap14.tests | 12 +-- + test/subset/data/tests/layout.context.tests | 4 +- + test/subset/data/tests/layout.gdef-varstore.tests | 5 +- + test/subset/data/tests/layout.gpos.tests | 4 +- + test/subset/data/tests/layout.gpos2.tests | 4 +- + test/subset/data/tests/layout.gpos3.tests | 4 +- + test/subset/data/tests/layout.gpos4.tests | 4 +- + test/subset/data/tests/layout.gpos5.tests | 4 +- + test/subset/data/tests/layout.gpos6.tests | 4 +- + test/subset/data/tests/layout.gpos8.tests | 4 +- + test/subset/data/tests/layout.gpos9.tests | 4 +- + test/subset/data/tests/layout.gsub5.tests | 4 +- + test/subset/data/tests/layout.gsub6.tests | 4 +- + test/subset/data/tests/layout.gsub8.tests | 4 +- + 681 files changed, 162 insertions(+), 44 deletions(-) + +commit 84946e4d2c0c362e969eb13e5a6acae0a76c6015 +Author: Khaled Hosny +Date: Thu Aug 5 00:05:26 2021 +0200 + + [test] Suggest updating the expectation if ttx matches + + https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892 + + test/subset/run-tests.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 09c3b82f5e5a25f07145f405776c466b02743442 +Author: Behdad Esfahbod +Date: Thu Jul 29 17:49:10 2021 -0600 + + [buffer] When shifting forward, leave no gap + + Trying to see if this fixes the fuzzer issue: + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236 + + src/hb-buffer.cc | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit 5086e10538b893294f1b64a33deb8c5af4d22f1b +Author: Behdad Esfahbod +Date: Thu Jul 29 17:03:55 2021 -0600 + + [test] Add failing fuzzer test case + + From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236 + https://oss-fuzz.com/testcase-detail/5061207689134080 + + ...z-testcase-minimized-hb-shape-fuzzer-5061207689134080 | Bin 0 -> 3344 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit a150baf32c2cbb03a0efd6e260904c57d93275d9 +Author: Behdad Esfahbod +Date: Wed Aug 4 11:53:27 2021 -0600 + + [ot-map] Allocate top mask bit as global bit + + Avoids undefined-shift of 32 in the following line: + + map->mask = (1u << (next_bit + bits_needed)) - (1u << next_bit) + + Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1219263 + + src/hb-ot-map.cc | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +commit f698fe5aeede4027230046d4b06c265b33f0085a +Author: Khaled Hosny +Date: Wed Aug 4 12:08:18 2021 +0200 + + [test] Always fail subset tests if hashes don’t match + + Regardless of the pre sentience or absence of fonttools. + + test/subset/run-tests.py | 65 +++++++++++++++++++++--------------------------- + 1 file changed, 28 insertions(+), 37 deletions(-) + +commit e80c86ffa6868f8bbcfd3a21b4b82a1436527100 +Author: Behdad Esfahbod +Date: Wed Aug 4 10:24:14 2021 -0600 + + [coretext] Fix formatting + + src/hb-coretext.cc | 69 +++++++++++++++++++++++++++++------------------------- + 1 file changed, 37 insertions(+), 32 deletions(-) + +commit db6fbe29e47ce871e66ebbf2eb93657bad429d13 +Author: Behdad Esfahbod +Date: Tue Aug 3 10:13:17 2021 -0600 + + [util/hb-subset] Use driver_t<> in outer block as well + + https://github.com/harfbuzz/harfbuzz/commit/a363ce573c3aa706de3aecf0515519a5d7842af2#r54282223 + + util/hb-subset.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 66aef2818e1450a14549ca3e202e094e335f6b78 +Author: Simon Cozens +Date: Wed Aug 4 13:34:52 2021 +0100 + + Support passing variations to coretext shaper + + src/hb-coretext.cc | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +commit f25daa4794f22f7e0eaddb77ef7b47c8c6584453 +Merge: 62a535f15 9f544e500 +Author: Behdad Esfahbod +Date: Wed Aug 4 00:06:32 2021 -0600 + + Merge pull request #3110 from harfbuzz/subset-tests-fast + + [test] Make subset tests fast + +commit 9f544e5008e27346ace98abd7c3e8e5184724920 +Author: Khaled Hosny +Date: Wed Aug 4 04:20:14 2021 +0200 + + [test] Don’t skip subset tests early + + Check for FontTools only when the checksums are mismatching. + + test/subset/run-tests.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit b0841533174b752f9ac4b3c62f81c98cb7be197a +Author: Khaled Hosny +Date: Wed Aug 4 04:12:31 2021 +0200 + + [test] Remove subset tests from the slow suite + + test/subset/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7ccc52b0751795b32db989b71295f1fee2c9ab21 +Author: Khaled Hosny +Date: Wed Aug 4 03:57:18 2021 +0200 + + [test] Compare sha256 hash before TTX dumps + + Most of time the files are identical, so instead of comparing the TTX + dump we can check sha256 hashes of the files first and if they match, we + don’t have to check the TTX dumps at all, making the subset tests orders + of magnitude faster. + + time meson test --suite=subset down from: + real 0m19.418s + user 0m38.171s + sys 0m3.587s + + to: + real 0m3.102s + user 0m8.622s + sys 0m1.701s + + The expected files have been replaced by hb-subset output so they are + bit-identical where FontTools output might not. + + The generate-expected-outputs.py now compares the hb-subset output with + fontttols subset and errors of they don’t match. + + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 6692 -> 6692 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6328 -> 6328 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6200 -> 6200 bytes + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6256 -> 6256 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 220928 -> 222756 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 4608 -> 4608 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4312 -> 4312 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 3724 -> 3724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 3900 -> 3900 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 3972 -> 3972 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 189800 -> 191632 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 2600 -> 2600 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2296 -> 2296 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 1976 -> 1976 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 1900 -> 1900 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 1968 -> 1968 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 189756 -> 191584 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 7988 -> 7988 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 7628 -> 7628 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7256 -> 7256 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7184 -> 7184 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7180 -> 7180 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 220928 -> 222756 bytes + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 7072 -> 7072 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 6700 -> 6700 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 6336 -> 6336 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 6208 -> 6208 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 6264 -> 6264 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 227920 -> 229748 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 7504 -> 7508 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 7140 -> 7144 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 6772 -> 6776 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 6200 -> 6200 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 221620 -> 223452 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 6256 -> 6256 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 219124 -> 220948 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 6800 -> 6800 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 6432 -> 6432 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6068 -> 6068 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 5940 -> 5940 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 5996 -> 5996 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 220668 -> 222496 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6256 -> 6256 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 220928 -> 222756 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7060 -> 7060 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 6692 -> 6692 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6328 -> 6328 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6200 -> 6200 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6256 -> 6256 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 220928 -> 222756 bytes + ...egular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 7060 -> 7060 bytes + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 6692 -> 6692 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 6328 -> 6328 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 6200 -> 6200 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 6256 -> 6256 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 220928 -> 222756 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 7652 -> 7652 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 7284 -> 7284 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 6920 -> 6920 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 6796 -> 6796 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 6844 -> 6844 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 221524 -> 223352 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9068 -> 9068 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 8708 -> 8708 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8076 -> 8076 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8200 -> 8200 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8260 -> 8260 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 220972 -> 222804 bytes + ...numMyeongjo-Regular-subset.default.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.default.61,63.ttf | Bin 3580 -> 3580 bytes + .../NanumMyeongjo-Regular-subset.default.61.ttf | Bin 3156 -> 3156 bytes + .../NanumMyeongjo-Regular-subset.default.62.ttf | Bin 3180 -> 3180 bytes + .../NanumMyeongjo-Regular-subset.default.63.ttf | Bin 3048 -> 3048 bytes + ...Regular-subset.default.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ular-subset.drop-hints-retain-gids.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...Regular-subset.drop-hints-retain-gids.61,63.ttf | Bin 1284 -> 1284 bytes + ...jo-Regular-subset.drop-hints-retain-gids.61.ttf | Bin 1128 -> 1128 bytes + ...jo-Regular-subset.drop-hints-retain-gids.62.ttf | Bin 1144 -> 1144 bytes + ...jo-Regular-subset.drop-hints-retain-gids.63.ttf | Bin 1116 -> 1116 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 1452 -> 1452 bytes + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttf | Bin 1276 -> 1276 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 1128 -> 1128 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 1140 -> 1140 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 1104 -> 1104 bytes + ...ular-subset.drop-hints.retain-all-codepoint.ttf | Bin 3536 -> 3536 bytes + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 4128 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 4128 -> 4128 bytes + ...jo-Regular-subset.gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 3580 -> 3580 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 3156 -> 3156 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 3180 -> 3180 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 3048 -> 3048 bytes + ...subset.layout-features.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 3924 -> 3924 bytes + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttf | Bin 3376 -> 3376 bytes + .../NanumMyeongjo-Regular-subset.name-ids.61.ttf | Bin 2952 -> 2952 bytes + .../NanumMyeongjo-Regular-subset.name-ids.62.ttf | Bin 2976 -> 2976 bytes + .../NanumMyeongjo-Regular-subset.name-ids.63.ttf | Bin 2844 -> 2844 bytes + ...egular-subset.name-ids.retain-all-codepoint.ttf | Bin 9320 -> 9320 bytes + ...ngjo-Regular-subset.name-languages.61,62,63.ttf | Bin 4172 -> 4172 bytes + ...yeongjo-Regular-subset.name-languages.61,63.ttf | Bin 3624 -> 3624 bytes + ...umMyeongjo-Regular-subset.name-languages.61.ttf | Bin 3200 -> 3200 bytes + ...umMyeongjo-Regular-subset.name-languages.62.ttf | Bin 3224 -> 3224 bytes + ...umMyeongjo-Regular-subset.name-languages.63.ttf | Bin 3092 -> 3092 bytes + ...-subset.name-languages.retain-all-codepoint.ttf | Bin 9568 -> 9568 bytes + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttf | Bin 3580 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttf | Bin 3180 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttf | Bin 3048 -> 3048 bytes + ...lar-subset.name-legacy.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...egular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 3580 -> 3580 bytes + ...o-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 3156 -> 3156 bytes + ...o-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 3180 -> 3180 bytes + ...o-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 3048 -> 3048 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 3580 -> 3580 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 3156 -> 3156 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 3180 -> 3180 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 3048 -> 3048 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttf | Bin 4128 -> 4128 bytes + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttf | Bin 3588 -> 3588 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttf | Bin 3156 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttf | Bin 3184 -> 3184 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttf | Bin 3060 -> 3060 bytes + ...lar-subset.retain-gids.retain-all-codepoint.ttf | Bin 9524 -> 9524 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 2260 -> 2256 bytes + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 2048 -> 2044 bytes + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1916 -> 1912 bytes + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1972 -> 1968 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1192 -> 1188 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1124 -> 1120 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 984 -> 980 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 880 -> 876 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 968 -> 964 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1192 -> 1188 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1192 -> 1188 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1108 -> 1104 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 984 -> 980 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 876 -> 872 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 956 -> 952 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1192 -> 1188 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2452 -> 2448 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2452 -> 2448 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2452 -> 2448 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2452 -> 2448 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 2260 -> 2256 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 2048 -> 2044 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 1916 -> 1912 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 1972 -> 1968 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 2452 -> 2448 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 2260 -> 2256 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 2048 -> 2044 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 1916 -> 1912 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 1972 -> 1968 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 2260 -> 2256 bytes + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 2048 -> 2044 bytes + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 1916 -> 1912 bytes + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 1972 -> 1968 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 2260 -> 2256 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 2048 -> 2044 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1916 -> 1912 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1972 -> 1968 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 2260 -> 2256 bytes + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 2048 -> 2044 bytes + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1916 -> 1912 bytes + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1972 -> 1968 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 2260 -> 2256 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 2048 -> 2044 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1916 -> 1912 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1972 -> 1968 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 2452 -> 2448 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 2260 -> 2256 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 2048 -> 2044 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 1916 -> 1912 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 1972 -> 1968 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 2260 -> 2256 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 2048 -> 2044 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 1916 -> 1912 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 1972 -> 1968 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2452 -> 2448 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 2276 -> 2272 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 2048 -> 2044 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1924 -> 1920 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1988 -> 1984 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2452 -> 2448 bytes + .../cbdt/NotoColorEmoji.subset.default.2049.ttf | Bin 3112 -> 3112 bytes + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttf | Bin 4084 -> 4084 bytes + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + .../NotoColorEmoji.subset.default.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.default.39.ttf | Bin 1920 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.default.AE.ttf | Bin 4412 -> 4412 bytes + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttf | Bin 1928 -> 1928 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttf | Bin 3112 -> 3112 bytes + .../NotoColorEmoji.subset.drop-hints.38,2049.ttf | Bin 4084 -> 4084 bytes + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttf | Bin 1920 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttf | Bin 4412 -> 4412 bytes + .../NotoColorEmoji.subset.gap.default.2049.ttf | Bin 3112 -> 3112 bytes + .../NotoColorEmoji.subset.gap.default.38,2049.ttf | Bin 4084 -> 4084 bytes + .../NotoColorEmoji.subset.gap.default.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttf | Bin 908 -> 908 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttf | Bin 4412 -> 4412 bytes + ...moji.subset.gap.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttf | Bin 916 -> 916 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttf | Bin 3112 -> 3112 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttf | Bin 4084 -> 4084 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttf | Bin 3568 -> 3568 bytes + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttf | Bin 7544 -> 7544 bytes + .../NotoColorEmoji.subset.gap.drop-hints.39.ttf | Bin 908 -> 908 bytes + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttf | Bin 4412 -> 4412 bytes + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 9188 bytes + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + .../NotoColorEmoji.subset.gap.retain-gids.39.ttf | Bin 916 -> 916 bytes + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + ...olorEmoji.subset.index_format3.default.2049.ttf | Bin 3108 -> 3108 bytes + ...rEmoji.subset.index_format3.default.38,2049.ttf | Bin 4076 -> 4076 bytes + ...rEmoji.subset.index_format3.default.38,20E3.ttf | Bin 3560 -> 3560 bytes + ...index_format3.default.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...oji.subset.index_format3.default.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...oColorEmoji.subset.index_format3.default.39.ttf | Bin 1916 -> 1916 bytes + ...oColorEmoji.subset.index_format3.default.AE.ttf | Bin 4408 -> 4408 bytes + ...t.index_format3.drop-hints-retain-gids.2049.ttf | Bin 3132 -> 3132 bytes + ...ndex_format3.drop-hints-retain-gids.38,2049.ttf | Bin 4100 -> 4100 bytes + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttf | Bin 3592 -> 3592 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7552 -> 7552 bytes + ...set.index_format3.drop-hints-retain-gids.39.ttf | Bin 1924 -> 1924 bytes + ...set.index_format3.drop-hints-retain-gids.AE.ttf | Bin 4424 -> 4424 bytes + ...rEmoji.subset.index_format3.drop-hints.2049.ttf | Bin 3108 -> 3108 bytes + ...oji.subset.index_format3.drop-hints.38,2049.ttf | Bin 4076 -> 4076 bytes + ...oji.subset.index_format3.drop-hints.38,20E3.ttf | Bin 3560 -> 3560 bytes + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ....subset.index_format3.drop-hints.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...lorEmoji.subset.index_format3.drop-hints.39.ttf | Bin 1916 -> 1916 bytes + ...lorEmoji.subset.index_format3.drop-hints.AE.ttf | Bin 4408 -> 4408 bytes + ...Emoji.subset.index_format3.retain-gids.2049.ttf | Bin 3132 -> 3132 bytes + ...ji.subset.index_format3.retain-gids.38,2049.ttf | Bin 4100 -> 4100 bytes + ...ji.subset.index_format3.retain-gids.38,20E3.ttf | Bin 3592 -> 3592 bytes + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...subset.index_format3.retain-gids.38,AE,2049.ttf | Bin 7552 -> 7552 bytes + ...orEmoji.subset.index_format3.retain-gids.39.ttf | Bin 1924 -> 1924 bytes + ...orEmoji.subset.index_format3.retain-gids.AE.ttf | Bin 4424 -> 4424 bytes + ...ji.subset.multiple_size_tables.default.2049.ttf | Bin 5312 -> 5312 bytes + ...subset.multiple_size_tables.default.38,2049.ttf | Bin 7244 -> 7244 bytes + ...subset.multiple_size_tables.default.38,20E3.ttf | Bin 6212 -> 6212 bytes + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...set.multiple_size_tables.default.38,AE,2049.ttf | Bin 14140 -> 14140 bytes + ...moji.subset.multiple_size_tables.default.39.ttf | Bin 2928 -> 2928 bytes + ...moji.subset.multiple_size_tables.default.AE.ttf | Bin 7916 -> 7916 bytes + ...ple_size_tables.drop-hints-retain-gids.2049.ttf | Bin 5336 -> 5336 bytes + ..._size_tables.drop-hints-retain-gids.38,2049.ttf | Bin 7268 -> 7268 bytes + ..._size_tables.drop-hints-retain-gids.38,20E3.ttf | Bin 6244 -> 6244 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttf | Bin 14164 -> 14164 bytes + ...tiple_size_tables.drop-hints-retain-gids.39.ttf | Bin 2936 -> 2936 bytes + ...tiple_size_tables.drop-hints-retain-gids.AE.ttf | Bin 7932 -> 7932 bytes + ...subset.multiple_size_tables.drop-hints.2049.ttf | Bin 5312 -> 5312 bytes + ...set.multiple_size_tables.drop-hints.38,2049.ttf | Bin 7244 -> 7244 bytes + ...set.multiple_size_tables.drop-hints.38,20E3.ttf | Bin 6212 -> 6212 bytes + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ....multiple_size_tables.drop-hints.38,AE,2049.ttf | Bin 14140 -> 14140 bytes + ...i.subset.multiple_size_tables.drop-hints.39.ttf | Bin 2928 -> 2928 bytes + ...i.subset.multiple_size_tables.drop-hints.AE.ttf | Bin 7916 -> 7916 bytes + ...ubset.multiple_size_tables.retain-gids.2049.ttf | Bin 5336 -> 5336 bytes + ...et.multiple_size_tables.retain-gids.38,2049.ttf | Bin 7268 -> 7268 bytes + ...et.multiple_size_tables.retain-gids.38,20E3.ttf | Bin 6244 -> 6244 bytes + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 19280 bytes + ...multiple_size_tables.retain-gids.38,AE,2049.ttf | Bin 14164 -> 14164 bytes + ....subset.multiple_size_tables.retain-gids.39.ttf | Bin 2936 -> 2936 bytes + ....subset.multiple_size_tables.retain-gids.AE.ttf | Bin 7932 -> 7932 bytes + .../NotoColorEmoji.subset.retain-gids.2049.ttf | Bin 3136 -> 3136 bytes + .../NotoColorEmoji.subset.retain-gids.38,2049.ttf | Bin 4108 -> 4108 bytes + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttf | Bin 3600 -> 3600 bytes + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 10124 bytes + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttf | Bin 7564 -> 7564 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttf | Bin 1928 -> 1928 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttf | Bin 4428 -> 4428 bytes + ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 2580 -> 2592 bytes + .../SourceSansPro-Regular.default.61,62,63.otf | Bin 2216 -> 2224 bytes + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 2328 -> 2340 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 20232 -> 20220 bytes + ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 2316 -> 2324 bytes + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30540 -> 30528 bytes + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 2436 -> 2448 bytes + ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 2120 -> 2128 bytes + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2312 -> 2320 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 20064 -> 20052 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 2192 -> 2200 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30372 -> 30360 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 2268 -> 2276 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 1996 -> 2004 bytes + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2148 -> 2156 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 20156 -> 20144 bytes + ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 2228 -> 2240 bytes + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30384 -> 30376 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 2352 -> 2360 bytes + .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 2060 -> 2072 bytes + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 2164 -> 2172 bytes + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 20384 -> 20376 bytes + .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 2384 -> 2392 bytes + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 30556 -> 30544 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 4884 -> 4912 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6276 -> 6300 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 2588 -> 2620 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6736 -> 6744 bytes + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 2456 -> 2488 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129876 -> 129912 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130920 -> 130944 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3412 -> 3444 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122048 -> 122060 bytes + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 50760 -> 50788 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4724 -> 4748 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5928 -> 5944 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 2520 -> 2552 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6232 -> 6236 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 2440 -> 2472 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129448 -> 129468 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130312 -> 130324 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3288 -> 3324 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121284 -> 121284 bytes + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 50540 -> 50560 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4420 -> 4440 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5416 -> 5428 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 2416 -> 2448 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 5556 -> 5560 bytes + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 2308 -> 2336 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129576 -> 129608 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130604 -> 130632 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 3248 -> 3288 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121776 -> 121784 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 50552 -> 50576 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 4548 -> 4576 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5708 -> 5732 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 2448 -> 2480 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6048 -> 6056 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 2316 -> 2348 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 130036 -> 130072 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 131272 -> 131300 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 3408 -> 3444 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122552 -> 122564 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 50776 -> 50804 bytes + ...otoSerifMyanmar-Regular.notdef-outline.1092.otf | Bin 1380 -> 1392 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1252 -> 1252 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 1264 -> 1264 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 1216 -> 1216 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 1204 -> 1204 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 1184 -> 1184 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1468 -> 1468 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 8232 -> 8232 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 8104 -> 8104 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 8172 -> 8172 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 8156 -> 8156 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1080 -> 1080 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 1092 -> 1092 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 1044 -> 1044 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 1032 -> 1032 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 1000 -> 1000 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 1012 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 964 -> 964 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 952 -> 952 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 932 -> 932 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1640 -> 1640 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 8404 -> 8404 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 8276 -> 8276 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 8344 -> 8344 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 8328 -> 8328 bytes + .../cmap14/cmap14_font1.default.4E00,4E02,4E03.otf | Bin 1360 -> 1376 bytes + .../cmap14/cmap14_font1.default.4E00,4E03.otf | Bin 1236 -> 1252 bytes + .../cmap14/cmap14_font1.default.4E00,4E05,4E07.otf | Bin 1328 -> 1348 bytes + .../cmap14/cmap14_font1.default.4E02,4E03,4E08.otf | Bin 1576 -> 1596 bytes + .../expected/cmap14/cmap14_font1.default.4E02.otf | Bin 996 -> 1012 bytes + .../expected/cmap14/cmap14_font1.default.4E03.otf | Bin 1080 -> 1096 bytes + .../cmap14_font1.default.4E05,4E07,4E08,4E09.otf | Bin 1848 -> 1864 bytes + .../cmap14/cmap14_font1.default.4E08,4E09.otf | Bin 1720 -> 1736 bytes + .../expected/cmap14/cmap14_font1.default.4E08.otf | Bin 1384 -> 1404 bytes + .../cmap14_font1.default.retain-all-codepoint.otf | Bin 2348 -> 2364 bytes + ...font1.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1388 -> 1404 bytes + ...ap14_font1.drop-hints-retain-gids.4E00,4E03.otf | Bin 1272 -> 1292 bytes + ...font1.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1396 -> 1416 bytes + ...font1.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1720 -> 1736 bytes + .../cmap14_font1.drop-hints-retain-gids.4E02.otf | Bin 1028 -> 1048 bytes + .../cmap14_font1.drop-hints-retain-gids.4E03.otf | Bin 1124 -> 1140 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 1984 -> 2000 bytes + ...ap14_font1.drop-hints-retain-gids.4E08,4E09.otf | Bin 1872 -> 1888 bytes + .../cmap14_font1.drop-hints-retain-gids.4E08.otf | Bin 1544 -> 1560 bytes + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2436 -> 2452 bytes + .../cmap14_font1.drop-hints.4E00,4E02,4E03.otf | Bin 1292 -> 1308 bytes + .../cmap14/cmap14_font1.drop-hints.4E00,4E03.otf | Bin 1168 -> 1188 bytes + .../cmap14_font1.drop-hints.4E00,4E05,4E07.otf | Bin 1260 -> 1280 bytes + .../cmap14_font1.drop-hints.4E02,4E03,4E08.otf | Bin 1512 -> 1528 bytes + .../cmap14/cmap14_font1.drop-hints.4E02.otf | Bin 928 -> 944 bytes + .../cmap14/cmap14_font1.drop-hints.4E03.otf | Bin 1012 -> 1028 bytes + ...cmap14_font1.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 1796 bytes + .../cmap14/cmap14_font1.drop-hints.4E08,4E09.otf | Bin 1652 -> 1672 bytes + .../cmap14/cmap14_font1.drop-hints.4E08.otf | Bin 1316 -> 1336 bytes + ...map14_font1.drop-hints.retain-all-codepoint.otf | Bin 2280 -> 2296 bytes + .../cmap14/cmap14_font1.gids.4E00,4E02,4E03.otf | Bin 1388 -> 1408 bytes + .../cmap14/cmap14_font1.gids.4E00,4E03.otf | Bin 1380 -> 1396 bytes + .../cmap14/cmap14_font1.gids.4E00,4E05,4E07.otf | Bin 1620 -> 1640 bytes + .../cmap14/cmap14_font1.gids.4E02,4E03,4E08.otf | Bin 1744 -> 1760 bytes + .../expected/cmap14/cmap14_font1.gids.4E02.otf | Bin 1312 -> 1332 bytes + .../expected/cmap14/cmap14_font1.gids.4E03.otf | Bin 1352 -> 1372 bytes + .../cmap14_font1.gids.4E05,4E07,4E08,4E09.otf | Bin 2164 -> 2184 bytes + .../cmap14/cmap14_font1.gids.4E08,4E09.otf | Bin 2036 -> 2056 bytes + .../expected/cmap14/cmap14_font1.gids.4E08.otf | Bin 1704 -> 1720 bytes + .../cmap14_font1.gids.retain-all-codepoint.otf | Bin 2380 -> 2400 bytes + .../cmap14_font1.name-ids.4E00,4E02,4E03.otf | Bin 1292 -> 1308 bytes + .../cmap14/cmap14_font1.name-ids.4E00,4E03.otf | Bin 1168 -> 1184 bytes + .../cmap14_font1.name-ids.4E00,4E05,4E07.otf | Bin 1260 -> 1280 bytes + .../cmap14_font1.name-ids.4E02,4E03,4E08.otf | Bin 1508 -> 1528 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E02.otf | Bin 928 -> 944 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E03.otf | Bin 1012 -> 1028 bytes + .../cmap14_font1.name-ids.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 1796 bytes + .../cmap14/cmap14_font1.name-ids.4E08,4E09.otf | Bin 1652 -> 1668 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E08.otf | Bin 1316 -> 1336 bytes + .../cmap14_font1.name-ids.retain-all-codepoint.otf | Bin 2280 -> 2296 bytes + .../cmap14_font1.retain-gids.4E00,4E02,4E03.otf | Bin 1452 -> 1472 bytes + .../cmap14/cmap14_font1.retain-gids.4E00,4E03.otf | Bin 1340 -> 1360 bytes + .../cmap14_font1.retain-gids.4E00,4E05,4E07.otf | Bin 1464 -> 1480 bytes + .../cmap14_font1.retain-gids.4E02,4E03,4E08.otf | Bin 1788 -> 1804 bytes + .../cmap14/cmap14_font1.retain-gids.4E02.otf | Bin 1096 -> 1116 bytes + .../cmap14/cmap14_font1.retain-gids.4E03.otf | Bin 1192 -> 1208 bytes + ...map14_font1.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2048 -> 2068 bytes + .../cmap14/cmap14_font1.retain-gids.4E08,4E09.otf | Bin 1940 -> 1956 bytes + .../cmap14/cmap14_font1.retain-gids.4E08.otf | Bin 1608 -> 1628 bytes + ...ap14_font1.retain-gids.retain-all-codepoint.otf | Bin 2500 -> 2520 bytes + .../cmap14/cmap14_font2.default.4E00,4E02,4E03.otf | Bin 1360 -> 1376 bytes + .../cmap14/cmap14_font2.default.4E00,4E03.otf | Bin 1236 -> 1252 bytes + .../cmap14/cmap14_font2.default.4E00,4E05,4E07.otf | Bin 1332 -> 1352 bytes + .../cmap14/cmap14_font2.default.4E02,4E03,4E08.otf | Bin 1576 -> 1596 bytes + .../expected/cmap14/cmap14_font2.default.4E02.otf | Bin 992 -> 1008 bytes + .../expected/cmap14/cmap14_font2.default.4E03.otf | Bin 1076 -> 1092 bytes + .../cmap14_font2.default.4E05,4E07,4E08,4E09.otf | Bin 1848 -> 1864 bytes + .../cmap14/cmap14_font2.default.4E08,4E09.otf | Bin 1716 -> 1732 bytes + .../expected/cmap14/cmap14_font2.default.4E08.otf | Bin 1380 -> 1400 bytes + .../cmap14_font2.default.retain-all-codepoint.otf | Bin 2344 -> 2360 bytes + ...font2.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1388 -> 1404 bytes + ...ap14_font2.drop-hints-retain-gids.4E00,4E03.otf | Bin 1272 -> 1292 bytes + ...font2.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1400 -> 1420 bytes + ...font2.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1720 -> 1736 bytes + .../cmap14_font2.drop-hints-retain-gids.4E02.otf | Bin 1024 -> 1044 bytes + .../cmap14_font2.drop-hints-retain-gids.4E03.otf | Bin 1120 -> 1136 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 1984 -> 2000 bytes + ...ap14_font2.drop-hints-retain-gids.4E08,4E09.otf | Bin 1868 -> 1884 bytes + .../cmap14_font2.drop-hints-retain-gids.4E08.otf | Bin 1540 -> 1556 bytes + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2432 -> 2448 bytes + .../cmap14_font2.drop-hints.4E00,4E02,4E03.otf | Bin 1292 -> 1308 bytes + .../cmap14/cmap14_font2.drop-hints.4E00,4E03.otf | Bin 1168 -> 1188 bytes + .../cmap14_font2.drop-hints.4E00,4E05,4E07.otf | Bin 1264 -> 1284 bytes + .../cmap14_font2.drop-hints.4E02,4E03,4E08.otf | Bin 1512 -> 1528 bytes + .../cmap14/cmap14_font2.drop-hints.4E02.otf | Bin 924 -> 940 bytes + .../cmap14/cmap14_font2.drop-hints.4E03.otf | Bin 1008 -> 1024 bytes + ...cmap14_font2.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 1796 bytes + .../cmap14/cmap14_font2.drop-hints.4E08,4E09.otf | Bin 1648 -> 1668 bytes + .../cmap14/cmap14_font2.drop-hints.4E08.otf | Bin 1312 -> 1332 bytes + ...map14_font2.drop-hints.retain-all-codepoint.otf | Bin 2276 -> 2292 bytes + .../cmap14/cmap14_font2.gids.4E00,4E02,4E03.otf | Bin 1388 -> 1408 bytes + .../cmap14/cmap14_font2.gids.4E00,4E03.otf | Bin 1380 -> 1396 bytes + .../cmap14/cmap14_font2.gids.4E00,4E05,4E07.otf | Bin 1624 -> 1644 bytes + .../cmap14/cmap14_font2.gids.4E02,4E03,4E08.otf | Bin 1744 -> 1760 bytes + .../expected/cmap14/cmap14_font2.gids.4E02.otf | Bin 1308 -> 1328 bytes + .../expected/cmap14/cmap14_font2.gids.4E03.otf | Bin 1348 -> 1368 bytes + .../cmap14_font2.gids.4E05,4E07,4E08,4E09.otf | Bin 2164 -> 2184 bytes + .../cmap14/cmap14_font2.gids.4E08,4E09.otf | Bin 2032 -> 2052 bytes + .../expected/cmap14/cmap14_font2.gids.4E08.otf | Bin 1700 -> 1716 bytes + .../cmap14_font2.gids.retain-all-codepoint.otf | Bin 2376 -> 2396 bytes + .../cmap14_font2.name-ids.4E00,4E02,4E03.otf | Bin 1292 -> 1308 bytes + .../cmap14/cmap14_font2.name-ids.4E00,4E03.otf | Bin 1168 -> 1184 bytes + .../cmap14_font2.name-ids.4E00,4E05,4E07.otf | Bin 1264 -> 1284 bytes + .../cmap14_font2.name-ids.4E02,4E03,4E08.otf | Bin 1508 -> 1528 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E02.otf | Bin 924 -> 940 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E03.otf | Bin 1008 -> 1024 bytes + .../cmap14_font2.name-ids.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 1796 bytes + .../cmap14/cmap14_font2.name-ids.4E08,4E09.otf | Bin 1648 -> 1664 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E08.otf | Bin 1312 -> 1332 bytes + .../cmap14_font2.name-ids.retain-all-codepoint.otf | Bin 2276 -> 2292 bytes + .../cmap14_font2.retain-gids.4E00,4E02,4E03.otf | Bin 1452 -> 1472 bytes + .../cmap14/cmap14_font2.retain-gids.4E00,4E03.otf | Bin 1340 -> 1360 bytes + .../cmap14_font2.retain-gids.4E00,4E05,4E07.otf | Bin 1468 -> 1484 bytes + .../cmap14_font2.retain-gids.4E02,4E03,4E08.otf | Bin 1788 -> 1804 bytes + .../cmap14/cmap14_font2.retain-gids.4E02.otf | Bin 1092 -> 1112 bytes + .../cmap14/cmap14_font2.retain-gids.4E03.otf | Bin 1188 -> 1204 bytes + ...map14_font2.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2048 -> 2068 bytes + .../cmap14/cmap14_font2.retain-gids.4E08,4E09.otf | Bin 1936 -> 1952 bytes + .../cmap14/cmap14_font2.retain-gids.4E08.otf | Bin 1604 -> 1624 bytes + ...ap14_font2.retain-gids.retain-all-codepoint.otf | Bin 2496 -> 2516 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1936 -> 1936 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1400 -> 1400 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1576 -> 1576 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 932 -> 932 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1916 -> 1916 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1376 -> 1376 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1552 -> 1552 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1916 -> 1916 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1396 -> 1396 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1576 -> 1576 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 912 -> 912 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1900 -> 1900 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1372 -> 1372 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1552 -> 1552 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1916 -> 1916 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1380 -> 1380 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1556 -> 1556 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 912 -> 912 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1896 -> 1896 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1356 -> 1356 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1532 -> 1532 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1936 -> 1936 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1416 -> 1416 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1596 -> 1596 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 932 -> 932 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1920 -> 1920 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1392 -> 1392 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1572 -> 1572 bytes + .../colr_with_components/colr-table.default.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../colr-table.drop-hints.6B.ttf | Bin 4260 -> 4260 bytes + .../colr-table.retain-gids.6B.ttf | Bin 4984 -> 4984 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3080 -> 3076 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2672 -> 2668 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3024 -> 3020 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1632 -> 1628 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1412 -> 1408 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1648 -> 1644 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3992 -> 3960 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3832 -> 3820 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4396 -> 4384 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3968 -> 3948 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3832 -> 3820 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4396 -> 4384 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 2344 -> 2340 bytes + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 1992 -> 1988 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2704 -> 2700 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2948 -> 2944 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2324 -> 2320 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3244 -> 3240 bytes + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1984 -> 1980 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 1616 -> 1612 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 1264 -> 1260 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1976 -> 1972 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2220 -> 2216 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1596 -> 1592 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2516 -> 2512 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1256 -> 1252 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 2344 -> 2340 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 1992 -> 1988 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2704 -> 2700 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2948 -> 2944 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2324 -> 2320 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3244 -> 3240 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1984 -> 1980 bytes + ...text1_multiple_subrules_f1.default.41,42,43.otf | Bin 1328 -> 1340 bytes + ...context1_multiple_subrules_f1.default.41,42.otf | Bin 1228 -> 1240 bytes + ...context1_multiple_subrules_f1.default.41,43.otf | Bin 1332 -> 1348 bytes + ...os_context1_multiple_subrules_f1.default.41.otf | Bin 1216 -> 1228 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2028 -> 2052 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,42.otf | Bin 1932 -> 1948 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,43.otf | Bin 2048 -> 2068 bytes + ...ontext1_multiple_subrules_f1.retain-gids.41.otf | Bin 1916 -> 1932 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + ...text2_multiple_subrules_f1.default.41,42,43.otf | Bin 1328 -> 1340 bytes + ...context2_multiple_subrules_f1.default.41,42.otf | Bin 1228 -> 1240 bytes + ...context2_multiple_subrules_f1.default.41,43.otf | Bin 1332 -> 1348 bytes + ...os_context2_multiple_subrules_f1.default.41.otf | Bin 1216 -> 1228 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2028 -> 2052 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,42.otf | Bin 1932 -> 1948 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,43.otf | Bin 2048 -> 2068 bytes + ...ontext2_multiple_subrules_f1.retain-gids.41.otf | Bin 1916 -> 1932 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + .../gpos_context3_simple_f1.default.41,42,43.otf | Bin 1308 -> 1320 bytes + .../gpos_context3_simple_f1.default.41,42.otf | Bin 1208 -> 1220 bytes + .../gpos_context3_simple_f1.default.41,43.otf | Bin 1312 -> 1328 bytes + .../gpos_context3_simple_f1.default.41.otf | Bin 1196 -> 1208 bytes + ...ext3_simple_f1.default.retain-all-codepoint.otf | Bin 3680 -> 3892 bytes + ...pos_context3_simple_f1.retain-gids.41,42,43.otf | Bin 2008 -> 2032 bytes + .../gpos_context3_simple_f1.retain-gids.41,42.otf | Bin 1912 -> 1928 bytes + .../gpos_context3_simple_f1.retain-gids.41,43.otf | Bin 2028 -> 2048 bytes + .../gpos_context3_simple_f1.retain-gids.41.otf | Bin 1896 -> 1912 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3680 -> 3892 bytes + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4176 -> 4172 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4752 -> 4748 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4724 -> 4720 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49244 -> 49248 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 1036 -> 1032 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1344 -> 1340 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1344 -> 1340 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29464 -> 29468 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4176 -> 4172 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4752 -> 4748 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4724 -> 4720 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49244 -> 49248 bytes + .../AdobeVFPrototype.default.41,42,43,57.otf | Bin 5440 -> 5460 bytes + .../AdobeVFPrototype.default.41,42,43.otf | Bin 4908 -> 4928 bytes + .../AdobeVFPrototype.default.41,42.otf | Bin 4432 -> 4448 bytes + .../AdobeVFPrototype.default.41,56,57.otf | Bin 4576 -> 4596 bytes + .../AdobeVFPrototype.default.41.otf | Bin 3728 -> 3748 bytes + .../AdobeVFPrototype.default.42,57.otf | Bin 4564 -> 4580 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 5252 -> 5272 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 4720 -> 4740 bytes + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 4244 -> 4264 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 4384 -> 4408 bytes + .../AdobeVFPrototype.drop-hints.41.otf | Bin 3540 -> 3560 bytes + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 4376 -> 4396 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5440 -> 5460 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4908 -> 4928 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4432 -> 4448 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4576 -> 4596 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3728 -> 3748 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4564 -> 4580 bytes + .../Roboto-Regular.default.1E00,303.ttf | Bin 2524 -> 2520 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2116 -> 2112 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2212 -> 2208 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 2008 -> 2004 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2572 -> 2568 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1380 -> 1376 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1112 -> 1108 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1172 -> 1168 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1056 -> 1052 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1388 -> 1384 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2524 -> 2520 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2116 -> 2112 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2212 -> 2208 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 2008 -> 2004 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2572 -> 2568 bytes + .../layout.gpos/gpos1_2_font.default.41,43.otf | Bin 1292 -> 1308 bytes + .../layout.gpos/gpos1_2_font.default.41,46.otf | Bin 1424 -> 1436 bytes + .../layout.gpos/gpos1_2_font.default.41.otf | Bin 1176 -> 1188 bytes + .../layout.gpos/gpos1_2_font.default.42,44.otf | Bin 1268 -> 1280 bytes + .../layout.gpos/gpos1_2_font.default.43,46.otf | Bin 1288 -> 1300 bytes + .../gpos1_2_font.default.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,43.otf | Bin 2008 -> 2028 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,46.otf | Bin 2172 -> 2188 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41.otf | Bin 1876 -> 1892 bytes + .../layout.gpos/gpos1_2_font.retain-gids.42,44.otf | Bin 1992 -> 2012 bytes + .../layout.gpos/gpos1_2_font.retain-gids.43,46.otf | Bin 2036 -> 2052 bytes + ...os1_2_font.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../gpos2_1_font7.default.21,23,25.otf | Bin 1360 -> 1372 bytes + .../layout.gpos2/gpos2_1_font7.default.21,23.otf | Bin 1240 -> 1252 bytes + .../layout.gpos2/gpos2_1_font7.default.2E,23.otf | Bin 1508 -> 1524 bytes + .../gpos2_1_font7.default.41,42,43.otf | Bin 1288 -> 1300 bytes + .../gpos2_1_font7.default.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../gpos2_1_font7.retain-gids.21,23,25.otf | Bin 1696 -> 1716 bytes + .../gpos2_1_font7.retain-gids.21,23.otf | Bin 1564 -> 1580 bytes + .../gpos2_1_font7.retain-gids.2E,23.otf | Bin 1944 -> 1960 bytes + .../gpos2_1_font7.retain-gids.41,42,43.otf | Bin 1988 -> 2012 bytes + ...s2_1_font7.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../gpos2_2_font5.default.21,23,25.otf | Bin 1360 -> 1372 bytes + .../layout.gpos2/gpos2_2_font5.default.21,23.otf | Bin 1240 -> 1252 bytes + .../layout.gpos2/gpos2_2_font5.default.2E,23.otf | Bin 1508 -> 1524 bytes + .../gpos2_2_font5.default.41,42,43.otf | Bin 1288 -> 1300 bytes + .../gpos2_2_font5.default.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../gpos2_2_font5.retain-gids.21,23,25.otf | Bin 1696 -> 1716 bytes + .../gpos2_2_font5.retain-gids.21,23.otf | Bin 1564 -> 1580 bytes + .../gpos2_2_font5.retain-gids.2E,23.otf | Bin 1944 -> 1960 bytes + .../gpos2_2_font5.retain-gids.41,42,43.otf | Bin 1988 -> 2012 bytes + ...s2_2_font5.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 3816 bytes + .../layout.gpos3/gpos3_font3.default.28,29.otf | Bin 1248 -> 1260 bytes + .../layout.gpos3/gpos3_font3.default.28,2B.otf | Bin 1376 -> 1392 bytes + .../layout.gpos3/gpos3_font3.default.29,2B.otf | Bin 1292 -> 1304 bytes + .../layout.gpos3/gpos3_font3.default.41,42,43.otf | Bin 1284 -> 1296 bytes + .../gpos3_font3.default.retain-all-codepoint.otf | Bin 3636 -> 3848 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,29.otf | Bin 1632 -> 1652 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.otf | Bin 1780 -> 1800 bytes + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.otf | Bin 1696 -> 1712 bytes + .../gpos3_font3.retain-gids.41,42,43.otf | Bin 1984 -> 2008 bytes + ...pos3_font3.retain-gids.retain-all-codepoint.otf | Bin 3636 -> 3848 bytes + ...pos4_multiple_anchors_1.default.41,42,43,44.otf | Bin 1516 -> 1528 bytes + ...pos4_multiple_anchors_1.default.41,42,43,45.otf | Bin 1524 -> 1536 bytes + .../gpos4_multiple_anchors_1.default.41,42,43.otf | Bin 1308 -> 1320 bytes + .../gpos4_multiple_anchors_1.default.41,42.otf | Bin 1208 -> 1220 bytes + ...4_multiple_anchors_1.default.41,43,44,45,46.otf | Bin 1864 -> 1880 bytes + .../gpos4_multiple_anchors_1.default.41,43,44.otf | Bin 1524 -> 1540 bytes + .../gpos4_multiple_anchors_1.default.41,43,45.otf | Bin 1532 -> 1548 bytes + .../gpos4_multiple_anchors_1.default.41,43.otf | Bin 1312 -> 1328 bytes + .../gpos4_multiple_anchors_1.default.41.otf | Bin 1196 -> 1208 bytes + ...iple_anchors_1.default.retain-all-codepoint.otf | Bin 3668 -> 3880 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,44.otf | Bin 2220 -> 2244 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,45.otf | Bin 2244 -> 2268 bytes + ...os4_multiple_anchors_1.retain-gids.41,42,43.otf | Bin 2008 -> 2032 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,42.otf | Bin 1912 -> 1928 bytes + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.otf | Bin 2584 -> 2608 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,44.otf | Bin 2240 -> 2264 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,45.otf | Bin 2260 -> 2284 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,43.otf | Bin 2028 -> 2048 bytes + .../gpos4_multiple_anchors_1.retain-gids.41.otf | Bin 1896 -> 1912 bytes + ..._anchors_1.retain-gids.retain-all-codepoint.otf | Bin 3668 -> 3880 bytes + .../gpos5_font1.default.41,42,43,44.otf | Bin 1536 -> 1544 bytes + .../gpos5_font1.default.41,42,43,45.otf | Bin 1544 -> 1552 bytes + .../layout.gpos5/gpos5_font1.default.41,42,43.otf | Bin 1328 -> 1336 bytes + .../layout.gpos5/gpos5_font1.default.41,42,44.otf | Bin 1460 -> 1468 bytes + .../layout.gpos5/gpos5_font1.default.41,42,45.otf | Bin 1448 -> 1456 bytes + .../layout.gpos5/gpos5_font1.default.41,42.otf | Bin 1228 -> 1236 bytes + .../layout.gpos5/gpos5_font1.default.41,43.otf | Bin 1332 -> 1344 bytes + .../layout.gpos5/gpos5_font1.default.41.otf | Bin 1216 -> 1224 bytes + .../layout.gpos5/gpos5_font1.default.42.otf | Bin 1076 -> 1084 bytes + .../gpos5_font1.default.retain-all-codepoint.otf | Bin 3688 -> 3896 bytes + .../gpos5_font1.retain-gids.41,42,43,44.otf | Bin 2240 -> 2260 bytes + .../gpos5_font1.retain-gids.41,42,43,45.otf | Bin 2264 -> 2284 bytes + .../gpos5_font1.retain-gids.41,42,43.otf | Bin 2028 -> 2048 bytes + .../gpos5_font1.retain-gids.41,42,44.otf | Bin 2176 -> 2192 bytes + .../gpos5_font1.retain-gids.41,42,45.otf | Bin 2172 -> 2192 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,42.otf | Bin 1932 -> 1944 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,43.otf | Bin 2048 -> 2064 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41.otf | Bin 1916 -> 1928 bytes + .../layout.gpos5/gpos5_font1.retain-gids.42.otf | Bin 1788 -> 1800 bytes + ...pos5_font1.retain-gids.retain-all-codepoint.otf | Bin 3688 -> 3896 bytes + .../gpos6_font1.default.41,42,43,44.otf | Bin 1492 -> 1504 bytes + .../gpos6_font1.default.41,42,43,45.otf | Bin 1500 -> 1512 bytes + .../layout.gpos6/gpos6_font1.default.41,42,43.otf | Bin 1284 -> 1296 bytes + .../layout.gpos6/gpos6_font1.default.41,42.otf | Bin 1184 -> 1196 bytes + .../gpos6_font1.default.41,43,44,45,46.otf | Bin 1840 -> 1856 bytes + .../layout.gpos6/gpos6_font1.default.41,43,44.otf | Bin 1500 -> 1516 bytes + .../layout.gpos6/gpos6_font1.default.41,43,45.otf | Bin 1508 -> 1524 bytes + .../layout.gpos6/gpos6_font1.default.41,43.otf | Bin 1288 -> 1304 bytes + .../layout.gpos6/gpos6_font1.default.41.otf | Bin 1172 -> 1184 bytes + .../gpos6_font1.default.retain-all-codepoint.otf | Bin 3644 -> 3856 bytes + .../gpos6_font1.retain-gids.41,42,43,44.otf | Bin 2196 -> 2220 bytes + .../gpos6_font1.retain-gids.41,42,43,45.otf | Bin 2220 -> 2244 bytes + .../gpos6_font1.retain-gids.41,42,43.otf | Bin 1984 -> 2008 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,42.otf | Bin 1888 -> 1904 bytes + .../gpos6_font1.retain-gids.41,43,44,45,46.otf | Bin 2560 -> 2584 bytes + .../gpos6_font1.retain-gids.41,43,44.otf | Bin 2216 -> 2240 bytes + .../gpos6_font1.retain-gids.41,43,45.otf | Bin 2236 -> 2260 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,43.otf | Bin 2004 -> 2024 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41.otf | Bin 1872 -> 1888 bytes + ...pos6_font1.retain-gids.retain-all-codepoint.otf | Bin 3644 -> 3856 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12684 -> 12684 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 9992 -> 9992 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4168 -> 4168 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9516 -> 9516 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7324 -> 7324 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48012 -> 48012 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42640 -> 42640 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36696 -> 36696 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45908 -> 45908 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 37988 -> 37988 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1840 -> 1856 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1332 -> 1344 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3704 -> 3916 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2304 -> 2328 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2032 -> 2056 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3704 -> 3916 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1840 -> 1856 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 1332 -> 1344 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3704 -> 3916 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2304 -> 2328 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2032 -> 2056 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3704 -> 3916 bytes + ...pos_chaining3_simple_f1.default.30,31,32,33.otf | Bin 1816 -> 1832 bytes + .../gpos_chaining3_simple_f1.default.41,42,43.otf | Bin 1308 -> 1320 bytes + ...ing3_simple_f1.default.retain-all-codepoint.otf | Bin 3680 -> 3892 bytes + ...chaining3_simple_f1.retain-gids.30,31,32,33.otf | Bin 2280 -> 2304 bytes + ...os_chaining3_simple_f1.retain-gids.41,42,43.otf | Bin 2008 -> 2032 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3680 -> 3892 bytes + .../layout.gpos9/gpos9_font2.default.41,42.otf | Bin 1184 -> 1196 bytes + .../layout.gpos9/gpos9_font2.default.41.otf | Bin 1172 -> 1184 bytes + .../layout.gpos9/gpos9_font2.default.42.otf | Bin 1032 -> 1044 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41,42.otf | Bin 1888 -> 1904 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41.otf | Bin 1872 -> 1888 bytes + .../layout.gpos9/gpos9_font2.retain-gids.42.otf | Bin 1744 -> 1760 bytes + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 4348 -> 4372 bytes + .../gsub_alternate_substitution.default.53A9.otf | Bin 3904 -> 3928 bytes + .../gsub_alternate_substitution.default.53F1.otf | Bin 2452 -> 2484 bytes + ...e_substitution.default.retain-all-codepoint.otf | Bin 6040 -> 6064 bytes + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 4472 -> 4496 bytes + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 4056 -> 4080 bytes + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 2648 -> 2676 bytes + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 6132 -> 6156 bytes + ...text1_multiple_subrules_f2.default.41,42,43.otf | Bin 1340 -> 1352 bytes + ...context1_multiple_subrules_f2.default.41,42.otf | Bin 1240 -> 1252 bytes + ...context1_multiple_subrules_f2.default.41,43.otf | Bin 1344 -> 1360 bytes + ...ub_context1_multiple_subrules_f2.default.41.otf | Bin 1228 -> 1240 bytes + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3712 -> 3924 bytes + ...1_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2040 -> 2064 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,42.otf | Bin 1944 -> 1960 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,43.otf | Bin 2060 -> 2080 bytes + ...ontext1_multiple_subrules_f2.retain-gids.41.otf | Bin 1928 -> 1944 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3712 -> 3924 bytes + ...text2_multiple_subrules_f2.default.41,42,43.otf | Bin 1340 -> 1352 bytes + ...context2_multiple_subrules_f2.default.41,42.otf | Bin 1240 -> 1252 bytes + ...context2_multiple_subrules_f2.default.41,43.otf | Bin 1344 -> 1360 bytes + ...ub_context2_multiple_subrules_f2.default.41.otf | Bin 1228 -> 1240 bytes + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3712 -> 3924 bytes + ...2_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2040 -> 2064 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,42.otf | Bin 1944 -> 1960 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,43.otf | Bin 2060 -> 2080 bytes + ...ontext2_multiple_subrules_f2.retain-gids.41.otf | Bin 1928 -> 1944 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3712 -> 3924 bytes + ...sub_context3_successive_f1.default.41,42,43.otf | Bin 1328 -> 1340 bytes + .../gsub_context3_successive_f1.default.41,42.otf | Bin 1228 -> 1240 bytes + .../gsub_context3_successive_f1.default.41,43.otf | Bin 1332 -> 1348 bytes + .../gsub_context3_successive_f1.default.41.otf | Bin 1216 -> 1228 bytes + ..._successive_f1.default.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + ...context3_successive_f1.retain-gids.41,42,43.otf | Bin 2028 -> 2052 bytes + ...ub_context3_successive_f1.retain-gids.41,42.otf | Bin 1932 -> 1948 bytes + ...ub_context3_successive_f1.retain-gids.41,43.otf | Bin 2048 -> 2068 bytes + .../gsub_context3_successive_f1.retain-gids.41.otf | Bin 1916 -> 1932 bytes + ...cessive_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 3912 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1852 -> 1868 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 1356 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3716 -> 3928 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2316 -> 2340 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2044 -> 2068 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3716 -> 3928 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1852 -> 1868 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 1356 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3716 -> 3928 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2316 -> 2340 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2044 -> 2068 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3716 -> 3928 bytes + ...sub_chaining3_simple_f2.default.30,31,32,33.otf | Bin 1828 -> 1844 bytes + .../gsub_chaining3_simple_f2.default.41,42,43.otf | Bin 1320 -> 1332 bytes + ...ing3_simple_f2.default.retain-all-codepoint.otf | Bin 3692 -> 3904 bytes + ...chaining3_simple_f2.retain-gids.30,31,32,33.otf | Bin 2292 -> 2316 bytes + ...ub_chaining3_simple_f2.retain-gids.41,42,43.otf | Bin 2020 -> 2044 bytes + ..._simple_f2.retain-gids.retain-all-codepoint.otf | Bin 3692 -> 3904 bytes + ..._created.default.41,42,43,44,45,46,47,48,49.otf | Bin 2176 -> 2188 bytes + ...nually_created.default.41,42,43,44,45,46,47.otf | Bin 1888 -> 1904 bytes + ...nually_created.default.41,42,43,44,45,46,4D.otf | Bin 1852 -> 1868 bytes + ...nually_created.default.41,42,43,44,45,46,51.otf | Bin 1932 -> 1948 bytes + ..._manually_created.default.41,42,43,44,45,46.otf | Bin 1832 -> 1844 bytes + .../gsub8_manually_created.default.41,42,43.otf | Bin 1284 -> 1296 bytes + .../gsub8_manually_created.default.41.otf | Bin 1172 -> 1184 bytes + .../gsub8_manually_created.default.61.otf | Bin 1224 -> 1236 bytes + ...nually_created.default.retain-all-codepoint.otf | Bin 3656 -> 3868 bytes + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 2884 -> 2916 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,47.otf | Bin 2596 -> 2624 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,4D.otf | Bin 2636 -> 2668 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,51.otf | Bin 2760 -> 2792 bytes + ...ually_created.retain-gids.41,42,43,44,45,46.otf | Bin 2540 -> 2564 bytes + ...gsub8_manually_created.retain-gids.41,42,43.otf | Bin 1984 -> 2008 bytes + .../gsub8_manually_created.retain-gids.41.otf | Bin 1872 -> 1888 bytes + .../gsub8_manually_created.retain-gids.61.otf | Bin 2276 -> 2292 bytes + ...ly_created.retain-gids.retain-all-codepoint.otf | Bin 3656 -> 3868 bytes + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 4204 -> 4200 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 6412 -> 6408 bytes + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 4140 -> 4136 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 4464 -> 4460 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 7848 -> 7844 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 4256 -> 4252 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11396 -> 11388 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 18248 -> 17688 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3528 -> 3520 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12368 -> 12380 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 20368 -> 19380 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18232 -> 18224 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 24376 -> 23748 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9176 -> 9164 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18172 -> 18184 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 26588 -> 25432 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 2464 -> 2460 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2284 -> 2280 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2084 -> 2080 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2116 -> 2112 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2388 -> 2384 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 2716 -> 2712 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 2548 -> 2544 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 2336 -> 2332 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 2384 -> 2380 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 6476 -> 6472 bytes + .../data/expected/sbix/sbix.default.58,59.ttf | Bin 193528 -> 193528 bytes + test/subset/data/expected/sbix/sbix.default.58.ttf | Bin 121168 -> 121168 bytes + test/subset/data/expected/sbix/sbix.default.59.ttf | Bin 89364 -> 89364 bytes + .../sbix/sbix.drop-hints-retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../sbix/sbix.drop-hints-retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../sbix/sbix.drop-hints-retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../data/expected/sbix/sbix.drop-hints.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.drop-hints.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.drop-hints.59.ttf | Bin 89364 -> 89364 bytes + .../data/expected/sbix/sbix.retain-gids.58,59.ttf | Bin 193528 -> 193528 bytes + .../data/expected/sbix/sbix.retain-gids.58.ttf | Bin 121168 -> 121168 bytes + .../data/expected/sbix/sbix.retain-gids.59.ttf | Bin 89404 -> 89404 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15792 -> 15856 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 4228 -> 4232 bytes + test/subset/generate-expected-outputs.py | 54 +++++++++++++++++++-- + test/subset/run-tests.py | 12 ++++- + 948 files changed, 60 insertions(+), 6 deletions(-) + +commit 770fbd5aa66b8f557d45366ed51df5a0b26e9e4b +Author: Khaled Hosny +Date: Wed Aug 4 00:07:23 2021 +0200 + + Revert "[test] Speed-up subset tests by saving TTX dump" + + This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1. + + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 0 -> 7060 bytes + .../Comfortaa-Regular-new.default.61,62,63.ttx | 4507 - + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 0 -> 6692 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttx | 4359 - + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 0 -> 6328 bytes + .../basics/Comfortaa-Regular-new.default.61.ttx | 4198 - + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 0 -> 6200 bytes + .../basics/Comfortaa-Regular-new.default.62.ttx | 4151 - + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 0 -> 6256 bytes + .../basics/Comfortaa-Regular-new.default.63.ttx | 4209 - + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttx | 132956 ----------------- + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 0 -> 4608 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttx | 1918 - + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 0 -> 4312 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttx | 1785 - + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 0 -> 3724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttx | 1493 - + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 0 -> 3900 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttx | 1600 - + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 0 -> 3972 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttx | 1662 - + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 189800 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 122816 ---------------- + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 0 -> 2600 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttx | 813 - + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 0 -> 2296 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttx | 675 - + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 0 -> 1976 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttx | 523 - + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 0 -> 1900 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttx | 490 - + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 0 -> 1968 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttx | 547 - + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 189756 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttx | 122806 ---------------- + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 0 -> 7988 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttx | 4929 - + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 0 -> 7628 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttx | 4778 - + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 0 -> 7256 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttx | 4614 - + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 0 -> 7184 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttx | 4606 - + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 0 -> 7180 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttx | 4623 - + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttx | 132956 ----------------- + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 0 -> 7072 bytes + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttx | 4519 - + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 0 -> 6700 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttx | 4371 - + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 0 -> 6336 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttx | 4210 - + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 0 -> 6208 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttx | 4163 - + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 0 -> 6264 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttx | 4221 - + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 227920 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttx | 133598 ------------------ + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 7504 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttx | 4670 - + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 0 -> 7140 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttx | 4519 - + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 0 -> 6772 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttx | 4355 - + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 0 -> 6200 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttx | 4151 - + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 0 -> 6256 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttx | 4209 - + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 221620 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 133303 ----------------- + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 0 -> 7060 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttx | 4507 - + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 0 -> 6692 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttx | 4359 - + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 0 -> 6328 bytes + .../Comfortaa-Regular-new.layout-features.61.ttx | 4198 - + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 0 -> 6200 bytes + .../Comfortaa-Regular-new.layout-features.62.ttx | 4151 - + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 0 -> 6256 bytes + .../Comfortaa-Regular-new.layout-features.63.ttx | 4209 - + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 0 -> 219124 bytes + ...ar-new.layout-features.retain-all-codepoint.ttx | 131168 ----------------- + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 0 -> 6800 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttx | 4495 - + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 0 -> 6432 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttx | 4347 - + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 0 -> 6068 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttx | 4186 - + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 0 -> 5940 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttx | 4139 - + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 0 -> 5996 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttx | 4197 - + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 0 -> 220668 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttx | 132944 ----------------- + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 0 -> 7060 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttx | 4507 - + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 0 -> 6692 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttx | 4359 - + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 0 -> 6328 bytes + .../Comfortaa-Regular-new.name-languages.61.ttx | 4198 - + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 0 -> 6200 bytes + .../Comfortaa-Regular-new.name-languages.62.ttx | 4151 - + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 0 -> 6256 bytes + .../Comfortaa-Regular-new.name-languages.63.ttx | 4209 - + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...lar-new.name-languages.retain-all-codepoint.ttx | 132956 ----------------- + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 0 -> 7060 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttx | 4507 - + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 0 -> 6692 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttx | 4359 - + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 0 -> 6328 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttx | 4198 - + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 0 -> 6200 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttx | 4151 - + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 0 -> 6256 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttx | 4209 - + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttx | 132956 ----------------- + ...egular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 7060 bytes + ...egular-new.no-prune-unicode-ranges.61,62,63.ttx | 4507 - + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 6692 bytes + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttx | 4359 - + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 0 -> 6328 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttx | 4198 - + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 0 -> 6200 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttx | 4151 - + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 0 -> 6256 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttx | 4209 - + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 132956 ----------------- + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 0 -> 7652 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttx | 4758 - + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 0 -> 7284 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttx | 4610 - + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 0 -> 6920 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttx | 4449 - + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 0 -> 6796 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttx | 4402 - + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 0 -> 6844 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttx | 4460 - + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 221524 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttx | 133207 ----------------- + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 0 -> 9068 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttx | 5612 - + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 0 -> 8708 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttx | 5469 - + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 0 -> 8076 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttx | 5168 - + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 0 -> 8200 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttx | 5261 - + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 0 -> 8260 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttx | 5324 - + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 220972 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttx | 132966 ----------------- + ...numMyeongjo-Regular-subset.default.61,62,63.ttf | Bin 0 -> 4128 bytes + ...numMyeongjo-Regular-subset.default.61,62,63.ttx | 2032 - + .../NanumMyeongjo-Regular-subset.default.61,63.ttf | Bin 0 -> 3580 bytes + .../NanumMyeongjo-Regular-subset.default.61,63.ttx | 1822 - + .../NanumMyeongjo-Regular-subset.default.61.ttf | Bin 0 -> 3156 bytes + .../NanumMyeongjo-Regular-subset.default.61.ttx | 1696 - + .../NanumMyeongjo-Regular-subset.default.62.ttf | Bin 0 -> 3180 bytes + .../NanumMyeongjo-Regular-subset.default.62.ttx | 1719 - + .../NanumMyeongjo-Regular-subset.default.63.ttf | Bin 0 -> 3048 bytes + .../NanumMyeongjo-Regular-subset.default.63.ttx | 1635 - + ...Regular-subset.default.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...Regular-subset.default.retain-all-codepoint.ttx | 4391 - + ...ular-subset.drop-hints-retain-gids.61,62,63.ttf | Bin 0 -> 1452 bytes + ...ular-subset.drop-hints-retain-gids.61,62,63.ttx | 380 - + ...Regular-subset.drop-hints-retain-gids.61,63.ttf | Bin 0 -> 1284 bytes + ...Regular-subset.drop-hints-retain-gids.61,63.ttx | 314 - + ...jo-Regular-subset.drop-hints-retain-gids.61.ttf | Bin 0 -> 1128 bytes + ...jo-Regular-subset.drop-hints-retain-gids.61.ttx | 254 - + ...jo-Regular-subset.drop-hints-retain-gids.62.ttf | Bin 0 -> 1144 bytes + ...jo-Regular-subset.drop-hints-retain-gids.62.ttx | 261 - + ...jo-Regular-subset.drop-hints-retain-gids.63.ttf | Bin 0 -> 1116 bytes + ...jo-Regular-subset.drop-hints-retain-gids.63.ttx | 251 - + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 3536 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 1215 - + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 0 -> 1452 bytes + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttx | 380 - + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttf | Bin 0 -> 1276 bytes + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttx | 310 - + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 0 -> 1128 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttx | 254 - + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 0 -> 1140 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttx | 257 - + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 0 -> 1104 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttx | 243 - + ...ular-subset.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 3536 bytes + ...ular-subset.drop-hints.retain-all-codepoint.ttx | 1215 - + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttx | 2032 - + .../NanumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61,63.ttx | 2032 - + .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.61.ttx | 2032 - + .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.62.ttx | 2032 - + .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.gids.63.ttx | 2032 - + ...jo-Regular-subset.gids.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...jo-Regular-subset.gids.retain-all-codepoint.ttx | 4391 - + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 0 -> 4128 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttx | 2032 - + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 0 -> 3580 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttx | 1822 - + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 0 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttx | 1696 - + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 0 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttx | 1719 - + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 0 -> 3048 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttx | 1635 - + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttx | 4391 - + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 4128 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttx | 2032 - + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 0 -> 3580 bytes + ...gular-subset.keep-all-layout-features.61,63.ttx | 1822 - + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 0 -> 3156 bytes + ...-Regular-subset.keep-all-layout-features.61.ttx | 1696 - + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 0 -> 3180 bytes + ...-Regular-subset.keep-all-layout-features.62.ttx | 1719 - + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 0 -> 3048 bytes + ...-Regular-subset.keep-all-layout-features.63.ttx | 1635 - + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 4391 - + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 0 -> 4128 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttx | 2032 - + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 0 -> 3580 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttx | 1822 - + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 0 -> 3156 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttx | 1696 - + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 0 -> 3180 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttx | 1719 - + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 0 -> 3048 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttx | 1635 - + ...subset.layout-features.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...subset.layout-features.retain-all-codepoint.ttx | 4391 - + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 0 -> 3924 bytes + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttx | 2020 - + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttf | Bin 0 -> 3376 bytes + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttx | 1810 - + .../NanumMyeongjo-Regular-subset.name-ids.61.ttf | Bin 0 -> 2952 bytes + .../NanumMyeongjo-Regular-subset.name-ids.61.ttx | 1684 - + .../NanumMyeongjo-Regular-subset.name-ids.62.ttf | Bin 0 -> 2976 bytes + .../NanumMyeongjo-Regular-subset.name-ids.62.ttx | 1707 - + .../NanumMyeongjo-Regular-subset.name-ids.63.ttf | Bin 0 -> 2844 bytes + .../NanumMyeongjo-Regular-subset.name-ids.63.ttx | 1623 - + ...egular-subset.name-ids.retain-all-codepoint.ttf | Bin 0 -> 9320 bytes + ...egular-subset.name-ids.retain-all-codepoint.ttx | 4379 - + ...ngjo-Regular-subset.name-languages.61,62,63.ttf | Bin 0 -> 4172 bytes + ...ngjo-Regular-subset.name-languages.61,62,63.ttx | 2041 - + ...yeongjo-Regular-subset.name-languages.61,63.ttf | Bin 0 -> 3624 bytes + ...yeongjo-Regular-subset.name-languages.61,63.ttx | 1831 - + ...umMyeongjo-Regular-subset.name-languages.61.ttf | Bin 0 -> 3200 bytes + ...umMyeongjo-Regular-subset.name-languages.61.ttx | 1705 - + ...umMyeongjo-Regular-subset.name-languages.62.ttf | Bin 0 -> 3224 bytes + ...umMyeongjo-Regular-subset.name-languages.62.ttx | 1728 - + ...umMyeongjo-Regular-subset.name-languages.63.ttf | Bin 0 -> 3092 bytes + ...umMyeongjo-Regular-subset.name-languages.63.ttx | 1644 - + ...-subset.name-languages.retain-all-codepoint.ttf | Bin 0 -> 9568 bytes + ...-subset.name-languages.retain-all-codepoint.ttx | 4400 - + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttf | Bin 0 -> 4128 bytes + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttx | 2032 - + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttf | Bin 0 -> 3580 bytes + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttx | 1822 - + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttf | Bin 0 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttx | 1696 - + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttf | Bin 0 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttx | 1719 - + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttf | Bin 0 -> 3048 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttx | 1635 - + ...lar-subset.name-legacy.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...lar-subset.name-legacy.retain-all-codepoint.ttx | 4391 - + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 4128 bytes + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttx | 2032 - + ...egular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 3580 bytes + ...egular-subset.no-prune-unicode-ranges.61,63.ttx | 1822 - + ...o-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 0 -> 3156 bytes + ...o-Regular-subset.no-prune-unicode-ranges.61.ttx | 1696 - + ...o-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 0 -> 3180 bytes + ...o-Regular-subset.no-prune-unicode-ranges.62.ttx | 1719 - + ...o-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 0 -> 3048 bytes + ...o-Regular-subset.no-prune-unicode-ranges.63.ttx | 1635 - + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 4391 - + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 0 -> 4128 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttx | 2032 - + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 0 -> 3580 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttx | 1822 - + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 0 -> 3156 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttx | 1696 - + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 0 -> 3180 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttx | 1719 - + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 0 -> 3048 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttx | 1635 - + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttx | 4391 - + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttf | Bin 0 -> 4128 bytes + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttx | 2032 - + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttf | Bin 0 -> 3588 bytes + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttx | 1826 - + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttf | Bin 0 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttx | 1696 - + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttf | Bin 0 -> 3184 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttx | 1723 - + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttf | Bin 0 -> 3060 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttx | 1643 - + ...lar-subset.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...lar-subset.retain-gids.retain-all-codepoint.ttx | 4391 - + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 0 -> 2452 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttx | 1407 - + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 0 -> 2260 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttx | 1259 - + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.default.61.ttx | 1127 - + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.default.62.ttx | 1025 - + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 0 -> 1972 bytes + .../basics/Roboto-Regular.abc.default.63.ttx | 1073 - + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttx | 1407 - + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 0 -> 1192 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttx | 479 - + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 0 -> 1124 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttx | 433 - + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 0 -> 984 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttx | 374 - + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 0 -> 880 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttx | 297 - + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 0 -> 968 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttx | 369 - + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1192 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 479 - + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 0 -> 1192 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttx | 479 - + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 0 -> 1108 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttx | 429 - + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 0 -> 984 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttx | 374 - + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 0 -> 876 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttx | 293 - + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 0 -> 956 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttx | 361 - + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 1192 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttx | 479 - + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 0 -> 2452 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttx | 1407 - + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 0 -> 2452 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttx | 1407 - + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 0 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttx | 1407 - + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 0 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttx | 1407 - + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 0 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttx | 1407 - + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttx | 1259 - + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttx | 1127 - + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttx | 1025 - + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 0 -> 1972 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttx | 1073 - + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttx | 1407 - + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 2452 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttx | 1407 - + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 0 -> 2260 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttx | 1259 - + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 0 -> 2048 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttx | 1127 - + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 0 -> 1916 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttx | 1025 - + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 0 -> 1972 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttx | 1073 - + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 1407 - + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 0 -> 2452 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttx | 1259 - + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.layout-features.61.ttx | 1127 - + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.layout-features.62.ttx | 1025 - + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 0 -> 1972 bytes + .../Roboto-Regular.abc.layout-features.63.ttx | 1073 - + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttx | 1407 - + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 0 -> 2260 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttx | 1259 - + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttx | 1127 - + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttx | 1025 - + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 0 -> 1972 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttx | 1073 - + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttx | 1259 - + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.name-languages.61.ttx | 1127 - + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.name-languages.62.ttx | 1025 - + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 0 -> 1972 bytes + .../Roboto-Regular.abc.name-languages.63.ttx | 1073 - + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttx | 1259 - + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttx | 1127 - + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttx | 1025 - + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 0 -> 1972 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttx | 1073 - + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttx | 1407 - + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 2452 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttx | 1407 - + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 2260 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttx | 1259 - + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 0 -> 2048 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttx | 1127 - + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 0 -> 1916 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttx | 1025 - + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 0 -> 1972 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttx | 1073 - + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttx | 1259 - + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttx | 1127 - + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttx | 1025 - + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 0 -> 1972 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttx | 1073 - + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttx | 1407 - + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttx | 1407 - + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 0 -> 2276 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttx | 1264 - + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttx | 1127 - + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 0 -> 1924 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttx | 1030 - + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 0 -> 1988 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttx | 1083 - + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttx | 1407 - + .../cbdt/NotoColorEmoji.subset.default.2049.ttf | Bin 0 -> 3112 bytes + .../cbdt/NotoColorEmoji.subset.default.2049.ttx | 397 - + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttf | Bin 0 -> 4084 bytes + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttx | 474 - + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttf | Bin 0 -> 3568 bytes + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttx | 441 - + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10124 bytes + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttx | 898 - + .../NotoColorEmoji.subset.default.38,AE,2049.ttf | Bin 0 -> 7544 bytes + .../NotoColorEmoji.subset.default.38,AE,2049.ttx | 705 - + .../cbdt/NotoColorEmoji.subset.default.39.ttf | Bin 0 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.default.39.ttx | 323 - + .../cbdt/NotoColorEmoji.subset.default.AE.ttf | Bin 0 -> 4412 bytes + .../cbdt/NotoColorEmoji.subset.default.AE.ttx | 478 - + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttf | Bin 0 -> 3136 bytes + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttx | 406 - + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttf | Bin 0 -> 4108 bytes + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttx | 480 - + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttf | Bin 0 -> 3600 bytes + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttx | 450 - + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10124 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 898 - + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttf | Bin 0 -> 7564 bytes + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttx | 708 - + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttf | Bin 0 -> 1928 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttx | 326 - + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttf | Bin 0 -> 4428 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttx | 484 - + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttf | Bin 0 -> 3112 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttx | 397 - + .../NotoColorEmoji.subset.drop-hints.38,2049.ttf | Bin 0 -> 4084 bytes + .../NotoColorEmoji.subset.drop-hints.38,2049.ttx | 474 - + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttf | Bin 0 -> 3568 bytes + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttx | 441 - + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10124 bytes + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttx | 898 - + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttf | Bin 0 -> 7544 bytes + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttx | 705 - + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttf | Bin 0 -> 1920 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttx | 323 - + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttf | Bin 0 -> 4412 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttx | 478 - + .../NotoColorEmoji.subset.gap.default.2049.ttf | Bin 0 -> 3112 bytes + .../NotoColorEmoji.subset.gap.default.2049.ttx | 397 - + .../NotoColorEmoji.subset.gap.default.38,2049.ttf | Bin 0 -> 4084 bytes + .../NotoColorEmoji.subset.gap.default.38,2049.ttx | 474 - + .../NotoColorEmoji.subset.gap.default.38,20E3.ttf | Bin 0 -> 3568 bytes + .../NotoColorEmoji.subset.gap.default.38,20E3.ttx | 441 - + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 9188 bytes + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttx | 827 - + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttf | Bin 0 -> 7544 bytes + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttx | 705 - + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttf | Bin 0 -> 908 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttx | 207 - + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttf | Bin 0 -> 4412 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttx | 478 - + ...moji.subset.gap.drop-hints-retain-gids.2049.ttf | Bin 0 -> 3136 bytes + ...moji.subset.gap.drop-hints-retain-gids.2049.ttx | 406 - + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttf | Bin 0 -> 4108 bytes + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttx | 480 - + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttf | Bin 0 -> 3600 bytes + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttx | 450 - + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 9188 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 827 - + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttf | Bin 0 -> 7564 bytes + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttx | 708 - + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttf | Bin 0 -> 916 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttx | 210 - + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttf | Bin 0 -> 4428 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttx | 484 - + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttf | Bin 0 -> 3112 bytes + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttx | 397 - + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttf | Bin 0 -> 4084 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttx | 474 - + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttf | Bin 0 -> 3568 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttx | 441 - + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 9188 bytes + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttx | 827 - + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttf | Bin 0 -> 7544 bytes + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttx | 705 - + .../NotoColorEmoji.subset.gap.drop-hints.39.ttf | Bin 0 -> 908 bytes + .../NotoColorEmoji.subset.gap.drop-hints.39.ttx | 207 - + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttf | Bin 0 -> 4412 bytes + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttx | 478 - + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttf | Bin 0 -> 3136 bytes + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttx | 406 - + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttf | Bin 0 -> 4108 bytes + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttx | 480 - + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttf | Bin 0 -> 3600 bytes + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttx | 450 - + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 9188 bytes + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttx | 827 - + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttf | Bin 0 -> 7564 bytes + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttx | 708 - + .../NotoColorEmoji.subset.gap.retain-gids.39.ttf | Bin 0 -> 916 bytes + .../NotoColorEmoji.subset.gap.retain-gids.39.ttx | 210 - + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttf | Bin 0 -> 4428 bytes + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttx | 484 - + ...olorEmoji.subset.index_format3.default.2049.ttf | Bin 0 -> 3108 bytes + ...olorEmoji.subset.index_format3.default.2049.ttx | 397 - + ...rEmoji.subset.index_format3.default.38,2049.ttf | Bin 0 -> 4076 bytes + ...rEmoji.subset.index_format3.default.38,2049.ttx | 474 - + ...rEmoji.subset.index_format3.default.38,20E3.ttf | Bin 0 -> 3560 bytes + ...rEmoji.subset.index_format3.default.38,20E3.ttx | 441 - + ...index_format3.default.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10112 bytes + ...index_format3.default.38,39,AE,2049,38,20E3.ttx | 898 - + ...oji.subset.index_format3.default.38,AE,2049.ttf | Bin 0 -> 7536 bytes + ...oji.subset.index_format3.default.38,AE,2049.ttx | 705 - + ...oColorEmoji.subset.index_format3.default.39.ttf | Bin 0 -> 1916 bytes + ...oColorEmoji.subset.index_format3.default.39.ttx | 323 - + ...oColorEmoji.subset.index_format3.default.AE.ttf | Bin 0 -> 4408 bytes + ...oColorEmoji.subset.index_format3.default.AE.ttx | 478 - + ...t.index_format3.drop-hints-retain-gids.2049.ttf | Bin 0 -> 3132 bytes + ...t.index_format3.drop-hints-retain-gids.2049.ttx | 406 - + ...ndex_format3.drop-hints-retain-gids.38,2049.ttf | Bin 0 -> 4100 bytes + ...ndex_format3.drop-hints-retain-gids.38,2049.ttx | 480 - + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttf | Bin 0 -> 3592 bytes + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttx | 450 - + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10112 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 898 - + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttf | Bin 0 -> 7552 bytes + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttx | 708 - + ...set.index_format3.drop-hints-retain-gids.39.ttf | Bin 0 -> 1924 bytes + ...set.index_format3.drop-hints-retain-gids.39.ttx | 326 - + ...set.index_format3.drop-hints-retain-gids.AE.ttf | Bin 0 -> 4424 bytes + ...set.index_format3.drop-hints-retain-gids.AE.ttx | 484 - + ...rEmoji.subset.index_format3.drop-hints.2049.ttf | Bin 0 -> 3108 bytes + ...rEmoji.subset.index_format3.drop-hints.2049.ttx | 397 - + ...oji.subset.index_format3.drop-hints.38,2049.ttf | Bin 0 -> 4076 bytes + ...oji.subset.index_format3.drop-hints.38,2049.ttx | 474 - + ...oji.subset.index_format3.drop-hints.38,20E3.ttf | Bin 0 -> 3560 bytes + ...oji.subset.index_format3.drop-hints.38,20E3.ttx | 441 - + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10112 bytes + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttx | 898 - + ....subset.index_format3.drop-hints.38,AE,2049.ttf | Bin 0 -> 7536 bytes + ....subset.index_format3.drop-hints.38,AE,2049.ttx | 705 - + ...lorEmoji.subset.index_format3.drop-hints.39.ttf | Bin 0 -> 1916 bytes + ...lorEmoji.subset.index_format3.drop-hints.39.ttx | 323 - + ...lorEmoji.subset.index_format3.drop-hints.AE.ttf | Bin 0 -> 4408 bytes + ...lorEmoji.subset.index_format3.drop-hints.AE.ttx | 478 - + ...Emoji.subset.index_format3.retain-gids.2049.ttf | Bin 0 -> 3132 bytes + ...Emoji.subset.index_format3.retain-gids.2049.ttx | 406 - + ...ji.subset.index_format3.retain-gids.38,2049.ttf | Bin 0 -> 4100 bytes + ...ji.subset.index_format3.retain-gids.38,2049.ttx | 480 - + ...ji.subset.index_format3.retain-gids.38,20E3.ttf | Bin 0 -> 3592 bytes + ...ji.subset.index_format3.retain-gids.38,20E3.ttx | 450 - + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10112 bytes + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttx | 898 - + ...subset.index_format3.retain-gids.38,AE,2049.ttf | Bin 0 -> 7552 bytes + ...subset.index_format3.retain-gids.38,AE,2049.ttx | 708 - + ...orEmoji.subset.index_format3.retain-gids.39.ttf | Bin 0 -> 1924 bytes + ...orEmoji.subset.index_format3.retain-gids.39.ttx | 326 - + ...orEmoji.subset.index_format3.retain-gids.AE.ttf | Bin 0 -> 4424 bytes + ...orEmoji.subset.index_format3.retain-gids.AE.ttx | 484 - + ...ji.subset.multiple_size_tables.default.2049.ttf | Bin 0 -> 5312 bytes + ...ji.subset.multiple_size_tables.default.2049.ttx | 587 - + ...subset.multiple_size_tables.default.38,2049.ttf | Bin 0 -> 7244 bytes + ...subset.multiple_size_tables.default.38,2049.ttx | 736 - + ...subset.multiple_size_tables.default.38,20E3.ttf | Bin 0 -> 6212 bytes + ...subset.multiple_size_tables.default.38,20E3.ttx | 671 - + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 19280 bytes + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttx | 1570 - + ...set.multiple_size_tables.default.38,AE,2049.ttf | Bin 0 -> 14140 bytes + ...set.multiple_size_tables.default.38,AE,2049.ttx | 1193 - + ...moji.subset.multiple_size_tables.default.39.ttf | Bin 0 -> 2928 bytes + ...moji.subset.multiple_size_tables.default.39.ttx | 439 - + ...moji.subset.multiple_size_tables.default.AE.ttf | Bin 0 -> 7916 bytes + ...moji.subset.multiple_size_tables.default.AE.ttx | 749 - + ...ple_size_tables.drop-hints-retain-gids.2049.ttf | Bin 0 -> 5336 bytes + ...ple_size_tables.drop-hints-retain-gids.2049.ttx | 596 - + ..._size_tables.drop-hints-retain-gids.38,2049.ttf | Bin 0 -> 7268 bytes + ..._size_tables.drop-hints-retain-gids.38,2049.ttx | 742 - + ..._size_tables.drop-hints-retain-gids.38,20E3.ttf | Bin 0 -> 6244 bytes + ..._size_tables.drop-hints-retain-gids.38,20E3.ttx | 680 - + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 19280 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 1570 - + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttf | Bin 0 -> 14164 bytes + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttx | 1196 - + ...tiple_size_tables.drop-hints-retain-gids.39.ttf | Bin 0 -> 2936 bytes + ...tiple_size_tables.drop-hints-retain-gids.39.ttx | 442 - + ...tiple_size_tables.drop-hints-retain-gids.AE.ttf | Bin 0 -> 7932 bytes + ...tiple_size_tables.drop-hints-retain-gids.AE.ttx | 755 - + ...subset.multiple_size_tables.drop-hints.2049.ttf | Bin 0 -> 5312 bytes + ...subset.multiple_size_tables.drop-hints.2049.ttx | 587 - + ...set.multiple_size_tables.drop-hints.38,2049.ttf | Bin 0 -> 7244 bytes + ...set.multiple_size_tables.drop-hints.38,2049.ttx | 736 - + ...set.multiple_size_tables.drop-hints.38,20E3.ttf | Bin 0 -> 6212 bytes + ...set.multiple_size_tables.drop-hints.38,20E3.ttx | 671 - + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 19280 bytes + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttx | 1570 - + ....multiple_size_tables.drop-hints.38,AE,2049.ttf | Bin 0 -> 14140 bytes + ....multiple_size_tables.drop-hints.38,AE,2049.ttx | 1193 - + ...i.subset.multiple_size_tables.drop-hints.39.ttf | Bin 0 -> 2928 bytes + ...i.subset.multiple_size_tables.drop-hints.39.ttx | 439 - + ...i.subset.multiple_size_tables.drop-hints.AE.ttf | Bin 0 -> 7916 bytes + ...i.subset.multiple_size_tables.drop-hints.AE.ttx | 749 - + ...ubset.multiple_size_tables.retain-gids.2049.ttf | Bin 0 -> 5336 bytes + ...ubset.multiple_size_tables.retain-gids.2049.ttx | 596 - + ...et.multiple_size_tables.retain-gids.38,2049.ttf | Bin 0 -> 7268 bytes + ...et.multiple_size_tables.retain-gids.38,2049.ttx | 742 - + ...et.multiple_size_tables.retain-gids.38,20E3.ttf | Bin 0 -> 6244 bytes + ...et.multiple_size_tables.retain-gids.38,20E3.ttx | 680 - + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 19280 bytes + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttx | 1570 - + ...multiple_size_tables.retain-gids.38,AE,2049.ttf | Bin 0 -> 14164 bytes + ...multiple_size_tables.retain-gids.38,AE,2049.ttx | 1196 - + ....subset.multiple_size_tables.retain-gids.39.ttf | Bin 0 -> 2936 bytes + ....subset.multiple_size_tables.retain-gids.39.ttx | 442 - + ....subset.multiple_size_tables.retain-gids.AE.ttf | Bin 0 -> 7932 bytes + ....subset.multiple_size_tables.retain-gids.AE.ttx | 755 - + .../NotoColorEmoji.subset.retain-gids.2049.ttf | Bin 0 -> 3136 bytes + .../NotoColorEmoji.subset.retain-gids.2049.ttx | 406 - + .../NotoColorEmoji.subset.retain-gids.38,2049.ttf | Bin 0 -> 4108 bytes + .../NotoColorEmoji.subset.retain-gids.38,2049.ttx | 480 - + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttf | Bin 0 -> 3600 bytes + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttx | 450 - + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 0 -> 10124 bytes + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttx | 898 - + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttf | Bin 0 -> 7564 bytes + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttx | 708 - + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttf | Bin 0 -> 1928 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttx | 326 - + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttf | Bin 0 -> 4428 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttx | 484 - + ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 0 -> 2580 bytes + ...eSansPro-Regular.default.1FC,21,41,20,62,63.ttx | 738 - + .../SourceSansPro-Regular.default.61,62,63.otf | Bin 0 -> 2216 bytes + .../SourceSansPro-Regular.default.61,62,63.ttx | 587 - + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 0 -> 2328 bytes + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.ttx | 578 - + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 20232 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.ttx | 6312 - + ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 0 -> 2316 bytes + ...Regular.desubroutinize-retain-gids.61,62,63.ttx | 627 - + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 30540 bytes + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.ttx | 9248 -- + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 -> 2436 bytes + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.ttx | 612 - + ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 0 -> 2120 bytes + ...urceSansPro-Regular.desubroutinize.61,62,63.ttx | 492 - + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 -> 2312 bytes + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.ttx | 523 - + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 20064 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.ttx | 6281 - + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 0 -> 2192 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.ttx | 607 - + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 30372 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.ttx | 9215 -- + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 0 -> 2268 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.ttx | 581 - + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 0 -> 1996 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.ttx | 472 - + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 0 -> 2148 bytes + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.ttx | 490 - + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 20156 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.ttx | 6367 - + ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 0 -> 2228 bytes + ...Pro-Regular.drop-hints-retain-gids.61,62,63.ttx | 670 - + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 30384 bytes + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.ttx | 9259 -- + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 0 -> 2352 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.ttx | 667 - + .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 0 -> 2060 bytes + .../SourceSansPro-Regular.drop-hints.61,62,63.ttx | 535 - + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 0 -> 2164 bytes + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.ttx | 534 - + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 0 -> 20384 bytes + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.ttx | 6438 - + .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 0 -> 2384 bytes + .../SourceSansPro-Regular.retain-gids.61,62,63.ttx | 722 - + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 0 -> 30556 bytes + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.ttx | 9303 -- + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 4884 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.ttx | 1165 - + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 6276 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.ttx | 1708 - + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 0 -> 2588 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.ttx | 688 - + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6736 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1585 - + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 0 -> 2456 bytes + .../SourceHanSans-Regular_subset.default.660E.ttx | 577 - + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 129876 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62430 -------- + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 130920 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62745 -------- + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 0 -> 3412 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.ttx | 1081 - + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 122048 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 57783 -------- + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 0 -> 50760 bytes + ...ular_subset.desubroutinize-retain-gids.660E.ttx | 24455 ---- + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 4724 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.ttx | 1044 - + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 5928 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.ttx | 1414 - + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 0 -> 2520 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.ttx | 630 - + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6232 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1152 - + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 0 -> 2440 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.ttx | 560 - + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 129448 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62346 -------- + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 130312 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62647 -------- + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 0 -> 3288 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.ttx | 1055 - + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 121284 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 57675 -------- + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 0 -> 50540 bytes + ....drop-hints-desubroutinize-retain-gids.660E.ttx | 24416 ---- + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 4420 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.ttx | 986 - + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 5416 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.ttx | 1337 - + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 0 -> 2416 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.ttx | 609 - + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 5556 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1063 - + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 0 -> 2308 bytes + ...gular_subset.drop-hints-desubroutinize.660E.ttx | 540 - + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 129576 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62443 -------- + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 130604 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62929 --------- + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 0 -> 3248 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.ttx | 1089 - + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 121776 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 58100 -------- + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 0 -> 50552 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.ttx | 24429 ---- + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 4548 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.ttx | 1083 - + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 5708 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttx | 1619 - + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 0 -> 2448 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.ttx | 643 - + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 6048 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1488 - + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 0 -> 2316 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.ttx | 553 - + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 0 -> 130036 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62551 -------- + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 0 -> 131272 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 63039 --------- + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 0 -> 3408 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.ttx | 1139 - + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 0 -> 122552 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 58216 -------- + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 0 -> 50776 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.ttx | 24472 ---- + ...039,1005,100A,103A,1038,1010,103D,1031,104A.otf | Bin 0 -> 7724 bytes + ...039,1005,100A,103A,1038,1010,103D,1031,104A.ttx | 2971 - + ...otoSerifMyanmar-Regular.notdef-outline.1092.otf | Bin 0 -> 1380 bytes + ...otoSerifMyanmar-Regular.notdef-outline.1092.ttx | 264 - + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 0 -> 1252 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttx | 322 - + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 0 -> 1264 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttx | 320 - + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 0 -> 1216 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttx | 314 - + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 0 -> 1204 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttx | 314 - + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 0 -> 1184 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttx | 303 - + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 0 -> 1468 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttx | 606 - + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 0 -> 8232 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttx | 7356 - + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 0 -> 8104 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttx | 7270 - + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 0 -> 8172 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttx | 7350 - + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 0 -> 8156 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttx | 7343 - + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 0 -> 1080 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttx | 218 - + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 0 -> 1092 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttx | 216 - + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 0 -> 1044 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttx | 210 - + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 0 -> 1032 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttx | 210 - + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 0 -> 1012 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttx | 199 - + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 0 -> 1000 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttx | 310 - + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 0 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttx | 308 - + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 0 -> 964 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttx | 302 - + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 0 -> 952 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttx | 302 - + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 0 -> 932 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttx | 291 - + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 0 -> 1640 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttx | 710 - + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 0 -> 8404 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttx | 7460 - + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 0 -> 8276 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttx | 7374 - + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 0 -> 8344 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttx | 7454 - + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 0 -> 8328 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttx | 7447 - + .../cmap14/cmap14_font1.default.4E00,4E02,4E03.otf | Bin 0 -> 1360 bytes + .../cmap14/cmap14_font1.default.4E00,4E02,4E03.ttx | 276 - + .../cmap14/cmap14_font1.default.4E00,4E03.otf | Bin 0 -> 1236 bytes + .../cmap14/cmap14_font1.default.4E00,4E03.ttx | 261 - + .../cmap14/cmap14_font1.default.4E00,4E05,4E07.otf | Bin 0 -> 1328 bytes + .../cmap14/cmap14_font1.default.4E00,4E05,4E07.ttx | 278 - + .../cmap14/cmap14_font1.default.4E02,4E03,4E08.otf | Bin 0 -> 1576 bytes + .../cmap14/cmap14_font1.default.4E02,4E03,4E08.ttx | 294 - + .../expected/cmap14/cmap14_font1.default.4E02.otf | Bin 0 -> 996 bytes + .../expected/cmap14/cmap14_font1.default.4E02.ttx | 233 - + .../expected/cmap14/cmap14_font1.default.4E03.otf | Bin 0 -> 1080 bytes + .../expected/cmap14/cmap14_font1.default.4E03.ttx | 241 - + .../cmap14_font1.default.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1848 bytes + .../cmap14_font1.default.4E05,4E07,4E08,4E09.ttx | 329 - + .../cmap14/cmap14_font1.default.4E08,4E09.otf | Bin 0 -> 1720 bytes + .../cmap14/cmap14_font1.default.4E08,4E09.ttx | 302 - + .../expected/cmap14/cmap14_font1.default.4E08.otf | Bin 0 -> 1384 bytes + .../expected/cmap14/cmap14_font1.default.4E08.ttx | 265 - + .../cmap14_font1.default.retain-all-codepoint.otf | Bin 0 -> 2348 bytes + .../cmap14_font1.default.retain-all-codepoint.ttx | 418 - + ...font1.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 1388 bytes + ...font1.drop-hints-retain-gids.4E00,4E02,4E03.ttx | 318 - + ...ap14_font1.drop-hints-retain-gids.4E00,4E03.otf | Bin 0 -> 1272 bytes + ...ap14_font1.drop-hints-retain-gids.4E00,4E03.ttx | 308 - + ...font1.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 1396 bytes + ...font1.drop-hints-retain-gids.4E00,4E05,4E07.ttx | 340 - + ...font1.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 1720 bytes + ...font1.drop-hints-retain-gids.4E02,4E03,4E08.ttx | 391 - + .../cmap14_font1.drop-hints-retain-gids.4E02.otf | Bin 0 -> 1028 bytes + .../cmap14_font1.drop-hints-retain-gids.4E02.ttx | 280 - + .../cmap14_font1.drop-hints-retain-gids.4E03.otf | Bin 0 -> 1124 bytes + .../cmap14_font1.drop-hints-retain-gids.4E03.ttx | 293 - + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1984 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.ttx | 421 - + ...ap14_font1.drop-hints-retain-gids.4E08,4E09.otf | Bin 0 -> 1872 bytes + ...ap14_font1.drop-hints-retain-gids.4E08,4E09.ttx | 404 - + .../cmap14_font1.drop-hints-retain-gids.4E08.otf | Bin 0 -> 1544 bytes + .../cmap14_font1.drop-hints-retain-gids.4E08.ttx | 372 - + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 0 -> 2436 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 480 - + .../cmap14_font1.drop-hints.4E00,4E02,4E03.otf | Bin 0 -> 1292 bytes + .../cmap14_font1.drop-hints.4E00,4E02,4E03.ttx | 268 - + .../cmap14/cmap14_font1.drop-hints.4E00,4E03.otf | Bin 0 -> 1168 bytes + .../cmap14/cmap14_font1.drop-hints.4E00,4E03.ttx | 253 - + .../cmap14_font1.drop-hints.4E00,4E05,4E07.otf | Bin 0 -> 1260 bytes + .../cmap14_font1.drop-hints.4E00,4E05,4E07.ttx | 270 - + .../cmap14_font1.drop-hints.4E02,4E03,4E08.otf | Bin 0 -> 1512 bytes + .../cmap14_font1.drop-hints.4E02,4E03,4E08.ttx | 286 - + .../cmap14/cmap14_font1.drop-hints.4E02.otf | Bin 0 -> 928 bytes + .../cmap14/cmap14_font1.drop-hints.4E02.ttx | 225 - + .../cmap14/cmap14_font1.drop-hints.4E03.otf | Bin 0 -> 1012 bytes + .../cmap14/cmap14_font1.drop-hints.4E03.ttx | 233 - + ...cmap14_font1.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1780 bytes + ...cmap14_font1.drop-hints.4E05,4E07,4E08,4E09.ttx | 321 - + .../cmap14/cmap14_font1.drop-hints.4E08,4E09.otf | Bin 0 -> 1652 bytes + .../cmap14/cmap14_font1.drop-hints.4E08,4E09.ttx | 294 - + .../cmap14/cmap14_font1.drop-hints.4E08.otf | Bin 0 -> 1316 bytes + .../cmap14/cmap14_font1.drop-hints.4E08.ttx | 257 - + ...map14_font1.drop-hints.retain-all-codepoint.otf | Bin 0 -> 2280 bytes + ...map14_font1.drop-hints.retain-all-codepoint.ttx | 410 - + .../cmap14/cmap14_font1.gids.4E00,4E02,4E03.otf | Bin 0 -> 1388 bytes + .../cmap14/cmap14_font1.gids.4E00,4E02,4E03.ttx | 297 - + .../cmap14/cmap14_font1.gids.4E00,4E03.otf | Bin 0 -> 1380 bytes + .../cmap14/cmap14_font1.gids.4E00,4E03.ttx | 289 - + .../cmap14/cmap14_font1.gids.4E00,4E05,4E07.otf | Bin 0 -> 1620 bytes + .../cmap14/cmap14_font1.gids.4E00,4E05,4E07.ttx | 318 - + .../cmap14/cmap14_font1.gids.4E02,4E03,4E08.otf | Bin 0 -> 1744 bytes + .../cmap14/cmap14_font1.gids.4E02,4E03,4E08.ttx | 326 - + .../expected/cmap14/cmap14_font1.gids.4E02.otf | Bin 0 -> 1312 bytes + .../expected/cmap14/cmap14_font1.gids.4E02.ttx | 277 - + .../expected/cmap14/cmap14_font1.gids.4E03.otf | Bin 0 -> 1352 bytes + .../expected/cmap14/cmap14_font1.gids.4E03.ttx | 280 - + .../cmap14_font1.gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 2164 bytes + .../cmap14_font1.gids.4E05,4E07,4E08,4E09.ttx | 373 - + .../cmap14/cmap14_font1.gids.4E08,4E09.otf | Bin 0 -> 2036 bytes + .../cmap14/cmap14_font1.gids.4E08,4E09.ttx | 346 - + .../expected/cmap14/cmap14_font1.gids.4E08.otf | Bin 0 -> 1704 bytes + .../expected/cmap14/cmap14_font1.gids.4E08.ttx | 309 - + .../cmap14_font1.gids.retain-all-codepoint.otf | Bin 0 -> 2380 bytes + .../cmap14_font1.gids.retain-all-codepoint.ttx | 439 - + .../cmap14_font1.name-ids.4E00,4E02,4E03.otf | Bin 0 -> 1292 bytes + .../cmap14_font1.name-ids.4E00,4E02,4E03.ttx | 264 - + .../cmap14/cmap14_font1.name-ids.4E00,4E03.otf | Bin 0 -> 1168 bytes + .../cmap14/cmap14_font1.name-ids.4E00,4E03.ttx | 249 - + .../cmap14_font1.name-ids.4E00,4E05,4E07.otf | Bin 0 -> 1260 bytes + .../cmap14_font1.name-ids.4E00,4E05,4E07.ttx | 266 - + .../cmap14_font1.name-ids.4E02,4E03,4E08.otf | Bin 0 -> 1508 bytes + .../cmap14_font1.name-ids.4E02,4E03,4E08.ttx | 282 - + .../expected/cmap14/cmap14_font1.name-ids.4E02.otf | Bin 0 -> 928 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E02.ttx | 221 - + .../expected/cmap14/cmap14_font1.name-ids.4E03.otf | Bin 0 -> 1012 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E03.ttx | 229 - + .../cmap14_font1.name-ids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1780 bytes + .../cmap14_font1.name-ids.4E05,4E07,4E08,4E09.ttx | 317 - + .../cmap14/cmap14_font1.name-ids.4E08,4E09.otf | Bin 0 -> 1652 bytes + .../cmap14/cmap14_font1.name-ids.4E08,4E09.ttx | 290 - + .../expected/cmap14/cmap14_font1.name-ids.4E08.otf | Bin 0 -> 1316 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E08.ttx | 253 - + .../cmap14_font1.name-ids.retain-all-codepoint.otf | Bin 0 -> 2280 bytes + .../cmap14_font1.name-ids.retain-all-codepoint.ttx | 406 - + .../cmap14_font1.retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 1452 bytes + .../cmap14_font1.retain-gids.4E00,4E02,4E03.ttx | 326 - + .../cmap14/cmap14_font1.retain-gids.4E00,4E03.otf | Bin 0 -> 1340 bytes + .../cmap14/cmap14_font1.retain-gids.4E00,4E03.ttx | 316 - + .../cmap14_font1.retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 1464 bytes + .../cmap14_font1.retain-gids.4E00,4E05,4E07.ttx | 348 - + .../cmap14_font1.retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 1788 bytes + .../cmap14_font1.retain-gids.4E02,4E03,4E08.ttx | 399 - + .../cmap14/cmap14_font1.retain-gids.4E02.otf | Bin 0 -> 1096 bytes + .../cmap14/cmap14_font1.retain-gids.4E02.ttx | 288 - + .../cmap14/cmap14_font1.retain-gids.4E03.otf | Bin 0 -> 1192 bytes + .../cmap14/cmap14_font1.retain-gids.4E03.ttx | 301 - + ...map14_font1.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 2048 bytes + ...map14_font1.retain-gids.4E05,4E07,4E08,4E09.ttx | 429 - + .../cmap14/cmap14_font1.retain-gids.4E08,4E09.otf | Bin 0 -> 1940 bytes + .../cmap14/cmap14_font1.retain-gids.4E08,4E09.ttx | 412 - + .../cmap14/cmap14_font1.retain-gids.4E08.otf | Bin 0 -> 1608 bytes + .../cmap14/cmap14_font1.retain-gids.4E08.ttx | 380 - + ...ap14_font1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 2500 bytes + ...ap14_font1.retain-gids.retain-all-codepoint.ttx | 488 - + .../cmap14/cmap14_font2.default.4E00,4E02,4E03.otf | Bin 0 -> 1360 bytes + .../cmap14/cmap14_font2.default.4E00,4E02,4E03.ttx | 276 - + .../cmap14/cmap14_font2.default.4E00,4E03.otf | Bin 0 -> 1236 bytes + .../cmap14/cmap14_font2.default.4E00,4E03.ttx | 261 - + .../cmap14/cmap14_font2.default.4E00,4E05,4E07.otf | Bin 0 -> 1332 bytes + .../cmap14/cmap14_font2.default.4E00,4E05,4E07.ttx | 278 - + .../cmap14/cmap14_font2.default.4E02,4E03,4E08.otf | Bin 0 -> 1576 bytes + .../cmap14/cmap14_font2.default.4E02,4E03,4E08.ttx | 294 - + .../expected/cmap14/cmap14_font2.default.4E02.otf | Bin 0 -> 992 bytes + .../expected/cmap14/cmap14_font2.default.4E02.ttx | 233 - + .../expected/cmap14/cmap14_font2.default.4E03.otf | Bin 0 -> 1076 bytes + .../expected/cmap14/cmap14_font2.default.4E03.ttx | 241 - + .../cmap14_font2.default.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1848 bytes + .../cmap14_font2.default.4E05,4E07,4E08,4E09.ttx | 329 - + .../cmap14/cmap14_font2.default.4E08,4E09.otf | Bin 0 -> 1716 bytes + .../cmap14/cmap14_font2.default.4E08,4E09.ttx | 302 - + .../expected/cmap14/cmap14_font2.default.4E08.otf | Bin 0 -> 1380 bytes + .../expected/cmap14/cmap14_font2.default.4E08.ttx | 265 - + .../cmap14_font2.default.retain-all-codepoint.otf | Bin 0 -> 2344 bytes + .../cmap14_font2.default.retain-all-codepoint.ttx | 418 - + ...font2.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 1388 bytes + ...font2.drop-hints-retain-gids.4E00,4E02,4E03.ttx | 318 - + ...ap14_font2.drop-hints-retain-gids.4E00,4E03.otf | Bin 0 -> 1272 bytes + ...ap14_font2.drop-hints-retain-gids.4E00,4E03.ttx | 308 - + ...font2.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 1400 bytes + ...font2.drop-hints-retain-gids.4E00,4E05,4E07.ttx | 340 - + ...font2.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 1720 bytes + ...font2.drop-hints-retain-gids.4E02,4E03,4E08.ttx | 391 - + .../cmap14_font2.drop-hints-retain-gids.4E02.otf | Bin 0 -> 1024 bytes + .../cmap14_font2.drop-hints-retain-gids.4E02.ttx | 280 - + .../cmap14_font2.drop-hints-retain-gids.4E03.otf | Bin 0 -> 1120 bytes + .../cmap14_font2.drop-hints-retain-gids.4E03.ttx | 293 - + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1984 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.ttx | 421 - + ...ap14_font2.drop-hints-retain-gids.4E08,4E09.otf | Bin 0 -> 1868 bytes + ...ap14_font2.drop-hints-retain-gids.4E08,4E09.ttx | 404 - + .../cmap14_font2.drop-hints-retain-gids.4E08.otf | Bin 0 -> 1540 bytes + .../cmap14_font2.drop-hints-retain-gids.4E08.ttx | 372 - + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 0 -> 2432 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 480 - + .../cmap14_font2.drop-hints.4E00,4E02,4E03.otf | Bin 0 -> 1292 bytes + .../cmap14_font2.drop-hints.4E00,4E02,4E03.ttx | 268 - + .../cmap14/cmap14_font2.drop-hints.4E00,4E03.otf | Bin 0 -> 1168 bytes + .../cmap14/cmap14_font2.drop-hints.4E00,4E03.ttx | 253 - + .../cmap14_font2.drop-hints.4E00,4E05,4E07.otf | Bin 0 -> 1264 bytes + .../cmap14_font2.drop-hints.4E00,4E05,4E07.ttx | 270 - + .../cmap14_font2.drop-hints.4E02,4E03,4E08.otf | Bin 0 -> 1512 bytes + .../cmap14_font2.drop-hints.4E02,4E03,4E08.ttx | 286 - + .../cmap14/cmap14_font2.drop-hints.4E02.otf | Bin 0 -> 924 bytes + .../cmap14/cmap14_font2.drop-hints.4E02.ttx | 225 - + .../cmap14/cmap14_font2.drop-hints.4E03.otf | Bin 0 -> 1008 bytes + .../cmap14/cmap14_font2.drop-hints.4E03.ttx | 233 - + ...cmap14_font2.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1780 bytes + ...cmap14_font2.drop-hints.4E05,4E07,4E08,4E09.ttx | 321 - + .../cmap14/cmap14_font2.drop-hints.4E08,4E09.otf | Bin 0 -> 1648 bytes + .../cmap14/cmap14_font2.drop-hints.4E08,4E09.ttx | 294 - + .../cmap14/cmap14_font2.drop-hints.4E08.otf | Bin 0 -> 1312 bytes + .../cmap14/cmap14_font2.drop-hints.4E08.ttx | 257 - + ...map14_font2.drop-hints.retain-all-codepoint.otf | Bin 0 -> 2276 bytes + ...map14_font2.drop-hints.retain-all-codepoint.ttx | 410 - + .../cmap14/cmap14_font2.gids.4E00,4E02,4E03.otf | Bin 0 -> 1388 bytes + .../cmap14/cmap14_font2.gids.4E00,4E02,4E03.ttx | 297 - + .../cmap14/cmap14_font2.gids.4E00,4E03.otf | Bin 0 -> 1380 bytes + .../cmap14/cmap14_font2.gids.4E00,4E03.ttx | 289 - + .../cmap14/cmap14_font2.gids.4E00,4E05,4E07.otf | Bin 0 -> 1624 bytes + .../cmap14/cmap14_font2.gids.4E00,4E05,4E07.ttx | 318 - + .../cmap14/cmap14_font2.gids.4E02,4E03,4E08.otf | Bin 0 -> 1744 bytes + .../cmap14/cmap14_font2.gids.4E02,4E03,4E08.ttx | 326 - + .../expected/cmap14/cmap14_font2.gids.4E02.otf | Bin 0 -> 1308 bytes + .../expected/cmap14/cmap14_font2.gids.4E02.ttx | 277 - + .../expected/cmap14/cmap14_font2.gids.4E03.otf | Bin 0 -> 1348 bytes + .../expected/cmap14/cmap14_font2.gids.4E03.ttx | 280 - + .../cmap14_font2.gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 2164 bytes + .../cmap14_font2.gids.4E05,4E07,4E08,4E09.ttx | 373 - + .../cmap14/cmap14_font2.gids.4E08,4E09.otf | Bin 0 -> 2032 bytes + .../cmap14/cmap14_font2.gids.4E08,4E09.ttx | 346 - + .../expected/cmap14/cmap14_font2.gids.4E08.otf | Bin 0 -> 1700 bytes + .../expected/cmap14/cmap14_font2.gids.4E08.ttx | 309 - + .../cmap14_font2.gids.retain-all-codepoint.otf | Bin 0 -> 2376 bytes + .../cmap14_font2.gids.retain-all-codepoint.ttx | 439 - + .../cmap14_font2.name-ids.4E00,4E02,4E03.otf | Bin 0 -> 1292 bytes + .../cmap14_font2.name-ids.4E00,4E02,4E03.ttx | 264 - + .../cmap14/cmap14_font2.name-ids.4E00,4E03.otf | Bin 0 -> 1168 bytes + .../cmap14/cmap14_font2.name-ids.4E00,4E03.ttx | 249 - + .../cmap14_font2.name-ids.4E00,4E05,4E07.otf | Bin 0 -> 1264 bytes + .../cmap14_font2.name-ids.4E00,4E05,4E07.ttx | 266 - + .../cmap14_font2.name-ids.4E02,4E03,4E08.otf | Bin 0 -> 1508 bytes + .../cmap14_font2.name-ids.4E02,4E03,4E08.ttx | 282 - + .../expected/cmap14/cmap14_font2.name-ids.4E02.otf | Bin 0 -> 924 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E02.ttx | 221 - + .../expected/cmap14/cmap14_font2.name-ids.4E03.otf | Bin 0 -> 1008 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E03.ttx | 229 - + .../cmap14_font2.name-ids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 1780 bytes + .../cmap14_font2.name-ids.4E05,4E07,4E08,4E09.ttx | 317 - + .../cmap14/cmap14_font2.name-ids.4E08,4E09.otf | Bin 0 -> 1648 bytes + .../cmap14/cmap14_font2.name-ids.4E08,4E09.ttx | 290 - + .../expected/cmap14/cmap14_font2.name-ids.4E08.otf | Bin 0 -> 1312 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E08.ttx | 253 - + .../cmap14_font2.name-ids.retain-all-codepoint.otf | Bin 0 -> 2276 bytes + .../cmap14_font2.name-ids.retain-all-codepoint.ttx | 406 - + .../cmap14_font2.retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 1452 bytes + .../cmap14_font2.retain-gids.4E00,4E02,4E03.ttx | 326 - + .../cmap14/cmap14_font2.retain-gids.4E00,4E03.otf | Bin 0 -> 1340 bytes + .../cmap14/cmap14_font2.retain-gids.4E00,4E03.ttx | 316 - + .../cmap14_font2.retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 1468 bytes + .../cmap14_font2.retain-gids.4E00,4E05,4E07.ttx | 348 - + .../cmap14_font2.retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 1788 bytes + .../cmap14_font2.retain-gids.4E02,4E03,4E08.ttx | 399 - + .../cmap14/cmap14_font2.retain-gids.4E02.otf | Bin 0 -> 1092 bytes + .../cmap14/cmap14_font2.retain-gids.4E02.ttx | 288 - + .../cmap14/cmap14_font2.retain-gids.4E03.otf | Bin 0 -> 1188 bytes + .../cmap14/cmap14_font2.retain-gids.4E03.ttx | 301 - + ...map14_font2.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 2048 bytes + ...map14_font2.retain-gids.4E05,4E07,4E08,4E09.ttx | 429 - + .../cmap14/cmap14_font2.retain-gids.4E08,4E09.otf | Bin 0 -> 1936 bytes + .../cmap14/cmap14_font2.retain-gids.4E08,4E09.ttx | 412 - + .../cmap14/cmap14_font2.retain-gids.4E08.otf | Bin 0 -> 1604 bytes + .../cmap14/cmap14_font2.retain-gids.4E08.ttx | 380 - + ...ap14_font2.retain-gids.retain-all-codepoint.otf | Bin 0 -> 2496 bytes + ...ap14_font2.retain-gids.retain-all-codepoint.ttx | 488 - + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 0 -> 1936 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttx | 626 - + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 0 -> 1400 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttx | 411 - + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 0 -> 1576 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttx | 475 - + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 0 -> 932 bytes + .../colr/TwemojiMozilla.subset.default.32.ttx | 231 - + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 0 -> 1916 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttx | 617 - + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 0 -> 1376 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttx | 402 - + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 0 -> 1552 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttx | 466 - + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 0 -> 1916 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttx | 621 - + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 0 -> 1396 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttx | 410 - + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 0 -> 1576 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttx | 478 - + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 0 -> 912 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttx | 226 - + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 0 -> 1900 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttx | 616 - + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 0 -> 1372 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttx | 405 - + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 0 -> 1552 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttx | 473 - + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 0 -> 1916 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttx | 621 - + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 0 -> 1380 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttx | 406 - + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 0 -> 1556 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttx | 470 - + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 0 -> 912 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttx | 226 - + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 0 -> 1896 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttx | 612 - + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 0 -> 1356 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttx | 397 - + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 0 -> 1532 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttx | 461 - + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 0 -> 1936 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttx | 626 - + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 0 -> 1416 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttx | 415 - + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 0 -> 1596 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttx | 483 - + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 0 -> 932 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttx | 231 - + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 0 -> 1920 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttx | 621 - + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 0 -> 1392 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttx | 410 - + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 0 -> 1572 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttx | 478 - + .../colr_with_components/colr-table.default.6B.ttf | Bin 0 -> 4260 bytes + .../colr_with_components/colr-table.default.6B.ttx | 1435 - + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 0 -> 4984 bytes + .../colr-table.drop-hints-retain-gids.6B.ttx | 1919 - + .../colr-table.drop-hints.6B.ttf | Bin 0 -> 4260 bytes + .../colr-table.drop-hints.6B.ttx | 1435 - + .../colr-table.retain-gids.6B.ttf | Bin 0 -> 4984 bytes + .../colr-table.retain-gids.6B.ttx | 1919 - + ...oColrEmojiGlyf-Regular.subset.default.1f35e.ttf | Bin 0 -> 3004 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f35e.ttx | 1077 - + ...oColrEmojiGlyf-Regular.subset.default.1f696.ttf | Bin 0 -> 3752 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f696.ttx | 1449 - + ...Regular.subset.drop-hints-retain-gids.1f35e.ttf | Bin 0 -> 3516 bytes + ...Regular.subset.drop-hints-retain-gids.1f35e.ttx | 1417 - + ...Regular.subset.drop-hints-retain-gids.1f696.ttf | Bin 0 -> 5048 bytes + ...Regular.subset.drop-hints-retain-gids.1f696.ttx | 2313 - + ...lrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttf | Bin 0 -> 3004 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttx | 1077 - + ...lrEmojiGlyf-Regular.subset.drop-hints.1f696.ttf | Bin 0 -> 3752 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f696.ttx | 1449 - + ...rEmojiGlyf-Regular.subset.retain-gids.1f35e.ttf | Bin 0 -> 3516 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f35e.ttx | 1417 - + ...rEmojiGlyf-Regular.subset.retain-gids.1f696.ttf | Bin 0 -> 5048 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f696.ttx | 2313 - + .../colrv1/TestCOLRv1.default.E000,E004.ttf | Bin 0 -> 900 bytes + .../colrv1/TestCOLRv1.default.E000,E004.ttx | 316 - + .../colrv1/TestCOLRv1.default.E003,E004.ttf | Bin 0 -> 1000 bytes + .../colrv1/TestCOLRv1.default.E003,E004.ttx | 367 - + .../expected/colrv1/TestCOLRv1.default.E004.ttf | Bin 0 -> 744 bytes + .../expected/colrv1/TestCOLRv1.default.E004.ttx | 231 - + .../TestCOLRv1.default.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + .../TestCOLRv1.default.retain-all-codepoint.ttx | 596 - + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttf | Bin 0 -> 984 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttx | 364 - + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttf | Bin 0 -> 1076 bytes + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttx | 411 - + .../TestCOLRv1.drop-hints-retain-gids.E004.ttf | Bin 0 -> 836 bytes + .../TestCOLRv1.drop-hints-retain-gids.E004.ttx | 291 - + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 596 - + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttf | Bin 0 -> 900 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttx | 316 - + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttf | Bin 0 -> 1000 bytes + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttx | 367 - + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttf | Bin 0 -> 744 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttx | 231 - + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttx | 596 - + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttf | Bin 0 -> 984 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttx | 364 - + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttf | Bin 0 -> 1076 bytes + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttx | 411 - + .../colrv1/TestCOLRv1.retain-gids.E004.ttf | Bin 0 -> 836 bytes + .../colrv1/TestCOLRv1.retain-gids.E004.ttx | 291 - + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttx | 596 - + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 0 -> 3080 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttx | 1659 - + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 0 -> 2672 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttx | 1422 - + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 0 -> 3024 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttx | 1571 - + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 0 -> 1632 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttx | 549 - + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 0 -> 1412 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttx | 494 - + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 0 -> 1648 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttx | 529 - + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 0 -> 3992 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttx | 1355 - + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 0 -> 3832 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttx | 1262 - + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 0 -> 4396 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttx | 1522 - + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 0 -> 3968 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttx | 1349 - + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 0 -> 3832 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttx | 1262 - + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 0 -> 4396 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttx | 1522 - + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 0 -> 2344 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttx | 1187 - + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 0 -> 1992 bytes + .../japanese/Mplus1p-Regular.default.25771.ttx | 1033 - + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> 2704 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttx | 1296 - + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> 2948 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttx | 1403 - + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 0 -> 2324 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttx | 1172 - + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 3244 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1522 - + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 0 -> 1984 bytes + .../japanese/Mplus1p-Regular.default.660E.ttx | 1024 - + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 0 -> 1616 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttx | 522 - + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 0 -> 1264 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttx | 368 - + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> 1976 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttx | 631 - + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> 2220 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttx | 738 - + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 0 -> 1596 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttx | 507 - + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 2516 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttx | 857 - + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 0 -> 1256 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttx | 359 - + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 0 -> 2344 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttx | 1187 - + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 0 -> 1992 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttx | 1033 - + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> 2704 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttx | 1296 - + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> 2948 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttx | 1403 - + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 0 -> 2324 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttx | 1172 - + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 3244 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1522 - + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 0 -> 1984 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttx | 1024 - + ...text1_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1328 bytes + ...text1_multiple_subrules_f1.default.41,42,43.ttx | 284 - + ...context1_multiple_subrules_f1.default.41,42.otf | Bin 0 -> 1228 bytes + ...context1_multiple_subrules_f1.default.41,42.ttx | 265 - + ...context1_multiple_subrules_f1.default.41,43.otf | Bin 0 -> 1332 bytes + ...context1_multiple_subrules_f1.default.41,43.ttx | 275 - + ...os_context1_multiple_subrules_f1.default.41.otf | Bin 0 -> 1216 bytes + ...os_context1_multiple_subrules_f1.default.41.ttx | 256 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 - + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2028 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 - + ...ext1_multiple_subrules_f1.retain-gids.41,42.otf | Bin 0 -> 1932 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,42.ttx | 585 - + ...ext1_multiple_subrules_f1.retain-gids.41,43.otf | Bin 0 -> 2048 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,43.ttx | 600 - + ...ontext1_multiple_subrules_f1.retain-gids.41.otf | Bin 0 -> 1916 bytes + ...ontext1_multiple_subrules_f1.retain-gids.41.ttx | 576 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + ...text2_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1328 bytes + ...text2_multiple_subrules_f1.default.41,42,43.ttx | 284 - + ...context2_multiple_subrules_f1.default.41,42.otf | Bin 0 -> 1228 bytes + ...context2_multiple_subrules_f1.default.41,42.ttx | 265 - + ...context2_multiple_subrules_f1.default.41,43.otf | Bin 0 -> 1332 bytes + ...context2_multiple_subrules_f1.default.41,43.ttx | 275 - + ...os_context2_multiple_subrules_f1.default.41.otf | Bin 0 -> 1216 bytes + ...os_context2_multiple_subrules_f1.default.41.ttx | 256 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 - + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2028 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 - + ...ext2_multiple_subrules_f1.retain-gids.41,42.otf | Bin 0 -> 1932 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,42.ttx | 585 - + ...ext2_multiple_subrules_f1.retain-gids.41,43.otf | Bin 0 -> 2048 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,43.ttx | 600 - + ...ontext2_multiple_subrules_f1.retain-gids.41.otf | Bin 0 -> 1916 bytes + ...ontext2_multiple_subrules_f1.retain-gids.41.ttx | 576 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + .../gpos_context3_simple_f1.default.41,42,43.otf | Bin 0 -> 1308 bytes + .../gpos_context3_simple_f1.default.41,42,43.ttx | 284 - + .../gpos_context3_simple_f1.default.41,42.otf | Bin 0 -> 1208 bytes + .../gpos_context3_simple_f1.default.41,42.ttx | 265 - + .../gpos_context3_simple_f1.default.41,43.otf | Bin 0 -> 1312 bytes + .../gpos_context3_simple_f1.default.41,43.ttx | 275 - + .../gpos_context3_simple_f1.default.41.otf | Bin 0 -> 1196 bytes + .../gpos_context3_simple_f1.default.41.ttx | 256 - + ...ext3_simple_f1.default.retain-all-codepoint.otf | Bin 0 -> 3680 bytes + ...ext3_simple_f1.default.retain-all-codepoint.ttx | 1247 - + ...pos_context3_simple_f1.retain-gids.41,42,43.otf | Bin 0 -> 2008 bytes + ...pos_context3_simple_f1.retain-gids.41,42,43.ttx | 604 - + .../gpos_context3_simple_f1.retain-gids.41,42.otf | Bin 0 -> 1912 bytes + .../gpos_context3_simple_f1.retain-gids.41,42.ttx | 585 - + .../gpos_context3_simple_f1.retain-gids.41,43.otf | Bin 0 -> 2028 bytes + .../gpos_context3_simple_f1.retain-gids.41,43.ttx | 600 - + .../gpos_context3_simple_f1.retain-gids.41.otf | Bin 0 -> 1896 bytes + .../gpos_context3_simple_f1.retain-gids.41.ttx | 576 - + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3680 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 0 -> 4176 bytes + .../IndicTestJalandhar-Regular.default.A01.ttx | 2916 - + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 0 -> 4752 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttx | 3167 - + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 0 -> 4724 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttx | 3148 - + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 0 -> 49244 bytes + ...andhar-Regular.default.retain-all-codepoint.ttx | 22554 --- + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 0 -> 1036 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttx | 281 - + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 0 -> 1344 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttx | 403 - + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 0 -> 1344 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttx | 404 - + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 29464 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttx | 11627 -- + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 0 -> 4176 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttx | 2916 - + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 0 -> 4752 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttx | 3167 - + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 0 -> 4724 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttx | 3148 - + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 0 -> 49244 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttx | 22554 --- + .../AdobeVFPrototype.default.41,42,43,57.otf | Bin 0 -> 5440 bytes + .../AdobeVFPrototype.default.41,42,43,57.ttx | 1536 - + .../AdobeVFPrototype.default.41,42,43.otf | Bin 0 -> 4908 bytes + .../AdobeVFPrototype.default.41,42,43.ttx | 1338 - + .../AdobeVFPrototype.default.41,42.otf | Bin 0 -> 4432 bytes + .../AdobeVFPrototype.default.41,42.ttx | 1201 - + .../AdobeVFPrototype.default.41,56,57.otf | Bin 0 -> 4576 bytes + .../AdobeVFPrototype.default.41,56,57.ttx | 1310 - + .../AdobeVFPrototype.default.41.otf | Bin 0 -> 3728 bytes + .../AdobeVFPrototype.default.41.ttx | 1000 - + .../AdobeVFPrototype.default.42,57.otf | Bin 0 -> 4564 bytes + .../AdobeVFPrototype.default.42,57.ttx | 1253 - + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 0 -> 5252 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.ttx | 1500 - + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 0 -> 4720 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.ttx | 1302 - + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 0 -> 4244 bytes + .../AdobeVFPrototype.drop-hints.41,42.ttx | 1165 - + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 0 -> 4384 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.ttx | 1274 - + .../AdobeVFPrototype.drop-hints.41.otf | Bin 0 -> 3540 bytes + .../AdobeVFPrototype.drop-hints.41.ttx | 964 - + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 0 -> 4376 bytes + .../AdobeVFPrototype.drop-hints.42,57.ttx | 1217 - + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 0 -> 5440 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.ttx | 1536 - + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 0 -> 4908 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.ttx | 1338 - + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 0 -> 4432 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.ttx | 1201 - + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 0 -> 4576 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.ttx | 1310 - + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 0 -> 3728 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.ttx | 1000 - + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 0 -> 4564 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.ttx | 1253 - + .../Roboto-Regular.default.1E00,303.ttf | Bin 0 -> 2524 bytes + .../Roboto-Regular.default.1E00,303.ttx | 1258 - + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 0 -> 2116 bytes + .../layout.gdef/Roboto-Regular.default.303.ttx | 1012 - + .../Roboto-Regular.default.309,20,30F.ttf | Bin 0 -> 2212 bytes + .../Roboto-Regular.default.309,20,30F.ttx | 1054 - + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 0 -> 2008 bytes + .../layout.gdef/Roboto-Regular.default.323.ttx | 949 - + .../Roboto-Regular.default.41,42,43.ttf | Bin 0 -> 2572 bytes + .../Roboto-Regular.default.41,42,43.ttx | 1349 - + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 0 -> 1380 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttx | 443 - + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 0 -> 1112 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttx | 312 - + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 0 -> 1172 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttx | 328 - + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 0 -> 1056 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttx | 291 - + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 0 -> 1388 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttx | 480 - + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 0 -> 2524 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttx | 1258 - + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 0 -> 2116 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttx | 1012 - + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 0 -> 2212 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttx | 1054 - + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 0 -> 2008 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttx | 949 - + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 0 -> 2572 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttx | 1349 - + .../layout.gpos/gpos1_2_font.default.41,43.otf | Bin 0 -> 1292 bytes + .../layout.gpos/gpos1_2_font.default.41,43.ttx | 275 - + .../layout.gpos/gpos1_2_font.default.41,46.otf | Bin 0 -> 1424 bytes + .../layout.gpos/gpos1_2_font.default.41,46.ttx | 286 - + .../layout.gpos/gpos1_2_font.default.41.otf | Bin 0 -> 1176 bytes + .../layout.gpos/gpos1_2_font.default.41.ttx | 256 - + .../layout.gpos/gpos1_2_font.default.42,44.otf | Bin 0 -> 1268 bytes + .../layout.gpos/gpos1_2_font.default.42,44.ttx | 265 - + .../layout.gpos/gpos1_2_font.default.43,46.otf | Bin 0 -> 1288 bytes + .../layout.gpos/gpos1_2_font.default.43,46.ttx | 275 - + .../gpos1_2_font.default.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + .../gpos1_2_font.default.retain-all-codepoint.ttx | 1221 - + .../layout.gpos/gpos1_2_font.retain-gids.41,43.otf | Bin 0 -> 2008 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,43.ttx | 600 - + .../layout.gpos/gpos1_2_font.retain-gids.41,46.otf | Bin 0 -> 2172 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,46.ttx | 626 - + .../layout.gpos/gpos1_2_font.retain-gids.41.otf | Bin 0 -> 1876 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41.ttx | 576 - + .../layout.gpos/gpos1_2_font.retain-gids.42,44.otf | Bin 0 -> 1992 bytes + .../layout.gpos/gpos1_2_font.retain-gids.42,44.ttx | 595 - + .../layout.gpos/gpos1_2_font.retain-gids.43,46.otf | Bin 0 -> 2036 bytes + .../layout.gpos/gpos1_2_font.retain-gids.43,46.ttx | 615 - + ...os1_2_font.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + ...os1_2_font.retain-gids.retain-all-codepoint.ttx | 1221 - + .../gpos2_1_font7.default.21,23,25.otf | Bin 0 -> 1360 bytes + .../gpos2_1_font7.default.21,23,25.ttx | 287 - + .../layout.gpos2/gpos2_1_font7.default.21,23.otf | Bin 0 -> 1240 bytes + .../layout.gpos2/gpos2_1_font7.default.21,23.ttx | 268 - + .../layout.gpos2/gpos2_1_font7.default.2E,23.otf | Bin 0 -> 1508 bytes + .../layout.gpos2/gpos2_1_font7.default.2E,23.ttx | 291 - + .../gpos2_1_font7.default.41,42,43.otf | Bin 0 -> 1288 bytes + .../gpos2_1_font7.default.41,42,43.ttx | 284 - + .../gpos2_1_font7.default.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + .../gpos2_1_font7.default.retain-all-codepoint.ttx | 1221 - + .../gpos2_1_font7.retain-gids.21,23,25.otf | Bin 0 -> 1696 bytes + .../gpos2_1_font7.retain-gids.21,23,25.ttx | 457 - + .../gpos2_1_font7.retain-gids.21,23.otf | Bin 0 -> 1564 bytes + .../gpos2_1_font7.retain-gids.21,23.ttx | 433 - + .../gpos2_1_font7.retain-gids.2E,23.otf | Bin 0 -> 1944 bytes + .../gpos2_1_font7.retain-gids.2E,23.ttx | 511 - + .../gpos2_1_font7.retain-gids.41,42,43.otf | Bin 0 -> 1988 bytes + .../gpos2_1_font7.retain-gids.41,42,43.ttx | 604 - + ...s2_1_font7.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + ...s2_1_font7.retain-gids.retain-all-codepoint.ttx | 1221 - + .../gpos2_2_font5.default.21,23,25.otf | Bin 0 -> 1360 bytes + .../gpos2_2_font5.default.21,23,25.ttx | 287 - + .../layout.gpos2/gpos2_2_font5.default.21,23.otf | Bin 0 -> 1240 bytes + .../layout.gpos2/gpos2_2_font5.default.21,23.ttx | 268 - + .../layout.gpos2/gpos2_2_font5.default.2E,23.otf | Bin 0 -> 1508 bytes + .../layout.gpos2/gpos2_2_font5.default.2E,23.ttx | 291 - + .../gpos2_2_font5.default.41,42,43.otf | Bin 0 -> 1288 bytes + .../gpos2_2_font5.default.41,42,43.ttx | 284 - + .../gpos2_2_font5.default.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + .../gpos2_2_font5.default.retain-all-codepoint.ttx | 1221 - + .../gpos2_2_font5.retain-gids.21,23,25.otf | Bin 0 -> 1696 bytes + .../gpos2_2_font5.retain-gids.21,23,25.ttx | 457 - + .../gpos2_2_font5.retain-gids.21,23.otf | Bin 0 -> 1564 bytes + .../gpos2_2_font5.retain-gids.21,23.ttx | 433 - + .../gpos2_2_font5.retain-gids.2E,23.otf | Bin 0 -> 1944 bytes + .../gpos2_2_font5.retain-gids.2E,23.ttx | 511 - + .../gpos2_2_font5.retain-gids.41,42,43.otf | Bin 0 -> 1988 bytes + .../gpos2_2_font5.retain-gids.41,42,43.ttx | 604 - + ...s2_2_font5.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3604 bytes + ...s2_2_font5.retain-gids.retain-all-codepoint.ttx | 1221 - + .../layout.gpos3/gpos3_font3.default.28,29.otf | Bin 0 -> 1248 bytes + .../layout.gpos3/gpos3_font3.default.28,29.ttx | 276 - + .../layout.gpos3/gpos3_font3.default.28,2B.otf | Bin 0 -> 1376 bytes + .../layout.gpos3/gpos3_font3.default.28,2B.ttx | 282 - + .../layout.gpos3/gpos3_font3.default.29,2B.otf | Bin 0 -> 1292 bytes + .../layout.gpos3/gpos3_font3.default.29,2B.ttx | 277 - + .../layout.gpos3/gpos3_font3.default.41,42,43.otf | Bin 0 -> 1284 bytes + .../layout.gpos3/gpos3_font3.default.41,42,43.ttx | 284 - + .../gpos3_font3.default.retain-all-codepoint.otf | Bin 0 -> 3636 bytes + .../gpos3_font3.default.retain-all-codepoint.ttx | 1228 - + .../layout.gpos3/gpos3_font3.retain-gids.28,29.otf | Bin 0 -> 1632 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,29.ttx | 471 - + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.otf | Bin 0 -> 1780 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.ttx | 487 - + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.otf | Bin 0 -> 1696 bytes + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.ttx | 482 - + .../gpos3_font3.retain-gids.41,42,43.otf | Bin 0 -> 1984 bytes + .../gpos3_font3.retain-gids.41,42,43.ttx | 604 - + ...pos3_font3.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3636 bytes + ...pos3_font3.retain-gids.retain-all-codepoint.ttx | 1228 - + ...pos4_multiple_anchors_1.default.41,42,43,44.otf | Bin 0 -> 1516 bytes + ...pos4_multiple_anchors_1.default.41,42,43,44.ttx | 304 - + ...pos4_multiple_anchors_1.default.41,42,43,45.otf | Bin 0 -> 1524 bytes + ...pos4_multiple_anchors_1.default.41,42,43,45.ttx | 305 - + .../gpos4_multiple_anchors_1.default.41,42,43.otf | Bin 0 -> 1308 bytes + .../gpos4_multiple_anchors_1.default.41,42,43.ttx | 284 - + .../gpos4_multiple_anchors_1.default.41,42.otf | Bin 0 -> 1208 bytes + .../gpos4_multiple_anchors_1.default.41,42.ttx | 265 - + ...4_multiple_anchors_1.default.41,43,44,45,46.otf | Bin 0 -> 1864 bytes + ...4_multiple_anchors_1.default.41,43,44,45,46.ttx | 336 - + .../gpos4_multiple_anchors_1.default.41,43,44.otf | Bin 0 -> 1524 bytes + .../gpos4_multiple_anchors_1.default.41,43,44.ttx | 295 - + .../gpos4_multiple_anchors_1.default.41,43,45.otf | Bin 0 -> 1532 bytes + .../gpos4_multiple_anchors_1.default.41,43,45.ttx | 296 - + .../gpos4_multiple_anchors_1.default.41,43.otf | Bin 0 -> 1312 bytes + .../gpos4_multiple_anchors_1.default.41,43.ttx | 275 - + .../gpos4_multiple_anchors_1.default.41.otf | Bin 0 -> 1196 bytes + .../gpos4_multiple_anchors_1.default.41.ttx | 256 - + ...iple_anchors_1.default.retain-all-codepoint.otf | Bin 0 -> 3668 bytes + ...iple_anchors_1.default.retain-all-codepoint.ttx | 1233 - + ..._multiple_anchors_1.retain-gids.41,42,43,44.otf | Bin 0 -> 2220 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,44.ttx | 624 - + ..._multiple_anchors_1.retain-gids.41,42,43,45.otf | Bin 0 -> 2244 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,45.ttx | 630 - + ...os4_multiple_anchors_1.retain-gids.41,42,43.otf | Bin 0 -> 2008 bytes + ...os4_multiple_anchors_1.retain-gids.41,42,43.ttx | 604 - + .../gpos4_multiple_anchors_1.retain-gids.41,42.otf | Bin 0 -> 1912 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,42.ttx | 585 - + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.otf | Bin 0 -> 2584 bytes + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.ttx | 661 - + ...os4_multiple_anchors_1.retain-gids.41,43,44.otf | Bin 0 -> 2240 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,44.ttx | 620 - + ...os4_multiple_anchors_1.retain-gids.41,43,45.otf | Bin 0 -> 2260 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,45.ttx | 626 - + .../gpos4_multiple_anchors_1.retain-gids.41,43.otf | Bin 0 -> 2028 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,43.ttx | 600 - + .../gpos4_multiple_anchors_1.retain-gids.41.otf | Bin 0 -> 1896 bytes + .../gpos4_multiple_anchors_1.retain-gids.41.ttx | 576 - + ..._anchors_1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3668 bytes + ..._anchors_1.retain-gids.retain-all-codepoint.ttx | 1233 - + .../gpos5_font1.default.41,42,43,44.otf | Bin 0 -> 1536 bytes + .../gpos5_font1.default.41,42,43,44.ttx | 323 - + .../gpos5_font1.default.41,42,43,45.otf | Bin 0 -> 1544 bytes + .../gpos5_font1.default.41,42,43,45.ttx | 324 - + .../layout.gpos5/gpos5_font1.default.41,42,43.otf | Bin 0 -> 1328 bytes + .../layout.gpos5/gpos5_font1.default.41,42,43.ttx | 303 - + .../layout.gpos5/gpos5_font1.default.41,42,44.otf | Bin 0 -> 1460 bytes + .../layout.gpos5/gpos5_font1.default.41,42,44.ttx | 304 - + .../layout.gpos5/gpos5_font1.default.41,42,45.otf | Bin 0 -> 1448 bytes + .../layout.gpos5/gpos5_font1.default.41,42,45.ttx | 305 - + .../layout.gpos5/gpos5_font1.default.41,42.otf | Bin 0 -> 1228 bytes + .../layout.gpos5/gpos5_font1.default.41,42.ttx | 284 - + .../layout.gpos5/gpos5_font1.default.41,43.otf | Bin 0 -> 1332 bytes + .../layout.gpos5/gpos5_font1.default.41,43.ttx | 294 - + .../layout.gpos5/gpos5_font1.default.41.otf | Bin 0 -> 1216 bytes + .../layout.gpos5/gpos5_font1.default.41.ttx | 275 - + .../layout.gpos5/gpos5_font1.default.42.otf | Bin 0 -> 1076 bytes + .../layout.gpos5/gpos5_font1.default.42.ttx | 264 - + .../gpos5_font1.default.retain-all-codepoint.otf | Bin 0 -> 3688 bytes + .../gpos5_font1.default.retain-all-codepoint.ttx | 1250 - + .../gpos5_font1.retain-gids.41,42,43,44.otf | Bin 0 -> 2240 bytes + .../gpos5_font1.retain-gids.41,42,43,44.ttx | 643 - + .../gpos5_font1.retain-gids.41,42,43,45.otf | Bin 0 -> 2264 bytes + .../gpos5_font1.retain-gids.41,42,43,45.ttx | 649 - + .../gpos5_font1.retain-gids.41,42,43.otf | Bin 0 -> 2028 bytes + .../gpos5_font1.retain-gids.41,42,43.ttx | 623 - + .../gpos5_font1.retain-gids.41,42,44.otf | Bin 0 -> 2176 bytes + .../gpos5_font1.retain-gids.41,42,44.ttx | 629 - + .../gpos5_font1.retain-gids.41,42,45.otf | Bin 0 -> 2172 bytes + .../gpos5_font1.retain-gids.41,42,45.ttx | 635 - + .../layout.gpos5/gpos5_font1.retain-gids.41,42.otf | Bin 0 -> 1932 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,42.ttx | 604 - + .../layout.gpos5/gpos5_font1.retain-gids.41,43.otf | Bin 0 -> 2048 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,43.ttx | 619 - + .../layout.gpos5/gpos5_font1.retain-gids.41.otf | Bin 0 -> 1916 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41.ttx | 595 - + .../layout.gpos5/gpos5_font1.retain-gids.42.otf | Bin 0 -> 1788 bytes + .../layout.gpos5/gpos5_font1.retain-gids.42.ttx | 589 - + ...pos5_font1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3688 bytes + ...pos5_font1.retain-gids.retain-all-codepoint.ttx | 1250 - + .../gpos6_font1.default.41,42,43,44.otf | Bin 0 -> 1492 bytes + .../gpos6_font1.default.41,42,43,44.ttx | 304 - + .../gpos6_font1.default.41,42,43,45.otf | Bin 0 -> 1500 bytes + .../gpos6_font1.default.41,42,43,45.ttx | 305 - + .../layout.gpos6/gpos6_font1.default.41,42,43.otf | Bin 0 -> 1284 bytes + .../layout.gpos6/gpos6_font1.default.41,42,43.ttx | 284 - + .../layout.gpos6/gpos6_font1.default.41,42.otf | Bin 0 -> 1184 bytes + .../layout.gpos6/gpos6_font1.default.41,42.ttx | 265 - + .../gpos6_font1.default.41,43,44,45,46.otf | Bin 0 -> 1840 bytes + .../gpos6_font1.default.41,43,44,45,46.ttx | 336 - + .../layout.gpos6/gpos6_font1.default.41,43,44.otf | Bin 0 -> 1500 bytes + .../layout.gpos6/gpos6_font1.default.41,43,44.ttx | 295 - + .../layout.gpos6/gpos6_font1.default.41,43,45.otf | Bin 0 -> 1508 bytes + .../layout.gpos6/gpos6_font1.default.41,43,45.ttx | 296 - + .../layout.gpos6/gpos6_font1.default.41,43.otf | Bin 0 -> 1288 bytes + .../layout.gpos6/gpos6_font1.default.41,43.ttx | 275 - + .../layout.gpos6/gpos6_font1.default.41.otf | Bin 0 -> 1172 bytes + .../layout.gpos6/gpos6_font1.default.41.ttx | 256 - + .../gpos6_font1.default.retain-all-codepoint.otf | Bin 0 -> 3644 bytes + .../gpos6_font1.default.retain-all-codepoint.ttx | 1231 - + .../gpos6_font1.retain-gids.41,42,43,44.otf | Bin 0 -> 2196 bytes + .../gpos6_font1.retain-gids.41,42,43,44.ttx | 624 - + .../gpos6_font1.retain-gids.41,42,43,45.otf | Bin 0 -> 2220 bytes + .../gpos6_font1.retain-gids.41,42,43,45.ttx | 630 - + .../gpos6_font1.retain-gids.41,42,43.otf | Bin 0 -> 1984 bytes + .../gpos6_font1.retain-gids.41,42,43.ttx | 604 - + .../layout.gpos6/gpos6_font1.retain-gids.41,42.otf | Bin 0 -> 1888 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,42.ttx | 585 - + .../gpos6_font1.retain-gids.41,43,44,45,46.otf | Bin 0 -> 2560 bytes + .../gpos6_font1.retain-gids.41,43,44,45,46.ttx | 661 - + .../gpos6_font1.retain-gids.41,43,44.otf | Bin 0 -> 2216 bytes + .../gpos6_font1.retain-gids.41,43,44.ttx | 620 - + .../gpos6_font1.retain-gids.41,43,45.otf | Bin 0 -> 2236 bytes + .../gpos6_font1.retain-gids.41,43,45.ttx | 626 - + .../layout.gpos6/gpos6_font1.retain-gids.41,43.otf | Bin 0 -> 2004 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,43.ttx | 600 - + .../layout.gpos6/gpos6_font1.retain-gids.41.otf | Bin 0 -> 1872 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41.ttx | 576 - + ...pos6_font1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3644 bytes + ...pos6_font1.retain-gids.retain-all-codepoint.ttx | 1231 - + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 12684 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttx | 4529 - + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 0 -> 9992 bytes + .../Amiri-Regular.default.627,644,62D,628.ttx | 3537 - + .../Amiri-Regular.default.627,644.ttf | Bin 0 -> 4168 bytes + .../Amiri-Regular.default.627,644.ttx | 1383 - + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 0 -> 9516 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttx | 3371 - + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 0 -> 7324 bytes + .../Amiri-Regular.default.63A,64A,631.ttx | 2587 - + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 48012 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttx | 28725 ---- + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 0 -> 42640 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttx | 25101 ---- + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 0 -> 36696 bytes + .../Amiri-Regular.retain-gids.627,644.ttx | 23003 --- + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 45908 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttx | 27759 ---- + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 0 -> 37988 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttx | 22911 --- + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 0 -> 1840 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.ttx | 328 - + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1332 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.ttx | 284 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3704 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 - + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 0 -> 2304 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 563 - + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2032 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3704 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 0 -> 1840 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.ttx | 328 - + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1332 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.ttx | 284 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3704 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 - + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 0 -> 2304 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 563 - + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2032 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3704 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + ...pos_chaining3_simple_f1.default.30,31,32,33.otf | Bin 0 -> 1816 bytes + ...pos_chaining3_simple_f1.default.30,31,32,33.ttx | 328 - + .../gpos_chaining3_simple_f1.default.41,42,43.otf | Bin 0 -> 1308 bytes + .../gpos_chaining3_simple_f1.default.41,42,43.ttx | 284 - + ...ing3_simple_f1.default.retain-all-codepoint.otf | Bin 0 -> 3680 bytes + ...ing3_simple_f1.default.retain-all-codepoint.ttx | 1247 - + ...chaining3_simple_f1.retain-gids.30,31,32,33.otf | Bin 0 -> 2280 bytes + ...chaining3_simple_f1.retain-gids.30,31,32,33.ttx | 563 - + ...os_chaining3_simple_f1.retain-gids.41,42,43.otf | Bin 0 -> 2008 bytes + ...os_chaining3_simple_f1.retain-gids.41,42,43.ttx | 604 - + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3680 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.ttx | 1247 - + .../layout.gpos9/gpos9_font2.default.41,42.otf | Bin 0 -> 1184 bytes + .../layout.gpos9/gpos9_font2.default.41,42.ttx | 265 - + .../layout.gpos9/gpos9_font2.default.41.otf | Bin 0 -> 1172 bytes + .../layout.gpos9/gpos9_font2.default.41.ttx | 256 - + .../layout.gpos9/gpos9_font2.default.42.otf | Bin 0 -> 1032 bytes + .../layout.gpos9/gpos9_font2.default.42.ttx | 245 - + .../layout.gpos9/gpos9_font2.retain-gids.41,42.otf | Bin 0 -> 1888 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41,42.ttx | 585 - + .../layout.gpos9/gpos9_font2.retain-gids.41.otf | Bin 0 -> 1872 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41.ttx | 576 - + .../layout.gpos9/gpos9_font2.retain-gids.42.otf | Bin 0 -> 1744 bytes + .../layout.gpos9/gpos9_font2.retain-gids.42.ttx | 570 - + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 0 -> 4348 bytes + ...ub_alternate_substitution.default.53A9,53F1.ttx | 1009 - + .../gsub_alternate_substitution.default.53A9.otf | Bin 0 -> 3904 bytes + .../gsub_alternate_substitution.default.53A9.ttx | 924 - + .../gsub_alternate_substitution.default.53F1.otf | Bin 0 -> 2452 bytes + .../gsub_alternate_substitution.default.53F1.ttx | 638 - + ...e_substitution.default.retain-all-codepoint.otf | Bin 0 -> 6040 bytes + ...e_substitution.default.retain-all-codepoint.ttx | 1387 - + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 0 -> 4472 bytes + ...lternate_substitution.retain-gids.53A9,53F1.ttx | 1063 - + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 0 -> 4056 bytes + ...sub_alternate_substitution.retain-gids.53A9.ttx | 990 - + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 0 -> 2648 bytes + ...sub_alternate_substitution.retain-gids.53F1.ttx | 728 - + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 0 -> 6132 bytes + ...bstitution.retain-gids.retain-all-codepoint.ttx | 1423 - + ...text1_multiple_subrules_f2.default.41,42,43.otf | Bin 0 -> 1340 bytes + ...text1_multiple_subrules_f2.default.41,42,43.ttx | 290 - + ...context1_multiple_subrules_f2.default.41,42.otf | Bin 0 -> 1240 bytes + ...context1_multiple_subrules_f2.default.41,42.ttx | 271 - + ...context1_multiple_subrules_f2.default.41,43.otf | Bin 0 -> 1344 bytes + ...context1_multiple_subrules_f2.default.41,43.ttx | 281 - + ...ub_context1_multiple_subrules_f2.default.41.otf | Bin 0 -> 1228 bytes + ...ub_context1_multiple_subrules_f2.default.41.ttx | 262 - + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 0 -> 3712 bytes + ...le_subrules_f2.default.retain-all-codepoint.ttx | 1253 - + ...1_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 0 -> 2040 bytes + ...1_multiple_subrules_f2.retain-gids.41,42,43.ttx | 610 - + ...ext1_multiple_subrules_f2.retain-gids.41,42.otf | Bin 0 -> 1944 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,42.ttx | 591 - + ...ext1_multiple_subrules_f2.retain-gids.41,43.otf | Bin 0 -> 2060 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,43.ttx | 606 - + ...ontext1_multiple_subrules_f2.retain-gids.41.otf | Bin 0 -> 1928 bytes + ...ontext1_multiple_subrules_f2.retain-gids.41.ttx | 582 - + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3712 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.ttx | 1253 - + ...text2_multiple_subrules_f2.default.41,42,43.otf | Bin 0 -> 1340 bytes + ...text2_multiple_subrules_f2.default.41,42,43.ttx | 290 - + ...context2_multiple_subrules_f2.default.41,42.otf | Bin 0 -> 1240 bytes + ...context2_multiple_subrules_f2.default.41,42.ttx | 271 - + ...context2_multiple_subrules_f2.default.41,43.otf | Bin 0 -> 1344 bytes + ...context2_multiple_subrules_f2.default.41,43.ttx | 281 - + ...ub_context2_multiple_subrules_f2.default.41.otf | Bin 0 -> 1228 bytes + ...ub_context2_multiple_subrules_f2.default.41.ttx | 262 - + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 0 -> 3712 bytes + ...le_subrules_f2.default.retain-all-codepoint.ttx | 1253 - + ...2_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 0 -> 2040 bytes + ...2_multiple_subrules_f2.retain-gids.41,42,43.ttx | 610 - + ...ext2_multiple_subrules_f2.retain-gids.41,42.otf | Bin 0 -> 1944 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,42.ttx | 591 - + ...ext2_multiple_subrules_f2.retain-gids.41,43.otf | Bin 0 -> 2060 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,43.ttx | 606 - + ...ontext2_multiple_subrules_f2.retain-gids.41.otf | Bin 0 -> 1928 bytes + ...ontext2_multiple_subrules_f2.retain-gids.41.ttx | 582 - + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3712 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.ttx | 1253 - + ...sub_context3_successive_f1.default.41,42,43.otf | Bin 0 -> 1328 bytes + ...sub_context3_successive_f1.default.41,42,43.ttx | 290 - + .../gsub_context3_successive_f1.default.41,42.otf | Bin 0 -> 1228 bytes + .../gsub_context3_successive_f1.default.41,42.ttx | 271 - + .../gsub_context3_successive_f1.default.41,43.otf | Bin 0 -> 1332 bytes + .../gsub_context3_successive_f1.default.41,43.ttx | 281 - + .../gsub_context3_successive_f1.default.41.otf | Bin 0 -> 1216 bytes + .../gsub_context3_successive_f1.default.41.ttx | 262 - + ..._successive_f1.default.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ..._successive_f1.default.retain-all-codepoint.ttx | 1253 - + ...context3_successive_f1.retain-gids.41,42,43.otf | Bin 0 -> 2028 bytes + ...context3_successive_f1.retain-gids.41,42,43.ttx | 610 - + ...ub_context3_successive_f1.retain-gids.41,42.otf | Bin 0 -> 1932 bytes + ...ub_context3_successive_f1.retain-gids.41,42.ttx | 591 - + ...ub_context3_successive_f1.retain-gids.41,43.otf | Bin 0 -> 2048 bytes + ...ub_context3_successive_f1.retain-gids.41,43.ttx | 606 - + .../gsub_context3_successive_f1.retain-gids.41.otf | Bin 0 -> 1916 bytes + .../gsub_context3_successive_f1.retain-gids.41.ttx | 582 - + ...cessive_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3700 bytes + ...cessive_f1.retain-gids.retain-all-codepoint.ttx | 1253 - + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 0 -> 1852 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.ttx | 334 - + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1344 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.ttx | 290 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3716 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1253 - + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 0 -> 2316 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 569 - + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2044 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 610 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3716 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1253 - + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 0 -> 1852 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.ttx | 334 - + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 0 -> 1344 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.ttx | 290 - + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 0 -> 3716 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1253 - + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 0 -> 2316 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 569 - + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 0 -> 2044 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 610 - + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3716 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1253 - + ...sub_chaining3_simple_f2.default.30,31,32,33.otf | Bin 0 -> 1828 bytes + ...sub_chaining3_simple_f2.default.30,31,32,33.ttx | 334 - + .../gsub_chaining3_simple_f2.default.41,42,43.otf | Bin 0 -> 1320 bytes + .../gsub_chaining3_simple_f2.default.41,42,43.ttx | 290 - + ...ing3_simple_f2.default.retain-all-codepoint.otf | Bin 0 -> 3692 bytes + ...ing3_simple_f2.default.retain-all-codepoint.ttx | 1253 - + ...chaining3_simple_f2.retain-gids.30,31,32,33.otf | Bin 0 -> 2292 bytes + ...chaining3_simple_f2.retain-gids.30,31,32,33.ttx | 569 - + ...ub_chaining3_simple_f2.retain-gids.41,42,43.otf | Bin 0 -> 2020 bytes + ...ub_chaining3_simple_f2.retain-gids.41,42,43.ttx | 610 - + ..._simple_f2.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3692 bytes + ..._simple_f2.retain-gids.retain-all-codepoint.ttx | 1253 - + ..._created.default.41,42,43,44,45,46,47,48,49.otf | Bin 0 -> 2176 bytes + ..._created.default.41,42,43,44,45,46,47,48,49.ttx | 392 - + ...nually_created.default.41,42,43,44,45,46,47.otf | Bin 0 -> 1888 bytes + ...nually_created.default.41,42,43,44,45,46,47.ttx | 357 - + ...nually_created.default.41,42,43,44,45,46,4D.otf | Bin 0 -> 1852 bytes + ...nually_created.default.41,42,43,44,45,46,4D.ttx | 351 - + ...nually_created.default.41,42,43,44,45,46,51.otf | Bin 0 -> 1932 bytes + ...nually_created.default.41,42,43,44,45,46,51.ttx | 364 - + ..._manually_created.default.41,42,43,44,45,46.otf | Bin 0 -> 1832 bytes + ..._manually_created.default.41,42,43,44,45,46.ttx | 343 - + .../gsub8_manually_created.default.41,42,43.otf | Bin 0 -> 1284 bytes + .../gsub8_manually_created.default.41,42,43.ttx | 285 - + .../gsub8_manually_created.default.41.otf | Bin 0 -> 1172 bytes + .../gsub8_manually_created.default.41.ttx | 259 - + .../gsub8_manually_created.default.61.otf | Bin 0 -> 1224 bytes + .../gsub8_manually_created.default.61.ttx | 268 - + ...nually_created.default.retain-all-codepoint.otf | Bin 0 -> 3656 bytes + ...nually_created.default.retain-all-codepoint.ttx | 1152 - + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 0 -> 2884 bytes + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.ttx | 712 - + ...ly_created.retain-gids.41,42,43,44,45,46,47.otf | Bin 0 -> 2596 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,47.ttx | 677 - + ...ly_created.retain-gids.41,42,43,44,45,46,4D.otf | Bin 0 -> 2636 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,4D.ttx | 701 - + ...ly_created.retain-gids.41,42,43,44,45,46,51.otf | Bin 0 -> 2760 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,51.ttx | 734 - + ...ually_created.retain-gids.41,42,43,44,45,46.otf | Bin 0 -> 2540 bytes + ...ually_created.retain-gids.41,42,43,44,45,46.ttx | 663 - + ...gsub8_manually_created.retain-gids.41,42,43.otf | Bin 0 -> 1984 bytes + ...gsub8_manually_created.retain-gids.41,42,43.ttx | 605 - + .../gsub8_manually_created.retain-gids.41.otf | Bin 0 -> 1872 bytes + .../gsub8_manually_created.retain-gids.41.ttx | 579 - + .../gsub8_manually_created.retain-gids.61.otf | Bin 0 -> 2276 bytes + .../gsub8_manually_created.retain-gids.61.ttx | 748 - + ...ly_created.retain-gids.retain-all-codepoint.otf | Bin 0 -> 3656 bytes + ...ly_created.retain-gids.retain-all-codepoint.ttx | 1152 - + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 0 -> 4204 bytes + .../expected/layout.khmer/Khmer.default.1780.ttx | 2504 - + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 6412 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttx | 3406 - + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 0 -> 4140 bytes + .../expected/layout.khmer/Khmer.default.31.ttx | 2486 - + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 0 -> 4464 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttx | 2676 - + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 7848 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttx | 4310 - + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 0 -> 4256 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttx | 2562 - + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 11396 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttx | 4986 - + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 0 -> 18248 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttx | 9792 -- + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 0 -> 3528 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttx | 1326 - + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 0 -> 12368 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttx | 5279 - + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 0 -> 20368 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttx | 10363 -- + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 18232 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttx | 9170 -- + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 0 -> 24376 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttx | 13452 -- + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 0 -> 9176 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttx | 5158 - + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 18172 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttx | 8915 -- + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 0 -> 26588 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttx | 14027 -- + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 0 -> 2464 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttx | 1251 - + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 0 -> 2284 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttx | 1120 - + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 0 -> 2084 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttx | 1008 - + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 0 -> 2116 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttx | 1017 - + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 0 -> 2388 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttx | 1200 - + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 0 -> 2716 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttx | 1431 - + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 0 -> 2548 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttx | 1305 - + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 0 -> 2336 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttx | 1188 - + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 0 -> 2384 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttx | 1207 - + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 0 -> 6476 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttx | 4120 - + .../data/expected/sbix/sbix.default.58,59.ttf | Bin 0 -> 193528 bytes + .../data/expected/sbix/sbix.default.58,59.ttx | 12367 -- + test/subset/data/expected/sbix/sbix.default.58.ttf | Bin 0 -> 121168 bytes + test/subset/data/expected/sbix/sbix.default.58.ttx | 7801 - + test/subset/data/expected/sbix/sbix.default.59.ttf | Bin 0 -> 89364 bytes + test/subset/data/expected/sbix/sbix.default.59.ttx | 5813 - + .../sbix/sbix.drop-hints-retain-gids.58,59.ttf | Bin 0 -> 193528 bytes + .../sbix/sbix.drop-hints-retain-gids.58,59.ttx | 12367 -- + .../sbix/sbix.drop-hints-retain-gids.58.ttf | Bin 0 -> 121168 bytes + .../sbix/sbix.drop-hints-retain-gids.58.ttx | 7801 - + .../sbix/sbix.drop-hints-retain-gids.59.ttf | Bin 0 -> 89404 bytes + .../sbix/sbix.drop-hints-retain-gids.59.ttx | 5826 - + .../data/expected/sbix/sbix.drop-hints.58,59.ttf | Bin 0 -> 193528 bytes + .../data/expected/sbix/sbix.drop-hints.58,59.ttx | 12367 -- + .../data/expected/sbix/sbix.drop-hints.58.ttf | Bin 0 -> 121168 bytes + .../data/expected/sbix/sbix.drop-hints.58.ttx | 7801 - + .../data/expected/sbix/sbix.drop-hints.59.ttf | Bin 0 -> 89364 bytes + .../data/expected/sbix/sbix.drop-hints.59.ttx | 5813 - + .../data/expected/sbix/sbix.retain-gids.58,59.ttf | Bin 0 -> 193528 bytes + .../data/expected/sbix/sbix.retain-gids.58,59.ttx | 12367 -- + .../data/expected/sbix/sbix.retain-gids.58.ttf | Bin 0 -> 121168 bytes + .../data/expected/sbix/sbix.retain-gids.58.ttx | 7801 - + .../data/expected/sbix/sbix.retain-gids.59.ttf | Bin 0 -> 89404 bytes + .../data/expected/sbix/sbix.retain-gids.59.ttx | 5826 - + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 0 -> 15792 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttx | 6907 - + .../data/expected/variable/Fraunces.default.61.ttf | Bin 0 -> 4228 bytes + .../data/expected/variable/Fraunces.default.61.ttx | 1427 - + test/subset/generate-expected-outputs.py | 1 - + test/subset/run-tests.py | 29 +- + test/subset/subset_test_suite.py | 18 +- + 1945 files changed, 23 insertions(+), 3999130 deletions(-) + +commit 62a535f154a9453c7d16c669094c254666a6caac +Author: Behdad Esfahbod +Date: Tue Aug 3 10:11:27 2021 -0600 + + [khmer] Fix comment + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3104 + + src/hb-ot-shape-complex-indic.cc | 7 ++++--- + src/hb-ot-shape-complex-khmer.cc | 3 ++- + src/hb-ot-shape-complex-myanmar.cc | 3 ++- + src/hb-ot-shape-complex-use.cc | 3 ++- + 4 files changed, 10 insertions(+), 6 deletions(-) + +commit 2cc9ed2b9e3de9e162e9d127edce377f059fd56b +Author: Khaled Hosny +Date: Mon Aug 2 22:00:11 2021 +0200 + + [test] More lookup_collect_glyphs() tests + + test/api/test-ot-collect-glyphs.c | 95 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 95 insertions(+) + +commit 06640374016f1e78d1fbfa8c5e7b09f8b04a44cc +Author: Khaled Hosny +Date: Mon Aug 2 19:52:59 2021 +0200 + + [test] More lookup_collect_glyphs() tests + + test/api/test-ot-collect-glyphs.c | 66 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 66 insertions(+) + +commit ecdd8e3f18700113032a88cdfdc94bcf55e08542 +Author: Khaled Hosny +Date: Mon Aug 2 19:36:20 2021 +0200 + + [test] More lookup_collect_glyphs() tests + + test/api/fonts/Qahiri-Regular.ttf | Bin 0 -> 35984 bytes + test/api/test-ot-collect-glyphs.c | 122 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 122 insertions(+) + +commit f998d7e1ceee3c797104e90cc25caeff56407745 +Author: Khaled Hosny +Date: Mon Aug 2 16:10:13 2021 +0200 + + [test] Add API test for lookup_collect_glyphs() + + We don’t seem to have any tests exercising this API at all, and it is a + good check of GSUB/GPOS code. + + test/api/Makefile.am | 1 + + test/api/meson.build | 1 + + test/api/test-ot-collect-glyphs.c | 209 ++++++++++++++++++++++++++++++++++++++ + 3 files changed, 211 insertions(+) + +commit 47d47e8c43d71c6d6570d354400c0757940bbb94 +Author: Behdad Esfahbod +Date: Sun Aug 1 22:12:08 2021 -0600 + + [util/hb-shape/hb-subset] Don't terminate on first error in batch mode + + There's no reason to quit processing. The failure is already + communicated via stdout in both cases. + + util/hb-shape.cc | 4 ---- + util/hb-subset.cc | 3 --- + 2 files changed, 7 deletions(-) + +commit a363ce573c3aa706de3aecf0515519a5d7842af2 +Author: Behdad Esfahbod +Date: Sun Aug 1 22:11:13 2021 -0600 + + [util/hb-subset] Minor refactor of batch mode + + To match recent changes to hb-shape. + + util/hb-subset.cc | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +commit 10e73d188a28e777b7950e37a9eed908f3a19615 +Author: Khaled Hosny +Date: Sun Aug 1 11:11:12 2021 +0200 + + [test] Add batch mode to hb-subset and use it + + time meson test --suite=subset down from: + real 0m22.822s + user 0m44.561s + sys 0m9.255s + + to: + real 0m19.418s + user 0m38.171s + sys 0m3.587s + + Does not seem to help much, but it is something. + + Part of https://github.com/harfbuzz/harfbuzz/issues/3089 + + test/subset/run-repack-tests.py | 17 ++++++++++++++--- + test/subset/run-tests.py | 17 ++++++++++++++--- + util/hb-subset.cc | 34 ++++++++++++++++++++++++++++++++++ + 3 files changed, 62 insertions(+), 6 deletions(-) + +commit 75f314c47150270a04b659c3218ba1e4738d13d2 +Merge: ed99c8062 1fd3a261e +Author: Behdad Esfahbod +Date: Sun Aug 1 12:06:49 2021 -0600 + + Merge pull request #3103 from harfbuzz/test-reference + + [test] Remove unused shaping tests reference mode + +commit 1fd3a261e526745b1a99bf1eece8e87bcc673d49 +Author: Khaled Hosny +Date: Sun Aug 1 19:38:39 2021 +0200 + + [test] Remove unused shaping tests reference mode + + test/shaping/run-tests.py | 35 +++++++++++------------------------ + 1 file changed, 11 insertions(+), 24 deletions(-) + +commit ed99c80623ce6c81e5efedd97f2374b41f33d14b +Author: Behdad Esfahbod +Date: Sun Aug 1 08:14:59 2021 -0600 + + [util/hb-shape] Refactor driver type duplication + + util/hb-shape.cc | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +commit 05cf81283b90531710f060f7ef6e3216fe8b5330 +Author: Behdad Esfahbod +Date: Sun Aug 1 07:59:25 2021 -0600 + + [util/hb-shape] Fix use of EOF as end-of-line + + EOF is -1, which was being treated as a valid char (255). + Use int instead. + + test/api/test-style.c | 2 +- + util/main-font-text.hh | 2 +- + util/options.cc | 15 ++++++++------- + util/options.hh | 2 +- + 4 files changed, 11 insertions(+), 10 deletions(-) + +commit ee7473b8a447a05a67b185bd9ff6fac3f2ca24d8 +Author: Behdad Esfahbod +Date: Fri Jul 30 12:55:28 2021 -0600 + + [mutex] Remove unused HB_MUTEX_IMPL_INIT / HB_MUTEX_INIT + + https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890089096 + + src/hb-mutex.hh | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +commit 0e37c07f4c116c983693ce87ae6828b1ca77a347 +Author: Behdad Esfahbod +Date: Fri Jul 30 12:52:59 2021 -0600 + + Revert "Construct user_data in hb_object" + + This reverts commit a78eb43c79e7a2d870add6b686426748e104b7b3. + + See: https://github.com/harfbuzz/harfbuzz/pull/3100#issuecomment-890088227 + + src/hb-object.hh | 3 --- + 1 file changed, 3 deletions(-) + +commit 5dc4cd71cc950ccf2bbeee2a9f03e5908850b1eb +Author: Behdad Esfahbod +Date: Fri Jul 30 12:37:40 2021 -0600 + + [blob] Minor change in destruction + + No semantic change. + + src/hb-blob.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 7cbcdaf68a59ae87420503f7b5be490745607fbe +Author: Behdad Esfahbod +Date: Fri Jul 30 11:26:46 2021 -0600 + + Whitespace + + test/subset/data/tests/cff-full-font.tests | 1 - + test/subset/data/tests/cff-japanese.tests | 3 --- + test/subset/data/tests/japanese.tests | 2 -- + test/subset/data/tests/layout.gdef-varstore.tests | 1 - + 4 files changed, 7 deletions(-) + +commit 5d283aa0bd65739f78b384590e070e8cfb531d74 +Merge: bbeb3a62b f6c67a5fc +Author: Behdad Esfahbod +Date: Fri Jul 30 10:15:09 2021 -0600 + + Merge pull request #3095 from harfbuzz/subset-tests-speed + + [test] Speed-up subset tests by saving TTX dump + +commit bbeb3a62b0efbb598d8683f7c4b6cc7069a58aeb +Merge: a78eb43c7 b63ac5717 +Author: Behdad Esfahbod +Date: Fri Jul 30 09:54:55 2021 -0600 + + Merge pull request #3096 from googlefonts/multi_flag + + [subset] change input and plan flags to be bit sets. + +commit b63ac5717479cd8264e717f4e6a2df97d352bb67 +Author: Garret Rieger +Date: Thu Jul 29 18:23:41 2021 -0700 + + [subset] bail if collection region indices is in error. + + src/hb-ot-layout-common.hh | 4 ++++ + 1 file changed, 4 insertions(+) + +commit f9d8e4a97620eecd8dba3469b1bc115b3fbe242a +Author: Garret Rieger +Date: Thu Jul 29 15:25:41 2021 -0700 + + [subset] switch ..._set_flags to not take a mask. + + src/hb-subset-input.cc | 21 ++++++++------------- + src/hb-subset-input.hh | 4 +++- + src/hb-subset-plan.hh | 2 +- + src/hb-subset.h | 35 +++++++++++++++-------------------- + test/api/hb-subset-test.h | 3 +-- + test/api/test-subset-cff1.c | 20 +++++++++----------- + test/api/test-subset-cff2.c | 9 ++++----- + test/api/test-subset-glyf.c | 12 ++++++------ + test/api/test-subset-gvar.c | 2 +- + test/api/test-subset-hvar.c | 4 ++-- + test/api/test-subset-vvar.c | 2 +- + test/api/test-subset.c | 11 ++--------- + test/fuzzing/hb-subset-fuzzer.cc | 6 +++--- + util/options.hh | 9 +++++---- + 14 files changed, 61 insertions(+), 79 deletions(-) + +commit 46d4a5e67353517bb27d0ac2d944b7343a8cff3c +Author: Garret Rieger +Date: Thu Jul 29 15:07:13 2021 -0700 + + [subset] Convert subset plan to use a flags bit set. + + src/hb-ot-glyf-table.hh | 15 +++++++++------ + src/hb-ot-layout-gpos-table.hh | 6 +++--- + src/hb-ot-maxp-table.hh | 2 +- + src/hb-ot-name-table.hh | 6 +++++- + src/hb-ot-os2-table.hh | 3 ++- + src/hb-ot-post-table.hh | 5 +++-- + src/hb-ot-var-gvar-table.hh | 8 ++++++-- + src/hb-ot-var-hvar-table.hh | 2 +- + src/hb-subset-cff-common.hh | 13 ++++++++----- + src/hb-subset-cff1.cc | 4 ++-- + src/hb-subset-cff2.cc | 4 ++-- + src/hb-subset-plan.cc | 29 +++++++++++++++++------------ + src/hb-subset-plan.hh | 13 ++----------- + src/hb-subset.cc | 4 ++-- + 14 files changed, 63 insertions(+), 51 deletions(-) + +commit 3d534b146c545d95e4b81fbec2c5a7a73531fae5 +Author: Garret Rieger +Date: Thu Jul 29 11:52:14 2021 -0700 + + [subset] convert subset input flags into bit flags. + + Store the flags in a bit set. Updates the public api to work with the bit set directly. + + src/hb-subset-input.cc | 103 +++++++-------------------------------- + src/hb-subset-input.hh | 12 +---- + src/hb-subset-plan.cc | 22 ++++----- + src/hb-subset.h | 62 ++++++++++++----------- + test/api/hb-subset-test.h | 4 +- + test/api/test-subset-cff1.c | 24 ++++----- + test/api/test-subset-cff2.c | 11 +++-- + test/api/test-subset-glyf.c | 12 ++--- + test/api/test-subset-gvar.c | 2 +- + test/api/test-subset-hvar.c | 4 +- + test/api/test-subset-vvar.c | 2 +- + test/api/test-subset.c | 41 ++++++++++++++++ + test/fuzzing/hb-subset-fuzzer.cc | 33 +++---------- + util/hb-subset.cc | 2 +- + util/options-subset.cc | 23 +++++---- + util/options.hh | 24 +++++++++ + 16 files changed, 180 insertions(+), 201 deletions(-) + +commit f6c67a5fcfcf64e6e01b337c34d366f167800410 +Author: Khaled Hosny +Date: Fri Jul 30 02:20:19 2021 +0200 + + [test] Open file in UTF-8 + + It is 2021 and Python still does not default to UTF-8 on Windows! + + test/subset/run-tests.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit bafbade087d18f0045181ad31829a0a4ffbf0544 +Author: Khaled Hosny +Date: Fri Jul 30 01:42:45 2021 +0200 + + [test] Force FontTools to use \n on all platforms + + On Windows in helfuly uses \r\n. + + test/subset/run-tests.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a78eb43c79e7a2d870add6b686426748e104b7b3 +Author: Ben Wagner +Date: Thu Jul 29 17:35:25 2021 -0400 + + Construct user_data in hb_object + + hb_object's user_data is created lazily. The previous implementation of + hb_object_set_user_data created space for the user_data but did not + actually construct it. This means that hb_user_data_array_t's lock was + not constructed. If hb_mutex_t is backed by an implementation which + requires that it be constructed (not just zero initialized) then errors + will occur when taking the lock when setting the user data. + + Change hb_object_set_user_data to construct the user_data in the created + space and hb_object_fini to call the destructor. + + src/hb-object.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 278f44dcee34cea25403e42e06668f0afe2328c1 +Author: Khaled Hosny +Date: Thu Jul 29 23:43:56 2021 +0200 + + [test] Speed-up subset tests by saving TTX dump + + Speed-up subset tests by saving TTX dump of expected output instead of + generating it each time the tests are run. + + Cuts down meson test --suite=subset on my system from: + real 0m38.977s + user 1m12.024s + sys 0m10.547s + + to: + real 0m22.291s + user 0m44.548s + sys 0m9.221s + + Part of https://github.com/harfbuzz/harfbuzz/issues/3089 + + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7060 -> 0 bytes + .../Comfortaa-Regular-new.default.61,62,63.ttx | 4507 + + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 6692 -> 0 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttx | 4359 + + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6328 -> 0 bytes + .../basics/Comfortaa-Regular-new.default.61.ttx | 4198 + + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6200 -> 0 bytes + .../basics/Comfortaa-Regular-new.default.62.ttx | 4151 + + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6256 -> 0 bytes + .../basics/Comfortaa-Regular-new.default.63.ttx | 4209 + + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 220928 -> 0 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttx | 132956 +++++++++++++++++ + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 4608 -> 0 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttx | 1918 + + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4312 -> 0 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttx | 1785 + + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 3724 -> 0 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttx | 1493 + + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 3900 -> 0 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttx | 1600 + + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 3972 -> 0 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttx | 1662 + + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 189800 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 122816 ++++++++++++++++ + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 2600 -> 0 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttx | 813 + + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2296 -> 0 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttx | 675 + + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 1976 -> 0 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttx | 523 + + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 1900 -> 0 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttx | 490 + + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 1968 -> 0 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttx | 547 + + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 189756 -> 0 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttx | 122806 ++++++++++++++++ + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 7988 -> 0 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttx | 4929 + + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 7628 -> 0 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttx | 4778 + + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7256 -> 0 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttx | 4614 + + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7184 -> 0 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttx | 4606 + + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7180 -> 0 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttx | 4623 + + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 220928 -> 0 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttx | 132956 +++++++++++++++++ + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 7072 -> 0 bytes + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttx | 4519 + + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 6700 -> 0 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttx | 4371 + + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 6336 -> 0 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttx | 4210 + + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 6208 -> 0 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttx | 4163 + + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 6264 -> 0 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttx | 4221 + + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 227920 -> 0 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttx | 133598 ++++++++++++++++++ + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 7504 -> 0 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttx | 4670 + + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 7140 -> 0 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttx | 4519 + + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 6772 -> 0 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttx | 4355 + + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 6200 -> 0 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttx | 4151 + + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 6256 -> 0 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttx | 4209 + + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 221620 -> 0 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 133303 +++++++++++++++++ + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 7060 -> 0 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttx | 4507 + + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 6692 -> 0 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttx | 4359 + + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 6328 -> 0 bytes + .../Comfortaa-Regular-new.layout-features.61.ttx | 4198 + + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 6200 -> 0 bytes + .../Comfortaa-Regular-new.layout-features.62.ttx | 4151 + + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 6256 -> 0 bytes + .../Comfortaa-Regular-new.layout-features.63.ttx | 4209 + + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 219124 -> 0 bytes + ...ar-new.layout-features.retain-all-codepoint.ttx | 131168 +++++++++++++++++ + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 6800 -> 0 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttx | 4495 + + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 6432 -> 0 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttx | 4347 + + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6068 -> 0 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttx | 4186 + + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 5940 -> 0 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttx | 4139 + + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 5996 -> 0 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttx | 4197 + + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 220668 -> 0 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttx | 132944 +++++++++++++++++ + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7060 -> 0 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttx | 4507 + + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 6692 -> 0 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttx | 4359 + + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6328 -> 0 bytes + .../Comfortaa-Regular-new.name-languages.61.ttx | 4198 + + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6200 -> 0 bytes + .../Comfortaa-Regular-new.name-languages.62.ttx | 4151 + + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6256 -> 0 bytes + .../Comfortaa-Regular-new.name-languages.63.ttx | 4209 + + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 220928 -> 0 bytes + ...lar-new.name-languages.retain-all-codepoint.ttx | 132956 +++++++++++++++++ + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7060 -> 0 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttx | 4507 + + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 6692 -> 0 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttx | 4359 + + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6328 -> 0 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttx | 4198 + + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6200 -> 0 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttx | 4151 + + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6256 -> 0 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttx | 4209 + + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 220928 -> 0 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttx | 132956 +++++++++++++++++ + ...egular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 7060 -> 0 bytes + ...egular-new.no-prune-unicode-ranges.61,62,63.ttx | 4507 + + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 6692 -> 0 bytes + ...a-Regular-new.no-prune-unicode-ranges.61,63.ttx | 4359 + + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 6328 -> 0 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.61.ttx | 4198 + + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 6200 -> 0 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.62.ttx | 4151 + + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 6256 -> 0 bytes + ...rtaa-Regular-new.no-prune-unicode-ranges.63.ttx | 4209 + + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 220928 -> 0 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 132956 +++++++++++++++++ + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 7652 -> 0 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttx | 4758 + + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 7284 -> 0 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttx | 4610 + + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 6920 -> 0 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttx | 4449 + + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 6796 -> 0 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttx | 4402 + + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 6844 -> 0 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttx | 4460 + + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 221524 -> 0 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttx | 133207 +++++++++++++++++ + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9068 -> 0 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttx | 5612 + + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 8708 -> 0 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttx | 5469 + + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8076 -> 0 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttx | 5168 + + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8200 -> 0 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttx | 5261 + + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8260 -> 0 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttx | 5324 + + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 220972 -> 0 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttx | 132966 +++++++++++++++++ + ...numMyeongjo-Regular-subset.default.61,62,63.ttf | Bin 4128 -> 0 bytes + ...numMyeongjo-Regular-subset.default.61,62,63.ttx | 2032 + + .../NanumMyeongjo-Regular-subset.default.61,63.ttf | Bin 3580 -> 0 bytes + .../NanumMyeongjo-Regular-subset.default.61,63.ttx | 1822 + + .../NanumMyeongjo-Regular-subset.default.61.ttf | Bin 3156 -> 0 bytes + .../NanumMyeongjo-Regular-subset.default.61.ttx | 1696 + + .../NanumMyeongjo-Regular-subset.default.62.ttf | Bin 3180 -> 0 bytes + .../NanumMyeongjo-Regular-subset.default.62.ttx | 1719 + + .../NanumMyeongjo-Regular-subset.default.63.ttf | Bin 3048 -> 0 bytes + .../NanumMyeongjo-Regular-subset.default.63.ttx | 1635 + + ...Regular-subset.default.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...Regular-subset.default.retain-all-codepoint.ttx | 4391 + + ...ular-subset.drop-hints-retain-gids.61,62,63.ttf | Bin 1452 -> 0 bytes + ...ular-subset.drop-hints-retain-gids.61,62,63.ttx | 380 + + ...Regular-subset.drop-hints-retain-gids.61,63.ttf | Bin 1284 -> 0 bytes + ...Regular-subset.drop-hints-retain-gids.61,63.ttx | 314 + + ...jo-Regular-subset.drop-hints-retain-gids.61.ttf | Bin 1128 -> 0 bytes + ...jo-Regular-subset.drop-hints-retain-gids.61.ttx | 254 + + ...jo-Regular-subset.drop-hints-retain-gids.62.ttf | Bin 1144 -> 0 bytes + ...jo-Regular-subset.drop-hints-retain-gids.62.ttx | 261 + + ...jo-Regular-subset.drop-hints-retain-gids.63.ttf | Bin 1116 -> 0 bytes + ...jo-Regular-subset.drop-hints-retain-gids.63.ttx | 251 + + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 3536 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 1215 + + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 1452 -> 0 bytes + ...Myeongjo-Regular-subset.drop-hints.61,62,63.ttx | 380 + + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttf | Bin 1276 -> 0 bytes + ...numMyeongjo-Regular-subset.drop-hints.61,63.ttx | 310 + + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 1128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.61.ttx | 254 + + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 1140 -> 0 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.62.ttx | 257 + + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 1104 -> 0 bytes + .../NanumMyeongjo-Regular-subset.drop-hints.63.ttx | 243 + + ...ular-subset.drop-hints.retain-all-codepoint.ttf | Bin 3536 -> 0 bytes + ...ular-subset.drop-hints.retain-all-codepoint.ttx | 1215 + + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 4128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.gids.61,62,63.ttx | 2032 + + .../NanumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 4128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.gids.61,63.ttx | 2032 + + .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 4128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.gids.61.ttx | 2032 + + .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 4128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.gids.62.ttx | 2032 + + .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 4128 -> 0 bytes + .../NanumMyeongjo-Regular-subset.gids.63.ttx | 2032 + + ...jo-Regular-subset.gids.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...jo-Regular-subset.gids.retain-all-codepoint.ttx | 4391 + + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 4128 -> 0 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttx | 2032 + + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 3580 -> 0 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttx | 1822 + + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 3156 -> 0 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttx | 1696 + + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 3180 -> 0 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttx | 1719 + + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 3048 -> 0 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttx | 1635 + + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttx | 4391 + + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 4128 -> 0 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttx | 2032 + + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 3580 -> 0 bytes + ...gular-subset.keep-all-layout-features.61,63.ttx | 1822 + + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 3156 -> 0 bytes + ...-Regular-subset.keep-all-layout-features.61.ttx | 1696 + + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 3180 -> 0 bytes + ...-Regular-subset.keep-all-layout-features.62.ttx | 1719 + + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 3048 -> 0 bytes + ...-Regular-subset.keep-all-layout-features.63.ttx | 1635 + + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 4391 + + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 4128 -> 0 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttx | 2032 + + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 3580 -> 0 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttx | 1822 + + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 3156 -> 0 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttx | 1696 + + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 3180 -> 0 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttx | 1719 + + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 3048 -> 0 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttx | 1635 + + ...subset.layout-features.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...subset.layout-features.retain-all-codepoint.ttx | 4391 + + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 3924 -> 0 bytes + ...umMyeongjo-Regular-subset.name-ids.61,62,63.ttx | 2020 + + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttf | Bin 3376 -> 0 bytes + ...NanumMyeongjo-Regular-subset.name-ids.61,63.ttx | 1810 + + .../NanumMyeongjo-Regular-subset.name-ids.61.ttf | Bin 2952 -> 0 bytes + .../NanumMyeongjo-Regular-subset.name-ids.61.ttx | 1684 + + .../NanumMyeongjo-Regular-subset.name-ids.62.ttf | Bin 2976 -> 0 bytes + .../NanumMyeongjo-Regular-subset.name-ids.62.ttx | 1707 + + .../NanumMyeongjo-Regular-subset.name-ids.63.ttf | Bin 2844 -> 0 bytes + .../NanumMyeongjo-Regular-subset.name-ids.63.ttx | 1623 + + ...egular-subset.name-ids.retain-all-codepoint.ttf | Bin 9320 -> 0 bytes + ...egular-subset.name-ids.retain-all-codepoint.ttx | 4379 + + ...ngjo-Regular-subset.name-languages.61,62,63.ttf | Bin 4172 -> 0 bytes + ...ngjo-Regular-subset.name-languages.61,62,63.ttx | 2041 + + ...yeongjo-Regular-subset.name-languages.61,63.ttf | Bin 3624 -> 0 bytes + ...yeongjo-Regular-subset.name-languages.61,63.ttx | 1831 + + ...umMyeongjo-Regular-subset.name-languages.61.ttf | Bin 3200 -> 0 bytes + ...umMyeongjo-Regular-subset.name-languages.61.ttx | 1705 + + ...umMyeongjo-Regular-subset.name-languages.62.ttf | Bin 3224 -> 0 bytes + ...umMyeongjo-Regular-subset.name-languages.62.ttx | 1728 + + ...umMyeongjo-Regular-subset.name-languages.63.ttf | Bin 3092 -> 0 bytes + ...umMyeongjo-Regular-subset.name-languages.63.ttx | 1644 + + ...-subset.name-languages.retain-all-codepoint.ttf | Bin 9568 -> 0 bytes + ...-subset.name-languages.retain-all-codepoint.ttx | 4400 + + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttf | Bin 4128 -> 0 bytes + ...yeongjo-Regular-subset.name-legacy.61,62,63.ttx | 2032 + + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttf | Bin 3580 -> 0 bytes + ...umMyeongjo-Regular-subset.name-legacy.61,63.ttx | 1822 + + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttf | Bin 3156 -> 0 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.61.ttx | 1696 + + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttf | Bin 3180 -> 0 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.62.ttx | 1719 + + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttf | Bin 3048 -> 0 bytes + ...NanumMyeongjo-Regular-subset.name-legacy.63.ttx | 1635 + + ...lar-subset.name-legacy.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...lar-subset.name-legacy.retain-all-codepoint.ttx | 4391 + + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 4128 -> 0 bytes + ...lar-subset.no-prune-unicode-ranges.61,62,63.ttx | 2032 + + ...egular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 3580 -> 0 bytes + ...egular-subset.no-prune-unicode-ranges.61,63.ttx | 1822 + + ...o-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 3156 -> 0 bytes + ...o-Regular-subset.no-prune-unicode-ranges.61.ttx | 1696 + + ...o-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 3180 -> 0 bytes + ...o-Regular-subset.no-prune-unicode-ranges.62.ttx | 1719 + + ...o-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 3048 -> 0 bytes + ...o-Regular-subset.no-prune-unicode-ranges.63.ttx | 1635 + + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 4391 + + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 4128 -> 0 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttx | 2032 + + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 3580 -> 0 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttx | 1822 + + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 3156 -> 0 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttx | 1696 + + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 3180 -> 0 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttx | 1719 + + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 3048 -> 0 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttx | 1635 + + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttx | 4391 + + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttf | Bin 4128 -> 0 bytes + ...yeongjo-Regular-subset.retain-gids.61,62,63.ttx | 2032 + + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttf | Bin 3588 -> 0 bytes + ...umMyeongjo-Regular-subset.retain-gids.61,63.ttx | 1826 + + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttf | Bin 3156 -> 0 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.61.ttx | 1696 + + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttf | Bin 3184 -> 0 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.62.ttx | 1723 + + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttf | Bin 3060 -> 0 bytes + ...NanumMyeongjo-Regular-subset.retain-gids.63.ttx | 1643 + + ...lar-subset.retain-gids.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + ...lar-subset.retain-gids.retain-all-codepoint.ttx | 4391 + + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2452 -> 0 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttx | 1407 + + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 2260 -> 0 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttx | 1259 + + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.default.61.ttx | 1127 + + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1916 -> 0 bytes + .../basics/Roboto-Regular.abc.default.62.ttx | 1025 + + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1972 -> 0 bytes + .../basics/Roboto-Regular.abc.default.63.ttx | 1073 + + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttx | 1407 + + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1192 -> 0 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttx | 479 + + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1124 -> 0 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttx | 433 + + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 984 -> 0 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttx | 374 + + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 880 -> 0 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttx | 297 + + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 968 -> 0 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttx | 369 + + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1192 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 479 + + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1192 -> 0 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttx | 479 + + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1108 -> 0 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttx | 429 + + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 984 -> 0 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttx | 374 + + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 876 -> 0 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttx | 293 + + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 956 -> 0 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttx | 361 + + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1192 -> 0 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttx | 479 + + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2452 -> 0 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttx | 1407 + + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2452 -> 0 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttx | 1407 + + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2452 -> 0 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttx | 1407 + + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2452 -> 0 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttx | 1407 + + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2452 -> 0 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttx | 1407 + + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 2260 -> 0 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttx | 1259 + + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttx | 1127 + + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 1916 -> 0 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttx | 1025 + + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 1972 -> 0 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttx | 1073 + + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttx | 1407 + + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 2452 -> 0 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttx | 1407 + + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 2260 -> 0 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttx | 1259 + + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 2048 -> 0 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttx | 1127 + + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 1916 -> 0 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttx | 1025 + + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 1972 -> 0 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttx | 1073 + + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...ep-all-layout-features.retain-all-codepoint.ttx | 1407 + + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 2452 -> 0 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 2260 -> 0 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttx | 1259 + + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 2048 -> 0 bytes + .../Roboto-Regular.abc.layout-features.61.ttx | 1127 + + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 1916 -> 0 bytes + .../Roboto-Regular.abc.layout-features.62.ttx | 1025 + + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 1972 -> 0 bytes + .../Roboto-Regular.abc.layout-features.63.ttx | 1073 + + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttx | 1407 + + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 2260 -> 0 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttx | 1259 + + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttx | 1127 + + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1916 -> 0 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttx | 1025 + + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1972 -> 0 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttx | 1073 + + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 2260 -> 0 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttx | 1259 + + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 2048 -> 0 bytes + .../Roboto-Regular.abc.name-languages.61.ttx | 1127 + + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1916 -> 0 bytes + .../Roboto-Regular.abc.name-languages.62.ttx | 1025 + + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1972 -> 0 bytes + .../Roboto-Regular.abc.name-languages.63.ttx | 1073 + + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 2260 -> 0 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttx | 1259 + + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttx | 1127 + + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1916 -> 0 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttx | 1025 + + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1972 -> 0 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttx | 1073 + + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttx | 1407 + + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 2452 -> 0 bytes + ...egular.abc.no-prune-unicode-ranges.61,62,63.ttx | 1407 + + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 2260 -> 0 bytes + ...o-Regular.abc.no-prune-unicode-ranges.61,63.ttx | 1259 + + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 2048 -> 0 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.61.ttx | 1127 + + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 1916 -> 0 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.62.ttx | 1025 + + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 1972 -> 0 bytes + ...boto-Regular.abc.no-prune-unicode-ranges.63.ttx | 1073 + + ...o-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...o-prune-unicode-ranges.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 2260 -> 0 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttx | 1259 + + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 2048 -> 0 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttx | 1127 + + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 1916 -> 0 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttx | 1025 + + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 1972 -> 0 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttx | 1073 + + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttx | 1407 + + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttx | 1407 + + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 2276 -> 0 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttx | 1264 + + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttx | 1127 + + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1924 -> 0 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttx | 1030 + + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1988 -> 0 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttx | 1083 + + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttx | 1407 + + .../cbdt/NotoColorEmoji.subset.default.2049.ttf | Bin 3112 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.default.2049.ttx | 397 + + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttf | Bin 4084 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.default.38,2049.ttx | 474 + + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttf | Bin 3568 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.default.38,20E3.ttx | 441 + + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 0 bytes + ...rEmoji.subset.default.38,39,AE,2049,38,20E3.ttx | 898 + + .../NotoColorEmoji.subset.default.38,AE,2049.ttf | Bin 7544 -> 0 bytes + .../NotoColorEmoji.subset.default.38,AE,2049.ttx | 705 + + .../cbdt/NotoColorEmoji.subset.default.39.ttf | Bin 1920 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.default.39.ttx | 323 + + .../cbdt/NotoColorEmoji.subset.default.AE.ttf | Bin 4412 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.default.AE.ttx | 478 + + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 0 bytes + ...lorEmoji.subset.drop-hints-retain-gids.2049.ttx | 406 + + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 0 bytes + ...Emoji.subset.drop-hints-retain-gids.38,2049.ttx | 480 + + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 0 bytes + ...Emoji.subset.drop-hints-retain-gids.38,20E3.ttx | 450 + + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 0 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 898 + + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 0 bytes + ...ji.subset.drop-hints-retain-gids.38,AE,2049.ttx | 708 + + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttf | Bin 1928 -> 0 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.39.ttx | 326 + + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 0 bytes + ...ColorEmoji.subset.drop-hints-retain-gids.AE.ttx | 484 + + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttf | Bin 3112 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.2049.ttx | 397 + + .../NotoColorEmoji.subset.drop-hints.38,2049.ttf | Bin 4084 -> 0 bytes + .../NotoColorEmoji.subset.drop-hints.38,2049.ttx | 474 + + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttf | Bin 3568 -> 0 bytes + .../NotoColorEmoji.subset.drop-hints.38,20E3.ttx | 441 + + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 0 bytes + ...oji.subset.drop-hints.38,39,AE,2049,38,20E3.ttx | 898 + + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttf | Bin 7544 -> 0 bytes + ...NotoColorEmoji.subset.drop-hints.38,AE,2049.ttx | 705 + + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttf | Bin 1920 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.39.ttx | 323 + + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttf | Bin 4412 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.drop-hints.AE.ttx | 478 + + .../NotoColorEmoji.subset.gap.default.2049.ttf | Bin 3112 -> 0 bytes + .../NotoColorEmoji.subset.gap.default.2049.ttx | 397 + + .../NotoColorEmoji.subset.gap.default.38,2049.ttf | Bin 4084 -> 0 bytes + .../NotoColorEmoji.subset.gap.default.38,2049.ttx | 474 + + .../NotoColorEmoji.subset.gap.default.38,20E3.ttf | Bin 3568 -> 0 bytes + .../NotoColorEmoji.subset.gap.default.38,20E3.ttx | 441 + + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 0 bytes + ...ji.subset.gap.default.38,39,AE,2049,38,20E3.ttx | 827 + + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttf | Bin 7544 -> 0 bytes + ...otoColorEmoji.subset.gap.default.38,AE,2049.ttx | 705 + + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttf | Bin 908 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.39.ttx | 207 + + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttf | Bin 4412 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.gap.default.AE.ttx | 478 + + ...moji.subset.gap.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 0 bytes + ...moji.subset.gap.drop-hints-retain-gids.2049.ttx | 406 + + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttf | Bin 4108 -> 0 bytes + ...i.subset.gap.drop-hints-retain-gids.38,2049.ttx | 480 + + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttf | Bin 3600 -> 0 bytes + ...i.subset.gap.drop-hints-retain-gids.38,20E3.ttx | 450 + + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 0 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 827 + + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7564 -> 0 bytes + ...ubset.gap.drop-hints-retain-gids.38,AE,2049.ttx | 708 + + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttf | Bin 916 -> 0 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.39.ttx | 210 + + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 0 bytes + ...rEmoji.subset.gap.drop-hints-retain-gids.AE.ttx | 484 + + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttf | Bin 3112 -> 0 bytes + .../NotoColorEmoji.subset.gap.drop-hints.2049.ttx | 397 + + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttf | Bin 4084 -> 0 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,2049.ttx | 474 + + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttf | Bin 3568 -> 0 bytes + ...otoColorEmoji.subset.gap.drop-hints.38,20E3.ttx | 441 + + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 0 bytes + ...subset.gap.drop-hints.38,39,AE,2049,38,20E3.ttx | 827 + + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttf | Bin 7544 -> 0 bytes + ...ColorEmoji.subset.gap.drop-hints.38,AE,2049.ttx | 705 + + .../NotoColorEmoji.subset.gap.drop-hints.39.ttf | Bin 908 -> 0 bytes + .../NotoColorEmoji.subset.gap.drop-hints.39.ttx | 207 + + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttf | Bin 4412 -> 0 bytes + .../NotoColorEmoji.subset.gap.drop-hints.AE.ttx | 478 + + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttf | Bin 3136 -> 0 bytes + .../NotoColorEmoji.subset.gap.retain-gids.2049.ttx | 406 + + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttf | Bin 4108 -> 0 bytes + ...toColorEmoji.subset.gap.retain-gids.38,2049.ttx | 480 + + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttf | Bin 3600 -> 0 bytes + ...toColorEmoji.subset.gap.retain-gids.38,20E3.ttx | 450 + + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 9188 -> 0 bytes + ...ubset.gap.retain-gids.38,39,AE,2049,38,20E3.ttx | 827 + + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttf | Bin 7564 -> 0 bytes + ...olorEmoji.subset.gap.retain-gids.38,AE,2049.ttx | 708 + + .../NotoColorEmoji.subset.gap.retain-gids.39.ttf | Bin 916 -> 0 bytes + .../NotoColorEmoji.subset.gap.retain-gids.39.ttx | 210 + + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttf | Bin 4428 -> 0 bytes + .../NotoColorEmoji.subset.gap.retain-gids.AE.ttx | 484 + + ...olorEmoji.subset.index_format3.default.2049.ttf | Bin 3108 -> 0 bytes + ...olorEmoji.subset.index_format3.default.2049.ttx | 397 + + ...rEmoji.subset.index_format3.default.38,2049.ttf | Bin 4076 -> 0 bytes + ...rEmoji.subset.index_format3.default.38,2049.ttx | 474 + + ...rEmoji.subset.index_format3.default.38,20E3.ttf | Bin 3560 -> 0 bytes + ...rEmoji.subset.index_format3.default.38,20E3.ttx | 441 + + ...index_format3.default.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 0 bytes + ...index_format3.default.38,39,AE,2049,38,20E3.ttx | 898 + + ...oji.subset.index_format3.default.38,AE,2049.ttf | Bin 7536 -> 0 bytes + ...oji.subset.index_format3.default.38,AE,2049.ttx | 705 + + ...oColorEmoji.subset.index_format3.default.39.ttf | Bin 1916 -> 0 bytes + ...oColorEmoji.subset.index_format3.default.39.ttx | 323 + + ...oColorEmoji.subset.index_format3.default.AE.ttf | Bin 4408 -> 0 bytes + ...oColorEmoji.subset.index_format3.default.AE.ttx | 478 + + ...t.index_format3.drop-hints-retain-gids.2049.ttf | Bin 3132 -> 0 bytes + ...t.index_format3.drop-hints-retain-gids.2049.ttx | 406 + + ...ndex_format3.drop-hints-retain-gids.38,2049.ttf | Bin 4100 -> 0 bytes + ...ndex_format3.drop-hints-retain-gids.38,2049.ttx | 480 + + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttf | Bin 3592 -> 0 bytes + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttx | 450 + + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 0 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 898 + + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7552 -> 0 bytes + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttx | 708 + + ...set.index_format3.drop-hints-retain-gids.39.ttf | Bin 1924 -> 0 bytes + ...set.index_format3.drop-hints-retain-gids.39.ttx | 326 + + ...set.index_format3.drop-hints-retain-gids.AE.ttf | Bin 4424 -> 0 bytes + ...set.index_format3.drop-hints-retain-gids.AE.ttx | 484 + + ...rEmoji.subset.index_format3.drop-hints.2049.ttf | Bin 3108 -> 0 bytes + ...rEmoji.subset.index_format3.drop-hints.2049.ttx | 397 + + ...oji.subset.index_format3.drop-hints.38,2049.ttf | Bin 4076 -> 0 bytes + ...oji.subset.index_format3.drop-hints.38,2049.ttx | 474 + + ...oji.subset.index_format3.drop-hints.38,20E3.ttf | Bin 3560 -> 0 bytes + ...oji.subset.index_format3.drop-hints.38,20E3.ttx | 441 + + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 0 bytes + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttx | 898 + + ....subset.index_format3.drop-hints.38,AE,2049.ttf | Bin 7536 -> 0 bytes + ....subset.index_format3.drop-hints.38,AE,2049.ttx | 705 + + ...lorEmoji.subset.index_format3.drop-hints.39.ttf | Bin 1916 -> 0 bytes + ...lorEmoji.subset.index_format3.drop-hints.39.ttx | 323 + + ...lorEmoji.subset.index_format3.drop-hints.AE.ttf | Bin 4408 -> 0 bytes + ...lorEmoji.subset.index_format3.drop-hints.AE.ttx | 478 + + ...Emoji.subset.index_format3.retain-gids.2049.ttf | Bin 3132 -> 0 bytes + ...Emoji.subset.index_format3.retain-gids.2049.ttx | 406 + + ...ji.subset.index_format3.retain-gids.38,2049.ttf | Bin 4100 -> 0 bytes + ...ji.subset.index_format3.retain-gids.38,2049.ttx | 480 + + ...ji.subset.index_format3.retain-gids.38,20E3.ttf | Bin 3592 -> 0 bytes + ...ji.subset.index_format3.retain-gids.38,20E3.ttx | 450 + + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 0 bytes + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttx | 898 + + ...subset.index_format3.retain-gids.38,AE,2049.ttf | Bin 7552 -> 0 bytes + ...subset.index_format3.retain-gids.38,AE,2049.ttx | 708 + + ...orEmoji.subset.index_format3.retain-gids.39.ttf | Bin 1924 -> 0 bytes + ...orEmoji.subset.index_format3.retain-gids.39.ttx | 326 + + ...orEmoji.subset.index_format3.retain-gids.AE.ttf | Bin 4424 -> 0 bytes + ...orEmoji.subset.index_format3.retain-gids.AE.ttx | 484 + + ...ji.subset.multiple_size_tables.default.2049.ttf | Bin 5312 -> 0 bytes + ...ji.subset.multiple_size_tables.default.2049.ttx | 587 + + ...subset.multiple_size_tables.default.38,2049.ttf | Bin 7244 -> 0 bytes + ...subset.multiple_size_tables.default.38,2049.ttx | 736 + + ...subset.multiple_size_tables.default.38,20E3.ttf | Bin 6212 -> 0 bytes + ...subset.multiple_size_tables.default.38,20E3.ttx | 671 + + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 0 bytes + ...e_size_tables.default.38,39,AE,2049,38,20E3.ttx | 1570 + + ...set.multiple_size_tables.default.38,AE,2049.ttf | Bin 14140 -> 0 bytes + ...set.multiple_size_tables.default.38,AE,2049.ttx | 1193 + + ...moji.subset.multiple_size_tables.default.39.ttf | Bin 2928 -> 0 bytes + ...moji.subset.multiple_size_tables.default.39.ttx | 439 + + ...moji.subset.multiple_size_tables.default.AE.ttf | Bin 7916 -> 0 bytes + ...moji.subset.multiple_size_tables.default.AE.ttx | 749 + + ...ple_size_tables.drop-hints-retain-gids.2049.ttf | Bin 5336 -> 0 bytes + ...ple_size_tables.drop-hints-retain-gids.2049.ttx | 596 + + ..._size_tables.drop-hints-retain-gids.38,2049.ttf | Bin 7268 -> 0 bytes + ..._size_tables.drop-hints-retain-gids.38,2049.ttx | 742 + + ..._size_tables.drop-hints-retain-gids.38,20E3.ttf | Bin 6244 -> 0 bytes + ..._size_tables.drop-hints-retain-gids.38,20E3.ttx | 680 + + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 0 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttx | 1570 + + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttf | Bin 14164 -> 0 bytes + ...ze_tables.drop-hints-retain-gids.38,AE,2049.ttx | 1196 + + ...tiple_size_tables.drop-hints-retain-gids.39.ttf | Bin 2936 -> 0 bytes + ...tiple_size_tables.drop-hints-retain-gids.39.ttx | 442 + + ...tiple_size_tables.drop-hints-retain-gids.AE.ttf | Bin 7932 -> 0 bytes + ...tiple_size_tables.drop-hints-retain-gids.AE.ttx | 755 + + ...subset.multiple_size_tables.drop-hints.2049.ttf | Bin 5312 -> 0 bytes + ...subset.multiple_size_tables.drop-hints.2049.ttx | 587 + + ...set.multiple_size_tables.drop-hints.38,2049.ttf | Bin 7244 -> 0 bytes + ...set.multiple_size_tables.drop-hints.38,2049.ttx | 736 + + ...set.multiple_size_tables.drop-hints.38,20E3.ttf | Bin 6212 -> 0 bytes + ...set.multiple_size_tables.drop-hints.38,20E3.ttx | 671 + + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 0 bytes + ...ize_tables.drop-hints.38,39,AE,2049,38,20E3.ttx | 1570 + + ....multiple_size_tables.drop-hints.38,AE,2049.ttf | Bin 14140 -> 0 bytes + ....multiple_size_tables.drop-hints.38,AE,2049.ttx | 1193 + + ...i.subset.multiple_size_tables.drop-hints.39.ttf | Bin 2928 -> 0 bytes + ...i.subset.multiple_size_tables.drop-hints.39.ttx | 439 + + ...i.subset.multiple_size_tables.drop-hints.AE.ttf | Bin 7916 -> 0 bytes + ...i.subset.multiple_size_tables.drop-hints.AE.ttx | 749 + + ...ubset.multiple_size_tables.retain-gids.2049.ttf | Bin 5336 -> 0 bytes + ...ubset.multiple_size_tables.retain-gids.2049.ttx | 596 + + ...et.multiple_size_tables.retain-gids.38,2049.ttf | Bin 7268 -> 0 bytes + ...et.multiple_size_tables.retain-gids.38,2049.ttx | 742 + + ...et.multiple_size_tables.retain-gids.38,20E3.ttf | Bin 6244 -> 0 bytes + ...et.multiple_size_tables.retain-gids.38,20E3.ttx | 680 + + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 19280 -> 0 bytes + ...ze_tables.retain-gids.38,39,AE,2049,38,20E3.ttx | 1570 + + ...multiple_size_tables.retain-gids.38,AE,2049.ttf | Bin 14164 -> 0 bytes + ...multiple_size_tables.retain-gids.38,AE,2049.ttx | 1196 + + ....subset.multiple_size_tables.retain-gids.39.ttf | Bin 2936 -> 0 bytes + ....subset.multiple_size_tables.retain-gids.39.ttx | 442 + + ....subset.multiple_size_tables.retain-gids.AE.ttf | Bin 7932 -> 0 bytes + ....subset.multiple_size_tables.retain-gids.AE.ttx | 755 + + .../NotoColorEmoji.subset.retain-gids.2049.ttf | Bin 3136 -> 0 bytes + .../NotoColorEmoji.subset.retain-gids.2049.ttx | 406 + + .../NotoColorEmoji.subset.retain-gids.38,2049.ttf | Bin 4108 -> 0 bytes + .../NotoColorEmoji.subset.retain-gids.38,2049.ttx | 480 + + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttf | Bin 3600 -> 0 bytes + .../NotoColorEmoji.subset.retain-gids.38,20E3.ttx | 450 + + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10124 -> 0 bytes + ...ji.subset.retain-gids.38,39,AE,2049,38,20E3.ttx | 898 + + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttf | Bin 7564 -> 0 bytes + ...otoColorEmoji.subset.retain-gids.38,AE,2049.ttx | 708 + + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttf | Bin 1928 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.39.ttx | 326 + + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttf | Bin 4428 -> 0 bytes + .../cbdt/NotoColorEmoji.subset.retain-gids.AE.ttx | 484 + + ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 2580 -> 0 bytes + ...eSansPro-Regular.default.1FC,21,41,20,62,63.ttx | 738 + + .../SourceSansPro-Regular.default.61,62,63.otf | Bin 2216 -> 0 bytes + .../SourceSansPro-Regular.default.61,62,63.ttx | 587 + + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 2328 -> 0 bytes + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.ttx | 578 + + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 20232 -> 0 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.ttx | 6312 + + ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 2316 -> 0 bytes + ...Regular.desubroutinize-retain-gids.61,62,63.ttx | 627 + + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30540 -> 0 bytes + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.ttx | 9248 ++ + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 2436 -> 0 bytes + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.ttx | 612 + + ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 2120 -> 0 bytes + ...urceSansPro-Regular.desubroutinize.61,62,63.ttx | 492 + + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2312 -> 0 bytes + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.ttx | 523 + + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 20064 -> 0 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.ttx | 6281 + + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 2192 -> 0 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.ttx | 607 + + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30372 -> 0 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.ttx | 9215 ++ + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 2268 -> 0 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.ttx | 581 + + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 1996 -> 0 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.ttx | 472 + + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2148 -> 0 bytes + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.ttx | 490 + + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 20156 -> 0 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.ttx | 6367 + + ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 2228 -> 0 bytes + ...Pro-Regular.drop-hints-retain-gids.61,62,63.ttx | 670 + + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30384 -> 0 bytes + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.ttx | 9259 ++ + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 2352 -> 0 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.ttx | 667 + + .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 2060 -> 0 bytes + .../SourceSansPro-Regular.drop-hints.61,62,63.ttx | 535 + + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 2164 -> 0 bytes + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.ttx | 534 + + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 20384 -> 0 bytes + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.ttx | 6438 + + .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 2384 -> 0 bytes + .../SourceSansPro-Regular.retain-gids.61,62,63.ttx | 722 + + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 30556 -> 0 bytes + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.ttx | 9303 ++ + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 4884 -> 0 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.ttx | 1165 + + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 6276 -> 0 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.ttx | 1708 + + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 2588 -> 0 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.ttx | 688 + + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6736 -> 0 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1585 + + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 2456 -> 0 bytes + .../SourceHanSans-Regular_subset.default.660E.ttx | 577 + + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129876 -> 0 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62430 ++++++++ + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130920 -> 0 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62745 ++++++++ + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3412 -> 0 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.ttx | 1081 + + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122048 -> 0 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 57783 ++++++++ + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 50760 -> 0 bytes + ...ular_subset.desubroutinize-retain-gids.660E.ttx | 24455 ++++ + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4724 -> 0 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.ttx | 1044 + + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5928 -> 0 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.ttx | 1414 + + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 2520 -> 0 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.ttx | 630 + + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6232 -> 0 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1152 + + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 2440 -> 0 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.ttx | 560 + + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129448 -> 0 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62346 ++++++++ + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130312 -> 0 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62647 ++++++++ + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3288 -> 0 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.ttx | 1055 + + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121284 -> 0 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 57675 ++++++++ + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 50540 -> 0 bytes + ....drop-hints-desubroutinize-retain-gids.660E.ttx | 24416 ++++ + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 4420 -> 0 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.ttx | 986 + + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5416 -> 0 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.ttx | 1337 + + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 2416 -> 0 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.ttx | 609 + + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 5556 -> 0 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1063 + + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 2308 -> 0 bytes + ...gular_subset.drop-hints-desubroutinize.660E.ttx | 540 + + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 129576 -> 0 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62443 ++++++++ + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 130604 -> 0 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 62929 +++++++++ + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 3248 -> 0 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.ttx | 1089 + + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 121776 -> 0 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 58100 ++++++++ + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 50552 -> 0 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.ttx | 24429 ++++ + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 4548 -> 0 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.ttx | 1083 + + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 5708 -> 0 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttx | 1619 + + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 2448 -> 0 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.ttx | 643 + + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 6048 -> 0 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1488 + + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 2316 -> 0 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.ttx | 553 + + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 130036 -> 0 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.ttx | 62551 ++++++++ + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 131272 -> 0 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.ttx | 63039 +++++++++ + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 3408 -> 0 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.ttx | 1139 + + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 122552 -> 0 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.ttx | 58216 ++++++++ + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 50776 -> 0 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.ttx | 24472 ++++ + ...039,1005,100A,103A,1038,1010,103D,1031,104A.otf | Bin 7724 -> 0 bytes + ...039,1005,100A,103A,1038,1010,103D,1031,104A.ttx | 2971 + + ...otoSerifMyanmar-Regular.notdef-outline.1092.otf | Bin 1380 -> 0 bytes + ...otoSerifMyanmar-Regular.notdef-outline.1092.ttx | 264 + + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1252 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttx | 322 + + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 1264 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttx | 320 + + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 1216 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttx | 314 + + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 1204 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttx | 314 + + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 1184 -> 0 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttx | 303 + + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1468 -> 0 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttx | 606 + + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 8232 -> 0 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttx | 7356 + + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 8104 -> 0 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttx | 7270 + + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 8172 -> 0 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttx | 7350 + + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 8156 -> 0 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttx | 7343 + + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1080 -> 0 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttx | 218 + + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 1092 -> 0 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttx | 216 + + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 1044 -> 0 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttx | 210 + + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 1032 -> 0 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttx | 210 + + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 1012 -> 0 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttx | 199 + + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 1000 -> 0 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttx | 310 + + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 1012 -> 0 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttx | 308 + + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 964 -> 0 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttx | 302 + + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 952 -> 0 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttx | 302 + + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 932 -> 0 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttx | 291 + + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1640 -> 0 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttx | 710 + + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 8404 -> 0 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttx | 7460 + + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 8276 -> 0 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttx | 7374 + + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 8344 -> 0 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttx | 7454 + + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 8328 -> 0 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttx | 7447 + + .../cmap14/cmap14_font1.default.4E00,4E02,4E03.otf | Bin 1360 -> 0 bytes + .../cmap14/cmap14_font1.default.4E00,4E02,4E03.ttx | 276 + + .../cmap14/cmap14_font1.default.4E00,4E03.otf | Bin 1236 -> 0 bytes + .../cmap14/cmap14_font1.default.4E00,4E03.ttx | 261 + + .../cmap14/cmap14_font1.default.4E00,4E05,4E07.otf | Bin 1328 -> 0 bytes + .../cmap14/cmap14_font1.default.4E00,4E05,4E07.ttx | 278 + + .../cmap14/cmap14_font1.default.4E02,4E03,4E08.otf | Bin 1576 -> 0 bytes + .../cmap14/cmap14_font1.default.4E02,4E03,4E08.ttx | 294 + + .../expected/cmap14/cmap14_font1.default.4E02.otf | Bin 996 -> 0 bytes + .../expected/cmap14/cmap14_font1.default.4E02.ttx | 233 + + .../expected/cmap14/cmap14_font1.default.4E03.otf | Bin 1080 -> 0 bytes + .../expected/cmap14/cmap14_font1.default.4E03.ttx | 241 + + .../cmap14_font1.default.4E05,4E07,4E08,4E09.otf | Bin 1848 -> 0 bytes + .../cmap14_font1.default.4E05,4E07,4E08,4E09.ttx | 329 + + .../cmap14/cmap14_font1.default.4E08,4E09.otf | Bin 1720 -> 0 bytes + .../cmap14/cmap14_font1.default.4E08,4E09.ttx | 302 + + .../expected/cmap14/cmap14_font1.default.4E08.otf | Bin 1384 -> 0 bytes + .../expected/cmap14/cmap14_font1.default.4E08.ttx | 265 + + .../cmap14_font1.default.retain-all-codepoint.otf | Bin 2348 -> 0 bytes + .../cmap14_font1.default.retain-all-codepoint.ttx | 418 + + ...font1.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1388 -> 0 bytes + ...font1.drop-hints-retain-gids.4E00,4E02,4E03.ttx | 318 + + ...ap14_font1.drop-hints-retain-gids.4E00,4E03.otf | Bin 1272 -> 0 bytes + ...ap14_font1.drop-hints-retain-gids.4E00,4E03.ttx | 308 + + ...font1.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1396 -> 0 bytes + ...font1.drop-hints-retain-gids.4E00,4E05,4E07.ttx | 340 + + ...font1.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1720 -> 0 bytes + ...font1.drop-hints-retain-gids.4E02,4E03,4E08.ttx | 391 + + .../cmap14_font1.drop-hints-retain-gids.4E02.otf | Bin 1028 -> 0 bytes + .../cmap14_font1.drop-hints-retain-gids.4E02.ttx | 280 + + .../cmap14_font1.drop-hints-retain-gids.4E03.otf | Bin 1124 -> 0 bytes + .../cmap14_font1.drop-hints-retain-gids.4E03.ttx | 293 + + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 1984 -> 0 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.ttx | 421 + + ...ap14_font1.drop-hints-retain-gids.4E08,4E09.otf | Bin 1872 -> 0 bytes + ...ap14_font1.drop-hints-retain-gids.4E08,4E09.ttx | 404 + + .../cmap14_font1.drop-hints-retain-gids.4E08.otf | Bin 1544 -> 0 bytes + .../cmap14_font1.drop-hints-retain-gids.4E08.ttx | 372 + + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2436 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 480 + + .../cmap14_font1.drop-hints.4E00,4E02,4E03.otf | Bin 1292 -> 0 bytes + .../cmap14_font1.drop-hints.4E00,4E02,4E03.ttx | 268 + + .../cmap14/cmap14_font1.drop-hints.4E00,4E03.otf | Bin 1168 -> 0 bytes + .../cmap14/cmap14_font1.drop-hints.4E00,4E03.ttx | 253 + + .../cmap14_font1.drop-hints.4E00,4E05,4E07.otf | Bin 1260 -> 0 bytes + .../cmap14_font1.drop-hints.4E00,4E05,4E07.ttx | 270 + + .../cmap14_font1.drop-hints.4E02,4E03,4E08.otf | Bin 1512 -> 0 bytes + .../cmap14_font1.drop-hints.4E02,4E03,4E08.ttx | 286 + + .../cmap14/cmap14_font1.drop-hints.4E02.otf | Bin 928 -> 0 bytes + .../cmap14/cmap14_font1.drop-hints.4E02.ttx | 225 + + .../cmap14/cmap14_font1.drop-hints.4E03.otf | Bin 1012 -> 0 bytes + .../cmap14/cmap14_font1.drop-hints.4E03.ttx | 233 + + ...cmap14_font1.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 0 bytes + ...cmap14_font1.drop-hints.4E05,4E07,4E08,4E09.ttx | 321 + + .../cmap14/cmap14_font1.drop-hints.4E08,4E09.otf | Bin 1652 -> 0 bytes + .../cmap14/cmap14_font1.drop-hints.4E08,4E09.ttx | 294 + + .../cmap14/cmap14_font1.drop-hints.4E08.otf | Bin 1316 -> 0 bytes + .../cmap14/cmap14_font1.drop-hints.4E08.ttx | 257 + + ...map14_font1.drop-hints.retain-all-codepoint.otf | Bin 2280 -> 0 bytes + ...map14_font1.drop-hints.retain-all-codepoint.ttx | 410 + + .../cmap14/cmap14_font1.gids.4E00,4E02,4E03.otf | Bin 1388 -> 0 bytes + .../cmap14/cmap14_font1.gids.4E00,4E02,4E03.ttx | 297 + + .../cmap14/cmap14_font1.gids.4E00,4E03.otf | Bin 1380 -> 0 bytes + .../cmap14/cmap14_font1.gids.4E00,4E03.ttx | 289 + + .../cmap14/cmap14_font1.gids.4E00,4E05,4E07.otf | Bin 1620 -> 0 bytes + .../cmap14/cmap14_font1.gids.4E00,4E05,4E07.ttx | 318 + + .../cmap14/cmap14_font1.gids.4E02,4E03,4E08.otf | Bin 1744 -> 0 bytes + .../cmap14/cmap14_font1.gids.4E02,4E03,4E08.ttx | 326 + + .../expected/cmap14/cmap14_font1.gids.4E02.otf | Bin 1312 -> 0 bytes + .../expected/cmap14/cmap14_font1.gids.4E02.ttx | 277 + + .../expected/cmap14/cmap14_font1.gids.4E03.otf | Bin 1352 -> 0 bytes + .../expected/cmap14/cmap14_font1.gids.4E03.ttx | 280 + + .../cmap14_font1.gids.4E05,4E07,4E08,4E09.otf | Bin 2164 -> 0 bytes + .../cmap14_font1.gids.4E05,4E07,4E08,4E09.ttx | 373 + + .../cmap14/cmap14_font1.gids.4E08,4E09.otf | Bin 2036 -> 0 bytes + .../cmap14/cmap14_font1.gids.4E08,4E09.ttx | 346 + + .../expected/cmap14/cmap14_font1.gids.4E08.otf | Bin 1704 -> 0 bytes + .../expected/cmap14/cmap14_font1.gids.4E08.ttx | 309 + + .../cmap14_font1.gids.retain-all-codepoint.otf | Bin 2380 -> 0 bytes + .../cmap14_font1.gids.retain-all-codepoint.ttx | 439 + + .../cmap14_font1.name-ids.4E00,4E02,4E03.otf | Bin 1292 -> 0 bytes + .../cmap14_font1.name-ids.4E00,4E02,4E03.ttx | 264 + + .../cmap14/cmap14_font1.name-ids.4E00,4E03.otf | Bin 1168 -> 0 bytes + .../cmap14/cmap14_font1.name-ids.4E00,4E03.ttx | 249 + + .../cmap14_font1.name-ids.4E00,4E05,4E07.otf | Bin 1260 -> 0 bytes + .../cmap14_font1.name-ids.4E00,4E05,4E07.ttx | 266 + + .../cmap14_font1.name-ids.4E02,4E03,4E08.otf | Bin 1508 -> 0 bytes + .../cmap14_font1.name-ids.4E02,4E03,4E08.ttx | 282 + + .../expected/cmap14/cmap14_font1.name-ids.4E02.otf | Bin 928 -> 0 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E02.ttx | 221 + + .../expected/cmap14/cmap14_font1.name-ids.4E03.otf | Bin 1012 -> 0 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E03.ttx | 229 + + .../cmap14_font1.name-ids.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 0 bytes + .../cmap14_font1.name-ids.4E05,4E07,4E08,4E09.ttx | 317 + + .../cmap14/cmap14_font1.name-ids.4E08,4E09.otf | Bin 1652 -> 0 bytes + .../cmap14/cmap14_font1.name-ids.4E08,4E09.ttx | 290 + + .../expected/cmap14/cmap14_font1.name-ids.4E08.otf | Bin 1316 -> 0 bytes + .../expected/cmap14/cmap14_font1.name-ids.4E08.ttx | 253 + + .../cmap14_font1.name-ids.retain-all-codepoint.otf | Bin 2280 -> 0 bytes + .../cmap14_font1.name-ids.retain-all-codepoint.ttx | 406 + + .../cmap14_font1.retain-gids.4E00,4E02,4E03.otf | Bin 1452 -> 0 bytes + .../cmap14_font1.retain-gids.4E00,4E02,4E03.ttx | 326 + + .../cmap14/cmap14_font1.retain-gids.4E00,4E03.otf | Bin 1340 -> 0 bytes + .../cmap14/cmap14_font1.retain-gids.4E00,4E03.ttx | 316 + + .../cmap14_font1.retain-gids.4E00,4E05,4E07.otf | Bin 1464 -> 0 bytes + .../cmap14_font1.retain-gids.4E00,4E05,4E07.ttx | 348 + + .../cmap14_font1.retain-gids.4E02,4E03,4E08.otf | Bin 1788 -> 0 bytes + .../cmap14_font1.retain-gids.4E02,4E03,4E08.ttx | 399 + + .../cmap14/cmap14_font1.retain-gids.4E02.otf | Bin 1096 -> 0 bytes + .../cmap14/cmap14_font1.retain-gids.4E02.ttx | 288 + + .../cmap14/cmap14_font1.retain-gids.4E03.otf | Bin 1192 -> 0 bytes + .../cmap14/cmap14_font1.retain-gids.4E03.ttx | 301 + + ...map14_font1.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2048 -> 0 bytes + ...map14_font1.retain-gids.4E05,4E07,4E08,4E09.ttx | 429 + + .../cmap14/cmap14_font1.retain-gids.4E08,4E09.otf | Bin 1940 -> 0 bytes + .../cmap14/cmap14_font1.retain-gids.4E08,4E09.ttx | 412 + + .../cmap14/cmap14_font1.retain-gids.4E08.otf | Bin 1608 -> 0 bytes + .../cmap14/cmap14_font1.retain-gids.4E08.ttx | 380 + + ...ap14_font1.retain-gids.retain-all-codepoint.otf | Bin 2500 -> 0 bytes + ...ap14_font1.retain-gids.retain-all-codepoint.ttx | 488 + + .../cmap14/cmap14_font2.default.4E00,4E02,4E03.otf | Bin 1360 -> 0 bytes + .../cmap14/cmap14_font2.default.4E00,4E02,4E03.ttx | 276 + + .../cmap14/cmap14_font2.default.4E00,4E03.otf | Bin 1236 -> 0 bytes + .../cmap14/cmap14_font2.default.4E00,4E03.ttx | 261 + + .../cmap14/cmap14_font2.default.4E00,4E05,4E07.otf | Bin 1332 -> 0 bytes + .../cmap14/cmap14_font2.default.4E00,4E05,4E07.ttx | 278 + + .../cmap14/cmap14_font2.default.4E02,4E03,4E08.otf | Bin 1576 -> 0 bytes + .../cmap14/cmap14_font2.default.4E02,4E03,4E08.ttx | 294 + + .../expected/cmap14/cmap14_font2.default.4E02.otf | Bin 992 -> 0 bytes + .../expected/cmap14/cmap14_font2.default.4E02.ttx | 233 + + .../expected/cmap14/cmap14_font2.default.4E03.otf | Bin 1076 -> 0 bytes + .../expected/cmap14/cmap14_font2.default.4E03.ttx | 241 + + .../cmap14_font2.default.4E05,4E07,4E08,4E09.otf | Bin 1848 -> 0 bytes + .../cmap14_font2.default.4E05,4E07,4E08,4E09.ttx | 329 + + .../cmap14/cmap14_font2.default.4E08,4E09.otf | Bin 1716 -> 0 bytes + .../cmap14/cmap14_font2.default.4E08,4E09.ttx | 302 + + .../expected/cmap14/cmap14_font2.default.4E08.otf | Bin 1380 -> 0 bytes + .../expected/cmap14/cmap14_font2.default.4E08.ttx | 265 + + .../cmap14_font2.default.retain-all-codepoint.otf | Bin 2344 -> 0 bytes + .../cmap14_font2.default.retain-all-codepoint.ttx | 418 + + ...font2.drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 1388 -> 0 bytes + ...font2.drop-hints-retain-gids.4E00,4E02,4E03.ttx | 318 + + ...ap14_font2.drop-hints-retain-gids.4E00,4E03.otf | Bin 1272 -> 0 bytes + ...ap14_font2.drop-hints-retain-gids.4E00,4E03.ttx | 308 + + ...font2.drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 1400 -> 0 bytes + ...font2.drop-hints-retain-gids.4E00,4E05,4E07.ttx | 340 + + ...font2.drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 1720 -> 0 bytes + ...font2.drop-hints-retain-gids.4E02,4E03,4E08.ttx | 391 + + .../cmap14_font2.drop-hints-retain-gids.4E02.otf | Bin 1024 -> 0 bytes + .../cmap14_font2.drop-hints-retain-gids.4E02.ttx | 280 + + .../cmap14_font2.drop-hints-retain-gids.4E03.otf | Bin 1120 -> 0 bytes + .../cmap14_font2.drop-hints-retain-gids.4E03.ttx | 293 + + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 1984 -> 0 bytes + ....drop-hints-retain-gids.4E05,4E07,4E08,4E09.ttx | 421 + + ...ap14_font2.drop-hints-retain-gids.4E08,4E09.otf | Bin 1868 -> 0 bytes + ...ap14_font2.drop-hints-retain-gids.4E08,4E09.ttx | 404 + + .../cmap14_font2.drop-hints-retain-gids.4E08.otf | Bin 1540 -> 0 bytes + .../cmap14_font2.drop-hints-retain-gids.4E08.ttx | 372 + + ...drop-hints-retain-gids.retain-all-codepoint.otf | Bin 2432 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 480 + + .../cmap14_font2.drop-hints.4E00,4E02,4E03.otf | Bin 1292 -> 0 bytes + .../cmap14_font2.drop-hints.4E00,4E02,4E03.ttx | 268 + + .../cmap14/cmap14_font2.drop-hints.4E00,4E03.otf | Bin 1168 -> 0 bytes + .../cmap14/cmap14_font2.drop-hints.4E00,4E03.ttx | 253 + + .../cmap14_font2.drop-hints.4E00,4E05,4E07.otf | Bin 1264 -> 0 bytes + .../cmap14_font2.drop-hints.4E00,4E05,4E07.ttx | 270 + + .../cmap14_font2.drop-hints.4E02,4E03,4E08.otf | Bin 1512 -> 0 bytes + .../cmap14_font2.drop-hints.4E02,4E03,4E08.ttx | 286 + + .../cmap14/cmap14_font2.drop-hints.4E02.otf | Bin 924 -> 0 bytes + .../cmap14/cmap14_font2.drop-hints.4E02.ttx | 225 + + .../cmap14/cmap14_font2.drop-hints.4E03.otf | Bin 1008 -> 0 bytes + .../cmap14/cmap14_font2.drop-hints.4E03.ttx | 233 + + ...cmap14_font2.drop-hints.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 0 bytes + ...cmap14_font2.drop-hints.4E05,4E07,4E08,4E09.ttx | 321 + + .../cmap14/cmap14_font2.drop-hints.4E08,4E09.otf | Bin 1648 -> 0 bytes + .../cmap14/cmap14_font2.drop-hints.4E08,4E09.ttx | 294 + + .../cmap14/cmap14_font2.drop-hints.4E08.otf | Bin 1312 -> 0 bytes + .../cmap14/cmap14_font2.drop-hints.4E08.ttx | 257 + + ...map14_font2.drop-hints.retain-all-codepoint.otf | Bin 2276 -> 0 bytes + ...map14_font2.drop-hints.retain-all-codepoint.ttx | 410 + + .../cmap14/cmap14_font2.gids.4E00,4E02,4E03.otf | Bin 1388 -> 0 bytes + .../cmap14/cmap14_font2.gids.4E00,4E02,4E03.ttx | 297 + + .../cmap14/cmap14_font2.gids.4E00,4E03.otf | Bin 1380 -> 0 bytes + .../cmap14/cmap14_font2.gids.4E00,4E03.ttx | 289 + + .../cmap14/cmap14_font2.gids.4E00,4E05,4E07.otf | Bin 1624 -> 0 bytes + .../cmap14/cmap14_font2.gids.4E00,4E05,4E07.ttx | 318 + + .../cmap14/cmap14_font2.gids.4E02,4E03,4E08.otf | Bin 1744 -> 0 bytes + .../cmap14/cmap14_font2.gids.4E02,4E03,4E08.ttx | 326 + + .../expected/cmap14/cmap14_font2.gids.4E02.otf | Bin 1308 -> 0 bytes + .../expected/cmap14/cmap14_font2.gids.4E02.ttx | 277 + + .../expected/cmap14/cmap14_font2.gids.4E03.otf | Bin 1348 -> 0 bytes + .../expected/cmap14/cmap14_font2.gids.4E03.ttx | 280 + + .../cmap14_font2.gids.4E05,4E07,4E08,4E09.otf | Bin 2164 -> 0 bytes + .../cmap14_font2.gids.4E05,4E07,4E08,4E09.ttx | 373 + + .../cmap14/cmap14_font2.gids.4E08,4E09.otf | Bin 2032 -> 0 bytes + .../cmap14/cmap14_font2.gids.4E08,4E09.ttx | 346 + + .../expected/cmap14/cmap14_font2.gids.4E08.otf | Bin 1700 -> 0 bytes + .../expected/cmap14/cmap14_font2.gids.4E08.ttx | 309 + + .../cmap14_font2.gids.retain-all-codepoint.otf | Bin 2376 -> 0 bytes + .../cmap14_font2.gids.retain-all-codepoint.ttx | 439 + + .../cmap14_font2.name-ids.4E00,4E02,4E03.otf | Bin 1292 -> 0 bytes + .../cmap14_font2.name-ids.4E00,4E02,4E03.ttx | 264 + + .../cmap14/cmap14_font2.name-ids.4E00,4E03.otf | Bin 1168 -> 0 bytes + .../cmap14/cmap14_font2.name-ids.4E00,4E03.ttx | 249 + + .../cmap14_font2.name-ids.4E00,4E05,4E07.otf | Bin 1264 -> 0 bytes + .../cmap14_font2.name-ids.4E00,4E05,4E07.ttx | 266 + + .../cmap14_font2.name-ids.4E02,4E03,4E08.otf | Bin 1508 -> 0 bytes + .../cmap14_font2.name-ids.4E02,4E03,4E08.ttx | 282 + + .../expected/cmap14/cmap14_font2.name-ids.4E02.otf | Bin 924 -> 0 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E02.ttx | 221 + + .../expected/cmap14/cmap14_font2.name-ids.4E03.otf | Bin 1008 -> 0 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E03.ttx | 229 + + .../cmap14_font2.name-ids.4E05,4E07,4E08,4E09.otf | Bin 1780 -> 0 bytes + .../cmap14_font2.name-ids.4E05,4E07,4E08,4E09.ttx | 317 + + .../cmap14/cmap14_font2.name-ids.4E08,4E09.otf | Bin 1648 -> 0 bytes + .../cmap14/cmap14_font2.name-ids.4E08,4E09.ttx | 290 + + .../expected/cmap14/cmap14_font2.name-ids.4E08.otf | Bin 1312 -> 0 bytes + .../expected/cmap14/cmap14_font2.name-ids.4E08.ttx | 253 + + .../cmap14_font2.name-ids.retain-all-codepoint.otf | Bin 2276 -> 0 bytes + .../cmap14_font2.name-ids.retain-all-codepoint.ttx | 406 + + .../cmap14_font2.retain-gids.4E00,4E02,4E03.otf | Bin 1452 -> 0 bytes + .../cmap14_font2.retain-gids.4E00,4E02,4E03.ttx | 326 + + .../cmap14/cmap14_font2.retain-gids.4E00,4E03.otf | Bin 1340 -> 0 bytes + .../cmap14/cmap14_font2.retain-gids.4E00,4E03.ttx | 316 + + .../cmap14_font2.retain-gids.4E00,4E05,4E07.otf | Bin 1468 -> 0 bytes + .../cmap14_font2.retain-gids.4E00,4E05,4E07.ttx | 348 + + .../cmap14_font2.retain-gids.4E02,4E03,4E08.otf | Bin 1788 -> 0 bytes + .../cmap14_font2.retain-gids.4E02,4E03,4E08.ttx | 399 + + .../cmap14/cmap14_font2.retain-gids.4E02.otf | Bin 1092 -> 0 bytes + .../cmap14/cmap14_font2.retain-gids.4E02.ttx | 288 + + .../cmap14/cmap14_font2.retain-gids.4E03.otf | Bin 1188 -> 0 bytes + .../cmap14/cmap14_font2.retain-gids.4E03.ttx | 301 + + ...map14_font2.retain-gids.4E05,4E07,4E08,4E09.otf | Bin 2048 -> 0 bytes + ...map14_font2.retain-gids.4E05,4E07,4E08,4E09.ttx | 429 + + .../cmap14/cmap14_font2.retain-gids.4E08,4E09.otf | Bin 1936 -> 0 bytes + .../cmap14/cmap14_font2.retain-gids.4E08,4E09.ttx | 412 + + .../cmap14/cmap14_font2.retain-gids.4E08.otf | Bin 1604 -> 0 bytes + .../cmap14/cmap14_font2.retain-gids.4E08.ttx | 380 + + ...ap14_font2.retain-gids.retain-all-codepoint.otf | Bin 2496 -> 0 bytes + ...ap14_font2.retain-gids.retain-all-codepoint.ttx | 488 + + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 1936 -> 0 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttx | 626 + + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 1400 -> 0 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttx | 411 + + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 1576 -> 0 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttx | 475 + + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 932 -> 0 bytes + .../colr/TwemojiMozilla.subset.default.32.ttx | 231 + + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 1916 -> 0 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttx | 617 + + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 1376 -> 0 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttx | 402 + + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 1552 -> 0 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttx | 466 + + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 1916 -> 0 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttx | 621 + + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 1396 -> 0 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttx | 410 + + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 1576 -> 0 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttx | 478 + + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 912 -> 0 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttx | 226 + + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 1900 -> 0 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttx | 616 + + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 1372 -> 0 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttx | 405 + + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 1552 -> 0 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttx | 473 + + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 1916 -> 0 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttx | 621 + + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 1380 -> 0 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttx | 406 + + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 1556 -> 0 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttx | 470 + + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 912 -> 0 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttx | 226 + + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 1896 -> 0 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttx | 612 + + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 1356 -> 0 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttx | 397 + + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 1532 -> 0 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttx | 461 + + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 1936 -> 0 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttx | 626 + + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 1416 -> 0 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttx | 415 + + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 1596 -> 0 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttx | 483 + + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 932 -> 0 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttx | 231 + + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 1920 -> 0 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttx | 621 + + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 1392 -> 0 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttx | 410 + + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 1572 -> 0 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttx | 478 + + .../colr_with_components/colr-table.default.6B.ttf | Bin 4260 -> 0 bytes + .../colr_with_components/colr-table.default.6B.ttx | 1435 + + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 4984 -> 0 bytes + .../colr-table.drop-hints-retain-gids.6B.ttx | 1919 + + .../colr-table.drop-hints.6B.ttf | Bin 4260 -> 0 bytes + .../colr-table.drop-hints.6B.ttx | 1435 + + .../colr-table.retain-gids.6B.ttf | Bin 4984 -> 0 bytes + .../colr-table.retain-gids.6B.ttx | 1919 + + ...oColrEmojiGlyf-Regular.subset.default.1f35e.ttf | Bin 3004 -> 0 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f35e.ttx | 1077 + + ...oColrEmojiGlyf-Regular.subset.default.1f696.ttf | Bin 3752 -> 0 bytes + ...oColrEmojiGlyf-Regular.subset.default.1f696.ttx | 1449 + + ...Regular.subset.drop-hints-retain-gids.1f35e.ttf | Bin 3516 -> 0 bytes + ...Regular.subset.drop-hints-retain-gids.1f35e.ttx | 1417 + + ...Regular.subset.drop-hints-retain-gids.1f696.ttf | Bin 5048 -> 0 bytes + ...Regular.subset.drop-hints-retain-gids.1f696.ttx | 2313 + + ...lrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttf | Bin 3004 -> 0 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttx | 1077 + + ...lrEmojiGlyf-Regular.subset.drop-hints.1f696.ttf | Bin 3752 -> 0 bytes + ...lrEmojiGlyf-Regular.subset.drop-hints.1f696.ttx | 1449 + + ...rEmojiGlyf-Regular.subset.retain-gids.1f35e.ttf | Bin 3516 -> 0 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f35e.ttx | 1417 + + ...rEmojiGlyf-Regular.subset.retain-gids.1f696.ttf | Bin 5048 -> 0 bytes + ...rEmojiGlyf-Regular.subset.retain-gids.1f696.ttx | 2313 + + .../colrv1/TestCOLRv1.default.E000,E004.ttf | Bin 900 -> 0 bytes + .../colrv1/TestCOLRv1.default.E000,E004.ttx | 316 + + .../colrv1/TestCOLRv1.default.E003,E004.ttf | Bin 1000 -> 0 bytes + .../colrv1/TestCOLRv1.default.E003,E004.ttx | 367 + + .../expected/colrv1/TestCOLRv1.default.E004.ttf | Bin 744 -> 0 bytes + .../expected/colrv1/TestCOLRv1.default.E004.ttx | 231 + + .../TestCOLRv1.default.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + .../TestCOLRv1.default.retain-all-codepoint.ttx | 596 + + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttf | Bin 984 -> 0 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttx | 364 + + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttf | Bin 1076 -> 0 bytes + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttx | 411 + + .../TestCOLRv1.drop-hints-retain-gids.E004.ttf | Bin 836 -> 0 bytes + .../TestCOLRv1.drop-hints-retain-gids.E004.ttx | 291 + + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttx | 596 + + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttf | Bin 900 -> 0 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttx | 316 + + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttf | Bin 1000 -> 0 bytes + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttx | 367 + + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttf | Bin 744 -> 0 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttx | 231 + + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttx | 596 + + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttf | Bin 984 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttx | 364 + + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttf | Bin 1076 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttx | 411 + + .../colrv1/TestCOLRv1.retain-gids.E004.ttf | Bin 836 -> 0 bytes + .../colrv1/TestCOLRv1.retain-gids.E004.ttx | 291 + + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttf | Bin 1444 -> 0 bytes + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttx | 596 + + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3080 -> 0 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttx | 1659 + + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2672 -> 0 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttx | 1422 + + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3024 -> 0 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttx | 1571 + + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1632 -> 0 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttx | 549 + + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1412 -> 0 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttx | 494 + + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1648 -> 0 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttx | 529 + + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3992 -> 0 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttx | 1355 + + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3832 -> 0 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttx | 1262 + + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4396 -> 0 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttx | 1522 + + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3968 -> 0 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttx | 1349 + + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3832 -> 0 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttx | 1262 + + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4396 -> 0 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttx | 1522 + + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 2344 -> 0 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttx | 1187 + + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 1992 -> 0 bytes + .../japanese/Mplus1p-Regular.default.25771.ttx | 1033 + + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2704 -> 0 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttx | 1296 + + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2948 -> 0 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttx | 1403 + + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2324 -> 0 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttx | 1172 + + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3244 -> 0 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1522 + + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1984 -> 0 bytes + .../japanese/Mplus1p-Regular.default.660E.ttx | 1024 + + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 1616 -> 0 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttx | 522 + + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 1264 -> 0 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttx | 368 + + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1976 -> 0 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttx | 631 + + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2220 -> 0 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttx | 738 + + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1596 -> 0 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttx | 507 + + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2516 -> 0 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttx | 857 + + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1256 -> 0 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttx | 359 + + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 2344 -> 0 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttx | 1187 + + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 1992 -> 0 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttx | 1033 + + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2704 -> 0 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttx | 1296 + + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2948 -> 0 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttx | 1403 + + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2324 -> 0 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttx | 1172 + + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3244 -> 0 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttx | 1522 + + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1984 -> 0 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttx | 1024 + + ...text1_multiple_subrules_f1.default.41,42,43.otf | Bin 1328 -> 0 bytes + ...text1_multiple_subrules_f1.default.41,42,43.ttx | 284 + + ...context1_multiple_subrules_f1.default.41,42.otf | Bin 1228 -> 0 bytes + ...context1_multiple_subrules_f1.default.41,42.ttx | 265 + + ...context1_multiple_subrules_f1.default.41,43.otf | Bin 1332 -> 0 bytes + ...context1_multiple_subrules_f1.default.41,43.ttx | 275 + + ...os_context1_multiple_subrules_f1.default.41.otf | Bin 1216 -> 0 bytes + ...os_context1_multiple_subrules_f1.default.41.ttx | 256 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 + + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 + + ...ext1_multiple_subrules_f1.retain-gids.41,42.otf | Bin 1932 -> 0 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,42.ttx | 585 + + ...ext1_multiple_subrules_f1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,43.ttx | 600 + + ...ontext1_multiple_subrules_f1.retain-gids.41.otf | Bin 1916 -> 0 bytes + ...ontext1_multiple_subrules_f1.retain-gids.41.ttx | 576 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + ...text2_multiple_subrules_f1.default.41,42,43.otf | Bin 1328 -> 0 bytes + ...text2_multiple_subrules_f1.default.41,42,43.ttx | 284 + + ...context2_multiple_subrules_f1.default.41,42.otf | Bin 1228 -> 0 bytes + ...context2_multiple_subrules_f1.default.41,42.ttx | 265 + + ...context2_multiple_subrules_f1.default.41,43.otf | Bin 1332 -> 0 bytes + ...context2_multiple_subrules_f1.default.41,43.ttx | 275 + + ...os_context2_multiple_subrules_f1.default.41.otf | Bin 1216 -> 0 bytes + ...os_context2_multiple_subrules_f1.default.41.ttx | 256 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 + + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 + + ...ext2_multiple_subrules_f1.retain-gids.41,42.otf | Bin 1932 -> 0 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,42.ttx | 585 + + ...ext2_multiple_subrules_f1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,43.ttx | 600 + + ...ontext2_multiple_subrules_f1.retain-gids.41.otf | Bin 1916 -> 0 bytes + ...ontext2_multiple_subrules_f1.retain-gids.41.ttx | 576 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + .../gpos_context3_simple_f1.default.41,42,43.otf | Bin 1308 -> 0 bytes + .../gpos_context3_simple_f1.default.41,42,43.ttx | 284 + + .../gpos_context3_simple_f1.default.41,42.otf | Bin 1208 -> 0 bytes + .../gpos_context3_simple_f1.default.41,42.ttx | 265 + + .../gpos_context3_simple_f1.default.41,43.otf | Bin 1312 -> 0 bytes + .../gpos_context3_simple_f1.default.41,43.ttx | 275 + + .../gpos_context3_simple_f1.default.41.otf | Bin 1196 -> 0 bytes + .../gpos_context3_simple_f1.default.41.ttx | 256 + + ...ext3_simple_f1.default.retain-all-codepoint.otf | Bin 3680 -> 0 bytes + ...ext3_simple_f1.default.retain-all-codepoint.ttx | 1247 + + ...pos_context3_simple_f1.retain-gids.41,42,43.otf | Bin 2008 -> 0 bytes + ...pos_context3_simple_f1.retain-gids.41,42,43.ttx | 604 + + .../gpos_context3_simple_f1.retain-gids.41,42.otf | Bin 1912 -> 0 bytes + .../gpos_context3_simple_f1.retain-gids.41,42.ttx | 585 + + .../gpos_context3_simple_f1.retain-gids.41,43.otf | Bin 2028 -> 0 bytes + .../gpos_context3_simple_f1.retain-gids.41,43.ttx | 600 + + .../gpos_context3_simple_f1.retain-gids.41.otf | Bin 1896 -> 0 bytes + .../gpos_context3_simple_f1.retain-gids.41.ttx | 576 + + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3680 -> 0 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4176 -> 0 bytes + .../IndicTestJalandhar-Regular.default.A01.ttx | 2916 + + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4752 -> 0 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttx | 3167 + + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4724 -> 0 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttx | 3148 + + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49244 -> 0 bytes + ...andhar-Regular.default.retain-all-codepoint.ttx | 22554 +++ + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 1036 -> 0 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttx | 281 + + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1344 -> 0 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttx | 403 + + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1344 -> 0 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttx | 404 + + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29464 -> 0 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttx | 11627 ++ + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4176 -> 0 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttx | 2916 + + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4752 -> 0 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttx | 3167 + + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4724 -> 0 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttx | 3148 + + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49244 -> 0 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttx | 22554 +++ + .../AdobeVFPrototype.default.41,42,43,57.otf | Bin 5440 -> 0 bytes + .../AdobeVFPrototype.default.41,42,43,57.ttx | 1536 + + .../AdobeVFPrototype.default.41,42,43.otf | Bin 4908 -> 0 bytes + .../AdobeVFPrototype.default.41,42,43.ttx | 1338 + + .../AdobeVFPrototype.default.41,42.otf | Bin 4432 -> 0 bytes + .../AdobeVFPrototype.default.41,42.ttx | 1201 + + .../AdobeVFPrototype.default.41,56,57.otf | Bin 4576 -> 0 bytes + .../AdobeVFPrototype.default.41,56,57.ttx | 1310 + + .../AdobeVFPrototype.default.41.otf | Bin 3728 -> 0 bytes + .../AdobeVFPrototype.default.41.ttx | 1000 + + .../AdobeVFPrototype.default.42,57.otf | Bin 4564 -> 0 bytes + .../AdobeVFPrototype.default.42,57.ttx | 1253 + + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 5252 -> 0 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.ttx | 1500 + + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 4720 -> 0 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.ttx | 1302 + + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 4244 -> 0 bytes + .../AdobeVFPrototype.drop-hints.41,42.ttx | 1165 + + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 4384 -> 0 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.ttx | 1274 + + .../AdobeVFPrototype.drop-hints.41.otf | Bin 3540 -> 0 bytes + .../AdobeVFPrototype.drop-hints.41.ttx | 964 + + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 4376 -> 0 bytes + .../AdobeVFPrototype.drop-hints.42,57.ttx | 1217 + + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5440 -> 0 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.ttx | 1536 + + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4908 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.ttx | 1338 + + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4432 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.ttx | 1201 + + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4576 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.ttx | 1310 + + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3728 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.ttx | 1000 + + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4564 -> 0 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.ttx | 1253 + + .../Roboto-Regular.default.1E00,303.ttf | Bin 2524 -> 0 bytes + .../Roboto-Regular.default.1E00,303.ttx | 1258 + + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2116 -> 0 bytes + .../layout.gdef/Roboto-Regular.default.303.ttx | 1012 + + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2212 -> 0 bytes + .../Roboto-Regular.default.309,20,30F.ttx | 1054 + + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 2008 -> 0 bytes + .../layout.gdef/Roboto-Regular.default.323.ttx | 949 + + .../Roboto-Regular.default.41,42,43.ttf | Bin 2572 -> 0 bytes + .../Roboto-Regular.default.41,42,43.ttx | 1349 + + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1380 -> 0 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttx | 443 + + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1112 -> 0 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttx | 312 + + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1172 -> 0 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttx | 328 + + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1056 -> 0 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttx | 291 + + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1388 -> 0 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttx | 480 + + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2524 -> 0 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttx | 1258 + + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2116 -> 0 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttx | 1012 + + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2212 -> 0 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttx | 1054 + + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 2008 -> 0 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttx | 949 + + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2572 -> 0 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttx | 1349 + + .../layout.gpos/gpos1_2_font.default.41,43.otf | Bin 1292 -> 0 bytes + .../layout.gpos/gpos1_2_font.default.41,43.ttx | 275 + + .../layout.gpos/gpos1_2_font.default.41,46.otf | Bin 1424 -> 0 bytes + .../layout.gpos/gpos1_2_font.default.41,46.ttx | 286 + + .../layout.gpos/gpos1_2_font.default.41.otf | Bin 1176 -> 0 bytes + .../layout.gpos/gpos1_2_font.default.41.ttx | 256 + + .../layout.gpos/gpos1_2_font.default.42,44.otf | Bin 1268 -> 0 bytes + .../layout.gpos/gpos1_2_font.default.42,44.ttx | 265 + + .../layout.gpos/gpos1_2_font.default.43,46.otf | Bin 1288 -> 0 bytes + .../layout.gpos/gpos1_2_font.default.43,46.ttx | 275 + + .../gpos1_2_font.default.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + .../gpos1_2_font.default.retain-all-codepoint.ttx | 1221 + + .../layout.gpos/gpos1_2_font.retain-gids.41,43.otf | Bin 2008 -> 0 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,43.ttx | 600 + + .../layout.gpos/gpos1_2_font.retain-gids.41,46.otf | Bin 2172 -> 0 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,46.ttx | 626 + + .../layout.gpos/gpos1_2_font.retain-gids.41.otf | Bin 1876 -> 0 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41.ttx | 576 + + .../layout.gpos/gpos1_2_font.retain-gids.42,44.otf | Bin 1992 -> 0 bytes + .../layout.gpos/gpos1_2_font.retain-gids.42,44.ttx | 595 + + .../layout.gpos/gpos1_2_font.retain-gids.43,46.otf | Bin 2036 -> 0 bytes + .../layout.gpos/gpos1_2_font.retain-gids.43,46.ttx | 615 + + ...os1_2_font.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + ...os1_2_font.retain-gids.retain-all-codepoint.ttx | 1221 + + .../gpos2_1_font7.default.21,23,25.otf | Bin 1360 -> 0 bytes + .../gpos2_1_font7.default.21,23,25.ttx | 287 + + .../layout.gpos2/gpos2_1_font7.default.21,23.otf | Bin 1240 -> 0 bytes + .../layout.gpos2/gpos2_1_font7.default.21,23.ttx | 268 + + .../layout.gpos2/gpos2_1_font7.default.2E,23.otf | Bin 1508 -> 0 bytes + .../layout.gpos2/gpos2_1_font7.default.2E,23.ttx | 291 + + .../gpos2_1_font7.default.41,42,43.otf | Bin 1288 -> 0 bytes + .../gpos2_1_font7.default.41,42,43.ttx | 284 + + .../gpos2_1_font7.default.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + .../gpos2_1_font7.default.retain-all-codepoint.ttx | 1221 + + .../gpos2_1_font7.retain-gids.21,23,25.otf | Bin 1696 -> 0 bytes + .../gpos2_1_font7.retain-gids.21,23,25.ttx | 457 + + .../gpos2_1_font7.retain-gids.21,23.otf | Bin 1564 -> 0 bytes + .../gpos2_1_font7.retain-gids.21,23.ttx | 433 + + .../gpos2_1_font7.retain-gids.2E,23.otf | Bin 1944 -> 0 bytes + .../gpos2_1_font7.retain-gids.2E,23.ttx | 511 + + .../gpos2_1_font7.retain-gids.41,42,43.otf | Bin 1988 -> 0 bytes + .../gpos2_1_font7.retain-gids.41,42,43.ttx | 604 + + ...s2_1_font7.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + ...s2_1_font7.retain-gids.retain-all-codepoint.ttx | 1221 + + .../gpos2_2_font5.default.21,23,25.otf | Bin 1360 -> 0 bytes + .../gpos2_2_font5.default.21,23,25.ttx | 287 + + .../layout.gpos2/gpos2_2_font5.default.21,23.otf | Bin 1240 -> 0 bytes + .../layout.gpos2/gpos2_2_font5.default.21,23.ttx | 268 + + .../layout.gpos2/gpos2_2_font5.default.2E,23.otf | Bin 1508 -> 0 bytes + .../layout.gpos2/gpos2_2_font5.default.2E,23.ttx | 291 + + .../gpos2_2_font5.default.41,42,43.otf | Bin 1288 -> 0 bytes + .../gpos2_2_font5.default.41,42,43.ttx | 284 + + .../gpos2_2_font5.default.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + .../gpos2_2_font5.default.retain-all-codepoint.ttx | 1221 + + .../gpos2_2_font5.retain-gids.21,23,25.otf | Bin 1696 -> 0 bytes + .../gpos2_2_font5.retain-gids.21,23,25.ttx | 457 + + .../gpos2_2_font5.retain-gids.21,23.otf | Bin 1564 -> 0 bytes + .../gpos2_2_font5.retain-gids.21,23.ttx | 433 + + .../gpos2_2_font5.retain-gids.2E,23.otf | Bin 1944 -> 0 bytes + .../gpos2_2_font5.retain-gids.2E,23.ttx | 511 + + .../gpos2_2_font5.retain-gids.41,42,43.otf | Bin 1988 -> 0 bytes + .../gpos2_2_font5.retain-gids.41,42,43.ttx | 604 + + ...s2_2_font5.retain-gids.retain-all-codepoint.otf | Bin 3604 -> 0 bytes + ...s2_2_font5.retain-gids.retain-all-codepoint.ttx | 1221 + + .../layout.gpos3/gpos3_font3.default.28,29.otf | Bin 1248 -> 0 bytes + .../layout.gpos3/gpos3_font3.default.28,29.ttx | 276 + + .../layout.gpos3/gpos3_font3.default.28,2B.otf | Bin 1376 -> 0 bytes + .../layout.gpos3/gpos3_font3.default.28,2B.ttx | 282 + + .../layout.gpos3/gpos3_font3.default.29,2B.otf | Bin 1292 -> 0 bytes + .../layout.gpos3/gpos3_font3.default.29,2B.ttx | 277 + + .../layout.gpos3/gpos3_font3.default.41,42,43.otf | Bin 1284 -> 0 bytes + .../layout.gpos3/gpos3_font3.default.41,42,43.ttx | 284 + + .../gpos3_font3.default.retain-all-codepoint.otf | Bin 3636 -> 0 bytes + .../gpos3_font3.default.retain-all-codepoint.ttx | 1228 + + .../layout.gpos3/gpos3_font3.retain-gids.28,29.otf | Bin 1632 -> 0 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,29.ttx | 471 + + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.otf | Bin 1780 -> 0 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.ttx | 487 + + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.otf | Bin 1696 -> 0 bytes + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.ttx | 482 + + .../gpos3_font3.retain-gids.41,42,43.otf | Bin 1984 -> 0 bytes + .../gpos3_font3.retain-gids.41,42,43.ttx | 604 + + ...pos3_font3.retain-gids.retain-all-codepoint.otf | Bin 3636 -> 0 bytes + ...pos3_font3.retain-gids.retain-all-codepoint.ttx | 1228 + + ...pos4_multiple_anchors_1.default.41,42,43,44.otf | Bin 1516 -> 0 bytes + ...pos4_multiple_anchors_1.default.41,42,43,44.ttx | 304 + + ...pos4_multiple_anchors_1.default.41,42,43,45.otf | Bin 1524 -> 0 bytes + ...pos4_multiple_anchors_1.default.41,42,43,45.ttx | 305 + + .../gpos4_multiple_anchors_1.default.41,42,43.otf | Bin 1308 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41,42,43.ttx | 284 + + .../gpos4_multiple_anchors_1.default.41,42.otf | Bin 1208 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41,42.ttx | 265 + + ...4_multiple_anchors_1.default.41,43,44,45,46.otf | Bin 1864 -> 0 bytes + ...4_multiple_anchors_1.default.41,43,44,45,46.ttx | 336 + + .../gpos4_multiple_anchors_1.default.41,43,44.otf | Bin 1524 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41,43,44.ttx | 295 + + .../gpos4_multiple_anchors_1.default.41,43,45.otf | Bin 1532 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41,43,45.ttx | 296 + + .../gpos4_multiple_anchors_1.default.41,43.otf | Bin 1312 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41,43.ttx | 275 + + .../gpos4_multiple_anchors_1.default.41.otf | Bin 1196 -> 0 bytes + .../gpos4_multiple_anchors_1.default.41.ttx | 256 + + ...iple_anchors_1.default.retain-all-codepoint.otf | Bin 3668 -> 0 bytes + ...iple_anchors_1.default.retain-all-codepoint.ttx | 1233 + + ..._multiple_anchors_1.retain-gids.41,42,43,44.otf | Bin 2220 -> 0 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,44.ttx | 624 + + ..._multiple_anchors_1.retain-gids.41,42,43,45.otf | Bin 2244 -> 0 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,45.ttx | 630 + + ...os4_multiple_anchors_1.retain-gids.41,42,43.otf | Bin 2008 -> 0 bytes + ...os4_multiple_anchors_1.retain-gids.41,42,43.ttx | 604 + + .../gpos4_multiple_anchors_1.retain-gids.41,42.otf | Bin 1912 -> 0 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,42.ttx | 585 + + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.otf | Bin 2584 -> 0 bytes + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.ttx | 661 + + ...os4_multiple_anchors_1.retain-gids.41,43,44.otf | Bin 2240 -> 0 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,44.ttx | 620 + + ...os4_multiple_anchors_1.retain-gids.41,43,45.otf | Bin 2260 -> 0 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,45.ttx | 626 + + .../gpos4_multiple_anchors_1.retain-gids.41,43.otf | Bin 2028 -> 0 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,43.ttx | 600 + + .../gpos4_multiple_anchors_1.retain-gids.41.otf | Bin 1896 -> 0 bytes + .../gpos4_multiple_anchors_1.retain-gids.41.ttx | 576 + + ..._anchors_1.retain-gids.retain-all-codepoint.otf | Bin 3668 -> 0 bytes + ..._anchors_1.retain-gids.retain-all-codepoint.ttx | 1233 + + .../gpos5_font1.default.41,42,43,44.otf | Bin 1536 -> 0 bytes + .../gpos5_font1.default.41,42,43,44.ttx | 323 + + .../gpos5_font1.default.41,42,43,45.otf | Bin 1544 -> 0 bytes + .../gpos5_font1.default.41,42,43,45.ttx | 324 + + .../layout.gpos5/gpos5_font1.default.41,42,43.otf | Bin 1328 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41,42,43.ttx | 303 + + .../layout.gpos5/gpos5_font1.default.41,42,44.otf | Bin 1460 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41,42,44.ttx | 304 + + .../layout.gpos5/gpos5_font1.default.41,42,45.otf | Bin 1448 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41,42,45.ttx | 305 + + .../layout.gpos5/gpos5_font1.default.41,42.otf | Bin 1228 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41,42.ttx | 284 + + .../layout.gpos5/gpos5_font1.default.41,43.otf | Bin 1332 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41,43.ttx | 294 + + .../layout.gpos5/gpos5_font1.default.41.otf | Bin 1216 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.41.ttx | 275 + + .../layout.gpos5/gpos5_font1.default.42.otf | Bin 1076 -> 0 bytes + .../layout.gpos5/gpos5_font1.default.42.ttx | 264 + + .../gpos5_font1.default.retain-all-codepoint.otf | Bin 3688 -> 0 bytes + .../gpos5_font1.default.retain-all-codepoint.ttx | 1250 + + .../gpos5_font1.retain-gids.41,42,43,44.otf | Bin 2240 -> 0 bytes + .../gpos5_font1.retain-gids.41,42,43,44.ttx | 643 + + .../gpos5_font1.retain-gids.41,42,43,45.otf | Bin 2264 -> 0 bytes + .../gpos5_font1.retain-gids.41,42,43,45.ttx | 649 + + .../gpos5_font1.retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + .../gpos5_font1.retain-gids.41,42,43.ttx | 623 + + .../gpos5_font1.retain-gids.41,42,44.otf | Bin 2176 -> 0 bytes + .../gpos5_font1.retain-gids.41,42,44.ttx | 629 + + .../gpos5_font1.retain-gids.41,42,45.otf | Bin 2172 -> 0 bytes + .../gpos5_font1.retain-gids.41,42,45.ttx | 635 + + .../layout.gpos5/gpos5_font1.retain-gids.41,42.otf | Bin 1932 -> 0 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,42.ttx | 604 + + .../layout.gpos5/gpos5_font1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,43.ttx | 619 + + .../layout.gpos5/gpos5_font1.retain-gids.41.otf | Bin 1916 -> 0 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41.ttx | 595 + + .../layout.gpos5/gpos5_font1.retain-gids.42.otf | Bin 1788 -> 0 bytes + .../layout.gpos5/gpos5_font1.retain-gids.42.ttx | 589 + + ...pos5_font1.retain-gids.retain-all-codepoint.otf | Bin 3688 -> 0 bytes + ...pos5_font1.retain-gids.retain-all-codepoint.ttx | 1250 + + .../gpos6_font1.default.41,42,43,44.otf | Bin 1492 -> 0 bytes + .../gpos6_font1.default.41,42,43,44.ttx | 304 + + .../gpos6_font1.default.41,42,43,45.otf | Bin 1500 -> 0 bytes + .../gpos6_font1.default.41,42,43,45.ttx | 305 + + .../layout.gpos6/gpos6_font1.default.41,42,43.otf | Bin 1284 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41,42,43.ttx | 284 + + .../layout.gpos6/gpos6_font1.default.41,42.otf | Bin 1184 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41,42.ttx | 265 + + .../gpos6_font1.default.41,43,44,45,46.otf | Bin 1840 -> 0 bytes + .../gpos6_font1.default.41,43,44,45,46.ttx | 336 + + .../layout.gpos6/gpos6_font1.default.41,43,44.otf | Bin 1500 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41,43,44.ttx | 295 + + .../layout.gpos6/gpos6_font1.default.41,43,45.otf | Bin 1508 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41,43,45.ttx | 296 + + .../layout.gpos6/gpos6_font1.default.41,43.otf | Bin 1288 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41,43.ttx | 275 + + .../layout.gpos6/gpos6_font1.default.41.otf | Bin 1172 -> 0 bytes + .../layout.gpos6/gpos6_font1.default.41.ttx | 256 + + .../gpos6_font1.default.retain-all-codepoint.otf | Bin 3644 -> 0 bytes + .../gpos6_font1.default.retain-all-codepoint.ttx | 1231 + + .../gpos6_font1.retain-gids.41,42,43,44.otf | Bin 2196 -> 0 bytes + .../gpos6_font1.retain-gids.41,42,43,44.ttx | 624 + + .../gpos6_font1.retain-gids.41,42,43,45.otf | Bin 2220 -> 0 bytes + .../gpos6_font1.retain-gids.41,42,43,45.ttx | 630 + + .../gpos6_font1.retain-gids.41,42,43.otf | Bin 1984 -> 0 bytes + .../gpos6_font1.retain-gids.41,42,43.ttx | 604 + + .../layout.gpos6/gpos6_font1.retain-gids.41,42.otf | Bin 1888 -> 0 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,42.ttx | 585 + + .../gpos6_font1.retain-gids.41,43,44,45,46.otf | Bin 2560 -> 0 bytes + .../gpos6_font1.retain-gids.41,43,44,45,46.ttx | 661 + + .../gpos6_font1.retain-gids.41,43,44.otf | Bin 2216 -> 0 bytes + .../gpos6_font1.retain-gids.41,43,44.ttx | 620 + + .../gpos6_font1.retain-gids.41,43,45.otf | Bin 2236 -> 0 bytes + .../gpos6_font1.retain-gids.41,43,45.ttx | 626 + + .../layout.gpos6/gpos6_font1.retain-gids.41,43.otf | Bin 2004 -> 0 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,43.ttx | 600 + + .../layout.gpos6/gpos6_font1.retain-gids.41.otf | Bin 1872 -> 0 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41.ttx | 576 + + ...pos6_font1.retain-gids.retain-all-codepoint.otf | Bin 3644 -> 0 bytes + ...pos6_font1.retain-gids.retain-all-codepoint.ttx | 1231 + + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12684 -> 0 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttx | 4529 + + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 9992 -> 0 bytes + .../Amiri-Regular.default.627,644,62D,628.ttx | 3537 + + .../Amiri-Regular.default.627,644.ttf | Bin 4168 -> 0 bytes + .../Amiri-Regular.default.627,644.ttx | 1383 + + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9516 -> 0 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttx | 3371 + + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7324 -> 0 bytes + .../Amiri-Regular.default.63A,64A,631.ttx | 2587 + + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48012 -> 0 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttx | 28725 ++++ + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42640 -> 0 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttx | 25101 ++++ + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36696 -> 0 bytes + .../Amiri-Regular.retain-gids.627,644.ttx | 23003 +++ + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45908 -> 0 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttx | 27759 ++++ + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 37988 -> 0 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttx | 22911 +++ + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1840 -> 0 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.ttx | 328 + + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1332 -> 0 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.ttx | 284 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3704 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 + + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2304 -> 0 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 563 + + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2032 -> 0 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3704 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1840 -> 0 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.ttx | 328 + + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 1332 -> 0 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.ttx | 284 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3704 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1247 + + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2304 -> 0 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 563 + + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2032 -> 0 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 604 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3704 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + ...pos_chaining3_simple_f1.default.30,31,32,33.otf | Bin 1816 -> 0 bytes + ...pos_chaining3_simple_f1.default.30,31,32,33.ttx | 328 + + .../gpos_chaining3_simple_f1.default.41,42,43.otf | Bin 1308 -> 0 bytes + .../gpos_chaining3_simple_f1.default.41,42,43.ttx | 284 + + ...ing3_simple_f1.default.retain-all-codepoint.otf | Bin 3680 -> 0 bytes + ...ing3_simple_f1.default.retain-all-codepoint.ttx | 1247 + + ...chaining3_simple_f1.retain-gids.30,31,32,33.otf | Bin 2280 -> 0 bytes + ...chaining3_simple_f1.retain-gids.30,31,32,33.ttx | 563 + + ...os_chaining3_simple_f1.retain-gids.41,42,43.otf | Bin 2008 -> 0 bytes + ...os_chaining3_simple_f1.retain-gids.41,42,43.ttx | 604 + + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3680 -> 0 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.ttx | 1247 + + .../layout.gpos9/gpos9_font2.default.41,42.otf | Bin 1184 -> 0 bytes + .../layout.gpos9/gpos9_font2.default.41,42.ttx | 265 + + .../layout.gpos9/gpos9_font2.default.41.otf | Bin 1172 -> 0 bytes + .../layout.gpos9/gpos9_font2.default.41.ttx | 256 + + .../layout.gpos9/gpos9_font2.default.42.otf | Bin 1032 -> 0 bytes + .../layout.gpos9/gpos9_font2.default.42.ttx | 245 + + .../layout.gpos9/gpos9_font2.retain-gids.41,42.otf | Bin 1888 -> 0 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41,42.ttx | 585 + + .../layout.gpos9/gpos9_font2.retain-gids.41.otf | Bin 1872 -> 0 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41.ttx | 576 + + .../layout.gpos9/gpos9_font2.retain-gids.42.otf | Bin 1744 -> 0 bytes + .../layout.gpos9/gpos9_font2.retain-gids.42.ttx | 570 + + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 4348 -> 0 bytes + ...ub_alternate_substitution.default.53A9,53F1.ttx | 1009 + + .../gsub_alternate_substitution.default.53A9.otf | Bin 3904 -> 0 bytes + .../gsub_alternate_substitution.default.53A9.ttx | 924 + + .../gsub_alternate_substitution.default.53F1.otf | Bin 2452 -> 0 bytes + .../gsub_alternate_substitution.default.53F1.ttx | 638 + + ...e_substitution.default.retain-all-codepoint.otf | Bin 6040 -> 0 bytes + ...e_substitution.default.retain-all-codepoint.ttx | 1387 + + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 4472 -> 0 bytes + ...lternate_substitution.retain-gids.53A9,53F1.ttx | 1063 + + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 4056 -> 0 bytes + ...sub_alternate_substitution.retain-gids.53A9.ttx | 990 + + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 2648 -> 0 bytes + ...sub_alternate_substitution.retain-gids.53F1.ttx | 728 + + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 6132 -> 0 bytes + ...bstitution.retain-gids.retain-all-codepoint.ttx | 1423 + + ...text1_multiple_subrules_f2.default.41,42,43.otf | Bin 1340 -> 0 bytes + ...text1_multiple_subrules_f2.default.41,42,43.ttx | 290 + + ...context1_multiple_subrules_f2.default.41,42.otf | Bin 1240 -> 0 bytes + ...context1_multiple_subrules_f2.default.41,42.ttx | 271 + + ...context1_multiple_subrules_f2.default.41,43.otf | Bin 1344 -> 0 bytes + ...context1_multiple_subrules_f2.default.41,43.ttx | 281 + + ...ub_context1_multiple_subrules_f2.default.41.otf | Bin 1228 -> 0 bytes + ...ub_context1_multiple_subrules_f2.default.41.ttx | 262 + + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3712 -> 0 bytes + ...le_subrules_f2.default.retain-all-codepoint.ttx | 1253 + + ...1_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2040 -> 0 bytes + ...1_multiple_subrules_f2.retain-gids.41,42,43.ttx | 610 + + ...ext1_multiple_subrules_f2.retain-gids.41,42.otf | Bin 1944 -> 0 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,42.ttx | 591 + + ...ext1_multiple_subrules_f2.retain-gids.41,43.otf | Bin 2060 -> 0 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,43.ttx | 606 + + ...ontext1_multiple_subrules_f2.retain-gids.41.otf | Bin 1928 -> 0 bytes + ...ontext1_multiple_subrules_f2.retain-gids.41.ttx | 582 + + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3712 -> 0 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.ttx | 1253 + + ...text2_multiple_subrules_f2.default.41,42,43.otf | Bin 1340 -> 0 bytes + ...text2_multiple_subrules_f2.default.41,42,43.ttx | 290 + + ...context2_multiple_subrules_f2.default.41,42.otf | Bin 1240 -> 0 bytes + ...context2_multiple_subrules_f2.default.41,42.ttx | 271 + + ...context2_multiple_subrules_f2.default.41,43.otf | Bin 1344 -> 0 bytes + ...context2_multiple_subrules_f2.default.41,43.ttx | 281 + + ...ub_context2_multiple_subrules_f2.default.41.otf | Bin 1228 -> 0 bytes + ...ub_context2_multiple_subrules_f2.default.41.ttx | 262 + + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3712 -> 0 bytes + ...le_subrules_f2.default.retain-all-codepoint.ttx | 1253 + + ...2_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2040 -> 0 bytes + ...2_multiple_subrules_f2.retain-gids.41,42,43.ttx | 610 + + ...ext2_multiple_subrules_f2.retain-gids.41,42.otf | Bin 1944 -> 0 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,42.ttx | 591 + + ...ext2_multiple_subrules_f2.retain-gids.41,43.otf | Bin 2060 -> 0 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,43.ttx | 606 + + ...ontext2_multiple_subrules_f2.retain-gids.41.otf | Bin 1928 -> 0 bytes + ...ontext2_multiple_subrules_f2.retain-gids.41.ttx | 582 + + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3712 -> 0 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.ttx | 1253 + + ...sub_context3_successive_f1.default.41,42,43.otf | Bin 1328 -> 0 bytes + ...sub_context3_successive_f1.default.41,42,43.ttx | 290 + + .../gsub_context3_successive_f1.default.41,42.otf | Bin 1228 -> 0 bytes + .../gsub_context3_successive_f1.default.41,42.ttx | 271 + + .../gsub_context3_successive_f1.default.41,43.otf | Bin 1332 -> 0 bytes + .../gsub_context3_successive_f1.default.41,43.ttx | 281 + + .../gsub_context3_successive_f1.default.41.otf | Bin 1216 -> 0 bytes + .../gsub_context3_successive_f1.default.41.ttx | 262 + + ..._successive_f1.default.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ..._successive_f1.default.retain-all-codepoint.ttx | 1253 + + ...context3_successive_f1.retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes + ...context3_successive_f1.retain-gids.41,42,43.ttx | 610 + + ...ub_context3_successive_f1.retain-gids.41,42.otf | Bin 1932 -> 0 bytes + ...ub_context3_successive_f1.retain-gids.41,42.ttx | 591 + + ...ub_context3_successive_f1.retain-gids.41,43.otf | Bin 2048 -> 0 bytes + ...ub_context3_successive_f1.retain-gids.41,43.ttx | 606 + + .../gsub_context3_successive_f1.retain-gids.41.otf | Bin 1916 -> 0 bytes + .../gsub_context3_successive_f1.retain-gids.41.ttx | 582 + + ...cessive_f1.retain-gids.retain-all-codepoint.otf | Bin 3700 -> 0 bytes + ...cessive_f1.retain-gids.retain-all-codepoint.ttx | 1253 + + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1852 -> 0 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.ttx | 334 + + ...ning1_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 0 bytes + ...ning1_multiple_subrules_f1.default.41,42,43.ttx | 290 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3716 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1253 + + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2316 -> 0 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 569 + + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2044 -> 0 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.ttx | 610 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3716 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1253 + + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1852 -> 0 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.ttx | 334 + + ...ning2_multiple_subrules_f1.default.41,42,43.otf | Bin 1344 -> 0 bytes + ...ning2_multiple_subrules_f1.default.41,42,43.ttx | 290 + + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3716 -> 0 bytes + ...le_subrules_f1.default.retain-all-codepoint.ttx | 1253 + + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2316 -> 0 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.ttx | 569 + + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2044 -> 0 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.ttx | 610 + + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3716 -> 0 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.ttx | 1253 + + ...sub_chaining3_simple_f2.default.30,31,32,33.otf | Bin 1828 -> 0 bytes + ...sub_chaining3_simple_f2.default.30,31,32,33.ttx | 334 + + .../gsub_chaining3_simple_f2.default.41,42,43.otf | Bin 1320 -> 0 bytes + .../gsub_chaining3_simple_f2.default.41,42,43.ttx | 290 + + ...ing3_simple_f2.default.retain-all-codepoint.otf | Bin 3692 -> 0 bytes + ...ing3_simple_f2.default.retain-all-codepoint.ttx | 1253 + + ...chaining3_simple_f2.retain-gids.30,31,32,33.otf | Bin 2292 -> 0 bytes + ...chaining3_simple_f2.retain-gids.30,31,32,33.ttx | 569 + + ...ub_chaining3_simple_f2.retain-gids.41,42,43.otf | Bin 2020 -> 0 bytes + ...ub_chaining3_simple_f2.retain-gids.41,42,43.ttx | 610 + + ..._simple_f2.retain-gids.retain-all-codepoint.otf | Bin 3692 -> 0 bytes + ..._simple_f2.retain-gids.retain-all-codepoint.ttx | 1253 + + ..._created.default.41,42,43,44,45,46,47,48,49.otf | Bin 2176 -> 0 bytes + ..._created.default.41,42,43,44,45,46,47,48,49.ttx | 392 + + ...nually_created.default.41,42,43,44,45,46,47.otf | Bin 1888 -> 0 bytes + ...nually_created.default.41,42,43,44,45,46,47.ttx | 357 + + ...nually_created.default.41,42,43,44,45,46,4D.otf | Bin 1852 -> 0 bytes + ...nually_created.default.41,42,43,44,45,46,4D.ttx | 351 + + ...nually_created.default.41,42,43,44,45,46,51.otf | Bin 1932 -> 0 bytes + ...nually_created.default.41,42,43,44,45,46,51.ttx | 364 + + ..._manually_created.default.41,42,43,44,45,46.otf | Bin 1832 -> 0 bytes + ..._manually_created.default.41,42,43,44,45,46.ttx | 343 + + .../gsub8_manually_created.default.41,42,43.otf | Bin 1284 -> 0 bytes + .../gsub8_manually_created.default.41,42,43.ttx | 285 + + .../gsub8_manually_created.default.41.otf | Bin 1172 -> 0 bytes + .../gsub8_manually_created.default.41.ttx | 259 + + .../gsub8_manually_created.default.61.otf | Bin 1224 -> 0 bytes + .../gsub8_manually_created.default.61.ttx | 268 + + ...nually_created.default.retain-all-codepoint.otf | Bin 3656 -> 0 bytes + ...nually_created.default.retain-all-codepoint.ttx | 1152 + + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 2884 -> 0 bytes + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.ttx | 712 + + ...ly_created.retain-gids.41,42,43,44,45,46,47.otf | Bin 2596 -> 0 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,47.ttx | 677 + + ...ly_created.retain-gids.41,42,43,44,45,46,4D.otf | Bin 2636 -> 0 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,4D.ttx | 701 + + ...ly_created.retain-gids.41,42,43,44,45,46,51.otf | Bin 2760 -> 0 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,51.ttx | 734 + + ...ually_created.retain-gids.41,42,43,44,45,46.otf | Bin 2540 -> 0 bytes + ...ually_created.retain-gids.41,42,43,44,45,46.ttx | 663 + + ...gsub8_manually_created.retain-gids.41,42,43.otf | Bin 1984 -> 0 bytes + ...gsub8_manually_created.retain-gids.41,42,43.ttx | 605 + + .../gsub8_manually_created.retain-gids.41.otf | Bin 1872 -> 0 bytes + .../gsub8_manually_created.retain-gids.41.ttx | 579 + + .../gsub8_manually_created.retain-gids.61.otf | Bin 2276 -> 0 bytes + .../gsub8_manually_created.retain-gids.61.ttx | 748 + + ...ly_created.retain-gids.retain-all-codepoint.otf | Bin 3656 -> 0 bytes + ...ly_created.retain-gids.retain-all-codepoint.ttx | 1152 + + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 4204 -> 0 bytes + .../expected/layout.khmer/Khmer.default.1780.ttx | 2504 + + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 6412 -> 0 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttx | 3406 + + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 4140 -> 0 bytes + .../expected/layout.khmer/Khmer.default.31.ttx | 2486 + + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 4464 -> 0 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttx | 2676 + + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 7848 -> 0 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttx | 4310 + + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 4256 -> 0 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttx | 2562 + + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11396 -> 0 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttx | 4986 + + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 18248 -> 0 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttx | 9792 ++ + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3528 -> 0 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttx | 1326 + + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12368 -> 0 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttx | 5279 + + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 20368 -> 0 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttx | 10363 ++ + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18232 -> 0 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttx | 9170 ++ + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 24376 -> 0 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttx | 13452 ++ + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9176 -> 0 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttx | 5158 + + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18172 -> 0 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttx | 8915 ++ + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 26588 -> 0 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttx | 14027 ++ + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 2464 -> 0 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttx | 1251 + + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2284 -> 0 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttx | 1120 + + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2084 -> 0 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttx | 1008 + + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2116 -> 0 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttx | 1017 + + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2388 -> 0 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttx | 1200 + + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 2716 -> 0 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttx | 1431 + + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 2548 -> 0 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttx | 1305 + + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 2336 -> 0 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttx | 1188 + + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 2384 -> 0 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttx | 1207 + + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 6476 -> 0 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttx | 4120 + + .../data/expected/sbix/sbix.default.58,59.ttf | Bin 193528 -> 0 bytes + .../data/expected/sbix/sbix.default.58,59.ttx | 12367 ++ + test/subset/data/expected/sbix/sbix.default.58.ttf | Bin 121168 -> 0 bytes + test/subset/data/expected/sbix/sbix.default.58.ttx | 7801 + + test/subset/data/expected/sbix/sbix.default.59.ttf | Bin 89364 -> 0 bytes + test/subset/data/expected/sbix/sbix.default.59.ttx | 5813 + + .../sbix/sbix.drop-hints-retain-gids.58,59.ttf | Bin 193528 -> 0 bytes + .../sbix/sbix.drop-hints-retain-gids.58,59.ttx | 12367 ++ + .../sbix/sbix.drop-hints-retain-gids.58.ttf | Bin 121168 -> 0 bytes + .../sbix/sbix.drop-hints-retain-gids.58.ttx | 7801 + + .../sbix/sbix.drop-hints-retain-gids.59.ttf | Bin 89404 -> 0 bytes + .../sbix/sbix.drop-hints-retain-gids.59.ttx | 5826 + + .../data/expected/sbix/sbix.drop-hints.58,59.ttf | Bin 193528 -> 0 bytes + .../data/expected/sbix/sbix.drop-hints.58,59.ttx | 12367 ++ + .../data/expected/sbix/sbix.drop-hints.58.ttf | Bin 121168 -> 0 bytes + .../data/expected/sbix/sbix.drop-hints.58.ttx | 7801 + + .../data/expected/sbix/sbix.drop-hints.59.ttf | Bin 89364 -> 0 bytes + .../data/expected/sbix/sbix.drop-hints.59.ttx | 5813 + + .../data/expected/sbix/sbix.retain-gids.58,59.ttf | Bin 193528 -> 0 bytes + .../data/expected/sbix/sbix.retain-gids.58,59.ttx | 12367 ++ + .../data/expected/sbix/sbix.retain-gids.58.ttf | Bin 121168 -> 0 bytes + .../data/expected/sbix/sbix.retain-gids.58.ttx | 7801 + + .../data/expected/sbix/sbix.retain-gids.59.ttf | Bin 89404 -> 0 bytes + .../data/expected/sbix/sbix.retain-gids.59.ttx | 5826 + + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15792 -> 0 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttx | 6907 + + .../data/expected/variable/Fraunces.default.61.ttf | Bin 4228 -> 0 bytes + .../data/expected/variable/Fraunces.default.61.ttx | 1427 + + test/subset/generate-expected-outputs.py | 1 + + test/subset/run-tests.py | 24 +- + test/subset/subset_test_suite.py | 18 +- + 1945 files changed, 3999127 insertions(+), 21 deletions(-) + +commit 30579f5a37a7f0e044572e978660f050dc85559a +Author: Behdad Esfahbod +Date: Thu Jul 29 11:19:13 2021 -0600 + + [set] Document & use open-ended del_range() + + src/hb-ot-layout-common.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-set.cc | 3 +++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +commit 72489f3e0e41fd5a6b68afd1d0493a79a508e97c +Author: Khaled Hosny +Date: Thu Jul 29 18:20:03 2021 +0200 + + [test] Free memory in hb-aots-tester + + test/shaping/data/aots/hb-aots-tester.cpp | 108 ++++++++++++++++-------------- + 1 file changed, 56 insertions(+), 52 deletions(-) + +commit 895162d6f324590f79654575bf2b6126034a2042 +Author: Khaled Hosny +Date: Thu Jul 29 18:03:00 2021 +0200 + + [test] Account for mark zeroing in AOTS tests + + The AOTS are not written with the face that mark glyphs gets their + advances zeroed. Taking this into account makes 16 more tests to pass. + + test/shaping/data/aots/hb-aots-tester.cpp | 17 ++++++++++++----- + test/shaping/data/aots/tests/gpos4_lookupflag.tests | 4 ++-- + .../data/aots/tests/gpos4_multiple_anchors.tests | 2 +- + test/shaping/data/aots/tests/gpos4_simple.tests | 10 +++++----- + test/shaping/data/aots/tests/gpos5.tests | 4 ++-- + test/shaping/data/aots/tests/gpos6.tests | 6 +++--- + .../data/aots/tests/gpos_chaining1_lookupflag.tests | 2 +- + .../data/aots/tests/gpos_chaining2_lookupflag.tests | 2 +- + .../data/aots/tests/gpos_chaining3_lookupflag.tests | 2 +- + .../data/aots/tests/gpos_context1_lookupflag.tests | 4 ++-- + .../data/aots/tests/gpos_context2_lookupflag.tests | 4 ++-- + .../data/aots/tests/gpos_context3_lookupflag.tests | 4 ++-- + 12 files changed, 34 insertions(+), 27 deletions(-) + +commit e65bf60500d575d83d71bc94723c58a4765d59ba +Author: Khaled Hosny +Date: Thu Jul 29 17:36:09 2021 +0200 + + [test] make this test runner less verbose + + Print the command being called once and in a way the can be manually + run. + + test/shaping/run-tests.py | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit 2d54c34680fd22e195eb6bd9e87c25a94e9a4b8b +Author: Behdad Esfahbod +Date: Wed Jul 28 18:20:53 2021 -0600 + + [subset/VarStore] Fix OOM in fuzzer test + + The test in question is the one added in c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602. + Culprit is that it's allocating lots of memory because of region_indices that + are out-of-range anyway. So, try to filter those out first. + + src/hb-ot-layout-common.hh | 28 ++++++++++++++++++---------- + src/hb-set.hh | 2 +- + 2 files changed, 19 insertions(+), 11 deletions(-) + +commit ff1fe25a5dbd249b8939f3c851d096b8fb1e50b5 +Author: Behdad Esfahbod +Date: Wed Jul 28 18:02:52 2021 -0600 + + [VarStore] Rename internal get_scalars() to get_region_scalars() + + src/hb-cff2-interp-cs.hh | 4 ++-- + src/hb-ot-layout-common.hh | 25 +++++++++++++------------ + 2 files changed, 15 insertions(+), 14 deletions(-) + +commit d7541f7b55dc30cd0cbb68f9066b2fff5f60e754 +Author: Behdad Esfahbod +Date: Thu Jul 29 00:09:24 2021 -0600 + + [util/hb-shape] Free cached resources on termination + + util/options.cc | 33 +++++++++++++++------------------ + util/options.hh | 18 ++++++++++++++---- + 2 files changed, 29 insertions(+), 22 deletions(-) + +commit ad03f34df75bfff32f12787f4af3b972ee57fb19 +Author: Behdad Esfahbod +Date: Wed Jul 28 19:05:12 2021 -0600 + + [util/hb-shape] Cache blob/face in batch mode + + util/options.cc | 41 +++++++++++++++++++++++++++++++++++------ + util/options.hh | 7 ++++++- + 2 files changed, 41 insertions(+), 7 deletions(-) + +commit 9a7ff54bb7ce9cafb563f740e25df931868e12dd +Author: Khaled Hosny +Date: Thu Jul 29 01:52:55 2021 +0200 + + [test] Write one sequence per-line + + https://github.com/harfbuzz/harfbuzz/pull/3087#issuecomment-888691436 + + src/gen-emoji-table.py | 21 +- + .../data/in-house/tests/emoji-clusters.tests | 3327 +++++++++++++++++++- + 2 files changed, 3265 insertions(+), 83 deletions(-) + +commit ddf87ffb22d30d6b15083f1f6d5d4fe20417b538 +Author: Khaled Hosny +Date: Thu Jul 29 01:12:46 2021 +0200 + + [test] Add generated tests for emoji clusters + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3017 + + Uses AdobeBlank2.ttf from: + + https://github.com/adobe-fonts/adobe-blank-2 + + instead of a dummy empty font so that everything maps to GID 1 and + control code points are kept instead of being dropped because there is + not space glyph (otherwise we’d need to identify control code points + somehow when generating the expectations). + + src/gen-emoji-table.py | 39 +++++++++++- + test/shaping/data/in-house/Makefile.sources | 1 + + test/shaping/data/in-house/fonts/AdobeBlank2.ttf | Bin 0 -> 2360 bytes + test/shaping/data/in-house/meson.build | 1 + + .../data/in-house/tests/emoji-clusters.tests | 66 +++++++++++++++++++++ + 5 files changed, 105 insertions(+), 2 deletions(-) + +commit f0a1892ff991581e787193fb81361d68a93933e7 +Author: Behdad Esfahbod +Date: Wed Jul 28 17:36:22 2021 -0600 + + [serialize] Remove unnecessary pointer indirection + + src/hb-open-file.hh | 4 ++-- + src/hb-open-type.hh | 12 ++++++------ + src/hb-ot-cff-common.hh | 6 +++--- + src/hb-ot-cff1-table.hh | 4 ++-- + src/hb-ot-cmap-table.hh | 6 +++--- + src/hb-ot-color-sbix-table.hh | 2 +- + src/hb-ot-hdmx-table.hh | 2 +- + src/hb-ot-layout-common.hh | 20 ++++++++++---------- + src/hb-ot-layout-gpos-table.hh | 4 ++-- + src/hb-ot-layout-gsub-table.hh | 14 +++++++------- + src/hb-ot-var-hvar-table.hh | 2 +- + 11 files changed, 38 insertions(+), 38 deletions(-) + +commit 1c511ed6f6c0f36ec2767b88e4c93682530cfd0d +Author: Behdad Esfahbod +Date: Wed Jul 28 17:33:26 2021 -0600 + + [subset] Simplify VarStore serialization + + src/hb-ot-layout-common.hh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit ad4c6924926830316fb1593a60d0c4858d095052 +Author: Behdad Esfahbod +Date: Wed Jul 28 16:50:34 2021 -0600 + + [subset] Simplify VarStore serialize + + src/hb-ot-layout-common.hh | 25 +++++++++++++------------ + 1 file changed, 13 insertions(+), 12 deletions(-) + +commit 25dee6097741e9594d545ff764623c30289e5c58 +Author: Behdad Esfahbod +Date: Wed Jul 28 13:58:24 2021 -0600 + + [sanitize] Revert some from c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602 + + That overflow check was already happening in arrayZ.sanitize(). + + src/hb-ot-layout-common.hh | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 6fe0d7d6e8be657a64eaf288fc4049e010669c89 +Author: Behdad Esfahbod +Date: Wed Jul 28 12:06:49 2021 -0600 + + [GSUB] If MultipleSubst is applied to a ligature-component, preserve lig-id + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3069 + + src/hb-ot-layout-gsub-table.hh | 9 +++++++-- + .../fonts/b31e6c52a31edadc16f1bec9efe6019e2d59824a.ttf | Bin 0 -> 6812 bytes + test/shaping/data/in-house/tests/ligature-id.tests | 1 + + 3 files changed, 8 insertions(+), 2 deletions(-) + +commit b926fb9bb010e838282b9f735c3cb2e39340c708 +Author: Behdad Esfahbod +Date: Wed Jul 28 11:58:10 2021 -0600 + + Whitespace + + src/hb-ot-layout-gsub-table.hh | 1 - + 1 file changed, 1 deletion(-) + +commit cc3a7ceea3322080d0607b4af7d0fa2b2f0e6c0e +Author: Behdad Esfahbod +Date: Wed Jul 28 11:53:06 2021 -0600 + + Fix macro-in-macro invocation + + ../src/hb-ot-color-colr-table.hh:980:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive] + \#if COLRV1_ENABLE_SUBSETTING == 1 + + src/hb-ot-color-colr-table.hh | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +commit 087e2705de1ea5195eb77e144ef9196058d1ee7d +Author: Behdad Esfahbod +Date: Wed Jul 28 11:42:31 2021 -0600 + + Fix signed-ness error in 0ded6a70c829284a8220ce30a405b0a974061df4 + + src/hb-serialize.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit f3e031539f72d67e9bcfad96b28798367a79f1ec +Author: Garret Rieger +Date: Tue Jul 27 14:40:15 2021 -0700 + + Revert "[ci] Bin FontTools version due to recent COLRv1 changes" + + This reverts commit 163748b5059e7b02a8ea57e263b009020a3ed499. + + .circleci/config.yml | 4 ++-- + .github/workflows/linux-ci.yml | 2 +- + .github/workflows/macos-ci.yml | 2 +- + .github/workflows/msvc-ci.yml | 2 +- + .github/workflows/msys2-ci.yml | 2 +- + src/hb-ot-color-colr-table.hh | 13 +++++-------- + 6 files changed, 11 insertions(+), 14 deletions(-) + +commit acbd8b27dce3ee369f7d6022eb8bcddfd2fb666c +Author: Garret Rieger +Date: Tue Jul 27 14:31:18 2021 -0700 + + [subset] temporarily disable COLRv1 subsetting. + + Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests. + + src/hb-ot-color-colr-table.hh | 15 +++++++++++++-- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 6 +++++- + test/subset/meson.build | 4 +++- + 4 files changed, 22 insertions(+), 4 deletions(-) + +commit 5dae8297bbb868e57557a22bd9c56514bb8dd00d +Author: Behdad Esfahbod +Date: Wed Jul 28 11:35:40 2021 -0600 + + [util] Minor followup to https://github.com/harfbuzz/harfbuzz/pull/3083 + + util/options.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0ded6a70c829284a8220ce30a405b0a974061df4 +Author: Behdad Esfahbod +Date: Wed Jul 28 11:28:38 2021 -0600 + + [subset] Fix another fuzzer issue + + Addition could overflow on 32bit arch. + + Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636 + Fixes https://oss-fuzz.com/testcase-detail/5072358514753536 + + src/hb-serialize.hh | 5 +++-- + ...testcase-minimized-hb-subset-fuzzer-5072358514753536 | Bin 0 -> 55875 bytes + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit c65e1e0842affc66149cf459e610159f7b7f3992 +Author: Khaled Hosny +Date: Wed Jul 28 17:04:10 2021 +0200 + + [test] Run AOTS cmap tests with ot font functions only + + We are not interested in testing FreeType cmap support. + + Fixes most format 4 tests. The remaining test seems to be peculiar, and + I can’t find any cmap implementation that produces the expected output. + + test/shaping/data/aots/hb-aots-tester.cpp | 2 +- + test/shaping/data/aots/tests/cmap0.tests | 2 +- + test/shaping/data/aots/tests/cmap10.tests | 4 ++-- + test/shaping/data/aots/tests/cmap12.tests | 2 +- + test/shaping/data/aots/tests/cmap2.tests | 2 +- + test/shaping/data/aots/tests/cmap4.tests | 12 ++++++------ + test/shaping/data/aots/tests/cmap6.tests | 4 ++-- + test/shaping/data/aots/tests/cmap8.tests | 2 +- + 8 files changed, 15 insertions(+), 15 deletions(-) + +commit 8396c523b6715893c67163c947521c9b1408f594 +Author: Khaled Hosny +Date: Wed Jul 28 16:29:43 2021 +0200 + + [test] Add AOTS cmap tests + + Uses https://github.com/adobe-type-tools/aots/pull/3 + + Related to https://github.com/unicode-org/text-rendering-tests/issues/70 + + We don’t support format 4 or 8, so these tests are disabled. We support + format 4 but most of the tests are failing, investigating. + + test/shaping/data/aots/Makefile.sources | 7 +++ + test/shaping/data/aots/hb-aots-tester.cpp | 82 +++++++++++++++++++++++++++++++ + test/shaping/data/aots/meson.build | 7 +++ + test/shaping/data/aots/tests/cmap0.tests | 1 + + test/shaping/data/aots/tests/cmap10.tests | 2 + + test/shaping/data/aots/tests/cmap12.tests | 1 + + test/shaping/data/aots/tests/cmap2.tests | 1 + + test/shaping/data/aots/tests/cmap4.tests | 6 +++ + test/shaping/data/aots/tests/cmap6.tests | 2 + + test/shaping/data/aots/tests/cmap8.tests | 1 + + 10 files changed, 110 insertions(+) + +commit 50379fbb1517387d91b3ec4cc55a7500dd09b436 +Author: Khaled Hosny +Date: Wed Jul 28 16:13:49 2021 +0200 + + [util] Don’t split text at new lines in batch mode + + In batch mode (which is used for testing) we are probably not interested + in splitting text into lines as we could have split the string into + different tests. This fixes a bunch of AOTS tests that use newlines as + input. + + test/shaping/data/aots/tests/lookupflag_ignore_attach.tests | 10 +++++----- + util/hb-shape.cc | 2 +- + util/main-font-text.hh | 4 ++-- + util/options.cc | 6 +++--- + util/options.hh | 2 +- + 5 files changed, 12 insertions(+), 12 deletions(-) + +commit 92b85749f2b284a370fff3905c0a554bbbc7b323 +Author: Khaled Hosny +Date: Wed Jul 28 15:56:53 2021 +0200 + + [util] Strip quotes when parsing features + + When running in batch mode, the quotes are not stripped by the shell and + end up in the feature string. This breaks one of the AOTS tests. + + Alternatively, we can remove the quotes from the test files, not sure + which is less hacky, though! + + test/shaping/data/aots/tests/gsub3_1_simple.tests | 2 +- + util/options.cc | 8 ++++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +commit ad9559e3e23ab32c27dc62374f040330e25f24eb +Author: Khaled Hosny +Date: Wed Jul 28 14:35:23 2021 +0200 + + [tests] Make AOTS update.py work on macOS + + Use C++ compiler and make sure C++11 is used. + + test/shaping/data/aots/update.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d84efca312b2a10dc1c7b5444bc802c2d1b19e17 +Author: Khaled Hosny +Date: Wed Jul 28 13:17:41 2021 +0200 + + [tests] Add missed test file to Makefile/meson + + It was introduced in 205737acdc268b1c90cf00bde2d2038519a8bf48 but was + not actually used. + + See https://github.com/harfbuzz/harfbuzz/issues/2098 + + test/shaping/data/in-house/Makefile.sources | 1 + + test/shaping/data/in-house/meson.build | 1 + + 2 files changed, 2 insertions(+) + +commit 09474d8d7b051b1465582828c8ec5afcccb6c3c6 +Author: Garret Rieger +Date: Tue Jun 29 16:07:14 2021 -0700 + + [subset] Fix fuzzer timeout in add_gid_and_children. + + The composite glyph graph isn't check for max operations by sanitize so track an operations count during the graph traversal. + + src/hb-ot-glyf-table.hh | 22 +++++++++++++++------ + ...ase-minimized-hb-subset-fuzzer-5991762219892736 | Bin 0 -> 80599 bytes + 2 files changed, 16 insertions(+), 6 deletions(-) + +commit c68a00b92eb62fdc79f9a2bd1fc7a6acc24a3602 +Author: Behdad Esfahbod +Date: Tue Jul 27 13:25:22 2021 -0600 + + [subset] Fix possible overflows in VarRegionList serialize + + Fixes https://oss-fuzz.com/testcase-detail/5362189182566400 + + src/harfbuzz.cc | 1 + + src/hb-ot-layout-common.hh | 7 +++++-- + ...testcase-minimized-hb-subset-fuzzer-5362189182566400 | Bin 0 -> 85171 bytes + 3 files changed, 6 insertions(+), 2 deletions(-) + +commit 7b8464b655b190c16bba33cefdd58acb03d32ddf +Author: Behdad Esfahbod +Date: Tue Jul 27 13:15:07 2021 -0600 + + [serialize] Check for overflow in allocate_size() + + If size was > INT_MAX, then the out-of-room check was failing to perform + as intended. + + Part of fixing https://oss-fuzz.com/testcase-detail/5362189182566400 + + src/hb-serialize.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit bf2c87bfe6b3826d187dfee2ca894b5a39f6d17e +Author: Behdad Esfahbod +Date: Tue Jul 27 13:10:41 2021 -0600 + + Add hb_memcpy() that does len=0 check + + src/hb-algs.hh | 8 ++++++++ + src/hb-set.hh | 8 ++------ + 2 files changed, 10 insertions(+), 6 deletions(-) + +commit 5f801da945025d66204c61fc11a2ff7fd55e3666 +Author: Khaled Hosny +Date: Tue Jul 27 20:54:19 2021 +0200 + + [hb-ms-features] Move code out of header file + + src/Makefile.sources | 2 + + src/hb-ms-feature-ranges.cc | 177 ++++++++++++++++++++++++++++++++++++++++++++ + src/hb-ms-feature-ranges.hh | 140 +---------------------------------- + src/meson.build | 2 + + 4 files changed, 185 insertions(+), 136 deletions(-) + +commit 990c15dbe5dfaf35de02089832938a4821369074 +Author: Khaled Hosny +Date: Tue Jul 27 20:43:53 2021 +0200 + + [hb-ms-features] Rename types to be less general + + src/hb-directwrite.cc | 2 +- + src/hb-ms-feature-ranges.hh | 79 ++++++++++++++++++++++----------------------- + src/hb-uniscribe.cc | 2 +- + 3 files changed, 41 insertions(+), 42 deletions(-) + +commit 69199211b7a9b7d7ea0a603ec9d8c25a48f1fcd5 +Author: Khaled Hosny +Date: Tue Jul 27 19:51:23 2021 +0200 + + [uniscribe/directwrite] Move feature setup to shared file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3070 + + src/hb-directwrite.cc | 236 +++++++++----------------------------------- + src/hb-ms-feature-ranges.hh | 229 ++++++++++++++++++++++++++++++++++++++++++ + src/hb-uniscribe.cc | 213 ++++++--------------------------------- + 3 files changed, 308 insertions(+), 370 deletions(-) + +commit fc7f77812068840fd6d6edc8c0647baf52f65d07 +Author: Garret Rieger +Date: Tue Jul 27 12:21:19 2021 -0600 + + [subset] add a note to hb-subset on what is and isn't supported (#3076) + + src/hb-subset.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 3e4f006fe24186182b12ec04776aedbc0f6659b3 +Merge: 163748b50 791a1bf3a +Author: Behdad Esfahbod +Date: Tue Jul 27 09:28:47 2021 -0600 + + Merge pull request #3079 from harfbuzz/windows-getenv + + Don’t disable getenv on Windows + +commit 791a1bf3a4e356d9ea0222e3ed6bc6b56011c64d +Author: Khaled Hosny +Date: Tue Jul 27 15:22:13 2021 +0200 + + Don’t disable getenv on Windows + + The condition is inverted, regression from + 40ec187dec07e97ed4004b9831e7be844e6e7948. + + src/hb.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 163748b5059e7b02a8ea57e263b009020a3ed499 +Author: Khaled Hosny +Date: Mon Jul 26 23:03:16 2021 +0200 + + [ci] Bin FontTools version due to recent COLRv1 changes + + Should be reverted once HarfBuzz updated to match FontTools. + + .circleci/config.yml | 4 ++-- + .github/workflows/linux-ci.yml | 2 +- + .github/workflows/macos-ci.yml | 2 +- + .github/workflows/msvc-ci.yml | 2 +- + .github/workflows/msys2-ci.yml | 2 +- + 5 files changed, 6 insertions(+), 6 deletions(-) + +commit 4762fcb415c8070dbbfbb04ff0cf2c55385c812d +Merge: aeec27845 71b5509c1 +Author: Behdad Esfahbod +Date: Mon Jul 26 11:48:55 2021 -0700 + + Merge pull request #3067 from googlefonts/glyph_names + + [subset] support option --glyph-names + +commit aeec278453c1d529003f276867f56b4e205b6e2e +Merge: 404b91b93 a9a607d36 +Author: Behdad Esfahbod +Date: Mon Jul 26 11:31:54 2021 -0700 + + Merge pull request #3068 from harfbuzz/hoi + + [variations] Support multiple axes with same tag, aka HOI + +commit 404b91b93d4dd333992b021e416b4a0c27f997d6 +Merge: c2d58c974 ec99fdb7e +Author: Behdad Esfahbod +Date: Mon Jul 26 11:07:55 2021 -0700 + + Merge pull request #3071 from harfbuzz/subset-flags + + [sebset] Use [s|g]et_flag for retain_all_layout_features + +commit ec99fdb7e83ebc70993385a9b852cc05bf4693bf +Author: Khaled Hosny +Date: Mon Jul 26 01:35:13 2021 +0200 + + [sebset] Use [s|g]et_flag for retain_all_layout_features + + Looks like this was missed when adding hb_subset_input_[s|g]et_flag() + + docs/harfbuzz-sections.txt | 2 -- + src/hb-subset-input.cc | 19 +++++-------------- + src/hb-subset.h | 11 +++++------ + 3 files changed, 10 insertions(+), 22 deletions(-) + +commit c2d58c9747794a91c4d1e9d71426039e8b16be0b +Merge: b235511ed acc7100a3 +Author: Behdad Esfahbod +Date: Mon Jul 26 00:08:34 2021 -0700 + + Merge pull request #3072 from harfbuzz/subset-docs + + [docs] Improve subset documentation + +commit acc7100a3f37fd72cfcd5953cf9446b04ef387b6 +Author: Khaled Hosny +Date: Mon Jul 26 02:13:49 2021 +0200 + + [docs] Improve subset documentation + + docs/harfbuzz-sections.txt | 1 + + src/hb-subset-input.cc | 58 +++++++++++++++++++++++++++++++++++----------- + src/hb-subset-plan.cc | 9 +++++-- + src/hb-subset.h | 4 ++-- + 4 files changed, 54 insertions(+), 18 deletions(-) + +commit 3e2734cf9131dc075ac120209c803d55720672b3 +Author: Khaled Hosny +Date: Mon Jul 26 02:12:21 2021 +0200 + + [docs] Don’t use GTK-Doc syntax for internal functions + + We don’t generate docs for them, reduces the number of warnings. + + src/hb-subset-cff-common.cc | 12 ++++-------- + src/hb-subset-cff1.cc | 6 ------ + src/hb-subset-cff2.cc | 4 ---- + 3 files changed, 4 insertions(+), 18 deletions(-) + +commit 71b5509c195546b38c27a4efa69f80c175da4d3a +Author: Qunxin Liu +Date: Tue Jul 20 20:05:35 2021 -0700 + + [subset] support option --glyph-names + + src/Makefile.sources | 1 + + src/hb-ot-post-table-v2subset.hh | 114 +++++++++++++++++++++ + src/hb-ot-post-table.hh | 25 ++++- + src/hb-subset-input.cc | 6 ++ + src/hb-subset-input.hh | 1 + + src/hb-subset-plan.cc | 1 + + src/hb-subset-plan.hh | 1 + + src/hb-subset.cc | 1 + + src/hb-subset.h | 3 + + .../Comfortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 0 -> 7072 bytes + .../Comfortaa-Regular-new.glyph-names.61,63.ttf | Bin 0 -> 6700 bytes + .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 0 -> 6336 bytes + .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 0 -> 6208 bytes + .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 0 -> 6264 bytes + ...egular-new.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 227920 bytes + ...yeongjo-Regular-subset.glyph-names.61,62,63.ttf | Bin 0 -> 4128 bytes + ...umMyeongjo-Regular-subset.glyph-names.61,63.ttf | Bin 0 -> 3580 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.61.ttf | Bin 0 -> 3156 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.62.ttf | Bin 0 -> 3180 bytes + ...NanumMyeongjo-Regular-subset.glyph-names.63.ttf | Bin 0 -> 3048 bytes + ...lar-subset.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + .../Roboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 0 -> 2260 bytes + .../basics/Roboto-Regular.abc.glyph-names.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.glyph-names.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.glyph-names.63.ttf | Bin 0 -> 1972 bytes + ...egular.abc.glyph-names.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + test/subset/data/profiles/glyph-names.txt | 1 + + test/subset/data/tests/basics.tests | 1 + + util/options-subset.cc | 1 + + 30 files changed, 152 insertions(+), 4 deletions(-) + +commit b235511ed88e46d97d27a9176da1931f4a701b0d +Merge: 0a44feaed 1fde80ad2 +Author: Behdad Esfahbod +Date: Fri Jul 23 12:15:15 2021 -0700 + + Merge pull request #3021 from googlefonts/stable_api + + [subset] update hb_subset api with final changes before going stable. + +commit a9a607d360c491104517bffdb81701c99252cfe4 +Author: Behdad Esfahbod +Date: Thu Jul 22 16:49:56 2021 -0700 + + [variations] Support multiple axes with same tag, aka HOI + + The axes in fvar are in arbitrary order, NOT sorted. Hence have to + lsearch all entries. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1673 + Fixes https://github.com/harfbuzz/harfbuzz/issues/2743 + + Test from https://github.com/ctrlcctrlv/FontForge-Higher-Order-Interpolation + + src/hb-font.cc | 21 ++++++++------- + src/hb-ot-var-fvar-table.hh | 29 +++------------------ + test/shaping/data/in-house/Makefile.sources | 3 +-- + .../e8691822f6a705e3e9fb48a0405c645b1a036590.ttf | Bin 0 -> 2192 bytes + test/shaping/data/in-house/meson.build | 3 +-- + .../data/in-house/tests/variations-rounding.tests | 2 -- + .../data/in-house/tests/variations-space.tests | 2 -- + test/shaping/data/in-house/tests/variations.tests | 5 ++++ + 8 files changed, 21 insertions(+), 44 deletions(-) + +commit 1fde80ad282affc5d6cb54cd38915a803eeb70cb +Author: Garret Rieger +Date: Thu Jul 22 16:45:48 2021 -0700 + + [subset] update comments referencing hb_subset_input_t parameter. + + src/hb-subset-input.cc | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +commit c581d11eba0885d3e286d58cf648fec52caf6cd4 +Author: Garret Rieger +Date: Thu Jul 22 14:04:39 2021 -0700 + + [set] in hb_set_set() avoid calling memcpy on nullptr. + + src/hb-set.hh | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 2b9cb29923ab1face19a84a03459dabe2d47fb67 +Author: Garret Rieger +Date: Thu Jul 22 13:26:03 2021 -0700 + + [subset] cleanup no_subset_tables on destruction. + + src/hb-subset-input.cc | 1 + + src/hb-subset-plan.cc | 1 + + 2 files changed, 2 insertions(+) + +commit 89fc399eba5c7adf61c67be60cf5e81cfb21bbdc +Author: Garret Rieger +Date: Thu Jul 22 13:00:34 2021 -0700 + + [subset] Add hb-subset section documentation. + + src/hb-subset.cc | 11 +++++++++++ + src/hb-subset.h | 4 ---- + 2 files changed, 11 insertions(+), 4 deletions(-) + +commit 792e2ed61c14ba850e7ffcedbddc107947394014 +Author: Garret Rieger +Date: Thu Jul 22 12:41:48 2021 -0700 + + [subset] convert no get/set prune unicode ranges to enum. + + src/hb-subset-input.cc | 45 ++++++--------------------------------------- + src/hb-subset.h | 26 +++----------------------- + 2 files changed, 9 insertions(+), 62 deletions(-) + +commit 0a44feaedaf211a47d93765014106495d161af3f +Author: Behdad Esfahbod +Date: Thu Jul 22 12:18:48 2021 -0700 + + [fvar] Make find_axis_index() return a range, not individual value + + src/hb-ot-var-fvar-table.hh | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 1b6c1aa684df072a4212f9d350c78d9592f93413 +Author: Garret Rieger +Date: Mon Jun 28 12:57:39 2021 -0700 + + [subset] add hb-subset api to documentation generator. + + Standardize subset_input parameter to be input. + + docs/harfbuzz-docs.xml | 8 ++++- + docs/harfbuzz-sections.txt | 22 ++++++++++++ + src/hb-subset-input.cc | 84 +++++++++++++++++++++++----------------------- + src/hb-subset-plan.cc | 3 ++ + src/hb-subset.h | 22 ++++++------ + 5 files changed, 85 insertions(+), 54 deletions(-) + +commit 8ce968341285be9dd5bf10a6bd5cf316995248cd +Author: Garret Rieger +Date: Wed Jun 23 13:55:11 2021 -0700 + + [subset] add documentation for all hb-subset.h methods. + + src/hb-subset-input.cc | 71 +++++++++++++++++++++++++++++++++++++++++++++++--- + src/hb-subset.h | 59 ++++++++++++++++++++++------------------- + 2 files changed, 100 insertions(+), 30 deletions(-) + +commit 9ab751ac9ff139a7a1c286674f5560af386a7d23 +Author: Garret Rieger +Date: Wed Jun 23 13:38:47 2021 -0700 + + [subset] Remove hb_subset(). Leaving just hb_subset_or_fail(). + + src/hb-subset.cc | 15 --------------- + src/hb-subset.h | 22 +++++++++++----------- + test/api/hb-subset-test.h | 2 +- + test/api/test-subset-drop-tables.c | 3 ++- + test/api/test-subset-glyf.c | 7 +++---- + test/api/test-subset-hdmx.c | 5 ++--- + test/api/test-subset-hmtx.c | 5 ++--- + test/api/test-subset.c | 12 +++++------- + test/fuzzing/hb-subset-fuzzer.cc | 3 ++- + 9 files changed, 28 insertions(+), 46 deletions(-) + +commit e5c887fc0fc5263c4c84b32c327f1334b3b0dffc +Author: Garret Rieger +Date: Wed Jun 23 13:19:25 2021 -0700 + + [subset] add documentation for subset input flag enums. + + src/hb-subset.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit 372722ceee3bb4d30df9edd78c5899dbd6bbd66c +Author: Garret Rieger +Date: Wed Jun 23 13:10:03 2021 -0700 + + [subset] move notdef_outline to the subset input property enum. + + src/hb-subset-input.cc | 6 +++++- + src/hb-subset.h | 1 + + 2 files changed, 6 insertions(+), 1 deletion(-) + +commit a6c6cda48608e988a7debc3c18597186e3b4e2ee +Author: Garret Rieger +Date: Wed Jun 9 17:46:47 2021 -0700 + + [subset] Add no subset tables and passthrough unrecognized tables to the subset api. + + Matches fontTools options. + + src/hb-subset-input.cc | 29 ++++++++++++++++++++++++++++- + src/hb-subset-input.hh | 3 +++ + src/hb-subset-plan.cc | 2 ++ + src/hb-subset-plan.hh | 4 ++++ + src/hb-subset.cc | 22 ++++++++++++++++++---- + src/hb-subset.h | 15 +++++++++------ + 6 files changed, 64 insertions(+), 11 deletions(-) + +commit 668f2bd93e3ea72e43e57ce10981d300f39a1967 +Author: Garret Rieger +Date: Wed Jun 9 16:33:50 2021 -0700 + + [subset] Add hb_subset_or_fail () to public subset api. + + src/hb-subset.cc | 22 ++++++++++++++++++++-- + src/hb-subset.h | 3 +++ + util/hb-subset.cc | 10 ++++++---- + 3 files changed, 29 insertions(+), 6 deletions(-) + +commit aba2e13141c133091197adfcb1579de0a965a59d +Author: Garret Rieger +Date: Wed Jun 9 16:23:35 2021 -0700 + + [subset] Remove hb_subset_input_get/set_overlaps_flag (). + + src/hb-subset.h | 1 - + test/api/test-subset-glyf.c | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 7d82191f61f79aba910d37aff74d45f4ca0d48e9 +Author: Garret Rieger +Date: Wed Jun 9 16:20:55 2021 -0700 + + [subset] Remove hb_subset_input_get/set_name_legacy (). + + src/hb-subset-input.cc | 13 ------------- + src/hb-subset.h | 6 ------ + test/api/hb-subset-test.h | 2 +- + 3 files changed, 1 insertion(+), 20 deletions(-) + +commit 942636ae1300e56dfe599b5f961719f044bdf828 +Author: Garret Rieger +Date: Wed Jun 9 16:18:39 2021 -0700 + + [subset] Remove hb_subset_input_get/set_retain_gids. + + src/hb-subset-input.cc | 24 ------------------------ + src/hb-subset.h | 7 ------- + test/api/test-subset-cff1.c | 4 ++-- + test/api/test-subset-cff2.c | 2 +- + test/api/test-subset-glyf.c | 4 ++-- + test/api/test-subset-gvar.c | 2 +- + test/api/test-subset-hvar.c | 4 ++-- + test/api/test-subset-vvar.c | 2 +- + test/fuzzing/hb-subset-fuzzer.cc | 2 +- + 9 files changed, 10 insertions(+), 41 deletions(-) + +commit 77b4a1cd9634aafb6353b7d5e451d1f5a06e929b +Author: Garret Rieger +Date: Wed Jun 9 14:11:17 2021 -0700 + + [subset] Remove hb_subset_input_get/set_desubroutinize. + + src/hb-subset-input.cc | 13 ------------- + src/hb-subset.h | 6 ------ + test/api/test-subset-cff1.c | 8 ++++---- + test/api/test-subset-cff2.c | 4 ++-- + 4 files changed, 6 insertions(+), 25 deletions(-) + +commit 8bf5d4d4f787600e5e290bb8d59ee13f3a0d2515 +Author: Garret Rieger +Date: Wed Jun 9 14:05:17 2021 -0700 + + [subset] Remove hb_subset_input_get/set_drop_hints. + + src/hb-subset-input.cc | 13 ------------- + src/hb-subset-plan.cc | 2 +- + src/hb-subset.h | 6 +----- + test/api/test-subset-cff1.c | 10 +++++----- + test/api/test-subset-cff2.c | 4 ++-- + test/api/test-subset-glyf.c | 6 +++--- + test/fuzzing/hb-subset-fuzzer.cc | 2 +- + 7 files changed, 13 insertions(+), 30 deletions(-) + +commit 9fb3a2563333a0af1b67b2519f50cbc8278a8244 +Author: Garret Rieger +Date: Wed Jun 9 13:46:35 2021 -0700 + + [subset] Use hb_set_copy in subset input. + + src/hb-subset-plan.cc | 65 +++++++++++++++++++++++---------------------------- + 1 file changed, 29 insertions(+), 36 deletions(-) + +commit 38de3491a08633175d7e40d9acabd48d813f755a +Author: Garret Rieger +Date: Wed Jun 9 12:54:14 2021 -0700 + + [subset] add implementation for get/set flag on subset input. + + src/hb-subset-input.cc | 61 +++++++++++++++++++++++++++++++++++++++----------- + src/hb-subset.h | 35 ++++++++++++++++------------- + 2 files changed, 67 insertions(+), 29 deletions(-) + +commit 83727837ef8818eec7c7c840117e7752c4bb487e +Author: Garret Rieger +Date: Wed Jun 9 11:09:14 2021 -0700 + + [subset] add proposed enum property get/set method. + + src/hb-subset-input.cc | 15 +++++++++++++++ + src/hb-subset.h | 18 ++++++++++++++++++ + 2 files changed, 33 insertions(+) + +commit b38e49dcfa8c8cf11b4586ce93784ce7523b5f48 +Author: Garret Rieger +Date: Wed Jun 9 10:57:58 2021 -0700 + + [subset] add get/set user data methods to subset input. + + src/hb-subset-input.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ + src/hb-subset.h | 10 ++++++++++ + 2 files changed, 52 insertions(+) + +commit edb57a8d9af6513c8d4ed5799bd208e4b9d68927 +Author: Garret Rieger +Date: Wed Jun 9 10:42:48 2021 -0700 + + Make subset input const in the subsetting operation. Don't modify the subset input's sets. + + src/hb-subset-plan.cc | 19 +++++++++++++------ + src/hb-subset-plan.hh | 2 +- + src/hb-subset.cc | 2 +- + src/hb-subset.h | 2 +- + 4 files changed, 16 insertions(+), 9 deletions(-) + +commit 233c29b3024469fed9ea68018e9a072a036884af +Author: Behdad Esfahbod +Date: Thu Jul 22 12:00:24 2021 -0700 + + [font] Call fvar.find_axis_index instead of find_axis_info in set_variations() + + src/hb-font.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 89018068cd4e247d556d42a501a7ffa8e6c9ef52 +Author: Behdad Esfahbod +Date: Thu Jul 22 11:59:23 2021 -0700 + + [fvar] Centralize axis finding logic + + Part of fixing https://github.com/harfbuzz/harfbuzz/issues/1673 + + src/hb-ot-var-fvar-table.hh | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +commit 0b2280af909cb57570a28602922c7d5787ae42c7 +Author: Behdad Esfahbod +Date: Thu Jul 22 11:53:32 2021 -0700 + + [font] Call fvar table directly, instead of calling public get_axis_info + + To lighten it up in next commit. + + src/hb-font.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit b86a45ca55d0ce230965f9db507939f55e5145dd +Author: Behdad Esfahbod +Date: Thu Jul 22 11:46:44 2021 -0700 + + [fvar] Add TODO + + Fixing https://github.com/harfbuzz/harfbuzz/issues/1673 + + src/hb-ot-var-fvar-table.hh | 1 + + 1 file changed, 1 insertion(+) + +commit ba6db26b65c6ce00755def84691e117249b857ff +Author: Behdad Esfahbod +Date: Thu Jul 22 11:37:39 2021 -0700 + + Tolerate unsorted OT table entries for small number of entries + + See comment. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3065 + + src/hb-open-file.hh | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 03cd9c5cbab9c70c091d4bc5d634fd67469f0658 +Author: Behdad Esfahbod +Date: Thu Jul 22 11:27:33 2021 -0700 + + Align lfind() API to match bfind() + + src/hb-array.hh | 43 +++++++++++++++++++++++++++++++------------ + src/hb-open-file.hh | 2 +- + src/hb-open-type.hh | 16 ++++++++++------ + src/hb-ot-layout-common.hh | 4 ++-- + src/hb-set.hh | 6 +++--- + src/hb-vector.hh | 2 +- + 6 files changed, 48 insertions(+), 25 deletions(-) + +commit f54f5c1b16b920464557ff29049b07668b12dad7 +Author: Behdad Esfahbod +Date: Thu Jul 22 11:09:02 2021 -0700 + + Fix debug printer of bool + + src/hb-debug.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6269866bddd789be354d189ce31ad444b479a772 +Author: Garret Rieger +Date: Fri Jul 16 14:06:55 2021 -0700 + + [subset] Keep bimap consistent if only one of the internal maps is in error. + + src/hb-bimap.hh | 5 +++++ + src/hb-ot-layout-common.hh | 3 ++- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 48edbef96f41a1ace04232af72bb2d55003614d9 +Author: Garret Rieger +Date: Tue Jun 29 13:14:26 2021 -0700 + + [subset] bail if region_map is in error. + + Fixes fuzzer case https://oss-fuzz.com/testcase-detail/5499162606043136. + + src/hb-ot-layout-common.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 79e8b306090ebadafa0fd53242ffcfbc74c94ab6 +Author: Behdad Esfahbod +Date: Fri Jul 16 15:06:10 2021 -0600 + + [ot-shape] Fix application of kern table if GPOS kern is missing + + Was broken sometime after we implemented kerx and tweaking it. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3043 + + src/hb-ot-shape.cc | 9 ++++++--- + src/hb-ot-shape.hh | 1 + + test/shaping/data/in-house/Makefile.sources | 1 + + .../fonts/b121d4306b2e3add5abbaad21d95fcf04aacbd64.ttf | Bin 0 -> 1308 bytes + test/shaping/data/in-house/meson.build | 1 + + test/shaping/data/in-house/tests/tt-kern-gpos.tests | 1 + + 6 files changed, 10 insertions(+), 3 deletions(-) + +commit 1060b04938d6d744b4441414f3061613047cff92 +Merge: deee24fbe 9aa0ecef3 +Author: Behdad Esfahbod +Date: Wed Jul 14 17:50:46 2021 -0700 + + Merge pull request #3060 from googlefonts/unicode_collect + + [subset] de-duplicate the logic that finds unicodes corresponding to … + +commit 9aa0ecef3fd2070e37a645c3455471407b363fbe +Author: Garret Rieger +Date: Wed Jul 14 17:27:14 2021 -0700 + + [subset] de-duplicate the logic that finds unicodes corresponding to requested glyphs. + + Move the logic into subset planning and then re-use the results in cmap and OS2 subsetting. Removes depedency on cmap from os2. + + src/hb-ot-cmap-table.hh | 41 ++++++---------------------------- + src/hb-ot-os2-table.hh | 23 ++------------------ + src/hb-subset-plan.cc | 58 ++++++++++++++++++++++++++++++++++--------------- + 3 files changed, 50 insertions(+), 72 deletions(-) + +commit deee24fbef7a67989ed7f60d1f76538f926d22a7 +Author: Garret Rieger +Date: Wed Jul 14 13:46:36 2021 -0700 + + [subset] Add missing FontName op code in top dict parsing. + + Fix for #3058 + + src/hb-ot-cff1-table.hh | 1 + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...05,1039,1005,100A,103A,1038,1010,103D,1031,104A.otf | Bin 0 -> 7724 bytes + .../NotoSerifMyanmar-Regular.notdef-outline.1092.otf | Bin 0 -> 1380 bytes + test/subset/data/fonts/NotoSerifMyanmar-Regular.otf | Bin 0 -> 137544 bytes + test/subset/data/tests/cff.notoserifmyanmar.tests | 9 +++++++++ + test/subset/meson.build | 1 + + 8 files changed, 13 insertions(+) + +commit 9985ca64919b42b28010a741dc79b3cd0db4714d +Merge: f51384d37 2c7ef0db0 +Author: Behdad Esfahbod +Date: Tue Jul 13 13:42:09 2021 -0700 + + Merge pull request #3057 from harfbuzz/ci-coverage-macos + + [ci] Add macOS GitHub workflow + +commit 2c7ef0db0b1b0815fa32d5d21b2c53d3b753aab6 +Author: Khaled Hosny +Date: Tue Jul 13 13:23:53 2021 +0200 + + [ci] Generate only XML coverage data + + That is the one we are uploading, and HTML coverage seems broken on + macOS. + + .github/workflows/linux-ci.yml | 2 +- + .github/workflows/macos-ci.yml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit f51384d375210aea7d6e3bba82d776c812024950 +Merge: 1cb0ca1f2 95b04f740 +Author: Behdad Esfahbod +Date: Mon Jul 12 16:51:43 2021 -0700 + + Merge pull request #3027 from harfbuzz/buffer-sync + + Improving buffer synchronization + +commit 95b04f7409e5af6dec97feb4ed18ba0bfae2cd88 +Author: Behdad Esfahbod +Date: Mon Jul 12 17:35:45 2021 -0600 + + [buffer] Remove unnecessary have_separate_output() + + src/hb-buffer.hh | 5 +---- + src/hb-ot-layout.cc | 2 -- + 2 files changed, 1 insertion(+), 6 deletions(-) + +commit 3e266e5f64b6d078d64fe0f3783f774d7e29472d +Author: Behdad Esfahbod +Date: Mon Jul 12 17:30:26 2021 -0600 + + [buffer] Update comments + + src/hb-buffer.cc | 9 +++++---- + src/hb-buffer.hh | 2 +- + 2 files changed, 6 insertions(+), 5 deletions(-) + +commit 3807061d634b60bd6235d6e1d8c47a034377f924 +Author: Behdad Esfahbod +Date: Mon Jul 12 17:02:03 2021 -0600 + + [ot-layout] Don't remove_output() before reverse substitution + + No need anymore, because of new swap_buffers() semantics. + + Just assert instead. + + src/hb-buffer.cc | 10 ---------- + src/hb-buffer.hh | 1 - + src/hb-ot-layout.cc | 4 +--- + 3 files changed, 1 insertion(+), 14 deletions(-) + +commit 10a9960f0af9d6fb93ff3d234b2a989f9bc00b21 +Author: Behdad Esfahbod +Date: Mon Jul 12 17:09:03 2021 -0600 + + [buffer] Restructure swap_buffers() + + Is more of a "commit" operation now. Will rename when ready. + + src/hb-buffer.cc | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +commit f6c9fcfd3e07dffe246fb727fce95429d028395a +Author: Khaled Hosny +Date: Tue Jul 13 01:12:43 2021 +0200 + + [ci] Add macOS GitHub workflow + + To collect codecov coverage on macOS as well (hopefully it will run the + macOS-specific tests). + + .github/workflows/macos-ci.yml | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +commit d56afb750a1cde046158f13bb7bc6abbd8f1cb1b +Author: Khaled Hosny +Date: Tue Jul 13 00:56:54 2021 +0200 + + [tests] Ignore more symbols + + These seem to be exported when building with code coverage on macOS. + + src/check-symbols.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit a7f4c985a8080797482c971a7b6275636fe5be62 +Author: Behdad Esfahbod +Date: Mon Jul 12 17:00:46 2021 -0600 + + [ot-layout] Always swap_buffers() even if no substitutions happened + + src/hb-ot-layout.cc | 14 +++++--------- + 1 file changed, 5 insertions(+), 9 deletions(-) + +commit 62b441e6ff798f1d551d290a2a4970482254dbe2 +Author: Behdad Esfahbod +Date: Mon Jul 12 16:59:34 2021 -0600 + + [layout] Use Proxy::inplace instead of table index check + + Equivalent. + + src/hb-ot-layout.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 431f164003d1d92b657b3facf984c8bbe342418b +Author: Behdad Esfahbod +Date: Mon Jul 12 16:57:25 2021 -0600 + + [layout] Don't call clear_output() before pause-func + + src/hb-ot-layout.cc | 3 --- + 1 file changed, 3 deletions(-) + +commit a623446a34a4a388f86afc97ed9c5a74792d5420 +Author: Behdad Esfahbod +Date: Mon Jul 12 16:55:54 2021 -0600 + + [shape] Remove stray clear_output() call in hb_shape() + + src/hb-ot-shape.cc | 2 -- + 1 file changed, 2 deletions(-) + +commit 05c17787c4fc5283925920b546952ccca0ba4a00 +Author: Behdad Esfahbod +Date: Mon Jul 12 16:55:08 2021 -0600 + + [buffer] Rewind cursor in clear_output() + + src/hb-buffer.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 1cb0ca1f2cc24092e2977ac7b12274c399d6814a +Author: Behdad Esfahbod +Date: Mon Jul 12 16:52:31 2021 -0600 + + Whitespace + + src/hb-ot-layout.cc | 3 ++- + src/hb-ot-shape.cc | 4 +++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +commit 5f5a8b4dd7ddba13cd2459c626c3eb2f3c19d9d5 +Author: Khaled Hosny +Date: Mon Jul 12 22:24:14 2021 +0200 + + [ci] Use the latest stable XCode image + + .circleci/config.yml | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 13187d29efdf9d6ce19d649a6ce8349e2a9d954e +Author: Khaled Hosny +Date: Mon Jul 12 22:21:47 2021 +0200 + + [ci] Drop macOS job using deprecated XCode image + + .circleci/config.yml | 14 -------------- + 1 file changed, 14 deletions(-) + +commit 69310f14a6b79399041a1d9d70c246722b58829f +Author: Behdad Esfahbod +Date: Fri Jul 9 17:24:29 2021 -0600 + + [buffer] Change nil buffer have_output to false + + Seems like a historical artefact that it was true. + + src/hb-buffer.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 40884af17e9fd0149051b5a7ea452226ba806283 +Author: Behdad Esfahbod +Date: Fri Jul 9 17:17:05 2021 -0600 + + [ot-layout] Narrow down random feature logic vs safe-to-break + + src/hb-ot-layout-gsub-table.hh | 5 +++++ + src/hb-ot-layout.cc | 2 -- + 2 files changed, 5 insertions(+), 2 deletions(-) + +commit 33b579d0ad06c34aec9780df90ae99eda697b7a1 +Author: Behdad Esfahbod +Date: Fri Jul 9 17:12:09 2021 -0600 + + [ot-layout] Clear random flag for subsequent flags + + Ouch! + + src/hb-ot-layout.cc | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit 29c9833e579cddf9f97c4eca956ccca98c1683c4 +Author: Behdad Esfahbod +Date: Fri Jul 9 11:58:36 2021 -0600 + + Remove Offset::serialize() + + Finishing https://github.com/harfbuzz/harfbuzz/pull/2355 + + src/hb-open-file.hh | 20 +++++++++++++------- + src/hb-open-type.hh | 9 --------- + 2 files changed, 13 insertions(+), 16 deletions(-) + +commit 63e15eac4f443fa53565d1e4fb9611cdd7814f28 +Author: Khaled Hosny +Date: Thu Jul 8 22:46:33 2021 +0200 + + 2.8.2 + + NEWS | 16 ++++++++++++++++ + configure.ac | 2 +- + docs/harfbuzz-docs.xml | 1 + + meson.build | 2 +- + src/hb-blob.cc | 4 ++-- + src/hb-set.cc | 2 +- + src/hb-version.h | 4 ++-- + 7 files changed, 24 insertions(+), 7 deletions(-) + +commit eee36bbea3c96ab3c84a2b928cb254d9e1860069 +Author: Caleb Maclennan +Date: Thu Jul 8 21:19:57 2021 +0300 + + [releasing] Format notes as Markdown checklist for pasting in GH PR/Issue + + RELEASING.md | 49 ++++++++++++++++++++++++------------------------- + 1 file changed, 24 insertions(+), 25 deletions(-) + +commit eda5dcdb3eb1b85d914602c27a480ba3a16e43fb +Author: Caleb Maclennan +Date: Thu Jul 8 21:10:35 2021 +0300 + + [releasing] Drop obsolete release process items + + RELEASING.md | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +commit 2337f0d047f2561c13b29b70ad783bbf0d286654 +Author: Behdad Esfahbod +Date: Thu Jul 8 10:58:50 2021 -0600 + + Internally use hb_malloc/.../hb_free instead of malloc/.../free + + Redefining those stock names as macros was conflicting with gcc 10 + headers. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3044 + + src/hb-array.hh | 4 +-- + src/hb-blob.cc | 32 ++++++++--------- + src/hb-buffer.cc | 10 +++--- + src/hb-common.cc | 12 +++---- + src/hb-directwrite.cc | 4 +-- + src/hb-draw.cc | 2 +- + src/hb-face.cc | 18 +++++----- + src/hb-font.cc | 58 +++++++++++++++--------------- + src/hb-ft.cc | 24 ++++++------- + src/hb-gdi.cc | 6 ++-- + src/hb-gobject-structs.cc | 4 +-- + src/hb-graphite2.cc | 10 +++--- + src/hb-machinery.hh | 6 ++-- + src/hb-map.cc | 2 +- + src/hb-map.hh | 6 ++-- + src/hb-object.hh | 8 ++--- + src/hb-ot-color-cbdt-table.hh | 2 +- + src/hb-ot-glyf-table.hh | 4 +-- + src/hb-ot-layout-gsubgpos.hh | 4 +-- + src/hb-ot-name-table.hh | 4 +-- + src/hb-ot-post-table.hh | 6 ++-- + src/hb-ot-shape-complex-arabic-fallback.hh | 8 ++--- + src/hb-ot-shape-complex-arabic.cc | 4 +-- + src/hb-ot-shape-complex-hangul.cc | 4 +-- + src/hb-ot-shape-complex-indic.cc | 4 +-- + src/hb-ot-shape-complex-khmer.cc | 4 +-- + src/hb-ot-shape-complex-use.cc | 6 ++-- + src/hb-ot-tag.cc | 4 +-- + src/hb-pool.hh | 4 +-- + src/hb-repacker.hh | 4 +-- + src/hb-serialize.hh | 6 ++-- + src/hb-set.cc | 2 +- + src/hb-shape-plan.cc | 12 +++---- + src/hb-shape-plan.hh | 2 +- + src/hb-shape.cc | 4 +-- + src/hb-shaper.cc | 4 +-- + src/hb-subset-input.cc | 2 +- + src/hb-subset-plan.cc | 10 +++--- + src/hb-unicode.cc | 2 +- + src/hb-uniscribe.cc | 24 ++++++------- + src/hb-vector.hh | 4 +-- + src/hb.hh | 13 ++++--- + 42 files changed, 179 insertions(+), 174 deletions(-) + +commit bb48bf52a4645abda6fe98cc5ee33beab69931a5 +Author: Behdad Esfahbod +Date: Thu Jul 8 10:53:45 2021 -0600 + + Rename misc uses of "free" + + In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044 + + src/hb-array.hh | 4 ++-- + src/hb-cache.hh | 2 +- + src/hb-common.cc | 10 ++++------ + src/hb-iter.hh | 2 +- + src/hb-ot-face-table-list.hh | 2 +- + src/hb-ot-glyf-table.hh | 2 +- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout.cc | 3 ++- + src/hb-pool.hh | 4 ++-- + src/hb-serialize.hh | 2 +- + src/hb-set.hh | 2 +- + src/hb-shape-plan.cc | 4 ++-- + src/hb-shape-plan.hh | 2 +- + src/test-repacker.cc | 8 ++++---- + 14 files changed, 24 insertions(+), 25 deletions(-) + +commit 7416faceeb7a875ba7316cee124edee2d59ea8d0 +Author: Qunxin Liu +Date: Wed Jul 7 11:27:49 2021 -0700 + + [subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/5715464591376384 + + src/hb-ot-color-cpal-table.hh | 49 +++++++-------------- + ...ase-minimized-hb-subset-fuzzer-5715464591376384 | Bin 0 -> 2116 bytes + 2 files changed, 15 insertions(+), 34 deletions(-) + +commit 895acdf7c7ac128cc1540fa251f772323f0042e8 +Author: Khaled Hosny +Date: Wed Jun 23 14:53:28 2021 +0200 + + [ci] Don’t build Cairo subproject with FontConfig on win32 cross-build + + We don’t need it and it breaks the build because FontConfig renamed its + master branch and the released version of Cairo wants to build + FontConfig from master branch. + + .ci/build-win32.sh | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +commit 0da9158f620077ec46dcdfa4c1556253b23337eb +Author: Garret Rieger +Date: Tue Jun 29 14:23:37 2021 -0700 + + [subset] Remove OffsetTo::serialize(). + + Convert remaining uses of it to serialize_serialize() which correctly uses the object packer. + + src/hb-open-type.hh | 4 ---- + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-var-hvar-table.hh | 14 ++++++++------ + test/api/fonts/AdobeVFPrototype.abc.otf | Bin 6900 -> 5164 bytes + test/api/fonts/AdobeVFPrototype.ac.nohints.otf | Bin 4212 -> 4384 bytes + .../api/fonts/AdobeVFPrototype.ac.nosubrs.nohints.otf | Bin 4092 -> 4268 bytes + test/api/fonts/AdobeVFPrototype.ac.nosubrs.otf | Bin 6284 -> 4464 bytes + test/api/fonts/AdobeVFPrototype.ac.otf | Bin 6408 -> 4584 bytes + test/api/fonts/AdobeVFPrototype.ac.retaingids.otf | Bin 6412 -> 4584 bytes + .../fonts/SourceSansVariable-Roman-modHVAR.abc.ttf | Bin 3260 -> 3124 bytes + .../api/fonts/SourceSansVariable-Roman-modHVAR.ac.ttf | Bin 3032 -> 2892 bytes + test/api/fonts/SourceSansVariable-Roman.abc.ttf | Bin 3240 -> 3196 bytes + .../fonts/SourceSansVariable-Roman.ac.retaingids.ttf | Bin 2616 -> 2976 bytes + test/api/fonts/SourceSansVariable-Roman.ac.ttf | Bin 3028 -> 2964 bytes + test/api/fonts/SourceSerifVariable-Roman-VVAR.abc.ttf | Bin 5632 -> 3588 bytes + .../SourceSerifVariable-Roman-VVAR.ac.retaingids.ttf | Bin 5288 -> 3244 bytes + test/api/fonts/SourceSerifVariable-Roman-VVAR.ac.ttf | Bin 3224 -> 3224 bytes + 17 files changed, 12 insertions(+), 14 deletions(-) + +commit 0969614865a8664aaa13759e2d60caab0bd7df3a +Author: Behdad Esfahbod +Date: Sat Jun 26 08:52:53 2021 -0600 + + [ot-shape] Rewrite loop without foreach_grapheme() + + We were not using the graphemes, and that's costlier than just for(). + + src/hb-ot-shape.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit eee7b459ee18cd722e9ba0d030c983e66b6e7777 +Author: Qunxin Liu +Date: Thu Jun 24 10:17:46 2021 -0700 + + [subset] add option --no-prune-unicode-ranges + + src/hb-ot-os2-table.hh | 1 + + src/hb-subset-input.cc | 14 ++++++++++++++ + src/hb-subset-input.hh | 1 + + src/hb-subset-plan.cc | 1 + + src/hb-subset-plan.hh | 1 + + src/hb-subset.h | 7 +++++++ + ...aa-Regular-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 7060 bytes + ...ortaa-Regular-new.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 6692 bytes + ...omfortaa-Regular-new.no-prune-unicode-ranges.61.ttf | Bin 0 -> 6328 bytes + ...omfortaa-Regular-new.no-prune-unicode-ranges.62.ttf | Bin 0 -> 6200 bytes + ...omfortaa-Regular-new.no-prune-unicode-ranges.63.ttf | Bin 0 -> 6256 bytes + ...ew.no-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 220928 bytes + ...Regular-subset.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 4128 bytes + ...jo-Regular-subset.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 3580 bytes + ...ongjo-Regular-subset.no-prune-unicode-ranges.61.ttf | Bin 0 -> 3156 bytes + ...ongjo-Regular-subset.no-prune-unicode-ranges.62.ttf | Bin 0 -> 3180 bytes + ...ongjo-Regular-subset.no-prune-unicode-ranges.63.ttf | Bin 0 -> 3048 bytes + ...et.no-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...to-Regular.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 0 -> 2452 bytes + ...oboto-Regular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 0 -> 1972 bytes + ...bc.no-prune-unicode-ranges.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + test/subset/data/profiles/no-prune-unicode-ranges.txt | 1 + + test/subset/data/tests/basics.tests | 1 + + util/options-subset.cc | 1 + + 27 files changed, 28 insertions(+) + +commit c3be28ea26cd23011440db7e6afaf4412e5d705d +Author: Khaled Hosny +Date: Wed Jun 23 17:39:23 2021 +0200 + + [ot-shape] Numeric runs native direction is LTR + + See inline comments. Slightly modified version of the code from Jonathan + Kew on the linked issue. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/501 + + src/hb-ot-shape.cc | 29 +++++++++++++++++++++ + src/hb-unicode.hh | 7 +++++ + test/shaping/data/in-house/Makefile.sources | 1 + + .../3b791518a9ba89675df02f1eefbc9026a50648a6.ttf | Bin 0 -> 3144 bytes + .../a6b17da98b9f1565ba428719777bbf94a66403c1.ttf | Bin 0 -> 3676 bytes + .../b082211be29a3e2cf91f0fd43497e40b2a27b344.ttf | Bin 0 -> 4800 bytes + .../e5ff44940364c2247abed50bdda30d2ef5aedfe4.ttf | Bin 0 -> 2548 bytes + test/shaping/data/in-house/meson.build | 1 + + test/shaping/data/in-house/tests/digits.tests | 5 ++++ + 9 files changed, 43 insertions(+) + +commit 71a62966202012300a2cf2c8fbaae32354d136ba +Author: Khaled Hosny +Date: Wed Jun 23 18:16:56 2021 +0200 + + [tests] Make record-test.sh work with .otf files + + It hard-codes the file extension, but fonttools sunset will use .otf for + CFF fonts, so hard-code the output file from subset as well. + + test/shaping/record-test.sh | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit cc9bb294919e846ef8a0731b5e9f304f95ef3bb8 +Author: Behdad Esfahbod +Date: Sun Jun 20 18:47:03 2021 -0600 + + [blob] Fix-up recent mistake in hb_blob_create() destroy(user_data) + + https://github.com/harfbuzz/harfbuzz/pull/3026#discussion_r653437491 + + src/hb-blob.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit bc06af977fc89b8b25bfd7180d010b915811c0d8 +Author: Garret Rieger +Date: Wed Jun 16 15:49:14 2021 -0700 + + [subset] speed up feature collection when tags are specified. + + Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s. + + src/hb-ot-layout.cc | 98 +++++++++++++-------- + ...ase-minimized-hb-subset-fuzzer-5241922561114112 | Bin 0 -> 638237 bytes + 2 files changed, 63 insertions(+), 35 deletions(-) + +commit 14f220b76159a2f2d926029e32b3fe975d1dc525 +Author: Khaled Hosny +Date: Sun Jun 20 18:59:13 2021 +0200 + + [directwrite] Support feature ranges + + Code copied from hb-uniscribe.cc and adapted to use DirectWrite types. + May be there is a better way to de-duplicate the code, though I'm not + exactly sure how or if it is worth it. + + src/hb-directwrite.cc | 198 +++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 180 insertions(+), 18 deletions(-) + +commit d2397d91f30c7eda0a446cefd623d78e16cf7268 +Author: Garret Rieger +Date: Fri Jun 18 18:12:19 2021 -0700 + + [subset] Add additional colrv1 subsetting tests that has a glyph with components. + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../NotoColrEmojiGlyf-Regular.subset.default.1f35e.ttf | Bin 0 -> 3004 bytes + .../NotoColrEmojiGlyf-Regular.subset.default.1f696.ttf | Bin 0 -> 3752 bytes + ...Glyf-Regular.subset.drop-hints-retain-gids.1f35e.ttf | Bin 0 -> 3516 bytes + ...Glyf-Regular.subset.drop-hints-retain-gids.1f696.ttf | Bin 0 -> 5048 bytes + ...otoColrEmojiGlyf-Regular.subset.drop-hints.1f35e.ttf | Bin 0 -> 3004 bytes + ...otoColrEmojiGlyf-Regular.subset.drop-hints.1f696.ttf | Bin 0 -> 3752 bytes + ...toColrEmojiGlyf-Regular.subset.retain-gids.1f35e.ttf | Bin 0 -> 3516 bytes + ...toColrEmojiGlyf-Regular.subset.retain-gids.1f696.ttf | Bin 0 -> 5048 bytes + .../data/fonts/NotoColrEmojiGlyf-Regular.subset.ttf | Bin 0 -> 71896 bytes + test/subset/data/tests/colrv1.notoemoji.tests | 12 ++++++++++++ + test/subset/meson.build | 1 + + 13 files changed, 15 insertions(+) + +commit 26c80adb61938288b3954b907fe6ddbb430fa468 +Author: Garret Rieger +Date: Fri Jun 18 14:14:20 2021 -0700 + + [subset] do colrv1 glyph closure before glyf composite closure. + + src/hb-subset-plan.cc | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +commit d07f789ae3997ee95923525af56627d4be4a90e4 +Author: Qunxin Liu +Date: Wed Jun 9 15:36:40 2021 -0700 + + [subset] support option "--notdef-outline" + + src/hb-ot-glyf-table.hh | 5 ++++- + src/hb-ot-var-gvar-table.hh | 4 ++-- + src/hb-subset-input.cc | 15 +++++++++++++++ + src/hb-subset-input.hh | 14 ++++++++------ + src/hb-subset-plan.cc | 1 + + src/hb-subset-plan.hh | 1 + + src/hb-subset.h | 7 +++++++ + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7652 -> 7060 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 7284 -> 6692 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6920 -> 6328 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6796 -> 6200 bytes + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6844 -> 6256 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 221524 -> 220928 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 5104 -> 4608 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4808 -> 4312 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 4220 -> 3724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 4396 -> 3900 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 4468 -> 3972 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 190296 -> 189800 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 3100 -> 2600 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2792 -> 2296 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 2472 -> 1976 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 2396 -> 1900 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 2460 -> 1968 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 190252 -> 189756 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 8580 -> 7988 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 8220 -> 7628 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7848 -> 7256 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7772 -> 7184 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7776 -> 7180 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 221524 -> 220928 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 8100 -> 7504 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 7736 -> 7140 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 7360 -> 6772 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 6796 -> 6200 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 6844 -> 6256 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 222212 -> 221620 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 7652 -> 7060 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 7284 -> 6692 bytes + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 6920 -> 6328 bytes + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 6796 -> 6200 bytes + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 6844 -> 6256 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 219716 -> 219124 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 7392 -> 6800 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 7024 -> 6432 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6660 -> 6068 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 6536 -> 5940 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 6584 -> 5996 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 221264 -> 220668 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7652 -> 7060 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 7284 -> 6692 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6920 -> 6328 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6796 -> 6200 bytes + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6844 -> 6256 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 221524 -> 220928 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7652 -> 7060 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 7284 -> 6692 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6920 -> 6328 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6796 -> 6200 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6844 -> 6256 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 221524 -> 220928 bytes + ...mfortaa-Regular-new.notdef-outline.61,62,63.ttf | Bin 0 -> 7652 bytes + .../Comfortaa-Regular-new.notdef-outline.61,63.ttf | Bin 0 -> 7284 bytes + .../Comfortaa-Regular-new.notdef-outline.61.ttf | Bin 0 -> 6920 bytes + .../Comfortaa-Regular-new.notdef-outline.62.ttf | Bin 0 -> 6796 bytes + .../Comfortaa-Regular-new.notdef-outline.63.ttf | Bin 0 -> 6844 bytes + ...lar-new.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 221524 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9656 -> 9068 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 9300 -> 8708 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8668 -> 8076 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8796 -> 8200 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8852 -> 8260 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 221568 -> 220972 bytes + ...ngjo-Regular-subset.notdef-outline.61,62,63.ttf | Bin 0 -> 4128 bytes + ...yeongjo-Regular-subset.notdef-outline.61,63.ttf | Bin 0 -> 3580 bytes + ...umMyeongjo-Regular-subset.notdef-outline.61.ttf | Bin 0 -> 3156 bytes + ...umMyeongjo-Regular-subset.notdef-outline.62.ttf | Bin 0 -> 3180 bytes + ...umMyeongjo-Regular-subset.notdef-outline.63.ttf | Bin 0 -> 3048 bytes + ...-subset.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + .../Roboto-Regular.abc.notdef-outline.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.notdef-outline.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 0 -> 1972 bytes + ...lar.abc.notdef-outline.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 1336 -> 1252 bytes + .../cmap/AdobeBlank-Regular.default.61,FEFA.ttf | Bin 1348 -> 1264 bytes + .../cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 1300 -> 1216 bytes + .../cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 1288 -> 1204 bytes + .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 1268 -> 1184 bytes + ...eBlank-Regular.drop-hints-retain-gids.61,62.ttf | Bin 1552 -> 1468 bytes + ...lank-Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 8316 -> 8232 bytes + ...nk-Regular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 8188 -> 8104 bytes + ...nk-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 8256 -> 8172 bytes + ...beBlank-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 8240 -> 8156 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 1164 -> 1080 bytes + .../cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 1176 -> 1092 bytes + .../AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 1128 -> 1044 bytes + .../AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 1116 -> 1032 bytes + .../cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 1096 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,62.ttf | Bin 1084 -> 1000 bytes + .../cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 1096 -> 1012 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 1048 -> 964 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 1036 -> 952 bytes + .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 1016 -> 932 bytes + .../cmap/AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 1724 -> 1640 bytes + .../AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 8488 -> 8404 bytes + .../AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 8360 -> 8276 bytes + .../AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 8428 -> 8344 bytes + .../cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 8412 -> 8328 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3276 -> 3080 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2864 -> 2672 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3216 -> 3024 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1712 -> 1632 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1496 -> 1412 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1728 -> 1648 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 4144 -> 3992 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3984 -> 3832 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4548 -> 4396 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 4120 -> 3968 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3984 -> 3832 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4548 -> 4396 bytes + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4220 -> 4176 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4796 -> 4752 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4768 -> 4724 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 49288 -> 49244 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 1080 -> 1036 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1388 -> 1344 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1388 -> 1344 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 29504 -> 29464 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4220 -> 4176 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4796 -> 4752 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4768 -> 4724 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 49288 -> 49244 bytes + .../Roboto-Regular.default.1E00,303.ttf | Bin 2720 -> 2524 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2312 -> 2116 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2408 -> 2212 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 2204 -> 2008 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2764 -> 2572 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1464 -> 1380 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1196 -> 1112 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1256 -> 1172 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 1136 -> 1056 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1472 -> 1388 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2720 -> 2524 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2312 -> 2116 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2408 -> 2212 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 2204 -> 2008 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2764 -> 2572 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 12724 -> 12684 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 10028 -> 9992 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4208 -> 4168 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 9552 -> 9516 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7360 -> 7324 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48052 -> 48012 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42676 -> 42640 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36736 -> 36696 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 45944 -> 45908 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 38024 -> 37988 bytes + ...Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 11436 -> 11396 bytes + ...toNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 18288 -> 18248 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 3568 -> 3528 bytes + ...rdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 12408 -> 12368 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 20408 -> 20368 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18272 -> 18232 bytes + ...staliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 24416 -> 24376 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 9216 -> 9176 bytes + ...Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 18212 -> 18172 bytes + ...toNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 26628 -> 26588 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 15912 -> 15792 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 4348 -> 4228 bytes + test/subset/data/profiles/notdef-outline.txt | 1 + + test/subset/data/tests/basics.tests | 1 + + test/subset/generate-expected-outputs.py | 3 +-- + util/options-subset.cc | 1 + + 175 files changed, 42 insertions(+), 11 deletions(-) + +commit 10ad1859320c0475bdbf706d4b547e1d292c7111 +Author: Garret Rieger +Date: Wed Jun 16 16:34:46 2021 -0700 + + [subset] add comment to copy_bytes(). + + src/hb-serialize.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 675ebbeb3a0c5b007f87505d6805096a570dd10c +Author: Garret Rieger +Date: Wed Jun 16 10:40:46 2021 -0700 + + [subset] don't alloc zero bytes. + + It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero. + + src/hb-serialize.hh | 2 ++ + ...zz-testcase-minimized-hb-subset-fuzzer-5269686781607936 | Bin 0 -> 48 bytes + 2 files changed, 2 insertions(+) + +commit 93e6a9bc4e1ac16abeccc9c0bead08a1eded1540 +Author: Behdad Esfahbod +Date: Tue Jun 15 15:38:49 2021 -0600 + + Revert "Remove unneeded buffer clear_output / remove_output calls" + + This reverts commit 06175b71433bc42edc07d342e6354035e37fb5fd. + + One of the sanitizers is failing. Pushing again as PR to debug. + I have suspicions. + + src/hb-buffer.cc | 10 ++++++++++ + src/hb-buffer.hh | 1 + + src/hb-ot-layout.cc | 12 ++++++++---- + src/hb-ot-shape.cc | 3 ++- + 4 files changed, 21 insertions(+), 5 deletions(-) + +commit 06175b71433bc42edc07d342e6354035e37fb5fd +Author: Behdad Esfahbod +Date: Tue Jun 15 14:33:27 2021 -0600 + + Remove unneeded buffer clear_output / remove_output calls + + Made sure clear_output is always paired with swap_buffers. + Trying to see if we can move towards RAII-like buffer iterators + instead of the buffer keeping an iterator internally. + + src/hb-buffer.cc | 10 ---------- + src/hb-buffer.hh | 1 - + src/hb-ot-layout.cc | 12 ++++-------- + src/hb-ot-shape.cc | 3 +-- + 4 files changed, 5 insertions(+), 21 deletions(-) + +commit bdfed8f113431a2156e13d59a4b21e19feb7efd9 +Author: Behdad Esfahbod +Date: Mon Jun 14 15:46:04 2021 -0600 + + [blob] Add failing versions of create API + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2567 + + New API: + +hb_blob_create_or_fail() + +hb_blob_create_from_file_or_fail() + + Use these in util/ to distinguish empty file from not-found file. + Only err on the latter. + + docs/harfbuzz-sections.txt | 2 + + docs/usermanual-getting-started.xml | 2 +- + perf/perf-draw.hh | 4 +- + perf/perf-extents.hh | 4 +- + perf/perf-shaping.hh | 8 ++-- + src/hb-blob.cc | 89 ++++++++++++++++++++++++++++++------- + src/hb-blob.h | 10 +++++ + src/main.cc | 12 ++--- + src/test-buffer-serialize.cc | 5 ++- + src/test-gpos-size-params.cc | 5 ++- + src/test-gsub-would-substitute.cc | 5 ++- + src/test-ot-glyphname.cc | 5 ++- + src/test-ot-meta.cc | 5 ++- + src/test-ot-name.cc | 5 ++- + src/test.cc | 5 ++- + test/api/hb-test.h | 4 +- + test/fuzzing/main.cc | 10 +++-- + util/options.cc | 6 +-- + 18 files changed, 132 insertions(+), 54 deletions(-) + +commit 2fc8d0e6f0b7cfe3897f69ca0411265257dd4a18 +Merge: d3dd93630 085aa65e0 +Author: Behdad Esfahbod +Date: Tue Jun 15 12:56:17 2021 -0700 + + Merge pull request #3020 from googlefonts/serialize_serialize + + [subset] Always serialize objects point to by OffsetTo to a new serializer object. + +commit 085aa65e09e847cf28d6430e85238ea77cce20e2 +Author: Garret Rieger +Date: Mon Jun 14 16:47:45 2021 -0700 + + [subset] Convert offset serialization in gsubgpos and gdef to serialize_serialize(). + + src/hb-ot-layout-gdef-table.hh | 6 ++---- + src/hb-ot-layout-gsubgpos.hh | 6 ++---- + 2 files changed, 4 insertions(+), 8 deletions(-) + +commit cc96c4e87ee3d5de6364ab207676daf6d243f95b +Author: Garret Rieger +Date: Mon Jun 14 16:43:23 2021 -0700 + + [shaping] Update shaping substituion lookup serialization to use serializer pop()/pack(). + + src/hb-ot-layout-gsub-table.hh | 66 +++++++++++++++++++++++++++--------------- + 1 file changed, 43 insertions(+), 23 deletions(-) + +commit d3dd9363095fadaeb59dabe59b5101bb0ecddb41 +Author: Behdad Esfahbod +Date: Mon Jun 14 12:31:02 2021 -0600 + + [coretext] Round position info + + Test: + + Before: + $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext + [gid781=0@-78,0+841] + $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot + [gid781=0@-78,0+842] + + After: + $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=coretext + [gid781=0@-78,0+842] + $ ./hb-shape /System/Library/Fonts/ヒラギノ丸ゴ\ ProN\ W4.ttc 1 --features="+palt" --shaper=ot + [gid781=0@-78,0+842] + + I've verified in the font that 842 is correct. + + src/hb-coretext.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 8443cc85cb118e858043179ac27673ce170dad3b +Author: Garret Rieger +Date: Fri Jun 11 13:40:39 2021 -0700 + + [subset] Correct OffsetTo serialization in GPOS to use serialize_serialize (). + + src/hb-ot-layout-gpos-table.hh | 30 +++++++++++------------------- + 1 file changed, 11 insertions(+), 19 deletions(-) + +commit 5ba46ed067a04b6e1de1611153885c2478de3ceb +Author: Garret Rieger +Date: Fri Jun 11 13:34:00 2021 -0700 + + [subset] Correct OffsetTo serialization in GSUB to use serialize_serialize (). + + src/hb-ot-layout-gsub-table.hh | 44 +++++++++++++++++++----------------------- + 1 file changed, 20 insertions(+), 24 deletions(-) + +commit 35458b6b66f801194a1dad957308be9a71280425 +Author: Garret Rieger +Date: Fri Jun 11 13:14:51 2021 -0700 + + [subset] Add serialize_serialize to OffsetTo. + + Similar to serialize_subset() this will serialize the new object and then link it to the offset. + + src/hb-open-type.hh | 17 +++++++++++++++++ + src/hb-ot-layout-gsub-table.hh | 2 +- + 2 files changed, 18 insertions(+), 1 deletion(-) + +commit 2b0ced28b685de4edbd22cf5f59be30075984dfb +Author: Behdad Esfahbod +Date: Wed Jun 9 19:06:31 2021 -0600 + + Cluster Regional_Indicator pairs (aka emoji flags) + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2265 + + src/hb-ot-shape.cc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 4e72d5e35d68b1772985ddafc522dcd4b0aceec2 +Author: Behdad Esfahbod +Date: Sun Jun 13 05:46:17 2021 -0600 + + [src/check-static-init] Ignore objdump "file format not recognized" error + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3019 + + src/check-static-inits.py | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +commit 5bc05ba155a0fd568b56423009e55d16ed42b91c +Author: Behdad Esfahbod +Date: Sun Jun 13 05:28:20 2021 -0600 + + Prefer GPOS over kerx, if GSUB was applied + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3008 + + src/hb-ot-shape.cc | 6 ++++-- + test/shaping/data/in-house/tests/macos.tests | 3 +++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +commit 13c6ad980fcff52567955d268f33d698ff78379e +Author: Behdad Esfahbod +Date: Sat Jun 12 11:00:19 2021 -0600 + + [src/check-*] Pickup $(NM), $(OBJDUMP), $(LDD), $(OTOOL) + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3019 + + src/Makefile.am | 4 ++++ + src/check-libstdc++.py | 14 ++++++-------- + src/check-static-inits.py | 4 ++-- + src/check-symbols.py | 6 +++--- + src/gen-ragel-artifacts.py | 4 ++-- + 5 files changed, 17 insertions(+), 15 deletions(-) + +commit c61ce962cfdef3fc756850132eb9f76cb7a57ba5 +Author: Behdad Esfahbod +Date: Thu Jun 10 17:33:29 2021 -0600 + + [buffer] In hb_buffer_get_positions(), return NULL if inside message callback + + As discussed in https://github.com/harfbuzz/harfbuzz/issues/2468#issuecomment-645666066 + + Part of fixing https://github.com/harfbuzz/harfbuzz/issues/2468 + + src/hb-buffer.cc | 16 +++++++++++++--- + src/hb-buffer.hh | 9 +++++++++ + util/options.cc | 2 +- + 3 files changed, 23 insertions(+), 4 deletions(-) + +commit 855a3f478eea5b770e64611d09fd347336c56b67 +Author: Behdad Esfahbod +Date: Wed Jun 9 15:10:52 2021 -0600 + + [emoji] Fix emoji table generation + + Previously, the last of each range having Extended_Pictograph property + was not processed as so. Ouch! + + Test: + + $ echo x > null; hb-shape null -u U+1f43b,U+200d,U+2744,U+fe0f + + Before: + [gid0=0+1000|gid0=2+1000] + + After: + [gid0=0+1000|gid0=0+1000] + + Caught by https://github.com/harfbuzz/harfbuzz/issues/3017 + + src/gen-emoji-table.py | 2 +- + src/hb-unicode-emoji-table.hh | 64 +++++++++++++++++++++++-------------------- + 2 files changed, 36 insertions(+), 30 deletions(-) + +commit bd5502f09f09b3f464754395880f9db30a5fcf60 +Author: Behdad Esfahbod +Date: Wed Jun 9 14:03:25 2021 -0600 + + [set] Oops. Fix compile + + src/hb-set.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3962225a7247582f1ae12193a4caee11dc876e1e +Author: Behdad Esfahbod +Date: Wed Jun 9 14:02:31 2021 -0600 + + [set] Add hb_set_copy() + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3016 + + docs/harfbuzz-sections.txt | 1 + + src/hb-set.cc | 18 ++++++++++++++++++ + src/hb-set.h | 3 +++ + 3 files changed, 22 insertions(+) + +commit bc33b87f5e72648c66949cc9469291e77aa80701 +Author: Behdad Esfahbod +Date: Wed Jun 9 11:51:32 2021 -0600 + + [set] Use references, not pointers, in internal C++ API + + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-set.cc | 14 ++++----- + src/hb-set.hh | 69 ++++++++++++++++++++++---------------------- + src/hb-subset-plan.cc | 2 +- + 4 files changed, 44 insertions(+), 43 deletions(-) + +commit 9cfac093aa5816113289812764c44ec0c44c04c4 +Author: Behdad Esfahbod +Date: Wed Jun 9 11:41:59 2021 -0600 + + [set] Add copy constructor/assignment + + src/hb-set.hh | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit a83b9b0fec4c21e9da19b7c83ea76cb33aabd195 +Merge: 4811e8f5d 6119ff9d8 +Author: Behdad Esfahbod +Date: Mon Jun 7 16:41:27 2021 -0700 + + Merge pull request #3011 from harfbuzz/directwrite-cleanup + + Some directwrite cleanups + +commit 4811e8f5d76ef528b4cec00f241cc4ab8110db30 +Author: Khaled Hosny +Date: Mon Jun 7 10:54:36 2021 +0200 + + Trigger doc rebuild + + src/hb-face.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 09a2eb65d782c1e6bba5ebb5027eaf84c40fc31a +Author: Khaled Hosny +Date: Mon Jun 7 10:52:27 2021 +0200 + + Revert "Temporarily always push the docs commit" + + This reverts commit 6612fd39ae6f84446dad1b0507417d6febf22fa0. + + .ci/deploy-docs.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6612fd39ae6f84446dad1b0507417d6febf22fa0 +Author: Khaled Hosny +Date: Mon Jun 7 10:36:02 2021 +0200 + + Temporarily always push the docs commit + + .ci/deploy-docs.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b39b047505d0cd8a77fb9eafca2a08b717a07ead +Author: Khaled Hosny +Date: Mon Jun 7 10:27:33 2021 +0200 + + Try to fix doc deployment + + https://github.com/harfbuzz/harfbuzz.github.io/issues/4 + + From CI logs at https://github.com/harfbuzz/harfbuzz/runs/2758234200: + + + git init + hint: Using 'master' as the name for the initial branch. This default branch name + hint: is subject to change. To configure the initial branch name to use in all + hint: of your new repositories, which will suppress this warning, call: + hint: + hint: git config --global init.defaultBranch + hint: + hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and + hint: 'development'. The just-created branch can be renamed via this command: + hint: + hint: git branch -m + + We want the branch too be main not master. + + .ci/deploy-docs.sh | 1 + + 1 file changed, 1 insertion(+) + +commit 5585ea02eb90c013ddba73290d3a9ae435df9f15 +Author: David Corbett +Date: Sat Jun 5 08:35:28 2021 -0400 + + [syllabic] Set position of dotted circle for Indic + + src/hb-ot-shape-complex-indic.cc | 3 ++- + src/hb-ot-shape-complex-syllabic.cc | 5 ++++- + src/hb-ot-shape-complex-syllabic.hh | 3 ++- + .../fonts/fd07ea46e4d8368ada1776208c07fd596f727852.ttf | Bin 0 -> 956 bytes + test/shaping/data/in-house/tests/cluster.tests | 1 + + 5 files changed, 9 insertions(+), 3 deletions(-) + +commit a9fb6a0c3cb1ffdbd6c18c8a4b1ad7a51ade2e1c +Author: Khaled Hosny +Date: Sun Jun 6 14:40:50 2021 +0200 + + [aat] Add start table/end table to buffer messages + + Related to https://github.com/harfbuzz/harfbuzz/issues/3008 + + src/hb-aat-layout.cc | 6 ++++++ + src/hb-ot-layout.cc | 2 ++ + 2 files changed, 8 insertions(+) + +commit 19cb449358202b22b851f87032ea01b950b04f0f +Author: Behdad Esfahbod +Date: Sat Jun 5 13:44:51 2021 -0600 + + Update COPYING + + Mainly just to push any commit to see if it fixes our github.io site. + + https://github.com/harfbuzz/harfbuzz.github.io/issues/4 + + COPYING | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit cf9538e8080c6e96c840db09515191a799c85de9 +Author: Behdad Esfahbod +Date: Fri Jun 4 22:33:16 2021 -0600 + + Removal remaining uses of "blacklist" terminology + + src/gen-use-table.py | 4 ++-- + src/hb-config.hh | 2 +- + src/hb-ot-layout.cc | 6 +++--- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit 6119ff9d806db7de3ceef73de67fe589507800bb +Author: Khaled Hosny +Date: Thu Jun 3 13:02:53 2021 +0200 + + [hb-directwrite] Don't load dwrit.dll dynamically + + We already link to it, so I don't see the point of trying to load it + dynamically. + + src/hb-directwrite.cc | 36 ++---------------------------------- + 1 file changed, 2 insertions(+), 34 deletions(-) + +commit b2070a509c6aabc5a275749979d140f8d78206e6 +Author: Khaled Hosny +Date: Thu Jun 3 10:50:46 2021 +0200 + + [hb-directwrite] Don’t override new/delete + + This is a testing shaper, we don’t care for overridden malloc/free here. + Use malloc/free in the code called from hb_directwrite_face_create(). + + src/hb-directwrite.cc | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +commit 221d642b196a1bc1550e06a06d32bc8888590380 +Author: Khaled Hosny +Date: Thu Jun 3 10:45:23 2021 +0200 + + [hb-directwrite] Remove _hb_directwrite_shape_experimental_width + + Not used anywhere. + + src/hb-directwrite.cc | 128 +++----------------------------------------------- + 1 file changed, 6 insertions(+), 122 deletions(-) + +commit fa432a121e3c409de77cd2e2b1085b31b93be4c6 +Author: Khaled Hosny +Date: Sat Jun 5 04:06:58 2021 +0200 + + Rename various references to master branch + + .ci/deploy-docs.sh | 4 ++-- + .github/workflows/linux-ci.yml | 6 +++--- + .github/workflows/msvc-ci.yml | 4 ++-- + .github/workflows/msys2-ci.yml | 4 ++-- + README | 8 ++++---- + README.md | 4 ++-- + 6 files changed, 15 insertions(+), 15 deletions(-) + +commit 35d6af69435ff070cee00f7cd9741b3545ca161c +Author: Qunxin Liu +Date: Fri Jun 4 10:04:27 2021 -0700 + + [subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648 + + src/hb-ot-color-colr-table.hh | 15 +++++++++++++-- + ...-testcase-minimized-hb-subset-fuzzer-5965777994907648 | Bin 0 -> 159 bytes + 2 files changed, 13 insertions(+), 2 deletions(-) + +commit 92206345a390311e6ebe074238bf39d6dc77d79e +Author: Behdad Esfahbod +Date: Fri Jun 4 14:51:49 2021 -0600 + + [ci] Disable patch-level codecov failures + + Fixes https://github.com/harfbuzz/harfbuzz/issues/3004 + + .codecov.yml | 1 + + 1 file changed, 1 insertion(+) + +commit 3d48bfc18731e3c2187a5b0666a7e94dcab0150b +Author: Peter Williams +Date: Wed Jun 2 23:12:53 2021 -0400 + + Avoid a deprecation warning in graphite2 + + As of graphite2 1.3.7, `gr_make_face` is deprecated in favor of + `gr_make_face_with_ops`. It's a one-liner to port over to using it. + + This is potentially a compatibility break since I'm not sure when the + `with_ops` API was added, but the minimum version of graphite2 that's + supported by Harfbuzz doesn't seem to be documented anywhere anyway. + + src/hb-graphite2.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 1b6008ca625e0f41cb34259368f91677a110b5dd +Author: Qunxin Liu +Date: Wed Jun 2 15:07:18 2021 -0700 + + fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736 + + src/hb-ot-color-colr-table.hh | 12 +++++++++--- + ...z-testcase-minimized-hb-subset-fuzzer-5417934246772736 | Bin 0 -> 104 bytes + 2 files changed, 9 insertions(+), 3 deletions(-) + +commit 18f61210a43e2dc4e7001227e37fc899d5af7979 +Author: Garret Rieger +Date: Thu May 27 16:01:17 2021 -0700 + + Add public api methods to get/set the layout features to retain. + + src/hb-subset-input.cc | 20 ++++++++++++++++++++ + src/hb-subset.h | 9 +++++++++ + 2 files changed, 29 insertions(+) + +commit 243d056ff1c2af583ceb67e5dfbfaac51dc96e63 +Author: Andi-Bogdan Postelnicu +Date: Wed Jun 2 14:08:11 2021 +0300 + + Removed unused variable `supp_size` from plan_subset_encoding(...). + + src/hb-subset-cff1.cc | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 7ab0f4eda9a8a1d7ccd334fa7f9fef4b038a1c24 +Author: Qunxin Liu +Date: Thu May 27 11:40:34 2021 -0700 + + fuzzer fix + + src/hb-subset.cc | 1 + + ...zz-testcase-minimized-hb-subset-fuzzer-4681956043390976 | Bin 0 -> 56 bytes + 2 files changed, 1 insertion(+) + +commit cb5a6b5a27cfe616113bafe7f23ad33f1b0d0a1e +Author: Qunxin Liu +Date: Wed May 19 17:33:46 2021 -0700 + + [subset] support option --layout-features + + src/hb-subset-input.cc | 91 +++++++++++++ + src/hb-subset-input.hh | 2 + + src/hb-subset-plan.cc | 147 +++++++++++---------- + src/hb-subset-plan.hh | 4 + + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 8100 -> 7652 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 7736 -> 7284 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 7360 -> 6920 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222212 -> 221524 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 7012 -> 5104 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 6712 -> 4808 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 6388 -> 4220 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 190920 -> 190296 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 3424 -> 3100 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 3128 -> 2792 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 2800 -> 2472 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 190908 -> 190252 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 9036 -> 8580 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 8668 -> 8220 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 8304 -> 7848 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 8236 -> 7772 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 8220 -> 7776 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222212 -> 221524 bytes + ...gular-new.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 8100 bytes + ...-Regular-new.keep-all-layout-features.61,63.ttf | Bin 0 -> 7736 bytes + ...taa-Regular-new.keep-all-layout-features.61.ttf | Bin 0 -> 7360 bytes + ...taa-Regular-new.keep-all-layout-features.62.ttf | Bin 0 -> 6796 bytes + ...taa-Regular-new.keep-all-layout-features.63.ttf | Bin 0 -> 6844 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 222212 bytes + ...fortaa-Regular-new.layout-features.61,62,63.ttf | Bin 0 -> 7652 bytes + ...Comfortaa-Regular-new.layout-features.61,63.ttf | Bin 0 -> 7284 bytes + .../Comfortaa-Regular-new.layout-features.61.ttf | Bin 0 -> 6920 bytes + .../Comfortaa-Regular-new.layout-features.62.ttf | Bin 0 -> 6796 bytes + .../Comfortaa-Regular-new.layout-features.63.ttf | Bin 0 -> 6844 bytes + ...ar-new.layout-features.retain-all-codepoint.ttf | Bin 0 -> 219716 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 7840 -> 7392 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 7476 -> 7024 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 7100 -> 6660 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 221952 -> 221264 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 8100 -> 7652 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 7736 -> 7284 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 7360 -> 6920 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222212 -> 221524 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 8100 -> 7652 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 7736 -> 7284 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 7360 -> 6920 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222212 -> 221524 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 11688 -> 9656 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 11320 -> 9300 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 10952 -> 8668 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222224 -> 221568 bytes + ...ar-subset.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 4128 bytes + ...gular-subset.keep-all-layout-features.61,63.ttf | Bin 0 -> 3580 bytes + ...-Regular-subset.keep-all-layout-features.61.ttf | Bin 0 -> 3156 bytes + ...-Regular-subset.keep-all-layout-features.62.ttf | Bin 0 -> 3180 bytes + ...-Regular-subset.keep-all-layout-features.63.ttf | Bin 0 -> 3048 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...gjo-Regular-subset.layout-features.61,62,63.ttf | Bin 0 -> 4128 bytes + ...eongjo-Regular-subset.layout-features.61,63.ttf | Bin 0 -> 3580 bytes + ...mMyeongjo-Regular-subset.layout-features.61.ttf | Bin 0 -> 3156 bytes + ...mMyeongjo-Regular-subset.layout-features.62.ttf | Bin 0 -> 3180 bytes + ...mMyeongjo-Regular-subset.layout-features.63.ttf | Bin 0 -> 3048 bytes + ...subset.layout-features.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + ...gular.abc.keep-all-layout-features.61,62,63.ttf | Bin 0 -> 2452 bytes + ...-Regular.abc.keep-all-layout-features.61,63.ttf | Bin 0 -> 2260 bytes + ...oto-Regular.abc.keep-all-layout-features.61.ttf | Bin 0 -> 2048 bytes + ...oto-Regular.abc.keep-all-layout-features.62.ttf | Bin 0 -> 1916 bytes + ...oto-Regular.abc.keep-all-layout-features.63.ttf | Bin 0 -> 1972 bytes + ...ep-all-layout-features.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...Roboto-Regular.abc.layout-features.61,62,63.ttf | Bin 0 -> 2452 bytes + .../Roboto-Regular.abc.layout-features.61,63.ttf | Bin 0 -> 2260 bytes + .../Roboto-Regular.abc.layout-features.61.ttf | Bin 0 -> 2048 bytes + .../Roboto-Regular.abc.layout-features.62.ttf | Bin 0 -> 1916 bytes + .../Roboto-Regular.abc.layout-features.63.ttf | Bin 0 -> 1972 bytes + ...ar.abc.layout-features.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 4192 -> 2580 bytes + .../SourceSansPro-Regular.default.61,62,63.otf | Bin 3856 -> 2216 bytes + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 3144 -> 2328 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 30788 -> 20232 bytes + ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 30908 -> 2316 bytes + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 31336 -> 30540 bytes + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 3968 -> 2436 bytes + ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 3556 -> 2120 bytes + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 3168 -> 2312 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 30488 -> 20064 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 30668 -> 2192 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 31124 -> 30372 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 3668 -> 2268 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 3320 -> 1996 bytes + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 2952 -> 2148 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 30624 -> 20156 bytes + ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 30888 -> 2228 bytes + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 31104 -> 30384 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 3808 -> 2352 bytes + .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 3524 -> 2060 bytes + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 2932 -> 2164 bytes + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 31012 -> 20384 bytes + .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 31208 -> 2384 bytes + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 31312 -> 30556 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 4656 -> 3276 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 3904 -> 2864 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3976 -> 3216 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 2532 -> 1712 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 2116 -> 1496 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 2184 -> 1728 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 6876 -> 4144 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 6552 -> 3984 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 6136 -> 4548 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 6832 -> 4120 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 6552 -> 3984 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 6136 -> 4548 bytes + ...text1_multiple_subrules_f1.default.41,42,43.otf | Bin 1440 -> 1328 bytes + ...context1_multiple_subrules_f1.default.41,42.otf | Bin 1324 -> 1228 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3812 -> 3700 bytes + ...1_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2140 -> 2028 bytes + ...ext1_multiple_subrules_f1.retain-gids.41,42.otf | Bin 2028 -> 1932 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3812 -> 3700 bytes + ...text2_multiple_subrules_f1.default.41,42,43.otf | Bin 1456 -> 1328 bytes + ...context2_multiple_subrules_f1.default.41,42.otf | Bin 1336 -> 1228 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3828 -> 3700 bytes + ...2_multiple_subrules_f1.retain-gids.41,42,43.otf | Bin 2156 -> 2028 bytes + ...ext2_multiple_subrules_f1.retain-gids.41,42.otf | Bin 2040 -> 1932 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3828 -> 3700 bytes + .../gpos_context3_simple_f1.default.41,42,43.otf | Bin 1420 -> 1308 bytes + ...ext3_simple_f1.default.retain-all-codepoint.otf | Bin 3792 -> 3680 bytes + ...pos_context3_simple_f1.retain-gids.41,42,43.otf | Bin 2120 -> 2008 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3792 -> 3680 bytes + .../AdobeVFPrototype.default.41,42,43,57.otf | Bin 5460 -> 5440 bytes + .../AdobeVFPrototype.default.41,42,43.otf | Bin 4932 -> 4908 bytes + .../AdobeVFPrototype.default.41,42.otf | Bin 4452 -> 4432 bytes + .../AdobeVFPrototype.default.41,56,57.otf | Bin 4600 -> 4576 bytes + .../AdobeVFPrototype.default.41.otf | Bin 3748 -> 3728 bytes + .../AdobeVFPrototype.default.42,57.otf | Bin 4584 -> 4564 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 5272 -> 5252 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 4744 -> 4720 bytes + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 4264 -> 4244 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 4408 -> 4384 bytes + .../AdobeVFPrototype.drop-hints.41.otf | Bin 3560 -> 3540 bytes + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 4396 -> 4376 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5460 -> 5440 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4932 -> 4908 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4452 -> 4432 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4600 -> 4576 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3748 -> 3728 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4584 -> 4564 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 3668 -> 2764 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 2036 -> 1472 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 3668 -> 2764 bytes + .../layout.gpos/gpos1_2_font.default.41,43.otf | Bin 1352 -> 1292 bytes + .../layout.gpos/gpos1_2_font.default.41,46.otf | Bin 1484 -> 1424 bytes + .../layout.gpos/gpos1_2_font.default.41.otf | Bin 1232 -> 1176 bytes + .../layout.gpos/gpos1_2_font.default.43,46.otf | Bin 1348 -> 1288 bytes + .../gpos1_2_font.default.retain-all-codepoint.otf | Bin 3668 -> 3604 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,43.otf | Bin 2068 -> 2008 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41,46.otf | Bin 2232 -> 2172 bytes + .../layout.gpos/gpos1_2_font.retain-gids.41.otf | Bin 1932 -> 1876 bytes + .../layout.gpos/gpos1_2_font.retain-gids.43,46.otf | Bin 2096 -> 2036 bytes + ...os1_2_font.retain-gids.retain-all-codepoint.otf | Bin 3668 -> 3604 bytes + .../gpos2_1_font7.default.21,23,25.otf | Bin 1428 -> 1360 bytes + .../layout.gpos2/gpos2_1_font7.default.21,23.otf | Bin 1308 -> 1240 bytes + .../gpos2_1_font7.default.retain-all-codepoint.otf | Bin 3688 -> 3604 bytes + .../gpos2_1_font7.retain-gids.21,23,25.otf | Bin 1764 -> 1696 bytes + .../gpos2_1_font7.retain-gids.21,23.otf | Bin 1632 -> 1564 bytes + ...s2_1_font7.retain-gids.retain-all-codepoint.otf | Bin 3688 -> 3604 bytes + .../gpos2_2_font5.default.21,23,25.otf | Bin 1480 -> 1360 bytes + .../layout.gpos2/gpos2_2_font5.default.21,23.otf | Bin 1360 -> 1240 bytes + .../gpos2_2_font5.default.retain-all-codepoint.otf | Bin 3724 -> 3604 bytes + .../gpos2_2_font5.retain-gids.21,23,25.otf | Bin 1816 -> 1696 bytes + .../gpos2_2_font5.retain-gids.21,23.otf | Bin 1684 -> 1564 bytes + ...s2_2_font5.retain-gids.retain-all-codepoint.otf | Bin 3724 -> 3604 bytes + .../layout.gpos3/gpos3_font3.default.28,29.otf | Bin 1328 -> 1248 bytes + .../layout.gpos3/gpos3_font3.default.28,2B.otf | Bin 1456 -> 1376 bytes + .../layout.gpos3/gpos3_font3.default.29,2B.otf | Bin 1368 -> 1292 bytes + .../gpos3_font3.default.retain-all-codepoint.otf | Bin 3728 -> 3636 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,29.otf | Bin 1712 -> 1632 bytes + .../layout.gpos3/gpos3_font3.retain-gids.28,2B.otf | Bin 1860 -> 1780 bytes + .../layout.gpos3/gpos3_font3.retain-gids.29,2B.otf | Bin 1772 -> 1696 bytes + ...pos3_font3.retain-gids.retain-all-codepoint.otf | Bin 3728 -> 3636 bytes + ...pos4_multiple_anchors_1.default.41,42,43,44.otf | Bin 1640 -> 1516 bytes + ...pos4_multiple_anchors_1.default.41,42,43,45.otf | Bin 1632 -> 1524 bytes + .../gpos4_multiple_anchors_1.default.41,42,43.otf | Bin 1404 -> 1308 bytes + ...4_multiple_anchors_1.default.41,43,44,45,46.otf | Bin 1992 -> 1864 bytes + .../gpos4_multiple_anchors_1.default.41,43,44.otf | Bin 1632 -> 1524 bytes + .../gpos4_multiple_anchors_1.default.41,43,45.otf | Bin 1632 -> 1532 bytes + .../gpos4_multiple_anchors_1.default.41,43.otf | Bin 1400 -> 1312 bytes + ...iple_anchors_1.default.retain-all-codepoint.otf | Bin 3816 -> 3668 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,44.otf | Bin 2344 -> 2220 bytes + ..._multiple_anchors_1.retain-gids.41,42,43,45.otf | Bin 2352 -> 2244 bytes + ...os4_multiple_anchors_1.retain-gids.41,42,43.otf | Bin 2104 -> 2008 bytes + ...ltiple_anchors_1.retain-gids.41,43,44,45,46.otf | Bin 2712 -> 2584 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,44.otf | Bin 2348 -> 2240 bytes + ...os4_multiple_anchors_1.retain-gids.41,43,45.otf | Bin 2360 -> 2260 bytes + .../gpos4_multiple_anchors_1.retain-gids.41,43.otf | Bin 2116 -> 2028 bytes + ..._anchors_1.retain-gids.retain-all-codepoint.otf | Bin 3816 -> 3668 bytes + .../gpos5_font1.default.41,42,43,44.otf | Bin 1668 -> 1536 bytes + .../gpos5_font1.default.41,42,43,45.otf | Bin 1660 -> 1544 bytes + .../layout.gpos5/gpos5_font1.default.41,42,43.otf | Bin 1432 -> 1328 bytes + .../layout.gpos5/gpos5_font1.default.41,42,44.otf | Bin 1588 -> 1460 bytes + .../layout.gpos5/gpos5_font1.default.41,42,45.otf | Bin 1560 -> 1448 bytes + .../layout.gpos5/gpos5_font1.default.41,42.otf | Bin 1328 -> 1228 bytes + .../gpos5_font1.default.retain-all-codepoint.otf | Bin 3884 -> 3688 bytes + .../gpos5_font1.retain-gids.41,42,43,44.otf | Bin 2372 -> 2240 bytes + .../gpos5_font1.retain-gids.41,42,43,45.otf | Bin 2380 -> 2264 bytes + .../gpos5_font1.retain-gids.41,42,43.otf | Bin 2132 -> 2028 bytes + .../gpos5_font1.retain-gids.41,42,44.otf | Bin 2304 -> 2176 bytes + .../gpos5_font1.retain-gids.41,42,45.otf | Bin 2284 -> 2172 bytes + .../layout.gpos5/gpos5_font1.retain-gids.41,42.otf | Bin 2032 -> 1932 bytes + ...pos5_font1.retain-gids.retain-all-codepoint.otf | Bin 3884 -> 3688 bytes + .../gpos6_font1.default.41,42,43,44.otf | Bin 1616 -> 1492 bytes + .../gpos6_font1.default.41,42,43,45.otf | Bin 1608 -> 1500 bytes + .../layout.gpos6/gpos6_font1.default.41,42,43.otf | Bin 1380 -> 1284 bytes + .../gpos6_font1.default.41,43,44,45,46.otf | Bin 1968 -> 1840 bytes + .../layout.gpos6/gpos6_font1.default.41,43,44.otf | Bin 1608 -> 1500 bytes + .../layout.gpos6/gpos6_font1.default.41,43,45.otf | Bin 1608 -> 1508 bytes + .../layout.gpos6/gpos6_font1.default.41,43.otf | Bin 1376 -> 1288 bytes + .../gpos6_font1.default.retain-all-codepoint.otf | Bin 3792 -> 3644 bytes + .../gpos6_font1.retain-gids.41,42,43,44.otf | Bin 2320 -> 2196 bytes + .../gpos6_font1.retain-gids.41,42,43,45.otf | Bin 2328 -> 2220 bytes + .../gpos6_font1.retain-gids.41,42,43.otf | Bin 2080 -> 1984 bytes + .../gpos6_font1.retain-gids.41,43,44,45,46.otf | Bin 2688 -> 2560 bytes + .../gpos6_font1.retain-gids.41,43,44.otf | Bin 2324 -> 2216 bytes + .../gpos6_font1.retain-gids.41,43,45.otf | Bin 2336 -> 2236 bytes + .../layout.gpos6/gpos6_font1.retain-gids.41,43.otf | Bin 2092 -> 2004 bytes + ...pos6_font1.retain-gids.retain-all-codepoint.otf | Bin 3792 -> 3644 bytes + ...ular.default.627,644,623,62D,644,627,645,2E.ttf | Bin 13288 -> 12724 bytes + .../Amiri-Regular.default.627,644,62D,628.ttf | Bin 10188 -> 10028 bytes + .../Amiri-Regular.default.627,644.ttf | Bin 4364 -> 4208 bytes + ...-Regular.default.633,645,627,621,20,644,627.ttf | Bin 10324 -> 9552 bytes + .../Amiri-Regular.default.63A,64A,631.ttf | Bin 7824 -> 7360 bytes + ....retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48596 -> 48052 bytes + .../Amiri-Regular.retain-gids.627,644,62D,628.ttf | Bin 42836 -> 42676 bytes + .../Amiri-Regular.retain-gids.627,644.ttf | Bin 36892 -> 36736 bytes + ...ular.retain-gids.633,645,627,621,20,644,627.ttf | Bin 46680 -> 45944 bytes + .../Amiri-Regular.retain-gids.63A,64A,631.ttf | Bin 42896 -> 38024 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1944 -> 1840 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3832 -> 3704 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2408 -> 2304 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3832 -> 3704 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1964 -> 1840 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3864 -> 3704 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2428 -> 2304 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3864 -> 3704 bytes + ...pos_chaining3_simple_f1.default.30,31,32,33.otf | Bin 1936 -> 1816 bytes + ...ing3_simple_f1.default.retain-all-codepoint.otf | Bin 3800 -> 3680 bytes + ...chaining3_simple_f1.retain-gids.30,31,32,33.otf | Bin 2400 -> 2280 bytes + ..._simple_f1.retain-gids.retain-all-codepoint.otf | Bin 3800 -> 3680 bytes + .../layout.gpos9/gpos9_font2.default.41,42.otf | Bin 1272 -> 1184 bytes + .../layout.gpos9/gpos9_font2.default.41.otf | Bin 1236 -> 1172 bytes + .../layout.gpos9/gpos9_font2.default.42.otf | Bin 1096 -> 1032 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41,42.otf | Bin 1976 -> 1888 bytes + .../layout.gpos9/gpos9_font2.retain-gids.41.otf | Bin 1936 -> 1872 bytes + .../layout.gpos9/gpos9_font2.retain-gids.42.otf | Bin 1808 -> 1744 bytes + ...ub_alternate_substitution.default.53A9,53F1.otf | Bin 4984 -> 4348 bytes + .../gsub_alternate_substitution.default.53A9.otf | Bin 4524 -> 3904 bytes + .../gsub_alternate_substitution.default.53F1.otf | Bin 2816 -> 2452 bytes + ...e_substitution.default.retain-all-codepoint.otf | Bin 6728 -> 6040 bytes + ...lternate_substitution.retain-gids.53A9,53F1.otf | Bin 5108 -> 4472 bytes + ...sub_alternate_substitution.retain-gids.53A9.otf | Bin 4676 -> 4056 bytes + ...sub_alternate_substitution.retain-gids.53F1.otf | Bin 3012 -> 2648 bytes + ...bstitution.retain-gids.retain-all-codepoint.otf | Bin 6820 -> 6132 bytes + ...text1_multiple_subrules_f2.default.41,42,43.otf | Bin 1460 -> 1340 bytes + ...context1_multiple_subrules_f2.default.41,42.otf | Bin 1420 -> 1240 bytes + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3808 -> 3712 bytes + ...1_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2248 -> 2040 bytes + ...ext1_multiple_subrules_f2.retain-gids.41,42.otf | Bin 2224 -> 1944 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3808 -> 3712 bytes + ...text2_multiple_subrules_f2.default.41,42,43.otf | Bin 1476 -> 1340 bytes + ...context2_multiple_subrules_f2.default.41,42.otf | Bin 1432 -> 1240 bytes + ...le_subrules_f2.default.retain-all-codepoint.otf | Bin 3824 -> 3712 bytes + ...2_multiple_subrules_f2.retain-gids.41,42,43.otf | Bin 2264 -> 2040 bytes + ...ext2_multiple_subrules_f2.retain-gids.41,42.otf | Bin 2236 -> 1944 bytes + ...ubrules_f2.retain-gids.retain-all-codepoint.otf | Bin 3824 -> 3712 bytes + ..._successive_f1.default.retain-all-codepoint.otf | Bin 3828 -> 3700 bytes + ...cessive_f1.retain-gids.retain-all-codepoint.otf | Bin 3828 -> 3700 bytes + ...g1_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1916 -> 1852 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3804 -> 3716 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2380 -> 2316 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3804 -> 3716 bytes + ...g2_multiple_subrules_f1.default.30,31,32,33.otf | Bin 1944 -> 1852 bytes + ...le_subrules_f1.default.retain-all-codepoint.otf | Bin 3836 -> 3716 bytes + ...ultiple_subrules_f1.retain-gids.30,31,32,33.otf | Bin 2408 -> 2316 bytes + ...ubrules_f1.retain-gids.retain-all-codepoint.otf | Bin 3836 -> 3716 bytes + ...sub_chaining3_simple_f2.default.30,31,32,33.otf | Bin 1904 -> 1828 bytes + ...ing3_simple_f2.default.retain-all-codepoint.otf | Bin 3772 -> 3692 bytes + ...chaining3_simple_f2.retain-gids.30,31,32,33.otf | Bin 2368 -> 2292 bytes + ..._simple_f2.retain-gids.retain-all-codepoint.otf | Bin 3772 -> 3692 bytes + ..._created.default.41,42,43,44,45,46,47,48,49.otf | Bin 2384 -> 2176 bytes + ...nually_created.default.41,42,43,44,45,46,47.otf | Bin 1996 -> 1888 bytes + ...nually_created.default.41,42,43,44,45,46,4D.otf | Bin 1996 -> 1852 bytes + ...nually_created.default.41,42,43,44,45,46,51.otf | Bin 2044 -> 1932 bytes + .../gsub8_manually_created.default.61.otf | Bin 1540 -> 1224 bytes + ...nually_created.default.retain-all-codepoint.otf | Bin 3832 -> 3656 bytes + ...ated.retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 3172 -> 2884 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,47.otf | Bin 2796 -> 2596 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,4D.otf | Bin 2860 -> 2636 bytes + ...ly_created.retain-gids.41,42,43,44,45,46,51.otf | Bin 2864 -> 2760 bytes + .../gsub8_manually_created.retain-gids.61.otf | Bin 2584 -> 2276 bytes + ...ly_created.retain-gids.retain-all-codepoint.otf | Bin 3832 -> 3656 bytes + .../Roboto-Regular.smallcaps.default.41,42,43.ttf | Bin 3028 -> 2464 bytes + .../Roboto-Regular.smallcaps.default.41,43.ttf | Bin 2628 -> 2284 bytes + .../layout/Roboto-Regular.smallcaps.default.41.ttf | Bin 2252 -> 2084 bytes + .../layout/Roboto-Regular.smallcaps.default.43.ttf | Bin 2324 -> 2116 bytes + .../Roboto-Regular.smallcaps.default.CA,CB.ttf | Bin 2668 -> 2388 bytes + ...boto-Regular.smallcaps.retain-gids.41,42,43.ttf | Bin 6844 -> 2716 bytes + .../Roboto-Regular.smallcaps.retain-gids.41,43.ttf | Bin 6472 -> 2548 bytes + .../Roboto-Regular.smallcaps.retain-gids.41.ttf | Bin 6096 -> 2336 bytes + .../Roboto-Regular.smallcaps.retain-gids.43.ttf | Bin 6152 -> 2384 bytes + .../Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf | Bin 7996 -> 6476 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 18448 -> 15912 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 5880 -> 4348 bytes + .../data/profiles/keep-all-layout-features.txt | 1 + + test/subset/data/profiles/layout-features.txt | 1 + + test/subset/data/tests/basics.tests | 2 + + test/subset/generate-expected-outputs.py | 1 - + util/options-subset.cc | 53 ++++++++ + 314 files changed, 233 insertions(+), 69 deletions(-) + +commit 0989b5553af0e252d7201da9bf762d2f68fade9e +Author: Garret Rieger +Date: Tue May 18 17:12:50 2021 -0700 + + [subset] Add test for overlaps flag setting. + + test/api/fonts/Roboto-Regular.abcAE.ttf | Bin 0 -> 7224 bytes + test/api/fonts/Roboto-Regular.bAE.ttf | Bin 0 -> 6732 bytes + test/api/test-subset-glyf.c | 26 ++++++++++++++++++++++++++ + 3 files changed, 26 insertions(+) + +commit 73ff04a324c3ac721bbebd2a7817dbe819c351fa +Author: Garret Rieger +Date: Tue May 18 16:54:01 2021 -0700 + + [subset] add option to have the subsetter set the mac overlaps flag on each glyph. + + src/hb-ot-glyf-table.hh | 50 +++++++++++++++++++++++++++++++++++++++++-------- + src/hb-subset-input.cc | 14 ++++++++++++++ + src/hb-subset-input.hh | 1 + + src/hb-subset-plan.cc | 3 ++- + src/hb-subset-plan.hh | 1 + + src/hb-subset.h | 7 +++++++ + util/options-subset.cc | 3 ++- + 7 files changed, 69 insertions(+), 10 deletions(-) + +commit f739e1dc6a875d092d94bcc906d1604887729eac +Author: Qunxin Liu +Date: Tue May 11 11:44:32 2021 -0700 + + [subset] subset both CPAL and COLRv1 + + src/hb-ot-color-colr-table.hh | 69 +++++++++-- + src/hb-ot-color-cpal-table.hh | 131 ++++++++++++++++++++- + src/hb-subset-plan.cc | 28 ++++- + src/hb-subset-plan.hh | 2 +- + src/hb-subset.cc | 2 + + .../TwemojiMozilla.subset.default.32,3299.ttf | Bin 5264 -> 1576 bytes + .../api/fonts/TwemojiMozilla.subset.default.32.ttf | Bin 4660 -> 932 bytes + .../fonts/TwemojiMozilla.subset.default.3297.ttf | Bin 5068 -> 1376 bytes + test/api/fonts/TwemojiMozilla.subset.ttf | Bin 5712 -> 1936 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 5712 -> 1936 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 5176 -> 1400 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 5352 -> 1576 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 4748 -> 932 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 5692 -> 1916 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 5152 -> 1376 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 5328 -> 1552 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 5692 -> 1916 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 5172 -> 1396 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 5352 -> 1576 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 4728 -> 912 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 5676 -> 1900 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 5148 -> 1372 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 5328 -> 1552 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 5692 -> 1916 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 5156 -> 1380 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 5332 -> 1556 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 4728 -> 912 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 5672 -> 1896 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 5132 -> 1356 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 5308 -> 1532 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 5712 -> 1936 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 5192 -> 1416 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 5372 -> 1596 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 4748 -> 932 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 5696 -> 1920 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 5168 -> 1392 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 5348 -> 1572 bytes + .../colr_with_components/colr-table.default.6B.ttf | Bin 4576 -> 4260 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 5300 -> 4984 bytes + .../colr-table.drop-hints.6B.ttf | Bin 4576 -> 4260 bytes + .../colr-table.retain-gids.6B.ttf | Bin 5300 -> 4984 bytes + .../colrv1/TestCOLRv1.default.E000,E004.ttf | Bin 0 -> 900 bytes + .../colrv1/TestCOLRv1.default.E003,E004.ttf | Bin 0 -> 1000 bytes + .../expected/colrv1/TestCOLRv1.default.E004.ttf | Bin 0 -> 744 bytes + .../TestCOLRv1.default.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + ...TestCOLRv1.drop-hints-retain-gids.E000,E004.ttf | Bin 0 -> 984 bytes + ...TestCOLRv1.drop-hints-retain-gids.E003,E004.ttf | Bin 0 -> 1076 bytes + .../TestCOLRv1.drop-hints-retain-gids.E004.ttf | Bin 0 -> 836 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + .../colrv1/TestCOLRv1.drop-hints.E000,E004.ttf | Bin 0 -> 900 bytes + .../colrv1/TestCOLRv1.drop-hints.E003,E004.ttf | Bin 0 -> 1000 bytes + .../expected/colrv1/TestCOLRv1.drop-hints.E004.ttf | Bin 0 -> 744 bytes + .../TestCOLRv1.drop-hints.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + .../colrv1/TestCOLRv1.retain-gids.E000,E004.ttf | Bin 0 -> 984 bytes + .../colrv1/TestCOLRv1.retain-gids.E003,E004.ttf | Bin 0 -> 1076 bytes + .../colrv1/TestCOLRv1.retain-gids.E004.ttf | Bin 0 -> 836 bytes + ...TestCOLRv1.retain-gids.retain-all-codepoint.ttf | Bin 0 -> 1444 bytes + test/subset/data/fonts/TestCOLRv1.ttf | Bin 0 -> 1780 bytes + test/subset/data/tests/colrv1.tests | 21 ++++ + test/subset/subset_test_suite.py | 4 + + 60 files changed, 241 insertions(+), 16 deletions(-) + +commit 466e1fdf5dc2589fe134bec16a71d9ba9f0d035d +Author: Garret Rieger +Date: Wed May 26 14:22:21 2021 -0700 + + [subset] remove unnessecary brackets. + + src/hb-set.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 583237299d623b2e8afa36a4e334e396874da073 +Author: Garret Rieger +Date: Wed May 26 14:06:02 2021 -0700 + + Add cmp() method for major to page map. + + src/hb-set.hh | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +commit 2c137045dc53c4ad678e18499cc556c00a0ce3cb +Author: Garret Rieger +Date: Thu May 20 16:22:04 2021 -0700 + + [subset] Optimize set iteration by caching the last found page map index. + + Reuse it if possible on consecutive calls to next(). Will signifcantly speed up cases where the entire set is iterated. In local testing iterating a very large set was 10x faster. + + src/hb-set.hh | 37 ++++++++++++++++++++++++++++--------- + 1 file changed, 28 insertions(+), 9 deletions(-) + +commit 1bb00cd54b2343971371d520fdda159d2e2a9018 +Author: Garret Rieger +Date: Wed May 26 14:18:32 2021 -0700 + + [subset] add num-iterations flag to util/hb-subset. + + util/hb-subset.cc | 6 +++++- + util/options-subset.cc | 3 +++ + util/options.hh | 2 ++ + 3 files changed, 10 insertions(+), 1 deletion(-) + +commit 9e5738a86af1bc50480b0263664057b665b94cba +Author: Behdad Esfahbod +Date: Wed May 26 15:12:39 2021 -0600 + + [set] Okay, giving up on constexpr till C++14 + + ../src/hb-set.hh:213:89: error: call to non-'constexpr' function 'const elt_t& hb_vector_size_t::operator[](unsigned int) const [with elt_t = long long unsigned int; unsigned int byte_size = 64]' + + src/hb-set.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit fac0bc78764a368a22623ba5b5a49ed803b0e915 +Author: Khaled Hosny +Date: Wed May 26 14:44:58 2021 +0200 + + [meson] Drop more wraps we don’t use directly + + Makefile.am | 5 ++--- + subprojects/.gitignore | 5 ----- + subprojects/libffi.wrap | 5 ----- + subprojects/libpng.wrap | 12 ------------ + subprojects/pixman.wrap | 6 ------ + subprojects/proxy-libintl.wrap | 5 ----- + subprojects/zlib.wrap | 12 ------------ + 7 files changed, 2 insertions(+), 48 deletions(-) + +commit 21d1034dc0320a43061df89a1fcb1f20c58f56a2 +Author: Khaled Hosny +Date: Wed May 26 14:31:05 2021 +0200 + + [meson] Remove expat.wrap that we don’t use directly + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2987 + + Makefile.am | 1 - + subprojects/.gitignore | 1 - + subprojects/expat.wrap | 9 --------- + 3 files changed, 11 deletions(-) + +commit 90fa558a5bfd9ac99dc8434810f50ef2b69014af +Author: Behdad Esfahbod +Date: Wed May 26 15:05:48 2021 -0600 + + [set] Another try at constexpr to make msvc happy + + src/hb-set.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bf5d4a6392de3d0d26a4d2175490532639631d4c +Author: Behdad Esfahbod +Date: Wed May 26 14:27:02 2021 -0600 + + [set] Add TODO + + src/hb-set.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 11d03f1ff973bb1a0731cdf6302d1587185c347a +Author: Behdad Esfahbod +Date: Wed May 26 14:26:05 2021 -0600 + + [set] Mark a couple methods as constexpr + + src/hb-set.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit d2829ad374a10957683b54f1d253df6653befd93 +Author: Behdad Esfahbod +Date: Wed May 26 14:24:27 2021 -0600 + + [set] Refactor code into page_t::is_subset() + + src/hb-set.hh | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +commit e47e44a8583d9f74bd13172a6a0b084745f7d5fe +Author: Behdad Esfahbod +Date: Wed May 26 14:19:27 2021 -0600 + + [set] Whitespace + + src/hb-set.hh | 15 ++------------- + 1 file changed, 2 insertions(+), 13 deletions(-) + +commit 2000f47ae539ff31c248626e4d142a3221522708 +Author: Kurt Kartaltepe +Date: Wed May 19 00:34:09 2021 -0700 + + [set] Compute is_subset by comparing pages. + + Test subsets one page at a time instead of by codepoints. On my machine + this is about 250x faster than the previous implementation. + + src/hb-set.hh | 44 +++++++++++++++++++++++++++++++++++++------- + test/api/test-set.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 90 insertions(+), 7 deletions(-) + +commit 1dffb553613d8bcaa5440d27b411ae1ff22bf68b +Author: Dominik Röttsches +Date: Tue May 18 12:31:14 2021 +0300 + + Chromium build fixes for C++ 17 warning and missing _remap_indexes + + Use class instead of typename, move _remap_indexes out of #ifndef. + + Fixes #2979 + + src/hb-ot-color-colrv1-closure.hh | 8 ++++---- + src/hb-subset-plan.cc | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 89df3539966d7d544b49495a667ccebf94bb045c +Author: Jonathan Kew +Date: Thu May 13 11:45:32 2021 +0100 + + [aat] Add testcase for Apple Color Emoji couple-with-skin-tones sequence. + + test/shaping/data/in-house/tests/macos.tests | 3 +++ + 1 file changed, 3 insertions(+) + +commit bbc5fc373143b6a5f66b7e72eac42a9377c81d1e +Author: Jonathan Kew +Date: Thu May 13 11:39:09 2021 +0100 + + [aat] If shaping via morx, don't adjust mark positioning when zeroing widths. + + src/hb-ot-shape.cc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 4f1e8d2bf702910e45d3d3756227abbb9d659093 +Author: Jonathan Kew +Date: Wed May 5 11:11:43 2021 +0100 + + [aat] Update glyph properties from GDEF if available when doing a replacement. + + src/hb-aat-layout-common.hh | 4 ++++ + src/hb-aat-layout-morx-table.hh | 17 +++++++++++++++++ + src/hb-aat-layout.cc | 7 ++++--- + 3 files changed, 25 insertions(+), 3 deletions(-) + +commit 5e0ec33b3d9379b78084cd59a9ebed3fc583eed6 +Author: Garret Rieger +Date: Wed May 12 14:46:54 2021 -0700 + + Error when link width not in [2, 4] + + src/hb-repacker.hh | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +commit b23f29bf05650134a9d398d03eb271840172ac9e +Author: Qunxin Liu +Date: Sat Apr 17 09:59:45 2021 -0700 + + [subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List + + Also add support for Offset24 in serializer and repacker + + src/hb-ot-color-colr-table.hh | 196 +++++++++++++++++++++++++++++++++++++++++- + src/hb-repacker.hh | 16 ++-- + src/hb-serialize.hh | 17 ++-- + 3 files changed, 216 insertions(+), 13 deletions(-) + +commit 413769bf8616c6b3cf420f35801bd19129155498 +Author: Garret Rieger +Date: Wed May 12 14:14:06 2021 -0700 + + Add hb-ot-color-colrv1-closure.hh to sources list. + + src/Makefile.sources | 1 + + 1 file changed, 1 insertion(+) + +commit de0eba20ed4fc38fb4bb81f8deab4a2e62187763 +Author: Garret Rieger +Date: Wed May 12 14:05:34 2021 -0700 + + Remove array for visited_paint. + + src/hb-ot-color-colr-table.hh | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +commit e59ffe54824ffefd97cd14c81b0778afb4d8a878 +Author: Qunxin Liu +Date: Thu Apr 1 12:01:19 2021 -0700 + + [subset] COLRv1 layer/palette indices closure + + src/hb-ot-color-colr-table.hh | 134 ++++++++++++++++++++++++++++++++++++++ + src/hb-ot-color-colrv1-closure.hh | 101 ++++++++++++++++++++++++++++ + src/hb-subset-plan.cc | 12 ++++ + src/hb-subset-plan.hh | 4 ++ + 4 files changed, 251 insertions(+) + +commit a08900b721fc8c5e26215dabe62c4124985d434d +Author: Garret Rieger +Date: Tue May 4 16:48:41 2021 -0700 + + [subset] fix failing colrv0 subsetting when font has composite glyphs. + + Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0. + + src/hb-subset-plan.cc | 16 ++++++++++++---- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../colr_with_components/colr-table.default.6B.ttf | Bin 0 -> 4576 bytes + .../colr-table.drop-hints-retain-gids.6B.ttf | Bin 0 -> 5300 bytes + .../colr_with_components/colr-table.drop-hints.6B.ttf | Bin 0 -> 4576 bytes + .../colr_with_components/colr-table.retain-gids.6B.ttf | Bin 0 -> 5300 bytes + test/subset/data/fonts/colr-table.ttf | Bin 0 -> 26952 bytes + test/subset/data/tests/colr_with_components.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 10 files changed, 26 insertions(+), 4 deletions(-) + +commit b54d9b695a17afb86f022084e12d72bb4a199673 +Author: tstuefe +Date: Thu May 6 06:22:48 2021 +0200 + + start + + src/hb-ot-shape-complex-use-machine.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit b07b97d5d753ffb58cd5abcbc898d602f76b0f72 +Author: Garret Rieger +Date: Mon Mar 29 10:39:38 2021 -0700 + + [subset] Add more Noto Nastaliq test cases. + + ...Urdu-Bold.default.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 11436 bytes + .../NotoNastaliqUrdu-Bold.default.627,644,62D,628.ttf | Bin 0 -> 18288 bytes + .../NotoNastaliqUrdu-Bold.default.627,644.ttf | Bin 0 -> 3568 bytes + ...aliqUrdu-Bold.default.633,645,627,621,20,644,627.ttf | Bin 0 -> 12408 bytes + .../NotoNastaliqUrdu-Bold.default.63A,64A,631.ttf | Bin 0 -> 20408 bytes + ...-Bold.retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 18272 bytes + ...otoNastaliqUrdu-Bold.retain-gids.627,644,62D,628.ttf | Bin 0 -> 24416 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644,62D.ttf | Bin 11532 -> 0 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.627,644.ttf | Bin 0 -> 9216 bytes + ...Urdu-Bold.retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 18212 bytes + .../NotoNastaliqUrdu-Bold.retain-gids.63A,64A,631.ttf | Bin 0 -> 26628 bytes + test/subset/data/tests/layout.notonastaliqurdu.tests | 7 ++++++- + 12 files changed, 6 insertions(+), 1 deletion(-) + +commit b37f03f16b39d397a626f097858e9ae550234ca0 +Author: Khaled Hosny +Date: Tue May 4 02:07:06 2021 +0200 + + 2.8.1 + + NEWS | 9 +++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 13 insertions(+), 4 deletions(-) + +commit d3e84413fd512441e62e5200eab6a24d34282e9a +Author: Khaled Hosny +Date: Sun May 2 01:03:21 2021 +0200 + + [ci] Drop macos-10_13_6-aat-fonts job + + This version of macOS is no longer supported by Homebrew, it takes 26 + minutes to brew the dependencies before it fails. + + .circleci/config.yml | 14 -------------- + 1 file changed, 14 deletions(-) + +commit 517d68b26e04be63a306cdacec20218a18ede3a4 +Author: Khaled Hosny +Date: Sat May 1 23:50:39 2021 +0200 + + [ci] Pin fedora 33 docker image + + g-ir-scanner is broken on 34 image: + + FAILED: src/HarfBuzz-0.0.gir + /usr/bin/g-ir-scanner --no-libtool --namespace=HarfBuzz --nsversion=0.0 --warn-all --output src/HarfBuzz-0.0.gir --c-include=hb-gobject.h --cflags-begin -DHB_NO_SINGLE_HEADER_ERROR -DHAVE_GOBJECT -DHB_EXTERN= --cflags-end -I/root/project/src -I/root/project/build/src -I./. -I../. --filelist=/root/project/build/src/libharfbuzz-gobject.so.0.20800.0.p/HarfBuzz_0.0_gir_filelist --include=GObject-2.0 --symbol-prefix=hb --symbol-prefix=hb_gobject --identifier-prefix=hb_ --pkg-export=harfbuzz-gobject --cflags-begin -DHAVE_CONFIG_H -I./. -I../. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I./src/. -I../src/. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/root/project/build/src --extra-library=harfbuzz --library harfbuzz-gobject -L/root/project/build/src -L/root/project/build/src --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=m --extra-library=freetype --extra-library=girepository-1.0 --sources-top-dirs /root/project/subprojects/ --sources-top-dirs /root/project/build/subprojects/ + ../src/hb-buffer.cc:641: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-face.cc:192: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-font.cc:551: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-font.cc:1519: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-map.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-ot-name.cc:55: Warning: HarfBuzz: unexpected annotation: out + ../src/hb-set.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-shape-plan.cc:173: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-shape-plan.cc:201: Warning: HarfBuzz: unknown annotation: xconstructor + ../src/hb-unicode.cc:172: Warning: HarfBuzz: unknown annotation: xconstructor + g-ir-scanner: link: gcc -pthread -o /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0 /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -lharfbuzz-gobject -lharfbuzz -lglib-2.0 -lgobject-2.0 -lm -lfreetype -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0 + ldd: error: you do not have read permission for `/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0' + Traceback (most recent call last): + File "/usr/bin/g-ir-scanner", line 99, in + sys.exit(scanner_main(sys.argv)) + File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 599, in scanner_main + shlibs = create_binary(transformer, options, args) + File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 428, in create_binary + shlibs = resolve_shlibs(options, binary, options.libraries) + File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 170, in resolve_shlibs + _resolve_non_libtool(options, binary, non_libtool)) + File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 106, in _resolve_non_libtool + output = subprocess.check_output(args) + File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + File "/usr/lib64/python3.9/subprocess.py", line 528, in run + raise CalledProcessError(retcode, process.args, + subprocess.CalledProcessError: Command '['ldd', '/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0']' returned non-zero exit status 1. + ninja: build stopped: subcommand failed. + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2b7647649a2016e1f10a0eacc2bf2285e1207954 +Author: Garret Rieger +Date: Fri Apr 30 13:34:16 2021 -0700 + + [subset] update test-subset-gpos expected files. + + test/api/fonts/AdobeVFPrototype.WA.gpos.otf | Bin 4148 -> 4096 bytes + test/api/fonts/Roboto-Regular-gpos-aw.ttf | Bin 2236 -> 2228 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit be50779cda64d6b7bc8422d6b428892ca829733f +Author: Garret Rieger +Date: Fri Apr 30 12:59:17 2021 -0700 + + [subset] correct ClassDef format determination. + + It was possible for glyph_min to be a glyph mapped to class zero which threw off the number of glyph calculation. + + src/hb-ot-layout-common.hh | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 90713f270eeb8286067c141245209814b9e7e706 +Author: Khaled Hosny +Date: Fri Apr 30 16:56:39 2021 +0200 + + [hb-ot-layout] Document some return values + + src/hb-ot-layout.cc | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +commit 46362a954c1408f8e4046d1c2069f2f9d7f80dcd +Merge: 42bf8e3d4 e25efb31f +Author: Behdad Esfahbod +Date: Fri Apr 30 11:39:47 2021 -0600 + + Merge pull request #2958 from googlefonts/layout_by_default_gr + + [subset] Enable layout subsetting by default. + +commit 42bf8e3d49b789adc00c6d7602ba8c73757ebfaf +Author: Behdad Esfahbod +Date: Mon Apr 26 12:31:44 2021 -0600 + + [util] Disable chafa's truecolor mode + + See https://github.com/harfbuzz/harfbuzz/pull/2959#issuecomment-827056111 + + util/helper-cairo-ansi.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c571a96eb0866093f6bece1069f292e34f933421 +Author: Khaled Hosny +Date: Sun Apr 25 15:43:30 2021 +0200 + + [ci] Disable Chafa on jobs that enables all auto features + + No suitable versions are available on these setups. + + .circleci/config.yml | 2 +- + .github/workflows/linux-ci.yml | 2 +- + .github/workflows/msys2-ci.yml | 3 ++- + 3 files changed, 4 insertions(+), 3 deletions(-) + +commit 8298c2f93b0dbe39eae66455c80e68e812213a2f +Author: Hans Petter Jansson +Date: Fri Apr 23 18:37:58 2021 +0200 + + [hb-view] Use Chafa for terminal graphics if available + + This produces high-quality terminal graphics using symbols or sixels + according to the detected terminal capabilities. + + Fixes #2430. + + configure.ac | 19 +++++++++ + meson.build | 7 ++++ + meson_options.txt | 2 + + util/Makefile.am | 2 + + util/helper-cairo-ansi.cc | 104 +++++++++++++++++++++++++++++++++++++++++++++- + util/meson.build | 2 +- + 6 files changed, 133 insertions(+), 3 deletions(-) + +commit e25efb31f21441d29866a2be866abb835b77d7c8 +Author: Garret Rieger +Date: Fri Apr 23 19:09:37 2021 -0700 + + [subset] consider all value formats when computing effective format. + + src/hb-ot-layout-gpos-table.hh | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit 84dbfacfec3818478a1e5ac2b9922d25917493ef +Author: Qunxin Liu +Date: Thu Apr 15 16:52:11 2021 -0700 + + [subset] fix collect_variation_idx in PairPosFormat2 + + src/hb-ot-layout-common.hh | 15 ++++++++++----- + src/hb-ot-layout-gdef-table.hh | 4 ++-- + src/hb-ot-layout-gpos-table.hh | 22 ++++++++++++++++++---- + 3 files changed, 30 insertions(+), 11 deletions(-) + +commit d356d0f79c6086e913722a8f40cbc0e59a365c1b +Author: Garret Rieger +Date: Fri Apr 23 17:41:09 2021 -0700 + + [subset] optimize ValueRecord's for PairPosFormat1. + + src/hb-ot-layout-gpos-table.hh | 53 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 52 insertions(+), 1 deletion(-) + +commit f9fbe4817ebcb0c88865dc19b7a6e616842a7be6 +Author: Garret Rieger +Date: Fri Apr 23 17:06:06 2021 -0700 + + [subset] implement value record optimization for PairPosFormat2. + + src/hb-ot-layout-gpos-table.hh | 59 ++++++++++++++++++++++++++++-------------- + 1 file changed, 40 insertions(+), 19 deletions(-) + +commit badb8e409bf65a7a0a1f73af735c86870c5c7899 +Author: Garret Rieger +Date: Fri Apr 23 16:32:56 2021 -0700 + + [subset] use copy_values for PairPos serialize. + + src/hb-ot-layout-gpos-table.hh | 111 +++++++++++++++++++++++------------------ + 1 file changed, 62 insertions(+), 49 deletions(-) + +commit 2f50283cd33f20b41a9efd5e851272edacf1d8c1 +Author: Garret Rieger +Date: Fri Apr 23 15:21:30 2021 -0700 + + [subset] Begin implementing ValueRecord optimization: + + remove value records which have a zero value. + + src/hb-ot-layout-gpos-table.hh | 91 +++++++++++++++++++++++++++++++++++------- + 1 file changed, 76 insertions(+), 15 deletions(-) + +commit 5df7c668ba530fb5b27e6eed482aa286db3add23 +Author: Garret Rieger +Date: Thu Apr 22 16:45:14 2021 -0700 + + [subset] In SinglePosFormat1 serialize only 1 value record. + + Previously one record per glyph in the subset was serialized. + + src/hb-ot-layout-gpos-table.hh | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +commit 92757f68097aaae74043a5030789289cc3ce514e +Author: Garret Rieger +Date: Thu Apr 22 15:18:35 2021 -0700 + + [subset] Don't drop anchor device tables when dropping hints. These may contain variation data. + + Update subseting expected files to match latest version of fontTools. + + src/hb-ot-layout-gpos-table.hh | 20 +++++++++----------- + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 8100 -> 8100 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 7736 -> 7736 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 7360 -> 7360 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6796 -> 6796 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 222212 -> 222212 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 7032 -> 7012 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 6724 -> 6712 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 6396 -> 6388 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 4396 -> 4396 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 4472 -> 4468 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 187952 -> 190920 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 3444 -> 3424 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 3140 -> 3128 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 2804 -> 2800 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 2396 -> 2396 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 2464 -> 2460 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 187944 -> 190908 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 9036 -> 9036 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 8668 -> 8668 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 8304 -> 8304 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 8236 -> 8236 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 8220 -> 8220 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 222212 -> 222212 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 7840 -> 7840 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 7476 -> 7476 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 7100 -> 7100 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 6536 -> 6536 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 221952 -> 221952 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 8100 -> 8100 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 7736 -> 7736 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 7360 -> 7360 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6796 -> 6796 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 222212 -> 222212 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 8100 -> 8100 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 7736 -> 7736 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 7360 -> 7360 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6796 -> 6796 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 222212 -> 222212 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 11688 -> 11688 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 11320 -> 11320 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 10952 -> 10952 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8796 -> 8796 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 222224 -> 222224 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 1208 -> 1192 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 1136 -> 1124 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 988 -> 984 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 972 -> 968 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 1208 -> 1192 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 1208 -> 1192 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 1120 -> 1108 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 988 -> 984 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 960 -> 956 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 1208 -> 1192 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 30500 -> 30488 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 3680 -> 3668 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 30636 -> 30624 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 3820 -> 3808 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 2192 -> 2184 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 6876 -> 6876 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 6552 -> 6552 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 6612 -> 6832 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 6356 -> 6552 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 5880 -> 6136 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 5180 -> 5272 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 4688 -> 4744 bytes + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 4236 -> 4264 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 4348 -> 4408 bytes + .../AdobeVFPrototype.drop-hints.41.otf | Bin 3552 -> 3560 bytes + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 4364 -> 4396 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1468 -> 1464 bytes + .../expected/layout.khmer/Khmer.default.1780.ttf | Bin 0 -> 4204 bytes + ...ult.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 6412 bytes + .../expected/layout.khmer/Khmer.default.31.ttf | Bin 0 -> 4140 bytes + .../layout.khmer/Khmer.retain-gids.1780.ttf | Bin 0 -> 4464 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 7848 bytes + .../expected/layout.khmer/Khmer.retain-gids.31.ttf | Bin 0 -> 4256 bytes + .../variable/Fraunces.default.26,66,69,124,125.ttf | Bin 0 -> 18448 bytes + .../data/expected/variable/Fraunces.default.61.ttf | Bin 0 -> 5880 bytes + 79 files changed, 9 insertions(+), 11 deletions(-) + +commit 6fddc2bbf9224bde4327e1792a683de637ad5613 +Author: Garret Rieger +Date: Thu Apr 1 15:34:17 2021 -0700 + + [subset] subset layout tables (G*) by default. + + src/hb-subset-input.cc | 3 --- + .../Comfortaa-Regular-new.default.61,62,63.ttf | Bin 7392 -> 8100 bytes + .../basics/Comfortaa-Regular-new.default.61,63.ttf | Bin 7036 -> 7736 bytes + .../basics/Comfortaa-Regular-new.default.61.ttf | Bin 6684 -> 7360 bytes + .../basics/Comfortaa-Regular-new.default.62.ttf | Bin 6628 -> 6796 bytes + .../basics/Comfortaa-Regular-new.default.63.ttf | Bin 6608 -> 6844 bytes + ...aa-Regular-new.default.retain-all-codepoint.ttf | Bin 182876 -> 222212 bytes + ...Regular-new.drop-hints-retain-gids.61,62,63.ttf | Bin 4844 -> 7032 bytes + ...aa-Regular-new.drop-hints-retain-gids.61,63.ttf | Bin 4552 -> 6724 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.61.ttf | Bin 3988 -> 6396 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.62.ttf | Bin 4228 -> 4396 bytes + ...ortaa-Regular-new.drop-hints-retain-gids.63.ttf | Bin 4236 -> 4472 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 151672 -> 187952 bytes + .../Comfortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 2852 -> 3444 bytes + .../Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 2552 -> 3140 bytes + .../basics/Comfortaa-Regular-new.drop-hints.61.ttf | Bin 2240 -> 2804 bytes + .../basics/Comfortaa-Regular-new.drop-hints.62.ttf | Bin 2228 -> 2396 bytes + .../basics/Comfortaa-Regular-new.drop-hints.63.ttf | Bin 2228 -> 2464 bytes + ...Regular-new.drop-hints.retain-all-codepoint.ttf | Bin 151608 -> 187944 bytes + .../basics/Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 8296 -> 9036 bytes + .../basics/Comfortaa-Regular-new.gids.61,63.ttf | Bin 7944 -> 8668 bytes + .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 7588 -> 8304 bytes + .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 7528 -> 8236 bytes + .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 7516 -> 8220 bytes + ...ortaa-Regular-new.gids.retain-all-codepoint.ttf | Bin 182876 -> 222212 bytes + ...Regular-new.keep-layout-drop-hints.61,62,63.ttf | Bin 3444 -> 0 bytes + ...aa-Regular-new.keep-layout-drop-hints.61,63.ttf | Bin 3140 -> 0 bytes + ...ortaa-Regular-new.keep-layout-drop-hints.61.ttf | Bin 2804 -> 0 bytes + ...ortaa-Regular-new.keep-layout-drop-hints.62.ttf | Bin 2396 -> 0 bytes + ...ortaa-Regular-new.keep-layout-drop-hints.63.ttf | Bin 2464 -> 0 bytes + ...keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 187944 -> 0 bytes + .../Comfortaa-Regular-new.keep-layout.61,62,63.ttf | Bin 8100 -> 0 bytes + .../Comfortaa-Regular-new.keep-layout.61,63.ttf | Bin 7736 -> 0 bytes + .../Comfortaa-Regular-new.keep-layout.61.ttf | Bin 7360 -> 0 bytes + .../Comfortaa-Regular-new.keep-layout.62.ttf | Bin 6796 -> 0 bytes + .../Comfortaa-Regular-new.keep-layout.63.ttf | Bin 6844 -> 0 bytes + ...egular-new.keep-layout.retain-all-codepoint.ttf | Bin 222212 -> 0 bytes + .../Comfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 7132 -> 7840 bytes + .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 6776 -> 7476 bytes + .../basics/Comfortaa-Regular-new.name-ids.61.ttf | Bin 6424 -> 7100 bytes + .../basics/Comfortaa-Regular-new.name-ids.62.ttf | Bin 6368 -> 6536 bytes + .../basics/Comfortaa-Regular-new.name-ids.63.ttf | Bin 6348 -> 6584 bytes + ...a-Regular-new.name-ids.retain-all-codepoint.ttf | Bin 182616 -> 221952 bytes + ...mfortaa-Regular-new.name-languages.61,62,63.ttf | Bin 7392 -> 8100 bytes + .../Comfortaa-Regular-new.name-languages.61,63.ttf | Bin 7036 -> 7736 bytes + .../Comfortaa-Regular-new.name-languages.61.ttf | Bin 6684 -> 7360 bytes + .../Comfortaa-Regular-new.name-languages.62.ttf | Bin 6628 -> 6796 bytes + .../Comfortaa-Regular-new.name-languages.63.ttf | Bin 6608 -> 6844 bytes + ...lar-new.name-languages.retain-all-codepoint.ttf | Bin 182876 -> 222212 bytes + .../Comfortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 7392 -> 8100 bytes + .../Comfortaa-Regular-new.name-legacy.61,63.ttf | Bin 7036 -> 7736 bytes + .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 6684 -> 7360 bytes + .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 6628 -> 6796 bytes + .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 6608 -> 6844 bytes + ...egular-new.name-legacy.retain-all-codepoint.ttf | Bin 182876 -> 222212 bytes + .../Comfortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 9384 -> 11688 bytes + .../Comfortaa-Regular-new.retain-gids.61,63.ttf | Bin 9036 -> 11320 bytes + .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 8432 -> 10952 bytes + .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 8628 -> 8796 bytes + .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 8616 -> 8852 bytes + ...egular-new.retain-gids.retain-all-codepoint.ttf | Bin 182940 -> 222224 bytes + ...ular-subset.keep-layout-drop-hints.61,62,63.ttf | Bin 1452 -> 0 bytes + ...Regular-subset.keep-layout-drop-hints.61,63.ttf | Bin 1276 -> 0 bytes + ...jo-Regular-subset.keep-layout-drop-hints.61.ttf | Bin 1128 -> 0 bytes + ...jo-Regular-subset.keep-layout-drop-hints.62.ttf | Bin 1140 -> 0 bytes + ...jo-Regular-subset.keep-layout-drop-hints.63.ttf | Bin 1104 -> 0 bytes + ...keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 3536 -> 0 bytes + ...yeongjo-Regular-subset.keep-layout.61,62,63.ttf | Bin 4128 -> 0 bytes + ...umMyeongjo-Regular-subset.keep-layout.61,63.ttf | Bin 3580 -> 0 bytes + ...NanumMyeongjo-Regular-subset.keep-layout.61.ttf | Bin 3156 -> 0 bytes + ...NanumMyeongjo-Regular-subset.keep-layout.62.ttf | Bin 3180 -> 0 bytes + ...NanumMyeongjo-Regular-subset.keep-layout.63.ttf | Bin 3048 -> 0 bytes + ...lar-subset.keep-layout.retain-all-codepoint.ttf | Bin 9524 -> 0 bytes + .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 1988 -> 2260 bytes + .../basics/Roboto-Regular.abc.default.61.ttf | Bin 1792 -> 2048 bytes + .../basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 -> 1916 bytes + .../basics/Roboto-Regular.abc.default.63.ttf | Bin 1716 -> 1972 bytes + ...to-Regular.abc.default.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + ...Regular.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 924 -> 1208 bytes + ...to-Regular.abc.drop-hints-retain-gids.61,63.ttf | Bin 856 -> 1136 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 732 -> 988 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 704 -> 880 bytes + ...oboto-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 716 -> 972 bytes + ...drop-hints-retain-gids.retain-all-codepoint.ttf | Bin 924 -> 1208 bytes + .../Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 924 -> 1208 bytes + .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 848 -> 1120 bytes + .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 732 -> 988 bytes + .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 700 -> 876 bytes + .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 704 -> 960 bytes + ...Regular.abc.drop-hints.retain-all-codepoint.ttf | Bin 924 -> 1208 bytes + .../basics/Roboto-Regular.abc.gids.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 2168 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.61.ttf | Bin 2168 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.62.ttf | Bin 2168 -> 2452 bytes + .../expected/basics/Roboto-Regular.abc.gids.63.ttf | Bin 2168 -> 2452 bytes + ...oboto-Regular.abc.gids.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + ...Regular.abc.keep-layout-drop-hints.61,62,63.ttf | Bin 1208 -> 0 bytes + ...to-Regular.abc.keep-layout-drop-hints.61,63.ttf | Bin 1120 -> 0 bytes + ...oboto-Regular.abc.keep-layout-drop-hints.61.ttf | Bin 988 -> 0 bytes + ...oboto-Regular.abc.keep-layout-drop-hints.62.ttf | Bin 876 -> 0 bytes + ...oboto-Regular.abc.keep-layout-drop-hints.63.ttf | Bin 960 -> 0 bytes + ...keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 1208 -> 0 bytes + .../Roboto-Regular.abc.keep-layout.61,62,63.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.keep-layout.61,63.ttf | Bin 2260 -> 0 bytes + .../basics/Roboto-Regular.abc.keep-layout.61.ttf | Bin 2048 -> 0 bytes + .../basics/Roboto-Regular.abc.keep-layout.62.ttf | Bin 1916 -> 0 bytes + .../basics/Roboto-Regular.abc.keep-layout.63.ttf | Bin 1972 -> 0 bytes + ...egular.abc.keep-layout.retain-all-codepoint.ttf | Bin 2452 -> 0 bytes + .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../basics/Roboto-Regular.abc.name-ids.61,63.ttf | Bin 1988 -> 2260 bytes + .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 1792 -> 2048 bytes + .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 1740 -> 1916 bytes + .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 1716 -> 1972 bytes + ...o-Regular.abc.name-ids.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.name-languages.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.name-languages.61,63.ttf | Bin 1988 -> 2260 bytes + .../Roboto-Regular.abc.name-languages.61.ttf | Bin 1792 -> 2048 bytes + .../Roboto-Regular.abc.name-languages.62.ttf | Bin 1740 -> 1916 bytes + .../Roboto-Regular.abc.name-languages.63.ttf | Bin 1716 -> 1972 bytes + ...lar.abc.name-languages.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 1988 -> 2260 bytes + .../basics/Roboto-Regular.abc.name-legacy.61.ttf | Bin 1792 -> 2048 bytes + .../basics/Roboto-Regular.abc.name-legacy.62.ttf | Bin 1740 -> 1916 bytes + .../basics/Roboto-Regular.abc.name-legacy.63.ttf | Bin 1716 -> 1972 bytes + ...egular.abc.name-legacy.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 2168 -> 2452 bytes + .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 1996 -> 2276 bytes + .../basics/Roboto-Regular.abc.retain-gids.61.ttf | Bin 1792 -> 2048 bytes + .../basics/Roboto-Regular.abc.retain-gids.62.ttf | Bin 1748 -> 1924 bytes + .../basics/Roboto-Regular.abc.retain-gids.63.ttf | Bin 1732 -> 1988 bytes + ...egular.abc.retain-gids.retain-all-codepoint.ttf | Bin 2168 -> 2452 bytes + ...olorEmoji.subset.index_format3.default.2049.ttf | Bin 3112 -> 3108 bytes + ...rEmoji.subset.index_format3.default.38,2049.ttf | Bin 4080 -> 4076 bytes + ...rEmoji.subset.index_format3.default.38,20E3.ttf | Bin 3564 -> 3560 bytes + ...index_format3.default.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...oji.subset.index_format3.default.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...oColorEmoji.subset.index_format3.default.39.ttf | Bin 1920 -> 1916 bytes + ...oColorEmoji.subset.index_format3.default.AE.ttf | Bin 4412 -> 4408 bytes + ...t.index_format3.drop-hints-retain-gids.2049.ttf | Bin 3136 -> 3132 bytes + ...ndex_format3.drop-hints-retain-gids.38,2049.ttf | Bin 4104 -> 4100 bytes + ...ndex_format3.drop-hints-retain-gids.38,20E3.ttf | Bin 3596 -> 3592 bytes + ...rop-hints-retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...x_format3.drop-hints-retain-gids.38,AE,2049.ttf | Bin 7556 -> 7552 bytes + ...set.index_format3.drop-hints-retain-gids.39.ttf | Bin 1928 -> 1924 bytes + ...set.index_format3.drop-hints-retain-gids.AE.ttf | Bin 4428 -> 4424 bytes + ...rEmoji.subset.index_format3.drop-hints.2049.ttf | Bin 3112 -> 3108 bytes + ...oji.subset.index_format3.drop-hints.38,2049.ttf | Bin 4080 -> 4076 bytes + ...oji.subset.index_format3.drop-hints.38,20E3.ttf | Bin 3564 -> 3560 bytes + ...ex_format3.drop-hints.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ....subset.index_format3.drop-hints.38,AE,2049.ttf | Bin 7536 -> 7536 bytes + ...lorEmoji.subset.index_format3.drop-hints.39.ttf | Bin 1920 -> 1916 bytes + ...lorEmoji.subset.index_format3.drop-hints.AE.ttf | Bin 4412 -> 4408 bytes + ...Emoji.subset.index_format3.retain-gids.2049.ttf | Bin 3136 -> 3132 bytes + ...ji.subset.index_format3.retain-gids.38,2049.ttf | Bin 4104 -> 4100 bytes + ...ji.subset.index_format3.retain-gids.38,20E3.ttf | Bin 3596 -> 3592 bytes + ...x_format3.retain-gids.38,39,AE,2049,38,20E3.ttf | Bin 10112 -> 10112 bytes + ...subset.index_format3.retain-gids.38,AE,2049.ttf | Bin 7556 -> 7552 bytes + ...orEmoji.subset.index_format3.retain-gids.39.ttf | Bin 1928 -> 1924 bytes + ...orEmoji.subset.index_format3.retain-gids.AE.ttf | Bin 4428 -> 4424 bytes + ...eSansPro-Regular.default.1FC,21,41,20,62,63.otf | Bin 2180 -> 4192 bytes + .../SourceSansPro-Regular.default.61,62,63.otf | Bin 1892 -> 3856 bytes + ...ourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf | Bin 2008 -> 3144 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 19796 -> 30788 bytes + ...Regular.desubroutinize-retain-gids.61,62,63.otf | Bin 1992 -> 30908 bytes + ...r.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30208 -> 31336 bytes + ...o-Regular.desubroutinize.1FC,21,41,20,62,63.otf | Bin 2036 -> 3968 bytes + ...urceSansPro-Regular.desubroutinize.61,62,63.otf | Bin 1796 -> 3556 bytes + ...nsPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf | Bin 1992 -> 3168 bytes + ...subroutinize-retain-gids.1FC,21,41,20,62,63.otf | Bin 19636 -> 30500 bytes + ...p-hints-desubroutinize-retain-gids.61,62,63.otf | Bin 1868 -> 30668 bytes + ...s-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30060 -> 31124 bytes + ...rop-hints-desubroutinize.1FC,21,41,20,62,63.otf | Bin 1876 -> 3680 bytes + ...-Regular.drop-hints-desubroutinize.61,62,63.otf | Bin 1672 -> 3320 bytes + ...ar.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf | Bin 1844 -> 2952 bytes + ...r.drop-hints-retain-gids.1FC,21,41,20,62,63.otf | Bin 19728 -> 30636 bytes + ...Pro-Regular.drop-hints-retain-gids.61,62,63.otf | Bin 1904 -> 30888 bytes + ...gular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf | Bin 30072 -> 31104 bytes + ...nsPro-Regular.drop-hints.1FC,21,41,20,62,63.otf | Bin 1960 -> 3820 bytes + .../SourceSansPro-Regular.drop-hints.61,62,63.otf | Bin 1736 -> 3524 bytes + ...ceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf | Bin 1860 -> 2932 bytes + ...sPro-Regular.retain-gids.1FC,21,41,20,62,63.otf | Bin 19948 -> 31012 bytes + .../SourceSansPro-Regular.retain-gids.61,62,63.otf | Bin 2060 -> 31208 bytes + ...eSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf | Bin 30224 -> 31312 bytes + ...ubset.default.3042,3044,3046,3048,304A,304B.otf | Bin 3036 -> 4884 bytes + ...ubset.default.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 3248 -> 6276 bytes + ...eHanSans-Regular_subset.default.61,63,65,6B.otf | Bin 2208 -> 2588 bytes + ...ubset.default.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 3468 -> 6736 bytes + .../SourceHanSans-Regular_subset.default.660E.otf | Bin 1928 -> 2456 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 8932 -> 129876 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 116080 -> 130920 bytes + ...bset.desubroutinize-retain-gids.61,63,65,6B.otf | Bin 3016 -> 3412 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 116264 -> 122048 bytes + ...ular_subset.desubroutinize-retain-gids.660E.otf | Bin 50224 -> 50760 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 2960 -> 4724 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 3144 -> 5928 bytes + ...s-Regular_subset.desubroutinize.61,63,65,6B.otf | Bin 2140 -> 2520 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 3264 -> 6232 bytes + ...eHanSans-Regular_subset.desubroutinize.660E.otf | Bin 1904 -> 2440 bytes + ...e-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 8672 -> 129448 bytes + ...e-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 115768 -> 130312 bytes + ...ints-desubroutinize-retain-gids.61,63,65,6B.otf | Bin 2892 -> 3288 bytes + ...e-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 115884 -> 121284 bytes + ....drop-hints-desubroutinize-retain-gids.660E.otf | Bin 50040 -> 50540 bytes + ...esubroutinize.3042,3044,3046,3048,304A,304B.otf | Bin 2800 -> 4420 bytes + ...esubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 2904 -> 5416 bytes + ...ubset.drop-hints-desubroutinize.61,63,65,6B.otf | Bin 2036 -> 2416 bytes + ...esubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 2972 -> 5556 bytes + ...gular_subset.drop-hints-desubroutinize.660E.otf | Bin 1812 -> 2308 bytes + ...s-retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 8740 -> 129576 bytes + ...s-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 115864 -> 130604 bytes + ...r_subset.drop-hints-retain-gids.61,63,65,6B.otf | Bin 2852 -> 3248 bytes + ...s-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 116084 -> 121776 bytes + ...-Regular_subset.drop-hints-retain-gids.660E.otf | Bin 50060 -> 50552 bytes + ...et.drop-hints.3042,3044,3046,3048,304A,304B.otf | Bin 2856 -> 4548 bytes + ...et.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 2996 -> 5708 bytes + ...nSans-Regular_subset.drop-hints.61,63,65,6B.otf | Bin 2068 -> 2448 bytes + ...et.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 3172 -> 6048 bytes + ...ourceHanSans-Regular_subset.drop-hints.660E.otf | Bin 1832 -> 2316 bytes + ...t.retain-gids.3042,3044,3046,3048,304A,304B.otf | Bin 9016 -> 130036 bytes + ...t.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf | Bin 116184 -> 131272 bytes + ...Sans-Regular_subset.retain-gids.61,63,65,6B.otf | Bin 3012 -> 3408 bytes + ...t.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf | Bin 116468 -> 122552 bytes + ...urceHanSans-Regular_subset.retain-gids.660E.otf | Bin 50244 -> 50776 bytes + .../TwemojiMozilla.subset.default.32,3297,3299.ttf | Bin 5624 -> 5712 bytes + .../colr/TwemojiMozilla.subset.default.32,3297.ttf | Bin 5088 -> 5176 bytes + .../colr/TwemojiMozilla.subset.default.32,3299.ttf | Bin 5264 -> 5352 bytes + .../colr/TwemojiMozilla.subset.default.32.ttf | Bin 4664 -> 4748 bytes + .../TwemojiMozilla.subset.default.3297,3299.ttf | Bin 5604 -> 5692 bytes + .../colr/TwemojiMozilla.subset.default.3297.ttf | Bin 5068 -> 5152 bytes + .../colr/TwemojiMozilla.subset.default.3299.ttf | Bin 5244 -> 5328 bytes + ....subset.drop-hints-retain-gids.32,3297,3299.ttf | Bin 5604 -> 5692 bytes + ...zilla.subset.drop-hints-retain-gids.32,3297.ttf | Bin 5084 -> 5172 bytes + ...zilla.subset.drop-hints-retain-gids.32,3299.ttf | Bin 5264 -> 5352 bytes + ...ojiMozilla.subset.drop-hints-retain-gids.32.ttf | Bin 4644 -> 4728 bytes + ...lla.subset.drop-hints-retain-gids.3297,3299.ttf | Bin 5588 -> 5676 bytes + ...iMozilla.subset.drop-hints-retain-gids.3297.ttf | Bin 5064 -> 5148 bytes + ...iMozilla.subset.drop-hints-retain-gids.3299.ttf | Bin 5244 -> 5328 bytes + ...emojiMozilla.subset.drop-hints.32,3297,3299.ttf | Bin 5604 -> 5692 bytes + .../TwemojiMozilla.subset.drop-hints.32,3297.ttf | Bin 5068 -> 5156 bytes + .../TwemojiMozilla.subset.drop-hints.32,3299.ttf | Bin 5244 -> 5332 bytes + .../colr/TwemojiMozilla.subset.drop-hints.32.ttf | Bin 4644 -> 4728 bytes + .../TwemojiMozilla.subset.drop-hints.3297,3299.ttf | Bin 5584 -> 5672 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3297.ttf | Bin 5048 -> 5132 bytes + .../colr/TwemojiMozilla.subset.drop-hints.3299.ttf | Bin 5224 -> 5308 bytes + ...mojiMozilla.subset.retain-gids.32,3297,3299.ttf | Bin 5624 -> 5712 bytes + .../TwemojiMozilla.subset.retain-gids.32,3297.ttf | Bin 5104 -> 5192 bytes + .../TwemojiMozilla.subset.retain-gids.32,3299.ttf | Bin 5284 -> 5372 bytes + .../colr/TwemojiMozilla.subset.retain-gids.32.ttf | Bin 4664 -> 4748 bytes + ...TwemojiMozilla.subset.retain-gids.3297,3299.ttf | Bin 5608 -> 5696 bytes + .../TwemojiMozilla.subset.retain-gids.3297.ttf | Bin 5084 -> 5168 bytes + .../TwemojiMozilla.subset.retain-gids.3299.ttf | Bin 5264 -> 5348 bytes + .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 2984 -> 4656 bytes + .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 2580 -> 3904 bytes + .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 2944 -> 3976 bytes + ...oboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 1436 -> 2532 bytes + .../Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1228 -> 2116 bytes + .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 1464 -> 2192 bytes + ...ifVariable-Roman.default.1FC,21,41,20,62,63.ttf | Bin 3572 -> 6876 bytes + .../SourceSerifVariable-Roman.default.61,62,63.ttf | Bin 3540 -> 6552 bytes + ...eSerifVariable-Roman.default.D7,D8,D9,DA,DE.ttf | Bin 4032 -> 6136 bytes + ...ariable-Roman.drop-hints.1FC,21,41,20,62,63.ttf | Bin 3572 -> 6612 bytes + ...urceSerifVariable-Roman.drop-hints.61,62,63.ttf | Bin 3540 -> 6356 bytes + ...rifVariable-Roman.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 4032 -> 5880 bytes + .../Mplus1p-Regular.default.1D715,1D7D8,41,42.ttf | Bin 2108 -> 2344 bytes + .../japanese/Mplus1p-Regular.default.25771.ttf | Bin 1824 -> 1992 bytes + ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 2532 -> 2704 bytes + ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2776 -> 2948 bytes + .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2076 -> 2324 bytes + ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3072 -> 3244 bytes + .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 1816 -> 1984 bytes + ...plus1p-Regular.drop-hints.1D715,1D7D8,41,42.ttf | Bin 1380 -> 1616 bytes + .../japanese/Mplus1p-Regular.drop-hints.25771.ttf | Bin 1096 -> 1264 bytes + ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 1804 -> 1976 bytes + ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2048 -> 2220 bytes + .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1348 -> 1596 bytes + ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2344 -> 2516 bytes + .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1088 -> 1256 bytes + ...Mplus1p-Regular.keep-gdef.1D715,1D7D8,41,42.ttf | Bin 2148 -> 2344 bytes + .../japanese/Mplus1p-Regular.keep-gdef.25771.ttf | Bin 1860 -> 1992 bytes + ...lar.keep-gdef.3042,3044,3046,3048,304A,304B.ttf | Bin 2572 -> 2704 bytes + ...lar.keep-gdef.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2816 -> 2948 bytes + .../Mplus1p-Regular.keep-gdef.61,63,65,6B.ttf | Bin 2116 -> 2324 bytes + ...lar.keep-gdef.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3112 -> 3244 bytes + .../japanese/Mplus1p-Regular.keep-gdef.660E.ttf | Bin 1852 -> 1984 bytes + ...ext1_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...ontext1_multiple_subrules_f1.default.41,42.otf} | Bin + ...ontext1_multiple_subrules_f1.default.41,43.otf} | Bin + ...s_context1_multiple_subrules_f1.default.41.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...xt1_multiple_subrules_f1.retain-gids.41,42.otf} | Bin + ...xt1_multiple_subrules_f1.retain-gids.41,43.otf} | Bin + ...ntext1_multiple_subrules_f1.retain-gids.41.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...ext2_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...ontext2_multiple_subrules_f1.default.41,42.otf} | Bin + ...ontext2_multiple_subrules_f1.default.41,43.otf} | Bin + ...s_context2_multiple_subrules_f1.default.41.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...xt2_multiple_subrules_f1.retain-gids.41,42.otf} | Bin + ...xt2_multiple_subrules_f1.retain-gids.41,43.otf} | Bin + ...ntext2_multiple_subrules_f1.retain-gids.41.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...> gpos_context3_simple_f1.default.41,42,43.otf} | Bin + ...f => gpos_context3_simple_f1.default.41,42.otf} | Bin + ...f => gpos_context3_simple_f1.default.41,43.otf} | Bin + ....otf => gpos_context3_simple_f1.default.41.otf} | Bin + ...xt3_simple_f1.default.retain-all-codepoint.otf} | Bin + ...os_context3_simple_f1.retain-gids.41,42,43.otf} | Bin + ... gpos_context3_simple_f1.retain-gids.41,42.otf} | Bin + ... gpos_context3_simple_f1.retain-gids.41,43.otf} | Bin + ... => gpos_context3_simple_f1.retain-gids.41.otf} | Bin + ...simple_f1.retain-gids.retain-all-codepoint.otf} | Bin + .../IndicTestJalandhar-Regular.default.A01.ttf | Bin 4088 -> 4220 bytes + .../IndicTestJalandhar-Regular.default.A05,A06.ttf | Bin 4652 -> 4796 bytes + .../IndicTestJalandhar-Regular.default.A07,A1B.ttf | Bin 4620 -> 4768 bytes + ...andhar-Regular.default.retain-all-codepoint.ttf | Bin 28176 -> 49288 bytes + .../IndicTestJalandhar-Regular.drop-hints.A01.ttf | Bin 948 -> 1080 bytes + ...dicTestJalandhar-Regular.drop-hints.A05,A06.ttf | Bin 1244 -> 1388 bytes + ...dicTestJalandhar-Regular.drop-hints.A07,A1B.ttf | Bin 1240 -> 1388 bytes + ...har-Regular.drop-hints.retain-all-codepoint.ttf | Bin 15200 -> 29504 bytes + .../IndicTestJalandhar-Regular.keep-gdef.A01.ttf | Bin 4140 -> 4220 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A05,A06.ttf | Bin 4716 -> 4796 bytes + ...ndicTestJalandhar-Regular.keep-gdef.A07,A1B.ttf | Bin 4688 -> 4768 bytes + ...dhar-Regular.keep-gdef.retain-all-codepoint.ttf | Bin 28604 -> 49288 bytes + .../AdobeVFPrototype.default.41,42,43,57.otf | Bin 4960 -> 5460 bytes + .../AdobeVFPrototype.default.41,42,43.otf | Bin 4540 -> 4932 bytes + .../AdobeVFPrototype.default.41,42.otf | Bin 4132 -> 4452 bytes + .../AdobeVFPrototype.default.41,56,57.otf | Bin 4152 -> 4600 bytes + .../AdobeVFPrototype.default.41.otf | Bin 3468 -> 3748 bytes + .../AdobeVFPrototype.default.42,57.otf | Bin 4208 -> 4584 bytes + .../AdobeVFPrototype.drop-hints.41,42,43,57.otf | Bin 4772 -> 5180 bytes + .../AdobeVFPrototype.drop-hints.41,42,43.otf | Bin 4352 -> 4688 bytes + .../AdobeVFPrototype.drop-hints.41,42.otf | Bin 3944 -> 4236 bytes + .../AdobeVFPrototype.drop-hints.41,56,57.otf | Bin 3964 -> 4348 bytes + .../AdobeVFPrototype.drop-hints.41.otf | Bin 3280 -> 3552 bytes + .../AdobeVFPrototype.drop-hints.42,57.otf | Bin 4020 -> 4364 bytes + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5400 -> 5460 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4872 -> 4932 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4392 -> 4452 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4540 -> 4600 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3688 -> 3748 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4524 -> 4584 bytes + .../Roboto-Regular.default.1E00,303.ttf | Bin 2456 -> 2720 bytes + .../layout.gdef/Roboto-Regular.default.303.ttf | Bin 2128 -> 2312 bytes + .../Roboto-Regular.default.309,20,30F.ttf | Bin 2220 -> 2408 bytes + .../layout.gdef/Roboto-Regular.default.323.ttf | Bin 2020 -> 2204 bytes + .../Roboto-Regular.default.41,42,43.ttf | Bin 2480 -> 3668 bytes + .../Roboto-Regular.drop-hints.1E00,303.ttf | Bin 1204 -> 1468 bytes + .../layout.gdef/Roboto-Regular.drop-hints.303.ttf | Bin 1012 -> 1196 bytes + .../Roboto-Regular.drop-hints.309,20,30F.ttf | Bin 1068 -> 1256 bytes + .../layout.gdef/Roboto-Regular.drop-hints.323.ttf | Bin 952 -> 1136 bytes + .../Roboto-Regular.drop-hints.41,42,43.ttf | Bin 1188 -> 2036 bytes + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2648 -> 2720 bytes + .../Roboto-Regular.keep-gdef-gpos.303.ttf | Bin 2240 -> 2312 bytes + .../Roboto-Regular.keep-gdef-gpos.309,20,30F.ttf | Bin 2336 -> 2408 bytes + .../Roboto-Regular.keep-gdef-gpos.323.ttf | Bin 2132 -> 2204 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2728 -> 3668 bytes + ...ut.41,43.otf => gpos1_2_font.default.41,43.otf} | Bin + ...ut.41,46.otf => gpos1_2_font.default.41,46.otf} | Bin + ...p-layout.41.otf => gpos1_2_font.default.41.otf} | Bin + ...ut.42,44.otf => gpos1_2_font.default.42,44.otf} | Bin + ...ut.43,46.otf => gpos1_2_font.default.43,46.otf} | Bin + ... gpos1_2_font.default.retain-all-codepoint.otf} | Bin + ...1,43.otf => gpos1_2_font.retain-gids.41,43.otf} | Bin + ...1,46.otf => gpos1_2_font.retain-gids.41,46.otf} | Bin + ...gids.41.otf => gpos1_2_font.retain-gids.41.otf} | Bin + ...2,44.otf => gpos1_2_font.retain-gids.42,44.otf} | Bin + ...3,46.otf => gpos1_2_font.retain-gids.43,46.otf} | Bin + ...s1_2_font.retain-gids.retain-all-codepoint.otf} | Bin + ...3,25.otf => gpos2_1_font7.default.21,23,25.otf} | Bin + ...t.21,23.otf => gpos2_1_font7.default.21,23.otf} | Bin + ...t.2E,23.otf => gpos2_1_font7.default.2E,23.otf} | Bin + ...2,43.otf => gpos2_1_font7.default.41,42,43.otf} | Bin + ...gpos2_1_font7.default.retain-all-codepoint.otf} | Bin + ....otf => gpos2_1_font7.retain-gids.21,23,25.otf} | Bin + ...,23.otf => gpos2_1_font7.retain-gids.21,23.otf} | Bin + ...,23.otf => gpos2_1_font7.retain-gids.2E,23.otf} | Bin + ....otf => gpos2_1_font7.retain-gids.41,42,43.otf} | Bin + ...2_1_font7.retain-gids.retain-all-codepoint.otf} | Bin + ...3,25.otf => gpos2_2_font5.default.21,23,25.otf} | Bin + ...t.21,23.otf => gpos2_2_font5.default.21,23.otf} | Bin + ...t.2E,23.otf => gpos2_2_font5.default.2E,23.otf} | Bin + ...2,43.otf => gpos2_2_font5.default.41,42,43.otf} | Bin + ...gpos2_2_font5.default.retain-all-codepoint.otf} | Bin + ....otf => gpos2_2_font5.retain-gids.21,23,25.otf} | Bin + ...,23.otf => gpos2_2_font5.retain-gids.21,23.otf} | Bin + ...,23.otf => gpos2_2_font5.retain-gids.2E,23.otf} | Bin + ....otf => gpos2_2_font5.retain-gids.41,42,43.otf} | Bin + ...2_2_font5.retain-gids.retain-all-codepoint.otf} | Bin + ...out.28,29.otf => gpos3_font3.default.28,29.otf} | Bin + ...out.28,2B.otf => gpos3_font3.default.28,2B.otf} | Bin + ...out.29,2B.otf => gpos3_font3.default.29,2B.otf} | Bin + ...,42,43.otf => gpos3_font3.default.41,42,43.otf} | Bin + ...> gpos3_font3.default.retain-all-codepoint.otf} | Bin + ...28,29.otf => gpos3_font3.retain-gids.28,29.otf} | Bin + ...28,2B.otf => gpos3_font3.retain-gids.28,2B.otf} | Bin + ...29,2B.otf => gpos3_font3.retain-gids.29,2B.otf} | Bin + ...43.otf => gpos3_font3.retain-gids.41,42,43.otf} | Bin + ...os3_font3.retain-gids.retain-all-codepoint.otf} | Bin + ...os4_multiple_anchors_1.default.41,42,43,44.otf} | Bin + ...os4_multiple_anchors_1.default.41,42,43,45.otf} | Bin + ... gpos4_multiple_anchors_1.default.41,42,43.otf} | Bin + ... => gpos4_multiple_anchors_1.default.41,42.otf} | Bin + ..._multiple_anchors_1.default.41,43,44,45,46.otf} | Bin + ... gpos4_multiple_anchors_1.default.41,43,44.otf} | Bin + ... gpos4_multiple_anchors_1.default.41,43,45.otf} | Bin + ... => gpos4_multiple_anchors_1.default.41,43.otf} | Bin + ...otf => gpos4_multiple_anchors_1.default.41.otf} | Bin + ...ple_anchors_1.default.retain-all-codepoint.otf} | Bin + ...multiple_anchors_1.retain-gids.41,42,43,44.otf} | Bin + ...multiple_anchors_1.retain-gids.41,42,43,45.otf} | Bin + ...s4_multiple_anchors_1.retain-gids.41,42,43.otf} | Bin + ...gpos4_multiple_anchors_1.retain-gids.41,42.otf} | Bin + ...tiple_anchors_1.retain-gids.41,43,44,45,46.otf} | Bin + ...s4_multiple_anchors_1.retain-gids.41,43,44.otf} | Bin + ...s4_multiple_anchors_1.retain-gids.41,43,45.otf} | Bin + ...gpos4_multiple_anchors_1.retain-gids.41,43.otf} | Bin + ...=> gpos4_multiple_anchors_1.retain-gids.41.otf} | Bin + ...anchors_1.retain-gids.retain-all-codepoint.otf} | Bin + ...,44.otf => gpos5_font1.default.41,42,43,44.otf} | Bin + ...,45.otf => gpos5_font1.default.41,42,43,45.otf} | Bin + ...,42,43.otf => gpos5_font1.default.41,42,43.otf} | Bin + ...,42,44.otf => gpos5_font1.default.41,42,44.otf} | Bin + ...,42,45.otf => gpos5_font1.default.41,42,45.otf} | Bin + ...out.41,42.otf => gpos5_font1.default.41,42.otf} | Bin + ...out.41,43.otf => gpos5_font1.default.41,43.otf} | Bin + ...ep-layout.41.otf => gpos5_font1.default.41.otf} | Bin + ...ep-layout.42.otf => gpos5_font1.default.42.otf} | Bin + ...> gpos5_font1.default.retain-all-codepoint.otf} | Bin + ...otf => gpos5_font1.retain-gids.41,42,43,44.otf} | Bin + ...otf => gpos5_font1.retain-gids.41,42,43,45.otf} | Bin + ...43.otf => gpos5_font1.retain-gids.41,42,43.otf} | Bin + ...44.otf => gpos5_font1.retain-gids.41,42,44.otf} | Bin + ...45.otf => gpos5_font1.retain-gids.41,42,45.otf} | Bin + ...41,42.otf => gpos5_font1.retain-gids.41,42.otf} | Bin + ...41,43.otf => gpos5_font1.retain-gids.41,43.otf} | Bin + ...-gids.41.otf => gpos5_font1.retain-gids.41.otf} | Bin + ...-gids.42.otf => gpos5_font1.retain-gids.42.otf} | Bin + ...os5_font1.retain-gids.retain-all-codepoint.otf} | Bin + ...,44.otf => gpos6_font1.default.41,42,43,44.otf} | Bin + ...,45.otf => gpos6_font1.default.41,42,43,45.otf} | Bin + ...,42,43.otf => gpos6_font1.default.41,42,43.otf} | Bin + ...out.41,42.otf => gpos6_font1.default.41,42.otf} | Bin + ....otf => gpos6_font1.default.41,43,44,45,46.otf} | Bin + ...,43,44.otf => gpos6_font1.default.41,43,44.otf} | Bin + ...,43,45.otf => gpos6_font1.default.41,43,45.otf} | Bin + ...out.41,43.otf => gpos6_font1.default.41,43.otf} | Bin + ...ep-layout.41.otf => gpos6_font1.default.41.otf} | Bin + ...> gpos6_font1.default.retain-all-codepoint.otf} | Bin + ...otf => gpos6_font1.retain-gids.41,42,43,44.otf} | Bin + ...otf => gpos6_font1.retain-gids.41,42,43,45.otf} | Bin + ...43.otf => gpos6_font1.retain-gids.41,42,43.otf} | Bin + ...41,42.otf => gpos6_font1.retain-gids.41,42.otf} | Bin + ... => gpos6_font1.retain-gids.41,43,44,45,46.otf} | Bin + ...44.otf => gpos6_font1.retain-gids.41,43,44.otf} | Bin + ...45.otf => gpos6_font1.retain-gids.41,43,45.otf} | Bin + ...41,43.otf => gpos6_font1.retain-gids.41,43.otf} | Bin + ...-gids.41.otf => gpos6_font1.retain-gids.41.otf} | Bin + ...os6_font1.retain-gids.retain-all-codepoint.otf} | Bin + ...lar.default.627,644,623,62D,644,627,645,2E.ttf} | Bin + ...f => Amiri-Regular.default.627,644,62D,628.ttf} | Bin + ...7,644.ttf => Amiri-Regular.default.627,644.ttf} | Bin + ...Regular.default.633,645,627,621,20,644,627.ttf} | Bin + ...1.ttf => Amiri-Regular.default.63A,64A,631.ttf} | Bin + ...retain-gids.627,644,623,62D,644,627,645,2E.ttf} | Bin + ... Amiri-Regular.retain-gids.627,644,62D,628.ttf} | Bin + ...4.ttf => Amiri-Regular.retain-gids.627,644.ttf} | Bin + ...lar.retain-gids.633,645,627,621,20,644,627.ttf} | Bin + ...f => Amiri-Regular.retain-gids.63A,64A,631.ttf} | Bin + ...1_multiple_subrules_f1.default.30,31,32,33.otf} | Bin + ...ing1_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ...ltiple_subrules_f1.retain-gids.30,31,32,33.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...2_multiple_subrules_f1.default.30,31,32,33.otf} | Bin + ...ing2_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ...ltiple_subrules_f1.retain-gids.30,31,32,33.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...os_chaining3_simple_f1.default.30,31,32,33.otf} | Bin + ... gpos_chaining3_simple_f1.default.41,42,43.otf} | Bin + ...ng3_simple_f1.default.retain-all-codepoint.otf} | Bin + ...haining3_simple_f1.retain-gids.30,31,32,33.otf} | Bin + ...s_chaining3_simple_f1.retain-gids.41,42,43.otf} | Bin + ...simple_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...out.41,42.otf => gpos9_font2.default.41,42.otf} | Bin + ...ep-layout.41.otf => gpos9_font2.default.41.otf} | Bin + ...ep-layout.42.otf => gpos9_font2.default.42.otf} | Bin + ...41,42.otf => gpos9_font2.retain-gids.41,42.otf} | Bin + ...-gids.41.otf => gpos9_font2.retain-gids.41.otf} | Bin + ...-gids.42.otf => gpos9_font2.retain-gids.42.otf} | Bin + ...b_alternate_substitution.default.53A9,53F1.otf} | Bin + ...> gsub_alternate_substitution.default.53A9.otf} | Bin + ...> gsub_alternate_substitution.default.53F1.otf} | Bin + ..._substitution.default.retain-all-codepoint.otf} | Bin + ...ternate_substitution.retain-gids.53A9,53F1.otf} | Bin + ...ub_alternate_substitution.retain-gids.53A9.otf} | Bin + ...ub_alternate_substitution.retain-gids.53F1.otf} | Bin + ...stitution.retain-gids.retain-all-codepoint.otf} | Bin + ...ext1_multiple_subrules_f2.default.41,42,43.otf} | Bin + ...ontext1_multiple_subrules_f2.default.41,42.otf} | Bin + ...ontext1_multiple_subrules_f2.default.41,43.otf} | Bin + ...b_context1_multiple_subrules_f2.default.41.otf} | Bin + ...e_subrules_f2.default.retain-all-codepoint.otf} | Bin + ..._multiple_subrules_f2.retain-gids.41,42,43.otf} | Bin + ...xt1_multiple_subrules_f2.retain-gids.41,42.otf} | Bin + ...xt1_multiple_subrules_f2.retain-gids.41,43.otf} | Bin + ...ntext1_multiple_subrules_f2.retain-gids.41.otf} | Bin + ...brules_f2.retain-gids.retain-all-codepoint.otf} | Bin + ...ext2_multiple_subrules_f2.default.41,42,43.otf} | Bin + ...ontext2_multiple_subrules_f2.default.41,42.otf} | Bin + ...ontext2_multiple_subrules_f2.default.41,43.otf} | Bin + ...b_context2_multiple_subrules_f2.default.41.otf} | Bin + ...e_subrules_f2.default.retain-all-codepoint.otf} | Bin + ..._multiple_subrules_f2.retain-gids.41,42,43.otf} | Bin + ...xt2_multiple_subrules_f2.retain-gids.41,42.otf} | Bin + ...xt2_multiple_subrules_f2.retain-gids.41,43.otf} | Bin + ...ntext2_multiple_subrules_f2.retain-gids.41.otf} | Bin + ...brules_f2.retain-gids.retain-all-codepoint.otf} | Bin + ...ub_context3_successive_f1.default.41,42,43.otf} | Bin + ... gsub_context3_successive_f1.default.41,42.otf} | Bin + ... gsub_context3_successive_f1.default.41,43.otf} | Bin + ... => gsub_context3_successive_f1.default.41.otf} | Bin + ...successive_f1.default.retain-all-codepoint.otf} | Bin + ...ontext3_successive_f1.retain-gids.41,42,43.otf} | Bin + ...b_context3_successive_f1.retain-gids.41,42.otf} | Bin + ...b_context3_successive_f1.retain-gids.41,43.otf} | Bin + ...gsub_context3_successive_f1.retain-gids.41.otf} | Bin + ...essive_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...1_multiple_subrules_f1.default.30,31,32,33.otf} | Bin + ...ing1_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ...ltiple_subrules_f1.retain-gids.30,31,32,33.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...2_multiple_subrules_f1.default.30,31,32,33.otf} | Bin + ...ing2_multiple_subrules_f1.default.41,42,43.otf} | Bin + ...e_subrules_f1.default.retain-all-codepoint.otf} | Bin + ...ltiple_subrules_f1.retain-gids.30,31,32,33.otf} | Bin + ..._multiple_subrules_f1.retain-gids.41,42,43.otf} | Bin + ...brules_f1.retain-gids.retain-all-codepoint.otf} | Bin + ...ub_chaining3_simple_f2.default.30,31,32,33.otf} | Bin + ... gsub_chaining3_simple_f2.default.41,42,43.otf} | Bin + ...ng3_simple_f2.default.retain-all-codepoint.otf} | Bin + ...haining3_simple_f2.retain-gids.30,31,32,33.otf} | Bin + ...b_chaining3_simple_f2.retain-gids.41,42,43.otf} | Bin + ...simple_f2.retain-gids.retain-all-codepoint.otf} | Bin + ...created.default.41,42,43,44,45,46,47,48,49.otf} | Bin + ...ually_created.default.41,42,43,44,45,46,47.otf} | Bin + ...ually_created.default.41,42,43,44,45,46,4D.otf} | Bin + ...ually_created.default.41,42,43,44,45,46,51.otf} | Bin + ...manually_created.default.41,42,43,44,45,46.otf} | Bin + ...=> gsub8_manually_created.default.41,42,43.otf} | Bin + ...1.otf => gsub8_manually_created.default.41.otf} | Bin + ...1.otf => gsub8_manually_created.default.61.otf} | Bin + ...ually_created.default.retain-all-codepoint.otf} | Bin + ...ted.retain-gids.41,42,43,44,45,46,47,48,49.otf} | Bin + ...y_created.retain-gids.41,42,43,44,45,46,47.otf} | Bin + ...y_created.retain-gids.41,42,43,44,45,46,4D.otf} | Bin + ...y_created.retain-gids.41,42,43,44,45,46,51.otf} | Bin + ...ally_created.retain-gids.41,42,43,44,45,46.otf} | Bin + ...sub8_manually_created.retain-gids.41,42,43.otf} | Bin + ...f => gsub8_manually_created.retain-gids.41.otf} | Bin + ...f => gsub8_manually_created.retain-gids.61.otf} | Bin + ...y_created.retain-gids.retain-all-codepoint.otf} | Bin + .../Khmer.keep-layout-retain-gids.1780.ttf | Bin 4464 -> 0 bytes + ...ids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 7848 -> 0 bytes + .../Khmer.keep-layout-retain-gids.31.ttf | Bin 4256 -> 0 bytes + .../layout.khmer/Khmer.keep-layout.1780.ttf | Bin 4204 -> 0 bytes + ...out.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 6412 -> 0 bytes + .../expected/layout.khmer/Khmer.keep-layout.31.ttf | Bin 4140 -> 0 bytes + ...oNastaliqUrdu-Bold.retain-gids.627,644,62D.ttf} | Bin + ... Roboto-Regular.smallcaps.default.41,42,43.ttf} | Bin + ... => Roboto-Regular.smallcaps.default.41,43.ttf} | Bin + ...ttf => Roboto-Regular.smallcaps.default.41.ttf} | Bin + ...ttf => Roboto-Regular.smallcaps.default.43.ttf} | Bin + ... => Roboto-Regular.smallcaps.default.CA,CB.ttf} | Bin + ...oto-Regular.smallcaps.retain-gids.41,42,43.ttf} | Bin + ...Roboto-Regular.smallcaps.retain-gids.41,43.ttf} | Bin + ...=> Roboto-Regular.smallcaps.retain-gids.41.ttf} | Bin + ...=> Roboto-Regular.smallcaps.retain-gids.43.ttf} | Bin + ...Roboto-Regular.smallcaps.retain-gids.CA,CB.ttf} | Bin + .../Fraunces.keep-layout.26,66,69,124,125.ttf | Bin 18496 -> 0 bytes + .../expected/variable/Fraunces.keep-layout.61.ttf | Bin 5880 -> 0 bytes + .../data/profiles/keep-layout-drop-hints.txt | 2 -- + .../data/profiles/keep-layout-retain-gids.txt | 2 -- + test/subset/data/profiles/keep-layout.txt | 1 - + test/subset/data/tests/basics.tests | 2 -- + test/subset/data/tests/layout.context.tests | 4 ++-- + test/subset/data/tests/layout.gpos.tests | 4 ++-- + test/subset/data/tests/layout.gpos2.tests | 4 ++-- + test/subset/data/tests/layout.gpos3.tests | 4 ++-- + test/subset/data/tests/layout.gpos4.tests | 4 ++-- + test/subset/data/tests/layout.gpos5.tests | 4 ++-- + test/subset/data/tests/layout.gpos6.tests | 4 ++-- + test/subset/data/tests/layout.gpos8.amiri.tests | 4 ++-- + test/subset/data/tests/layout.gpos8.tests | 4 ++-- + test/subset/data/tests/layout.gpos9.tests | 4 ++-- + test/subset/data/tests/layout.gsub3.tests | 4 ++-- + test/subset/data/tests/layout.gsub5.tests | 4 ++-- + test/subset/data/tests/layout.gsub6.tests | 4 ++-- + test/subset/data/tests/layout.gsub8.tests | 4 ++-- + test/subset/data/tests/layout.khmer.tests | 4 ++-- + .../data/tests/layout.notonastaliqurdu.tests | 2 +- + test/subset/data/tests/layout.tests | 4 ++-- + test/subset/data/tests/variable.tests | 2 +- + test/subset/generate-expected-outputs.py | 2 +- + test/subset/run-tests.py | 2 +- + 614 files changed, 36 insertions(+), 46 deletions(-) + +commit 425ba1f4ab4fd1ee0245bc822336d26bd1755c52 +Author: Garret Rieger +Date: Mon Apr 19 18:01:24 2021 -0700 + + [subset] fixes infinite loop in hb_set_get_max(). + + Fixes https://oss-fuzz.com/testcase-detail/5363902507515904 + + src/hb-set.hh | 2 +- + test/api/test-set.c | 7 ++++++- + ...-testcase-minimized-hb-subset-fuzzer-5363902507515904 | Bin 0 -> 1683 bytes + 3 files changed, 7 insertions(+), 2 deletions(-) + +commit ec4321068b9de1ea2730b8a62dda7cb23d064303 +Author: Garret Rieger +Date: Mon Apr 19 17:18:05 2021 -0700 + + [subset] fix infinite loop caused by alloc failure in repacker. + + Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544. + + src/hb-repacker.hh | 8 ++++---- + ...testcase-minimized-hb-subset-fuzzer-5609112151916544 | Bin 0 -> 80225 bytes + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 0e845d973e2bf15b56cf68af9db778d1258b7709 +Author: Garret Rieger +Date: Mon Apr 19 16:09:37 2021 -0700 + + [subset] fix memory leak in repacker caused by failed alloc. + + Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400. + + src/hb-repacker.hh | 4 +++- + ...testcase-minimized-hb-subset-fuzzer-5616763250278400 | Bin 0 -> 97363 bytes + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit 3fb62cdc141d2d30ba0fc4a173dd50e7c1d56466 +Author: Garret Rieger +Date: Mon Apr 5 15:48:34 2021 -0700 + + [subset] fail on offset overflow in tables that we don't repack. + + Fixes: https://oss-fuzz.com/testcase-detail/5229304507138048 + + src/hb-subset.cc | 5 ++++- + ...testcase-minimized-hb-subset-fuzzer-5229304507138048 | Bin 0 -> 56552 bytes + 2 files changed, 4 insertions(+), 1 deletion(-) + +commit 19e096aa97b1b3af21313df5250a937ddfece7fb +Merge: ed2ee8a8c 23a28f5ad +Author: Behdad Esfahbod +Date: Fri Apr 16 14:35:04 2021 -0600 + + Merge pull request #2067 from harfbuzz/null-size + + Avoid undefined-behavior, another try + +commit ed2ee8a8c26dc39e39172c169d8a0d434083fefe +Author: Behdad Esfahbod +Date: Fri Apr 16 13:53:43 2021 -0600 + + Revert "Disable -Wunused-macros under GCC" + + This reverts commit 1b1413246b8b4a9c6f7e0aac16afd6d110c142cf. + + Err. It wasn't working. We already have that disabled in the files it + is warning about. Doesn't work. + + src/hb.hh | 1 - + 1 file changed, 1 deletion(-) + +commit 47cbf8f2c49ae82b85bf1edb211ade257f009800 +Author: Behdad Esfahbod +Date: Tue Mar 30 21:01:44 2021 -0600 + + [test] Silence more compiler warnings + + test/api/test-unicode.c | 3 +++ + 1 file changed, 3 insertions(+) + +commit 1b1413246b8b4a9c6f7e0aac16afd6d110c142cf +Author: Behdad Esfahbod +Date: Tue Mar 30 20:54:20 2021 -0600 + + Disable -Wunused-macros under GCC + + Since the pragram in hb-ot-shape-complex-indic-table.cc didn't seem to + silence GCC, eg: + + ../../src/hb-ot-shape-complex-indic-table.cc:55: warning: macro "ISC_TL" is not used [-Wunused-macros] + 55 | #define ISC_TL INDIC_SYLLABIC_CATEGORY_TONE_LETTER /* 7 chars; Tone_Letter */ + + disable it at compiler level. + + src/hb.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 23a28f5ad059a45ff861a06a63d8537dab7f81b7 +Author: Behdad Esfahbod +Date: Fri Apr 16 13:22:05 2021 -0600 + + Avoid undefined-behavior + + If a struct had (because it's a union) sizeof that is larger than the null_size, + we were providing only null_size bytes for its Null object. We know we'd never + access beyond that, but is undefined-behavior nonetheless according to the + standard. + + The alternative fix would have required use of flexible-arrays, which are not + standard and have their own issues in various compiler. We've discussed that + extensively in the follow Mozilla issue (currently locked; I've asked that it + be opened): + + https://bugzilla.mozilla.org/show_bug.cgi?id=1577584 + + Part of + https://github.com/harfbuzz/harfbuzz/pull/2067 + + src/hb-null.hh | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit 499248c533eaf88f20920bc438a939989a359956 +Author: Behdad Esfahbod +Date: Fri Apr 16 13:14:48 2021 -0600 + + [blob] Use min_size, instead of null_size in .as() + + Part of https://github.com/harfbuzz/harfbuzz/pull/2067 + + src/hb-array.hh | 2 +- + src/hb-null.hh | 9 ++++++++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +commit a4fb5da984d1dc50e419298a6212a0f53b4f761f +Author: Khaled Hosny +Date: Fri Apr 16 14:10:37 2021 +0200 + + [ci] Enable DirectWrite in win32 tarballs + + .ci/build-win32.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f2240d12c2a847afda0eb2da635694ca2346de65 +Author: Khaled Hosny +Date: Fri Apr 16 02:37:11 2021 +0200 + + [ci] Use -j2 for make and ninja in distcheck job + + Lets see if this makes it faster without crashing gcc. + + .circleci/config.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f5c922b7091b9919cd6dbe17db663edb366aea52 +Author: Khaled Hosny +Date: Fri Apr 16 01:47:34 2021 +0200 + + [ci] Try to stop distcheck job from crashing gcc + + .circleci/config.yml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit e116058bba1f5eb667d211c0c6c0be1bbffc6213 +Author: Khaled Hosny +Date: Thu Apr 15 13:52:19 2021 +0200 + + [directwrite] Use correct UTF-16 string length + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2474 + + src/hb-directwrite.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 668acff1f07ed6bb1472467e59d16399befa68ae +Author: Ben Denckla +Date: Mon Apr 12 14:25:19 2021 -0400 + + similarly improve comments on Hebrew ccc 18 & 19 + + Should have committed this along with commit 9658435a25c2ba82 but forgot. + + src/hb-ot-shape-fallback.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 43d955207bcfcddbf5a5e3d35819fddb81605be3 +Author: Ben Denckla +Date: Mon Apr 12 14:01:56 2021 -0400 + + improve comments on Hebrew ccc 18 & 19 + + improve comments to reflect that: + ccc 18 includes both "flavors" of qamats: qamats [gadol] and qamats qatan + ccc 19 includes both "flavors" of holam: holam [not haser for vav] and holam haser for vav + This code and its comments may have been written before these code points were added to Unicode. + I.e. originally, these comments may have been complete, but they may have become incomplete in the meantime. + + src/hb-unicode.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4cc4cd3b24ded40cfff651ebf63d20d19253c505 +Author: Ambient Lighter +Date: Sat Apr 10 14:11:23 2021 +0300 + + [docs] Fix spelling typo (#2945) + + docs/usermanual-object-model.xml | 2 +- + perf/texts/en-words.txt | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 9dc9f0385dce05456d48730bf5dc7cac52eaa4da +Author: Qunxin Liu +Date: Thu Apr 8 11:00:17 2021 -0700 + + [subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/5858518134554624 + + src/hb-ot-layout-gpos-table.hh | 4 ++++ + ...z-testcase-minimized-hb-subset-fuzzer-5858518134554624 | Bin 0 -> 802 bytes + 2 files changed, 4 insertions(+) + +commit 430a67ceaba5896c850c0a0da80f1bc211c022d8 +Author: Qunxin Liu +Date: Thu Apr 1 12:01:19 2021 -0700 + + [subset] COLRv1 struct definitions + + src/hb-ot-color-colr-table.hh | 479 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 474 insertions(+), 5 deletions(-) + +commit 553ffaf6823040bf4a91bcd4c8e42592cd4d13c2 +Author: Qunxin Liu +Date: Wed Apr 7 17:15:32 2021 -0700 + + [subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/6382598554255360 + avoid writing to null pointer + + src/hb-ot-layout-gpos-table.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 4af5dacedc8d45c701c8a559962f1b071419ca50 +Author: Qunxin Liu +Date: Wed Apr 7 10:56:49 2021 -0700 + + [subset] add fuzzer testcase + + ...z-testcase-minimized-hb-subset-fuzzer-6382598554255360 | Bin 0 -> 766 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 8b686afeb5a7f959d98c0f85844d782c1cbc489f +Author: Garret Rieger +Date: Tue Apr 6 11:33:38 2021 -0700 + + [subset] add unlikely(). + + src/hb-ot-layout-gsubgpos.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 64122b5a443d78cc1c4c0c94fa2e489e1f22dd3e +Author: Garret Rieger +Date: Mon Apr 5 12:53:08 2021 -0700 + + [subset] don't visit lookup if covered glyph set has failed. + + If covered glyph set is in error then the same lookup can be recursed into repeatedly potentially causing a fuzzer timeout. Fixes: https://oss-fuzz.com/testcase-detail/5416421032067072. + + src/hb-ot-layout-gsubgpos.hh | 2 ++ + ...z-testcase-minimized-hb-subset-fuzzer-5416421032067072 | Bin 0 -> 114 bytes + 2 files changed, 2 insertions(+) + +commit 4ec18c85e6eebc0948c29df36fc13b5467fce86b +Author: Garret Rieger +Date: Fri Apr 2 15:33:54 2021 -0700 + + [subset] add subsetting tests with drop hints and layout subsetting enabled. + + ...taa-Regular-new.keep-layout-drop-hints.61,62,63.ttf | Bin 0 -> 3444 bytes + ...fortaa-Regular-new.keep-layout-drop-hints.61,63.ttf | Bin 0 -> 3140 bytes + ...Comfortaa-Regular-new.keep-layout-drop-hints.61.ttf | Bin 0 -> 2804 bytes + ...Comfortaa-Regular-new.keep-layout-drop-hints.62.ttf | Bin 0 -> 2396 bytes + ...Comfortaa-Regular-new.keep-layout-drop-hints.63.ttf | Bin 0 -> 2464 bytes + ...new.keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 0 -> 187944 bytes + ...-Regular-subset.keep-layout-drop-hints.61,62,63.ttf | Bin 0 -> 1452 bytes + ...gjo-Regular-subset.keep-layout-drop-hints.61,63.ttf | Bin 0 -> 1276 bytes + ...eongjo-Regular-subset.keep-layout-drop-hints.61.ttf | Bin 0 -> 1128 bytes + ...eongjo-Regular-subset.keep-layout-drop-hints.62.ttf | Bin 0 -> 1140 bytes + ...eongjo-Regular-subset.keep-layout-drop-hints.63.ttf | Bin 0 -> 1104 bytes + ...set.keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 0 -> 3536 bytes + ...oto-Regular.abc.keep-layout-drop-hints.61,62,63.ttf | Bin 0 -> 1208 bytes + ...Roboto-Regular.abc.keep-layout-drop-hints.61,63.ttf | Bin 0 -> 1120 bytes + .../Roboto-Regular.abc.keep-layout-drop-hints.61.ttf | Bin 0 -> 988 bytes + .../Roboto-Regular.abc.keep-layout-drop-hints.62.ttf | Bin 0 -> 876 bytes + .../Roboto-Regular.abc.keep-layout-drop-hints.63.ttf | Bin 0 -> 960 bytes + ...abc.keep-layout-drop-hints.retain-all-codepoint.ttf | Bin 0 -> 1208 bytes + test/subset/data/profiles/keep-layout-drop-hints.txt | 2 ++ + test/subset/data/tests/basics.tests | 1 + + 20 files changed, 3 insertions(+) + +commit 6f98a8ed4627b662d9591649328d2d302fc01987 +Author: Garret Rieger +Date: Fri Apr 2 14:37:10 2021 -0700 + + [subset] Anchor should only use format 1 when hints are dropped. + + Refactor Anchor to have a subset method instead of copy. This also allows + use to use serialize_subset in several places which simplifies calculating + offset bases. + + src/hb-ot-layout-gpos-table.hh | 189 +++++++++++++++++++++-------------------- + 1 file changed, 95 insertions(+), 94 deletions(-) + +commit 71d6d1560035619ee685dc9aa626eeefabe5e9f1 +Author: Garret Rieger +Date: Mon Apr 5 12:03:17 2021 -0700 + + [subset] clamp distance to prevent shifting outside of the limits of int64. + + Fixes https://oss-fuzz.com/testcase-detail/4961171477233664. + + src/hb-repacker.hh | 3 ++- + ...testcase-minimized-hb-subset-fuzzer-4961171477233664 | Bin 0 -> 39793 bytes + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit fcacd17748b85a56ff0c1d822295bfcbd8e175a2 +Author: Khaled Hosny +Date: Mon Apr 5 22:27:39 2021 +0200 + + [ot] Update _hb_glyph_info_is_default_ignorable_and_not_hidden() + + Used _hb_glyph_info_substituted() similar to the change made to + _hb_glyph_info_is_default_ignorable() in + 7686ff854bbb9698bb1469dcfe6d288c695a76b7. + + src/hb-ot-layout.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 596f4258d0b6464a8186263625a2da1b16014bdd +Author: Garret Rieger +Date: Fri Apr 2 12:41:09 2021 -0700 + + [subset] copy Lookup::markFilteringSet when subseting. + + src/hb-ot-layout-common.hh | 8 ++++++++ + .../Comfortaa-Regular-new.keep-layout.61,62,63.ttf | Bin 0 -> 8100 bytes + .../basics/Comfortaa-Regular-new.keep-layout.61,63.ttf | Bin 0 -> 7736 bytes + .../basics/Comfortaa-Regular-new.keep-layout.61.ttf | Bin 0 -> 7360 bytes + .../basics/Comfortaa-Regular-new.keep-layout.62.ttf | Bin 0 -> 6796 bytes + .../basics/Comfortaa-Regular-new.keep-layout.63.ttf | Bin 0 -> 6844 bytes + ...aa-Regular-new.keep-layout.retain-all-codepoint.ttf | Bin 0 -> 222212 bytes + ...numMyeongjo-Regular-subset.keep-layout.61,62,63.ttf | Bin 0 -> 4128 bytes + .../NanumMyeongjo-Regular-subset.keep-layout.61,63.ttf | Bin 0 -> 3580 bytes + .../NanumMyeongjo-Regular-subset.keep-layout.61.ttf | Bin 0 -> 3156 bytes + .../NanumMyeongjo-Regular-subset.keep-layout.62.ttf | Bin 0 -> 3180 bytes + .../NanumMyeongjo-Regular-subset.keep-layout.63.ttf | Bin 0 -> 3048 bytes + ...Regular-subset.keep-layout.retain-all-codepoint.ttf | Bin 0 -> 9524 bytes + .../basics/Roboto-Regular.abc.keep-layout.61,62,63.ttf | Bin 0 -> 2452 bytes + .../basics/Roboto-Regular.abc.keep-layout.61,63.ttf | Bin 0 -> 2260 bytes + .../basics/Roboto-Regular.abc.keep-layout.61.ttf | Bin 0 -> 2048 bytes + .../basics/Roboto-Regular.abc.keep-layout.62.ttf | Bin 0 -> 1916 bytes + .../basics/Roboto-Regular.abc.keep-layout.63.ttf | Bin 0 -> 1972 bytes + ...to-Regular.abc.keep-layout.retain-all-codepoint.ttf | Bin 0 -> 2452 bytes + test/subset/data/tests/basics.tests | 1 + + 20 files changed, 9 insertions(+) + +commit d3a2f999e4d5c83e14f6380b780aab170d9cbd39 +Author: Behdad Esfahbod +Date: Fri Apr 2 08:32:41 2021 -0600 + + Fix up build + + This was left out; oops. + + src/hb-set-digest.hh | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit c35d7863979f2395140d70cda49a19857b98f515 +Author: Garret Rieger +Date: Thu Apr 1 14:32:38 2021 -0700 + + [subset] never drop the 'pref' feature. + + Never ever drop feature 'pref', even if it's empty. Harfbuzz uses it to choose the shaper for Khmer. + + src/hb-ot-layout-gsubgpos.hh | 7 +++++++ + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../layout.khmer/Khmer.keep-layout-retain-gids.1780.ttf | Bin 0 -> 4464 bytes + ...ain-gids.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 7848 bytes + .../layout.khmer/Khmer.keep-layout-retain-gids.31.ttf | Bin 0 -> 4256 bytes + .../expected/layout.khmer/Khmer.keep-layout.1780.ttf | Bin 0 -> 4204 bytes + ...p-layout.1789,17BB,17C6,1794,17B6,1793,1798,17BE.ttf | Bin 0 -> 6412 bytes + .../data/expected/layout.khmer/Khmer.keep-layout.31.ttf | Bin 0 -> 4140 bytes + test/subset/data/fonts/Khmer.ttf | Bin 0 -> 75368 bytes + test/subset/data/tests/layout.khmer.tests | 11 +++++++++++ + test/subset/meson.build | 1 + + 12 files changed, 21 insertions(+) + +commit 092094f7055c1632e9bdf2c07f16e984a88a65ec +Author: Behdad Esfahbod +Date: Thu Apr 1 15:47:21 2021 -0600 + + Use as_array() and range loops in a few places + + src/hb-ot-cmap-table.hh | 17 +++++++---------- + src/hb-ot-layout-common.hh | 26 +++++++++----------------- + src/hb-set.hh | 4 ++++ + 3 files changed, 20 insertions(+), 27 deletions(-) + +commit 55e7f3fe329021c77c880f1f3fd6d082f4ac27da +Author: Garret Rieger +Date: Thu Apr 1 13:35:30 2021 -0700 + + [subset] Match FeatureVariationRecord dropping from fontTools. + + Only drop records with no matching features that are at the end of the list. See: https://github.com/fonttools/fonttools/commit/cab7d13dc0883765cde435215c7d65e9212f152d + + src/hb-ot-layout-common.hh | 36 ++++++++++++++++++++++++++++++------ + 1 file changed, 30 insertions(+), 6 deletions(-) + +commit f0c78e028261a7823194cccc7be241aa9ddbac25 +Author: Garret Rieger +Date: Thu Mar 25 12:57:12 2021 -0700 + + [subset] don't drop features referenced in a feature variation substitution. + + src/hb-ot-layout-common.hh | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +commit dae99b7769616d354e8cce41fbd7cf780353cb44 +Author: Garret Rieger +Date: Thu Mar 25 12:33:51 2021 -0700 + + [subset] don't keep FeatureVariationRecord's with no subsittutions. + + src/hb-ot-layout-common.hh | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +commit 85b07287838440e000622c53cee9cc911ad0de6d +Author: Garret Rieger +Date: Thu Mar 25 12:17:18 2021 -0700 + + Add full variable font subsetting test. + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + .../variable/Fraunces.keep-layout.26,66,69,124,125.ttf | Bin 0 -> 18496 bytes + .../data/expected/variable/Fraunces.keep-layout.61.ttf | Bin 0 -> 5880 bytes + test/subset/data/fonts/Fraunces.ttf | Bin 0 -> 360440 bytes + test/subset/data/tests/variable.tests | 9 +++++++++ + test/subset/meson.build | 1 + + 7 files changed, 12 insertions(+) + +commit c4b49075f62eaa11799c95099a70acbb70e566c9 +Author: Behdad Esfahbod +Date: Thu Apr 1 10:47:18 2021 -0700 + + Update CMakeLists.txt + + Keep the warning. + + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9945f327463066957f2677237d468651235a1f3d +Author: Timo Suoranta +Date: Sat Feb 6 14:24:25 2021 +0200 + + Test fix to export target include directories + + CMakeLists.txt | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit b10741ca7f4cd55526f303c47c72f0a5c1a932fe +Author: Garret Rieger +Date: Thu Mar 25 19:14:48 2021 -0700 + + [subset] when closing glyphs in context lookups don't use a current glyph set if a lookup is already applied. + + src/hb-ot-layout-gsubgpos.hh | 12 ++++++++---- + ...ayout-retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 18272 -> 0 bytes + ...rdu-Bold.keep-layout-retain-gids.627,644,62D,628.ttf | Bin 24416 -> 0 bytes + ...liqUrdu-Bold.keep-layout-retain-gids.627,644,62D.ttf | Bin 0 -> 11532 bytes + ...astaliqUrdu-Bold.keep-layout-retain-gids.627,644.ttf | Bin 9216 -> 0 bytes + ...ep-layout-retain-gids.633,645,627,621,20,644,627.ttf | Bin 18212 -> 0 bytes + ...liqUrdu-Bold.keep-layout-retain-gids.63A,64A,631.ttf | Bin 26628 -> 0 bytes + ...-Bold.keep-layout.627,644,623,62D,644,627,645,2E.ttf | Bin 11436 -> 0 bytes + ...otoNastaliqUrdu-Bold.keep-layout.627,644,62D,628.ttf | Bin 18288 -> 0 bytes + .../NotoNastaliqUrdu-Bold.keep-layout.627,644.ttf | Bin 3568 -> 0 bytes + ...Urdu-Bold.keep-layout.633,645,627,621,20,644,627.ttf | Bin 12408 -> 0 bytes + .../NotoNastaliqUrdu-Bold.keep-layout.63A,64A,631.ttf | Bin 20408 -> 0 bytes + test/subset/data/tests/layout.notonastaliqurdu.tests | 7 +------ + 13 files changed, 9 insertions(+), 10 deletions(-) + +commit 2773d057403292e4a13e13ca12912437607b9d86 +Author: Garret Rieger +Date: Wed Nov 4 11:11:16 2020 -0800 + + [subset] Add a test case using NotoNastaliqUrdu. + + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...ayout-retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 18272 bytes + ...rdu-Bold.keep-layout-retain-gids.627,644,62D,628.ttf | Bin 0 -> 24416 bytes + ...astaliqUrdu-Bold.keep-layout-retain-gids.627,644.ttf | Bin 0 -> 9216 bytes + ...ep-layout-retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 18212 bytes + ...liqUrdu-Bold.keep-layout-retain-gids.63A,64A,631.ttf | Bin 0 -> 26628 bytes + ...-Bold.keep-layout.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 11436 bytes + ...otoNastaliqUrdu-Bold.keep-layout.627,644,62D,628.ttf | Bin 0 -> 18288 bytes + .../NotoNastaliqUrdu-Bold.keep-layout.627,644.ttf | Bin 0 -> 3568 bytes + ...Urdu-Bold.keep-layout.633,645,627,621,20,644,627.ttf | Bin 0 -> 12408 bytes + .../NotoNastaliqUrdu-Bold.keep-layout.63A,64A,631.ttf | Bin 0 -> 20408 bytes + test/subset/data/tests/layout.notonastaliqurdu.tests | 13 +++++++++++++ + test/subset/meson.build | 1 + + 14 files changed, 16 insertions(+) + +commit 8ef4257dc8d6b59b55d0169b66c8de135d5f199b +Author: Garret Rieger +Date: Wed Mar 31 15:00:46 2021 -0700 + + [sanitize] change max ops to track number of bytes processed. + + Counting bytes as the operations is likely to be a better proxy for how + much work processing the table will cost vs. the current approach of + counting the number of sub-objects. + + This should allow checks for max features, max scripts, etc. to be removed. + + I tested this change against the full collection of fonts at https://github.com/google/fonts + and a max ops factor of 3 was sufficient to successfully sanitize all of them. + + src/hb-sanitize.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 70110f6aaac541bc157eb5612b476d3b906b5d2a +Author: Behdad Esfahbod +Date: Wed Mar 31 17:04:02 2021 -0600 + + Modify OffsetTo<>::sanitize() overflow check + + The code in question was introduced in 70eb2ff682. + Rewrite it to not call sanitizer check_range() as we want to use + check_range() for byte accounting. + + Part of https://github.com/harfbuzz/harfbuzz/pull/2923 + + src/hb-open-type.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4dba749d833491ec0c73fb4647f55236be1caee3 +Author: Behdad Esfahbod +Date: Wed Mar 31 16:09:39 2021 -0600 + + Add SortedArray{16,32}Of<> + + src/hb-open-type.hh | 5 ++++- + src/hb-ot-cmap-table.hh | 10 +++++----- + src/hb-ot-color-svg-table.hh | 2 +- + src/hb-ot-layout-base-table.hh | 8 ++++---- + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-layout-jstf-table.hh | 2 +- + src/hb-ot-vorg-table.hh | 2 +- + 7 files changed, 20 insertions(+), 17 deletions(-) + +commit 5639e253f91bd71cdb626719ebc5b8d68631cc73 +Author: Behdad Esfahbod +Date: Wed Mar 31 16:04:43 2021 -0600 + + Add Array16Of<> + + src/hb-aat-layout-common.hh | 2 +- + src/hb-aat-layout-just-table.hh | 2 +- + src/hb-open-type.hh | 6 ++-- + src/hb-ot-gasp-table.hh | 2 +- + src/hb-ot-layout-common.hh | 12 +++---- + src/hb-ot-layout-gdef-table.hh | 4 +-- + src/hb-ot-layout-gpos-table.hh | 8 ++--- + src/hb-ot-layout-gsub-table.hh | 20 +++++------ + src/hb-ot-layout-gsubgpos.hh | 54 +++++++++++++++--------------- + src/hb-ot-math-table.hh | 10 +++--- + src/hb-ot-post-table.hh | 4 +-- + src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- + src/hb-ot-var-avar-table.hh | 2 +- + 13 files changed, 64 insertions(+), 64 deletions(-) + +commit 2520a82df9116fbc287cec1be66d05874c467bbb +Author: Behdad Esfahbod +Date: Wed Mar 31 15:34:26 2021 -0600 + + s/LArrayOf/Array32Of/g + + src/hb-aat-layout-ankr-table.hh | 2 +- + src/hb-aat-layout-just-table.hh | 2 +- + src/hb-aat-ltag-table.hh | 2 +- + src/hb-open-file.hh | 4 ++-- + src/hb-open-type.hh | 4 ++-- + src/hb-ot-color-cbdt-table.hh | 8 ++++---- + src/hb-ot-layout-common.hh | 2 +- + src/hb-ot-meta-table.hh | 2 +- + 8 files changed, 13 insertions(+), 13 deletions(-) + +commit 5efe3609865b450305474b9abe672905bd25cc06 +Author: Behdad Esfahbod +Date: Wed Mar 31 15:33:22 2021 -0600 + + Rename (Unsized)OffsetListOf + + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-open-type.hh | 6 +++--- + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-ot-layout-jstf-table.hh | 6 +++--- + 6 files changed, 14 insertions(+), 14 deletions(-) + +commit 6c4e0491d7ebdc41318db59c4b0911212b299341 +Author: Behdad Esfahbod +Date: Wed Mar 31 15:31:32 2021 -0600 + + s/OffsetArrayOf/Array16OfOffset16To/g + + src/hb-open-type.hh | 6 ++--- + src/hb-ot-layout-base-table.hh | 2 +- + src/hb-ot-layout-common.hh | 8 +++---- + src/hb-ot-layout-gdef-table.hh | 6 ++--- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsub-table.hh | 26 ++++++++++---------- + src/hb-ot-layout-gsubgpos.hh | 54 +++++++++++++++++++++--------------------- + 7 files changed, 52 insertions(+), 52 deletions(-) + +commit 1fc6b69aed28aa768b65a8cf0825b79aa851a71f +Author: Behdad Esfahbod +Date: Wed Mar 31 15:30:35 2021 -0600 + + s/UnsizedOffsetArrayOf/UnsizedArray16OfOffsetTo/g + + src/hb-open-type.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 2a54c9f744b195bb1412573afcc36db806d20a4b +Author: Behdad Esfahbod +Date: Wed Mar 31 15:26:42 2021 -0600 + + . + + src/hb-open-type.hh | 9 +++------ + src/hb-ot-color-sbix-table.hh | 4 ++-- + src/hb-ot-layout-common.hh | 4 ++-- + 3 files changed, 7 insertions(+), 10 deletions(-) + +commit c539afb08b1b698216541087b1eec222472699ea +Author: Behdad Esfahbod +Date: Wed Mar 31 13:28:25 2021 -0600 + + [CFF] Use NNOffsetTo<> instead of OffsetTo<> + + I'm pretty sure that's what is intended. + + src/hb-ot-cff1-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9b4b58493b7e4c15565e4a47118181d96f517fae +Author: Behdad Esfahbod +Date: Wed Mar 31 13:27:21 2021 -0600 + + Fixup for recent OffsetTo<> changes + + src/hb-open-type.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit ad28f973f3ec6184b4c405efc0e17fba87b51062 +Author: Behdad Esfahbod +Date: Wed Mar 31 12:49:14 2021 -0600 + + Rename offset types to be explicit about their size + + Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases. + + src/hb-aat-layout-ankr-table.hh | 6 +-- + src/hb-aat-layout-common.hh | 2 +- + src/hb-aat-layout-feat-table.hh | 2 +- + src/hb-aat-layout-just-table.hh | 12 ++--- + src/hb-aat-layout-kerx-table.hh | 14 +++--- + src/hb-aat-layout-opbd-table.hh | 8 ++-- + src/hb-aat-layout-trak-table.hh | 8 ++-- + src/hb-aat-ltag-table.hh | 2 +- + src/hb-open-file.hh | 12 ++--- + src/hb-open-type.hh | 14 +++--- + src/hb-ot-cmap-table.hh | 6 +-- + src/hb-ot-color-cbdt-table.hh | 4 +- + src/hb-ot-color-colr-table.hh | 4 +- + src/hb-ot-color-cpal-table.hh | 8 ++-- + src/hb-ot-color-sbix-table.hh | 4 +- + src/hb-ot-color-svg-table.hh | 4 +- + src/hb-ot-layout-base-table.hh | 28 ++++++------ + src/hb-ot-layout-common.hh | 22 +++++----- + src/hb-ot-layout-gdef-table.hh | 24 +++++----- + src/hb-ot-layout-gpos-table.hh | 70 +++++++++++++++--------------- + src/hb-ot-layout-gsub-table.hh | 14 +++--- + src/hb-ot-layout-gsubgpos.hh | 64 +++++++++++++-------------- + src/hb-ot-layout-jstf-table.hh | 24 +++++----- + src/hb-ot-math-table.hh | 34 +++++++-------- + src/hb-ot-meta-table.hh | 2 +- + src/hb-ot-name-table.hh | 4 +- + src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- + src/hb-ot-stat-table.hh | 8 ++-- + src/hb-ot-var-fvar-table.hh | 2 +- + src/hb-ot-var-gvar-table.hh | 6 +-- + src/hb-ot-var-hvar-table.hh | 10 ++--- + src/hb-ot-var-mvar-table.hh | 2 +- + 32 files changed, 214 insertions(+), 212 deletions(-) + +commit c5c13006a1f8e5fb9b28a3c2081e93eb4e5d4c98 +Author: Garret Rieger +Date: Wed Mar 31 11:23:46 2021 -0700 + + [subset] fix memory leaks found in https://oss-fuzz.com/testcase-detail/5179935334465536 + + src/hb-repacker.hh | 3 ++- + src/hb-vector.hh | 5 +++++ + ...testcase-minimized-hb-subset-fuzzer-5179935334465536 | Bin 0 -> 50501 bytes + 3 files changed, 7 insertions(+), 1 deletion(-) + +commit bd2950b3939d88fed998717b05367651153dc21b +Author: Behdad Esfahbod +Date: Wed Mar 31 11:36:36 2021 -0600 + + Make VariationStore::get_delta(outer, inner) private + + src/hb-ot-layout-common.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 934675a42958ba2e4e3e10aa4b55a9e772977399 +Author: Behdad Esfahbod +Date: Wed Mar 31 11:34:41 2021 -0600 + + Use VarIdx in VariationDevice + + src/hb-ot-layout-common.hh | 17 +++++++---------- + 1 file changed, 7 insertions(+), 10 deletions(-) + +commit 0f7f7536b9d98e65f345398529da9c6bc365a3fb +Author: Behdad Esfahbod +Date: Wed Mar 31 11:31:49 2021 -0600 + + [hvar] Change variation-index types from "unsigned int" to uint32_t + + src/hb-ot-var-hvar-table.hh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit 9ffc46b8ff5546998fc9b74cb54dec8618ed0ac7 +Author: Behdad Esfahbod +Date: Wed Mar 31 11:26:18 2021 -0600 + + Add VarIdx + + src/hb-open-type.hh | 6 ++++++ + src/hb-static.cc | 1 + + 2 files changed, 7 insertions(+) + +commit 2179281c406452392a2d9c7e17b81e02735fe50b +Author: Behdad Esfahbod +Date: Wed Mar 31 11:20:21 2021 -0600 + + Add Offset24 + + src/hb-open-type.hh | 1 + + 1 file changed, 1 insertion(+) + +commit b3159ed8d2dbe4af584d05298448e6de62d394d6 +Author: Behdad Esfahbod +Date: Tue Mar 30 20:52:56 2021 -0600 + + [util] Silence compiler warning + + util/helper-cairo.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cab9d5a57dc56c47ba4db51b813fac618694c9a9 +Author: Andrzej Perczak +Date: Fri Mar 19 22:10:50 2021 +0100 + + hb-config: Include config-override earlier + + Currently config-override.h is included at the end of this file. This caused a problem for me while undefing HB_DISABLE_DEPRECATED, namely HB_IF_NOT_DEPRECATED was defined before actual undef took place and broke the whole build. I believe it would break builds for some other defines, too. Moving config-override.h include right after predefined configs is more sane and fixes all potential problems with includes. + + src/hb-config.hh | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit adca4ce071d12998deea6bb53b223daa3aa163c5 +Author: Garret Rieger +Date: Tue Mar 30 13:20:50 2021 -0700 + + [subset] fixes https://oss-fuzz.com/testcase-detail/6173520787800064. + + Caused by incorrect bounds check in glyph closure for context lookups. + + src/hb-ot-layout-gsubgpos.hh | 2 +- + ...-testcase-minimized-hb-subset-fuzzer-6173520787800064 | Bin 0 -> 1731 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit 9f77a0c1ff02765862d6d2bfed6b9aab78db6fff +Author: Garret Rieger +Date: Tue Mar 30 14:10:45 2021 -0700 + + [subset] use hb_set_clear to avoid calling clear() on null pool set. + + src/hb-ot-layout-gsubgpos.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 752e393ad2f5ec4f7faae84f5322fbef41ddb2ab +Author: Garret Rieger +Date: Mon Mar 29 17:23:33 2021 -0700 + + [subset] avoid calling clear on null pool set. + + src/hb-ot-layout-gsubgpos.hh | 3 ++- + ...z-testcase-minimized-hb-subset-fuzzer-5617065093365760 | Bin 0 -> 160 bytes + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 9ed5f04a7092c76744076ba65673b250aee22dcd +Author: Behdad Esfahbod +Date: Mon Mar 29 18:14:30 2021 -0600 + + [subset] Simplify recent out-of-memory fixes + + By checking return status of map->set(). + + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-layout-gsubgpos.hh | 12 ++++++------ + 2 files changed, 10 insertions(+), 10 deletions(-) + +commit a8f9f85a919543ce79b5a7d5df90c132830ae772 +Author: Behdad Esfahbod +Date: Mon Mar 29 18:12:05 2021 -0600 + + [map] Return success from ->set() + + src/hb-map.hh | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 8741914a8043757d4800b14192980fbc1ea24492 +Author: Garret Rieger +Date: Mon Mar 29 16:39:44 2021 -0700 + + [subset] fix memory leak when map insert fails. + + src/hb-ot-layout-common.hh | 17 ++++++++++++----- + ...estcase-minimized-hb-subset-fuzzer-6421315436281856 | Bin 0 -> 59 bytes + 2 files changed, 12 insertions(+), 5 deletions(-) + +commit 2397689387419f9a86b928ea5084b2318d136ac6 +Author: Behdad Esfahbod +Date: Mon Mar 29 17:34:23 2021 -0600 + + Remove hb_success_t + + Was not rolled-out yet. So just expand. + + src/hb-open-type.hh | 4 ++-- + src/hb.hh | 1 - + 2 files changed, 2 insertions(+), 3 deletions(-) + +commit 7a2eda7817a26e017c9da3db4700a24dde550dde +Author: Behdad Esfahbod +Date: Mon Mar 29 17:32:29 2021 -0600 + + Move code around + + src/hb-open-type.hh | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +commit bcb57dccaabad4275ab96b14123413bbec6d0fec +Author: Behdad Esfahbod +Date: Mon Mar 29 17:31:09 2021 -0600 + + [sanitize] Add short-circuit to ArrayOfM1 + + Like the sibling ArrayOf types. + + src/hb-open-type.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 5b6da6d2f0bcaeb7768705e6891f575ae73c8b41 +Author: Garret Rieger +Date: Mon Mar 29 16:19:17 2021 -0700 + + [subset] add fuzzer test case. + + ...z-testcase-minimized-hb-subset-fuzzer-5250795600740352 | Bin 0 -> 409 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 52df6b9fd8cf075f416372f0469a6915e814b0d6 +Author: Garret Rieger +Date: Mon Mar 29 16:17:27 2021 -0700 + + [subset] check for set insertion success. + + src/hb-ot-layout-gsubgpos.hh | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit c6adb90a273f22159b0775f798724d36d552d36c +Author: Garret Rieger +Date: Mon Mar 29 16:08:44 2021 -0700 + + [subset] fix nullptr deref. + + src/hb-ot-layout-gsubgpos.hh | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +commit 9a3537e5f688637a2ac2ced57de9e2b7c21d90a5 +Author: Garret Rieger +Date: Mon Mar 29 14:34:24 2021 -0700 + + [subset] invert err() return value. Undo previous change to check_success. + + src/hb-serialize.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a804a0c903f6dd230954ff5855ed7ff1dd92844d +Author: Garret Rieger +Date: Mon Mar 29 14:25:20 2021 -0700 + + [subset] add fuzzer test case. + + ...-testcase-minimized-hb-subset-fuzzer-5887968763052032 | Bin 0 -> 3889 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit cdba5d44c28a97ab8d9298a3bef60fcbd0845000 +Author: Garret Rieger +Date: Mon Mar 29 14:23:59 2021 -0700 + + [subset] fix incorrect handling of return value in check_success in the error case. + + src/hb-serialize.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 05e845c49ad2eebf110dcc6cb0ee48a7f68ca233 +Author: Behdad Esfahbod +Date: Mon Mar 29 16:02:10 2021 -0700 + + Make previous commit gcc-only + + src/hb.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit b5e40323921566ce8a15aa7808d22d36acac4edd +Author: Behdad Esfahbod +Date: Mon Mar 29 15:54:40 2021 -0700 + + -Wno-unused-result + + GCC doesn't let one turn off the warning using "(void) foo()". + People have introduced macros that do "unused << foo()" instead. + Until we do something similar, silence gcc. + + Clang on the other hand understands "(void) foo()". + + src/hb.hh | 1 + + 1 file changed, 1 insertion(+) + +commit c30349d54e67c1ee7e1ea759e8378fcf6a6c9ff4 +Author: Khaled Hosny +Date: Sun Mar 21 20:12:59 2021 +0200 + + [hb-view] Support kitty inline images protocol + + https://github.com/harfbuzz/harfbuzz/issues/2758 + + util/helper-cairo.cc | 36 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 36 insertions(+) + +commit f7d5889b3ea9012d23407b83a176bcd54a94e21b +Author: Khaled Hosny +Date: Sun Mar 21 18:16:33 2021 +0200 + + [hb-view] Support iTerm2 inline images protocol + + https://github.com/harfbuzz/harfbuzz/issues/2758 + + util/helper-cairo.cc | 85 +++++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 78 insertions(+), 7 deletions(-) + +commit 743baf35436d8de937984e09467f453cdfba102e +Author: Khaled Hosny +Date: Mon Mar 22 15:51:17 2021 +0200 + + [build] Don’t look for FontConfig + + We don’t currently use it anywhere. It was used briefly for the + hb-fc-list tool, but this tool have not been built since 2015: + + commit cd042fc8c4a3984c3647cd22a27c34f00636f6e8 + Author: Behdad Esfahbod + Date: Thu Jun 18 10:55:13 2015 -0700 + + [util] Disable hb-fc-list for now + + Until I figure out what to do about the API, and finalize + the tool. + + .circleci/config.yml | 2 +- + Makefile.am | 1 - + configure.ac | 19 ------------------- + docs/usermanual-install-harfbuzz.xml | 20 -------------------- + meson.build | 7 ------- + meson_options.txt | 2 -- + subprojects/.gitignore | 1 - + subprojects/fontconfig.wrap | 6 ------ + 8 files changed, 1 insertion(+), 57 deletions(-) + +commit 95230e291dddc20185e6a34b69836631d894c0d8 +Author: Qunxin Liu +Date: Thu Mar 18 17:41:25 2021 -0700 + + [subset] support subsetting GSUB8 + + src/hb-ot-layout-gsub-table.hh | 73 ++++++++++++++++++++- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...yout-retain-gids.41,42,43,44,45,46,47,48,49.otf | Bin 0 -> 3172 bytes + ...eep-layout-retain-gids.41,42,43,44,45,46,47.otf | Bin 0 -> 2796 bytes + ...eep-layout-retain-gids.41,42,43,44,45,46,4D.otf | Bin 0 -> 2860 bytes + ...eep-layout-retain-gids.41,42,43,44,45,46,51.otf | Bin 0 -> 2864 bytes + ...d.keep-layout-retain-gids.41,42,43,44,45,46.otf | Bin 0 -> 2540 bytes + ...ly_created.keep-layout-retain-gids.41,42,43.otf | Bin 0 -> 1984 bytes + ...manually_created.keep-layout-retain-gids.41.otf | Bin 0 -> 1872 bytes + ...manually_created.keep-layout-retain-gids.61.otf | Bin 0 -> 2584 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3832 bytes + ...ated.keep-layout.41,42,43,44,45,46,47,48,49.otf | Bin 0 -> 2384 bytes + ...ly_created.keep-layout.41,42,43,44,45,46,47.otf | Bin 0 -> 1996 bytes + ...ly_created.keep-layout.41,42,43,44,45,46,4D.otf | Bin 0 -> 1996 bytes + ...ly_created.keep-layout.41,42,43,44,45,46,51.otf | Bin 0 -> 2044 bytes + ...ually_created.keep-layout.41,42,43,44,45,46.otf | Bin 0 -> 1832 bytes + ...gsub8_manually_created.keep-layout.41,42,43.otf | Bin 0 -> 1284 bytes + .../gsub8_manually_created.keep-layout.41.otf | Bin 0 -> 1172 bytes + .../gsub8_manually_created.keep-layout.61.otf | Bin 0 -> 1540 bytes + ...ly_created.keep-layout.retain-all-codepoint.otf | Bin 0 -> 3832 bytes + test/subset/data/fonts/gsub8_manually_created.otf | Bin 0 -> 4824 bytes + test/subset/data/tests/layout.gsub8.tests | 17 +++++ + test/subset/meson.build | 1 + + 24 files changed, 91 insertions(+), 2 deletions(-) + +commit d18915f920a0d9ab7ce5cfec4654d3d610b1d082 +Author: David Corbett +Date: Sun Mar 28 10:09:13 2021 -0400 + + Reformat gen-tag-table.py + + src/gen-tag-table.py | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +commit 3c8273ab68e37ed5b08b4edacac995fc451d5732 +Author: Garret Rieger +Date: Thu Mar 25 11:39:57 2021 -0700 + + Check for alloc failures on the gsub/gpos_langsys maps in subset plan creation. + + src/hb-subset-plan.cc | 46 ++++++++++++++++++++++++++++------------------ + src/hb-subset.cc | 4 +++- + 2 files changed, 31 insertions(+), 19 deletions(-) + +commit 29708e959a04ee003b9c0738f0c5330584f15b4f +Author: Behdad Esfahbod +Date: Mon Mar 22 15:22:15 2021 -0700 + + [aat] Fix offsetToIndex math for out-of-bounds values + + Previously, some bad font data was accidentally being interpretted as + legit if it happened to not fall out of memory bounds. The intention + of the code was what this commit does. I'm surprised we weren't getting + a "arithmetic between signed and unsigned values" warning / error + before. + + src/hb-aat-layout-common.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit c5d6bdb4bf2d8d595f5c762c3e618444621803ae +Merge: a7d120aea 46bf03d69 +Author: Behdad Esfahbod +Date: Thu Mar 18 14:38:55 2021 -0700 + + Merge pull request #2857 from googlefonts/repacker + + [subset] add a GSUB/GPOS table repacker to resolve offset overflows. + +commit 46bf03d6919087e4ce8f0626a3d342380346dc97 +Author: Garret Rieger +Date: Thu Mar 18 14:35:36 2021 -0700 + + [subset] add NODISCARD to error checking methods on serializer. + + src/hb-serialize.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 3827a3eb567b424e8144564a42a22df74a20a7c6 +Author: Garret Rieger +Date: Thu Mar 18 11:20:03 2021 -0700 + + [subset] rename serializer::set_error() to err(). + + src/hb-repacker.hh | 4 ++-- + src/hb-serialize.hh | 15 +++++++-------- + 2 files changed, 9 insertions(+), 10 deletions(-) + +commit f561fa6e4c5572c60c8fcf40e617919e531e6ee3 +Author: Garret Rieger +Date: Thu Mar 18 11:13:47 2021 -0700 + + Change priority queue to use (priority, value) instead of (value, priority). + + src/Makefile.sources | 2 +- + src/hb-priority-queue.hh | 24 +++++++++++++----------- + src/hb-repacker.hh | 14 +++++++------- + src/test-priority-queue.cc | 40 ++++++++++++++++++++-------------------- + 4 files changed, 41 insertions(+), 39 deletions(-) + +commit b14475d2ae488acf3c2a169126a4901796401157 +Author: Garret Rieger +Date: Thu Mar 18 10:51:26 2021 -0700 + + [subset] further changes to serializer error handling. + + - Rename enum type and enum members. + - in_errors() now returns true for any error having been set. hb-subset now looks for offset overflow only errors to divert to repacker. + - Added INT_OVERFLOW and ARRAY_OVERFLOW enum values. + + src/hb-cff-interp-common.hh | 2 +- + src/hb-open-type.hh | 8 +++---- + src/hb-ot-cmap-table.hh | 11 +++++----- + src/hb-ot-hmtx-table.hh | 2 +- + src/hb-ot-layout-gpos-table.hh | 8 +++---- + src/hb-ot-layout-gsub-table.hh | 2 +- + src/hb-repacker.hh | 4 ++-- + src/hb-serialize.hh | 50 ++++++++++++++++++++++++------------------ + src/hb-subset.cc | 4 ++-- + 9 files changed, 50 insertions(+), 41 deletions(-) + +commit 73ed59f7a68fc5363ef444b6de131c92cc5ca836 +Author: Garret Rieger +Date: Wed Mar 17 15:53:10 2021 -0700 + + [subset] store errors in the serializer as a flag set. + + Make check_assign/check_equal specify the type of error to set. + + src/hb-cff-interp-common.hh | 2 +- + src/hb-open-type.hh | 10 ++++--- + src/hb-ot-cmap-table.hh | 17 +++++++---- + src/hb-ot-hdmx-table.hh | 2 +- + src/hb-ot-hmtx-table.hh | 2 +- + src/hb-ot-layout-gpos-table.hh | 8 +++--- + src/hb-ot-layout-gsub-table.hh | 4 +-- + src/hb-ot-name-table.hh | 3 +- + src/hb-repacker.hh | 4 +-- + src/hb-serialize.hh | 64 +++++++++++++++++++++++++----------------- + src/hb-subset.cc | 8 +++--- + src/test-repacker.cc | 4 +-- + 12 files changed, 76 insertions(+), 52 deletions(-) + +commit b9ecc7420df811e94413d77e6d70140e18d6ebe6 +Author: Garret Rieger +Date: Tue Feb 16 13:39:10 2021 -0800 + + [subset] init offset_overflow in hb_serialize_context_t. + + src/hb-serialize.hh | 1 + + 1 file changed, 1 insertion(+) + +commit cf79fc342d7e59966fc7ba3e8460d58083b33966 +Author: Garret Rieger +Date: Tue Feb 16 13:24:43 2021 -0800 + + [subset] limit priority bumps to 16. + + src/hb-repacker.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 0104409959b15ca8dc344df4a60ce36fc7f40105 +Author: Garret Rieger +Date: Tue Feb 16 11:38:14 2021 -0800 + + Fix repack_tests for distcheck. + + test/subset/data/repack_tests/Makefile.am | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit e2f14e81bd20cc944bdecba7fcea20a4b4eddec0 +Author: Garret Rieger +Date: Wed Nov 11 13:55:35 2020 -0800 + + [subset] fix memory leaks in test-repacker. + + src/test-repacker.cc | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +commit d3e2ba7c01b26da9cc5fac49a204fae8a54a3eb1 +Author: Garret Rieger +Date: Wed Nov 11 13:50:18 2020 -0800 + + [subset] comment cleanup in hb-repacker.hh + + src/hb-repacker.hh | 35 ++++++++++++++++++++++++----------- + 1 file changed, 24 insertions(+), 11 deletions(-) + +commit 832f2b599b3d4fad5eea6d0eeef77377d3e0bad0 +Author: Garret Rieger +Date: Tue Nov 10 16:15:37 2020 -0800 + + [subset] Refactor _subset () to reduce nesting and eliminate the use of 'goto'. + + src/hb-serialize.hh | 9 ++++ + src/hb-subset.cc | 134 +++++++++++++++++++++++++++++++--------------------- + src/meson.build | 1 + + 3 files changed, 90 insertions(+), 54 deletions(-) + +commit bb5c80a7c2d2454bba745a155146e7eaad912474 +Author: Garret Rieger +Date: Tue Nov 10 14:11:57 2020 -0800 + + [subset] add error tracking to the repacker. + Also check for allocation failures as needed. + + src/hb-repacker.hh | 93 ++++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 62 insertions(+), 31 deletions(-) + +commit b8b8c58b9ff9b51108caf47f5d98a15801b39058 +Author: Garret Rieger +Date: Tue Nov 10 11:56:09 2020 -0800 + + [subset] add tests that check for successful repacking of a real font file. + + configure.ac | 1 + + test/subset/Makefile.am | 2 + + test/subset/data/Makefile.am | 2 +- + test/subset/data/fonts/NotoNastaliqUrdu-Bold.ttf | Bin 0 -> 459600 bytes + test/subset/data/repack_tests/Makefile.am | 22 +++++ + test/subset/data/repack_tests/Makefile.sources | 12 +++ + .../repack_tests/advanced_prioritization.tests | 72 ++++++++++++++ + test/subset/data/repack_tests/basic.tests | 52 +++++++++++ + test/subset/data/repack_tests/prioritization.tests | 77 +++++++++++++++ + .../data/repack_tests/table_duplication.tests | 97 +++++++++++++++++++ + test/subset/meson.build | 22 +++++ + test/subset/repack_test.py | 36 +++++++ + test/subset/run-repack-tests.py | 104 +++++++++++++++++++++ + 13 files changed, 498 insertions(+), 1 deletion(-) + +commit 6e9468fcfb71c731b0ec5a5e9c434119f16245e9 +Author: Garret Rieger +Date: Mon Nov 9 16:52:36 2020 -0800 + + [subset] cleanup memory leaks in the repacker. + + src/hb-repacker.hh | 7 ++++++- + src/hb-subset.cc | 12 ++++++++---- + 2 files changed, 14 insertions(+), 5 deletions(-) + +commit a7a86a6eb4da25822cf0d42d7dd1668a15325a8f +Author: Garret Rieger +Date: Fri Nov 6 16:22:48 2020 -0800 + + [subset] Add prioritization offset resolution. + Vertices can now be prioritized to force them to sort closer to their parent. The resolver will attempt to use this for overflows on non-shared vertices. + + src/hb-repacker.hh | 107 +++++++++++++++++++++++++++++++++++++++++---------- + src/test-repacker.cc | 1 + + 2 files changed, 88 insertions(+), 20 deletions(-) + +commit b452b2c76c9f76c9ea3501e8eb6534cb172f59ce +Author: Garret Rieger +Date: Fri Nov 6 15:37:05 2020 -0800 + + [subset] refactor repacker graph to cache edge count and distances of vertices. + + src/hb-repacker.hh | 315 ++++++++++++++++++++++++++++++--------------------- + src/test-repacker.cc | 158 +++++++++++++------------- + 2 files changed, 265 insertions(+), 208 deletions(-) + +commit 75414e82b52d5a3adeb1eb48e64f43472913cba2 +Author: Garret Rieger +Date: Thu Nov 5 16:39:23 2020 -0800 + + [subset] Add table duplication overflow resolution. + + src/hb-debug.hh | 4 ++ + src/hb-repacker.hh | 181 ++++++++++++++++++++++++++++++++++++++++------- + src/test-repacker.cc | 196 +++++++++++++++++++++++++++++++++++++++++++++++++-- + 3 files changed, 347 insertions(+), 34 deletions(-) + +commit 8286bd80940a7d136ee503dd1b1142190c6695ff +Author: Garret Rieger +Date: Thu Nov 5 14:23:29 2020 -0800 + + [subset] use vectors instead of hashmaps throughout the repacker since all keys will be mapped for these use cases. + + src/hb-repacker.hh | 65 ++++++++++++++++++++++++++---------------------------- + 1 file changed, 31 insertions(+), 34 deletions(-) + +commit 519ae96617e1e2867122c5dbbdc8f1bbce89cb24 +Author: Garret Rieger +Date: Thu Nov 5 11:22:16 2020 -0800 + + [subset] switch sort_shortest_distance() to use priority queue. + + src/hb-repacker.hh | 35 +++++++++++++---------------------- + 1 file changed, 13 insertions(+), 22 deletions(-) + +commit 5d3511e5b13eb825ea9914aa2400cc040edef8a7 +Author: Garret Rieger +Date: Thu Nov 5 10:34:26 2020 -0800 + + [subset] Change compute_distances() to use a priority queue. + + src/hb-repacker.hh | 38 ++++++++++++++++++++++++++++---------- + src/meson.build | 1 + + 2 files changed, 29 insertions(+), 10 deletions(-) + +commit 59ac0a0d0a99e91a75d18a3884ae276309370997 +Author: Garret Rieger +Date: Thu Nov 5 10:29:56 2020 -0800 + + [subset] Use priority for comparison in heap. + + src/hb-priority-queue.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 4c8dd41ed90292d4516c539be23c16d625d69a41 +Author: Garret Rieger +Date: Thu Nov 5 09:21:25 2020 -0800 + + [subset] re-write compute distances to use an array lookup for the distance map. + + src/hb-priority-queue.hh | 4 ++-- + src/hb-repacker.hh | 55 ++++++++++++++++++++---------------------------- + src/test-repacker.cc | 2 ++ + 3 files changed, 27 insertions(+), 34 deletions(-) + +commit 5c4e0ffd9768de0c51a42baa35d9c29636fdd99a +Author: Garret Rieger +Date: Wed Nov 4 16:08:01 2020 -0800 + + [subset] Add a basic priority queue datastructure (binary heap). + + src/Makefile.am | 6 +- + src/Makefile.sources | 1 + + src/hb-priority-queue.hh | 149 +++++++++++++++++++++++++++++++++++++++++++++ + src/test-priority-queue.cc | 89 +++++++++++++++++++++++++++ + 4 files changed, 244 insertions(+), 1 deletion(-) + +commit dd8e5d0e1b0c52190bf16ab091ee3756b30d4d97 +Author: Garret Rieger +Date: Tue Nov 3 14:01:42 2020 -0800 + + [subset] Only run the repacker for GSUB/GPOS. + + src/hb-subset.cc | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit aaa7873d425a6267b1df16f5a1f3750578b438f0 +Author: Garret Rieger +Date: Mon Nov 2 16:16:27 2020 -0800 + + [subset] add topological sort by closest distance via Dijkstra's algorithm. + + src/hb-repacker.hh | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/test-repacker.cc | 37 ++++++++++++++- + 2 files changed, 160 insertions(+), 2 deletions(-) + +commit 8ebe5d734f3543b7a1266f252fe96188efc69531 +Author: Garret Rieger +Date: Mon Nov 2 14:51:39 2020 -0800 + + Implement will_overflow (). + + src/hb-repacker.hh | 73 +++++++++++++++++++++++++++++++++++++++++++++++++--- + src/test-repacker.cc | 45 ++++++++++++++++++++++++++++++++ + 2 files changed, 114 insertions(+), 4 deletions(-) + +commit 6b1ea4cbe724af10309763b708abc36c968f14a7 +Author: Garret Rieger +Date: Fri Oct 30 12:16:26 2020 -0700 + + [subset] hook up the repacker to run if offset overflows are encountered during subsetting. + + src/hb-serialize.hh | 13 +++++++++++-- + src/hb-subset.cc | 30 +++++++++++++++++++++++++++++- + 2 files changed, 40 insertions(+), 3 deletions(-) + +commit f4c78cc7dd11c83aa3f3a3516e75f4fe689aff19 +Author: Garret Rieger +Date: Fri Oct 30 10:29:51 2020 -0700 + + [subset] Implement Kahn's algo for topological sorting instead of BFS. + + src/hb-repacker.hh | 88 +++++++++++++++++++++++++++++++++++----------------- + src/test-repacker.cc | 69 +++++++++++++++++++++++++++++++++++++--- + 2 files changed, 124 insertions(+), 33 deletions(-) + +commit 00f393dc3fdd40a761df4fe988745ecb0e62df4b +Author: Garret Rieger +Date: Thu Oct 29 14:58:34 2020 -0700 + + [subset] finish up BFS sort implementation. + + src/hb-repacker.hh | 93 +++++++++++++++++++++++++++++++++++++++----------- + src/test-repacker.cc | 95 ++++++++++++++++++++++++++++++++++++++++++---------- + 2 files changed, 151 insertions(+), 37 deletions(-) + +commit 1584d3cb8faf244ae439cd59eac5f3d006d7a106 +Author: Garret Rieger +Date: Wed Oct 28 17:49:09 2020 -0700 + + [subset] Start a proof of concept implementation of the GSUB/GPOS offset overflow resolver. + + src/Makefile.am | 6 +- + src/Makefile.sources | 1 + + src/hb-repacker.hh | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-serialize.hh | 3 + + src/test-repacker.cc | 87 +++++++++++++++++++++++++ + 5 files changed, 276 insertions(+), 1 deletion(-) + +commit a7d120aeabbae6a08f3cdd39a5ef1d435c3a4854 +Merge: 69d772e52 56ca43578 +Author: Behdad Esfahbod +Date: Wed Mar 17 14:33:33 2021 -0700 + + Merge pull request #2835 from googlefonts/remove_redundant_sys + + [subset] Remove redundant LangSys + +commit 56ca435787c1686fcfe01bf4db822bb91d9ba769 +Author: Qunxin Liu +Date: Thu Jan 28 15:21:26 2021 -0800 + + [subset] fix for collect_features and remove_redundant_lamngsys + + previously remove_redundant_sys () is missing in harfbuzz, after + redundant langsys removal, some features are removed as well in + prune_features() in fonttools. This change is trying to get the same + result between harfbuzz and fonttools. + + src/hb-ot-layout-common.hh | 182 +++++++++++++++++++-- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsub-table.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 75 ++++++++- + src/hb-subset-plan.cc | 43 ++++- + src/hb-subset-plan.hh | 6 +- + ...-retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48640 -> 48596 bytes + ...lar.keep-layout-retain-gids.627,644,62D,628.ttf | Bin 42884 -> 42836 bytes + ...iri-Regular.keep-layout-retain-gids.627,644.ttf | Bin 36940 -> 36892 bytes + ...yout-retain-gids.633,645,627,621,20,644,627.ttf | Bin 46724 -> 46680 bytes + ...Regular.keep-layout-retain-gids.63A,64A,631.ttf | Bin 42896 -> 42896 bytes + ....keep-layout.627,644,623,62D,644,627,645,2E.ttf | Bin 13332 -> 13288 bytes + .../Amiri-Regular.keep-layout.627,644,62D,628.ttf | Bin 10232 -> 10188 bytes + .../Amiri-Regular.keep-layout.627,644.ttf | Bin 4412 -> 4364 bytes + ...ular.keep-layout.633,645,627,621,20,644,627.ttf | Bin 10372 -> 10324 bytes + .../Amiri-Regular.keep-layout.63A,64A,631.ttf | Bin 7824 -> 7824 bytes + test/subset/data/fonts/Amiri-Regular.ttf | Bin 562684 -> 562980 bytes + 17 files changed, 284 insertions(+), 26 deletions(-) + +commit 69d772e522c60aa9d73b6ccd550f4a834e7bd9b8 +Author: Garret Rieger +Date: Wed Mar 17 14:11:16 2021 -0700 + + [subset] Fixed test gsub5 test files. + + ...2.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3752 -> 3808 bytes + ...e_subrules_f2.keep-layout.retain-all-codepoint.otf | Bin 3752 -> 3808 bytes + ...2.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3768 -> 3824 bytes + ...e_subrules_f2.keep-layout.retain-all-codepoint.otf | Bin 3768 -> 3824 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3772 -> 3828 bytes + ...successive_f1.keep-layout.retain-all-codepoint.otf | Bin 3772 -> 3828 bytes + 6 files changed, 0 insertions(+), 0 deletions(-) + +commit 0e1c0fa404e2ad087265dc59130dbec1c4682258 +Author: Qunxin Liu +Date: Tue Jan 12 10:17:14 2021 -0800 + + [subset] optimize glyph closure method: step 5 + + add testcase and some fixes + + src/hb-ot-layout-common.hh | 35 ++++---- + src/hb-ot-layout-gsub-table.hh | 10 +-- + src/hb-ot-layout-gsubgpos.hh | 95 +++++++++++++++------ + src/hb-ot-layout.cc | 18 +++- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...ubrules_f2.keep-layout-retain-gids.41,42,43.otf | Bin 0 -> 2248 bytes + ...e_subrules_f2.keep-layout-retain-gids.41,42.otf | Bin 0 -> 2224 bytes + ...e_subrules_f2.keep-layout-retain-gids.41,43.otf | Bin 0 -> 2060 bytes + ...iple_subrules_f2.keep-layout-retain-gids.41.otf | Bin 0 -> 1928 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3752 bytes + ...1_multiple_subrules_f2.keep-layout.41,42,43.otf | Bin 0 -> 1460 bytes + ...ext1_multiple_subrules_f2.keep-layout.41,42.otf | Bin 0 -> 1420 bytes + ...ext1_multiple_subrules_f2.keep-layout.41,43.otf | Bin 0 -> 1344 bytes + ...ontext1_multiple_subrules_f2.keep-layout.41.otf | Bin 0 -> 1228 bytes + ...ubrules_f2.keep-layout.retain-all-codepoint.otf | Bin 0 -> 3752 bytes + ...ubrules_f2.keep-layout-retain-gids.41,42,43.otf | Bin 0 -> 2264 bytes + ...e_subrules_f2.keep-layout-retain-gids.41,42.otf | Bin 0 -> 2236 bytes + ...e_subrules_f2.keep-layout-retain-gids.41,43.otf | Bin 0 -> 2060 bytes + ...iple_subrules_f2.keep-layout-retain-gids.41.otf | Bin 0 -> 1928 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3768 bytes + ...2_multiple_subrules_f2.keep-layout.41,42,43.otf | Bin 0 -> 1476 bytes + ...ext2_multiple_subrules_f2.keep-layout.41,42.otf | Bin 0 -> 1432 bytes + ...ext2_multiple_subrules_f2.keep-layout.41,43.otf | Bin 0 -> 1344 bytes + ...ontext2_multiple_subrules_f2.keep-layout.41.otf | Bin 0 -> 1228 bytes + ...ubrules_f2.keep-layout.retain-all-codepoint.otf | Bin 0 -> 3768 bytes + ...cessive_f1.keep-layout-retain-gids.41,42,43.otf | Bin 0 -> 2028 bytes + ...successive_f1.keep-layout-retain-gids.41,42.otf | Bin 0 -> 1932 bytes + ...successive_f1.keep-layout-retain-gids.41,43.otf | Bin 0 -> 2048 bytes + ...t3_successive_f1.keep-layout-retain-gids.41.otf | Bin 0 -> 1916 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3772 bytes + ...context3_successive_f1.keep-layout.41,42,43.otf | Bin 0 -> 1328 bytes + ...ub_context3_successive_f1.keep-layout.41,42.otf | Bin 0 -> 1228 bytes + ...ub_context3_successive_f1.keep-layout.41,43.otf | Bin 0 -> 1332 bytes + .../gsub_context3_successive_f1.keep-layout.41.otf | Bin 0 -> 1216 bytes + ...cessive_f1.keep-layout.retain-all-codepoint.otf | Bin 0 -> 3772 bytes + .../fonts/gsub_context1_multiple_subrules_f2.otf | Bin 0 -> 4776 bytes + .../fonts/gsub_context2_multiple_subrules_f2.otf | Bin 0 -> 4796 bytes + .../data/fonts/gsub_context3_successive_f1.otf | Bin 0 -> 4760 bytes + test/subset/data/tests/layout.gsub5.tests | 15 ++++ + test/subset/meson.build | 1 + + 41 files changed, 124 insertions(+), 52 deletions(-) + +commit b8a58a0c0b7d62c33b106ad119a567b6d86d1d36 +Author: Qunxin Liu +Date: Sun Jan 10 15:50:04 2021 -0800 + + [subset] optimize glyph closure method: step 4 + + optimize recurse_lookups in Context/ChainContext + glyph closure, only the glyphs that the parent lookup + can apply the recursion to can participate in recursing + the lookup. + + src/hb-ot-layout-gsub-table.hh | 84 ++++------------ + src/hb-ot-layout-gsubgpos.hh | 219 +++++++++++++++++++++++++++++++---------- + 2 files changed, 186 insertions(+), 117 deletions(-) + +commit 62423504ee6dcf282177ea0b91268df4e7a1e30b +Author: Qunxin Liu +Date: Tue Jan 5 14:54:40 2021 -0800 + + [subset] optimize glyph closure method: step 3 + + Add function intersects_coverage_glyphs that collects + set of matching glyphs in Coverage table + + src/hb-ot-layout-common.hh | 39 ++++++++++++++++++++++++++++++++++----- + 1 file changed, 34 insertions(+), 5 deletions(-) + +commit ef78d0f92345eb452e94c73301bc929822755b27 +Author: Qunxin Liu +Date: Tue Jan 5 10:16:50 2021 -0800 + + [subset] optimize glyph closure method: step 2 + Add function intersects_class_glyphs that collects + set of glyphs matching class in ClassDef table + + src/hb-ot-layout-common.hh | 75 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 75 insertions(+) + +commit b4fc593c3c34c45521c684cb6d0d24079d553e3a +Author: Qunxin Liu +Date: Wed Dec 9 10:44:18 2020 -0800 + + [subset] optimize glyph closure method: step1 + + Previous GSUB glyph closure is done by recursively visiting + all reachable lookup tables that apply to any glyphs in the + current/input glyph set, but actually only the glyphs that + the parent lookup can apply the recursion to can participate + in recursing the lookup. This is step 1 for glyph closure + optimization: + 1. Add stack of currently active glyph set pointers into hb_closure_context_t + 2. Update closure() method in simple GSUB tables to use + this stack in order not to change current glyph set at different stages + of recursion + 3. Add function may_have_non_1to1() to GSUB tables + + src/hb-ot-layout-gsub-table.hh | 100 ++++++++++++++++++++++++++++++++++++++--- + src/hb-ot-layout-gsubgpos.hh | 57 ++++++++++++++++++++++- + 2 files changed, 150 insertions(+), 7 deletions(-) + +commit 5f4c321d4aae659f83178143d5a4df0d2d6b4d02 +Merge: 03538e872 1b79b8cd2 +Author: Behdad Esfahbod +Date: Wed Mar 17 10:20:59 2021 -0700 + + Merge pull request #2894 from googlefonts/gpos_2 + + [subset] Update PairPosFormat2 subsetting to match fontTools + +commit 1b79b8cd2daebc99acd9310742755f02162e5ed0 +Author: Garret Rieger +Date: Tue Mar 16 15:23:11 2021 -0700 + + [subset] update gpos tests to reflect updated behaviour. + + test/api/fonts/AdobeVFPrototype.WA.gpos.otf | Bin 3948 -> 4148 bytes + test/api/fonts/Roboto-Regular-gpos-aw.ttf | Bin 2232 -> 2236 bytes + test/api/test-subset-gpos.c | 5 ----- + 3 files changed, 5 deletions(-) + +commit 2df39bcae7e34630361a49c44e9d295233367ce0 +Author: Garret Rieger +Date: Tue Mar 16 14:20:49 2021 -0700 + + [subset] don't allocate a set to use as a glyph filter for PairPosFormat2. + + src/hb-ot-layout-common.hh | 34 ++++++++++++++++++++++------------ + src/hb-ot-layout-gpos-table.hh | 7 +------ + 2 files changed, 23 insertions(+), 18 deletions(-) + +commit b1b1486d07f8fe3c7a1fb4bc87e6f037ff5b47d3 +Author: Garret Rieger +Date: Tue Mar 16 13:32:23 2021 -0700 + + [subset] update expected files to not include cmap12 pruning. + + .../Roboto-Regular.keep-gdef-gpos.1E00,303.ttf | Bin 2648 -> 2648 bytes + .../Roboto-Regular.keep-gdef-gpos.41,42,43.ttf | Bin 2736 -> 2728 bytes + ...os2_2_font5.keep-layout-retain-gids.21,23,25.otf | Bin 1824 -> 1816 bytes + .../gpos2_2_font5.keep-layout-retain-gids.21,23.otf | Bin 1692 -> 1684 bytes + .../gpos2_2_font5.keep-layout-retain-gids.2E,23.otf | Bin 2024 -> 1944 bytes + ...keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3732 -> 3724 bytes + .../gpos2_2_font5.keep-layout.21,23,25.otf | Bin 1488 -> 1480 bytes + .../gpos2_2_font5.keep-layout.21,23.otf | Bin 1368 -> 1360 bytes + .../gpos2_2_font5.keep-layout.2E,23.otf | Bin 1588 -> 1508 bytes + ...os2_2_font5.keep-layout.retain-all-codepoint.otf | Bin 3732 -> 3724 bytes + ...t-retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 48640 -> 48640 bytes + ...r.keep-layout.627,644,623,62D,644,627,645,2E.ttf | Bin 13332 -> 13332 bytes + 12 files changed, 0 insertions(+), 0 deletions(-) + +commit bb54e1047d2d501459bb366e47f24f51824c8db7 +Author: Garret Rieger +Date: Tue Mar 16 13:19:26 2021 -0700 + + [subset] Also filter class1 by coverage when collecting variation indices for PairPosFormat2. + + src/hb-ot-layout-gpos-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 190b7a98f8af54cc42d3ccdb6979e432dfd41aa9 +Author: Garret Rieger +Date: Thu Oct 8 14:44:54 2020 -0700 + + [subset] Update PairPosFormat2 subsetting to match fontTools updated subsetting (https://github.com/fonttools/fonttools/pull/2221) + + - subset class def 1 against the coverage table. + - Don't re-use class 0 in class def 2. + - Ignore class 0 glyphs for the purposes of determing format 1 vs format 2 encoding for ClassDef. + + Add an additional test case which demonstrates these issues. + + src/hb-ot-layout-common.hh | 43 +++++++++++++-------- + src/hb-ot-layout-gpos-table.hh | 14 +++++-- + ...AdobeVFPrototype.keep-gdef-gpos.41,42,43,57.otf | Bin 5444 -> 5400 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42,43.otf | Bin 4916 -> 4872 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,42.otf | Bin 4436 -> 4392 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41,56,57.otf | Bin 4556 -> 4540 bytes + .../AdobeVFPrototype.keep-gdef-gpos.41.otf | Bin 3692 -> 3688 bytes + .../AdobeVFPrototype.keep-gdef-gpos.42,57.otf | Bin 4556 -> 4524 bytes + ...gpos2_1_font7.keep-layout-retain-gids.2E,23.otf | Bin 0 -> 1944 bytes + .../gpos2_1_font7.keep-layout.2E,23.otf | Bin 0 -> 1508 bytes + ...s2_2_font5.keep-layout-retain-gids.21,23,25.otf | Bin 1776 -> 1824 bytes + ...gpos2_2_font5.keep-layout-retain-gids.21,23.otf | Bin 1644 -> 1692 bytes + ...gpos2_2_font5.keep-layout-retain-gids.2E,23.otf | Bin 0 -> 2024 bytes + ...s2_2_font5.keep-layout-retain-gids.41,42,43.otf | Bin 1988 -> 1988 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 3684 -> 3732 bytes + .../gpos2_2_font5.keep-layout.21,23,25.otf | Bin 1440 -> 1488 bytes + .../gpos2_2_font5.keep-layout.21,23.otf | Bin 1320 -> 1368 bytes + .../gpos2_2_font5.keep-layout.2E,23.otf | Bin 0 -> 1588 bytes + .../gpos2_2_font5.keep-layout.41,42,43.otf | Bin 1288 -> 1288 bytes + ...s2_2_font5.keep-layout.retain-all-codepoint.otf | Bin 3684 -> 3732 bytes + test/subset/data/fonts/gpos2_2_font5.otf | Bin 4580 -> 4632 bytes + test/subset/data/tests/layout.gpos2.tests | 1 + + 22 files changed, 38 insertions(+), 20 deletions(-) + +commit 03538e872a0610a65fad692b33d3646f387cf578 +Author: Khaled Hosny +Date: Tue Mar 16 19:28:35 2021 +0200 + + 2.8.0 + + NEWS | 15 +++++++++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 6 +++--- + 4 files changed, 20 insertions(+), 5 deletions(-) + +commit 4c34478b28497acfce02b8a544fed4ae20526336 +Merge: daeb27734 f2d08578e +Author: Khaled Hosny +Date: Tue Mar 16 10:37:49 2021 +0200 + + Merge pull request #2899 from harfbuzz/ci-fix + + [ci] Don’t install meson from its master branch + +commit daeb27734693183232a4571bae76a88ba869224f +Merge: a5b8e7db4 f5356bcb6 +Author: Behdad Esfahbod +Date: Mon Mar 15 18:50:02 2021 -0700 + + Merge pull request #2900 from harfbuzz/nodiscard-buffer + + Mark buffer modification methods that can fail with nodiscard + +commit f2d08578e7a6c6febeff498dbba91ea1f747e14f +Author: Khaled Hosny +Date: Tue Mar 16 00:19:40 2021 +0200 + + [tests] Increase shape-fuzzer timeout + + test/fuzzing/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cad753e20f7f48d4910ce99c55bf8cc379a4aae7 +Author: Khaled Hosny +Date: Tue Mar 16 01:04:16 2021 +0200 + + [ci] Use known working Ubuntu version + + GitHub Actions seems to be moving ubuntu-latest from ubuntu-18.04 to + ubuntu-20.04, but gcovr is broken for us in the new version. + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ff86c72e09f8d7c623fafec671d44d62ef940e50 +Author: Khaled Hosny +Date: Tue Mar 16 00:20:05 2021 +0200 + + [ci] Avoid duplicate builds on pull requests + + Don’t run GitHub Actions on pushing to branches other than master. This + was already the case for the linux-ci workflow. + + .github/workflows/msvc-ci.yml | 2 ++ + .github/workflows/msys2-ci.yml | 2 ++ + 2 files changed, 4 insertions(+) + +commit f5356bcb6186d21158275e69fce75f015eac5478 +Author: Behdad Esfahbod +Date: Mon Mar 15 16:52:39 2021 -0600 + + [ci] Switch back to c++2a + + Okay I guess we can be bothered to fix things up for next version of C++. + + Reverts meat of c0b3b9b2584c6dcb5fc37e3b49e26fba718d0e6c + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9e397ff2fb1beb08a226f12d68a406a13023f03d +Author: Behdad Esfahbod +Date: Mon Mar 15 16:50:54 2021 -0600 + + [buffer] Fix order of HB_INTERNAL HB_DISCARD + + Sucks that has to be specified in this order. But that is what it is for now. + + Was only exhibiting problem on C++>=17 since that's when the [[nodiscard]] + was introduced. + + src/hb-buffer.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 9582640eedbf73fa95e6877a83e9b70970d9d115 +Author: Behdad Esfahbod +Date: Mon Mar 15 16:47:27 2021 -0600 + + [ci] Remove more cruft + + All were commented out already. + + .circleci/config.yml | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +commit c0b3b9b2584c6dcb5fc37e3b49e26fba718d0e6c +Author: Behdad Esfahbod +Date: Mon Mar 15 16:46:13 2021 -0600 + + [ci] Don't test C++2a build + + One of the bots is unhappy when HB_NODISCARD comes after HB_INTERNAL. + No idea why. But, again, we're testing HarfBuzz, not C++, not clang. Ugh. + + In file included from src/harfbuzz.cc:1: + In file included from src/hb-aat-layout.cc:30: + In file included from src/hb-aat-layout.hh:32: + In file included from src/hb-ot-shape.hh:32: + In file included from src/hb-ot-map.hh:32: + src/hb-buffer.hh:335:15: error: an attribute list cannot appear here + HB_INTERNAL HB_NODISCARD bool move_to (unsigned int i); /* i is output-buffer index. */ + ^~~~~~~~~~~~ + https://app.circleci.com/pipelines/github/harfbuzz/harfbuzz/1693/workflows/77459205-a189-45d3-bc58-52a8fd952c3f/jobs/155912/parallel-runs/0/steps/0-110?invite=true + + .circleci/config.yml | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +commit 15f3ef01366c8dc1d6fa18f6c9e072b18f92afd7 +Author: Behdad Esfahbod +Date: Mon Mar 15 15:36:47 2021 -0600 + + [test] Fix output format + + test/shaping/run-tests.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8450f43ae1d1a5825bdfc1ec665cb81b05f35cc2 +Author: Behdad Esfahbod +Date: Mon Mar 15 15:18:06 2021 -0600 + + [buffer] HB_NODISCARD next_glyph() + + src/gen-vowel-constraints.py | 6 ++--- + src/hb-aat-layout-common.hh | 2 +- + src/hb-buffer.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-ot-layout.cc | 2 +- + src/hb-ot-shape-complex-hangul.cc | 18 +++++++-------- + src/hb-ot-shape-complex-syllabic.cc | 4 ++-- + src/hb-ot-shape-complex-thai.cc | 9 ++++---- + src/hb-ot-shape-complex-vowel-constraints.cc | 34 ++++++++++++++-------------- + src/hb-ot-shape-normalize.cc | 33 +++++++++++++++------------ + 10 files changed, 57 insertions(+), 55 deletions(-) + +commit f4bc7673db762db8dbb83caaeeb32b2c04dbcf9a +Author: Behdad Esfahbod +Date: Mon Mar 15 14:54:45 2021 -0600 + + [buffer] Implement copy_glyph() in terms of output_info() + + src/hb-buffer.hh | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit f73982a6992445141ea7ca402d1f4fea80f151c4 +Author: Behdad Esfahbod +Date: Mon Mar 15 14:52:19 2021 -0600 + + [buffer] Implement replace_glyph() in terms of replace_glyphs(1,1) + + I get exact same binary size with this, suggesting that compiler is + optimizing these as needed. + + src/hb-buffer.hh | 12 +----------- + 1 file changed, 1 insertion(+), 11 deletions(-) + +commit 862f913489a868154a3733a93e1ea0407e68cc05 +Author: Behdad Esfahbod +Date: Mon Mar 15 14:48:50 2021 -0600 + + [buffer] Implement output_glyph() in terms of replace_glyphs(0,1) + + To my surprise, saves ~20kb in my build (non-size-optimized) build. + The output_glyph() method is never used in the fast paths, so doesn't + matter if is not fully optimized for the special case it is. + + src/hb-buffer.hh | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +commit 34a1204f10eb1dedbd49c63eb7d89b86315ca093 +Author: Behdad Esfahbod +Date: Mon Mar 15 14:39:06 2021 -0600 + + [buffer] HB_NODISCARD output_glyph() + + Also, generalize and use replace_glyphs() in morx where output_glyph() was used + in a loop. + + src/gen-vowel-constraints.py | 4 +-- + src/hb-aat-layout-morx-table.hh | 6 ++--- + src/hb-buffer.cc | 27 ------------------- + src/hb-buffer.hh | 40 ++++++++++++++++++++-------- + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-ot-shape-complex-thai.cc | 7 +++-- + src/hb-ot-shape-complex-vowel-constraints.cc | 4 +-- + src/hb-ot-shape-normalize.cc | 3 ++- + 8 files changed, 41 insertions(+), 52 deletions(-) + +commit 07315d9c83b9f7b15244c9922f97f4c71f89ae7d +Author: Khaled Hosny +Date: Mon Mar 15 22:37:02 2021 +0200 + + [ci] Don’t install meson from its master branch + + We are testing Harfbuzz not meson! + + .github/workflows/linux-ci.yml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit e6be9eb4fbb9a5d1e028015cf1f92601da2984ac +Author: Behdad Esfahbod +Date: Mon Mar 15 14:12:10 2021 -0600 + + [buffer] HB_NODISCARD output_info() + + src/hb-buffer.hh | 2 +- + src/hb-ot-shape-complex-syllabic.cc | 2 +- + src/hb-ot-shape.cc | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 2a0dbb3ee59a83d1db568b002a17d617f4c45b63 +Author: Behdad Esfahbod +Date: Mon Mar 15 14:10:39 2021 -0600 + + [buffer] HB_NODISCARD copy_glyph() + + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-buffer.hh | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit b05e5d9a7998529ffd0e34f3b8d3ae5bf4c200eb +Author: Behdad Esfahbod +Date: Mon Mar 15 14:08:08 2021 -0600 + + [buffer] HB_NODISCARD next_glyphs() + + src/hb-buffer.cc | 2 +- + src/hb-buffer.hh | 2 +- + src/hb-ot-shape-normalize.cc | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 4ae8aab83b83bc088719a993a359625b9ff1b6ab +Author: Behdad Esfahbod +Date: Mon Mar 15 14:01:52 2021 -0600 + + [buffer] HB_NODISCARD has_separate_output() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8d3701f507cfda835855a64f598bed468a4b31e3 +Author: Behdad Esfahbod +Date: Mon Mar 15 14:01:32 2021 -0600 + + [buffer] HB_NODISCARD in_error() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 41e05479b6f1cc024576aca1f52b2185bdd93cef +Author: Behdad Esfahbod +Date: Mon Mar 15 14:00:00 2021 -0600 + + [buffer] HB_NODISCARD shift_forward() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 83b3784d1d984ed3a94b696252b03eab514e3ffa +Author: Behdad Esfahbod +Date: Mon Mar 15 13:59:14 2021 -0600 + + [buffer] HB_NODISCARD make_room_for() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c355508a8907584e41c4317fb56eac49f9627969 +Author: Behdad Esfahbod +Date: Mon Mar 15 13:58:30 2021 -0600 + + [buffer] HB_NODISCARD ensure_glyphs() / ensure_unicode() + + src/hb-buffer.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bc22305b6ab626719e8b0c0d6fa518bf7b7267f6 +Author: Behdad Esfahbod +Date: Mon Mar 15 13:57:18 2021 -0600 + + [buffer] HB_NODISCARD ensure_inplace() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cac6c86d2f8013a6f803f95e5760d7be6d27bbe0 +Author: Behdad Esfahbod +Date: Mon Mar 15 13:46:54 2021 -0600 + + [buffer] HB_NODISCARD move_to() + + src/hb-aat-layout-morx-table.hh | 14 +++++++------- + src/hb-buffer.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 2 +- + 3 files changed, 9 insertions(+), 9 deletions(-) + +commit 05d2d37f9a6753c2c3e0a2404e171f0b0a26c4ac +Author: Behdad Esfahbod +Date: Mon Mar 15 13:43:29 2021 -0600 + + [buffer] HB_NODISCARD ensure() + + src/hb-buffer.cc | 7 +++++-- + src/hb-buffer.hh | 2 +- + src/hb-graphite2.cc | 2 +- + 3 files changed, 7 insertions(+), 4 deletions(-) + +commit d8028a076208d95fa66050d158f2c4b8c50040ad +Author: Behdad Esfahbod +Date: Mon Mar 15 13:34:36 2021 -0600 + + [buffer] HB_NODISCARD enlarge() + + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3f1998a065075284e7fe57788411bcc086259349 +Author: Behdad Esfahbod +Date: Mon Mar 15 13:33:44 2021 -0600 + + [buffer] HB_NODISCARD replace_glyph() + + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-buffer.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 4 ++-- + src/hb-ot-shape-complex-thai.cc | 5 ++--- + 4 files changed, 7 insertions(+), 8 deletions(-) + +commit 607979d12f85eb8260b7d7b786a7866e60c3c49b +Author: Behdad Esfahbod +Date: Mon Mar 15 13:23:48 2021 -0600 + + [buffer] HB_NODISCARD replace_glyphs() + + src/hb-buffer.hh | 7 ++++--- + src/hb-ot-shape-complex-hangul.cc | 10 ++++------ + src/hb-ot-shape-normalize.cc | 2 +- + 3 files changed, 9 insertions(+), 10 deletions(-) + +commit 906c9928bb49a1694f6e32d80bb2a1ed637674f8 +Author: Behdad Esfahbod +Date: Mon Mar 15 13:13:45 2021 -0600 + + [buffer] Return success status from buffer ops that can fail + + Previous error-handling philosophy was that user doesn't need to + immediately know whether operation failed. But as can be seen after + we added malloc-failing fuzzing, there's just so many places in the + code that a failure of these operations needs to be mitigated before + further operations. So I'm moving towards returning success here, + and possibly making it nodiscard. + + src/hb-buffer.cc | 6 ++++-- + src/hb-buffer.hh | 33 ++++++++++++++++++--------------- + 2 files changed, 22 insertions(+), 17 deletions(-) + +commit a5b8e7db4d4a9aca46169e2be27be5bba1cdd4bd +Author: Behdad Esfahbod +Date: Mon Mar 15 12:46:58 2021 -0600 + + [hangul] Improve error handling + + I did a review; changed some "return"s to "break"s, which should be identical. + Removed one check just before "continue" because not necessary. + The added error check is the actual fix. + + Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31755 + + src/hb-ot-shape-complex-hangul.cc | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit 99767f938689d308765ba96feb9ea67534b0c0d9 +Author: Behdad Esfahbod +Date: Mon Mar 15 12:36:59 2021 -0600 + + [hangul] Whitespace + + src/hb-ot-shape-complex-hangul.cc | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 3622120fab4e7d324a1b5e8465e7a6cfeb246e8d +Author: Behdad Esfahbod +Date: Wed Mar 10 12:21:43 2021 -0700 + + [subset] Make ClassDef format2 .intersects() return false if range value 0 + + We treat Class0 as "doesn't intersect". That's the only meaningful + interpretation. If one allos Class0 to mean "intersects", then the + intersects() result should be true iff glyphset is non-empty. + + Related to https://github.com/harfbuzz/harfbuzz/issues/2703 + + src/hb-ot-layout-common.hh | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit e19de65eaeca135b2c735439185e35bfe1c0aeb7 +Author: David Corbett +Date: Mon Mar 8 13:12:47 2021 -0500 + + Update hb-ot-tag-table.hh (#2890) + + src/gen-tag-table.py | 1 + + src/hb-ot-tag-table.hh | 15 ++++++++++++--- + 2 files changed, 13 insertions(+), 3 deletions(-) + +commit 7686ff854bbb9698bb1469dcfe6d288c695a76b7 +Author: Khaled Hosny +Date: Thu Mar 4 23:09:32 2021 +0200 + + [ot] Keep substituted Default_Ignorables (#2886) + + Don’t replace Default_Ignorables with zero-width space if they are + substituted or multiplied, not just when ligated. + + After this change, HarfBuzz output matches that of Uniscribe and + CoreText for the new tests. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2883 + + src/hb-ot-layout.hh | 3 ++- + .../fonts/08b4b136f418add748dc641eb4a83033476f1170.ttf | Bin 0 -> 2396 bytes + .../fonts/6677074106f94a2644da6aaaacd5bbd48cbdc7de.ttf | Bin 0 -> 2388 bytes + .../fonts/fcea341ba6489536390384d8403ce5287ba71a4a.ttf | Bin 0 -> 1824 bytes + .../shaping/data/in-house/tests/default-ignorables.tests | 3 +++ + .../in-house/tests/mongolian-variation-selector.tests | 2 +- + 6 files changed, 6 insertions(+), 2 deletions(-) + +commit 5efa04c8909cf61ad1491c0c1f41a6bb3f87e4e4 +Author: Behdad Esfahbod +Date: Tue Mar 2 16:26:41 2021 -0700 + + [Makefile] Rebuild .def files if config changed + + I was getting check-symbols failure because my previous build was + without CoreText, and after reconfiguring with CoreText, the old + harfbuzz.defs file was not being regenerated. + + src/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit d351bbf0fb7a20554bf4504fa568f85d4d68f266 +Author: Behdad Esfahbod +Date: Tue Mar 2 16:24:54 2021 -0700 + + [Makefile] Remove unused variable HBNODISTHEADERS + + Not sure what it was used for before. + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fd489433a8a223068d904e04d4ce8bafa82900c7 +Author: Behdad Esfahbod +Date: Tue Mar 2 16:21:17 2021 -0700 + + [indic] Fix cluster-merging logic with cluster-level=1 + + Was producing non-monotonic cluster numbers because our faulty logic + was not merging clusters if something from before base and after base + had switched positions. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2272 + + src/hb-ot-shape-complex-indic.cc | 28 ++++++++++++++++++--- + .../6f36d056bad6d478fc0bf7397bd52dc3bd197d5f.ttf | Bin 0 -> 2920 bytes + test/shaping/data/in-house/tests/cluster.tests | 1 + + 3 files changed, 26 insertions(+), 3 deletions(-) + +commit 2902529b9276cd15319fa308a9b9e963fa21cc94 +Author: Behdad Esfahbod +Date: Tue Mar 2 15:05:22 2021 -0700 + + [subset] Fix HB_TINY build + + Fixes https://github.com/harfbuzz/harfbuzzjs/issues/34#issuecomment-789247723 + + src/hb-ot-layout-gsubgpos.hh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit 7cb22ba7ebf6ef053790a3201cb7014bacd51e46 +Author: Behdad Esfahbod +Date: Mon Mar 1 12:44:06 2021 -0700 + + Include C headers with their C++ names (#2882) + + Remove unnecessary includes. + + Fixes build with some known broken SDKs (Nintendo Switch?) + + https://en.cppreference.com/w/cpp/header + + Fixes https://github.com/harfbuzz/harfbuzz/pull/2881 + + src/hb-blob.cc | 3 --- + src/hb-coretext.cc | 1 - + src/hb-ot-color.cc | 3 --- + src/hb.hh | 20 ++++++++++---------- + src/test-buffer-serialize.cc | 2 -- + src/test-gpos-size-params.cc | 2 -- + src/test-gsub-would-substitute.cc | 2 -- + src/test-ot-glyphname.cc | 3 --- + src/test-ot-meta.cc | 3 --- + src/test-ot-name.cc | 3 --- + src/test.cc | 4 ---- + 11 files changed, 10 insertions(+), 36 deletions(-) + +commit dbcf2f417fc545a5fb3a0ee4fb413409a15a0805 +Author: Behdad Esfahbod +Date: Mon Mar 1 12:43:32 2021 -0700 + + [cmake] Fix syntax + + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 93745f9f49ec6004dfc477a01bdb6fd06b6484d0 +Merge: 8b2f9adf2 486da35cc +Author: Behdad Esfahbod +Date: Tue Feb 23 14:54:45 2021 -0700 + + Merge pull request #2875 from harfbuzz/constexpr-inttype + + [constexpr] Add constructors to IntType + +commit 486da35cc0954505db57b2e0f5b5b0b45a7c4007 +Author: Behdad Esfahbod +Date: Tue Feb 23 13:58:14 2021 -0700 + + m Add comments to IntType cast out operator + + Okay, bots seem to be happy. Merging. + + src/hb-open-type.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 83b66bfb665bb82fd03ae97c6f0e3eba01c0cba4 +Author: Behdad Esfahbod +Date: Tue Feb 23 13:04:25 2021 -0700 + + Another try to fix narrowing error + + ../src/hb-ot-layout-gsubgpos.hh: In instantiation of ‘void OT::ChainRule::serialize_array(hb_serialize_context_t*, OT::HBUINT16, Iterator) const [with Iterator = hb_map_iter_t >, const hb_map_t*&, (hb_function_sortedness_t)0, 0>; typename hb_enable_if::value>::type* = 0; OT::HBUINT16 = OT::IntType]’: + ../src/hb-ot-layout-gsubgpos.hh:2341:30: required from here + ../src/hb-ot-layout-gsubgpos.hh:2326:15: error: narrowing conversion of ‘(unsigned int)g’ from ‘unsigned int’ to ‘short unsigned int’ inside { } [-Werror=narrowing] + c->copy (HBUINT16 {g}); + ~~~~~~~~^~~~~~~~~~~~~~ + + https://github.com/harfbuzz/harfbuzz/pull/2875 + + src/hb-ot-layout-gsubgpos.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6c4bb60829d6e00647cb7ee74d816d648905cc3f +Author: Behdad Esfahbod +Date: Mon Feb 22 22:45:32 2021 -0700 + + Fix narrowing errors with recent changes + + src/hb-ot-layout-common.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit d6bd00a488ace632d51748b028a0378a2bdaad2c +Author: Behdad Esfahbod +Date: Mon Feb 22 22:42:50 2021 -0700 + + Revert back IntType out cast to signed/unsigned + + Previous commit didn't fix the bots. Putting it back now that I + understand why I initially did the "Wide" casts. But only doing + it for out-cast this time. This causes "narrowing" warnings + whenever we are converting signed/unsigned to smaller HBUINT16 + etc. But those are valuable warnings. We should address those + separately instead of ignoring. + + Maybe we should start using uint16_t more liberally in the + internal subsetter function signatures then. + + src/hb-open-type.hh | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +commit 09836013995cab2b9f07577a179ad7b024130467 +Author: Behdad Esfahbod +Date: Mon Feb 22 22:33:17 2021 -0700 + + Add back wider cast to IntType + + My local clang12 is fine, but many bots are not: + + ../src/hb-ot-cff1-table.hh: In instantiation of ‘bool CFF::Charset1_2::sanitize(hb_sanitize_context_t*, unsigned int) const [with TYPE = OT::IntType]’: + ../src/hb-ot-cff1-table.hh:554:13: required from here + ../src/hb-ot-cff1-table.hh:377:60: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] + if (unlikely (!ranges[i].sanitize (c) || (num_glyphs < ranges[i].nLeft + 1))) + ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ + + Enabling the extra cast operator mentioned in previous commit to see if + that fixes this case. + + Again, I'd be happy to say "use 1u instead of 1" if this was universally + erred on. But since some compilers happily compile this while others + err, it would be a huge headache. Let's see... + + https://github.com/harfbuzz/harfbuzz/pull/2875 + + src/hb-open-type.hh | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 567cedcc5f99aae2db9c7f124b7f3a6f4b5ec57d +Author: Behdad Esfahbod +Date: Mon Feb 22 22:09:15 2021 -0700 + + Narrow down cast operators on IntType + + Say for USHORT, we were implementing casts from and to unsigned. + With this change, we cast from and to uint16_t only. This allows + compiler more opportunities to catch possible narrowing issues in + the code. + + It needed a couple of fixes in the codebase though, because + previously, if a USHORT was participating in arithmetic with signed + numbers, eg. "u + 1", the result would have been unsigned. With + this change, it would be signed. The correct fix is to update the + code to read "u + 1u". + + That said, I think about conditionally adding back the cast + out to signed/unsigned, to facilitate better type deduction. + But I couldn't think of a real situation where that would help + with anything. So I didn't add. Here's what it was: + + template , + hb_enable_if (sizeof (Type) < sizeof (Type2))> + operator hb_type_identity_t () const { return v; } + + https://github.com/harfbuzz/harfbuzz/pull/2875 + + src/hb-aat-layout-common.hh | 4 ++-- + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-open-type.hh | 9 ++++----- + 3 files changed, 8 insertions(+), 9 deletions(-) + +commit f4f35a4d5fd595bc6887b9951f1c92ce4d100fe8 +Author: Behdad Esfahbod +Date: Mon Feb 22 22:28:32 2021 -0700 + + [constexpr] Use initializer instead of assignment + + src/hb-ot-layout-common.hh | 6 ++---- + src/hb-ot-layout-gsubgpos.hh | 7 +------ + 2 files changed, 3 insertions(+), 10 deletions(-) + +commit cc16b26ef4b9e7217ad819a31b9df55855a6f780 +Author: Behdad Esfahbod +Date: Mon Feb 22 17:55:47 2021 -0700 + + [constexpr] IntType + + See https://github.com/harfbuzz/harfbuzz/pull/2875 + + src/hb-algs.hh | 13 ++++++++----- + src/hb-open-type.hh | 12 ++++++++---- + 2 files changed, 16 insertions(+), 9 deletions(-) + +commit 8b2f9adf2938513a183af58246e4b02b6173c359 +Author: Behdad Esfahbod +Date: Mon Feb 22 17:42:24 2021 -0700 + + m Simplify Tag operator char* + + src/hb-open-type.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 021a1725ed6b8b9f7b9b2987cbb89bed03a36477 +Merge: 1c693e8c2 11c28cb5f +Author: Behdad Esfahbod +Date: Mon Feb 22 17:40:22 2021 -0700 + + Merge pull request #2874 from harfbuzz/constexpr2 + + Some more cleanup towards using constexpr to simplify our internal datastrcutures. + + https://github.com/harfbuzz/harfbuzz/pull/2874 + +commit 11c28cb5fa101a47b179e702e15ebf39d6483b32 +Author: Behdad Esfahbod +Date: Mon Feb 22 17:38:53 2021 -0700 + + [cmake] Define HAVE_PTHREAD if not on win32 + + Yeah... + + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +commit b368a0736be279fe1ae78caa818351d88dc7131a +Author: Behdad Esfahbod +Date: Mon Feb 22 17:23:53 2021 -0700 + + [atomic] Remove IBM/AIX implementation + + The C++11 implementation shall be enough for everyone. + + src/hb-atomic.hh | 28 +--------------------------- + 1 file changed, 1 insertion(+), 27 deletions(-) + +commit 52f91269607a45e4ae94ecca52df2299d6596de4 +Author: Behdad Esfahbod +Date: Mon Feb 22 17:22:09 2021 -0700 + + [atomic] Remove Windows implementation + + Since we require C++11 now, there's no point to do a macro version check. + Which means we don't hit the MSVC issue defining __cplusplus wrongly. + + src/hb-atomic.hh | 28 ++-------------------------- + 1 file changed, 2 insertions(+), 26 deletions(-) + +commit a666fe64a92206cc51d961be0848455d4fbd2bdd +Author: Behdad Esfahbod +Date: Mon Jun 29 10:43:49 2020 -0700 + + [atomic] Comment + + src/hb-atomic.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 3528a21e8d135e65d748895b469bf83c0ebec5ae +Author: Behdad Esfahbod +Date: Mon Jun 29 10:40:21 2020 -0700 + + [atomic] Remove Apple implementation + + Continuation of https://github.com/harfbuzz/harfbuzz/pull/676 + + src/hb-atomic.hh | 24 ------------------------ + 1 file changed, 24 deletions(-) + +commit 140797d4a2841d4109ad667a38226bfd59de5829 +Author: Behdad Esfahbod +Date: Mon Jun 29 03:51:09 2020 -0700 + + [constexpr] hb_atomic_int_t + + src/hb-atomic.hh | 13 ++++++++----- + src/hb-face.cc | 4 ++-- + src/hb-object.hh | 11 +++-------- + 3 files changed, 13 insertions(+), 15 deletions(-) + +commit 2ec802b42a0766c3fc159fd47a2596a5eaf27742 +Author: Behdad Esfahbod +Date: Mon Jun 29 03:48:38 2020 -0700 + + [object] Simplify reference_count_t + + src/hb-object.hh | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit 4d116ed0f02920f9ba4634d87f6201343930b657 +Author: Behdad Esfahbod +Date: Mon Feb 22 17:14:45 2021 -0700 + + [ci] Remove cmake + + Apparently(?) our cmake build never bothered setting up pthreads. + So when I removed the busy-loop mutex impl it now doesn't build. + + 711c241f6c7e18c5403602375a733af74df76f83 + + https://github.com/harfbuzz/harfbuzz/pull/2874#issuecomment-782778263 + + .circleci/config.yml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 1c693e8c28478655e115ad6c25ff775222b7ac00 +Author: Behdad Esfahbod +Date: Sat Feb 20 18:53:20 2021 -0700 + + [test] Fix unused-var warning + + test/api/test-buffer.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 12a283d5132a3fe03c91e75ef1f7baf65d6b5855 +Author: Behdad Esfahbod +Date: Mon Feb 22 12:50:41 2021 -0700 + + m[ft] No need to use atomic ops for cached_x_scale + + We have added a mutex since, so no need for atomicity. + + src/hb-ft.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b39c1f7829bb6c7a69eb783e579246fdb627cd94 +Author: Behdad Esfahbod +Date: Sat Feb 20 15:46:17 2021 -0700 + + a[build] Fix distcheck + + Makefile.am | 2 -- + 1 file changed, 2 deletions(-) + +commit a3c35aee30879cd86351413fc395d3128fe6817a +Author: Behdad Esfahbod +Date: Mon Jun 29 02:07:20 2020 -0700 + + m Move HB_SCRIPT_MYANMAR_ZAWGYI + + src/hb-ot-shape-complex.hh | 3 ++- + src/hb.hh | 8 -------- + 2 files changed, 2 insertions(+), 9 deletions(-) + +commit c55bf55154887ae485501bf8843e26abb5cdedaa +Author: Behdad Esfahbod +Date: Mon Jun 29 02:04:16 2020 -0700 + + Remove HB_CONST_FUNC and HB_PURE_FUNC + + They are not necessary for inline functions. + + src/hb-algs.hh | 6 +++--- + src/hb-face.hh | 2 +- + src/hb.hh | 4 ---- + 3 files changed, 4 insertions(+), 8 deletions(-) + +commit cba9893ac5470e5d70888ec240453b581a657252 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:55:57 2020 -0700 + + m[algs] Move roundf() here + + src/hb-algs.hh | 7 +++++++ + src/hb.hh | 5 ----- + 2 files changed, 7 insertions(+), 5 deletions(-) + +commit f0947717ff43c37a6273e9de7c83d082ffec22eb +Author: Behdad Esfahbod +Date: Mon Jun 29 01:53:21 2020 -0700 + + m[machinery] Move HB_VAR_ARRAY here + + src/hb-machinery.hh | 5 +++++ + src/hb.hh | 5 ----- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 69464e9da04b9e9b7f5ac33688d3832b84a8318d +Author: Behdad Esfahbod +Date: Sat Feb 20 15:42:44 2021 -0700 + + [algs] Another try at fixing BEInt constexpr + + ../src/hb-algs.hh:120:3: error: body of constexpr function ‘constexpr BEInt::operator Type() const [with Type = short unsigned int]’ not a return-statement + + src/hb-algs.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit ff7bf88192b0ceed3e9489c82f6b902ced37e1b4 +Author: Behdad Esfahbod +Date: Sat Feb 20 15:39:29 2021 -0700 + + m[algs] Fix BEInt -Wnarrowing errors + + src/hb-algs.hh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit a89d9f25b4baa538293c397920e5a4489859878c +Author: Behdad Esfahbod +Date: Sat Feb 20 15:35:28 2021 -0700 + + m Err on -Wnarrowing instead of -Wc++11-narrowing + + On clang, -Wnarrowing is synonym for -Wc++11-narrowing. + On gcc it isn't. So, use the widely-available one + + src/hb.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e208f80449caccea19f68e395ad4c38353849da6 +Author: Behdad Esfahbod +Date: Sat Feb 20 15:31:27 2021 -0700 + + Make constexpr BEInt::operator Type() C++11-compatible + + Multiple return values not permitted until C++14 + + src/hb-algs.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit c2fc2aa44cc8018ac689dde36efa34a635544197 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:49:28 2020 -0700 + + [atomic] Remove Solaris intrinsics + + CMakeLists.txt | 17 ----------------- + configure.ac | 18 ------------------ + meson-cc-tests/solaris-atomic-operations.c | 8 -------- + meson.build | 4 ---- + src/hb-atomic.hh | 29 ----------------------------- + 5 files changed, 76 deletions(-) + +commit 7099a6dca18c12a3bb062adba4d429abc46d76a9 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:47:37 2020 -0700 + + [atomic] Remove old Intel primitives implementation + + .github/workflows/coverity-scan.yml | 6 +++--- + CMakeLists.txt | 14 -------------- + configure.ac | 16 ---------------- + meson-cc-tests/intel-atomic-primitives-test.c | 6 ------ + meson.build | 4 ---- + src/hb-atomic.hh | 9 --------- + 6 files changed, 3 insertions(+), 52 deletions(-) + +commit 711c241f6c7e18c5403602375a733af74df76f83 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:40:30 2020 -0700 + + m[mutex] Remove busyloop mutex implemenation + + Don't know why I ever added this. :) + + configure.ac | 5 ----- + meson.build | 3 --- + src/hb-mutex.hh | 18 ------------------ + 3 files changed, 26 deletions(-) + +commit 47f01c0726388102b82c1e04a5f134abb74b1831 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:25:35 2020 -0700 + + m[algs] Move BEInt here + + src/hb-algs.hh | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- + src/hb.hh | 76 ------------------------------------------------------ + 2 files changed, 80 insertions(+), 77 deletions(-) + +commit e5b7bc424dd08c206f8c5baf5ac1b67d1dfd116e +Author: Behdad Esfahbod +Date: Mon Jun 29 01:24:02 2020 -0700 + + m Add default value to BEInt<> Size template parameter + + src/hb-open-type.hh | 14 +++++++------- + src/hb-serialize.hh | 2 +- + src/hb.hh | 4 ++-- + 3 files changed, 10 insertions(+), 10 deletions(-) + +commit 2caae4a59aadf889b410c4e2f42c0285013c22e6 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:18:28 2020 -0700 + + m Move class traits + + src/hb-meta.hh | 11 +++++++++++ + src/hb.hh | 8 -------- + 2 files changed, 11 insertions(+), 8 deletions(-) + +commit c2dbd6cc0f9f30b2faed1fa0f40cfff742baae86 +Author: Behdad Esfahbod +Date: Mon Jun 29 01:15:36 2020 -0700 + + Remove static_assert of sizeof basic sized int types + + src/hb.hh | 8 -------- + 1 file changed, 8 deletions(-) + +commit e1706ffecdc0469063b90bbef6178c092dd7f32b +Author: Behdad Esfahbod +Date: Mon Jun 29 00:59:06 2020 -0700 + + m [algs] Move flags here + + src/hb-algs.hh | 36 ++++++++++++++++++++++++++++++++++++ + src/hb.hh | 36 ------------------------------------ + 2 files changed, 36 insertions(+), 36 deletions(-) + +commit 017f6b0d2441dc7602d9cb4b6783aaf5a0424f96 +Author: Behdad Esfahbod +Date: Mon Jun 29 00:44:41 2020 -0700 + + m Move static_assert_expr<> + + src/hb-meta.hh | 4 ++++ + src/hb.hh | 5 ----- + 2 files changed, 4 insertions(+), 5 deletions(-) + +commit 61f8d0e57dd9eee7e174f091f4e43646251dbb06 +Author: Behdad Esfahbod +Date: Mon Jun 29 00:38:56 2020 -0700 + + m Rename ASSERT_STATIC_EXPR_ZERO to static_assert_expr + + src/hb-ot-shape-complex-arabic-win1256.hh | 4 ++-- + src/hb-ot-shape-complex-indic.hh | 2 +- + src/hb.hh | 8 ++++---- + 3 files changed, 7 insertions(+), 7 deletions(-) + +commit 59cfffb1af82c706e181db64e81794f43af05cf4 +Author: Behdad Esfahbod +Date: Mon Jun 29 00:34:07 2020 -0700 + + m Change ASSERT_STATIC_EXPR_ZERO template arg type to bool + + src/hb.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 1981d83d7fefbc22d28d69714bfdac7aa5064d15 +Author: Behdad Esfahbod +Date: Mon Jun 29 00:28:31 2020 -0700 + + [constexpr] HB_MARK_AS_FLAG_T + + src/hb.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit a4a99de0eb17b1de1be99534b5184fd1f1c53c37 +Author: Behdad Esfahbod +Date: Mon Jun 29 00:22:02 2020 -0700 + + [constexpr] bswap + + src/hb.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f8ebe1dacd71d93dc2b401d0afbac86f5e14311d +Author: Behdad Esfahbod +Date: Mon Jun 29 00:20:45 2020 -0700 + + [constexpr] BEInt + + src/hb.hh | 64 +++++++++++++++++++++++---------------------------------------- + 1 file changed, 23 insertions(+), 41 deletions(-) + +commit 2fbd34f89a80fb25aa0f8edd1dbb692c66211842 +Author: Behdad Esfahbod +Date: Sun Jun 28 22:41:09 2020 -0700 + + m[set/map] Add operator bool() + + Probably should use in places.. + + src/hb-map.hh | 1 + + src/hb-set.hh | 1 + + 2 files changed, 2 insertions(+) + +commit bf75a0a03ac910879ee91cd29a4581c304edc644 +Author: Behdad Esfahbod +Date: Fri Feb 19 18:18:38 2021 -0700 + + m[dispatch] Use inline class member initialization + + Let's see how bots like this... + + src/hb-dispatch.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 82928d9cf65e275362188e9d855690d2ae71f005 +Author: Behdad Esfahbod +Date: Sun Jun 28 22:03:57 2020 -0700 + + m[blob] Move immutable check to C API boundary + + Similarly to 08ed9e3f779253e3b5f01c38d44d0e5db2d5e7aa + + src/hb-blob.cc | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +commit 4020c6b286a5a2bacf8ca97a402b39bbf29f18c6 +Author: Behdad Esfahbod +Date: Sun Jun 28 21:59:46 2020 -0700 + + m[blob] An empty blob can always be made writable + + src/hb-blob.cc | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit 2d39031f7b03543d8e9638354afad1af68872f06 +Author: Behdad Esfahbod +Date: Sun Jun 28 20:48:48 2020 -0700 + + [buffer/set/map] Move immutable check only to C API boundary + + The immutable objects are a concept only enforced by the C API. + So move checks only to that region. + + This does assume that the rest of the code is careful not getting + into these internal methods on immutable objects, which something + we do, but have no way of enforcing (currently). + + . + + src/hb-buffer.cc | 21 ++++++--------------- + src/hb-map.cc | 3 +++ + src/hb-map.hh | 4 ---- + src/hb-set.cc | 3 +++ + src/hb-set.hh | 5 ----- + 5 files changed, 12 insertions(+), 24 deletions(-) + +commit 6d83d44052d85f1a67ad14101b1a0a89cca642c9 +Author: Behdad Esfahbod +Date: Sun Jun 28 21:02:51 2020 -0700 + + m[set] Recover set from error in .reset() + + src/hb-set.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 445efe8d04b76e14148e7a53c891adb96e199dad +Author: Behdad Esfahbod +Date: Sun Jun 28 20:59:01 2020 -0700 + + m[vector] Recover vector from error in .reset() + + src/hb-vector.hh | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit 21433fa563028b1dda5f044bdeef9221511806f3 +Author: Behdad Esfahbod +Date: Sun Jun 28 20:46:02 2020 -0700 + + m[buffer] In hb_buffer_append() don't change until allocation success + + src/hb-buffer.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 0f61a6213acd3f8ad5dd93f11c526bacceff699c +Author: Behdad Esfahbod +Date: Sun Jun 28 20:40:25 2020 -0700 + + m[vowels] Simplify + + If we didn't "process" anything, swap_buffers() becomes a no-op. + + src/gen-vowel-constraints.py | 5 +---- + src/hb-ot-shape-complex-vowel-constraints.cc | 19 +------------------ + 2 files changed, 2 insertions(+), 22 deletions(-) + +commit 3b91e0b5920a4a1c16dc349c4c93b4a4daf006bc +Author: Behdad Esfahbod +Date: Sun Jun 28 20:33:54 2020 -0700 + + m[buffer] Rename internal variable + + src/hb-buffer.cc | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 9fcba109bf62aaff3dd8469ecb387e7451031a76 +Author: Behdad Esfahbod +Date: Sun Jun 28 20:30:39 2020 -0700 + + [buffer] Make swap_buffers() copy rest + + src/gen-vowel-constraints.py | 4 ---- + src/hb-aat-layout-common.hh | 4 ---- + src/hb-buffer.cc | 3 +++ + src/hb-ot-shape-complex-vowel-constraints.cc | 4 ---- + src/hb-ot-shape.cc | 2 -- + 5 files changed, 3 insertions(+), 14 deletions(-) + +commit 86993c09a1f1d72b972592693ccfb18a5ab28af4 +Author: Behdad Esfahbod +Date: Fri Feb 19 17:09:33 2021 -0700 + + Ignore -Wrange-loop-analysis + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2834 + + src/hb.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 6d94194497b49ee4cd05c9f590f6cd871a5708e9 +Author: Behdad Esfahbod +Date: Fri Feb 19 17:08:10 2021 -0700 + + Use auto in range-for-loop more + + src/hb-ot-cff-common.hh | 2 +- + src/hb-ot-cmap-table.hh | 8 ++++---- + src/hb-ot-layout-gsubgpos.hh | 6 ++++-- + 3 files changed, 9 insertions(+), 7 deletions(-) + +commit 1551f3d51862ab8f6428c9c35c7f424b00af72ee +Author: justvanrossum +Date: Thu Feb 18 11:57:37 2021 +0100 + + fixing more expected test results + + test/api/test-draw.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 79e4f436e7fc4634ed285d548cad48069c6390eb +Author: justvanrossum +Date: Wed Feb 17 10:21:58 2021 +0100 + + Apply rounding correctly when calculating glyph extents for CFF and CFF2; adjust expected test results + + src/hb-ot-cff1-table.cc | 4 ++-- + src/hb-ot-cff2-table.cc | 4 ++-- + test/api/test-ot-extents-cff.c | 6 +++--- + 3 files changed, 7 insertions(+), 7 deletions(-) + +commit d01ebeae21b8f17a7eff92b091340fdf804b4de2 +Author: justvanrossum +Date: Wed Feb 17 10:13:54 2021 +0100 + + calculate extents based on scaled then rounded values; undo two of the earlier test result adjustments + + src/hb-ot-glyf-table.hh | 4 ++-- + test/api/test-ot-metrics-tt-var.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 1d02e9c63bde6f5d064671401a292ffc440a9e99 +Author: justvanrossum +Date: Tue Feb 16 21:39:43 2021 +0100 + + two more adjusted expected extents results (still not convinced this is the right thing, though) + + test/api/test-ot-metrics-tt-var.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit cd0babe6a66ad8286fd8e60d7a87d7691b249482 +Author: justvanrossum +Date: Tue Feb 16 21:05:30 2021 +0100 + + adjust expected test result + + test/api/test-ot-metrics-tt-var.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1d8a89504bc2fc37372f10ea699453992ae8fc0b +Author: justvanrossum +Date: Tue Feb 16 20:55:16 2021 +0100 + + do not round added deltas; fixes #2866 + + src/hb-ot-var-gvar-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 103ed7da83758e6327a0b0b3e8f521dd41f2232b +Author: Behdad Esfahbod +Date: Fri Feb 19 16:48:30 2021 -0700 + + [subset] Use dagger + + Better fix for https://github.com/harfbuzz/harfbuzz/pull/2858 + + src/hb-ot-layout-gpos-table.hh | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +commit d8ea552d1095b92f44657ca8a90e4fc9fcdbd37a +Author: Behdad Esfahbod +Date: Thu Feb 18 12:07:46 2021 -0700 + + [aat] Improve unsafe-to-break logic + + Reduces false-positives. See comments for new logic. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2860 + + Adjusts run-tests.sh to allow unhashed absolute filenames. + + src/hb-aat-layout-common.hh | 91 +++++++++++++++++++++------- + test/shaping/data/in-house/tests/macos.tests | 3 + + test/shaping/run-tests.py | 17 +++--- + 3 files changed, 81 insertions(+), 30 deletions(-) + +commit cf203936d7ba74dfb567a92378476c3125010023 +Author: Behdad Esfahbod +Date: Thu Feb 18 12:03:26 2021 -0700 + + [aat] Unbreak builds + + Some compilers don't like this: + + ../src/hb-aat-layout-common.hh:732:9: error: declaration of 'using StateTable = struct AAT::StateTable' changes meaning of 'StateTable' [-fpermissive] + 732 | using StateTable = StateTable; + + src/hb-aat-layout-common.hh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit b6fdaa6948a31beffa5a0715aca9718493bb9644 +Author: Behdad Esfahbod +Date: Thu Feb 18 11:16:37 2021 -0700 + + [minor:aat] Use injected class name + + src/hb-aat-layout-common.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e27420bb189bff7b15f8830e834eaf486de63505 +Author: Behdad Esfahbod +Date: Thu Feb 18 11:15:25 2021 -0700 + + [minor:aat] Simplify template reference + + src/hb-aat-layout-common.hh | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +commit 7b8a8adb7d3d273e16ad5933b1a958f4d13a6572 +Author: Behdad Esfahbod +Date: Thu Feb 18 09:47:24 2021 -0700 + + [aat] Fix unsafe-to-break marking when end-of-text action kicks in + + The state we are dealing with here is the previous state; so it should + cause unsafe_to_break before current glyph. + + I'm surprised this wasn't caught by any tests. Guess we don't have any + fonts with fancy end-of-text forms. + + src/hb-aat-layout-common.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit aa80c7c8b4242d61e771b28775638bf2a2c5100f +Author: Behdad Esfahbod +Date: Thu Feb 18 09:31:46 2021 -0700 + + [aat] Add buffer->successful check before buffer->next_glyph() + + src/hb-aat-layout-common.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit bcd10bf2741266e16d514269cc1c8902105187db +Author: Behdad Esfahbod +Date: Wed Feb 17 13:58:56 2021 -0700 + + [normalize] Add buffer success check before ->next_glyph() + + Speculative fix for: + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27843 + + src/hb-ot-shape-normalize.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 505b3fc6cfbed95a4101c9a9c75a76645eb6fb6b +Author: Behdad Esfahbod +Date: Wed Feb 17 11:34:47 2021 -0700 + + [harfbuzz.cc] Fix OffsetTable name clash with Mac headers + + There's no easy way to undo a "using namespace" in our sources, so by the time + we get to include hb-coretext.cc from harfbuzz.cc, we already have "using namespace OT" + active, which clashes with Mac headers. + + Error was: + $ gcc -O3 -Wall -arch i386 -DHAVE_CORETEXT=1 -c harfbuzz.cc -o harfbuzz.o -std=c++11 + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/TextUtils.h:288:3: error: + reference to 'OffsetTable' is ambiguous + OffsetTable offsets, + ^ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/IntlResources.h:115:41: note: + candidate found by name lookup is 'OffsetTable' + typedef OffPair OffsetTable[3]; + ^ + ./hb-open-file.hh:81:16: note: candidate found by name lookup is 'OT::OffsetTable' + typedef struct OffsetTable + ^ + 1 error generated. + + src/hb-open-file.hh | 6 +++--- + src/hb-ot-head-table.hh | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 6a9f576fd438aef23242e72bd04285d0ea1279ad +Author: Behdad Esfahbod +Date: Wed Feb 17 11:31:32 2021 -0700 + + [coretext] Silence CoreText deprecation warning + + As suggested by Ned, just ignoring it. + + warning: 'CTGetCoreTextVersion' is deprecated: first deprecated in macOS 11.0 - Use + -[NSProcessInfo operatingSystemVersion] [-Wdeprecated-declarations] + + src/hb-coretext.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 8e53c7c125ad93c1e83224da378d53caee00ca1e +Author: Behdad Esfahbod +Date: Wed Feb 17 11:12:56 2021 -0700 + + [coretext] Fix more CGFloat double-promotion warnings + + The warning is: + warning: implicit conversion increases floating-point precision: 'CGFloat' (aka 'float') to + 'double' [-Wdouble-promotion] + + src/hb-coretext.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit cd08c2528c69cc91d06efc3947ab21007269b00d +Author: Behdad Esfahbod +Date: Tue Feb 16 18:51:43 2021 -0700 + + Fix typo + + CONFIG.md | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 9c8032cb4b436e093c16dd8476284d8fdcc1c93e +Author: Khaled Hosny +Date: Tue Feb 16 22:00:20 2021 +0200 + + [meson] Don’t build FontConfig subproject from master + + Pin it to a known working tag instead. + + subprojects/fontconfig.wrap | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5ca353a2d026f655af61ae159adcaeace1fdb09c +Author: Garret Rieger +Date: Fri Feb 12 15:16:59 2021 -0800 + + [subset] fix heap buffer overflow found by fuzzer. + + src/hb-ot-layout-gpos-table.hh | 3 +++ + ...z-testcase-minimized-hb-subset-fuzzer-4901143794810880 | Bin 0 -> 565 bytes + ...z-testcase-minimized-hb-subset-fuzzer-6372147008241664 | Bin 0 -> 775 bytes + 3 files changed, 3 insertions(+) + +commit ae860db893f74a7025b7656697a10c017e38e261 +Merge: 7a60f4e3a 751ed68fe +Author: Behdad Esfahbod +Date: Tue Feb 16 12:39:47 2021 -0700 + + Merge pull request #2859 from harfbuzz/override-0b55 + + [indic] Fix shaping of U+0B55 ORIYA SIGN OVERLINE + +commit 751ed68fee1d32f8a2c13b4fdc4bfaa9856608e8 +Author: David Corbett +Date: Sun Feb 14 12:47:34 2021 -0500 + + [indic] Fix shaping of U+0B55 ORIYA SIGN OVERLINE + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2849 + + src/hb-ot-shape-complex-indic.hh | 1 + + .../fonts/b3075ca42b27dde7341c2d0ae16703c5b6640df0.ttf | Bin 0 -> 920 bytes + test/shaping/data/in-house/tests/indic-syllable.tests | 2 ++ + 3 files changed, 3 insertions(+) + +commit 7a60f4e3a407cdadedc3b723eb2f1d716e99cd72 +Author: Behdad Esfahbod +Date: Fri Feb 12 14:14:17 2021 -0700 + + [subset] Remove debug burden + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2360 + + src/hb-subset-plan.hh | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +commit 00d9276343f4c3d5fe6919308e0ba229c2f9ff10 +Author: Garret Rieger +Date: Wed Oct 14 14:48:11 2020 -0700 + + Add gpos9 expected files to Makefile.am + + test/subset/data/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 08a4997fdec4f8df388d73dab7274b67ace8dc67 +Author: Garret Rieger +Date: Tue Oct 6 13:02:12 2020 -0700 + + [subset] Add subset support for Extension lookups (GPOS 9, GSUB 7). + + src/hb-ot-layout-gsubgpos.hh | 30 +++++++++++++++++++++ + test/subset/data/Makefile.sources | 1 + + .../gpos9_font2.keep-layout-retain-gids.41,42.otf | Bin 0 -> 1976 bytes + .../gpos9_font2.keep-layout-retain-gids.41.otf | Bin 0 -> 1936 bytes + .../gpos9_font2.keep-layout-retain-gids.42.otf | Bin 0 -> 1808 bytes + .../layout.gpos9/gpos9_font2.keep-layout.41,42.otf | Bin 0 -> 1272 bytes + .../layout.gpos9/gpos9_font2.keep-layout.41.otf | Bin 0 -> 1236 bytes + .../layout.gpos9/gpos9_font2.keep-layout.42.otf | Bin 0 -> 1096 bytes + test/subset/data/fonts/gpos9_font2.otf | Bin 0 -> 4588 bytes + test/subset/data/tests/layout.gpos9.tests | 11 ++++++++ + test/subset/meson.build | 1 + + 11 files changed, 43 insertions(+) + +commit bbbea3dbd86ece2ba0f6a0f7f70ea240fbc5a40f +Author: Behdad Esfahbod +Date: Thu Feb 11 12:23:33 2021 -0700 + + [minor] Rewrite set operation in OS/2 subsetting + + This patch could be nicer: + https://github.com/harfbuzz/harfbuzz/pull/2572/files + + Just tiny touchup now. + + src/hb-ot-os2-table.hh | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +commit cdb9197b4137ccac7d775b0e10adf0e9ef485f0c +Author: Behdad Esfahbod +Date: Thu Feb 11 11:32:49 2021 -0700 + + [khmer] Remove more unused code + + Prodded by https://github.com/harfbuzz/harfbuzz/pull/2583 + + These are leftovers from when we forked Khmer shaper from the Indic shaper. + + src/hb-ot-shape-complex-khmer.cc | 23 ----------------------- + 1 file changed, 23 deletions(-) + +commit dfa9d7acdc320005749bb21b4c4711224a87d511 +Author: Behdad Esfahbod +Date: Thu Feb 11 11:08:52 2021 -0700 + + [minor] Use serializer->propagate_error() to simplify code + + src/hb-ot-color-cbdt-table.hh | 8 ++++---- + src/hb-ot-layout-gsubgpos.hh | 18 ++++++++---------- + src/hb-serialize.hh | 9 +++++---- + 3 files changed, 17 insertions(+), 18 deletions(-) + +commit 5faae8260ac9f81dbc022317edd63643c83bc8e4 +Author: Behdad Esfahbod +Date: Thu Feb 11 10:58:02 2021 -0700 + + [post] Remove unneeded error check + + src/hb-ot-post-table.hh | 1 - + 1 file changed, 1 deletion(-) + +commit d7e2a51de2fb6c18c05bbc4c270efb01e9d744e1 +Author: Behdad Esfahbod +Date: Thu Feb 11 10:55:03 2021 -0700 + + [minor] Add unlikely() when checking for error + + src/hb-face.cc | 2 +- + src/hb-ot-glyf-table.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit eb069f3948ee6e79b9ac5396a4fd1aa37e4e9136 +Author: Behdad Esfahbod +Date: Wed Feb 10 19:13:51 2021 -0700 + + [tests] Update expected output of recently-merged gpos5 + + The merged PR was from before landing this: + + commit 7a72b20aa2b604053696e731185a17286de73b08 + Author: Garret Rieger + Date: Thu Sep 24 15:58:48 2020 -0700 + + [subset] Subset GDEF during layout subsetting tests. + + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3840 -> 3884 bytes + .../gpos5_font1.keep-layout.retain-all-codepoint.otf | Bin 3840 -> 3884 bytes + 2 files changed, 0 insertions(+), 0 deletions(-) + +commit c7d232ce4e8eccdeaf8fc4bb4b73818b581d3fb9 +Merge: 68d576224 be33704c0 +Author: Behdad Esfahbod +Date: Wed Feb 10 18:13:38 2021 -0700 + + Merge pull request #2701 from googlefonts/Mark-To-Ligature_grieger + + [subset] GPOS 5 MarkToLigature subsetting support + +commit 68d576224fcd6fd649a20c77b4573203a781f9c4 +Merge: 094406b67 7b9e23f28 +Author: Behdad Esfahbod +Date: Wed Feb 10 14:56:29 2021 -0700 + + Merge pull request #2853 from harfbuzz/fix-g-ir-scanner + + [introspection] Fix g-ir-scanner syntax errors + +commit 7b9e23f28b2bf0540a2c49914f5d9c89079c96ba +Author: Khaled Hosny +Date: Wed Feb 10 23:37:43 2021 +0200 + + [introspection] Fix g-ir-scanner syntax errors + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2851 + + src/Makefile.am | 9 +-------- + src/hb-aat-layout.h | 2 +- + src/hb-blob.h | 2 +- + src/hb-buffer.h | 2 +- + src/hb-common.h | 2 +- + src/hb-deprecated.h | 2 +- + src/hb-draw.h | 2 +- + src/hb-face.h | 2 +- + src/hb-font.h | 2 +- + src/hb-gobject-enums.h.tmpl | 2 +- + src/hb-gobject-structs.h | 2 +- + src/hb-map.h | 2 +- + src/hb-ot-color.h | 2 +- + src/hb-ot-deprecated.h | 2 +- + src/hb-ot-font.h | 2 +- + src/hb-ot-layout.h | 2 +- + src/hb-ot-math.h | 2 +- + src/hb-ot-meta.h | 2 +- + src/hb-ot-metrics.h | 2 +- + src/hb-ot-name.h | 2 +- + src/hb-ot-shape.h | 2 +- + src/hb-ot-var.h | 2 +- + src/hb-set.h | 2 +- + src/hb-shape-plan.h | 2 +- + src/hb-shape.h | 2 +- + src/hb-style.h | 2 +- + src/hb-unicode.h | 2 +- + src/hb-version.h | 2 +- + src/hb-version.h.in | 2 +- + src/meson.build | 10 ++-------- + 30 files changed, 31 insertions(+), 44 deletions(-) + +commit 094406b67b074c460d8c44e31c847f9c1bec3d05 +Author: Khaled Hosny +Date: Wed Feb 10 22:49:27 2021 +0200 + + [ci] Disable failing Arch Linux job + + Some g-ir-scanner failure that does not seem to be related to us. The + job does not seem to be testing anything interesting anyway. + + .circleci/config.yml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 554aaa0c5deb4c4f315184be8540eebe9077fe27 +Author: Khaled Hosny +Date: Wed Feb 10 22:25:16 2021 +0200 + + [build] Fix make distcheck + + A regression from 7b77ce0507e18fb981a9b865f3eaac0c2ae06044. + It was caught by the CI build in the PR, but apparently we are now used + to CI failures that they are effectively ignored. + + Also, yay for multiple build systems. + + test/subset/data/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +commit 1da75afbe8804ede5b2843759a9c185e015918b0 +Author: Behdad Esfahbod +Date: Wed Feb 10 00:03:30 2021 -0700 + + [minor] Add unlikely() + + src/hb-ot-layout-gsubgpos.hh | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 6e1afac64bbf3222d3e7f484749bbd2d17fc1a25 +Author: Behdad Esfahbod +Date: Tue Feb 9 18:48:46 2021 -0700 + + [minor] Rename internal variable + + To address review comment: + https://github.com/harfbuzz/harfbuzz/pull/2699#discussion_r573370781 + + src/hb-ot-layout-gsubgpos.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 836814a571a18bca344c0b35d136b2122122f82e +Author: Behdad Esfahbod +Date: Fri Feb 5 13:41:19 2021 -0500 + + [array] Swap order of args to hb_equal() + + Prioritizes Key::cmp() over table's cmp. + + src/hb-array.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 98374cebe1001e726b40a588b9fdc13208c8a9b1 +Author: Behdad Esfahbod +Date: Fri Feb 5 13:40:10 2021 -0500 + + Conditionalize IntType::cmp() so it never fails to compile + + Useful with lfind() since that calls hb_equal() which SFINAEs which + cmp() to use. + + src/hb-open-type.hh | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +commit ed04174a64c77e6ba7a68294d0672391740d2d75 +Author: Behdad Esfahbod +Date: Fri Feb 5 13:36:46 2021 -0500 + + Whitespace + + src/hb-algs.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 6a3fd94f3b8fa8f4aa1d4e4c9cfe74d0c3b88270 +Merge: 8f47dd577 aace09a3a +Author: Behdad Esfahbod +Date: Tue Feb 9 20:49:04 2021 -0500 + + Merge pull request #2699 from googlefonts/gpos_8 + + [subset] Add a more complex layout subsetting test case and fix the issues it exposed. + +commit 8f47dd5779f7f78b5c11f307a74128892ec1d26c +Author: Garret Rieger +Date: Wed Nov 4 11:05:22 2020 -0800 + + [subset] don't set lookup visited in closure_lookups_context_t::recurse. + - Lookup::closure_lookups also checks if the lookups visited and sets the lookup to visited. If we set visited in 'recurse' then Lookup::closure_lookups will fail to recurse into the children of the lookup. + - Also when copying ChainRule's skip LookupRecord's that point to lookups which aren't retained. This matches FontTool's behaviour. + + src/hb-ot-layout-gsubgpos.hh | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +commit feeff5928b7764934cec376d047a5c808e9412a6 +Author: Behdad Esfahbod +Date: Tue Feb 9 14:59:40 2021 -0700 + + [docs] Add destroy() call to sample + + docs/usermanual-fonts-and-faces.xml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 319e5b3200a2896acb2b01cc047f1144305acc14 +Author: Khaled Hosny +Date: Fri Jan 1 01:31:19 2021 +0200 + + [manual] Fix font functions section + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2731 + + docs/usermanual-fonts-and-faces.xml | 27 ++++++++++++++++++++------- + 1 file changed, 20 insertions(+), 7 deletions(-) + +commit 3583fce86d7c4a75b89d19107c9e0de45e169507 +Author: Khaled Hosny +Date: Thu Dec 31 19:45:11 2020 +0200 + + [manual] Give all chapters & sections pretty links + + docs/harfbuzz-docs.xml | 12 ++++++------ + docs/usermanual-getting-started.xml | 6 +++--- + docs/usermanual-what-is-harfbuzz.xml | 2 +- + 3 files changed, 10 insertions(+), 10 deletions(-) + +commit 84d4d9fc4d3b6811cefac097537136ef11ab78ee +Author: Khaled Hosny +Date: Thu Dec 31 18:27:10 2020 +0200 + + [manual] We don’t use ucdn library anymore + + docs/usermanual-utilities.xml | 28 +--------------------------- + 1 file changed, 1 insertion(+), 27 deletions(-) + +commit 68d2e1b221ca90a76f9a5179b05868e350ed0bd3 +Author: Khaled Hosny +Date: Thu Jan 21 14:39:19 2021 +0200 + + [meson] Disable benchmark feature by default + + It downloads a dependency from the internet, and in the same time not + used anywhere (one needs to explicitly call ninja benchmark), not even + on the CI (not sure if it that would make much sense since it does not + seem to ever fail). + + meson.build | 12 ++---------- + meson_options.txt | 2 +- + 2 files changed, 3 insertions(+), 11 deletions(-) + +commit b6f47af555e17dbc3b5cacc061bd22c54e0c80f9 +Author: Khaled Hosny +Date: Thu Jan 21 14:34:01 2021 +0200 + + [meson] Report more options in the summary + + meson.build | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 33a0f0b6860e0a48f92bc855c179a0fc5864112f +Author: Behdad Esfahbod +Date: Tue Feb 9 12:55:45 2021 -0700 + + [test] Remove fuzzed test font that triggers virus alert + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2750 + + ...testcase-minimized-hb-subset-fuzzer-5741295280848896 | Bin 98822 -> 0 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 99184fbe2b22b2662fdf1b29edd9aabc1abc040b +Author: Khaled Hosny +Date: Wed Feb 3 13:40:39 2021 +0200 + + [ci] Add top level directory to win32 zip file + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2840 + + .ci/build-win32.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d9e0244cdfa522d5dfdd523197078968d83dc038 +Author: josephshen +Date: Tue Feb 2 16:04:44 2021 +0800 + + remove duplicate file names + + src/Makefile.sources | 2 -- + src/meson.build | 2 -- + 2 files changed, 4 deletions(-) + +commit dad41c07e4076ff247042116a0815f33e41aa0d6 +Author: Behdad Esfahbod +Date: Mon Feb 1 13:54:12 2021 -0500 + + [use] Typo + + src/hb-ot-shape-complex-use-machine.rl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 63a716c540657d2e0c71d3443a87ac97530cf265 +Author: Behdad Esfahbod +Date: Fri Jan 29 20:36:42 2021 -0700 + + [indic] Use lfind() + + src/hb-ot-shape-complex-indic.hh | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +commit 921b4e46b0096873cee8c182cade0dafa8b35b43 +Author: Behdad Esfahbod +Date: Fri Jan 29 20:35:05 2021 -0700 + + [algs] Add hb_equal() + + Use in hb_array_t::lfind() + + src/hb-algs.hh | 42 ++++++++++++++++++++++++++++++++++++++++-- + src/hb-array.hh | 2 +- + 2 files changed, 41 insertions(+), 3 deletions(-) + +commit f4ed3bf20bb8522189a8d5d12242089121617896 +Author: Behdad Esfahbod +Date: Fri Jan 29 20:05:38 2021 -0700 + + [indic] Remove categorization of Khmer Ra + + Khmer goes through its own shaper these days. + + src/hb-ot-shape-complex-indic.hh | 2 -- + 1 file changed, 2 deletions(-) + +commit 676d1e6adf9572f79544182491af1abb229d2ccf +Author: Behdad Esfahbod +Date: Fri Jan 29 19:53:39 2021 -0700 + + [indic] Spell out INDIC_TABLE_ELEMENT_TYPE + + src/gen-indic-table.py | 4 +- + src/hb-ot-shape-complex-indic-table.cc | 4 +- + src/hb-ot-shape-complex-indic.hh | 4 +- + src/hb-ot-shape-complex-khmer-machine.hh | 665 ++++++++++--------- + src/hb-ot-shape-complex-use-machine.hh | 1034 +++++++++++++++++------------- + 5 files changed, 953 insertions(+), 758 deletions(-) + +commit 769c2b19a3c3e87923928b9c9de4ded7307b3ed8 +Author: Behdad Esfahbod +Date: Fri Jan 29 11:40:59 2021 -0700 + + [indic/khmer/myanmar/use] Minor shuffling of found_syllable() macros + + src/hb-ot-shape-complex-indic-machine.hh | 32 +++++++++++++++--------------- + src/hb-ot-shape-complex-indic-machine.rl | 14 ++++++------- + src/hb-ot-shape-complex-khmer-machine.hh | 18 ++++++++--------- + src/hb-ot-shape-complex-khmer-machine.rl | 8 ++++---- + src/hb-ot-shape-complex-myanmar-machine.hh | 18 ++++++++--------- + src/hb-ot-shape-complex-myanmar-machine.rl | 12 +++++------ + src/hb-ot-shape-complex-use-machine.hh | 30 ++++++++++++++-------------- + src/hb-ot-shape-complex-use-machine.rl | 22 ++++++++++---------- + 8 files changed, 77 insertions(+), 77 deletions(-) + +commit 59721c2f372918555f3d238b449a61907d1fc94c +Author: Behdad Esfahbod +Date: Fri Jan 29 11:34:59 2021 -0700 + + [use] Move data table into same compilation unit + + src/Makefile.sources | 2 +- + src/gen-use-table.py | 11 +++-- + src/harfbuzz.cc | 1 - + src/hb-ot-shape-complex-use-machine.hh | 55 ++++++++++------------ + src/hb-ot-shape-complex-use-machine.rl | 5 -- + ...e-table.cc => hb-ot-shape-complex-use-table.hh} | 11 +++-- + src/hb-ot-shape-complex-use.cc | 1 + + src/meson.build | 2 +- + src/update-unicode-tables.make | 4 +- + 9 files changed, 42 insertions(+), 50 deletions(-) + +commit d9b167da3d261737ed7f5874f308eed3ad37fd0f +Author: Behdad Esfahbod +Date: Thu Jan 28 20:40:42 2021 -0700 + + [use] Remove hb-ot-shape-complex-use.hh + + Inline into ragel machine. + + src/Makefile.sources | 1 - + src/gen-use-table.py | 1 - + src/hb-ot-shape-complex-use-machine.hh | 100 ++++++++++++++++++++++++--------- + src/hb-ot-shape-complex-use-machine.rl | 50 ++++++++++++++++- + src/hb-ot-shape-complex-use-table.cc | 1 - + src/hb-ot-shape-complex-use.cc | 1 - + src/hb-ot-shape-complex-use.hh | 83 --------------------------- + src/meson.build | 1 - + 8 files changed, 123 insertions(+), 115 deletions(-) + +commit 3bb2653a5e843338ab42cc929a874923cc14bafa +Author: Behdad Esfahbod +Date: Thu Jan 28 20:36:51 2021 -0700 + + [use] Reuse category numbers exported from ragel machine + + Part of https://github.com/harfbuzz/harfbuzz/pull/2726 + + src/gen-use-table.py | 7 +-- + src/hb-ot-shape-complex-use-machine.hh | 57 ++++++++++++------------ + src/hb-ot-shape-complex-use-machine.rl | 11 +++-- + src/hb-ot-shape-complex-use-table.cc | 81 +++++++++++++++++----------------- + src/hb-ot-shape-complex-use.cc | 48 ++++++++++---------- + src/hb-ot-shape-complex-use.hh | 53 +--------------------- + 6 files changed, 107 insertions(+), 150 deletions(-) + +commit c417e0d2f91f673dfb55c6d04e9d1fcda985abe7 +Author: Behdad Esfahbod +Date: Thu Jan 28 20:27:59 2021 -0700 + + [indic/khmer/myanmar/use] Move enum category around + + Such that the generated -machine.hh headers are independent. + + src/hb-ot-shape-complex-indic-machine.hh | 61 +++++++++++++++------------ + src/hb-ot-shape-complex-indic-machine.rl | 9 ++++ + src/hb-ot-shape-complex-indic.cc | 14 +------ + src/hb-ot-shape-complex-khmer-machine.hh | 44 +++++++++++--------- + src/hb-ot-shape-complex-khmer-machine.rl | 6 +++ + src/hb-ot-shape-complex-khmer.cc | 10 +---- + src/hb-ot-shape-complex-myanmar-machine.hh | 45 +++++++++++--------- + src/hb-ot-shape-complex-myanmar-machine.rl | 7 ++++ + src/hb-ot-shape-complex-myanmar.cc | 12 +----- + src/hb-ot-shape-complex-use-machine.hh | 66 +++++++++++++++++++----------- + src/hb-ot-shape-complex-use-machine.rl | 16 ++++++++ + src/hb-ot-shape-complex-use.cc | 20 +-------- + 12 files changed, 169 insertions(+), 141 deletions(-) + +commit 675b6c29947befe1c893b1c7ec33741386ca2bad +Author: Behdad Esfahbod +Date: Thu Jan 28 20:17:33 2021 -0700 + + [indic/khmer/myanmar/use] Remove unused dump-*-data programs + + In prep for streamlining tables. + + src/Makefile.am | 19 ------------------- + src/dump-indic-data.cc | 43 ------------------------------------------- + src/dump-khmer-data.cc | 41 ----------------------------------------- + src/dump-myanmar-data.cc | 43 ------------------------------------------- + src/dump-use-data.cc | 38 -------------------------------------- + src/meson.build | 15 --------------- + 6 files changed, 199 deletions(-) + +commit 0a5c6311409547c7a24efbbd595ed5a50f754107 +Author: Behdad Esfahbod +Date: Thu Jan 28 19:53:20 2021 -0700 + + [use] Rename internal enum joinint_form_t members + + To ease upcoming change. + + src/hb-ot-shape-complex-use.cc | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +commit 880fdb7460caa88a0a08a535555e54cf5037eed3 +Author: Behdad Esfahbod +Date: Thu Jan 28 19:47:53 2021 -0700 + + [indic/khmer/myanmar/use] Export categories from Ragel source + + Not hooked up yet. + + Part of alternative approach to + https://github.com/harfbuzz/harfbuzz/pull/2726 + + src/hb-ot-shape-complex-indic-machine.hh | 32 +++++++++-- + src/hb-ot-shape-complex-indic-machine.rl | 36 ++++++------ + src/hb-ot-shape-complex-khmer-machine.hh | 30 ++++++++-- + src/hb-ot-shape-complex-khmer-machine.rl | 32 +++++------ + src/hb-ot-shape-complex-myanmar-machine.hh | 40 ++++++++++++-- + src/hb-ot-shape-complex-myanmar-machine.rl | 52 +++++++++--------- + src/hb-ot-shape-complex-use-machine.hh | 88 ++++++++++++++++++++++-------- + src/hb-ot-shape-complex-use-machine.rl | 87 +++++++++++++++-------------- + 8 files changed, 252 insertions(+), 145 deletions(-) + +commit f94bf9f06ff46d6fc33d04fbb4e92e5d25fcaa42 +Author: Garret Rieger +Date: Mon Jan 25 15:57:42 2021 -0800 + + [set fuzzer] limit the total number of set members in a fuzzing input. + Currently the fuzzer can create arbitarily long inputs which once big enough will trigger a timeout. + + test/fuzzing/hb-set-fuzzer.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit b198d944890f107d8be09fded0ad402332230229 +Author: ckitagawa +Date: Mon Jan 25 16:34:11 2021 -0500 + + use {} rather than {0} + + src/hb-ot-color-colr-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 2e50b517e1f5346d87349c965ef0469ed61892da +Author: ckitagawa +Date: Mon Jan 25 16:19:07 2021 -0500 + + Nicer more idiomatic fix + + src/hb-ot-color-colr-table.hh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 8f6559a373363e8992cb964ecae2ce2a115e2d7d +Author: ckitagawa +Date: Mon Jan 25 10:37:59 2021 -0500 + + [subet/COLR] Default initialize firstLayerIdx + + src/hb-ot-color-colr-table.hh | 1 + + 1 file changed, 1 insertion(+) + +commit a650243d3994e5098a8528cce262d4ffb258b11d +Author: Behdad Esfahbod +Date: Sun Jan 24 13:30:06 2021 -0700 + + [sanitize] Fix typo + + src/hb-sanitize.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit e05e56061c75588dbc31a4ced73e13207e537fd9 +Author: Behdad Esfahbod +Date: Sun Jan 24 12:28:04 2021 -0700 + + [mingw] Reinstate win32 cross-compiling with autotools instructions + + Was removed in favor of meson in 6058ede3ae983c53d1d6f5352d4235bafce3499a. + However, those fail to build for me. + + Makefile.am | 1 + + README.mingw.md | 32 ++++++++++++++++++++++++-------- + mingw-configure.sh | 28 ++++++++++++++++++++++++++++ + 3 files changed, 53 insertions(+), 8 deletions(-) + +commit 881ad720fe78b27421945824e3c30f7536a8e6bf +Author: Behdad Esfahbod +Date: Thu Jan 21 14:27:45 2021 -0700 + + [algs] Remove passthru declaration + + Let compiler figure it out. + + src/hb-algs.hh | 8 -------- + src/hb-set.hh | 25 ++++++++++++++----------- + 2 files changed, 14 insertions(+), 19 deletions(-) + +commit ca0b7afee9422338886cfb163f0a68e2f1868f24 +Author: Behdad Esfahbod +Date: Thu Jan 21 12:18:48 2021 -0700 + + [set] Use hb_fill() + + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-set.hh | 5 ++--- + 2 files changed, 6 insertions(+), 7 deletions(-) + +commit 5fce8898e0be354a890c629516ecae76a3383a64 +Author: Behdad Esfahbod +Date: Thu Jan 21 12:14:20 2021 -0700 + + [iter] Allow passing rvalue iters to hb_fill() + + src/hb-iter.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6463ee02d6127fa2bfc4ada5e65468a4f8815531 +Author: Behdad Esfahbod +Date: Thu Jan 21 12:01:13 2021 -0700 + + Speed up ClassDef/Coverage intersect methods + + Just avoiding overhead as measured by Garret. + Should rewrite as dagger in the future and confirm that it has the + same benefits. Later on, rewrite as lfind() maybe. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2826 + + src/hb-ot-layout-common.hh | 34 ++++++++++++++++++++++++---------- + 1 file changed, 24 insertions(+), 10 deletions(-) + +commit 33368a12b7f7b394cc2b36048a04f76aa1f7009e +Author: Garret Rieger +Date: Thu Jan 21 11:06:58 2021 -0800 + + uint32_t to unsigned in hb-set.hh + + src/hb-set.hh | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 2a0d0b901f687915eab4b270c48e658e52b95676 +Author: Garret Rieger +Date: Thu Jan 21 10:45:09 2021 -0800 + + Make set clear work even when set is in failed state. + + src/hb-set.hh | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +commit 0ba73e980c210ea5b3542327aa889177f9e44a2e +Author: Garret Rieger +Date: Wed Sep 16 13:56:33 2020 -0700 + + [ENOMEM] handle allocation failures during page compaction. + + src/hb-set.hh | 50 +++++++++++++++++++++++++++++++++++++++----------- + 1 file changed, 39 insertions(+), 11 deletions(-) + +commit a4c3732f59188046322e599a1a67279680385cbd +Author: Garret Rieger +Date: Wed Sep 16 12:35:09 2020 -0700 + + [ENOMEM] fix set clear() causing corruption if the set is in_error(). + + src/hb-set.hh | 11 ++++++++--- + ...-testcase-minimized-hb-subset-fuzzer-5345734743031808 | Bin 0 -> 1240 bytes + 2 files changed, 8 insertions(+), 3 deletions(-) + +commit 9b8be9643cba165abf9256df1b8b8413b0574ab0 +Author: Khaled Hosny +Date: Wed Jan 20 23:49:24 2021 +0200 + + [docs] Ignore hb-gobject headers + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2797 + + docs/Makefile.am | 3 -- + docs/harfbuzz-docs.xml | 1 - + docs/harfbuzz-sections.txt | 72 ---------------------------------------------- + docs/meson.build | 17 +++++------ + src/hb-gobject-structs.h | 30 ------------------- + 5 files changed, 7 insertions(+), 116 deletions(-) + +commit 2a6a49c90b1255d687e52121ba7b3b3c272c4a70 +Author: Khaled Hosny +Date: Thu Jan 21 00:06:03 2021 +0200 + + [meson] Don’t scan files outside src for docs + + Similar to what we do in Makefile.am. + + docs/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 051a3c7b9a9b9064cf0a9fc8a2a32e6114f103ec +Author: Khaled Hosny +Date: Wed Jan 20 22:35:34 2021 +0200 + + [docs] Fix typo + + src/hb-font.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a44dd339f9ebf789b2642b5a7eef2785fca6d809 +Author: Khaled Hosny +Date: Fri Jan 1 01:36:57 2021 +0200 + + [docs] Missing param docs + + src/hb-font.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 478d169c0fdbecbf859352ae2f03d5261cb49b11 +Author: Khaled Hosny +Date: Thu Dec 31 18:17:33 2020 +0200 + + [docs] Document more deprecated symbols + + src/hb-deprecated.h | 13 ++++++++++++- + src/hb-graphite2.cc | 5 +++++ + src/hb-ot-deprecated.h | 2 ++ + 3 files changed, 19 insertions(+), 1 deletion(-) + +commit ca0a7a838447947ea2530bb51487c775f02d48b4 +Author: Khaled Hosny +Date: Thu Dec 31 17:29:03 2020 +0200 + + [docs] Document hb_ot_math_constant_t somehow + + src/hb-ot-math.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 59 insertions(+), 2 deletions(-) + +commit 3ba1e7e783d2beab39fce656d98f5ce79fdf2843 +Author: Khaled Hosny +Date: Thu Dec 31 17:11:35 2020 +0200 + + [docs] Document HB_OT_TAG_DEFAULT_LANGUAGE/SCRIPT + + src/hb-ot-layout.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 4bfa0b3c0214a35a2c7c0400aef9797a82bc5cac +Author: Khaled Hosny +Date: Thu Dec 31 16:30:05 2020 +0200 + + [docs] Fix hb_color_get_* docs + + src/hb-common.cc | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +commit 2cdc92c0c27ecdd07735e1a7d3768651991ea0e1 +Author: David Corbett +Date: Sat Aug 29 19:41:40 2020 -0400 + + [use] Move most joining scripts to USE + + src/hb-ot-shape-complex.hh | 37 +++++++++---------------------------- + 1 file changed, 9 insertions(+), 28 deletions(-) + +commit 5c73c9082b32a5dd955c1c0f0a4e08e85304c2e2 +Author: Behdad Esfahbod +Date: Mon Jan 18 12:47:25 2021 -0700 + + [syllabic] Fix signed/unsigned comparision errors + + src/hb-ot-shape-complex-syllabic.cc | 6 +++--- + src/hb-ot-shape-complex-syllabic.hh | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit e3d4c2972759f0fd578213d450da7e4d8b5c83e8 +Author: Behdad Esfahbod +Date: Fri Jan 15 19:23:33 2021 -0700 + + [indic/khmer/myanmar] Minor: Fix mask + + Seems like a typo. No behavior change. + + src/hb-ot-shape-complex-indic.hh | 2 +- + src/hb-ot-shape-complex-khmer.hh | 2 +- + src/hb-ot-shape-complex-myanmar.hh | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 0ddade44cf02455bf78ebb782841c76f3c4cea9a +Author: Behdad Esfahbod +Date: Fri Jan 15 19:13:47 2021 -0700 + + [syllabic] Merge various insert_dotted_circles implementations + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1810 + + src/hb-ot-shape-complex-indic.cc | 70 ++++-------------------------------- + src/hb-ot-shape-complex-khmer.cc | 71 ++++-------------------------------- + src/hb-ot-shape-complex-myanmar.cc | 64 +++------------------------------ + src/hb-ot-shape-complex-syllabic.cc | 67 ++++++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-syllabic.hh | 8 +++++ + src/hb-ot-shape-complex-use.cc | 72 +++++-------------------------------- + 6 files changed, 101 insertions(+), 251 deletions(-) + +commit e8e9fd9556816e7d43f3c5c0a678789cd6b2cf24 +Author: Behdad Esfahbod +Date: Fri Jan 15 18:52:57 2021 -0700 + + [syllabic] Add hb-ot-shape-complex-syllabic.cc/hh + + Empty for now. + + Part of https://github.com/harfbuzz/harfbuzz/issues/1810 + + src/Makefile.sources | 2 ++ + src/harfbuzz.cc | 1 + + src/hb-ot-shape-complex-indic.hh | 2 +- + src/hb-ot-shape-complex-syllabic.cc | 33 +++++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-syllabic.hh | 33 +++++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-use.hh | 3 +-- + src/meson.build | 2 ++ + 7 files changed, 73 insertions(+), 3 deletions(-) + +commit 8af85c4e86ae88c02921b048c5100a57f27857c6 +Author: Behdad Esfahbod +Date: Fri Jan 15 18:48:12 2021 -0700 + + Remove hb-ot-shape-complex-machine-index.hh file + + Inline code into USE header. + + src/Makefile.sources | 1 - + src/hb-ot-shape-complex-machine-index.hh | 69 -------------------------------- + src/hb-ot-shape-complex-use-machine.hh | 49 +++++++++++------------ + src/hb-ot-shape-complex-use-machine.rl | 1 - + src/hb-ot-shape-complex-use.hh | 39 ++++++++++++++++++ + 5 files changed, 63 insertions(+), 96 deletions(-) + +commit 9dd61c5b78dfc229e36f5ffe23fd448fc9bf82f5 +Author: Behdad Esfahbod +Date: Fri Jan 15 18:42:30 2021 -0700 + + Rename internal buffer var use + + Part of https://github.com/harfbuzz/harfbuzz/issues/1810 + + src/hb-ot-shape-complex-arabic.cc | 2 +- + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape-complex-indic.hh | 4 ++-- + src/hb-ot-shape-complex-use.cc | 2 +- + src/hb-ot-shape-complex.hh | 4 ++-- + 5 files changed, 7 insertions(+), 7 deletions(-) + +commit 6a140ef570bc29aafc1078d16d5399fceadd476f +Author: Khaled Hosny +Date: Sun Jan 17 22:48:50 2021 +0200 + + [meson] Pin Cairo subproject 1.17.4 + + There is now a release with meson build support. + + subprojects/cairo.wrap | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fb1b29cee4bdea6805f14a530cb2984185f0d3ac +Author: Khaled Hosny +Date: Sun Jan 17 22:55:12 2021 +0200 + + [ci] Fix msys2 breakage + + What package manger randomly changes package names without fallback! + + .github/workflows/msys2-ci.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3c5b7886ebeee112ba7d2f2f7d7e581981ab61b0 +Author: Behdad Esfahbod +Date: Fri Jan 15 19:26:04 2021 -0700 + + Revert "Avoid category duplication between C++ and Ragel" + + This reverts commit 67ea8133d3fa82b3365cd917fb266ba752f16169. + + Merged accidentally on https://github.com/harfbuzz/harfbuzz/pull/2726 + + src/Makefile.sources | 2 - + src/gen-ragel-artifacts.py | 2 +- + src/hb-ot-shape-complex-indic-category.hh | 89 ------------------------------ + src/hb-ot-shape-complex-indic-machine.hh | 36 ++++++------ + src/hb-ot-shape-complex-indic-machine.rl | 19 ++++++- + src/hb-ot-shape-complex-indic.hh | 36 +++++++++++- + src/hb-ot-shape-complex-khmer-machine.hh | 22 ++++---- + src/hb-ot-shape-complex-khmer-machine.rl | 17 +++++- + src/hb-ot-shape-complex-khmer.hh | 29 +++++++--- + src/hb-ot-shape-complex-myanmar-machine.hh | 22 ++++---- + src/hb-ot-shape-complex-myanmar-machine.rl | 31 ++++++++++- + src/hb-ot-shape-complex-myanmar.hh | 32 +++++++++-- + src/hb-ot-shape-complex-use-category.hh | 87 ----------------------------- + src/hb-ot-shape-complex-use-machine.hh | 34 ++++++------ + src/hb-ot-shape-complex-use-machine.rl | 45 ++++++++++++++- + src/hb-ot-shape-complex-use.hh | 53 +++++++++++++++++- + src/meson.build | 2 - + 17 files changed, 299 insertions(+), 259 deletions(-) + +commit 67ea8133d3fa82b3365cd917fb266ba752f16169 +Author: David Corbett +Date: Sat Oct 17 14:37:22 2020 -0400 + + Avoid category duplication between C++ and Ragel + + src/Makefile.sources | 2 + + src/gen-ragel-artifacts.py | 2 +- + src/hb-ot-shape-complex-indic-category.hh | 89 ++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-indic-machine.hh | 36 ++++++------ + src/hb-ot-shape-complex-indic-machine.rl | 19 +------ + src/hb-ot-shape-complex-indic.hh | 36 +----------- + src/hb-ot-shape-complex-khmer-machine.hh | 22 ++++---- + src/hb-ot-shape-complex-khmer-machine.rl | 17 +----- + src/hb-ot-shape-complex-khmer.hh | 29 +++------- + src/hb-ot-shape-complex-myanmar-machine.hh | 22 ++++---- + src/hb-ot-shape-complex-myanmar-machine.rl | 31 +---------- + src/hb-ot-shape-complex-myanmar.hh | 32 ++--------- + src/hb-ot-shape-complex-use-category.hh | 87 +++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-use-machine.hh | 34 ++++++------ + src/hb-ot-shape-complex-use-machine.rl | 45 +-------------- + src/hb-ot-shape-complex-use.hh | 53 +----------------- + src/meson.build | 2 + + 17 files changed, 259 insertions(+), 299 deletions(-) + +commit c8c5e52aba904cfede1c7e8e1043a392053938e6 +Author: David Corbett +Date: Mon Jan 4 20:31:12 2021 -0500 + + [use] Update overrides to 2021-01-04 + + This uses the data files from + . + + src/hb-ot-shape-complex-use-table.cc | 2 +- + src/ms-use/IndicSyllabicCategory-Additional.txt | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 1fb7f3bda6de03279e2971086b6935a0970f4b98 +Author: Khaled Hosny +Date: Thu Dec 31 03:03:48 2020 +0200 + + [docs] Document various HB_SCRIPT_* + + Need to have something for all of them to keep GTK-Doc happy. + + src/hb-common.h | 500 ++++++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 326 insertions(+), 174 deletions(-) + +commit ea0907abf938f787ebfc0c41f439d1e2b2ef98ba +Author: Khaled Hosny +Date: Thu Dec 31 02:34:45 2020 +0200 + + [docs] Document version macros + + src/hb-version.h | 29 +++++++++++++++++++++++++++++ + src/hb-version.h.in | 29 +++++++++++++++++++++++++++++ + 2 files changed, 58 insertions(+) + +commit 5e9f05ff3f7dad07ba593f4a38989e0d90311b36 +Author: Khaled Hosny +Date: Thu Dec 31 02:23:55 2020 +0200 + + [docs] Expand memory modes docs + + Per Behdad suggestions. + + src/hb-blob.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 5151c2b668e76eac73a044c478319887e3fa9acb +Author: Khaled Hosny +Date: Thu Dec 31 00:28:27 2020 +0200 + + [introspection] Replace deprecated allow-none + + Use optional or nullable as appropriate. + + src/hb-aat-layout.cc | 2 +- + src/hb-buffer-serialize.cc | 16 ++++++++-------- + src/hb-ot-layout.cc | 32 ++++++++++++++++---------------- + src/hb-ot-name.cc | 8 ++++---- + src/hb-ot-tag.cc | 14 +++++++------- + src/hb-ot-var.cc | 6 +++--- + src/hb-shape.cc | 6 +++--- + 7 files changed, 42 insertions(+), 42 deletions(-) + +commit a64d56a3e5c7ecc0f0ecc491987487b9481dbdbc +Author: Khaled Hosny +Date: Thu Dec 31 00:27:49 2020 +0200 + + [introspection] nullable is for pointers + + src/hb-font.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9936490c04e9333f4c3360312c4431a3e14468b8 +Author: Khaled Hosny +Date: Thu Dec 31 00:19:29 2020 +0200 + + [docs] Invalid use of "optional" annotation + + It is valid only for out and inout parameters. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/1787 + + src/hb-blob.cc | 4 ++-- + src/hb-buffer.cc | 4 ++-- + src/hb-deprecated.h | 6 +++--- + src/hb-face.cc | 4 ++-- + src/hb-font.cc | 12 ++++++------ + src/hb-font.h | 32 ++++++++++++++++---------------- + src/hb-ft.cc | 4 ++-- + src/hb-map.cc | 2 +- + src/hb-set.cc | 2 +- + src/hb-shape-plan.cc | 2 +- + src/hb-unicode.cc | 2 +- + src/hb-unicode.h | 12 ++++++------ + 12 files changed, 43 insertions(+), 43 deletions(-) + +commit bf5b4b71c589e8cbe1a528b1091229825c6fec77 +Author: Khaled Hosny +Date: Thu Dec 31 00:38:47 2020 +0200 + + [docs] Duplicated documentation + + src/hb-unicode.h | 28 ---------------------------- + 1 file changed, 28 deletions(-) + +commit 3d7a3616485e7d0ad8389547ab607234eb6ec11d +Author: Khaled Hosny +Date: Wed Dec 30 23:58:37 2020 +0200 + + [docs] Miscellaneous missing docs + + docs/harfbuzz-sections.txt | 3 +-- + src/hb-blob.h | 8 ++++---- + src/hb-coretext.cc | 2 +- + src/hb-directwrite.cc | 4 ++++ + src/hb-face.cc | 2 +- + src/hb-face.h | 13 +++++++++++++ + src/hb-gdi.cc | 2 ++ + src/hb-map.h | 6 +++++- + src/hb-ot-deprecated.h | 7 +++++++ + src/hb-ot-meta.cc | 4 +++- + src/hb-ot-var.h | 26 ++++++++++++++++---------- + src/hb-set.h | 6 +++++- + 12 files changed, 62 insertions(+), 21 deletions(-) + +commit a31a51cdec8cab763e7b29c42d161381c652d32d +Author: Khaled Hosny +Date: Wed Dec 30 23:48:25 2020 +0200 + + [docs] Complete hb-ft docs a bit + + src/hb-ft.cc | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit 8c492d5c321ceee19102986e3eb2733bb5e6c5d7 +Author: Khaled Hosny +Date: Wed Dec 30 23:47:33 2020 +0200 + + [docs] Complete hb-ot-math docs a bit + + src/hb-ot-deprecated.h | 7 +++++++ + src/hb-ot-math.h | 22 +++++++++++++++++++++- + 2 files changed, 28 insertions(+), 1 deletion(-) + +commit 3f7ffd1b3d0bff1c641e5adf47de9be1925aa897 +Author: Khaled Hosny +Date: Wed Dec 30 23:46:13 2020 +0200 + + [docs] Complete hb-unicode docs a bit + + src/hb-deprecated.h | 33 ++++++++++++++++++++++----------- + src/hb-unicode.cc | 2 +- + src/hb-unicode.h | 4 +++- + 3 files changed, 26 insertions(+), 13 deletions(-) + +commit 2fdab788ad20ae6256542afe0d856b63b5cfc0e2 +Author: Khaled Hosny +Date: Wed Dec 30 23:44:30 2020 +0200 + + [docs] Complete hb-buffer docs a bit + + src/hb-buffer-serialize.cc | 32 +++++++++++++++----------- + src/hb-buffer.cc | 32 +++++++++++++------------- + src/hb-buffer.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-deprecated.h | 10 ++++++++ + 4 files changed, 102 insertions(+), 29 deletions(-) + +commit 492a5a9096cc36f6d1860f576ccf09b6117e86b5 +Author: Khaled Hosny +Date: Wed Dec 30 23:42:49 2020 +0200 + + [docs] Complete hb-aat docs a bit + + src/hb-aat-layout.cc | 14 ++++----- + src/hb-aat-layout.h | 88 ++++++++++++++++++++++++++++------------------------ + 2 files changed, 55 insertions(+), 47 deletions(-) + +commit 3a012cc469d22b9889907a79717524e983ac95b7 +Author: Khaled Hosny +Date: Wed Dec 30 23:40:25 2020 +0200 + + [docs] Complete hb-metrics docs a bit + + src/hb-ot-metrics.cc | 31 ++++++++++++++++++++----------- + src/hb-ot-metrics.h | 3 ++- + 2 files changed, 22 insertions(+), 12 deletions(-) + +commit 5a55b31a383deadc3d479f83a6122cca821765eb +Author: Khaled Hosny +Date: Wed Dec 30 23:39:08 2020 +0200 + + [docs] Complete hb-shape-plan docs a bit + + src/hb-shape-plan.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 8e8c3e5878028f4fba783bb92e25e03db662c664 +Author: Khaled Hosny +Date: Wed Dec 30 23:37:49 2020 +0200 + + [docs] Complete hb-ot-layout docs a bit + + docs/harfbuzz-sections.txt | 2 ++ + src/hb-ot-layout.cc | 59 ++++++++++++++++++++++++++++------------------ + src/hb-ot-layout.h | 51 ++++++++++++++++++++++++++++++++++++++- + src/hb-ot-tag.cc | 15 ++++++++++-- + 4 files changed, 101 insertions(+), 26 deletions(-) + +commit 5b7b730d4b94b33a9915e5fa0908e84e343aae41 +Author: Khaled Hosny +Date: Mon Dec 28 05:23:26 2020 +0200 + + [docs] Complete hb-color docs a bit + + src/hb-ot-color.h | 4 ++++ + 1 file changed, 4 insertions(+) + +commit aa107e657b7940506548d003d5fda1510e8dfefa +Author: Khaled Hosny +Date: Wed Dec 30 23:34:17 2020 +0200 + + [docs] Complete hb-font docs a bit + + docs/harfbuzz-sections.txt | 4 +- + src/hb-deprecated.h | 37 +++++++++++-- + src/hb-font.cc | 28 +++++++--- + src/hb-font.h | 135 +++++++++++++++++++++++++++++++++++++++++---- + 4 files changed, 179 insertions(+), 25 deletions(-) + +commit 9b602e8e22d399d494f4e0a0eb22b2b4ea0d4a6a +Author: Khaled Hosny +Date: Wed Dec 30 23:28:54 2020 +0200 + + [docs] Complete hb-common docs a bit + + docs/harfbuzz-docs.xml | 3 + + src/hb-common.cc | 30 ++++++- + src/hb-common.h | 239 ++++++++++++++++--------------------------------- + 3 files changed, 107 insertions(+), 165 deletions(-) + +commit 53ed5597b2a0615299aa52e36e75a93437f9844a +Author: Khaled Hosny +Date: Wed Dec 30 23:11:33 2020 +0200 + + [docs] Add missing API indices + + docs/harfbuzz-docs.xml | 5 +++++ + 1 file changed, 5 insertions(+) + +commit c9c3b3c94c4dc8e8bd1af723de287b49c8acbf42 +Author: Khaled Hosny +Date: Wed Dec 30 23:09:59 2020 +0200 + + [docs] Use correct syntax + + src/hb-blob.cc | 2 +- + src/hb-set.cc | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +commit a8e72ee7842bb0f7cff9d3b703d335215cfbc1af +Author: Khaled Hosny +Date: Wed Dec 30 23:08:40 2020 +0200 + + [docs] Use %true and %false consistently + + src/hb-aat-layout.cc | 6 +++--- + src/hb-blob.cc | 2 +- + src/hb-common.cc | 4 ++-- + src/hb-face.cc | 2 +- + src/hb-font.cc | 32 ++++++++++++++++---------------- + src/hb-map.cc | 4 ++-- + src/hb-ot-color.cc | 8 ++++---- + src/hb-ot-layout.cc | 32 ++++++++++++++++---------------- + src/hb-ot-math.cc | 4 ++-- + src/hb-ot-var.cc | 4 ++-- + src/hb-sanitize.hh | 2 +- + src/hb-set.cc | 16 ++++++++-------- + src/hb-unicode.cc | 6 +++--- + src/hb-unicode.h | 8 ++++---- + 14 files changed, 65 insertions(+), 65 deletions(-) + +commit a3fe43a41024f197936a12a62515c43a03a7c810 +Author: Khaled Hosny +Date: Wed Dec 30 21:58:43 2020 +0200 + + [docs] Hide private enum values + + "/*< skip >*/" does not seem to hide them. + + src/hb-ot-layout.h | 1 + + src/hb-ot-meta.h | 1 + + src/hb-ot-metrics.h | 1 + + src/hb-ot-var.h | 1 + + src/hb-style.cc | 1 + + 5 files changed, 5 insertions(+) + +commit b8e6f17eed5eec3715e9d16f7f3db4c352f6d312 +Author: Khaled Hosny +Date: Sun Dec 27 15:03:57 2020 +0200 + + [docs] Move note about harfbuzz-old to proper place + + Commit 443f87213272be5ae0579dce4749b2036dfe3815 seems to have moved it + to the API part by mistake. + + docs/harfbuzz-docs.xml | 60 ++++++++++++++++++++++++-------------------------- + 1 file changed, 29 insertions(+), 31 deletions(-) + +commit e93de6362b2388a3f11fa5cfa4f699d805c61c5d +Author: Khaled Hosny +Date: Sun Dec 27 00:57:29 2020 +0200 + + [docs] Document unused language in get_baseline + + Document that language_tag in hb_ot_layout_get_baseline() is currently + unused. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2662 + + src/hb-ot-layout.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c7b2e64c6d9e2f9b130c8fd581f0e5a67021b76d +Author: Khaled Hosny +Date: Sun Dec 27 00:53:23 2020 +0200 + + [docs] make it clear that FT_Face must have size + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2590 + + src/hb-ft.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 4136ecf74149c533f9a31e039d67e9a234e1f9ce +Author: Khaled Hosny +Date: Sun Dec 27 00:22:31 2020 +0200 + + [docs] Don’t use FreeType in the simple example + + Also make the code actually compile. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2106 + + docs/usermanual-getting-started.xml | 31 ++++++++++++++++++------------- + 1 file changed, 18 insertions(+), 13 deletions(-) + +commit bfe4bbfc05319400572dd4547b093f7bcae7eba2 +Author: Khaled Hosny +Date: Sun Dec 27 18:38:54 2020 +0200 + + [docs] Older GTK-Doc does not support HB_DEPRECATED_FOR() at all + + Fixes CI build failure. + + docs/Makefile.am | 2 +- + docs/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 4161146e62f7fae28afc42c297e824d298741bb3 +Author: Khaled Hosny +Date: Sun Dec 27 18:27:19 2020 +0200 + + [docs] Fix generated docs for deprecated symbols + + Without ignoring HB_DEPRECATED, most deprecated symbols get missing from + documentation. Ignoring HB_DEPRECATED_FOR does not work, but this seems + to be a GTK-Doc bug. + + docs/Makefile.am | 2 +- + docs/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 7236c7e29cef1c2d76c7a284c5081ff4d3aa1127 +Author: Khaled Hosny +Date: Sun Dec 27 01:59:00 2020 +0200 + + 2.7.4 + + NEWS | 7 +++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 11 insertions(+), 4 deletions(-) + +commit 6808b1fb3075990c389e3a2e80cee8c4874a8f6f +Merge: 010bd5404 e8c15b7a1 +Author: Khaled Hosny +Date: Sun Dec 27 01:55:15 2020 +0200 + + Merge pull request #2781 from harfbuzz/g-i-dist + + [ci] Install gobject-introspection on distcheck job + +commit e8c15b7a1cd2c2174658e221193bb83d1ca4c635 +Author: Khaled Hosny +Date: Sat Dec 26 23:05:48 2020 +0200 + + [ci] Install gobject-introspection on distcheck job + + To fix missing --enable-introspection from release tarballs. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2779 + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 010bd5404008e45bb23ff63613551a03e3b60f58 +Merge: 462b71eaf fdf3e448f +Author: Khaled Hosny +Date: Sat Dec 26 01:17:27 2020 +0200 + + Merge pull request #2777 from harfbuzz/docs-unicode + + [docs] Improve hb-unicode docs a bit + +commit 462b71eaf3aff628cc50554f2ebcb78e27262e39 +Merge: 954167143 22468c8a9 +Author: Khaled Hosny +Date: Sat Dec 26 01:16:32 2020 +0200 + + Merge pull request #1676 from n8willis/docs-gtkdoc-core + + [Docs] Add gtkdoc comments for low-level core APIs + +commit 22468c8a9046d03751039ae82626c780c74fdc66 +Author: Khaled Hosny +Date: Thu Dec 24 22:38:06 2020 +0200 + + [docs] Give destroy callbacks have (optional) annotation + + src/hb-blob.cc | 4 ++-- + src/hb-font.h | 30 +++++++++++++++--------------- + src/hb-ft.cc | 2 +- + src/hb-map.cc | 2 +- + src/hb-set.cc | 2 +- + src/hb-shape-plan.cc | 2 +- + src/hb-unicode.cc | 2 +- + src/hb-unicode.h | 12 ++++++------ + 8 files changed, 28 insertions(+), 28 deletions(-) + +commit 35c4a15a676beb6d9198e2a9b7f06ac5ab669b2c +Author: Khaled Hosny +Date: Thu Dec 24 22:34:02 2020 +0200 + + [docs] Update hb-font documentation + + src/hb-font.cc | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +commit 8586f15957ac593aad786ad839b49596e45c0fa8 +Author: Khaled Hosny +Date: Thu Dec 24 22:23:47 2020 +0200 + + [docs] Update hb-common documentation + + src/hb-common.cc | 5 +++-- + src/hb-common.h | 16 +++++++--------- + 2 files changed, 10 insertions(+), 11 deletions(-) + +commit e8c21e003dfe84a2b8c8801821176575bfa7bbb4 +Author: Khaled Hosny +Date: Thu Dec 24 21:56:31 2020 +0200 + + [docs] Remove comments the duplicate docs + + src/hb-font.h | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit ff96f73f8f62344fc9d0c557bcc79cd6c2d0b95f +Author: Khaled Hosny +Date: Thu Dec 24 21:53:11 2020 +0200 + + [docs] Add some missing API to harfbuzz-sections.txt + + docs/harfbuzz-sections.txt | 2 ++ + 1 file changed, 2 insertions(+) + +commit cb319f0d80ab76da00c7263a7e0a433558fa73a2 +Author: Khaled Hosny +Date: Thu Dec 24 21:47:05 2020 +0200 + + [docs] Add some missing annotations to hb-buffer.cc + + src/hb-buffer.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 9af0edd9511cdba61ad3bd2ce23eb789e9eb58fe +Author: Khaled Hosny +Date: Thu Dec 24 21:40:41 2020 +0200 + + [docs] Document return value of hb_blob_get_data() + + src/hb-blob.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit f88e845fc789cb1af3956b53b749987af8d6adc8 +Author: Khaled Hosny +Date: Thu Dec 24 21:28:37 2020 +0200 + + [docs] Minor fixes + + src/hb-blob.cc | 6 +++--- + src/hb-buffer.cc | 4 ++-- + src/hb-face.cc | 2 +- + src/hb-font.cc | 2 +- + src/hb-map.cc | 2 +- + src/hb-set.cc | 2 +- + src/hb-unicode.cc | 2 +- + 7 files changed, 10 insertions(+), 10 deletions(-) + +commit 82092d4005aa1ce38e069b43d35282089af4ea79 +Author: Nathan Willis +Date: Mon Apr 22 15:31:24 2019 +0100 + + [docs] Update gtk-doc comments in hb-font + + src/hb-font.cc | 623 +++++++++++++++++++++++++++++++++++---------------------- + src/hb-font.h | 371 ++++++++++++++++++++++++++-------- + 2 files changed, 679 insertions(+), 315 deletions(-) + +commit e8de26e1ef7b4486ff7b13aadb89c06300f1b705 +Author: Nathan Willis +Date: Sun Apr 21 20:31:54 2019 +0100 + + [docs] Add gtkdoc comments to hb-buffer + + src/hb-buffer.cc | 235 +++++++++++++++++++++++++++++-------------------------- + src/hb-buffer.h | 17 ++++ + 2 files changed, 139 insertions(+), 113 deletions(-) + +commit d13b7eaaf18e772387ce25e899e2b3d4252c9e96 +Author: Nathan Willis +Date: Sun Apr 21 20:31:31 2019 +0100 + + [docs] Add gtkdoc comments to hb-blob + + src/hb-blob.cc | 48 +++++++++++++++++++++++++++--------------------- + src/hb-blob.h | 35 ++++++++++++++++++++++++++--------- + 2 files changed, 53 insertions(+), 30 deletions(-) + +commit 4cdb12a3fa804392ec93e29633235f9552a4e106 +Author: Nathan Willis +Date: Sun Apr 21 20:31:09 2019 +0100 + + [docs] Add gtkdoc comments to hb-common + + src/hb-common.cc | 82 +++++++++------- + src/hb-common.h | 295 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 337 insertions(+), 40 deletions(-) + +commit 922c32eb2df9bfedc15420ceef99f35c6be07e12 +Author: Nathan Willis +Date: Sun Apr 21 20:30:54 2019 +0100 + + [docs] Add gtkdoc comments to hb-map + + src/hb-map.cc | 87 ++++++++++++++++++++++++++++++++++++----------------------- + src/hb-map.h | 6 +++++ + 2 files changed, 60 insertions(+), 33 deletions(-) + +commit 71af2c6d9b58213963577a01c97dc9dc021dc6b7 +Author: Nathan Willis +Date: Sun Apr 21 20:30:36 2019 +0100 + + [docs] Add gtkdoc comments to hb-set + + src/hb-set.cc | 207 ++++++++++++++++++++++++++++++++-------------------------- + src/hb-set.h | 9 +++ + 2 files changed, 124 insertions(+), 92 deletions(-) + +commit ec98730ff69a744955c5d98aa38078eb0bb8fd24 +Author: Nathan Willis +Date: Wed Apr 17 14:44:25 2019 +0100 + + [docs] regularize whitespace in function params + + src/hb-font.cc | 563 ++++++++++++++++++++++++++++++--------------------------- + 1 file changed, 295 insertions(+), 268 deletions(-) + +commit fdf3e448fdf92385675e64563b0489d8aea2e1b8 +Author: Khaled Hosny +Date: Thu Dec 24 00:41:45 2020 +0200 + + [docs] Improve hb-unicode docs a bit + + Down to only one warning. + + src/hb-unicode.h | 80 ++++++++++++++++++++++++++++++++++++++++---------------- + 1 file changed, 58 insertions(+), 22 deletions(-) + +commit 0fd6144a5fd0de86c509e35a552105faca458fb2 +Author: Khaled Hosny +Date: Thu Dec 24 00:10:27 2020 +0200 + + [docs] Fix warnings about unknown annotations + + Use square brackets so that gtk-doc does not consider these to be + annotations. + + src/hb-unicode.h | 168 +++++++++++++++++++++++++++---------------------------- + 1 file changed, 84 insertions(+), 84 deletions(-) + +commit 954167143befde8366150dcb885f50a9e64346a3 +Merge: 8560c3e35 71a3b54f3 +Author: Khaled Hosny +Date: Wed Dec 23 23:04:17 2020 +0200 + + Merge pull request #2776 from harfbuzz/release + + 2.7.3 + +commit 71a3b54f3c6c6fba52a2f99e6a9258c62b5104cd +Author: Khaled Hosny +Date: Wed Dec 23 15:33:15 2020 +0200 + + 2.7.3 + + NEWS | 23 +++++++++++++++++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-buffer.cc | 2 +- + src/hb-version.h | 4 ++-- + 5 files changed, 28 insertions(+), 5 deletions(-) + +commit 8560c3e355dbfd199fbd9e7052151c40a9039b29 +Merge: 769a21aab 296e9d7f3 +Author: Behdad Esfahbod +Date: Wed Dec 23 00:25:10 2020 -0800 + + Merge pull request #2774 from harfbuzz/misc-doc + + Doc fixes + +commit 769a21aab6a2b1c43cc10d56de3861a3add723de +Author: Ryan +Date: Wed Dec 23 02:31:03 2020 -0500 + + meson: avoid regenerating hb-version.h unnecessarily + + The file is a dependency for the library as a whole, so previously editing the Meson build files at all would force a full rebuild. This will only rebuild it if the version has changed. + + src/gen-hb-version.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +commit 296e9d7f33fb314d0bd4e0dad5a85f60aefdade9 +Author: Khaled Hosny +Date: Wed Dec 23 01:18:10 2020 +0200 + + [ci] Install fonttools using pip on msys2 + + Hopefully fixes the broken package. + + .github/workflows/msys2-ci.yml | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 3dba7ea93638df814b93d75d31ad3da24605704d +Author: Khaled Hosny +Date: Wed Dec 23 00:55:21 2020 +0200 + + [docs] Add missing API index for 1.4.0 release + + docs/harfbuzz-docs.xml | 1 + + 1 file changed, 1 insertion(+) + +commit c2e2c40bacb296526e1b395a957af0e13da4486f +Author: Khaled Hosny +Date: Wed Dec 23 00:49:23 2020 +0200 + + [docs] Fix gtk-doc comment syntax + + The documentation was not picked otherwise. + + src/hb-aat-layout.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 0826940821e9b8068b0341dae4d3ea237df86aa2 +Author: Khaled Hosny +Date: Wed Dec 23 00:45:39 2020 +0200 + + [docs] Add messing sections + + Docs for these sections were not generated at all. + + docs/harfbuzz-docs.xml | 4 ++++ + src/hb-directwrite.cc | 9 +++++++++ + src/hb-gdi.cc | 10 ++++++++++ + src/hb-ot-metrics.cc | 9 +++++++++ + 4 files changed, 32 insertions(+) + +commit b8b13018edc4115e9857d7871d254c5737f90046 +Author: Khaled Hosny +Date: Wed Dec 23 00:22:56 2020 +0200 + + [docs] Make gtk-doc find these typedef’s + + src/hb-aat-layout.h | 3 +-- + src/hb-buffer.h | 3 +-- + src/hb-font.h | 6 ++---- + src/hb-ot-color.h | 3 +-- + src/hb-ot-deprecated.h | 3 +-- + src/hb-ot-name.h | 3 +-- + src/hb-ot-var.h | 3 +-- + 7 files changed, 8 insertions(+), 16 deletions(-) + +commit 8c3a530fd7aa832215b84f4f38d58f58ac8a5832 +Author: Khaled Hosny +Date: Tue Dec 22 23:52:46 2020 +0200 + + [docs] Some formatting fixes + + src/hb-buffer-serialize.cc | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +commit b029a45caa6067c752643e49b30233a74a8be721 +Author: Khaled Hosny +Date: Tue Dec 22 23:32:48 2020 +0200 + + [docs] Add new API to harfbuzz-sections.txt + + docs/harfbuzz-docs.xml | 1 + + docs/harfbuzz-sections.txt | 3 +++ + 2 files changed, 4 insertions(+) + +commit ea4476d7389b8b5d30f1d969787c752856c32088 +Author: Khaled Hosny +Date: Mon Dec 21 17:44:03 2020 +0200 + + [autotools] Don’t fallback to icu-config + + ICU pkg-config support have been available for a long time, and + icu-config often breaks cross-compiling when the one from host system is + found. + + configure.ac | 19 ------------------- + 1 file changed, 19 deletions(-) + +commit 2953a66ab685957f57e52fb45f42445030d41e06 +Author: Chun-wei Fan +Date: Wed Dec 9 12:24:18 2020 +0800 + + CMake: Define HAVE_GOBJECT when harfbuzz-gobject is built + + Without this, the built library for harfbuzz-gobject is unuseful. + + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +commit 25c0a792e3c2642e3796e0428fb315da9dc2618e +Author: Behdad Esfahbod +Date: Thu Dec 10 14:29:47 2020 -0700 + + Remove unused+wrong UnsizedArrayOf<> operators + + Said compiler is wrong to err since they are unused. But yeah, they + didn't make sense and were copy/paste leftover. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2763 + + src/hb-open-type.hh | 2 -- + 1 file changed, 2 deletions(-) + +commit 07e304b2a488261a89e74f396902399cb28f5608 +Merge: 7c241651a 5f32fdff1 +Author: Khaled Hosny +Date: Tue Dec 1 22:32:19 2020 +0200 + + Merge pull request #2755 from Myaamori/master + + meson: use meson.current_source_dir() instead of @CURRENT_SOURCE_DIR@ + +commit 7c241651ac3c8a4d97a0a04d4db5bd0088988ed9 +Author: Behdad Esfahbod +Date: Mon Nov 30 16:38:53 2020 -0700 + + [algs] Don't forward rvalue twice + + Part of https://github.com/harfbuzz/harfbuzz/issues/2293 + + src/hb-algs.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 53806e5b83cee0e275eac038d0780f95ac56588c +Author: Behdad Esfahbod +Date: Wed Nov 25 11:51:37 2020 -0700 + + Tiny improvement on previous commit + + Functionally the same. + + src/hb-blob.hh | 1 + + src/hb-null.hh | 1 + + src/hb-ot-layout-gsubgpos.hh | 2 +- + 3 files changed, 3 insertions(+), 1 deletion(-) + +commit a5f6f869e80c371665026dfe9d156f0088f2553d +Author: Dominik Röttsches +Date: Fri Oct 23 14:25:05 2020 +0300 + + Drop layout table if layout lookup accelerator allocation failed + + If the table is kept, when the table is present but only the accelerator + allocation failed, then we run into nullptr dereferences downstream in + hb_ot_map_t::apply when trying to access proxy.accels[i]. + + To fix this, instead of only setting lookup_count of accelerator_t + itself, drop the whole table to avoid hb-ot-map construction assuming + that the lookups will work correctly despite accelerator allocation + having failed. + + Fixes: + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490 + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24490 + + src/hb-ot-layout-gsubgpos.hh | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 5f32fdff11bca45ca842dea583f1afd51a6435b9 +Author: Myaamori +Date: Tue Nov 24 01:29:24 2020 +0000 + + meson: use meson.current_source_dir() instead of @CURRENT_SOURCE_DIR@ + + @CURRENT_SOURCE_DIR@ is not listed as a valid string substitution + for custom targets in the Meson reference, and in practice + it does not get substituted when using the vs2019 backend. + + src/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b2e7bb2a7caa20af244b7452ec960f9957eb8bba +Author: David Corbett +Date: Tue Oct 27 19:50:33 2020 -0400 + + Don’t map BCP 47 to coincidentally similar OT tag + + src/gen-tag-table.py | 34 ++++++++--- + src/hb-ot-tag-table.hh | 163 +++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-ot-tag.cc | 1 + + test/api/test-ot-tag.c | 4 ++ + 4 files changed, 194 insertions(+), 8 deletions(-) + +commit e1df2c5277a365d5e0c83d811f0b95f66428430b +Author: David Corbett +Date: Mon Oct 26 19:16:35 2020 -0400 + + Map ISO 639 code qul to language system tag 'QUH ' + + src/gen-tag-table.py | 1 + + src/hb-ot-tag-table.hh | 1 + + 2 files changed, 2 insertions(+) + +commit bac8a856f8ce034fde04f024065455c8b29bba5e +Author: Khaled Hosny +Date: Sat Nov 21 16:07:57 2020 +0200 + + Revert "[CI] Don’t install ragel on circleci jobs" + + This reverts commit 9a9da110a54ea03a0bdd1e64fa9ff7a2b98ba53c. + + .circleci/config.yml | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit f579c66108d4b9d122213704078c998bc194d427 +Author: Khaled Hosny +Date: Sat Nov 21 16:06:27 2020 +0200 + + Mark variable unused + + Hopefully fixes build with newer ragel. + + https://github.com/adrian-thurston/ragel/issues/56 + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2752 + + src/hb-ot-shape-complex-use-machine.hh | 2 +- + src/hb-ot-shape-complex-use-machine.rl | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit f83496a9101f764e4eaec2ce205d55aa4f78558f +Author: David Corbett +Date: Fri Nov 20 08:16:36 2020 -0500 + + [use] Remove workaround for reserved code points + + See . + + src/gen-use-table.py | 4 +--- + src/ms-use/IndicSyllabicCategory-Additional.txt | 5 ++++- + 2 files changed, 5 insertions(+), 4 deletions(-) + +commit 17da41bd06f2b993976379c8ab9287b485f58dee +Author: David Corbett +Date: Tue Nov 17 14:29:05 2020 -0500 + + Update language system tag registry to OT 1.8.4 + + src/gen-tag-table.py | 7 +- + src/hb-ot-tag-table.hh | 909 +++++++++++++++++++++++++++++++++++++------------ + test/api/test-ot-tag.c | 6 +- + 3 files changed, 704 insertions(+), 218 deletions(-) + +commit 385d9c08d8906002690a7fbff86c1592f5b627b9 +Merge: c4ade4fdd 9722b4b26 +Author: Khaled Hosny +Date: Tue Nov 17 19:43:22 2020 +0200 + + Merge pull request #2700 from xclaesse/cairo-ft + + meson: Fix cairo_ft_dep when fontconfig is a subproject + +commit 9722b4b269bda2d7e84c3164d69caa1324f8f8b3 +Author: Xavier Claessens +Date: Tue Nov 17 11:56:52 2020 -0500 + + Meson: Update all wrap files to latest version + + subprojects/expat.wrap | 19 +++++++++---------- + subprojects/fontconfig.wrap | 6 +++--- + subprojects/google-benchmark.wrap | 15 ++++++++------- + subprojects/libpng.wrap | 22 ++++++++++++---------- + subprojects/zlib.wrap | 17 ++++++++++++----- + 5 files changed, 44 insertions(+), 35 deletions(-) + +commit a082fe400d1c981e22061168299334c853ad85a6 +Author: Xavier Claessens +Date: Fri Nov 6 13:02:21 2020 -0500 + + ci: Install meson 0.56.0 in crossbuild-win32 + + It is required for using cairo as subproject. + + .circleci/config.yml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit e2ba0e009e499e82b2922db7e58e91bc5f452d03 +Author: Xavier Claessens +Date: Sat Oct 3 21:34:24 2020 -0400 + + meson: Fix check for cairo and cairo-ft dependencies + + When cairo comes from a subproject fallback it should still take + cairo-ft dependency, otherwise it miss freetype2 cflags. + + Also update wrap file to use upstream repository now that meson support + has been merged. + + This requires Meson >= 0.54.0 because cairo itself requires that version + and we use the new `fallback: 'cairo'` syntax without specifying a + variable name because cairo does not provide a variable name for + cairo-ft. + + meson.build | 37 +++++++++++++++++-------------------- + subprojects/cairo.wrap | 4 ++-- + 2 files changed, 19 insertions(+), 22 deletions(-) + +commit c4ade4fdd681b59c0694b7422d7a123fd1e9e6b8 +Merge: e6c21d7b5 fd8f4ffcc +Author: Khaled Hosny +Date: Tue Nov 17 14:32:04 2020 +0200 + + Merge pull request #2686 from simoncozens/more-tracing + + More tracing + +commit fd8f4ffcc6851ff9024957779be50411e87724d5 +Author: Simon Cozens +Date: Fri Sep 18 16:37:22 2020 +0100 + + Trace reorder, not normalize + + src/hb-ot-shape-normalize.cc | 3 ++- + src/hb-ot-shape.cc | 5 +---- + 2 files changed, 3 insertions(+), 5 deletions(-) + +commit 2e0193d7417d1134e1710bf3fa7690332bc561e0 +Author: Simon Cozens +Date: Fri Sep 18 16:28:29 2020 +0100 + + Add more cast spaces + + src/hb-ot-shape.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 4bb6d54e3bd16ae42364587f9703128b95de89de +Author: Simon Cozens +Date: Fri Sep 18 16:26:08 2020 +0100 + + Missing cast + + src/hb-ot-shape-complex-indic.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 8e1bedc50b13d19e1fb3c0fbb0cfa6d87f042f51 +Author: Simon Cozens +Date: Fri Sep 18 16:25:43 2020 +0100 + + Keep phase names + + src/hb-ot-shape.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 428c111f1389e3ebf8b694f342ffdc011f2ee043 +Author: Simon Cozens +Date: Fri Sep 18 16:24:47 2020 +0100 + + Fix spacing around casts + + src/hb-ot-layout.cc | 4 ++-- + src/hb-ot-shape-complex-indic.cc | 2 +- + src/hb-ot-shape-complex-khmer.cc | 2 +- + src/hb-ot-shape-complex-myanmar.cc | 2 +- + src/hb-ot-shape-complex-use.cc | 2 +- + 5 files changed, 6 insertions(+), 6 deletions(-) + +commit f19018da412cf0949748dc8ba80e1a0a376238af +Author: Simon Cozens +Date: Thu Sep 17 15:08:32 2020 +0100 + + Smaller issues from review + + src/hb-ot-shape-complex-indic.cc | 12 ++++++------ + src/hb-ot-shape-complex-myanmar.cc | 2 +- + src/hb-ot-shape.cc | 6 +++--- + 3 files changed, 10 insertions(+), 10 deletions(-) + +commit 8b3b835a0aaf7b21825ad87f0e0ab9efbff34dcc +Author: Simon Cozens +Date: Thu Sep 17 14:27:31 2020 +0100 + + Trace normalization and preprocessing stages + + src/hb-ot-shape.cc | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +commit b50099bff22f9add10e100b6ace5a063a574a066 +Author: Simon Cozens +Date: Thu Sep 17 14:25:30 2020 +0100 + + Trace reordering in pause functions + + src/hb-ot-shape-complex-indic.cc | 10 ++++++++-- + src/hb-ot-shape-complex-khmer.cc | 10 ++++++---- + src/hb-ot-shape-complex-myanmar.cc | 9 ++++++--- + src/hb-ot-shape-complex-use.cc | 10 +++++++--- + 4 files changed, 27 insertions(+), 12 deletions(-) + +commit e6c21d7b58224f483395a6c9355fe89d88aedd54 +Merge: 3bd43bd02 0c3dcfae1 +Author: Khaled Hosny +Date: Tue Nov 17 08:53:32 2020 +0200 + + Merge pull request #2692 from ffontaine/master + + src/meson.build: allow introspection when cross-compiling + +commit 0c3dcfae193efd8d5333c44075ba01932edc1059 +Merge: 2604201ae 3bd43bd02 +Author: Fabrice Fontaine +Date: Tue Nov 17 07:31:07 2020 +0100 + + Merge remote-tracking branch 'upstream/master' + +commit 3bd43bd023ab713781058f9ce5bcb7566ecb2d68 +Author: David Corbett +Date: Mon Nov 16 21:55:02 2020 -0500 + + Map more ISO 15924 variants to `hb_script_t`s + + src/hb-common.cc | 5 +++++ + 1 file changed, 5 insertions(+) + +commit 27170e058d2925ea05bf59f1ee8f56fb0bcb576a +Author: David Corbett +Date: Wed Oct 28 18:02:55 2020 -0400 + + Fix names for language tag in gen-tag-table.py + + A BCP 47 language tag with both a script subtag and a region subtag + would be printed as a human-readable name in hb-ot-tag-table.hh as if it + only had its language subtag. + + src/gen-tag-table.py | 18 +++---- + src/hb-ot-tag-table.hh | 126 ++++++++++++++++++++++++------------------------- + 2 files changed, 73 insertions(+), 71 deletions(-) + +commit 5091ea7e247b118009c719076650a93b3e2dde6d +Merge: 69cc214c9 07961daed +Author: Khaled Hosny +Date: Sat Oct 24 22:37:52 2020 +0200 + + Merge pull request #2733 from astiob/buffer-context-doc + + [docs] Describe buffer context applicability more explicitly + +commit 07961daed06d181615d8087b25122985c83760cc +Author: Oleg Oshmyan +Date: Sat Oct 24 21:58:02 2020 +0300 + + [docs] Describe buffer context applicability more explicitly + + Make it abundantly clear that the context's script etc. don't matter. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2730 + + docs/usermanual-buffers-language-script-and-direction.xml | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 69cc214c9a47ec9f19bfe477149c6c68cff6a483 +Merge: 49ebb9ebd 5adc1344a +Author: Khaled Hosny +Date: Sat Oct 24 10:41:33 2020 +0200 + + Merge pull request #2729 from khaledhosny/autotools-pkg-config + + [autotools] Require pkg-config 0.28 + +commit 5adc1344a4c695ed655aabd02c8bfab114bb4d52 +Author: Khaled Hosny +Date: Fri Oct 23 18:39:34 2020 +0200 + + [ci] Upload meason logs on some CircleCI jobs + + .circleci/config.yml | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 71376f88ef07163f1330f1f54f9f479cd3a67306 +Author: Khaled Hosny +Date: Fri Oct 23 18:21:41 2020 +0200 + + [ci] CircleCI removed xcode:9.0.1 image + + The replacement run newer versions of macOS (10.13.3), making this job + obsolete as it tests nothing the other jobs don’t test. + + .circleci/config.yml | 12 ------------ + 1 file changed, 12 deletions(-) + +commit 05403a07b5accbc248064ec44fb884efeb811fa2 +Author: Khaled Hosny +Date: Fri Oct 23 17:24:29 2020 +0200 + + [autotools] Require pkg-config 0.28 + + Follow up 0615c7b64b63400b2a70a1a6dd8a57d0b0fff10c, which fixes #1565. + This seems to be the version that fixed the circular dependency, based + on the ChangeLog: + https://cgit.freedesktop.org/pkg-config/commit/?h=pkg-config-0.28&id=74ceac54ef6f9247c00f08eecd8cca811a3c5934 + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 49ebb9ebdd689490c74da835a3fb829f14df6ed1 +Author: David Corbett +Date: Sat Oct 17 12:03:44 2020 -0400 + + [use] Remove redundant O entries from the table + + src/gen-use-table.py | 11 +++--- + src/hb-ot-shape-complex-use-table.cc | 69 ++++++++++++++++++------------------ + 2 files changed, 39 insertions(+), 41 deletions(-) + +commit 79fd5ce22e03d9db6553dadc0a5e3862b0bfa20d +Author: David Corbett +Date: Sat Oct 17 11:57:08 2020 -0400 + + [use] Merge IND and Rsv classes into O + + src/gen-use-table.py | 10 ++------- + src/hb-ot-shape-complex-use-machine.hh | 40 +++++++++++++++++----------------- + src/hb-ot-shape-complex-use-machine.rl | 6 ++--- + src/hb-ot-shape-complex-use-table.cc | 20 +++++++---------- + src/hb-ot-shape-complex-use.hh | 2 -- + 5 files changed, 32 insertions(+), 46 deletions(-) + +commit c2cdcd4901132ea7690bda655602d84e63505eb1 +Author: Khaled Hosny +Date: Sat Oct 17 21:57:27 2020 +0200 + + [tests] warning: unused variable 'num_glyphs' + + test/api/test-buffer.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit e25aa49a1bcd8f25eeda1846c7daf9b887571d84 +Author: David Corbett +Date: Sat Oct 17 12:32:41 2020 -0400 + + Fix a dead link in CMakeLists.txt + + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9a9da110a54ea03a0bdd1e64fa9ff7a2b98ba53c +Author: Khaled Hosny +Date: Sat Oct 17 17:58:11 2020 +0200 + + [CI] Don’t install ragel on circleci jobs + + Latest ragel version is broken (https://github.com/adrian-thurston/ragel/issues/56), but we also don’t need to regenerate state machine on CI jobs. + + .circleci/config.yml | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit cde2cf84c0d6515c701296351b9d5a80a41d78c5 +Author: Behdad Esfahbod +Date: Fri Oct 16 23:49:31 2020 -0600 + + [use] Minor clean-up of unused categories + + src/hb-ot-shape-complex-use-machine.hh | 34 +++++++++++++++++----------------- + src/hb-ot-shape-complex-use-machine.rl | 7 ------- + src/hb-ot-shape-complex-use.cc | 3 +-- + src/hb-ot-shape-complex-use.hh | 7 ------- + 4 files changed, 18 insertions(+), 33 deletions(-) + +commit 0792690b73010e24848fe82d5983ef01f38ed1fb +Author: David Corbett +Date: Fri Oct 16 22:41:12 2020 -0400 + + [use] Skip WJ and ZWJ when clustering + + src/gen-use-table.py | 13 +- + src/hb-ot-shape-complex-use-machine.hh | 580 ++++++++++----------- + src/hb-ot-shape-complex-use-machine.rl | 9 +- + src/hb-ot-shape-complex-use-table.cc | 8 +- + src/hb-ot-shape-complex-use.hh | 2 - + .../shaping/data/in-house/tests/use-syllable.tests | 2 + + 6 files changed, 272 insertions(+), 342 deletions(-) + +commit 3fcf466b7b77f8eaf281f7a1a4e6ca90b5be54fe +Author: Laurenz +Date: Fri Oct 16 23:03:01 2020 +0200 + + [hb-shape-fallback] Use signed int for correction + + src/hb-ot-shape-fallback.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 77e704d1dbfbdb6c54127112814b24358ec52eea +Author: Behdad Esfahbod +Date: Thu Oct 15 02:02:04 2020 -0600 + + [buffer] Add assert_unicode()/assert_glyphs() and use internally + + src/hb-buffer-serialize.cc | 13 ++++--------- + src/hb-buffer.cc | 10 ++++------ + src/hb-buffer.hh | 10 ++++++++++ + src/hb-shape-plan.cc | 3 ++- + 4 files changed, 20 insertions(+), 16 deletions(-) + +commit 5ef0613909b8223396f2342119d217e2f24aff26 +Author: Behdad Esfahbod +Date: Thu Oct 15 01:54:28 2020 -0600 + + [buffer] Add ensure_glyphs()/ensure_unicode() + + Use in deserialize. To be used more. + + src/hb-buffer-deserialize-json.hh | 1257 +++++++++++++----------------- + src/hb-buffer-deserialize-json.rl | 21 +- + src/hb-buffer-deserialize-text.hh | 1531 +++++++++++++++++-------------------- + src/hb-buffer-deserialize-text.rl | 21 +- + src/hb-buffer.hh | 23 + + 5 files changed, 1270 insertions(+), 1583 deletions(-) + +commit 84dd65a8740a91e58eaef43c0006ace3a3aa54a7 +Author: Khaled Hosny +Date: Tue Oct 13 20:21:28 2020 +0200 + + [test] Remove timeout from test runners + + See https://github.com/harfbuzz/harfbuzz/issues/2707#issuecomment-707744079 + + This wasn’t inconsistent as well, HB_TEST_SUBSET_FUZZER_TIMEOUT defaulted + to 12 in the test runner, but it was overridden to 50 in meson.build, + and then meson has its own test timeout. + + .circleci/config.yml | 2 +- + test/fuzzing/meson.build | 1 - + test/fuzzing/run-draw-fuzzer-tests.py | 2 +- + test/fuzzing/run-shape-fuzzer-tests.py | 2 +- + test/fuzzing/run-subset-fuzzer-tests.py | 2 +- + 5 files changed, 4 insertions(+), 5 deletions(-) + +commit 3232e6f2a9053e31da67fc7ff293e007e698ef39 +Author: Behdad Esfahbod +Date: Thu Oct 15 00:20:17 2020 -0600 + + [buffer] Add hb_buffer_has_positions() + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2716 + + docs/harfbuzz-sections.txt | 1 + + src/hb-buffer.cc | 21 ++++++++++++++++++++- + src/hb-buffer.h | 3 +++ + 3 files changed, 24 insertions(+), 1 deletion(-) + +commit 97a093c52f87dbfb0c800dd09a23436479e69861 +Author: Khaled Hosny +Date: Mon Oct 12 15:32:22 2020 +0200 + + [hb-subset] Improve error handling a bit + + * Check that output-file option is actually set before trying to open + it. + * Print file name and errno when opening the output file fails. + * Be more resilient when writing output file and use ferror() to check + for errors. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2711 + + util/hb-subset.cc | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +commit fa771a7f85d6d07ed64db438c8f07cd6b3f65e3e +Author: Khaled Hosny +Date: Sun Oct 11 22:11:17 2020 +0200 + + [tests] Fix memory leak in test + + To make valgrind bot happy. + + test/api/test-buffer.c | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) + +commit dec52006d939755e38dfc3da6de100f2443d574c +Author: David Corbett +Date: Sat Oct 10 14:49:55 2020 -0400 + + Map BCP 47 tags to all macrolanguages + + The general rule is that if a BCP 47 macrolanguage maps to an OpenType + language system tag, all its individual languages map to it too. + Previously, a tag like "prs" (Dari) would not map to the language system + tag ('FAR ') of its macrolanguage ("fa") because "prs" already has its + own language system tag ('DRI '). That exception has been removed: now + "prs" maps to 'DRI ' and falls back to 'FAR '. + + src/gen-tag-table.py | 7 +-- + src/hb-ot-tag-table.hh | 128 ++++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 112 insertions(+), 23 deletions(-) + +commit 1d53268dfe39b6842b5129ce731f67021cb1d844 +Author: David Corbett +Date: Sat Oct 10 14:46:36 2020 -0400 + + Fix two-way mapping of "man" and 'MNK ' + + src/gen-tag-table.py | 4 ++-- + src/hb-ot-tag-table.hh | 2 ++ + test/api/test-ot-tag.c | 2 ++ + 3 files changed, 6 insertions(+), 2 deletions(-) + +commit ab38cf674658fbdde5732171b218fddaaccecbf9 +Author: David Corbett +Date: Sat Oct 10 14:21:20 2020 -0400 + + Map hy-arevmda to 'HYE ' instead of HYE0 + + src/gen-tag-table.py | 3 +++ + src/hb-ot-tag-table.hh | 7 +++++++ + 2 files changed, 10 insertions(+) + +commit 916c5a900708f25b3b6efa7079ae0b9ce701643c +Author: David Corbett +Date: Sat Oct 10 14:15:16 2020 -0400 + + Consistently emit BCP 47 subtag scope suffixes + + src/gen-tag-table.py | 23 ++++++++--- + src/hb-ot-tag-table.hh | 102 ++++++++++++++++++++++++------------------------- + 2 files changed, 69 insertions(+), 56 deletions(-) + +commit 1c05f6789b86ae7bf54fb74255b3c8cea31d9978 +Author: Behdad Esfahbod +Date: Sun Oct 11 12:28:25 2020 -0600 + + [buffer] Increase work limits + + Our previous limits of 64 per input character was already hit + by David Corbett's under-development Duployan font. + + Increase work limits by factor of 16, and number of glyphs by factor of 2. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2707 + + src/hb-buffer.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b37edebfcb10ef9d37258d504de4d1a97847d6eb +Author: Behdad Esfahbod +Date: Fri Oct 9 21:26:09 2020 -0600 + + [buffer/deserialize] Do not clear() buffer upon content type mismatch + + We return false. I don't see reason to clear buffer. + + src/hb-buffer-deserialize-json.hh | 54 +++++++++++------------- + src/hb-buffer-deserialize-json.rl | 8 +--- + src/hb-buffer-deserialize-text.hh | 86 ++++++++++++++++----------------------- + src/hb-buffer-deserialize-text.rl | 8 +--- + 4 files changed, 63 insertions(+), 93 deletions(-) + +commit c396e1600f732e6e53a8733815b0a215ab9be6ce +Author: Behdad Esfahbod +Date: Fri Oct 9 21:13:10 2020 -0600 + + [buffer/deserialize] Accept arbitrary glyph names + + Accepts escapes. Added TODO items for matching escaping in serialize(). + + src/hb-buffer-deserialize-json.hh | 201 ++++++------ + src/hb-buffer-deserialize-json.rl | 17 +- + src/hb-buffer-deserialize-text.hh | 630 +++++++++++++++++++++++--------------- + src/hb-buffer-deserialize-text.rl | 9 +- + src/hb-buffer-serialize.cc | 14 +- + 5 files changed, 524 insertions(+), 347 deletions(-) + +commit 4a4eebcf86f258b3dc465400092063300a588bbf +Author: Behdad Esfahbod +Date: Fri Oct 9 21:06:20 2020 -0600 + + [buffer/serialize] Minor renames in Ragel machines + + As per my previous review on: + https://github.com/harfbuzz/harfbuzz/pull/2687 + + src/hb-buffer-deserialize-json.hh | 2 +- + src/hb-buffer-deserialize-json.rl | 18 +++---- + src/hb-buffer-deserialize-text.hh | 104 +++++++++++++++++++++++--------------- + src/hb-buffer-deserialize-text.rl | 20 +++++--- + 4 files changed, 86 insertions(+), 58 deletions(-) + +commit 540d2cdddb4ae4a39194d3cf0efc19a9e9edaf22 +Author: Behdad Esfahbod +Date: Fri Oct 9 18:07:28 2020 -0600 + + [tests/buffer] Revert unintended whitespace changes + + From 9e5538d6a3d6f1ffbee7fad3c821621f17d61494 + + Tried squashing into, but too much merge conflict. + + test/api/test-buffer.c | 1332 ++++++++++++++++++++++++------------------------ + 1 file changed, 667 insertions(+), 665 deletions(-) + +commit 78fb6a11afde1b4b62c343d72ea31f9f21580402 +Author: Behdad Esfahbod +Date: Fri Oct 9 18:02:16 2020 -0600 + + Whitespace + + src/hb-buffer-serialize.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 140552cec98684cdab72a29ee59ba6ddfcca75b4 +Author: Behdad Esfahbod +Date: Fri Oct 9 18:01:32 2020 -0600 + + [buffer/serialize] Only serialize empty buffers of CONTENT_TYPE_INVALID + + src/hb-buffer-serialize.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 04658ec48f9c934e8453583b161e7b5260231a8d +Author: Behdad Esfahbod +Date: Fri Oct 9 17:59:54 2020 -0600 + + [tests/buffer] Update tests for previous commit + + test/api/test-buffer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 8f5d8b155c0cbf9f61cf6a23d73dbc7130df21e0 +Author: Behdad Esfahbod +Date: Fri Oct 9 17:58:57 2020 -0600 + + [buffer] Buffer start <= end <= len requirement in (de-)serialize + + src/hb-buffer-serialize.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 3b64122a7fd5218df6e0f8b345becb7ff73510f7 +Author: Behdad Esfahbod +Date: Fri Oct 9 17:55:21 2020 -0600 + + [buffer] Fix immutable case with end_ptr==nullptr + + src/hb-buffer-serialize.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 7c0bc0bb926a37a5bc1289c1c0867843e476e863 +Author: Simon Cozens +Date: Fri Sep 25 21:24:41 2020 +0100 + + Serialize invalid buffer to !! (text) or [] (json) + + There is no generic deserialize - you have to choose glyphs or unicode - so there is no way to deserialize this buffer. + + src/hb-buffer-serialize.cc | 49 +++++++++++++++++++++++++++++++++++++++++----- + test/api/test-buffer.c | 20 ++++++++++++++++--- + 2 files changed, 61 insertions(+), 8 deletions(-) + +commit 5bb88c4f4569a2740d392c1a432ebb3537935e9c +Author: Simon Cozens +Date: Fri Sep 25 10:08:00 2020 +0100 + + Oops debug print + + src/hb-buffer-serialize.cc | 1 - + 1 file changed, 1 deletion(-) + +commit f56eb402f06003ef66f3922dd948257516fec18e +Author: Simon Cozens +Date: Fri Sep 25 10:06:33 2020 +0100 + + Immutable buffer fix + + src/hb-buffer-serialize.cc | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 150f391438a56ada7227fbcb94a6a86f3305c68e +Author: Simon Cozens +Date: Fri Sep 25 10:04:39 2020 +0100 + + Prohibit mixed glyphs/unicode buffers in deserialization + + src/hb-buffer-deserialize-json.hh | 190 ++++-- + src/hb-buffer-deserialize-json.rl | 28 +- + src/hb-buffer-deserialize-text.hh | 130 ++-- + src/hb-buffer-deserialize-text.rl | 28 +- + test/api/test-buffer.c | 1315 +++++++++++++++++++------------------ + 5 files changed, 938 insertions(+), 753 deletions(-) + +commit 6b1726b6efcd5c2a7c610277d58be57b0ec659dd +Author: Simon Cozens +Date: Mon Sep 21 16:35:40 2020 +0100 + + Typos + + src/hb-buffer-serialize.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 3d3c87e7e7bb8a6ec104da72aa7e6103941045bd +Author: Simon Cozens +Date: Mon Sep 21 14:35:05 2020 +0100 + + Put the flags back in and serialize clusters. + + Note that now JSON glyph buffers and Unicode buffers look very similar, except for the g/u property difference. + + src/hb-buffer-deserialize-json.hh | 467 +++++++++++++++++--------------------- + src/hb-buffer-deserialize-json.rl | 9 +- + src/hb-buffer-deserialize-text.hh | 434 +++++++++++++++++++---------------- + src/hb-buffer-deserialize-text.rl | 2 +- + src/hb-buffer-serialize.cc | 45 +++- + src/hb-buffer.h | 3 +- + test/api/test-buffer.c | 19 +- + 7 files changed, 500 insertions(+), 479 deletions(-) + +commit 432a05b2af8522c2c5f0c7c21f06e44ab6d6a07a +Author: Simon Cozens +Date: Fri Sep 18 14:19:39 2020 +0100 + + (Simple) tests for Unicode serialization/deserialization + + test/api/test-buffer.c | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + +commit c03a2001b2e19ff8b88e24f5b489af58952a86e7 +Author: Simon Cozens +Date: Fri Sep 18 14:19:17 2020 +0100 + + Deserialization routines for Unicode buffers + + src/hb-buffer-deserialize-json.hh | 467 ++++++++++++++++++++++---------------- + src/hb-buffer-deserialize-json.rl | 8 +- + src/hb-buffer-deserialize-text.hh | 456 +++++++++++++++++++++++-------------- + src/hb-buffer-deserialize-text.rl | 19 +- + src/hb-buffer-serialize.cc | 87 ++++++- + src/hb-buffer.h | 8 + + 6 files changed, 655 insertions(+), 390 deletions(-) + +commit c0716bb5dc8b25ec452e71afc74ebebbc927fed8 +Author: Simon Cozens +Date: Fri Sep 18 10:31:28 2020 +0100 + + Move delimiter addition into hb-buffer-serialize + + src/hb-buffer-serialize.cc | 23 ++++++++++++++++++++++- + util/options.cc | 8 -------- + 2 files changed, 22 insertions(+), 9 deletions(-) + +commit 36ede569622f64406b441758d03c7a44a55a3c50 +Author: Simon Cozens +Date: Fri Sep 18 10:24:29 2020 +0100 + + Fix docs + + Note the delimiters stuff isn’t true yet, will be working on that + + src/hb-buffer-serialize.cc | 59 +++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 58 insertions(+), 1 deletion(-) + +commit bb7b634cd044846e95f47538fe0f3bb8c35abd5f +Author: Simon Cozens +Date: Fri Sep 18 09:49:19 2020 +0100 + + Simplify JSON unicode serialization + + It’s just an array of codepoints; no need to turn them into objects + + src/hb-buffer-serialize.cc | 5 ----- + 1 file changed, 5 deletions(-) + +commit 57a528ab2ca09b2252598008e3d83a9bda1576ae +Author: Simon Cozens +Date: Fri Sep 18 09:35:05 2020 +0100 + + Convert tabs to spaces + + src/hb-buffer-serialize.cc | 298 +++++++++++++++++++++------------------------ + 1 file changed, 136 insertions(+), 162 deletions(-) + +commit aff6a362665cd6c582c9f79cbc3724fb918e22ce +Author: Simon Cozens +Date: Fri Sep 18 09:27:27 2020 +0100 + + Use auxbuffer for serialize_unicode_text + + src/hb-buffer-serialize.cc | 39 ++++++++++++++++++++++----------------- + 1 file changed, 22 insertions(+), 17 deletions(-) + +commit a0203a28bb8e22a960eaeda8256ea7e657b2552a +Author: Simon Cozens +Date: Thu Sep 17 16:49:59 2020 +0100 + + Use hb_buffer_serialize to trace in utils + + util/hb-shape.cc | 2 +- + util/options.cc | 37 +++++++++++++------------------------ + util/options.hh | 4 +--- + 3 files changed, 15 insertions(+), 28 deletions(-) + +commit 58bcc1cedd5a38a0a0da569e7e11c7641cdfc910 +Author: Simon Cozens +Date: Thu Sep 17 16:29:40 2020 +0100 + + Serialize Unicode buffers + + src/hb-buffer-serialize.cc | 181 +++++++++++++++++++++++++++++++++++++++++++++ + src/hb-buffer.h | 20 +++++ + 2 files changed, 201 insertions(+) + +commit be33704c003732a7a45b8136736b42ca54be98b3 +Author: Garret Rieger +Date: Fri Oct 9 16:46:46 2020 -0700 + + Add gpos 5 tests to meson build file. + + test/subset/meson.build | 1 + + 1 file changed, 1 insertion(+) + +commit c39ab82c90479341dcf28eaa8174af6f08c0d7ae +Author: David Corbett +Date: Tue Oct 6 16:51:40 2020 -0400 + + Fix usage text of gen-use-table.py + + src/gen-use-table.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit aace09a3ad4249ee5b11c07a7ba343f763545d01 +Author: Garret Rieger +Date: Tue Oct 6 10:26:17 2020 -0700 + + [subset] Use glyphset gsub for layout variation indices collection. + + src/hb-subset-plan.cc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 1d9801e01290a62cfb802971061b2cc9f7c43bc1 +Author: Garret Rieger +Date: Mon Oct 5 14:41:55 2020 -0700 + + [subset] In AnchorMatrix::subset eliminate the use of dynamically allocated vector. + + src/hb-ot-layout-gpos-table.hh | 17 +++++------------ + 1 file changed, 5 insertions(+), 12 deletions(-) + +commit 093909b2ffb1d938206b4a543652ae02c99491b2 +Author: Garret Rieger +Date: Mon Oct 5 13:14:53 2020 -0700 + + [subset] Fix wrong offset base for subsetting LigatureArray. + Offsets from LigatureArray must be relative to the beginning of the LigatureArray table. For the serialization mechanism to use the correct beginning point the LigatureArray must be created using the push()/pop() mechanism. So convert LigatureArray subsetting to use serialize_subset() instead of a manually called serialize and subset. + + src/hb-ot-layout-gpos-table.hh | 78 +++++++++++++++++++----------------------- + 1 file changed, 36 insertions(+), 42 deletions(-) + +commit 147e93b910010b581f1abf8f835aa2f7eecc483d +Author: Garret Rieger +Date: Thu Oct 1 16:44:16 2020 -0700 + + [subset] Fixes to get GPOS 5 subsetting code compiling. + + src/hb-ot-layout-gpos-table.hh | 37 ++++++++++++++++++++++++++++--------- + 1 file changed, 28 insertions(+), 9 deletions(-) + +commit 3a0b05faf18afc5f1cfc436c55d0776d26b80e53 +Author: Qunxin Liu +Date: Thu Feb 6 15:08:26 2020 -0800 + + [subset] GPOS 5 MarkToLigature subsetting support + + src/hb-ot-layout-gpos-table.hh | 109 +++++++++++++++++++-- + test/subset/data/Makefile.am | 1 + + test/subset/data/Makefile.sources | 1 + + ...5_font1.keep-layout-retain-gids.41,42,43,44.otf | Bin 0 -> 2372 bytes + ...5_font1.keep-layout-retain-gids.41,42,43,45.otf | Bin 0 -> 2380 bytes + ...pos5_font1.keep-layout-retain-gids.41,42,43.otf | Bin 0 -> 2132 bytes + ...pos5_font1.keep-layout-retain-gids.41,42,44.otf | Bin 0 -> 2304 bytes + ...pos5_font1.keep-layout-retain-gids.41,42,45.otf | Bin 0 -> 2284 bytes + .../gpos5_font1.keep-layout-retain-gids.41,42.otf | Bin 0 -> 2032 bytes + .../gpos5_font1.keep-layout-retain-gids.41,43.otf | Bin 0 -> 2048 bytes + .../gpos5_font1.keep-layout-retain-gids.41.otf | Bin 0 -> 1916 bytes + .../gpos5_font1.keep-layout-retain-gids.42.otf | Bin 0 -> 1788 bytes + ...eep-layout-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3840 bytes + .../gpos5_font1.keep-layout.41,42,43,44.otf | Bin 0 -> 1668 bytes + .../gpos5_font1.keep-layout.41,42,43,45.otf | Bin 0 -> 1660 bytes + .../gpos5_font1.keep-layout.41,42,43.otf | Bin 0 -> 1432 bytes + .../gpos5_font1.keep-layout.41,42,44.otf | Bin 0 -> 1588 bytes + .../gpos5_font1.keep-layout.41,42,45.otf | Bin 0 -> 1560 bytes + .../layout.gpos5/gpos5_font1.keep-layout.41,42.otf | Bin 0 -> 1328 bytes + .../layout.gpos5/gpos5_font1.keep-layout.41,43.otf | Bin 0 -> 1332 bytes + .../layout.gpos5/gpos5_font1.keep-layout.41.otf | Bin 0 -> 1216 bytes + .../layout.gpos5/gpos5_font1.keep-layout.42.otf | Bin 0 -> 1076 bytes + ...pos5_font1.keep-layout.retain-all-codepoint.otf | Bin 0 -> 3840 bytes + test/subset/data/fonts/gpos5_font1.otf | Bin 0 -> 4780 bytes + test/subset/data/tests/layout.gpos5.tests | 18 ++++ + 25 files changed, 121 insertions(+), 8 deletions(-) + +commit 718bf5aab397290ab5214c6a6bff3e248c4ab094 +Author: Garret Rieger +Date: Tue Sep 29 13:16:01 2020 -0700 + + [subset] only keep features reachable from script in the final subset. + Matches fontTools behaviour. + + src/hb-ot-layout-gsubgpos.hh | 31 +++++++++++++++++++++---------- + src/hb-subset-plan.cc | 21 +++++++++++++++++---- + 2 files changed, 38 insertions(+), 14 deletions(-) + +commit e583505334a5b0990b545fde6ed7e9d874b8db4d +Author: Garret Rieger +Date: Tue Sep 29 11:05:08 2020 -0700 + + [subset] Use plan->glyphset_gsub instead of plan->glyphset for GSUB/GPOS + This matches fontTools behaviour. glyphset_gsub does not contain gids added from closing over composite glyphs in glyf, since these cannot particpate in GSUB/GPOS processing. + + src/hb-ot-layout-common.hh | 8 ++++---- + src/hb-ot-layout-gpos-table.hh | 16 ++++++++-------- + src/hb-ot-layout-gsub-table.hh | 12 ++++++------ + src/hb-ot-layout-gsubgpos.hh | 6 +++--- + 4 files changed, 21 insertions(+), 21 deletions(-) + +commit a99e8721bfdb3f346d169e0d3ff0a52e13fbd1d7 +Author: David Corbett +Date: Mon Sep 28 21:12:46 2020 -0400 + + [use] Fix tests with MSVC + + src/hb-ot-shape-complex-use-machine.hh | 17 +++++++++-------- + src/hb-ot-shape-complex-use-machine.rl | 3 ++- + 2 files changed, 11 insertions(+), 9 deletions(-) + +commit 010accb3d5343b32c0ab8b98a0d48626df975cb8 +Author: Garret Rieger +Date: Mon Sep 28 17:39:09 2020 -0700 + + [subset] Add additional test cases for the Amiri tests. + + ...ayout-retain-gids.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 48640 bytes + ...-Regular.keep-layout-retain-gids.627,644,62D,628.ttf | Bin 0 -> 42884 bytes + ...ep-layout-retain-gids.633,645,627,621,20,644,627.ttf | Bin 0 -> 46724 bytes + ...miri-Regular.keep-layout-retain-gids.63A,64A,631.ttf | Bin 0 -> 42896 bytes + ...gular.keep-layout.627,644,623,62D,644,627,645,2E.ttf | Bin 0 -> 13332 bytes + .../Amiri-Regular.keep-layout.627,644,62D,628.ttf | Bin 0 -> 10232 bytes + ...i-Regular.keep-layout.633,645,627,621,20,644,627.ttf | Bin 0 -> 10372 bytes + .../Amiri-Regular.keep-layout.63A,64A,631.ttf | Bin 0 -> 7824 bytes + test/subset/data/tests/layout.gpos8.amiri.tests | 4 ++++ + 9 files changed, 4 insertions(+) + +commit 940e1c6f9838b245839f742cca0e71cf37a9c87a +Author: Garret Rieger +Date: Mon Sep 28 17:22:01 2020 -0700 + + [subset] ChainContextFormat3 - don't subset glyph sequences. + The backtrack, input, and lookahead sequence must be matched in their entirety so these sequences should not be subset. If any of the coverage tables in a sequence subsets to empty then the whole subtable should be dropped since it's not possible for this lookup to be activated. + + src/hb-ot-layout-gsubgpos.hh | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit e31c2690f80c312d13dd4691e6e51da1cab94813 +Author: Garret Rieger +Date: Mon Sep 28 16:51:25 2020 -0700 + + [subset] remove unnecessary returns. + + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 3271a7cdaadcab3756261db42177500436e1c37e +Author: Garret Rieger +Date: Mon Sep 28 16:46:15 2020 -0700 + + [subset] Remove redundant langys from Amiri test font. + FontTools removes these when subsetting but harfbuzz does not yet support redundant langsys removal. So this gets the Amiri tests passing for now. + + ...iri-Regular.keep-layout-retain-gids.627,644.ttf | Bin 36892 -> 36940 bytes + .../Amiri-Regular.keep-layout.627,644.ttf | Bin 4364 -> 4412 bytes + test/subset/data/fonts/Amiri-Regular.ttf | Bin 562980 -> 562684 bytes + 3 files changed, 0 insertions(+), 0 deletions(-) + +commit ad241f991726b38cbda566fe00ac4eab55b14679 +Author: Garret Rieger +Date: Mon Sep 28 15:26:13 2020 -0700 + + [subset] check that sub rules in ChainContextFormat 1 and 2 intersect the glyphs set before recursing during closure lookups. + + src/hb-ot-layout-gsubgpos.hh | 42 +++++++++++++++++++++++++++++++++++------- + 1 file changed, 35 insertions(+), 7 deletions(-) + +commit 9fad540245bcfa0a5c07380ea075d8c264b3abcf +Author: Garret Rieger +Date: Mon Sep 28 13:24:25 2020 -0700 + + [subset] check that sub rules in ContextFormat 1 and 2 intersect the glyphs set before recursing during closure lookups. + + src/hb-ot-layout-gsubgpos.hh | 40 +++++++++++++++++++++++++++++++--------- + test/subset/meson.build | 1 + + 2 files changed, 32 insertions(+), 9 deletions(-) + +commit 7e6070a47f2127c90ad233ab3794097357a3f4ed +Author: Koji Ishii +Date: Mon Aug 31 17:21:21 2020 +0900 + + Set *coord to nullptr + + src/hb-ot-layout-base-table.hh | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +commit 4e0bddb7fea3ada6dc1ba05ed2fab9f2b813640d +Author: Koji Ishii +Date: Wed Aug 19 20:49:10 2020 +0900 + + get_baseline + + src/hb-ot-layout-base-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 48fcb9094aeb04bb4ff581c04603fbb7acfd71df +Author: Behdad Esfahbod +Date: Sun Sep 27 16:53:32 2020 -0600 + + [docs] Remove misleading wording re OpenType + + HarfBuzz has not *just* been implementing OpenType for a while. + At least since 2.0, where we added native AAT support in Oct 2018. + + docs/harfbuzz-docs.xml | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 5539d158b75470dcf41bb86e2e8b9a7a986447c0 +Merge: 1a15bf1c5 cc7b3a1ab +Author: Khaled Hosny +Date: Sat Sep 26 10:41:38 2020 +0200 + + Merge pull request #1679 from n8willis/docs-gtkdoc-extern + + [Docs] Add GTK-Doc comments for external APIs + +commit 1a15bf1c535236c4117dcf5eb9afa4e462fbe364 +Merge: 8c5d1332f fb0195ba8 +Author: Khaled Hosny +Date: Sat Sep 26 10:41:04 2020 +0200 + + Merge pull request #2695 from khaledhosny/docs-fix + + Minor build docs improvement + +commit cc7b3a1abd24aebabd812a151e0c206bf6f09635 +Author: Khaled Hosny +Date: Sat Sep 26 10:22:39 2020 +0200 + + [Docs] Address review comments + + src/hb-face.cc | 11 ++++++----- + src/hb-face.h | 2 -- + src/hb-unicode.cc | 5 +++++ + 3 files changed, 11 insertions(+), 7 deletions(-) + +commit 41b46a3cb2d18417d642c3101aacc38fc6a56dc9 +Author: n8willis +Date: Sun Apr 26 16:01:31 2020 +0100 + + Update hb-face.cc + + src/hb-face.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 726e320ece912a75918f4a3208dff973b18c4b45 +Author: n8willis +Date: Sun Apr 26 15:56:57 2020 +0100 + + Update inline doc for hb_face_create: explain index + + src/hb-face.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 70331ca4850427b2c5b235ab46f6b5fb6f7036f6 +Author: Nathan Willis +Date: Mon Apr 22 19:25:42 2019 +0100 + + [Docs] Minor + + update GTK-Doc comments in hb-ot-layout. + + src/hb-ot-layout.cc | 36 ++++++++++++++++++------------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +commit eb10ef46aa1c62d6871f4780831e7ea326af10cf +Author: Nathan Willis +Date: Mon Apr 22 19:22:24 2019 +0100 + + [Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape. + + src/hb-ot-font.cc | 3 +++ + src/hb-ot-shape.cc | 15 +++++++++++++++ + 2 files changed, 18 insertions(+) + +commit 3e72febde020649cb7c213f71675804e09fb1926 +Author: Nathan Willis +Date: Mon Apr 22 19:21:27 2019 +0100 + + [Docs] Add GTK-Doc comments for hb-face. + + src/hb-face.cc | 174 +++++++++++++++++++++++++++++++++------------------------ + src/hb-face.h | 8 +++ + 2 files changed, 110 insertions(+), 72 deletions(-) + +commit 88cdea60e07187139419c0dc2cc76eb7a3c81a6e +Author: Nathan Willis +Date: Mon Apr 22 19:17:40 2019 +0100 + + [Docs] Add GTK-Doc comments to hb-shape-plan. + + src/hb-shape-plan.cc | 140 ++++++++++++++++++++++++++++++++++----------------- + src/hb-shape-plan.h | 14 ++++++ + 2 files changed, 109 insertions(+), 45 deletions(-) + +commit 5b43eb5a4caadd1494a7402ff0bea893102556d7 +Author: Nathan Willis +Date: Mon Apr 22 19:16:48 2019 +0100 + + [Docs] Add GTK-Dod comments to hb-unicode. + + src/hb-unicode.cc | 118 ++++++++++++--------- + src/hb-unicode.h | 307 +++++++++++++++++++++++++++++++++++++++++++++++------- + 2 files changed, 339 insertions(+), 86 deletions(-) + +commit fb0195ba8314a3e15e436ad82b68a65b20711098 +Author: Khaled Hosny +Date: Sat Sep 26 09:33:41 2020 +0200 + + [docs] Fix syntax and expand Windows section a tiny bit + + docs/usermanual-install-harfbuzz.xml | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit db2381c92d2ffae66f155567b09576ecbfaca0af +Author: Khaled Hosny +Date: Sat Sep 26 09:30:25 2020 +0200 + + [docs] Fix indentation of commands + + DocBook outputs the extra spacing before the commands verbatim. + + docs/usermanual-install-harfbuzz.xml | 52 +++++++++--------------------------- + 1 file changed, 13 insertions(+), 39 deletions(-) + +commit a5c0ec7516e8f44ced7a5531c3565e74e34d8092 +Author: Garret Rieger +Date: Fri Sep 25 14:57:20 2020 -0700 + + [subset] For [Chain]ContextFormat3 make sure the sub table intersects the retained glyphset before recursing to its lookups. + Otherwise the lookup closure will potentially pull in lookups which cannot be accessed via the retained glyph set. + + src/hb-ot-layout-gsubgpos.hh | 5 +++++ + 1 file changed, 5 insertions(+) + +commit dc375559fd8aec33b28ea5775f2288250fd7ede7 +Author: Garret Rieger +Date: Fri Sep 25 13:08:46 2020 -0700 + + [subset] shrink the serialize buffer when pruning empty offsets in ChainContextFormat2. + Currently the code reduces the array length, but does not trim back the space allocated in the serializer for those empty offsets. + + src/hb-ot-layout-gsubgpos.hh | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +commit 90eb1a40eb4498b8bcfd73e67cbc69a0eaab1423 +Author: Garret Rieger +Date: Fri Sep 25 12:36:32 2020 -0700 + + [subset] In ChainContextFormat3 don't skip subsetting if backtrack or lookahead are empty. + It's valid to have a ChainContextFormat3 with either an empty backtrack or lookahead. Only drop the lookup if the input sequence is empty. + + src/hb-ot-layout-gsubgpos.hh | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +commit 2604201ae0f4f4e5b659d7af00684cb38d79c502 +Author: Fabrice Fontaine +Date: Thu Sep 24 21:00:34 2020 +0200 + + src/meson.build: allow introspection when cross-compiling + + introspection can be enabled when cross-compiling on certains conditions + (for example it is supported by buildroot) so, as suggested by + Tim-Philipp Müller, disable it by default for cross builds unless the + option was explicitly enabled by the user + + Signed-off-by: Fabrice Fontaine + + src/meson.build | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +commit 7b77ce0507e18fb981a9b865f3eaac0c2ae06044 +Author: Garret Rieger +Date: Thu Sep 24 16:35:59 2020 -0700 + + [subset] Add subsetting integration test using Amiri. + Demonstrates a failure in subsetting GPOS 8/GSUB 6. + + test/subset/data/Makefile.sources | 1 + + .../Amiri-Regular.keep-layout-retain-gids.627,644.ttf | Bin 0 -> 36892 bytes + .../Amiri-Regular.keep-layout.627,644.ttf | Bin 0 -> 4364 bytes + test/subset/data/fonts/Amiri-Regular.ttf | Bin 0 -> 562980 bytes + test/subset/data/tests/layout.gpos8.amiri.tests | 9 +++++++++ + 5 files changed, 10 insertions(+) + +commit 7a72b20aa2b604053696e731185a17286de73b08 +Author: Garret Rieger +Date: Thu Sep 24 15:58:48 2020 -0700 + + [subset] Subset GDEF during layout subsetting tests. + + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3756 -> 3812 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3756 -> 3812 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3772 -> 3828 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3772 -> 3828 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3736 -> 3792 bytes + ...xt3_simple_f1.keep-layout.retain-all-codepoint.otf | Bin 3736 -> 3792 bytes + ...3.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3692 -> 3728 bytes + .../gpos3_font3.keep-layout.retain-all-codepoint.otf | Bin 3692 -> 3728 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3772 -> 3816 bytes + ...ple_anchors_1.keep-layout.retain-all-codepoint.otf | Bin 3772 -> 3816 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3748 -> 3792 bytes + .../gpos6_font1.keep-layout.retain-all-codepoint.otf | Bin 3748 -> 3792 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3776 -> 3832 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3776 -> 3832 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3808 -> 3864 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3808 -> 3864 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3744 -> 3800 bytes + ...ng3_simple_f1.keep-layout.retain-all-codepoint.otf | Bin 3744 -> 3800 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3748 -> 3804 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3748 -> 3804 bytes + ...1.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 3836 bytes + ...e_subrules_f1.keep-layout.retain-all-codepoint.otf | Bin 3780 -> 3836 bytes + ...2.keep-layout-retain-gids.retain-all-codepoint.otf | Bin 3716 -> 3772 bytes + ...ng3_simple_f2.keep-layout.retain-all-codepoint.otf | Bin 3716 -> 3772 bytes + ...lar.smallcaps.keep-layout-retain-gids.41,42,43.ttf | Bin 6780 -> 6844 bytes + ...egular.smallcaps.keep-layout-retain-gids.41,43.ttf | Bin 6396 -> 6472 bytes + ...o-Regular.smallcaps.keep-layout-retain-gids.41.ttf | Bin 6032 -> 6096 bytes + ...o-Regular.smallcaps.keep-layout-retain-gids.43.ttf | Bin 6088 -> 6152 bytes + ...egular.smallcaps.keep-layout-retain-gids.CA,CB.ttf | Bin 7932 -> 7996 bytes + .../Roboto-Regular.smallcaps.keep-layout.41,42,43.ttf | Bin 2972 -> 3028 bytes + .../Roboto-Regular.smallcaps.keep-layout.41,43.ttf | Bin 2572 -> 2628 bytes + .../Roboto-Regular.smallcaps.keep-layout.41.ttf | Bin 2196 -> 2252 bytes + .../Roboto-Regular.smallcaps.keep-layout.43.ttf | Bin 2268 -> 2324 bytes + .../Roboto-Regular.smallcaps.keep-layout.CA,CB.ttf | Bin 2612 -> 2668 bytes + test/subset/data/profiles/keep-layout-retain-gids.txt | 2 +- + test/subset/data/profiles/keep-layout.txt | 2 +- + 36 files changed, 2 insertions(+), 2 deletions(-) + +commit 8c5d1332f152383563c2ef4b3377b9d54b151def +Merge: 82fe13182 df00f45e2 +Author: Khaled Hosny +Date: Thu Sep 24 13:09:38 2020 +0200 + + Merge pull request #1664 from n8willis/docs-gtkdoc-otvar + + [Docs] Add gtk-doc comments for hb-ot-var + +commit df00f45e261df757caf42d9435ec06f015e4a54d +Author: Khaled Hosny +Date: Thu Sep 24 11:57:12 2020 +0200 + + Fix annotation in previous commits + + src/hb-ot-var.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5a695a79a0f1269b1ad3b4601f5dfb9794729982 +Author: Nathan Willis +Date: Sat May 11 13:54:40 2019 +0100 + + Swap # for () in gtk-doc function mention. + + src/hb-ot-var.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 379be7b7c8d25f86f3d302ea4179e1bf93f025b9 +Author: n8willis +Date: Thu May 9 14:40:57 2019 +0100 + + Update src/hb-ot-var.cc + + Co-Authored-By: Khaled Hosny + + src/hb-ot-var.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 938add712a25d20fbc9752963885a32753e30937 +Author: Nathan Willis +Date: Thu Apr 11 19:45:12 2019 +0100 + + Add GTK-Doc comments for hb-ot-var. + + src/hb-ot-var.cc | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- + src/hb-ot-var.h | 41 +++++++++++++++++++- + 2 files changed, 150 insertions(+), 6 deletions(-) + +commit 82fe13182d928e5d0e7f2c93528bddc0848e163b +Merge: a1f4d285e 9a1be3fed +Author: Khaled Hosny +Date: Tue Sep 22 17:40:38 2020 +0200 + + Merge pull request #1661 from n8willis/docs-gtkdoc-aat + + [Docs] Add gtk-doc comments for hb-aat-layout + +commit 9a1be3fed58e75d23dcda087de63f7e410680631 +Author: Khaled Hosny +Date: Tue Sep 22 16:46:03 2020 +0200 + + Fix enum documentation syntax + + src/hb-aat-layout.h | 643 +++++++++++++++++++++++----------------------------- + 1 file changed, 283 insertions(+), 360 deletions(-) + +commit 3c9244e662c8225ed11c72db0c095dfe04b0f925 +Author: n8willis +Date: Sat May 11 16:44:30 2019 +0100 + + Update src/hb-aat-layout.cc + + Co-Authored-By: Khaled Hosny + + src/hb-aat-layout.cc | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d619ba0681504a107e0bb8bde85d0564f9327edd +Author: Nathan Willis +Date: Mon Apr 8 20:17:38 2019 +0100 + + Add gtk-doc documentation to AAT layout functions and enums. + + src/hb-aat-layout.cc | 26 ++++++++++----- + src/hb-aat-layout.h | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 106 insertions(+), 12 deletions(-) + +commit 514e6baaf061ee5c601f6b181f8dd9cd436843a9 +Author: Nathan Willis +Date: Thu Apr 4 10:18:29 2019 +0100 + + [gtk-doc] document AAT functions and enums. + + src/hb-aat-layout.cc | 63 ++++++++--- + src/hb-aat-layout.h | 293 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 341 insertions(+), 15 deletions(-) + +commit a1f4d285e1305fda5da771c3c5555c912b8e2d65 +Author: Behdad Esfahbod +Date: Mon Sep 21 16:50:11 2020 -0600 + + [buffer] Fix invalid write access in hb_buffer_deserialize_glyphs() + + If buffer is immutable, we were trying to set content_type on it. + Ouch! + + src/hb-buffer-serialize.cc | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 18b8046c6aa2e311f0b47bfa66613c764d13283e +Merge: 1f8b1e7f1 e43b9a29a +Author: Caleb Maclennan +Date: Mon Sep 21 17:32:34 2020 +0300 + + Merge pull request #2678 from alerque/post-artifacts + +commit 1f8b1e7f186f44db575e18d0958c9fb3ea14a594 +Author: ebraminio +Date: Mon Sep 21 11:39:38 2020 +0330 + + [ENOMEM] Return gracefully if stages isn't initialized correctly (#2639) + + This happens if calls to 'm.lookups[table_index].push ()' has been + silently failed due to lack of memory. + + This change just returns gracefully instead issuing the assert. + + Fixes https://crbug.com/oss-fuzz/24494 + + src/hb-ot-map.hh | 4 ++-- + ...z-testcase-minimized-hb-shape-fuzzer-5753845452636160 | Bin 0 -> 2109 bytes + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit a0ebea5280abddb9eb22dcc8fd97c521c38da597 +Merge: e40c0d82e f9f473a4c +Author: Khaled Hosny +Date: Fri Sep 18 17:04:38 2020 +0200 + + Merge pull request #2665 from khaledhosny/doc-default-features + + [docs] Improve documentation for default features + +commit f9f473a4c40d95392fd314ff7e31f89d8b3b452d +Author: Khaled Hosny +Date: Wed Sep 2 16:40:52 2020 +0200 + + [docs] Improve documentation for default features + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2213 + + docs/usermanual-opentype-features.xml | 44 +++++++++++++++++++++++++++++------ + 1 file changed, 37 insertions(+), 7 deletions(-) + +commit e40c0d82e2c01af4c180f7e4f8ccc4200e6a5362 +Author: Behdad Esfahbod +Date: Wed Sep 16 12:48:30 2020 -0600 + + [ENOMEM] Handle immutable buffer in shape_full() + + Move the content_type changing to shape_plan_execute() where it belongs. + Skip setting if content type is UNKNOWN, which happens with empty buffers + only, including the immutable buffer. + + Alternate fix to https://github.com/harfbuzz/harfbuzz/pull/2606 + and https://github.com/harfbuzz/harfbuzz/pull/2625 + + src/hb-shape-plan.cc | 55 +++++++++++++++++++++++++++++++++------------------- + src/hb-shape.cc | 4 ---- + 2 files changed, 35 insertions(+), 24 deletions(-) + +commit bbbcad0dbbe980209be946612de352cadae98522 +Author: Garret Rieger +Date: Wed Sep 16 11:19:40 2020 -0700 + + Revert "[ENOMEM] don't perform set process operations if the other set is in an error state." + + This reverts commit f3929abafe3b64f15d0dc2d21ad7b493eeb92dfe. + + src/hb-set.hh | 1 - + ...-testcase-minimized-hb-subset-fuzzer-5345734743031808 | Bin 1240 -> 0 bytes + 2 files changed, 1 deletion(-) + +commit f3929abafe3b64f15d0dc2d21ad7b493eeb92dfe +Author: Garret Rieger +Date: Tue Sep 15 13:06:36 2020 -0700 + + [ENOMEM] don't perform set process operations if the other set is in an error state. + Running a process while the other set is in an error state can potentially corrupt this sets map map (for example by overwritting all of the major values with 0). + + src/hb-set.hh | 1 + + ...-testcase-minimized-hb-subset-fuzzer-5345734743031808 | Bin 0 -> 1240 bytes + 2 files changed, 1 insertion(+) + +commit 584d3a43b269032322b00a19e240e3222425f2a9 +Merge: 8c3d4de79 7d64b0976 +Author: Simon Cozens +Date: Wed Sep 16 15:08:50 2020 +0100 + + Merge pull request #2681 from khaledhosny/myanmar-liga + + [myanmar] Don’t disable liga feature + +commit 7d64b09765e326da810e98d3234ca72209cd5aae +Author: Khaled Hosny +Date: Sat Sep 12 21:17:18 2020 +0200 + + [myanmar] Don’t disable liga feature + + This seems to have been carried over from the Indic shaper, but + Uniscribe enables it by default. + + See https://github.com/harfbuzz/harfbuzz/issues/2213#issuecomment-686062915 + + src/hb-ot-shape-complex-myanmar.cc | 8 +------- + test/shaping/data/in-house/Makefile.sources | 1 + + .../fonts/065b01e54f35f0d849fd43bd5b936212739a50cb.ttf | Bin 0 -> 1808 bytes + test/shaping/data/in-house/meson.build | 1 + + test/shaping/data/in-house/tests/myanmar-misc.tests | 1 + + 5 files changed, 4 insertions(+), 7 deletions(-) + +commit 8c3d4de796d8d691c63d5c20ac32051c652d72b8 +Author: Garret Rieger +Date: Wed Sep 9 12:38:34 2020 -0700 + + [subset] Fix integer underflow in ContextFormat2. + + src/hb-ot-layout-gsubgpos.hh | 2 +- + ...testcase-minimized-hb-subset-fuzzer-5689082504806400 | Bin 0 -> 84172 bytes + 2 files changed, 1 insertion(+), 1 deletion(-) + +commit e43b9a29a98d303240976bb0a7de27a0e3a56504 +Author: Caleb Maclennan +Date: Fri Sep 11 22:15:10 2020 +0300 + + [ci] Trigger dependencies of publish jobs on tags + + .circleci/config.yml | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit deb09e0d7556cbe88e8003c6ff0fa2192052c337 +Author: Caleb Maclennan +Date: Fri Sep 11 19:52:46 2020 +0300 + + [ci] Tweak job names so config is valid Circle 2.1 schema + + .circleci/config.yml | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit f4dea33f6d9acd6eea16f4a3130c9ec5d57928bf +Author: Caleb Maclennan +Date: Fri Sep 11 17:23:00 2020 +0300 + + [ci] Move repeated artifact upload job code to script + + .ci/publish_release_artifact.sh | 20 ++++++++++++++++++++ + .circleci/config.yml | 22 +++++----------------- + 2 files changed, 25 insertions(+), 17 deletions(-) + +commit 65be538fffb01a03d98212e77f5240225580dfe0 +Author: Caleb Maclennan +Date: Fri Sep 11 16:46:34 2020 +0300 + + [ci] Add job to publish autotools dist file to GitHub + + .circleci/config.yml | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +commit 42bcc47d01d86eb44feae2df9d9fc6d4345270bb +Author: Caleb Maclennan +Date: Fri Sep 11 16:40:32 2020 +0300 + + [ci] Use executor with Circle's image for autotools job + + .circleci/config.yml | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit c70f5090229ea4dbdea823d5f92cc17e3d2e73f3 +Author: Caleb Maclennan +Date: Fri Sep 11 14:54:02 2020 +0300 + + [ci] Use `ghr` CLI tool to post Win32 artifact to GitHub + + .circleci/config.yml | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit 610ed3b42c8a1b411f99654f45c68aba2215afbd +Author: Caleb Maclennan +Date: Fri Sep 11 10:47:08 2020 +0300 + + [ci] Add job to publish Win32 releases and pass it artifacts + + .circleci/config.yml | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +commit a2d45cd5f7a16c8757f148f452561fdbe531ee4c +Author: Caleb Maclennan +Date: Fri Sep 11 14:14:20 2020 +0300 + + [ci] Use Circle's customized image for workspace support + + .circleci/config.yml | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit ac3f859a30731fcd2cf4be044d69a64cc43b5225 +Author: David Corbett +Date: Wed Sep 9 11:49:56 2020 -0400 + + Demote unregistered vendor-specific language tags + + src/gen-tag-table.py | 12 +----------- + src/hb-ot-tag-table.hh | 4 +--- + 2 files changed, 2 insertions(+), 14 deletions(-) + +commit ee12c078ed775cda64f177055a1d1640675fb2d2 +Merge: 695d85ca3 5aff83104 +Author: Khaled Hosny +Date: Tue Sep 8 15:37:30 2020 +0200 + + Merge pull request #2668 from rossburton/meson + + meson: add hb-version.h to dependencies correctly + +commit 695d85ca327cf6aaafcde36870a21f70d46fa863 +Merge: 91fe20f0f e876886d1 +Author: Khaled Hosny +Date: Tue Sep 8 15:37:00 2020 +0200 + + Merge pull request #2674 from rossburton/reprod + + src/hb-gobject-enums.cc.tmpl: write out only the filename, not the full path + +commit 91fe20f0f5b868fc375291c525a32a6777554bd3 +Author: David Corbett +Date: Fri Sep 4 09:18:19 2020 -0400 + + Disambiguate OT tags when primary tag is not first + + src/gen-tag-table.py | 4 ++++ + src/hb-ot-tag-table.hh | 8 +++++++- + test/api/test-ot-tag.c | 3 +++ + 3 files changed, 14 insertions(+), 1 deletion(-) + +commit e876886d1e877ad90b6f02badefd6ebee1bc0b09 +Author: Alexander Kanavin +Date: Tue Aug 18 10:31:47 2020 +0000 + + src/hb-gobject-enums.cc.tmpl: write out only the filename, not the full path + + This is beneficial for reproducible builds, as build paths can vary + between builds. + + src/hb-gobject-enums.cc.tmpl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5aff83104e03d6d2617987d24a51e490ab7a5cd1 +Author: Ross Burton +Date: Mon Sep 7 10:55:33 2020 +0100 + + [build] generate hb-version.h once at configure time with Meson + + Currently with Meson hb-version.h is generated during the build without + any explicit dependencies which can result in build failures due races + over the file. + + Change this to be generated at configure time, so that the file is always + generated once before the build itself. + + Closes #2667 + + src/meson.build | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +commit bc1c93fbe04459a4b12c76c713ba1b750d2d9108 +Author: Ross Burton +Date: Mon Sep 7 17:11:17 2020 +0100 + + [build] No need to pass source directory to gen-hb-version + + The input file is by definition in the source directory, so dirname() + that instead of needing the directory to be passed. + + Needed because a follow-up commit will change when this is called, and the + source directory isn't trivially available at that point. + + src/gen-hb-version.py | 6 +++--- + src/meson.build | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit faf09f5466370a45e1a9d7c07968af517d680d78 +Author: David Corbett +Date: Fri Aug 14 18:30:20 2020 -0400 + + [USE] Support hieroglyph clusters + + src/gen-use-table.py | 24 ++ + src/hb-ot-shape-complex-use-machine.hh | 465 +++++++++++++++++---------------- + src/hb-ot-shape-complex-use-machine.rl | 6 + + src/hb-ot-shape-complex-use-table.cc | 104 +++++++- + src/hb-ot-shape-complex-use.cc | 2 + + src/hb-ot-shape-complex-use.hh | 4 + + 6 files changed, 366 insertions(+), 239 deletions(-) + +commit 06f49fc8ae40f083758e1ca8e9bd9879549d8c39 +Author: David Corbett +Date: Thu Aug 13 13:37:45 2020 -0400 + + [USE] Update to the 2020-08-13 USE specification + + This also uses the data files from + . + + src/gen-use-table.py | 210 +++++++----- + src/hb-ot-shape-complex-use-machine.hh | 330 +++++++++--------- + src/hb-ot-shape-complex-use-machine.rl | 3 +- + src/hb-ot-shape-complex-use-table.cc | 398 ++++++++++++++++++---- + src/hb-ot-shape-complex-vowel-constraints.cc | 2 +- + src/hb-ot-shape-complex.hh | 7 + + src/ms-use/IndicPositionalCategory-Additional.txt | 102 ++++++ + src/ms-use/IndicShapingInvalidCluster.txt | 4 +- + src/ms-use/IndicSyllabicCategory-Additional.txt | 207 +++++++++++ + src/update-unicode-tables.make | 2 +- + 10 files changed, 946 insertions(+), 319 deletions(-) + +commit e3db84a9d05f40c5281d889a726eb2e4baa12328 +Author: David Corbett +Date: Fri May 3 23:29:58 2019 -0400 + + [use] Test CGJ and ZWNJ + + test/shaping/data/in-house/tests/use-syllable.tests | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 6a38adeb577444cd164eeb6ace70741fe1a33791 +Author: David Corbett +Date: Fri May 3 14:16:50 2019 -0400 + + [use] Skip most default ignorables when clustering + + src/Makefile.sources | 1 + + src/gen-use-table.py | 12 +- + src/hb-ot-shape-complex-machine-index.hh | 69 ++++ + src/hb-ot-shape-complex-use-machine.hh | 592 +++++++++++++++---------------- + src/hb-ot-shape-complex-use-machine.rl | 55 ++- + src/hb-ot-shape-complex-use-table.cc | 76 ++-- + src/hb-ot-shape-complex-use.hh | 2 - + 7 files changed, 422 insertions(+), 385 deletions(-) + +commit 645f4e7cdd874bd454fceec76b33e57c0a205775 +Author: David Corbett +Date: Fri May 3 18:28:18 2019 -0400 + + Unhide CGJ before ccc=0 characters + + If a CGJ precedes a starter, then it cannot have blocked any reordering, + so it can safely be skipped. + + src/hb-ot-shape-normalize.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9825e3dd2eaea4e267054adebc8d972e1f01cc0d +Author: Garret Rieger +Date: Wed Aug 26 17:31:50 2020 -0700 + + [ENOMEM] fix access to unitialized memory. + If the serialize() call fails to write the object then we can't safely read varstore_prime fields. Fixes https://oss-fuzz.com/testcase-detail/5137462782066688. + + src/hb-ot-layout-common.hh | 5 ++++- + ...testcase-minimized-hb-subset-fuzzer-5137462782066688 | Bin 0 -> 76354 bytes + 2 files changed, 4 insertions(+), 1 deletion(-) + +commit 45de128930a902004baa875831e38ef62780ae2e +Merge: 9c98b2b9a fe6381d9f +Author: Khaled Hosny +Date: Tue Sep 1 04:58:50 2020 +0300 + + Merge pull request #2661 from khaledhosny/failing-dw-build + + [ci] Fix failing DirectWrite build + +commit fe6381d9f1a34f33f020d4f7c871304376dc2844 +Author: Khaled Hosny +Date: Tue Sep 1 03:44:01 2020 +0200 + + [build] Minor + + src/meson.build | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +commit a4f3a752ddd89b1155978fe862d6f45bd5a89d53 +Author: ebraminio +Date: Tue Sep 1 03:21:12 2020 +0200 + + [build] hb-directwrite needs a C++ linker + + src/meson.build | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +commit 9c98b2b9a9e43669c5e2b37eaa41b1e07de1ede3 +Author: Khaled Hosny +Date: Sat Aug 29 00:39:42 2020 +0200 + + 2.7.2 + + NEWS | 9 ++++++++- + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 12 insertions(+), 5 deletions(-) + +commit c0a76cb5192f6c334c6713444ac5a02d59faaf74 +Merge: fcddf3b9b a495a5423 +Author: Khaled Hosny +Date: Sat Aug 29 00:14:01 2020 +0300 + + Merge pull request #2660 from harfbuzz/arabic-shaping-in-use + + [USE] Fix assertion failure for joining scripts + +commit a495a54236d69def7e8b1293f2887f18a6b2fecc +Author: David Corbett +Date: Fri Aug 28 14:33:25 2020 -0400 + + Ignore T & U when determining the joining scripts + + src/gen-arabic-joining-list.py | 2 ++ + src/hb-ot-shape-complex-arabic-joining-list.hh | 1 - + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 420a74f7725bec2d3d4688fda226163b06f9a564 +Author: David Corbett +Date: Fri Aug 28 14:11:48 2020 -0400 + + [USE] Fix assertion failure for joining scripts + + src/hb-ot-shape-complex-use.cc | 2 +- + test/shaping/data/in-house/tests/use.tests | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit fcddf3b9b43e391a9ec33c823ef22827d18a1fb9 +Author: ebraminio +Date: Fri Aug 14 10:19:33 2020 +0430 + + [docs] Minor in TESTING.md + + Start the fuzzer with test/fuzzing/fonts seeds + + TESTING.md | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 99b8a84cc50346b6788a67eadfe0ebe17545724a +Author: ebraminio +Date: Fri Aug 14 10:14:14 2020 +0430 + + [docs] Reorder TESTING.md sections + + And use --reconfigure where makes sense + + TESTING.md | 42 ++++++++++++++++++++---------------------- + 1 file changed, 20 insertions(+), 22 deletions(-) + +commit 1e48225ca312a955cc7f4a4b7683492e83d77117 +Author: ebraminio +Date: Thu Aug 13 23:22:14 2020 +0430 + + [ENOMEM] Check whether serialize context isn't in error + + src/hb-ot-shape-complex-arabic-fallback.hh | 4 ++-- + ...uzz-testcase-minimized-hb-shape-fuzzer-5138182937772032 | Bin 0 -> 68 bytes + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 05ef75c55340400d4b318bd24d742653bbf825d9 +Author: Ebrahim Byagowi +Date: Thu Aug 13 20:52:03 2020 +0430 + + 2.7.1 + + NEWS | 8 ++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-version.h | 4 ++-- + 4 files changed, 12 insertions(+), 4 deletions(-) + +commit 0a02f1e760db5c0568dc6e15c00fa394aa43ccbb +Author: Ebrahim Byagowi +Date: Thu Aug 13 15:33:39 2020 +0430 + + [meson] Abort if GDI/Uniscribe headers couldn't be found + + meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 253a8f7a510ddfb8e2eb90de95db9763f2f42282 +Author: Ebrahim Byagowi +Date: Thu Aug 13 09:23:29 2020 +0430 + + [meson] Another approach to skip tests incompatible with MSVC + + src/meson.build | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 24b42002434d3e8dc8d164f02dda7a9c3e5386b5 +Author: Ebrahim Byagowi +Date: Thu Aug 13 09:06:39 2020 +0430 + + [meson] Avoid using has_headers as that has added in 0.50.0 + + meson.build | 55 +++++++++++++++++++++++++++++-------------------------- + 1 file changed, 29 insertions(+), 26 deletions(-) + +commit 411b426c692f611dbcdec7a6516781aa4375d07e +Author: Ebrahim Byagowi +Date: Thu Aug 13 01:23:46 2020 +0430 + + [meson] minor + + src/meson.build | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +commit 6e32145dc91e866132a3a3911870441e98737b16 +Author: Ebrahim Byagowi +Date: Thu Aug 13 00:13:06 2020 +0430 + + [meson] Make compatbile with 0.47.0 + + .circleci/config.yml | 2 +- + docs/meson.build | 4 ++-- + meson.build | 18 +++++++++++------- + perf/meson.build | 2 +- + src/meson.build | 21 ++++++++++----------- + test/fuzzing/meson.build | 6 +++--- + test/shaping/meson.build | 12 ++++++------ + test/subset/meson.build | 4 ++-- + 8 files changed, 36 insertions(+), 33 deletions(-) + +commit 58209c86a0d2d536ce3d35953ffe340762ad1f48 +Author: Ebrahim Byagowi +Date: Wed Aug 12 23:04:26 2020 +0430 + + [meson] Make compatbile with 0.49.0 + + Contains a just put together summary feature polyfill and workaround + to broken ternary operator. + + .circleci/config.yml | 3 +- + meson.build | 102 +++++++++++++++++++++++++++++++++------------------ + perf/meson.build | 8 +++- + src/meson.build | 28 +++++++++++--- + 4 files changed, 98 insertions(+), 43 deletions(-) + +commit 1e4fe10b98a291787ae561beca80cb70b481b108 +Author: Garret Rieger +Date: Wed Aug 12 13:06:37 2020 -0700 + + [ENOMEM] check for error in visited map during closure features. + + src/hb-ot-layout-gsubgpos.hh | 3 +++ + 1 file changed, 3 insertions(+) + +commit 9562239f0531c0e49e6ab7e157da578d454432c8 +Author: Garret Rieger +Date: Wed Aug 12 13:01:22 2020 -0700 + + [ENOMEM] check for error in lookup visited set. + + src/hb-ot-layout-gsubgpos.hh | 3 +++ + ...estcase-minimized-hb-subset-fuzzer-5741735372914688 | Bin 0 -> 560294 bytes + 2 files changed, 3 insertions(+) + +commit eea9b59fc5c7ad5649ba598765f335383795778f +Author: Tom Schoonjans +Date: Wed Aug 12 06:40:23 2020 +0200 + + [meson] fix generating introspection + + Only libharfbuzz_gobject is introspectable, not libharfbuzz. Therefore, + it makes no sense to target the latter for introspection: it should + instead be listed as a dependency. + + src/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 7bffb5d7baf4dc8b96fab1f8dbc83740a6817b1a +Author: David Corbett +Date: Tue Aug 11 19:24:46 2020 -0400 + + Generate `has_arabic_joining` + + src/Makefile.am | 1 + + src/Makefile.sources | 1 + + src/gen-arabic-joining-list.py | 104 +++++++++++++++++++++++++ + src/hb-ot-shape-complex-arabic-joining-list.hh | 47 +++++++++++ + src/hb-ot-shape-complex-use.cc | 35 +-------- + src/meson.build | 1 + + src/update-unicode-tables.make | 3 + + 7 files changed, 158 insertions(+), 34 deletions(-) + +commit 6f754852c19ff26d693a1d78de55bab263281a72 +Author: Garret Rieger +Date: Tue Aug 11 15:40:47 2020 -0700 + + [ENOMEM] skip asserts in to_bias if serializer is in an error state. + + src/hb-serialize.hh | 1 + + ...testcase-minimized-hb-subset-fuzzer-5927551890096128 | Bin 0 -> 73364 bytes + 2 files changed, 1 insertion(+) + +commit 057769b1a316c604cf84c343a4a85a10f46c057c +Author: Ebrahim Byagowi +Date: Wed Aug 12 02:30:33 2020 +0430 + + [fuzzer] minor + + test/fuzzing/hb-draw-fuzzer.cc | 2 +- + test/fuzzing/hb-fuzzer.hh | 2 +- + test/fuzzing/hb-shape-fuzzer.cc | 2 +- + test/fuzzing/hb-subset-fuzzer.cc | 18 ++++++++---------- + 4 files changed, 11 insertions(+), 13 deletions(-) + +commit 04179380116d6e1efcf95a70f0d79b8e095b69c6 +Author: Ebrahim Byagowi +Date: Wed Aug 12 02:19:06 2020 +0430 + + [fuzzer] Mark alloc_state as unused + + It is really unused when failing-alloc isn't on. + + test/fuzzing/hb-fuzzer.hh | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 2af58c351812603498f0b67e66f84f4a33a74455 +Author: Ebrahim Byagowi +Date: Wed Aug 12 00:51:07 2020 +0430 + + Revert "Remove cmake build files" + + This reverts commit 4e572c940724cdae6f140df924c9ad7f4baea35e. + + .circleci/config.yml | 3 +- + CMakeLists.txt | 768 +++++++++++++++++++++++++++++++++++++++++++++ + Makefile.am | 2 + + replace-enum-strings.cmake | 21 ++ + 4 files changed, 793 insertions(+), 1 deletion(-) + +commit ef2e3803429efe0f5a1fcb2679ae332139297917 +Author: Ebrahim Byagowi +Date: Wed Aug 12 00:50:33 2020 +0430 + + Revert "Remove cmake-config support of HarfBuzz" + + This reverts commit 75efa893433b6f352c28bda9d0a92683244900aa. + + configure.ac | 1 + + meson.build | 1 + + src/Makefile.am | 4 ++- + src/harfbuzz-config.cmake.in | 86 ++++++++++++++++++++++++++++++++++++++++++++ + src/meson.build | 10 ++++++ + 5 files changed, 101 insertions(+), 1 deletion(-) + +commit 0ca35570481ee16c44577913263032726a0c0a51 +Author: Ebrahim Byagowi +Date: Sun Aug 9 16:10:06 2020 +0430 + + Turn -Wunused-but-set-variable to warning + + As #2555 turned out some glib headers are imposing that so let's turn it to warning + + src/hb.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 519335783224e2cbfd8a4a5b9071216fe2b139b5 +Author: Ebrahim Byagowi +Date: Tue Aug 11 23:51:59 2020 +0430 + + Revert "Remove autotools build support" + + This reverts commit 01ac32aab2109681abc58bb2f96a4ef4a7f0c6df. + + .circleci/config.yml | 15 + + Makefile.am | 96 ++ + README | 15 + + RELEASING.md | 2 +- + autogen.sh | 48 + + configure.ac | 540 +++++++++++ + docs/Makefile.am | 126 +++ + git.mk | 400 +++++++++ + m4/ax_check_link_flag.m4 | 74 ++ + m4/ax_code_coverage.m4 | 264 ++++++ + m4/ax_cxx_compile_stdcxx.m4 | 982 +++++++++++++++++++++ + m4/ax_pthread.m4 | 485 ++++++++++ + src/Makefile.am | 476 ++++++++++ + src/Makefile.sources | 284 ++++++ + test/Makefile.am | 15 + + test/api/Makefile.am | 222 +++++ + test/fuzzing/Makefile.am | 86 ++ + test/shaping/Makefile.am | 39 + + test/shaping/data/Makefile.am | 14 + + test/shaping/data/aots/Makefile.am | 27 + + test/shaping/data/aots/Makefile.sources | 126 +++ + test/shaping/data/in-house/Makefile.am | 26 + + test/shaping/data/in-house/Makefile.sources | 66 ++ + test/shaping/data/text-rendering-tests/Makefile.am | 32 + + .../data/text-rendering-tests/Makefile.sources | 95 ++ + test/subset/Makefile.am | 23 + + test/subset/data/Makefile.am | 45 + + test/subset/data/Makefile.sources | 31 + + util/Makefile.am | 78 ++ + util/Makefile.sources | 38 + + 30 files changed, 4769 insertions(+), 1 deletion(-) + +commit 9748ae7299330f0245e97f7b1f18cd1207043e62 +Author: Ebrahim Byagowi +Date: Tue Aug 11 17:52:48 2020 +0430 + + Revert "Reordering fails when GDEF table is absent #2140" + + This reverts commit f4cd99f28eefe695b86876736166fd119e22e04e. + + As requested in https://github.com/harfbuzz/harfbuzz/issues/2516#issuecomment-670969185 + + src/hb-ot-layout-gsubgpos.hh | 37 +++++++++++++++++-------------------- + src/hb-ot-layout.hh | 8 ++++---- + 2 files changed, 21 insertions(+), 24 deletions(-) + +commit d03eecb4d63e1cdac77a08d081179c28440b2d18 +Author: ebraminio +Date: Tue Aug 11 16:40:40 2020 +0430 + + [glyf] minor + + style improvement + + src/hb-ot-glyf-table.hh | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + +commit 732a9164d9c778a3d4315b189922d5b9c4a51495 +Author: ebraminio +Date: Tue Aug 11 16:37:55 2020 +0430 + + [gvar] minor + + src/hb-ot-var-gvar-table.hh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit c0107c1e6ecf627d7dba344529fb5f054344f498 +Author: ebraminio +Date: Mon Aug 10 14:30:34 2020 +0430 + + [ci] test experimental APIs in Arch Linux and sanitizers + + .circleci/config.yml | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit 0c1561894ac4899cd09ebef4b3d33a095e35c981 +Author: ebraminio +Date: Mon Aug 10 08:52:01 2020 +0430 + + [glyf] minor + + src/hb-ot-glyf-table.hh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit f06d7331e8b1643680df7f0126b2d89254563dcb +Author: Ebrahim Byagowi +Date: Mon Aug 10 08:35:06 2020 +0430 + + [glyf] minor + + src/hb-ot-glyf-table.hh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit db96c7f67aac93ea025cf992c20acdf2364d93bc +Author: Ebrahim Byagowi +Date: Mon Aug 10 08:23:21 2020 +0430 + + [glyf] protect CompositeGlyph fields + + Introduce methods instead + + src/hb-ot-glyf-table.hh | 30 ++++++++++++++++++++---------- + 1 file changed, 20 insertions(+), 10 deletions(-) + +commit e5fe363aa5d06a4dfe665b97a22971f12c3f84f4 +Author: ebraminio +Date: Mon Aug 10 07:39:36 2020 +0430 + + [glyf] Minor, don't pass accelerator_t to points_aggregator_t + + No need to pass it to aggregator itself + + src/hb-ot-glyf-table.hh | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 2b9927f7e16c7b25194b8aae36146bf23c73f131 +Author: ebraminio +Date: Mon Aug 10 06:26:21 2020 +0430 + + [glyf] minor + + No need to pass glyph_for_gid as a lambda now that we are passing the accelerator itself + + src/hb-ot-glyf-table.hh | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +commit fce64a407d381372c92fcb5f0e551c17185ea735 +Author: Behdad Esfahbod +Date: Sat Aug 8 14:04:54 2020 -0600 + + Minor + + src/hb-ot-layout-gpos-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ffe06c8f0498d7f5fe53c76e9d6fba9127997258 +Author: Ebrahim Byagowi +Date: Sat Aug 8 13:17:34 2020 +0430 + + [glyf] Guard all the public APIs against null pool runs + + Fixes https://crbug.com/oss-fuzz/24575 and https://crbug.com/oss-fuzz/24737 + + src/hb-ot-glyf-table.hh | 17 ++++++++++++----- + ...-testcase-minimized-hb-draw-fuzzer-5103082208493568 | Bin 0 -> 1069 bytes + ...-testcase-minimized-hb-draw-fuzzer-5641612227772416 | Bin 0 -> 1069 bytes + 3 files changed, 12 insertions(+), 5 deletions(-) + +commit 01ac32aab2109681abc58bb2f96a4ef4a7f0c6df +Author: Ebrahim Byagowi +Date: Sun Aug 2 11:35:55 2020 +0430 + + Remove autotools build support + + .circleci/config.yml | 15 - + Makefile.am | 96 -- + README | 15 - + RELEASING.md | 2 +- + autogen.sh | 48 - + configure.ac | 540 ----------- + docs/Makefile.am | 126 --- + git.mk | 400 --------- + m4/ax_check_link_flag.m4 | 74 -- + m4/ax_code_coverage.m4 | 264 ------ + m4/ax_cxx_compile_stdcxx.m4 | 982 --------------------- + m4/ax_pthread.m4 | 485 ---------- + src/Makefile.am | 476 ---------- + src/Makefile.sources | 284 ------ + test/Makefile.am | 15 - + test/api/Makefile.am | 222 ----- + test/fuzzing/Makefile.am | 86 -- + test/shaping/Makefile.am | 39 - + test/shaping/data/Makefile.am | 14 - + test/shaping/data/aots/Makefile.am | 27 - + test/shaping/data/aots/Makefile.sources | 126 --- + test/shaping/data/in-house/Makefile.am | 26 - + test/shaping/data/in-house/Makefile.sources | 66 -- + test/shaping/data/text-rendering-tests/Makefile.am | 32 - + .../data/text-rendering-tests/Makefile.sources | 95 -- + test/subset/Makefile.am | 23 - + test/subset/data/Makefile.am | 45 - + test/subset/data/Makefile.sources | 31 - + util/Makefile.am | 78 -- + util/Makefile.sources | 38 - + 30 files changed, 1 insertion(+), 4769 deletions(-) + +commit 3d164d5883ceb5698a98ca025b5f75ce465e1f51 +Author: Ryan Schmidt +Date: Thu Aug 6 20:45:44 2020 -0500 + + Use printf instead of echo -n in autogen.sh + + "echo -n" is not portable and on some POSIX systems it literally prints "-n". + + autogen.sh | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit 1f519c25670e8dfe694a7b3fa71c5bc7263b1b1f +Author: Ebrahim Byagowi +Date: Fri Aug 7 01:21:19 2020 +0430 + + [glyf] Optimize retrieval of hmtx/vmtx/gvar + + This should make glyf/gvar faster as makes it to invoke less table wrapper atomic operations and things. + + $ meson build -Dexperimental_api=true --buildtype=release && ninja -Cbuild && build/perf/perf "--benchmark_filter=glyf.*- ot -" + + Before: + extents/glyf - ot - SourceSerifVariable 46091 ns 46036 ns 16173 + extents/glyf/vf - ot - SourceSerifVariable 4160142 ns 4154913 ns 174 + extents/glyf - ot - Comfortaa 25754 ns 25726 ns 27030 + extents/glyf/vf - ot - Comfortaa 2627804 ns 2624596 ns 265 + extents/glyf - ot - Roboto 33556 ns 33540 ns 18513 + draw/glyf - ot - SourceSerifVariable 2716848 ns 2715438 ns 256 + draw/glyf/vf - ot - SourceSerifVariable 4602379 ns 4598907 ns 151 + draw/glyf - ot - Comfortaa 1659364 ns 1658142 ns 417 + draw/glyf/vf - ot - Comfortaa 2845100 ns 2842549 ns 246 + draw/glyf - ot - Roboto 1571509 ns 1570060 ns 442 + + After: + extents/glyf - ot - SourceSerifVariable 34738 ns 34713 ns 21332 + extents/glyf/vf - ot - SourceSerifVariable 3700510 ns 3698104 ns 187 + extents/glyf - ot - Comfortaa 21604 ns 21595 ns 31907 + extents/glyf/vf - ot - Comfortaa 2324787 ns 2323440 ns 296 + extents/glyf - ot - Roboto 31259 ns 31246 ns 21814 + draw/glyf - ot - SourceSerifVariable 2689230 ns 2687589 ns 260 + draw/glyf/vf - ot - SourceSerifVariable 4625135 ns 4622036 ns 131 + draw/glyf - ot - Comfortaa 1690336 ns 1689454 ns 402 + draw/glyf/vf - ot - Comfortaa 2898748 ns 2897074 ns 241 + draw/glyf - ot - Roboto 1570911 ns 1570138 ns 440 + + src/hb-ot-glyf-table.hh | 70 ++++++++++++++++++++++++++++++------------------- + 1 file changed, 43 insertions(+), 27 deletions(-) + +commit 0907c10214c9b989c76a34b260042e88c707f9bd +Author: Ebrahim Byagowi +Date: Fri Aug 7 00:15:32 2020 +0430 + + [gvar] minor + + src/hb-ot-var-gvar-table.hh | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +commit 679fac87dfbdef3192184b2d2374fda334205b41 +Author: Ebrahim Byagowi +Date: Thu Jul 30 15:29:43 2020 +0430 + + Skip hb_shape if buffer object is immutable + + src/hb-shape.cc | 2 ++ + test/fuzzing/hb-shape-fuzzer.cc | 6 ++---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 55c41f219f539464335c16dc8392787fd0ac1b46 +Author: Ebrahim Byagowi +Date: Thu Aug 6 23:37:43 2020 +0430 + + [glyf] Clamp advance value result + + Fixes a sanitizer complain https://circleci.com/gh/harfbuzz/harfbuzz/150247 revealed by 02d1ec1 + + src/hb-ot-glyf-table.hh | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 02d1ec16585738d5e55354224bcfcc552b079a76 +Author: Ebrahim Byagowi +Date: Thu Aug 6 22:18:35 2020 +0430 + + [gvar] Don't fail on imprefect gvar + + No need to fail even if gvar doesn't have that much glyphs + + src/hb-ot-var-gvar-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ec17b6245755a7527c7f5d5242868ce0886327c9 +Author: Ebrahim Byagowi +Date: Thu Aug 6 20:16:11 2020 +0430 + + [var] Apply variations on empty glyphs + + It was ignoring empty glyphs for no good reason, this fixes it. + + Fixes #2618 + + src/hb-ot-glyf-table.hh | 6 ++++-- + src/hb-ot-var-gvar-table.hh | 2 ++ + test/shaping/data/in-house/Makefile.sources | 1 + + .../fonts/ab40c89624a6104e5d0a2308e448a989302f515b.ttf | Bin 0 -> 7440 bytes + test/shaping/data/in-house/meson.build | 1 + + test/shaping/data/in-house/tests/variations-space.tests | 2 ++ + 6 files changed, 10 insertions(+), 2 deletions(-) + +commit 5cab55ca90a64da281ef2c55e892bb0d6ebb3019 +Author: Ebrahim Byagowi +Date: Thu Aug 6 18:54:58 2020 +0430 + + [gvar] minor + + src/hb-ot-var-gvar-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 20e42a212849554687b808b316f077a023126a95 +Author: Ebrahim Byagowi +Date: Tue Aug 4 16:49:27 2020 +0430 + + [docs] minor on TESTING.md + + TESTING.md | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 5a2d216f309fa91faf76a1ebebbcf8a36e21f592 +Author: Ebrahim Byagowi +Date: Tue Aug 4 15:25:48 2020 +0430 + + [docs] meson related updates on install + + docs/usermanual-install-harfbuzz.xml | 83 +++++++++++++----------------------- + 1 file changed, 29 insertions(+), 54 deletions(-) + +commit 34a05320921629f430ed36c30e24494c9841079c +Author: Ebrahim Byagowi +Date: Tue Aug 4 15:14:59 2020 +0430 + + [meson] minor note + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cac483bf1563381a6081b06592a96f7055427e10 +Author: Ebrahim Byagowi +Date: Mon Aug 3 18:41:49 2020 +0430 + + [docs] Update README.python.md with meson + + README.python.md | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +commit 75efa893433b6f352c28bda9d0a92683244900aa +Author: Ebrahim Byagowi +Date: Thu Jul 30 01:17:42 2020 +0430 + + Remove cmake-config support of HarfBuzz + + Reverts d38f37b2 as discussed in #2316 + + configure.ac | 1 - + meson.build | 1 - + src/Makefile.am | 4 +-- + src/harfbuzz-config.cmake.in | 86 -------------------------------------------- + src/meson.build | 10 ------ + 5 files changed, 1 insertion(+), 101 deletions(-) + +commit 97079a7c8f7d52ff381b2b3d6e0c430358d1b340 +Author: Ebrahim Byagowi +Date: Sun Aug 2 12:34:21 2020 +0430 + + [meson] Pass cpp_eh=none and cpp_rtti=false as default options + + If we want to support a build with exception handling and RTTI + We should reflect that on library(..., link_language: 'c') also so for + now it is ok to just set it here to get MSVC support also and we + can remove hard coded flags later upon request. + + One other concern over just relying on it is on when harfbuzz is used + as a subproject and the parent project hasn't provided the same options, + that should be resolved first I think. + + Closes #2584 + + meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 749e2754c83583e51034da09d3581af0f8d9e1a3 +Author: Ebrahim Byagowi +Date: Sun Aug 2 12:21:51 2020 +0430 + + [meson] remove useless note about -fvisibility-inlines-hidden + + It was put there as current situation of autotools but msys2 is ok + with the flag, if something like is needed for other it can handled + as a local patch. + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 903d6a1f1418a20094af53200a9da45214c1b6af +Author: Ebrahim Byagowi +Date: Sun Aug 2 11:40:47 2020 +0430 + + [perf] Enable ttf-parser build just with experimental_api + + ttf-parser API is subject to breaking change and we are interested on its + hb-draw like API so let's hide it more. + + perf/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cdb7d2b9bc0d5928ae4f6ba16fe905f603583688 +Author: Ebrahim Byagowi +Date: Sun Aug 2 11:26:29 2020 +0430 + + [docs] Update README.python.md with meson + + README.python.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9fd48de6f0316fe6f1879879b96992b0471af88b +Author: Ebrahim Byagowi +Date: Sun Aug 2 11:22:09 2020 +0430 + + [docs] Adopt CONFIG.md with meson + + CONFIG.md | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +commit b0a4860d3429e9effc3e642d6ef57b92332d796b +Author: Ebrahim Byagowi +Date: Sun Aug 2 11:15:15 2020 +0430 + + [docs] Remove packagers related part + + Covered by https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson + + BUILD.md | 18 ++---------------- + 1 file changed, 2 insertions(+), 16 deletions(-) + +commit 50151567c13b8a3a2a838cbe1714b3cc1fd94bd6 +Author: Ebrahim Byagowi +Date: Sun Aug 2 10:43:25 2020 +0430 + + [ci] Disable Travis CI + + .ci/build-freetype.sh | 17 ----------------- + .ci/fail.sh | 18 ------------------ + .ci/run-coveralls.sh | 14 -------------- + .circleci/config.yml | 2 +- + .travis.yml | 43 ------------------------------------------- + README.md | 2 +- + 6 files changed, 2 insertions(+), 94 deletions(-) + +commit 11bb8aa83e57b288241b9156706e6f8d25eaf383 +Author: Ebrahim Byagowi +Date: Sun Aug 2 00:47:21 2020 +0430 + + [meson] limit check-libstdc++ check to 0.55 + + library(..., link_language: 'c') is introduced in 0.55 but we were relying on this anyway + assuming b_asneeded being true on meson. + + #2614 + + src/meson.build | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 9d3fbe0588f8f4d5883e425680fc37778660b284 +Author: Ebrahim Byagowi +Date: Thu Jul 30 14:54:00 2020 +0430 + + [meson] Add darwin versions to library() + + We now have, + + $ otool -L src/libharfbuzz.dylib + src/libharfbuzz.dylib: + @rpath/libharfbuzz.0.dylib (compatibility version 0.0.0, current version 0.0.0) + + And with the change should we get + + $ otool -L src/libharfbuzz.dylib + src/libharfbuzz.dylib: + @rpath/libharfbuzz.0.dylib (compatibility version 20700.0.0, current version 20700.0.0) + + src/meson.build | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 18ab8029d5aab6ac20c240515ad1795bd31dca1e +Author: Garret Rieger +Date: Fri Jul 31 14:40:49 2020 -0700 + + [ENOMEM] check vector status in cmap subsetting. + + src/hb-ot-cmap-table.hh | 3 +++ + ...-testcase-minimized-hb-subset-fuzzer-6316256152780800 | Bin 0 -> 1335 bytes + 2 files changed, 3 insertions(+) + +commit 06dbb6acbbd322b3123820c73ed4371560efc558 +Author: Garret Rieger +Date: Fri Jul 31 15:56:14 2020 -0700 + + [ENOMEM] in GSUB ChainContext subsetting check maps for allocation errors. + + src/hb-ot-layout-gsubgpos.hh | 6 ++++++ + ...testcase-minimized-hb-subset-fuzzer-4880059756969984 | Bin 0 -> 45902 bytes + 2 files changed, 6 insertions(+) + +commit fb1477795cb950b25472efa8d47febe81340a45b +Author: Garret Rieger +Date: Fri Jul 31 14:00:38 2020 -0700 + + [ENOMEM] Check result of vector resize in CBDT subsetting. + + src/hb-ot-color-cbdt-table.hh | 6 +++++- + ...-testcase-minimized-hb-subset-fuzzer-6241118484955136 | Bin 0 -> 7345 bytes + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit 8586bad2bdadccecd830fb0a1c973423115240fb +Author: Ebrahim Byagowi +Date: Fri Jul 31 09:28:51 2020 +0430 + + [ci] don't install rustc on linux-ci + + https://github.com/harfbuzz/harfbuzz/pull/2610/checks?check_run_id=930572217 + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit efd716de3f4c7616aedd5c449bf8d27d565d4ab6 +Author: Ebrahim Byagowi +Date: Fri Jul 31 08:58:53 2020 +0430 + + [cff] Check for scalars array resize result + + Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24504 + + src/hb-cff2-interp-cs.hh | 8 +++++--- + ...zz-testcase-minimized-hb-draw-fuzzer-6231698648596480 | Bin 0 -> 2707 bytes + 2 files changed, 5 insertions(+), 3 deletions(-) + +commit 040ed094ef3cf032d84c4d65bd81f40c26f6f9e0 +Author: Garret Rieger +Date: Thu Jul 30 15:14:02 2020 -0700 + + [ENOMEM] popragate packed/packed_map errors to the serializer. + Will disable further modifications based on a bad state. + + src/hb-serialize.hh | 3 +++ + ...z-testcase-minimized-hb-subset-fuzzer-5661567174311936 | Bin 0 -> 473 bytes + 2 files changed, 3 insertions(+) + +commit 7f358a55f4b3c0eb6654be9e8c31ece29965b4d6 +Author: Garret Rieger +Date: Thu Jul 30 13:57:30 2020 -0700 + + [ENOMEM] unchecked resize in CFF2. + + src/hb-ot-cff2-table.hh | 3 ++- + ...-testcase-minimized-hb-subset-fuzzer-5181909018345472 | Bin 0 -> 2559 bytes + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 32f052b033f12fbeb8741c9616860743b1f567c4 +Author: Garret Rieger +Date: Thu Jul 30 13:45:04 2020 -0700 + + [ENOMEM] Fix several instances of not checking resize in CFF. + + src/hb-subset-cff-common.hh | 27 ++++++++++++++++++--- + src/hb-subset-cff1.cc | 14 +++++++++-- + src/hb-subset-plan.hh | 6 +++++ + ...ase-minimized-hb-subset-fuzzer-5707809174585344 | Bin 0 -> 107592 bytes + ...ase-minimized-hb-subset-fuzzer-5708623339323392 | Bin 0 -> 151 bytes + 5 files changed, 41 insertions(+), 6 deletions(-) + +commit 4cbc7d61bc5e7f0658fc58d807f94f3b7c335f0d +Author: Garret Rieger +Date: Thu Jul 30 12:20:31 2020 -0700 + + [ENOMEM] check for unset current in serializer->length(). + + src/hb-serialize.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 0d22fb38b97afb6082fb4e5791e6fdd0166fa4a9 +Author: Ebrahim Byagowi +Date: Thu Jul 30 23:18:57 2020 +0430 + + Copy parts of README.md to README + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2591 + + README | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +commit cac30711834d343d36b0bea1138562beeb22340f +Author: Ebrahim Byagowi +Date: Thu Jul 30 16:25:42 2020 +0430 + + [meson] minor, use null_dep one more place + + perf/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 4e572c940724cdae6f140df924c9ad7f4baea35e +Author: Ebrahim Byagowi +Date: Thu Jul 30 16:19:15 2020 +0430 + + Remove cmake build files + + As discussed in https://github.com/harfbuzz/harfbuzz/pull/2252 + + .circleci/config.yml | 3 +- + CMakeLists.txt | 768 --------------------------------------------- + Makefile.am | 2 - + replace-enum-strings.cmake | 21 -- + 4 files changed, 1 insertion(+), 793 deletions(-) + +commit 5f9ff04fb0002351f130f13cdb8719d81d1683e0 +Author: Ebrahim Byagowi +Date: Thu Jun 18 02:33:05 2020 +0430 + + Add comparison against ttf-parser + + .github/workflows/linux-ci.yml | 2 +- + perf/meson.build | 14 +++++- + perf/perf-draw.hh | 112 +++++++++++++++++++++++++++++------------ + perf/perf-extents.hh | 81 ++++++++++++++++++++--------- + perf/perf.cc | 1 + + subprojects/ttf-parser.wrap | 5 ++ + 6 files changed, 157 insertions(+), 58 deletions(-) + +commit 87f4aada9964d4eff92de50fa2cd3708c81b5066 +Author: Ebrahim Byagowi +Date: Thu Jul 30 15:20:17 2020 +0430 + + [docs] Update TESTING.md with meson + + TESTING.md | 67 ++++++++++++++++++-------------------------------------------- + 1 file changed, 19 insertions(+), 48 deletions(-) + +commit 15644ee60ecebb65fc4d8e6a5b999a3f1629c241 +Author: Garret Rieger +Date: Wed Jul 29 16:37:39 2020 -0700 + + [ENOMEM] fix memory leak if allocation fails during pop_pack(). + + src/hb-serialize.hh | 6 +++++- + ...zz-testcase-minimized-hb-subset-fuzzer-5684542900535296 | Bin 0 -> 70 bytes + 2 files changed, 5 insertions(+), 1 deletion(-) + +commit 42237adffcfd951616efc2f8fba2cd195eb002ea +Author: Garret Rieger +Date: Wed Jul 29 15:18:25 2020 -0700 + + [ENOMEM] make serializer modification operations no-ops if it's in an error state. + + src/hb-serialize.hh | 14 ++++++++++++++ + ...z-testcase-minimized-hb-subset-fuzzer-6231212713312256 | Bin 0 -> 76 bytes + 2 files changed, 14 insertions(+) + +commit d1f13014906d2540ea3f3e6f2aa2781e1314a869 +Author: Ebrahim Byagowi +Date: Thu Jul 30 02:01:43 2020 +0430 + + [icu] Remove support for versions older than 49 + + It just doesn't make sense anymore, https://github.com/harfbuzz/harfbuzz/commit/c9e5da8ded390b816613839214fe96137ca0a0a2#r41018112 + + src/hb-icu.cc | 2 -- + 1 file changed, 2 deletions(-) + +commit 0b74aaece71a3546c8ed4f60866c67b98e3659c0 +Author: Ebrahim Byagowi +Date: Thu Jul 30 01:47:30 2020 +0430 + + [icu] Remove useless HB_UNUSED tags + + As https://github.com/harfbuzz/harfbuzz/commit/c9e5da8ded390b816613839214fe96137ca0a0a2#r41018040 + + src/hb-icu.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit c9e5da8ded390b816613839214fe96137ca0a0a2 +Author: Ebrahim Byagowi +Date: Thu Jul 30 00:53:40 2020 +0430 + + [icu] Remove support of ICU versions before 42 + + ICU 42 is released in 2012, see also https://github.com/harfbuzz/harfbuzz/commit/44a3136ae6a28222922da13582bd2dfd3eb823c7#commitcomment-41016353 + + src/hb-icu.cc | 145 ++++++++++------------------------------------------------ + 1 file changed, 23 insertions(+), 122 deletions(-) + +commit 4ba8e3c6fd34cf0ab5f97e607bac708a978fa9b3 +Author: Garret Rieger +Date: Wed Jul 29 12:33:42 2020 -0700 + + [ENOMEM] Fix failure to check calloc return. + Fixes https://oss-fuzz.com/testcase-detail/6246465148813312. + + src/hb-ot-name-table.hh | 2 ++ + ...testcase-minimized-hb-subset-fuzzer-6246465148813312 | Bin 0 -> 24246 bytes + 2 files changed, 2 insertions(+) + +commit d307c24abf37b2702706cf9df0fab571a99e2a70 +Author: Garret Rieger +Date: Wed Jul 29 12:23:37 2020 -0700 + + [ENOMEM] check resize() return. + Fixes https://oss-fuzz.com/testcase-detail/5641892164009984. + + src/hb-ot-cff1-table.hh | 3 ++- + ...estcase-minimized-hb-subset-fuzzer-5641892164009984 | Bin 0 -> 124518 bytes + 2 files changed, 2 insertions(+), 1 deletion(-) + +commit 8b63de110921f139ffb74cf159e2b042b0cd73d8 +Author: Ebrahim Byagowi +Date: Wed Jul 29 17:25:00 2020 +0430 + + [docs] Use untouched result of rsvg-convert for HarfBuzz.svg render + + See also https://github.com/harfbuzz/harfbuzz/commit/1ec77522d838dd751733d3927e3d9589bf298853?short_path=1bb7b85 + + docs/HarfBuzz.png | Bin 4740 -> 6254 bytes + 1 file changed, 0 insertions(+), 0 deletions(-) + +commit 7bab6087bf1b7809ce05a9fb07a40d5708e4ff5d +Author: Ebrahim Byagowi +Date: Wed Jul 29 08:49:01 2020 +0430 + + [ci] Install meson's master + + As https://github.com/mesonbuild/meson/issues/7437 + + .github/workflows/linux-ci.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 58a5961ca1f1d7c8ed89acf07620242208d33edf +Author: Ebrahim Byagowi +Date: Wed Jul 29 08:44:23 2020 +0430 + + minor spacing tweak + + src/hb-subset-plan.cc | 4 ++-- + util/hb-fc-list.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 07c43b8cf6c89c79eb3e23550c6a843eaade166b +Author: Ebrahim Byagowi +Date: Wed Jul 29 08:42:52 2020 +0430 + + minor spacing tweak + + src/hb-subset-plan.cc | 2 +- + util/options-subset.cc | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +commit 5a7cc7fd8b6f7381c40be993faffb81b9608e9bf +Author: Ebrahim Byagowi +Date: Wed Jul 29 08:33:32 2020 +0430 + + minor spacing tweak + + perf/perf-draw.hh | 2 +- + src/hb-ot-cmap-table.hh | 154 ++++++++++++++++++++--------------------- + src/hb-ot-layout-common.hh | 8 +-- + src/hb-ot-layout-gdef-table.hh | 18 ++--- + src/hb-ot-layout-gpos-table.hh | 82 +++++++++++----------- + src/hb-ot-layout-gsub-table.hh | 4 +- + src/hb-ot-layout-gsubgpos.hh | 20 +++--- + src/hb-subset-plan.cc | 7 +- + src/hb-subset-plan.hh | 5 +- + util/options-subset.cc | 2 +- + 10 files changed, 149 insertions(+), 153 deletions(-) + +commit 48ad745996159337fb4733561e834a0ffbe3a1ae +Author: Ebrahim Byagowi +Date: Wed Jul 29 08:09:08 2020 +0430 + + [ENOMEM] Fix buffer's content check logic + + So now rest of shape fuzzer also can be enabled. + + Fixes #2571 + + src/hb-buffer-serialize.cc | 8 ++++---- + src/hb-buffer.cc | 12 ++++++------ + test/fuzzing/hb-shape-fuzzer.cc | 14 ++++++-------- + 3 files changed, 16 insertions(+), 18 deletions(-) + +commit c33e8006fdaec3b4acf8927c75e04129e0410a59 +Author: Ebrahim Byagowi +Date: Tue Jul 14 19:29:58 2020 +0430 + + [fuzz] Implement failing allocator + + src/failing-alloc.c | 57 ++++++++++++++++++++++++++++++++++++++++ + src/meson.build | 8 ++++++ + test/fuzzing/hb-draw-fuzzer.cc | 2 ++ + test/fuzzing/hb-fuzzer.hh | 8 ++++++ + test/fuzzing/hb-set-fuzzer.cc | 2 ++ + test/fuzzing/hb-shape-fuzzer.cc | 6 +++++ + test/fuzzing/hb-subset-fuzzer.cc | 2 ++ + test/fuzzing/meson.build | 4 ++- + 8 files changed, 88 insertions(+), 1 deletion(-) + +commit 44a3136ae6a28222922da13582bd2dfd3eb823c7 +Author: Ebrahim Byagowi +Date: Wed Jul 29 07:03:44 2020 +0430 + + [glib] Default to glib's script type handling + + 2.29.14 is almost released a decade ago, no need to support archaic glib versions. + + src/hb-glib.cc | 148 +-------------------------------------------------------- + 1 file changed, 1 insertion(+), 147 deletions(-) + +commit dae32b4f12da5d90de32886b0fd16653e3853e25 +Author: Garret Rieger +Date: Tue Jul 28 18:31:46 2020 -0700 + + [subset] bail out of subsetting if plan allocation fails. + + src/hb-face.cc | 3 +++ + src/hb-subset-plan.cc | 6 +++++- + src/hb-subset-plan.hh | 6 ++++++ + src/hb-subset.cc | 3 +++ + 4 files changed, 17 insertions(+), 1 deletion(-) + +commit d38d63319bcec35a5dccb5e6ab49eee123bd4c0e +Author: Ebrahim Byagowi +Date: Mon Jul 27 09:19:29 2020 +0430 + + [tests] minor + + test/subset/run-tests.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit 322426f8c8ef818a60ec9090670ff077647fdfa2 +Author: Ebrahim Byagowi +Date: Mon Jul 27 09:03:35 2020 +0430 + + [tests] Use TTFont of fonttools to avoid temp files + + test/subset/run-tests.py | 56 +++++++++++++++++------------------------------- + 1 file changed, 20 insertions(+), 36 deletions(-) + +commit 08fef15818013e12ae49e44261f0bf8773124591 +Author: Hamidreza Bayat +Date: Sun Jul 26 17:16:07 2020 +0430 + + Use fonttools's python package instead of cli + + test/subset/run-tests.py | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit bec3db49bd1002b4fbe5baf3ca462bce85fb7da5 +Author: Ebrahim Byagowi +Date: Sat Jul 25 13:45:34 2020 +0430 + + [ci] meson-gcc-mingw to crossbuild-win32 + + .circleci/config.yml | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +commit 24a6f046e467b875c71b8897078af1311dda11be +Author: Ebrahim Byagowi +Date: Sat Jul 25 13:18:54 2020 +0430 + + [releasing] unbreak the build + + Use lower number of parallel jobs as https://circleci.com/gh/harfbuzz/harfbuzz/149413 apparent compiler OOM issue + + .ci/build-win32.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cddfe4ea275f869afedc9adfae65d6b1317552da +Author: Ebrahim Byagowi +Date: Sat Jul 25 13:09:57 2020 +0430 + + [releasing] Use release buildtype + + guess will optimize speed and size of the output, non important things anyway for the test only win32 packs + + .ci/build-win32.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a01c7a380b9a3351bc7056c816e1340b5374a6f8 +Author: Ebrahim Byagowi +Date: Sat Jul 25 12:27:31 2020 +0430 + + 2.7.0 + + NEWS | 21 +++++++++++++++++++++ + configure.ac | 9 +++------ + meson.build | 4 +--- + src/hb-version.h | 6 +++--- + 4 files changed, 28 insertions(+), 12 deletions(-) + +commit b32f2e8b490b3909c2ba6eb1b97506710efcbe5f +Author: Evgeniy Reizner +Date: Thu Jul 23 11:48:19 2020 +0300 + + Remove unused code from the Khmer shaper. + + src/hb-ot-shape-complex-khmer.cc | 4 ---- + 1 file changed, 4 deletions(-) + +commit f9ac6ddbef0eba3ab172b1e2439ce776870b969f +Author: Ebrahim Byagowi +Date: Wed Jul 22 17:53:04 2020 +0430 + + [meson] Rename 'gtk_doc' option to 'docs' + + docs/meson.build | 2 +- + meson.build | 2 +- + meson_options.txt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +commit 11ae45f6ebbff8ef1d8706c384e3ee74889917a7 +Author: Ebrahim Byagowi +Date: Wed Jul 22 17:52:16 2020 +0430 + + [ci] Don't run cov-analyze + + https://stackoverflow.com/a/59353318 + + .github/workflows/coverity-scan.yml | 1 - + 1 file changed, 1 deletion(-) + +commit 46ec6db9656537997b29581cabb6dba901565767 +Author: Ebrahim Byagowi +Date: Wed Jul 22 17:30:48 2020 +0430 + + minor + + src/hb-aat-layout-kerx-table.hh | 4 +--- + src/hb-ot-map.hh | 4 ++-- + src/hb-subset-cff1.cc | 2 +- + 3 files changed, 4 insertions(+), 6 deletions(-) + +commit 5c46683ab8b3f390a8aa043be97d89674e24162d +Author: Ebrahim Byagowi +Date: Wed Jul 22 17:23:22 2020 +0430 + + [fuzz] increase shape fuzzer timeout + + as https://circleci.com/gh/harfbuzz/harfbuzz/149203 + + test/fuzzing/meson.build | 1 + + 1 file changed, 1 insertion(+) + +commit 83c44f69d3724acbb16b25c1c1dee564ca1c3604 +Author: insilications +Date: Mon Jul 20 17:35:10 2020 -0300 + + [tests] fix PGO build testing + + Adds 'mangle_path' to IGNORED_SYMBOLS + + src/check-symbols.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 024fc665da00be5b8615af88cd00ed1a0f7485e9 +Author: Ebrahim Byagowi +Date: Mon Jul 20 23:57:27 2020 +0430 + + [ci] disable clang nightly installation + + they don't like to work apparently for some reason https://circleci.com/gh/harfbuzz/harfbuzz/149164 + + better to use oss-fuzz docker images, gcr.io/oss-fuzz-base/base-clang, but the fact it uses 16.04 is showstopper for us. + + .circleci/config.yml | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d058e56cf1015f6b922642d2cd7ccef27efd9958 +Author: Christoph Reiter +Date: Mon Jul 20 20:50:09 2020 +0200 + + [ci] Update to msys2/setup-msys2@v2 + + This update introduces better error handling and package caching by default. + + .github/workflows/msys2-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ae8a71dfb8ad3b6f7cb48ff79dbc8a103f6d6fca +Author: Ebrahim Byagowi +Date: Mon Jul 20 20:16:15 2020 +0430 + + [ci] minor, use --auto-features=enabled + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9bb15ee2edf563797ab5cdded6bb3ea186cd2fd6 +Author: Ebrahim Byagowi +Date: Sun Jul 19 22:24:13 2020 +0430 + + [ci] remove irc notification + + is just a noise there, yet, done to see if is anyone really wants it let's see how I can bring it back in some other bot + + .travis.yml | 1 - + 1 file changed, 1 deletion(-) + +commit f65a8a33b60d04548ee755d1e052fc01ff6f1248 +Author: Ebrahim Byagowi +Date: Sun Jul 19 18:13:48 2020 +0430 + + [ci] run cov-analyze + + apparently we have to run that also ourselves, let's see + + .github/workflows/coverity-scan.yml | 1 + + 1 file changed, 1 insertion(+) + +commit ab1079b04621311b9e5b776adf77ab6038fefa66 +Merge: 05ed1ee0c 93aea76a2 +Author: Ebrahim Byagowi +Date: Sat Jul 18 23:05:50 2020 +0430 + + Merge pull request #2577 from lazka/gha-msvc + + Use GitHub Actions for msvc bots + +commit 05ed1ee0c41088481baf8aafddd8d6976db0bdac +Author: Ebrahim Byagowi +Date: Sat Jul 18 23:05:26 2020 +0430 + + [ci] Remove appveyor ci badge + + As https://github.com/harfbuzz/harfbuzz/pull/2577 + + README.md | 1 - + 1 file changed, 1 deletion(-) + +commit 93aea76a25640d923168272f001db43e776c8bdb +Author: Christoph Reiter +Date: Sat Jul 18 19:32:19 2020 +0200 + + Fix the GHA msvc build + + Use the 'ilammy/msvc-dev-cmd' action for setting up the msvc env, + so we can use powershell everywhere. + + Remove a directory from PATH which was interfering with the meson build + by providing an unrelated pkg-config.exe. + + .github/workflows/msvc-ci.yml | 26 +++++++++++++++++++------- + 1 file changed, 19 insertions(+), 7 deletions(-) + +commit d0e2addd43dad705d9f54134b97ae81757f5e25e +Author: Ebrahim Byagowi +Date: Sat Jul 18 22:14:52 2020 +0430 + + minor + + src/hb-aat-layout-bsln-table.hh | 2 +- + src/hb-aat-layout-kerx-table.hh | 8 +++----- + src/hb-aat-layout-morx-table.hh | 2 +- + src/hb-buffer.cc | 4 ++-- + src/hb-buffer.hh | 2 +- + src/hb-cff2-interp-cs.hh | 2 +- + src/hb-font.hh | 2 +- + src/hb-ot-cmap-table.hh | 30 +++++++++++++-------------- + src/hb-ot-layout-common.hh | 14 ++++++------- + src/hb-ot-layout-gdef-table.hh | 8 ++++---- + src/hb-ot-layout-gpos-table.hh | 45 ++++++++++++++++++++++++----------------- + src/hb-ot-layout-gsub-table.hh | 4 ++-- + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + src/hb-ot-math-table.hh | 16 +++++++-------- + src/hb-ot-shape.cc | 4 ++-- + src/hb-ot-var-gvar-table.hh | 2 +- + src/hb-subset-cff2.cc | 14 ++++++------- + 17 files changed, 87 insertions(+), 80 deletions(-) + +commit 3a46ae51273ce086aaec8ccf14420bbf5a36dffb +Author: Ebrahim Byagowi +Date: Wed Jul 15 12:46:34 2020 +0430 + + Use GitHub Actions for msvc bots + + .github/workflows/msvc-ci.yml | 38 ++++++++++++++++++++++++++++++++++++++ + appveyor.yml | 37 ------------------------------------- + 2 files changed, 38 insertions(+), 37 deletions(-) + +commit 7e3edfa4541189cc3f9f477192629ad1a197b727 +Author: Ebrahim Byagowi +Date: Sat Jul 18 19:03:36 2020 +0430 + + minor + + src/hb-open-type.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 8e5bc535d10fb166f721520db6977cc4e949f1c5 +Author: Qunxin Liu +Date: Wed Jul 15 18:54:52 2020 -0700 + + [subset] call collect_mapping only when --gids option is used. + + collect_mapping is time consuming as it iterates all codepoints in all + cmap subtables, only trigger it when necessary + + src/hb-ot-cmap-table.hh | 11 +++++++---- + src/hb-ot-os2-table.hh | 39 ++++++++++++++++++++++----------------- + 2 files changed, 29 insertions(+), 21 deletions(-) + +commit 1ebe5bad1a0b54b73ef0ab7cd1f67030120b3482 +Author: Ebrahim Byagowi +Date: Thu Jul 16 01:45:38 2020 +0430 + + [ci] minor fix + + appveyor.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e9b71c296b45f1dc254f015caaa82b5b5f0792a4 +Author: Ebrahim Byagowi +Date: Thu Jul 16 01:40:48 2020 +0430 + + [ci] cleanup + + appveyor.yml | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +commit 8cbdb6fa41b7364f59bb03295a307dd903908eef +Author: Ebrahim Byagowi +Date: Wed Jul 15 13:32:57 2020 +0430 + + [meson] Don't enable benchmark under the conditions ever + + As we don't want to make headache for packagers as we don't want to + enable it when --auto-features=enabled is used. + + .github/workflows/msys2-ci.yml | 3 +-- + meson.build | 8 ++++---- + 2 files changed, 5 insertions(+), 6 deletions(-) + +commit dc981fe951f10e88723452d3eeab8be2ed7d1c55 +Author: Ebrahim Byagowi +Date: Wed Jul 15 13:15:27 2020 +0430 + + [meson] Merge gdi and uniscribe + + They are the same thing obviously + + meson.build | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 8e7a9b6eebfa2fbdfe90b80189d4428a1fb3b14e +Author: Christoph Reiter +Date: Wed Jul 15 09:01:53 2020 +0200 + + msys2-ci: clean up + + .github/workflows/msys2-ci.yml | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +commit 9a4d590eeeda7f24e80c272aa4906f5446c07c1d +Author: Christoph Reiter +Date: Wed Jul 15 07:38:20 2020 +0200 + + CI: Port MSYS2 jobs from appveyor to github actions + + .github/workflows/msys2-ci.yml | 66 ++++++++++++++++++++++++++++++++++++++++++ + appveyor.yml | 18 ------------ + 2 files changed, 66 insertions(+), 18 deletions(-) + +commit 945bcd7230277e648734b7d8a82e868d1f13257f +Author: Ebrahim Byagowi +Date: Wed Jul 15 09:54:32 2020 +0430 + + minor + + test/fuzzing/hb-subset-fuzzer.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit fa0436ddd16e463dfd4600822b90f8943ff7baf5 +Author: Ebrahim Byagowi +Date: Wed Jul 15 09:52:40 2020 +0430 + + [ENOMEM][fuzzer/subset] early return if the result is null + + I don't see _or_fail APIs idiomatic for the project but since it is there, let's have this + + test/fuzzing/hb-subset-fuzzer.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 7c433ffde2d566d849cd54a881abddad4d7e2f51 +Author: Ebrahim Byagowi +Date: Wed Jul 15 09:38:12 2020 +0430 + + Add HB_CUSTOM_MALLOC definition + + So one can use just HB_CUSTOM_MALLOC instead need for define each of hb_*alloc_impl + + src/hb.hh | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +commit 60959b08e532c0c61d0c5c89507a983595079df1 +Author: Ebrahim Byagowi +Date: Tue Jul 14 20:28:06 2020 +0430 + + [meson] execute find_program('gen-ragel-artifacts.py') only once + + should rename the script also + + src/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 5c8e1bd2370e6b78de8d2b6ef6968c0429b37633 +Author: Ebrahim Byagowi +Date: Tue Jul 14 17:47:10 2020 +0430 + + [meson] Don't allow introspection on static library + + src/meson.build | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 9566904cb3eee5c33c166641debf1567d9ca301b +Author: Ebrahim Byagowi +Date: Tue Jul 14 15:17:17 2020 +0430 + + [morx] minor, mark with unlikely + + at least just to show this is the unusual path + + src/hb-aat-layout-morx-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 11d583a9eaf5089418d0091a01e8e10be37485e1 +Author: Ebrahim Byagowi +Date: Tue Jul 14 06:23:06 2020 +0430 + + [aat] Consume glyph insertion from buffer's max_ops (#2223) + + Glyph insertion is an expensive operation and we like to have it limited + based on buffer's input size which is handled by buffer's max_ops. + + clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5754958982021120: + + Before the change: 0.67s user 0.00s system 99% cpu 0.674 total + After the change: 0.02s user 0.00s system 98% cpu 0.024 total + + Which takes much longer on valgrind and tsan bots. + + src/hb-aat-layout-morx-table.hh | 2 ++ + ...zz-testcase-minimized-harfbuzz_fuzzer-5754958982021120 | Bin 0 -> 319 bytes + 2 files changed, 2 insertions(+) + +commit 6937092a66aefa7602a38827a52b4241d3f96168 +Author: Ebrahim Byagowi +Date: Mon Jul 13 21:32:15 2020 +0430 + + [py] apply lgtm.com python suggestions + + src/gen-indic-table.py | 5 ++--- + src/gen-use-table.py | 5 ++--- + 2 files changed, 4 insertions(+), 6 deletions(-) + +commit 2a182128b9c1ffd825f5c0b1f94cbff8b28a8934 +Author: Ebrahim Byagowi +Date: Mon Jul 13 20:41:13 2020 +0430 + + [py] minor, comment buffer_add_utf8 call + + mainly to apply lgtm suggestion, looks better also however, + some minor spacing is also applied. + + src/sample.py | 29 ++++++++++++++--------------- + 1 file changed, 14 insertions(+), 15 deletions(-) + +commit 2c1d699409cd43af4b86649143f533418b03cf29 +Author: Ebrahim Byagowi +Date: Mon Jul 13 20:26:57 2020 +0430 + + [ci] use clang for cov-build + + to be honest this is done as a let's see what + happens move but the background is coverity + reveals more things for Firefox project and there + should be an interesting reason for it. + + .github/workflows/coverity-scan.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit cdf18e8338325f4d6fdc307f3b2216b4c4a24e14 +Author: Ebrahim Byagowi +Date: Mon Jul 13 20:07:51 2020 +0430 + + [py] minor, remove unnecessary pass + + discovered by lgtm + + src/gen-arabic-table.py | 1 - + 1 file changed, 1 deletion(-) + +commit 45d9e8d76c128fff73e6cf9291df60cfd8d1b25b +Author: Ebrahim Byagowi +Date: Mon Jul 13 19:25:53 2020 +0430 + + [py] minor, remove unused import + + src/gen-ragel-artifacts.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9ab7525a0623048ac924467745683231488bc399 +Author: Ebrahim Byagowi +Date: Mon Jul 13 01:15:36 2020 +0430 + + [ci] use a fixed version of meson in gh actions bot + + a patch is uploaded to fix the issue with b_coverage in meson upstream thus let's revive our bot at least for now + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3236db625b77337a048b9f3ab04fc28f4f6dcb0c +Author: Ebrahim Byagowi +Date: Mon Jul 13 01:06:24 2020 +0430 + + [ci] install a fixed version of meson in msys2 bots + + for some reason apparently msys2 installation here has 0.51 version, which, is weird, lets use a fixed version anyway + + appveyor.yml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 51a8eb1c028ba430986bbe4b1e6afaf0063a6f76 +Author: Ebrahim Byagowi +Date: Sun Jul 12 23:40:50 2020 +0430 + + [ci] use meson package from msys2 + + as https://github.com/harfbuzz/harfbuzz/issues/2561#issuecomment-657261692 + + appveyor.yml | 17 +++++++---------- + 1 file changed, 7 insertions(+), 10 deletions(-) + +commit 3163e9fedb1029439f381c1192f0e057870437ea +Author: Ebrahim Byagowi +Date: Sun Jul 12 23:11:45 2020 +0430 + + [ci] Remove HB_TEST_SUBSET_FUZZER_TIMEOUT + + meson is passing it itself + + Fortunately oss-fuzz has its own timeout value, I just like to be conservative here + and not involve outsiders with flakiness of tests specially as meson which runs + them concurrently so consuming more time is expected on meson. + + .circleci/config.yml | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +commit cd6f62d9608c7fabd75028c2146a7e034bcc6a85 +Author: Ebrahim Byagowi +Date: Sun Jul 12 23:05:11 2020 +0430 + + [meson] Raise timeout value of subset fuzzer testcases + + happens when tsan is enabled + + test/fuzzing/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1dfa33854f065d5bee104e880f138b994448f44f +Author: Behdad Esfahbod +Date: Sun Jul 12 09:24:03 2020 -0700 + + [arabic] Remove stale comment + + src/hb-ot-shape-complex-arabic.cc | 2 -- + 1 file changed, 2 deletions(-) + +commit f8d345ee06596f90f0588d97e012dd3f62245897 +Author: Ebrahim Byagowi +Date: Thu Jul 9 10:57:51 2020 +0430 + + [ci] Remove ambiguous-reversed-operator warning from whitelist + + Should be fixed by 6a45df0 + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6a45df0a543a74d6d19e249f043c9b223aae1935 +Author: Behdad Esfahbod +Date: Wed Jul 8 18:17:40 2020 -0500 + + Fix -Wambiguous-reversed-operator warning + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2554 + + src/hb-map.hh | 2 +- + src/hb-object.hh | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit 5ea11cb817efbad0daae1a6ca5b60edf55c19d79 +Author: Ebrahim Byagowi +Date: Wed Jul 8 19:29:47 2020 +0430 + + [ci] don't use harfbuzz.cc with -Weverything + + Causes + + In file included from src/harfbuzz.cc:13: + src/hb-ot-cff1-table.cc:36:17: error: using namespace directive in global context in header [-Werror,-Wheader-hygiene] + using namespace CFF; + ^ + In file included from src/harfbuzz.cc:14: + src/hb-ot-cff2-table.cc:35:17: error: using namespace directive in global context in header [-Werror,-Wheader-hygiene] + using namespace CFF; + ^ + 2 errors generated. + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e4f9969108f7a01d7c37c856e6833b400d0278de +Author: Ebrahim Byagowi +Date: Wed Jul 8 15:10:25 2020 +0430 + + [ci] migrate to meson + + two bots, one bot here (distcheck) and one in travis still run autotools and + won't be removed till we decide about autotools + + .circleci/config.yml | 210 ++++++++------------------------ + test/fuzzing/run-draw-fuzzer-tests.py | 6 +- + test/fuzzing/run-shape-fuzzer-tests.py | 6 +- + test/fuzzing/run-subset-fuzzer-tests.py | 6 +- + 4 files changed, 55 insertions(+), 173 deletions(-) + +commit f62f4e388b1a904ea4b2863ec62bb7b4db153fe2 +Author: Ebrahim Byagowi +Date: Wed Jul 8 00:26:40 2020 +0430 + + [meson] minor on gdi, dwrite and icu + + meson.build | 49 ++++++++++++++++++++++--------------------------- + 1 file changed, 22 insertions(+), 27 deletions(-) + +commit 69a1e07acb721cc2345e731f4b85a786a1d95323 +Author: Ebrahim Byagowi +Date: Wed Jul 8 03:12:09 2020 +0430 + + [meson] don't enable benchmark if is in nodownload wrap mode + + Fixes #2551 + + meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit e04050e3b856d275779a2d010fc59ff230a8c4d8 +Author: Ebrahim Byagowi +Date: Wed Jul 8 01:06:30 2020 +0430 + + [meson] split fuzzer_ldflags before use + + test/fuzzing/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 747f65f9ef28c552b53d4afa95cd7706acf78e44 +Author: Ebrahim Byagowi +Date: Tue Jul 7 11:37:16 2020 +0430 + + [meson] Remove HAVE_OT and HAVE_FALLBACK + + No need as 1e8fdd2 and 23768a9 + + meson.build | 2 -- + 1 file changed, 2 deletions(-) + +commit c5def347300b37368d3b342fc0f6e7a5fbd76ff4 +Author: Ebrahim Byagowi +Date: Mon Jul 6 23:29:56 2020 +0430 + + [meson] don't underscorify fuzzers names + + test/fuzzing/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d608f2ac85c5f7b5b98ffd8e9be76567af3aefb0 +Author: Ebrahim Byagowi +Date: Mon Jul 6 22:40:51 2020 +0430 + + [meson] Add fuzzer_ldflags + + As ots, https://github.com/khaledhosny/ots/commit/4d37b9b + + meson_options.txt | 2 ++ + test/fuzzing/meson.build | 12 +++++++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +commit e1c35ca581886a0fe761ea95fdda2cfc3f720403 +Author: Ebrahim Byagowi +Date: Mon Jul 6 22:29:11 2020 +0430 + + [meson] rename the section + + As Behdad's comment + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ddb103ea1a729893a8a0dde24881f13534727207 +Author: Ebrahim Byagowi +Date: Mon Jul 6 22:27:39 2020 +0430 + + [meson] minor + + meson.build | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +commit 13d78b50f2b8a3941e495bc47f0a019a1f6b5fa5 +Author: Ebrahim Byagowi +Date: Mon Jul 6 22:22:42 2020 +0430 + + [doc] minor + + BUILD.md | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit e5dd7d3ef94d68c3f28763962aa3855baf3488b8 +Author: Ebrahim Byagowi +Date: Mon Jul 6 21:40:19 2020 +0430 + + [doc] more on build + + BUILD.md | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +commit 471ae786ce1544e03181ff06d33f5e5a8a71aff4 +Author: Ebrahim Byagowi +Date: Mon Jul 6 18:29:23 2020 +0430 + + [ci] Install a newer meson version + + .circleci/config.yml | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 694a0c6bbc7c7f8dae9617bb3e1718bba940ce6a +Author: Ebrahim Byagowi +Date: Mon Jul 6 18:28:31 2020 +0430 + + [meson] Always add icu deps + + .circleci/config.yml | 4 ++-- + test/api/meson.build | 15 +++++++-------- + 2 files changed, 9 insertions(+), 10 deletions(-) + +commit 28554cb831f60876c0c844b5016118ce11145fcd +Author: Ebrahim Byagowi +Date: Mon Jul 6 17:04:54 2020 +0430 + + [doc] add a note for packagers + + BUILD.md | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit 0fc52d3b2d918e0123d2083a005799b30cb9733b +Author: Ebrahim Byagowi +Date: Mon Jul 6 16:47:50 2020 +0430 + + [doc] Simplify and extend build instructions + + BUILD.md | 44 ++++++++------------------------------------ + 1 file changed, 8 insertions(+), 36 deletions(-) + +commit 3a8d137c2c0c06dd672894ed1b2dcd97f6bab27e +Author: Ebrahim Byagowi +Date: Mon Jul 6 16:31:32 2020 +0430 + + [ci] migrate macOS bots to meson + + .circleci/config.yml | 33 ++++++++++++++++----------------- + 1 file changed, 16 insertions(+), 17 deletions(-) + +commit a2b52cbb77e37b5287608b457f483e1b7712e1b2 +Author: Khaled Hosny +Date: Mon Jul 6 17:01:23 2020 +0200 + + [ci] Use --wrap-mode=default for MSVC builds + + appveyor.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit dc684103d4aededf91e92ead21a8c42ac2acef87 +Author: Khaled Hosny +Date: Mon Jul 6 14:48:37 2020 +0200 + + [meson] Set the default wrap mode to nofallback + + This, I believe, will prevent any automatic use of subprojects be + default and will only look for dependencies on the system. + https://mesonbuild.com/Subprojects.html#commandline-options + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 52199349aa898ae64ec83896d2a0edf6284a0715 +Author: Ebrahim Byagowi +Date: Mon Jul 6 16:30:59 2020 +0430 + + [meson] mark meson as tested + + tested in a CI bot that in a `-Dcoretext=enabled` build, `build/util/hb-shape --shaper=ot` works fine. + + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ba810ce83d392daeaa0c69af5549d020436a5ac7 +Author: Ebrahim Byagowi +Date: Sun Apr 5 22:51:58 2020 +0430 + + [tests] Replace space with colon in batch mode + + test/shaping/run-tests.py | 17 ++++++----------- + util/hb-shape.cc | 7 +++++-- + 2 files changed, 11 insertions(+), 13 deletions(-) + +commit 2013babcbffbd94e9fc0649d2862527a635d4e12 +Author: Ebrahim Byagowi +Date: Mon Jul 6 11:57:45 2020 +0430 + + [tests] Use HAVE_FREETYPE itself instead NO_FT_FUNCS + + test/shaping/data/aots/Makefile.am | 5 +++++ + test/shaping/data/in-house/Makefile.am | 5 +++++ + test/shaping/data/text-rendering-tests/Makefile.am | 5 +++++ + test/shaping/meson.build | 2 +- + test/shaping/run-tests.py | 6 +++--- + 5 files changed, 19 insertions(+), 4 deletions(-) + +commit d5238c18337e88e6ad3bb071296531d7a3354fb2 +Author: Ebrahim Byagowi +Date: Mon Jul 6 01:53:27 2020 +0430 + + [RELEASE] Rely to GitHub's tarball generation + + RELEASING.md | 36 +++++++++++++----------------------- + 1 file changed, 13 insertions(+), 23 deletions(-) + +commit a08ba46d86b1f6ba1a303fbb55ceebccd91f2fe2 +Author: Ebrahim Byagowi +Date: Mon Jul 6 00:31:42 2020 +0430 + + [meson] move meson version so can be referenced easier + + RELEASING.md | 2 +- + meson.build | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 6d3d0ebba3103ec63737383385ed51d65f4e0eae +Author: Ebrahim Byagowi +Date: Mon Jul 6 00:26:07 2020 +0430 + + Remove .tarball-revision generation from meson dist + + Toward making release tarball identical to git checkout now that we are moving to meson. + + Makefile.am | 1 - + meson.build | 4 ---- + write-tarball-revision.py | 13 ------------- + 3 files changed, 18 deletions(-) + +commit 1e6027e29cd5d900337b23a20886b2a8d81bb2de +Author: jfkthame +Date: Sun Jul 5 22:44:10 2020 +0100 + + [aat] Correct array indexing when looking up actions in KerxSubTableFormat4 (#2539) + + * [aat] Correct array indexing when looking up actions in KerxSubTableFormat4. + + - For action_type 0 and 1, there are 2 values per action record; for action_type 2, there are 4. So we need to account for these factors when indexing into the ankrData array. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2531. + + src/hb-aat-layout-kerx-table.hh | 20 +++++++++++++------- + test/shaping/data/in-house/tests/macos.tests | 1 + + 2 files changed, 14 insertions(+), 7 deletions(-) + +commit aa732e454a69ce48bf9a878a43b1bb3c364dca4d +Author: Ebrahim Byagowi +Date: Mon Jul 6 00:10:16 2020 +0430 + + [tests] minor, ligcarets is fetched from gdef not gsub + + test/api/test-ot-ligature-carets.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 122a2897e4782c5e0a39ec7bb0eedb2e7d568913 +Author: Ebrahim Byagowi +Date: Sun Jul 5 22:45:11 2020 +0430 + + [aat] Remove lcar support + + Very low use, only two distinct font files, Apple Chancery.ttf and Hoefler Text.ttc + have it so it really doesn't worth the size addition and so, but one may argue that + whole ligature caret is low use but guess we better to encourage GDEF one anyway. + + src/Makefile.sources | 1 - + src/hb-aat-layout-lcar-table.hh | 174 ------------------------------------- + src/hb-ot-face-table-list.hh | 1 - + src/hb-ot-layout.cc | 18 +--- + src/meson.build | 1 - + test/api/fonts/lcar.ttf | Bin 808 -> 0 bytes + test/api/test-ot-ligature-carets.c | 75 ---------------- + 7 files changed, 1 insertion(+), 269 deletions(-) + +commit a3b9b94b63ba5b99803f9ed62ad5f951d19b61d2 +Author: Ebrahim Byagowi +Date: Mon Jul 6 00:05:21 2020 +0430 + + [style] Remove fdsc support (#2541) + + It isn't exposed yet and low use between Apple fonts, + 32 fdsc table vs 767 OS/2 tables, even Apple doesn't + support it anymore per Ned. + + src/Makefile.sources | 1 - + src/hb-aat-fdsc-table.hh | 126 ------------------------------------------- + src/hb-aat-layout.cc | 1 - + src/hb-ot-face-table-list.hh | 1 - + src/hb-style.cc | 14 ----- + src/meson.build | 1 - + test/api/fonts/aat-fdsc.ttf | Bin 556 -> 0 bytes + test/api/test-style.c | 20 ------- + 8 files changed, 164 deletions(-) + +commit 6a50aa4e54d3c1f678c589c7bbe0d53958bd5d60 +Author: Dirk Lemstra +Date: Sun Jul 5 18:46:29 2020 +0200 + + Corrected the link to the releases. + + docs/usermanual-install-harfbuzz.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a6fb8ce98a6ee7b62fe42e233c946a427587bbd7 +Author: Ebrahim Byagowi +Date: Sat Jul 4 23:43:21 2020 +0430 + + Minor, fix -Wrange-loop-analysis warnings + + Fixing these complains raised by newer versions of clang, + + ./hb-ot-layout-common.hh:1720:53: error: loop variable 'gid_klass_pair' is always a copy because the range of type 'hb_map_iter_t, (lambda at ./hb-ot-layout-common.hh:1672:29), hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis] + for (const hb_pair_t& gid_klass_pair : + it) + + And + + ./hb-ot-color-colr-table.hh:177:44: error: loop variable '_' is always a copy because the range of type 'hb_map_iter_t, (lambda at ./hb-ot-color-colr-table.hh:209:31), hb_function_sortedness_t::RETAINS_SORTING, nullptr>, (anonymous struct at ./hb-algs.hh:331:1) &, (anonymous struct at ./hb-algs.hh:51:1) &, nullptr>, (anonymous struct at ./hb-algs.hh:338:1) &, hb_function_sortedness_t::RETAINS_SORTING, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis] + for (const hb_item_type& _ : + base_it.iter ()) + + src/hb-ot-color-colr-table.hh | 2 +- + src/hb-ot-layout-common.hh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit a470b0b20545229a51209e470692f1ad607bd17e +Author: Ebrahim Byagowi +Date: Sat Jul 4 23:56:10 2020 +0430 + + Minor, disable strict-aliasing warning in set fuzzer + + ../test/fuzzing/hb-set-fuzzer.cc: In function ‘int LLVMFuzzerTestOneInput(const uint8_t*, size_t)’: + ../test/fuzzing/hb-set-fuzzer.cc:38:82: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] + 38 | const instructions_t &instructions = reinterpret_cast (data); + | + + And it is already disabled at project level so let's disable it here also. + + test/fuzzing/hb-set-fuzzer.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 44444822979615b284f679564c48b59ea6927ad8 +Author: Jan Alexander Steffens (heftig) +Date: Thu Jul 2 17:46:56 2020 +0000 + + meson: Pin harfbuzz in .pc files to the built version + + This ensures that we link -subset, -icu and -gobject with a matching + version of the main library. + + src/meson.build | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 3adcf398a02f3b647d149b65e4dfd4506b4cc73e +Author: Jan Alexander Steffens (heftig) +Date: Thu Jul 2 16:41:22 2020 +0000 + + meson: Make Requires in .pc files match autotools + + Libreoffice tries to use only harfbuzz-icu.pc and assumes this includes + -lharfbuzz. + + src/meson.build | 3 +++ + 1 file changed, 3 insertions(+) + +commit 4db1b4f1a266b4b26ad0c445691abcc634a23ab8 +Author: Ebrahim Byagowi +Date: Sat Jul 4 15:02:19 2020 +0430 + + [tests] rename no_ft_funcs to NO_FT_FUNCS + + test/shaping/meson.build | 4 +--- + test/shaping/run-tests.py | 2 +- + 2 files changed, 2 insertions(+), 4 deletions(-) + +commit 6a2b0ba78a88c92b8fe2fcb2c4dd73289fce236f +Author: Ebrahim Byagowi +Date: Sat Jul 4 14:45:15 2020 +0430 + + [py] minor, replace exit with sys.exit + + src/gen-harfbuzzcc.py | 2 +- + src/gen-ragel-artifacts.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +commit a07672d353a943d7133bc545bb4b9f0189e9d4d8 +Author: Ebrahim Byagowi +Date: Sat Jul 4 14:12:55 2020 +0430 + + [py] minor, replace os.environ.get with os.getenv + + src/check-c-linkage-decls.py | 6 +++--- + src/check-externs.py | 4 ++-- + src/check-header-guards.py | 6 +++--- + src/check-includes.py | 6 +++--- + src/check-libstdc++.py | 4 ++-- + src/check-static-inits.py | 4 ++-- + src/check-symbols.py | 4 ++-- + src/gen-def.py | 2 +- + test/fuzzing/run-draw-fuzzer-tests.py | 12 ++++++------ + test/fuzzing/run-shape-fuzzer-tests.py | 12 ++++++------ + test/fuzzing/run-subset-fuzzer-tests.py | 12 ++++++------ + test/shaping/data/aots/update.py | 2 +- + test/shaping/data/text-rendering-tests/update.py | 2 +- + write-tarball-revision.py | 4 ++-- + 14 files changed, 40 insertions(+), 40 deletions(-) + +commit 43e3ab019c6b6ab8e429b3dd3aa13a7b9e8316e6 +Author: Ebrahim Byagowi +Date: Thu Jul 2 17:34:24 2020 +0430 + + [tests] make tests work when ft isn't present + + test/shaping/meson.build | 8 ++++++++ + test/shaping/run-tests.py | 31 ++++++++++++++++++------------- + 2 files changed, 26 insertions(+), 13 deletions(-) + +commit c4b6bad73ae71c6372c97b9a2bb443138e1461b4 +Author: Ebrahim Byagowi +Date: Thu Jul 2 18:07:01 2020 +0430 + + [tests] revert da95a8c and use the shared hb-shape process + + test/shaping/run-tests.py | 40 +++++++++++++--------------------------- + 1 file changed, 13 insertions(+), 27 deletions(-) + +commit 359dbc97ae610a78759fb9dbad1b89ee2540cdf0 +Author: Ebrahim Byagowi +Date: Sat Jul 4 12:28:06 2020 +0430 + + [meson] Use the recommended way to generate harfbuzz.cc + + As https://github.com/harfbuzz/harfbuzz/pull/2532 + + src/gen-harfbuzzcc.py | 24 ++++++++++-------------- + src/meson.build | 14 +++++++------- + 2 files changed, 17 insertions(+), 21 deletions(-) + +commit a7e82e4ffdc377a2c18001beca36b5ebf0f08daa +Author: Ebrahim Byagowi +Date: Sat Jul 4 12:04:41 2020 +0430 + + [meson] use the recommended way to generate hb-version.h + + As https://github.com/harfbuzz/harfbuzz/pull/2532 + + src/gen-hb-version.py | 40 ++++++++++++++++++---------------------- + src/gen-ragel-artifacts.py | 4 +++- + src/meson.build | 3 ++- + 3 files changed, 23 insertions(+), 24 deletions(-) + +commit 404ecc252c7f8af6bc071e7b0823c7d406be6e3b +Author: Ebrahim Byagowi +Date: Sat Jul 4 03:13:32 2020 +0430 + + [meson] use basename in check scripts now that meson passes dir also + + src/check-c-linkage-decls.py | 4 ++-- + src/check-externs.py | 2 +- + src/check-header-guards.py | 4 ++-- + src/check-includes.py | 4 ++-- + src/meson.build | 4 ++-- + 5 files changed, 9 insertions(+), 9 deletions(-) + +commit 785a9a8f8ae9c8f88d7dc38d1ed1dae4d5896877 +Author: Ebrahim Byagowi +Date: Sat Jul 4 02:08:30 2020 +0430 + + [meson] use the recommended way to generate ragel headers + + As described in https://github.com/mesonbuild/meson/issues/7156#issuecomment-629622827 + + src/gen-harfbuzzcc.py | 2 +- + src/gen-ragel-artifacts.py | 45 ++++++++---------------- + src/meson.build | 87 +++++++++++++++++++++++++++------------------- + 3 files changed, 66 insertions(+), 68 deletions(-) + +commit 5c07c291c74050bfa74a661c1e3a9a753b1f221c +Author: Ebrahim Byagowi +Date: Sat Jul 4 04:33:46 2020 +0430 + + [make] use sed the way autotools used to generate hb-version.h + + Left from 1853f84 and now exactly is like 4fc6189a329c + + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 63322513e42193ee27f3f50c90f9e6e0781fea78 +Author: Ebrahim Byagowi +Date: Sat Jul 4 03:34:58 2020 +0430 + + [make] Revert the way harfbuzz.cc and hb-version.h are generated + + Partially reverts 4fc6189 + + src/Makefile.am | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +commit 1853f84abc64ed9dee6ef913760b0295c36a4ef5 +Author: Ebrahim Byagowi +Date: Fri Jul 3 15:14:10 2020 +0430 + + [py] overwrite harfbuzz.cc only when there is a needed change + + src/gen-harfbuzzcc.py | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +commit 82c6ddb986b2fe5333a92cb27526d7639972f905 +Author: Ebrahim Byagowi +Date: Fri Jul 3 15:09:10 2020 +0430 + + [py] remove not needed imports + + src/gen-emoji-table.py | 1 - + src/gen-harfbuzzcc.py | 2 +- + src/gen-hb-version.py | 2 +- + src/gen-indic-table.py | 1 - + src/gen-ragel-artifacts.py | 2 +- + src/gen-ucd-table.py | 2 +- + src/gen-use-table.py | 1 - + src/gen-vowel-constraints.py | 2 -- + 8 files changed, 4 insertions(+), 9 deletions(-) + +commit 38fa924904d9d9bb08a4371c5ee48fd3833c3ed7 +Author: Ebrahim Byagowi +Date: Fri Jul 3 11:44:44 2020 +0430 + + [meson] revert 020b182 as meson fails when there is cyclic dependency + + meson.build | 6 ------ + 1 file changed, 6 deletions(-) + +commit 42d039cc995f8b895dc3294e8888a45863e35c10 +Author: Ebrahim Byagowi +Date: Fri Jul 3 04:32:32 2020 +0430 + + [meson] minor + + meson.build | 13 ++++--------- + src/meson.build | 6 ++---- + 2 files changed, 6 insertions(+), 13 deletions(-) + +commit f2a80ab2c2ee2631ac4d12f10e2dd591e6cfb8c9 +Author: Ebrahim Byagowi +Date: Fri Jul 3 04:28:08 2020 +0430 + + [meson] use null_dep idiom + + meson.build | 15 ++++++++------- + src/meson.build | 4 ++-- + 2 files changed, 10 insertions(+), 9 deletions(-) + +commit 05ab073d9b252e39a3fc4bf60c86827045d3000f +Author: Ebrahim Byagowi +Date: Thu Jul 2 23:54:09 2020 +0430 + + [meson] Improve the way cairo-ft availability is checked + + meson.build | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +commit d5439232946333b60f655d9ed37ec7dadf439287 +Author: Ebrahim Byagowi +Date: Thu Jul 2 01:30:24 2020 +0430 + + [fvar] minor + + src/hb-ot-var-fvar-table.hh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit aadcd3ed8af0ca8eac77a4aacd746be703d55a15 +Author: Ebrahim Byagowi +Date: Wed Jul 1 14:31:33 2020 +0430 + + [meson] use dependency's has_headers to make pulled cairo has ft support + + meson.build | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +commit 020b182c790ec7f401236b5cc595e3f186942d96 +Author: Ebrahim Byagowi +Date: Wed Jul 1 14:22:46 2020 +0430 + + [meson] try freetype without harfbuzz just as a last resort + + meson.build | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +commit 01fa55e88fc03374214a961b9ced089d6812358f +Author: Xavier Claessens +Date: Wed Jun 24 15:56:09 2020 -0400 + + meson: Allow freetype and cairo subprojects to fail + + If their respective option is set to 'auto' configuration of the + fallback subproject should be allowed to fail for any reason. + + meson.build | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 00c652adab5e1be9a3c35a0cc60f1684ca6bb81b +Author: Xavier Claessens +Date: Wed Jun 24 14:11:32 2020 -0400 + + meson: Fallback to cairo subproject when option is 'auto' + + meson.build | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 571365df335f03f9fe0c9593f60db8226bd6d2ef +Author: Xavier Claessens +Date: Wed Jun 24 14:11:07 2020 -0400 + + meson: Simplify check for cairo library and headers + + meson.build | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit c4bbe89b53570025f00d2302e56e1396229716ad +Author: Xavier Claessens +Date: Wed Jun 24 13:40:55 2020 -0400 + + meson: Fallback to freetype2 subproject when option is 'auto' + + But disable harfbuzz support when configuring freetype2 subproject to + avoid dependency cycle. + + meson.build | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 33252ce5761a997c23da2b05bc95e7e5b0be6e35 +Author: Xavier Claessens +Date: Wed Jun 24 13:40:32 2020 -0400 + + meson: Simplify check for freetype2 library and headers + + meson.build | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +commit 40ec187dec07e97ed4004b9831e7be844e6e7948 +Author: Hugo Beauzée-Luyssen +Date: Fri Apr 24 14:01:07 2020 +0200 + + win32: Cleanup PARTITION handling + + Use the WINAPI_PARTITION macro to filter desktop/app flavors. + We use a negated desktop check because the default (for mingw-w64 at + least) is to allow all API by combining desktop + app partitions. + This causes build failures if we were to filter using + WINAPI_PARTITION(WINAPI_FAMILY_APP) because it would always be true, but + those API also require Windows 8 or later, while we only require Vista + + Fixes warnings like + ../src/hb-blob.cc:572:47: warning: 'WINAPI_FAMILY_PC_APP' is not defined, evaluates to 0 [-Wundef] + #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) + ^ + ../src/hb-blob.cc:572:86: warning: 'WINAPI_FAMILY_PHONE_APP' is not defined, evaluates to 0 [-Wundef] + #if defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP) + + src/hb-blob.cc | 6 +++--- + src/hb-mutex.hh | 3 +-- + src/hb.hh | 10 +++++++--- + 3 files changed, 11 insertions(+), 8 deletions(-) + +commit f3f9205fac1580085d0d0a0f76cdb258e6536a78 +Author: Ebrahim Byagowi +Date: Wed Jul 1 03:01:25 2020 +0430 + + [meson] Assume cairo_ft always available when cairo isn't from pkgconfig + + meson.build | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +commit aa8bade97eb9280f53ef0f235b930ed883c4fd5e +Author: Ebrahim Byagowi +Date: Wed Jul 1 01:30:13 2020 +0430 + + [meson] enable cairo as subproject + + .ci/build-win32.sh | 2 +- + subprojects/.gitignore | 5 ++++- + subprojects/cairo.wrap | 5 +++++ + subprojects/libpng.wrap | 10 ++++++++++ + subprojects/pixman.wrap | 6 ++++++ + subprojects/proxy-libintl.wrap | 2 +- + 6 files changed, 27 insertions(+), 3 deletions(-) + +commit ea8e784146664f807dc19a6273dc7651627a06ff +Author: Ebrahim Byagowi +Date: Tue Jun 30 12:54:29 2020 +0430 + + [fvar] Improve naming + + src/hb-ot-var-fvar-table.hh | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +commit 5de07b8acd226d2e3152d9890afb2117002c3716 +Author: Ebrahim Byagowi +Date: Tue Jun 30 11:08:42 2020 +0430 + + [fvar] Move normalize logic where it is actually filled + + src/hb-ot-var-fvar-table.hh | 62 ++++++++++++++++++++++++--------------------- + 1 file changed, 33 insertions(+), 29 deletions(-) + +commit 0f8dda2cf2c73e9f0feec8375bac4c434c62b205 +Author: Ebrahim Byagowi +Date: Tue Jun 30 10:53:12 2020 +0430 + + [fvar] Move shared axis filling values into a new method + + src/hb-ot-var-fvar-table.hh | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +commit 98c42b3bc72079a335937e5cee84fb5d6e8677da +Author: Ebrahim Byagowi +Date: Tue Jun 30 10:48:36 2020 +0430 + + [fvar] Make AxisRecord fields protected + + src/hb-ot-var-fvar-table.hh | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +commit 5f870dfadb6ce3f85e5289131c4291cda31706c6 +Author: Ebrahim Byagowi +Date: Mon Jun 29 02:22:02 2020 +0430 + + [meson] Make benchmark buildable also in dists + + Makefile.am | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +commit 702847aadd6f46a37a79b66b088b1ccaba401010 +Author: Ebrahim Byagowi +Date: Mon Jun 29 00:39:43 2020 +0430 + + [meson] Turn benchmark to a feature + + .circleci/config.yml | 2 +- + .github/workflows/linux-ci.yml | 2 +- + meson.build | 5 ++++- + meson_options.txt | 2 +- + 4 files changed, 7 insertions(+), 4 deletions(-) + +commit 7ee3194f9825e988716d760c0c765b7af2a10639 +Author: Behdad Esfahbod +Date: Sun Jun 28 15:41:44 2020 -0700 + + [meta] Remove wrong comment + + src/hb-meta.hh | 1 - + 1 file changed, 1 deletion(-) + +commit 26b9670d996465161964bf1a0a7c4ecf2bf2212e +Author: Behdad Esfahbod +Date: Sun Jun 28 14:52:15 2020 -0700 + + [ft] Better handle allocation failures + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2513 + + src/hb-ft.cc | 15 +++++---------- + 1 file changed, 5 insertions(+), 10 deletions(-) + +commit 26111a11ad1a648f8075b5289c05c48126cc2d3f +Author: Behdad Esfahbod +Date: Sun Jun 28 02:59:47 2020 -0700 + + [dagger] Minor cleanup using hb_enumerate + + src/hb-ot-layout-gsubgpos.hh | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +commit fd8b0a44c4768be62d162fee0a681ab9a8be7970 +Author: Ebrahim Byagowi +Date: Mon Jun 29 00:19:38 2020 +0430 + + [ci] Limit number of processes ninja uses + + Our CricleCI bots run with 32 cores last time I check which makes random compile issues + like this https://circleci.com/gh/harfbuzz/harfbuzz/146030 to happen. Guess that has + something to do with the way virtualization is done in Circle CI so let's limit number of processes. + + .circleci/config.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 831b09000120ce5b9c448d156e6f099011bfd10d +Author: Ebrahim Byagowi +Date: Sun Jun 28 14:31:21 2020 +0430 + + rebase draw test as recent roundf changes + + test/api/test-draw.c | 145 ++++++++++++++++++++++++++------------------------- + 1 file changed, 73 insertions(+), 72 deletions(-) + +commit cb7fb3cf4a018d6d8eafd2584c7f6934e1413324 +Author: Ebrahim Byagowi +Date: Sun Jun 28 13:41:33 2020 +0430 + + Add test for a783840789c93add42e4d70fdb407eb4ad6e062e + + test/shaping/data/in-house/Makefile.sources | 1 + + test/shaping/data/in-house/fonts/HBTest-VF.ttf | Bin 0 -> 1128 bytes + test/shaping/data/in-house/meson.build | 1 + + .../data/in-house/tests/variations-rounding.tests | 2 ++ + 4 files changed, 4 insertions(+) + +commit 1536271f6b4940eb0a4f28e406bfc96f00d1293d +Author: Ebrahim Byagowi +Date: Sun Jun 28 13:35:13 2020 +0430 + + Don't check roundf availability in cmake and meson + + CMakeLists.txt | 2 +- + meson.build | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +commit 08d57d9eca94c3695a495be504e9e63b6ad1aa59 +Author: Ebrahim Byagowi +Date: Sun Jun 28 13:13:25 2020 +0430 + + Add hb_array_t::lfind + + src/hb-array.hh | 25 ++++++++++++++++--------- + src/hb-open-type.hh | 6 ++++++ + src/hb-ot-stat-table.hh | 17 ++--------------- + src/hb-ot-var-fvar-table.hh | 26 ++++++++------------------ + src/hb-vector.hh | 3 +++ + 5 files changed, 35 insertions(+), 42 deletions(-) + +commit a783840789c93add42e4d70fdb407eb4ad6e062e +Author: Behdad Esfahbod +Date: Sat Jun 27 22:23:59 2020 -0700 + + Always round up + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2496 + + configure.ac | 2 +- + src/hb.hh | 9 ++------- + 2 files changed, 3 insertions(+), 8 deletions(-) + +commit ca8202208a09376d061f50a8b400f5e276d8da06 +Author: Ebrahim Byagowi +Date: Sun Jun 28 11:34:01 2020 +0430 + + [ci] retire psvita and djgpp bots + + till update and overhaul + + .circleci/config.yml | 27 --------------------------- + 1 file changed, 27 deletions(-) + +commit 2267da4ee0d7cafe8f00d94e7a4d48179e3d28b5 +Author: Sebastian Rasmussen +Date: Sun Jun 28 11:18:16 2020 +0800 + + [ft] Do not deference ft_font if it is nullptr (#2502) + + src/hb-ft.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit a373e16131ecc79be47edaaddc528efc6b411752 +Author: Sebastian Rasmussen +Date: Sun Jun 28 11:09:45 2020 +0800 + + [ot-shape] Free shape plan maps upon error creating data (#2497) + + src/hb-ot-shape.cc | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit dbf9896e7aded3693a6e2080fa51b142a682a1f3 +Author: Sebastian Rasmussen +Date: Sun Jun 28 10:57:34 2020 +0800 + + [ft] Handle nullptr when destroying freetype font (#2494) + + src/hb-ft.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 20d1fa3671134de585df993ab1ec9fc46a74634d +Author: Ebrahim Byagowi +Date: Thu Jun 25 12:50:46 2020 +0430 + + [perf] fix the build + + perf/perf-draw.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 76ba619daa2a3e01a37528270774f9011ea42d53 +Author: Ebrahim Byagowi +Date: Tue Jun 23 20:49:43 2020 +0430 + + Fix autotools's harfbuzz.cc build + + How this works? gen-harfbuzzcc.py operates at its own source path (see its 7th line) + and that is reliable when used both on meson and autotools. + + Just like 19ecabed, weirdly this didn't come up sooner, guess it has something + to do with timestamps. Fortunately whole harfbuzz.cc just doesn't matter for + packagers but we can tag a release only for this if needed. + + src/Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 95b1081be432e18642b889c8d3960ddac8ae643b +Author: Ebrahim Byagowi +Date: Tue Jun 9 17:37:36 2020 +0430 + + Add performance benchmark for shaping, get extents and draw + + .circleci/config.yml | 4 +- + .github/workflows/linux-ci.yml | 19 +++++- + meson.build | 4 ++ + meson_options.txt | 2 + + perf/meson.build | 9 +++ + perf/perf-draw.hh | 128 ++++++++++++++++++++++++++++++++++++++ + perf/perf-extents.hh | 65 +++++++++++++++++++ + perf/perf-shaping.hh | 65 +++++++++++++++++++ + perf/perf.cc | 15 +++++ + subprojects/.gitignore | 1 + + subprojects/google-benchmark.wrap | 8 +++ + 11 files changed, 318 insertions(+), 2 deletions(-) + +commit 12a9d572925a324be376440a1a26758eff832bcf +Author: Sebastian Rasmussen +Date: Wed Jun 24 03:25:43 2020 +0800 + + [face] Destroy blob if face closure can not be created (#2490) + + This fixes issue #2489. + + src/hb-face.cc | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +commit 53b0a183c7a40cd208b893ffd02fb4ba54137fc1 +Author: Ebrahim Byagowi +Date: Mon Jun 22 18:04:01 2020 +0430 + + Remove concept of stable/unstable from build tools + + We never practiced the concept of stable and unstable releases, let's + remove the code and always use the stable scheme. + + configure.ac | 11 +---------- + meson.build | 9 +-------- + src/meson.build | 2 +- + 3 files changed, 3 insertions(+), 19 deletions(-) + +commit e4203c14699cc0903a2b4611167a7b99532cfdb0 +Author: Ebrahim Byagowi +Date: Mon Jun 22 05:03:27 2020 +0430 + + 2.6.8 + + NEWS | 13 +++++++++++++ + configure.ac | 2 +- + meson.build | 2 +- + src/hb-ot-layout.cc | 2 +- + src/hb-version.h | 4 ++-- + 5 files changed, 18 insertions(+), 5 deletions(-) + +commit 8c84fee2e568c7b0a1852a7dad26386bbf6a9d0b +Author: Ebrahim Byagowi +Date: Mon Jun 22 04:04:40 2020 +0430 + + Update build systems status messages + + CMakeLists.txt | 2 +- + configure.ac | 11 +++++++++++ + meson.build | 2 +- + 3 files changed, 13 insertions(+), 2 deletions(-) + +commit e541fb474cc948659855dee9374946829de14581 +Author: Ebrahim Byagowi +Date: Sun Jun 21 09:49:48 2020 +0430 + + minor, replace single hb_apply daggers with foreach + + src/hb-map.hh | 10 ++++------ + src/hb-ot-hmtx-table.hh | 36 +++++++++++++++++------------------- + src/hb-ot-math-table.hh | 15 ++++++--------- + 3 files changed, 27 insertions(+), 34 deletions(-) + +commit 8bca9a420e1fcf460e2f3c115fbf7541c81abd9d +Author: Ebrahim Byagowi +Date: Sun Jun 21 09:18:12 2020 +0430 + + [fvar] minor + + src/hb-ot-var-fvar-table.hh | 19 ++++++++----------- + 1 file changed, 8 insertions(+), 11 deletions(-) + +commit b5ae8eab44e92089a184d1901758aac6650eeab0 +Author: Ebrahim Byagowi +Date: Sun Jun 21 08:51:46 2020 +0430 + + [ci] raise msan bot subset timeout + + .circleci/config.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 82ec9ef2e9c1a2c148b0fc7f91a2ca2c2a064ef5 +Author: Ebrahim Byagowi +Date: Sun Jun 21 01:36:16 2020 +0430 + + [fvar] minor simplification + + src/hb-ot-var-fvar-table.hh | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 4e37c48e375f3721157e919497a7114bdcb0d454 +Author: Ebrahim Byagowi +Date: Sat Jun 20 23:57:45 2020 +0430 + + [fvar] Remove get_axis_info and get_axis_deprecated + + src/hb-ot-var-fvar-table.hh | 22 ++++++++-------------- + 1 file changed, 8 insertions(+), 14 deletions(-) + +commit 61c240f39963064852a2e58fc42897351e37d8b5 +Author: Ebrahim Byagowi +Date: Sat Jun 20 13:24:32 2020 +0430 + + [fvar] Push _axis_info fill logic deeper + + src/hb-ot-var-fvar-table.hh | 54 ++++++++++++++++++++++++--------------------- + 1 file changed, 29 insertions(+), 25 deletions(-) + +commit 47a0fbec31c2e49a2b895f6f926bf755820cacab +Author: Ebrahim Byagowi +Date: Sun Jun 21 02:34:59 2020 +0430 + + [meson] Mark longer tests with slow + + So one can skip them easily by `meson test -Cbuild --no-suite slow` + + src/meson.build | 2 +- + test/fuzzing/meson.build | 4 ++-- + test/subset/meson.build | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +commit 47dedc7500843ac9c5a036621a7a65e1b1861a58 +Author: Ebrahim Byagowi +Date: Sun Jun 21 01:54:57 2020 +0430 + + [ci] increase tsan and ubsan subset fuzzer timeout + + as https://circleci.com/gh/harfbuzz/harfbuzz/144966 and https://circleci.com/gh/harfbuzz/harfbuzz/144970 + + .circleci/config.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit b2d0dba5ef2ea9530c9c0d2a8ed33849a59b56f8 +Author: Ebrahim Byagowi +Date: Sat Jun 20 12:07:42 2020 +0430 + + [cpal] Port to dagger + + src/hb-ot-color-cpal-table.hh | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +commit 08816117788491a989888c30b9676bc8d7849f96 +Author: Ebrahim Byagowi +Date: Sat Jun 20 01:02:50 2020 +0430 + + [fuzzer] Make some use for test_font API calls + + Making some use for result of some of the test_font calls to make + sure compilers in fuzzers aren't just optimizing the calls. + + test/api/test-ot-face.c | 42 +++++++++++++++++++++++++---------------- + test/fuzzing/hb-shape-fuzzer.cc | 8 ++++---- + 2 files changed, 30 insertions(+), 20 deletions(-) + +commit b4f34539c26561e35eaa09160784e07cec6b1b9c +Author: Ebrahim Byagowi +Date: Sat Jun 20 00:47:00 2020 +0430 + + [fuzzer] test more of ot-layout APIs + + test/api/test-ot-face.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +commit a6bcc577a9062c875854305aeebe4e90a9abe5f7 +Author: Ebrahim Byagowi +Date: Sat Jun 20 14:19:12 2020 +0430 + + [meson] don't `add_dist_script` when we are subproject + + Happens when harfbuzz is used as a meson subproject, + `ERROR: add_dist_script may not be used in a subproject.` + + meson.build | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 175d93bbdaaf4640eb41baed2698fe0e2ee78831 +Author: Ebrahim Byagowi +Date: Sat Jun 20 14:03:10 2020 +0430 + + [mesos/docs] fix gobject headers ignoring logic + + fixes #2463 + + docs/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 25cf6874430afdb9bf93fcb7f92ae4c11f51be89 +Author: Ebrahim Byagowi +Date: Sat Jun 20 01:36:50 2020 +0430 + + Use dagger in OffsetTable::get_table_tags (#2477) + + src/hb-open-file.hh | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +commit dce4353f86fe9c5e1b62194b89c844ba5da86143 +Merge: 89a2c46e6 d38eb49f4 +Author: Ebrahim Byagowi +Date: Sat Jun 20 01:24:41 2020 +0430 + + Merge pull request #2476 from ebraminio/cv-get-chars + + [layout] Use dagger in hb_ot_layout_feature_get_characters + +commit 89a2c46e6198f188393415151620f6fb5f160e11 +Author: Ebrahim Byagowi +Date: Sat Jun 20 00:31:46 2020 +0430 + + [math] Use dagger (#2478) + + * [math] Use dagger + + * [ot-math] Address Behdad's review + + src/hb-ot-math-table.hh | 20 +++++++++----------- + 1 file changed, 9 insertions(+), 11 deletions(-) + +commit d38eb49f46a3381c7930568b4bfb35af4052c0f9 +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:40:42 2020 +0430 + + Move the iteration logic to FeatureParamsCharacterVariants + + Hopefully I can make members protected also. + + src/hb-ot-layout-common.hh | 12 ++++++++++++ + src/hb-ot-layout.cc | 15 ++++----------- + 2 files changed, 16 insertions(+), 11 deletions(-) + +commit 9b3d4f457ef0010a1bd3f0a8186f886f2499f688 +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:33:07 2020 +0430 + + Use dagger in hb_ot_layout_feature_get_characters + + The way it used to work was a bit nonidiomatic but the replacment + is idiomatic way of iterating used elsewhere. + + The new code just doesn't check nullability of "characters", which isn't + what we do anywhere else. + + src/hb-ot-layout.cc | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +commit 675854b2bac03612ef7f5bd406a7ff7207b89b59 +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:27:39 2020 +0430 + + [test] Add one more test for hb_ot_layout_feature_get_characters + + test/api/test-ot-name.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 63422c4cbc4cb53a19f3986b3c20312c1085b29f +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:24:04 2020 +0430 + + [ot-layout] simplify + + src/hb-ot-layout.cc | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +commit 407bba3e0d591a5708955e76ae914aa67198044e +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:12:42 2020 +0430 + + minor + + move FeatureParamsCharacterVariants::sanitize method right above members + + src/hb-ot-layout-common.hh | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +commit f1488152bd47d4434532226d94f1be38c24ac735 +Author: Ebrahim Byagowi +Date: Fri Jun 19 23:07:28 2020 +0430 + + [doc] Remove the not needed comment + + All the other similar iterating API are like this and don't have such + comment, written at the time I wasn't familiar enough with the way such + API are shaped. + + src/hb-ot-layout.cc | 6 ------ + 1 file changed, 6 deletions(-) + +commit 1535440b48a081cea04cffb7f12cd63c197ae9d4 +Author: Behdad Esfahbod +Date: Fri Jun 19 08:30:59 2020 -0700 + + [dispatch] Fix debug builds + + src/hb-aat-layout-common.hh | 1 - + src/hb-aat-layout.cc | 3 +-- + src/hb-dispatch.hh | 3 ++- + src/hb-ot-layout-common.hh | 2 -- + src/hb-ot-layout-gsubgpos.hh | 6 +----- + src/hb-sanitize.hh | 2 -- + src/hb-subset.hh | 4 +--- + 7 files changed, 5 insertions(+), 16 deletions(-) + +commit bb9a40da653b5bab595f79de76a8feda18cb1b5c +Author: Ebrahim Byagowi +Date: Fri Jun 19 19:22:47 2020 +0430 + + [lcar] Use dagger + + src/hb-aat-layout-lcar-table.hh | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +commit 6fbb59aba6680225d13a6c3e0ba7d033096e6c55 +Author: Behdad Esfahbod +Date: Thu Jun 18 15:12:37 2020 -0700 + + Use daggers in a few get_array functions + + As I review https://github.com/harfbuzz/harfbuzz/pull/2471 + + src/hb-ot-layout-common.hh | 21 +++++++++++---------- + src/hb-ot-layout-gdef-table.hh | 7 +++---- + 2 files changed, 14 insertions(+), 14 deletions(-) + +commit a512ca8eae70710974e845062305d73bf4012466 +Merge: 03bd3efaa 70d6696cc +Author: Ebrahim Byagowi +Date: Fri Jun 19 10:46:12 2020 +0430 + + Merge pull request #2473 from harfbuzz/gsub-alternate + + fixes #673 + +commit 03bd3efaa7072021b702ab3f4ce8abcd1ac47d46 +Author: Ebrahim Byagowi +Date: Fri Jun 19 10:32:46 2020 +0430 + + [meson] Write git revision to .tarball-revision on dist tarball + + Makefile.am | 1 + + meson.build | 2 ++ + write-tarball-revision.py | 13 +++++++++++++ + 3 files changed, 16 insertions(+) + +commit 70d6696cc6c863673a580b3bfc79d16d3a5d393d +Author: Behdad Esfahbod +Date: Thu Jun 18 17:09:39 2020 -0700 + + [dispatch] Don't require debug_depth for untraced objects + + src/hb-dispatch.hh | 1 + + src/hb-ot-layout-common.hh | 4 +--- + src/hb-ot-layout-gsubgpos.hh | 20 ++++---------------- + src/hb-ot-layout.cc | 4 +--- + 4 files changed, 7 insertions(+), 22 deletions(-) + +commit 5bc4cedde67854ecda72305d839c7e7ad297e83e +Author: Behdad Esfahbod +Date: Thu Jun 18 17:04:35 2020 -0700 + + Rename + + src/hb-ot-layout.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +commit dc492d7c8a49f0c0322848348d35ac8b818fce57 +Author: Behdad Esfahbod +Date: Thu Jun 18 17:03:05 2020 -0700 + + [dispatch] Comment + + src/hb-ot-layout-gsubgpos.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 25aec0265c1a1030c7d6453e85b2463589c8688a +Author: Behdad Esfahbod +Date: Thu Jun 18 16:58:01 2020 -0700 + + [dispatch] Default return type to hb_empty_t + + src/hb-dispatch.hh | 2 +- + src/hb-ot-layout-common.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 8 ++++---- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit 8d0a90ac1bd9f6485d3e0fead7c648caa735eb81 +Author: Behdad Esfahbod +Date: Thu Jun 18 16:53:54 2020 -0700 + + [dispatch] Default debug level to 0 + + src/hb-dispatch.hh | 2 +- + src/hb-ot-layout-common.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 14 +++++++------- + src/hb-ot-layout.cc | 2 +- + 4 files changed, 10 insertions(+), 10 deletions(-) + +commit d7d8604ec8526f96618b4f0f83ed9b3204e7b597 +Author: Behdad Esfahbod +Date: Thu Jun 18 16:51:01 2020 -0700 + + Remove excessive trace routes + + src/hb-debug.hh | 4 ---- + src/hb-ot-layout-gsubgpos.hh | 6 ++---- + 2 files changed, 2 insertions(+), 8 deletions(-) + +commit e47a2ab8f8a90d903653a1d0d970c220f0957158 +Author: Behdad Esfahbod +Date: Thu Jun 18 16:48:07 2020 -0700 + + Remove unused dispatcher names + + src/hb-dispatch.hh | 1 + + src/hb-ot-layout-common.hh | 1 - + src/hb-ot-layout-gsubgpos.hh | 5 ----- + src/hb-ot-layout.cc | 1 - + 4 files changed, 1 insertion(+), 7 deletions(-) + +commit b2a1acccd9776beddb25fb4f9e24ca6e272958f4 +Author: Behdad Esfahbod +Date: Thu Jun 18 16:41:31 2020 -0700 + + Simplify get_glyph_alternates() dispatcher + + Trying to make it **very simple** to add a specialized dispatcher for + one API to be routed to just a few objects (one in this case). + + src/hb-ot-layout-gsub-table.hh | 9 ++++++--- + src/hb-ot-layout-gsubgpos.hh | 40 ---------------------------------------- + src/hb-ot-layout.cc | 32 ++++++++++++++++++++++++++++++-- + 3 files changed, 36 insertions(+), 45 deletions(-) + +commit ffe8d3f39d5a742e51f87b5af66a2a7e63c87037 +Author: Behdad Esfahbod +Date: Thu Jun 18 16:31:39 2020 -0700 + + Use dispatch for get_glyph_alternates_t + + First time we do this in a way that if target object doesn't have the matching + function we basically "ignore". Risky but I feel like is the right decision + for this case. + + I'm going to put back the template varargs and use those, which would make + the dispatcher be just that: "dispatcher", and wouldn't need to carry the + call context. That would be a refreshing change I think. + + src/hb-ot-layout-gsub-table.hh | 41 +++-------------------------------------- + src/hb-ot-layout-gsubgpos.hh | 39 +++++++++++++++++++++++++++++++++++++++ + src/hb-ot-layout.cc | 5 ++++- + 3 files changed, 46 insertions(+), 39 deletions(-) + +commit bedf4171218ef7c64386aa492b574356277fc21f +Author: Behdad Esfahbod +Date: Thu Jun 18 15:49:01 2020 -0700 + + Push get_glyph_alternates() work all the way down + + src/hb-ot-layout-gsub-table.hh | 36 ++++++++++++------------------------ + 1 file changed, 12 insertions(+), 24 deletions(-) + +commit 5bede33885a5349c05e0724e8ee6948af8a25670 +Author: Behdad Esfahbod +Date: Thu Jun 18 15:25:19 2020 -0700 + + Whitespace + + src/hb-ot-layout.cc | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit e13aaaaa4566c8aa1a790402b38448713c6621ab +Author: Behdad Esfahbod +Date: Thu Jun 18 15:22:54 2020 -0700 + + Move API to right place in header + + src/hb-ot-layout.h | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +commit 26514ad70e4e96b862ff6bd63fb2a03e136e7620 +Author: Behdad Esfahbod +Date: Thu Jun 18 15:22:07 2020 -0700 + + Fix API comment + + src/hb-ot-layout.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 1bac85828c134835ce0a3ecd517aefdcecf43d9a +Author: Ebrahim Byagowi +Date: Thu Jun 18 22:56:07 2020 +0430 + + [layout] Rename _get_alternates to _get_glyph_alternates + + docs/harfbuzz-sections.txt | 2 +- + src/hb-ot-layout-gsub-table.hh | 36 ++++++++++++++++++------------------ + src/hb-ot-layout.cc | 16 ++++++++-------- + src/hb-ot-layout.h | 12 ++++++------ + test/api/test-ot-alternates.c | 6 +++--- + 5 files changed, 36 insertions(+), 36 deletions(-) + +commit 9ef9ac3749abdc814088571108760144b0f6f812 +Author: Behdad Esfahbod +Date: Wed Jun 17 17:41:15 2020 -0700 + + [gpos] Break cycle-of-2 when cursive attaching + + Fix thinko this time around. + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2469 + + src/hb-ot-layout-gpos-table.hh | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit d3c169792ba4771b459c37a4430fab6f2dcbda5e +Author: Ebrahim Byagowi +Date: Thu Jun 18 08:37:21 2020 +0430 + + [layout] move alternate buffer iteration logic to AlternateSet + + src/hb-ot-layout-gsub-table.hh | 72 +++++++++++++++++++++++++++++++----------- + src/hb-ot-layout.cc | 13 ++------ + 2 files changed, 57 insertions(+), 28 deletions(-) + +commit 1348a2c865d368a4f6e83add0edfa9945d84914f +Author: Ebrahim Byagowi +Date: Tue Jun 16 21:05:16 2020 -0400 + + [layout] hb_ot_layout_lookup_get_alternates, a new API + + An API to retrieve one-to-one alternates from a given GSUB lookup index. + + docs/harfbuzz-sections.txt | 1 + + src/hb-ot-layout-gsub-table.hh | 30 ++++++++++++++++++++++++ + src/hb-ot-layout.cc | 37 +++++++++++++++++++++++++++++ + src/hb-ot-layout.h | 7 ++++++ + test/api/Makefile.am | 1 + + test/api/meson.build | 1 + + test/api/test-ot-alternates.c | 53 ++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 130 insertions(+) + +commit a4955e21fdd4069cad6f519900b9ce130408581b +Author: Ebrahim Byagowi +Date: Thu Jun 18 08:59:49 2020 +0430 + + [ci] install gobject-instrospection on linux ci + + .github/workflows/linux-ci.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 3fe719571362e39e70eb12ea9d7be9dabb505c4c +Author: Behdad Esfahbod +Date: Wed Jun 17 17:51:08 2020 -0700 + + Revert "[gpos] Break cycle-of-2 when cursive attaching" + + This reverts commit 7090707de67e660ae626ecf774f6af8a63a692ab. + + src/hb-ot-layout-gpos-table.hh | 6 ------ + 1 file changed, 6 deletions(-) + +commit 7090707de67e660ae626ecf774f6af8a63a692ab +Author: Behdad Esfahbod +Date: Wed Jun 17 17:41:15 2020 -0700 + + [gpos] Break cycle-of-2 when cursive attaching + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2469 + + src/hb-ot-layout-gpos-table.hh | 6 ++++++ + 1 file changed, 6 insertions(+) + +commit 09dedb1b382d0f2f8725ead891c27b87359c072c +Author: Khaled Hosny +Date: Thu Jun 18 02:29:12 2020 +0200 + + [tests] I’m an idiot + + test/shaping/data/in-house/Makefile.sources | 1 + + test/shaping/data/in-house/meson.build | 1 + + test/shaping/data/in-house/tests/reverse-sub.tests | 1 + + test/shaping/texts/in-house/shaper-default/script-latin/misc/misc.txt | 1 - + 4 files changed, 3 insertions(+), 1 deletion(-) + +commit 2598855454b77b69633220e7e912b2ac82f450f9 +Author: Khaled Hosny +Date: Thu Jun 18 02:15:59 2020 +0200 + + [tests] Add test for ReverseChainSingleSubstFormat1 missing substitute + + https://github.com/harfbuzz/harfbuzz/issues/2467 + + .../fonts/a706511c65fb278fda87eaf2180ca6684a80f423.ttf | Bin 0 -> 924 bytes + .../in-house/shaper-default/script-latin/misc/misc.txt | 1 + + 2 files changed, 1 insertion(+) + +commit e5de3918f7fbed754ff912c78bec8f9825b06d52 +Author: Behdad Esfahbod +Date: Wed Jun 17 16:54:23 2020 -0700 + + [indic] Add comment + + https://github.com/harfbuzz/harfbuzz/issues/2298#issuecomment-615318654 + + src/hb-ot-shape-complex-indic.cc | 1 + + 1 file changed, 1 insertion(+) + +commit 41ef75f64afc36a8d7d6ab8382dd2093ad86fc49 +Author: Behdad Esfahbod +Date: Wed Jun 17 16:29:09 2020 -0700 + + [gsub] Don't substitute in ReverseChainSingleSubstFormat1 if missing substitute + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2467 + + src/hb-ot-layout-gsub-table.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit e7c79e16b8cb0983ee9cfed478d721c75949e757 +Merge: f31e3d426 fe926970b +Author: Behdad Esfahbod +Date: Wed Jun 17 15:32:40 2020 -0700 + + Merge pull request #2287 from simoncozens/instrumentation + + Add messages for GPOS/GSUB (take 2) + +commit fe926970bc16ee438fe74d8ee366393ed3576bd5 +Author: Simon Cozens +Date: Tue Jun 16 09:12:44 2020 +0100 + + Reformat messages again + + Messages can be: + + start/end table XXXX + start/end lookup NNNN + start/end subtable NNNN (for kerx/kern) + start/end chainsubtable NNNN (for morx) + + src/hb-aat-layout-kerx-table.hh | 4 ++-- + src/hb-aat-layout-morx-table.hh | 4 ++-- + src/hb-ot-layout.cc | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +commit f31e3d426dbbc096bca4892cbc2dc3f541a36d1d +Author: Ebrahim Byagowi +Date: Fri Jun 12 17:33:11 2020 +0430 + + [ci] raise subset fuzzer timeout for asan and valgrind bots + + .circleci/config.yml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit cccdaf45df8a0664bc20c54055064460080ccbb8 +Author: Ebrahim Byagowi +Date: Fri Jun 12 11:15:37 2020 +0430 + + [docs] minor + + revealed now that we turned gobject/gir build to 'auto' + + src/hb-ot-meta.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit be278acf44e862c5cf83a0ca118058e1cb61372d +Author: Ebrahim Byagowi +Date: Fri Jun 12 01:46:23 2020 +0430 + + [ci] raise subset fuzzer cases runner timeout + + the bots are either not optimized ones or sanitizer ones so not much value + on trying to optimize them further. + + .circleci/config.yml | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit b86bfe52915f61c0b1c228d967c42b14627fed5d +Author: Ebrahim Byagowi +Date: Fri Jun 12 01:42:27 2020 +0430 + + minor, fix lists sorting + + test/shaping/data/in-house/meson.build | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 4e7cb7e2c4b182e8062c3c0c9a15059bcfd40700 +Author: Ebrahim Byagowi +Date: Fri Jun 12 01:38:16 2020 +0430 + + minor, fix lists sorting + + src/Makefile.sources | 6 +++--- + src/meson.build | 6 +++--- + test/shaping/data/in-house/Makefile.sources | 6 +++--- + test/subset/data/Makefile.sources | 18 +++++++++--------- + 4 files changed, 18 insertions(+), 18 deletions(-) + +commit 973c47f6c9886cd2a50d29e09c978831b4e355f6 +Author: Qunxin Liu +Date: Thu Jun 11 11:27:57 2020 -0700 + + [subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS. + + 2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features + + docs/harfbuzz-sections.txt | 2 -- + src/gen-def.py | 4 +-- + src/hb-ot-layout-gpos-table.hh | 5 +++ + src/hb-ot-layout-gsub-table.hh | 5 +++ + src/hb-ot-layout-gsubgpos.hh | 15 +++++++++ + src/hb-ot-layout.cc | 66 --------------------------------------- + src/hb-ot-layout.h | 14 --------- + src/hb-subset-plan.cc | 35 ++++++++------------- + test/api/test-ot-face.c | 6 ---- + test/subset/data/Makefile.sources | 3 -- + test/subset/meson.build | 5 --- + 11 files changed, 39 insertions(+), 121 deletions(-) + +commit 62de2f749c16ebbb3908dba09e5dfcd670765140 +Author: Ebrahim Byagowi +Date: Thu Jun 11 19:09:24 2020 +0430 + + [meson] Remove spaces before named parameter colons + + meson documentations sometimes adds the space and sometimes don't and we + aren't adding it most of the times unconsciously so let's the cases and + be consistent. + + meson.build | 18 +++++++++--------- + meson_options.txt | 10 +++++----- + 2 files changed, 14 insertions(+), 14 deletions(-) + +commit 2d91662294ebe8d4856342464243f0a9fa734702 +Author: Ebrahim Byagowi +Date: Thu Jun 11 19:04:08 2020 +0430 + + [meson] move tests lists to their directories + + We had to do so for text-rendering-tests list, let's apply the same for the rest also. + + test/shaping/data/aots/Makefile.am | 1 + + test/shaping/data/aots/meson.build | 123 +++++++++++++++++++++ + test/shaping/data/in-house/Makefile.am | 1 + + test/shaping/data/in-house/meson.build | 60 +++++++++++ + test/shaping/meson.build | 189 +-------------------------------- + 5 files changed, 188 insertions(+), 186 deletions(-) + +commit b8454c3d61808bb85996d8e734cdb87e5be059ae +Author: Ebrahim Byagowi +Date: Thu Jun 11 18:32:13 2020 +0430 + + [meson] use if blocks to separate different dependencies + + meson.build | 106 ++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 56 insertions(+), 50 deletions(-) + +commit 8571b3551c6bbb032503c7c301c13d3d961923b5 +Author: Ebrahim Byagowi +Date: Sat Jun 6 20:16:50 2020 +0430 + + [releasing] Remove tar signing procedure + + https://github.com/harfbuzz/harfbuzz/issues/2449#issuecomment-639898473 + + Makefile.am | 11 ----------- + RELEASING.md | 6 ++---- + 2 files changed, 2 insertions(+), 15 deletions(-) + +commit ebab4b8658ed415b06d3014fca78e0e1c0bba5df +Author: Ebrahim Byagowi +Date: Wed Jun 10 16:52:32 2020 +0430 + + [meson] Implement disabled state for cairo/freetype/icu + + 'disabled' wasn't implemented for some of the features so they were + getting found even with explicit -Dfeature=disabled, this implements it. + + Run the following command to test this change and check whether 'disabled' + was actually effective, + meson build -Dglib=disabled -Dgobject=disabled -Dcairo=disabled -Dfontconfig=disabled -Dicu=disabled -Dfreetype=disabled -Dintrospection=disabled -Dgtk_doc=disabled + + This is useful when one wants to integrate harfbuzz into another project via + meson's subproject mechanism. + + meson.build | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +commit b88f1096ad88c8ee3a88b6d483387c4e6eab6f61 +Author: Nirbheek Chauhan +Date: Tue Jun 9 20:06:50 2020 +0530 + + meson: Export symbols for a DLL when not building statically + + `default_library` might be 'both', in which case we will fail to link + when building with MSVC. + + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5c8900efe43c0f408a8683bfd2be274cd0dac8c4 +Author: Khaled Hosny +Date: Mon Jun 8 02:29:04 2020 +0200 + + [coretext] Properly check for macOS 10.10 + + Fixes https://github.com/harfbuzz/harfbuzz/issues/2452 + + src/hb-coretext.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 0151da23d605c7709d432ebfb17a337a5f662839 +Author: Ebrahim Byagowi +Date: Sat Jun 6 01:48:23 2020 +0430 + + [meson] Remove with_libstdcxx build option + + This was done in #770 but no indication of anyone is using it, + let's remove it from our meson port and we can just don't care about + it in autotools port after the migration to meson. + + meson_options.txt | 2 -- + src/meson.build | 21 +++++---------------- + 2 files changed, 5 insertions(+), 18 deletions(-) + +commit 56719474c208508220f24b78fd295d94564882fa +Author: Behdad Esfahbod +Date: Fri Jun 5 12:57:23 2020 -0700 + + s/blacklist/blocklist/g + + src/hb-ot-layout-gdef-table.hh | 4 ++-- + src/hb-ot-layout-gpos-table.hh | 2 +- + src/hb-ot-layout-gsub-table.hh | 2 +- + src/hb-ot-layout-gsubgpos.hh | 2 +- + src/hb-ot-layout.cc | 8 ++++---- + src/hb-ot-shape-complex-indic.cc | 2 +- + 6 files changed, 10 insertions(+), 10 deletions(-) + +commit 22048d55aa37acfe50a0f5ae7b361db8d323905e +Author: Ebrahim Byagowi +Date: Fri Jun 5 04:09:07 2020 +0430 + + [meson] Add -Bsymbolic-functions + + meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +commit e98aa0c89712d676f8db328a192cd19a009f28ce +Author: Ebrahim Byagowi +Date: Tue Jun 2 16:25:22 2020 +0430 + + [meson] Make gobject and introspection features automatic + + Meson doesn't have DISTCHECK_CONFIGURE_FLAGS like concept IIUC + and enabling them is the main thing we are doing with + distcheck flags anyway so lets turn them to auto. + + meson_options.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 65462c4b0bf4b1656bacc5377d248f53e9966fd0 +Author: Ebrahim Byagowi +Date: Fri Jun 5 01:08:08 2020 +0430 + + minor, improve the need for graphite comment + + configure.ac | 2 +- + meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +commit 03bd6ead445b78560083caa22ce144058dcf4385 +Author: Christoph Reiter +Date: Wed Jun 3 23:52:10 2020 +0200 + + [meson] Only pass required dependencies to everything + + Instead of passing dependencies as required we used one giant shared + dependency list containing all dependencies for every library/executable. + While this kinda works, the specified deps are also used for generating + the pkg-config files and this leads to lots of Requires.private and Libs.private + entries which aren't really needed. + + This removes the "deps" array and replaces it with a few smaller ones and + makes sure the public libraries only get passed the dependencies actually + needed. + + Fixes #2441 + + meson.build | 29 ++++++++++------------------- + src/meson.build | 24 ++++++++++++++++-------- + test/api/meson.build | 2 +- + test/fuzzing/meson.build | 1 - + util/meson.build | 10 ++++++---- + 5 files changed, 33 insertions(+), 33 deletions(-) + +commit 759df46575db49dd7d15da6e6df441d622e65470 +Author: Ebrahim Byagowi +Date: Thu Jun 4 15:49:54 2020 +0430 + + [style] Hide behind HB_EXPERIMENTAL_API compile flag + + docs/harfbuzz-sections.txt | 6 ------ + src/gen-def.py | 1 + + src/hb-style.cc | 40 ++++++++++++++++++++++++++++++++++++++-- + src/hb-style.h | 38 +++----------------------------------- + test/api/test-ot-face.c | 2 ++ + test/api/test-style.c | 10 ++++++++++ + 6 files changed, 54 insertions(+), 43 deletions(-) + +commit d54de56870d136e59b6239b9d1db023fe8f002ab +Author: Ebrahim Byagowi +Date: Tue Apr 21 16:33:50 2020 +0430 + + [style] Adopt with meson + + src/meson.build | 2 ++ + test/api/meson.build | 1 + + 2 files changed, 3 insertions(+) + +commit de0ec5f4fef8730d10ca049c43991ede7ae42f6d +Author: Ebrahim Byagowi +Date: Sat Feb 8 14:09:09 2020 +0330 + + [style] give ptem value when asked for opsz + + ptem, used for AAT's tracking/`trak` table is equivalent to opsz of variable fonts. + + For variable AAT fonts, such as SFNS, ideally variable axis of the hb_font_t + should be set and equivalent to ptem, https://crbug.com/1005969#c37 + + src/hb-style.cc | 3 +++ + test/api/test-style.c | 3 +++ + 2 files changed, 6 insertions(+) + +commit 22037499b42d9fce100ee771a229b961b5e1cb2d +Author: Ebrahim Byagowi +Date: Sun Aug 4 11:31:31 2019 +0430 + + [style] New experimental API, hb_style_get_value + + Searches variation axes of a hb_font_t object for a specific axis first, + if not set, then tries to get default style values from different + tables of the font. + + docs/harfbuzz-sections.txt | 6 ++ + src/Makefile.sources | 2 + + src/harfbuzz.cc | 1 + + src/hb-config.hh | 2 +- + src/hb-ot-face-table-list.hh | 5 +- + src/hb-ot-stat-table.hh | 73 ++++++++++++++++++ + src/hb-style.cc | 110 +++++++++++++++++++++++++++ + src/hb-style.h | 75 ++++++++++++++++++ + src/hb-subset-plan.cc | 2 +- + src/hb.h | 1 + + test/api/Makefile.am | 1 + + test/api/fonts/aat-fdsc.ttf | Bin 0 -> 556 bytes + test/api/test-ot-face.c | 6 ++ + test/api/test-style.c | 177 +++++++++++++++++++++++++++++++++++++++++++ + 14 files changed, 457 insertions(+), 4 deletions(-) + +commit d67553d12fc72c4a89fcb75400829b62d53ca064 +Author: Ebrahim Byagowi +Date: Thu Jun 4 12:31:57 2020 +0430 + + [meson] fix with_libstdcxx effect + + oops + + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 6f7048b917e7c81d276a7dc4a832a4cf042ffffe +Author: Ebrahim Byagowi +Date: Thu Jun 4 10:18:35 2020 +0430 + + [meson] Update subset tests list from autotools + + test/subset/meson.build | 4 ++++ + 1 file changed, 4 insertions(+) + +commit 7e74aa6a7811ddb0999be5f33581d7933af6ba1c +Author: Ebrahim Byagowi +Date: Thu Jun 4 09:32:20 2020 +0430 + + [ci] fix meson-gcc-mingw bot + + keep build folder for dist testing + + .circleci/config.yml | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +commit b35764334e1ddf11c9aa4d0b1d0f9b7467d79106 +Author: Ebrahim Byagowi +Date: Thu Jun 4 04:10:11 2020 +0430 + + [ci] check workability of meson based dist + + .circleci/config.yml | 2 ++ + 1 file changed, 2 insertions(+) + +commit 6bf5e8e7e62620501b068230f398db1e9219f1b8 +Author: Ebrahim Byagowi +Date: Thu Jun 4 04:03:14 2020 +0430 + + [ci] Deploy only when there is something to push + + Apparently the previous version of gtk-doc was doing weird changes like https://github.com/harfbuzz/harfbuzz.github.io/commit/1b40da99bbd1985d060d273ef37f1ccad16913c4 and https://github.com/harfbuzz/harfbuzz.github.io/commit/d1d9bff14c805d1bcbd2446a4c22e633e8d365cf + in order to make every to have something for pushing and + now that we don't have such changes it will fail. + + Alternatively we can go for `git commit --allow-empty`, guess better to + pollute history of https://github.com/harfbuzz/harfbuzz.github.io however. + + .ci/deploy-docs.sh | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +commit 029ecf326e75071a84609a7510a8d4e58182f3e9 +Author: Ebrahim Byagowi +Date: Thu Jun 4 03:31:15 2020 +0430 + + [meson] Fix gen-hb-version.py run + + It gets complicated apparently when executed in the dist process, let's use raw + names now that we are operating in the script folder anyway. + + src/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 870304df766f0518898a09cd191c1fb6d94240f7 +Author: Ebrahim Byagowi +Date: Thu Jun 4 03:19:53 2020 +0430 + + [meson] Remove amalgam build option + + Fixes #2444 + + .circleci/config.yml | 6 ++---- + meson_options.txt | 2 -- + src/meson.build | 9 +-------- + 3 files changed, 3 insertions(+), 14 deletions(-) + +commit 5293fdba239846e677ba4ef6139ee6593e60b4f0 +Author: Ebrahim Byagowi +Date: Thu Jun 4 02:38:27 2020 +0430 + + [ci] Move docs deployment from autotools to meson + + .ci/deploy-docs.sh | 9 ++------- + .github/workflows/linux-ci.yml | 10 ++++++++++ + .travis.yml | 1 - + 3 files changed, 12 insertions(+), 8 deletions(-) + +commit b8320340cebace11cd3781fc029afbd50e82ad97 +Author: Ebrahim Byagowi +Date: Wed Jun 3 23:40:57 2020 +0430 + + [meson] fix gen script input + + matters more when harfbuzz is a subproject + + src/meson.build | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +commit 50d3f531ee96ffa862bc05429814ba104dddd4a2 +Author: Ebrahim Byagowi +Date: Wed Jun 3 17:59:41 2020 +0430 + + Use output names in update-unicode-tables.make + + src/update-unicode-tables.make | 51 +++++++++++++++++++----------------------- + 1 file changed, 23 insertions(+), 28 deletions(-) + commit fb46a32ed0322d3f617dbfc7b982ff26f47d789c Author: Ebrahim Byagowi Date: Wed Jun 3 12:54:26 2020 +0430 @@ -847,7 +32643,7 @@ Date: Fri Apr 17 11:58:31 2020 -0700 39 files changed, 176 insertions(+), 10 deletions(-) commit 00aba82a6d4b00b2d512e13ea1ee7aefea5d7441 -Merge: ca2705f1 461cd5a1 +Merge: ca2705f1f 461cd5a15 Author: Ebrahim Byagowi Date: Thu May 21 00:10:33 2020 +0430 @@ -962,7 +32758,7 @@ Date: Fri May 15 10:10:27 2020 +0430 1 file changed, 1 insertion(+), 2 deletions(-) commit c15146448b534479de08b6aa8e6b1795221a2e1e -Merge: 069c5de9 7a961692 +Merge: 069c5de9f 7a961692e Author: Behdad Esfahbod Date: Thu May 14 19:12:41 2020 -0700 @@ -1557,7 +33353,7 @@ Date: Thu Apr 23 10:50:02 2020 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit cc1ed76f381531c800833cb0f5b41fc524ed20a3 -Merge: 5a0936f5 a11db0b9 +Merge: 5a0936f53 a11db0b9d Author: Behdad Esfahbod Date: Fri Apr 24 08:15:32 2020 -0700 @@ -1575,7 +33371,7 @@ Date: Thu Apr 23 19:09:00 2020 -0400 1 file changed, 1 insertion(+), 1 deletion(-) commit a11db0b9d4d3e7cc22a4a53374d4f8a049ce067e -Merge: 1ed30515 19346524 +Merge: 1ed30515c 19346524c Author: Behdad Esfahbod Date: Thu Apr 23 15:32:43 2020 -0700 @@ -2591,6 +34387,47 @@ Date: Tue Mar 31 17:46:19 2020 -0700 ...ase-minimized-hb-subset-fuzzer-5719588814979072 | Bin 0 -> 1048576 bytes 2 files changed, 18 insertions(+), 7 deletions(-) +commit bdda2ff6092a3ddce2fe236dfe8cf3176330589b +Author: Simon Cozens +Date: Mon Mar 30 16:40:29 2020 +0100 + + More strictly follow noun/verb/identifier format for GPOS/GSUB lookups + + Less generic than the previous commit, but more descriptive and more consistent. + + src/hb-ot-layout.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit bef7ef81da8030628ca99c27a3eb52ab642e6a85 +Author: Simon Cozens +Date: Mon Mar 30 16:39:43 2020 +0100 + + Reformat kerx/morx instrumentation to 'verb noun identifier' + + src/hb-aat-layout-kerx-table.hh | 4 ++-- + src/hb-aat-layout-morx-table.hh | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit 42aac64030c54e514c4c031b49f646ece2b878fa +Author: Simon Cozens +Date: Mon Mar 30 16:06:30 2020 +0100 + + Add table index to lookup messages + + We could say GSUB/GPOS explicitly, but using the index is more general, in case future tables (such as JSTF, Silf) become supported. + + src/hb-ot-layout.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2cea796b75702d4fd433da2f4733810cf3dd3cfa +Author: Simon Cozens +Date: Mon Mar 30 16:04:17 2020 +0100 + + Instrument entering GSUB/GPOS tables + + src/hb-ot-layout.cc | 4 ++++ + 1 file changed, 4 insertions(+) + commit 1b64b73080994ac577a6d936a0109b3c6f5d21de Author: Khaled Hosny Date: Mon Mar 30 16:49:23 2020 +0200 @@ -4787,7 +36624,7 @@ Date: Wed Feb 26 15:14:41 2020 +0330 3 files changed, 93 insertions(+), 104 deletions(-) commit c400cb8863abb5f894e021da5d524c1e28b1e980 -Merge: c21eb86b 4081439d +Merge: c21eb86bf 4081439d2 Author: Michiharu Ariza Date: Tue Feb 25 16:06:03 2020 -0800 @@ -4802,7 +36639,7 @@ Date: Tue Feb 25 16:06:03 2020 -0800 * coding & comment tweaks commit c21eb86bfd671b04aca54395988cbfe6c9fd2e27 -Merge: 152000d9 4aa354be +Merge: 152000d9c 4aa354beb Author: Ebrahim Byagowi Date: Wed Feb 26 02:54:38 2020 +0330 @@ -5860,7 +37697,7 @@ Date: Wed Feb 5 09:26:45 2020 -0500 1 file changed, 1 insertion(+), 2 deletions(-) commit 43253e404d25da31d8b8a57f1fc3ef5c2bb1d1fd -Merge: 71a20186 774725b4 +Merge: 71a201860 774725b43 Author: Ebrahim Byagowi Date: Wed Feb 5 17:45:19 2020 +0330 @@ -5890,7 +37727,7 @@ Date: Wed Feb 5 17:02:03 2020 +0330 4 files changed, 43 insertions(+), 90 deletions(-) commit a7f694d4b0d5e95a6202da926ba3c29df6fbb6f0 -Merge: 43016715 b114b26a +Merge: 43016715e b114b26a5 Author: Ebrahim Byagowi Date: Wed Feb 5 16:31:21 2020 +0330 @@ -6356,7 +38193,7 @@ Date: Tue Jan 28 09:30:51 2020 -0800 30 files changed, 30 insertions(+), 3 deletions(-) commit 777ba47b50f6379b9f9abf1d72559316b7116b9e -Merge: 5b069c36 92f43a99 +Merge: 5b069c361 92f43a99c Author: Ebrahim Byagowi Date: Thu Jan 30 22:38:43 2020 +0330 @@ -7256,7 +39093,7 @@ Date: Wed Jan 22 11:20:56 2020 -0800 2 files changed, 4 insertions(+), 6 deletions(-) commit 7633b7695e5b6188d6180fc5592c0678f03327ed -Merge: 3747b329 02f324c9 +Merge: 3747b329b 02f324c94 Author: Ebrahim Byagowi Date: Thu Jan 23 18:51:40 2020 +0330 @@ -7608,7 +39445,7 @@ Date: Sat Jan 11 01:30:05 2020 +0330 1 file changed, 2 insertions(+), 1 deletion(-) commit d7454cf07eeb87600d8fcf23ada3617b6bda0f35 -Merge: 9cd76813 0b39c480 +Merge: 9cd76813a 0b39c4806 Author: Ebrahim Byagowi Date: Sat Jan 11 01:24:39 2020 +0330 @@ -8004,7 +39841,7 @@ Date: Tue Dec 31 15:53:02 2019 +0330 23 files changed, 114 insertions(+), 113 deletions(-) commit 33c3d63a0a9734a9cca9411a666d6ba9793d642f -Merge: 68c1798a ea8fdfa0 +Merge: 68c1798a6 ea8fdfa07 Author: Ebrahim Byagowi Date: Tue Dec 31 13:52:50 2019 +0330 @@ -8798,7 +40635,7 @@ Date: Sat Nov 16 18:20:16 2019 -0800 3 files changed, 144 insertions(+), 55 deletions(-) commit ea8fdfa07939b97db6636327c8d55cd3b5a62b4c -Merge: 453050ad d5338ba1 +Merge: 453050ad3 d5338ba18 Author: blueshade7 Date: Fri Nov 22 15:59:09 2019 -0800 @@ -9122,7 +40959,7 @@ Date: Tue Oct 29 21:30:04 2019 +0330 1 file changed, 26 insertions(+), 21 deletions(-) commit 773ee8041e8905bfb06c1a71d2b4fc99110b3dc6 -Merge: 47b4074d 0efbda7a +Merge: 47b4074d5 0efbda7a4 Author: Behdad Esfahbod Date: Tue Oct 29 10:58:56 2019 -0700 @@ -9140,7 +40977,7 @@ Date: Tue Oct 29 21:03:26 2019 +0330 1 file changed, 13 insertions(+), 14 deletions(-) commit 47b4074d5f98d71d2983470602eff9b93f102af4 -Merge: dd8a8460 dd288840 +Merge: dd8a84603 dd288840d Author: Behdad Esfahbod Date: Tue Oct 29 03:16:34 2019 -0700 @@ -9240,7 +41077,7 @@ Date: Mon Oct 28 13:46:56 2019 -0700 1 file changed, 1 insertion(+), 7 deletions(-) commit 2714dc31b8d0ffe3c043935dd7619be0dd7b7635 -Merge: aca63902 14ad96ff +Merge: aca639028 14ad96ffb Author: Behdad Esfahbod Date: Mon Oct 28 13:01:34 2019 -0700 @@ -9497,7 +41334,7 @@ Date: Wed Oct 16 13:28:15 2019 +0330 1 file changed, 1 insertion(+), 1 deletion(-) commit 453050ad3083ed344bc2ab3b1651babbed34934d -Merge: d7df7db1 b0b8551a +Merge: d7df7db16 b0b8551af Author: Ebrahim Byagowi Date: Sun Oct 13 08:38:56 2019 +0330 @@ -9576,7 +41413,7 @@ Date: Thu Oct 10 15:30:48 2019 -0400 2 files changed, 18 insertions(+), 1 deletion(-) commit e637a4b3de2fb8bdbc1b82e822f4a6cc579e794b -Merge: 670fec23 e4464f44 +Merge: 670fec231 e4464f448 Author: Behdad Esfahbod Date: Fri Oct 11 10:28:58 2019 +0700 @@ -9783,7 +41620,7 @@ Date: Sun Oct 6 18:09:14 2019 +0330 10 files changed, 66 insertions(+), 75 deletions(-) commit d7df7db160992e92c31afb6c79c7ccdad510fec1 -Merge: 74a2dbbc f2339964 +Merge: 74a2dbbce f2339964b Author: Ebrahim Byagowi Date: Sun Oct 6 17:18:59 2019 +0330 @@ -9850,14 +41687,14 @@ Date: Sun Oct 6 13:49:45 2019 +0330 2 files changed, 85 insertions(+), 126 deletions(-) commit 100dbccaa50b2f965f3877f2156d388453f0948a -Merge: c54ee485 b7684fa9 +Merge: c54ee4853 b7684fa9f Author: Ebrahim Byagowi Date: Sun Oct 6 09:18:22 2019 +0330 Merge remote-tracking branch 'upstream/master' into var-subset commit b7684fa9f42dffa6bd81acfade163123b30800b8 -Merge: 79ec65ae 21c80d95 +Merge: 79ec65ae1 21c80d955 Author: Ebrahim Byagowi Date: Sun Oct 6 09:00:48 2019 +0330 @@ -9961,7 +41798,7 @@ Date: Tue Oct 1 16:13:40 2019 +0330 13 files changed, 1588 insertions(+), 109 deletions(-) commit c54ee4853092b8a7f9a47da36407455992f55d93 -Merge: 19d45dca 79ec65ae +Merge: 19d45dcab 79ec65ae1 Author: Ebrahim Byagowi Date: Thu Oct 3 14:28:37 2019 +0330 @@ -9977,7 +41814,7 @@ Date: Thu Oct 3 14:27:51 2019 +0330 1 file changed, 1 insertion(+), 1 deletion(-) commit 19d45dcab732f3a836e17d31be9ca92f01c818b0 -Merge: 8106ba7f 3fd555be +Merge: 8106ba7f8 3fd555be5 Author: Ebrahim Byagowi Date: Thu Oct 3 13:39:17 2019 +0330 @@ -10067,7 +41904,7 @@ Date: Tue Oct 1 12:06:22 2019 +0330 1 file changed, 2 insertions(+), 2 deletions(-) commit faace9437ea09d89ef5f5f9c9fc3ce0dbc672142 -Merge: e48ef080 f0dd724c +Merge: e48ef0804 f0dd724c1 Author: Behdad Esfahbod Date: Mon Sep 30 13:34:05 2019 -0700 @@ -11364,7 +43201,7 @@ Date: Thu Aug 29 20:12:53 2019 +0430 1 file changed, 90 insertions(+), 72 deletions(-) commit 9ff32b79b37e686bab0b4baa924c97b841bd8413 -Merge: 6b3e0939 49902964 +Merge: 6b3e09391 499029644 Author: Ebrahim Byagowi Date: Thu Aug 29 19:53:18 2019 +0430 @@ -11888,7 +43725,7 @@ Date: Tue Aug 20 13:07:17 2019 +0430 1 file changed, 1 insertion(+), 1 deletion(-) commit 20b1a27c8a319d43a582c3efa8233b9f2c3cc73e -Merge: 5ee1e451 37de38ad +Merge: 5ee1e451c 37de38ade Author: Ebrahim Byagowi Date: Tue Aug 20 13:04:51 2019 +0430 @@ -11897,7 +43734,7 @@ Date: Tue Aug 20 13:04:51 2019 +0430 Remove assumption about Core Text working in 96 DPI commit 37de38adeae48e1855c2431a39639db873a74554 -Merge: f401f85a 5ee1e451 +Merge: f401f85a5 5ee1e451c Author: Ebrahim Byagowi Date: Tue Aug 20 12:59:33 2019 +0430 @@ -12247,14 +44084,14 @@ Date: Sat Aug 3 13:47:55 2019 +0430 1 file changed, 7 insertions(+), 1 deletion(-) commit 6b3e093911aaf834c0adf5b2a114d357914322ee -Merge: 07f27acc 521c7013 +Merge: 07f27accb 521c7013a Author: Michiharu Ariza Date: Wed Jul 31 16:04:48 2019 -0700 Merge branch 'master' into var-subset commit 07f27accb9c3823cef5d652150701f24af89fca2 -Merge: a87fbb87 6e3bfecf +Merge: a87fbb872 6e3bfecf3 Author: Michiharu Ariza Date: Wed Jul 31 14:58:53 2019 -0700 @@ -12376,14 +44213,14 @@ Date: Sat Jul 27 14:56:18 2019 +0430 1 file changed, 10 insertions(+), 6 deletions(-) commit f0dd724c1e091f42f289efbebd2c50e830e59c6e -Merge: 68ac767e 4e1da6bb +Merge: 68ac767e4 4e1da6bb6 Author: blueshade7 Date: Mon Jul 29 14:21:05 2019 -0700 Merge branch 'master' into subset-varstore commit 6e3bfecf358a1785995a64c18eb4c1d7cf926ca5 -Merge: 5988ab8a 4e1da6bb +Merge: 5988ab8a4 4e1da6bb6 Author: blueshade7 Date: Mon Jul 29 12:25:43 2019 -0700 @@ -12515,7 +44352,7 @@ Date: Fri Jul 26 14:34:26 2019 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit 60d0fe2eda9c0eb67f50d61e905b584b8edc3e95 -Merge: 6d53cda1 658424b2 +Merge: 6d53cda1b 658424b29 Author: Ebrahim Byagowi Date: Sat Jul 27 01:20:55 2019 +0430 @@ -12713,7 +44550,7 @@ Date: Wed Jul 24 00:47:19 2019 +0430 2 files changed, 3 insertions(+), 3 deletions(-) commit 5988ab8a4e0d2b6d174f2ff0f18addc3f41b7a94 -Merge: 4cba7bda 636ae422 +Merge: 4cba7bdae 636ae4223 Author: blueshade7 Date: Mon Jul 22 14:36:16 2019 -0700 @@ -12729,7 +44566,7 @@ Date: Mon Jul 22 22:50:21 2019 +0430 1 file changed, 1 insertion(+), 1 deletion(-) commit 04c11a19b75663af35d16c827e295aa2e555d110 -Merge: 41ab56e0 c9796d15 +Merge: 41ab56e09 c9796d15e Author: Khaled Hosny Date: Mon Jul 22 16:44:47 2019 +0200 @@ -12939,7 +44776,7 @@ Date: Sat Jul 20 14:08:11 2019 +0430 1 file changed, 6 insertions(+), 5 deletions(-) commit ac8b6e330a443a66c3e0fb83af9794310688d848 -Merge: ec8dde81 08b48e89 +Merge: ec8dde814 08b48e89d Author: Ebrahim Byagowi Date: Sat Jul 20 13:16:16 2019 +0430 @@ -13070,7 +44907,7 @@ Date: Mon Jun 17 10:16:24 2019 -0400 1 file changed, 3 deletions(-) commit a76d8b0d5531a6a8d682ea9d5150ee7893932269 -Merge: 386a4a64 504bb172 +Merge: 386a4a64f 504bb1728 Author: blueshade7 Date: Wed Jul 17 14:12:06 2019 -0700 @@ -13352,7 +45189,7 @@ Date: Tue Jul 9 11:43:59 2019 -0700 28 files changed, 85 insertions(+), 46 deletions(-) commit a87fbb872b31c7a292ed8b414be728aa951e2833 -Merge: 49252c42 6e35668b +Merge: 49252c42b 6e35668b4 Author: Michiharu Ariza Date: Tue Jul 9 10:25:54 2019 -0700 @@ -13369,7 +45206,7 @@ Date: Tue Jul 9 09:47:54 2019 -0700 2 files changed, 2 insertions(+), 1 deletion(-) commit 8bf989ea70804dad66fb1c2d0c625ef5e562a309 -Merge: 5763a927 2e7021da +Merge: 5763a9274 2e7021da7 Author: blueshade7 Date: Mon Jul 8 17:13:29 2019 -0700 @@ -13726,7 +45563,7 @@ Date: Mon Jul 1 18:52:57 2019 -0700 1 file changed, 163 insertions(+), 2 deletions(-) commit 5763a92749386e134f2b4073531c10e9586d1d19 -Merge: 6f35cf7a 6bcbe495 +Merge: 6f35cf7a6 6bcbe495b Author: Michiharu Ariza Date: Mon Jul 1 15:17:19 2019 -0700 @@ -13744,7 +45581,7 @@ Date: Sun Jun 30 16:13:07 2019 -0700 3 files changed, 85 insertions(+), 1 deletion(-) commit 9c93f5cc2de5c60d5464a65890fc7d8c25aa9702 -Merge: ad341d5f 4ab2d1d6 +Merge: ad341d5f1 4ab2d1d67 Author: Ebrahim Byagowi Date: Mon Jul 1 20:08:22 2019 +0430 @@ -13883,7 +45720,7 @@ Date: Wed Jun 26 21:10:11 2019 -0400 1 file changed, 138 insertions(+), 4 deletions(-) commit 7185bd6ffb4dd8c0efebdab5b930e62c5695e3ab -Merge: cd65305b 8341c0b3 +Merge: cd65305b0 8341c0b30 Author: Ebrahim Byagowi Date: Thu Jun 27 22:09:28 2019 +0430 @@ -14263,7 +46100,7 @@ Date: Wed Jun 12 11:02:48 2019 -0700 2 files changed, 39 insertions(+), 91 deletions(-) commit 8062979990d348671b465c877e4dd672e1337665 -Merge: ad97ec95 c2d7dfc6 +Merge: ad97ec950 c2d7dfc68 Author: Ebrahim Byagowi Date: Sun Jun 23 11:19:48 2019 +0430 @@ -15570,14 +47407,14 @@ Date: Wed Jun 5 12:13:49 2019 -0700 2 files changed, 7 insertions(+), 4 deletions(-) commit 4ddab6facc0c7ffe7623bf6449ab9b27166924a6 -Merge: 157a414b 4b1b0bf2 +Merge: 157a414bd 4b1b0bf2f Author: Michiharu Ariza Date: Wed Jun 5 11:21:27 2019 -0700 Merge branch 'master' into var-subset commit 4b1b0bf2f51f806d3285a7e7dec378b9eab9333e -Merge: 659eeddb 815f002b +Merge: 659eeddb2 815f002bb Author: Ebrahim Byagowi Date: Wed Jun 5 12:57:28 2019 +0430 @@ -15636,7 +47473,7 @@ Date: Wed May 29 14:03:17 2019 -0700 2 files changed, 59 insertions(+), 62 deletions(-) commit 89a7a880a1d5cd5e585d43fdde6d44c6dba559cf -Merge: 760eb1bf 12febd68 +Merge: 760eb1bf9 12febd68d Author: Ebrahim Byagowi Date: Tue Jun 4 10:52:16 2019 +0430 @@ -16195,7 +48032,7 @@ Date: Sat May 25 11:15:15 2019 -0400 2 files changed, 10 insertions(+), 8 deletions(-) commit e7ed85de95d3ccdb674ec5a30ae66d53cea74b3a -Merge: f93a5e6a 97ba206b +Merge: f93a5e6a7 97ba206be Author: n8willis Date: Sat May 25 16:05:07 2019 +0100 @@ -16327,7 +48164,7 @@ Date: Fri May 24 19:23:19 2019 +0100 1 file changed, 45 insertions(+), 2 deletions(-) commit 96de94768b08287325be8947255917502368c337 -Merge: c96c6b28 1197bef2 +Merge: c96c6b287 1197bef26 Author: rsheeter Date: Fri May 24 11:22:41 2019 -0700 @@ -16481,7 +48318,7 @@ Date: Wed May 22 15:46:19 2019 -0400 1 file changed, 27 insertions(+), 3 deletions(-) commit 15a9e32b566fbf6f4a2c6fd488d8cc3865234b17 -Merge: 993d81b9 ff7fc6d4 +Merge: 993d81b9c ff7fc6d48 Author: Ebrahim Byagowi Date: Thu May 23 11:02:15 2019 +0430 @@ -16714,7 +48551,7 @@ Date: Tue May 21 11:14:31 2019 -0700 1 file changed, 19 insertions(+), 16 deletions(-) commit d1b12a546561a78ae3c3e9d6bffa057caf82dbee -Merge: 3a43603e f49a5bec +Merge: 3a43603ec f49a5bec9 Author: Rod Sheeter Date: Mon May 20 21:29:54 2019 -0700 @@ -16750,7 +48587,7 @@ Date: Thu May 16 19:14:16 2019 -0700 2 files changed, 86 insertions(+), 35 deletions(-) commit 82bbec306376d61b6700461c4038c6789e60a998 -Merge: 9d09ac13 b7be5931 +Merge: 9d09ac13a b7be59311 Author: Rod Sheeter Date: Thu May 16 15:14:01 2019 -0700 @@ -16805,7 +48642,7 @@ Date: Thu May 9 22:12:20 2019 -0700 1 file changed, 59 insertions(+), 29 deletions(-) commit f8de063b48c243d551c8892bdd2a799606fda3f4 -Merge: 0d7fef2d 8f174870 +Merge: 0d7fef2d5 8f174870e Author: Rod Sheeter Date: Thu May 9 20:02:38 2019 -0700 @@ -16854,14 +48691,14 @@ Date: Wed May 8 16:52:00 2019 -0700 1 file changed, 58 insertions(+), 39 deletions(-) commit 723d054dcb6ad44e9eab4dc8cc55f8d480d2ff16 -Merge: ed727d4b e2a51ff7 +Merge: ed727d4bb e2a51ff72 Author: rsheeter Date: Wed May 8 16:45:35 2019 -0700 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf commit ed727d4bb74860c126675e94f87f65ff7874dbb6 -Merge: fb9bff95 e8b45c19 +Merge: fb9bff955 e8b45c193 Author: rsheeter Date: Wed May 8 16:39:45 2019 -0700 @@ -18034,7 +49871,7 @@ Date: Sun May 12 15:33:31 2019 -0700 2 files changed, 14 insertions(+), 1 deletion(-) commit 3d9be2ad5036aaf02b69095faaf9c18705c2c5bc -Merge: a20db496 1a850abd +Merge: a20db496f 1a850abd6 Author: n8willis Date: Sun May 12 20:03:29 2019 +0100 @@ -18128,7 +49965,7 @@ Date: Sat May 11 19:50:42 2019 +0000 1 file changed, 7 insertions(+), 3 deletions(-) commit 1a850abd66999707b6f4795050e748fc879b92ef -Merge: 8a544171 a6048e4c +Merge: 8a544171d a6048e4cd Author: n8willis Date: Sat May 11 20:16:57 2019 +0100 @@ -19311,7 +51148,7 @@ Date: Thu May 9 10:46:49 2019 -0700 1 file changed, 11 insertions(+), 11 deletions(-) commit 6bc82579100992e3f04c11f36b9c2f0014d880f2 -Merge: 34764454 6d9a86ae +Merge: 347644542 6d9a86ae7 Author: n8willis Date: Thu May 9 14:39:05 2019 +0100 @@ -20715,7 +52552,7 @@ Date: Tue Apr 30 16:09:01 2019 +0100 1 file changed, 22 insertions(+), 13 deletions(-) commit 1223a352b7c8d1cc362693b850f348af4d4d03fb -Merge: aa3ac592 9542bdd0 +Merge: aa3ac5924 9542bdd0e Author: Michiharu Ariza Date: Mon Apr 29 16:43:48 2019 -0700 @@ -21465,7 +53302,7 @@ Date: Wed Apr 17 12:43:53 2019 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit c87488b46d1f302e1ad313c365e2cd440e60141a -Merge: 49fe81fd c67a0d58 +Merge: 49fe81fde c67a0d581 Author: Michiharu Ariza Date: Wed Apr 17 12:07:15 2019 -0700 @@ -21621,7 +53458,7 @@ Date: Tue Apr 16 16:45:53 2019 -0400 9 files changed, 19 insertions(+), 18 deletions(-) commit 6cde814a360eaeab6755685cf7980887af3225d1 -Merge: 007bb3e0 1ce11b44 +Merge: 007bb3e0d 1ce11b443 Author: Michiharu Ariza Date: Tue Apr 16 11:35:07 2019 -0700 @@ -21847,7 +53684,7 @@ Date: Mon Apr 15 00:34:04 2019 +0430 1 file changed, 2 insertions(+), 2 deletions(-) commit ad126036643e44a98c4c42d2a2a4a3b4a3649937 -Merge: 341b70a3 47e538a3 +Merge: 341b70a3b 47e538a35 Author: Nathan Willis Date: Sun Apr 14 15:42:42 2019 +0100 @@ -22096,7 +53933,7 @@ Date: Thu Apr 11 17:54:38 2019 -0400 1 file changed, 3 insertions(+) commit a90e4916df74f6f84ce78eb2a73b6f325e7e8617 -Merge: 94573702 3db22726 +Merge: 945737026 3db227265 Author: Michiharu Ariza Date: Thu Apr 11 15:57:32 2019 -0700 @@ -22225,14 +54062,14 @@ Date: Thu Apr 11 11:16:01 2019 -0400 4 files changed, 13 insertions(+), 13 deletions(-) commit 9e79285ef3b4d7490b4bbad0eef16dd73fd8fb62 -Merge: 6d79a25b c5509be9 +Merge: 6d79a25be c5509be93 Author: Michiharu Ariza Date: Wed Apr 10 17:24:29 2019 -0700 Merge branch 'master' into var-subset commit 6d79a25bed110b2d8842bd102ffdb5606023b8a1 -Merge: ab9d3096 196481cc +Merge: ab9d30965 196481ccb Author: Michiharu Ariza Date: Wed Apr 10 17:23:00 2019 -0700 @@ -22522,7 +54359,7 @@ Date: Wed Apr 3 14:15:01 2019 -0700 1 file changed, 6 insertions(+), 3 deletions(-) commit b999ce9bf06fc90c4cb3c531357967835d7e706d -Merge: c2d727a4 6215fb8e +Merge: c2d727a47 6215fb8e6 Author: Michiharu Ariza Date: Wed Apr 3 10:34:09 2019 -0700 @@ -22993,7 +54830,7 @@ Date: Sun Mar 31 00:23:58 2019 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit f7700fc479c25599e89b9d59edaad66e103a742d -Merge: 43725d36 d6005b49 +Merge: 43725d363 d6005b49b Author: Michiharu Ariza Date: Sat Mar 30 20:49:34 2019 -0700 @@ -23090,7 +54927,7 @@ Date: Sat Mar 30 19:01:23 2019 -0700 1 file changed, 7 insertions(+), 15 deletions(-) commit 43725d36322b7277d515b958b5e894e1c892cede -Merge: 294d520f a7c63cd8 +Merge: 294d520f6 a7c63cd8f Author: Michiharu Ariza Date: Sat Mar 30 18:51:15 2019 -0700 @@ -23372,14 +55209,14 @@ Date: Fri Mar 29 23:53:06 2019 -0700 3 files changed, 22 insertions(+), 23 deletions(-) commit 8a8965be39d909198d6c91d5a45aede6802ebd71 -Merge: cc94a9ed 3236623e +Merge: cc94a9ed3 3236623e1 Author: Michiharu Ariza Date: Fri Mar 29 23:38:16 2019 -0700 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset commit cc94a9ed3b63cf74aa64c83a203137f16c6e152c -Merge: 435bc7f3 ce6093a9 +Merge: 435bc7f3e ce6093a96 Author: Michiharu Ariza Date: Fri Mar 29 18:41:38 2019 -0700 @@ -23398,14 +55235,14 @@ Date: Fri Mar 29 23:31:07 2019 -0700 3 files changed, 9 insertions(+), 9 deletions(-) commit ce6093a96ba4c68b4eb4f1cd4b695eb41f1fa334 -Merge: ddb84dce a1177fec +Merge: ddb84dcec a1177fec8 Author: Michiharu Ariza Date: Fri Mar 29 10:32:45 2019 -0700 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset commit a1177fec8f43a65bca6696378995d6d39d8f6330 -Merge: 58c8c7a4 f505b5d5 +Merge: 58c8c7a49 f505b5d5c Author: Michiharu Ariza Date: Fri Mar 29 08:43:47 2019 -0700 @@ -23662,7 +55499,7 @@ Date: Fri Mar 29 20:01:37 2019 -0700 1 file changed, 14 insertions(+), 10 deletions(-) commit 3236623e1f4a11c23f8f2fb41d886d1255c2bc63 -Merge: 435bc7f3 d30e5e74 +Merge: 435bc7f3e d30e5e748 Author: Michiharu Ariza Date: Fri Mar 29 18:41:38 2019 -0700 @@ -24785,7 +56622,7 @@ Date: Fri Mar 29 15:20:34 2019 -0700 1 file changed, 81 deletions(-) commit 8e7887ca5f8a2822345bdcbdc873c73a31c81177 -Merge: 7929b0f0 90aebc6c +Merge: 7929b0f07 90aebc6cf Author: Behdad Esfahbod Date: Fri Mar 29 14:37:04 2019 -0700 @@ -24858,7 +56695,7 @@ Date: Fri Mar 29 10:46:44 2019 -0700 2 files changed, 10 deletions(-) commit d30e5e74814c6db23fdedbe75fd9b89c0dfb4dce -Merge: ddb84dce a252392b +Merge: ddb84dcec a252392bc Author: Michiharu Ariza Date: Fri Mar 29 10:32:45 2019 -0700 @@ -24875,7 +56712,7 @@ Date: Fri Mar 29 10:32:42 2019 -0700 2 files changed, 8 insertions(+), 1 deletion(-) commit a252392bc05e8e9e4127e0002b10fe514323730f -Merge: 58c8c7a4 d6fc1d49 +Merge: 58c8c7a49 d6fc1d49a Author: Michiharu Ariza Date: Fri Mar 29 08:43:47 2019 -0700 @@ -24914,7 +56751,7 @@ Date: Thu Mar 28 21:34:47 2019 -0700 2 files changed, 10 insertions(+) commit a030ce4ff83e0948e4f865accc5670e8b5e78dde -Merge: 11456b2d d6fc1d49 +Merge: 11456b2d9 d6fc1d49a Author: Behdad Esfahbod Date: Thu Mar 28 21:26:50 2019 -0700 @@ -24986,7 +56823,7 @@ Date: Thu Mar 28 16:57:56 2019 -0700 1 file changed, 3 insertions(+), 3 deletions(-) commit 58c8c7a495fcc353d09158fc23a45f35b2dab2dc -Merge: 485fe06f a548d1da +Merge: 485fe06f7 a548d1da7 Author: Michiharu Ariza Date: Thu Mar 28 16:17:41 2019 -0700 @@ -25012,7 +56849,7 @@ Date: Thu Mar 28 15:42:45 2019 -0700 2 files changed, 3 insertions(+), 20 deletions(-) commit 5f36771c2ab612b403e55504b7901b0390b1b76d -Merge: 99f0c107 061bd0a9 +Merge: 99f0c107f 061bd0a99 Author: Michiharu Ariza Date: Thu Mar 28 15:07:53 2019 -0700 @@ -25069,14 +56906,14 @@ Date: Thu Mar 28 19:06:12 2019 +0300 1 file changed, 1 insertion(+), 1 deletion(-) commit 061bd0a99b0724953fcbdaaef4ea91a54cd7d3ce -Merge: d8e3e360 67175987 +Merge: d8e3e3607 67175987b Author: Michiharu Ariza Date: Wed Mar 27 08:53:50 2019 -0700 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset commit d8e3e3607e6435b994a3e2f4285c5b4d17c5dfa4 -Merge: bcd689bb 717181c5 +Merge: bcd689bb1 717181c59 Author: Michiharu Ariza Date: Wed Mar 27 08:53:48 2019 -0700 @@ -25121,7 +56958,7 @@ Date: Tue Mar 26 20:35:01 2019 -0700 1 file changed, 14 insertions(+), 10 deletions(-) commit bcd689bb1090a1bf5113e67edfce583832bb2187 -Merge: 49f93596 ec2a5dc8 +Merge: 49f935963 ec2a5dc85 Author: Michiharu Ariza Date: Tue Mar 26 17:13:31 2019 -0700 @@ -25255,7 +57092,7 @@ Date: Thu Mar 21 18:09:37 2019 -0700 6 files changed, 108 insertions(+), 4 deletions(-) commit 8ec279072e039c7a75ea90e2284d46bd9faee8ee -Merge: 0593a95e 5390e393 +Merge: 0593a95e2 5390e3934 Author: Michiharu Ariza Date: Thu Mar 21 10:38:12 2019 -0700 @@ -25271,14 +57108,14 @@ Date: Thu Mar 21 10:36:53 2019 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit 5390e39342e78566095b580603bd1f76cdafc010 -Merge: 084be9a0 5f15fca6 +Merge: 084be9a0f 5f15fca66 Author: Michiharu Ariza Date: Thu Mar 21 10:21:50 2019 -0700 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset commit 084be9a0f466134998da79e9a81191836f847ab8 -Merge: 3faaa52a bcb4e505 +Merge: 3faaa52aa bcb4e505d Author: Michiharu Ariza Date: Thu Mar 21 10:21:31 2019 -0700 @@ -25546,21 +57383,21 @@ Date: Fri Mar 15 13:46:25 2019 -0700 4 files changed, 1 insertion(+) commit a5118c1db51d6d3b24622a52e50246e00b07fa74 -Merge: 90ea140a 079c386c +Merge: 90ea140ac 079c386ca Author: Michiharu Ariza Date: Fri Mar 15 10:33:03 2019 -0700 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset commit 079c386ca89b6d2833786db3ba54b7137d045188 -Merge: 99502b32 8aaab78e +Merge: 99502b324 8aaab78ef Author: Michiharu Ariza Date: Fri Mar 15 10:12:19 2019 -0700 Merge branch 'master' into var-subset commit 90ea140aca18d073401fc971681ce48403fbf399 -Merge: d23c201f 99502b32 +Merge: d23c201f5 99502b324 Author: Michiharu Ariza Date: Thu Mar 14 16:58:19 2019 -0700 @@ -25813,7 +57650,7 @@ Date: Tue Mar 12 11:03:53 2019 -0700 4 files changed, 175 insertions(+), 14 deletions(-) commit 23e2d5ac86968c7548df0d212c1a321d09328ffa -Merge: f5a46638 e52ec3fc +Merge: f5a466389 e52ec3fc2 Author: Michiharu Ariza Date: Tue Mar 12 10:53:15 2019 -0700 @@ -25999,7 +57836,7 @@ Date: Fri Mar 1 18:24:56 2019 -0800 2 files changed, 7 insertions(+), 8 deletions(-) commit 3f3da718632e9beef9a1d9cf8b5775025ffe3fd6 -Merge: 21aaf300 f448195a +Merge: 21aaf3005 f448195a4 Author: Michiharu Ariza Date: Fri Mar 1 18:12:35 2019 -0800 @@ -26026,7 +57863,7 @@ Date: Sat Mar 2 03:24:49 2019 +0330 1 file changed, 2 insertions(+), 5 deletions(-) commit f448195a4b041db83b0e515c829b99d2349bf73f -Merge: fa2b3d30 4f37ab63 +Merge: fa2b3d30f 4f37ab63d Author: Michiharu Ariza Date: Fri Mar 1 15:22:17 2019 -0800 @@ -26313,7 +58150,7 @@ Date: Fri Feb 15 16:09:29 2019 -0800 1 file changed, 7 insertions(+), 4 deletions(-) commit c1e5ba81fe4888143c1cf4a3deb3597875580c6d -Merge: b8b3b3e3 3da79dd5 +Merge: b8b3b3e38 3da79dd5b Author: Behdad Esfahbod Date: Fri Feb 15 16:06:03 2019 -0800 @@ -26330,7 +58167,7 @@ Date: Fri Feb 15 16:05:36 2019 -0800 2 files changed, 49 insertions(+), 22 deletions(-) commit 3da79dd5b92b89fbf062cbe591e6b1ba83083aec -Merge: 50005501 d8a68728 +Merge: 500055018 d8a68728a Author: Behdad Esfahbod Date: Fri Feb 15 15:54:51 2019 -0800 @@ -26339,7 +58176,7 @@ Date: Fri Feb 15 15:54:51 2019 -0800 CFF more arrayof fixes commit 5000550183022db8c9cfef63a9ed90eb9f37764d -Merge: 5c2bb1de 90c8bbf9 +Merge: 5c2bb1de8 90c8bbf98 Author: Behdad Esfahbod Date: Fri Feb 15 15:54:13 2019 -0800 @@ -26348,14 +58185,14 @@ Date: Fri Feb 15 15:54:13 2019 -0800 [subset] Implement --retain-gids with CFF/CFF2 commit d8a68728a077a8c5fc8ceae19f2866cdc8b70baf -Merge: 1cb1d5d7 5c2bb1de +Merge: 1cb1d5d7f 5c2bb1de8 Author: Michiharu Ariza Date: Fri Feb 15 14:48:10 2019 -0800 Merge branch 'master' into cff-more-arrayof-fixes commit 90c8bbf98747eb29687471da892b4a34a9236242 -Merge: 6f1dfd08 5c2bb1de +Merge: 6f1dfd082 5c2bb1de8 Author: Michiharu Ariza Date: Fri Feb 15 14:47:38 2019 -0800 @@ -26488,7 +58325,7 @@ Date: Thu Feb 14 11:40:22 2019 -0800 2 files changed, 33 insertions(+) commit 5b725784e53a96ba4d983184a2670aba2aa0fd9c -Merge: 00db9409 28f77361 +Merge: 00db94095 28f773613 Author: Behdad Esfahbod Date: Thu Feb 14 11:34:55 2019 -0800 @@ -26598,14 +58435,14 @@ Date: Thu Feb 14 10:39:58 2019 -0800 1 file changed, 25 insertions(+) commit 1cb1d5d7fb74e9f42dc8361dcdf669ed479d595d -Merge: 8a568a88 d5287e1b +Merge: 8a568a885 d5287e1ba Author: Michiharu Ariza Date: Thu Feb 14 10:09:19 2019 -0800 Merge branch 'master' into cff-more-arrayof-fixes commit 6f1dfd082cf79488ae6773e7d99172f13575668c -Merge: b1dbc77f d5287e1b +Merge: b1dbc77fa d5287e1ba Author: Michiharu Ariza Date: Thu Feb 14 10:08:16 2019 -0800 @@ -26628,7 +58465,7 @@ Date: Wed Feb 13 23:54:36 2019 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 4103252323b15a821f0a912b580c2107211b918f -Merge: f1b89344 d5287e1b +Merge: f1b893440 d5287e1ba Author: Behdad Esfahbod Date: Wed Feb 13 23:46:43 2019 -0800 @@ -26671,7 +58508,7 @@ Date: Wed Feb 13 23:30:21 2019 -0800 1 file changed, 13 deletions(-) commit 7d2376de336c7fc14d69e01add02115335f92db8 -Merge: 2d940946 890d0ee7 +Merge: 2d940946d 890d0ee77 Author: Behdad Esfahbod Date: Wed Feb 13 22:08:54 2019 -0800 @@ -26687,14 +58524,14 @@ Date: Thu Feb 14 00:27:01 2019 +0330 1 file changed, 3 insertions(+), 3 deletions(-) commit 8a568a8858b44a81ca43a82761a70bf8d53e7c26 -Merge: c83412e4 1e1d0e63 +Merge: c83412e4c 1e1d0e63d Author: Michiharu Ariza Date: Wed Feb 13 11:25:00 2019 -0800 Merge branch 'master' into cff-more-arrayof-fixes commit b1dbc77fa62a99047df539663cfd1e8778d2c907 -Merge: c3a3536c 1e1d0e63 +Merge: c3a3536c9 1e1d0e63d Author: Michiharu Ariza Date: Wed Feb 13 11:24:38 2019 -0800 @@ -26716,14 +58553,14 @@ Date: Wed Feb 13 12:58:01 2019 +0330 2 files changed, 5 insertions(+), 5 deletions(-) commit c3a3536c9a00a989ebd83d52e67d06525ed669bc -Merge: bc33c617 85a6d312 +Merge: bc33c617b 85a6d3121 Author: Michiharu Ariza Date: Tue Feb 12 15:10:59 2019 -0800 Merge branch 'cff-retain-gids' of https://github.com/harfbuzz/harfbuzz into cff-retain-gids commit bc33c617b85988f4d81312e62a75f92601852c76 -Merge: c6af8461 fdfa3d29 +Merge: c6af84617 fdfa3d29b Author: Michiharu Ariza Date: Tue Feb 12 15:10:50 2019 -0800 @@ -26739,14 +58576,14 @@ Date: Tue Feb 12 15:10:43 2019 -0800 1 file changed, 24 insertions(+), 2 deletions(-) commit 85a6d3121a26c9bcbec60d37b64643ff8dc97a0a -Merge: d9ded069 fdfa3d29 +Merge: d9ded0699 fdfa3d29b Author: Michiharu Ariza Date: Mon Feb 11 14:25:21 2019 -0800 Merge branch 'master' into cff-retain-gids commit c83412e4cec10f6f6f6ac38f202b3ce373da5daf -Merge: 1239b6b2 fdfa3d29 +Merge: 1239b6b2b fdfa3d29b Author: Michiharu Ariza Date: Mon Feb 11 14:16:25 2019 -0800 @@ -26792,7 +58629,7 @@ Date: Sat Feb 9 16:33:28 2019 +0330 1 file changed, 2 insertions(+), 2 deletions(-) commit d9ded069926bf46a5d8e5edbf5201c98044db78e -Merge: a5e933eb 84694af7 +Merge: a5e933eba 84694af72 Author: Michiharu Ariza Date: Fri Feb 8 14:44:20 2019 -0800 @@ -26885,14 +58722,14 @@ Date: Thu Feb 7 15:32:32 2019 -0800 2 files changed, 4 insertions(+), 8 deletions(-) commit 1239b6b2b4430658aea78216a1dcc885724a7ab4 -Merge: 9f80eb01 126abca9 +Merge: 9f80eb017 126abca98 Author: Michiharu Ariza Date: Thu Feb 7 10:29:40 2019 -0800 Merge branch 'master' into cff-more-arrayof-fixes commit a5fa76977b5bdf3bd40ede3cdd0da9c5546557a6 -Merge: 214d0b02 126abca9 +Merge: 214d0b024 126abca98 Author: Michiharu Ariza Date: Thu Feb 7 10:28:13 2019 -0800 @@ -26908,7 +58745,7 @@ Date: Thu Feb 7 10:27:43 2019 -0800 1 file changed, 2 insertions(+), 2 deletions(-) commit 126abca98a954f7ec3374d0593fee25f78dc10f3 -Merge: 1e062821 7859decd +Merge: 1e0628210 7859decdd Author: Behdad Esfahbod Date: Wed Feb 6 13:36:52 2019 -0800 @@ -27027,7 +58864,7 @@ Date: Fri Feb 1 15:58:03 2019 -0800 6 files changed, 0 insertions(+), 0 deletions(-) commit 30b781f20a8e386732f8e2858a22665d7af98061 -Merge: c1286265 1e062821 +Merge: c12862657 1e0628210 Author: Michiharu Ariza Date: Fri Feb 1 14:50:34 2019 -0800 @@ -27137,7 +58974,7 @@ Date: Thu Jan 31 13:49:18 2019 -0800 1 file changed, 5 deletions(-) commit 9f80eb0177e527253818ad9171fc75fb565318cb -Merge: b3799007 d14d2c20 +Merge: b37990075 d14d2c20b Author: Michiharu Ariza Date: Thu Jan 31 12:54:36 2019 -0800 @@ -27167,7 +59004,7 @@ Date: Wed Jan 30 16:03:16 2019 -0800 2 files changed, 6 insertions(+), 2 deletions(-) commit d14d2c20b05c5acf0a6f9c6dc36a7b8d8966153e -Merge: acf5f0a3 dc04261a +Merge: acf5f0a3a dc04261a5 Author: Behdad Esfahbod Date: Wed Jan 30 18:36:57 2019 -0500 @@ -27186,7 +59023,7 @@ Date: Wed Jan 30 15:23:19 2019 -0800 1 file changed, 19 insertions(+), 13 deletions(-) commit 2e675d49f2f705a5b5d95574a5336d5e670a0fba -Merge: ede117dc acf5f0a3 +Merge: ede117dc4 acf5f0a3a Author: Behdad Esfahbod Date: Wed Jan 30 15:10:43 2019 -0800 @@ -27211,7 +59048,7 @@ Date: Wed Jan 30 15:10:23 2019 -0800 1 file changed, 5 insertions(+), 6 deletions(-) commit cbe2118c588622070612ba7ac7eae7496a092e3c -Merge: 8b46c2d9 6b834c1c +Merge: 8b46c2d93 6b834c1c7 Author: Behdad Esfahbod Date: Wed Jan 30 15:07:09 2019 -0800 @@ -27273,7 +59110,7 @@ Date: Wed Jan 30 14:42:48 2019 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit d983c529b66b530715e9c813c69e699b1d8029d3 -Merge: 55d1d7c8 e6ffcc59 +Merge: 55d1d7c8b e6ffcc590 Author: Behdad Esfahbod Date: Wed Jan 30 17:17:59 2019 -0500 @@ -27556,7 +59393,7 @@ Date: Thu Jan 17 18:55:56 2019 -0800 5 files changed, 74 insertions(+), 13 deletions(-) commit b3799007554f2909170df941b07c72f7dc02dfcd -Merge: c6856443 fe532923 +Merge: c68564438 fe5329231 Author: Michiharu Ariza Date: Tue Jan 29 12:19:57 2019 -0800 @@ -27575,7 +59412,7 @@ Date: Mon Jan 28 21:26:23 2019 -0500 4 files changed, 14 insertions(+), 15 deletions(-) commit 6cf25c2971aa9a7471b1cc00176ef36e9acacad4 -Merge: 71157a45 fe532923 +Merge: 71157a452 fe5329231 Author: Behdad Esfahbod Date: Mon Jan 28 21:23:28 2019 -0500 @@ -27677,7 +59514,7 @@ Date: Mon Jan 28 16:17:36 2019 -0500 1 file changed, 2 insertions(+), 2 deletions(-) commit 073fa4ac5aff4ee72bbb38676bd351b5aa1ec167 -Merge: d592bd16 9a1df82e +Merge: d592bd16c 9a1df82e3 Author: Behdad Esfahbod Date: Mon Jan 28 14:35:41 2019 -0500 @@ -27862,7 +59699,7 @@ Date: Sat Jan 26 22:15:59 2019 +0100 2 files changed, 4 insertions(+), 4 deletions(-) commit ac90f17c552e5264ad0a9d17c50fac9008d6ebe7 -Merge: 090fe56d 60022ecc +Merge: 090fe56dc 60022ecce Author: Behdad Esfahbod Date: Sat Jan 26 14:05:39 2019 +0100 @@ -27898,7 +59735,7 @@ Date: Fri Jan 25 16:08:25 2019 +0100 2 files changed, 12 insertions(+), 12 deletions(-) commit 090fe56dc6ef5f7afa297f2cb200418a520a2026 -Merge: 21c0713a 06358ae9 +Merge: 21c0713a1 06358ae97 Author: Behdad Esfahbod Date: Fri Jan 25 15:34:03 2019 +0100 @@ -27914,7 +59751,7 @@ Date: Fri Jan 25 15:11:47 2019 +0100 1 file changed, 2 insertions(+) commit c685644386d1c88d6df6e024e56d61c792d94418 -Merge: 0bd0a331 e970de48 +Merge: 0bd0a3311 e970de48b Author: Michiharu Ariza Date: Thu Jan 24 13:19:18 2019 -0800 @@ -27968,7 +59805,7 @@ Date: Thu Jan 24 18:01:07 2019 +0100 3 files changed, 21 insertions(+), 37 deletions(-) commit 0bd0a3311cfded5ffa4d9d488d404558cf65e8ed -Merge: 12cd3171 f60282c5 +Merge: 12cd3171b f60282c5b Author: Michiharu Ariza Date: Thu Jan 24 08:53:28 2019 -0800 @@ -28092,7 +59929,7 @@ Date: Thu Jan 24 12:08:23 2019 +0100 6 files changed, 30 insertions(+), 15 deletions(-) commit 12cd3171ba3b84eff9f359778fabcab8f66ce36e -Merge: 261a7421 36fb2b4d +Merge: 261a74218 36fb2b4da Author: Michiharu Ariza Date: Wed Jan 23 14:05:42 2019 -0800 @@ -32270,7 +64107,7 @@ Date: Wed Dec 12 15:14:37 2018 +0330 18 files changed, 211 insertions(+), 262 deletions(-) commit a33f238f8888cc969e1e393deda0518fb8dd6b13 -Merge: 7146718b 1e09add2 +Merge: 7146718be 1e09add23 Author: Ebrahim Byagowi Date: Wed Dec 12 12:44:06 2018 +0330 @@ -32545,7 +64382,7 @@ Date: Thu Dec 6 10:19:03 2018 -0800 2 files changed, 7 insertions(+), 8 deletions(-) commit 6ad3fcddaf2ba8ebc9ad49ff9e7b33b60fcad16a -Merge: f95324a3 ae087d10 +Merge: f95324a33 ae087d10c Author: Ebrahim Byagowi Date: Thu Dec 6 10:21:00 2018 +0330 @@ -32563,7 +64400,7 @@ Date: Wed Dec 5 21:47:34 2018 -0800 1 file changed, 0 insertions(+), 0 deletions(-) commit 1ccbdcf73bbc967f5f94c0bc7f7e869bd87d9fa0 -Merge: 14d29a10 f95324a3 +Merge: 14d29a104 f95324a33 Author: Michiharu Ariza Date: Wed Dec 5 21:37:38 2018 -0800 @@ -32579,7 +64416,7 @@ Date: Wed Dec 5 21:33:29 2018 -0800 1 file changed, 5 insertions(+) commit f95324a3351c1f699214ad84d073268218ea83a3 -Merge: 6727c4b6 9d8f3b0d +Merge: 6727c4b6f 9d8f3b0df Author: Ebrahim Byagowi Date: Thu Dec 6 08:33:44 2018 +0330 @@ -32588,7 +64425,7 @@ Date: Thu Dec 6 08:33:44 2018 +0330 [CFF] oss-fuzz issue 11713 (CFF2VariationStore::serialize) commit 6727c4b6f0356b08803b4d5cde608ec004e3533f -Merge: d9dabc00 34e3ef8f +Merge: d9dabc00e 34e3ef8ff Author: Behdad Esfahbod Date: Wed Dec 5 17:37:21 2018 -0800 @@ -32615,7 +64452,7 @@ Date: Wed Dec 5 17:04:55 2018 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 34e3ef8ff394f281b8d7e2c08f346a9495692edc -Merge: 72d8f763 d9dabc00 +Merge: 72d8f7636 d9dabc00e Author: Michiharu Ariza Date: Wed Dec 5 15:50:05 2018 -0800 @@ -32631,7 +64468,7 @@ Date: Wed Dec 5 15:49:11 2018 -0800 1 file changed, 0 insertions(+), 0 deletions(-) commit d9dabc00e9278a346e85538212c126da7e610d55 -Merge: 81cfd3c7 010e2ddb +Merge: 81cfd3c77 010e2ddb3 Author: Behdad Esfahbod Date: Wed Dec 5 15:39:34 2018 -0800 @@ -32640,7 +64477,7 @@ Date: Wed Dec 5 15:39:34 2018 -0800 [CFF] fix oss-fuzz issue 11674: parse_bcd commit 81cfd3c775dbc470f57d7fe2775cc068ffa367b6 -Merge: 8394a6cb 6708c559 +Merge: 8394a6cb2 6708c5595 Author: Behdad Esfahbod Date: Wed Dec 5 15:37:15 2018 -0800 @@ -32680,7 +64517,7 @@ Date: Wed Dec 5 12:23:58 2018 -0800 1 file changed, 0 insertions(+), 0 deletions(-) commit 2cb9d4c183afc838ecf2ba0d47814e9eaa6f09c6 -Merge: a5fa843c 8394a6cb +Merge: a5fa843c7 8394a6cb2 Author: Michiharu Ariza Date: Wed Dec 5 11:25:29 2018 -0800 @@ -32735,7 +64572,7 @@ Date: Wed Dec 5 13:51:14 2018 +0330 3 files changed, 88 insertions(+), 2 deletions(-) commit 79e7e3445efef2dc57f8a10c7e355e802af08868 -Merge: cf4b7db6 78f639b8 +Merge: cf4b7db6b 78f639b8b Author: Ebrahim Byagowi Date: Wed Dec 5 13:25:18 2018 +0330 @@ -32744,7 +64581,7 @@ Date: Wed Dec 5 13:25:18 2018 +0330 [CFF] fix for oss-fuzz 11657: Charset overrun commit cf4b7db6b1e01c11d7a8a26d95cf947935a234a7 -Merge: 32cc46c7 803d2f92 +Merge: 32cc46c75 803d2f92d Author: Ebrahim Byagowi Date: Wed Dec 5 13:23:23 2018 +0330 @@ -32871,7 +64708,7 @@ Date: Tue Dec 4 23:42:13 2018 +0330 1 file changed, 2 insertions(+), 14 deletions(-) commit 803d2f92dca329a84d92c224a73e13906e8b8d56 -Merge: 6ce8d10b c775adc1 +Merge: 6ce8d10b4 c775adc13 Author: Michiharu Ariza Date: Tue Dec 4 11:01:26 2018 -0800 @@ -32907,7 +64744,7 @@ Date: Tue Dec 4 10:22:35 2018 -0800 2 files changed, 3 insertions(+), 2 deletions(-) commit c775adc1383f72f02b1329628b3eba1dc377a0f7 -Merge: c968869f 04f2ca94 +Merge: c968869f2 04f2ca942 Author: Ebrahim Byagowi Date: Tue Dec 4 21:30:07 2018 +0330 @@ -32934,7 +64771,7 @@ Date: Tue Dec 4 09:24:07 2018 -0800 1 file changed, 1 insertion(+), 2 deletions(-) commit c968869f212dbfcb86d42fb36049328521cbf00c -Merge: 8c05b955 c48f53d3 +Merge: 8c05b955e c48f53d30 Author: Behdad Esfahbod Date: Tue Dec 4 04:14:13 2018 -0500 @@ -32994,7 +64831,7 @@ Date: Mon Dec 3 14:48:46 2018 -0800 1 file changed, 13 insertions(+), 71 deletions(-) commit 8c05b955eb4aa088b2b5df9b6415863486eaf59c -Merge: d19b1680 01f628cf +Merge: d19b1680b 01f628cf5 Author: Behdad Esfahbod Date: Mon Dec 3 14:30:51 2018 -0500 @@ -33216,7 +65053,7 @@ Date: Fri Nov 30 22:43:22 2018 -0500 6 files changed, 9372 deletions(-) commit 5e64e0f53259dbc0a3ea8e220ded15e85bbc1782 -Merge: 09096aa8 d8c69137 +Merge: 09096aa89 d8c691376 Author: Behdad Esfahbod Date: Fri Nov 30 22:40:54 2018 -0500 @@ -33252,14 +65089,14 @@ Date: Fri Nov 30 18:58:14 2018 -0800 5 files changed, 8 insertions(+), 8 deletions(-) commit 2c859b3880868b30823eb00bed90dc0de873628b -Merge: 9483da14 bb72de66 +Merge: 9483da145 bb72de66d Author: Michiharu Ariza Date: Fri Nov 30 18:47:34 2018 -0800 Merge branch 'master' into cff-subset commit bb72de66ddf3ae9ae53cf68642cb228e88aa64f5 -Merge: fedd8e6c fb059082 +Merge: fedd8e6c1 fb0590821 Author: Behdad Esfahbod Date: Fri Nov 30 21:36:35 2018 -0500 @@ -33358,7 +65195,7 @@ Date: Fri Nov 30 15:15:31 2018 -0800 1 file changed, 2 insertions(+), 2 deletions(-) commit 9ae954f43ad1eb703d54db98ce46157370b71a9c -Merge: 471db3aa fedd8e6c +Merge: 471db3aa6 fedd8e6c1 Author: Michiharu Ariza Date: Fri Nov 30 15:00:52 2018 -0800 @@ -33450,7 +65287,7 @@ Date: Fri Nov 30 12:52:21 2018 -0500 1 file changed, 2 insertions(+), 2 deletions(-) commit 67fd94da98f950b5feb719ac805f2a45379fc935 -Merge: abd81ed4 ae79fdaa +Merge: abd81ed4f ae79fdaa7 Author: Behdad Esfahbod Date: Fri Nov 30 11:53:30 2018 -0500 @@ -33784,7 +65621,7 @@ Date: Thu Nov 29 11:34:22 2018 -0500 1 file changed, 2 insertions(+), 2 deletions(-) commit 0bcb1de1265368a27e53c6d935c965cbcb4130a0 -Merge: e0307de8 a85886fc +Merge: e0307de81 a85886fc7 Author: Behdad Esfahbod Date: Thu Nov 29 10:39:18 2018 -0500 @@ -33811,14 +65648,14 @@ Date: Wed Nov 28 17:06:11 2018 -0800 1 file changed, 9 insertions(+) commit 32d291ae899eb095500052bed2a22e5255a34838 -Merge: 1ecbf4d3 949655aa +Merge: 1ecbf4d3e 949655aa7 Author: Michiharu Ariza Date: Wed Nov 28 16:27:45 2018 -0800 Merge branch 'master' into cff-subset commit 949655aa7853a4513af6b5247b9822be38f5d322 -Merge: 7b78d223 d3d0f15f +Merge: 7b78d2233 d3d0f15f7 Author: Behdad Esfahbod Date: Wed Nov 28 17:21:57 2018 -0500 @@ -33871,7 +65708,7 @@ Date: Wed Nov 28 15:24:30 2018 -0500 2 files changed, 15 insertions(+), 1 deletion(-) commit 9e4f03b6ed80a81f8aee5ba93564f5eabab4299c -Merge: 19863c80 a3267cf8 +Merge: 19863c805 a3267cf80 Author: Behdad Esfahbod Date: Wed Nov 28 15:08:01 2018 -0500 @@ -33918,7 +65755,7 @@ Date: Wed Nov 28 20:28:42 2018 +0330 2 files changed, 33 insertions(+), 36 deletions(-) commit 987f4187722a05e3f360b85c66309a351fc5d6ad -Merge: 1042d9fb 4e2a03b6 +Merge: 1042d9fbc 4e2a03b6b Author: Behdad Esfahbod Date: Tue Nov 27 17:40:32 2018 -0500 @@ -35395,7 +67232,7 @@ Date: Fri Nov 23 15:24:17 2018 -0500 1 file changed, 17 insertions(+), 2 deletions(-) commit 992b7128656e72f935089dc2e12c2d2a25511886 -Merge: c9cc96c0 018ba46e +Merge: c9cc96c0c 018ba46e4 Author: Behdad Esfahbod Date: Fri Nov 23 13:49:34 2018 -0500 @@ -35482,7 +67319,7 @@ Date: Thu Nov 22 22:40:57 2018 -0500 1 file changed, 4 insertions(+), 4 deletions(-) commit 8280459e74cff2dec3de012abd309cda9578b759 -Merge: e4a4555d 3c7792ca +Merge: e4a4555d1 3c7792ca3 Author: Behdad Esfahbod Date: Thu Nov 22 22:39:12 2018 -0500 @@ -35874,7 +67711,7 @@ Date: Wed Nov 21 23:19:00 2018 -0500 1 file changed, 2 insertions(+), 2 deletions(-) commit f961c1eb88af0d178e5d3431b9d57bdf79669488 -Merge: ecdceea8 264439c6 +Merge: ecdceea86 264439c6c Author: Behdad Esfahbod Date: Wed Nov 21 17:27:27 2018 -0500 @@ -35893,7 +67730,7 @@ Date: Wed Nov 21 16:33:45 2018 -0500 2 files changed, 1 insertion(+) commit ecdceea861952be003e1d435aa3282a4e3e200a9 -Merge: b89c7fd3 b3d5b0a5 +Merge: b89c7fd3d b3d5b0a5d Author: Behdad Esfahbod Date: Wed Nov 21 16:12:32 2018 -0500 @@ -35988,14 +67825,14 @@ Date: Tue Nov 20 11:33:33 2018 -0500 1 file changed, 14 insertions(+), 13 deletions(-) commit 1ecbf4d3e3de7edc86651c6f805788747d6d89af -Merge: 515f1a16 064f703c +Merge: 515f1a161 064f703c7 Author: Michiharu Ariza Date: Tue Nov 20 17:19:05 2018 -0800 Merge branch 'master' into cff-subset commit 064f703c7ac5a28803a8221720e922ea6dbd2505 -Merge: be1828da 82951182 +Merge: be1828daa 829511827 Author: Behdad Esfahbod Date: Tue Nov 20 16:29:30 2018 -0500 @@ -36180,7 +68017,7 @@ Date: Mon Nov 19 11:30:40 2018 -0500 1 file changed, 1 insertion(+), 1 deletion(-) commit 515f1a16140f78c9ec379854851f77a1b44af145 -Merge: a6da9b94 e3a1a835 +Merge: a6da9b941 e3a1a8350 Author: Michiharu Ariza Date: Fri Nov 16 17:38:47 2018 -0800 @@ -36335,7 +68172,7 @@ Date: Fri Nov 16 13:46:58 2018 -0800 2 files changed, 12 insertions(+), 3 deletions(-) commit b403be8ad98ffd2dbe95dad73e96c7ed1295d9fc -Merge: b67a7c73 50d1a41c +Merge: b67a7c731 50d1a41c0 Author: Michiharu Ariza Date: Fri Nov 16 12:29:18 2018 -0800 @@ -36561,7 +68398,7 @@ Date: Thu Nov 15 12:10:23 2018 -0800 2 files changed, 10 insertions(+), 5 deletions(-) commit c37aecd41c5b55e5ef496f3c4cc255a1e2ce7f9f -Merge: ecdb77f0 cabe433f +Merge: ecdb77f0a cabe433fb Author: Michiharu Ariza Date: Thu Nov 15 11:03:46 2018 -0800 @@ -36615,7 +68452,7 @@ Date: Wed Nov 14 14:49:34 2018 -0500 7 files changed, 43 insertions(+), 29 deletions(-) commit 892ab37e7c9580e35b35a4d82a99e2ea73ac7b0b -Merge: 3787c078 7867c2ba +Merge: 3787c0785 7867c2bad Author: Michiharu Ariza Date: Wed Nov 14 13:54:07 2018 -0800 @@ -36674,7 +68511,7 @@ Date: Wed Nov 14 12:13:16 2018 +0330 1 file changed, 1 insertion(+), 1 deletion(-) commit a9c27d576ffe4452d1a3dae73964a8f4d6dcc088 -Merge: 3c3eb5ea e543e1a0 +Merge: 3c3eb5ea9 e543e1a08 Author: Ebrahim Byagowi Date: Wed Nov 14 08:29:17 2018 +0330 @@ -36716,7 +68553,7 @@ Date: Tue Nov 13 20:48:46 2018 -0500 1 file changed, 10 insertions(+), 4 deletions(-) commit 086235f59310ed77542d4916d31a4285c68630ff -Merge: 2092f595 c565fc3f +Merge: 2092f595c c565fc3fb Author: Behdad Esfahbod Date: Tue Nov 13 19:50:25 2018 -0500 @@ -36725,7 +68562,7 @@ Date: Tue Nov 13 19:50:25 2018 -0500 Change USE Category for Grantha Virama commit 2092f595c7a4c591cace41cb99d31620fa6d5fa4 -Merge: 475be9d5 eee5b5ed +Merge: 475be9d5c eee5b5ed0 Author: Behdad Esfahbod Date: Tue Nov 13 19:49:06 2018 -0500 @@ -37019,7 +68856,7 @@ Date: Mon Nov 12 13:01:22 2018 -0500 2 files changed, 1 insertion(+), 1 deletion(-) commit 41a8bc7fd9399def8f580b02627a77f3972cc0e9 -Merge: 0dfa584c 77bd0a64 +Merge: 0dfa584cb 77bd0a645 Author: Michiharu Ariza Date: Mon Nov 12 08:49:00 2018 -0800 @@ -37413,7 +69250,7 @@ Date: Sat Nov 10 19:54:08 2018 -0500 5 files changed, 20 insertions(+), 13 deletions(-) commit fb2a037f54f3cd323a447925f6534eccd1c709c1 -Merge: 87984165 b4c61130 +Merge: 879841658 b4c611303 Author: Michiharu Ariza Date: Sat Nov 10 16:23:11 2018 -0800 @@ -37483,7 +69320,7 @@ Date: Sat Nov 10 15:38:48 2018 -0500 1 file changed, 5 insertions(+), 3 deletions(-) commit 5547bfa9f2815df727fa524b0ea0f136a6f955b7 -Merge: 3a9fa8c0 1d82b476 +Merge: 3a9fa8c02 1d82b4761 Author: Behdad Esfahbod Date: Sat Nov 10 15:35:12 2018 -0500 @@ -37576,7 +69413,7 @@ Date: Fri Nov 9 10:01:50 2018 -0500 2 files changed, 5 insertions(+), 2 deletions(-) commit f51bb6ee7bd4ebca9b432851adc527ec086360fe -Merge: 2d987110 b986fead +Merge: 2d987110c b986fead0 Author: Behdad Esfahbod Date: Thu Nov 8 14:42:40 2018 -0500 @@ -37631,7 +69468,7 @@ Date: Thu Nov 8 20:48:54 2018 +0330 2 files changed, 12 insertions(+), 11 deletions(-) commit 26c291aaa023d31c793b6f505c76e0dd7acbff9b -Merge: 417963dd f9042384 +Merge: 417963dd9 f90423847 Author: Michiharu Ariza Date: Thu Nov 8 09:06:49 2018 -0800 @@ -37712,7 +69549,7 @@ Date: Wed Nov 7 19:11:43 2018 -0500 1 file changed, 13 insertions(+), 11 deletions(-) commit 517a1bac97b6273e03562deefcca129648698c31 -Merge: 9d502769 b18a56a2 +Merge: 9d5027696 b18a56a29 Author: Behdad Esfahbod Date: Wed Nov 7 18:40:48 2018 -0500 @@ -37730,14 +69567,14 @@ Date: Wed Nov 7 18:13:22 2018 -0500 1 file changed, 4 insertions(+) commit 4d740206943ecb72e4be7cc4815e0a3aa3edaa9d -Merge: e0c30b96 9d502769 +Merge: e0c30b961 9d5027696 Author: Michiharu Ariza Date: Wed Nov 7 15:09:30 2018 -0800 Merge branch 'master' into cff-subset commit e0c30b961de87d38bff8dd49e86785a5b74fcad3 -Merge: 0996c0ff ae8fd0db +Merge: 0996c0ff6 ae8fd0dbf Author: Michiharu Ariza Date: Wed Nov 7 15:08:55 2018 -0800 @@ -38543,7 +70380,7 @@ Date: Tue Nov 6 13:59:07 2018 -0800 1 file changed, 2 insertions(+), 2 deletions(-) commit 43ee0e4d006ce7b4ade4483f2c8ec3d39723fc94 -Merge: ec6817c1 bfafe208 +Merge: ec6817c1b bfafe208d Author: Michiharu Ariza Date: Tue Nov 6 09:57:17 2018 -0800 @@ -38992,7 +70829,7 @@ Date: Sun Nov 4 14:17:30 2018 -0800 1 file changed, 2 insertions(+) commit 1682d1bbecaeeddc8a1678a01c57c0e0023bf7c4 -Merge: d8fadec0 b605db2f +Merge: d8fadec09 b605db2f6 Author: Michiharu Ariza Date: Sun Nov 4 13:25:41 2018 -0800 @@ -39360,7 +71197,7 @@ Date: Fri Nov 2 16:40:20 2018 -0700 3 files changed, 4 insertions(+), 4 deletions(-) commit 481fdfdc23f557400ad3aceeceeab07add78f005 -Merge: 1bc710a8 2840a104 +Merge: 1bc710a8c 2840a104c Author: Michiharu Ariza Date: Fri Nov 2 15:28:09 2018 -0700 @@ -39622,7 +71459,7 @@ Date: Thu Nov 1 16:18:13 2018 -0700 7 files changed, 22 insertions(+), 26 deletions(-) commit e600e5440b3b77294df47fae947758137ea02501 -Merge: 82248b92 de96e5c8 +Merge: 82248b928 de96e5c81 Author: Michiharu Ariza Date: Thu Nov 1 16:13:56 2018 -0700 @@ -40764,7 +72601,7 @@ Date: Mon Oct 29 13:11:01 2018 +0330 3 files changed, 8 insertions(+), 9 deletions(-) commit 1dfe964378e97e45eedf9db9b9a7f675fe38c0bf -Merge: f10252b4 9c692e5b +Merge: f10252b4b 9c692e5b8 Author: Ebrahim Byagowi Date: Mon Oct 29 12:34:33 2018 +0330 @@ -41459,7 +73296,7 @@ Date: Sat Oct 27 04:01:19 2018 -0700 2 files changed, 4 insertions(+), 4 deletions(-) commit 524e854c15f9d6c50c5456ae0e188f039dcf153c -Merge: 4ee3c827 8180c37d +Merge: 4ee3c8272 8180c37df Author: Ebrahim Byagowi Date: Sat Oct 27 15:04:43 2018 +0330 @@ -42492,7 +74329,7 @@ Date: Thu Oct 25 13:19:34 2018 -0700 5 files changed, 6 insertions(+), 6 deletions(-) commit 2ebf36010206cebdbe58bab6edf4e3bc011b6479 -Merge: 36c2c374 94e421ab +Merge: 36c2c374b 94e421abb Author: Michiharu Ariza Date: Thu Oct 25 13:05:06 2018 -0700 @@ -42719,7 +74556,7 @@ Date: Tue Oct 23 13:09:30 2018 -0700 2 files changed, 13 insertions(+), 14 deletions(-) commit e1241636d60a63cbfd741288716b55797a4dc8ee -Merge: 960267fc cf92d657 +Merge: 960267fc4 cf92d6579 Author: Michiharu Ariza Date: Tue Oct 23 11:25:51 2018 -0700 @@ -43199,7 +75036,7 @@ Date: Sun Oct 21 19:23:11 2018 -0700 5 files changed, 85 insertions(+), 60 deletions(-) commit 570b77f7d2b41262ccb20fadbee2c6b455cd06c6 -Merge: 857c5827 d440c8d3 +Merge: 857c58279 d440c8d3f Author: Michiharu Ariza Date: Mon Oct 22 13:06:47 2018 -0700 @@ -43254,7 +75091,7 @@ Date: Mon Oct 22 22:07:59 2018 +0330 9 files changed, 55 insertions(+), 4 deletions(-) commit 857c58279e82897ed69e8ade2f736073fa12883b -Merge: 51fba41c b92b9d7e +Merge: 51fba41cc b92b9d7e5 Author: Michiharu Ariza Date: Mon Oct 22 09:57:20 2018 -0700 @@ -43485,7 +75322,7 @@ Date: Sun Oct 21 11:37:38 2018 +0330 1 file changed, 0 insertions(+), 0 deletions(-) commit 4fa94a3e39c21bc1dcdbbd5bda99bff1e1490b0e -Merge: 217a3728 c110878c +Merge: 217a3728b c110878cb Author: Ebrahim Byagowi Date: Sun Oct 21 11:36:41 2018 +0330 @@ -43644,7 +75481,7 @@ Date: Sat Oct 20 12:20:30 2018 +0330 2 files changed, 0 insertions(+), 0 deletions(-) commit 1e55e21dea78aaaddc0715e7df96fd198ec8f78a -Merge: 964ae32a d084719f +Merge: 964ae32aa d084719ff Author: Ebrahim Byagowi Date: Sat Oct 20 07:45:46 2018 +0330 @@ -43976,7 +75813,7 @@ Date: Fri Oct 19 08:09:53 2018 +0330 13 files changed, 0 insertions(+), 0 deletions(-) commit 51fba41cc958ded3afc6c1e738895b0a81993e18 -Merge: e555ed96 3d9a0306 +Merge: e555ed961 3d9a0306e Author: Michiharu Ariza Date: Thu Oct 18 13:08:42 2018 -0700 @@ -44263,7 +76100,7 @@ Date: Wed Oct 17 15:04:35 2018 -0700 18 files changed, 7 insertions(+), 7 deletions(-) commit 1f34388e8b40a77157f61c8e1a2fc7c4846c192e -Merge: 9ade3e7b 2e7c7165 +Merge: 9ade3e7bb 2e7c71651 Author: Michiharu Ariza Date: Wed Oct 17 09:34:48 2018 -0700 @@ -44726,7 +76563,7 @@ Date: Mon Oct 15 19:46:45 2018 -0700 1 file changed, 4 insertions(+), 3 deletions(-) commit 9ade3e7bb81be43b3c0811614b9b9533127894b0 -Merge: 6420ffe0 0f85edb7 +Merge: 6420ffe00 0f85edb77 Author: Michiharu Ariza Date: Mon Oct 15 14:03:23 2018 -0700 @@ -44925,7 +76762,7 @@ Date: Sun Oct 14 14:52:17 2018 -0700 1 file changed, 3 insertions(+), 2 deletions(-) commit db0d83ddc73ecf50ec4489fc10eddf3fa5835ae2 -Merge: 9228db06 56b8dd17 +Merge: 9228db06f 56b8dd17f Author: Michiharu Ariza Date: Sat Oct 13 17:25:38 2018 -0700 @@ -45189,7 +77026,7 @@ Date: Thu Oct 11 21:18:20 2018 -0400 1 file changed, 4 deletions(-) commit fc0153a1d4903a57b21974cc8d0b0a82d7bc43dc -Merge: 7d99a6ce c5510000 +Merge: 7d99a6cef c55100000 Author: Michiharu Ariza Date: Fri Oct 12 12:16:50 2018 -0700 @@ -45719,7 +77556,7 @@ Date: Thu Dec 28 22:59:29 2017 +0800 2 files changed, 4 insertions(+), 4 deletions(-) commit ce6639cd27f79856466a5e8abf58f544f069e25d -Merge: a6b6faf2 0b9d60e1 +Merge: a6b6faf2b 0b9d60e1a Author: Michiharu Ariza Date: Thu Oct 11 10:53:48 2018 -0700 @@ -45973,7 +77810,7 @@ Date: Wed Oct 10 21:46:58 2018 -0400 1 file changed, 10 insertions(+), 5 deletions(-) commit b5aa5dbb1158a5dfba29f7b119df9b4b319e8489 -Merge: af61c3b1 ab1f30bd +Merge: af61c3b10 ab1f30bd0 Author: Michiharu Ariza Date: Wed Oct 10 18:36:35 2018 -0700 @@ -46352,7 +78189,7 @@ Date: Wed Oct 10 17:12:52 2018 +0330 2 files changed, 100 insertions(+), 52 deletions(-) commit c06a5dff0b0f8d1c5aba53bcfd7fb0b680f1ca92 -Merge: 83c5298f 0537a401 +Merge: 83c5298f3 0537a4019 Author: Michiharu Ariza Date: Tue Oct 9 22:00:10 2018 -0700 @@ -46725,7 +78562,7 @@ Date: Tue Oct 9 14:12:59 2018 -0400 1 file changed, 4 insertions(+), 10 deletions(-) commit f5f505b5120c316f06306318c6c2f0db4496ba04 -Merge: 8b349040 4035158d +Merge: 8b349040e 4035158de Author: Michiharu Ariza Date: Tue Oct 9 10:10:35 2018 -0700 @@ -46881,7 +78718,7 @@ Date: Tue Oct 9 00:56:33 2018 -0400 3 files changed, 18 insertions(+), 27 deletions(-) commit 8b349040e92b8894a7f8a609fac8070bcb110f96 -Merge: df964a09 fc509165 +Merge: df964a093 fc5091658 Author: Michiharu Ariza Date: Mon Oct 8 21:46:23 2018 -0700 @@ -47054,7 +78891,7 @@ Date: Mon Oct 8 15:38:05 2018 -0700 2 files changed, 4 insertions(+), 5 deletions(-) commit a90fd8b9feeee3b02d139f2e7db774766d7855cb -Merge: b51418f5 e42cd58c +Merge: b51418f59 e42cd58c9 Author: Michiharu Ariza Date: Mon Oct 8 15:07:58 2018 -0700 @@ -47719,7 +79556,7 @@ Date: Wed Oct 3 17:44:45 2018 -0700 2 files changed, 2 insertions(+), 2 deletions(-) commit 8be5a9186be3ca4c50c73f372be4dbad08ac1863 -Merge: d7b384ad 5de2d9cd +Merge: d7b384ad0 5de2d9cdb Author: Michiharu Ariza Date: Wed Oct 3 17:06:18 2018 -0700 @@ -48183,7 +80020,7 @@ Date: Tue Oct 2 13:45:14 2018 -0700 1 file changed, 174 insertions(+), 174 deletions(-) commit 9cdd70b344b9dc34a29aeca79028cbb5d949ca1d -Merge: 3dd43f02 6353cc1f +Merge: 3dd43f023 6353cc1f8 Author: Michiharu Ariza Date: Tue Oct 2 13:43:21 2018 -0700 @@ -48566,7 +80403,7 @@ Date: Mon Oct 1 19:09:58 2018 +0200 5 files changed, 270 insertions(+), 177 deletions(-) commit 3dd43f0234febd434d89927adf2ee19f0489c5a7 -Merge: ab16b24c eb1e6028 +Merge: ab16b24cc eb1e60287 Author: Michiharu Ariza Date: Mon Oct 1 10:22:06 2018 -0700 @@ -49259,7 +81096,7 @@ Date: Thu Sep 27 16:54:23 2018 -0400 1 file changed, 4 insertions(+), 1 deletion(-) commit 341b70a3b47ef3ceeb81e715937d6b2305258060 -Merge: bbf2a095 9e9a36ee +Merge: bbf2a0954 9e9a36ee6 Author: n8willis Date: Thu Sep 27 11:15:22 2018 -0500 @@ -49595,7 +81432,7 @@ Date: Mon Sep 24 13:11:34 2018 -0400 1 file changed, 2 insertions(+), 2 deletions(-) commit 0604bf2b3846b200c56447ffe542bf69c0529a06 -Merge: 76e54d2b 45f5aa97 +Merge: 76e54d2bd 45f5aa979 Author: Michiharu Ariza Date: Mon Sep 24 10:09:25 2018 -0700 @@ -50017,7 +81854,7 @@ Date: Mon Sep 17 13:56:39 2018 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit d050ab8d3e73debfb414fc8c9426180459150b61 -Merge: f0a4e0c2 388ab916 +Merge: f0a4e0c2c 388ab9164 Author: Michiharu Ariza Date: Mon Sep 17 13:07:29 2018 -0700 @@ -50342,7 +82179,7 @@ Date: Fri Sep 14 10:58:00 2018 +0200 1 file changed, 1 insertion(+), 2 deletions(-) commit f2c4720ae696096d90493db218ef1283681561e7 -Merge: 1234a813 ca746f26 +Merge: 1234a8136 ca746f261 Author: Michiharu Ariza Date: Thu Sep 13 12:44:00 2018 -0700 @@ -50637,7 +82474,7 @@ Date: Tue Sep 11 10:43:15 2018 -0700 2 files changed, 44 insertions(+), 15 deletions(-) commit 45e564a51917475ef6481825a6efb5b99bf1912e -Merge: c6f75c30 d5c50927 +Merge: c6f75c304 d5c509272 Author: Michiharu Ariza Date: Tue Sep 11 09:46:37 2018 -0700 @@ -51236,7 +83073,7 @@ Date: Fri Sep 7 15:02:57 2018 -0400 8 files changed, 18 insertions(+), 18 deletions(-) commit 1e88b1755c37eaa171c08f7bedb93f110238c80f -Merge: 22b88632 ebe67137 +Merge: 22b88632d ebe67137a Author: Michiharu Ariza Date: Fri Sep 7 10:50:55 2018 -0700 @@ -51261,7 +83098,7 @@ Date: Fri Sep 7 10:24:22 2018 -0400 1 file changed, 3 insertions(+) commit 22b88632d5bd3676642b0a1d93f27e47438c140b -Merge: 2a74536a 21bf1470 +Merge: 2a74536aa 21bf14705 Author: Michiharu Ariza Date: Thu Sep 6 22:27:44 2018 -0700 @@ -51764,7 +83601,7 @@ Date: Wed Aug 29 13:36:39 2018 -0700 5 files changed, 15 insertions(+), 15 deletions(-) commit 8af9690ac7ce41fb1db878d556df5c4ee624eaa0 -Merge: 0ad081ec fee0f41c +Merge: 0ad081ec3 fee0f41c6 Author: Michiharu Ariza Date: Wed Aug 29 13:26:17 2018 -0700 @@ -52662,7 +84499,7 @@ Date: Wed Aug 15 15:30:24 2018 -0700 1 file changed, 2 insertions(+), 2 deletions(-) commit 25b8310b2a3e074c9d1d723ab6d10a29f8d189be -Merge: 7aa23f35 22defe09 +Merge: 7aa23f359 22defe096 Author: Michiharu Ariza Date: Wed Aug 15 15:00:55 2018 -0700 @@ -53054,7 +84891,7 @@ Date: Thu Aug 9 15:16:32 2018 +0700 1 file changed, 1 insertion(+), 1 deletion(-) commit a3a8c85b027779365bb33e2063221b4650fbac3b -Merge: 145f371d 652cd45c +Merge: 145f371d7 652cd45c6 Author: Michiharu Ariza Date: Fri Aug 10 13:41:42 2018 -0700 @@ -53361,7 +85198,7 @@ Date: Mon Aug 6 15:32:13 2018 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit 161ece4c3097096f355dc5ea514320a8dc678bea -Merge: e8d695eb 79e21984 +Merge: e8d695eba 79e21984b Author: Michiharu Ariza Date: Mon Aug 6 11:23:50 2018 -0700 @@ -53776,7 +85613,7 @@ Date: Thu Aug 2 12:23:10 2018 -0700 1 file changed, 14 insertions(+), 15 deletions(-) commit e2fd49e4779663e3138bd1990736a9cf850303bf -Merge: 693ae804 d4d1bf81 +Merge: 693ae8047 d4d1bf817 Author: Michiharu Ariza Date: Thu Aug 2 11:39:22 2018 -0700 @@ -54666,7 +86503,7 @@ Date: Mon Jul 30 14:28:40 2018 -0700 3 files changed, 72 insertions(+), 23 deletions(-) commit 161b642ec5babc7e4b81d41f725d81ad2caa9330 -Merge: 3a61c3e9 5edf454a +Merge: 3a61c3e93 5edf454aa Author: Michiharu Ariza Date: Mon Jul 30 12:22:09 2018 -0700 @@ -55183,7 +87020,7 @@ Date: Mon Jul 16 15:41:09 2018 +0200 3 files changed, 26 insertions(+), 5 deletions(-) commit 524411224054b23bab4adad7343314df45c9c183 -Merge: 2aae617a 269eb456 +Merge: 2aae617a8 269eb4565 Author: Cosimo Lupo Date: Mon Jul 16 14:42:43 2018 +0200 @@ -55500,7 +87337,7 @@ Date: Tue Jul 10 12:51:29 2018 +0200 1 file changed, 1 insertion(+) commit bf9e9676dda686f5b76826b4e3148f4a0b512e3c -Merge: 46d8f0d5 53f73409 +Merge: 46d8f0d55 53f73409a Author: Cosimo Lupo Date: Mon Jul 9 20:24:22 2018 +0200 @@ -55879,7 +87716,7 @@ Date: Fri Jun 22 15:29:34 2018 -0700 1 file changed, 0 insertions(+), 0 deletions(-) commit bbf2a09549a88bd52ac3db89a0ae93f3b71b3e37 -Merge: 8db058d2 35ce8f31 +Merge: 8db058d20 35ce8f31d Author: Nathan Willis Date: Mon Jun 25 13:02:11 2018 -0500 @@ -57291,7 +89128,7 @@ Date: Tue May 8 16:42:45 2018 -0700 1 file changed, 5 insertions(+), 5 deletions(-) commit 0644d92ef32b09e32d473c758d2a968f2d125628 -Merge: 2a2e28e7 3be050f0 +Merge: 2a2e28e70 3be050f07 Author: Behdad Esfahbod Date: Tue May 8 15:21:09 2018 -0700 @@ -58200,7 +90037,7 @@ Date: Sun Apr 15 21:18:48 2018 +0430 3 files changed, 5 insertions(+), 5 deletions(-) commit 3737c652a5e0b6d73b6090dc6c3863008c9dc8fd -Merge: 632713ba 8f4c1230 +Merge: 632713bab 8f4c12308 Author: Ebrahim Byagowi Date: Fri Apr 13 23:19:19 2018 +0430 @@ -59271,7 +91108,7 @@ Date: Wed Mar 14 15:51:33 2018 +0100 1 file changed, 13 deletions(-) commit 791d80a1d42ce0bd7c5f0a3d3d10c562a6161a82 -Merge: d4907e83 22de9bf5 +Merge: d4907e83e 22de9bf56 Author: Ebrahim Byagowi Date: Thu Mar 15 11:40:52 2018 +0330 @@ -59321,7 +91158,7 @@ Date: Wed Mar 14 00:50:32 2018 +0000 1 file changed, 12 insertions(+), 8 deletions(-) commit a12dd6f75d85cf29ed78182ac97a12ebbcf77375 -Merge: 28f25f32 7c43adab +Merge: 28f25f32f 7c43adab6 Author: Ebrahim Byagowi Date: Wed Mar 14 02:54:07 2018 +0330 @@ -59475,7 +91312,7 @@ Date: Sat Mar 10 00:44:36 2018 +0330 1 file changed, 1 insertion(+), 1 deletion(-) commit 743ef317619a57ebf5a75935db0eecccade5d5b7 -Merge: 9206762b 39b2f69f +Merge: 9206762bb 39b2f69fa Author: Garret Rieger Date: Fri Mar 9 12:06:52 2018 -0700 @@ -59515,7 +91352,7 @@ Date: Thu Mar 8 16:30:36 2018 -0800 1 file changed, 34 insertions(+), 15 deletions(-) commit dbe552770fa7cec91bba750e0e81aaeae96b3caf -Merge: 2ebf4c69 8548fa15 +Merge: 2ebf4c69b 8548fa152 Author: Garret Rieger Date: Thu Mar 8 15:50:25 2018 -0700 @@ -59582,7 +91419,7 @@ Date: Thu Mar 1 18:20:00 2018 -0800 14 files changed, 18 insertions(+) commit 2ebf4c69b18452caa0c871aebec9785e80348166 -Merge: 1ab51480 869ccac5 +Merge: 1ab514805 869ccac5a Author: Garret Rieger Date: Thu Mar 8 14:41:59 2018 -0700 @@ -59621,7 +91458,7 @@ Date: Tue Mar 6 18:33:39 2018 -0800 2 files changed, 32 insertions(+) commit 1ab514805ced190efdabc2103e4800d40b248300 -Merge: 70ad69f2 362f2824 +Merge: 70ad69f24 362f28240 Author: Garret Rieger Date: Wed Mar 7 12:36:00 2018 -0700 @@ -60020,7 +91857,7 @@ Date: Wed Feb 28 15:44:00 2018 -0800 1 file changed, 23 insertions(+), 2 deletions(-) commit 588a4e0f9b2d71362503a274de7200f3eb4367f7 -Merge: 55a4dfa3 b3f1a045 +Merge: 55a4dfa37 b3f1a045a Author: rsheeter Date: Wed Feb 28 13:52:29 2018 -0800 @@ -60058,7 +91895,7 @@ Date: Wed Feb 28 15:43:23 2018 +0330 1 file changed, 2 insertions(+), 2 deletions(-) commit 3821978bcd92cbdb607111452796e051c456f391 -Merge: 77227462 f671f7f0 +Merge: 772274625 f671f7f0a Author: Ebrahim Byagowi Date: Wed Feb 28 13:30:17 2018 +0330 @@ -60082,7 +91919,7 @@ Date: Wed Feb 28 13:19:40 2018 +0330 7 files changed, 122 insertions(+), 18 deletions(-) commit 772274625e9f17d726f2a1da8192ec3ec24793a3 -Merge: 0eec3315 5b9c2340 +Merge: 0eec33154 5b9c23404 Author: Ebrahim Byagowi Date: Wed Feb 28 12:05:49 2018 +0330 @@ -60140,7 +91977,7 @@ Date: Tue Feb 27 20:17:04 2018 -0800 3 files changed, 3 insertions(+), 4 deletions(-) commit c8b230e4377bc8e80d37835a229511ce0e30cc47 -Merge: b3790a65 904dd7be +Merge: b3790a65a 904dd7bee Author: Rod Sheeter Date: Tue Feb 27 17:25:32 2018 -0800 @@ -60230,7 +92067,7 @@ Date: Tue Feb 27 17:23:30 2018 -0800 2 files changed, 29 insertions(+), 6 deletions(-) commit 4c6023f861a4b87782c17ac626ffee7e93f15fc8 -Merge: d7633d0a 921b65cb +Merge: d7633d0a4 921b65cbc Author: Garret Rieger Date: Tue Feb 27 17:06:27 2018 -0700 @@ -60295,14 +92132,14 @@ Date: Tue Feb 27 12:45:26 2018 -0800 2 files changed, 125 insertions(+), 139 deletions(-) commit 101850f9e6b9e0932fe1dd4169f88d6764c669c1 -Merge: 5967eaba f110c0c8 +Merge: 5967eaba7 f110c0c88 Author: Ebrahim Byagowi Date: Tue Feb 27 20:15:54 2018 +0330 Merge with master commit f110c0c8866c853c0d5a930564a2b69231a33322 -Merge: 4a1d51ef 0ad8c663 +Merge: 4a1d51ef1 0ad8c663e Author: Ebrahim Byagowi Date: Tue Feb 27 11:41:12 2018 +0330 @@ -60322,7 +92159,7 @@ Date: Mon Feb 26 12:45:08 2018 +0330 3 files changed, 35 insertions(+), 37 deletions(-) commit 4a1d51ef15a423706406f784a146078073147885 -Merge: d0caf7e5 903771b6 +Merge: d0caf7e5e 903771b6c Author: rsheeter Date: Mon Feb 26 20:23:41 2018 -0800 @@ -60341,7 +92178,7 @@ Date: Mon Feb 26 19:50:06 2018 -0800 2 files changed, 13 insertions(+), 12 deletions(-) commit d0caf7e5e3294c25230ed0e5580c647fa0f1a2c8 -Merge: 6c844ae8 44dc36dd +Merge: 6c844ae8e 44dc36dd8 Author: Garret Rieger Date: Mon Feb 26 19:24:18 2018 -0700 @@ -60648,7 +92485,7 @@ Date: Sun Feb 25 16:32:17 2018 -0800 5 files changed, 105 insertions(+), 92 deletions(-) commit 05699fd996ed9c0e5dde8918388ac188e58df1a7 -Merge: 83af6c23 3ebcd5a3 +Merge: 83af6c237 3ebcd5a38 Author: Behdad Esfahbod Date: Sat Feb 24 12:01:54 2018 -0800 @@ -60733,7 +92570,7 @@ Date: Fri Feb 23 18:18:54 2018 -0800 2 files changed, 10 insertions(+), 4 deletions(-) commit d78393b5547135b8db0356b0ec14d5ed0d334768 -Merge: 1454d82a 83af6c23 +Merge: 1454d82a9 83af6c237 Author: Rod Sheeter Date: Fri Feb 23 17:53:26 2018 -0800 @@ -60761,7 +92598,7 @@ Date: Fri Feb 23 17:43:00 2018 -0800 3 files changed, 21 insertions(+), 8 deletions(-) commit 83af6c237f2bfd66af76a8647a62b3d1ab996744 -Merge: 7e5e1feb dc5c7927 +Merge: 7e5e1feb6 dc5c7927e Author: Garret Rieger Date: Fri Feb 23 18:33:25 2018 -0700 @@ -60784,7 +92621,7 @@ Date: Fri Feb 23 16:42:06 2018 -0800 3 files changed, 43 insertions(+), 12 deletions(-) commit 7e5e1feb666d6a861b5cd64bf29a16e3854fb812 -Merge: ec2538c8 99967e21 +Merge: ec2538c88 99967e21c Author: Garret Rieger Date: Fri Feb 23 17:59:08 2018 -0700 @@ -60904,7 +92741,7 @@ Date: Fri Feb 23 13:05:58 2018 -0800 7 files changed, 117 insertions(+), 24 deletions(-) commit b1ec82105189053d648a798cf5b3ab2887046298 -Merge: e15e41ef c2e4713b +Merge: e15e41ef1 c2e4713b5 Author: Garret Rieger Date: Fri Feb 23 12:32:18 2018 -0700 @@ -61250,7 +93087,7 @@ Date: Tue Feb 20 15:33:03 2018 -0800 1 file changed, 41 insertions(+), 14 deletions(-) commit 73e20ec6e9ad86bea023fc8b6fc10287889ed048 -Merge: 6ae4013f 69e443b2 +Merge: 6ae4013f2 69e443b25 Author: Garret Rieger Date: Tue Feb 20 17:34:59 2018 -0700 @@ -61521,7 +93358,7 @@ Date: Mon Feb 19 03:17:44 2018 +0330 4 files changed, 381 insertions(+) commit 279c70a5b36446f444e5d2f4ac1db7614c8a3db8 -Merge: e9164478 89b82814 +Merge: e91644786 89b82814b Author: Behdad Esfahbod Date: Sun Feb 18 14:04:33 2018 -0800 @@ -61570,7 +93407,7 @@ Date: Sun Feb 18 23:25:15 2018 +0330 1 file changed, 2 insertions(+), 3 deletions(-) commit 79d0d791b9ee920e1f687a93de5adf5d113cc829 -Merge: 21646cc4 97a71102 +Merge: 21646cc4a 97a711021 Author: Behdad Esfahbod Date: Sun Feb 18 11:35:51 2018 -0800 @@ -61590,7 +93427,7 @@ Date: Sun Feb 18 10:50:24 2018 -0800 1 file changed, 2 insertions(+), 2 deletions(-) commit fe8f40a4180e7b02831a264c0b3c66763156abb6 -Merge: cd11107b 21646cc4 +Merge: cd11107bb 21646cc4a Author: Behdad Esfahbod Date: Sun Feb 18 10:45:33 2018 -0800 @@ -61849,7 +93686,7 @@ Date: Fri Feb 16 15:36:20 2018 -0800 1 file changed, 1 insertion(+) commit 926db874552519734fab6c04258887ea634f5324 -Merge: 882a3bf4 c7a633f9 +Merge: 882a3bf4a c7a633f95 Author: rsheeter Date: Fri Feb 16 15:27:29 2018 -0800 @@ -61938,7 +93775,7 @@ Date: Fri Feb 16 06:26:02 2018 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit be0a01a67613f45db7f7e9be84cb883f0344c817 -Merge: 7acaa3b7 139c9928 +Merge: 7acaa3b78 139c9928f Author: Rod Sheeter Date: Fri Feb 16 06:01:41 2018 -0800 @@ -62103,7 +93940,7 @@ Date: Wed Feb 14 18:43:53 2018 -0800 1 file changed, 1 insertion(+) commit 5ae6526ef4aa9b3c943cad984dc2fff09cdf597b -Merge: 2903b2f3 04c1ec2b +Merge: 2903b2f35 04c1ec2b7 Author: Behdad Esfahbod Date: Wed Feb 14 18:42:32 2018 -0800 @@ -62364,7 +94201,7 @@ Date: Wed Feb 14 10:52:41 2018 -0800 1 file changed, 4 insertions(+), 10 deletions(-) commit d008b62887afe631f50009f40e605c8456ddd011 -Merge: b0eefacf 109314cb +Merge: b0eefacf4 109314cb5 Author: Garret Rieger Date: Wed Feb 14 10:38:52 2018 -0800 @@ -63337,7 +95174,7 @@ Date: Sat Feb 10 13:25:49 2018 -0600 1 file changed, 6 insertions(+), 9 deletions(-) commit 570d523761b23a3c668d9071712d5f10944d21fc -Merge: 71130a20 d18decd2 +Merge: 71130a20f d18decd20 Author: Behdad Esfahbod Date: Sat Feb 10 13:24:22 2018 -0600 @@ -64300,7 +96137,7 @@ Date: Sun Feb 4 20:22:07 2018 -0500 1 file changed, 1 insertion(+), 6 deletions(-) commit fc1e82a5aef410138381bc8f5476dcff5679b464 -Merge: ae39fc81 2ea22893 +Merge: ae39fc817 2ea228935 Author: Garret Rieger Date: Mon Feb 5 15:35:13 2018 -0800 @@ -64377,7 +96214,7 @@ Date: Sun Feb 4 20:08:50 2018 -0500 3 files changed, 7 insertions(+), 7 deletions(-) commit 257022b1789f928975b04b5d214bbe9192e11997 -Merge: 3615f344 edcd3b80 +Merge: 3615f344e edcd3b80e Author: Behdad Esfahbod Date: Sun Feb 4 20:01:35 2018 -0500 @@ -67466,7 +99303,7 @@ Date: Fri Jan 5 12:55:39 2018 +0000 1 file changed, 0 insertions(+), 0 deletions(-) commit 127bcc6ece4da64e807f652dd84a17c6a8c5e300 -Merge: 72bec1cd 8c0d1916 +Merge: 72bec1cd0 8c0d1916a Author: Behdad Esfahbod Date: Fri Jan 5 12:50:22 2018 +0000 @@ -69335,7 +101172,7 @@ Date: Tue Oct 31 14:25:46 2017 -0600 1 file changed, 3 insertions(+), 3 deletions(-) commit 0f78d78aae604cb8e61bd21785adb915da74626e -Merge: b7982c9e 0feff4ba +Merge: b7982c9e6 0feff4ba7 Author: Behdad Esfahbod Date: Tue Oct 31 14:13:31 2017 -0600 @@ -69870,7 +101707,7 @@ Date: Mon Oct 16 10:05:42 2017 +0200 5 files changed, 143 insertions(+), 5 deletions(-) commit bf133497e53e8b1dcd22df62080d33e7f3d85b68 -Merge: fd786c76 49a41dc7 +Merge: fd786c768 49a41dc75 Author: Behdad Esfahbod Date: Wed Oct 25 17:23:20 2017 -0600 @@ -70038,7 +101875,7 @@ Date: Mon Oct 23 08:34:30 2017 -0400 1 file changed, 6 insertions(+), 6 deletions(-) commit 57cf978fa314bd87405a2b133e58fcb116e574a6 -Merge: ce979454 6cc49762 +Merge: ce9794544 6cc49762c Author: Behdad Esfahbod Date: Sun Oct 22 18:24:59 2017 -0400 @@ -70054,7 +101891,7 @@ Date: Sun Oct 22 18:23:38 2017 -0400 1 file changed, 2 insertions(+), 2 deletions(-) commit 6cc49762c4fdfd0e2770a84d1b1f055acf42376f -Merge: 8b9d9b71 19923279 +Merge: 8b9d9b71b 19923279a Author: ebraminio Date: Mon Oct 23 01:48:22 2017 +0330 @@ -70094,7 +101931,7 @@ Date: Sun Oct 22 17:38:33 2017 -0400 2 files changed, 14 insertions(+), 1 deletion(-) commit d59d5dc7d339deb45cc84cffd084b52752765a08 -Merge: ced86da7 3ee15a60 +Merge: ced86da7d 3ee15a603 Author: Behdad Esfahbod Date: Sun Oct 22 17:08:29 2017 -0400 @@ -70110,7 +101947,7 @@ Date: Sun Oct 22 17:03:36 2017 -0400 1 file changed, 3 insertions(+), 3 deletions(-) commit bc1183aa6ba45a527084d391d6e7f801d6196060 -Merge: d45a2138 bfe0faf1 +Merge: d45a2138d bfe0faf1a Author: Behdad Esfahbod Date: Sun Oct 22 17:06:00 2017 -0400 @@ -70135,7 +101972,7 @@ Date: Sun Oct 22 15:54:50 2017 -0400 1 file changed, 1 insertion(+), 1 deletion(-) commit d45a2138d9d54eab158046d6503f1bb104efce25 -Merge: d8adaa97 41b18251 +Merge: d8adaa97f 41b182519 Author: ebraminio Date: Sat Oct 21 10:19:55 2017 +0330 @@ -70690,7 +102527,7 @@ Date: Fri Oct 13 10:21:07 2017 +0200 1 file changed, 11 insertions(+), 7 deletions(-) commit 4f9a83ec2109b754a75c962e88117d063e6fed43 -Merge: fa48ccbe 40b05d7b +Merge: fa48ccbe1 40b05d7b7 Author: Behdad Esfahbod Date: Thu Oct 12 14:08:58 2017 +0200 @@ -70934,7 +102771,7 @@ Date: Wed Oct 11 14:09:30 2017 +0200 1 file changed, 1 insertion(+), 1 deletion(-) commit 7b23c286a71883ac3e5777a2dee262af48c76854 -Merge: 8d450dd1 a5ebe1d4 +Merge: 8d450dd18 a5ebe1d4a Author: Behdad Esfahbod Date: Wed Oct 11 13:35:32 2017 +0200 @@ -71330,7 +103167,7 @@ Date: Tue Oct 3 13:46:25 2017 +0200 4 files changed, 5 insertions(+), 1 deletion(-) commit ea772932d2430ebc7ea712a8c46ec2500966225d -Merge: 771970ef c44657a0 +Merge: 771970efa c44657a05 Author: Behdad Esfahbod Date: Tue Oct 3 13:25:44 2017 +0200 @@ -73318,7 +105155,7 @@ Date: Thu Feb 9 14:13:25 2017 -0800 1 file changed, 3 insertions(+) commit c8dfed8e1ee4ab64b6936f5c8561db0666e37647 -Merge: 7c47474f b435c7c4 +Merge: 7c47474f2 b435c7c46 Author: Behdad Esfahbod Date: Wed Feb 8 14:36:18 2017 -0800 @@ -75243,7 +107080,7 @@ Date: Sun Oct 23 14:39:43 2016 +0200 1 file changed, 3 insertions(+) commit 8c854dc023b1f9e081a3bbd16416b88a4671c267 -Merge: bb9805f5 c3fa5d0e +Merge: bb9805f54 c3fa5d0e0 Author: Khaled Hosny Date: Tue Oct 25 00:31:36 2016 +0300 @@ -75261,7 +107098,7 @@ Date: Mon Oct 24 21:42:04 2016 +0200 1 file changed, 1 deletion(-) commit bb9805f5419f18c7f5cab32d660fd4109c30f7cc -Merge: 702d9f52 755a0c20 +Merge: 702d9f522 755a0c207 Author: Ebrahim Byagowi Date: Sat Oct 22 12:23:05 2016 +0330 @@ -75289,7 +107126,7 @@ Date: Tue Oct 18 14:30:00 2016 +0330 2 files changed, 10 insertions(+) commit 702d9f522d1ac4797700f0ea056f69169b8d1a78 -Merge: 331c46c7 d8e2eb9e +Merge: 331c46c79 d8e2eb9ee Author: Ebrahim Byagowi Date: Fri Oct 14 13:54:55 2016 +0330 @@ -75329,7 +107166,7 @@ Date: Tue Oct 11 13:45:22 2016 -0700 1 file changed, 2 insertions(+), 1 deletion(-) commit f6e194e77a2c34cd118b47c0d73a22afde85dfda -Merge: 7201fdd0 bef240b3 +Merge: 7201fdd0a bef240b36 Author: Ebrahim Byagowi Date: Tue Oct 11 17:23:41 2016 +0330 @@ -75399,7 +107236,7 @@ Date: Tue Sep 27 17:56:35 2016 +0200 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d3e6abf0c6ad55dabae96c76b4da9ab14bf16ef -Merge: f73a87d9 c3e21a66 +Merge: f73a87d9a c3e21a662 Author: Behdad Esfahbod Date: Tue Sep 27 17:15:59 2016 +0200 @@ -75886,7 +107723,7 @@ Date: Sat Aug 27 16:38:42 2016 +0300 1 file changed, 3 insertions(+), 2 deletions(-) commit 547ddb0721365dca985aef5b759d08718f7c5f82 -Merge: bd1aac9c e7ecbba2 +Merge: bd1aac9c0 e7ecbba2c Author: Sascha Brawer Date: Thu Aug 18 22:33:14 2016 +0200 @@ -75911,7 +107748,7 @@ Date: Thu Aug 18 12:48:38 2016 +0200 2 files changed, 18 insertions(+), 2 deletions(-) commit bd1aac9c0021a936058637424a478abf792533dd -Merge: 18c19dd3 a0f1b44b +Merge: 18c19dd34 a0f1b44b6 Author: Sascha Brawer Date: Thu Aug 18 13:59:38 2016 +0200 @@ -76166,7 +108003,7 @@ Date: Mon Jul 11 21:57:26 2016 +0200 1 file changed, 1 insertion(+), 1 deletion(-) commit 2f522fd485c2e946c9bce9e3828b6ff6247c59e4 -Merge: d3e2a06b e4d451ee +Merge: d3e2a06b0 e4d451ee5 Author: Behdad Esfahbod Date: Fri Jul 1 17:09:28 2016 -0700 @@ -76204,7 +108041,7 @@ Date: Thu Jun 30 09:46:52 2016 -0700 1 file changed, 9 insertions(+), 9 deletions(-) commit 46809dee30232d493539519b1bb527fa816c37db -Merge: 70e72e5f 1bea49eb +Merge: 70e72e5f6 1bea49eb4 Author: Behdad Esfahbod Date: Thu Jun 30 09:41:03 2016 -0700 @@ -76213,7 +108050,7 @@ Date: Thu Jun 30 09:41:03 2016 -0700 Discard reconfigured CTFont if URL changes commit 1bea49eb4b7a94ab6222f9c3c40320cbdb247b2d -Merge: 7aa3631d 70e72e5f +Merge: 7aa3631dd 70e72e5f6 Author: Dominik Röttsches Date: Wed Jun 29 12:10:41 2016 +0200 @@ -76234,7 +108071,7 @@ Date: Tue Jun 28 21:00:37 2016 -0700 4 files changed, 13 insertions(+), 18 deletions(-) commit d8273aac19771033c5064a2f079c29d09a86e7c0 -Merge: abae93fa ae9054c7 +Merge: abae93fae ae9054c74 Author: Behdad Esfahbod Date: Tue Jun 28 21:15:28 2016 -0700 @@ -76252,14 +108089,14 @@ Date: Tue Jun 28 21:14:38 2016 -0700 1 file changed, 1 insertion(+), 2 deletions(-) commit 7aa3631dd06af74a1fa9f0bfaa5f721876be817f -Merge: f7da0486 abae93fa +Merge: f7da0486e abae93fae Author: Dominik Röttsches Date: Tue Jun 28 09:52:18 2016 +0200 Merge branch 'master' into conflictingFontFix commit abae93faef32562f34a72981d252c848cc4f7565 -Merge: 07461d06 8179ff5d +Merge: 07461d06d 8179ff5d7 Author: Behdad Esfahbod Date: Mon Jun 27 14:33:27 2016 -0400 @@ -76342,7 +108179,7 @@ Date: Tue Jun 21 13:57:26 2016 +0430 2 files changed, 135 insertions(+), 217 deletions(-) commit f7da0486ed8884481d477ce08fcf928c4da9a0a3 -Merge: a0223274 07461d06 +Merge: a0223274b 07461d06d Author: Dominik Röttsches Date: Mon Jun 20 10:25:43 2016 +0300 @@ -76380,7 +108217,7 @@ Date: Sat Jun 18 22:46:38 2016 +0000 1 file changed, 2 insertions(+), 1 deletion(-) commit fca0c61d67aa309fc824fb18f247493c2b7701ef -Merge: 4b8de1ea 98835058 +Merge: 4b8de1ea8 988350586 Author: Khaled Hosny Date: Sun Jun 19 00:08:51 2016 +0300 @@ -76705,7 +108542,7 @@ Date: Sat Apr 30 19:20:56 2016 +0200 4 files changed, 132 insertions(+), 1 deletion(-) commit 9abaaac409b8e3a0a9182b67dc384133013f7878 -Merge: 2f560ee4 264b7a72 +Merge: 2f560ee44 264b7a728 Author: Behdad Esfahbod Date: Wed Apr 27 03:38:24 2016 -0700 @@ -76738,7 +108575,7 @@ Date: Wed Apr 27 02:44:35 2016 -0700 1 file changed, 612 insertions(+) commit 264b7a728a41becfbf23ce258fc2a3af19d0cbbe -Merge: 7e2da035 adafdcdd +Merge: 7e2da035f adafdcddc Author: Khaled Hosny Date: Wed Apr 27 03:48:23 2016 +0300 @@ -76819,7 +108656,7 @@ Date: Tue Apr 26 10:35:23 2016 -0700 1 file changed, 12 insertions(+), 6 deletions(-) commit 14bb4a56971fd45063cd6c1288d911627088abb2 -Merge: 1c625dff 5069062d +Merge: 1c625dff2 5069062d0 Author: Sascha Brawer Date: Tue Apr 26 11:38:16 2016 +0200 @@ -76877,7 +108714,7 @@ Date: Fri Apr 8 13:41:20 2016 -0700 1 file changed, 2 insertions(+) commit ef476be80d773332e0c768a3465d99381d76edd9 -Merge: a0331b55 d3134a66 +Merge: a0331b55f d3134a66a Author: Behdad Esfahbod Date: Fri Apr 8 13:16:33 2016 -0700 @@ -77076,7 +108913,7 @@ Date: Thu Mar 17 11:59:43 2016 -0700 2 files changed, 20 insertions(+), 31 deletions(-) commit fef5dd9a72f326c160a7194f558749d24bac7283 -Merge: 01ea9eaa 5f995db1 +Merge: 01ea9eaac 5f995db10 Author: Behdad Esfahbod Date: Sat Mar 12 19:15:15 2016 -0800 @@ -77121,7 +108958,7 @@ Date: Tue Mar 8 12:16:41 2016 -0800 2 files changed, 5 deletions(-) commit ce8ae9970102f83b67bb1e8e8b2bf894a0e26c07 -Merge: 731a430c 71248a84 +Merge: 731a430cd 71248a843 Author: Behdad Esfahbod Date: Fri Mar 4 17:20:35 2016 -0800 @@ -78154,7 +109991,7 @@ Date: Wed Feb 10 14:11:43 2016 +0700 1 file changed, 1 insertion(+), 1 deletion(-) commit bdaa784bb610ec65626d63cc068a0958ff5005fc -Merge: a168db47 f6ffba63 +Merge: a168db473 f6ffba634 Author: Behdad Esfahbod Date: Wed Feb 10 11:11:36 2016 +0700 @@ -78298,7 +110135,7 @@ Date: Tue Feb 2 16:39:19 2016 +0800 3 files changed, 3 insertions(+), 3 deletions(-) commit b693992ea160b66541f678dc9be29b513c77a30b -Merge: 9a6a33cc 498574e6 +Merge: 9a6a33ccb 498574e6c Author: Behdad Esfahbod Date: Tue Feb 2 12:33:32 2016 +0800 @@ -78326,7 +110163,7 @@ Date: Thu Jan 28 12:14:12 2016 -0600 2 files changed, 305 insertions(+) commit 9a6a33ccbea8a2e23e779bd955958fa41974c1c7 -Merge: d05b7833 146fe252 +Merge: d05b78332 146fe252c Author: Behdad Esfahbod Date: Mon Jan 18 12:47:18 2016 +0100 @@ -78524,7 +110361,7 @@ Date: Sat Jan 2 13:25:18 2016 +0000 1 file changed, 3 insertions(+), 1 deletion(-) commit 3a48c776701a919e11b067129586e40372d90d54 -Merge: 9230911f 4b4948d3 +Merge: 9230911fa 4b4948d36 Author: Behdad Esfahbod Date: Sat Jan 2 00:59:14 2016 +0000 @@ -78558,7 +110395,7 @@ Date: Fri Jan 1 19:06:43 2016 +0000 1 file changed, 1 insertion(+), 1 deletion(-) commit 6f66f05757d3d5738571b3d4ee40afffb8f26ff9 -Merge: bfdf684f 9ab9f974 +Merge: bfdf684f7 9ab9f974d Author: Behdad Esfahbod Date: Fri Jan 1 16:44:01 2016 +0000 @@ -78580,7 +110417,7 @@ Date: Fri Jan 1 20:38:21 2016 +0400 5 files changed, 187 insertions(+), 81 deletions(-) commit bfdf684f7957645dd016fbf76700c5911c4bee2d -Merge: d7ed6f50 85c2443b +Merge: d7ed6f50b 85c2443b7 Author: Behdad Esfahbod Date: Wed Dec 30 22:20:14 2015 +0100 @@ -78589,7 +110426,7 @@ Date: Wed Dec 30 22:20:14 2015 +0100 More docs commit d7ed6f50b4ff13a94701131913d931f13a4d1266 -Merge: b758e5ea a7f0e25d +Merge: b758e5ea2 a7f0e25da Author: Behdad Esfahbod Date: Wed Dec 30 22:20:00 2015 +0100 @@ -78631,7 +110468,7 @@ Date: Wed Dec 30 22:50:08 2015 +0400 1 file changed, 1 insertion(+), 1 deletion(-) commit b758e5ea223eced0fde9a3e62d0fdf04c04914a1 -Merge: 266bfa37 8b1224f0 +Merge: 266bfa377 8b1224f0e Author: Behdad Esfahbod Date: Wed Dec 30 16:44:19 2015 +0100 @@ -78688,7 +110525,7 @@ Date: Wed Dec 30 15:45:43 2015 +0100 1 file changed, 27 insertions(+), 19 deletions(-) commit 8f31d0a94b27bb658aabe600472fc10bc47885f6 -Merge: 9d280cf4 fb192c26 +Merge: 9d280cf49 fb192c263 Author: Behdad Esfahbod Date: Wed Dec 30 15:13:37 2015 +0100 @@ -78802,7 +110639,7 @@ Date: Fri Dec 25 18:41:41 2015 +0100 2 files changed, 1 insertion(+), 2 deletions(-) commit e75c1ffdf548185ce1f1df7937f0d028e5e40efe -Merge: 6173c2a6 d25317f6 +Merge: 6173c2a6f d25317f67 Author: Behdad Esfahbod Date: Fri Dec 25 18:21:08 2015 +0100 @@ -79145,7 +110982,7 @@ Date: Wed Dec 16 17:08:36 2015 +0100 1 file changed, 3 insertions(+), 3 deletions(-) commit 15f2c055c17c54b0a6ae6eef50dcda13c58cda75 -Merge: 49e72634 a13b023d +Merge: 49e72634a a13b023db Author: Behdad Esfahbod Date: Mon Dec 14 14:19:03 2015 +0100 @@ -79184,7 +111021,7 @@ Date: Thu Dec 10 17:44:19 2015 +0100 1 file changed, 1 insertion(+), 1 deletion(-) commit e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea -Merge: 70b33eda 808d3fc0 +Merge: 70b33edae 808d3fc0e Author: Behdad Esfahbod Date: Thu Dec 10 16:56:07 2015 +0100 @@ -79255,7 +111092,7 @@ Date: Mon Dec 7 21:38:47 2015 +0100 1 file changed, 1 insertion(+), 1 deletion(-) commit dee0fbf9e2eac8b61730efc4978bc10c552b5227 -Merge: 255df680 a7ffe353 +Merge: 255df6801 a7ffe3535 Author: Behdad Esfahbod Date: Mon Dec 7 10:44:08 2015 +0100 @@ -79300,7 +111137,7 @@ Date: Mon Dec 7 10:28:46 2015 +0100 2 files changed, 31 insertions(+), 1 deletion(-) commit 8c37556f730d7e961394075cd863f624af4c53c4 -Merge: 8e5f9026 f35b3e93 +Merge: 8e5f90265 f35b3e931 Author: Behdad Esfahbod Date: Mon Dec 7 09:34:58 2015 +0100 @@ -79452,7 +111289,7 @@ Date: Thu Nov 26 18:43:15 2015 -0500 1 file changed, 1 insertion(+), 1 deletion(-) commit 766963adba6770dcd45de4417481ed8eda60a716 -Merge: b344af80 f798b8e2 +Merge: b344af80c f798b8e2d Author: Behdad Esfahbod Date: Tue Nov 24 15:38:43 2015 -0600 @@ -79461,7 +111298,7 @@ Date: Tue Nov 24 15:38:43 2015 -0600 Fix all VC++ warnings and errors commit b344af80ca95b9eddfd6017aa6ae103388d6b5f8 -Merge: 662acd26 835bbdc7 +Merge: 662acd26d 835bbdc7c Author: Behdad Esfahbod Date: Tue Nov 24 15:30:27 2015 -0600 @@ -79470,7 +111307,7 @@ Date: Tue Nov 24 15:30:27 2015 -0600 Enable use of compiler directives to export symbols commit 662acd26d10c38e96a9afcdaab2cb2979794966f -Merge: b24e93e3 1979f6fe +Merge: b24e93e3a 1979f6fed Author: Behdad Esfahbod Date: Tue Nov 24 15:29:44 2015 -0600 @@ -79489,7 +111326,7 @@ Date: Tue Nov 24 13:18:20 2015 -0600 2 files changed, 8 insertions(+), 1 deletion(-) commit 233944ac91bb81250c0e63150eecfedfaf09f590 -Merge: 5a24b1d2 d5382019 +Merge: 5a24b1d25 d53820191 Author: Khaled Hosny Date: Tue Nov 24 18:37:35 2015 +0400 @@ -79574,7 +111411,7 @@ Date: Sat Nov 21 16:57:26 2015 -0500 1 file changed, 1 insertion(+), 1 deletion(-) commit a6991813659376a6a11c00a9f67d85b4f7ba9b5d -Merge: 1dc32ea4 f19c6db1 +Merge: 1dc32ea4d f19c6db18 Author: Behdad Esfahbod Date: Fri Nov 20 13:28:42 2015 -0800 @@ -79792,7 +111629,7 @@ Date: Tue Nov 17 18:42:13 2015 -0800 1 file changed, 11 insertions(+), 11 deletions(-) commit dde8cc87bd880bd35baf764820f4c85bd0a58696 -Merge: e97835ad 167c3271 +Merge: e97835ad4 167c32717 Author: Behdad Esfahbod Date: Tue Nov 17 18:40:10 2015 -0800 @@ -79887,7 +111724,7 @@ Date: Tue Nov 10 11:37:01 2015 -0800 1 file changed, 3 insertions(+) commit d5f0d7c9fb14255388ab616f56e178cb7ca10ec2 -Merge: 04ff23e7 529a9331 +Merge: 04ff23e73 529a93312 Author: Behdad Esfahbod Date: Sat Nov 7 07:50:58 2015 -0800 @@ -80819,7 +112656,7 @@ Date: Tue Oct 20 15:21:18 2015 -0200 1 file changed, 1 insertion(+) commit 5d7a30fde09320c2c62c7c73570ce3f2e298eba6 -Merge: 904b0dc3 2fb95a0c +Merge: 904b0dc38 2fb95a0c9 Author: Behdad Esfahbod Date: Tue Oct 20 15:19:41 2015 -0200 @@ -80828,7 +112665,7 @@ Date: Tue Oct 20 15:19:41 2015 -0200 Add BUILD.md based on harfbuzz.org docs commit 904b0dc3811464cf61dc9457664de95ee4f61a86 -Merge: 86cadc2c ba096bcc +Merge: 86cadc2cd ba096bcc2 Author: Behdad Esfahbod Date: Mon Oct 19 16:59:43 2015 -0200 @@ -81482,7 +113319,7 @@ Date: Mon Aug 31 19:16:41 2015 +0100 8 files changed, 14 insertions(+), 7 deletions(-) commit 3899795fa3c3e058e3885ec7a6638f0597a752cc -Merge: d2059652 01e16e88 +Merge: d20596528 01e16e88f Author: Behdad Esfahbod Date: Mon Aug 31 10:46:01 2015 +0100 @@ -81531,7 +113368,7 @@ Date: Mon Aug 31 10:12:05 2015 +0100 1 file changed, 1 insertion(+), 1 deletion(-) commit c424b41705b50055c7f92b268cf78a2680af73af -Merge: 31594b98 5470e744 +Merge: 31594b98a 5470e744d Author: Behdad Esfahbod Date: Mon Aug 31 09:53:16 2015 +0100 @@ -81836,7 +113673,7 @@ Date: Fri Aug 14 01:19:08 2015 -0400 1 file changed, 1 insertion(+), 1 deletion(-) commit 5c99cf93d6242803bddcac2ca8300fdec7e0f8a7 -Merge: 8ad89f05 539a610e +Merge: 8ad89f057 539a610e2 Author: ThePhD Date: Fri Aug 14 01:02:00 2015 -0400 @@ -81907,7 +113744,7 @@ Date: Fri Aug 7 11:13:27 2015 +0200 1 file changed, 1 insertion(+), 1 deletion(-) commit 02d6439f420d959183dd446abd0b0118ee1ee061 -Merge: 9002c27b 160f6355 +Merge: 9002c27b2 160f63552 Author: Behdad Esfahbod Date: Mon Aug 3 22:47:18 2015 +0300 @@ -81964,7 +113801,7 @@ Date: Sun Jul 26 23:39:10 2015 +0200 3 files changed, 13 insertions(+), 3 deletions(-) commit df6cb84449a473d540821e41fb5007b59644780f -Merge: 2ed6be66 786ba458 +Merge: 2ed6be667 786ba4584 Author: Behdad Esfahbod Date: Sun Jul 26 19:40:55 2015 +0200 @@ -82915,7 +114752,7 @@ Date: Wed Jun 3 11:53:42 2015 -0700 1 file changed, 4 insertions(+) commit 37c8daf724add4a41a06385e571277d137dc2a2f -Merge: f1b44303 01c3a885 +Merge: f1b44303d 01c3a8854 Author: Behdad Esfahbod Date: Mon Jun 1 13:27:37 2015 -0700 @@ -83019,7 +114856,7 @@ Date: Mon May 18 14:16:28 2015 -0700 1 file changed, 13 insertions(+), 13 deletions(-) commit fbecde3d5c5c6d5af315140e4966dc850388ad63 -Merge: 58015215 74139f98 +Merge: 580152153 74139f983 Author: Behdad Esfahbod Date: Thu May 7 10:46:42 2015 -0700 @@ -83058,7 +114895,7 @@ Date: Tue May 5 22:31:19 2015 -0700 1 file changed, 1 insertion(+), 1 deletion(-) commit 42b00118eae46a5183e885e89e0856f41361f57e -Merge: c60f3c8e cfeb0562 +Merge: c60f3c8e1 cfeb0562e Author: Behdad Esfahbod Date: Tue May 5 14:49:47 2015 -0700 @@ -83220,7 +115057,7 @@ Date: Mon Apr 13 23:51:45 2015 -0700 1 file changed, 11 insertions(+), 7 deletions(-) commit 76d57331117be8e0c2d4a2aee8341969b62b6888 -Merge: 89cbd4d9 9ee176ee +Merge: 89cbd4d95 9ee176ee9 Author: Behdad Esfahbod Date: Mon Apr 13 23:40:35 2015 -0700 @@ -83241,7 +115078,7 @@ Date: Mon Apr 13 12:27:08 2015 -0700 1 file changed, 1 insertion(+) commit 713f99ff6138b4149d9fd382f9af3ace01ee0da5 -Merge: 1086f21e 22524a51 +Merge: 1086f21e5 22524a514 Author: Behdad Esfahbod Date: Fri Apr 10 14:34:05 2015 -0700 @@ -83261,14 +115098,14 @@ Date: Fri Apr 10 18:14:45 2015 +0200 1 file changed, 1 insertion(+), 1 deletion(-) commit 1086f21e546e2435d9da6024fd6afa7a36ba3707 -Merge: 125cb083 fe97b65a +Merge: 125cb0834 fe97b65a5 Author: Behdad Esfahbod Date: Fri Apr 10 12:21:04 2015 -0700 Merge branch 'hb-fc' commit 125cb08345a7f27e565329d37093b1a60a41a403 -Merge: e8fd8393 855a5d7c +Merge: e8fd83932 855a5d7cb Author: Behdad Esfahbod Date: Fri Apr 10 12:19:57 2015 -0700 @@ -83506,7 +115343,7 @@ Date: Mon Apr 6 14:51:31 2015 -0700 11 files changed, 11 insertions(+), 11 deletions(-) commit bfcddd32a674dd19fca1bf521e95466a0eec5179 -Merge: ce01ad7c 363ceec3 +Merge: ce01ad7c2 363ceec3f Author: Behdad Esfahbod Date: Mon Apr 6 14:41:32 2015 -0700 @@ -83560,7 +115397,7 @@ Date: Thu Mar 26 14:13:53 2015 -0400 1 file changed, 2 insertions(+), 2 deletions(-) commit 8886ab430ca68539cb318e175647e9f6973718b0 -Merge: e3671b8f a394bb66 +Merge: e3671b8f8 a394bb667 Author: Behdad Esfahbod Date: Sun Mar 22 16:18:57 2015 -0400 @@ -84151,7 +115988,7 @@ Date: Wed Jan 28 20:29:48 2015 -0800 1 file changed, 4 insertions(+) commit faaae64bf28abdcdd15185374bc09a3809794118 -Merge: 7888a6b0 9768e651 +Merge: 7888a6b07 9768e651b Author: Behdad Esfahbod Date: Wed Feb 25 15:34:34 2015 -0800 @@ -84323,7 +116160,7 @@ Date: Mon Jan 26 14:08:36 2015 -0800 1 file changed, 1 insertion(+), 1 deletion(-) commit 70c25ee215635db23eb0757641bd372940c0d85d -Merge: 28f5e0b2 f3537b62 +Merge: 28f5e0b2f f3537b620 Author: Behdad Esfahbod Date: Sun Jan 25 13:06:03 2015 -0800 @@ -84501,7 +116338,7 @@ Date: Mon Jan 19 14:42:11 2015 -0800 1 file changed, 2 insertions(+) commit 3704628d1f124234324b5f2bdd5fdd61c14c7801 -Merge: 1aaa7d67 5eb939dd +Merge: 1aaa7d679 5eb939ddf Author: Behdad Esfahbod Date: Mon Jan 19 16:15:00 2015 -0800 @@ -84616,7 +116453,7 @@ Date: Mon Jan 5 14:43:13 2015 -0800 1 file changed, 1 insertion(+), 2 deletions(-) commit 8cb41cb9508eb1bb6319e92f900cfe5e8a131be3 -Merge: 365c03fc fb85d618 +Merge: 365c03fc2 fb85d618f Author: Behdad Esfahbod Date: Sun Jan 4 20:32:18 2015 -0800 @@ -84637,7 +116474,7 @@ Date: Sun Jan 4 19:31:10 2015 -0800 4 files changed, 10 insertions(+), 4 deletions(-) commit 365c03fc2bcdb4098314a0e123c46018fb882586 -Merge: c36c4a99 d1897a98 +Merge: c36c4a992 d1897a98d Author: Behdad Esfahbod Date: Sat Jan 3 21:55:30 2015 -0800 @@ -86031,7 +117868,7 @@ Date: Sat Aug 2 16:17:44 2014 -0400 2 files changed, 20 insertions(+), 21 deletions(-) commit 0a5ae9336231c4d189e1682e4fd9c9c4552b8bbf -Merge: ac53443f 6ab6be32 +Merge: ac53443f1 6ab6be32c Author: Behdad Esfahbod Date: Sat Aug 2 15:00:34 2014 -0400 @@ -89193,7 +121030,7 @@ Date: Wed Jan 22 07:53:55 2014 -0500 1 file changed, 2 insertions(+), 1 deletion(-) commit 0596343bfeb80ad6b19d459654edf7dfded6affe -Merge: 62cb28df 83d7e791 +Merge: 62cb28dfc 83d7e7915 Author: Behdad Esfahbod Date: Wed Jan 22 04:43:51 2014 -0800 @@ -91077,7 +122914,7 @@ Date: Mon Sep 30 08:55:52 2013 +0000 1 file changed, 17 insertions(+), 41 deletions(-) commit 622bc3d829cab84c3a4148b88f2c91fee491ef39 -Merge: 3d2c4f0c d583df1e +Merge: 3d2c4f0c2 d583df1e7 Author: Behdad Esfahbod Date: Sun Sep 29 13:31:58 2013 -0700 @@ -92273,7 +124110,7 @@ Date: Wed Jun 26 19:46:55 2013 -0400 1 file changed, 2 insertions(+), 8 deletions(-) commit f5da11e0fa5adf8f782883dc5c30d8faaafc9c27 -Merge: 79d1007a 89312b74 +Merge: 79d1007a5 89312b741 Author: Behdad Esfahbod Date: Sat Jun 22 08:04:05 2013 -0700 @@ -92707,7 +124544,7 @@ Date: Thu May 23 17:05:39 2013 -0400 1 file changed, 6 insertions(+), 4 deletions(-) commit fb502a22787f4110472771ef771619342e64577a -Merge: b9408d24 9d9e72e9 +Merge: b9408d24f 9d9e72e94 Author: Behdad Esfahbod Date: Thu May 23 15:54:52 2013 -0400 @@ -117658,7 +149495,7 @@ Date: Wed May 26 10:48:10 2010 -0400 11 files changed, 119 insertions(+), 160 deletions(-) commit 80af2812fb3b231ddcb4608ec13c6038a681c818 -Merge: c442672e 3109a86a +Merge: c442672ec 3109a86ad Author: Behdad Esfahbod Date: Mon May 24 18:14:24 2010 +0100 @@ -117743,7 +149580,7 @@ Date: Sat May 22 19:58:00 2010 +0100 3 files changed, 88 insertions(+), 26 deletions(-) commit 72631c9d06b131d82080f212908e7d0b0266b841 -Merge: 1432ab15 1094a294 +Merge: 1432ab15c 1094a294f Author: Martin Hosken Date: Sat May 22 09:38:02 2010 +0100 @@ -119474,7 +151311,7 @@ Date: Mon May 3 22:47:22 2010 -0400 1 file changed, 2 insertions(+), 2 deletions(-) commit 6b84198f9d471defb6f55d44d4f5423df70b2a10 -Merge: 631d10b7 eaf29edb +Merge: 631d10b72 eaf29edb8 Author: Behdad Esfahbod Date: Mon May 3 22:46:52 2010 -0400 @@ -125155,7 +156992,7 @@ Date: Wed Apr 15 22:56:15 2009 -0400 14 files changed, 151 insertions(+), 56 deletions(-) commit ce48f03946bef895912019046bdbe62bb1301d0b -Merge: 0e13beeb 2d15e72c +Merge: 0e13beeb9 2d15e72c7 Author: Behdad Esfahbod Date: Mon Nov 2 14:35:51 2009 -0500 diff --git a/Makefile.am b/Makefile.am index 4a2a8c8..3055e5a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,15 +19,27 @@ EXTRA_DIST = \ replace-enum-strings.cmake \ meson.build \ meson_options.txt \ - subprojects/expat.wrap \ - subprojects/fontconfig.wrap \ + subprojects/cairo.wrap \ subprojects/freetype2.wrap \ subprojects/glib.wrap \ - subprojects/libffi.wrap \ - subprojects/proxy-libintl.wrap \ - subprojects/zlib.wrap \ - meson-cc-tests/intel-atomic-primitives-test.c \ - meson-cc-tests/solaris-atomic-operations.c \ + subprojects/google-benchmark.wrap \ + subprojects/ragel.wrap \ + subprojects/packagefiles/ragel/meson.build \ + subprojects/ttf-parser.wrap \ + perf/meson.build \ + perf/perf-draw.hh \ + perf/perf-extents.hh \ + perf/perf-shaping.hh \ + perf/perf.cc \ + perf/fonts/Amiri-Regular.ttf \ + perf/fonts/NotoNastaliqUrdu-Regular.ttf \ + perf/fonts/NotoSansDevanagari-Regular.ttf \ + perf/fonts/Roboto-Regular.ttf \ + perf/texts/en-thelittleprince.txt \ + perf/texts/en-words.txt \ + perf/texts/fa-monologue.txt \ + perf/texts/fa-thelittleprince.txt \ + mingw-configure.sh \ $(NULL) MAINTAINERCLEANFILES = \ @@ -81,15 +93,4 @@ dist-hook: dist-clear-sticky-bits dist-clear-sticky-bits: chmod -R a-s $(distdir) -tar_file = $(PACKAGE_TARNAME)-$(VERSION).tar.xz -sha256_file = $(tar_file).sha256 -gpg_file = $(sha256_file).asc -$(sha256_file): $(tar_file) - sha256sum $^ > $@ -$(gpg_file): $(sha256_file) - @echo "Please enter your GPG password to sign the checksum." - gpg --armor --sign $^ - -release-files: $(tar_file) $(sha256_file) $(gpg_file) - -include $(top_srcdir)/git.mk diff --git a/Makefile.in b/Makefile.in index 74e52e8..540a3e7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -143,8 +143,8 @@ am__recursive_targets = \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - config.h.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -167,8 +167,7 @@ CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ COPYING ChangeLog INSTALL NEWS README THANKS TODO ar-lib \ - compile config.guess config.sub depcomp install-sh ltmain.sh \ - missing + compile config.guess config.sub install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -226,6 +225,8 @@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CHAFA_CFLAGS = @CHAFA_CFLAGS@ +CHAFA_LIBS = @CHAFA_LIBS@ CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ @@ -254,8 +255,6 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_DEPS = @FREETYPE_DEPS@ FREETYPE_LIBS = @FREETYPE_LIBS@ @@ -288,7 +287,6 @@ HB_VERSION_MICRO = @HB_VERSION_MICRO@ HB_VERSION_MINOR = @HB_VERSION_MINOR@ HTML_DIR = @HTML_DIR@ ICU_CFLAGS = @ICU_CFLAGS@ -ICU_CONFIG = @ICU_CONFIG@ ICU_LIBS = @ICU_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -394,6 +392,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -418,15 +417,27 @@ EXTRA_DIST = \ replace-enum-strings.cmake \ meson.build \ meson_options.txt \ - subprojects/expat.wrap \ - subprojects/fontconfig.wrap \ + subprojects/cairo.wrap \ subprojects/freetype2.wrap \ subprojects/glib.wrap \ - subprojects/libffi.wrap \ - subprojects/proxy-libintl.wrap \ - subprojects/zlib.wrap \ - meson-cc-tests/intel-atomic-primitives-test.c \ - meson-cc-tests/solaris-atomic-operations.c \ + subprojects/google-benchmark.wrap \ + subprojects/ragel.wrap \ + subprojects/packagefiles/ragel/meson.build \ + subprojects/ttf-parser.wrap \ + perf/meson.build \ + perf/perf-draw.hh \ + perf/perf-extents.hh \ + perf/perf-shaping.hh \ + perf/perf.cc \ + perf/fonts/Amiri-Regular.ttf \ + perf/fonts/NotoNastaliqUrdu-Regular.ttf \ + perf/fonts/NotoSansDevanagari-Regular.ttf \ + perf/fonts/Roboto-Regular.ttf \ + perf/texts/en-thelittleprince.txt \ + perf/texts/en-words.txt \ + perf/texts/fa-monologue.txt \ + perf/texts/fa-thelittleprince.txt \ + mingw-configure.sh \ $(NULL) MAINTAINERCLEANFILES = \ @@ -458,9 +469,6 @@ DISTCHECK_CONFIGURE_FLAGS = \ # TAR_OPTIONS is not set as env var for 'make dist'. How to fix that? TAR_OPTIONS = --owner=0 --group=0 -tar_file = $(PACKAGE_TARNAME)-$(VERSION).tar.xz -sha256_file = $(tar_file).sha256 -gpg_file = $(sha256_file).asc all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -720,10 +728,6 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -766,8 +770,6 @@ distcheck: dist eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -946,7 +948,7 @@ uninstall-am: am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ - dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \ + dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ @@ -981,13 +983,6 @@ dist-hook: dist-clear-sticky-bits # Clean up any sticky bits we may inherit from parent dir dist-clear-sticky-bits: chmod -R a-s $(distdir) -$(sha256_file): $(tar_file) - sha256sum $^ > $@ -$(gpg_file): $(sha256_file) - @echo "Please enter your GPG password to sign the checksum." - gpg --armor --sign $^ - -release-files: $(tar_file) $(sha256_file) $(gpg_file) -include $(top_srcdir)/git.mk diff --git a/NEWS b/NEWS index 04fbe13..dbe1755 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,335 @@ +Overview of changes leading to 3.4.0 +Sunday, February 13, 2022 +==================================== +- Perform sanity checks on shaping results is now part of “harfbuzz” library + and can be enabled by setting the buffer flag HB_BUFFER_FLAG_VERIFY. + (Behdad Esfahbod) +- Arabic Mark Transient Reordering Algorithm have been updated to revision 6. + (Khaled Hosny) +- ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType + ‘math’ tag. (Alexis King) +- It is now possible to get at once all math kerning values for a given glyph + at a given corner. (Alexis King) +- Fix locale_t portability issues on systems the typdef’s it to a void pointer. + (Behdad Esfahbod) + +- New API: ++HB_BUFFER_FLAG_VERIFY ++HB_OT_TAG_MATH_SCRIPT ++HB_SCRIPT_MATH ++hb_ot_math_kern_entry_t ++hb_ot_math_get_glyph_kernings + +- Deprecated API ++HB_OT_MATH_SCRIPT + + +Overview of changes leading to 3.3.2 +Sunday, February 6, 2022 +==================================== +- Revert splitting of pair positioning values introduced in 3.3.0 as it proved + problematic. (Behdad Esfahbod) + + +Overview of changes leading to 3.3.1 +Monday, January 31, 2022 +==================================== +- Fix heap-use-after-free in harfbuzz-subset introduced in previous release. + (Garret Rieger) + + +Overview of changes leading to 3.3.0 +Monday, January 31, 2022 +==================================== +- Improved documentation. (Matthias Clasen) +- Internal code cleanup, using C++ standard library more. (Behdad Esfahbod) +- The low 16-bits of face index will be used by hb_face_create() to select a + face inside a font collection file format, while the high 16-bits will be + used by hb_font_create() to load the named instance. (Behdad Esfahbod) +- Glyph positions and other font metrics now apply synthetic slant set by + hb_font_set_synthetic_slant(), for improved positioning for synthetically + slanted fonts. (Behdad Esfahbod) +- Fixed unintentional locale dependency in hb_variation_to_string() for decimal + point representation. (Matthias Clasen) +- When applying pair positioning (kerning) the positioning value is split + between the two sides of the pair for improved cursor positioning between + such pairs. (Behdad Esfahbod) +- Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction + with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line + breaking. Check the documentation for further details. (Behdad Esfahbod) +- Improved handling of macrolanguages when mapping BCP 47 codes to OpenType + tags. (David Corbett) + +- New API: ++HB_GLYPH_FLAG_UNSAFE_TO_CONCAT ++hb_segment_properties_overlay() ++hb_buffer_create_similar() ++hb_font_set_synthetic_slant() ++hb_font_get_synthetic_slant() ++hb_font_get_var_coords_design() + + +Overview of changes leading to 3.2.0 +Friday, November 26, 2021 +==================================== +“harfbuzz” library improvements: +- Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod) +- Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod) +- OpenType 1.9 language tags update. (David Corbett) +- Add HB_NO_VERTICAL config option. +- Add HB_CONFIG_OVERRIDE_H for easier configuration. (Behdad Esfahbod) + +“harfbuzz-subset” library improvements: +- Improved packing of cmap, loca, and Ligature tables. (Garret Rieger) +- Significantly improved overflow-resolution strategy in the repacker. (Garret Rieger) + + +Overview of changes leading to 3.1.2 +Friday, November 26, 2021 +==================================== +- hb-shape / hb-view: revert treating text on the commandline as single + paragraph (was introduced in 3.0.0); add new --single-par to do that. + (Behdad Esfahbod) +- Subsetter bug fixes. (Garret Rieger, Qunxin Liu, Behdad Esfahbod) + + +Overview of changes leading to 3.1.1 +Wednesday, November 8, 2021 +==================================== +- Work around GCC cast-align error/warning on some platforms. (Behdad Esfahbod) +- Documentation improvements. (Matthias Clasen) + + +Overview of changes leading to 3.1.0 +Wednesday, November 3, 2021 +==================================== +- Better offset-overflow handling in the subsetter library. (Garret Rieger) +- Improved Unicode 14 properties in the USE shaper, and various other USE + shaper fixes. (David Corbett) +- MATH and COLR v1 tables subsetting support, and various other subsetter fixes. + (Qunxin Liu) +- Support for Pwo Karen / Ason Chin medial la. (Simon Cozens) +- Apply GPOS positioning when substituting with morx table, if kerx is missing. + (Behdad Esfahbod) +- Apply calt and clig features across syllable boundaries in Indic shaper. + (Behdad Esfahbod) +- meson option for enabling Graphite 2 has been renamed to graphite2. +- Build and documentation fixes. + +- New API: ++hb_buffer_set_not_found_glyph() ++hb_buffer_get_not_found_glyph() + + +Overview of changes leading to 3.0.0 +Friday, September 17, 2021 +==================================== +- Unicode 14.0 support (David Corbett). +- The hb-subset API and the harfbuzz-subset library's ABI are now declared + stable. The harfbuzz-subset library would not have been possible without the + work of Garret Rieger and Qunxin Liu from Google Fonts, and the earlier work + of Michiharu Ariza from Adobe. +- The hb-style API is now stable and no longer experimental. + +- New API: ++hb_style_tag_t ++hb_style_get_value() ++hb_subset_input_t ++hb_subset_flags_t ++hb_subset_sets_t ++hb_subset_input_create_or_fail() ++hb_subset_input_reference() ++hb_subset_input_destroy() ++hb_subset_input_set_user_data() ++hb_subset_input_get_user_data() ++hb_subset_input_unicode_set() ++hb_subset_input_glyph_set() ++hb_subset_input_set() ++hb_subset_input_get_flags() ++hb_subset_input_set_flags() ++hb_subset_or_fail() + +- Removed old unstable harfbuzz-subset API: +-hb_subset_input_nameid_set() +-hb_subset_input_namelangid_set() +-hb_subset_input_layout_features_set() +-hb_subset_input_no_subset_tables_set() +-hb_subset_input_drop_tables_set() +-hb_subset_input_set_drop_hints() +-hb_subset_input_get_drop_hints() +-hb_subset_input_set_desubroutinize() +-hb_subset_input_get_desubroutinize() +-hb_subset_input_set_retain_gids() +-hb_subset_input_get_retain_gids() +-hb_subset_input_set_name_legacy() +-hb_subset_input_get_name_legacy() +-hb_subset_input_set_overlaps_flag() +-hb_subset_input_get_overlaps_flag() +-hb_subset_input_set_notdef_outline() +-hb_subset_input_get_notdef_outline() +-hb_subset_input_set_no_prune_unicode_ranges() +-hb_subset_input_get_no_prune_unicode_ranges() +-hb_subset() + + +Overview of changes leading to 2.9.1 +Tuesday, September 7, 2021 +==================================== +- Final subset API is in place and if no issues are discovered, it will be the + stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but + will be removed in 3.0.0. +- Various fuzzer-found bug fixes. +- hb_buffer_append() now handles the pre- and post-context which previously + were left unchanged in the destination buffer. +- hb-view / hb-shape now accept following new arguments: + o --unicodes-before/after: takes a list of hex numbers that represent Unicode + codepoints. +- Undeprecated API: + hb_set_invert() + + +Overview of changes leading to 2.9.0 +Wednesday, August 18, 2021 +History Repeats Itself (Afghanistan) +==================================== +- Subsetter API is being stabilized, with the first stable API to happen in + 3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078). +- Support multiple variation axes with same tag, aka HOI. +- The “coretext” testing shaper now passes font variations to CoreText. +- hb-shape/hb-view does not break line at new lines unless text is read from + file. +- hb-view and hb-subset has a --batch now, similar to hb-shape. +- The --batch mode now uses ; as argument separator instead of : used previously. +- The --batch in hb-shape does not expect 0th argument anymore. That is, the + lines read are interpreted as argv[1:], instead of argv[0:]. +- The --batch option has been undocumented. We are ready to document it; send + feedback if you find it useful. +- hb-subset got arguments revamps. Added much-requested --gids-file, --glyphs, + --glyphs-file, --unicodes-file, supporting ranges in --unicodes. +- Various bug fixes. + + +Overview of changes leading to 2.8.2 +Tuesday, July 8, 2021 +==================================== +- Shaping LTR digits for RTL scripts now makes the native direction of the + digits LTR, applying shaping and positioning rules on the same glyph order as + Uniscribe. (Jonathan Kew, Khaled Hosny). +- Subsetting COLR v1 and CPAL tables is now supported. (Garret Rieger, Qunxin Liu) +- Various fixes and improvements to the subsetter. (Garret Rieger, Qunxin Liu, Behdad) +- When applying morx table, mark glyph widths should not be zeroed. (Jonathan Kew) +- GPOS is preferred over kerx, if GSUB was applied. (Behdad) +- Regional_Indicator pairs are grouped together when clustering. (Behdad) +- New API: ++hb_blob_create_or_fail() ++hb_blob_create_from_file_or_fail() ++hb_set_copy() + + +Overview of changes leading to 2.8.1 +Tuesday, May 4, 2021 +==================================== +- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as + such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu) +- Build scripts no longer check for FontConfig as HarfBuzz does not use it. +- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny), + it can also use Chafa for terminal graphics if available (Hans Petter Jansson). + +Overview of changes leading to 2.8.0 +Tuesday, March 16, 2021 +==================================== +- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine. + Previously these were shaped using the generalized Arabic shaper. (David Corbett) +- Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett) +- Update language tags. (David Corbett) +- Variations: reduce error: do not round each interpolated delta. (Just van Rossum) +- Documentation improvements. (Khaled Hosny, Nathan Willis) +- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger, Qunxin Liu) +- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad) +- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad) +- General codebase upkeep; using more C++11 features: constexpr constructors, etc. (Behdad) + + +Overview of changes leading to 2.7.4 +Sunday, December 27, 2020 +==================================== +- Fix missing --enable-introspection configure option from previous release + tarball. +- Documentation updates. + + +Overview of changes leading to 2.7.3 +Wednesday, December 23, 2020 +==================================== +- Update USE shaper to 2020-08-13 specification, and other improvements. +- Don’t disable liga feature in myanmar shaper, to match Uniscribe. +- Improvements to language and script tags handling. +- Update language system tag registry to OpenType 1.8.4 +- Support for serializing and deserializing Unicode buffers. Serialized buffers + are now delimited with `<>` or `[]` based on whether it is a Unicode or + glyphs buffer. +- Increase buffer work limits to handle fonts with many complex lookups. +- Handle more shaping operations in trace output. +- Memory access fixes. +- More OOM fixes. +- Improved documentation. +- Build system improvements. +- New API: ++hb_buffer_has_positions() ++hb_buffer_serialize() ++hb_buffer_serialize_unicode() ++hb_buffer_deserialize_unicode() + + +Overview of changes leading to 2.7.2 +Saturday, August 29, 2020 +==================================== +- Fix a regression in the previous release that caused a crash with Kaithi. +- More OOM fixes. + + +Overview of changes leading to 2.7.1 +Thursday, August 13, 2020 +==================================== +- ot-funcs now handles variable empty glyphs better when hvar/vvar isn't present. +- Reverted a GDEF processing regression. +- A couple of fixes to handle OOM better. + + +Overview of changes leading to 2.7.0 +Saturday, July 25, 2020 +==================================== +- Use an implementation for round that always rounds up, some minor fluctuations + are expected on var font specially when hb-ot callback is used. +- Fix an AAT's `kerx` issue on broken rendering of Devanagari Sangam MN. +- Remove AAT's `lcar` table support from _get_ligature_carets API, not even much + use on macOS installed fonts (only two files). GDEF support is the recommended + one and expected to work properly after issues fixed two releases ago. +- Minor memory fixes to handle OOM better specially in hb-ft. +- Minor .so files versioning scheme change and remove stable/unstable scheme + differences, was never used in practice (always default to stable scheme). +- We are now suggesting careful packaging of the library using meson, + https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson + for more information. +- Distribution package URL is changed, either use GitHub generated tarballs, + `https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz` + or, even more preferably use commit hash of the release and git checkouts like, + `git+https://github.com/harfbuzz/harfbuzz#commit=$commit` + + +Overview of changes leading to 2.6.8 +Monday, June 22, 2020 +==================================== +- New API to fetch glyph alternates from GSUB table. +- hb-coretext build fix for macOS < 10.10. +- Meson build fixes, cmake port removal is postponed but please prepare for + it and give us feedback. + Autotools is still our main build system however please consider + experimenting with meson also for packaging the library. +- New API: ++hb_ot_layout_lookup_get_glyph_alternates() + + Overview of changes leading to 2.6.7 Wednesday, June 3, 2020 ==================================== @@ -122,7 +454,7 @@ Friday, May 24, 2019 code-base changes. We now require C++11. Support for gcc 4.8 and earlier has been dropped. - New hb-config.hh facility for compiling smaller library for embedded and web usecases. -- New Unicode Character Databse implementation that is half the size of previously-used +- New Unicode Character Database implementation that is half the size of previously-used UCDN. - Subsetter improvements. - Improved documentation, thanks to Nathan Willis. @@ -970,7 +1302,7 @@ Thursday, February 25, 2016 due to bug in glyph class of ASCII double-quote character. This should address "regression" introduced in 1.2.0 when we switched mark zeroing in most shapers from BY_UNICODE_LATE to BY_GDEF_LATE. - This fourth release in a week should finally stablize things... + This fourth release in a week should finally stabilize things... - hb-ot-font's get_glyph() implementation saw some optimizations. Though, might be really hard to measure in real-world situations. @@ -2018,7 +2350,7 @@ o Changed API: - hb_buffer_create() takes zero arguments now. Use hb_buffer_pre_allocate() to pre-allocate. - - hb_buffer_add_utf*() now accept -1 for length parameteres, + - hb_buffer_add_utf*() now accept -1 for length parameters, meaning "nul-terminated". - hb_direction_t enum values changed. diff --git a/README b/README index 3610912..84c542f 100644 --- a/README +++ b/README @@ -1,34 +1,15 @@ -[![Travis Build Status](https://travis-ci.org/harfbuzz/harfbuzz.svg?branch=master)](https://travis-ci.org/harfbuzz/harfbuzz) -[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/0t0flrxpstj9lb9w?svg=true&branch=master)](https://ci.appveyor.com/project/harfbuzz/harfbuzz) -[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master) -[![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/harfbuzz.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html) -[![Coverity Code Health](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz) -[![Codacy Code Health](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz) -[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/master/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz) -[![Coverals Code Coverage](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz) -[![Packaging status](https://repology.org/badge/tiny-repos/harfbuzz.svg)](https://repology.org/project/harfbuzz/versions) -[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/) - This is HarfBuzz, a text shaping library. For bug reports, mailing list, and other information please visit: http://harfbuzz.org/ -For license information, see [COPYING](COPYING). +For license information, see https://github.com/harfbuzz/harfbuzz/blob/main/COPYING -For build information, see [BUILD.md](BUILD.md). +For build information, see https://github.com/harfbuzz/harfbuzz/blob/main/BUILD.md -For custom configurations, see [CONFIG.md](CONFIG.md). +For custom configurations, see https://github.com/harfbuzz/harfbuzz/blob/main/CONFIG.md -For test execution, see [TESTING.md](TESTING.md). +For test execution, see https://github.com/harfbuzz/harfbuzz/blob/main/TESTING.md Documentation: https://harfbuzz.github.io - - -
- Packaging status of HarfBuzz - -[![Packaging status](https://repology.org/badge/vertical-allrepos/harfbuzz.svg?header=harfbuzz)](https://repology.org/project/harfbuzz/versions) - -
diff --git a/README.md b/README.md index 3610912..9deb32c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ -[![Travis Build Status](https://travis-ci.org/harfbuzz/harfbuzz.svg?branch=master)](https://travis-ci.org/harfbuzz/harfbuzz) -[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/0t0flrxpstj9lb9w?svg=true&branch=master)](https://ci.appveyor.com/project/harfbuzz/harfbuzz) -[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master) +[![Linux CI Status](https://github.com/harfbuzz/harfbuzz/workflows/linux-ci/badge.svg)](https://github.com/harfbuzz/harfbuzz/workflows/linux-ci/badge.svg) +[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/main.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/main) [![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/harfbuzz.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html) [![Coverity Code Health](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz) [![Codacy Code Health](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz) -[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/master/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz) +[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/main/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz) [![Coverals Code Coverage](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz) [![Packaging status](https://repology.org/badge/tiny-repos/harfbuzz.svg)](https://repology.org/project/harfbuzz/versions) [ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/) diff --git a/README.python.md b/README.python.md index d9aaf89..7496f04 100644 --- a/README.python.md +++ b/README.python.md @@ -6,13 +6,8 @@ you can install that this way: sudo apt-get install libgirepository1.0-dev ``` -And then run `autogen.sh` (if building from git), and then: - -```bash -./configure --with-gobject --enable-introspection -``` - -Make sure that gobject-introspection is reported enabled then in the `configure` script output. +And then run `meson setup` and make sure that `Introspection` is reported +enabled in output. Compile and install. diff --git a/RELEASING.md b/RELEASING.md index a26350b..8d5a406 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,56 +1,37 @@ -HarfBuzz release walk-through checklist: +# HarfBuzz release walk-through checklist: -1. Open gitk and review changes since last release. +- [ ] Open gitk and review changes since last release. - * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API - changes. + - [ ] Print all public API changes: + `git diff $(git describe | sed 's/-.*//').. src/*.h` - Document them in NEWS. All API and API semantic changes should be clearly - marked as API additions, API changes, or API deletions. Document - deprecations. Ensure all new API / deprecations are in listed correctly in - docs/harfbuzz-sections.txt. If release added new API, add entry for new - API index at the end of docs/harfbuzz-docs.xml. + - [ ] Document them in NEWS. + All API and API semantic changes should be clearly marked as API additions, API changes, or API deletions. - If there's a backward-incompatible API change (including deletions for API - used anywhere), that's a release blocker. Do NOT release. + - [ ] Document deprecations. + Ensure all new API / deprecations are in listed correctly in docs/harfbuzz-sections.txt. + If release added new API, add entry for new API index at the end of docs/harfbuzz-docs.xml. -2. Based on severity of changes, decide whether it's a minor or micro release - number bump, + If there's a backward-incompatible API change (including deletions for API used anywhere), that's a release blocker. + Do NOT release. -3. Search for REPLACEME on the repository and replace it with the chosen version - for the release. +- [ ] Based on severity of changes, decide whether it's a minor or micro release number bump. -4. Make sure you have correct date and new version at the top of NEWS file, +- [ ] Search for REPLACEME on the repository and replace it with the chosen version for the release. -5. Bump version in configure.ac line 3 and meson.build line 4. +- [ ] Make sure you have correct date and new version at the top of NEWS file. -6. Do "make distcheck", if it passes, you get a tarball. - Otherwise, fix things and commit them separately before making release, - Note: Check src/hb-version.h and make sure the new version number is - there. Sometimes, it does not get updated. If that's the case, - "touch configure.ac" and rebuild. Also check that there is no hb-version.h - in your build/src file. Typically it will fail the distcheck if there is. - That's what happened to 2.0.0 going out with 1.8.0 hb-version.h... So, that's - a clue. +- [ ] Bump version in line 3 of meson.build and configure.ac. -7. Now that you have release files, commit NEWS, configure.ac, and src/hb-version.h, - as well as any REPLACEME changes you made. The commit message is simply the - release number. Eg. "1.4.7" +- [ ] Do a `meson test -Cbuild` so it both checks the tests and updates hb-version.h (use `git diff` to see if is really updated). -8. "make dist" again to get a tarball with your new commit in the ChangeLog. Then - "make release-files". Enter your GPG password. This creates a sha256 hash - and signs it. Check the size of the three resulting files. +- [ ] Commit NEWS, meson.build, configure.ac, and src/hb-version.h, as well as any REPLACEME changes you made. + The commit message is simply the release number, e. g. "1.4.7" -9. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7". Enter your - GPG password again. +- [ ] Do a `meson dist -Cbuild` that runs the tests against the latest committed changes. + If doesn't pass, something fishy is going on, reset the repo and start over. -10. Build win32 bundle. See [README.mingw.md](README.mingw.md). +- [ ] Tag the release and sign it: e.g. `git tag -s 1.4.7 -m 1.4.7`. + Enter your GPG password. -11. Quickly double-check the size of the .tar.xz and .zip files against their - previous releases to make sure nothing bad happened. - They should be in the ballpark, perhaps slightly larger. Sometimes they - do shrink, that's not by itself a stopper. - -12. Push the commit and tag out: "git push --follow-tags". Go to GitHub release - page [here](https://github.com/harfbuzz/harfbuzz/releases), edit the tag, - upload artefacts and NEWS entry and save. +- [ ] Push the commit and tag out: `git push --follow-tags`. diff --git a/TESTING.md b/TESTING.md index d70da07..c722834 100644 --- a/TESTING.md +++ b/TESTING.md @@ -1,85 +1,55 @@ -## Build & Run - -Depending on what area you are working in change or add `HB_DEBUG_`. -Values defined in `hb-debug.hh`. +## Build and Test ```shell -# quick sanity check -time (make -j4 CPPFLAGS='-DHB_DEBUG_SUBSET=100' \ - && (make -j4 -C test/api check || cat test/api/test-suite.log)) - -# slower sanity check -time (make -j4 CPPFLAGS='-DHB_DEBUG_SUBSET=100' \ - && make -j4 -C src check \ - && make -j4 -C test/api check \ - && make -j4 -C test/subset check) - -# confirm you didn't break anything else -time (make -j4 CPPFLAGS='-DHB_DEBUG_SUBSET=100' \ - && make -j4 check) - -# often catches files you didn't add, e.g. test fonts to EXTRA_DIST -make distcheck +meson build +ninja -Cbuild +meson test -Cbuild ``` -### Run tests with asan - -**NOTE**: this sometimes yields harder to read results than the full fuzzer +### Debug with GDB ```shell -# For nice symbols tell asan how to symoblize. Note that it doesn't like versioned copies like llvm-symbolizer-3.8 -# export ASAN_SYMBOLIZER_PATH=path to version-less llvm-symbolizer -# ex -export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-3.8/bin/llvm-symbolizer - -./configure CC=clang CXX=clang++ CPPFLAGS=-fsanitize=address LDFLAGS=-fsanitize=address -# make/run tests as usual +meson test -Cbuild --gdb testname ``` -### Debug with GDB +## Build and Run -``` -cd ./util -../libtool --mode=execute gdb --args ./hb-subset ... +Depending on what area you are working in change or add `HB_DEBUG_`. +Values defined in `hb-debug.hh`. + +```shell +CPPFLAGS='-DHB_DEBUG_SUBSET=100' meson setup build --reconfigure +meson test -C build ``` -### Enable Debug Logging +### Run tests with asan ```shell -# make clean if you previously build w/o debug logging -make CPPFLAGS=-DHB_DEBUG_SUBSET=100 +meson setup build -Db_sanitize=address --reconfigure +meson compile -C build +meson test -C build ``` -## Build and Test via CMake - -Note: You'll need to first install ninja-build via apt-get. +### Enable Debug Logging ```shell -meson build && ninja -Cbuild && ninja -Cbuild test +CPPFLAGS=-DHB_DEBUG_SUBSET=100 meson build --reconfigure +ninja -C build ``` ## Test with the Fuzzer ```shell -# push your changs to a branch on googlefonts/harfbuzz -# In a local copy of oss-fuzz, edit projects/harfbuzz/Dockerfile -# Change the git clone to pull your branch - -# Do this periodically -sudo python infra/helper.py build_image harfbuzz - -# Do these to update/run -sudo python infra/helper.py build_fuzzers --sanitizer address harfbuzz -sudo python infra/helper.py run_fuzzer harfbuzz hb-subset-fuzzer +CXXFLAGS="-fsanitize=address,fuzzer-no-link" meson fuzzbuild --default-library=static -Dfuzzer_ldflags="-fsanitize=address,fuzzer" -Dexperimental_api=true +ninja -Cfuzzbuild test/fuzzing/hb-{shape,draw,subset,set}-fuzzer +fuzzbuild/test/fuzzing/hb-subset-fuzzer test/fuzzing/fonts ``` ## Profiling ``` -make clean -./configure CXXFLAGS="-fno-omit-frame-pointer -g" -make -perf record -o -g -perf report -i +meson build --reconfigure +meson compile -C build +build/perf/perf ``` diff --git a/aclocal.m4 b/aclocal.m4 index 23e51cd..ce5c0af 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -163,9 +163,9 @@ AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) ]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) - +dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +dnl serial 11 (pkg-config-0.29.1) +dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl @@ -439,75 +439,7 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------ -dnl -dnl Prepare a "--with-" configure option using the lowercase -dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and -dnl PKG_CHECK_MODULES in a single macro. -AC_DEFUN([PKG_WITH_MODULES], -[ -m4_pushdef([with_arg], m4_tolower([$1])) - -m4_pushdef([description], - [m4_default([$5], [build with ]with_arg[ support])]) - -m4_pushdef([def_arg], [m4_default([$6], [auto])]) -m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) -m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) - -m4_case(def_arg, - [yes],[m4_pushdef([with_without], [--without-]with_arg)], - [m4_pushdef([with_without],[--with-]with_arg)]) - -AC_ARG_WITH(with_arg, - AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, - [AS_TR_SH([with_]with_arg)=def_arg]) - -AS_CASE([$AS_TR_SH([with_]with_arg)], - [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], - [auto],[PKG_CHECK_MODULES([$1],[$2], - [m4_n([def_action_if_found]) $3], - [m4_n([def_action_if_not_found]) $4])]) - -m4_popdef([with_arg]) -m4_popdef([description]) -m4_popdef([def_arg]) - -])dnl PKG_WITH_MODULES - -dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ----------------------------------------------- -dnl -dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES -dnl check._[VARIABLE-PREFIX] is exported as make variable. -AC_DEFUN([PKG_HAVE_WITH_MODULES], -[ -PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) - -AM_CONDITIONAL([HAVE_][$1], - [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) -])dnl PKG_HAVE_WITH_MODULES - -dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, -dnl [DESCRIPTION], [DEFAULT]) -dnl ------------------------------------------------------ -dnl -dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after -dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make -dnl and preprocessor variable. -AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], -[ -PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) - -AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], - [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) -])dnl PKG_HAVE_DEFINE_WITH_MODULES - -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -522,7 +454,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.2], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -538,12 +470,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.2])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -605,7 +537,7 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -657,7 +589,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -688,7 +620,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -879,7 +811,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -918,9 +850,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE="gmake" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -947,7 +877,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1144,7 +1074,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1165,7 +1095,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1186,7 +1116,7 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1229,7 +1159,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1268,7 +1198,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1297,7 +1227,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1344,7 +1274,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1363,7 +1293,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1444,7 +1374,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1504,7 +1434,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1532,7 +1462,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1551,7 +1481,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/ar-lib b/ar-lib index 1e9388e..0baa4f6 100755 --- a/ar-lib +++ b/ar-lib @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2019-07-04.01; # UTC +scriptversion=2012-03-01.08; # UTC -# Copyright (C) 2010-2020 Free Software Foundation, Inc. +# Copyright (C) 2010-2018 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN* | MSYS*) + CYGWIN*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ func_file_conv () mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin | msys) + cygwin) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -224,11 +224,10 @@ elif test -n "$extract"; then esac done else - $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ - | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff --git a/autogen.sh b/autogen.sh index fd5c198..085b4d8 100755 --- a/autogen.sh +++ b/autogen.sh @@ -7,24 +7,24 @@ test -n "$srcdir" || srcdir=. olddir=`pwd` cd $srcdir -#echo -n "checking for ragel... " +#printf "checking for ragel... " #which ragel || { # echo "You need to install ragel... See http://www.complang.org/ragel/" # exit 1 #} -echo -n "checking for pkg-config... " +printf "checking for pkg-config... " which pkg-config || { echo "*** No pkg-config found, please install it ***" exit 1 } -echo -n "checking for libtoolize... " +printf "checking for libtoolize... " which glibtoolize || which libtoolize || { echo "*** No libtoolize (libtool) found, please install it ***" exit 1 } -echo -n "checking for gtkdocize... " +printf "checking for gtkdocize... " if which gtkdocize ; then gtkdocize --copy || exit 1 else @@ -32,7 +32,7 @@ else echo "EXTRA_DIST = " > gtk-doc.make fi -echo -n "checking for autoreconf... " +printf "checking for autoreconf... " which autoreconf || { echo "*** No autoreconf (autoconf) found, please install it ***" exit 1 diff --git a/compile b/compile index 23fcba0..99e5052 100755 --- a/compile +++ b/compile @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN* | MSYS*) + CYGWIN*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) + cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff --git a/config.guess b/config.guess index 45001cf..f50dcdb 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2020-01-01' +timestamp='2018-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,6 +84,8 @@ if test $# != 0; then exit 1 fi +trap 'exit 1' 1 2 15 + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -94,40 +96,34 @@ fi # Portable tmp directory creation inspired by the Autoconf team. -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > "$dummy.c" ; + for c in cc gcc c89 c99 ; do + if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) -if test -f /.attbin/uname ; then +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi @@ -142,7 +138,7 @@ Linux|GNU|GNU/*) # We could probably try harder. LIBC=gnu - set_cc_for_build + eval "$set_cc_for_build" cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) @@ -203,7 +199,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build + eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then @@ -241,7 +237,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" + echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -264,9 +260,6 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; - *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; @@ -276,15 +269,12 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; - *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -399,7 +389,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build + eval "$set_cc_for_build" SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. @@ -492,7 +482,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build + eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ @@ -589,7 +579,7 @@ EOF exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build + eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include @@ -670,7 +660,7 @@ EOF esac fi if [ "$HP_ARCH" = "" ]; then - set_cc_for_build + eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE @@ -710,7 +700,7 @@ EOF esac if [ "$HP_ARCH" = hppa2.0w ] then - set_cc_for_build + eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -736,7 +726,7 @@ EOF echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) - set_cc_for_build + eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include int @@ -850,17 +840,6 @@ EOF *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi - else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf - fi - exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in @@ -902,7 +881,7 @@ EOF echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin + echo x86_64-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" @@ -915,8 +894,8 @@ EOF # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; - *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix + i*86:Minix:*:*) + echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -926,7 +905,7 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -943,7 +922,7 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) - set_cc_for_build + eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then @@ -992,51 +971,23 @@ EOF echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 + eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= + CPU=${UNAME_MACHINE} #else - MIPS_ENDIAN= + CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" + test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -1095,7 +1046,11 @@ EOF echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + if objdump -f /bin/sh | grep -q elf32-x86-64; then + echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 + else + echo "$UNAME_MACHINE"-pc-linux-"$LIBC" + fi exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -1149,7 +1104,7 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then @@ -1333,39 +1288,38 @@ EOF echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval "$set_cc_for_build" + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc fi - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc + if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; @@ -1408,7 +1362,6 @@ EOF # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - # shellcheck disable=SC2154 if test "$cputype" = 386; then UNAME_MACHINE=i386 else @@ -1465,148 +1418,8 @@ EOF amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; - *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; esac -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" < -#include -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include -#if defined(_SIZE_T_) || defined(SIGLOST) -#include -#endif -#endif -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); -#endif - -#if defined (vax) -#if !defined (ultrix) -#include -#if defined (BSD) -#if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -#else -#if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#endif -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#else -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in @@ -1660,7 +1473,7 @@ EOF exit 1 # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/config.h.in b/config.h.in index 934252e..409cc8e 100644 --- a/config.h.in +++ b/config.h.in @@ -12,6 +12,9 @@ /* Have cairo-ft support in cairo graphics library */ #undef HAVE_CAIRO_FT +/* Have chafa terminal graphics library */ +#undef HAVE_CHAFA + /* Have Core Text backend */ #undef HAVE_CORETEXT @@ -27,9 +30,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DWRITE_H -/* Have fontconfig library */ -#undef HAVE_FONTCONFIG - /* Have FreeType 2 library */ #undef HAVE_FREETYPE @@ -63,9 +63,6 @@ /* Use hb-icu Unicode callbacks */ #undef HAVE_ICU_BUILTIN -/* Have Intel __sync_* atomic primitives */ -#undef HAVE_INTEL_ATOMIC_PRIMITIVES - /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H @@ -81,24 +78,15 @@ /* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT +/* Define to 1 if you have the `newlocale' function. */ +#undef HAVE_NEWLOCALE + /* Have POSIX threads */ #undef HAVE_PTHREAD /* Have PTHREAD_PRIO_INHERIT. */ #undef HAVE_PTHREAD_PRIO_INHERIT -/* Define to 1 if you have the `roundf' function. */ -#undef HAVE_ROUNDF - -/* Define to 1 if you have the header file. */ -#undef HAVE_SCHED_H - -/* Have sched_yield */ -#undef HAVE_SCHED_YIELD - -/* Have Solaris __machine_*_barrier and atomic_* operations */ -#undef HAVE_SOLARIS_ATOMIC_OPS - /* Define to 1 if you have the header file. */ #undef HAVE_STDBOOL_H @@ -132,12 +120,18 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `uselocale' function. */ +#undef HAVE_USELOCALE + /* Define to 1 if you have the header file. */ #undef HAVE_USP10_H /* Define to 1 if you have the header file. */ #undef HAVE_WINDOWS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_XLOCALE_H + /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR diff --git a/config.sub b/config.sub index f02d43a..1d8e98b 100755 --- a/config.sub +++ b/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2020 Free Software Foundation, Inc. +# Copyright 1992-2018 Free Software Foundation, Inc. -timestamp='2020-01-01' +timestamp='2018-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -67,7 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2020 Free Software Foundation, Inc. +Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,7 +89,7 @@ while test $# -gt 0 ; do - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" >&2 + echo "$me: invalid option $1$help" exit 1 ;; *local*) @@ -110,1164 +110,1223 @@ case $# in exit 1;; esac -# Split fields of configuration type -# shellcheck disable=SC2162 -IFS="-" read field1 field2 field3 field4 <&2 - exit 1 +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. ;; - *-*-*-*) - basic_machine=$field1-$field2 - os=$field3-$field4 + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ - | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - os=linux-android - ;; - *) - basic_machine=$field1-$field2 - os=$field3 - ;; - esac + -bluegene*) + os=-cnk ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - os= - ;; - *) - basic_machine=$field1 - os=$field2 - ;; - esac - ;; - esac + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - os=bsd - ;; - a29khif) - basic_machine=a29k-amd - os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=scout - ;; - alliant) - basic_machine=fx80-alliant - os= - ;; - altos | altos3068) - basic_machine=m68k-altos - os= - ;; - am29k) - basic_machine=a29k-none - os=bsd - ;; - amdahl) - basic_machine=580-amdahl - os=sysv - ;; - amiga) - basic_machine=m68k-unknown - os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=bsd - ;; - aros) - basic_machine=i386-pc - os=aros - ;; - aux) - basic_machine=m68k-apple - os=aux - ;; - balance) - basic_machine=ns32k-sequent - os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=linux - ;; - cegcc) - basic_machine=arm-unknown - os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=bsd - ;; - convex-c2) - basic_machine=c2-convex - os=bsd - ;; - convex-c32) - basic_machine=c32-convex - os=bsd - ;; - convex-c34) - basic_machine=c34-convex - os=bsd - ;; - convex-c38) - basic_machine=c38-convex - os=bsd - ;; - cray) - basic_machine=j90-cray - os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - os= - ;; - da30) - basic_machine=m68k-da30 - os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - os= - ;; - delta88) - basic_machine=m88k-motorola - os=sysv3 - ;; - dicos) - basic_machine=i686-pc - os=dicos - ;; - djgpp) - basic_machine=i586-pc - os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=ose - ;; - gmicro) - basic_machine=tron-gmicro - os=sysv - ;; - go32) - basic_machine=i386-pc - os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=hms - ;; - harris) - basic_machine=m88k-harris - os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=proelf - ;; - i386mach) - basic_machine=i386-mach - os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=sysv - ;; - merlin) - basic_machine=ns32k-utek - os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - os=coff - ;; - morphos) - basic_machine=powerpc-unknown - os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=moxiebox - ;; - msdos) - basic_machine=i386-pc - os=msdos - ;; - msys) - basic_machine=i686-pc - os=msys - ;; - mvs) - basic_machine=i370-ibm - os=mvs - ;; - nacl) - basic_machine=le32-unknown - os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=newsos - ;; - news1000) - basic_machine=m68030-sony - os=newsos - ;; - necv70) - basic_machine=v70-nec - os=sysv - ;; - nh3000) - basic_machine=m68k-harris - os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=cxux - ;; - nindy960) - basic_machine=i960-intel - os=nindy - ;; - mon960) - basic_machine=i960-intel - os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=ose - ;; - os68k) - basic_machine=m68k-none - os=os68k - ;; - paragon) - basic_machine=i860-intel - os=osf - ;; - parisc) - basic_machine=hppa-unknown - os=linux - ;; - pw32) - basic_machine=i586-unknown - os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=rdos - ;; - rdos32) - basic_machine=i386-pc - os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=coff - ;; - sa29200) - basic_machine=a29k-amd - os=udi - ;; - sei) - basic_machine=mips-sei - os=seiux - ;; - sequent) - basic_machine=i386-sequent - os= - ;; - sps7) - basic_machine=m68k-bull - os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - os= - ;; - stratus) - basic_machine=i860-stratus - os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - os= - ;; - sun2os3) - basic_machine=m68000-sun - os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - os= - ;; - sun3os3) - basic_machine=m68k-sun - os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - os= - ;; - sun4os3) - basic_machine=sparc-sun - os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - os= - ;; - sv1) - basic_machine=sv1-cray - os=unicos - ;; - symmetry) - basic_machine=i386-sequent - os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=unicos - ;; - t90) - basic_machine=t90-cray - os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - os=tpf - ;; - udi29k) - basic_machine=a29k-amd - os=udi - ;; - ultra3) - basic_machine=a29k-nyu - os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=none - ;; - vaxv) - basic_machine=vax-dec - os=sysv - ;; - vms) - basic_machine=vax-dec - os=vms - ;; - vsta) - basic_machine=i386-pc - os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=vxworks - ;; - xbox) - basic_machine=i686-pc - os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - os=unicos - ;; - *) - basic_machine=$1 - os= - ;; - esac + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint ;; esac -# Decode 1-component or ad-hoc basic machines +# Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) - cpu=hppa1.1 - vendor=winbond + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | wasm32 \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown ;; - op50n) - cpu=hppa1.1 - vendor=oki + leon|leon[3-9]) + basic_machine=sparc-$basic_machine ;; - op60c) - cpu=hppa1.1 - vendor=oki + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none ;; - ibm*) - cpu=i370 - vendor=ibm + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; - orion105) - cpu=clipper - vendor=highlevel + ms1) + basic_machine=mt-unknown ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple + + strongarm | thumb | xscale) + basic_machine=arm-unknown ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown ;; + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | e2k-* | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ + | pyramid-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ + | wasm32-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-pc + os=-bsd + ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att + basic_machine=m68000-att ;; 3b*) - cpu=we32k - vendor=att + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux ;; bluegene*) - cpu=powerpc - vendor=ibm - os=cnk + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec ;; decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - os=tops10 + basic_machine=pdp10-dec + os=-tops10 ;; decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - os=tops20 + basic_machine=pdp10-dec + os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx ;; dpx2*) - cpu=m68k - vendor=bull - os=sysv3 + basic_machine=m68k-bull + os=-sysv3 ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=$os"spe" + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon ;; elxsi) - cpu=elxsi - vendor=elxsi - os=${os:-bsd} + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose ;; fx2800) - cpu=i860 - vendor=alliant + basic_machine=i860-alliant ;; genix) - cpu=ns32k - vendor=ns + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 ;; h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - os=hiuxwe2 + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp + basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp + basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp + basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp + basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp + basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp + basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp + basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp + basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp + basic_machine=hppa1.0-hp + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm ;; i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv32 + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-sysv32 ;; i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv4 + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-sysv4 ;; i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=sysv + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-sysv ;; i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - os=solaris2 + basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - os=${os:-unicos} + vsta) + basic_machine=i386-unknown + os=-vsta ;; iris | iris4d) - cpu=mips - vendor=sgi + basic_machine=mips-sgi case $os in - irix*) + -irix*) ;; *) - os=irix4 + os=-irix4 ;; esac ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) - cpu=m68000 - vendor=convergent + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - os=mint + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos ;; news-3600 | risc-news) - cpu=mips - vendor=sony - os=newsos + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv ;; next | m*-next) - cpu=m68k - vendor=next + basic_machine=m68k-next case $os in - openstep*) - ;; - nextstep*) + -nextstep* ) ;; - ns2*) - os=nextstep2 + -ns2*) + os=-nextstep2 ;; *) - os=nextstep3 + os=-nextstep3 ;; esac ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; np1) - cpu=np1 - vendor=gould + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + nsv-tandem) + basic_machine=nsv-tandem + ;; + nsx-tandem) + basic_machine=nsx-tandem ;; op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - os=proelf + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k ;; pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - os=hiuxwe2 + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` + os=-linux ;; pbd) - cpu=sparc - vendor=tti + basic_machine=sparc-tti ;; pbb) - cpu=m68k - vendor=tti + basic_machine=m68k-tti ;; - pc532) - cpu=ns32k - vendor=pc532 + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) - cpu=pn - vendor=gould + basic_machine=pn-gould ;; - power) - cpu=power - vendor=ibm + power) basic_machine=power-ibm ;; - ps2) - cpu=i386 - vendor=ibm + ppc | ppcbe) basic_machine=powerpc-unknown ;; - rm[46]00) - cpu=mips - vendor=siemens + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm + ppcle | powerpclittle) + basic_machine=powerpcle-unknown ;; - sde) - cpu=mipsisa32 - vendor=sde - os=${os:-elf} + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - simso-wrs) - cpu=sparclite - vendor=wrs - os=vxworks + ppc64) basic_machine=powerpc64-unknown ;; - tower | tower-32) - cpu=m68k - vendor=ncr + ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu + ppc64le | powerpc64little) + basic_machine=powerpc64le-unknown ;; - w65) - cpu=w65 - vendor=wdc + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - os=proelf + ps2) + basic_machine=i386-ibm ;; - none) - cpu=none - vendor=none + pw32) + basic_machine=i586-unknown + os=-pw32 ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` + rdos32) + basic_machine=i386-pc + os=-rdos ;; - - *-*) - # shellcheck disable=SC2162 - IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac + echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 + exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec +case $basic_machine in + *-digital*) + basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; - commodore*) - vendor=cbm + *-commodore*) + basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; @@ -1275,243 +1334,199 @@ esac # Decode manufacturer-specific aliases for certain operating systems. -if [ x$os != x ] +if [ x"$os" != x"" ] then case $os in # First match some system type aliases that might get confused # with valid system types. - # solaris* is a basic system type, with this one exception. - auroraux) - os=auroraux + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux ;; - bluegene*) - os=cnk - ;; - solaris1 | solaris1.*) + -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; - solaris) - os=solaris2 + -solaris) + os=-solaris2 ;; - unixware*) - os=sysv4.2uw + -unixware*) + os=-sysv4.2uw ;; - gnu/linux*) + -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) - es1800*) - os=ose - ;; - # Some version numbers need modification - chorusos*) - os=chorusos - ;; - isc) - os=isc2.2 - ;; - sco6) - os=sco5v6 - ;; - sco5) - os=sco3.2v5 - ;; - sco4) - os=sco3.2v4 - ;; - sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - ;; - sco3.2v[4-9]* | sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - ;; - scout) - # Don't match below - ;; - sco*) - os=sco3.2v2 - ;; - psos*) - os=psos + -es1800*) + os=-ose ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. - # sysv* is not here because it comes later, after sysvr4. - gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ - | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ - | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ - | sym* | kopensolaris* | plan9* \ - | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ - | aos* | aros* | cloudabi* | sortix* | twizzler* \ - | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ - | knetbsd* | mirbsd* | netbsd* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ - | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ - | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ - | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ - | linux-newlib* | linux-musl* | linux-uclibc* \ - | uxpv* | beos* | mpeix* | udk* | moxiebox* \ - | interix* | uwin* | mks* | rhapsody* | darwin* \ - | openstep* | oskit* | conix* | pw32* | nonstopux* \ - | storm-chaos* | tops10* | tenex* | tops20* | its* \ - | os2* | vos* | palmos* | uclinux* | nucleus* \ - | morphos* | superux* | rtmk* | windiss* \ - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix) + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ + | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; - qnx*) - case $cpu in - x86 | i*86) + -qnx*) + case $basic_machine in + x86-* | i*86-*) ;; *) - os=nto-$os + os=-nto$os ;; esac ;; - hiux*) - os=hiuxwe2 + -nto-qnx*) ;; - nto-qnx*) - ;; - nto*) + -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; - sim | xray | os68k* | v88r* \ - | windows* | osx | abug | netware* | os9* \ - | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) - ;; - linux-dietlibc) - os=linux-dietlibc - ;; - linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - lynx*178) - os=lynxos178 - ;; - lynx*5) - os=lynxos5 + -sim | -xray | -os68k* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; - lynx*) - os=lynxos - ;; - mac*) + -mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; - opened*) - os=openedition + -linux-dietlibc) + os=-linux-dietlibc ;; - os400*) - os=os400 + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; - sunos5*) + -sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; - sunos6*) + -sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; - wince*) - os=wince + -opened*) + os=-openedition ;; - utek*) - os=bsd + -os400*) + os=-os400 ;; - dynix*) - os=bsd + -wince*) + os=-wince ;; - acis*) - os=aos + -utek*) + os=-bsd ;; - atheos*) - os=atheos + -dynix*) + os=-bsd ;; - syllable*) - os=syllable + -acis*) + os=-aos ;; - 386bsd) - os=bsd + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable ;; - ctix* | uts*) - os=sysv + -386bsd) + os=-bsd ;; - nova*) - os=rtmk-nova + -ctix* | -uts*) + os=-sysv ;; - ns2) - os=nextstep2 + -nova*) + os=-rtmk-nova + ;; + -ns2) + os=-nextstep2 + ;; + -nsk*) + os=-nsk ;; # Preserve the version number of sinix5. - sinix5.*) + -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; - sinix*) - os=sysv4 + -sinix*) + os=-sysv4 ;; - tpf*) - os=tpf + -tpf*) + os=-tpf ;; - triton*) - os=sysv3 + -triton*) + os=-sysv3 ;; - oss*) - os=sysv3 + -oss*) + os=-sysv3 ;; - svr4*) - os=sysv4 + -svr4*) + os=-sysv4 ;; - svr3) - os=sysv3 + -svr3) + os=-sysv3 ;; - sysvr4) - os=sysv4 + -sysvr4) + os=-sysv4 ;; - # This must come after sysvr4. - sysv*) + # This must come after -sysvr4. + -sysv*) ;; - ose*) - os=ose + -ose*) + os=-ose ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - os=mint + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint ;; - zvmoe) - os=zvmoe + -zvmoe) + os=-zvmoe ;; - dicos*) - os=dicos + -dicos*) + os=-dicos ;; - pikeos*) + -pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. - case $cpu in + case $basic_machine in arm*) - os=eabi + os=-eabi ;; *) - os=elf + os=-elf ;; esac ;; - nacl*) + -nacl*) ;; - ios) + -ios) ;; - none) - ;; - *-eabi) + -none) ;; *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; @@ -1528,265 +1543,258 @@ else # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. -case $cpu-$vendor in +case $basic_machine in score-*) - os=elf + os=-elf ;; spu-*) - os=elf + os=-elf ;; *-acorn) - os=riscix1.2 + os=-riscix1.2 ;; arm*-rebel) - os=linux + os=-linux ;; arm*-semi) - os=aout + os=-aout ;; c4x-* | tic4x-*) - os=coff + os=-coff ;; c8051-*) - os=elf - ;; - clipper-intergraph) - os=clix + os=-elf ;; hexagon-*) - os=elf + os=-elf ;; tic54x-*) - os=coff + os=-coff ;; tic55x-*) - os=coff + os=-coff ;; tic6x-*) - os=coff + os=-coff ;; # This must come before the *-dec entry. pdp10-*) - os=tops20 + os=-tops20 ;; pdp11-*) - os=none + os=-none ;; *-dec | vax-*) - os=ultrix4.2 + os=-ultrix4.2 ;; m68*-apollo) - os=domain + os=-domain ;; i386-sun) - os=sunos4.0.2 + os=-sunos4.0.2 ;; m68000-sun) - os=sunos3 + os=-sunos3 ;; m68*-cisco) - os=aout + os=-aout ;; mep-*) - os=elf + os=-elf ;; mips*-cisco) - os=elf + os=-elf ;; mips*-*) - os=elf + os=-elf ;; or32-*) - os=coff + os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. - os=sysv3 + os=-sysv3 ;; sparc-* | *-sun) - os=sunos4.1.1 + os=-sunos4.1.1 ;; pru-*) - os=elf + os=-elf ;; *-be) - os=beos + os=-beos ;; *-ibm) - os=aix + os=-aix ;; *-knuth) - os=mmixware + os=-mmixware ;; *-wec) - os=proelf + os=-proelf ;; *-winbond) - os=proelf + os=-proelf ;; *-oki) - os=proelf + os=-proelf ;; *-hp) - os=hpux + os=-hpux ;; *-hitachi) - os=hiux + os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=sysv + os=-sysv ;; *-cbm) - os=amigaos + os=-amigaos ;; *-dg) - os=dgux + os=-dgux ;; *-dolphin) - os=sysv3 + os=-sysv3 ;; m68k-ccur) - os=rtu + os=-rtu ;; m88k-omron*) - os=luna + os=-luna ;; *-next) - os=nextstep + os=-nextstep ;; *-sequent) - os=ptx + os=-ptx ;; *-crds) - os=unos + os=-unos ;; *-ns) - os=genix + os=-genix ;; i370-*) - os=mvs + os=-mvs ;; *-gould) - os=sysv + os=-sysv ;; *-highlevel) - os=bsd + os=-bsd ;; *-encore) - os=bsd + os=-bsd ;; *-sgi) - os=irix + os=-irix ;; *-siemens) - os=sysv4 + os=-sysv4 ;; *-masscomp) - os=rtu + os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) - os=uxpv + os=-uxpv ;; *-rom68k) - os=coff + os=-coff ;; *-*bug) - os=coff + os=-coff ;; *-apple) - os=macos + os=-macos ;; *-atari*) - os=mint - ;; - *-wrs) - os=vxworks + os=-mint ;; *) - os=none + os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) +vendor=unknown +case $basic_machine in + *-unknown) case $os in - riscix*) + -riscix*) vendor=acorn ;; - sunos*) + -sunos*) vendor=sun ;; - cnk*|-aix*) + -cnk*|-aix*) vendor=ibm ;; - beos*) + -beos*) vendor=be ;; - hpux*) + -hpux*) vendor=hp ;; - mpeix*) + -mpeix*) vendor=hp ;; - hiux*) + -hiux*) vendor=hitachi ;; - unos*) + -unos*) vendor=crds ;; - dgux*) + -dgux*) vendor=dg ;; - luna*) + -luna*) vendor=omron ;; - genix*) + -genix*) vendor=ns ;; - clix*) - vendor=intergraph - ;; - mvs* | opened*) + -mvs* | -opened*) vendor=ibm ;; - os400*) + -os400*) vendor=ibm ;; - ptx*) + -ptx*) vendor=sequent ;; - tpf*) + -tpf*) vendor=ibm ;; - vxsim* | vxworks* | windiss*) + -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; - aux*) + -aux*) vendor=apple ;; - hms*) + -hms*) vendor=hitachi ;; - mpw* | macos*) + -mpw* | -macos*) vendor=apple ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; - vos*) + -vos*) vendor=stratus ;; esac + basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac -echo "$cpu-$vendor-$os" +echo "$basic_machine$os" exit # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" diff --git a/configure b/configure index 1b5bc56..969a83a 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HarfBuzz 2.6.7. +# Generated by GNU Autoconf 2.69 for HarfBuzz 3.4.0. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HarfBuzz' PACKAGE_TARNAME='harfbuzz' -PACKAGE_VERSION='2.6.7' -PACKAGE_STRING='HarfBuzz 2.6.7' +PACKAGE_VERSION='3.4.0' +PACKAGE_STRING='HarfBuzz 3.4.0' PACKAGE_BUGREPORT='https://github.com/harfbuzz/harfbuzz/issues/new' PACKAGE_URL='http://harfbuzz.org/' @@ -666,13 +666,12 @@ HAVE_ICU_BUILTIN_FALSE HAVE_ICU_BUILTIN_TRUE HAVE_ICU_FALSE HAVE_ICU_TRUE -ICU_CONFIG ICU_LIBS ICU_CFLAGS -HAVE_FONTCONFIG_FALSE -HAVE_FONTCONFIG_TRUE -FONTCONFIG_LIBS -FONTCONFIG_CFLAGS +HAVE_CHAFA_FALSE +HAVE_CHAFA_TRUE +CHAFA_LIBS +CHAFA_CFLAGS HAVE_CAIRO_FT_FALSE HAVE_CAIRO_FT_TRUE CAIRO_FT_LIBS @@ -858,6 +857,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -903,7 +903,7 @@ with_glib with_gobject enable_introspection with_cairo -with_fontconfig +with_chafa with_icu with_graphite2 with_freetype @@ -939,8 +939,8 @@ CAIRO_CFLAGS CAIRO_LIBS CAIRO_FT_CFLAGS CAIRO_FT_LIBS -FONTCONFIG_CFLAGS -FONTCONFIG_LIBS +CHAFA_CFLAGS +CHAFA_LIBS ICU_CFLAGS ICU_LIBS GRAPHITE2_CFLAGS @@ -985,6 +985,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1237,6 +1238,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1374,7 +1384,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1487,7 +1497,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HarfBuzz 2.6.7 to adapt to many kinds of systems. +\`configure' configures HarfBuzz 3.4.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1527,6 +1537,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1557,7 +1568,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HarfBuzz 2.6.7:";; + short | recursive ) echo "Configuration of HarfBuzz 3.4.0:";; esac cat <<\_ACEOF @@ -1605,8 +1616,8 @@ Optional Packages: Use gobject [default=no] --with-cairo=[yes/no/auto] Use cairo [default=auto] - --with-fontconfig=[yes/no/auto] - Use fontconfig [default=auto] + --with-chafa=[yes/no/auto] + Use chafa [default=auto] --with-icu=[yes/no/builtin/auto] Use ICU [default=auto] --with-graphite2=[yes/no/auto] @@ -1659,10 +1670,9 @@ Some influential environment variables: C compiler flags for CAIRO_FT, overriding pkg-config CAIRO_FT_LIBS linker flags for CAIRO_FT, overriding pkg-config - FONTCONFIG_CFLAGS - C compiler flags for FONTCONFIG, overriding pkg-config - FONTCONFIG_LIBS - linker flags for FONTCONFIG, overriding pkg-config + CHAFA_CFLAGS + C compiler flags for CHAFA, overriding pkg-config + CHAFA_LIBS linker flags for CHAFA, overriding pkg-config ICU_CFLAGS C compiler flags for ICU, overriding pkg-config ICU_LIBS linker flags for ICU, overriding pkg-config GRAPHITE2_CFLAGS @@ -1741,7 +1751,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HarfBuzz configure 2.6.7 +HarfBuzz configure 3.4.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2559,7 +2569,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HarfBuzz $as_me 2.6.7, which was +It was created by HarfBuzz $as_me 3.4.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3428,7 +3438,7 @@ fi # Define the identity of the package. PACKAGE='harfbuzz' - VERSION='2.6.7' + VERSION='3.4.0' # Some tools Automake needs. @@ -5328,8 +5338,8 @@ esac -macro_version='2.4.6.42-b88ce-dirty' -macro_revision='2.4.6.42' +macro_version='2.4.6' +macro_revision='2.4.6' @@ -6629,7 +6639,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -6991,29 +7001,13 @@ esac fi : ${AR=ar} +: ${AR_FLAGS=cr} -# Use ARFLAGS variable as AR's operation code to sync the variable naming with -# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have -# higher priority because thats what people were doing historically (setting -# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS -# variable obsoleted/removed. - -test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} -lt_ar_flags=$AR_FLAGS - - - - - - -# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override -# by AR_FLAGS because that was never working and AR_FLAGS is about to die. - @@ -7462,7 +7456,7 @@ for ac_symprfx in "" "_"; do if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -7508,11 +7502,8 @@ _LT_EOF test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -8731,8 +8722,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 - $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$AR cr libconftest.a conftest.o" >&5 + $AR cr libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -9394,8 +9385,8 @@ esac ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC and -# ICC, which need '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -9860,6 +9851,12 @@ lt_prog_compiler_static= lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -10322,20 +10319,23 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; esac ld_shlibs=yes @@ -10494,7 +10494,6 @@ _LT_EOF emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes - file_list_spec='@' ;; interix[3-9]*) @@ -10591,7 +10590,7 @@ _LT_EOF fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -10712,7 +10711,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -10979,12 +10978,12 @@ fi cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++ or Intel C++ Compiler. + # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl* | icl*) - # Native MSVC or ICC + cl*) + # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -11025,7 +11024,7 @@ fi fi' ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -11261,6 +11260,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -11282,7 +11282,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -11349,7 +11349,6 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; } emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes - file_list_spec='@' ;; osf3*) @@ -12057,8 +12056,8 @@ cygwin* | mingw* | pw32* | cegcc*) dynamic_linker='Win32 ld.exe' ;; - *,cl* | *,icl*) - # Native MSVC or ICC + *,cl*) + # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -12114,7 +12113,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -12398,6 +12397,18 @@ fi dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -13293,41 +13304,30 @@ striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -z "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -else - if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - else - case $host_os in - darwin*) - # FIXME - insert some real tests, host_os isn't really good enough +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - ;; - freebsd*) - if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then - old_striplib="$STRIP --strip-debug" - striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) + else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - ;; - esac - fi + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac fi @@ -15122,7 +15122,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -15418,8 +15418,8 @@ fi cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC + ,cl* | no,cl*) + # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' @@ -15549,7 +15549,6 @@ fi emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_CXX=yes - file_list_spec_CXX='@' ;; dgux*) @@ -15615,7 +15614,7 @@ fi # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -15680,7 +15679,7 @@ fi # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -16019,7 +16018,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -16103,7 +16102,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -16114,7 +16113,7 @@ fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -16627,7 +16626,7 @@ lt_prog_compiler_static_CXX= ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -16985,7 +16984,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -16993,7 +16992,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl* | icl*) + cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -17002,6 +17001,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -17355,8 +17357,8 @@ cygwin* | mingw* | pw32* | cegcc*) dynamic_linker='Win32 ld.exe' ;; - *,cl* | *,icl*) - # Native MSVC or ICC + *,cl*) + # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -17412,7 +17414,7 @@ cygwin* | mingw* | pw32* | cegcc*) ;; *) - # Assume MSVC and ICC wrapper + # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -17695,6 +17697,18 @@ fi dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -19033,7 +19047,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -19079,7 +19093,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -19103,7 +19117,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -19148,7 +19162,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -19172,7 +19186,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -19316,7 +19330,7 @@ fi fi if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.20 + _pkg_min_version=0.28 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then @@ -19340,10 +19354,10 @@ GIT=${GIT-"${am_missing_run}git"} -HB_VERSION_MAJOR=2 -HB_VERSION_MINOR=6 -HB_VERSION_MICRO=7 -HB_VERSION=2.6.7 +HB_VERSION_MAJOR=3 +HB_VERSION_MINOR=4 +HB_VERSION_MICRO=0 +HB_VERSION=3.4.0 @@ -19351,10 +19365,7 @@ HB_VERSION=2.6.7 # Libtool version - - - -HB_LIBTOOL_VERSION_INFO=20600:7:20600 +HB_LIBTOOL_VERSION_INFO=30400:0:30400 @@ -19753,7 +19764,7 @@ fi # Functions and headers -for ac_func in atexit mprotect sysconf getpagesize mmap isatty roundf +for ac_func in atexit mprotect sysconf getpagesize mmap isatty newlocale uselocale do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -19765,7 +19776,7 @@ _ACEOF fi done -for ac_header in unistd.h sys/mman.h stdbool.h +for ac_header in unistd.h sys/mman.h stdbool.h xlocale.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -21132,30 +21143,30 @@ fi -# Check whether --with-fontconfig was given. -if test "${with_fontconfig+set}" = set; then : - withval=$with_fontconfig; +# Check whether --with-chafa was given. +if test "${with_chafa+set}" = set; then : + withval=$with_chafa; else - with_fontconfig=auto + with_chafa=auto fi -have_fontconfig=false -if test "x$with_fontconfig" = "xyes" -o "x$with_fontconfig" = "xauto"; then +have_chafa=false +if test "x$with_chafa" = "xyes" -o "x$with_chafa" = "xauto"; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FONTCONFIG" >&5 -$as_echo_n "checking for FONTCONFIG... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHAFA" >&5 +$as_echo_n "checking for CHAFA... " >&6; } -if test -n "$FONTCONFIG_CFLAGS"; then - pkg_cv_FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS" +if test -n "$CHAFA_CFLAGS"; then + pkg_cv_CHAFA_CFLAGS="$CHAFA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig\""; } >&5 - ($PKG_CONFIG --exists --print-errors "fontconfig") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"chafa >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "chafa >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_FONTCONFIG_CFLAGS=`$PKG_CONFIG --cflags "fontconfig" 2>/dev/null` + pkg_cv_CHAFA_CFLAGS=`$PKG_CONFIG --cflags "chafa >= 1.6.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -21163,16 +21174,16 @@ fi else pkg_failed=untried fi -if test -n "$FONTCONFIG_LIBS"; then - pkg_cv_FONTCONFIG_LIBS="$FONTCONFIG_LIBS" +if test -n "$CHAFA_LIBS"; then + pkg_cv_CHAFA_LIBS="$CHAFA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig\""; } >&5 - ($PKG_CONFIG --exists --print-errors "fontconfig") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"chafa >= 1.6.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "chafa >= 1.6.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_FONTCONFIG_LIBS=`$PKG_CONFIG --libs "fontconfig" 2>/dev/null` + pkg_cv_CHAFA_LIBS=`$PKG_CONFIG --libs "chafa >= 1.6.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -21193,12 +21204,12 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "fontconfig" 2>&1` + CHAFA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "chafa >= 1.6.0" 2>&1` else - FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "fontconfig" 2>&1` + CHAFA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "chafa >= 1.6.0" 2>&1` fi # Put the nasty error message in config.log where it belongs - echo "$FONTCONFIG_PKG_ERRORS" >&5 + echo "$CHAFA_PKG_ERRORS" >&5 : elif test $pkg_failed = untried; then @@ -21206,27 +21217,27 @@ elif test $pkg_failed = untried; then $as_echo "no" >&6; } : else - FONTCONFIG_CFLAGS=$pkg_cv_FONTCONFIG_CFLAGS - FONTCONFIG_LIBS=$pkg_cv_FONTCONFIG_LIBS + CHAFA_CFLAGS=$pkg_cv_CHAFA_CFLAGS + CHAFA_LIBS=$pkg_cv_CHAFA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - have_fontconfig=true + have_chafa=true fi fi -if test "x$with_fontconfig" = "xyes" -a "x$have_fontconfig" != "xtrue"; then - as_fn_error $? "fontconfig support requested but not found" "$LINENO" 5 +if test "x$with_chafa" = "xyes" -a "x$have_chafa" != "xtrue"; then + as_fn_error $? "chafa support requested but not found" "$LINENO" 5 fi -if $have_fontconfig; then +if $have_chafa; then -$as_echo "#define HAVE_FONTCONFIG 1" >>confdefs.h +$as_echo "#define HAVE_CHAFA 1" >>confdefs.h fi - if $have_fontconfig; then - HAVE_FONTCONFIG_TRUE= - HAVE_FONTCONFIG_FALSE='#' + if $have_chafa; then + HAVE_CHAFA_TRUE= + HAVE_CHAFA_FALSE='#' else - HAVE_FONTCONFIG_TRUE='#' - HAVE_FONTCONFIG_FALSE= + HAVE_CHAFA_TRUE='#' + HAVE_CHAFA_FALSE= fi @@ -21312,118 +21323,6 @@ else $as_echo "yes" >&6; } have_icu=true fi - - if test "$have_icu" != "true"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}icu-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}icu-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ICU_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ICU_CONFIG"; then - ac_cv_prog_ICU_CONFIG="$ICU_CONFIG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ICU_CONFIG="${ac_tool_prefix}icu-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ICU_CONFIG=$ac_cv_prog_ICU_CONFIG -if test -n "$ICU_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ICU_CONFIG" >&5 -$as_echo "$ICU_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_ICU_CONFIG"; then - ac_ct_ICU_CONFIG=$ICU_CONFIG - # Extract the first word of "icu-config", so it can be a program name with args. -set dummy icu-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_ICU_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_ICU_CONFIG"; then - ac_cv_prog_ac_ct_ICU_CONFIG="$ac_ct_ICU_CONFIG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_ICU_CONFIG="icu-config" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_ICU_CONFIG=$ac_cv_prog_ac_ct_ICU_CONFIG -if test -n "$ac_ct_ICU_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_ICU_CONFIG" >&5 -$as_echo "$ac_ct_ICU_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_ICU_CONFIG" = x; then - ICU_CONFIG="no" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - ICU_CONFIG=$ac_ct_ICU_CONFIG - fi -else - ICU_CONFIG="$ac_cv_prog_ICU_CONFIG" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICU by using icu-config fallback" >&5 -$as_echo_n "checking for ICU by using icu-config fallback... " >&6; } - if test "$ICU_CONFIG" != "no" && "$ICU_CONFIG" --version >/dev/null; then - have_icu=true - # We don't use --cflags as this gives us a lot of things that we don't - # necessarily want, like debugging and optimization flags - # See man (1) icu-config for more info. - ICU_CFLAGS=`$ICU_CONFIG --cppflags` - ICU_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly` - - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - fi fi if test \( "x$with_icu" = "xyes" -o "x$with_icu" = "xbuiltin" \) -a "x$have_icu" != "xtrue"; then as_fn_error $? "icu support requested but icu-uc not found" "$LINENO" 5 @@ -21904,162 +21803,7 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Intel atomic primitives" >&5 -$as_echo_n "checking for Intel atomic primitives... " >&6; } -if ${hb_cv_have_intel_atomic_primitives+:} false; then : - $as_echo_n "(cached) " >&6 -else - - hb_cv_have_intel_atomic_primitives=false - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - void memory_barrier (void) { __sync_synchronize (); } - int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); } - int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); } - void mutex_unlock (int *m) { __sync_lock_release (m); } - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - hb_cv_have_intel_atomic_primitives=true - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hb_cv_have_intel_atomic_primitives" >&5 -$as_echo "$hb_cv_have_intel_atomic_primitives" >&6; } -if $hb_cv_have_intel_atomic_primitives; then - -$as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris atomic operations" >&5 -$as_echo_n "checking for Solaris atomic operations... " >&6; } -if ${hb_cv_have_solaris_atomic_ops+:} false; then : - $as_echo_n "(cached) " >&6 -else - - hb_cv_have_solaris_atomic_ops=false - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - /* This requires Solaris Studio 12.2 or newer: */ - #include - void memory_barrier (void) { __machine_rw_barrier (); } - int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); } - void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); } - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - hb_cv_have_solaris_atomic_ops=true - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hb_cv_have_solaris_atomic_ops" >&5 -$as_echo "$hb_cv_have_solaris_atomic_ops" >&6; } -if $hb_cv_have_solaris_atomic_ops; then - -$as_echo "#define HAVE_SOLARIS_ATOMIC_OPS 1" >>confdefs.h - -fi - -if test "$os_win32" = no && ! $have_pthread; then - for ac_header in sched.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sched.h" "ac_cv_header_sched_h" "$ac_includes_default" -if test "x$ac_cv_header_sched_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SCHED_H 1 -_ACEOF - -fi - -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5 -$as_echo_n "checking for library containing sched_yield... " >&6; } -if ${ac_cv_search_sched_yield+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sched_yield (); -int -main () -{ -return sched_yield (); - ; - return 0; -} -_ACEOF -for ac_lib in '' rt; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_sched_yield=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_sched_yield+:} false; then : - break -fi -done -if ${ac_cv_search_sched_yield+:} false; then : - -else - ac_cv_search_sched_yield=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sched_yield" >&5 -$as_echo "$ac_cv_search_sched_yield" >&6; } -ac_res=$ac_cv_search_sched_yield -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -$as_echo "#define HAVE_SCHED_YIELD 1" >>confdefs.h - -fi - -fi - - -ac_config_files="$ac_config_files Makefile src/Makefile src/harfbuzz-config.cmake util/Makefile test/Makefile test/api/Makefile test/fuzzing/Makefile test/shaping/Makefile test/shaping/data/Makefile test/shaping/data/aots/Makefile test/shaping/data/in-house/Makefile test/shaping/data/text-rendering-tests/Makefile test/subset/Makefile test/subset/data/Makefile docs/Makefile docs/version.xml" +ac_config_files="$ac_config_files Makefile src/Makefile src/harfbuzz-config.cmake util/Makefile test/Makefile test/api/Makefile test/fuzzing/Makefile test/shape/Makefile test/shape/data/Makefile test/shape/data/aots/Makefile test/shape/data/in-house/Makefile test/shape/data/text-rendering-tests/Makefile test/subset/Makefile test/subset/data/Makefile test/subset/data/repack_tests/Makefile docs/Makefile docs/version.xml" cat >confcache <<\_ACEOF @@ -22271,8 +22015,8 @@ if test -z "${HAVE_CAIRO_FT_TRUE}" && test -z "${HAVE_CAIRO_FT_FALSE}"; then as_fn_error $? "conditional \"HAVE_CAIRO_FT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${HAVE_FONTCONFIG_TRUE}" && test -z "${HAVE_FONTCONFIG_FALSE}"; then - as_fn_error $? "conditional \"HAVE_FONTCONFIG\" was never defined. +if test -z "${HAVE_CHAFA_TRUE}" && test -z "${HAVE_CHAFA_FALSE}"; then + as_fn_error $? "conditional \"HAVE_CHAFA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_ICU_TRUE}" && test -z "${HAVE_ICU_FALSE}"; then @@ -22704,7 +22448,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HarfBuzz $as_me 2.6.7, which was +This file was extended by HarfBuzz $as_me 3.4.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22771,7 +22515,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HarfBuzz config.status 2.6.7 +HarfBuzz config.status 3.4.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -22942,7 +22686,6 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -23125,6 +22868,7 @@ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ +AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -23291,13 +23035,14 @@ do "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/api/Makefile") CONFIG_FILES="$CONFIG_FILES test/api/Makefile" ;; "test/fuzzing/Makefile") CONFIG_FILES="$CONFIG_FILES test/fuzzing/Makefile" ;; - "test/shaping/Makefile") CONFIG_FILES="$CONFIG_FILES test/shaping/Makefile" ;; - "test/shaping/data/Makefile") CONFIG_FILES="$CONFIG_FILES test/shaping/data/Makefile" ;; - "test/shaping/data/aots/Makefile") CONFIG_FILES="$CONFIG_FILES test/shaping/data/aots/Makefile" ;; - "test/shaping/data/in-house/Makefile") CONFIG_FILES="$CONFIG_FILES test/shaping/data/in-house/Makefile" ;; - "test/shaping/data/text-rendering-tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/shaping/data/text-rendering-tests/Makefile" ;; + "test/shape/Makefile") CONFIG_FILES="$CONFIG_FILES test/shape/Makefile" ;; + "test/shape/data/Makefile") CONFIG_FILES="$CONFIG_FILES test/shape/data/Makefile" ;; + "test/shape/data/aots/Makefile") CONFIG_FILES="$CONFIG_FILES test/shape/data/aots/Makefile" ;; + "test/shape/data/in-house/Makefile") CONFIG_FILES="$CONFIG_FILES test/shape/data/in-house/Makefile" ;; + "test/shape/data/text-rendering-tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/shape/data/text-rendering-tests/Makefile" ;; "test/subset/Makefile") CONFIG_FILES="$CONFIG_FILES test/subset/Makefile" ;; "test/subset/data/Makefile") CONFIG_FILES="$CONFIG_FILES test/subset/data/Makefile" ;; + "test/subset/data/repack_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/subset/data/repack_tests/Makefile" ;; "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; "docs/version.xml") CONFIG_FILES="$CONFIG_FILES docs/version.xml" ;; @@ -23977,9 +23722,7 @@ $as_echo X/"$am_mf" | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the + for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } @@ -24149,11 +23892,8 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR -# Flags to create an archive (by configure). -lt_ar_flags=$lt_ar_flags - # Flags to create an archive. -AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} +AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -24749,6 +24489,20 @@ echo { $as_echo "$as_me:${as_lineno-$LINENO}: +Autotools is no longer our supported build system for building the library +for *nix distributions, please migrate to meson. + +" >&5 +$as_echo "$as_me: + +Autotools is no longer our supported build system for building the library +for *nix distributions, please migrate to meson. + +" >&6;} + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: + Build configuration: Unicode callbacks (you want at least one): @@ -24761,9 +24515,9 @@ Font callbacks (the more the merrier): Tools used for command-line utilities: Cairo: ${have_cairo} - Fontconfig: ${have_fontconfig} + Chafa: ${have_chafa} -Additional shapers (the more the merrier): +Additional shapers: Graphite2: ${have_graphite2} Platform shapers (not normally needed): @@ -24791,9 +24545,9 @@ Font callbacks (the more the merrier): Tools used for command-line utilities: Cairo: ${have_cairo} - Fontconfig: ${have_fontconfig} + Chafa: ${have_chafa} -Additional shapers (the more the merrier): +Additional shapers: Graphite2: ${have_graphite2} Platform shapers (not normally needed): diff --git a/configure.ac b/configure.ac index 3af266b..24048cf 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [2.6.7], + [3.4.0], [https://github.com/harfbuzz/harfbuzz/issues/new], [harfbuzz], [http://harfbuzz.org/]) @@ -25,7 +25,7 @@ AM_PROG_CC_C_O AC_PROG_CXX AX_CXX_COMPILE_STDCXX(11) AC_SYS_LARGEFILE -PKG_PROG_PKG_CONFIG([0.20]) +PKG_PROG_PKG_CONFIG([0.28]) AM_MISSING_PROG([RAGEL], [ragel]) AM_MISSING_PROG([GIT], [git]) @@ -46,16 +46,7 @@ AC_SUBST(HB_VERSION) # Libtool version m4_define([hb_version_int], m4_eval(hb_version_major*10000 + hb_version_minor*100 + hb_version_micro)) -m4_if(m4_eval(hb_version_minor % 2), [1], - dnl for unstable releases - [m4_define([hb_libtool_revision], 0)], - dnl for stable releases - [m4_define([hb_libtool_revision], hb_version_micro)]) -m4_define([hb_libtool_age], - m4_eval(hb_version_int - hb_libtool_revision)) -m4_define([hb_libtool_current], - m4_eval(hb_libtool_age)) -HB_LIBTOOL_VERSION_INFO=hb_libtool_current:hb_libtool_revision:hb_libtool_age +HB_LIBTOOL_VERSION_INFO=hb_version_int:0:hb_version_int AC_SUBST(HB_LIBTOOL_VERSION_INFO) AC_ARG_WITH([libstdc++], @@ -77,8 +68,8 @@ GTK_DOC_CHECK([1.15],[--flavour no-tmpl]) ]) # Functions and headers -AC_CHECK_FUNCS(atexit mprotect sysconf getpagesize mmap isatty roundf) -AC_CHECK_HEADERS(unistd.h sys/mman.h stdbool.h) +AC_CHECK_FUNCS(atexit mprotect sysconf getpagesize mmap isatty newlocale uselocale) +AC_CHECK_HEADERS(unistd.h sys/mman.h stdbool.h xlocale.h) # Compiler flags AC_CANONICAL_HOST @@ -223,21 +214,21 @@ AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft) dnl ========================================================================== -AC_ARG_WITH(fontconfig, - [AS_HELP_STRING([--with-fontconfig=@<:@yes/no/auto@:>@], - [Use fontconfig @<:@default=auto@:>@])],, - [with_fontconfig=auto]) -have_fontconfig=false -if test "x$with_fontconfig" = "xyes" -o "x$with_fontconfig" = "xauto"; then - PKG_CHECK_MODULES(FONTCONFIG, fontconfig, have_fontconfig=true, :) +AC_ARG_WITH(chafa, + [AS_HELP_STRING([--with-chafa=@<:@yes/no/auto@:>@], + [Use chafa @<:@default=auto@:>@])],, + [with_chafa=auto]) +have_chafa=false +if test "x$with_chafa" = "xyes" -o "x$with_chafa" = "xauto"; then + PKG_CHECK_MODULES(CHAFA, chafa >= 1.6.0, have_chafa=true, :) fi -if test "x$with_fontconfig" = "xyes" -a "x$have_fontconfig" != "xtrue"; then - AC_MSG_ERROR([fontconfig support requested but not found]) +if test "x$with_chafa" = "xyes" -a "x$have_chafa" != "xtrue"; then + AC_MSG_ERROR([chafa support requested but not found]) fi -if $have_fontconfig; then - AC_DEFINE(HAVE_FONTCONFIG, 1, [Have fontconfig library]) +if $have_chafa; then + AC_DEFINE(HAVE_CHAFA, 1, [Have chafa terminal graphics library]) fi -AM_CONDITIONAL(HAVE_FONTCONFIG, $have_fontconfig) +AM_CONDITIONAL(HAVE_CHAFA, $have_chafa) dnl ========================================================================== @@ -248,25 +239,6 @@ AC_ARG_WITH(icu, have_icu=false if test "x$with_icu" = "xyes" -o "x$with_icu" = "xbuiltin" -o "x$with_icu" = "xauto"; then PKG_CHECK_MODULES(ICU, icu-uc, have_icu=true, :) - - dnl Fallback to icu-config if ICU pkg-config files could not be found - if test "$have_icu" != "true"; then - AC_CHECK_TOOL(ICU_CONFIG, icu-config, no) - AC_MSG_CHECKING([for ICU by using icu-config fallback]) - if test "$ICU_CONFIG" != "no" && "$ICU_CONFIG" --version >/dev/null; then - have_icu=true - # We don't use --cflags as this gives us a lot of things that we don't - # necessarily want, like debugging and optimization flags - # See man (1) icu-config for more info. - ICU_CFLAGS=`$ICU_CONFIG --cppflags` - ICU_LIBS=`$ICU_CONFIG --ldflags-searchpath --ldflags-libsonly` - AC_SUBST(ICU_CFLAGS) - AC_SUBST(ICU_LIBS) - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - fi fi if test \( "x$with_icu" = "xyes" -o "x$with_icu" = "xbuiltin" \) -a "x$have_icu" != "xtrue"; then AC_MSG_ERROR([icu support requested but icu-uc not found]) @@ -445,45 +417,6 @@ AM_CONDITIONAL(HAVE_CORETEXT, $have_coretext) dnl =========================================================================== -AC_CACHE_CHECK([for Intel atomic primitives], hb_cv_have_intel_atomic_primitives, [ - hb_cv_have_intel_atomic_primitives=false - AC_TRY_LINK([ - void memory_barrier (void) { __sync_synchronize (); } - int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); } - int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); } - void mutex_unlock (int *m) { __sync_lock_release (m); } - ], [], hb_cv_have_intel_atomic_primitives=true - ) -]) -if $hb_cv_have_intel_atomic_primitives; then - AC_DEFINE(HAVE_INTEL_ATOMIC_PRIMITIVES, 1, [Have Intel __sync_* atomic primitives]) -fi - -dnl =========================================================================== - -AC_CACHE_CHECK([for Solaris atomic operations], hb_cv_have_solaris_atomic_ops, [ - hb_cv_have_solaris_atomic_ops=false - AC_TRY_LINK([ - #include - /* This requires Solaris Studio 12.2 or newer: */ - #include - void memory_barrier (void) { __machine_rw_barrier (); } - int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); } - void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); } - ], [], hb_cv_have_solaris_atomic_ops=true - ) -]) -if $hb_cv_have_solaris_atomic_ops; then - AC_DEFINE(HAVE_SOLARIS_ATOMIC_OPS, 1, [Have Solaris __machine_*_barrier and atomic_* operations]) -fi - -if test "$os_win32" = no && ! $have_pthread; then - AC_CHECK_HEADERS(sched.h) - AC_SEARCH_LIBS(sched_yield,rt,AC_DEFINE(HAVE_SCHED_YIELD, 1, [Have sched_yield])) -fi - -dnl =========================================================================== - AC_CONFIG_FILES([ Makefile src/Makefile @@ -492,13 +425,14 @@ util/Makefile test/Makefile test/api/Makefile test/fuzzing/Makefile -test/shaping/Makefile -test/shaping/data/Makefile -test/shaping/data/aots/Makefile -test/shaping/data/in-house/Makefile -test/shaping/data/text-rendering-tests/Makefile +test/shape/Makefile +test/shape/data/Makefile +test/shape/data/aots/Makefile +test/shape/data/in-house/Makefile +test/shape/data/text-rendering-tests/Makefile test/subset/Makefile test/subset/data/Makefile +test/subset/data/repack_tests/Makefile docs/Makefile docs/version.xml ]) @@ -512,6 +446,14 @@ echo AC_MSG_NOTICE([ +Autotools is no longer our supported build system for building the library +for *nix distributions, please migrate to meson. + +]) + + +AC_MSG_NOTICE([ + Build configuration: Unicode callbacks (you want at least one): @@ -524,9 +466,9 @@ Font callbacks (the more the merrier): Tools used for command-line utilities: Cairo: ${have_cairo} - Fontconfig: ${have_fontconfig} + Chafa: ${have_chafa} -Additional shapers (the more the merrier): +Additional shapers: Graphite2: ${have_graphite2} Platform shapers (not normally needed): diff --git a/depcomp b/depcomp index 6b39162..65cbf70 100755 --- a/depcomp +++ b/depcomp @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/docs/HarfBuzz.png b/docs/HarfBuzz.png index 44a9b66..c9d2e7b 100644 Binary files a/docs/HarfBuzz.png and b/docs/HarfBuzz.png differ diff --git a/docs/Makefile.am b/docs/Makefile.am index 987feb5..36da8ae 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -29,15 +29,12 @@ SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS=--rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ - --ignore-decorators="HB_EXTERN" + --ignore-decorators='HB_EXTERN|HB_DEPRECATED' # Header files or dirs to ignore when scanning. Use base file/dir names # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code IGNORE_HFILES=`cd $(top_srcdir)/src; find . -path './*/*.h' | sed 's@^.*/@@'` -if HAVE_GOBJECT -else IGNORE_HFILES+=hb-gobject.h hb-gobject-enums.h hb-gobject-structs.h -endif # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml @@ -86,7 +83,7 @@ content_files= \ usermanual-integration.xml \ version.xml -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded +# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files= diff --git a/docs/Makefile.in b/docs/Makefile.in index 2df1092..8e0aeb2 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -113,8 +113,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@HAVE_GOBJECT_FALSE@am__append_1 = hb-gobject.h hb-gobject-enums.h hb-gobject-structs.h -@HAVE_GOBJECT_TRUE@am__append_2 = $(top_builddir)/src/libharfbuzz-gobject.la +@HAVE_GOBJECT_TRUE@am__append_1 = $(top_builddir)/src/libharfbuzz-gobject.la subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ @@ -169,6 +168,8 @@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CHAFA_CFLAGS = @CHAFA_CFLAGS@ +CHAFA_LIBS = @CHAFA_LIBS@ CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ @@ -197,8 +198,6 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_DEPS = @FREETYPE_DEPS@ FREETYPE_LIBS = @FREETYPE_LIBS@ @@ -231,7 +230,6 @@ HB_VERSION_MICRO = @HB_VERSION_MICRO@ HB_VERSION_MINOR = @HB_VERSION_MINOR@ HTML_DIR = @HTML_DIR@ ICU_CFLAGS = @ICU_CFLAGS@ -ICU_CONFIG = @ICU_CONFIG@ ICU_LIBS = @ICU_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ @@ -337,6 +335,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -375,13 +374,14 @@ SCANGOBJ_OPTIONS = # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS = --rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ - --ignore-decorators="HB_EXTERN" + --ignore-decorators='HB_EXTERN|HB_DEPRECATED' # Header files or dirs to ignore when scanning. Use base file/dir names # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code IGNORE_HFILES = `cd $(top_srcdir)/src; find . -path './*/*.h' | sed \ - 's@^.*/@@'` $(am__append_1) + 's@^.*/@@'` hb-gobject.h hb-gobject-enums.h \ + hb-gobject-structs.h # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml @@ -432,7 +432,7 @@ content_files = \ version.xml -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded +# SGML files where gtk-doc abbreviations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files = @@ -443,7 +443,7 @@ expand_content_files = # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) GTKDOC_CFLAGS = -GTKDOC_LIBS = $(top_builddir)/src/libharfbuzz.la $(am__append_2) +GTKDOC_LIBS = $(top_builddir)/src/libharfbuzz.la $(am__append_1) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml index 96965f4..d81b9fd 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -11,8 +11,7 @@ HarfBuzz - HarfBuzz is an OpenType - text shaping engine. Using the HarfBuzz library allows + HarfBuzz is a text shaping library. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language. @@ -27,7 +26,7 @@ - + User's manual @@ -42,7 +41,7 @@ - + This document is for HarfBuzz &version;. @@ -51,39 +50,8 @@ - - - The current HarfBuzz codebase is versioned 2.x.x and is stable - and under active maintenance. This is what is used in latest - versions of Firefox, GNOME, ChromeOS, Chrome, LibreOffice, - XeTeX, Android, and KDE, among other places. - - - Prior to 2012, the original HarfBuzz codebase (which, these - days, is referred to as harfbuzz-old) was - derived from code in FreeType, Pango, and - Qt. - It is not actively developed or - maintained, and is extremely buggy. All users of harfbuzz-old - are encouraged to switch over to the new HarfBuzz as soon as possible. - - - To make this distinction clearer in discussions, the current - HarfBuzz codebase is sometimes referred to as - harfbuzz-ng. - - - For reference purposes, the harfbuzz-old source tree is archived - here. There - are no release tarballs of harfbuzz-old whatsoever. - - - Reference manual - + Core API @@ -99,33 +67,47 @@ - + OpenType API + + - + Apple Advanced Typography API - + Integration API - + + + + Style API + + + + + Subset API + + + +