1 2002-12-22 Behdad Esfahbod <fribidi@behdad.org>
2 * Makefile.am: Added fribidi_types.i to
3 libfribidiinc_HEADERS, to fix bug reported by Omer Zak.
5 2002-12-10 Behdad Esfahbod <fribidi@behdad.org>
6 * Created CVSROOT entries.
8 2002-08-07 Behdad Esfahbod <fribidi@behdad.org>
9 * AUTHORS: Added Tomas Frydrych <tomas@frydrych.uklinux.net>.
10 * READMY: Moved AbiWord to applications that use fribidi.
11 * fribidi.h: Removed #include "fribidi_mem.h".
12 * fribidi_config.h: Added to CVS, to make MSVC builds from CVS
14 * win/*: Added to CVS.
16 2002-08-01 Behdad Esfahbod <fribidi@behdad.org>
17 * *.c, *.h, fribidi_config.h.in, configure.in, acconfig.h: Applied
18 and completed the patch from Tomas Frydrych, to add FRIBIDI_EXPORT
19 and FRIBIDI_API symbols. These symbols are needed for ports of
20 fribidi to Windows and other platforms.
21 * fribidi_char_sets.i, fribidi_types.i: Added.
23 2002-06-17 Behdad Esfahbod <fribidi@behdad.org>
24 * fribidi_unicode.h: Set Unicode chars based on sizeof FriBidiChar.
25 Now if one changes FriBidiChar to 16bit, and regenerate char_type
26 tables, they will be 16bit too.
28 2002-05-19 Behdad Esfahbod <fribidi@behdad.org>
29 * Fribidi 0.10.4 released.
30 * configure.in: Changed version information.
32 2002-05-18 Behdad Esfahbod <fribidi@behdad.org>
33 * packtab.c: Updated the search and output generating routines,
34 to use select among int8, int16 and int32 types, this helps to
35 compress better, and generate fewer symbols.
37 2002-05-16 Behdad Esfahbod <fribidi@behdad.org>
38 * fribidi_wcwidth.c: Updated to latest source of 2002-05-08.
39 * fribidi_wcwidth.i: Added, fribidi_wcwidth.c includes this to reduces
40 changes needed in fribidi_wcwidth.c.
41 * fribidi_mem.h, fribidi_types.h, *.c: Common type names like int32,
42 boolean, ..., changed name to have fribidi prefix.
43 * .indent.pro: Updated type names.
44 * fribidi_char_sets_utf8.c: Fixed to support 4-byte length utf-8
47 2002-05-04 Behdad Esfahbod <fribidi@behdad.org>
48 * fribidi_wcwidth.c: Updated to latest source of 2002-05-03.
50 2002-04-07 Behdad Esfahbod <behdad@bamdad.org>
51 * unidata/*, fribidi_unicode.h, fribidi_wcwidth.c: Update to
53 * configure.in: Version information updated.
54 * fribidi.c: Version information changed to contain Unicode version too.
57 2002-03-25 Behdad Esfahbod <behdad@bamdad.org>
58 * fribidi.c: Fixed a bug introduced in adding L3 rule.
60 2002-03-15 Behdad Esfahbod <behdad@bamdad.org>
62 * configure.in: Changed version to 0.10.2.
64 2002-03-15 Behdad Esfahbod <behdad@bamdad.org>
65 * packtab.c: Updated the output generating routine, to generate much
66 fewer symbols, to reduce the relocation time (suggested by Owen
69 2002-03-15 Behdad Esfahbod <behdad@bamdad.org>
70 * fribidi.c, fribidi.h: Applied the patch from
71 Dominique Unruh <dominique@unruh.de> to reorder the NSM character
72 to follow their base character (rule L3), fribidi_reorder_nsm_status(),
73 fribidi_set_reorder_nsm() added.
74 * fribidi_main.c: Option --reordernsm added, also --test sets
76 * TODO: Done task for rule L3 removed.
77 * AUTHORS: Dominique Unruh <dominique@unruh.de> added.
78 * tests/test_UTF-8_nsmreorder.input,
79 tests/test_UTF-8_nsmreorder.reference: Added.
80 * NEWS: Updated, will be used to reflect each release News.
82 2002-03-12 Behdad Esfahbod <behdad@bamdad.org>
83 * fribidi.spec.in: Small cleanup.
85 2002-03-08 Behdad Esfahbod <behdad@bamdad.org>
86 * Makefile.am: Small cleanup.
87 * bootstrap: automake options removed, added in Makefile.am.
89 2002-01-25 Behdad Esfahbod <behdad@bamdad.org>
90 * Makefile.am: Added fribidi.spec to distribution, to be able to make
91 RPMs from released distribution with 'rpm -tb'.
92 * fribidi.c: Added 'do { ... } while (0)' stuff around #defined codes.
94 2002-01-23 Behdad Esfahbod <behdad@bamdad.org>
95 * fribidi_create_char_types.c, fribidi_create_mirroring.c: Changed
96 to use sprintf() instead of snprintf().
98 2002-01-04 Roozbeh Pournader <roozbeh@sharif.edu>
99 * FriBidi 0.10.1 released.
100 * configure.in: Changed the version to 0.10.1.
102 2002-01-18 Behdad Esfahbod <behdad@bamdad.org>
103 * configure.in, fribidi.spec.in: Clean up, different version components
104 defined, rpm names changed from fribidi to fribidi{majorversion}.
106 2002-01-14 Behdad Esfahbod <behdad@bamdad.org>
107 * fribidi.c: Rewrote run_length_encode_types() main loop.
109 2002-01-12 Behdad Esfahbod <behdad@bamdad.org>
110 * fribidi.spec.in: Define RPM serial version as interface version.
111 * TODO: New tasks added.
113 2002-01-11 Behdad Esfahbod <behdad@bamdad.org>
114 * packtab.c: Fixed the bug Owen Taylor <otaylor@redhat.com>, defines
115 internal arrays as "static const" in output.
116 * fribidi_create_char_types.c, fribidi_create_mirroring.c: Fixed to
117 add "#ifndef ... #define ..." stuff around output.
119 2002-01-10 Behdad Esfahbod <behdad@bamdad.org>
120 * configure.in: Changed the version to 0.10.1pre.
121 * TODO: Done tasks removed.
122 * *.h: "extern C" stuff added.
123 * fribidi-config.in: Include path changed from @includedir@/fribidi
125 * fribidi.c: Set FRIBIDI_CHUNK_SIZE according to MEM_OPTIMIZED flag
127 * fribidi.c, fribidi_unicode.h, conformance/test: Do not set
128 MAX_LEVEL to 15 if flag DEBUG defined, renamed to
129 UNI_MAX_BIDI_LEVEL and moved to fribidi_unicode.h, should not check
130 fribidi with debug-enabled reference code anymore. Updated
131 conformance/test to reflect this change.
132 * README: Sample input and output removed, referred to tests directory
133 * fribidi_config.h.in: Added, configure creates fribidi_config.h from
135 * fribidi.spec.in: Added, configure creates fribidi.spec from this.
136 It can be used to create RPM packages.
138 2002-01-04 Roozbeh Pournader <roozbeh@sharif.edu>
139 * FriBidi 0.10.0 released.
140 * configure.in: Changed the version to 0.10.0.
142 2002-01-02 Behdad Esfahbod <behdad@bamdad.org>
143 * bootstrap: automake option -a added
144 * fribidi_types.h: FriBidiStrIndex type changed from uint16 to int.
145 FriBidiLevel introduced, as uint8 to hold the type for bidi levels.
146 * fribidi.c, fribidi.h, fribidi_utils.c, fribidi_main.c: Updated to
147 use FriBidiLeveli and FriBidiStrIndex.
148 * fribidi.h, fribidi.c: fribidi_remove_explicits() replaced by
149 fribidi_remove_bidi_marks() which also updates l2v, v2l and levels.
150 * fribidi.h, fribidi_char_type.c: fribidi_get_types() added.
151 * wcwidth.c: Replaced by fribidi_wcwidth.c.
152 * fribidi_wcwidth.c: Markus Kuhn's implementation of wcwidth(),
153 updated to use fribidi's types.
154 * fribidi.pc.in: Added, input file for pkgconfig support.
155 * configure.in, Makefile.am: Updated to make fribidi.pc, which
157 * AUTHORS: Abel Cheung <maddog@linux.org.hk> added, has implemented
159 * fribidi_char_sets.h, fribidi_char_sets.c: Check for macro
160 FRIBIDI_INTERFACE_1 to define fribidi_*_to_unicode functions with
162 * Makefile.am: A small dependency problem fixed.
163 * unidata/README: Added, Unicode disclaimer.
164 * Makefile.am: unidata/README, unidata/UnicodeData.txt,
165 BidiMirroring.txt: Added to distribution files.
166 * Removed wget mechanism for autogetting the Unicode data files.
168 2001-12-31 Behdad Esfahbod <behdad@bamdad.org>
169 * configure.in: Check for sed added.
170 * Makefile.am: Scripts fixed to work with sh (not bash).
172 2001-12-14 Behdad Esfahbod <behdad@bamdad.org>
173 * fribidi_get_type.c: Removed, replaced by fribidi_char_type.c and
175 * Makefile.noglib, fribidi_mini_glib.c, fribidi_mini_glib.h: removed,
176 no glib dependency, replaced by fribidi_mem.c, and fribidi_mem.h.
177 * fribidi_tables.i: Removed, replaced by fribidi_tab_mirroring.i,
178 fribidi_tab_char_type_2.i, and fribidi_tab_char_type_9.i.
179 * unidata/CreateGetType.pl: Removed, replaced by
180 fribidi_create_mirroring.c, and fribidi_create_char_types.c.
181 * tests/test-CapRTL, tests/test-CapRTL.reference: Removed, replaced by
182 tests/test_CapRTL_implicit.input, and
183 tests/test_CapRTL_implicit.reference.
184 * tests/test-explicit, tests/test-explicit.reference: Removed, replaced
185 by tests/test_CapRTL_explicit.input, and
186 tests/test_CapRTL_explicit.reference.
187 * tests/test-hebrew, tests/test-hebrew.reference: Removed, replaced by
188 tests/test_ISO8859-8_hebrew.input, and
189 tests/test_ISO8859-8_hebrew.reference.
190 * tests/test_CapRTL_implicit.input,
191 tests/test_CapRTL_implicit.reference,
192 tests/test_CapRTL_explicit.input,
193 tests/test_CapRTL_explicit.reference,
194 tests/test_ISO8859-8_hebrew.input,
195 tests/test_ISO8859-8_hebrew.reference,
196 tests/test_UTF-8_persian.input,
197 tests/test_UTF-8_persian.reference: Added.
198 * wcwidth.c: Added, determines a characters width, to break lines.
199 * fribidi_create_mirroring.c: Added, creates fribidi_tab_mirroring.i
200 from unidata/BidiMirroring.txt
201 * fribidi_create_char_types.c: Added, creates fribidi_tab_char_type_*.i
202 from unidata/UnicodeData.txt
203 * fribidi_tab_mirroring.i: Added, mirroring table.
204 * fribidi_tab_char_type_2.i, fribidi_tab_char_type_9.i: Added, as
205 default character type tables, one optimized for speed, one for
206 space, MEM_OPTIMIZED flag will decide which one to use.
207 * fribidi_mirroring.c: Added, #includes fribidi_tab_mirroring.i.
208 * fribidi_char_type.c: Added, #includes one of
209 'fribidi_tab_char_type_*.i'.
210 * fribidi_mem.c, fribidi_mem.h: Added, define some types and functions
211 that was previously defined by glib.
212 * fribidi_unicode.h: Added, Unicode-dependent definitions moved here.
213 * packtab.c, packtab.h: Added, fribidi_create_char_type.c uses these,
214 to compress the types table.
216 * AUTHORS: Markus Kuhn added, as he has wrote wcwidth.c.
217 * INSTALL: "Building without glib" material removed.
218 * TODO: Updated, done tasks removed, new tasks added.
219 * NEWS: Updated, compile farm results added.
220 * Makefile.am: Lots of changes, to recent changes, new special
221 target fribidi_tab_char_type_N.i added, which N is replaced with
222 a digit between 2 and 9, and makes a table with compress level N.
223 * acinclude.m4: glib material removed.
224 * configure.in: VERSION update, INTERFACE_VERSION added. glib
225 material removed, fribidi_tab_char_types_N.i configuration added,
226 option --without-charsets added. Also creates fribidi_config.h.
227 * fribidi-config.in: A small bug fixed, to set the --cflags output
228 correctly, glib material removed.
229 * fribidi.h: Preprocessor material added for easier link with c++
230 codes, new headers included.
231 * fribidi_benchmark.c: Character set dependency removed, uses no
233 * fribidi_char_sets*.c, fribidi_char_sets*.h: Preprocessor material
234 added to reflect the effect of --without-charsets configure option.
235 * fribidi_char_sets_utf8.c, fribidi_char_sets_utf8.h: Unused code
237 * fribidi_main.c: Changed to reflect the effect of --without-charsets
238 configure option, and use iconv if no charsets. Option --nobreak
239 added for no line breaks. Line break code rewrote to break correctly
241 * fribidi_types.h: In definition of FriBidiChar values, states that
242 sign bit is reserved for user's private use, FRIBIDI_TYPE_PRIVATE
243 macro defined to check for this.
244 * run.tests: Changed to test fribidi with all test files in tests/
245 directory, and also automatically extract the character set from
247 * *.c, *.h: glib material replaced with their equivalents: gchar
248 replaced with char, gint replaced by int, ...
250 2001-12-11 Roozbeh Pournader <roozbeh@sharif.edu>
251 * FriBidi 0.9.1 released.
252 * configure.in: changed the version to 0.9.1.
254 2001-12-10 Roozbeh Pournader <roozbeh@sharif.edu>
255 * fribidi.c: fixed a memory boundary bug (fix by Hidetoshi Tajima
256 <hidetoshi.tajima@sun.com>).
257 * INSTALL: added a comment for how to install from CVS (suggested by
258 Omer Zak); cleaned up some vertical spacing.
259 * ChangeLog: changed Behdad's address to 'bamdad.org'.
261 2001-08-23 Behdad Esfahbod <behdad@sharif.edu>
262 * acinclude.m4, ltmain.sh, ltmain.in, ltconfig: Updated with
263 libtool-1.4 to configure under latest cygwin.
265 2001-05-29 Behdad Esfahbod <behdad@sharif.edu>
266 * fribidi_get_type.c: Updated to use new 'fribidi_tables.i'.
267 * fribidi_utils.c: very small code cleanup.
269 2001-05-29 Roozbeh Pournader <roozbeh@sharif.edu>
270 * unidata/CreateGetType.pl, fribidi_tables.i, Makefile.am: Updated
271 for Unicode 3.1. Replace PropList parsing with UnicodeData parsing.
272 Unassigned characters are now treated as specified in Table 3-7 of
274 * unidata/PropList.txt: removed.
275 * unidata/UnicodeData.txt: added.
277 2001-05-22 Behdad Esfahbod <behdad@sharif.edu>
278 * fribidi_char_sets_utf8.c: Fixed a little bug in utf-8 -> unicode
281 2001-05-16 Behdad Esfahbod <behdad@bamdad.org>
282 * fribidi.c: Fixed a bug in rule W1, that caused W5 not to work
283 properly when adjacent to a NSM.
285 2001-05-06 Behdad Esfahbod <behdad@bamdad.org>
286 * fribidi_types.h: Changed to use #define instead of enum's
287 work properly with machines with 16bit ints.
289 2001-04-13 Roozbeh Pournader <roozbeh@sharif.edu>
290 * configure.in: Added Owen Taylor's patch to make warnings on
293 2001-04-12 Behdad Esfahbod <behdad@bamdad.org>
294 * configure.in, Makefile.am: Changed to use getopt.* if no glibc.
295 * getopt.c, getopt.h, getopt1.c: Added to be used if no glibc.
297 2001-04-11 Behdad Esfahbod <behdad@bamdad.org>
298 * acinclude.m4: Added macro definitions of libtool.
299 * configure.in, Makefile.am: Changed to use fribidi_mini_glib
300 whenever glib library not found.
301 * TODO: Removed done tasks.
303 2001-04-11 Behdad Esfahbod <behdad@bamdad.org>
304 * fribidi_char_sets_*.c: Fixed bugs introduced in guchar to gchar
307 2001-04-10 Behdad Esfahbod <behdad@bamdad.org>
308 * *.c/*.h: Changed all "guchar"s to "gchar" and needed casts done.
309 * Makefile.am: Added MAINTAINERCLEANFILES to remove files
310 "configure", "config.h.in", "Makefile.in", "aclocal.m4" by
311 maintainer-clean target.
313 2001-04-07 Behdad Esfahbod <behdad@bamdad.org>
314 * fribidi_main.c, fribidi_benchmark.c: Check for HAVE_CONFIG_H flag.
316 2001-04-03 Behdad Esfahbod <behdad@sharif.edu>
317 * fribidi_mini_glib.h, fribidi_mini_glib.c: Added functions
318 for working with MemChunks, some more definitions of glib added.
319 * fribidi.c: No more dependency on FRIBIDI_USE_MINI_GLIB flag.
321 2001-04-01 Behdad Esfahbod <behdad@bamdad.org>
322 * Makefile.noglib: fribidi_types.c added to sources.
323 * fribidi.c: Fixed a bug in free_rl_list() when USE_SIMPLE_MALLOC
324 was set, that caused core dumps.
325 * fribidi_main.c: Option --nomirror added.
326 * fribidi_mini_glib.h: Fixed a bug that caused core dumps, the bug
327 was in macro definition #define g_new(T, n) malloc(n * sizeof(T)),
328 that caused g_new(X, n + 1) allocate (n + (1 * sizeof(X))) instead
329 of ((n + 1) * sizeof(X))!, that should be
330 #define g_new(T, n) malloc((n) * sizeof(T)).
331 * fribidi_mini_glib.h: Does not set USE_SIMPLE_ALLOC anymore.
332 * fribidi.c: Use g_malloc when FRIBIDI_USE_MINI_GLIB is set, but
333 still use the free_type_link_list, for efficiency.
335 2001-03-31 Behdad Esfahbod <behdad@bamdad.org>
336 * fribidi_benchmark.c: #included <stdarg.h>, to compile under cygwin.
337 * fribidi.c, fribidi.h: Changed fribidi_log2vis_get_embedding_levels()
338 to return TRUE if successful and FALSE otherwise.
339 * fribidi.c: Function bidi_string_strlen() removed, because we
340 have not assumed that a fribidi string is ended with char 0.
341 Fixed all the bugs that roozbeh found and some more. Some more
342 debug information added. All internal functions defined as static.
343 * fribidi_main.c: Set to do not allocate visual array, if --novisual
345 * .indent.par: Added, it helps program "indent" to change the
346 appearance of sources to GNU style, each typedef should be added
349 2001-03-31 Roozbeh Pournader <roozbeh@sharif.edu>
350 * fribidi.c, fribidi_benchmark.c, fribidi_char_set_cap_rtl.c:
351 removed some unused variables.
352 * fribidi_char_sets*.c, fribidi_main.c: #included <string.h>.
353 * fribidi.c, fribidi_char_sets_cap_rtl.c: added some comment lines
354 to places that bugs probably exist. find with searching for "--RP".
355 * COPYING.LIB: renamed to COPYING (based on a recent suggestion on
357 * bootstrap: removed lines that suppressed warnings about missing
360 2001-03-30 Roozbeh Pournader <roozbeh@sharif.edu>
361 * Makefile.noglib: replaced by a new version from Dan Kenigsberg
362 <danken@cs.technion.ac.il>.
363 * AUTHORS: added Dan Kenigsberg.
364 * '*.c', '*.h': changed all "//" comments to "/* */" pairs.
366 2001-03-30 Behdad Esfahbod <behdad@bamdad.org>
367 * fribidi.c, fribidi.h: Changed fribidi_log2vis() to return TRUE
368 if successful and FALSE otherwise.
369 * fribidi_main.c, fribidi_benchmark.c: Changed to use getopt library,
370 to handle command line parameters better.
371 * fribidi_main.c: Changed to if COLUMNS environment variable is
372 defined, use its value for text width.
374 2001-03-29 Behdad Esfahbod <behdad@bamdad.org>
375 * fribidi.c, fribidi_char_sets.h, fribidi_char_sets_cap_rtl.c,
376 fribidi_main.c, tests/test-CapRTL, tests/test-CapRTL.reference,
377 tests/test-hebrew, tests/test-hebrew.reference: Fixed a bug in
378 --clean that didn't remove RLM and LRM, and updated tests to reflect
380 * fribidi_main.c: Options --wltr and --wrtl added.
381 * TODO: A recently done task removed.
383 2001-03-29 Roozbeh Pournader <roozbeh@sharif.edu>
384 * fribidi-0.9.0: fribidi-0.9.0 released.
386 2001-03-28 Roozbeh Pournader <roozbeh@sharif.edu>
387 * bootstrap: swapped 'aclocal' and 'autoheader'. do not warn for
390 * COPYING.LIB: added.
391 * README, *.h, *.c, unidata/CreateGetType.pl: changes to reflect LGPL.
392 * Makefile.am: added 'bootstrap' to distribution.
394 2001-03-28 Behdad Esfahbod <behdad@bamdad.org>
395 * Makefile.am: New target "fribidi_tables.i" defined to download
396 "unidata/BidiMirroring.txt" and "unidata/PropList.txt" if not
397 available, and call "unidata/CreateGetType.pl" if needed to update
399 * fribidi_types.h, fribidi_types.c, fribidi_get_type.c,
400 unidata/CreateGetType.pl: Define symbol MEM_OPTIMIZED added to
401 make Dov happy :-), if MEM_OPTIMIZED defined, fribidi_tables.i
402 entries will be guint8 instead of gint to free 27KB extra memory
403 that was used to make fribidi use bitmasks, the overhead will be
404 three array lookups instead of two, in fribidi_get_type().
405 * fribidi_main.c: Options --verbose and --basedir added.
406 Options --test and --caprtl updated.
407 * conformance/test_gen.c: File name changed to
408 conformance/test_gen_explicit.c
409 * run.tests: Make to work with "make test" and "make check" when
410 making from other directories.
411 * fribidi.c: Rule L1 ("Reset the embedding levels") moved from
412 fribidi_log2vis() to fribidi_analyse_string(), to affect
413 fribidi_log2vis_get_embedding_levels() too. New functions
414 fribidi_mirroring_status() and fribidi_set_mirroring() added to
415 turn on or off mirroring (Rule L3). Changed to warn about too long
416 strings only if at least one of position_L_to_V_list or
417 position_V_to_L_list is asked.
418 * fribidi.h: Updated to reflect new functions in fribidi.c,
419 #include "config.h" removed, and added to each .c file that use it,
420 because config.h should not be included by other apps/libs.
421 * fribidi.c, fribidi_main.c, fribidi_benchmark.c: #included "config.h",
422 Now, --version options shows the options that library is compiled
423 with (DEBUG, MEM_OPTIMIZED, USE_SIMPLE_MALLOC, FRIBIDI_USE_MINI_GLIB).
424 * fribidi_types.h, fribidi.c, fribidi.h, fribidi_utils.c: TypeDefined
425 FriBidiStrIndex as guint16 and used for the type of
426 position_L_to_V_list and postition_V_to_L_list arrays.
428 2001-03-27 Roozbeh Pournader <roozbeh@sharif.edu>
429 * fribidi.h: Removed definition of PACKAGE and VERSION. #included
431 * Makefile.am: Make "make dist" work.
433 2001-03-27 Behdad Esfahbod <behdad@bamdad.org>
434 * fribidi.c, fribidi_types.h: Some bugs introduced in the last
435 changes removed, "Resolving weak types" rewritten, no known
436 conformance bugs. Defined macros for external use, changed their
437 name to have a prefix of FRIBIDI_.
438 * fribidi.c, fribidi.h: Function fribidi_remove_explicits() added
439 to remove the explicit marks from a fribidi string.
440 * fribidi.c: Fixed a bug that caused position_l_to_v and
441 position_v_to_l not to calculated correctly.
442 * fribidi.h: Defined symbols PACKAGE and VERSION manually, autoconf
443 should set them, but I don't know how to.
444 * fribidi_char_sets.c, fribidi_char_sets.h, fribidi_char_sets_*:
445 Each charset moved to a pair of .c/.h file. CapRTL defined as a
446 character set for testing with the reference implementation, with
447 explicit marks escape strings, beware that it differs from the old
448 capital rtl, it is a character set, only for test, with the property
449 that contains all character types in ascii characters. Some
450 functions defined to make charset conversion easy. An interface
451 designed for adding new charsets.
452 * fribidi_main.c: API revised, many new options added,
453 Default charset changed to UTF-8
454 Option --caprtl simulates the old style (same as --charset CapRTL)
455 Option --test simulates the old test_fribidi (same as --fill
457 Option --clean now works for all charsets.
458 Option --fill implemented.
459 Options --version, --showinput, --ltov, --vtol, --levels, --changes,
460 --novisual, --charsetdesc added.
461 Now use the charset conventions, lots of code removed.
462 * test_fribidi.c: Got removed! `fribidi --test' should be used
464 * fribidi_benchmark: Explicit support added, now benchmarks with
465 two strings, one without explicit marks and one with them.
466 * run.tests, tests/test-CapRTL, tests/test-CapRTL.reference,
467 tests/test-explicit, tests/test-explicit.reference,
468 tests/test-hebrew, tests/test-hebrew.reference: New test datas
469 added, for better testing of weak types and explicit support. Test
470 outputs updated for the new CapRTL character set. Test output for
472 * Makefile.in, Makefile.am: Updated to use fribidi instead of
473 test_fribidi for test targets. New files added.
474 * TODO: Some done tasks removed, some new tasks added!
476 2001-03-09 Dov Grobgeld <dov@orbotech.orbotech.co.il>
477 * fribidi_mini_glib.c, fribidi_mini_glib.h: Applied patch
478 received from Dan Kenigsberg <danken@cs.technion.ac.il> that
479 allows compiling fribidi without glib if the flag
480 FRIBIDI_USE_MINI_GLIB is turned on. This option is currently
481 turned on when compiling through Makefile.noglib .
482 * TODO: Added the task of making autoconf automatically turn
483 on FRIBIDI_USE_MINI_GLIB if glib isn't found.
485 2001-03-07 Behdad Esfahbod <behdad@bamdad.org>
486 * fribidi.c: Removed dead codes, many parts rewritten more efficient,
487 including Resolving Neutrals, Resolving Implicit Levels and ....
488 * fribidi_types.h: Almost redefined, to use bitfields for char types,
489 and many macros defined for efficient querying about char types.
490 Some unused char types removed, also char types L, R, N converted
491 to LTR, RTL and ON everywhere.
492 * CreateGetType.pl: Changed to define tables as arrays of
493 FriBidiCharType instead of guchar.
494 * conformance/: Updated some scripts for automatic testing with
495 reference implementation.
497 2001-02-19 Behdad Esfahbod <behdad@bamdad.org>
498 * fribidi.c: Added support for all explicit marks (embeddings and
499 overrides), it means rules X1 .. X10 of specification.
500 * fribidi.c: Added support for L1 rule of specification, it's
501 resetting the char type of some characters, just before reordering.
502 * fribidi.c: Added 'AL' to types that change the paragraph embedding
503 level, it previously only checked for 'R'.
504 * fribidi.c: Define symbol NO_STDIO changed to DEBUG, to turn on or
505 off all debug codes compile time, also a function fribidi_set_debug,
506 turns on and off the debug output generations in run time.
507 * fribidi.c: Added some more debug information, all debug information
508 revised and go to stderr now.
509 * fribidi.c: Fixed a bug in rule W5, that is when some european
510 terminators are between some arabic letters and some european
512 * fribidi_main.c: Added support for inputting explicit marks, in
514 * fribidi_main.c: Added command line option for debug mode.
515 * fribidi_main.c: Fixed a small bug that would annoy when the size
516 of original string may be different to the derived one.
517 * fribidi_main.c: Fixed a small bug in padding when the size of the
518 out string was more than the page width.
519 * fribidi_types.h: Added some types needed for debug info.
521 2001-02-19 Roozbeh Pournader <roozbeh@sharif.edu>
522 * CreateGetType.pl: changed to use BidiMirroring.txt instead
525 2000-11-12 Dov Grobgeld <dov.grobgeld@gmail.com>
526 * Released fribidi-0.1.15.
527 * fribidi.c: [OZ] Applied Owen Taylor's patch from 2000-07-19 to
528 fribidi.c. The patch affects pp->prev rules for the last element
530 * fribidi.c: [OZ] fribidi_log2vis() and
531 fribidi_log2vis_get_embedding_levels() now check for len==0 and if
532 so, they return immediately (instead of getting stuck).
533 * fribidi.c: [OZ] new_type_link() is now declared as
534 new_type_link(void) to prevent a compiler error message.
535 * fribidi.c: [OZ] The positions of the is_v2l_map and len
536 arguments in fribidi_map_range() prototype were switched around,
537 to conform to actual use in the source code file.
538 * fribidi.c: [OZ] The first argument to fribidi_is_char_rtl() was
539 changed from gint8 to guint8, to conform to data type returned by
541 * fribidi.c: [OZ] bidi_string_strlen() now uses gint rather than int.
542 * fribidi.c: [OZ] bidi_string_reverse() now uses gint rather than int.
543 * fribidi.c: [OZ] int16_array_reverse() is now guint16_array_reverse().
544 * fribidi.c: Added define symbols NO_STDIO, FRIBIDI_MAX_STRING_LENGTH,
545 USE_SIMPLE_MALLOC that may be used to effect what code is being
547 * fribidi_char_sets.h, fribidi_char_sets.c: Added Omer Zaks more
548 general ut8 to unicode and unicode to ut8 functions.
549 * fribidi.c: [OZ] Replaced int to gint to better support embedded
551 * Applied lots of code contributed by Omer Zak <omerz@actcom.co.il>
555 2000-10-14 Dov Grobgeld <dov.grobgeld@gmail.com>
557 * Released fribidi-0.1.14.
559 * CreateGetType.pl, fribidi_tables.i: Applied a patch received
560 from Roozbeh Pournader <roozbeh@sina.sharif.ac.ir> (who has got
561 quite some courage sending an email from Iran to Israel) which
562 updates the character tables according to UnicodeData-3.0.1.txt .
564 * fribidi_char_sets.c: Cleaned up the mess and made it compile!
566 2000-10-09 Dov Grobgeld <dov.grobgeld@gmail.com>
567 * Released fribidi-0.1.13 .
568 * acinclude.m4: Added file including a m4 macro for glib-2.0
569 as suggested by Owen Taylor.
570 * Makefile.am: Added acinclude.m4 to extra sources.
571 * configure.in: Changed it to use new macro.
573 2000-05-19 Dov Grobgeld <dov.grobgeld@gmail.com>
574 * fribidi_char_sets.c: Added support for the LRM and RLM
575 characters for the iso-8859-8 converts at unused positions
577 * CreateGetType.pl, fribidi.c, fribidi_tables.i, fribidi_types.h:
578 Updated the algorithms to be consistance with the latest Unicode
579 Technical Report #9 release. Still no explicit overrides, but
580 hopefully the implicit algorithm now works according to the
582 * CreateGetType.pl, fribidi_tables.i: Overwrote the character
583 bidi-assignment of all non-assigned characters within blocks with
584 the property of the previous character in order to create a few
585 more reused secondary lookup character tables.
586 * CreateGetType.pl, fribidi.c, fribidi_tables.i: Added Owen
587 Taylor's speed patch that speeds up fribidi by a factor of 4!
588 Owen's patch consists of two parts. The first part is a double
589 table lookup scheme for accessing the character properties,
590 replacing the old binary search. The second part is a reuse of the
591 links in the character properties linked list in order to minimize
594 2000-05-02 Dov Grobgeld <dov.grobgeld@gmail.com>
595 * Released fribidi-0.1.11 .
596 * Fixed one remaining bug in Makefile.am.
598 2000-04-27 Dov Grobgeld <dov.grobgeld@gmail.com>
599 * Released fribidi-0.1.10 .
600 * Added libtool configuration added by Manish Singh.
601 * Added sevaral arabic charset converts contributed by Pablo
604 2000-03-20 Dov Grobgeld <dov.grobgeld@gmail.com>
605 * Released fribidi-0.1.9 .
607 2000-02-22 Dov Grobgeld <dov.grobgeld@gmail.com>
608 * fribidi_types.h: Changed basic type FriBidiChar to guint32
609 which corresponds to UCS4, which is more reasonable to use.
611 2000-02-21 Dov Grobgeld <dov.grobgeld@gmail.com>
612 * tests/test-capital-rtl: Added new tests to check percentage
613 signs and updated tests.reference to reflect this.
614 * fribidi.c(fribidi_analyse_string): Added the rule
615 EN,ET=>EN,EN which takes care of the problem of percentage
616 signs were put in the wrong place.
618 2000-02-20 Dov Grobgeld <dov.grobgeld@gmail.com>
619 * fribidi.c: Fixed several memory leaks found by Owen Taylor.
621 2000-01-01 Dov Grobgeld <dov.grobgeld@gmail.com>
622 * Added documentation of the utility functions to fribidi.h .
624 1999-12-24 Dov Grobgeld <dov.grobgeld@gmail.com>
625 * Added new function fribidi_is_char_rtl() that uses the
626 embedding levels or the base dir to determine the resolved
627 direction of a character.
628 * Added new function fribidi_xpos_resolve() to fribidi_utils
629 that is needed in an gui interaction to resolve a mouse event
630 to the proper logical and visual positions.
633 1999-12-21 Dov Grobgeld <dov.grobgeld@gmail.com>
634 * Added patches for UTF8 support contributed by raphael@cs.uky.edu.
636 1999-12-05 Dov Grobgeld <dov.grobgeld@gmail.com>
637 * Added two new types FRIBIDI_TYPE_WL and FRIBIDI_TYPE_WR that
638 indicate weak directions. These directions are used if no strong
639 direction is found in the string.
640 * Changed analyse_string() to return base_type FRIBIDI_TYPE_N if
641 the base direction cannot be determined. It is then up to a higher
642 level protocol to determine the base direction.
644 1999-11-22 Dov Grobgeld <dov.grobgeld@gmail.com>
645 * Released version 0.1.7.
646 * Added arabic support contributed by Pablo Saratxaga.
648 1999-06-20 Dov Grobgeld <dov.grobgeld@gmail.com>
649 * Created file fribidi_utils.c which will be used for common
650 patterns that are common in Bidi supported programs.
652 1999-04-28 Dov Grobgeld <dov.grobgeld@gmail.com>
653 * Fixed bug in fribidi_log2vis which occurred if only the v2l
654 array was requested and not the l2v array.
655 * Fixed bug in test_fribidi when using option test_vtol .
656 * Changed types in call to fribidi_log2vis to be more memory
658 * Added single character translation functions to fribidi_char_sets.
660 1999-04-10 Dov Grobgeld <dov.grobgeld@gmail.com>
661 * Changed building to use glib-config as glib-1.2 is now released.
662 * Added some short cut optimizations.
663 * Cleaned up the TYPE_RULE_C macro and used in in lots of places.
665 1999-02-09 Dov Grobgeld <dov.grobgeld@gmail.com>
666 * Added ./ to the execution of test_fribidi in run.tests.
668 1999-02-08 Dov Grobgeld <dov.grobgeld@gmail.com>
669 * Released 0.1.3 to match the perl module FriBidi.
670 * Added length parameter to fribidi_unicode_to_iso8859_8().
671 * Fixed bug in fribidi.c related to zero length strings.
673 * Added options -ltr and -rtl to fribidi to force LTR and RTL
675 * Added function fribidi_log2vis_get_embedding_levels() which
676 just returns an array of embedding levels.
677 * Added benchmark program.
678 * Added new check in test_fribidi that checks the changes
680 * Changed interface to fribidi_log2vis() to include length of
681 string on input and the embedding level of output.
682 * Added function fribidi_find_string_changes() which finds the
683 bounding box of the changes between two FriBidiStrings.
685 1999-01-19 Dov Grobgeld <dov.grobgeld@gmail.com>
686 * Added the option -bol to fribidi_main.c to print out stuff
687 in the beginning of a line.
689 1999-01-14 Dov Grobgeld <dov.grobgeld@gmail.com>
690 * Released version 0.1.1
691 * Added program fribidi as a command line interface to the library.
693 1999-01-13 Dov Grobgeld <dov.grobgeld@gmail.com>
694 * Added flag -nopad to test_fribidi to make it not insert spaces.
695 * Make P1 rules (ES and CS) work only if the span of the ES or
696 the CS is 1. This is the same as in Hebrew Windoze.
697 * Replaced all the ET rules with the simpler ET,EN=>EN,EN
698 * Added `gtk-config --cflags` and `gtk-config -ldflags` to Makefile.am.
699 * Made test_fribidi read from stdin if no file given.
700 * Added options -outputonly to test_fribidi.
702 1999-01-11 Dov Grobgeld <dov.grobgeld@gmail.com>