1 #include <ctype.h>
2 #include "textgfx.h"
3 #include "../lang.h"
4 
putch_ascii(int ch)5 void putch_ascii(int ch)
6 {
7 	switch (ch) {
8 	case HLINE:
9 		ch = '-';
10 		break;
11 	case VLINE:
12 		ch = '|';
13 		break;
14 	case TEXTURE1:
15 		ch = '#';
16 		break;
17 	case TEXTURE2:
18 	case ' '|0x100:
19 		ch = ' ';
20 		break;
21 	case BULLET:
22 		ch = '.';
23 		break;
24 	case UPARROW:
25 		ch = '^';
26 		break;
27 	default:
28 		ch = '+';
29 	}
30 	putch(ch);
31 }
32 
putnchars(int ch,int n)33 int putnchars(int ch, int n)
34 {
35 	int i = 0;
36 	for (; i < n; i++)
37 		putch(ch);
38 	return n;
39 }
40 
printstr_acs(const char * str,int n)41 void printstr_acs(const char *str, int n)
42 {
43 	int ch = 0;
44 	while (*str) {
45 		if (islower(*str) || (ch & 0x100) && *str == ' ')
46 			ch = *str | 0x100;
47 		else
48 			ch = *str;
49 		putch(ch);
50 		str++;
51 		if (*str == 'N') {
52 			putnchars(ch, n-1);
53 			str++;
54 		}
55 	}
56 }
57 
isprintable(int c)58 int isprintable(int c)
59 {
60 	return c >= ' ' && c < 0x7F ||
61 	       lang & LATIN1 && (unsigned char) c >= 0xA0;
62 }
63