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 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354
|
Nov 1996: t1lib-0.1-alpha
-------------------------
- first public release of t1lib with all basic functionality
May 1997: t1lib-0.2-beta
-------------------------
- Now uses autoconf to configure the software for the system.
- All functions put into one library.
- ATTENTION: Argument order for the glyph-setting functions changed to be
consistent with the info functions. Programs that already use
t1lib have to be rewritten (sorry....)
- Function for computing the width of a string added (T1_GetStringWidth()).
- Function for computing the BoundingBox of a string added
(T1_GetStringBBox()).
- Function T1_GetMetricsInfo() added. It returns a struct containing width,
bounding box, number of characters and horizontal position of the characters
in character space coordinates (afm-units).
- Function T1_GetBBox() renamed to T1_GetCharBBox() for consistency reasons.
- All exit() calls removed from library and replaced by appropriate error
return codes.
- t1lib now optionally supports a logfile for logging of error- and
warning-messages at runtime. The "verbosity" of this logfile may be chosen
by the user.
- Documentation more complete.
July 1997: t1lib-0.3-beta
-------------------------
- Code for placing character bitmaps in T1_SetString() slightly advanced; the
restrictions concerning slanted fonts are eliminated.
- T1_GetStringBBox()/T1_GetCharBBox() extended. It is now possible to get the
bounding box if the font is slanted. This is implemented by examining the
characters outline at 1000bp.
- Some Bugs in the code managing linked lists of font sizes have been
corrected.
- Bug in T1_CopyFont() has been corrected. This should work now.
- The behavior during configuration file searching has been changed to
be compatible to well known UNIX-conventions.
- As the main new feature in this release t1lib now has direct support
for X11 (optionally). There is a set of functions that act similar
to XDrawText(), i.e. they draw directly into a drawable (pixmap or
window).
- Caching of bitmaps of the X11 rastering functions is also done
in the X-Server for maximum performance (although it is not as
fast as I dreamed of, admittedly).
- X11 rastering functions use the current foreground/background
colors
- The X11 rastering functions implement automatical antialiasing
between foreground and background color
- The X11 rastering functions provide an opaque and a transparent
mode
- The X11 rastering functions can draw into drawable of any depth
(provided the depth is large enough)
- A new target has been added to the makefiles allowing to remove
a t1lib-installation automatically from a system.
December 1997: t1lib-0.4-beta
-----------------------------
- Many memory allocation bugs fixed. t1lib is now "libefence-proved".
- Kerning and Metrics-Lookup rewritten. The corresponding functions are now
based on character indices rather than on character names which makes them
up to 8 x faster than before, depeding on data and context.
- Raph Levien (raph@acm.org) contributed a fast algorithm for subsampling
which improves Antialiasing time significantly.
- Fred L. Drake, Jr. (fdrake@acm.org) contributed a Python-interface
to t1lib. This allows Python programmers to make use of Adobe Type
1 fonts. This package, called t1python, is distributed with t1lib in
an independent subdirectory of the distribution. See README.t1python
for more information on t1python.
- Bitmaps and antialiased bitmaps may now be padded 8, 16 or 32 bits. This
allows (with some restrictions) somewhat faster concatenation of
characterbitmaps to stringbitmaps. The padding-value may be set and queried
at runtime.
- The optional X11-interface, introduced in t1lib-0.3-beta, has been reduced
to a simple wrapper. X11-pixmap caching has been completely dropped since it
has proven to be too inefficient. However, at the level of the function
calls, nothing has changed.
- Configuration of t1lib (with or without X11-interface) may be queried by
applicationprogrammers at compiletime or by applications at runtime.
- Two functions for informations on fonts have been added:
1) T1_GetFontBBox(): Return a fonts' bounding box.
2) T1_GetAllCharNames(): Return a list of all character defined in a Type 1
font. This might be of interest if somebody wants
to set up new encodings.
- Function T1_CloseLib() added. This function allows to completely free the
data-structures of t1lib. T1_CloseLib() should be called in future when an
application using t1lib exits.
- Many other things not worth to be metioned ...
March 1998: t1lib-0.5-beta
--------------------------
- Changed the license to the GNU General Public Library License (LGPL)
- Definition of INFINITY removed from
lib/type1/[regions.c|regions.h|t1imager.h]. Collided with a
definition in math.h on OS/2.
- Implemented proper handling of environment variables CFLAGS, LDFLAGS
and CC during build process.
- Added target 'without_doc' for people who have a very rudimentary or
no LaTeX-System at all
- Fixed some bugs that appeared when font files from database were not
found
- Clipmask Bug in the X11-rastering functions fixed
- Bugs in VM-reallocation (T1_LoadFont()) repeatedly fixed. It is now
ANSI-C compliant.
- Alignment of VM changed. This was needed on some systems.
- Set of functions for accessing information from FontInfo dictionary
is now complete. This introduces the new functions
T1_GetFullName(), T1_GetFamilyName(), T1_GetWeight(),
T1_GetItalicAngle(), T1_GetIsFixedPitch(), T1_GetVersion(),
T1_GetNotice().
- ATTENTION: In the above context, T1_GetPostScriptName() has been
renamed to T1_GetFontName() for consistency reasons, sorry.
- ATTENTION: All types "unsigned char (*)" have been changed to
char (*) in the API functions. This was necessary while adapting
t1lib to ANSI-standard to make it portable. Sorry for this
confusion.
- New function T1_AddFont(): Fonts can now be added to the font
database at runtime. This means especially, one can ignore a
FontDataBase file thus can start t1lib-programs on single fontfiles
without doing a complete setup before.
- There is now also the possibility to ignore the currently active
configuration file, thereby setting all search paths to the current
working directory and having an empty font data base. This is meant
for small applications that work on single files.
- t1lib is now able to work with fonts without corresponding
afm-files. AFM-information can be produced from pfa- and
pfb-files. This, of course, refers only to character-metrics
information.
- A function T1_WriteAFMFallbackFile() is provided which allows to
dump metrics information to a valid AFM-file.
- New subdirectory type1afm created which contains type1afm, a program
to extract afm files from Type 1 font files.
- Renamed definitions MAX, MIN, ABS, TRUE and FALSE because they
collided with system header files on some systems.
- Corrected antialiasing functions. The metrics should now be as
correct as possible and black pixel at the right edge of the bitmaps
should not appear any more.
- Handling of unencoded characters in strings (such as adieresis in
AdobeStandardEncoding) is now consistent in rotated and non-rotated
glyphs.
- A few functions have been added to get information on the file search
environment and to manipulate the search paths from within applications.
- Mixed endian setups (i.e., client and X-server on different machines
with different endianess) should now be handled correctly.
- In summary t1lib should now be much more portable than before.
- Update to t1python-0.3
March 1998: t1lib-0.6-beta
--------------------------
- Cleaned up the sources in type1-directory
- Functions Xalloc() and Xfree removed. x11dummy.c from list of source files
removed.
- A few bugs fixed
- Character positioning rewritten. It does now handle strings
correctly in which the leftmost pixels does not belong to the first
character and the rightmost pixels do not belong to the last character.
- t1lib now substitutes .notdef for defined character names that have
no corresponding charstring. This is a workaround for some fonts in
the ghostscript distribution (e.g., s050000l.pfb)
- Separated the X11-wrapper from the rest of t1-stuff. t1lib now
consists of two libraries and two include files.
- Cleaned up configuration and compilation process.
May 1998: t1lib-0.7-beta
------------------------
- Athena libraries are explicitly located for non-standard system
- glyph-structure changed. glyph.metrics.characterWidth is replaced
glyph.metrics.advanceX and an entry glyph.metrics.advanceY is added.
- Interpretation of the sign of glyph.metrics.descent has changed.
- String-rastering functions now support Underlining, Overlining and
Overstriking.
- Functions for overriding default line-parameters implemented.
- Whitespace at beginning and ending of glyphs is now correctly recorded into
leftSideBearing and RightSideBearing.
- Function T1_ConcatGlyphs() added to API. It concatenates two glyphs of
identical depth with an optional displacement inserted.
- xglyph output window has changed for X-rastering functions. It is now of
constant size with the logical origin in the center. Too large glyphs are
simply clipped.
- t1lib can be compiled and run on VMS thanks to John Hasstedt
(John.Hasstedt@sunysb.edu). A configure.com script for building on VMS is
included in the toplevel directory.
- T1_GetMetricsInfo() and T1_GetStringBBox() fixed. Now results are correct
also if the leftmost pixel in a glyph doesn't belong to the first char and if
the rightmost pixel does not belong to the last character.
- Leading and trailing white space in glyphs should now be recorded
consistently and correctly for all rastering functions.
- xglyph can now display a character map of a font.
- Global variable T1_errno introduced. It basically works the same way
as the errno in libc. This allows applications a unified
error-handling.
- Update to t1python-0.7.
|