2 . Graphite no longer does dumb rendering for fonts with no smarts
3 . Segment caching code removed. Anything attempting to use the segment cache gets given a regular face instead
4 . Add libfuzzer support
5 . Builds now require C++11
6 . Improvements to Windows 64 bit builds
7 . Support different versions of python including 32 bit and python 3
8 . Various minor bug fixes
11 . Fixes due to security review
12 . Minor collision avoidance fixes
13 . Fix LZ4 decompressor against high compression
16 . Address floating point build parameters to give consistent positioning results across platforms
20 . Add Collision COLL_ISSPACE to allow for visible spaces in collision avoidance
21 . Add segment and pass direction information to tracing output
22 . Bug fix rule length testing in 32-bit
23 . Increase slanted margin distances for collision avoidance
24 . Change kerning algorithm to simple outline expansion. Seems to make no visible difference.
25 . Add trace2svg to test tools
28 . Various bug fixes arising from fuzzing
29 . Fix regression that stopped piglatin from working
30 . Make collision avoidance kerning give more regular results
31 . Minor modification to clustering algorithm to handle variable width chars
35 . Start to deprecate SegCache. This will be going away in a later release.
43 . Fix ARM misalignment problem
47 . Transition from Mercurial to Git
49 . Fix Collision Kerning ignoring some diacritics
50 . Handle pass bits 16-31 to speed up fonts with > 16 passes
51 . Various minor fuzz bug fixes
53 . Add GR_FALLTHROUGH macro for clang c++11
56 . Slight speed up in Collision Avoidance
57 . Remove dead bidi code
59 . Between pass bidi reorderings and at the end
60 . Decompressor fuzz bugs
64 . Remove full bidi. All segments are assumed to be single directioned.
66 . Decompressor corner cases
70 . Deprecation warning: Full bidi support is about to be deprecated. Make contact
72 . Change compression block format slightly to conform to LZ4
74 . Handle mono direction text with diacritics consistently. Fonts
75 now see the direction they expect consistently and bidi now
76 gives expected results.
77 . Fixed lots of fuzz bugs
79 . Build now works for clang and/or asan and/or afl etc.
82 . Add collision avoidance
85 . Octabox outlines and subboxes
86 . Add compressed Silf and Glat table support
88 . Stop loops forming in the child, sibling tree
89 . Handle bidi mirroring correctly if no bidi occurring
92 . Face failure now has error code reporting via debug logging
93 . can now call gr_start_logging(NULL, fname)
94 . gr2fonttest --alltrace added
95 . Format 14 table support
96 . Not done. To be handled entirely in the compiler
97 . Bidi support for Unicode 6.3 Isolating direction controls
98 . Fonts no longer require a glyf/loca table. In such cases the bounding box is always 0.
99 . Clang ASAN build support added for testing.
100 . Handle out of memory sanely.
101 . Documentation improvements
103 . Enforce fonts having to store glyph attributes by monotonically increasing attribute number
104 . zeropadding was not getting called on feature tags
105 . automatic associations for unassociated characters
106 . use direct engine on Mac
107 . various extreme case reading 1 past the end errors fixed
108 . remove tabs from sources so that it becomes readable again
112 . fix byte swapping when testing cmap subtable lengths
113 . work around armel compilation problems with conditional operators
114 . fix pseudoglyph support for advance and bbox
117 . Add support for passKeySlot (makes Charis 2x faster) up to 32 passes
118 . Add telemetry output to json if enabled in build GRAPHITE2_TELEMETRY
119 . Shrink font memory footprint particularly in the fsm
120 . Add -S to comparerenderer
122 . Fix shift.x being reversed for rtl text
123 . Fix faulty fallback justification
124 . Fix bad cmap handling
125 . Support compiling on old Solaris where bidi attributes clash with register names
126 . Follow the crowd in using Windows.h
130 . Allow glyph reattachment
131 . Allow signed glyph attributes
132 . Various build problems with MacOS, old gcc versions, etc.
133 . Various overrun read errors fixed
137 . Added Windows friendly gr_start_logging and gr_stop_logging, now per face
138 . Added gr_make_face_with_ops, gr_make_face_with_seg_cache_and_ops
139 . Added gr_make_font_with_ops
140 . Added gr_face_is_char_supported
141 . Added gr_face_info to give info to apps about face capabilities
142 . Deprecated gr_make_face, gr_make_face_with_seg_cache, gr_make_font_with_advance_fn
143 . Deprecated graphite_start_logging and graphite_stop_logging
144 . These functions are stubbed now and do nothing, but do compile and link.
145 . Bump API version to 3
146 . Add C# wrapper to contrib
147 . Handle justification information in a font and do something useful with it
148 . Builds clang clean (has done for a while)
150 . Windows build and bug fixes
151 . Add extra information to json debug output
152 . Added windows build documentation
153 . Added freetype sample code and test
156 . Default build has GRAPHITE2_COMPARE_RENDERER to OFF to reduce dependencies
157 . Builds on Mac with clang
158 . Debug output improvements
159 . Tidy up perl wrappers
160 . Fuzz tester improvements
161 . Various bug fixes for bad font handling
164 . Support feature ids < 4 chars when space padded for inclusion in FF 14.
165 . More fuzztesting and removal of causes of valgrind bad reads and sigabrts
166 . Remove contrib/android into its own repo (http://hg.palaso.org/grandroid)
167 . Update comparerenderer to latest harfbuzzng api
170 . Missing Log.h included
171 . perl wrappers updated
174 . Refactored debug output to use json
175 . Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
176 . Renamed DISABLE_SEGCACHE to GRAPHITE2_NSEGCACE
177 . Renamed DISBALE_FILE_FACE to GRAPHITE2_NFILEFACE
178 . Renamed ENABLE_COMPARE_RENDERER to GRAPHTIE2_COMPARE_RENDERER
179 . Renamed DOXYGEN_CONFIG to GRAPHITE2_DOXYGEN_CONFIG
180 . Renamed GR2_CUSTOM_HEADER to GRAPHITE2_CUSTOM_HEADER
181 . Renamed GR2_EXPORTING to GRAPHITE2_EXPORTING
182 . Added GRAPHITE2_STATIC for static only builds
183 . Added GRAPHITE2_NTRACING to compile out tracing code
184 . Documented GRAPHITE2_{EXPORTING,STATIC,NTRACING} in hacking.txt
185 . Bump libtool version to 2.1.0
186 . dumb font rendering works
187 . slot user attributes are now signed rather than unsigned
188 . add support for long class maps
189 . Rename perl library to avoid nameclash on Windows
190 . Various robustness fixes
191 . Moved internal .h files into src/inc
192 . Parallelise fuzztest
193 . General build improvements, particularly on Windows
196 . Fix UTF16 surrogate support
197 . script and lang tags may be space padded or null padded
198 . Remove need for WORDS_BIGENDIAN, do it all automatically
199 . Remove all #include <new>. Use CLASS_NEW_DELETE instead.
200 . Fix comparerenderer to work with current hbng
201 . Add valgrind to fuzztest to ensure good memory use at all times
202 . Fix new fuzztest exposed bugs.
203 . Fix bugs exposed by Mozilla security review
204 . Add continuous integration build on Windows support
208 . Comparerenderer uses hbng enforcing ot rendering
209 . Add Bidi .hasChar support and refactor mirroring code
210 . Make cmake default Release rather than debug
211 . Don't compile in a boat load of TtfUtil that isn't used, saving 15% of binary
212 . Chase the FSF around its latest office moves
213 . WORDS_BIGENDIAN is set at the top so tests now pass on ppc, etc.
214 . More words in the manual
217 . Release is the default build in cmake now.
218 . Refactor cmake build to not rebuild things so much.
219 . Include a missing file
220 . Remove -nostdlibs, making gcc happy everywhere
221 . Update comparerenderer to latest hbng interface
225 . First major release of perfect code!