1. 04 Nov, 2000 1 commit
    • David Turner's avatar
      major reformatting of the sources: · d2d17013
      David Turner authored
        FT_EXPORT_DEF    => FT_EXPORT
        FT_EXPORT_FUNC => FT_EXPORT_DEF
        BASE_DEF               => FT_BASE
        BASE_FUNC            => FT_BASE_DEF
        LOCAL_DEF             => FT_LOCAL
        LOCAL_FUNC          => FT_LOCAL_DEF
        LOCAL_FUNC_X     => FT_CALLBACK_DEF
        LOCAL_DEF_X       => FT_CALLBACK_TABLE
        FT_CPLUSPLUS     => FT_CALLBACK_TABLE_DEF
      d2d17013
  2. 02 Nov, 2000 1 commit
    • Werner Lemberg's avatar
      · cf6bc2e2
      Werner Lemberg authored
      More C++ fixes.
      cf6bc2e2
  3. 31 Oct, 2000 2 commits
    • Werner Lemberg's avatar
      · 6d437b09
      Werner Lemberg authored
      Fixing include header for a `make multi' build.
      
      Finishing formatting of cache stuff.
      
      Fixed getDriverClass stuff -- added it to winfnt.c also.  Note that this
      still has to be documented.
      6d437b09
    • Werner Lemberg's avatar
      · dcff1129
      Werner Lemberg authored
      Removing trailing whitespace.
      dcff1129
  4. 17 Oct, 2000 1 commit
    • Werner Lemberg's avatar
      · a444ee94
      Werner Lemberg authored
      Added copyright messages to all Makefiles.
      
      Added documentation to FT_Get_Sfnt_* stuff (in ftnames.[ch])
      
      minor other doc fixes
      a444ee94
  5. 22 Sep, 2000 1 commit
    • Werner Lemberg's avatar
      · 59395eca
      Werner Lemberg authored
      Applied a patch from Hidetoshi for embedded bitmap metrics support.
      59395eca
  6. 29 Aug, 2000 1 commit
    • Werner Lemberg's avatar
      · 7f7174ef
      Werner Lemberg authored
      More warnings fixed.
      7f7174ef
  7. 06 Aug, 2000 1 commit
    • Werner Lemberg's avatar
      · eedd97d7
      Werner Lemberg authored
      Yamano-uchi added support for SFNT-wrapped CID bitmap font files (with
      minor modifications from WL).
      eedd97d7
  8. 03 Aug, 2000 1 commit
    • Werner Lemberg's avatar
      · 0122a4a9
      Werner Lemberg authored
      Updating unix/ftconfig.in to recent config/ftconfig.h changes.
      
      More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in
      function pointers (there are no local anonymous functions in C++) and
      FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures
      which contain function pointers.
      0122a4a9
  9. 01 Aug, 2000 2 commits
    • Werner Lemberg's avatar
      · 53c4de62
      Werner Lemberg authored
      Removing FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT.  It has never worked.
      Instead, define BASE_DEF() and BASE_FUNC() similarly to FT_EXPORT_DEF() and
      FT_EXPORT_FUNC(), respectively, allowing the programmer to define proper
      types and/or export lists for multiple DLLs if necessary (e.g. ftbase.dll --
      standalone, fttype1.dll -- needs ftbase.dll, etc.).
      
      The library is finally compiling and linking natively with a C++ compiler!
      53c4de62
    • Werner Lemberg's avatar
      · a74e4c0d
      Werner Lemberg authored
      Added #ifdef's for C++ to all header files.
      a74e4c0d
  10. 31 Jul, 2000 1 commit
    • Werner Lemberg's avatar
      · ff0cedbb
      Werner Lemberg authored
      Simplifying the FIELD_* and FRAME_* macros.  Before calling these macros,
      you should #define FT_STRUCTURE to the structure which will be filled.
      
      Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and
      FT_FIELD_OFFSET to make the code more readable; additionally, it should be
      more portable because we no longer cast a pointer to an FT_UShort (which
      e.g. fails with Sun's C++ compiler) but computes the difference between two
      pointers which is guaranteed to work.
      
      Fixing warnings (and C++ errors) while using Sun's latest cc and CC
      incarnations.  Most of them are related to variable shadowing.
      ff0cedbb
  11. 28 Jul, 2000 1 commit
  12. 27 Jul, 2000 3 commits
    • Werner Lemberg's avatar
      · d51e0881
      Werner Lemberg authored
      Formatting.
      d51e0881
    • David Turner's avatar
      re-adding a "unix-dev.mk". Debugging libtool output · c289782f
      David Turner authored
      is just too much of a pain for me, I prefer a good old
      static lib without optimizations :-)
      
      "make devel" is back on Unix then..
      c289782f
    • Werner Lemberg's avatar
      · 6a6ad148
      Werner Lemberg authored
      Removing compiler warnings about unused portions of code.
      
      Now unix.in uses absolute paths also to overcome problems with libtool.
      To do that in a consistent way I had to modify the rules how to handle
      $OBJ_DIR (and consequently $LIB_DIR): You should set $OBJ_DIR explicitly
      on the command line (or environment).
      6a6ad148
  13. 26 Jul, 2000 1 commit
  14. 10 Jul, 2000 1 commit
  15. 09 Jul, 2000 1 commit
    • Werner Lemberg's avatar
      · b48a6094
      Werner Lemberg authored
      Formatting.
      
      Moving some internal structures and constants from freetype.h to ftobjs.h.
      
      Finally removing FT_LOAD_ANTI_ALIAS.
      
      Cleaning up all error codes.  Only the used ones have survived :-)
      
      Removed unused FT_MAX_GLYPH_FORMATS constant.
      
      T2 error codes are now in the range 0x500-0x5FF (instead of `TrueDoc').
      
      Some minor improvements of error return values.
      
      Finally fixing error code values in ftraster and ftgrays to be compliant
      with all other FT error codes.
      b48a6094
  16. 08 Jul, 2000 2 commits
  17. 05 Jul, 2000 2 commits
    • David Turner's avatar
      fixed a few bugs, cleaned up some code · 43a2f656
      David Turner authored
      43a2f656
    • Werner Lemberg's avatar
      · bd5ae400
      Werner Lemberg authored
      Run g++ on the FreeType library.  This should make the use of code in
      C++ programs easier:
      
        Renamed FT_WordXX to FT_UIntXX.
      
        Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType
        always accesses streams byte-wise, so this makes sense IMHO.
      
        Added a lot of #ifdef __cplusplus to header files (and removed a few).
      
        Other minor syntax fixes (mostly casts).
      
        Replaced the variable `private' with `private_dict' -- `private' is
        reserved in C++.
      bd5ae400
  18. 04 Jul, 2000 1 commit
    • David Turner's avatar
      various clean-ups: · c6a92202
      David Turner authored
      - using FT_UNUSED instead of UNUSED
      - using FT_LONG64 and FT_INT64 instead of LONG64 & INT64
      - using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of...
      
      - removed the #ifdefs that used SIZEOF_INT, instead we now
        use FT_Int32 and FT_UInt32 when needed to support
        32-bits quantity correctly on 64-bits systems..
      c6a92202
  19. 02 Jul, 2000 1 commit
    • Werner Lemberg's avatar
      · 5811c7c3
      Werner Lemberg authored
      Formatting.
      
      Fixed some errors which prevented compiling.
      5811c7c3
  20. 30 Jun, 2000 2 commits
  21. 29 Jun, 2000 1 commit
    • Werner Lemberg's avatar
      · deb4e983
      Werner Lemberg authored
      Formatting...
      
      Preprocessor lines now always start the line.
      
      Improved error handling in `base' module.
      
      Fixed a out-of-bounds error in ttgload.
      deb4e983
  22. 28 Jun, 2000 1 commit
    • David Turner's avatar
      latest clean-ups.. · 81bb4ad9
      David Turner authored
      The code compiles with NO WARNINGS with GCC and
      Visual C++ (also with LCC minus debugging options)
      81bb4ad9
  23. 27 Jun, 2000 1 commit
  24. 25 Jun, 2000 3 commits
  25. 23 Jun, 2000 3 commits
  26. 22 Jun, 2000 1 commit
    • David Turner's avatar
      - MAJOR INTERNAL REDESIGN: · f0df85ba
      David Turner authored
          A lot of internal modifications have been performed lately on the
          source in order to provide the following enhancements:
      
            - more generic module support:
      
              The FT_Module type is now defined to represent a handle to a given
              module. The file <freetype/ftmodule.h> contains the FT_Module_Class
              definition, as well as the module-loading public API
      
              The FT_Driver type is still defined, and still represents a pointer
              to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module,
              FT_Get_Driver by FT_Get_Module, etc..
      
      
            - support for generic glyph image types:
      
              The FT_Renderer type is a pointer to a module used to perform various
              operations on glyph image.
      
              Each renderer is capable of handling images in a single format
              (e.g. ft_glyph_format_outline). Its functions are used to:
      
                 - transform an glyph image
                 - render a glyph image into a bitmap
                 - return the control box (dimensions) of a given glyph image
      
      
              The scan converters "ftraster.c" and "ftgrays.c" have been moved
              to the new directory "src/renderer", and are used to provide two
              default renderer modules.
      
              One corresponds to the "standard" scan-converter, the other to the
              "smooth" one.
      
              The current renderer can be set through the new function
              FT_Set_Renderer.
      
              The old raster-related function FT_Set_Raster, FT_Get_Raster and
              FT_Set_Raster_Mode have now disappeared, in favor of the new:
      
                 FT_Get_Renderer
                 FT_Set_Renderer
      
              see the file <freetype/ftrender.h> for more details..
      
              These changes were necessary to properly support different scalable
              formats in the future, like bi-color glyphs, etc..
      
      
            - glyph loader object:
      
              A new internal object, called a 'glyph loader' has been introduced
              in the base layer. It is used by all scalable format font drivers
              to load glyphs and composites.
      
              This object has been created to reduce the code size of each driver,
              as each one of them basically re-implemented its functionality.
      
              See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
              more information..
      
      
      
            - FT_GlyphSlot had new fields:
      
              In order to support extended features (see below), the FT_GlyphSlot
              structure has a few new fields:
      
                 linearHoriAdvance:  this field gives the linearly scaled (i.e.
                                     scaled but unhinted) advance width for the glyph,
                                     expressed as a 16.16 fixed pixel value. This
                                     is useful to perform WYSIWYG text.
      
                 linearVertAdvance:  this field gives the linearly scaled advance
                                     height for the glyph (relevant in vertical glyph
                                     layouts only). This is useful to perform
                                     WYSIWYG text.
      
              Note that the two above field replace the removed "metrics2" field
              in the glyph slot.
      
                 advance:   this field is a vector that gives the transformed
                            advance for the glyph. By default, it corresponds
                            to the advance width, unless FT_LOAD_VERTICAL_LAYOUT
                            was specified when calling FT_Load_Glyph or FT_Load_Char
      
                 bitmap_left: this field gives the distance in integer pixels from
                              the current pen position to the left-most pixel of
                              a glyph image WHEN IT IS A BITMAP. It is only valid
                              when the "format" field is set to
                              "ft_glyph_format_bitmap", for example, after calling
                              the new function FT_Render_Glyph.
      
                 bitmap_top:  this field gives the distance in integer pixels from
                              the current pen position (located on the baseline) to
                              the top-most pixel of the glyph image WHEN IT IS A
                              BITMAP. Positive values correspond to upwards Y.
      
                 loader:  this is a new private field for the glyph slot. Client
                          applications should not touch it..
      
      
            - support for transforms and direct rendering in FT_Load_Glyph:
      
              Most of the functionality found in <freetype/ftglyph.h> has been
              moved to the core library. Hence, the following:
      
                - a transform can be specified for a face through FT_Set_Transform.
                  this transform is applied by FT_Load_Glyph to scalable glyph images
                  (i.e. NOT TO BITMAPS) before the function returns, unless the
                  bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags..
      
      
                - once a glyph image has been loaded, it can be directly converted to
                  a bitmap by using the new FT_Render_Glyph function. Note that this
                  function takes the glyph image from the glyph slot, and converts
                  it to a bitmap whose properties are returned in "face.glyph.bitmap",
                  "face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original
                  native image might be lost after the conversion.
      
      
                - when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
                  and FT_Load_Char functions will call FT_Render_Glyph automatically
                  when needed.
      f0df85ba
  27. 21 Jun, 2000 1 commit
    • Werner Lemberg's avatar
      · 9ca2af38
      Werner Lemberg authored
      A new formatting orgy.
      
      Added some `#if 0' to completely disable the CID AFM stuff.  In case this is
      not correct please fix.
      9ca2af38
  28. 16 Jun, 2000 2 commits
    • David Turner's avatar
      major reformatting of the modules source code in order to get · f9b8dec4
      David Turner authored
      rid of most of the basic types redefinitions (i.e. FT_Int instead
      of "FT_Int", etc..)
      
      The format-specific prefixs like "TT_", "T1_", "T2_" & 'CID_"
      are now only used in relevant structures..
      
      fixed Werner's fix to t2gload.c :-)
      other small bug fixes
      f9b8dec4
    • Werner Lemberg's avatar
      · e3c11d7f
      Werner Lemberg authored
      A new round of formatting, adding/fixing documentation etc.
      e3c11d7f