summaryrefslogtreecommitdiffstats
path: root/gfx/graphite2/ChangeLog
blob: e36110e1c188af42f88e83515f38287c0493e6e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
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!