Kusanagi Kouichi
fc03398cd5
gdi32: Add a helper function to create a full name from a family name and a style name.
2012-03-13 10:37:01 +01:00
Kusanagi Kouichi
d696d5fee8
gdi32: Move font signature of font link from Face to SYSTEM_LINKS.
2012-03-13 10:36:45 +01:00
Kusanagi Kouichi
e86519c9b3
gdi32: Add a helper function to find font link.
2012-03-13 10:36:19 +01:00
Kusanagi Kouichi
4dc04ae867
gdi32: Initialize font signature of "System" font link.
2012-02-21 15:01:03 +01:00
Alexandre Julliard
691c37ca9f
gdi32: Fix font orientation when mirroring in compatible mode.
...
Inspired by a patch from Alexander Kochetkov.
2012-02-16 18:51:55 +01:00
Kusanagi Kouichi
758796e704
gdi32: Add traces for skipped font replacements.
2012-02-15 16:27:11 +01:00
Kusanagi Kouichi
15a6aefb8f
gdi32: Use find_family_from_any_name to find a replacement family.
2012-02-15 16:27:11 +01:00
Aric Stewart
05a9d4ce94
gdi32: Rebuild the internal SystemLink every time.
2012-02-14 19:15:48 +01:00
Aric Stewart
85a71387da
gdi32: Load fonts from default Mac external font paths.
2012-02-09 11:58:48 -06:00
Akihiro Sagawa
286854fb06
gdi32: Consider whether the logical font face is vertical when selecting.
2012-02-08 13:54:40 -06:00
Aric Stewart
f83762e678
gdi32: Allow font replacements to be specified either in localized name or English name.
2012-02-08 10:53:40 -06:00
Akihiro Sagawa
d53dc01143
gdi32: Restore the vertical font flag from the cache.
2012-02-07 14:03:12 -06:00
Aric Stewart
e7a79b5565
gdi32: Keep our internal generated system links separate and append them to any user defined system links.
2012-02-07 09:35:50 -06:00
Aric Stewart
a8a2f87135
gdi32: In update_system_links if the font we are trying to link has already been substituted or localized we need to check against that name also.
2012-02-01 16:42:43 +01:00
Alexandre Julliard
fbbf3ba408
gdi32: Get rid of the CreateDIBSection driver entry point.
2012-01-10 16:13:29 +01:00
Kusanagi Kouichi
fecb1d8b6f
gdi32: GetGlyphIndices doesn't substitute glyph.
2012-01-10 11:22:41 +01:00
Kusanagi Kouichi
53385314d0
gdi32: Substitute glyph for vertical font only.
2011-12-20 20:06:33 +01:00
Kusanagi Kouichi
69a26387b3
gdi32: Add vertical fonts to font list.
2011-12-20 20:06:32 +01:00
Kusanagi Kouichi
65f809248f
gdi32: Split AddFontToList into two functions.
2011-12-20 20:06:32 +01:00
Kusanagi Kouichi
4dfe084bba
gdi32: Merge two ifs.
2011-12-20 20:06:31 +01:00
Kusanagi Kouichi
6c268cf1c5
gdi32: Use find_family_from_name and LIST_FOR_EACH instead of open-coding them.
2011-12-20 20:06:31 +01:00
Kusanagi Kouichi
5bdbf6c681
gdi32: Add a helper function to convert a string from A to W.
2011-12-20 20:06:30 +01:00
Francois Gouget
2ae10acb61
gdi32: Avoid hardcoding the Unicode string literal lengths.
2011-12-16 17:40:41 +01:00
Kusanagi Kouichi
b5446ddb45
gdi32: Don't remove leading '@' from face name.
2011-12-13 18:59:12 +01:00
Kusanagi Kouichi
bf8a100639
gdi32: Don't use preferred family name.
2011-12-13 18:59:11 +01:00
Alexandre Julliard
27eb63b082
gdi32: GetCharABCWidthsFloatW must succeed with non-TrueType fonts.
2011-12-12 11:14:25 +01:00
Huw Davies
48b1e66309
gdi32: Use an array of masks to simplify the bitmap conversion.
2011-11-16 17:00:19 +01:00
Huw Davies
6c9c9107d4
gdi32: Return valid anti-alias format bitmaps if the glyph is a monochrome bitmap.
2011-11-16 17:00:15 +01:00
Huw Davies
f3fab96393
gdi32: Add a helper to return the maximum level to use for a given anti-aliasing format.
2011-11-16 17:00:10 +01:00
Marcus Meissner
4222ccf1cf
gdi32: Fixed loop end setting (Coverity).
2011-11-14 15:25:19 +01:00
Alexandre Julliard
9391c6a757
gdi32: Add a CopyBitmap driver entry point.
2011-11-08 19:25:05 +01:00
Akihiro Sagawa
35a928a0f8
gdi32: Use the translated string as a charset name.
2011-11-07 19:34:47 +01:00
Alexandre Julliard
95cba0c0f4
gdi32: Add a DC driver entry point for GdiGradientFill.
2011-10-31 23:51:38 +01:00
Ken Thomases
14efc6eb24
gdi32: Allow ~-based paths in HKCU\Software\Wine\Fonts:Path.
2011-10-27 12:24:52 +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
a8444d7fd1
gdi32: Add driver entry points for a number of font functions.
2011-10-24 23:45:37 +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
873bf81d3b
gdi32: Don't return outline metrics for bitmap fonts.
2011-10-24 23:34:05 +02:00
Alexandre Julliard
20070d0838
gdi32: Implement GetTextMetrics as a standard driver entry point.
2011-10-24 20:03:53 +02:00
Alexandre Julliard
ca4177997c
gdi32: Add a few helper functions for computing font metrics.
2011-10-24 20:03:09 +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
Alexandre Julliard
885a4a5c08
gdi32: Add an initial Freetype font driver.
2011-10-19 18:22:01 +02:00
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