blob: 403d3b877f212416581e4affbaf477e623b53c2c [file] [log] [blame]
Tom Kacvinsky99678c32001-03-17 16:44:23 +000012001-03-17 Tom Kacvinsky <tjk@ams.org>
2
3 * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
4 values for the bounding box numbers.
5
6 * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font,
7 set `root->ascender' (`root->descender') to the integer part of
8 `root->bbox.yMax' (`root->bbox.yMin', respectively).
9
Tom Kacvinsky3952f6c2001-03-16 15:09:52 +0000102001-03-16 Tom Kacvinsky <tjk@ams.org>
11
12 * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
13 cff_get_interface to facilitate getting a glyph name for glyph index
14 via FT_Get_Glyph_Name().
Tom Kacvinsky3952f6c2001-03-16 15:09:52 +000015
16 (cff_get_interface): Added support for getting a glyph name via the
17 "glyph_name" module interface. Uses the new function
18 get_cff_glyph_name().
19 Submitted by Sander van der Wal <svdwal@xs4all.nl>
20
21 * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with
22 FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is
23 not defined. This is to add support for getting a glyph name from a
24 glyph index via FT_Get_Glyph_Name().
25 Submitted by Sander van der Wal <svdwal@xs4all.nl>
26
27 * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
28 deprecated operator "dotsection".
29 Submitted by Sander van der Wal <svdwal@xs4all.nl>
30
Werner Lemberg9a8b5362001-03-12 22:33:52 +0000312001-03-12 Werner Lemberg <wl@gnu.org>
32
33 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
34 messages.
35
36 * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
37
Tom Kacvinskyd15ac622001-03-12 02:36:49 +0000382001-03-12 Tom Kacvinsky <tjk@ams.org>
39
Tom Kacvinskyfb68eaf2001-03-12 12:06:30 +000040 * include/freetype/internal/psaux.h: Changed the lenIV member of
41 the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt.
42
Tom Kacvinskyd15ac622001-03-12 02:36:49 +000043 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust
Tom Kacvinskyfb68eaf2001-03-12 12:06:30 +000044 for lenIV seed bytes at the start of a decrypted subroutine.
Tom Kacvinskyd15ac622001-03-12 02:36:49 +000045
46 * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only
47 if lenIV >= 0.
48
49 * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only
50 if lenIV >= 0.
51
Werner Lemberg29bac132001-03-11 11:28:39 +0000522001-03-11 Werner Lemberg <wl@gnu.org>
53
54 * TODO: Updated.
55
Werner Lemberg22e812a2001-03-11 13:11:43 +000056 * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to
57 avoid compiler warnings.
58
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +0000592001-03-10 Tom Kacvinsky <tjk@ams.org>
60
Tom Kacvinsky21fed912001-03-10 20:03:06 +000061 * TODO: New file.
Werner Lemberg29bac132001-03-11 11:28:39 +000062
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +000063 * include/freetype/freetype.h: Added prototypes and notes for
64 three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix.
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +000065 * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added
66 implementation code.
67
68 * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM,
69 and if that is not available, default to 1000 units per EM. Changed
70 assignment code for ascender and descender values.
Werner Lemberg29bac132001-03-11 11:28:39 +000071 * src/cid/cidload.c (parse_font_matrix): Added units_per_EM
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +000072 processing.
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +000073 (parse_font_bbox): Changed to use FT_Fixed number handling.
74
75 * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code
76 for ascender, descender, and max_advance_width.
Werner Lemberg29bac132001-03-11 11:28:39 +000077 * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed
Tom Kacvinskyf4f17d42001-03-10 19:21:19 +000078 number handling.
79
Werner Lemberg29bac132001-03-11 11:28:39 +0000802001-03-10 Henrik Grubbström <grubba@roxen.com>
Werner Lemberg914b2892001-03-10 17:07:42 +000081
82 * src/*/*.c: Added many casts to make code more 64bit-safe.
83
Werner Lemberg7124a8e2001-03-07 21:20:48 +0000842001-03-07 Werner Lemberg <wl@gnu.org>
85
86 * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
87
Tom Kacvinsky54418972001-03-07 20:43:38 +0000882001-03-07 Tom Kacvinsky <tjk@ams.org>
89
Werner Lemberg7124a8e2001-03-07 21:20:48 +000090 * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
Tom Kacvinskya20e15b2001-03-07 20:56:57 +000091 until parse_font_bbox is changed before we use logical shift rights
92 in the assignments of `root->ascender', `root->descender', and
93 `root->max_advance_width'.
94
95 (T1_Done_Face): Free `char_name' table to avoid a memory leak.
Werner Lemberg7124a8e2001-03-07 21:20:48 +000096 Submitted by Sander van der Wal <svdwal@xs4all.nl>.
Tom Kacvinsky54418972001-03-07 20:43:38 +000097
Werner Lemberg2e35c9b2001-03-06 13:56:42 +0000982001-03-05 Tom Kacvinsky <tjk@ams.org>
Tom Kacvinsky0d832652001-03-05 16:24:58 +000099
100 * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
Werner Lemberg2e35c9b2001-03-06 13:56:42 +0000101 the Type 2 glyph charstring (used by conversion programs).
102 Submitted by Ha Shao <hashao@chinese.com>.
Tom Kacvinsky0d832652001-03-05 16:24:58 +0000103
Antoine Lecaca3035a2001-03-05 00:15:37 +00001042001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
105
106 * include/freetype/ttnameid.h: Correct a stupid typo which prevented
107 correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice).
Antoine Lecaca3035a2001-03-05 00:15:37 +0000108
Werner Lemberge274cfd2001-03-04 21:53:08 +00001092001-03-04 Werner Lemberg <wl@gnu.org>
Antoine Leca6d279362001-03-01 18:00:44 +0000110
Werner Lemberge274cfd2001-03-04 21:53:08 +0000111 * src/autohint/ahtypes.h (AH_Hinter): Add elements
112 `disable_horz_edges', `disable_vert_edges'.
113 * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use
114 them (and remove static variables with the same names).
115 * src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
116 * docs/glnames.py: Updated to latest pstables.h changes.
Antoine Leca6d279362001-03-01 18:00:44 +0000117
Werner Lemberg29179a32001-03-04 22:10:36 +0000118 * builds/unix/detect.mk: Add test for Hurd.
119 * builds/hurd/detect.mk: Removed.
120
Werner Lemberge274cfd2001-03-04 21:53:08 +00001212001-03-04 Sander van der Wal <svdwal@xs4all.nl>
David Turner131f8ea2001-02-28 09:09:05 +0000122
Werner Lemberge274cfd2001-03-04 21:53:08 +0000123 * src/psnames/pstables.h: Add more `const'.
124 * src/pcf/pcfutil.c: Ditto.
David Turner131f8ea2001-02-28 09:09:05 +0000125
Werner Lemberge274cfd2001-03-04 21:53:08 +00001262001-03-04 Werner Lemberg <wl@gnu.org>
David Turner8a8d5c82001-02-28 09:36:13 +0000127
Werner Lemberge274cfd2001-03-04 21:53:08 +0000128 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
129 (FT_Glyph_Done -> FT_Done_Glyph).
David Turner5aeaad62001-02-23 17:47:41 +0000130
Werner Lemberge274cfd2001-03-04 21:53:08 +00001312001-03-01 Antoine Leca <Antoine.Leca@renault.fr>
David Turner5aeaad62001-02-23 17:47:41 +0000132
Werner Lemberge274cfd2001-03-04 21:53:08 +0000133 * include/freetype/ttnameid.h: Added some new Microsoft language
134 codes and LCIDs as found in Office Xp.
135
1362001-02-28 David Turner <david.turner@freetype.org>
137
138 * builds/hurd/detect.mk: New file. Added support to detect the GNU
139 Hurd operating system as Unix-like. Fix submitted by Anthony Fok
140 <foka@debian.org>.
141
142 * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
143 the Type 1 glyph charstring (used by conversion programs).
144 Submitted by Ha Shao <hashao@chinese.com>.
145
Werner Lemberg2e35c9b2001-03-06 13:56:42 +00001462001-02-22 David Turner <david.turner@freetype.org>
Werner Lemberge274cfd2001-03-04 21:53:08 +0000147
148 * src/base/ftgrays.c (grays_sweep): The function didn't exit
149 immediately if `num_cells' was 0 as it should. Thanks to Boris for
150 finding this out.
151
152 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
153 bitmap rendering fails (thanks to Graham Asher).
David Turner5aeaad62001-02-23 17:47:41 +0000154
Werner Lemberg0b2137e2001-02-14 04:59:57 +00001552001-02-13 Werner Lemberg <wl@gnu.org>
156
157 * docs/docmaker.py (DocSection::add_element): Use
158 `self.print_error()'.
159
Werner Lemberg20e862b2001-02-14 08:31:55 +0000160 * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org).
161
Werner Lemberg0b2137e2001-02-14 04:59:57 +00001622001-02-13 David Turner <david.turner@freetype.org>
David Turnere231a652001-02-13 17:42:49 +0000163
Werner Lemberge274cfd2001-03-04 21:53:08 +0000164 * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
165 script to support chapters and section block ordering. Updated the
166 public header files accordingly.
David Turnere231a652001-02-13 17:42:49 +0000167
Werner Lemberge274cfd2001-03-04 21:53:08 +0000168 * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
169 were not correctly copied.
David Turnerf3b07222001-02-16 16:40:59 +0000170
Tom Kacvinsky78b5f172001-02-08 23:25:19 +00001712001-02-08 Tom Kacvinsky <tjk@ams.org>
172
173 * src/cff/cffparse.c (cff_parse_font_matrix): Removed an
174 unnecessary fprintf( stderr, ... ).
175
Tom Kacvinsky1df6a312001-02-07 01:24:11 +00001762001-02-07 Tom Kacvinsky <tjk@ams.org>
177
178 * src/type1/t1objs.c (T1_Init_Face): Added code to get the
179 units_per_EM from the value assigned in parse_font_matrix, if
180 available. Default to 1000 if not available.
181
182 * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get
183 the units_per_EM from the FontMatrix.
184
Tom Kacvinsky16c691c2001-02-08 23:26:09 +0000185 (cff_parse_fixed_thousand): New function. Gets a real number from
186 the CFF font, but multiplies by 1000 (this is to avoid rounding
Tom Kacvinsky1df6a312001-02-07 01:24:11 +0000187 errors when placing this real number into a 16.16 fixed number).
188
189 (cff_parse_real): Added code so that the integer part is moved
190 into the high sixteen bits of the 16.16 fixed number.
191
192 * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units
193 per EM from the CFF dictionary, if available.
194
195 * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_,
196 added a units_per_em member to facilitate passing of units_per_em
197 from function cff_parse_font_matrix.
198
Tom Kacvinsky43a9c9d2001-02-07 03:48:24 +0000199 * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric
200 character. This is so that font names with `-' are fully parsed,
201 etc...
202
Werner Lemberge56b4112001-02-03 04:34:53 +00002032001-02-02 Werner Lemberg <wl@gnu.org>
204
205 * src/psaux/psobjs.c (shift_elements): Remove if clause (which is
206 obsolete now).
207
208 (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC()
209 + MEM_Copy() to avoid a memory bug.
210
David Turner1ae67a22001-02-02 05:24:11 +00002112001-02-01 David Turner <david.turner@freetype.org>
212
Werner Lemberg65d328e2001-02-03 03:00:06 +0000213 * docs/docmaker.py: Improved the index sorting routine to place
214 capital letters before small ones. Added the "<order>" marker to
215 section blocks in order to give the order of blocks.
216
2172001-01-30 Antoine Leca <Antoine.Leca@renault.fr>
218
219 * include/freetype/ttnameid.h: Latest updates to Microsoft language
220 ID codes.
David Turner1ae67a22001-02-02 05:24:11 +0000221
Tom Kacvinsky2f41a462001-01-24 22:44:22 +00002222001-01-24 Tom Kacvinsky <tjk@ams.org>
223
224 * src/cff/t1load.c (parse_font_matrix): Added heuristic to get
225 units_per_EM from the font matrix.
226
Werner Lemberg65d328e2001-02-03 03:00:06 +0000227 (parse_dict): Deleted test to see whether the FontInfo keyword has
228 been seen. Deletion of this test allows fonts without FontInfo
Tom Kacvinsky2f41a462001-01-24 22:44:22 +0000229 dictionaries to be parsed by the Type 1 driver.
230
Werner Lemberg65d328e2001-02-03 03:00:06 +0000231 (T1_Open_Face): Deleted empty subroutines array test to make sure
Tom Kacvinsky2f41a462001-01-24 22:44:22 +0000232 fonts with no subroutines still are parsed.
233
Werner Lemberg3dac27d2001-01-18 04:00:12 +00002342001-01-17 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
235
236 * src/pcfread.c (pcf_get_properties, pcf_get_metrics,
237 pcf_get_bitmaps): Fix compiler errors.
238
Werner Lemberg9e708eb2001-01-15 23:11:55 +00002392001-01-11 David Turner <david.turner@freetype.org>
Werner Lembergc7c2c912001-01-12 05:32:04 +0000240
Werner Lemberg3dac27d2001-01-18 04:00:12 +0000241 * src/pcf/pcfread.c: Removed some compilation warnings related
Werner Lemberg9e708eb2001-01-15 23:11:55 +0000242 to comparison of signed vs. unsigned integers.
David Turnerdb071782001-01-12 21:49:08 +0000243
Werner Lemberg9e708eb2001-01-15 23:11:55 +0000244 * include/freetype/internal/ftdebug.h: Changed the debug trace
David Turnerdb071782001-01-12 21:49:08 +0000245 constants from trace_t2xxxx to trace_cffxxxx to be able to compile
Werner Lemberg9e708eb2001-01-15 23:11:55 +0000246 the CFF driver in debug mode.
David Turnerdb071782001-01-12 21:49:08 +0000247
2482001-01-11 Matthew Crosby <mcrosby@marthon.org>
249
Werner Lembergc7c2c912001-01-12 05:32:04 +0000250 * builds/unix/freetype-config.in: Fix problems with separate
251 --prefix and --exec-prefix.
252
2532001-01-11 David Turner <david.turner@freetype.org>
David Turnerb6c1bf82001-01-12 00:33:30 +0000254
255 * docs/docmaker.py: Added cross-references generation as well as
Werner Lembergc7c2c912001-01-12 05:32:04 +0000256 more robust handling of pathname wildcard matching.
David Turnerb6c1bf82001-01-12 00:33:30 +0000257
Werner Lemberg38208a62001-01-11 09:27:49 +00002582001-01-10 Werner Lemberg <wl@gnu.org>
David Turner18b55f72001-01-10 06:53:49 +0000259
Werner Lemberg38208a62001-01-11 09:27:49 +0000260 * docs/docmaker.py: Minor improvements to reduce unwanted spaces
261 and empty lines in output.
David Turner0f5616a2001-01-10 11:15:48 +0000262
Werner Lembergc7c2c912001-01-12 05:32:04 +00002632001-01-09 David Turner <david.turner@freetype.org>
David Turner18b55f72001-01-10 06:53:49 +0000264
Werner Lemberg38208a62001-01-11 09:27:49 +0000265 * docs/docmaker.py: Improved script to generate table of contents
266 and index pages. It also supports wildcards on non Unix systems.
267
268 * include/freetype/*.h, include/freetype/cache/*.h: Updated comments
269 to include section definitions/delimitations for the API Reference
270 generator.
271
272 * include/freetype/freetype.h: Moved declaration of
273 `FT_Generic_Finalizer' and the `FT_Generic' structure to...
274 * include/freetype/fttypes.h: here.
275
2762001-01-04 Werner Lemberg <wl@gnu.org>
Werner Lemberg4c8815e2001-01-05 05:15:49 +0000277
278 * include/freetype/ttnameid.h: Updated Unicode code range comments.
279
Tom Kacvinskyd0165402001-01-03 07:12:49 +00002802001-01-03 Tom Kacvinsky <tjk@ams.org>
281
282 * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
283
284 * include/freetype/internal/internal.h: Changed to use cfftypes.h
285 (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
286
287 * include/freetype/internal/cfftypes.h: Merged in changes from
288 t2types.h and made this the canonical `types' header for the CFF
289 driver.
290
291 * include/freetype/internal/t2types.h: This file was merged with
292 cfftypes.h and is no longer necessary.
293
294 * include/freetype/internal/t2errors.h: Renamed to cfferrs.h.
295
296 * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c,
297 src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c,
298 src/cff/cffgload.c, src/cff/cffgload.h: Changed to use
299 cffgload.{c,h} instead of t2gload.{c,h}. All occurences of t2_
300 (T2_) were replaced with cff_ (CFF_, respectively).
301
302 * src/cff/t2gload.h: Renamed cffgload.h.
303
304 * src/cff/t2gload.c: Renamed cffgload.c
305
Werner Lembergc3e987e2001-01-03 06:47:10 +00003062000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
307
308 * builds/vms: Support files for VMS architecture added.
309 * descrip.mms, src/*/descrip.mms: VMS makefiles added.
310 * README.VMS: New file.
311
3122000-01-01 Werner Lemberg <wl@gnu.org>
313
314 * LICENSE.TXT: Added info about PCF driver license.
315
Werner Lemberg389acc62001-01-01 17:25:21 +00003162001-01-01 Francesco Zappa Nardelli <francesco.zappa.nardelli@ens.fr>
317
318 * src/pcf/*: New driver module for PCF font format (used in
319 X Windows).
320 * include/freetype/internal/ftdebug.h (FT_Trace): Added values for
321 PCF driver.
322 * include/freetype/internal/pcftypes.h: New file.
323 * include/freetype/config/ftmodule.h: Added PCF driver module.
324
3252001-01-01 Werner Lemberg <wl@gnu.org>
326
327 * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type.
328
3292000-12-31 Werner Lemberg <wl@gnu.org>
330
331 * builds/modules.mk (clean_module_list): Fixed deletion of module
332 file in case `make make_module_list' is called before `make setup'.
333
Werner Lemberg6b766632000-12-30 22:14:58 +00003342000-12-30 Werner Lemberg <wl@gnu.org>
335
336 * src/cff/cffload.c (CFF_Load_Charset): Improved error messages.
337 (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable
338 definition.
339
Tom Kacvinskye39266a2000-12-30 01:18:22 +00003402000-12-30 Tom Kacvinsky <tjk@ams.org>
341
342 * include/freetype/internal/t2types.h,
343 include/freetype/internal/cfftypes.h: Changed the structures for
344 CFF_Encoding and CFF_Encoding for the new implementations of the
345 charset and encoding parsers in the CFF driver.
346
Werner Lemberg6b766632000-12-30 22:14:58 +0000347 * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
348 t2_operator_seac): Added these functions for use in implementing the
349 seac emulation provided by the Type 2 endchar operator.
350 (T2_Parse_CharStrings): Added seac emulation for the endchar
351 operator.
Tom Kacvinskye39266a2000-12-30 01:18:22 +0000352
353 * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset,
Werner Lemberg6b766632000-12-30 22:14:58 +0000354 CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
355 charset/encoding tables, and free the memory used by them when the
356 CFF driver is finished with them. Added tables
Tom Kacvinskye39266a2000-12-30 01:18:22 +0000357
358 cff_isoadobe_charset
359 cff_expert_charset
360 cff_expertsubset_charset
361 cff_standard_encoding
362 cff_expert_encoding
363
364 so that the encoding/charset parser can handle predefined encodings and
365 charsets.
366
Tom Kacvinsky7fdd1e52000-12-24 10:05:04 +00003672000-12-24 Tom Kacvinsky <tjk@ams.org>
368
369 * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font
370 transform is applied.
371
372 * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that
373 the font matrix numbers are scaled by 1/(matrix->yy). Also, the
374 offset vector now contains integer values instead of 16.16 fixed
375 numbers.
376
Tom Kacvinsky390ec382000-12-22 07:35:19 +00003772000-12-22 Tom Kacvinsky <tjk@ams.org>
378
379 * src/autohint/ahhint.c (ah_hinter_load_glyph):
380 Removed unnecessary comments and commented-out code.
381
Werner Lembergc7c2c912001-01-12 05:32:04 +00003822000-12-21 David Turner <david.turner@freetype.org>
David Turner55b74032000-12-22 03:40:14 +0000383
384 * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
385 we'll work on supporting CID AFM files later I guess :-)
386
Tom Kacvinsky42f1d252000-12-21 01:34:01 +00003872000-12-21 Tom Kacvinsky <tjk@ams.org>
388
389 * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
Tom Kacvinsky390ec382000-12-22 07:35:19 +0000390 Changed so that fonts with a non-standard FontMatrix render
391 correctly. Previously, the first glyph rendered from such a
392 font did not have the tranformation matrix applied.
Tom Kacvinsky42f1d252000-12-21 01:34:01 +0000393
Werner Lemberg594f0c92000-12-20 22:09:41 +00003942000-12-17 Werner Lemberg <wl@gnu.org>
395
396 * *.mk: Added lots of `.PHONY' targets.
397
3982000-12-17 Karsten Fleischer <kfleisc1@ford.com>
399
400 * *.mk: Implemented `platform' target to disable auto-detection.
401
Werner Lemberg28ffa1f2000-12-14 21:22:15 +00004022000-12-14 Werner Lemberg <wl@gnu.org>
403
404 * docs/design/modules.html: Removed. Covered by design-*.html.
405
Werner Lemberg5a2fdc02000-12-14 22:57:17 +0000406 * INSTALL: Added info about makepp.
407
Werner Lembergc7c2c912001-01-12 05:32:04 +00004082000-12-14 David Turner <david.turner@freetype.org>
David Turner859a18a2000-12-14 18:50:40 +0000409
Werner Lemberg594f0c92000-12-20 22:09:41 +0000410 Added support for clipped direct rendering in the smooth renderer.
411 This should not break binary compatibility of existing applications.
412
413 * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
414 definition of the FT_BBox structure from the former to the latter.
415 * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to
416 FT_Raster_Flag enumeration.
417 Add `clip_box' element to FT_Raster_Params structure.
418 * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
David Turner859a18a2000-12-14 18:50:40 +0000419
Werner Lemberg28ffa1f2000-12-14 21:22:15 +0000420 * INSTALL: Updated installation instructions on Win32, listing the
421 new "make setup list" target used to list supported
422 compilers/targets.
David Turner859a18a2000-12-14 18:50:40 +0000423
Werner Lemberg594f0c92000-12-20 22:09:41 +0000424 * src/raster/ftraster.c (ft_black_render): Test for unsupported
425 direct rendering before testing arguments.
426
Werner Lembergc7c2c912001-01-12 05:32:04 +00004272000-12-13 David Turner <david.turner@freetype.org>
David Turner170c0d42000-12-13 19:55:11 +0000428
429 * include/freetype/config/ft2build.h,
Werner Lemberg63408a12000-12-13 23:44:37 +0000430 include/freetype/internal/internal.h: Fixed header inclusion macros
431 to use direct definitions. This is the only way to do these things
432 in a portable way :-( The rest of the code should follow shortly
433 though everything compiles now.
David Turner170c0d42000-12-13 19:55:11 +0000434
Werner Lemberg63408a12000-12-13 23:44:37 +0000435 * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
436
437 * builds/win32/detect.mk: Added support for the Intel C/C++
438 compiler, as well as _preliminary_ (read: doesn't work!) support for
439 Watcom. Also added a new setup target. Type "make setup list" for
440 a list of supported command-line compilers on Win32.
441
442 * src/base/ftdebug.c: Added dummy symbol to avoid empty file if
443 conditionals are off.
David Turner170c0d42000-12-13 19:55:11 +0000444
Werner Lemberg6b419542000-12-13 09:21:59 +00004452000-12-13 Werner Lemberg <wl@gnu.org>
446
447 * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong
448 ftconfig.h file.
449
Werner Lembergd5c1b272000-12-12 22:28:12 +00004502000-12-12 Werner Lemberg <wl@gnu.org>
451
452 * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
453 Removed. ANSI C doesn't (explicitly) allow macro expansion in
454 arguments using `##'.
455 (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
456 names directly. Make them configurable. Use `##' to strip leading
457 and trailing spaces from arguments.
458
459 * builds/unix/ft2unix.h: Adapted.
460
461 * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
462 ft_close_stream): Use FT_CALLBACK_DEF.
463
464 * builds/unix/ftsystem.c: Use new header scheme.
465 (FT_Done_Memory): Use free() from FT_Memory structure.
466
467 * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
468
Werner Lemberg6d5d7192000-12-12 06:36:55 +00004692000-12-11 Werner Lemberg <wl@gnu.org>
470
Werner Lembergd5c1b272000-12-12 22:28:12 +0000471 * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
472 FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
473 FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
Werner Lemberg6d5d7192000-12-12 06:36:55 +0000474
4752000-12-09 Werner Lemberg <wl@gnu.org>
476
477 * builds/unix/detect.mk: Remove unused USE_CFLAGS variable.
478
Werner Lemberg90d99642000-12-09 00:45:38 +00004792000-12-08 Werner Lemberg <wl@gnu.org>
480
481 * */*.h: Changed body inclusion macro names to start and end with
482 `__' (those which haven't converted yet). Fixed minor conversion
483 issues.
484
485 * src/winfonts/winfnt.c: Updated to new header inclusion scheme.
486
Werner Lemberg6d5d7192000-12-12 06:36:55 +0000487 * src/truetype/ttinterp.c: Remove unused CALC_Length() macro.
488
Werner Lembergcc069be2000-12-08 16:17:16 +00004892000-12-07 David Turner <david.turner@freetype.org>
David Turner19ed8af2000-12-08 02:42:29 +0000490
Werner Lemberg90d99642000-12-09 00:45:38 +0000491 * */*.[ch]: Changed source files to adhere to the new
Werner Lembergcc069be2000-12-08 16:17:16 +0000492 header inclusion scheme. Not completely tested but works for now
493 here.
494
495 * src/cff/t2driver.c: Renamed and updated to...
496 * src/cff/cffdrivr.c: New file.
497 * src/cff/t2driver.h: Renamed and updated to...
498 * src/cff/cffdrivr.h: New file.
499 * src/cff/t2load.c: Renamed and updated to...
500 * src/cff/cffload.c: New file.
501 * src/cff/t2load.h: Renamed and updated to...
502 * src/cff/cffload.h: New file.
503 * src/cff/t2objs.c: Renamed and updated to...
504 * src/cff/cffobjs.c: New file.
505 * src/cff/t2objs.h: Renamed and updated to...
506 * src/cff/cffobjs.h: New file.
507 * src/cff/t2parse.c: Renamed and updated to...
508 * src/cff/cffparse.c: New file.
509 * src/cff/t2parse.h: Renamed and updated to...
510 * src/cff/cffparse.h: New file.
511 * src/cff/t2tokens.h: Renamed and updated to...
512 * src/cff/cfftoken.h: New file.
David Turner19ed8af2000-12-08 02:42:29 +0000513
Werner Lemberg90d99642000-12-09 00:45:38 +0000514 * src/cff/cff.c, src/cff/rules.mk: Updated.
515
David Turner50840942000-12-06 18:02:01 +00005162000-12-06 David Turner <david.turner@freetype.org>
517
Werner Lembergcc069be2000-12-08 16:17:16 +0000518 * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak.
David Turner50840942000-12-06 18:02:01 +0000519
Werner Lemberg33d02362000-12-06 16:31:30 +00005202000-12-06 Werner Lemberg <wl@gnu.org>
521
522 * builds/module.mk: Replaced `xxx #' with `xxx$(space).
523 * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
524 avoid trailing spaces in variable.
525 * builds/freetype.mk: Use $(D) instead of $D to make statement more
526 readable.
527
528 * docs/docmaker.py: Formatting.
529
David Turner5b939ff2000-12-05 08:40:54 +00005302000-12-05 David Turner <david.turner@freetype.org>
531
Werner Lemberg33d02362000-12-06 16:31:30 +0000532 * src/psaux/psauxmod.c: Fixed a broken inclusion of component
533 header files (an FT_FLAT_COMPILE test was missing).
David Turner00004ee2000-12-05 22:28:15 +0000534
Werner Lemberg33d02362000-12-06 16:31:30 +0000535 * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
536 an occasional crash when the function was called (due to a dangling
537 pointer).
David Turner91bb1652000-12-05 22:23:12 +0000538
Werner Lemberg33d02362000-12-06 16:31:30 +0000539 * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
540 The ANSI "free()" function was called instead of "memory->free()".
David Turner5b939ff2000-12-05 08:40:54 +0000541
Werner Lemberg33d02362000-12-06 16:31:30 +0000542 * docs/docmaker.py: Added section filtering, multi-page generation
543 (index page generation is still missing though).
David Turnerb404d062000-12-05 14:49:39 +0000544
David Turnerd3c8e062000-12-04 22:53:55 +00005452000-12-04 David Turner <david.turner@freetype.org>
546
Werner Lemberg33d02362000-12-06 16:31:30 +0000547 * builds/unix/install.mk, builds/unix/ft2unix.h: The file "ft2unix.h"
548 is now installed as <ft2build.h> for Unix systems. Note that we
549 still use the "freetype2/freetype" installation path for now.
David Turnerd3c8e062000-12-04 22:53:55 +0000550
Werner Lemberg90d99642000-12-09 00:45:38 +0000551 * */*.[ch]: Now using <ft2build.h> as the default build and setup
Werner Lemberg33d02362000-12-06 16:31:30 +0000552 configuration file in all public headers. Internal source files
553 still need some changes though.
David Turnerd3c8e062000-12-04 22:53:55 +0000554
Werner Lemberg33d02362000-12-06 16:31:30 +0000555 * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
David Turnerd3c8e062000-12-04 22:53:55 +0000556 directory to hold all development options for both the Unix and
Werner Lemberg33d02362000-12-06 16:31:30 +0000557 Win32 developer builds.
David Turnerd3c8e062000-12-04 22:53:55 +0000558
559 * builds/win32/detect.mk, builds/win32/w32-bccd.mk,
Werner Lemberg33d02362000-12-06 16:31:30 +0000560 builds/win32/w32-dev.mk: Changed the developer build targets to
561 "devel-gcc" and "devel-bcc" in order to be able to develop with the
562 Borland C++ compiler.
David Turnerd3c8e062000-12-04 22:53:55 +0000563
David Turneraaac8132000-12-01 18:55:22 +00005642000-12-01 David Turner <david.turner@freetype.org>
565
Werner Lembergbac727a2000-12-02 17:08:55 +0000566 * Version 2.0.1 released.
567 =========================
568
David Turneraaac8132000-12-01 18:55:22 +0000569 * builds/unix/configure.in, builds/unix/configure,
Werner Lemberg1e8b4ae2000-12-02 17:07:15 +0000570 builds/cygwin/configure.in, builds/cygwin/configure: Setting
571 "version_info" to 6:1:0 for the 2.0.1 release.
David Turneraaac8132000-12-01 18:55:22 +0000572
Werner Lemberg1e8b4ae2000-12-02 17:07:15 +0000573 * CHANGES: Added a summary of changes between 2.0.1 and 2.0.
David Turneraaac8132000-12-01 18:55:22 +0000574
Werner Lemberg1e8b4ae2000-12-02 17:07:15 +0000575 * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes
David Turnerac4cd952000-12-02 00:35:11 +0000576 to allow compilation under Unix with the Unix-specific config
Werner Lemberg1e8b4ae2000-12-02 17:07:15 +0000577 files.
David Turnerac4cd952000-12-02 00:35:11 +0000578
Werner Lemberg4c80f0c2000-12-01 17:25:58 +00005792000-12-01 Werner Lemberg <wl@gnu.org>
580
581 * INSTALL: Revised.
582 * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
583 builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
584 builds/win32/w32-bccd.mk: Revised.
585 * include/freetype/config/ftbuild.h,
586 include/freetype/internal/internal.h: Revised.
587 * include/freetype/ftimage.h: Updated to new header inclusion scheme.
588
5892000-11-30 Werner Lemberg <wl@gnu.org>
590
591 * builds/toplevel.mk (.PHONY): Adding `distclean'.
592 * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
593 `setup'.
594
David Turner8fba32d2000-11-30 23:12:33 +00005952000-11-30 David Turner <david.turner@freetype.ogr>
596
Werner Lemberg4c80f0c2000-12-01 17:25:58 +0000597 * INSTALL: Slightly updated the quick starter documentation to
598 include IDE compilation, prevent against BSD Make, and specify "make
599 setup" instead of a single "make" for build configuration.
David Turnerb1aabf42000-11-30 23:48:22 +0000600
Werner Lemberg4c80f0c2000-12-01 17:25:58 +0000601 * include/config/ftbuild.h, include/internal/internal.h: Added new
602 configuration files used to determine the location of all public,
603 configuration, and internal header files for FreeType 2. Modified
604 all headers under "include/freetype" to reflect this change. Note
605 that we still need to change the library source files themselves
606 though.
David Turner8fba32d2000-11-30 23:12:33 +0000607
David Turnerb1aabf42000-11-30 23:48:22 +0000608 * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk,
609 builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk,
Werner Lemberg4c80f0c2000-12-01 17:25:58 +0000610 builds/win32/detect.mk: Added new files to support compilation with
611 the free Borland C++ command-line compiler. Modified the detection
612 rules to recognize the new "bcc32" target in "make setup bcc32".
David Turnerb1aabf42000-11-30 23:48:22 +0000613
614 * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
Werner Lemberg4c80f0c2000-12-01 17:25:58 +0000615 src/truetype/ttobjs.c, src/truetype/ttgload.c,
616 src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
617 didn't really like. Basically, this compiler complains when FT_UInt
618 is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
619 in these cases).
David Turnerb1aabf42000-11-30 23:48:22 +0000620
Tom Kacvinskyc261b632000-11-30 21:58:49 +00006212000-11-30 Tom Kacvinsky <tjk@ams.org>
622
623 * t2objs.c (T2_Init_Face): Added calculation of `face->height' for
624 pure CFF fonts.
625
626 * t1objs.c (T1_Init_Face): Fixed computation of `face->height'.
627
David Turnerac83e7e2000-11-29 23:59:08 +00006282000-11-29 David Turner <david.turner@freetype.org>
629
Werner Lemberg6c65d912000-11-30 06:23:45 +0000630 * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid
631 bug in the formula used to compute the conic Bézier extrema
632 of non-monotonous arcs.
David Turnerac83e7e2000-11-29 23:59:08 +0000633
Werner Lembergf1ca2342000-11-29 15:18:54 +00006342000-11-29 Werner Lemberg <wl@gnu.org>
635
Werner Lembergada95032000-11-29 17:48:57 +0000636 * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
637 (FT_Set_Renderer): Use FT_EXPORT_DEF.
638 * src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
639 src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
640 FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
641 FTC_Manager_Register_Cache), src/cache/ftcsbits.c
642 (FTC_SBit_Cache_Lookup): Ditto.
643
644 * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
645 src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
646
6472000-11-29 Werner Lemberg <wl@gnu.org>
648
Werner Lembergf1ca2342000-11-29 15:18:54 +0000649 * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
650 conditionally.
651
652 * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
653 `size->strike_index' only conditionally.
654
655 * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
656 conditionally.
657
658 * src/winfonts/winfnt.h: Move all type definitions to...
659 * src/include/freetype/internal/fnttypes.h: New file.
660 * src/winfonts/winfnt.c: Use it.
661
6622000-11-29 ??? ??? <darin@eazel.com>
663
664 * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
665 with a direct solution (which also satifies picky compilers).
666
Werner Lembergc7c2c912001-01-12 05:32:04 +00006672000-11-28 YAMANO-UCHI Hidetoshi <mer@din.or.jp>
Werner Lembergd157fcf2000-11-29 04:45:26 +0000668
669 * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with
670 disabled interpreter also.
671
672 * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect
673 parentheses.
674
Tom Kacvinskyed581a32000-11-27 01:00:38 +00006752000-11-26 Tom Kacvinsky <tjk@ams.org>
676
Tom Kacvinskyf2141372000-11-27 08:31:05 +0000677 * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph
678 width setting code to take into account even/odd argument counts
679 and glyph width operand before endchar/hmoveto/vmoveto.
Tom Kacvinskyed581a32000-11-27 01:00:38 +0000680
Werner Lembergd1e92492000-11-26 10:12:00 +00006812000-11-26 Werner Lemberg <wl@gnu.org>
682
Werner Lemberg6dd303d2000-11-26 21:25:53 +0000683 * builds/ansi/ansi.mk: Fix inclusion order of files.
684
6852000-11-26 Keith Packard <keithp@keithp.com>
686
687 * src/type1/t1objs.c (T1_Init_Face): Compute style flags.
688
6892000-11-26 Werner Lemberg <wl@gnu.org>
690
Werner Lembergd1e92492000-11-26 10:12:00 +0000691 * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and
692 conditional.
693
Werner Lemberg27695e52000-11-23 08:21:13 +00006942000-11-23 Werner Lemberg <wl@gnu.org>
695
696 * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
697 function from PSAux module.
698
699 * src/type1/t1parse.c (T1_Done_Parse): Renamed to...
700 (T1_Finalize_Parser): New function (to avoid name clash with a
701 function in the PSAux module).
Werner Lemberg6c65d912000-11-30 06:23:45 +0000702 (T1_Decrypt): Removed since it is duplicated in the PSAux module.
Werner Lemberg27695e52000-11-23 08:21:13 +0000703 (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
704 function from PSAux module.
705
706 * src/type1/t1parse.h: Adapted.
707
Tom Kacvinsky30eacee2000-11-22 14:38:29 +00007082000-11-22 Tom Kacvinsky <tjk@ams.org>
709
Tom Kacvinskyef0af202000-11-22 20:40:29 +0000710 * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
711 `root->num_faces' to `cff->num_faces' and set `units_per_EM'
712 to 1000.
Tom Kacvinsky30eacee2000-11-22 14:38:29 +0000713
Tom Kacvinskyde01c5d2000-11-22 23:37:31 +0000714 * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
715 loop.
Tom Kacvinsky7e10ee42000-11-23 03:45:52 +0000716
717 * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
718 sid that was off by one.
Tom Kacvinskyde01c5d2000-11-22 23:37:31 +0000719
Werner Lembergc7c2c912001-01-12 05:32:04 +00007202000-11-16 David Turner <david@freetype.org>
David Turner39440182000-11-16 18:06:55 +0000721
Werner Lemberg5c4f5eb2000-11-18 04:42:41 +0000722 * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control
723 auto-hinting of synthetic Type 1 fonts.
David Turner39440182000-11-16 18:06:55 +0000724
Tom Kacvinsky30eacee2000-11-22 14:38:29 +0000725 * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph):
Werner Lemberg5c4f5eb2000-11-18 04:42:41 +0000726 Added auto-hinting support of synthetic Type 1 fonts.
David Turner39440182000-11-16 18:06:55 +0000727
Tom Kacvinskyb5274f52000-11-13 07:37:51 +00007282000-11-12 Tom Kacvinsky <tjk@ams.org>
729
Werner Lemberg34e52702000-11-13 16:58:01 +0000730 * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change
731 tracing output.
732
733 * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable
734 `has-outline' to true only if the font has a `glyf' or `CFF ' table.
Tom Kacvinskyb5274f52000-11-13 07:37:51 +0000735
Werner Lemberge397e2a2000-11-12 06:49:17 +00007362000-11-11 Werner Lemberg <wl@gnu.org>
737
738 * builds/win32/visualc/freetype.dsp: Fix raster1->raster and
739 type1z->type1.
740
Tom Kacvinsky8a2503a2000-11-12 02:53:35 +00007412000-11-11 Tom Kacvinsky <tjk@ams.org>
742
743 * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in:
744 Added a --libtool option. When freetype-config --libtool is
745 invoked, the absolute path to the libtool convenience library
746 is returned.
747
Werner Lemberg84278bc2000-11-11 21:48:05 +00007482000-11-11 Werner Lemberg <wl@gnu.org>
749
750 * builds/cygwin/cygwin-def.in: Same fix as previous.
751
Tom Kacvinsky5279cd22000-11-11 08:32:41 +00007522000-11-10 Tom Kacvinsky <tjk@ams.org>
753
Werner Lemberg84278bc2000-11-11 21:48:05 +0000754 * builds/unix/unix-def.in: Add
755
Werner Lemberg34e52702000-11-13 16:58:01 +0000756 INSTALL_PROGRAM := @INSTALL_PROGRAM@
757 INSTALL_SCRIPT := @INSTALL_SCRIPT@
Werner Lemberg84278bc2000-11-11 21:48:05 +0000758
759 so that installation of freetype-config does not fail.
Tom Kacvinsky5279cd22000-11-11 08:32:41 +0000760
Werner Lemberg9a5a3ae2000-11-11 06:27:58 +00007612000-11-10 Werner Lemberg <wl@gnu.org>
762
763 * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in:
764 Move test down for empty --exec-prefix.
765 Fix --version.
Werner Lemberg27695e52000-11-23 08:21:13 +0000766
Werner Lemberg9a5a3ae2000-11-11 06:27:58 +0000767 * builds/cygwin/install.mk, builds/unix/install.mk: Use
768 $(INSTALL_SCRIPT) for installation of freetype-config.
Werner Lemberg27695e52000-11-23 08:21:13 +0000769
Werner Lemberg9a5a3ae2000-11-11 06:27:58 +0000770 * builds/cygwin/install.mk: Fix clean target names.
771
7722000-11-09 David Turner <david@freetype.org>
773
774 * Version 2.0 released.
775 =======================
776
777
778Local Variables:
779version-control: never
780coding: latin-1
781End: