LINUX.ORG.RU

Избранные сообщения Bass

sed удалить квадратные скобки вместе со значением

 , ,

На ум не приходит ничего кроме, но внутренний голос говорит что можно сделать проще и лаконичнее:

echo [123]Труба шатал | sed -e 's/[[:digit:]]//g' -e 's/\[//' -e 's/\]//'

splinter
()

Хочется угореть по старью (SPARC, Alpha, etc)

 , , ,

Что-то, короче, скучно мне стало, и решил я прикупить какого-нибудь старого железа, чтобы поиграться. Окунуться, так сказать, в былое, во времена православных юниксов и легендарных архитектур. Что мне пока пришло в голову:

  • Какой-нибудь довольно древний SPARC, типа Sparcstation ITX. Накатить солярочки, попробовать прицепить к интернету, вот это всё. Мне просто нравится продукция SUN - она какая-то душевная что ли, самобытная такая.
  • Чуть более новую приблуду, типа SUN Ultra. Под него вроде бы даже какие-то линуксы есть. Кто-нибудь на лоре еще гоняет их, хотя бы из спортивного интереса?
  • Какой-нибудь DEC Alpha. Если честно, ничего о них не знаю и живьем не видел.
  • Ваша опция?

Короче, лор. Поделитесь, какие вы знаете красивые визуально и/или архитектурно железки из древних времен? Чем они вам нравятся? Что можно такого купить, чтобы попробовать, не знаю, сервер там собрать да домашнюю страничку захостить, или просто поиграться со старой оболочкой. Ну и отдельный вопрос, что из современного софта на этом всё еще может работать.

liksys
()

Haiku 64-bit

 ,

Тестовый комп - i5-8400, GPU UHD 630, driver intel_extreme, wifi intel N-6235, monitor 24"/hdmi cable, screenmode 1920х1080х32, ssd NVMe WD SN750, bios CSM/legacy enabled

beos
()

Последняя Intellij Idea на NetBSD - пусть икает техподдержка

 , ,

Удалось наконец заставить это чудо снова работать, причем под всеми тремя BSD сразу.

В процессе написал очередную статью про тяжкую жизнь и работу, в этот раз под NetBSD. На ноутбуке да.

На скриншоте NetBSD 9.3, Xfce4 с легким закосом под OS/2 и налетом SGI Irix, ну все как обычно.

Ну и самая последняя версия Intellij Idea Community Edition, скачанная буквально вчера.

alex0x08
()

FreeCAD 0.21

 ,

Группа Open Source

Выпущена новая версия свободной САПР FreeCAD.

Главные новшества:

  • Обновлены и улучшены разные части интерфейса. В частности, улучшена навигация с помощью куба, переработан диалог настройки программы.
  • Внесена масса улучшений в верстак FEM: добавлен фильтр контуров для рисования изолиний, решатель Elmer теперь может выполняться на нескольких ядрах, добавлены электромагнитные симуляции, появилась возможность делать нелинейный анализ эластичности.
  • В верстаке Path появилась поддержка CAMotics — GCode-симулятора трёхосевых CNC.
  • В верстаке Sketcher улучшена работа с B-Spline, переработана сетка, упрощен интерфейс виджетов ограничений и элементов, добавлена базовая поддержка слоёв (пока что прибиты гвоздями три слоя), добавлены ограничения «расстояние от окружности до окружности» и «расстояние от окружности до отрезка», добавлено управление привязками.
  • Добавлены новые инструменты в верстак TechDraw: SurfaceFinishSymbol, ComplexSection, HoleShaftFit, AxoLengthDimension, режимы навигации теперь совпадают с режимами в 3D.

Помимо того, завершены первые две фазы из пяти по исправлению печальной известной проблемы с наименованием топологии. В третьей фазе ожидается временное замедление работы программы, именно поэтому отсечка релиза сделана по завершению второй фазы. Оптимизация новых алгоритмов будет выполняться в последней, пятой фазе. К выпуску следующего крупного обновления, 1.0, работа будет полностью завершена.

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

Кроме того, 11-13 августа в Ванкувере (Канада) пройдёт хакатон, на котором соберутся как активные участники проекта, так и новички. Приглашаются все желающие поучаствовать в разработке.

>>> Подробности (freecad.org)

AP
()

Треш и угар продолжается: виртуализация в OpenBSD

 , , ,

Продолжаю хорошую традицию охоты за дичью.

В этот раз в качестве дичи выступает гипервизор VMM в OpenBSD. Да, и в наш загончик наконец завезли аппаратную виртуализацию.

На скриншоте работающий Skypе запущенный в Ubuntu 22, которая крутится на OpenBSD-хосте. Отрисовка интерфейса организована через проброс X-сессии.

Традиционная статья с новыми приключениями неуловимых тут (teletype.in).

Там еще скриншоты и рассказано про запуск более банального Chromium.

Сама VMM стабильна как кирпич и спокойно переживает suspend/resume на ноутбуке где весь этот цирк и развернут.

alex0x08
()

Неудачный пример локализации CDE на OpenBSD

 , , , ,

Здравствуйте, уважаемые разработчики.
Символы кириллицы отображаются, пусть и пока вместе с японским. Символы деванагари пока - нет, как я ни пыталась их впихнуть.
Ну и только что собранный Xephem 3.7.7. Пусть и не ясно пока, зачем он мне нужен. :)

Да, и спасибо большое тем, кто давал советы.

Операционная система - OpenBSD 7.3. Среда рабочего стола: CDE.

aza_turajeva
()

Добавление поддержки кириллицы (русификация) в CDE в OpenBSD

 , , , ,

Добрый день, уважаемый разработчик. Я - слесарь, а не программист, поэтому приношу прощения за откровенно идиотские вопросы.

Я сумела собрать и запустить CDE (Common Deskton Environment) на OpenBSD 7.3, следуя Вашим инструкциям. Я хотела бы уточнить, как провести поддержку символов деванагари(хинди) и кириллицы, и возможно ли это вообще.

И не подскажите каким образом можно вообще русифицировать или непализировать консоль (/dev/ttyC0..ttyC6), т.е. включить поддержку символов Unicode. А то на другом окружении рабочего стола (i3) у меня есть поддержка хотя бы кириллицы, а в CDE - только японского (собирала именно версию под японский в надежде разобраться, где лежит поддержка), а в терминале - только английского. Символы кириллицы отображаются в двух последних случаях некорректно. А что делать с символами деванагари я вообще не могу елка.

Насколько я поняла, необходима именно поддержка шрифтов в CDE, и, похоже, их можно вязть от xenodm (?), вот только где их прописать и взять?

До того следовала инструкциям с сайта [opennet.ru](http://www.opennet.ru/base/rus/cyr_openbsd.txt.html) Но нигде нет инструкции для текущей версии OpenBSD.

Команда wsfontload выдает wsfontload: WSDISPLAYIO_LDFONT: Invalid argument. Я почитала форумы и попробовала отключить inteldrm, но тогда не добилась не то, что наличия кириллицы, вообще резко упало разрешение экрана и не запустился ни xenodm, ни dtlogin.

.profile file:{

# $OpenBSD: dot.profile,v 1.8 2022/08/10 07:40:37 tb Exp $
#
# sh/ksh initialization

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
export PATH HOME TERM

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8

set -o vim

}

rc.conf.local{

pkg_scripts=
localhost$ cat /etc/rc.conf.local
#pkg_scripts=dtlogin cmsd
ftpd_flags=
inetd_flags=
pkg_scripts=cmsd
portmap_flags=
sndiod_flags=-s default -m play,mon -s mon

xenodm_flags=YES     ##NO for dtlogin; now I started xenodm, so.
#pkg_scripts=dtlogin ##for dtlogin
[/cut]

}

Характеристики моего компьютера и системы.
{
model:"HP Compaq 100eu",
cpuspeed:1666,
cpu: "Intel(R) Atom(TM) CPU D410 @ 1.66GHz",
ram_capacity:2048 /*Mb*/,
ram_type:"DDR2",

}

Вывод df -h{

Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd1a      986M   130M    806M    14%    /
/dev/sd1k     87.5G   51.9G   31.3G    63%    /home
/dev/sd1d      3.9G    6.6M    3.7G     1%    /tmp
/dev/sd1f     14.8G    1.4G   12.7G    11%    /usr
/dev/sd1g      986M    324M    613M    35%    /usr/X11R6
/dev/sd1h     19.4G    6.5G   11.9G    36%    /usr/local
/dev/sd1j      5.8G    2.0K    5.5G     1%    /usr/obj
/dev/sd1i      2.9G    339M    2.4G    13%    /usr/src
/dev/sd1e      6.6G   85.3M    6.2G     2%    /var

}

aza_turajeva
()

Протестировал Сердце Хаоса 2.0 с некоторыми модами на Openmw

 , , ,

Протестировал Сердце Хаоса (глобальный оверхол на Морровинд) 2.0 и русский перевод Tamriel Rebuilt (мод на добавление остальной части Morrowind) на Openmw 0.47. Работает стабильно, проделана большая работа над совместимостью. Теперь добавлена совместимость с Tamriel Rebuilt, сохранена совместимость с OpenMW добавленная в версии 1.7. К сожалению, сейчас тут отключено прохождение за Дагота, поэтому мне придется откатываться на версию 1.7. Ну и версия 2.0 сыровата ещё, многовато багов. Была проделана работа по конвертациии из формата esp в esm обратно для плагина Сердце Хаоса 2.0, поэтому все, что имело зависимость, например, адаптированные моды, сделанные для версии 1.7, больше не работают.

vbcnthfkmnth123
()

По просьбам трудящихся, ОФФТОПИК ЛИСТ S&E (неофициальный)

 

Этот раздел форума, как подсказывает описание, был создан «для обсуждения научных и инженерно-технических тем». Несмотря на то, что критерии «научности» разработаны уже довольно давно, и используются весьма эффективно, раз за разом в S&E появляются одни и те же споры на одни и те же не совсем научные темы.

Здесь я попытаюсь привести список самых популярных. Я понимаю что это конечно же никого не остановит от того чтобы не повторить эти темы в пятнадцатый раз, но по крайней мере это поможет не повторять одни и те же аргументы в одних и тех же спорах, а сразу давать ссылку сюда.

Итак, платиновые треды S&E (пока только современная фундаментальная физика, специалисты из других областей приглашаются добавить свои наболевшие баяны, если таковые имеются):

  1. Я обнаружил парадокс СТО! Я опроверг Эйнштейна!
    А ты вообще читал СТО? Скорее всего нет. А согласись полезно хотя бы знать ту теорию которую ты собрался опровергать.
  2. Да, я ее читал и вообще в курсе. Я все еще уверен что я прав, а Эйнштейн нет.
    Скорее всего ты просто чего-то из прочитанного не понял. Вот в этой статье подробно разбираются все самые известные парадоксы СТО.
  3. СТО не работает на микромасштабах/в космологии/вообще нигде. Зашоренные физики не хотят открыть глаза на истину!
    Начнем с того, что СТО уже больше ста лет. Для сравнения, примерно в то же время когда Эйнштейн писал свои статьи, свой первый самолет построили братья Райт. Так вот, современная физика примерно настолько же отстоит от теории Эйнштейна насколько современная авиация отстоит от «Флайера-1».
    Продолжим тем, что СТО никогда не разрабатывалась как теория для практического решения каких бы то ни было задач. СТО была программной теорией призваной объяснить нестыковки между электромагнетизмом Максвелла и Ньютоновской механикой. СТО — это мысленный эксперимент, и в качестве такового прекрасно работает и по сей день.
  4. ОТО не работает/не подтверждается экспериментами/38 микросекунд в GPS это вранье!
    Ну я думаю тут бесполезно давать ссылки на всевозможные научные статьи, ты ведь все равно не поверишь, и скажешь что это они нам мозги пудрят, а на самом деле никаких поправок в свои спутники не вносят.
    Но зато можно дать ссылку на официальный мануал по приемникам GPS: http://www.gps.gov/technical/icwg/ICD-GPS-200C.pdf читать параграф 20.3.3.3.3.1
    В соответствии с этим мануалом делаются абсолютно все приемники GPS, и тут уж соврать не выйдет. Все приемники в мире вносят описанные в этом параграфе поправки при вычислении координат и получают верный ответ. Остается только предположить всемирный заговор, в который вовлечены даже китайцы, которые варганят GPS приемники в подвале на коленке.
  5. Все современные теории не верны, потому что базируются на ложных принципах! Вот Эйнштейн...
    Да оставьте вы уже дедушку в покое! Вклад Эйнштейна в науку, конечно, велик, но к квантовым теориям он не имеет никакого отношения. Он вообще в них не верил и был их противником до самой своей смерти. Отцом современных физических теорий является Стивен Вайнберг, и если ты сейчас впервые услышал эту фамилию, то тебе в тредах по современной физике вообще делать нечего.
  6. Все современные теории не верны, потому что описывают выдуманные объекты не существующие в реальности. А на самом деле все не так.
    Ну как оно там «на самом деле» не знает никто. Это знать просто невозможно. А что отличает верную теорию от неверной, так это способность предсказывать результаты экспериментов. Вот краткий список исторически значимых экспериментов:
    • Эффект Зеемана, расщепление спектральных линий (1897 год)
    • Тормозное излучение электрона (1909 год)
    • Комптоновское рассеивание, рассеивание фотонов на заряженных частицах (1923 год)
    • Бета-распад нейтрона (1933 год)
    • Эксперимент Ву, нарушение четности (1957 год)
    • Распад каона, нарушение CP-симметрии (1964 год)
    • Нейтральные токи (1973 год)
    • J/Psi, Upsilon и прочие мезоны (1974, 1977, далее везде)
    Эти эксперименты, это не просто красивые слова, это конкретные числа и результаты. И можно долго спорить существует там Z-бозон или не существует, но в конечном итоге все сводится к трекам в трековой камере и уровням энергии в калориметре. Они-то точно существуют. И чтобы теория была признана верной, ей мало придумать новые названия для объектов микромира, ей надо предложить механизм как предсказать конкретные числа. И пока что такая теория всего одна. Современная стандартная модель не возникла из ничего, это результат полувековой работы и эволюции самых разных, зачастую признаных неверными, теорий. И она считается верной не потому, что слово «кварки» всем нравится больше чем слово «амеры», а потому, что она верно предсказывает результаты экспериментов. Так что прежде чем заявлять что есть некая теория которая гораздо лучше стандартной модели, приложи хотя бы один теоретический расчет результатов хотя бы одного из вышеприведенных экспериментов.
  7. Объясните мне на пальцах электродинамику/квантовую механику/теорию струн/другое чего.
    Большая часть физических теорий на пальцах не объясняется. Вообще. Никак. Для электродинамики нужен матанализ на уровне третьего курса технического вуза. Для квантовой электродинамики до кучи еще требуется теория групп. Квантовая хромодинамика добавляет неабелевы группы, асимптотическую свободу, теорему факторизации и еще кучу умных слов на изучение которых придется потратить пару лет жизни. Для теории струн нужен вообще такой математический аппарат, что ее даже и не проходят на физфаке. Только факультативом на старших курсах, и то в виде общего обзора. Во всем мире не наберется и пары тысяч человек которые бы реально в ней разбирались. «Объяснить на пальцах» обычно означает «привести аналогию из обычной механики». Таких аналогий нет. Если бы эти физические теории были аналогичны каким-то другим, более простым теориям, то их бы и проходили вместе еще в школе. Их не проходят именно потому, что это невозможно. Вообще. Никак.
  8. Что будет если на летящем на сверхсветовой скорости звездолете влететь в черную дыру и включить фары?

    Никогда вопросов глупых
    Сам себе не задавай,
    А не то еще глупее
    Ты найдешь на них ответ.
    Если глупые вопросы
    Появились в голове,
    Задавай их сразу взрослым.
    Пусть у них трещат мозги.

morse
()

vim для самых маленьких

 , ,

vim для самых маленьких

Основные команды текстового редактора vim

( читать дальше... )

LINUX-ORG-RU
()

Tclkit, starkit и starpack в 2023м году

 , , tclkit

Давно ничего интересного не выкладывал, исправляюсь.

В этот раз про такую замечательную штуку как tclkit.

На скрине запущен старкит на свежесобранном tclkit, ну и среда разработки tke (sourceforge.net).

Оформление: AMIxfwm , это такой «inspired by» закос под MacOS 2.0/3.0, которая в оригинале выглядела как-то так (macintoshrepository.org)

Ну и обычная (для меня) FreeBSD.

Статья про все эти радости некрофила тут, наслаждайтесь.

alex0x08
()

Встроенный бинарник на Linux

 , ,

Встроенный бинарник на Linux

Это текстовая версия статьи, оригинал с картинками вот тут (teletype.in).

Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.

( читать дальше... )

alex0x08
()

Window Maker не просто жив

 , ,

Window Maker не просто жив, я его иногда использую.

Соорудил очередную темную тему для WM и темы для приложений gtk2 и gtk3 — clarividenciaII, и иконки — clarividencia. Создано исключительно для удобной работы, без особых изысков.

В dock запихнуто следующее:

  • wmCalClock;
  • /lib/GNUstep/Applications/WPrefs.app/WPrefs;
  • xfce4-terminal;
  • xfe;
  • gvim;
  • docker-tray -wmaker -iconsize 24.

GlassHexagons window maker theme

ClarividenciaII gtk2+gtk3 theme

Clarividencia icons

obp
()

FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений

 , , , ,

FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений
Группа Open Source

После более трёх месяцев разработки состоялся выпуск 4.1.1 кроссплатформенной библиотеки для C++ (стандарт C++17) FTXUI (Functional Terminal (X) User Interface), предназначенной для создания приложений с текстовым интерфейсом и распространяемой по лицензии MIT.

( читать дальше... )

>>> Подробности (github.com)

dataman
()

FINAL CUT 0.9.0 - библиотека для создания консольных приложений

 , , , ,

Группа Open Source

22 мая, после более полутора лет разработки, состоялся выпуск 0.9.0 C++ библиотеки FINAL CUT, предназначенной для создания приложений с текстовым интерфейсом, не зависящей от библиотек ncurses, termbox или подобных, и распространяемой по лицензии LGPL-3.0.

( читать дальше... )

>>> Подробности (github.com)

dataman
()

IBM WebSphere Application Developer for Linux

Интегрированная среда разработки для WebSphere от IBM. Теперь и для Linux. Так что я полностью мигрировал в Linux - Форточки мне уже больше для работы не нужны.
NikS
()

XFontSet и все что с ним связано

 , xfontset,

Разбираюсь с функциями вывода текста в XLib и не могу понять почему текст выводится некорректно когда в фонтсете имеется только ISO10646 шрифт. Локаль en_GB.UTF-8, тестирую на следующем фрагменте

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

static XrmOptionDescRec xrmTable[] = {
	{"-bg", "*background", XrmoptionSepArg, NULL},
	{"-fg", "*foreground", XrmoptionSepArg, NULL},
	{"-bc", "*bordercolour", XrmoptionSepArg, NULL},
	{"-font", "*font", XrmoptionSepArg, NULL},
};

unsigned long getColour(Display *dpy,  XrmDatabase db, char *name,
			char *cl, char *def){
	XrmValue v;
	XColor col1, col2;
	Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
	char * type;

	if (XrmGetResource(db, name, cl, &type, &v)
			&& XAllocNamedColor(dpy, cmap, v.addr, &col1, &col2)) {
	} else {
		XAllocNamedColor(dpy, cmap, def, &col1, &col2);
	}
	return col2.pixel;
}

XFontSet getFont(Display *dpy, XrmDatabase db, char *name,
		char *cl, char *def){
	XrmValue v;
	char * type;
	XFontSet font = NULL;
	int nmissing;
	char **missing;
	char *def_string;

	if (XrmGetResource(db, name, cl, &type, &v)){
		if (v.addr)
			font = XCreateFontSet(dpy, v.addr, &missing, &nmissing, &def_string);
	}
	if (!font) {
		if (v.addr)
		fprintf(stderr, "unable to load preferred font: %s using fixed\n", v.addr);
		else 
		fprintf(stderr, "couldn't figure out preferred font\n");
		font = XCreateFontSet(dpy, def, &missing, &nmissing, &def_string);
	}
	XFreeStringList(missing);
	return font;
}


GC setup(Display * dpy, int argc, char ** argv, int *width_r, int *height_r,
		XFontSet *font_r){
	int width, height;
	unsigned long background, border;
	Window win;
	GC pen;
	XGCValues values;

	XFontSet font;
	XrmDatabase db;

	XrmInitialize();
	db = XrmGetDatabase(dpy);
	XrmParseCommand(&db, xrmTable, sizeof(xrmTable)/sizeof(xrmTable[0]),
		"xtut7", &argc, argv);

	font = getFont(dpy, db, "xtut7.font", "xtut7.Font", "fixed");
	background = getColour(dpy,  db, "xtut7.background", "xtut7.BackGround", "DarkGreen");
	border = getColour(dpy,  db, "xtut7.border", "xtut7.Border", "LightGreen");
	values.foreground = getColour(dpy,  db, "xtut7.foreground", "xtut7.ForeGround", "Red");


	width = 400;
	height = 400;

	win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), /* display, parent */
		0,0, /* x, y: the window manager will place the window elsewhere */
		width, height, /* width, height */
		2, border, /* border width & colour, unless you have a window manager */
		background); /* background colour */

	Xutf8SetWMProperties(dpy, win, "XTut7", "xtut7", argv, argc,
		NULL, NULL, NULL);

	/* create the pen to draw lines with */
	values.line_width = 1;
	values.line_style = LineSolid;
	/*values.font = font->fid; */
	pen = XCreateGC(dpy, win, GCForeground|GCLineWidth|GCLineStyle,&values);

	/* tell the display server what kind of events we would like to see */
	XSelectInput(dpy, win, ButtonPressMask|ButtonReleaseMask|StructureNotifyMask|ExposureMask);

	/* okay, put the window on the screen, please */
	XMapWindow(dpy, win);

	*width_r = width; *height_r = height;
	*font_r = font;

	return pen;
}

int main_loop(Display *dpy, XFontSet font, GC pen, int width, int height,
		 char *text){
	int text_width;
	int textx, texty;
	XEvent ev;
	int font_ascent;
	XFontStruct **fonts;
	char **font_names;
	int nfonts;
	int j;

	printf("%s:%d\n", text, (int) strlen(text));
	text_width = XmbTextEscapement(font, text, strlen(text));
	font_ascent = 0;
	nfonts = XFontsOfFontSet(font, &fonts, &font_names);
	for(j = 0; j < nfonts; j += 1){
		if (font_ascent < fonts[j]->ascent) font_ascent = fonts[j]->ascent;
		printf("Font: %s\n", font_names[j]);
	}


	/* as each event that we asked about occurs, we respond. */
	while(1){
		XNextEvent(dpy, &ev);
		switch(ev.type){
		case Expose:
			if (ev.xexpose.count > 0) break;
			XDrawLine(dpy, ev.xany.window, pen, 0, 0, width/2-text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, width, 0, width/2+text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, 0, height, width/2-text_width/2, height/2);
			XDrawLine(dpy, ev.xany.window, pen, width, height, width/2+text_width/2, height/2);
   			textx = (width - text_width)/2;
   			texty = (height + font_ascent)/2;
   			XmbDrawString(dpy, ev.xany.window, font, pen, textx, texty, text, strlen(text));
			break;
		case ConfigureNotify:
			if (width != ev.xconfigure.width
					|| height != ev.xconfigure.height) {
				width = ev.xconfigure.width;
				height = ev.xconfigure.height;
				XClearWindow(dpy, ev.xany.window);
			}
			break;
		case ButtonRelease:
			XCloseDisplay(dpy);
			return 0;
		}
	}
}

int main(int argc, char ** argv){
	int width, height;
	Display *dpy;
	GC pen;
	XFontSet font;
	char *text = "Hello World ñ! ";
	setlocale(LC_ALL, getenv("LANG"));

	/* First connect to the display server */
	dpy = XOpenDisplay(NULL);
	if (!dpy) {fprintf(stderr, "unable to connect to display\n");return 7;}
	pen = setup(dpy, argc, argv, &width, &height, &font);
	if (argv[1] && argv[1][0]) text = argv[1];
	return main_loop(dpy, font, pen, width, height, text);
}

Если в фонтсете есть все кодировки (например для fixed) то текст выводится правильно. Если же имеется только ISO10646, то некорректно выводится даже латиница (вместо нее иероглифы). Причем поведение идентично при использовании Xmb*, Xwc* и Xutf8* вариантов функций. Не понятно почему при использовании юникодной локали и юникодного шрифта текст выводится неправильно.

fat_angel
()

The Pink Panter: Hokus Pokus Pink теперь и в ScummVM

 , ,

Мне так и не удалось заставить эту штуку работать в вайне без багов, поэтому когда её поддержку добавили в ScummVM, то я очень обрадовался. А когда её поддержку добавили в стабильную версию, то я обрадовался ещё больше.

The Pink Panter: Hokus Pokus Pink — игра с главным героем короткометражки The Pink Panter 1964 года. Теперь и нативно!

vbcnthfkmnth123
()

Вышел симулятор электронных схем Qucs-S 1.0.2

 , , ,

Группа Open Source

Сегодня, 23 апреля 2023 года, состоялся очередной релиз симулятора электронных схем Qucs-S. Особенностью Qucs-S является то, что он не содержит собственного движка моделирования, а использует сторонние SPICE-совместимые движки. Рекомендуемым движком является Ngspice, который предлагается по умолчанию при старте программы.

( читать дальше... )

>>> Страница релиза на Гитхабе (github.com)

DarthVadimius
()