LINUX.ORG.RU
ФорумTalks

Моноширинность шрифта в терминале.

 , ,


0

1

Есть такие, кто использует НЕ моноширинный шрифт в консоли?
А может это и вовсе более распространённый вариант?
Зачем мне это? Ну... Надо.

★★☆

Последнее исправление: Stahl (всего исправлений: 1)

Ответ на: комментарий от te111011010

Ну мало ли. Возможно кому-то так удобней.
Я не ставлю целью в кого-то плюнуть. Мне просто нужна эта информация.
Т.е. мне в любом случае нужно будет предполагать что такие люди есть, но возиться с ними здесь и сейчас мне не хотелось бы.
И если окажется что их единицы, то и вовсе хорошо.

Stahl ★★☆
() автор топика
Последнее исправление: Stahl (всего исправлений: 1)

Есть такие, кто использует НЕ моноширинный шрифт в консоли?

Можно не сомневаться, что существуют такие россияне, которые используют не моноширинный шрифт как в консоли, так и в терминале.

Но это говорим на о том, что эти, так сказать, «люди» — не используют консоль или терминал для работы, потому, что использование не моноширинных шрифтов затрудняет или делает вовсе невозможной работу нормального вывода (быстрой читаемости) выхлопов, нормального отображения ncurses программ, редакторов и всего такого прочего.

Нужны ли такие люди? Будем честны: нет, не нужны, в биореактор их!

redhat
()

В некоторых терминалах даже нельзя задать такой вариант.

aes_ultimum ★★
()
Ответ на: комментарий от Stahl

Делай ставку на тех клиентов, у которых голова там, где ей полагается, и жопа соответственно. Для маргинальных личностей объяви о возможности выпуска специальной версии продукта - iПродукт, на условиях предоплаты.

Xellos ★★★★★
()

НЕ моноширинный шрифт в консоли

Я хочу на это посмотреть.

NeXTSTEP ★★
()

Так не юзабельно же. Особенно с такими буквами как I и любыми другими тонкими, когда в большинстве случаев даже понять где есть пробел, а где нет невозможно. НЕ моноширность нинужна. /тхред

Co6aku
()

Абсолютно неюзабельно.

Кстати, еще бесит то, что высота букв в 2 раза больше ширины, хотя должно быть четко 8х8 пикселей!

И вот приходится такую шнягу:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *drawCircle(int R, int geom){
	if(R > 200 || R < 1) return NULL;
	int S, i, Y = 2 * R + 2;
	if(geom)
		S = Y * (R + 1);
	else
		S = Y * (Y - 1);
	char *buf = malloc(S+1);
	if(!buf) return NULL;
	memset(buf, ' ', S);
	buf[S] = 0;
	for(i = Y-1; i < S; i+=Y) buf[i] = '\n';
	inline void DrawPixel(int x, int y){
		if(geom){
			if(y%2==0) buf[Y * y/2 + x] = '*';
		}else{
			buf[Y * y + x] = '*';
		}
	}
	// Bresenham's circle algorithm
	int x = R;
	int y = 0;
	int radiusError = 1-x;
	while(x >= y){
		DrawPixel(x + R,   y + R);
		DrawPixel(y + R,   x + R);
		DrawPixel(-x + R,  y + R);
		DrawPixel(-y + R,  x + R);
		DrawPixel(-x + R, -y + R);
		DrawPixel(-y + R, -x + R);
		DrawPixel(x + R,  -y + R);
		DrawPixel(y + R,  -x + R);
		y++;
		if (radiusError < 0){
			radiusError += 2 * y + 1;
		}else{
			x--;
			radiusError += 2 * (y - x) + 1;
		}
	}
	return buf;
}

int main(int argc, char **argv){
	int i, R;
	char *buf;
	for(i = 1; i < argc; i++){
		if(!(buf = drawCircle(R = atoi(argv[i]), 1))){
			printf("Wrong parameter %s\n", argv[i]);
			continue;
		}
		printf("\nCircle with R = %d:\n%s\n", R, buf);
		free(buf); buf = NULL;
	}
	return 0;
}
вызывать с параметром 1, а не 0, как по всем законам логики должно было бы быть!!!

Eddy_Em ☆☆☆☆☆
()

906090
использую
доволен

x905 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.