diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-06-24 06:35:07 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-06-24 06:35:07 +0000 |
commit | 9e3277dfd74422d9d3867b15f0bc0909983a743b (patch) | |
tree | 15b27dfb8daabd4353d5971103946f40a7e730c5 /Build | |
parent | b1a9fe4719d244757371219a124e1d4161c4c600 (diff) |
graphite2 1.2.3
git-svn-id: svn://tug.org/texlive/trunk@30877 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/libs/graphite2/ChangeLog | 10 | ||||
-rw-r--r-- | Build/source/libs/graphite2/Makefile.in | 87 | ||||
-rw-r--r-- | Build/source/libs/graphite2/aclocal.m4 | 286 | ||||
-rwxr-xr-x | Build/source/libs/graphite2/configure | 192 | ||||
-rw-r--r-- | Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-01-case-sensitive | 14 | ||||
-rw-r--r-- | Build/source/libs/graphite2/graphite2-1.2.1-PATCHES/patch-02-solaris-variables | 19 | ||||
-rw-r--r-- | Build/source/libs/graphite2/graphite2-1.2.1/.hg_archival.txt | 4 | ||||
-rw-r--r-- | Build/source/libs/graphite2/graphite2-1.2.1/Todo.txt | 9 | ||||
-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.txt | 5 | ||||
-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.txt | 6 | ||||
-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.in | 60 | ||||
-rw-r--r-- | Build/source/libs/graphite2/version.ac | 2 |
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]) |