summaryrefslogtreecommitdiff
path: root/Build/source/libs/graphite2
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2013-06-24 06:35:07 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2013-06-24 06:35:07 +0000
commit9e3277dfd74422d9d3867b15f0bc0909983a743b (patch)
tree15b27dfb8daabd4353d5971103946f40a7e730c5 /Build/source/libs/graphite2
parentb1a9fe4719d244757371219a124e1d4161c4c600 (diff)
graphite2 1.2.3
git-svn-id: svn://tug.org/texlive/trunk@30877 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/graphite2')
-rw-r--r--Build/source/libs/graphite2/ChangeLog10
-rw-r--r--Build/source/libs/graphite2/Makefile.in87
-rw-r--r--Build/source/libs/graphite2/aclocal.m4286
-rwxr-xr-xBuild/source/libs/graphite2/configure192
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-01-case-sensitive14
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-02-solaris-variables19
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.1/.hg_archival.txt4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.1/Todo.txt9
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/ChangeLog (renamed from Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/ChangeLog)13
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/TL-Changes (renamed from Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/.hg_archival.txt5
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/.hgeol (renamed from Build/source/libs/graphite2/graphite2-1.2.1/.hgeol)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/.hgignore (renamed from Build/source/libs/graphite2/graphite2-1.2.1/.hgignore)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/.hgtags (renamed from Build/source/libs/graphite2/graphite2-1.2.1/.hgtags)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/CMakeLists.txt (renamed from Build/source/libs/graphite2/graphite2-1.2.1/CMakeLists.txt)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/COPYING (renamed from Build/source/libs/graphite2/graphite2-1.2.1/COPYING)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/ChangeLog (renamed from Build/source/libs/graphite2/graphite2-1.2.1/ChangeLog)18
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/Graphite.cmake (renamed from Build/source/libs/graphite2/graphite2-1.2.1/Graphite.cmake)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/LICENSE (renamed from Build/source/libs/graphite2/graphite2-1.2.1/LICENSE)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/Todo.txt6
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/graphite2.pc.in (renamed from Build/source/libs/graphite2/graphite2-1.2.1/graphite2.pc.in)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Font.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Font.h)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Log.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Log.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Segment.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Segment.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Types.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Types.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Bidi.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Bidi.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/CMakeLists.txt (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/CMakeLists.txt)3
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/CachedFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/CachedFace.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/CmapCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/CmapCache.cpp)3
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Code.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Code.cpp)13
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Face.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Face.cpp)9
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/FeatureMap.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/FeatureMap.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/FileFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/FileFace.cpp)4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Font.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Font.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphCache.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphFace.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Justifier.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Justifier.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/NameTable.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/NameTable.cpp)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Pass.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Pass.cpp)115
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Rule.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Rule.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/SegCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/SegCache.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheEntry.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheEntry.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheStore.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheStore.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Segment.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Segment.cpp)5
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Silf.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Silf.cpp)6
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Slot.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Slot.cpp)15
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/Sparse.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/Sparse.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/TtfUtil.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/TtfUtil.cpp)8
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/UtfCodec.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/UtfCodec.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/call_machine.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/call_machine.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/direct_machine.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/direct_machine.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/files.mk (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/files.mk)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_char_info.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_char_info.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_face.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_face.cpp)3
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_features.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_features.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_font.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_font.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_logging.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_logging.cpp)42
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_segment.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_segment.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/gr_slot.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/gr_slot.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CachedFace.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CachedFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CharInfo.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CharInfo.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CmapCache.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CmapCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Code.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Code.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Endian.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Endian.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Face.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Face.h)5
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureMap.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureMap.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureVal.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureVal.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FileFace.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FileFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Font.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Font.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphCache.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphFace.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/List.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/List.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Machine.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Machine.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Main.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Main.h)44
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/NameTable.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/NameTable.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Pass.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Pass.h)15
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Position.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Position.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Rule.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Rule.h)38
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCache.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheEntry.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheEntry.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheStore.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheStore.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Segment.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Segment.h)5
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Silf.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Silf.h)3
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Slot.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Slot.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Sparse.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Sparse.h)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfTypes.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfTypes.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfUtil.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfUtil.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/UtfCodec.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/UtfCodec.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/bits.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/bits.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/debug.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/debug.h)3
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/json.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/json.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/locale2lcid.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/locale2lcid.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcode_table.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcode_table.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcodes.h (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcodes.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.2.3/src/json.cpp (renamed from Build/source/libs/graphite2/graphite2-1.2.1/src/json.cpp)0
-rw-r--r--Build/source/libs/graphite2/include/graphite2/Makefile.in60
-rw-r--r--Build/source/libs/graphite2/version.ac2
97 files changed, 787 insertions, 288 deletions
diff --git a/Build/source/libs/graphite2/ChangeLog b/Build/source/libs/graphite2/ChangeLog
index 35edee406b5..778d3daa613 100644
--- a/Build/source/libs/graphite2/ChangeLog
+++ b/Build/source/libs/graphite2/ChangeLog
@@ -1,3 +1,13 @@
+2013-06-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import graphite2-1.2.3.
+ * version.ac: Adjust.
+
+2013-06-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import graphite2-1.2.2.
+ * version.ac: Adjust.
+
2012-12-04 Peter Breitenlohner <peb@mppmu.mpg.de>
Import graphite2-1.2.1.
diff --git a/Build/source/libs/graphite2/Makefile.in b/Build/source/libs/graphite2/Makefile.in
index 1c128790fa1..258bc784001 100644
--- a/Build/source/libs/graphite2/Makefile.in
+++ b/Build/source/libs/graphite2/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.1 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,23 +15,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
esac; \
- test $$am__dry = yes; \
- }
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -66,11 +94,12 @@ subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/config.h.in $(top_srcdir)/../../build-aux/depcomp \
- ChangeLog ../../build-aux/config.guess \
+ ChangeLog ../../build-aux/compile ../../build-aux/config.guess \
../../build-aux/config.sub ../../build-aux/depcomp \
../../build-aux/install-sh ../../build-aux/missing \
../../build-aux/texinfo.tex ../../build-aux/ylwrap \
../../build-aux/ltmain.sh \
+ $(top_srcdir)/../../build-aux/compile \
$(top_srcdir)/../../build-aux/config.guess \
$(top_srcdir)/../../build-aux/config.sub \
$(top_srcdir)/../../build-aux/install-sh \
@@ -583,8 +612,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -704,6 +733,7 @@ clean-noinstLIBRARIES:
@GRAPHITE2_TREE@/src/json.$(OBJEXT): \
@GRAPHITE2_TREE@/src/$(am__dirstamp) \
@GRAPHITE2_TREE@/src/$(DEPDIR)/$(am__dirstamp)
+
libgraphite2.a: $(libgraphite2_a_OBJECTS) $(libgraphite2_a_DEPENDENCIES) $(EXTRA_libgraphite2_a_DEPENDENCIES)
$(AM_V_at)-rm -f libgraphite2.a
$(AM_V_AR)$(libgraphite2_a_AR) libgraphite2.a $(libgraphite2_a_OBJECTS) $(libgraphite2_a_LIBADD)
@@ -790,13 +820,12 @@ distclean-libtool:
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
@@ -974,10 +1003,16 @@ dist-xz: distdir
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
diff --git a/Build/source/libs/graphite2/aclocal.m4 b/Build/source/libs/graphite2/aclocal.m4
index 323906d6ba1..1c6df836e26 100644
--- a/Build/source/libs/graphite2/aclocal.m4
+++ b/Build/source/libs/graphite2/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.13.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.14 -*- Autoconf -*-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
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.13.1], [],
+m4_if([$1], [1.14], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,7 +51,7 @@ 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.13.1])dnl
+[AM_AUTOMAKE_VERSION([1.14])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -373,7 +373,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
@@ -418,6 +418,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -526,7 +532,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -534,7 +581,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -752,6 +798,70 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -961,76 +1071,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
diff --git a/Build/source/libs/graphite2/configure b/Build/source/libs/graphite2/configure
index bfcefac07d2..44065b85665 100755
--- a/Build/source/libs/graphite2/configure
+++ b/Build/source/libs/graphite2/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for graphite2 for TeX Live 1.2.1.
+# Generated by GNU Autoconf 2.69 for graphite2 for TeX Live 1.2.3.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,12 +590,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='graphite2 for TeX Live'
PACKAGE_TARNAME='graphite2-for-tex-live'
-PACKAGE_VERSION='1.2.1'
-PACKAGE_STRING='graphite2 for TeX Live 1.2.1'
+PACKAGE_VERSION='1.2.3'
+PACKAGE_STRING='graphite2 for TeX Live 1.2.3'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="graphite2-1.2.1/graphite2.pc.in"
+ac_unique_file="graphite2-1.2.3/graphite2.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1339,7 +1339,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 graphite2 for TeX Live 1.2.1 to adapt to many kinds of systems.
+\`configure' configures graphite2 for TeX Live 1.2.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1410,7 +1410,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of graphite2 for TeX Live 1.2.1:";;
+ short | recursive ) echo "Configuration of graphite2 for TeX Live 1.2.3:";;
esac
cat <<\_ACEOF
@@ -1524,7 +1524,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-graphite2 for TeX Live configure 1.2.1
+graphite2 for TeX Live configure 1.2.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1923,7 +1923,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 graphite2 for TeX Live $as_me 1.2.1, which was
+It was created by graphite2 for TeX Live $as_me 1.2.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2304,7 +2304,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-am__api_version='1.13'
+am__api_version='1.14'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -3620,6 +3620,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -3787,7 +3846,7 @@ fi
# Define the identity of the package.
PACKAGE='graphite2-for-tex-live'
- VERSION='1.2.1'
+ VERSION='1.2.3'
cat >>confdefs.h <<_ACEOF
@@ -3827,6 +3886,10 @@ mkdir_p='$(MKDIR_P)'
# in the wild :-( We should find a proper way to deprecate it ...
AMTAR='$${TAR-tar}'
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
@@ -3834,6 +3897,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
@@ -4480,6 +4585,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -15983,7 +16147,7 @@ $as_echo "#define GRAPHITE2_NTRACING 1" >>confdefs.h
fi
-GRAPHITE2_TREE=graphite2-1.2.1
+GRAPHITE2_TREE=graphite2-1.2.3
ac_config_files="$ac_config_files Makefile include/graphite2/Makefile"
@@ -16551,7 +16715,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 graphite2 for TeX Live $as_me 1.2.1, which was
+This file was extended by graphite2 for TeX Live $as_me 1.2.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16617,7 +16781,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="\\
-graphite2 for TeX Live config.status 1.2.1
+graphite2 for TeX Live config.status 1.2.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -17773,7 +17937,7 @@ $as_echo X"$mf" |
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-01-case-sensitive b/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-01-case-sensitive
deleted file mode 100644
index 8aa3e1af313..00000000000
--- a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-01-case-sensitive
+++ /dev/null
@@ -1,14 +0,0 @@
- Required for case-sensitive filesystems.
-
-diff -ur graphite2-1.2.1.orig/src/gr_logging.cpp graphite2-1.2.1/src/gr_logging.cpp
---- graphite2-1.2.1.orig/src/gr_logging.cpp 2013-02-27 20:32:04.000000000 +0100
-+++ graphite2-1.2.1/src/gr_logging.cpp 2013-03-07 15:26:32.000000000 +0100
-@@ -33,7 +33,7 @@
- #include "inc/Segment.h"
-
- #if defined _WIN32
--#include "Windows.h"
-+#include "windows.h"
- #endif
-
- using namespace graphite2;
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-02-solaris-variables b/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-02-solaris-variables
deleted file mode 100644
index a6fb5d20b3d..00000000000
--- a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-02-solaris-variables
+++ /dev/null
@@ -1,19 +0,0 @@
- Upstream patch: Workaround for a bug of compiler on Solaris
- using ES and CS variables in <regset.h>
-
-diff -ur graphite2-1.2.1.orig/src/Bidi.cpp graphite2-1.2.1/src/Bidi.cpp
---- graphite2-1.2.1.orig/src/Bidi.cpp 2013-02-27 20:32:04.000000000 +0100
-+++ graphite2-1.2.1/src/Bidi.cpp 2013-03-27 14:26:53.000000000 +0100
-@@ -37,10 +37,10 @@
- R = 2, // right-to-left, strong - R
- AL = 3, // Arabic letter, right-to-left, strong, AR
- EN = 4, // European number, left-to-right, weak - EN
-- ES = 5, // European separator, left-to-right, weak - ES
-+ EUS = 5, // European separator, left-to-right, weak - ES
- ET = 6, // European number terminator, left-to-right, weak - ET
- AN = 7, // Arabic number, left-to-right, weak - AN
-- CS = 8, // Common number separator, left-to-right, weak - CS
-+ CUS = 8, // Common number separator, left-to-right, weak - CS
- WS = 9, // white space, neutral - WS
- BN = 10, // boundary neutral - BN
-
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/.hg_archival.txt b/Build/source/libs/graphite2/graphite2-1.2.1/.hg_archival.txt
deleted file mode 100644
index 039e20ac0da..00000000000
--- a/Build/source/libs/graphite2/graphite2-1.2.1/.hg_archival.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-repo: 999e2033695c3bcf2f65d611737ac9008805bd58
-node: 9ca2c8c1469f6107cd366e4be2035ce0dfa09b65
-branch: default
-tag: 1.2.1
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/Todo.txt b/Build/source/libs/graphite2/graphite2-1.2.1/Todo.txt
deleted file mode 100644
index 52f7509f87a..00000000000
--- a/Build/source/libs/graphite2/graphite2-1.2.1/Todo.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Changes to make to the API when we are forced to change it:
-
-* add font table deletion function ptr so that the app doesn't have to
- manage a collection of font tables
-
-Other stuff we should do
-
-* Change logging generation id to be a magic extra user attribute. This allows for use within justification logging. Also add [ ] around the whoe log to bring the fragments together.
-
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/ChangeLog b/Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/ChangeLog
index 98c15161fa9..e1374b4e172 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/ChangeLog
+++ b/Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/ChangeLog
@@ -1,3 +1,16 @@
+2013-06-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported graphite2-1.2.2 source tree from:
+ http://sourceforge.net/projects/silgraphite/files/graphite2/
+
+2013-06-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported graphite2-1.2.2 source tree from:
+ http://sourceforge.net/projects/silgraphite/files/graphite2/
+
+ * patch-01-case-sensitive (removed): Applied upstream.
+ * patch-02-attribute-hot (removed): ditto.
+
2013-03-27 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-02-solaris-variables (new): Upstream patch to not clash
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/TL-Changes b/Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/TL-Changes
index e1c90c4155c..a8f992013b8 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/TL-Changes
+++ b/Build/source/libs/graphite2/graphite2-1.2.3-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the graphite2-1.2.1/ tree as obtained from:
+Changes applied to the graphite2-1.2.3/ tree as obtained from:
http://sourceforge.net/projects/silgraphite/files/graphite2/
Removed unused dirs:
diff --git a/Build/source/libs/graphite2/graphite2-1.2.3/.hg_archival.txt b/Build/source/libs/graphite2/graphite2-1.2.3/.hg_archival.txt
new file mode 100644
index 00000000000..6420ed884d4
--- /dev/null
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/.hg_archival.txt
@@ -0,0 +1,5 @@
+repo: 999e2033695c3bcf2f65d611737ac9008805bd58
+node: 4605b74e26f3a119753b700524c49b98e7e45639
+branch: default
+latesttag: 1.2.2
+latesttagdistance: 8
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/.hgeol b/Build/source/libs/graphite2/graphite2-1.2.3/.hgeol
index 5eb1fc19d0f..5eb1fc19d0f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/.hgeol
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/.hgeol
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/.hgignore b/Build/source/libs/graphite2/graphite2-1.2.3/.hgignore
index 5934da4b3c8..5934da4b3c8 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/.hgignore
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/.hgignore
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/.hgtags b/Build/source/libs/graphite2/graphite2-1.2.3/.hgtags
index 164d8ba9a73..97a863999a4 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/.hgtags
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/.hgtags
@@ -25,3 +25,5 @@ e095cd8b635aa985c8054717761555b6d46dbdb6 1.1.1
1ffaabe61f501b7a0b9217f4b82f21ac6a7af212 1.1.2
d8c8ce7898a9e73a9cb11c25b9ff6a198fdf8d80 1.1.3
fb4b0c347a953f6aa656a4e414f8e42e91c00c2b 1.2.0
+9ca2c8c1469f6107cd366e4be2035ce0dfa09b65 1.2.1
+7b0a153b4873117ff726ac8c780f7bd994845285 1.2.2
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/CMakeLists.txt b/Build/source/libs/graphite2/graphite2-1.2.3/CMakeLists.txt
index c142371f063..2bc3e0d55fe 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/CMakeLists.txt
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/CMakeLists.txt
@@ -26,6 +26,7 @@ set(GRAPHITE2_VM_TYPE auto CACHE STRING "Choose the type of vm machine: Auto, Di
option(GRAPHITE2_NSEGCACHE "Compile out the gr_*_with_seg_cache APIs")
option(GRAPHITE2_NFILEFACE "Compile out the gr_make_file_face* APIs")
option(GRAPHITE2_NTRACING "Compile out log segment tracing capability")
+option(GRAPHITE2_TELEMETRY "Add memory usage telemetry")
message(STATUS "Build: " ${CMAKE_BUILD_TYPE})
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/COPYING b/Build/source/libs/graphite2/graphite2-1.2.3/COPYING
index d40f2d84587..d40f2d84587 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/COPYING
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/COPYING
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/ChangeLog b/Build/source/libs/graphite2/graphite2-1.2.3/ChangeLog
index f6cd4b369f0..1ba1b18ce4c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/ChangeLog
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/ChangeLog
@@ -1,3 +1,21 @@
+1.2.3
+ . Bug fixes only:
+ . fix byte swapping when testing cmap subtable lengths
+ . work around armel compilation problems with conditional operators
+ . fix pseudoglyph support for advance and bbox
+
+1.2.2
+ . Add support for passKeySlot (makes Charis 2x faster) up to 32 passes
+ . Add telemetry output to json if enabled in build GRAPHITE2_TELEMETRY
+ . Shrink font memory footprint particularly in the fsm
+ . Add -S to comparerenderer
+ . Bug fixes:
+ . Fix shift.x being reversed for rtl text
+ . Fix faulty fallback justification
+ . Fix bad cmap handling
+ . Support compiling on old Solaris where bidi attributes clash with register names
+ . Follow the crowd in using Windows.h
+
1.2.1
. Bug fixes:
. Allow glyph reattachment
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/Graphite.cmake b/Build/source/libs/graphite2/graphite2-1.2.3/Graphite.cmake
index 54f765aded7..54f765aded7 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/Graphite.cmake
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/Graphite.cmake
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/LICENSE b/Build/source/libs/graphite2/graphite2-1.2.3/LICENSE
index 2d2d780e601..2d2d780e601 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/LICENSE
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/LICENSE
diff --git a/Build/source/libs/graphite2/graphite2-1.2.3/Todo.txt b/Build/source/libs/graphite2/graphite2-1.2.3/Todo.txt
new file mode 100644
index 00000000000..93569ddb8a1
--- /dev/null
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/Todo.txt
@@ -0,0 +1,6 @@
+Expected changes to come:
+
+* Handle new isolated direction overrides in bidi.
+* Handle type 14 tables for variation selectors, not that anyone is using them yet.
+* Handle fonts with not glyf/loca table (e.g. cff & svg-ttf). bbox is 0,0,0,0
+
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/graphite2.pc.in b/Build/source/libs/graphite2/graphite2-1.2.3/graphite2.pc.in
index a4f19b39ce4..a4f19b39ce4 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/graphite2.pc.in
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/graphite2.pc.in
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Font.h b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Font.h
index 7fc3e6ee8b7..85ee73d9126 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Font.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Font.h
@@ -30,7 +30,7 @@
#define GR2_VERSION_MAJOR 1
#define GR2_VERSION_MINOR 2
-#define GR2_VERSION_BUGFIX 1
+#define GR2_VERSION_BUGFIX 3
#ifdef __cplusplus
extern "C"
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Log.h b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Log.h
index d1c6f0fe36f..d1c6f0fe36f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Log.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Log.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Segment.h b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Segment.h
index 580f83763f9..580f83763f9 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Segment.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Segment.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Types.h b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Types.h
index 268bee7a975..268bee7a975 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/include/graphite2/Types.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/include/graphite2/Types.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Bidi.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Bidi.cpp
index c97eeb1738d..c97eeb1738d 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Bidi.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Bidi.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/CMakeLists.txt b/Build/source/libs/graphite2/graphite2-1.2.3/src/CMakeLists.txt
index ef0f8a7b6dd..f76cbed114c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/CMakeLists.txt
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/CMakeLists.txt
@@ -52,6 +52,9 @@ if (GRAPHITE2_NTRACING)
set(TRACING)
endif (GRAPHITE2_NTRACING)
+if (GRAPHITE2_TELEMETRY)
+ add_definitions(-DGRAPHITE2_TELEMETRY)
+endif (GRAPHITE2_TELEMETRY)
set(GRAPHITE_HEADERS
../include/graphite2/Font.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/CachedFace.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/CachedFace.cpp
index 3642768854b..3642768854b 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/CachedFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/CachedFace.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/CmapCache.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/CmapCache.cpp
index c5e4be0366f..f388df9d289 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/CmapCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/CmapCache.cpp
@@ -37,6 +37,7 @@ using namespace graphite2;
const void * bmp_subtable(const Face::Table & cmap)
{
const void * stbl;
+ if (!cmap.size()) return 0;
if (TtfUtil::CheckCmapSubtable4(stbl = TtfUtil::FindCmapSubtable(cmap, 3, 1, cmap.size()))
|| TtfUtil::CheckCmapSubtable4(stbl = TtfUtil::FindCmapSubtable(cmap, 0, 3, cmap.size()))
|| TtfUtil::CheckCmapSubtable4(stbl = TtfUtil::FindCmapSubtable(cmap, 0, 2, cmap.size()))
@@ -49,6 +50,7 @@ const void * bmp_subtable(const Face::Table & cmap)
const void * smp_subtable(const Face::Table & cmap)
{
const void * stbl;
+ if (!cmap.size()) return 0;
if (TtfUtil::CheckCmapSubtable12(stbl = TtfUtil::FindCmapSubtable(cmap, 3, 10, cmap.size()))
|| TtfUtil::CheckCmapSubtable12(stbl = TtfUtil::FindCmapSubtable(cmap, 0, 4, cmap.size())))
return stbl;
@@ -109,6 +111,7 @@ CachedCmap::CachedCmap(const Face & face)
CachedCmap::~CachedCmap() throw()
{
+ if (!m_blocks) return;
unsigned int numBlocks = (m_isBmpOnly)? 0x100 : 0x1100;
for (unsigned int i = 0; i < numBlocks; i++)
free(m_blocks[i]);
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Code.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Code.cpp
index 01f9d511e95..3c6be746f91 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Code.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Code.cpp
@@ -144,6 +144,9 @@ Machine::Code::Code(bool is_constraint, const byte * bytecode_begin, const byte
: _code(0), _data(0), _data_size(0), _instr_count(0), _max_ref(0), _status(loaded),
_constraint(is_constraint), _modify(false), _delete(false), _own(true)
{
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _code_cat(face.tele.code);
+#endif
assert(bytecode_begin != 0);
if (bytecode_begin == bytecode_end)
{
@@ -210,12 +213,16 @@ Machine::Code::Code(bool is_constraint, const byte * bytecode_begin, const byte
assert((bytecode_end - bytecode_begin) >= std::ptrdiff_t(_data_size));
_code = static_cast<instr *>(realloc(_code, (_instr_count+1)*sizeof(instr)));
_data = static_cast<byte *>(realloc(_data, _data_size*sizeof(byte)));
-
- // Make this RET_ZERO, we should never reach this but just in case ...
- _code[_instr_count] = op_to_fn[RET_ZERO].impl[_constraint];
if (!_code)
failure(alloc_failed);
+
+ // Make this RET_ZERO, we should never reach this but just in case ...
+ _code[_instr_count] = op_to_fn[RET_ZERO].impl[_constraint];
+
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::count_bytes(_data_size + (_instr_count+1)*sizeof(instr));
+#endif
}
Machine::Code::~Code() throw ()
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Face.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Face.cpp
index 3428aeaccf4..a8b8f0ce21a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Face.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Face.cpp
@@ -78,6 +78,9 @@ float Face::default_glyph_advance(const void* font_ptr, gr_uint16 glyphid)
bool Face::readGlyphs(uint32 faceOptions)
{
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _glyph_cat(tele.glyph);
+#endif
if (faceOptions & gr_face_cacheCmap)
m_cmap = new CachedCmap(*this);
else
@@ -98,6 +101,9 @@ bool Face::readGlyphs(uint32 faceOptions)
bool Face::readGraphite(const Table & silf)
{
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _silf_cat(tele.silf);
+#endif
const byte * p = silf;
if (!p) return false;
@@ -145,7 +151,8 @@ bool Face::runGraphite(Segment *seg, const Silf *aSilf) const
#endif
bool res = aSilf->runGraphite(seg, 0, aSilf->justificationPass());
- res &= aSilf->runGraphite(seg, aSilf->positionPass(), aSilf->numPasses());
+ if (res)
+ res = aSilf->runGraphite(seg, aSilf->positionPass(), aSilf->numPasses());
#if !defined GRAPHITE2_NTRACING
if (dbgout)
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/FeatureMap.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/FeatureMap.cpp
index aa638d5cb4c..aa638d5cb4c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/FeatureMap.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/FeatureMap.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/FileFace.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/FileFace.cpp
index dc2f017ed00..79a3213530e 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/FileFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/FileFace.cpp
@@ -78,7 +78,7 @@ const void *FileFace::get_table_fn(const void* appFaceHandle, unsigned int name,
if (appFaceHandle == 0) return 0;
const FileFace & file_face = *static_cast<const FileFace *>(appFaceHandle);
- char *tbl;
+ void *tbl;
size_t tbl_offset, tbl_len;
if (!TtfUtil::GetTableInfo(name, file_face._header_tbl, file_face._table_dir, tbl_offset, tbl_len))
return 0;
@@ -87,7 +87,7 @@ const void *FileFace::get_table_fn(const void* appFaceHandle, unsigned int name,
|| fseek(file_face._file, tbl_offset, SEEK_SET) != 0)
return 0;
- tbl = gralloc<char>(tbl_len);
+ tbl = malloc(tbl_len);
if (fread(tbl, 1, tbl_len, file_face._file) != tbl_len)
{
free(tbl);
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Font.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Font.cpp
index 8860d3b58be..8860d3b58be 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Font.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Font.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphCache.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphCache.cpp
index 457397b7505..457397b7505 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphCache.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphFace.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphFace.cpp
index 9fc11b2157e..9fc11b2157e 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/GlyphFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/GlyphFace.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Justifier.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Justifier.cpp
index fc667dca1ab..fc667dca1ab 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Justifier.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Justifier.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/NameTable.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/NameTable.cpp
index d29b92bc40e..c9eb7651fe5 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/NameTable.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/NameTable.cpp
@@ -37,7 +37,7 @@ NameTable::NameTable(const void* data, size_t length, uint16 platformId, uint16
m_platformOffset(0), m_platformLastRecord(0), m_nameDataLength(0),
m_table(0), m_nameData(NULL)
{
- void *pdata = malloc(length);
+ void *pdata = gralloc<byte>(length);
if (!pdata) return;
memcpy(pdata, data, length);
m_table = reinterpret_cast<const TtfUtil::Sfnt::FontNames*>(pdata);
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Pass.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Pass.cpp
index a44648a85a6..4c139e64f6a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Pass.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Pass.cpp
@@ -46,16 +46,16 @@ Pass::Pass()
m_rules(0),
m_ruleMap(0),
m_startStates(0),
- m_sTable(0),
+ m_transitions(0),
m_states(0),
m_flags(0),
m_iMaxLoop(0),
m_numGlyphs(0),
m_numRules(0),
- m_sRows(0),
- m_sTransition(0),
- m_sSuccess(0),
- m_sColumns(0),
+ m_numStates(0),
+ m_numTransition(0),
+ m_numSuccess(0),
+ m_numColumns(0),
m_minPreCtxt(0),
m_maxPreCtxt(0)
{
@@ -65,14 +65,14 @@ Pass::~Pass()
{
free(m_cols);
free(m_startStates);
- free(m_sTable);
+ free(m_transitions);
free(m_states);
free(m_ruleMap);
delete [] m_rules;
}
-bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t subtable_base, const Face & face)
+bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t subtable_base, GR_MAYBE_UNUSED const Face & face)
{
const byte * p = pass_start,
* const pass_end = p + pass_length;
@@ -89,33 +89,34 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su
* const rcCode = pass_start + be::read<uint32>(p) - subtable_base,
* const aCode = pass_start + be::read<uint32>(p) - subtable_base;
be::skip<uint32>(p);
- m_sRows = be::read<uint16>(p);
- m_sTransition = be::read<uint16>(p);
- m_sSuccess = be::read<uint16>(p);
- m_sColumns = be::read<uint16>(p);
+ m_numStates = be::read<uint16>(p);
+ m_numTransition = be::read<uint16>(p);
+ m_numSuccess = be::read<uint16>(p);
+ m_numColumns = be::read<uint16>(p);
numRanges = be::read<uint16>(p);
be::skip<uint16>(p, 3); // skip searchRange, entrySelector & rangeShift.
assert(p - pass_start == 40);
// Perform some sanity checks.
- if ( m_sTransition > m_sRows
- || m_sSuccess > m_sRows
- || m_sSuccess + m_sTransition < m_sRows
+ if ( m_numTransition > m_numStates
+ || m_numSuccess > m_numStates
+ || m_numSuccess + m_numTransition < m_numStates
|| numRanges == 0)
return false;
+ m_successStart = m_numStates - m_numSuccess;
if (p + numRanges * 6 - 4 > pass_end) return false;
m_numGlyphs = be::peek<uint16>(p + numRanges * 6 - 4) + 1;
// Calculate the start of various arrays.
const byte * const ranges = p;
be::skip<uint16>(p, numRanges*3);
const byte * const o_rule_map = p;
- be::skip<uint16>(p, m_sSuccess + 1);
+ be::skip<uint16>(p, m_numSuccess + 1);
// More sanity checks
- if (reinterpret_cast<const byte *>(o_rule_map + m_sSuccess*sizeof(uint16)) > pass_end
+ if (reinterpret_cast<const byte *>(o_rule_map + m_numSuccess*sizeof(uint16)) > pass_end
|| p > pass_end)
return false;
- const size_t numEntries = be::peek<uint16>(o_rule_map + m_sSuccess*sizeof(uint16));
+ const size_t numEntries = be::peek<uint16>(o_rule_map + m_numSuccess*sizeof(uint16));
const byte * const rule_map = p;
be::skip<uint16>(p, numEntries);
@@ -138,7 +139,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su
const uint16 * const o_actions = reinterpret_cast<const uint16 *>(p);
be::skip<uint16>(p, m_numRules + 1);
const byte * const states = p;
- be::skip<int16>(p, m_sTransition*m_sColumns);
+ be::skip<int16>(p, m_numTransition*m_numColumns);
be::skip<byte>(p); // skip reserved byte
if (p != pcCode || p >= pass_end) return false;
be::skip<byte>(p, pass_constraint_len);
@@ -161,7 +162,10 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su
if (!readRanges(ranges, numRanges)) return false;
if (!readRules(rule_map, numEntries, precontext, sort_keys,
o_constraint, rcCode, o_actions, aCode, face)) return false;
- return readStates(start_states, states, o_rule_map);
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _states_cat(face.tele.states);
+#endif
+ return readStates(start_states, states, o_rule_map, face);
}
@@ -195,7 +199,8 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
if (r->sort > 63 || r->preContext >= r->sort || r->preContext > m_maxPreCtxt || r->preContext < m_minPreCtxt)
return false;
ac_begin = ac_data + be::peek<uint16>(--o_action);
- rc_begin = *--o_constraint ? rc_data + be::peek<uint16>(o_constraint) : rc_end;
+ --o_constraint;
+ rc_begin = be::peek<uint16>(o_constraint) ? rc_data + be::peek<uint16>(o_constraint) : rc_end;
if (ac_begin > ac_end || ac_begin > ac_data_end || ac_end > ac_data_end
|| rc_begin > rc_end || rc_begin > rc_data_end || rc_end > rc_data_end)
@@ -225,36 +230,43 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
static int cmpRuleEntry(const void *a, const void *b) { return (*(RuleEntry *)a < *(RuleEntry *)b ? -1 :
(*(RuleEntry *)b < *(RuleEntry *)a ? 1 : 0)); }
-bool Pass::readStates(const byte * starts, const byte *states, const byte * o_rule_map)
+bool Pass::readStates(const byte * starts, const byte *states, const byte * o_rule_map, GR_MAYBE_UNUSED const Face & face)
{
- m_startStates = gralloc<State *>(m_maxPreCtxt - m_minPreCtxt + 1);
- m_states = gralloc<State>(m_sRows);
- m_sTable = gralloc<State *>(m_sTransition * m_sColumns);
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _states_cat(face.tele.starts);
+#endif
+ m_startStates = gralloc<uint16>(m_maxPreCtxt - m_minPreCtxt + 1);
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::set_category(face.tele.states);
+#endif
+ m_states = gralloc<State>(m_numStates);
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::set_category(face.tele.transitions);
+#endif
+ m_transitions = gralloc<uint16>(m_numTransition * m_numColumns);
- if (!m_startStates || !m_states || !m_sTable) return false;
+ if (!m_startStates || !m_states || !m_transitions) return false;
// load start states
- for (State * * s = m_startStates,
- * * const s_end = s + m_maxPreCtxt - m_minPreCtxt + 1; s != s_end; ++s)
+ for (uint16 * s = m_startStates,
+ * const s_end = s + m_maxPreCtxt - m_minPreCtxt + 1; s != s_end; ++s)
{
- *s = m_states + be::read<uint16>(starts);
- if (*s < m_states || *s >= m_states + m_sRows) return false; // true;
+ *s = be::read<uint16>(starts);
+ if (*s >= m_numStates) return false; // true;
}
// load state transition table.
- for (State * * t = m_sTable,
- * * const t_end = t + m_sTransition*m_sColumns; t != t_end; ++t)
+ for (uint16 * t = m_transitions,
+ * const t_end = t + m_numTransition*m_numColumns; t != t_end; ++t)
{
- *t = m_states + be::read<uint16>(states);
- if (*t < m_states || *t >= m_states + m_sRows) return false;
+ *t = be::read<uint16>(states);
+ if (*t >= m_numStates) return false;
}
State * s = m_states,
- * const transitions_end = m_states + m_sTransition,
- * const success_begin = m_states + m_sRows - m_sSuccess;
- const RuleEntry * rule_map_end = m_ruleMap + be::peek<uint16>(o_rule_map + m_sSuccess*sizeof(uint16));
- for (size_t n = m_sRows; n; --n, ++s)
+ * const success_begin = m_states + m_numStates - m_numSuccess;
+ const RuleEntry * rule_map_end = m_ruleMap + be::peek<uint16>(o_rule_map + m_numSuccess*sizeof(uint16));
+ for (size_t n = m_numStates; n; --n, ++s)
{
- s->transitions = s < transitions_end ? m_sTable + (s-m_states)*m_sColumns : 0;
RuleEntry * const begin = s < success_begin ? 0 : m_ruleMap + be::read<uint16>(o_rule_map),
* const end = s < success_begin ? 0 : m_ruleMap + be::peek<uint16>(o_rule_map);
@@ -279,7 +291,7 @@ bool Pass::readRanges(const byte * ranges, size_t num_ranges)
* ci_end = m_cols + be::read<uint16>(ranges) + 1,
col = be::read<uint16>(ranges);
- if (ci >= ci_end || ci_end > m_cols+m_numGlyphs || col >= m_sColumns)
+ if (ci >= ci_end || ci_end > m_cols+m_numGlyphs || col >= m_numColumns)
return false;
// A glyph must only belong to one column at a time
@@ -322,31 +334,30 @@ void Pass::runGraphite(Machine & m, FiniteStateMachine & fsm) const
} while (s);
}
-inline uint16 Pass::glyphToCol(const uint16 gid) const
-{
- return gid < m_numGlyphs ? m_cols[gid] : 0xffffU;
-}
-
bool Pass::runFSM(FiniteStateMachine& fsm, Slot * slot) const
{
fsm.reset(slot, m_maxPreCtxt);
if (fsm.slots.context() < m_minPreCtxt)
return false;
- const State * state = m_startStates[m_maxPreCtxt - fsm.slots.context()];
+ uint16 state = m_startStates[m_maxPreCtxt - fsm.slots.context()];
+ uint8 free_slots = SlotMap::MAX_SLOTS;
do
{
fsm.slots.pushSlot(slot);
- if (fsm.slots.size() >= SlotMap::MAX_SLOTS) return false;
- const uint16 col = glyphToCol(slot->gid());
- if (col == 0xffffU || !state->is_transition()) return true;
+ if (--free_slots == 0
+ || slot->gid() >= m_numGlyphs
+ || m_cols[slot->gid()] == 0xffffU
+ || state >= m_numTransition)
+ return free_slots != 0;
- state = state->transitions[col];
- if (state->is_success())
- fsm.rules.accumulate_rules(*state);
+ const uint16 * transitions = m_transitions + state*m_numColumns;
+ state = transitions[m_cols[slot->gid()]];
+ if (state >= m_successStart)
+ fsm.rules.accumulate_rules(m_states[state]);
slot = slot->next();
- } while (state != m_states && slot);
+ } while (state != 0 && slot);
fsm.slots.pushSlot(slot);
return true;
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Rule.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Rule.cpp
index afdab495f53..afdab495f53 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Rule.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Rule.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCache.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCache.cpp
index 446dfbec43f..446dfbec43f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCache.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheEntry.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheEntry.cpp
index 5e87646185a..5e87646185a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheEntry.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheEntry.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheStore.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheStore.cpp
index 236fb707ffa..236fb707ffa 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/SegCacheStore.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/SegCacheStore.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Segment.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Segment.cpp
index 6893c31c9b1..ccce282bf3f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Segment.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Segment.cpp
@@ -52,6 +52,7 @@ Segment::Segment(unsigned int numchars, const Face* face, uint32 script, int tex
m_bufSize(numchars + 10),
m_numGlyphs(numchars),
m_numCharinfo(numchars),
+ m_passBits(m_silf->aPassBits() ? -1 : 0),
m_defaultOriginal(0),
m_dir(textDir)
{
@@ -128,6 +129,7 @@ void Segment::append(const Segment &other)
m_numGlyphs += other.m_numGlyphs;
m_advance = m_advance + other.m_advance;
m_bbox = m_bbox.widen(bbox);
+ m_passBits &= other.passBits();
}
#endif // GRAPHITE2_NSEGCACHE
@@ -150,6 +152,9 @@ void Segment::appendSlot(int id, int cid, int gid, int iFeats, size_t coffset)
aSlot->prev(m_last);
m_last = aSlot;
if (!m_first) m_first = aSlot;
+ if (theGlyph && m_silf->aPassBits())
+ m_passBits &= theGlyph->attrs()[m_silf->aPassBits()]
+ | (m_silf->numPasses() > 16 ? (theGlyph->attrs()[m_silf->aPassBits() + 1] << 16) : 0);
}
Slot *Segment::newSlot()
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Silf.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Silf.cpp
index 53c13841937..74b8003611c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Silf.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Silf.cpp
@@ -55,6 +55,7 @@ Silf::Silf() throw()
m_aUser(0),
m_aBidi(0),
m_aMirror(0),
+ m_aPassBits(0),
m_iMaxComp(0),
m_aLig(0),
m_numPseudo(0),
@@ -111,7 +112,7 @@ bool Silf::readGraphite(const byte * const silf_start, size_t lSilf, const Face&
m_aBreak = be::read<uint8>(p);
m_aBidi = be::read<uint8>(p);
m_aMirror = be::read<uint8>(p);
- be::skip<byte>(p); // skip reserved stuff
+ m_aPassBits = be::read<uint8>(p);
// Read Justification levels.
m_numJusts = be::read<uint8>(p);
@@ -374,7 +375,8 @@ bool Silf::runGraphite(Segment *seg, uint8 firstPass, uint8 lastPass) const
#endif
// test whether to reorder, prepare for positioning
- m_passes[i].runGraphite(m, fsm);
+ if (i >= 32 || (seg->passBits() & (1 << i)) == 0)
+ m_passes[i].runGraphite(m, fsm);
// only subsitution passes can change segment length, cached subsegments are short for their text
if (m.status() != vm::Machine::finished
|| (i < m_pPass && (seg->slotCount() > initSize * MAX_SEG_GROWTH_FACTOR
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Slot.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Slot.cpp
index d7e07780942..c6fc2b5679a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Slot.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Slot.cpp
@@ -87,7 +87,7 @@ Position Slot::finalise(const Segment *seg, const Font *font, Position & base, R
{
if (attrLevel && m_attLevel > attrLevel) return Position(0, 0);
float scale = 1.0;
- Position shift = m_shift + Position(m_just, 0);
+ Position shift(m_shift.x * ((seg->dir() & 1) * -2 + 1) + m_just, m_shift.y);
float tAdvance = m_advance.x + m_just;
const GlyphFace * glyphFace = seg->getFace()->glyphs().glyphSafe(glyph());
if (font)
@@ -147,7 +147,7 @@ Position Slot::finalise(const Segment *seg, const Font *font, Position & base, R
int32 Slot::clusterMetric(const Segment *seg, uint8 metric, uint8 attrLevel)
{
Position base;
- Rect bbox = seg->theGlyphBBoxTemporary(gid());
+ Rect bbox = seg->theGlyphBBoxTemporary(glyph());
float clusterMin = 0.;
Position res = finalise(seg, NULL, base, bbox, attrLevel, clusterMin);
@@ -315,7 +315,7 @@ int Slot::getJustify(const Segment *seg, uint8 level, uint8 subindex) const
void Slot::setJustify(Segment *seg, uint8 level, uint8 subindex, int16 value)
{
- if (level >= seg->silf()->numJustLevels()) return;
+ if (level && level >= seg->silf()->numJustLevels()) return;
if (!m_justs)
{
SlotJustify *j = seg->newJustify();
@@ -389,12 +389,15 @@ void Slot::setGlyph(Segment *seg, uint16 glyphid, const GlyphFace * theGlyph)
}
}
m_realglyphid = theGlyph->attrs()[seg->silf()->aPseudo()];
+ const GlyphFace *aGlyph = theGlyph;
if (m_realglyphid)
{
- const GlyphFace *aGlyph = seg->getFace()->glyphs().glyphSafe(m_realglyphid);
- if (aGlyph) theGlyph = aGlyph;
+ aGlyph = seg->getFace()->glyphs().glyphSafe(m_realglyphid);
+ if (!aGlyph) aGlyph = theGlyph;
}
- m_advance = Position(theGlyph->theAdvance().x, 0.);
+ m_advance = Position(aGlyph->theAdvance().x, 0.);
+ if (seg->silf()->aPassBits())
+ seg->mergePassBits(theGlyph->attrs()[seg->silf()->aPassBits()]);
}
void Slot::floodShift(Position adj)
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/Sparse.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/Sparse.cpp
index a3eb52a1942..a3eb52a1942 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/Sparse.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/Sparse.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/TtfUtil.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/TtfUtil.cpp
index 9ede99e9145..ba26946dcc1 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/TtfUtil.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/TtfUtil.cpp
@@ -954,11 +954,11 @@ gid16 CmapSubtable4Lookup(const void * pCmapSubtabel4, unsigned int nUnicodeId,
return (uint16)(idDelta + nUnicodeId); // must use modulus 2^16
// Look up value in glyphIdArray
- size_t offset = (nUnicodeId - chStart) + (idRangeOffset >> 1) +
- (reinterpret_cast<const uint16 *>(pMid) - reinterpret_cast<const uint16 *>(pTable));
- if (offset * 2 >= pTable->length)
+ const ptrdiff_t offset = (nUnicodeId - chStart) + (idRangeOffset >> 1) +
+ (pMid - reinterpret_cast<const uint16 *>(pTable));
+ if (offset * 2 >= be::swap<uint16>(pTable->length))
return 0;
- gid16 nGlyphId = be::peek<uint16>(pMid + (nUnicodeId - chStart) + (idRangeOffset >> 1));
+ gid16 nGlyphId = be::peek<uint16>(reinterpret_cast<const uint16 *>(pTable)+offset);
// If this value is 0, return 0. Else add the idDelta
return nGlyphId ? nGlyphId + idDelta : 0;
}
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/UtfCodec.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/UtfCodec.cpp
index ca3c0c0a700..ca3c0c0a700 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/UtfCodec.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/UtfCodec.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/call_machine.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/call_machine.cpp
index f06f43cbda3..f06f43cbda3 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/call_machine.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/call_machine.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/direct_machine.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/direct_machine.cpp
index 09709c30336..09709c30336 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/direct_machine.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/direct_machine.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/files.mk b/Build/source/libs/graphite2/graphite2-1.2.3/src/files.mk
index 358acef62df..358acef62df 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/files.mk
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/files.mk
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_char_info.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_char_info.cpp
index ebcb68e593f..ebcb68e593f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_char_info.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_char_info.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_face.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_face.cpp
index e0f24335522..caf16b33a35 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_face.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_face.cpp
@@ -38,6 +38,9 @@ namespace
{
bool load_face(Face & face, unsigned int options)
{
+#ifdef GRAPHITE2_TELEMETRY
+ telemetry::category _misc_cat(face.tele.misc);
+#endif
Face::Table silf(face, Tag::Silf);
if (silf) options &= ~gr_face_dumbRendering;
else if (!(options & gr_face_dumbRendering))
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_features.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_features.cpp
index 63c5564ffdd..63c5564ffdd 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_features.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_features.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_font.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_font.cpp
index 22e4ec9c157..22e4ec9c157 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_font.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_font.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_logging.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_logging.cpp
index 2fa6d128b1d..a010e97d764 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_logging.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_logging.cpp
@@ -38,7 +38,6 @@ of the License or (at your option) any later version.
using namespace graphite2;
-
extern "C" {
@@ -58,19 +57,23 @@ bool gr_start_logging(gr_face * face, const char *log_path)
log = _wfopen(wlog_path, L"wt");
free(wlog_path);
-#else
+#else // _WIN32
FILE *log = fopen(log_path, "wt");
-#endif
+#endif // _WIN32
if (!log) return false;
face->setLogger(log);
if (!face->logger()) return false;
*face->logger() << json::array;
+#ifdef GRAPHITE2_TELEMETRY
+ *face->logger() << face->tele;
+#endif
+
return true;
-#else
+#else // GRAPHITE2_NTRACING
return false;
-#endif
+#endif // GRAPHITE2_NTRACING
}
bool graphite_start_logging(FILE * /* log */, GrLogMask /* mask */)
@@ -112,8 +115,37 @@ void graphite_stop_logging()
} // extern "C"
+#ifdef GRAPHITE2_TELEMETRY
+size_t * graphite2::telemetry::_category = 0UL;
+#endif
+
#if !defined GRAPHITE2_NTRACING
+#ifdef GRAPHITE2_TELEMETRY
+
+json & graphite2::operator << (json & j, const telemetry & t) throw()
+{
+ j << json::object
+ << "type" << "telemetry"
+ << "silf" << t.silf
+ << "states" << t.states
+ << "starts" << t.starts
+ << "transitions" << t.transitions
+ << "glyphs" << t.glyph
+ << "code" << t.code
+ << "misc" << t.misc
+ << "total" << (t.silf + t.states + t.starts + t.transitions + t.glyph + t.code + t.misc)
+ << json::close;
+ return j;
+}
+#else
+json & graphite2::operator << (json & j, const telemetry &) throw()
+{
+ return j;
+}
+#endif
+
+
json & graphite2::operator << (json & j, const CharInfo & ci) throw()
{
return j << json::object
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_segment.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_segment.cpp
index 6eca66b4a0b..6eca66b4a0b 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_segment.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_segment.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_slot.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_slot.cpp
index c615e40ffe5..c615e40ffe5 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/gr_slot.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/gr_slot.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CachedFace.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CachedFace.h
index 53674754ee2..53674754ee2 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CachedFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CachedFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CharInfo.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CharInfo.h
index 2debaf73477..2debaf73477 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CharInfo.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CharInfo.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CmapCache.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CmapCache.h
index a7df78ea568..a7df78ea568 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/CmapCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/CmapCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Code.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Code.h
index d9539b0da24..d9539b0da24 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Code.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Code.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Endian.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Endian.h
index 16ff79f5519..16ff79f5519 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Endian.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Endian.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Face.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Face.h
index d84ea92fc07..5730e579c4f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Face.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Face.h
@@ -43,6 +43,7 @@ class GlyphCache;
class NameTable;
class json;
+
using TtfUtil::Tag;
// These are the actual tags, as distinct from the consecutive IDs in TtfUtil.h
@@ -103,6 +104,10 @@ protected:
private:
uint16 m_ascent,
m_descent;
+#ifdef GRAPHITE2_TELEMETRY
+public:
+ mutable telemetry tele;
+#endif
};
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureMap.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureMap.h
index dc5175c3054..dc5175c3054 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureMap.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureMap.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureVal.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureVal.h
index 8c9298c76cf..8c9298c76cf 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FeatureVal.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FeatureVal.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FileFace.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FileFace.h
index 05e56d64543..05e56d64543 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/FileFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/FileFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Font.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Font.h
index 650bc7cd8c4..650bc7cd8c4 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Font.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Font.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphCache.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphCache.h
index 74457152916..74457152916 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphFace.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphFace.h
index 89ed5aea91a..89ed5aea91a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/GlyphFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/GlyphFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/List.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/List.h
index f99036912d8..f99036912d8 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/List.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/List.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Machine.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Machine.h
index f6af44329fa..f6af44329fa 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Machine.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Machine.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Main.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Main.h
index 674af80e854..0717693d689 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Main.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Main.h
@@ -44,15 +44,55 @@ typedef gr_int16 int16;
typedef gr_int32 int32;
typedef size_t uintptr;
+#if GRAPHITE2_TELEMETRY
+struct telemetry
+{
+ class category;
+
+ static size_t * _category;
+ static void set_category(size_t & t) throw() { _category = &t; }
+ static void stop() throw() { _category = 0; }
+ static void count_bytes(size_t n) throw() { if (_category) *_category += n; }
+
+ size_t misc,
+ silf,
+ glyph,
+ code,
+ states,
+ starts,
+ transitions;
+
+ telemetry() : misc(0), silf(0), glyph(0), code(0), states(0), starts(0), transitions(0) {}
+};
+
+class telemetry::category
+{
+ size_t * _prev;
+public:
+ category(size_t & t) : _prev(_category) { _category = &t; }
+ ~category() { _category = _prev; }
+};
+
+#else
+struct telemetry {};
+#endif
+
// typesafe wrapper around malloc for simple types
// use free(pointer) to deallocate
+
template <typename T> T * gralloc(size_t n)
{
+#if GRAPHITE2_TELEMETRY
+ telemetry::count_bytes(sizeof(T) * n);
+#endif
return reinterpret_cast<T*>(malloc(sizeof(T) * n));
}
template <typename T> T * grzeroalloc(size_t n)
{
+#if GRAPHITE2_TELEMETRY
+ telemetry::count_bytes(sizeof(T) * n);
+#endif
return reinterpret_cast<T*>(calloc(n, sizeof(T)));
}
@@ -71,9 +111,9 @@ inline T max(const T a, const T b)
} // namespace graphite2
#define CLASS_NEW_DELETE \
- void * operator new (size_t size){ return malloc(size);} \
+ void * operator new (size_t size){ return gralloc<byte>(size);} \
void * operator new (size_t, void * p) throw() { return p; } \
- void * operator new[] (size_t size) {return malloc(size);} \
+ void * operator new[] (size_t size) {return gralloc<byte>(size);} \
void * operator new[] (size_t, void * p) throw() { return p; } \
void operator delete (void * p) throw() { free(p);} \
void operator delete (void *, void *) throw() {} \
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/NameTable.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/NameTable.h
index 0fdbeb4d85f..0fdbeb4d85f 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/NameTable.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/NameTable.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Pass.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Pass.h
index 6554d937f0e..5fea65a289b 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Pass.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Pass.h
@@ -61,7 +61,7 @@ private:
const uint16 * o_constraint, const byte *constraint_data,
const uint16 * o_action, const byte * action_data,
const Face &);
- bool readStates(const byte * starts, const byte * states, const byte * o_rule_map);
+ bool readStates(const byte * starts, const byte * states, const byte * o_rule_map, const Face &);
bool readRanges(const byte * ranges, size_t num_ranges);
uint16 glyphToCol(const uint16 gid) const;
bool runFSM(FiniteStateMachine & fsm, Slot * slot) const;
@@ -72,18 +72,19 @@ private:
uint16 * m_cols;
Rule * m_rules; // rules
RuleEntry * m_ruleMap;
- State * * m_startStates; // prectxt length
- State * * m_sTable;
+ uint16 * m_startStates; // prectxt length
+ uint16 * m_transitions;
State * m_states;
byte m_flags;
byte m_iMaxLoop;
uint16 m_numGlyphs;
uint16 m_numRules;
- uint16 m_sRows;
- uint16 m_sTransition;
- uint16 m_sSuccess;
- uint16 m_sColumns;
+ uint16 m_numStates;
+ uint16 m_numTransition;
+ uint16 m_numSuccess;
+ uint16 m_successStart;
+ uint16 m_numColumns;
byte m_minPreCtxt;
byte m_maxPreCtxt;
vm::Machine::Code m_cPConstraint;
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Position.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Position.h
index c6f1b755644..c6f1b755644 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Position.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Position.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Rule.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Rule.h
index 69442658e4d..491d985e3a7 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Rule.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Rule.h
@@ -64,11 +64,11 @@ struct RuleEntry
inline
bool operator < (const RuleEntry &r) const
- {
- const unsigned short lsort = rule->sort, rsort = r.rule->sort;
+ {
+ const unsigned short lsort = rule->sort, rsort = r.rule->sort;
return lsort > rsort || (lsort == rsort && rule < r.rule);
}
-
+
inline
bool operator == (const RuleEntry &r) const
{
@@ -81,29 +81,14 @@ struct State
{
const RuleEntry * rules,
* rules_end;
- const State * const * transitions;
- size_t size() const;
- bool is_success() const;
- bool is_transition() const;
+ bool empty() const;
};
inline
-size_t State::size() const
-{
- return rules_end - rules;
-}
-
-inline
-bool State::is_success() const
-{
- return (rules != NULL);
-}
-
-inline
-bool State::is_transition() const
+bool State::empty() const
{
- return (transitions != NULL);
+ return rules_end == rules;
}
@@ -222,12 +207,13 @@ inline
void FiniteStateMachine::Rules::accumulate_rules(const State &state)
{
// Only bother if there are rules in the State object.
- if (state.size() == 0) return;
+ if (state.empty()) return;
// Merge the new sorted rules list into the current sorted result set.
const RuleEntry * lre = begin(), * rre = state.rules;
RuleEntry * out = m_rules + (m_begin == m_rules)*MAX_RULES;
- const RuleEntry * lrend = out + MAX_RULES;
+ const RuleEntry * const lrend = out + MAX_RULES,
+ * const rrend = state.rules_end;
m_begin = out;
while (lre != end() && out != lrend)
{
@@ -235,14 +221,14 @@ void FiniteStateMachine::Rules::accumulate_rules(const State &state)
else if (*rre < *lre) { *out++ = *rre++; }
else { *out++ = *lre++; ++rre; }
- if (rre == state.rules_end)
+ if (rre == rrend)
{
while (lre != end() && out != lrend) { *out++ = *lre++; }
m_end = out;
return;
}
}
- while (rre != state.rules_end && out != lrend) { *out++ = *rre++; }
+ while (rre != rrend && out != lrend) { *out++ = *rre++; }
m_end = out;
}
@@ -289,7 +275,7 @@ void SlotMap::reset(Slot & slot, short unsigned int ctxt)
inline
void SlotMap::pushSlot(Slot*const slot)
{
- m_slot_map[m_size++ + 1] = slot;
+ m_slot_map[++m_size] = slot;
}
inline
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCache.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCache.h
index ac09966589c..ac09966589c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheEntry.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheEntry.h
index 9a7d930677c..9a7d930677c 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheEntry.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheEntry.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheStore.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheStore.h
index 1e6a6e216e7..1e6a6e216e7 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/SegCacheStore.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/SegCacheStore.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Segment.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Segment.h
index a36fb73d500..8ddeeb8106b 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Segment.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Segment.h
@@ -123,6 +123,8 @@ public:
int addFeatures(const Features& feats) { m_feats.push_back(feats); return m_feats.size() - 1; }
uint32 getFeature(int index, uint8 findex) const { const FeatureRef* pFR=m_face->theSill().theFeatureMap().featureRef(findex); if (!pFR) return 0; else return pFR->getFeatureVal(m_feats[index]); }
void dir(int8 val) { m_dir = val; }
+ unsigned int passBits() const { return m_passBits; }
+ void mergePassBits(const unsigned int val) { m_passBits &= val; }
int16 glyphAttr(uint16 gid, uint16 gattr) const { const GlyphFace * p = m_face->glyphs().glyphSafe(gid); return p ? p->attrs()[gattr] : 0; }
int32 getGlyphMetric(Slot *iSlot, uint8 metric, uint8 attrLevel) const;
float glyphAdvance(uint16 gid) const { return m_face->glyphs().glyph(gid)->theAdvance().x; }
@@ -163,7 +165,8 @@ private:
Slot * m_last; // last slot in segment
unsigned int m_bufSize, // how big a buffer to create when need more slots
m_numGlyphs,
- m_numCharinfo; // size of the array and number of input characters
+ m_numCharinfo, // size of the array and number of input characters
+ m_passBits; // if bit set then skip pass
int m_defaultOriginal; // number of whitespace chars in the string
int8 m_dir;
};
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Silf.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Silf.h
index 652f084c8ec..526d9ba30bd 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Silf.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Silf.h
@@ -82,6 +82,7 @@ public:
uint8 aPseudo() const { return m_aPseudo; }
uint8 aBreak() const { return m_aBreak; }
uint8 aMirror() const {return m_aMirror; }
+ uint8 aPassBits() const { return m_aPassBits; }
uint8 substitutionPass() const { return m_sPass; }
uint8 positionPass() const { return m_pPass; }
uint8 justificationPass() const { return m_jPass; }
@@ -111,7 +112,7 @@ private:
uint8 m_sPass, m_pPass, m_jPass, m_bPass,
m_flags;
- uint8 m_aPseudo, m_aBreak, m_aUser, m_aBidi, m_aMirror,
+ uint8 m_aPseudo, m_aBreak, m_aUser, m_aBidi, m_aMirror, m_aPassBits,
m_iMaxComp;
uint16 m_aLig,
m_numPseudo,
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Slot.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Slot.h
index 3f0c473889a..3f0c473889a 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Slot.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Slot.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Sparse.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Sparse.h
index bbe6bcfb95c..0159a9d6705 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/Sparse.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/Sparse.h
@@ -108,7 +108,7 @@ sparse::sparse(I attr, const I last)
m_array.values = grzeroalloc<mapped_type>((m_nchunks*sizeof(chunk) + sizeof(mapped_type)/2)
/ sizeof(mapped_type)
- + n_values*sizeof(mapped_type));
+ + n_values); // *sizeof(mapped_type));
if (m_array.values == 0)
{
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfTypes.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfTypes.h
index 49ffa39229e..49ffa39229e 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfTypes.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfTypes.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfUtil.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfUtil.h
index 7fafb69cf29..7fafb69cf29 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/TtfUtil.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/TtfUtil.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/UtfCodec.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/UtfCodec.h
index 1a49179aafa..1a49179aafa 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/UtfCodec.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/UtfCodec.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/bits.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/bits.h
index 56b2d10224e..56b2d10224e 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/bits.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/bits.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/debug.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/debug.h
index 6c733c6a5a4..ba77cb19151 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/debug.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/debug.h
@@ -52,10 +52,13 @@ struct objectid
objectid(const Segment * const p) throw();
};
+
json & operator << (json & j, const Position &) throw();
json & operator << (json & j, const CharInfo &) throw();
json & operator << (json & j, const dslot &) throw();
json & operator << (json & j, const objectid &) throw();
+json & operator << (json & j, const telemetry &) throw();
+
inline
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/json.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/json.h
index 80ff5b5cbf8..80ff5b5cbf8 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/json.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/json.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/locale2lcid.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/locale2lcid.h
index fc2d384b444..fc2d384b444 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/locale2lcid.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/locale2lcid.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcode_table.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcode_table.h
index 06916f6c875..06916f6c875 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcode_table.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcode_table.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcodes.h b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcodes.h
index 835e89351ff..835e89351ff 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/inc/opcodes.h
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/inc/opcodes.h
diff --git a/Build/source/libs/graphite2/graphite2-1.2.1/src/json.cpp b/Build/source/libs/graphite2/graphite2-1.2.3/src/json.cpp
index c10037f3afe..c10037f3afe 100644
--- a/Build/source/libs/graphite2/graphite2-1.2.1/src/json.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.2.3/src/json.cpp
diff --git a/Build/source/libs/graphite2/include/graphite2/Makefile.in b/Build/source/libs/graphite2/include/graphite2/Makefile.in
index 13c29a6e9db..e26a4d47aa0 100644
--- a/Build/source/libs/graphite2/include/graphite2/Makefile.in
+++ b/Build/source/libs/graphite2/include/graphite2/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.1 from Makefile.am.
+# Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,23 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
esac; \
- test $$am__dry = yes; \
- }
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
diff --git a/Build/source/libs/graphite2/version.ac b/Build/source/libs/graphite2/version.ac
index 67fb56741f1..7b82c6e2011 100644
--- a/Build/source/libs/graphite2/version.ac
+++ b/Build/source/libs/graphite2/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current graphite2 version
-m4_define([graphite2_version], [1.2.1])
+m4_define([graphite2_version], [1.2.3])