Home | Back
libLASi Release 1.1.1
~~~~~~~~~~~~~~~~~~~~~
This is a stable release of libLASi. It represents the ongoing efforts
of the libLASi developers to improve the libLASi library for creating
PostScript documents that can contain characters from any of the
script and symbol blocks supported in Unicode and by the Pango layout engine.

If you encounter a problem with libLASi, then please send a bug report to
the libLASI developers via the lasi-devel mailing list described at
http://lists.sourceforge.net/lists/listinfo/lasi-devel.

Please see the license under which this software is distributed (LGPL), and
the disclaimer of all warrantees, given in the COPYING.LIB file.

INDEX

1. Changes relative to our previous release (version 1.1.0).

1.1 Make declaration and definition of setFont arguments consistent.
1.2 Fix alignment of diacritical marks.
1.3 Build system improvements.
1.4 Reduction of symbol visibility for gcc.

1.1 Make declaration and definition of setFont arguments consistent.

Thanks to John Ellson's bug report (link failure with Sun's CC - ID:
2797964) we found out that the arguments of setFont had inconsistent
const attributes between the declaration in LASi.h and the definition
in psDoc.cpp.  We have now fixed that inconsistency by using John's
patch to drop the const attribute from the appropriate definition
arguments.

1.2 Fix alignment of diacritical marks.

Thanks to Yotam Medini for supplying a patch which we have applied to
correct the positioning of diacritical marks.  This change means there
must be an extra bool applyOffset = false argument to the
PostscriptDocument::for_each_glyph_do method (see Lasi.h).  This
method is called internally by other libLASi routines with applyOffset
both true and false depending on circumstances/needs to obtain
correct offsets for diacritical marks.  

This method is also available for external use so this added argument
is a backwards-incompatible API change requiring rebuilding of
apps/libraries that use this method, and the soversion of the library
has been bumped from 0 to 1 consistent with this API change.  However,
this external API change issue is not relevant for the libLASi
examples that are part of this release and also to the psttf device driver
for PLplot that depends on libLASi because those applications and device
driver plug-ins do not call the for_each_glyph_do method.

1.3 Build system improvements.

Our CMake-based build system has been updated to determine pkg-config
results in a way that is much more useful for CMake.  (We simply
adopted PLplot's method of handling this).  The result is that modern
CMake (tested on CMake-2.6.4 and CMake-2.8.1) warnings about
inconsistent library handling by Policy CMP0003 are no longer present.
The minimum version of CMake has been updated from 2.4.5 (!) to 2.6.4.

1.4 Reduction of symbol visibility for gcc.

The infrastructure in LASi.h for exporting symbols for the Windows
version of this library has been generalized for the gcc-4.x case for
Unix platforms following the well-tested implementation used for
the PLplot libraries.

The net effect of this change is that Windows visibility of symbols
should be unchanged and similarly for Unix _except_ for the case of
gcc on Unix where the user specifies the gcc -fvisibility=hidden
option.  For that case, the exported symbols are reduced to those
exported in the Windows case.  The difference in results between using
default visibility and -fvisibility=hidden for gcc-4.x on Unix is the
number of visible symbols in libLASi.so is reduced from 164 to the 128
actually needed by users of the library which should give a modest but
still significant reduction in load times.