Commit Graph

1935 Commits

Author SHA1 Message Date
Huw Davies cf9cb6c118 gdi32: Ignore max_extent if nfit is NULL. 2013-07-22 17:16:04 +02:00
André Hentschel 20bf02910b gdi32: Remove superfluous cast. 2013-07-01 19:51:23 +02:00
Alexandre Julliard 60d29d1d0d gdi32: Don't load linked fonts only to look up control characters. 2013-07-01 19:51:17 +02:00
Alexandre Julliard a973df3324 gdi32: Fix off-by-one error in the extent of arcs when the size is even. 2013-07-01 19:51:14 +02:00
Alexandre Julliard e4300d6165 gdi32: Cache the font smoothing parameters. 2013-06-24 21:52:28 +02:00
Marcus Meissner ff1bd6da35 gdi32: Close handle in mfdrv (Coverity). 2013-06-24 11:46:40 +02:00
Marcus Meissner 1cf9939dc0 gdi32: Close handle in error path (Coverity). 2013-06-24 11:46:34 +02:00
Aric Stewart 37d216cc56 gdi32/tests: Add a test case for vertical fonts enumeration order. 2013-06-20 22:14:35 +02:00
Alexandre Julliard e531306f7a gdi32: Put vertical font families after their horizontal counterpart in the font list. 2013-06-20 22:14:35 +02:00
Alexandre Julliard 102b2785f4 gdi32: Add support for loading name strings in Apple Unicode format. 2013-06-20 22:14:35 +02:00
Alexandre Julliard 3d0f044883 gdi32: Add support for loading name strings in Macintosh format. 2013-06-20 22:14:34 +02:00
Alexandre Julliard b05b637c91 gdi32: Improve font name localization by not requiring a strict language match. 2013-06-20 22:14:32 +02:00
Dmitry Timoshkov 924fad9d25 gdi32: ExtSelectClipRgn(hdc, 0, RGN_DIFF) is supposed to fail. 2013-06-18 10:40:34 +02:00
Dmitry Timoshkov 705a0f0238 gdi32: Scale default GUI fonts to match screen resolution changes. 2013-06-17 19:30:49 +02:00
Dmitry Timoshkov 6834a44dc4 gdi32/tests: Add a test for default font height scaling with screen resolution changes. 2013-06-17 19:30:49 +02:00
Dmitry Timoshkov 288f3be439 gdi32/tests: Skip the bitmap font max width test on not 96 dpi resolutions. 2013-06-17 19:30:48 +02:00
Aric Stewart f5ec65ad8e gdi32: Update Arabic font defaults.
With help from Mosaab Alzoubi <moceap@hotmail.com>.
2013-06-11 18:07:59 +02:00
Aric Stewart ceb81eee20 gdi32: Turn off tategaki if the unicode code point is outside of the rotated ranges. 2013-06-05 20:30:58 +02:00
Matěj Laitl 84c07af48e gdi32: More specific error messages in osmesa opengl initialization. 2013-05-30 20:19:32 +02:00
Aric Stewart 3108f3cf3d gdi32/tests: Do not try to test OS/2 win metrics on non-windows fonts. 2013-05-29 18:12:54 +02:00
Aric Stewart 72f584aef8 gdi32: Fix up glyph metrics for tategaki glyphs. 2013-05-28 19:42:24 +02:00
Aric Stewart cf891b04a0 gdi32: Fix Tategaki rotation.
Tategaki does not ignore orientation rotation, instead it always
rotates affect glyphs by 90 degrees inside their cell.
2013-05-28 19:42:15 +02:00
Akihiro Sagawa 15aa8daf64 gdi32: Use the default character when the glyph is missing. 2013-05-22 19:32:26 +02:00
Akihiro Sagawa f6ea5c8a0f gdi32: Add a helper to get the default character index. 2013-05-22 19:32:23 +02:00
Aric Stewart 1ff63bb893 gdi32: Vertical glyphs can be written tategaki even without a vertical GSUB feature.
It is only based on the presence of the '@' character in the font name.
2013-05-21 12:07:43 +02:00
Aric Stewart accad0957c gdi32: Load the vertical feature when loading the GSUB table. 2013-05-21 12:07:30 +02:00
Aric Stewart 70cdd2ff9a gdi32: Vertical glyph replacements are not applied in GetGlyphOutline if glyph is specified by index. 2013-05-21 12:06:42 +02:00
Aric Stewart 546c587036 gdi32: GetGlyphIndices does substitute glyph. 2013-05-20 12:06:25 +02:00
Aric Stewart adfa3c0c57 gdi32/tests: Update the vertical font to be a proper windows vertical font. 2013-05-20 12:06:21 +02:00
Akihiro Sagawa 8f8363ede6 gdi32: Ignore the lfHeight value when it exceeds the limit. 2013-05-08 14:29:06 +02:00
Alexandre Julliard 100806e473 configure: Use the pkg-config helper macro for freetype. 2013-05-03 20:45:32 +02:00
Sam Edwards 21dbe1c949 gdi32: Clip font glyphs to fit within text metrics. 2013-05-02 12:32:53 +02:00
Sam Edwards a7dee44c24 gdi32: Improve glyph positioning for the subpixel case in get_glyph_outline. 2013-05-02 12:31:13 +02:00
Sam Edwards 53ec9b3291 gdi32: Prevent another possible buffer overflow in get_glyph_outline. 2013-04-30 12:34:27 +02:00
Alexandre Julliard 31f0079f1c gdi32: Convert the edges list to a standard list in CreatePolyPolygonRgn. 2013-04-23 15:34:53 +02:00
Alexandre Julliard 6a9b775f36 gdi32: Add helper functions to manage blocks of points in CreatePolyPolygonRgn. 2013-04-22 21:57:32 +02:00
Alexandre Julliard a34c6f436d gdi32: Replace some macros by inline functions in the region code. 2013-04-22 21:40:05 +02:00
Sam Edwards 147765a505 gdi32: Prevent possible buffer overflows in get_glyph_outline. 2013-04-19 10:42:36 +02:00
André Hentschel 741f7b6f0c gdi32: Copy gamma ramp validation from winex11 to make it driver independent. 2013-04-17 16:31:31 +02:00
Akihiro Sagawa f50e649578 gdi32/tests: Fix tests for fixed-pitch full-width character advance. It's double of tmAveCharWidth.
For instance, 19 ppem "VL Gothic" on Windows, the advance value is 10
for half-width characters, but 18 for full-width characters.  In this
case, tmAveCharWidth is 9. Thus using tmAveCharWidth is reasonable.
2013-04-04 19:39:00 +02:00
Akihiro Sagawa e5f1508031 gdi32: Improve fixed-pitch advance calculation as well as outline text metrics. 2013-04-04 19:38:46 +02:00
Akihiro Sagawa 3a96891061 gdi32: Improve outline text metrics calculation, especially if unitsPerEm is not power of 2. 2013-04-04 19:38:43 +02:00
Akihiro Sagawa 786b931e45 gdi32: Introduce macros to calculate outline text metrics. 2013-04-04 19:38:40 +02:00
Alexandre Julliard 2f48b12c57 gdi32: Use the Mac driver by default. 2013-04-02 12:47:28 +02:00
Huw Davies 5713311657 gdi32: Printer drivers don't use the character extra spacing if lpdx is supplied. 2013-03-26 17:07:37 +01:00
Dmitry Timoshkov 8744c10a38 gdi32: Add support for disk-based metafiles to GetMetaFileBitsEx. 2013-03-25 13:56:09 +01:00
Alexandre Julliard 591a31ba67 gdi32: Increment the face refcount when loading the same font file multiple times. 2013-03-04 11:36:04 +01:00
Alexandre Julliard 93c1389b7c gdi32: Store the font stat information when loading it. 2013-03-04 11:35:28 +01:00
Byeongsik Jeon 1c846e70f0 gdi32: Fix the GdiGetCodePage() support ANSI_CHARSET font associated charset. 2013-02-27 19:23:44 +01:00
Alexandre Julliard eaf78eadf0 gdi32/tests: Define the required Windows version before including anything. 2013-02-18 14:51:04 +01:00
Dmitry Timoshkov e069662c0c gdi32: SelectClipPath should update actual clipping region for a EMF DC. 2013-02-15 11:50:32 +01:00
Dmitry Timoshkov 88b9ae1ec2 gdi32: ExcludeClipRect should update actual clipping region for a EMF DC. 2013-02-14 11:14:47 +01:00
Dmitry Timoshkov 47b89a8fac gdi32: IntersectClipRect should update actual clipping region for a EMF DC. 2013-02-14 11:14:45 +01:00
Dmitry Timoshkov 756736ae42 gdi32: OffsetClipRgn should update actual clipping region for a EMF DC. 2013-02-14 11:14:43 +01:00
Dmitry Timoshkov 498b18f25f gdi32: Add more EMF clipping tests. 2013-02-14 11:14:41 +01:00
Dmitry Timoshkov 9a2688e690 gdi32: Make sure that actual clipping region is updated for a EMF DC. 2013-02-13 16:13:54 +01:00
Akihiro Sagawa 9aa8300f99 gdi32: Ensure a fixed-pitch full-width character has double advance of a half-width character. 2013-02-07 15:53:48 +01:00
Alexandre Julliard 0d7108c629 gdi32: Return the correct module handle for the initial display driver load. 2013-02-06 12:21:33 +01:00
Dmitry Timoshkov 753c9362c1 gdi32: Add a bunch of tests for CreateDC/ResetDC with a custom DEVMODE. 2013-02-05 10:56:47 +01:00
Dmitry Timoshkov c7d33e1d44 gdi32: Add support for 16-bit QUERYESCSUPPORT queries. 2013-02-05 10:54:23 +01:00
Stefan Leichter 83846cd131 gdi32: Add stub for GetFontResourceInfoW. 2013-01-22 20:02:00 +01:00
Alexandre Julliard f496a5a0e6 gdi32: Fix copy/paste typo in get_char_positions_indices. 2013-01-22 12:13:19 +01:00
Andrew Talbot f98f70fb41 gdi32: Avoid signed-unsigned integer comparisons. 2013-01-21 12:51:15 +01:00
Alexandre Julliard 0b10f0b854 gdi32: Initialize fontconfig even when fonts are cached. 2013-01-15 14:30:36 +01:00
Alexandre Julliard 8681774a4f gdi32: Support for hidden flag of CreateScalableFontResource. 2013-01-15 14:30:35 +01:00
Alexandre Julliard 46532e8d8a gdi32: Add support for .fot files in RemoveFontResource. 2013-01-15 14:30:35 +01:00
Alexandre Julliard 4fc8bf18f3 gdi32: Implement RemoveFontResource. 2013-01-15 14:30:22 +01:00
Alexandre Julliard 4d72b082ed gdi32: Keep the main font cache key open. 2013-01-15 14:30:09 +01:00
Alexandre Julliard ab0ad4f5d8 gdi32: Add helper functions to compute font paths for AddFontResource. 2013-01-15 14:30:09 +01:00
Alexandre Julliard 0f40a031e7 gdi32: Store the vertical flag together with the other font flags. 2013-01-15 14:30:04 +01:00
Alexandre Julliard f90696e813 gdi32: Store the full flags in the face object, and add a flag for fonts added through AddFontResource. 2013-01-15 14:29:12 +01:00
Alexandre Julliard 865078b05a gdi32: Add ref counting to the face and family objects. 2013-01-14 15:19:14 +01:00
Alexandre Julliard 634840579c gdi32: Avoid creating a family object just to retrieve the font data. 2013-01-14 14:48:20 +01:00
Alexandre Julliard 227fc26e63 gdi32: Use the correct physdev for each driver call (Coverity). 2012-12-27 20:53:25 +01:00
Alexandre Julliard 57f84bc7bb gdi32: Avoid duplicate computation of text extents in ExtTextOut. 2012-12-20 15:08:31 +01:00
Alexandre Julliard 0da8c0d92e gdi32: Compute the extents of the whole string at once in ExtTextOut. 2012-12-20 14:32:58 +01:00
Alexandre Julliard bbf3e8621a gdi32: Remove from the GetTextExtentExPoint entry points parameters that can't be handled by the driver. 2012-12-18 19:26:25 +01:00
Alexandre Julliard 1c2f23cf2f gdi32: Add helper functions for GetTextExtentExPoint and fix handling of text justification. 2012-12-18 19:21:44 +01:00
Andrew Talbot 0653f7a64d gdi32: Indentation fix. 2012-12-17 11:48:03 +01:00
Alexandre Julliard 5215895a11 gdi32: Support wrongly ordered rectangles in RectVisible. 2012-12-14 17:37:41 +01:00
Alexandre Julliard 456b4c876e gdi32: Add a helper function to order the points of a rectangle. 2012-12-14 17:37:33 +01:00
Alexandre Julliard ff5d68ccb2 gdi32: Fix handling of rotation matrices in GetGlyphOutline. 2012-12-14 13:12:19 +01:00
Alexandre Julliard 351e58318a gdi32: Fix text justification to properly handle logical coordinates. 2012-12-11 20:45:38 +01:00
Alexandre Julliard a3cf48afad gdi32: Add a level of pointers to the glyph cache to avoid the need for locking individual glyphs. 2012-12-11 12:03:33 +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 06dced4eaa gdi32: Keep track of the number of fonts on the unused list. 2012-12-07 14:39:49 +01:00
Alexandre Julliard d3c128346b gdi32: Simplify list processing by using the LIST_FOR_EACH_ENTRY macro. 2012-12-07 14:29:28 +01:00
Francois Gouget 166e7c7381 gdi32: Make make_rgb_colorref() static. 2012-12-07 12:35:29 +01:00
Alexandre Julliard 8cca615f02 gdi32: Don't store a font pointer in the generic part of the DC. 2012-12-05 21:13:54 +01:00
Alexandre Julliard baedf81b11 gdi32: Don't create a separate font handle for linked fonts. 2012-12-05 21:13:29 +01:00
Alexandre Julliard 6144824965 gdi32: Remove special handling for linked fonts in ExtTextOut. 2012-12-05 20:23:50 +01:00
Alexandre Julliard 491123e17b gdi32: Support getting character codes instead of glyphs in ExtTextOut for the path driver. 2012-12-05 17:46:53 +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 e8b6701fe1 gdi32: Store and return ABC metrics from get_glyph_outline. 2012-12-04 18:14:56 +01:00
Alexandre Julliard 3a4864714d gdi32: Don't copy unnecessary rows when shrinking in DELETESCANS mode. 2012-12-03 18:24:46 +01:00
Alexandre Julliard db3a8d6c0c gdi32: Avoid binary ROPs when shrinking in DELETESCANS mode. 2012-12-03 18:24:46 +01:00
Alexandre Julliard 6f6e919e2b gdi32: Avoid binary ROPs when stretching in DELETESCANS mode. 2012-12-03 18:24:45 +01:00
Alexandre Julliard 2d3385eec9 gdi32: Avoid computing grayscale glyph intensities when not needed. 2012-11-30 19:12:17 +01:00
Alexandre Julliard abdce5c2c8 gdi32: Use the faster memset for vertical gradients. 2012-11-30 19:12:17 +01:00
Alexandre Julliard d10d95608c gdi32: Make blend_subpixel inline. 2012-11-30 19:12:17 +01:00
Alexandre Julliard a796ad5ed8 gdi32: Avoid creating a copy of the pattern bits for the R2_COPYPEN case. 2012-11-29 19:40:19 +01:00
Alexandre Julliard 7339308e16 gdi32: Add faster implementation of the pattern_rects primitive when we don't need an AND mask. 2012-11-29 19:40:13 +01:00
Alexandre Julliard 2aff4696b6 gdi32: Add assembly helpers for filling solid rectangles. 2012-11-29 12:31:13 +01:00
Alexandre Julliard cb7917f9c8 gdi32: Add faster implementations of the solid_rects primitive for the common case of R2_COPYPEN. 2012-11-29 12:17:55 +01:00
Alexandre Julliard 6050a025bb gdi32: Add a font glyph cache in the DIB engine. 2012-11-28 12:22:40 +01:00
Alexandre Julliard 4ad5287496 gdi32: Fully reset the DC state before deleting it. 2012-11-27 19:45:30 +01:00
Huw Davies e6f1930116 gdi32: Simplify the point type checking logic. 2012-11-27 17:00:05 +01:00
Alexandre Julliard 1c4cf1a2db gdi32: Fix coordinate mapping of arc limits. 2012-11-19 16:35:23 +01:00
Alexandre Julliard ebaf5ea176 gdi32: Don't load bitmap glyphs when using subpixel rendering in GetGlyphOutline. 2012-11-15 21:21:39 +01:00
Piotr Caban 4f07c49547 gdi32: Added GetGlyphOutlineW tests on glyph that contains empty contour. 2012-11-13 16:57:02 +01:00
Piotr Caban b696558f04 gdi32: Ignore contours containing one point in get_glyph_outline function. 2012-11-13 16:55:55 +01:00
Alexandre Julliard af3f3cb1b2 gdi32: Avoid using the system GL headers. 2012-11-07 18:12:03 +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 7fdba1f3dd gdi32: Use the fontconfig anti-aliasing setup even for non-fontconfig fonts. 2012-11-06 11:47:28 +01:00
Alexandre Julliard ddba05547f gdi32: Get rid of the non-standard flags in GetRasterizerCaps. 2012-11-06 11:00:48 +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 9d888b371f gdi32: Set the font anti-aliasing flags from the fontconfig information if available. 2012-11-02 19:47:09 +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
Alexandre Julliard a04f73808e gdi32: Store the fontconfig anti-aliasing flags for each font. 2012-11-01 15:09:16 +01:00
Alexandre Julliard 24cdd74c6f gdi32: Store the font file name in Unicode in the font cache. 2012-11-01 15:09:15 +01:00
Alexandre Julliard c1f8a0bf61 gdi32: Avoid some redundant registry calls while loading the font cache. 2012-11-01 15:09:15 +01:00
Huw Davies 9247328371 gdi32: Implement sub-pixel glyph smoothing. 2012-10-30 18:09:00 +01:00
André Hentschel 0f7bc2d8cc gdi32: Avoid memory leaks (coverity). 2012-10-29 10:34:54 +01:00
Huw Davies 7cd8dc6bf2 gdi32: Use a symbol charmap if all else fails. 2012-10-26 16:29:29 +02:00
Huw Davies 8ef70039d3 gdi32: Simplify the code for charmap selection. 2012-10-26 16:29:26 +02:00
Alexandre Julliard 86abd84167 gdi32: Fix mapping of symbol font glyphs even when no encoding is specified. 2012-10-25 11:54:33 +02:00
André Hentschel f5df798611 gdi32: Fix free of address-of expression (coverity). 2012-10-25 11:48:15 +02:00
André Hentschel cf95218f08 gdi32: Fix copy-paste error (coverity). 2012-10-24 19:38:20 +02:00
Alexandre Julliard 4396a79ede gdi32: Add a DC hook flag to reset the DC state. 2012-10-24 18:24:03 +02:00
Alexandre Julliard 77c1856d43 gdi32: Remove an unused DC field. 2012-10-24 18:22:29 +02:00
Alexandre Julliard 5c1a752d61 gdi32: Export a function to retrieve the module handle of the graphics driver for a DC. 2012-10-22 15:16:00 +02:00
Alexandre Julliard b0ba7c765e gdi32: Update the ref count of stock objects when deleting a DC. 2012-10-21 12:18:46 +02:00
Huw Davies aa9827b08e gdi32: Move the string rendering code to a common function. 2012-10-19 18:09:52 +02:00
Huw Davies e6c349d69f gdi32: Use the helper to draw the glyphs. 2012-10-19 18:09:49 +02:00
Huw Davies 3e7517328d gdi32: Pass individual x, y co-ords to draw_glyph rather than a POINT. 2012-10-19 18:09:46 +02:00
Huw Davies 3ef520650c gdi32: Pass a dib_info structure to draw_glyph. 2012-10-19 18:09:44 +02:00
Qian Hong 648a8ce40e gdi32/tests: Fixed typo in localized name tests. 2012-10-19 11:18:20 +02:00
Qian Hong 16f2a1948e gdi32/tests: Declared system_lang_id as a global variable. 2012-10-19 11:18:11 +02:00
Qian Hong f9546329b6 gdi32/tests: Marked EnumFontFamiliesEx_default_charset test on Arabic locale as broken. 2012-10-19 11:17:59 +02:00
Qian Hong 284b382aba gdi32/tests: Skip some broken bitmap font metrics tests on Arabic locale. 2012-10-19 11:17:47 +02:00
Qian Hong b31dababde gdi32/tests: Fixed broken value in bitmap font metrics on Arabic locale. 2012-10-19 11:17:38 +02:00
Qian Hong ec9166b1ac gdi32/tests: Fixed broken bitmap font metrics test on CJK locales. 2012-10-19 11:17:25 +02:00
Qian Hong 416664babd gdi32/tests: Fixed broken value in bitmap font metrics on Japanese locale. 2012-10-19 11:17:15 +02:00
Alexandre Julliard 446bff7897 gdi32/tests: Avoid deleting invalid objects. 2012-10-18 22:28:45 +02:00
Huw Davies 64e2ad5709 gdi32: Make get_glyph_bitmap return a dib_info structure in order to avoid code duplication. 2012-10-18 19:22:14 +02:00