| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -132,6 +132,19 @@ xfont_create(Drw *drw, const char *fontname, FcPattern *fontpattern) | 
															
														
														
													
														
															
																 | 
																 | 
																		die("no font specified."); | 
																 | 
																 | 
																		die("no font specified."); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	/* Do not allow using color fonts. This is a workaround for a BadLength | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * error from Xft with color glyphs. Modelled on the Xterm workaround. See | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * https://bugzilla.redhat.com/show_bug.cgi?id=1498269 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * https://lists.suckless.org/dev/1701/30932.html | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 * and lots more all over the internet. | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	 */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FcBool iscol; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		XftFontClose(drw->dpy, xfont); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	font = ecalloc(1, sizeof(Fnt)); | 
																 | 
																 | 
																	font = ecalloc(1, sizeof(Fnt)); | 
															
														
														
													
														
															
																 | 
																 | 
																	font->xfont = xfont; | 
																 | 
																 | 
																	font->xfont = xfont; | 
															
														
														
													
														
															
																 | 
																 | 
																	font->pattern = pattern; | 
																 | 
																 | 
																	font->pattern = pattern; | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -200,7 +213,7 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount) | 
															
														
														
													
														
															
																 | 
																 | 
																	Clr *ret; | 
																 | 
																 | 
																	Clr *ret; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* need at least two colors for a scheme */ | 
																 | 
																 | 
																	/* need at least two colors for a scheme */ | 
															
														
														
													
														
															
																 | 
																 | 
																	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(Clr)))) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if (!drw || !clrnames || clrcount < 2 || !(ret = ecalloc(clrcount, sizeof(XftColor)))) | 
															
														
														
													
														
															
																 | 
																 | 
																		return NULL; | 
																 | 
																 | 
																		return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	for (i = 0; i < clrcount; i++) | 
																 | 
																 | 
																	for (i = 0; i < clrcount; i++) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -337,6 +350,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp | 
															
														
														
													
														
															
																 | 
																 | 
																			fcpattern = FcPatternDuplicate(drw->fonts->pattern); | 
																 | 
																 | 
																			fcpattern = FcPatternDuplicate(drw->fonts->pattern); | 
															
														
														
													
														
															
																 | 
																 | 
																			FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); | 
																 | 
																 | 
																			FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); | 
															
														
														
													
														
															
																 | 
																 | 
																			FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); | 
																 | 
																 | 
																			FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			FcPatternAddBool(fcpattern, FC_COLOR, FcFalse); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																			FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); | 
																 | 
																 | 
																			FcConfigSubstitute(NULL, fcpattern, FcMatchPattern); | 
															
														
														
													
														
															
																 | 
																 | 
																			FcDefaultSubstitute(fcpattern); | 
																 | 
																 | 
																			FcDefaultSubstitute(fcpattern); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |