| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2711,12 +2711,28 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						FcPattern *fcpattern, *fontpattern; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						FcFontSet *fcsets[] = { NULL }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						FcCharSet *fccharset; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Colour *fg = &dc.col[base.fg], *bg = &dc.col[base.bg], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							 *temp, revfg, revbg; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						Colour *fg, *bg, *temp, revfg, revbg; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						XRenderColor colfg, colbg; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						frcflags = FRC_NORMAL; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(base.mode & ATTR_ITALIC) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(base.fg == defaultfg) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								base.fg = defaultitalic; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							font = &dc.ifont; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							frcflags = FRC_ITALIC; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} else if((base.mode & ATTR_ITALIC) && (base.mode & ATTR_BOLD)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(base.fg == defaultfg) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								base.fg = defaultitalic; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							font = &dc.ibfont; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							frcflags = FRC_ITALICBOLD; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} else if(base.mode & ATTR_UNDERLINE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(base.fg == defaultfg) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								base.fg = defaultunderline; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						fg = &dc.col[base.fg]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						bg = &dc.col[base.bg]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(base.mode & ATTR_BOLD) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(BETWEEN(base.fg, 0, 7)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								/* basic system colors */ | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -2738,15 +2754,6 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							frcflags = FRC_BOLD; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(base.mode & ATTR_ITALIC) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							font = &dc.ifont; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							frcflags = FRC_ITALIC; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if((base.mode & ATTR_ITALIC) && (base.mode & ATTR_BOLD)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							font = &dc.ibfont; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							frcflags = FRC_ITALICBOLD; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(IS_SET(MODE_REVERSE)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(fg == &dc.col[defaultfg]) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								fg = &dc.col[defaultbg]; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2873,8 +2880,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										FcTrue, fcpattern, &fcres); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 * Overwrite or create the new cache entry | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 * entry. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 * Overwrite or create the new cache entry. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								frccur++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								frclen++; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |