Merge pull request #55118 from akien-mga/graphite-80c52493e
This commit is contained in:
commit
882d61791b
3 changed files with 11 additions and 244 deletions
8
thirdparty/README.md
vendored
8
thirdparty/README.md
vendored
|
@ -176,14 +176,14 @@ Files extracted from upstream source:
|
|||
## graphite
|
||||
|
||||
- Upstream: https://github.com/silnrsi/graphite
|
||||
- Version: 1.3.14 (92f59dcc52f73ce747f1cdc831579ed2546884aa, 2020)
|
||||
- Version: 1.3.14 (80c52493ef42e6fe605a69dcddd2a691cd8a1380, 2021)
|
||||
- License: MPL-2.0
|
||||
|
||||
Files extracted from upstream source:
|
||||
|
||||
- the `include` folder
|
||||
- the `src` folder
|
||||
- `COPYING`, `ChangeLog`
|
||||
- the `src` folder (minus `CMakeLists.txt` and `files.mk`)
|
||||
- `COPYING`
|
||||
|
||||
|
||||
## harfbuzz
|
||||
|
@ -610,7 +610,7 @@ instead of `miniz.h` as an external dependency.
|
|||
## vhacd
|
||||
|
||||
- Upstream: https://github.com/kmammou/v-hacd
|
||||
- Version: git (b07958e18e01d504e3af80eeaeb9f033226533d7, 2019)
|
||||
- Version: git (1a49edf29c69039df15286181f2f27e17ceb9aef, 2020)
|
||||
- License: BSD-3-Clause
|
||||
|
||||
Files extracted from upstream source:
|
||||
|
|
238
thirdparty/graphite/ChangeLog
vendored
238
thirdparty/graphite/ChangeLog
vendored
|
@ -1,238 +0,0 @@
|
|||
1.3.14
|
||||
. Bug fixes
|
||||
. Allow features to be hidden (for aliases)
|
||||
. Move to python3
|
||||
. Rename doc files from .txt to .asc
|
||||
|
||||
1.3.13
|
||||
. Resolve minor spacing issue in rtl non-overlap kerning
|
||||
. python3 for graphite.py
|
||||
. Better fuzzing
|
||||
. Better building on windows
|
||||
|
||||
1.3.12
|
||||
. Graphite no longer does dumb rendering for fonts with no smarts
|
||||
. Segment caching code removed. Anything attempting to use the segment cache gets given a regular face instead
|
||||
. Add libfuzzer support
|
||||
. Builds now require C++11
|
||||
. Improvements to Windows 64 bit builds
|
||||
. Support different versions of python including 32 bit and python 3
|
||||
. Various minor bug fixes
|
||||
|
||||
1.3.11
|
||||
. Fixes due to security review
|
||||
. Minor collision avoidance fixes
|
||||
. Fix LZ4 decompressor against high compression
|
||||
|
||||
1.3.10
|
||||
. Address floating point build parameters to give consistent positioning results across platforms
|
||||
. Various bug fixes
|
||||
|
||||
1.3.9
|
||||
. Add Collision COLL_ISSPACE to allow for visible spaces in collision avoidance
|
||||
. Add segment and pass direction information to tracing output
|
||||
. Bug fix rule length testing in 32-bit
|
||||
. Increase slanted margin distances for collision avoidance
|
||||
. Change kerning algorithm to simple outline expansion. Seems to make no visible difference.
|
||||
. Add trace2svg to test tools
|
||||
|
||||
1.3.8
|
||||
. Various bug fixes arising from fuzzing
|
||||
. Fix regression that stopped piglatin from working
|
||||
. Make collision avoidance kerning give more regular results
|
||||
. Minor modification to clustering algorithm to handle variable width chars
|
||||
|
||||
1.3.7
|
||||
. Bug fixes
|
||||
. Start to deprecate SegCache. This will be going away in a later release.
|
||||
|
||||
1.3.6
|
||||
. Bug fixes
|
||||
|
||||
1.3.5
|
||||
. Bug fixes
|
||||
. Security bug fix
|
||||
. Fix ARM misalignment problem
|
||||
. Track latest cmake
|
||||
|
||||
1.3.4
|
||||
. Transition from Mercurial to Git
|
||||
. Bug fixes
|
||||
. Fix Collision Kerning ignoring some diacritics
|
||||
. Handle pass bits 16-31 to speed up fonts with > 16 passes
|
||||
. Various minor fuzz bug fixes
|
||||
. Make Coverity happy
|
||||
. Add GR_FALLTHROUGH macro for clang c++11
|
||||
|
||||
1.3.3
|
||||
. Slight speed up in Collision Avoidance
|
||||
. Remove dead bidi code
|
||||
. Bug fixes
|
||||
. Between pass bidi reorderings and at the end
|
||||
. Decompressor fuzz bugs
|
||||
. Other fuzz bugs
|
||||
|
||||
1.3.2
|
||||
. Remove full bidi. All segments are assumed to be single directioned.
|
||||
. Bug fixes:
|
||||
. Decompressor corner cases
|
||||
. Various fuzz bugs
|
||||
|
||||
1.3.1
|
||||
. Deprecation warning: Full bidi support is about to be deprecated. Make contact
|
||||
if this impacts you.
|
||||
. Change compression block format slightly to conform to LZ4
|
||||
. Bug fixes:
|
||||
. Handle mono direction text with diacritics consistently. Fonts
|
||||
now see the direction they expect consistently and bidi now
|
||||
gives expected results.
|
||||
. Fixed lots of fuzz bugs
|
||||
. Coverity cleanups
|
||||
. Build now works for clang and/or asan and/or afl etc.
|
||||
|
||||
1.3.0
|
||||
. Add collision avoidance
|
||||
. Shift Collider
|
||||
. Kern Collider
|
||||
. Octabox outlines and subboxes
|
||||
. Add compressed Silf and Glat table support
|
||||
. Bug fixes:
|
||||
. Stop loops forming in the child, sibling tree
|
||||
. Handle bidi mirroring correctly if no bidi occurring
|
||||
|
||||
1.2.4
|
||||
. Face failure now has error code reporting via debug logging
|
||||
. can now call gr_start_logging(NULL, fname)
|
||||
. gr2fonttest --alltrace added
|
||||
. Format 14 table support
|
||||
. Not done. To be handled entirely in the compiler
|
||||
. Bidi support for Unicode 6.3 Isolating direction controls
|
||||
. Fonts no longer require a glyf/loca table. In such cases the bounding box is always 0.
|
||||
. Clang ASAN build support added for testing.
|
||||
. Handle out of memory sanely.
|
||||
. Documentation improvements
|
||||
. Bug fixes:
|
||||
. Enforce fonts having to store glyph attributes by monotonically increasing attribute number
|
||||
. zeropadding was not getting called on feature tags
|
||||
. automatic associations for unassociated characters
|
||||
. use direct engine on Mac
|
||||
. various extreme case reading 1 past the end errors fixed
|
||||
. remove tabs from sources so that it becomes readable again
|
||||
|
||||
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
|
||||
. Allow signed glyph attributes
|
||||
. Various build problems with MacOS, old gcc versions, etc.
|
||||
. Various overrun read errors fixed
|
||||
|
||||
1.2.0
|
||||
. API Changes:
|
||||
. Added Windows friendly gr_start_logging and gr_stop_logging, now per face
|
||||
. Added gr_make_face_with_ops, gr_make_face_with_seg_cache_and_ops
|
||||
. Added gr_make_font_with_ops
|
||||
. Added gr_face_is_char_supported
|
||||
. Added gr_face_info to give info to apps about face capabilities
|
||||
. Deprecated gr_make_face, gr_make_face_with_seg_cache, gr_make_font_with_advance_fn
|
||||
. Deprecated graphite_start_logging and graphite_stop_logging
|
||||
. These functions are stubbed now and do nothing, but do compile and link.
|
||||
. Bump API version to 3
|
||||
. Add C# wrapper to contrib
|
||||
. Handle justification information in a font and do something useful with it
|
||||
. Builds clang clean (has done for a while)
|
||||
. Bug fixes
|
||||
. Windows build and bug fixes
|
||||
. Add extra information to json debug output
|
||||
. Added windows build documentation
|
||||
. Added freetype sample code and test
|
||||
|
||||
1.1.3
|
||||
. Default build has GRAPHITE2_COMPARE_RENDERER to OFF to reduce dependencies
|
||||
. Builds on Mac with clang
|
||||
. Debug output improvements
|
||||
. Tidy up perl wrappers
|
||||
. Fuzz tester improvements
|
||||
. Various bug fixes for bad font handling
|
||||
|
||||
1.1.2
|
||||
. Support feature ids < 4 chars when space padded for inclusion in FF 14.
|
||||
. More fuzztesting and removal of causes of valgrind bad reads and sigabrts
|
||||
. Remove contrib/android into its own repo (http://hg.palaso.org/grandroid)
|
||||
. Update comparerenderer to latest harfbuzzng api
|
||||
|
||||
1.1.1
|
||||
. Missing Log.h included
|
||||
. perl wrappers updated
|
||||
|
||||
1.1.0
|
||||
. Refactored debug output to use json
|
||||
. Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
|
||||
. Renamed DISABLE_SEGCACHE to GRAPHITE2_NSEGCACE
|
||||
. Renamed DISBALE_FILE_FACE to GRAPHITE2_NFILEFACE
|
||||
. Renamed ENABLE_COMPARE_RENDERER to GRAPHTIE2_COMPARE_RENDERER
|
||||
. Renamed DOXYGEN_CONFIG to GRAPHITE2_DOXYGEN_CONFIG
|
||||
. Renamed GR2_CUSTOM_HEADER to GRAPHITE2_CUSTOM_HEADER
|
||||
. Renamed GR2_EXPORTING to GRAPHITE2_EXPORTING
|
||||
. Added GRAPHITE2_STATIC for static only builds
|
||||
. Added GRAPHITE2_NTRACING to compile out tracing code
|
||||
. Documented GRAPHITE2_{EXPORTING,STATIC,NTRACING} in hacking.txt
|
||||
. Bump libtool version to 2.1.0
|
||||
. dumb font rendering works
|
||||
. slot user attributes are now signed rather than unsigned
|
||||
. add support for long class maps
|
||||
. Rename perl library to avoid nameclash on Windows
|
||||
. Various robustness fixes
|
||||
. Moved internal .h files into src/inc
|
||||
. Parallelise fuzztest
|
||||
. General build improvements, particularly on Windows
|
||||
|
||||
1.0.3
|
||||
. Fix UTF16 surrogate support
|
||||
. script and lang tags may be space padded or null padded
|
||||
. Remove need for WORDS_BIGENDIAN, do it all automatically
|
||||
. Remove all #include <new>. Use CLASS_NEW_DELETE instead.
|
||||
. Fix comparerenderer to work with current hbng
|
||||
. Add valgrind to fuzztest to ensure good memory use at all times
|
||||
. Fix new fuzztest exposed bugs.
|
||||
. Fix bugs exposed by Mozilla security review
|
||||
. Add continuous integration build on Windows support
|
||||
|
||||
1.0.2
|
||||
. Fix Windows build
|
||||
. Comparerenderer uses hbng enforcing ot rendering
|
||||
. Add Bidi .hasChar support and refactor mirroring code
|
||||
. Make cmake default Release rather than debug
|
||||
. Don't compile in a boat load of TtfUtil that isn't used, saving 15% of binary
|
||||
. Chase the FSF around its latest office moves
|
||||
. WORDS_BIGENDIAN is set at the top so tests now pass on ppc, etc.
|
||||
. More words in the manual
|
||||
|
||||
1.0.1
|
||||
. Release is the default build in cmake now.
|
||||
. Refactor cmake build to not rebuild things so much.
|
||||
. Include a missing file
|
||||
. Remove -nostdlibs, making gcc happy everywhere
|
||||
. Update comparerenderer to latest hbng interface
|
||||
. Add changelog
|
||||
|
||||
1.0.0
|
||||
. First major release of perfect code!
|
||||
|
9
thirdparty/graphite/src/Pass.cpp
vendored
9
thirdparty/graphite/src/Pass.cpp
vendored
|
@ -1056,12 +1056,17 @@ float Pass::resolveKern(Segment *seg, Slot *slotFix, GR_MAYBE_UNUSED Slot *start
|
|||
ymin = min(by + bbb.bl.y, ymin);
|
||||
for (nbor = slotFix->next(); nbor; nbor = nbor->next())
|
||||
{
|
||||
if (nbor->isChildOf(base))
|
||||
continue;
|
||||
if (!gc.check(nbor->gid()))
|
||||
return 0.;
|
||||
const Rect &bb = seg->theGlyphBBoxTemporary(nbor->gid());
|
||||
SlotCollision *cNbor = seg->collisionInfo(nbor);
|
||||
const float nby = nbor->origin().y + cNbor->shift().y;
|
||||
if (nbor->isChildOf(base))
|
||||
{
|
||||
ymax = max(nby + bb.tr.y, ymax);
|
||||
ymin = min(nby + bb.bl.y, ymin);
|
||||
continue;
|
||||
}
|
||||
if ((bb.bl.y == 0.f && bb.tr.y == 0.f) || (cNbor->flags() & SlotCollision::COLL_ISSPACE))
|
||||
{
|
||||
if (m_kernColls == InWord)
|
||||
|
|
Loading…
Reference in a new issue