ensure that the italic font has the same weight as the normal font
The specified font[] pattern need not have a medium weight. It could be specified as a number too or have a different weight other than medium. Signed-off-by: Christoph Lohmann <20h@r-36.net>
This commit is contained in:
		
							
								
								
									
										16
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								st.c
									
									
									
									
									
								
							@ -2444,20 +2444,18 @@ xloadfonts(char *fontstr, int fontsize) {
 | 
				
			|||||||
	xw.ch = dc.font.height;
 | 
						xw.ch = dc.font.height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FcPatternDel(pattern, FC_SLANT);
 | 
						FcPatternDel(pattern, FC_SLANT);
 | 
				
			||||||
	FcPatternDel(pattern, FC_WEIGHT);
 | 
						FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
 | 
				
			||||||
	FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
 | 
						if(xloadfont(&dc.ifont, pattern))
 | 
				
			||||||
	FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
 | 
					 | 
				
			||||||
	if(xloadfont(&dc.bfont, pattern))
 | 
					 | 
				
			||||||
		die("st: can't open font %s\n", fontstr);
 | 
							die("st: can't open font %s\n", fontstr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FcPatternDel(pattern, FC_SLANT);
 | 
						FcPatternDel(pattern, FC_WEIGHT);
 | 
				
			||||||
	FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC);
 | 
						FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD);
 | 
				
			||||||
	if(xloadfont(&dc.ibfont, pattern))
 | 
						if(xloadfont(&dc.ibfont, pattern))
 | 
				
			||||||
		die("st: can't open font %s\n", fontstr);
 | 
							die("st: can't open font %s\n", fontstr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FcPatternDel(pattern, FC_WEIGHT);
 | 
						FcPatternDel(pattern, FC_SLANT);
 | 
				
			||||||
	FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_MEDIUM);
 | 
						FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN);
 | 
				
			||||||
	if(xloadfont(&dc.ifont, pattern))
 | 
						if(xloadfont(&dc.bfont, pattern))
 | 
				
			||||||
		die("st: can't open font %s\n", fontstr);
 | 
							die("st: can't open font %s\n", fontstr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FcPatternDestroy(pattern);
 | 
						FcPatternDestroy(pattern);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user