Commit Graph

209 Commits

Author SHA1 Message Date
Alexandre Julliard 351e58318a gdi32: Fix text justification to properly handle logical coordinates. 2012-12-11 20:45:38 +01:00
Alexandre Julliard b057c5f140 gdi32: Fix handling of font orientation in advanced graphics mode. 2012-12-10 17:36:23 +01:00
Alexandre Julliard 75fff47f94 gdi32: Add ref counting to the font objects and simplify the cache management. 2012-12-10 13:42:23 +01:00
Alexandre Julliard 6144824965 gdi32: Remove special handling for linked fonts in ExtTextOut. 2012-12-05 20:23:50 +01:00
Alexandre Julliard 78626cdbaa gdi32: Support caching glyphs by character code and not only by glyph index. 2012-12-05 17:46:47 +01:00
Alexandre Julliard 86c41dc468 gdi32: Take into account the FontSmoothing key for anti-aliasing. 2012-11-06 16:02:27 +01:00
Alexandre Julliard ff8647ea39 gdi32: Avoid opening the desktop registry key multiple times. 2012-11-06 16:02:19 +01:00
Alexandre Julliard 5c02c352d9 gdi32: Determine the default anti-aliasing parameters in the null driver SelectFont entry point. 2012-11-05 16:15:25 +01:00
Alexandre Julliard 123da6f888 gdi32: Move checking of the subpixel support and gasp flags to freetype.c. 2012-11-02 17:21:45 +01:00
Alexandre Julliard 9cdb0e1ca6 gdi32: Disable anti-aliasing when necessary in the various drivers. 2012-11-02 16:41:26 +01:00
Alexandre Julliard ccc034c27e gdi32: Store the anti-aliasing flags in the DC when selecting a font. 2012-11-02 16:41:23 +01:00
Alexandre Julliard 6164d533a9 gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point. 2012-11-02 16:41:21 +01:00
Huw Davies 9247328371 gdi32: Implement sub-pixel glyph smoothing. 2012-10-30 18:09:00 +01:00
Alexandre Julliard df357093cc gdi32: Get rid of the GDIOBJHDR type. 2012-10-17 13:48:45 +02:00
Alexandre Julliard f0e4062773 gdi32: Allow GetCharABCWidths on all scalable fonts, not just TrueType ones. 2012-09-27 13:13:43 +02:00
Alexandre Julliard 4c3cc50104 gdi32: Fix bitmap glyph allocation size in ExtTextOut fallback implementation. 2012-07-02 10:58:57 +02:00
Stefan Leichter db21158faa gdi32: Spelling fix. 2012-06-28 11:37:03 +02:00
Alexandre Julliard 1416d0e6f1 gdi32: Remove the bitmap parameter from the Get/PutImage entry points. 2012-05-29 21:05:52 +02:00
Alexandre Julliard b1ccff1a9c gdi32: Add helper functions for manipulating bounds rectangles. 2012-04-16 13:41:29 +02:00
Dmitry Timoshkov 62b9c26bb5 gdi32: Refuse to load a large .fot file earlier. 2012-04-02 12:42:22 +02:00
Huw Davies 88a2620b14 gdi32: Add support for loading scalable font resources. 2012-03-30 15:29:40 +02:00
Huw Davies 105caa28bf gdi32: Implement CreateScalableFontResource.
Based on patches by Jeremy White and Dmitry Timoshkov.
2012-03-29 18:16:06 +02:00
Huw Davies 41fb856961 gdi32: Correctly propagate the enumproc's return value. 2012-03-14 17:33:54 +01:00
Alexandre Julliard 78c3af9f18 gdi32: Fix missing increment of integer data in GetCharABCWidthsFloat. 2012-03-02 17:03:45 +01:00
Alexandre Julliard 32057bf132 gdi32: Don't paint the text rectangle in transparent mode unless a rectangle is explicitly specified. 2012-02-21 17:20:48 +01:00
Alexander Kochetkov 86de76b9e1 gdi32: Fix text baseline calculation in compatible mode. 2012-02-16 18:51:55 +01:00
Huw Davies d3bfa44d53 gdi32: Intersect the background text box with the clip rectangle in device units. 2012-02-09 09:34:43 -06:00
Huw Davies 1eca24bd6b gdi32: Rename a shadow variable. 2012-02-09 09:34:38 -06:00
Akihiro Sagawa 70c2222180 gdi32: Avoid making a DBCS character in range. 2011-12-27 16:55:09 +01:00
Alexandre Julliard 27eb63b082 gdi32: GetCharABCWidthsFloatW must succeed with non-TrueType fonts. 2011-12-12 11:14:25 +01:00
Alexandre Julliard 1e2dd7cad8 gdi32: Add a helper function to clip a rectangle to the DC visible rect. 2011-12-06 15:50:59 +01:00
Huw Davies 4ce3af3fad gdi32: Add support for checking the font's gasp flags. 2011-12-02 17:25:54 +01:00
Huw Davies 0ab46cd5e9 gdi32: Avoid reading past the end of the indices array.
Spotted by Marcus Meissner.
2011-11-24 17:17:07 +01:00
Alexandre Julliard 670f25cc8f gdi32: Add support for anti-aliasing in the null driver text output fallback. 2011-11-21 12:15:53 +01:00
Alexandre Julliard 1b63d5a610 gdi32: Add a helper function to determine anti-aliasing flags. 2011-11-21 11:52:30 +01:00
Alexandre Julliard 5282ffadad gdi32: Add a null driver fallback implementation for non-antialiased text output. 2011-11-21 11:52:26 +01:00
Alexandre Julliard 199409a27b gdi32: Fix positioning of font underlines and strikeouts. 2011-11-07 13:41:18 +01:00
Alexandre Julliard 26aaaa1269 gdi32: Fix a misplaced release_dc_ptr call. 2011-10-28 11:29:34 +02:00
Alexandre Julliard c441d57452 gdi32: Implement the ExtTextOut entry point in the path driver. 2011-10-26 23:16:52 +02:00
Alexandre Julliard ba2ea23574 gdi32: Always use a polygon to draw text strike-outs and underlines. 2011-10-26 14:14:36 +02:00
Alexandre Julliard 7fbb16d4ba gdi32: Implement GdiRealizationInfo as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard 8796831a9f gdi32: Implement FontIsLinked as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard e31c51b65e gdi32: Implement GetFontData as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard 441d6cfcd4 gdi32: Implement GetTextFace as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard a2de6a8766 gdi32: Implement GetTextExtentExPointI as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard 1740f34ffb gdi32: Implement GetTextCharsetInfo as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard ce8d7b4601 gdi32: Implement GetOutlineTextMetrics as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 0c96820104 gdi32: Implement GetKerningPairs as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 6376b4cf6f gdi32: Implement GetGlyphOutline as a standard driver entry point. 2011-10-25 16:57:28 +02:00
Alexandre Julliard ff96c4dd4e gdi32: Implement GetGlyphIndices as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 90ecea9739 gdi32: Implement GetFontUnicodeRanges as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 23c7c0469c gdi32: Reimplement GetCharABCWidthsFloat using the integer version. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 27208a0ec5 gdi32: Implement GetCharABCWidthsI as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard e5a0fa7089 gdi32: Implement GetCharABCWidths as a standard driver entry point. 2011-10-25 16:57:26 +02:00
Alexandre Julliard 2b1b11d681 gdi32: Rename the EnumDeviceFonts entry point to EnumFonts since it's not limited to device fonts. 2011-10-24 23:34:33 +02:00
Alexandre Julliard cbd81d391c gdi32: Implement EnumDeviceFonts as a standard driver entry point. 2011-10-24 23:34:28 +02:00
Alexandre Julliard 20070d0838 gdi32: Implement GetTextMetrics as a standard driver entry point. 2011-10-24 20:03:53 +02:00
Alexandre Julliard 5c1c7a6576 gdi32: Implement GetCharWidthW as a standard driver entry point. 2011-10-20 17:05:11 +02:00
Alexandre Julliard 6ad9eb805c gdi32: Implement GetTextExtentExPointW as a standard driver entry point. 2011-10-20 17:04:35 +02:00
Alexandre Julliard ef0fe44327 gdi32: Implement SelectFont as a standard driver entry point. 2011-10-19 18:22:05 +02:00
Huw Davies 595dbe2eba gdi32: Fix character code metrics for bitmap fonts. 2011-10-19 17:38:33 +02:00
Huw Davies 5bd304bd0e gdi32: The text extents functions fail if passed a negative count. 2011-10-11 19:43:12 +02:00
Akihiro Sagawa 79ab0c3375 gdi32: Pass a proper code point from GetGlyphOutlineA to W version. 2011-05-04 20:42:34 +02:00
Alexandre Julliard 1fc5603cc9 gdi32: Add null driver entry points for the text functions. 2011-03-16 14:14:16 +01:00
Alexandre Julliard 965d41717b gdi32: Add null driver entry points for the various DC settings functions. 2011-03-10 21:58:55 +01:00
Alexandre Julliard adc63287b5 gdi32: Add null driver entry points for the object selection functions. 2011-03-10 12:39:03 +01:00
Kusanagi Kouichi 3311bbb319 gdi32: Check if a character is double byte or single byte. 2011-02-03 13:15:19 +01:00
Kusanagi Kouichi 2d6b748c79 gdi32: Upper 24 bits of a character range must be same. 2011-02-01 18:14:09 +01:00
David Hedberg 81bbd17c40 gdi32: Stay within the clipping area when painting text background. 2011-02-01 18:14:09 +01:00
Kusanagi Kouichi c117d45cb3 gdi32: Reject invalid character range in GetCharABCWidthsA. 2011-01-28 14:50:20 +01:00
Akihiro Sagawa ac66c57523 gdi32: Use the helper function in GetCharABCWidthsFloatA to support DBCS. 2011-01-17 16:03:53 +01:00
Akihiro Sagawa da76ffa90e gdi32: Use the helper function in GetCharWidth32A to support DBCS. 2011-01-17 16:03:53 +01:00
Akihiro Sagawa b9c41636bb gdi32: Add a helper function to get chars in the range. 2011-01-17 16:03:41 +01:00
Akihiro Sagawa d4924bf9a1 gdi32: Avoid an integer overflow in GetCharABCWidthsA. 2011-01-17 16:00:12 +01:00
Akihiro Sagawa 62b5963507 gdi32: Pass the byte count to FONT_mbtowc in GetCharABCWidthsA. 2011-01-17 15:59:26 +01:00
Kusanagi Kouichi 5c987fc574 gdi32: GetCharABCWidthsA should work for DBCS. 2011-01-13 17:26:12 +01:00
Alexandre Julliard f914811359 gdi32: Remove unnecessary uses of wownt32.h. 2010-11-01 16:44:34 +01:00
James McKenzie c3dfc7b834 gdi32: Correct typo in comment. 2010-10-11 17:11:25 +02:00
Andrew Nguyen ca96aed384 gdi32: Improve AddFontMemResourceEx parameter validation. 2010-08-03 18:00:19 +02:00
Dmitry Timoshkov 81557b5e21 gdi32: Do not crash on an invalid pointer passed to AddFontMemResourceEx. 2010-08-02 16:10:06 +02:00
Alexandre Julliard 1da826a149 gdi32: Fix text positioning in mirrored DCs. 2010-07-29 13:37:20 +02:00
Alexandre Julliard 7c1124e49a gdi32: Make sure the text dimensions are always positive in the ExtTextOut normal case. 2010-07-28 23:15:01 +02:00
Alexandre Julliard 69d5a56103 gdi32: Fix the sign of the vertical text position in ExtTextOutW. 2010-06-17 17:25:04 +02:00
Nikolay Sivov cd43ff167b gdi32: Add CreateFontIndirectEx implementation. 2010-06-14 14:14:15 +02:00
Aric Stewart ec62c33d79 gdi32: Handle a BiDi string being shaped into more or less glyphs than characters in the string. 2010-05-24 11:18:28 +02:00
Aric Stewart 2a8958ec18 gdi32: Use usp10 to optionally generate glyphs for bidi strings. 2010-05-13 19:44:35 +02:00
Huw Davies d92ed5bd07 gdi32: Add support for ETO_PDY and improve world transform support. 2010-05-06 15:24:30 +02:00
Huw Davies 9bee50f6d9 gdi32: Fix ExtTextOutA -> W forwarding when ETO_PDY is set. 2010-05-05 17:49:44 +02:00
Hans Leidekker 1d4fcc0270 gdi32: Implement WineEngGetCharABCWidthsFloat and forward GetCharABCWidthsFloat to it. 2009-12-11 17:47:22 +01:00
André Hentschel e4beddb664 gdi32: Don't strip font suffix. 2009-11-17 15:14:56 +01:00
Nikolay Sivov dd0a7078e0 gdi32: Prevent possible buffer overrun. 2009-10-20 14:09:25 +02:00
Dmitry Timoshkov 95156d1b5f gdi32: Use GdiGetCodePage() instead of duplicating its functionality. 2009-04-06 12:57:21 +02:00
Dmitry Timoshkov 4bb8d9c1c2 gdi32: Cache current font code page in the DC structure. 2009-04-06 12:57:11 +02:00
Huw Davies e93d348109 gdi32: Improve calculation of the character code text metrics. 2009-02-16 16:01:37 +01:00
Dmitry Timoshkov 24937a4f0f gdi32: Add a test for the MAT2 parameter of GetGlyphOutline, make it pass under Wine. 2009-02-03 12:40:27 +01:00
Alexandre Julliard 7b82b98ee8 gdi32: Don't hold the GDI lock while calling the Freetype font engine functions. 2009-01-28 19:38:15 +01:00
Alexandre Julliard de831f334c gdi32: Release GDI handles before freeing the object.
This makes it unnecessary to hold the GDI lock during destruction.
2009-01-28 18:45:21 +01:00
Alexandre Julliard 311c53db4f gdi32: Allocate and initialize GDI objects before giving them a handle.
This makes it unnecessary to hold the GDI lock since the object
cannot be accessed before it has a handle.
2009-01-28 18:43:06 +01:00
Alexandre Julliard 5811a2ccb4 gdi32: Use the official constants instead of the old Win9x magic numbers for GDI object types. 2009-01-28 16:20:56 +01:00
Alexandre Julliard 68d19b9552 gdi32: Don't hold the GDI lock while calling the GetObjectA/W methods for GDI objects. 2009-01-27 16:30:43 +01:00