Commit Graph

1487 Commits

Author SHA1 Message Date
David Turner ec208f00fe * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
	that it accepts broken fonts like "foxjump.ttf", which made FreeType
	crash when trying to load them.

	Also improved the name table parser to be able to load
	Windows-encoded entries before Macintosh or Unicode ones, since it
	seems some fonts don't have reliable values here anyway.
2002-03-05 16:12:57 +00:00
David Turner 57cd33e0d3 * src/cid/cidriver.c (cid_get_postscript_name): fixed a bug that
caused the CID driver to return Postscript font names with a leading
        slash ("/") as in "/MOEKai-Regular"
2002-03-05 15:57:45 +00:00
David Turner e826d8753b * src/type1/t1objs.c (T1_Face_Init),
src/cff/cffobjs.c (CFF_Face_Init),
          src/cid/cidobjs.c (CID_Face_Init):

            removing the bug that returned global BBox values in
            16.16 fixed format (instead of integer font units).
2002-03-05 15:55:28 +00:00
Werner Lemberg 9eddcfc1da * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
1.4.2.
Apply a small patch for AIX to make shared libraries work (this
patch is already in the CVS version of libtool).

* builds/unix/config.sub, builds/unix/config.guess: Updated to
recent versions.

* builds/unix/configure.ac: Fix typo
(AC_CONFIG_FILE->AC_CONFIG_FILES).

* builds/unix/configure: Regenerated.
2002-03-05 15:09:59 +00:00
David Turner 01f2de854c * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
        into FT_LOCAL_DEF( xxxxx )
2002-03-01 02:26:22 +00:00
David Turner 31526ef881 * include/freetype/freetype.h: changing version to 2.1.0 to indicate
an unstable branch. Added the declarations of FT_Get_First_Char and
        FT_Get_Next_Char

        * src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char
2002-02-28 19:28:26 +00:00
David Turner 5afd3fec9b changing patch level to 9 (FT_FREETYPE_PATCH)
adding FT_Get_First_Char and FT_Get_Next_Char
2002-02-28 19:25:50 +00:00
David Turner f12944ec0b still more logical transformations. This time, some public API headers have
been touched, while keeping everything backwards-compatible..

        * include/freetype/t1tables.h: re-naming structure types. This done
        basically:

          typedef T1_Struct_
          {
          } T1_Struct;

        becomes:

          typedef PS_StructRec_
          {
          } PS_StructRec, *PS_Struct;

          typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */


        hence, we increase the coherency of the source code by effectuively
        using the 'Rec' prefix for structure types..
2002-02-28 18:59:37 +00:00
David Turner aa919383de yet another logical transformation of the internals to make them
more consistent and understandable..

mainly, changing things like PS_Table  => PS_TableRec + *PS_Table
2002-02-28 16:10:29 +00:00
David Turner 77e54f363a * src/sfnt/ttload.c (TT_Load_Names): simplifying and securing the
names table loader. Invalid individual name entries are now handled
        correctly. This allows the loading of very buggy fonts like
        "foxjump.ttf" without allocating tons of memory and causing crashes..
2002-02-27 23:10:19 +00:00
David Turner 34fb6290ca adding several experimental sources:
- OpenType Layout validation and parsing (common tables)
  - Type 1 charmap processing
2002-02-27 21:25:47 +00:00
David Turner 5be6ec3453 * renaming stream functions to the FT_Subject_Action scheme:
FT_Seek_Stream         => FT_Stream_Seek
          FT_Skip_Stream         => FT_Stream_Skip
          FT_Read_Stream         => FT_Stream_Read
          FT_Read_Stream_At      => FT_Stream_Read_At
          FT_Access_Frame        => FT_Stream_Enter_Frame
          FT_Forget_Frame        => FT_Stream_Exit_Frame
          FT_Extract_Frame       => FT_Stream_Extract_Frame
          FT_Release_Frame       => FT_Stream_Release_Frame
          FT_Get_XXXX            => FT_Stream_Get_XXXX
          FT_Read_XXXX           => FT_Stream_Read_XXXX

          note also that:

          FT_New_Stream( filename, stream ) =>
            FT_Stream_Open( stream, filename )

          (the function doesn't create the FT_Stream structure, it simply
           initializes it for reading)

          FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
            FT_Stream_Open_Memory( stream, const FT_Byte* base, size )

          FT_Done_Stream => FT_Stream_Close

          note that the name of the stream methods, defined in
          "include/freetype/ftsystem.h" have also been changed without
          problems:

            FT_Stream_IO    => FT_Stream_IOFunc
            FT_Stream_Close => FT_Stream_CloseFunc
