Commit graph

15724 commits

Author SHA1 Message Date
Alex Ionescu
c6262e3b0f - Freetype Update to 2.1.10. Reduces memory usage, increases speed and fixes drawing bugs.
- Enable Bytecode. Weird_W's fonts finally look humanly readable.

Thanks to Waxdragon for testing.
 
<http://www.freetype.org>

LATEST CHANGES BETWEEN 2.1.10 and 2.1.9

  I. IMPORTANT BUG FIXES

    - The size comparison for BDF and PCF files could fail sometimes.

    - Some  CFF files  were still not  loaded  correctly.   Patch from
      Derek Noonburg.

    - The stroker still had some serious bugs.

    - Boris  Letocha  fixed a  bug in  the  TrueType interpreter:  The
      NPUSHW instruction wasn't skipped correctly in IF clauses.  Some
      fonts like `Helvetica 75 Bold' failed.

    - Another  serious  bug  in  handling  TrueType hints  caused many
      distortions.  It has been introduced in version 2.1.8, and it is
      highly recommended to upgrade.

    - FreeType didn't properly parse empty Type 1 glyphs.
    
    - An unbound dynamic buffer growth was fixed in the PFR loader.
    
    - Several bugs have been fixed in the cache sub-system.

    - FreeType behaved incorrectly when resizing two distinct but very
      close character pixel sizes through `FT_Set_Char_Size' (Savannah
      bug #12263).
      
    - The auto-hinter didn't work properly for fonts without a Unicode
      charmap -- it even refused to load the glyphs.


  II. IMPORTANT CHANGES

    - Many fixes have been applied to drastically reduce the amount of
      heap   memory   used   by   FreeType,   especially   when  using
      memory-mapped font files  (which is the default on Unix  systems
      which support them).

    - The auto-hinter  has been replaced with a new module, called the
      `auto-fitter'.  It consumes  less memory  than its  predecessor,
      and it is  prepared to support non-latin scripts  better in next
      releases.

    - George Williams  contributed code to read  kerning data from PFM
      files.

    - FreeType   now   uses    the   TT_NAME_ID_PREFERRED_FAMILY   and
      TT_NAME_ID_PREFERRED_SUBFAMILY   strings   (if   available)  for
      setting  family  and  style in SFNT  fonts  (patch from Kornfeld
      Eliyahu Peter).

    - A  new  API `FT_Sfnt_Table_Info'  (in FT_TRUETYPE_TABLES_H)  has
      been added to retrieve name and size information of SFNT tables.

    - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
      been added to validate OpenType tables  (BASE, GDEF, GPOS, GSUB,
      JSTF).   After validation  it is  no longer  necessary to  check
      for errors in those tables while accessing them.

      Note that  this module might  be moved to another library in the
      future  to avoid  a tight  dependency between  FreeType and  the
      OpenType specification.

    - A new API in FT_BITMAP_H  (`FT_Bitmap_New', `FT_Bitmap_Convert',
      `FT_Bitmap_Copy',  `FT_Bitmap_Embolden',  `FT_Bitmap_Done')  has
      been added.   Its  use is  to convert an  FT_Bitmap structure in
      1bpp, 2bpp,  4bpp, or 8bpp  format into  another 8bpp FT_Bitmap,
      probably using a different pitch, and to further manipulate it.

    - A new  API `FT_Outline_Embolden'  (in FT_OUTLINE_H) gives  finer
      control how  outlines are embolded.

    - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H)  now handles bitmaps
      also (code contributed  by Chia I Wu).  Note that this  function
      is still experimental and may be replaced with a better API.

    - The method  how BDF and PCF  bitmap fonts  are accessed has been
      refined.   Formerly,   FT_Set_Pixel_Sizes  and  FT_Set_Char_Size
      were  synonyms in  FreeType's  BDF and PCF interface.  This  has
      changed now.  FT_Set_Pixel_Sizes  should be  used to  select the
      actual  font dimensions  (the `strike',  which is the sum of the
      `FONT_ASCENT'    and    `FONT_DESCENT'    properties),     while
      FT_Set_Char_Size  selects  the  `nominal' size  (the `PIXELSIZE'
      property).  In both functions, the width parameter is ignored.


  III. MISCELLANEOUS

    - The BDF driver  no longer converts  all returned bitmaps  with a
      depth of 2bpp or 4bpp to a depth of 8bpp.  The documentation has
      not  mentioned  this  explicitly,  but  implementors  might have
      relied on this after looking into the source files.

    - A new option `--ftversion' has been  added to freetype-config to
      return the FreeType version.

    - The  memory  debugger  has  been  updated   to  dump  allocation
      statistics on  all allocation  sources in the library.   This is
      useful to  spot greedy  allocations when  loading and processing
      fonts.

    - We removed a huge array of constant pointers to constant strings
      in the `psnames' module.   The problem was that  compilations in
      PIC mode (i.e.,  when generating a  Unix shared object/dll)  put
      the array  into the non-shared  writable section of  the library
      since absolute pointers are not relocatable by nature.
      
      This reduces the memory consumption by approximately 16KByte per
      process linked  to FreeType.   We now also store  the array in a
      compressed form (as a trie) which saves about 20KByte of code as
      well.

    - Kirill  Smelkov provided  patches to make  src/raster/ftraster.c
      compile stand-alone again.

svn path=/trunk/; revision=16675
2005-07-21 04:38:26 +00:00
Alex Ionescu
e4549de4a3 - Fix "cd" usage when the initial directory is a directory right on top of the root drive. (Brandon Turner)
svn path=/trunk/; revision=16674
2005-07-21 03:26:42 +00:00
Thomas Bluemel
f479dd02aa - Removed the Rtlp* string functions from the shared rtl library since they don't make sense in umode
- Moved RtlpCreateUnicodeString to ntoskrnl for now, it however is depreciated but still used in various places
- Added RtlpAllocateMemory and RtlpFreeMemory for rtl memory allocations (from paged pool in ntoskrnl and from the process heap in ntdll) that replace the ExAllocatePool* and ExFreePool implementations in ntdll

svn path=/trunk/; revision=16673
2005-07-20 23:35:59 +00:00
Thomas Bluemel
7b6225c3b5 fixed kdbg build
svn path=/trunk/; revision=16672
2005-07-20 21:38:17 +00:00
Magnus Olsen
2e13f4640d fix more cmd goto bugs. found labels bugs, and search label bugs, param bugs. now it should work fine
svn path=/trunk/; revision=16671
2005-07-20 19:44:47 +00:00
Magnus Olsen
368f39faad fix another bug in goto it is internel label :eof jump to end of the bat file
svn path=/trunk/; revision=16670
2005-07-20 18:43:01 +00:00
Magnus Olsen
4365851492 fix one bug with cmd goto so WBAT will work bit more now. thx gasmann to report it.
svn path=/trunk/; revision=16668
2005-07-20 17:06:53 +00:00
Alex Ionescu
8e5b438930 - Final fix.
svn path=/trunk/; revision=16667
2005-07-20 15:56:24 +00:00
Alex Ionescu
9b3250ce17 - Fix one more breakage (funny, the thing built without it for me?!)
svn path=/trunk/; revision=16666
2005-07-20 15:21:52 +00:00
Alex Ionescu
3134614de5 - Fix afd build for real (sorry...rbuild...)
svn path=/trunk/; revision=16665
2005-07-20 14:46:24 +00:00
Alex Ionescu
7ba312f725 - Fix AFD Build.
svn path=/trunk/; revision=16664
2005-07-20 14:45:33 +00:00
Alex Ionescu
0e0a951483 Fix build; sorry, I was waiting for Filip.
svn path=/trunk/; revision=16663
2005-07-20 14:40:20 +00:00
Filip Navara
0be32fc8d7 Build fixes.
svn path=/trunk/; revision=16662
2005-07-20 07:48:10 +00:00
Filip Navara
5fa260d21f Get rid of windows.h include in win32k. Fixes bug #666.
svn path=/trunk/; revision=16661
2005-07-20 07:27:09 +00:00
Alex Ionescu
692af5f653 Dmitry Philippov <shedon@mail.ru>:
- Implemented FindFirstFileExW() and have removed InternalFindFirstFile() in /lib/kernel32/file/find.c, now FindFirstFileA (), FindFirstFileExA () and FindFirstFileW called FindFirstFileExW ()

NOTE: Filip has asked revision "16661" (the next one) to be done by him... sorry if this sounds silly, but please respect his wish :)

svn path=/trunk/; revision=16660
2005-07-20 04:43:12 +00:00
Alex Ionescu
e8ebef770f - Move rosdhcp_public.h to dhcp library include directory.
svn path=/trunk/; revision=16659
2005-07-20 03:50:50 +00:00
Alex Ionescu
86f7b177e0 - Deleted ddk folder
- Moved afd headers to driver include directory

