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
Huw Davies
6ee7182ebb
gdi32: Factor out the code to call FT_Load_Sfnt_Table.
2007-10-15 11:10:32 +02:00
Huw Davies
36db3630ec
gdi32: Fixed a misplaced break.
2007-10-05 10:23:54 +02:00
Huw Davies
05bb6f6ce4
gdi32: Let the WINE_GGO_GRAY16_BITMAP case load a bitmap.
2007-10-03 11:01:21 +02:00
Huw Davies
70c212937a
gdi32: Only cache the glyph metrics when rendering to a monochrome bitmap or when just retrieving the metrics.
2007-10-03 11:01:15 +02:00
Huw Davies
5af70f49c6
gdi32: TrueType fonts from the data directory should be added to the registry.
2007-10-03 11:01:10 +02:00
Dmitry Timoshkov
5b8f591192
gdi32: Prefer a Microsoft cmap table over other platform ones.
2007-10-02 12:28:28 +02:00
Alexandre Julliard
161821155d
gdi32: Fix typo in FIXME (spotted by Rob Shearman).
2007-09-27 18:05:57 +02:00
Alexandre Julliard
3363d65f16
gdi32: Move the generic part of FontIsLinked() to font.c.
2007-09-26 20:21:34 +02:00
Alexandre Julliard
543270dfb5
gdi32: Don't pass a DC handle to WineEngGetFontUnicodeRanges.
2007-09-26 20:17:13 +02:00
Dmitry Timoshkov
b0d1590def
gdi32: Use symbolic names for font tags.
2007-09-20 15:54:19 +02:00
Mikolaj Zalewski
c6efacd86a
gdi32: Return the correct font type, ntmFlags and PitchAndFamily for Type1 fonts.
2007-09-17 14:37:44 +02:00
Mikolaj Zalewski
baee27c69c
gdi32: Implement AddFontMemResourceEx (based on a patch of Byeong-Sik Jeon).
2007-09-17 14:14:27 +02:00
Mikolaj Zalewski
66cf4f7d53
gdi32: Store child font links as pointers to struct Face instead of filename/index.
2007-09-17 14:13:46 +02:00
Dmitry Timoshkov
4fb82e3783
gdi32: Use lower case font dir name to match unix directory layout.
2007-09-12 11:33:11 +02:00
Aric Stewart
80cc1af347
gdi32: Allocate our glyph metrics in a 128 index chunk sparse array.
2007-08-30 17:02:48 +02:00
Alexandre Julliard
1476e34645
gdi32: Add separate functions for releasing/freeing DCs to replace the standard GDI ones.
...
This should make it possible to use a different locking mechanism for DCs.
2007-08-21 21:37:40 +02:00
Dmitry Timoshkov
2f71832ac9
gdi32: Also print a readable table name in the failure notice.
2007-08-02 12:18:42 +02:00
Dmitry Timoshkov
991d2d2632
gdi32: Make GetFontData traces more readable.
2007-07-31 20:50:51 +02:00
Dmitry Timoshkov
cfe289e69d
gdi32: Do not report an error if a requested to add font is already loaded.
2007-07-11 12:01:21 +02:00
Alexandre Julliard
24a55f3862
configure: Merge the libfreetype existence check with the soname check.
2007-07-09 22:43:20 +02:00
Huw Davies
7495d81495
gdi32: Using a bitmap font as the fallback sans serif is a very bad idea.
2007-07-05 19:54:52 +02:00
Alexandre Julliard
ccd5f28429
configure: Make the libfontconfig soname check depend on the header check.
2007-07-02 19:42:52 +02:00
Alexandre Julliard
5a95cfbd9c
configure: Export the shared library extension instead of hardcoding .so.
2007-07-02 14:35:05 +02:00
Michael Stefaniuc
3f5fc520b5
gdi32: Multi-character character constants aren't portable as their behaviour is compiler dependent according to the C standard. Found by sparse.
2007-06-26 11:57:51 +02:00
Dmitry Timoshkov
bdfef82348
gdi32: AddFontResource should return a number of added font faces.
2007-05-04 13:42:47 +02:00
Dmitry Timoshkov
71929ffc4d
gdi32: Handle errors in WineEngAddFontResourceEx.
2007-05-04 13:42:39 +02:00
Aric Stewart
ec9f755086
gdi32: GetGlyphOutline needs to look at linked fonts as well.
2007-05-03 14:22:31 +02:00
Aric Stewart
1e4e99a295
gdi32: Make the comparison for system link font replacement not case sensitive.
2007-04-20 13:04:46 +02:00
Felix Nawothnig
f73d7d07c8
gdi32: Properly handle negative font widths.
2007-04-02 11:18:38 +02:00
Ken Thomases
df605c0ac3
Revert "gdi32: Disable the freetype mmap sharing on Mac OS.".
...
This reverts ae9f68dec9
commit. Because
of commit 4e6860433e
which extracts the
constituent fonts from Mac suitcase fonts, we can use mmap on font
files on the Mac.
2007-03-22 11:28:10 +01:00
Andrew Talbot
453cb25c1b
gdi32: Replace inline static with static inline.
2007-03-21 11:55:44 +01:00
Dmitry Timoshkov
520aa9f548
winex11.drv: In the case requested glyphs do not present in the font fail gracefully instead of asserting.
2007-03-19 12:16:57 +01:00
Dmitry Timoshkov
bd07f3f39e
gdi32: Add a GetTextMetrics test, make it pass under Wine.
2007-03-15 13:09:56 +01:00
Aric Stewart
33eefa24dc
gdi32: Search SystemLinked fonts when looking for a valid replacement.
2007-03-07 12:16:17 +01:00
Byeong-Sik Jeon
52a9d1d934
gdi32: Fix FontSubstitute values for Korean locale.
2007-03-06 21:51:05 +01:00
Byeong-Sik Jeon
0da17ff87b
gdi32: Add missing pFT_Done_Face().
2007-03-06 21:50:58 +01:00
Aric Stewart
3744cd8874
gdi32: Set FontSubstitute values by locale.
2007-03-06 12:10:07 +01:00
Aric Stewart
2967524bdb
gdi32: Don't fail replacement on no localized family name.
2007-03-02 12:20:33 +01:00
Hans Leidekker
748032e0fb
gdi32: Implement GetFontUnicodeRanges.
2007-03-02 11:39:32 +01:00
Aric Stewart
76ed11e180
gdi32: Select correct replacement from ttc file.
...
Some font files, especially Asian ttc files, can have several
different families in the same file. So just using the file is not
unique enough for identifying a replacement family.
2007-02-26 19:06:19 +01:00
Aric Stewart
bc07aff1a5
gdi32: Allow for loading of multibyte font name replacements.
...
Change a number of A function to W functions in LoadReplaceList to
allow for replacements of fonts with multibyte family names.
2007-02-26 19:05:43 +01:00
Dmitry Timoshkov
101785d1a9
gdi32: Print status of the hinting support in the debug log.
2007-01-11 11:37:47 +01:00
Andrew Talbot
45bd6336c2
gdi32: Remove unused variables.
2007-01-09 12:02:21 +01:00
Huw Davies
4e6860433e
gdi32: Extract the constituent TrueType files from Mac suitcase fonts into the user's caches directory
...
and use these instead of the original suitcase.
2006-12-21 17:24:56 +01:00
Huw Davies
42d372eb4a
gdi32: Actually create the Wine fonts key if it doesn't exist.
2006-12-21 11:25:00 +01:00
Huw Davies
7329144c58
gdi32: Improve the fontconfig filtering hack so that Mac suitcase fonts get through.
2006-12-20 12:28:00 +01:00
Alexandre Julliard
33eadd39d4
gdi32: Don't assume that the font codepages change with the user locale.
...
Codepages can be set independently with LC_CTYPE.
2006-12-08 13:00:53 +01:00
Alexandre Julliard
ae9f68dec9
gdi32: Disable the freetype mmap sharing on Mac OS.
2006-12-08 12:14:13 +01:00
Alexandre Julliard
834d20024b
gdi32: Only mmap a given font file once.
...
FT_New_Face always creates a new mapping of the font file, so do the
mapping by hand and use FT_New_Memory_Face instead.
2006-12-06 21:31:53 +01:00
Alexandre Julliard
75b8f88875
gdi32: Get rid of the gdi.h include.
2006-11-17 14:52:07 +01:00
Mike McCormack
f76d3c259c
gdi32: Downgrade a FIXME to a WARN.
2006-11-09 11:44:40 +01:00
Andrew Talbot
58df7b6605
gdi32: Cast-qual warnings fix.
2006-10-31 11:46:30 +01:00
Alexandre Julliard
7dfc447741
gdi32: Renamed the gdi directory to gdi32.
2006-10-20 12:25:29 +02:00