Commit Graph

469 Commits

Author SHA1 Message Date
Nikolay Sivov af5884ffe5 gdi32/freetype: Handle fonts with broken usWinDescent values. 2015-10-01 16:29:40 +09:00
Nikolay Sivov 7889b17425 gdi32: Added GetFontRealizationInfo() export. 2015-09-01 19:28:16 +09:00
Huw Davies 76c321d5e6 gdi32: Add tests for GetFontRealizationInfo, GetFontFileInfo and GetFontFileData. 2015-08-17 14:52:15 +09:00
Daniel Lehman 22c51eeabf gdi32: Check for NULL pointer in GetOutlineTextMetrics. 2015-07-28 13:41:46 +02:00
Dmitry Timoshkov 50b6b376cb gdi32: EnumFontFamilies should enumerate substituted fonts only when directly asked for. 2015-07-17 19:29:10 +09:00
Jactry Zeng c015447d07 gdi32: Add multiple font replacement support. 2015-07-17 16:40:29 +09:00
Jactry Zeng cb59350ed9 gdi32: Add a helper to map font replacement. 2015-07-17 16:40:29 +09:00
Nikolay Sivov d5c9a8a57a gdi32: Clarify offsets and sizes in vdmx table lookup code. 2015-06-30 14:36:41 +09:00
Nikolay Sivov 7ebdd58556 gdi32: Add a separate helper to load FT_Short values (Coverity). 2015-06-29 19:07:45 +09:00
Nikolay Sivov 885394bb0a gdi32/freetype: Properly handle loading of FT_Long-sized types (Valgrind). 2015-06-22 19:16:48 +09:00
Ken Thomases e9c36154e3 gdi32: Change an ERR to a WARN for fonts with too-long names.
The situation is commonplace on Macs and benign.
2015-02-16 19:18:39 +09:00
Aric Stewart ecbda5686d gdi32: Do not install fonts with a family name that is too long. 2015-01-20 16:34:22 +01:00
Nikolay Sivov 88202b3d9b gdi32: Remove some useless returns. 2014-12-15 13:40:27 +01:00
Nikolay Sivov 0c507a1768 gdi32: Clarify read length values used with get_font_data(). 2014-11-26 17:35:14 +01:00
André Hentschel d9d1725295 gdi32: Remove unused string (Clang). 2014-11-20 22:32:04 +09:00
Michael Stefaniuc b5a405af2f gdi32: Remove a basically unused variable (PVS-Studio). 2014-11-03 16:34:52 +09:00
Matteo Bruni 112a7f7f97 gdi32: Don't overflow the buffer in GetGlyphOutline. 2014-10-09 18:24:47 +02:00
Huw Davies c66f0019ff gdi32: In a Hebrew locale the last char of a symbol font is reported as 0xf896 rather than 0xf0ff. 2014-05-07 18:57:35 +02:00
Alex Henrie d2dce849b5 gdi32: Simplify family_matches and face_matches. 2014-05-07 10:22:08 +02:00
Akihiro Sagawa 04e8b00ab0 gdi32: Improve the font enumeration order for complex script locales. 2014-03-12 20:27:43 +01:00
Akihiro Sagawa e06d2dbc67 gdi32: Fix regression due to sub-pixel shift calculations fixes. 2014-01-27 14:13:28 +01:00
Akihiro Sagawa f6475ace5f gdi32: Improve vertical writing metrics. 2014-01-13 17:37:38 +01:00
Akihiro Sagawa f6bc356860 gdi32: Fix ABC metrics for rotated font. 2014-01-13 17:37:35 +01:00
Akihiro Sagawa e9188970a7 gdi32: Fix sub-pixel shift calculations for vertical writing. 2014-01-13 17:37:33 +01:00
Akihiro Sagawa d33602564b gdi32: Use the vertAdvance value for cellIncX if vertical metrics are available. 2014-01-13 17:37:32 +01:00
Akihiro Sagawa ebccff8225 gdi32: Relax vertical face requirements. 2014-01-09 18:07:15 +01:00
Frédéric Delanoy 91f2435469 Assorted spelling fixes. 2014-01-09 17:39:59 +01:00
Akihiro Sagawa a88a121059 gdi32: Use ANSI character code as glyph index for bitmap fonts. 2013-12-11 18:16:59 +01:00
Akihiro Sagawa 882398b0a9 gdi32: Return ANSI character code as glyph index for bitmap fonts. 2013-12-11 16:30:22 +01:00
Aric Stewart ff0717d004 gdi32: Use vertical orientation table to determine rotation. 2013-12-04 21:18:55 +01:00
Alexandre Julliard 67f9b6e3c5 configure: Update FreeType configure checks for the changed headers location. 2013-11-30 11:55:26 +01:00
Akihiro Sagawa 99ceb599bb gdi32: Synthesize bold glyphs for outline fonts. 2013-10-21 20:23:55 +02:00
Akihiro Sagawa cab2cacb8e gdi32: Adjust fake bold outline font metrics. 2013-10-21 20:23:55 +02:00
Alexandre Julliard 67d452d8ac gdi32: Always initialize the em_scale variable. 2013-10-21 17:08:54 +02:00
Alexandre Julliard 6fb92b79fa gdi32: Remove freetype compatibility cruft that doesn't compile. 2013-10-07 13:32:06 +02:00
Akihiro Sagawa 88acc9c899 gdi32: Don't modify output glyph metrics unless the function succeeds. 2013-10-03 20:06:51 +02:00
Akihiro Sagawa 042b39a82b gdi32: Fix the B spacing value of empty glyph. 2013-10-02 20:17:03 +02:00
Akihiro Sagawa db86409db6 gdi32: Return fake BBox when requesting empty glyph metrics. 2013-10-01 19:26:17 +02:00
Akihiro Sagawa e2bce62a6d gdi32: Return GDI_ERROR when requested empty glyph bitmaps. 2013-09-26 19:56:57 +02:00
Aric Stewart 5aa1f6b7a5 Unicode Private Use Area is also rotated by tategaki. 2013-09-09 22:09:58 +02:00
Huw Davies 2f20032dd3 gdi32: Skip vdmx records with charset == 0. 2013-08-28 16:14:40 +02:00
Huw Davies d089ca67e3 gdi32: Reset ppem to zero if we fail to find a matching height. 2013-08-28 16:14:39 +02:00
Huw Davies bb5aa8862c Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case.".
This reverts commit 7d3cb53cf1.
2013-08-28 16:14:39 +02:00
Alexandre Julliard 87c2581c54 gdi32: Use Microsoft and Unicode encodings in priority for font names. 2013-08-16 19:11:33 +02:00
Akihiro Sagawa 7444c1d6b0 gdi32: Adjust bitmap font height when it has an external leading.
This fixes wine test failures in Japanese locale.
2013-07-31 22:26:56 +02:00
Akihiro Sagawa dc241a8371 gdi32: Add a helper function to get bitmap size. 2013-07-31 22:26:56 +02:00
Akihiro Sagawa 01280cff91 Revert "gdi32: Use the default character when the glyph is missing.".
This reverts commit 15aa8daf64.
It breaks the default character rendering in some bitmap fonts, e.g. Fixedsys.
2013-07-31 22:26:56 +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 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
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
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
Akihiro Sagawa 8f8363ede6 gdi32: Ignore the lfHeight value when it exceeds the limit. 2013-05-08 14:29:06 +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
Sam Edwards 147765a505 gdi32: Prevent possible buffer overflows in get_glyph_outline. 2013-04-19 10:42:36 +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 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
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
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 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 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 ff5d68ccb2 gdi32: Fix handling of rotation matrices in GetGlyphOutline. 2012-12-14 13:12:19 +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
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 e8b6701fe1 gdi32: Store and return ABC metrics from get_glyph_outline. 2012-12-04 18:14:56 +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 b696558f04 gdi32: Ignore contours containing one point in get_glyph_outline function. 2012-11-13 16:55:55 +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