2002-02-24 05:26:57 +00:00
David Turner 76c7bd0d40 * moving all code related to glyph loaders to "internal/ftgloadr.h"
and "src/base/ftgloadr.c".

        Note also that the type "FT_GlyphLoader" is now a pointer to the
        structure "FT_GlyphLoaderRec"..
2002-02-24 02:59:24 +00:00
David Turner 6c0fedceba renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP" 2002-02-24 02:39:08 +00:00
David Turner 0502dc2fbf adding API-specific source 2002-02-22 18:29:12 +00:00
David Turner 28005173e4 adding new & experimental charmap processor 2002-02-22 18:28:11 +00:00
David Turner cc144f1c8d adding glyph loader routines (previously in ftobjs.c) 2002-02-22 17:58:05 +00:00
David Turner 1f7056f5e5 adding glyph loader header file (previously in ftobjs.h) 2002-02-22 17:57:35 +00:00
David Turner 77cba45d4e adding file containing error definitions (unlike fterrors.h which also
contains macro definitions)..

the changes are not finished yet..
2002-02-22 17:57:05 +00:00
David Turner 8a94f94672 adding new file 2002-02-22 14:40:12 +00:00
Werner Lemberg fb87c42c4a * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
enum to avoid compiler warnings.
2002-02-22 00:58:04 +00:00
David Turner 677dc0f752 * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified
the debug sub-system initialization. trace levels can now be specified
        within the "FT2_DEBUG" environment variable. See the comments within
        "ftdebug.c" for more details

        * include/freetype/internal/fttrace.h: new file to define the trace
        levels used for debugging. it is used both to define enums and
        toggle names for FT2_DEBUG

        * src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to
        FT_ASSERT

        * include/freetype/internal/ftextend.h, src/base/ftextend.c,
        src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the
        library, since it is now completely obsolete..
