Huw Davies
3b9669017b
gdi32: Add the liberation fonts to the default fallback lists.
2011-10-12 17:10:03 +02:00
Huw Davies
230b42055c
gdi32: Move to a more scalable mechanism for picking the default fonts.
2011-10-12 17:09:58 +02:00
Huw Davies
bb47bab3cd
gdi32: Now that we require a less ancient freetype, we can assume several other functions are also present.
2011-10-11 13:37:50 +02:00
Huw Davies
6ee2eaeff2
gdi32: Remove no longer needed include file.
2011-10-11 13:37:50 +02:00
Huw Davies
570e68b822
gdi32: Require that we have freetype's FT_Load_Sfnt_Table function and remove the hacky fallback.
2011-10-10 15:42:38 +02:00
Huw Davies
5bd2db4521
gdi32: Move some common default fonts to the head of the font list.
2011-10-06 16:47:22 -05:00
Huw Davies
17e72c816b
gdi32: Load the font properties from the cache if it exists.
2011-10-06 16:47:20 -05:00
Huw Davies
a155292f98
gdi32: Cache the loaded font list properties.
2011-10-06 16:47:17 -05:00
Huw Davies
63070bdf89
gdi32: Move the font list initialisation to a separate function.
2011-10-06 16:47:14 -05:00
Huw Davies
ab1373d847
gdi32: Keep track of the english family name if there's a localised name as well.
2011-10-06 16:47:11 -05:00
Huw Davies
b4430319f1
gdi32: Use a separate variable to indicate the default has been retrieved.
2011-09-28 17:25:10 +02:00
Josh Juran
b27e814de6
gdi32: Simplify logic in WineEngGetFontData().
2011-09-12 10:07:21 +02:00
Grazvydas Ignotas
4a463e0650
gdi32: Use correct name for elfFullName.
2011-08-24 12:14:46 +02:00
Huw Davies
33532613a8
gdi32: Don't load a font replacement if any face of the real family exists.
2011-08-04 18:42:33 +02:00
Frédéric Delanoy
b5a33dab88
dlls: Assorted spelling fixes.
2011-08-02 20:47:51 +02:00
Ken Thomases
e6d6fbf6e9
gdi32: Fix leak of FullName of replaced font face.
2011-05-17 10:45:24 +02:00
Grazvydas Ignotas
adcce5d712
gdi32: Implement font selection by its full name.
2011-05-12 20:00:51 +02:00
Grazvydas Ignotas
0374102625
gdi32: Refactor get_facename to retrieve other names too.
2011-05-12 19:58:43 +02:00
Konstantin L. Metlov
fb787da66a
gdi32: Handle pre-Unicode symbol TTFs with symbols at U+00XX.
2011-05-11 19:50:35 +02:00
Konstantin L. Metlov
834378183a
gdi32: Handle pre-Unicode "broken" symbol TTFs with symbols at U+00XX.
2011-05-09 17:36:43 +02:00
Alexandre Julliard
7c06fef8b6
gdi32: Fix a compiler warning on 64-bit.
2011-04-11 13:45:23 +02:00
Alexandre Julliard
05b1aea244
gdi32: Avoid reading bits outside of the glyph bitmap in GetGlyphOutline.
2011-04-08 13:03:22 +02:00
Akihiro Sagawa
cb77f9a239
gdi32: Create charset enumeration order list for EnumFontFamiliesEx.
2011-04-04 13:44:43 +02:00
Akihiro Sagawa
f088185471
gdi32: Remove redundant charset assignments.
2011-04-04 13:44:06 +02:00
Akihiro Sagawa
6a404a3b58
gdi32: Move charset enumeration to helper function.
2011-04-04 13:44:01 +02:00
Dmitry Timoshkov
d9d5267237
gdi32: Remove a redundant check for Roman font presence.
...
Wine ships Tahoma and many other built-in fonts these days.
2011-03-14 12:39:28 +01:00
Dmitry Timoshkov
2aaf6c2c8c
gdi32: EnumFontFamilies should also match against fully qualified face name.
2011-02-24 15:49:40 +01:00
Dmitry Timoshkov
e0f5ddddf1
gdi32: Do not leak the hfont list (Valgrind).
2011-02-21 15:18:39 +01:00
Dmitry Timoshkov
20bdd203aa
gdi32: Go through all hfontlist entries not just the first one when checking whether font is in the child font list.
2011-02-21 15:18:37 +01:00
Dmitry Timoshkov
00c8250ff8
gdi32: Add dumping of child GDI font cache.
2011-02-21 15:18:33 +01:00
Huw Davies
aec376dcef
gdi32: Clear the accel flags.
2010-12-17 13:26:01 +01:00
Dmitry Timoshkov
5c011b3dbf
Revert "gdi32: Make AddFontToList skip adding a face into global lists if the font is not supposed to be enumerated, and return a pointer to first loaded face.".
...
This reverts commit a2047323c9
. That patch is not correct.
2010-11-05 17:15:35 +01:00
Dmitry Timoshkov
a2047323c9
gdi32: Make AddFontToList skip adding a face into global lists if the font is not supposed to be enumerated, and return a pointer to first loaded face.
2010-10-27 12:07:56 +02:00
Dmitry Timoshkov
81557b5e21
gdi32: Do not crash on an invalid pointer passed to AddFontMemResourceEx.
2010-08-02 16:10:06 +02:00
Dmitry Timoshkov
213d84be15
gdi32: Make sure that all the glyph metrics are transformed before caching them.
2010-07-28 12:23:33 +02:00
Marcus Meissner
2f7ec73add
gdi32: Rebuild font hash after changing the matrix.
2010-07-21 13:23:56 +02:00
Alexandre Julliard
aa9c781703
Revert "gdi32: Pre-multiply RGB values by alpha for subpixel font rendering."
...
This reverts commit aff0eac21b
. The RGB
values are already alpha values, they don't need to be pre-multiplied.
2010-05-28 00:09:21 +02:00
Dmitry Timoshkov
7d3cb53cf1
gdi32: Do not use VDMX for mapping of negative font heights, based on a test case.
2010-05-18 18:44:24 +02:00
Alexandre Julliard
aff0eac21b
gdi32: Pre-multiply RGB values by alpha for subpixel font rendering.
2010-05-17 14:25:14 +02:00
Mikhail Maroukhine
8fd8d9e96a
gdi32: Fix compiler warnings with flag -Wcast-qual.
2010-03-29 12:13:55 +02:00
Christian Costa
132ba27f2b
gdi32: Improve some FIXMEs.
2010-01-20 16:30:47 +01:00
Hans Leidekker
1d4fcc0270
gdi32: Implement WineEngGetCharABCWidthsFloat and forward GetCharABCWidthsFloat to it.
2009-12-11 17:47:22 +01:00
Alexandre Julliard
1ac23b9b0f
gdi32: Don't include wingdi16.h by default.
2009-12-07 14:18:29 +01:00
Dmitry Timoshkov
2158999382
gdi32: Rework the test for too large width/height font ratio to pass with different font heights, make it pass under Wine.
2009-10-07 12:27:51 +02:00
Aric Stewart
7214f650ef
gdi32: Ensure child fonts have names.
2009-08-03 16:00:42 +02:00
Dmitry Timoshkov
69b29fa07e
gdi32: Use a better heuristics for tmWeight.
...
Marlett uses FW_MEDIUM (500) and current code allows only FW_REGULAR and
FW_BOLD. New heuristics detects if flags and usWeightClass in the font match.
2009-08-03 14:59:08 +02:00
Aric Stewart
6a5bb87e3a
gdi32: In init_system_links, reinitialize val_len and data_len before continuing.
2009-07-16 11:13:02 +02:00
Huw Davies
08453c1f2b
configure: Remove reference to obsolete ftnames.h.
2009-06-25 14:34:13 +02:00
Michael Stefaniuc
0737fc2c72
gdi32: Avoid using long when not needed.
2009-06-02 11:57:22 +02:00
Paul TBBle Hampson
87cd36db5e
gdi32: Autopopulate FontLinks when autopopulating FontSubstitutes.
...
When Wine's codepage changes, FontSubstitutes is redefined to use
fonts appropriate for that codepage. Configure FontLinks to reasonable
defaults at the same time.
2009-05-12 13:19:05 +02:00
Paul TBBle Hampson
ce426d6ad1
gdi32: Don't add system_links entries for substituted fonts.
...
When a Font is looked up in the FontLinks table, they have already
been normalised by FontSubstitutes.
So no need to store system_links entries for fonts that appear as keys
in the FontSubstitutes list.
2009-05-05 15:39:58 +02:00
Paul TBBle Hampson
8a4b77883e
gdi32: Fetch child fonts by real parent font name.
...
Entries in the list of linked fonts are keyed by the substituted font
name, so need to be looked up by the substituted font name.
2009-05-05 15:39:36 +02:00
Paul TBBle Hampson
4b45767e2a
gdi32: Remove tabs from init_system_links TRACEs.
2009-04-30 12:46:09 +02:00
Paul TBBle Hampson
0cde093fdc
gdi32: Ensure font name comparisons are case-insensitive.
2009-04-30 12:45:58 +02:00
Dmitry Timoshkov
d15619b215
gdi32: Fix the font rotation direction.
...
Apparently at some point either freetype got fixed, or other gdi32
changes made the matrix members usage match freetype. This patch makes
my test application match the Windows behaviour in font rotation direction.
2009-03-02 12:11:35 +01:00
Dmitry Timoshkov
b3e65ba399
gdi32: Revert an unrelated part of 028617b90b
.
...
It was not a very nice idea to break bitmap fonts which request a custom
width (therefore a transformation) in a patch that pretended to do something
unrelated.
2009-02-27 13:15:44 +01:00
Huw Davies
ff2f88cf08
gdi32: Fix fractional scaling threshold.
2009-02-20 18:46:04 +01:00
Huw Davies
4f25723853
gdi32: Set the font family as FF_MODERN if the panose marks it as monospaced.
2009-02-19 15:57:47 +01:00
Huw Davies
2c6ddb8030
gdi32: The special handling of the character codes metrics for symbol fonts should be based on the presence of the MS symbol charmap rather than whether the font is enumerated as SYMBOL_CHARSET.
2009-02-18 13:13:29 +01:00
Huw Davies
24c9a37aaf
gdi32: In a Baltic locale the last char of a symbol font is reported as 0xf8fd rather than 0xf0ff.
2009-02-17 15:14:53 +01:00
Huw Davies
e93d348109
gdi32: Improve calculation of the character code text metrics.
2009-02-16 16:01:37 +01:00
Huw Davies
aaefb75f8d
gdi32: Add missing serif types.
2009-02-12 17:53:34 +01:00
Huw Davies
8ab829a68a
gdi32: Correct the font family values returned in the text metrics.
2009-02-11 16:14:46 +01:00
Dmitry Timoshkov
5804470f26
gdi32: Make sure that World2Vport DC transformation is valid before using it.
2009-02-05 13:15:17 +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
3939cb5c82
gdi32: Avoid some pointer casts.
2009-01-26 15:09:18 +01:00
Michael Stefaniuc
667a1ed5be
gdi32: Remove superfluous pointer casts.
2009-01-26 14:31:13 +01:00
Byeongsik Jeon
f2e1b254ce
gdi32: Restore the trimmed bitmap image by FT_Render_Glyph().
2008-12-29 12:41:45 +01:00
Byeongsik Jeon
45a081f142
gdi32: Don't truncate the added pixels with FT_LCD_FILTER_DEFAULT.
2008-12-24 10:58:59 +01:00
Alexandre Julliard
30137f168c
gdi32: Fix the build without Freetype LCD support.
2008-12-23 12:34:01 +01:00
ByeongSik Jeon
028617b90b
gdi32, winex11: Add support for subpixel font rendering.
2008-12-22 16:33:03 +01:00
ByeongSik Jeon
d1ca64b3f5
gdi32: Unify Chinese and Japanese default font name.
2008-12-11 12:20:27 +01:00
Aric Stewart
c0c852247f
gdi32: Use the substitute name, if it exists, when looking for font system links.
...
Allows double indirection MS ShellDlg -> MS UI Gothic linked to system
gothic to work as expected.
2008-12-03 11:41:45 +01:00
Dmitry Timoshkov
376adf9438
gdi32: Try to avoid not necessary glyph transformations.
2008-11-03 11:50:15 +01:00
Bobby Bingham
a900f5e065
gdi32: Add support for the GGO_UNHINTED flag in GetGlyphOutline.
2008-10-28 15:46:29 +01:00
Dmitry Timoshkov
2d15db6136
gdi32: Search the child font list first.
2008-10-27 11:28:50 +01:00
Francois Gouget
215738a140
dirent.h is a conditional include now.
2008-10-20 11:37:27 +02:00
Andrew Talbot
3a02030d54
gdi32: Sign-compare warnings fix.
2008-10-13 12:13:19 +02:00
Dmitry Timoshkov
7c1397412b
gdi32: Revert incorrect fix introduced in a5d288f08c
.
...
The real fix has been provided in 41aad2dce2
.
2008-10-09 12:58:03 +02:00
Dmitry Timoshkov
f898547b77
gdi32: Remove the code which bypasses the DC transformation checks.
...
If it's absolutely required to check the child list first, that should be
done inside of find_in_cache using the same comparisons as done there.
2008-10-09 12:57:54 +02:00
Huw Davies
2f8f3facce
gdi32: Factor out the name table lookup into a separate function.
2008-09-18 14:18:11 +02:00
Dmitry Timoshkov
067cbc57f3
gdi32: Don't use pOS2->usWeightClass, some fonts don't set it correctly.
2008-09-11 11:42:02 +02:00
Shunichi Fuji
de251e1c62
gdi32: Adjust FT_MulFix function to Freetype cvs head.
2008-09-04 11:41:08 +02:00
Alexandre Julliard
e84bc545c3
gdi32: Add missing WineEngRealizationInfo function for the non-freetype case.
2008-08-25 15:38:27 +02:00
Dmitry Timoshkov
21cdaeea4b
gdi32: Replace DC transform by font scaling for bitmap fonts.
2008-08-21 11:42:25 +02:00
Dmitry Timoshkov
f322f70a69
gdi32: Avoid loading a bitmap if a glyph transformation is being requested.
2008-08-21 11:42:11 +02:00
Huw Davies
29637c1441
gdi32: Keep track of the number of unique fonts that are created and return this in the second DWORD of the GdiRealizationInfo structure.
2008-08-05 14:09:34 +02:00
Lei Zhang
9b4f17f630
gdi32: Glyph advances should be measured for unrotated characters.
2008-07-23 11:56:09 +02:00
Andrew Talbot
613d17ae92
gdi32: Remove unneeded address-of operator from array name.
2008-07-11 13:58:48 +02:00
Michael Karcher
49eb123739
Add support for compatibility mode in WineEngCreateFontInstance.
2008-07-08 10:44:54 +02:00
Michael Karcher
3f64708818
gdi32: Fix double->fixpoint conversion in freetype.c.
2008-07-01 14:58:41 +02:00
Dan Hipschman
92c8cac214
gdi32: Return the correct value from GetTextFace.
2008-06-25 11:41:00 +02:00
Dmitry Timoshkov
0d6dcc1e4e
gdi32: Perform correct glyph scaling even if font metrics haven't been cached yet.
2008-06-24 12:23:10 +02:00
Dmitry Timoshkov
e02168791e
gdi32: Indent a block of code using 4 spaces instead of 5.
2008-06-24 12:22:49 +02:00
Dmitry Timoshkov
b2fa21e4bb
gdi32: Scale outline font metrics.
2008-06-24 12:22:42 +02:00
Dmitry Timoshkov
433c3cfeec
gdi32: Don't return cached glyph metrics if a custom transformation was requested.
2008-06-24 12:22:31 +02:00
Dmitry Timoshkov
7ef471220d
gdi32: Don't cache glyph metrics if they have a custom transformation.
2008-06-24 12:22:24 +02:00
Dmitry Timoshkov
8cdca3980a
gdi32: Apply the custom transform to a glyph only if it's not an identity one.
2008-06-24 12:22:18 +02:00
Dmitry Timoshkov
df76fe6f0c
gdi32: Perform the world transform separately from font scaling.
2008-06-24 12:21:42 +02:00
Dmitry Timoshkov
8a6628aea5
gdi32: Font scaling transform is performed separately.
2008-06-24 12:21:28 +02:00
Dmitry Timoshkov
85c16fc45b
gdi32: Don't forget to update the glyph advance in the case of a custom transformation.
2008-06-24 12:21:16 +02:00
Dmitry Timoshkov
9675720510
gdi32: Initialize otmMacAscent, otmMacDescent, otmMacLineGap in outline text metrics.
2008-06-24 12:21:06 +02:00
Dmitry Timoshkov
e378795970
gdi32: Perform font height scaling with higher precision.
2008-06-24 12:20:55 +02:00
Dmitry Timoshkov
41aad2dce2
gdi32: Extend the font substitution test, make it pass under Wine.
2008-06-23 12:53:22 +02:00
Lei Zhang
71ed7573aa
gdi32: Check for regular fonts by style instead of style name.
2008-06-21 11:37:00 +02:00
Dmitry Timoshkov
ecd5048ea7
gdi32: Use 0xffff as a default character as Vista does.
2008-06-18 15:21:49 +02:00
Zhangrong Huang
a21b3f0abd
gdi32: Add more Asian codepages to get default fallback fonts.
2008-06-09 19:09:29 +02:00
Alexandre Julliard
93cbb7a5db
gdi32: Perform coordinate transformations using doubles instead of floats to avoid precision loss.
2008-05-22 17:43:01 +02:00
Dmitry Timoshkov
a5d288f08c
gdi32: Add more font substitution tests, make them pass under Wine.
2008-05-13 20:25:50 +02:00
Dan Hipschman
c3537c4086
gdi32: Add font faces to families in a specific order.
2008-05-01 12:41:30 +02:00
Jeremy White
f4625d1ae1
gdi32: Shift default height used in EnumStructs to the standard em size of 2048.
...
As pointed out by Dmitry Timoshkov.
2008-04-29 14:37:53 +02:00
Dmitry Timoshkov
baded8789d
gdi32: Map glyph to Symbol range only if the font supports symbol encoding.
2008-04-14 21:28:46 +02:00
Huw Davies
a643337c26
gdi32: Don't overrun the current scanline while copying a glyph's bitmap.
2008-04-08 13:25:02 +02:00
Dmitry Timoshkov
c5d07b7c22
gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache.
2008-04-07 20:34:37 +02:00
Dmitry Timoshkov
1f35b6e62e
gdi32: Fully initialize face->ntmFlags on font load.
2008-04-07 12:14:14 +02:00
Dmitry Timoshkov
90265ac586
gdi32: Add a font scaling test when lfHeight == 0 and lfWidth != 0, make it pass under Wine.
2008-04-04 11:03:42 +02:00
Mikołaj Zalewski
4094ff0256
gdi32: Fix GetGlyphIndices to select properly the invalid char glyph for TrueType fonts.
2008-04-02 12:36:42 +02:00
Austin English
45b944ed51
gdi32: Spelling fixes.
2008-03-25 19:58:31 +01:00
Huw Davies
4b6d284de6
gdi32: Ignore fonts with names that begin with a '.'.
2008-03-21 12:44:20 +01:00
Aric Stewart
bdaa54e64f
freetype: Fix a typo that prevented checking more than the first range in Range Format 2.
2008-03-19 11:23:22 +01:00
Francois Gouget
8d38b1d60b
gdi32: Remove a trailing space in a Wine trace.
2008-03-19 11:21:19 +01:00
Aric Stewart
36ac341b55
gdi32: Add loading and processing of GSUB table vert/vrt2 functions for proper tategaki (vertical writing).
2008-03-13 12:06:02 +01:00
Huw Davies
e0693a1813
gdi32: Factor out FreeType initialization into a separate function.
2008-03-12 18:14:27 +01:00
Aric Stewart
5c1229982a
gdi32: Skip leading @ from FontFace when looking for font to load.
2008-03-11 15:30:45 +01:00
Huw Davies
0436a5d14a
gdi32: Store the Windows path (if it's available) in the font registry entries.
2008-03-10 19:12:54 +01:00
Huw Davies
025d84e644
gdi32: Update both winnt and win9x font keys and factor out the cleanup code.
2008-03-10 11:23:19 +01:00
James Hawkins
26ad93947b
janitorial: Remove links to any microsoft site.
2008-03-01 12:04:09 +01:00
Andrew Talbot
a4e8f4dcdd
gdi32: Assign to structs instead of using memcpy.
2008-02-28 10:50:57 +01:00
Aric Stewart
a41e77448c
gdi32: Japanese Windows had a default fallback Font SystemLink of Microsoft Sans Serif. Implement that for Japanese.
2008-02-19 14:56:22 +01:00
Alexandre Julliard
35c09c01b2
gdi32: Use a separate critical section for freetype locking instead of relying on the GDI lock.
2008-02-05 21:16:06 +01:00
Aric Stewart
1ce79f87dd
gdi32: Child fonts need to be scaled like their parent. With input from Dmitry Timoshkov.
2008-02-05 12:19:50 +01:00
Dmitry Timoshkov
0acfe68864
gdi32: Actually perform the fractional scaling test, make it pass under Wine.
2008-01-21 11:39:20 +01:00
Sin-ta Hsiea
e61abafbb5
gdi32: Fix Traditional Chinese font mapping to "PMingLiU", "MingLiU".
2008-01-16 20:09:49 +01:00
Dmitry Timoshkov
ec4a46f93a
gdi32: Allocate cache for face enumeration data only when necessary.
2008-01-16 12:16:52 +01:00
Dan Kegel
3ed880ff9d
gdi32: Fix AddFontResource behavior with relative paths.
2008-01-15 14:35:14 +01:00
Dmitry Timoshkov
2fdaa56693
gdi32: Add a test for undocumented EnumFontFamiliesEx(NULL), make it pass under Wine.
2008-01-15 11:38:15 +01:00
Dmitry Timoshkov
c7a6c1af0d
gdi32: Initialize more fields in GetEnumStructs.
2008-01-14 13:11:48 +01:00
Dmitry Timoshkov
d973271566
gdi32: Use public FS_xxxxxx defines.
2008-01-14 13:11:42 +01:00
Dmitry Timoshkov
4a8f9347bd
gdi32: Simplify GetEnumStructs.
2008-01-11 12:23:14 +01:00
Dmitry Timoshkov
f542511209
gdi32: Fix a GdiFont leak.
2008-01-11 12:22:44 +01:00
Dmitry Timoshkov
92a74a8271
gdi32: Fix the regression caused by the scaling font metrics patch.
2008-01-10 11:33:39 +01:00
Dmitry Timoshkov
535053b927
gdi32: Add support for scaling font metrics.
2008-01-08 17:05:35 +01:00
Andrew Talbot
d0d4c74e85
gdi32: Remove unneeded casts.
2008-01-07 12:18:50 +01:00
Aric Stewart
3c9e7aba75
gdi32: Cache font enum info.
...
Cache the enum info so that repeated calls to EnumFontFamiles and such
does not have to repeatedly load the font file.
2007-12-13 14:30:40 +01:00
Hans Leidekker
0dc765809c
gdi32: GetCharABCWidthsI does not require a scalable font.
2007-12-10 12:27:13 +01:00
Hans Leidekker
8487c2dd2a
gdi32: Implement GetTextExtentExPointI.
2007-12-03 15:54:05 +01:00
Gerald Pfeifer
4e60df85d8
gdi32: Avoid compiler warning in WineEngGetGlyphOutline().
2007-10-15 17:50:17 +02:00
Huw Davies
bc2a4dbee0
gdi32: Try to load Wine's TrueType fonts from the build directory.
2007-10-15 11:28:31 +02:00
Huw Davies
e5df622ff3
gdi32: Don't load Wine's bitmap-only TrueType fonts.
2007-10-15 11:28:26 +02:00