svn path=/trunk/; revision=16658
2005-07-20 03:43:20 +00:00
Alex Ionescu
0452118dc0 - Created include/libs and moved all library headers there.
- Created include/drivers and moved driver headers there.
 - Brought back core.h as diskdump.h, and re-enabled diskdump...it seems even though I was told it doesn't work, it's still very much used.

svn path=/trunk/; revision=16657
2005-07-20 03:42:05 +00:00
Alex Ionescu
f7270f23c4 - Build cdfs, ntfs, vfatfs with PCH
- Remove core.h and disable diskdump driver (never worked, was told it's an abandonned, obsolete driver and I tend to agree.)
 - Rename ROS ntifs.h to ccros.h and moved to root include directory (where all the "temporary" includes are for now).
 - Moved ROS class2.h to drivers/storage/include, per my own and other's recommendation, to make it clear that it's a ros-intenral file only useful for low-level storage drivers (no 3rd party driver needs this, which is why MS doesn't export it).

svn path=/trunk/; revision=16656
2005-07-20 02:52:52 +00:00
Alex Ionescu
832b1aa035 - Move asm.h to NDK.
svn path=/trunk/; revision=16655
2005-07-20 00:33:06 +00:00
Magnus Olsen
3de4927bd6 fixing bug copy file c: by Brandon Turner
svn path=/trunk/; revision=16654
2005-07-19 23:44:22 +00:00
Magnus Olsen
f48a391bbd Make CMD rember startpath when you change from start drive to another drive.
svn path=/trunk/; revision=16653
2005-07-19 23:36:59 +00:00
Magnus Olsen
7928f042c0 Fix some pipe and revirt one erly change as harumt sugest. and add alot errorlevel most command handle the errorlevel right but it is alot work todo
svn path=/trunk/; revision=16652
2005-07-19 23:25:50 +00:00
Magnus Olsen
6e7d8b2e8d add ConErrMessage to deal with error msg and ConOutMessage for other msg. Copy error msg are always pipe with ConOut and CD error msg with ConErr. Thx harmut that remmid me about it. All error msg need to check if they goes with ConErr or ConOut
svn path=/trunk/; revision=16651
2005-07-19 22:48:35 +00:00
Alex Ionescu
73e69c9d9e - 4th out of 5 patch part of ROSRTL removal. This touches fibers:
* Support SxS when available (add new fiber member for this as well).
        * Support FLS when available.
        * Added new Fiber Members for new features in XP/2003 (GuaranteedStackBytes and FlsData)
        * Support FPU State Restore/Save in switch code.
        * Use new common stack/context initialization routines instead of ROSRTL.
        * Change Fiber structure to use CONTEXT directly in order to speed up and generalize
          context creation.
        * Fix BaseFiberStartup to send right parameters.

Note: not yet fully tested with fibertest, I will do this later today and fix any bugs.

svn path=/trunk/; revision=16650
2005-07-19 21:04:19 +00:00
Alex Ionescu
22ef1b4558 - Update ASM header file with more offsets.
svn path=/trunk/; revision=16649
2005-07-19 20:56:38 +00:00
Alex Ionescu
f25f86cc02 - Fix LDR_DATA_TABLE_ENTRY definition.
svn path=/trunk/; revision=16648
2005-07-19 20:55:13 +00:00
Casper Hornstrup
4a454cb7d6 Generate RPC interface headers in intermediate directory
svn path=/trunk/; revision=16647
2005-07-19 18:46:13 +00:00
Magnus Olsen
b44c46dccd Fix all bugs in cmd commands cd, make it rember the last directory for each drive. make c: working, make cd f f working. We can not found any more bugs cd rewriting was done by BrandonTurner and me, Brandon rewrite cmd_chdir and I add two functions that we will use for cd and other commands to get and set current drive path. The /D are also implement in CD
svn path=/trunk/; revision=16646
2005-07-19 18:15:32 +00:00
Eric Kohl
5b843df690 - Implement CM_Get_Depth[_Ex] and CM_Get_DevNode_Status[_Ex].
- Add dummy code for CM_Get_Child_Ex, CM_Get_Parent_Ex and CM_Get_Sibling_Ex. WIDL doesn't support this yet.

svn path=/trunk/; revision=16645
2005-07-19 15:57:30 +00:00
Aleksey Bragin
4e94521b41 usb stack "upgrade", fixes issues with timing, host controller reset, new devices discovery, other small things (better to see diff :) ).
svn path=/trunk/; revision=16644
2005-07-19 14:11:53 +00:00
Aleksey Bragin
1e4f24a1e8 usbcore "upgrade", fixes issues with timing, host controller reset, new devices discovery, other small things (better to see diff :) ).
svn path=/trunk/; revision=16643
2005-07-19 14:06:19 +00:00
Aleksey Bragin
52d68cf938 Implemented needed DMA functions (pool alloc/free, create/destroy, map/unmap single), manipulations with timers (schedule_timeout, schedule_wait).
svn path=/trunk/; revision=16642
2005-07-19 13:19:04 +00:00
James Tabor
8e78ac6a62 Implement GdiGetCharDimensions by Robert Shearman rob@codeweavers.com.
svn path=/trunk/; revision=16641
2005-07-19 11:18:40 +00:00
James Tabor
6f5624c2a4 Fixup UnrealizeObject so it can return the correct state for a Brush Object.
svn path=/trunk/; revision=16640
2005-07-19 03:13:11 +00:00
Magnus Olsen
a6fd14c5c8 Cd does rember the cd c:\gcc and you can do c:
and it jump to c:\gcc not tested in reactos yet. but cd have other bugs that need to be fix. 

