Adding use XftFontMatch patch
This commit is contained in:
parent
cc36f7c256
commit
2906447fef
|
@ -15,6 +15,8 @@ Refer to [https://st.suckless.org/](https://st.suckless.org/) for details on the
|
||||||
|
|
||||||
### Changelog:
|
### Changelog:
|
||||||
|
|
||||||
|
2022-08-28 - Added the use XftFontMatch patch
|
||||||
|
|
||||||
2022-08-24 - Added the no window decorations patch
|
2022-08-24 - Added the no window decorations patch
|
||||||
|
|
||||||
2022-04-11 - Added the background image reload patch
|
2022-04-11 - Added the background image reload patch
|
||||||
|
@ -264,6 +266,10 @@ Refer to [https://st.suckless.org/](https://st.suckless.org/) for details on the
|
||||||
- allows mouse scroll without modifier keys for regardless of alt screen using the external
|
- allows mouse scroll without modifier keys for regardless of alt screen using the external
|
||||||
scroll program
|
scroll program
|
||||||
|
|
||||||
|
- [use-XftFontMatch](https://git.suckless.org/st/commit/528241aa3835e2f1f052abeeaf891737712955a0.html)
|
||||||
|
- use XftFontMatch in place of FcFontMatch to allow font to scale with Xft.dpi resource
|
||||||
|
setting
|
||||||
|
|
||||||
- [vertcenter](https://st.suckless.org/patches/vertcenter/)
|
- [vertcenter](https://st.suckless.org/patches/vertcenter/)
|
||||||
- vertically center lines in the space available if you have set a larger chscale in config.h
|
- vertically center lines in the space available if you have set a larger chscale in config.h
|
||||||
|
|
||||||
|
|
|
@ -373,6 +373,20 @@
|
||||||
*/
|
*/
|
||||||
#define UNIVERSCROLL_PATCH 0
|
#define UNIVERSCROLL_PATCH 0
|
||||||
|
|
||||||
|
/* Use XftFontMatch in place of FcFontMatch.
|
||||||
|
*
|
||||||
|
* XftFontMatch calls XftDefaultSubstitute which configures various match properties according
|
||||||
|
* to the user's configured Xft defaults (xrdb) as well as according to the current display and
|
||||||
|
* screen. Most importantly, the screen DPI is computed [1]. Without this, st uses a "default"
|
||||||
|
* DPI of 75 [2].
|
||||||
|
*
|
||||||
|
* [1]: https://cgit.freedesktop.org/xorg/lib/libXft/tree/src/xftdpy.c?id=libXft-2.3.2#n535
|
||||||
|
* [2]: https://cgit.freedesktop.org/fontconfig/tree/src/fcdefault.c?id=2.11.1#n255
|
||||||
|
*
|
||||||
|
* https://git.suckless.org/st/commit/528241aa3835e2f1f052abeeaf891737712955a0.html
|
||||||
|
*/
|
||||||
|
#define USE_XFTFONTMATCH_PATCH 0
|
||||||
|
|
||||||
/* Vertically center lines in the space available if you have set a larger chscale in config.h
|
/* Vertically center lines in the space available if you have set a larger chscale in config.h
|
||||||
* https://st.suckless.org/patches/vertcenter/
|
* https://st.suckless.org/patches/vertcenter/
|
||||||
*/
|
*/
|
||||||
|
|
12
x.c
12
x.c
|
@ -1216,7 +1216,11 @@ xloadfont(Font *f, FcPattern *pattern)
|
||||||
FcConfigSubstitute(NULL, configured, FcMatchPattern);
|
FcConfigSubstitute(NULL, configured, FcMatchPattern);
|
||||||
XftDefaultSubstitute(xw.dpy, xw.scr, configured);
|
XftDefaultSubstitute(xw.dpy, xw.scr, configured);
|
||||||
|
|
||||||
|
#if USE_XFTFONTMATCH_PATCH
|
||||||
|
match = XftFontMatch(xw.dpy, xw.scr, pattern, &result);
|
||||||
|
#else
|
||||||
match = FcFontMatch(NULL, configured, &result);
|
match = FcFontMatch(NULL, configured, &result);
|
||||||
|
#endif // USE_XFTFONTMATCH_PATCH
|
||||||
if (!match) {
|
if (!match) {
|
||||||
FcPatternDestroy(configured);
|
FcPatternDestroy(configured);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1735,12 +1739,12 @@ xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x
|
||||||
fccharset);
|
fccharset);
|
||||||
FcPatternAddBool(fcpattern, FC_SCALABLE, 1);
|
FcPatternAddBool(fcpattern, FC_SCALABLE, 1);
|
||||||
|
|
||||||
FcConfigSubstitute(0, fcpattern,
|
#if !USE_XFTFONTMATCH_PATCH
|
||||||
FcMatchPattern);
|
FcConfigSubstitute(0, fcpattern, FcMatchPattern);
|
||||||
FcDefaultSubstitute(fcpattern);
|
FcDefaultSubstitute(fcpattern);
|
||||||
|
#endif // USE_XFTFONTMATCH_PATCH
|
||||||
|
|
||||||
fontpattern = FcFontSetMatch(0, fcsets, 1,
|
fontpattern = FcFontSetMatch(0, fcsets, 1, fcpattern, &fcres);
|
||||||
fcpattern, &fcres);
|
|
||||||
|
|
||||||
/* Allocate memory for the new cache entry. */
|
/* Allocate memory for the new cache entry. */
|
||||||
if (frclen >= frccap) {
|
if (frclen >= frccap) {
|
||||||
|
|
Loading…
Reference in New Issue