File: Changes

package info (click to toggle)
t1lib0 0.7.1-5
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,740 kB
  • ctags: 2,569
  • sloc: ansic: 20,709; sh: 2,298; makefile: 878; python: 532
file content (354 lines) | stat: -rw-r--r-- 10,339 bytes parent folder | download
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.