2002-02-21 11:48:48 +00:00
David Turner af14179c9e adding "devel@freetype.org" address for bug reports 2002-02-20 21:49:59 +00:00
Werner Lemberg 094e5f5b71 * builds/unix/install.mk (check): New dummy target.
(.PHONY): Add it.
2002-02-20 00:55:59 +00:00
Werner Lemberg 81cb1bb920 * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
to avoid compiler warning.
* src/cff/cffload.c (CFF_Get_String): Ditto.
* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
* src/psaux/psobjs.c (PS_Table_Done): Ditto.
* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
(pcf_get_bitmaps): The same for `sizebitmaps'.
* src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
`orig_y'.
(t1operator_seac): Comment out more dead code.
* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
conditional.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
conditional.
2002-02-19 16:30:15 +00:00
Werner Lemberg cc0039b533 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
variables.
* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
of UNUSED.
* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
swapping code.
* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
* include/freetype/internal/ftobjs.h (UNUSED): Removed.
2002-02-19 01:12:23 +00:00
Werner Lemberg 8f2aa06409 Add support for ISOLatin1 PS encoding.
* include/freetype/freetype.h (ft_encoding_latin_1): New tag
(`lat1').
* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
`t1_encoding_isolatin1'.
* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
ft_encoding_latin_1.
* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
2002-02-10 12:33:14 +00:00
Werner Lemberg 1481a93d06 * README: Fix typo.
* docs/CHANGES: Minor fixes.
2002-02-09 17:59:12 +00:00
David Turner 2239bd0d51 updating docs for 2.0.8 2002-02-08 14:00:20 +00:00
David Turner 749c7bce97 setting PATH_LEVEL to 8
removing FT_Get_Next_Char from the API (for the 2.0.8 release)
2002-02-08 13:54:10 +00:00
Werner Lemberg d61774feb9 cleaning 2002-02-08 13:11:18 +00:00
David Turner 03c6ca930c adding comments to FT_Get_Next_Char 2002-02-08 10:50:12 +00:00
Werner Lemberg efb5eb9836 some cleaning 2002-02-08 06:23:50 +00:00
David Turner 6947e1883e * src/pcf/pcfread.c (pcf_load_font): removed immature support of
the AVERAGE_WIDTH property..
2002-02-07 16:59:38 +00:00
David Turner a8c225cbaa support for embedded fonts in PDF documents. These
often do not have a 'cmap', 'post' and 'name' table and
were not loaded by FreeType previously..

(thanks to Derek B. Noonburgs from XPDF)
2002-02-06 13:59:25 +00:00
David Turner a391b7e86f fixing memory leak in the PCF driver, and managing the
"AVERAGE_WIDTH" property in PCF fonts to return correct
character pixel (width/height) pairs for embedded bitmaps..
2002-02-06 11:22:56 +00:00
David Turner 025bbaa967 removing compiler warnings 2002-02-06 11:22:01 +00:00
Werner Lemberg 08270698e7 Adding the function `FT_Get_Next_Char', doing the obvious thing
w.r.t. the selected charmap.

* include/freetype/freetype.h: Add prototype.
* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
typedef.
(FT_Driver_Class): Use it.
* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
typedef.
(PSNames_Interface): Use it.
* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
typedef.
(TT_CMapTable): Use it.

* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
high-level API.
* src/cff/cffdrivr.c (cff_get_next_char): New function.
(cff_driver_class): Add it.
* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
(t1cid_driver_class): Add it.
* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
(pcf_driver_class): Add it.
* src/psnames/psmodule.c (PS_Next_Unicode): New function.
(psnames_interface): Add it.
* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
functions.
(TT_CharMap_Load): Use them.
* src/truetype/ttdriver.c (Get_Next_Char): New function.
(tt_driver_class): Add it.
* src/type1/t1driver.c (Get_Next_Char): New function.
(t1_driver_class): Add it.
* src/winfnt/winfnt.c (FNT_Get_Next_Char): New function.
(winfnt_driver_class): Add it.

* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
Unicode and Latin 1 encodings.
2002-02-04 20:55:58 +00:00
Werner Lemberg 5b4691278c * builds/unix/freetype-config.in: Add missing `fi'. 2002-02-02 15:05:38 +00:00
David Turner f8d40f96c0 increasing FREETYPE_PATCH to 7 2002-02-01 09:22:39 +00:00
Werner Lemberg acf80aa238 Formatting. 2002-02-01 01:20:11 +00:00
David Turner 5eef31a04f updating documentation for 2.0.7 2002-01-31 17:42:05 +00:00
Werner Lemberg 708fd47251 *** empty log message *** 2002-01-30 22:37:52 +00:00
David Turner a104001612 moved INSTALL to docs/INSTALL to get rid of conflicts with the "install"
script on Windows (where the file system doesn't preserve CASE)
2002-01-30 12:56:16 +00:00
David Turner 8ac794cf04 fixed the "configure" script in the top-level directory..
It didn't work correctly when several arguments were passed
to it. For example, when typing:

  ./configure --disable-shared --prefix=/usr

the "--prefix=/usr" was incorrectly sent to the "make" program..
2002-01-29 18:13:54 +00:00
Werner Lemberg 43e5b1147d * README.UNX: Fix typo.
* builds/unix/install.mk (uninstall): Fix library name for libtool.
2002-01-29 01:11:23 +00:00
Werner Lemberg e8d3b9b75d * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
the face object (face->toc.tables, face->root.family_name,
face->root.available_size, face->charset_encoding,
face->charset_registry are now freed).  Thanks to Niels Moseley.
2002-01-28 23:52:24 +00:00
Werner Lemberg 7c836c227c * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
of `base' string for decrypting to not modify the original data.
2002-01-28 13:34:52 +00:00
Werner Lemberg 5e99e92619 * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
bad rendering of thin lines (less than one pixel thick).
2002-01-28 05:04:22 +00:00
Werner Lemberg 2ee087e487 * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
actually.
2002-01-25 22:55:53 +00:00