Skip to content

Commit c7d718b

Browse files
authored
Update freetype to adc7b85 (PR #4355)
freetype/freetype@adc7b85
1 parent a49ce03 commit c7d718b

File tree

311 files changed

+45159
-4099
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

311 files changed

+45159
-4099
lines changed

vendor/freetype/LICENSE.TXT

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ in earlier FreeType versions.
3535
The gzip module uses the zlib license (see `src/gzip/zlib.h`) which
3636
too is compatible to the above two licenses.
3737

38-
The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code
39-
taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses
40-
the 'Old MIT' license, compatible to the above two licenses.
38+
The files `src/autofit/ft-hb-ft.c`, `src/autofit/ft-hb-decls.h`,
39+
`src/autofit/ft-hb-types.h`, and `src/autofit/hb-script-list.h`
40+
contain code taken (almost) verbatim from the HarfBuzz library, which
41+
uses the 'Old MIT' license compatible to the above two licenses.
4142

4243
The MD5 checksum support (only used for debugging in development
4344
builds) is in the public domain.

vendor/freetype/README

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FreeType 2.13.3
22
===============
33

4-
Homepage: https://www.freetype.org
4+
Homepage: https://freetype.org
55

66
FreeType is a freely available software library to render fonts.
77

@@ -13,7 +13,7 @@ Please read the `docs/CHANGES` file, it contains IMPORTANT
1313
INFORMATION.
1414

1515
Read the files `docs/INSTALL*` for installation instructions; see the
16-
file `docs/LICENSE.TXT` for the available licenses.
16+
file `LICENSE.TXT` for the available licenses.
1717

1818
For using FreeType's git repository instead of a distribution bundle,
1919
please read file `README.git`. Note that you have to actually clone
@@ -38,7 +38,7 @@ and download one of the following files.
3838

3939
To view the documentation online, go to
4040

41-
https://www.freetype.org/freetype2/docs/
41+
https://freetype.org/freetype2/docs/
4242

4343

4444
Mailing Lists
@@ -54,7 +54,7 @@ e-mail lists.
5454

5555
The lists are moderated; see
5656

57-
https://www.freetype.org/contact.html
57+
https://freetype.org/contact.html
5858

5959
how to subscribe.
6060

@@ -85,7 +85,7 @@ FreeType!
8585

8686
Details on the process can be found here:
8787

88-
https://www.freetype.org/developer.html#patches
88+
https://freetype.org/developer.html#patches
8989

9090

9191
Enjoy!

vendor/freetype/builds/amiga/README

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
2+
README for the builds/amiga subdirectory.
3+
4+
Copyright (C) 2005-2024 by
5+
Werner Lemberg and Detlef W�rkner.
6+
7+
This file is part of the FreeType project, and may only be used, modified,
8+
and distributed under the terms of the FreeType project license,
9+
LICENSE.TXT. By continuing to use, modify, or distribute this file you
10+
indicate that you have read the license and understand and accept it
11+
fully.
12+
13+
14+
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
15+
"make -f makefile.os4", it produces a link library libft2_ppc.a.
16+
17+
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
18+
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
19+
To use it, type "make assign", then "make"; it produces a link library
20+
libft2_ppc.a.
21+
22+
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
23+
latest sold version was 6.50, updates can be found in Aminet). It is
24+
based on the version found in the sourcecode of ttf.library 0.83b for
25+
FreeType 1.3.1 from Richard Griffith ([email protected],
26+
http://ragriffi.home.sprynet.com).
27+
28+
You will also need the latest include files and amiga.lib from the
29+
Amiga web site (https://os.amigaworld.de/download.php?id=3) for
30+
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
31+
32+
To use it, call "smake assign" and then "smake" from the builds/amiga
33+
directory. The results are:
34+
35+
- A link library "ft2_680x0.lib" (where x depends on the setting of
36+
the CPU entry in the smakefile) containing all FreeType2 parts
37+
except of the init code, debugging code, and the system interface
38+
code.
39+
40+
- ftsystem.o, an object module containing the standard version of the
41+
system interface code which uses fopen() fclose() fread() fseek()
42+
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
43+
44+
- ftsystempure.o, an object module containing the pure version of the
45+
system interface code which uses Open() Close() Read() Seek()
46+
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
47+
be used in both normal programs and in Amiga run-time shared system
48+
librarys (can be linked with lib:libinit.o, no copying of DATA and
49+
BSS hunks for each OpenLibrary() necessary). Source code is in
50+
src/base/ftsystem.c.
51+
52+
- ftdebug.o, an object module containing the standard version of the
53+
debugging code which uses vprintf() and exit() (not pure).
54+
Debugging can be turned on in FT:include/freetype/config/ftoption.h
55+
and with FT_SetTraceLevel().
56+
57+
- ftdebugpure.o, an object module containing the pure version of the
58+
debugging code which uses KVPrintf() from lib:debug.lib and no
59+
exit(). For debugging of Amiga run-time shared system libraries.
60+
Source code is in src/base/ftdebug.c.
61+
62+
- NO ftinit.o. Because linking with a link library should result in
63+
linking only the needed object modules in it, but standard
64+
ftsystem.o would force ALL FreeType2 modules to be linked to your
65+
program, I decided to use a different scheme: You must #include
66+
FT:src/base/ftinit.c in your sourcecode and specify with #define
67+
statements which modules you need. See
68+
include/freetype/config/ftmodule.h.
69+
70+
71+
To use in your own programs:
72+
73+
- Insert the #define and #include statements from top of
74+
include/freetype/config/ftmodule.h in your source code and
75+
uncomment the #define statements for the FreeType2 modules you need.
76+
77+
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
78+
calling the FreeType2 functions, because the link library and the
79+
object files are compiled with PARAMETERS=BOTH.
80+
81+
- "smake assign" (assign "FT:" to the FreeType2 main directory).
82+
83+
- Compile your program.
84+
85+
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
86+
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
87+
ft2_680x0.lib as link library.
88+
89+
90+
To adapt to other compilers:
91+
92+
- The standard ANSI C maximum length of 31 significant characters in
93+
identifiers is not enough for FreeType2. Check if your compiler has
94+
a minimum length of 40 significant characters or can be switched to
95+
it. "idlen=40" is the option for SAS/C. Setting #define
96+
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
97+
98+
- Make sure that the include directory in builds/amiga is searched
99+
before the normal FreeType2 include directory, so you are able to
100+
replace problematic include files with your own version (same may be
101+
useful for the src directory).
102+
103+
- An example of how to replace/workaround a problematic include file
104+
is include/freetype/config/ftconfig.h; it changes a #define that
105+
would prevent SAS/C from generating XDEF's where it should do that and
106+
then includes the standard FreeType2 include file.
107+
108+
Local Variables:
109+
coding: latin-1
110+
End:
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/***************************************************************************/
2+
/* */
3+
/* ftconfig.h */
4+
/* */
5+
/* Amiga-specific configuration file (specification only). */
6+
/* */
7+
/* Copyright (C) 2005-2024 by */
8+
/* Werner Lemberg and Detlef Würkner. */
9+
/* */
10+
/* This file is part of the FreeType project, and may only be used, */
11+
/* modified, and distributed under the terms of the FreeType project */
12+
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13+
/* this file you indicate that you have read the license and */
14+
/* understand and accept it fully. */
15+
/* */
16+
/***************************************************************************/
17+
18+
/*
19+
* This is an example how to override the default FreeType2 header files
20+
* with Amiga-specific changes. When the compiler searches this directory
21+
* before the default directory, we can do some modifications.
22+
*
23+
* Here we must change FT_EXPORT_DEF so that SAS/C does
24+
* generate the needed XDEFs.
25+
*/
26+
27+
#if 0
28+
#define FT_EXPORT_DEF( x ) extern x
29+
#endif
30+
31+
#undef FT_EXPORT_DEF
32+
#define FT_EXPORT_DEF( x ) x
33+
34+
/* Now include the original file */
35+
#ifndef __MORPHOS__
36+
#ifdef __SASC
37+
#include "FT:include/freetype/config/ftconfig.h"
38+
#else
39+
#include "/FT/include/freetype/config/ftconfig.h"
40+
#endif
41+
#else
42+
/* We must define that, it seems that
43+
* lib/gcc-lib/ppc-morphos/2.95.3/include/syslimits.h is missing in
44+
* ppc-morphos-gcc-2.95.3-bin.tgz (gcc for 68k producing MorphOS PPC elf
45+
* binaries from http://www.morphos.de)
46+
*/
47+
#define _LIBC_LIMITS_H_
48+
#include "/FT/include/freetype/config/ftconfig.h"
49+
#endif
50+
51+
/*
52+
Local Variables:
53+
coding: latin-1
54+
End:
55+
*/
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
/***************************************************************************/
2+
/* */
3+
/* ftmodule.h */
4+
/* */
5+
/* Amiga-specific FreeType module selection. */
6+
/* */
7+
/* Copyright (C) 2005-2024 by */
8+
/* Werner Lemberg and Detlef Würkner. */
9+
/* */
10+
/* This file is part of the FreeType project, and may only be used, */
11+
/* modified, and distributed under the terms of the FreeType project */
12+
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13+
/* this file you indicate that you have read the license and */
14+
/* understand and accept it fully. */
15+
/* */
16+
/***************************************************************************/
17+
18+
/*
19+
* To avoid that all your programs include all FreeType modules,
20+
* you copy the following piece of source code into your own
21+
* source file and specify which modules you really need in your
22+
* application by uncommenting the appropriate lines.
23+
*/
24+
/*
25+
//#define FT_USE_AUTOFIT // autofitter
26+
//#define FT_USE_RASTER // monochrome rasterizer
27+
//#define FT_USE_SMOOTH // anti-aliasing rasterizer
28+
//#define FT_USE_TT // truetype font driver
29+
//#define FT_USE_T1 // type1 font driver
30+
//#define FT_USE_T42 // type42 font driver
31+
//#define FT_USE_T1CID // cid-keyed type1 font driver // no cmap support
32+
//#define FT_USE_CFF // opentype font driver
33+
//#define FT_USE_BDF // bdf bitmap font driver
34+
//#define FT_USE_PCF // pcf bitmap font driver
35+
//#define FT_USE_PFR // pfr font driver
36+
//#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
37+
//#define FT_USE_OTV // opentype validator
38+
//#define FT_USE_GXV // truetype gx validator
39+
#include "FT:src/base/ftinit.c"
40+
*/
41+
42+
/* Make sure that the needed support modules are built in.
43+
* Dependencies can be found by searching for FT_Get_Module.
44+
*/
45+
46+
#ifdef FT_USE_T42
47+
#define FT_USE_TT
48+
#endif
49+
50+
#ifdef FT_USE_TT
51+
#define FT_USE_SFNT
52+
#endif
53+
54+
#ifdef FT_USE_CFF
55+
#define FT_USE_SFNT
56+
#define FT_USE_PSHINT
57+
#define FT_USE_PSNAMES
58+
#endif
59+
60+
#ifdef FT_USE_T1
61+
#define FT_USE_PSAUX
62+
#define FT_USE_PSHINT
63+
#define FT_USE_PSNAMES
64+
#endif
65+
66+
#ifdef FT_USE_T1CID
67+
#define FT_USE_PSAUX
68+
#define FT_USE_PSHINT
69+
#define FT_USE_PSNAMES
70+
#endif
71+
72+
#ifdef FT_USE_PSAUX
73+
#define FT_USE_PSNAMES
74+
#endif
75+
76+
#ifdef FT_USE_SFNT
77+
#define FT_USE_PSNAMES
78+
#endif
79+
80+
/* Now include the modules */
81+
82+
#ifdef FT_USE_AUTOFIT
83+
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
84+
#endif
85+
86+
#ifdef FT_USE_TT
87+
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
88+
#endif
89+
90+
#ifdef FT_USE_T1
91+
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
92+
#endif
93+
94+
#ifdef FT_USE_CFF
95+
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
96+
#endif
97+
98+
#ifdef FT_USE_T1CID
99+
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
100+
#endif
101+
102+
#ifdef FT_USE_PFR
103+
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
104+
#endif
105+
106+
#ifdef FT_USE_T42
107+
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
108+
#endif
109+
110+
#ifdef FT_USE_WINFNT
111+
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
112+
#endif
113+
114+
#ifdef FT_USE_PCF
115+
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
116+
#endif
117+
118+
#ifdef FT_USE_PSAUX
119+
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
120+
#endif
121+
122+
#ifdef FT_USE_PSNAMES
123+
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
124+
#endif
125+
126+
#ifdef FT_USE_PSHINT
127+
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
128+
#endif
129+
130+
#ifdef FT_USE_RASTER
131+
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
132+
#endif
133+
134+
#ifdef FT_USE_SFNT
135+
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
136+
#endif
137+
138+
#ifdef FT_USE_SMOOTH
139+
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
140+
#endif
141+
142+
#ifdef FT_USE_OTV
143+
FT_USE_MODULE( FT_Module_Class, otv_module_class )
144+
#endif
145+
146+
#ifdef FT_USE_BDF
147+
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
148+
#endif
149+
150+
#ifdef FT_USE_GXV
151+
FT_USE_MODULE( FT_Module_Class, gxv_module_class )
152+
#endif
153+
154+
/*
155+
Local Variables:
156+
coding: latin-1
157+
End:
158+
*/

0 commit comments

Comments
 (0)