| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -363,6 +363,7 @@ static void xloadcols(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int xsetcolorname(int, const char *); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int xloadfont(Font *, FcPattern *); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void xloadfonts(char *, int); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static int xloadfontset(Font *); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void xsettitle(char *); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void xresettitle(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static void xseturgency(int); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2643,16 +2644,12 @@ xloadfont(Font *f, FcPattern *pattern) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(!match) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(!(f->set = FcFontSort(0, match, FcTrue, 0, &result))) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							FcPatternDestroy(match); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(!(f->match = XftFontOpenPattern(xw.dpy, match))) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							FcPatternDestroy(match); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						f->set = NULL; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						f->pattern = FcPatternDuplicate(pattern); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						f->ascent = f->match->ascent; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2727,6 +2724,15 @@ xloadfonts(char *fontstr, int fontsize) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						FcPatternDestroy(pattern); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					int | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					xloadfontset(Font *f) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						FcResult result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(!(f->set = FcFontSort(0, f->pattern, FcTrue, 0, &result))) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					xunloadfonts(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int i, ip; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2987,7 +2993,6 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						r.width = width; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						fcsets[0] = font->set; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for(xp = winx; bytelen > 0;) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							 * Search for the range in the to be printed string of glyphs | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -3045,6 +3050,10 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							/* Nothing was found. */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(i >= frclen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if(!font->set) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									xloadfontset(font); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fcsets[0] = font->set; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 * Nothing was found in the cache. Now use | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 * some dozen of Fontconfig calls to get the | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |