Merge branch 'fakhriaunur-master'
This commit is contained in:
		
						commit
						9cabe89a11
					
				
							
								
								
									
										18
									
								
								hb.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								hb.c
									
									
									
									
									
								
							| @ -2,11 +2,25 @@ | |||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <math.h> | #include <math.h> | ||||||
| #include <X11/Xft/Xft.h> | #include <X11/Xft/Xft.h> | ||||||
|  | #include <X11/cursorfont.h> | ||||||
| #include <hb.h> | #include <hb.h> | ||||||
| #include <hb-ft.h> | #include <hb-ft.h> | ||||||
| 
 | 
 | ||||||
| #include "st.h" | #include "st.h" | ||||||
| 
 | 
 | ||||||
|  | #define FEATURE(c1,c2,c3,c4) { .tag = HB_TAG(c1,c2,c3,c4), .value = 1, .start = HB_FEATURE_GLOBAL_START, .end = HB_FEATURE_GLOBAL_END } | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Replace 0 with a list of font features, wrapped in FEATURE macro, e.g. | ||||||
|  |  * FEATURE('c', 'a', 'l', 't'), FEATURE('d', 'l', 'i', 'g') | ||||||
|  |  *  | ||||||
|  |  * Uncomment either one of the 2 lines below. Uncomment the prior to disable (any) font features. Uncomment the  | ||||||
|  |  * latter to enable the (selected) font features. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | hb_feature_t features[] = { 0 }; | ||||||
|  | //hb_feature_t features[] = { FEATURE('s','s','0','1'), FEATURE('s','s','0','2'), FEATURE('s','s','0','3'), FEATURE('s','s','0','5'), FEATURE('s','s','0','6'), FEATURE('s','s','0','7'), FEATURE('s','s','0','8'), FEATURE('z','e','r','o') };
 | ||||||
|  | 
 | ||||||
| void hbtransformsegment(XftFont *xfont, const Glyph *string, hb_codepoint_t *codepoints, int start, int length); | void hbtransformsegment(XftFont *xfont, const Glyph *string, hb_codepoint_t *codepoints, int start, int length); | ||||||
| hb_font_t *hbfindfont(XftFont *match); | hb_font_t *hbfindfont(XftFont *match); | ||||||
| 
 | 
 | ||||||
| @ -59,7 +73,7 @@ void | |||||||
| hbtransform(XftGlyphFontSpec *specs, const Glyph *glyphs, size_t len, int x, int y) | hbtransform(XftGlyphFontSpec *specs, const Glyph *glyphs, size_t len, int x, int y) | ||||||
| { | { | ||||||
| 	int start = 0, length = 1, gstart = 0; | 	int start = 0, length = 1, gstart = 0; | ||||||
| 	hb_codepoint_t *codepoints = calloc(len, sizeof(hb_codepoint_t)); | 	hb_codepoint_t *codepoints = calloc((unsigned int)len, sizeof(hb_codepoint_t)); | ||||||
| 
 | 
 | ||||||
| 	for (int idx = 1, specidx = 1; idx < len; idx++) { | 	for (int idx = 1, specidx = 1; idx < len; idx++) { | ||||||
| 		if (glyphs[idx].mode & ATTR_WDUMMY) { | 		if (glyphs[idx].mode & ATTR_WDUMMY) { | ||||||
| @ -124,7 +138,7 @@ hbtransformsegment(XftFont *xfont, const Glyph *string, hb_codepoint_t *codepoin | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Shape the segment. */ | 	/* Shape the segment. */ | ||||||
| 	hb_shape(font, buffer, NULL, 0); | 	hb_shape(font, buffer, features, sizeof(features)); | ||||||
| 
 | 
 | ||||||
| 	/* Get new glyph info. */ | 	/* Get new glyph info. */ | ||||||
| 	hb_glyph_info_t *info = hb_buffer_get_glyph_infos(buffer, NULL); | 	hb_glyph_info_t *info = hb_buffer_get_glyph_infos(buffer, NULL); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Luke Smith
						Luke Smith