… | |
… | |
132 | { CS_KSC5601_1987_0, "xft:Baekmuk Gulim:antialias=false" }, |
132 | { CS_KSC5601_1987_0, "xft:Baekmuk Gulim:antialias=false" }, |
133 | { CS_KSC5601_1987_0, "xft::lang=ko:antialias=false" }, |
133 | { CS_KSC5601_1987_0, "xft::lang=ko:antialias=false" }, |
134 | # endif |
134 | # endif |
135 | #endif |
135 | #endif |
136 | |
136 | |
137 | { CS_UNICODE, "-*-lucidatypewriter-*-*-*-*-*-*-*-*-m-*-iso10646-1" }, |
|
|
138 | //{ CS_UNICODE, "-*-unifont-*-*-*-*-*-*-*-*-c-*-iso10646-1" }, // this gem of a font has actual dotted circles within the combining character glyphs. |
137 | //{ CS_UNICODE, "-*-unifont-*-*-*-*-*-*-*-*-c-*-iso10646-1" }, // this gem of a font has actual dotted circles within the combining character glyphs. |
139 | #if XFT |
138 | #if XFT |
140 | { CS_UNICODE, "xft:Bitstream Vera Sans Mono:antialias=false:autohint=true" }, |
139 | { CS_UNICODE, "xft:Bitstream Vera Sans Mono:antialias=false:autohint=true" }, |
141 | { CS_UNICODE, "xft:Courier New:antialias=false:autohint=true" }, |
140 | { CS_UNICODE, "xft:Courier New:antialias=false:autohint=true" }, |
142 | { CS_UNICODE, "xft:Andale Mono:antialias=false:autohint=false" }, |
141 | { CS_UNICODE, "xft:Andale Mono:antialias=false:autohint=false" }, |
… | |
… | |
819 | // this loop only iterates when the guessed font-size is too small |
818 | // this loop only iterates when the guessed font-size is too small |
820 | for (;;) |
819 | for (;;) |
821 | { |
820 | { |
822 | font_weight *best = fonts + count - 1; |
821 | font_weight *best = fonts + count - 1; |
823 | |
822 | |
824 | for (font_weight *w = best; w-- > fonts; ) |
823 | for (font_weight *w = fonts; w < best; w++) |
825 | if (w->diff <= best->diff) |
824 | if (w->diff <= best->diff) |
826 | best = w; |
825 | best = w; |
827 | |
826 | |
828 | if (!best->name |
827 | if (!best->name |
829 | || !(f = XLoadQueryFont (disp, best->name))) |
828 | || !(f = XLoadQueryFont (disp, best->name))) |
… | |
… | |
925 | } |
924 | } |
926 | #endif |
925 | #endif |
927 | |
926 | |
928 | width = 1; |
927 | width = 1; |
929 | |
928 | |
930 | for (uint16_t *t = extent_test_chars + ecb_array_length (extent_test_chars); t-- > extent_test_chars; ) |
929 | for (uint16_t *t = extent_test_chars; t < extent_test_chars + ecb_array_length (extent_test_chars); t++) |
931 | { |
930 | { |
932 | if (FROM_UNICODE (cs, *t) == NOCHAR) |
931 | if (FROM_UNICODE (cs, *t) == NOCHAR) |
933 | continue; |
932 | continue; |
934 | |
933 | |
935 | // ignore characters we wouldn't use anyways |
934 | // ignore characters we wouldn't use anyways |
… | |
… | |
1247 | |
1246 | |
1248 | XftUnlockFace (f); |
1247 | XftUnlockFace (f); |
1249 | |
1248 | |
1250 | int glheight = height; |
1249 | int glheight = height; |
1251 | |
1250 | |
1252 | for (uint16_t *t = extent_test_chars + ecb_array_length (extent_test_chars); t-- > extent_test_chars; ) |
1251 | for (uint16_t *t = extent_test_chars; t < extent_test_chars + ecb_array_length (extent_test_chars); t++) |
1253 | { |
1252 | { |
1254 | FcChar16 ch = *t; |
1253 | FcChar16 ch = *t; |
1255 | |
1254 | |
1256 | if (cs != CS_UNICODE |
1255 | if (cs != CS_UNICODE |
1257 | && ch > 0x100 |
1256 | && ch > 0x100 |