Commit 20e6c08
committed
[Win32] Disable obsolete fallback for drawing text without GDI+
A check in GC.drawText() makes the implementation fall back to the text
rendering based on glyphs and their positions calculated by GDI even
when GDI+ is used in all cases except when it contains specific
characters that GDI cannot handle. This was necessary more than a decade
ago because specific Chinese characters were not properly rendered by
GDI+. But this is quite non-intuitive as in case GDI+/advance mode is
enabled the consumer will usually expected GDI+ to be used for
rendering. In addition, the problematic scenario from back then works
fine now.
This change thus adapts the GC.drawText() implementation to use plain
GDI+ whenever it is enabled. The fallback code is preserved but only
executed if a newly introduced system property is enabled. This allows
to switch back to previous behavior in case unexpected regressions are
found. The property is to be removed in a future release in case no
regressions are found.
May fix #30911 parent 5f5ff9e commit 20e6c08
File tree
2 files changed
+47
-2
lines changed- bundles/org.eclipse.swt
- Eclipse SWT Tests/win32/org/eclipse/swt/graphics
- Eclipse SWT/win32/org/eclipse/swt/graphics
2 files changed
+47
-2
lines changedLines changed: 33 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
64 | 96 | | |
65 | 97 | | |
Lines changed: 14 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
112 | 114 | | |
113 | 115 | | |
114 | 116 | | |
| |||
2832 | 2834 | | |
2833 | 2835 | | |
2834 | 2836 | | |
2835 | | - | |
| 2837 | + | |
| 2838 | + | |
| 2839 | + | |
| 2840 | + | |
| 2841 | + | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
| 2845 | + | |
| 2846 | + | |
| 2847 | + | |
| 2848 | + | |
2836 | 2849 | | |
2837 | 2850 | | |
2838 | 2851 | | |
| |||
0 commit comments