svn path=/trunk/; revision=16639
2005-07-19 01:55:16 +00:00
Magnus Olsen
3925d142b0 make GetRootPath bit smarter
svn path=/trunk/; revision=16638
2005-07-19 01:36:54 +00:00
Magnus Olsen
758d835b13 make GetRootPath bit faster if it does not get a drive name with :
svn path=/trunk/; revision=16637
2005-07-18 23:04:39 +00:00
Magnus Olsen
07a3a7ec8e add a new interal function call GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size) it get the a driver current path without change the current driver directory, it is not in use yet, prep for copy, cd, rm, and all other commands.
svn path=/trunk/; revision=16636
2005-07-18 22:44:13 +00:00
Alex Ionescu
ce7fb8c1b9 - Fix nasty APC delivery bug (in case a Kernel-Mode Special APC still returned with a Normal Routine, the Normal Routine was called with incorrect values (Special Routines take PVOID* arguments, while Normal Routines do not!))
- Remove APC from list before setting it to non-inserted.
 - Do proper thread termination piggybacking; terminate threads in user-mode as Hartmut correctly fixed.

svn path=/trunk/; revision=16635
2005-07-18 19:50:23 +00:00
Hartmut Birr
269fab698e Removed the message also from the senders queue (in MsqCleanupMessageQueue).
svn path=/trunk/; revision=16634
2005-07-18 15:05:58 +00:00
Hervé Poussineau
b9edb4f6e3 Forward more exports to setupapi.dll
svn path=/trunk/; revision=16633
2005-07-18 14:10:56 +00:00
Hervé Poussineau
08711eda61 Move serial ports and mice classes parameters to their own .inf files. They would be regenerated during 2nd stage setup
svn path=/trunk/; revision=16632
2005-07-18 11:57:16 +00:00
Hervé Poussineau
02b9843370 Implement SetupDiGetDeviceRegistryPropertyA/W
Change the way devices are enumerated in SetupDiGetClassDevsExW. Now, it enumerates subkeys of HKLM\SYSTEM\CurrentControlSet\Enum instead of HLKM\SYSTEM\CurrentControlSet\Control\Class ones.
Free the temp buffer in SetupDiGetDeviceRegistryPropertyA only when it is no more usefull
Replace RegOpenKeyEx by RegOpenKeyExW

svn path=/trunk/; revision=16631
2005-07-18 07:17:53 +00:00
James Tabor
d09f528ad2 Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine. More work is needed on both.
svn path=/trunk/; revision=16630
2005-07-18 03:13:11 +00:00
James Tabor
35b93a79d6 Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine.
svn path=/trunk/; revision=16629
2005-07-18 03:12:01 +00:00
Thomas Bluemel
0825640a24 fixed signed/unsigned comparison warning
svn path=/trunk/; revision=16628
2005-07-17 19:20:12 +00:00
Hartmut Birr
53f97f1bee If the user mode is intercepted by an interrupt, we must deliver user mode apc's.
svn path=/trunk/; revision=16627
2005-07-17 18:36:01 +00:00
Hartmut Birr
2adf26048d - PsKillMostProcesses must be running in the context of the system process.
- The thread terminating apc is a special user mode apc.

svn path=/trunk/; revision=16626
2005-07-17 18:34:23 +00:00
Hartmut Birr
d3493295ab Request the APC_INTERRUPT for the correct processor on smp machines.
svn path=/trunk/; revision=16625
2005-07-17 18:27:46 +00:00