|  |  | @ -317,6 +317,8 @@ static void clippaste(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void numlock(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void selpaste(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void xzoom(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void xzoomabs(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void xzoomreset(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void printsel(const Arg *); | 
			
		
	
		
			
				
					|  |  |  | static void printscreen(const Arg *) ; | 
			
		
	
		
			
				
					|  |  |  | static void toggleprinter(const Arg *); | 
			
		
	
	
		
			
				
					|  |  | @ -503,6 +505,7 @@ static int oldbutton = 3; /* button event on startup: 3 = release */ | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | static char *usedfont = NULL; | 
			
		
	
		
			
				
					|  |  |  | static double usedfontsize = 0; | 
			
		
	
		
			
				
					|  |  |  | static double defaultfontsize = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | static uchar utfbyte[UTF_SIZ + 1] = {0x80,    0, 0xC0, 0xE0, 0xF0}; | 
			
		
	
		
			
				
					|  |  |  | static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; | 
			
		
	
	
		
			
				
					|  |  | @ -2993,6 +2996,7 @@ xloadfonts(char *fontstr, double fontsize) { | 
			
		
	
		
			
				
					|  |  |  | FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12); | 
			
		
	
		
			
				
					|  |  |  | usedfontsize = 12; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | defaultfontsize = usedfontsize; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | FcConfigSubstitute(0, pattern, FcMatchPattern); | 
			
		
	
	
		
			
				
					|  |  | @ -3005,6 +3009,8 @@ xloadfonts(char *fontstr, double fontsize) { | 
			
		
	
		
			
				
					|  |  |  | FcPatternGetDouble(dc.font.match->pattern, | 
			
		
	
		
			
				
					|  |  |  | FC_PIXEL_SIZE, 0, &fontval); | 
			
		
	
		
			
				
					|  |  |  | usedfontsize = fontval; | 
			
		
	
		
			
				
					|  |  |  | if(fontsize == 0) | 
			
		
	
		
			
				
					|  |  |  | defaultfontsize = fontval; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Setting character width and height. */ | 
			
		
	
	
		
			
				
					|  |  | @ -3058,15 +3064,32 @@ xunloadfonts(void) { | 
			
		
	
		
			
				
					|  |  |  | xunloadfont(&dc.ibfont); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void | 
			
		
	
		
			
				
					|  |  |  | xzoom(const Arg *arg) { | 
			
		
	
		
			
				
					|  |  |  | Arg larg; | 
			
		
	
		
			
				
					|  |  |  | larg.i = usedfontsize + arg->i; | 
			
		
	
		
			
				
					|  |  |  | xzoomabs(&larg); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void | 
			
		
	
		
			
				
					|  |  |  | xzoomabs(const Arg *arg) { | 
			
		
	
		
			
				
					|  |  |  | xunloadfonts(); | 
			
		
	
		
			
				
					|  |  |  | xloadfonts(usedfont, usedfontsize + arg->i); | 
			
		
	
		
			
				
					|  |  |  | xloadfonts(usedfont, arg->i); | 
			
		
	
		
			
				
					|  |  |  | cresize(0, 0); | 
			
		
	
		
			
				
					|  |  |  | redraw(0); | 
			
		
	
		
			
				
					|  |  |  | xhints(); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void | 
			
		
	
		
			
				
					|  |  |  | xzoomreset(const Arg *arg) { | 
			
		
	
		
			
				
					|  |  |  | Arg larg; | 
			
		
	
		
			
				
					|  |  |  | if(defaultfontsize > 0) { | 
			
		
	
		
			
				
					|  |  |  | larg.i = defaultfontsize; | 
			
		
	
		
			
				
					|  |  |  | xzoomabs(&larg); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void | 
			
		
	
		
			
				
					|  |  |  | xinit(void) { | 
			
		
	
		
			
				
					|  |  |  | XGCValues gcvalues; | 
			
		
	
	
		
			
				
					|  |  | 
 |